import{a as Yt}from"./chunk-Q2F4ZA66.js";import{a as ti}from"./chunk-6XV46GRW.js";import{a as Sr,c as Zr}from"./chunk-R4OBY24G.js";import{a as Dr}from"./chunk-CSFNZ66F.js";import{a as jr}from"./chunk-NSLSSA35.js";import{a as en}from"./chunk-T5DOF5ZZ.js";import{$ as ln,$a as Qr,A as Ar,B as Or,C as Nr,D as Lr,E as Rr,G as tn,H as _e,I as nn,J as rn,L as Vr,N as on,Q as sn,S as an,X as zr,Y as Br,Ya as Wr,Z as cn,a as J,aa as Zn,ba as qe,c as fr,cb as Yr,d as gr,da as pn,e as yr,eb as Ze,f as _r,fb as us,g as vr,h as br,hb as Jr,i as Cr,ia as un,j as Er,ja as mn,ka as dn,l as kr,la as qr,m as wr,ma as ei,mb as Xr,n as ft,na as $r,nb as Re,o as ze,oa as hn,pa as Hr,q as ls,ra as Kr,sa as Gr,u as xe,w as ps,x as xr,y as Xe,z as Ir}from"./chunk-O6FGNM66.js";import"./chunk-RMLJCXFJ.js";import{a as Fr,c as Ur}from"./chunk-WKEAVQD3.js";import"./chunk-TD6O75JA.js";import{A as Oe,Aa as zn,Ba as Bn,Bc as pr,Cb as Ee,Cc as ur,D as Vt,Db as g,Dc as Gt,Ea as pe,Eb as F,Ec as mr,F as Ne,Fa as Ht,Fb as Q,Ga as y,Gb as Zi,Gc as Wt,H as zt,Ha as M,Hc as Me,Ic as dr,Ie as _t,Jc as q,Kc as Y,La as Xi,Lc as hr,M as Wi,Ma as qn,Mc as Yn,Me as Zt,N as Qi,Ob as St,Pb as Z,Sb as de,Ta as x,Tb as Ye,Td as gt,U as fe,Ub as Le,Ud as Jt,W as Qe,Wb as er,Wd as Tr,Xa as $n,Xc as Qt,Xd as Pr,Y as Ce,Ya as C,Yb as tr,Zb as Wn,Zd as j,_ as z,_d as Be,aa as $,ba as te,c as je,ca as Bt,ce as Mr,d as $i,da as U,de as Jn,e as Ae,fb as h,fc as nr,gb as d,gc as ir,ha as H,hb as R,hc as Kt,i as jt,ia as ne,ib as oe,ic as ht,jb as se,jc as he,je as yt,kc as rr,ke as Xn,l as Hi,la as Yi,lb as Pe,lc as or,le as Xt,m as We,n as Ki,oa as ge,ob as ue,oc as Je,p as ee,pa as ye,pc as sr,q as rt,qb as w,r as Gi,s as Un,sc as Ve,tb as dt,tc as Qn,u as jn,ua as qt,ub as He,vc as ar,wa as $t,wc as cr,xa as Ji,xb as Hn,xc as lr,y as Vn,yb as Kn,z as mt,zb as Gn}from"./chunk-3H6FNUXW.js";import"./chunk-4JUNAGW5.js";import{a as be,b as Dn,d as qi,g as Fn,i as Te}from"./chunk-D766BFPF.js";var ot=function(i,t,e){"use awesome";var n=function(a,u){this.config=a,this.onError=u,a.enabled&&this.watch()};n.prototype={watch:function(){_.forEach(["EventTarget","Node","XMLHttpRequest"],function(a){_.has(i,a+".prototype.addEventListener")&&_.hasOwn(i[a].prototype,"addEventListener")&&this.wrapEventTarget(i[a].prototype)},this),this.wrapTimer("setTimeout"),this.wrapTimer("setInterval")},wrap:function(a){function u(){try{return a.apply(this,arguments)}catch(T){throw c.onError("catch",T,{bindTime:m,bindStack:b}),_.wrapError(T)}}var c=this;try{if(!_.isFunction(a)||_.hasOwn(a,"__trackjs__"))return a;if(_.hasOwn(a,"__trackjs_state__"))return a.__trackjs_state__}catch{return a}var m,b;if(c.config.bindStack)try{throw Error()}catch(T){b=T.stack,m=_.isoNow()}for(var E in a)_.hasOwn(a,E)&&(u[E]=a[E]);return u.prototype=a.prototype,u.__trackjs__=!0,a.__trackjs_state__=u},wrapEventTarget:function(a){var u=this;_.has(a,"addEventListener.call")&&_.has(a,"removeEventListener.call")&&(_.patch(a,"addEventListener",function(c){return function(m,b,E,T){try{_.has(b,"handleEvent")&&(b.handleEvent=u.wrap(b.handleEvent))}catch{}return c.call(this,m,u.wrap(b),E,T)}}),_.patch(a,"removeEventListener",function(c){return function(m,b,E,T){try{b=b&&(b.__trackjs_state__||b)}catch{}return c.call(this,m,b,E,T)}}))},wrapTimer:function(a){var u=this;_.patch(i,a,function(c){return function(m,b){var E=Array.prototype.slice.call(arguments),T=E[0];return _.isFunction(T)&&(E[0]=u.wrap(T)),_.has(c,"apply")?c.apply(this,E):c(E[0],E[1])}})}};var r=function(a){this.initCurrent(a)||console.warn("[TrackJS] invalid config")};r.prototype={current:{},initOnly:{application:!0,cookie:!0,enabled:!0,token:!0,callback:{enabled:!0},console:{enabled:!0},navigation:{enabled:!0},network:{enabled:!0,fetch:!0},visitor:{enabled:!0},window:{enabled:!0,promise:!0}},defaults:{application:"",cookie:!1,dedupe:!0,dependencies:!0,enabled:!0,forwardingDomain:"",errorURL:"https://capture.trackjs.com/capture",errorNoSSLURL:"http://capture.trackjs.com/capture",faultURL:"https://usage.trackjs.com/fault.gif",usageURL:"https://usage.trackjs.com/usage.gif",onError:function(){return!0},serialize:function(a){function u(b){var E="<"+b.tagName.toLowerCase();b=b.attributes||[];for(var T=0;T"}if(a==="")return"Empty String";if(a===e)return"undefined";if(_.isString(a)||_.isNumber(a)||_.isBoolean(a)||_.isFunction(a))return""+a;if(_.isElement(a))return u(a);if(typeof a=="symbol")return Symbol.prototype.toString.call(a);var c;try{c=JSON.stringify(a,function(b,E){return E===e?"undefined":_.isNumber(E)&&isNaN(E)?"NaN":_.isError(E)?{name:E.name,message:E.message,stack:E.stack}:_.isElement(E)?u(E):E})}catch{c="";for(var m in a)if(a.hasOwnProperty(m))try{c+=',"'+m+'":"'+a[m]+'"'}catch{}c=c?"{"+c.replace(",","")+"}":"Unserializable Object"}return c.replace(/"undefined"/g,"undefined").replace(/"NaN"/g,"NaN")},sessionId:"",token:"",userId:"",version:"",callback:{enabled:!0,bindStack:!1},console:{enabled:!0,display:!0,error:!0,warn:!1,watch:["log","debug","info","warn","error"]},navigation:{enabled:!0},network:{enabled:!0,error:!0,fetch:!0},visitor:{enabled:!0},window:{enabled:!0,promise:!0}},initCurrent:function(a){return this.removeEmpty(a),this.validate(a,this.defaults,"[TrackJS] config",{})?(this.current=_.defaultsDeep({},a,this.defaults),!0):(this.current=_.defaultsDeep({},this.defaults),!1)},setCurrent:function(a){return this.validate(a,this.defaults,"[TrackJS] config",this.initOnly)?(this.current=_.defaultsDeep({},a,this.current),!0):!1},removeEmpty:function(a){for(var u in a)a.hasOwnProperty(u)&&a[u]===e&&delete a[u]},validate:function(a,u,c,m){var b=!0;c=c||"",m=m||{};for(var E in a)if(a.hasOwnProperty(E))if(u.hasOwnProperty(E)){var T=typeof u[E];T!==typeof a[E]?(console.warn(c+"."+E+": property must be type "+T+"."),b=!1):Object.prototype.toString.call(a[E])!=="[object Array]"||this.validateArray(a[E],u[E],c+"."+E)?Object.prototype.toString.call(a[E])==="[object Object]"?b=this.validate(a[E],u[E],c+"."+E,m[E]):m.hasOwnProperty(E)&&(console.warn(c+"."+E+": property cannot be set after load."),b=!1):b=!1}else console.warn(c+"."+E+": property not supported."),b=!1;return b},validateArray:function(a,u,c){var m=!0;c=c||"";for(var b=0;bthis.maxLength&&(this.appender=this.appender.slice(Math.max(this.appender.length-this.maxLength,0)))},add:function(a,u){var c=this.util.uuid();return this.appender.push({key:c,category:a,value:u}),this.truncate(),c},get:function(a,u){var c,m;for(m=0;mT.indexOf("localhost:0")&&(T=u.escapeUrl(T),this._trackJs={method:b,url:T}),c.apply(this,arguments)},a.prototype.send=function(){if(!this._trackJs)try{return m.apply(this,arguments)}catch(b){u.onError("ajax",b);return}try{this._trackJs.logId=u.log.add("n",{type:"xhr",startedOn:u.util.isoNow(),method:this._trackJs.method,url:_.truncate(this._trackJs.url,2e3)}),u.listenForNetworkComplete(this)}catch(b){u.onFault(b)}return m.apply(this,arguments)},a},listenForNetworkComplete:function(a){var u=this;u.window.ProgressEvent&&a.addEventListener&&a.addEventListener("readystatechange",function(){a.readyState===4&&u.finalizeNetworkEvent(a)},!0),a.addEventListener?a.addEventListener("load",function(){u.finalizeNetworkEvent(a),u.checkNetworkFault(a)},!0):setTimeout(function(){try{var c=a.onload;a.onload=function(){u.finalizeNetworkEvent(a),u.checkNetworkFault(a),typeof c=="function"&&u.util.hasFunction(c,"apply")&&c.apply(a,arguments)};var m=a.onerror;a.onerror=function(){u.finalizeNetworkEvent(a),u.checkNetworkFault(a),typeof oldOnError=="function"&&m.apply(a,arguments)}}catch(b){u.onFault(b)}},0)},finalizeNetworkEvent:function(a){if(a._trackJs){var u=this.log.get("n",a._trackJs.logId);u&&(u.completedOn=this.util.isoNow(),a.getAllResponseHeaders&&a.getResponseHeader&&0<=(a.getAllResponseHeaders()||"").toLowerCase().indexOf("trackjs-correlation-id")&&(u.requestCorrelationId=a.getResponseHeader("trackjs-correlation-id")),u.statusCode=a.status==1223?204:a.status,u.statusText=a.status==1223?"No Content":a.statusText)}},checkNetworkFault:function(a){if(this.options.error&&400<=a.status&&a.status!=1223){var u=a._trackJs||{};this.onError("ajax",a.status+" : "+u.method+" "+u.url)}},report:function(){return this.log.all("n")}};var D=function(a,u){this.util=a,this.config=u,this.disabled=!1,this.throttleStats={attemptCount:0,throttledCount:0,lastAttempt:new Date().getTime()},i.JSON&&i.JSON.stringify||(this.disabled=!0)};D.prototype={errorEndpoint:function(a){var u=this.config.current,c=u.errorURL;return this.util.testCrossdomainXhr()||i.location.protocol.indexOf("https")!==-1?u.forwardingDomain&&(c="https://"+u.forwardingDomain+"/capture"):c=u.errorNoSSLURL,c+"?token="+a+"&v=3.9.2"},usageEndpoint:function(a){var u=this.config.current,c=u.usageURL;return u.forwardingDomain&&(c="https://"+u.forwardingDomain+"/usage.gif"),this.appendObjectAsQuery(a,c)},trackerFaultEndpoint:function(a){var u=(this.config||{}).current||r.prototype.defaults,c=u.faultURL;return u.forwardingDomain&&(c="https://"+u.forwardingDomain+"/fault.gif"),this.appendObjectAsQuery(a,c)},appendObjectAsQuery:function(a,u){u+="?";for(var c in a)a.hasOwnProperty(c)&&(u+=encodeURIComponent(c)+"="+encodeURIComponent(a[c])+"&");return u},getCORSRequest:function(a,u){var c;return this.util.testCrossdomainXhr()?(c=new i.XMLHttpRequest,c.open(a,u),c.setRequestHeader("Content-Type","text/plain")):typeof i.XDomainRequest<"u"?(c=new i.XDomainRequest,c.open(a,u)):c=null,c},sendTrackerFault:function(a){this.throttle(a)||(_.isBrowser?t.createElement("img").src=this.trackerFaultEndpoint(a):fetch(this.trackerFaultEndpoint(a),{mode:"no-cors",__trackjs__:!0}))},sendUsage:function(a){_.isBrowser?t.createElement("img").src=this.usageEndpoint(a):fetch(this.usageEndpoint(a),{mode:"no-cors",__trackjs__:!0})},sendError:function(a,u){var c=this;if(!this.disabled&&!this.throttle(a))try{var m=this.getCORSRequest("POST",this.errorEndpoint(u));m.onreadystatechange=function(){m.readyState!==4||_.contains([200,202],m.status)||(c.disabled=!0)},m._trackJs=e,m.send(i.JSON.stringify(a))}catch(b){throw this.disabled=!0,b}},throttle:function(a){var u=new Date().getTime();if(this.throttleStats.attemptCount++,this.throttleStats.lastAttempt+1e3>=u){if(this.throttleStats.lastAttempt=u,10E&&u(T[I])==="[object Object]"?(c[I]=c[I]||{},a(c[I],[T[I]],b,E+1)):c.hasOwnProperty(I)||(c[I]=T[I])})}),c}function u(c){return Object.prototype.toString.call(c)}return{isBrowser:typeof i<"u"&&typeof i.document<"u",isWorker:typeof self=="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",isNode:typeof process<"u"&&process.versions!=null&&process.versions.node!=null,addEventListenerSafe:function(c,m,b,E){c.addEventListener?c.addEventListener(m,b,E):c.attachEvent&&c.attachEvent("on"+m,b)},afterDocumentLoad:function(c){if(_.isWorker)_.defer(c);else{var m=!1;t.readyState==="complete"?_.defer(c):(_.addEventListenerSafe(t,"readystatechange",function(){t.readyState!=="complete"||m||(_.defer(c),m=!0)}),setTimeout(function(){m||(_.defer(c),m=!0)},1e4))}},bind:function(c,m){return function(){return c.apply(m,Array.prototype.slice.call(arguments))}},contains:function(c,m){return 0<=c.indexOf(m)},defaults:function(c){return a(c,Array.prototype.slice.call(arguments,1),!1)},defaultsDeep:function(c){return a(c,Array.prototype.slice.call(arguments,1),!0)},defer:function(c,m){setTimeout(function(){c.apply(m)})},forEach:function(c,m,b){if(_.isArray(c)){if(c.forEach)return c.forEach(m,b);for(var E=0;E"u"?void 0:self,typeof document>"u"?void 0:document);var Pt="Service workers are disabled or not supported by this browser";function ms(i){return Un(()=>Ki(new Error(i)))}var vt=class{constructor(t){if(this.serviceWorker=t,!t)this.worker=this.events=this.registration=ms(Pt);else{let n=jn(t,"controllerchange").pipe(ee(()=>t.controller)),r=Un(()=>We(t.controller)),o=Gi(r,n);this.worker=o.pipe(Oe(k=>!!k)),this.registration=this.worker.pipe(fe(()=>t.getRegistration()));let v=jn(t,"message").pipe(ee(k=>k.data)).pipe(Oe(k=>k&&k.type)).pipe(Wi());v.connect(),this.events=v}}postMessage(t,e){return this.worker.pipe(Ne(1),Ce(n=>{n.postMessage(be({action:t},e))})).toPromise().then(()=>{})}postMessageWithOperation(t,e,n){let r=this.waitForOperationCompleted(n),o=this.postMessage(t,e);return Promise.all([o,r]).then(([,l])=>l)}generateNonce(){return Math.round(Math.random()*1e7)}eventsOfType(t){let e;return typeof t=="string"?e=n=>n.type===t:e=n=>t.includes(n.type),this.events.pipe(Oe(e))}nextEventOfType(t){return this.eventsOfType(t).pipe(Ne(1))}waitForOperationCompleted(t){return this.eventsOfType("OPERATION_COMPLETED").pipe(Oe(e=>e.nonce===t),Ne(1),ee(e=>{if(e.result!==void 0)return e.result;throw new Error(e.error)})).toPromise()}get isEnabled(){return!!this.serviceWorker}},no=(()=>{class i{get isEnabled(){return this.sw.isEnabled}constructor(e){if(this.sw=e,this.pushManager=null,this.subscriptionChanges=new je,!e.isEnabled){this.messages=mt,this.notificationClicks=mt,this.subscription=mt;return}this.messages=this.sw.eventsOfType("PUSH").pipe(ee(r=>r.data)),this.notificationClicks=this.sw.eventsOfType("NOTIFICATION_CLICK").pipe(ee(r=>r.data)),this.pushManager=this.sw.registration.pipe(ee(r=>r.pushManager));let n=this.pushManager.pipe(fe(r=>r.getSubscription()));this.subscription=Vn(n,this.subscriptionChanges)}requestSubscription(e){if(!this.sw.isEnabled||this.pushManager===null)return Promise.reject(new Error(Pt));let n={userVisibleOnly:!0},r=this.decodeBase64(e.serverPublicKey.replace(/_/g,"/").replace(/-/g,"+")),o=new Uint8Array(new ArrayBuffer(r.length));for(let l=0;ll.subscribe(n)),Ne(1)).toPromise().then(l=>(this.subscriptionChanges.next(l),l))}unsubscribe(){if(!this.sw.isEnabled)return Promise.reject(new Error(Pt));let e=n=>{if(n===null)throw new Error("Not subscribed to push notifications.");return n.unsubscribe().then(r=>{if(!r)throw new Error("Unsubscribe failed!");this.subscriptionChanges.next(null)})};return this.subscription.pipe(Ne(1),fe(e)).toPromise()}decodeBase64(e){return atob(e)}static{this.\u0275fac=function(n){return new(n||i)(U(vt))}}static{this.\u0275prov=$({token:i,factory:i.\u0275fac})}}return i})(),fn=(()=>{class i{get isEnabled(){return this.sw.isEnabled}constructor(e){if(this.sw=e,!e.isEnabled){this.versionUpdates=mt,this.unrecoverable=mt;return}this.versionUpdates=this.sw.eventsOfType(["VERSION_DETECTED","VERSION_INSTALLATION_FAILED","VERSION_READY","NO_NEW_VERSION_DETECTED"]),this.unrecoverable=this.sw.eventsOfType("UNRECOVERABLE_STATE")}checkForUpdate(){if(!this.sw.isEnabled)return Promise.reject(new Error(Pt));let e=this.sw.generateNonce();return this.sw.postMessageWithOperation("CHECK_FOR_UPDATES",{nonce:e},e)}activateUpdate(){if(!this.sw.isEnabled)return Promise.reject(new Error(Pt));let e=this.sw.generateNonce();return this.sw.postMessageWithOperation("ACTIVATE_UPDATE",{nonce:e},e)}static{this.\u0275fac=function(n){return new(n||i)(U(vt))}}static{this.\u0275prov=$({token:i,factory:i.\u0275fac})}}return i})();var eo=new Bt("");function ds(i,t,e,n){return()=>{if(!(Qn(n)&&"serviceWorker"in navigator&&e.enabled!==!1))return;let r=i.get($t),o=i.get(Wn);r.runOutsideAngular(()=>{let p=navigator.serviceWorker,f=()=>p.controller?.postMessage({action:"INITIALIZE"});p.addEventListener("controllerchange",f),o.onDestroy(()=>{p.removeEventListener("controllerchange",f)})});let l;if(typeof e.registrationStrategy=="function")l=e.registrationStrategy();else{let[p,...f]=(e.registrationStrategy||"registerWhenStable:30000").split(":");switch(p){case"registerImmediately":l=We(null);break;case"registerWithDelay":l=to(+f[0]||0);break;case"registerWhenStable":let v=Hi(i.get(Wn).whenStable());l=f[0]?Vn(v,to(+f[0])):v;break;default:throw new Error(`Unknown ServiceWorker registration strategy: ${e.registrationStrategy}`)}}r.runOutsideAngular(()=>l.pipe(Ne(1)).subscribe(()=>navigator.serviceWorker.register(t,{scope:e.scope}).catch(p=>console.error("Service worker registration failed with:",p))))}}function to(i){return We(null).pipe(zt(i))}function hs(i,t){return new vt(Qn(t)&&i.enabled!==!1?navigator.serviceWorker:void 0)}var Tt=class{};function fs(i,t={}){return Yi([no,fn,{provide:eo,useValue:i},{provide:Tt,useValue:t},{provide:vt,useFactory:hs,deps:[Tt,zn]},{provide:tr,useFactory:ds,deps:[qt,eo,Tt,zn],multi:!0}])}var io=(()=>{class i{static register(e,n={}){return{ngModule:i,providers:[fs(e,n)]}}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275mod=ne({type:i})}static{this.\u0275inj=te({providers:[no,fn]})}}return i})();var vs=()=>["/"],bs=i=>({"move-up":i}),Cs=()=>({exact:!0}),ro=i=>({"page-active":i});function Es(i,t){if(i&1&&(h(0,"a",29)(1,"mat-icon"),g(2,"arrow_back"),d()()),i&2){let e=w();C("routerLink",e.backLink)}}function ks(i,t){if(i&1&&(h(0,"a",11)(1,"span"),g(2),d()()),i&2){let e=w(2).$implicit;C("routerLink",e.link),y(2),F(e.text)}}function ws(i,t){if(i&1&&(h(0,"a",11)(1,"span"),g(2),d(),R(3,"mat-icon",37),d()),i&2){let e=w(3).$implicit,n=w();C("routerLink",e.link),y(2),F(e.text),y(),dt("matBadge",n[e.data]==null?null:n[e.data].length)}}function Ss(i,t){if(i&1&&(oe(0),x(1,ws,4,3,"a",36),se()),i&2){let e=w(2).$implicit,n=w();y(),C("ngIf",(n[e.data]==null?null:n[e.data].length)>0)}}function Ts(i,t){if(i&1&&(h(0,"a",38),g(1),d()),i&2){let e=w(2).$implicit;C("href",e.link,pe),y(),F(e.text)}}function Ps(i,t){if(i&1){let e=Pe();h(0,"button",39),ue("click",function(){ge(e);let r=w(2).$implicit,o=w();return ye(o.handleClick(r.func))}),g(1),d()}if(i&2){let e=w(2).$implicit;y(),F(e.text)}}function Ms(i,t){if(i&1&&(h(0,"button",41)(1,"span"),g(2),d()()),i&2){let e=w(3).$implicit,n=w(),r=Ee(53);C("ngClass",Z(3,ro,n.showProfileLinks))("matMenuTriggerFor",r),y(2),F(e.text)}}function xs(i,t){if(i&1&&(h(0,"button",41)(1,"span"),g(2),d()()),i&2){let e=w(3).$implicit,n=w(),r=Ee(50);C("ngClass",Z(3,ro,n.consoleLinks))("matMenuTriggerFor",r),y(2),F(e.text)}}function Is(i,t){if(i&1&&(oe(0),x(1,Ms,3,5,"button",40)(2,xs,3,5,"button",40),se()),i&2){let e=w(2).$implicit;y(),C("ngIf",e.menuName==="profileMenu"),y(),C("ngIf",e.menuName==="consoleMenu")}}function As(i,t){i&1&&(oe(0),h(1,"li",31),x(2,ks,3,2,"a",32)(3,Ss,2,1,"ng-container",33)(4,Ts,2,2,"a",34)(5,Ps,2,1,"button",35)(6,Is,3,2,"ng-container",33),d(),se()),i&2&&(y(),C("routerLinkActiveOptions",St(6,Cs)),y(),C("ngSwitchCase","routerLink"),y(),C("ngSwitchCase","badge"),y(),C("ngSwitchCase","flexepark"),y(),C("ngSwitchCase","button"),y(),C("ngSwitchCase","menu"))}function Os(i,t){if(i&1&&(oe(0)(1,30),x(2,As,7,7,"ng-container",19),se()()),i&2){let e=t.$implicit,n=w();y(),C("ngSwitch",e.type),y(),C("ngIf",n.isVisible(e.conditions))}}function Ns(i,t){if(i&1&&(h(0,"a",45)(1,"mat-icon"),g(2),d(),h(3,"span"),g(4),d()()),i&2){let e=w(2).$implicit;C("routerLink",e.link),y(2),F(e.icon),y(2),F(e.text)}}function Ls(i,t){if(i&1&&(h(0,"a",45)(1,"mat-icon",37),g(2),d(),h(3,"span"),g(4),d()()),i&2){let e=w(3).$implicit,n=w();C("routerLink",e.link),y(),dt("matBadge",n[e.data]==null?null:n[e.data].length),y(),F(e.icon),y(2),F(e.text)}}function Rs(i,t){if(i&1&&(oe(0),x(1,Ls,5,4,"a",46),se()),i&2){let e=w(2).$implicit,n=w();y(),C("ngIf",(n[e.data]==null?null:n[e.data].length)>0)}}function Ds(i,t){if(i&1&&(h(0,"a",47)(1,"mat-icon"),g(2),d(),h(3,"span"),g(4),d()()),i&2){let e=w(2).$implicit;C("href",e.link,pe),y(2),F(e.icon),y(2),F(e.text)}}function Fs(i,t){if(i&1){let e=Pe();h(0,"button",48),ue("click",function(){ge(e);let r=w(2).$implicit,o=w();return ye(o.handleClick(r.func))}),h(1,"mat-icon"),g(2),d(),h(3,"span"),g(4),d()()}if(i&2){let e=w(2).$implicit;y(2),F(e.icon),y(2),F(e.text)}}function Us(i,t){if(i&1&&(h(0,"button",50)(1,"mat-icon"),g(2),d(),h(3,"span"),g(4),d()()),i&2){let e=w(3).$implicit;w();let n=Ee(53);C("matMenuTriggerFor",n),y(2),F(e.icon),y(2),F(e.text)}}function js(i,t){if(i&1&&(h(0,"button",50)(1,"mat-icon"),g(2),d(),h(3,"span"),g(4),d()()),i&2){let e=w(3).$implicit;w();let n=Ee(50);C("matMenuTriggerFor",n),y(2),F(e.icon),y(2),F(e.text)}}function Vs(i,t){if(i&1&&(oe(0),x(1,Us,5,3,"button",49)(2,js,5,3,"button",49),se()),i&2){let e=w(2).$implicit;y(),C("ngIf",e.menuName==="profileMenu"),y(),C("ngIf",e.menuName==="consoleMenu")}}function zs(i,t){i&1&&(oe(0),x(1,Ns,5,3,"a",42)(2,Rs,2,1,"ng-container",33)(3,Ds,5,3,"a",43)(4,Fs,5,2,"button",44)(5,Vs,3,2,"ng-container",33),se()),i&2&&(y(),C("ngSwitchCase","routerLink"),y(),C("ngSwitchCase","badge"),y(),C("ngSwitchCase","flexepark"),y(),C("ngSwitchCase","button"),y(),C("ngSwitchCase","menu"))}function Bs(i,t){if(i&1&&(oe(0)(1,30),x(2,zs,6,5,"ng-container",19),se()()),i&2){let e=t.$implicit,n=w();y(),C("ngSwitch",e.type),y(),C("ngIf",n.isVisible(e.conditions))}}function qs(i,t){if(i&1&&(h(0,"li")(1,"a",52)(2,"mat-icon"),g(3),d()()()),i&2){let e=w().$implicit;y(),C("routerLink",e.destination),$n("aria-label",e.text),y(2),F(e.icon)}}function $s(i,t){if(i&1&&(oe(0),x(1,qs,4,3,"li",19),se()),i&2){let e=t.$implicit,n=w(2);y(),C("ngIf",n.isVisible(e.conditions))}}function Hs(i,t){if(i&1&&(h(0,"div",51)(1,"ul"),x(2,$s,2,1,"ng-container",14),d()()),i&2){let e=w();y(2),C("ngForOf",e.consoleLinks)}}function Ks(i,t){if(i&1&&(h(0,"li")(1,"a",52)(2,"mat-icon"),g(3),d()()()),i&2){let e=w().$implicit;y(),C("routerLink",e.destination),$n("aria-label",e.text),y(2),F(e.icon)}}function Gs(i,t){if(i&1&&(oe(0),x(1,Ks,4,3,"li",19),se()),i&2){let e=t.$implicit,n=w(2);y(),C("ngIf",n.isVisible(e.conditions))}}function Ws(i,t){if(i&1&&(h(0,"div",51)(1,"ul"),x(2,Gs,2,1,"ng-container",14),d()()),i&2){let e=w();y(2),C("ngForOf",e.profileLinks)}}function Qs(i,t){i&1&&(h(0,"div",53)(1,"div",54)(2,"h1"),g(3,"Warning: Development Environment"),d(),h(4,"p"),g(5,"This is a Sandbox / Development Environment. This website is not intended for public use."),d(),h(6,"p",55),g(7,"Please visit our official app at "),h(8,"a",56),g(9,"app.flexepark.com"),d(),g(10,"."),d(),h(11,"p",57),g(12,"Thank you"),d()()())}function Ys(i,t){i&1&&R(0,"app-announcement-banner")}function Js(i,t){if(i&1&&(h(0,"a",45)(1,"mat-icon"),g(2),d(),h(3,"span"),g(4),d()()),i&2){let e=w().$implicit;C("routerLink",e.destination),y(2),F(e.icon),y(2),F(e.text)}}function Xs(i,t){if(i&1&&(oe(0),x(1,Js,5,3,"a",46),se()),i&2){let e=t.$implicit,n=w();y(),C("ngIf",n.isVisible(e.conditions))}}function Zs(i,t){if(i&1&&(h(0,"a",45)(1,"mat-icon"),g(2),d(),h(3,"span"),g(4),d()()),i&2){let e=w().$implicit;C("routerLink",e.destination),y(2),F(e.icon),y(2),F(e.text)}}function ea(i,t){if(i&1&&(oe(0),x(1,Zs,5,3,"a",46),se()),i&2){let e=t.$implicit,n=w();y(),C("ngIf",n.isVisible(e.conditions))}}var oo=(()=>{class i{static{this.isConsoleRouteRegex=/\/console\/(?!property\/\d{4})/}constructor(e,n,r,o,l,p){this.security=e,this.rewardsService=n,this.router=r,this.swUpdate=o,this.announcementBannerService=l,this.titleSvc=p,this.destroyed$=new je,this.title="FlexePark™",this.version={app:J.appVersion},this.isAuthenticated=!1,this.notAuthenticated=!this.isAuthenticated,this.today=new Date,this.isAdmin=!1,this.isOwner=!1,this.isEnforcer=!1,this.isExternal=!0,this.banner=J.features.banner,this.enableAnalytics=J.analytics,this.googleTrackingId=J.google.trackingId,this.profileLinks=[{type:"routerLink",destination:["/user/profile/settings"],text:"Account Settings",icon:"settings",conditions:null},{type:"routerLink",destination:["/user/profile/linked-accounts"],text:"Associated Accounts",icon:"supervisor_account",conditions:null},{type:"routerLink",destination:["/user/profile/cars"],text:"My Cars",icon:"directions_car",conditions:null},{type:"routerLink",destination:["/user/profile/payment-methods"],text:"Payment Methods",icon:"monetization_on",conditions:null},{type:"routerLink",destination:["/user/profile/history"],text:"Transaction History",icon:"history",conditions:null},{type:"routerLink",destination:["/user/profile/monthly-parking"],text:"Monthly Parking",icon:"calendar_month"}],this.nav=[{type:"routerLink",link:["/"],icon:"home",text:"Home"},{type:"flexepark",link:"https://about.flexepark.com",icon:"info",text:"About"},{type:"routerLink",link:["/map"],icon:"map",text:"Map"},{type:"badge",link:["/user/rewards"],icon:"badge",conditions:["isAuthenticated","rewards"],data:"rewards",text:"Rewards"},{type:"menu",menuName:"profileMenu",icon:"person",text:"Profile",conditions:["isAuthenticated"]},{type:"routerLink",link:["/admin"],icon:"supervisor_account",text:"Admin",conditions:["isAuthenticated","isAdmin"]},{type:"menu",menuName:"consoleMenu",icon:"time_to_leave",text:"Enforcement",conditions:["isAuthenticated","isEnforcer"]},{type:"menu",menuName:"consoleMenu",icon:"time_to_leave",text:"Console",conditions:["isAuthenticated","isOwner"]},{type:"routerLink",link:["/ticket"],icon:"ballot",text:"Tickets"},{type:"routerLink",link:["/contact"],icon:"email",text:"Contact"},{type:"routerLink",link:["/login"],icon:"exit_to_app",text:"Login",conditions:["notAuthenticated"]},{type:"button",icon:"exit_to_app",text:"Logout",func:"logout",conditions:["isAuthenticated"]}],this.consoleLinks=null,this.consoleProfileLinks=[{type:"routerLink",destination:["/console/profile"],text:"Profile",icon:"store_mall_directory"},{type:"routerLink",destination:["/console/promotion"],text:"Promotion",icon:"grade",conditions:["isOwner"]},{type:"routerLink",destination:["/console/support"],text:"Support",icon:"contact_support"},{type:"routerLink",destination:["/console/properties"],text:"Properties",icon:"place"}],this.shouldShowAnnouncementBanner$=this.announcementBannerService.shouldShow$,localStorage.removeItem("firebase:previous_websocket_failure"),this.swUpdate.isEnabled&&this.swUpdate.checkForUpdate().then(f=>{f&&confirm("New version available. Load New Version?")&&window.location.reload()}),this.security.whoAmI().pipe(Ce(f=>{this.user=f,ot.configure({userId:f?.uid||""}),f&&!f.isAnonymous?(ot.configure({userId:f.uid}),this.isAuthenticated=!0,this.notAuthenticated=!1):(this.isAuthenticated=!1,this.notAuthenticated=!0)}),fe(f=>this.isAuthenticated?rt([this.rewardsService.getList(f.uid),this.getMyRoles(f.uid)]):We([null,null])),Ce(([f])=>this.rewards=f),Qe(this.destroyed$)).subscribe()}ngOnInit(){this.router.events.pipe(Oe(e=>e instanceof Wt),ee(e=>e),Ce(e=>{if(document.getElementById("top").scrollIntoView(),this.consoleLinks=null,this.backLink=null,/\/console\/(?!property\/\d{4})/.test(e.url)&&(this.consoleLinks=this.consoleProfileLinks),/\/console\/property\/\d{4}/.test(e.url)){let l=e.url.match(/\/console\/property\/(\d{4})/)[1];this.consoleLinks=this.createConsolePropertyMenu(l),this.backLink=["/console/properties"]}let o=/\/user\/profile/.test(e.url);this.showProfileLinks=o}),Ce(e=>{this.titleSvc.setTitle(Sr(e.url,{isOwner:this.isOwner,isEnforcer:this.isEnforcer}))})).subscribe()}isVisible(e){if(!e)return!0;let n=!0;return e.forEach(r=>{this[r]||(n=!1)}),n}getMyRoles(e){return Te(this,null,function*(){let n=(yield this.security.getRoles(e))||{};this.isAdmin=!!n.ROLE_ADMIN,this.isOwner=!!n.ROLE_CONTACT,this.isEnforcer=!!n.ROLE_ENFORCER,this.isExternal=!n.ROLE_FLEXEPARK})}createConsolePropertyMenu(e){return[{type:"routerLink",destination:["/console/property",e,"profile"],text:"Info",icon:"local_parking"},{type:"routerLink",destination:["/console/property",e,"hours"],text:"Hours",icon:"query_builder"},{type:"routerLink",destination:["/console/property",e,"activity-summary"],text:"Activity Summary",icon:"poll"},{type:"routerLink",destination:["/console/property",e,"pre-authorized-vehicles"],text:"Pre-Authorized Vehicles",icon:"directions_car"},{type:"routerLink",destination:["/console/property",e,"currently-parked-vehicles"],text:"Authorized Vehicles",icon:"done_all"},{type:"routerLink",destination:["/console/property",e,"violations"],text:"Unauthorized Vehicles",icon:"cancel"},{type:"routerLink",destination:["/console/property",e,"checker"],text:"Checker",icon:"done_outline"}]}logout(){this.security.logout(),this.user=null}handleClick(e){this[e]()}ngOnDestroy(){this.destroyed$.next(!0),this.destroyed$.complete()}static{this.\u0275fac=function(n){return new(n||i)(M(ze),M(Yt),M(q),M(fn),M(xr),M(mr))}}static{this.\u0275cmp=H({type:i,selectors:[["app-root"]],decls:55,vars:25,consts:[["menu","matMenu"],["main",""],["consoleMenu","matMenu"],["profileMenu","matMenu"],[1,"container"],["id","top"],[1,"printHeader"],["src","assets/imgs/flexepark-horizontal.svg","alt","FlexePark"],[1,"sr-only",3,"click"],[1,"left"],["mat-icon-button","","class","back-link","aria-label","back",3,"routerLink",4,"ngIf"],[3,"routerLink"],["src","assets/imgs/flexepark-horizontal.svg","alt","FlexePark",1,"logo"],[1,"desktop"],[4,"ngFor","ngForOf"],[1,"mobile"],["mat-icon-button","",3,"matMenuTriggerFor"],["role","navigation","title","secondary-nav","class","secondary-nav",4,"ngIf"],["class","banner","role","alert",4,"ngIf"],[4,"ngIf"],[1,"sr-only"],[3,"ngClass"],[1,"notices"],[1,"copyright"],[1,"version"],["href","https://about.flexepark.com/privacy-policy","rel","noopener","target","_blank"],["href","https://about.flexepark.com/terms-of-service","rel","noopener","target","_blank"],[1,"printFooter"],[1,"date"],["mat-icon-button","","aria-label","back",1,"back-link",3,"routerLink"],[3,"ngSwitch"],["routerLinkActive","router-link-active",3,"routerLinkActiveOptions"],[3,"routerLink",4,"ngSwitchCase"],[4,"ngSwitchCase"],[3,"href",4,"ngSwitchCase"],[3,"click",4,"ngSwitchCase"],[3,"routerLink",4,"ngIf"],[3,"matBadge"],[3,"href"],[3,"click"],[3,"ngClass","matMenuTriggerFor",4,"ngIf"],[3,"ngClass","matMenuTriggerFor"],["mat-menu-item","","routerLinkActive","router-link-active",3,"routerLink",4,"ngSwitchCase"],["mat-menu-item","",3,"href",4,"ngSwitchCase"],["mat-menu-item","",3,"click",4,"ngSwitchCase"],["mat-menu-item","","routerLinkActive","router-link-active",3,"routerLink"],["mat-menu-item","","routerLinkActive","router-link-active",3,"routerLink",4,"ngIf"],["mat-menu-item","",3,"href"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"matMenuTriggerFor",4,"ngIf"],["mat-menu-item","",3,"matMenuTriggerFor"],["role","navigation","title","secondary-nav",1,"secondary-nav"],["routerLinkActive","router-link-active",3,"routerLink"],["role","alert",1,"banner"],[1,"error"],[1,"large"],["href","https://app.flexepark.com"],[1,"text-right"]],template:function(n,r){if(n&1){let o=Pe();h(0,"div",4),R(1,"div",5),h(2,"div",6),R(3,"img",7),g(4," flexepark.com "),d(),h(5,"a",8),ue("click",function(){ge(o);let p=Ee(30);return ye(p.scrollTo("content"))}),g(6,"Skip to main content"),d(),h(7,"header")(8,"span",9),x(9,Es,3,1,"a",10),h(10,"a",11),R(11,"img",12),d()(),h(12,"nav",13)(13,"ul"),x(14,Os,3,2,"ng-container",14),d()(),h(15,"nav",15)(16,"button",16)(17,"mat-icon"),g(18,"menu"),d()(),h(19,"mat-menu",null,0),x(21,Bs,3,2,"ng-container",14),d()(),x(22,Hs,3,1,"div",17)(23,Ws,3,1,"div",17),d(),x(24,Qs,13,0,"div",18)(25,Ys,1,0,"app-announcement-banner",19),de(26,"async"),h(27,"h1",20),g(28),d(),h(29,"main",null,1),R(31,"router-outlet"),d(),h(32,"footer",21)(33,"div",22)(34,"div",23),g(35),h(36,"span",24),g(37),d()(),h(38,"a",25),g(39,"Privacy Policy"),d(),g(40," - "),h(41,"a",26),g(42,"Terms of Service"),d()()(),h(43,"div",27)(44,"span"),g(45),d(),h(46,"div",28),g(47),de(48,"date"),d()(),h(49,"mat-menu",null,2),x(51,Xs,2,1,"ng-container",14),d(),h(52,"mat-menu",null,3),x(54,ea,2,1,"ng-container",14),d()()}if(n&2){let o=Ee(20);y(9),C("ngIf",r.backLink),y(),C("routerLink",St(22,vs)),y(4),C("ngForOf",r.nav),y(2),C("matMenuTriggerFor",o),y(5),C("ngForOf",r.nav),y(),C("ngIf",r.consoleLinks),y(),C("ngIf",r.showProfileLinks),y(),C("ngIf",r.banner&&r.isExternal),y(),C("ngIf",Ye(26,17,r.shouldShowAnnouncementBanner$)),y(3),F(r.title),y(4),C("ngClass",Z(23,bs,r.consoleLinks||r.showProfileLinks)),y(3),Q("\xA9 ",r.today.getFullYear()," FlexePark\u2122 LLC \xA0 "),y(2),Q("v",r.version.app,""),y(8),Q("Copyright \xA9 ",r.today.getFullYear()," FlexePark\u2122 LLC"),y(2),F(Le(48,19,r.today,"medium")),y(4),C("ngForOf",r.consoleProfileLinks),y(3),C("ngForOf",r.profileLinks)}},dependencies:[dr,Y,hr,Kt,ht,he,rr,or,Pr,Tr,Xe,Ar,Ir,Or,Nr,Lr,Je,sr],styles:[".call-to-action[_ngcontent-%COMP%]{font-size:1rem;padding:.5rem 2rem;border-radius:3px;text-align:center;box-shadow:1px 1px 2px #a1a1a1;line-height:1.25rem;margin:2rem auto 1rem;display:block;width:auto}.container[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:100vh}.desktop[_ngcontent-%COMP%]{display:none}.left[_ngcontent-%COMP%]{align-items:center;display:flex}.left[_ngcontent-%COMP%] .back-link[_ngcontent-%COMP%]{margin-right:1rem}.version[_ngcontent-%COMP%]{color:#878787}header[_ngcontent-%COMP%]{align-items:center;background:#fff;border-bottom:solid 1px rgba(0,0,0,.1);display:flex;height:48px;justify-content:space-between;padding:0 1.25rem;position:sticky;top:0;z-index:900}header[_ngcontent-%COMP%] img.logo[_ngcontent-%COMP%]{height:18px}.banner[_ngcontent-%COMP%]{background:#ffe9ea}.banner[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:#b60006;border-bottom:solid 1px #b60006;font-size:1.75rem;padding:.5rem 1.25rem}.banner[_ngcontent-%COMP%] div.error[_ngcontent-%COMP%]{border-radius:0;margin-bottom:2rem;border-top:solid 1px #b60006;border-bottom:solid 1px #b60006}.banner[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{line-height:1.5rem;margin:.5rem 1.25rem}.banner[_ngcontent-%COMP%] p.large[_ngcontent-%COMP%]{font-size:1.2rem}.banner[_ngcontent-%COMP%] p.large[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{font-weight:700}.banner[_ngcontent-%COMP%] p.text-right[_ngcontent-%COMP%]{text-align:right}main[_ngcontent-%COMP%]{padding:1.25rem}footer[_ngcontent-%COMP%]{align-items:center;background:#fff;border-top:solid 1px rgba(0,0,0,.1);display:flex;font-size:.875rem;height:48px;justify-content:center;margin-top:auto;padding:0 1.25rem}footer[_ngcontent-%COMP%] .copyright[_ngcontent-%COMP%]{margin-bottom:.25rem}footer[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{font-size:.75rem}.desktop[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:.5rem 0;align-items:baseline;display:flex}.desktop[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{list-style:none}.desktop[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{padding:0 .5rem}.desktop[_ngcontent-%COMP%] .mat-badge[_ngcontent-%COMP%]{position:relative;top:.75rem;left:-1rem}.desktop[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .desktop[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background:none;border:none;color:#3476a5;cursor:pointer;font-size:1rem;font-family:Raleway,sans-serif;font-display:auto;text-decoration:none;font-weight:400}.desktop[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover, .desktop[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:focus, .desktop[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover, .desktop[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:focus{text-decoration:underline;outline:none}.router-link-active[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .desktop[_ngcontent-%COMP%] button.page-active[_ngcontent-%COMP%]{color:#006837;font-weight:700}.secondary-nav[_ngcontent-%COMP%]{display:none}@media (max-width: 576px){.secondary-nav[_ngcontent-%COMP%]{background:#fff;border-top:solid 1px rgba(0,0,0,.1);display:block;left:0;position:fixed;right:0;top:calc(100% - 44px);z-index:900}.secondary-nav[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{display:flex;justify-content:space-evenly;margin:0;padding-left:0}.secondary-nav[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{list-style:none;text-align:center}.secondary-nav[_ngcontent-%COMP%] li[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:none}.secondary-nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:block;padding:.5rem}.secondary-nav[_ngcontent-%COMP%] a.router-link-active[_ngcontent-%COMP%]{color:#878787}.move-up[_ngcontent-%COMP%]{margin-bottom:3rem}}[_ngcontent-%COMP%]:where(a, button).mat-mdc-menu-item[_ngcontent-%COMP%]{color:#0a70ba}@media (min-width: 992px){body[_ngcontent-%COMP%]{margin-top:2rem;margin-bottom:2rem}.desktop[_ngcontent-%COMP%]{display:block}.mobile[_ngcontent-%COMP%]{display:none}}@media print{nav[_ngcontent-%COMP%], footer[_ngcontent-%COMP%], .secondary-nav[_ngcontent-%COMP%], header[_ngcontent-%COMP%]{display:none}main[_ngcontent-%COMP%]{padding:0}.printHeader[_ngcontent-%COMP%]{display:block;margin-bottom:2rem}.printHeader[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:150px;display:block}.printFooter[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;margin-top:2rem}.printFooter[_ngcontent-%COMP%]:before{content:url(/assets/imgs/lexe.svg);width:2rem;display:inline-block;margin-right:1ch;vertical-align:middle}.printFooter[_ngcontent-%COMP%] .date[_ngcontent-%COMP%]{margin-left:auto}}"]})}}return i})();var bt=(()=>{class i{constructor(e){this.propertyService=e}resolve(e){return this.propertyService.fetch(e.params.propertyId)}static{this.\u0275fac=function(n){return new(n||i)(U(xe))}}static{this.\u0275prov=$({token:i,factory:i.\u0275fac})}}return i})();var ce=(()=>{class i{constructor(){}car(e){return e?(this.currentCar=e,this.currentCar):this.currentCar}transaction(e){return e?(this.currentTransaction=e,this.currentTransaction):this.currentTransaction}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275prov=$({token:i,factory:i.\u0275fac})}}return i})();var oi=(()=>{class i{constructor(e,n){this.pendingTransactionService=e,this.router=n}resolve(e){let n=this.pendingTransactionService.car(),r=e.params.propertyId;return n||this.router.navigateByUrl("lot/"+r+"/cars"),n}static{this.\u0275fac=function(n){return new(n||i)(U(ce),U(q))}}static{this.\u0275prov=$({token:i,factory:i.\u0275fac})}}return i})();var si=(()=>{class i{constructor(e,n){this.pendingTransactionService=e,this.router=n}resolve(e){let n=this.pendingTransactionService.transaction(),r=e.params.propertyId;return n||this.router.navigateByUrl("lot/"+r+"/payment"),n}static{this.\u0275fac=function(n){return new(n||i)(U(ce),U(q))}}static{this.\u0275prov=$({token:i,factory:i.\u0275fac})}}return i})();var xt=(()=>{class i{constructor(e,n){this.propertyService=e,this.router=n}resolve(e){return this.propertyService.fetch(e.params.propertyId).then(n=>(n.canPark||this.router.navigateByUrl("lot/"+e.params.propertyId),n.canPark),n=>{this.router.navigateByUrl("lot/"+e.params.propertyId)})}static{this.\u0275fac=function(n){return new(n||i)(U(xe),U(q))}}static{this.\u0275prov=$({token:i,factory:i.\u0275fac})}}return i})();var ao=Fn(ls());var tt=(()=>{class i{constructor(e,n,r){this.pendingTransaction=e,this.carProfiles=n,this.db=r}getPropertiesWithId(){return this.db.list("properties").snapshotChanges().pipe(ee(e=>e.filter(n=>n.key!=="0000")))}imageUrlFromPaymentInstrumentType(e){switch(e.paymentInstrumentType){case"android_pay_card":return e.androidPayCard.imageUrl;case"apple_pay_card":return e.applePayCard.imageUrl;case"credit_card":return e.creditCard.imageUrl;case"masterpass_card":return e.masterpassCardDetails.imageUrl;case"paypal_account":return e.paypalAccount.imageUrl;case"samsung_pay_card":return e.samsungPayCardDetails.imageUrl;case"venmo_account":return e.venmoAccount.imageUrl;case"visa_checkout_card":return e.visaCheckoutCardDetails.imageUrl}return null}log(e,n){let r=new Date(n.time).valueOf(),o=new Date(r).getFullYear(),l=n.transaction,p={amount:n.amount,serviceFeeAmount:l.serviceFeeAmount,discountAmount:l.discountAmount,taxAmount:l.taxAmount,currencyIsoCode:l.currencyIsoCode,property:n.property,time:n.time,"auth-uid":e,paymentPlanId:l.planId,paymentRecurring:l.recurring,paymentSubscriptionId:l.subscriptionId,paymentStatus:l.status,paymentTransactionId:n.paymentTransactionId,paymentInstrumentType:l.paymentInstrumentType,paymentTypeImageUrl:this.imageUrlFromPaymentInstrumentType(n.transaction),transactionType:"PARKING",timestamp:r},f={car:null,property:n.property,time:n.time,timestamp:r,"auth-uid":e,"client-id":n["client-id"],"client-name":n["client-name"]},v={car:null,amount:n.amount,property:n.property,time:n.time,"client-id":n["client-id"],"client-name":n["client-name"],propertyId:n.property,compressedLogo:n.compressedLogo,paymentInstrumentType:l.paymentInstrumentType,paymentTypeImageUrl:this.imageUrlFromPaymentInstrumentType(n.transaction)},k=this.db.database.ref("parking-log/"+o+"/"+f["client-id"]+"/"+n.property).push().key;return f["transaction-id"]=k,this.carProfiles.getCarById(e,n.car).then(S=>{f.car=S,v.car=S;let D={};return D["users/"+e+"/parking-log/"+k]=f,D["users/"+e+"/transaction-log/"+k]=p,D["transaction-log/"+k]=p,D["parking-log/"+o+"/"+f["client-id"]+"/"+n.property+"/"+k]=f,this.db.database.ref().update(D).then(()=>(this.pendingTransaction.transaction(v),k))})}static{this.\u0275fac=function(n){return new(n||i)(U(ce),U(qe),U(vr))}}static{this.\u0275prov=$({token:i,factory:i.\u0275fac})}}return i})();function sa(i,t){i&1&&(h(0,"li")(1,"a",10),g(2,"Login"),d()())}var co=(()=>{class i{constructor(e,n,r,o,l,p,f){this.parkingService=e,this.propertyService=n,this.router=r,this.fb=o,this.renderer=l,this.snackBar=p,this.firebaseAuthService=f,this.displayParkNumberFormError=!1,this.displayPark="",this.displayParkNumberForm=!0,this.user=this.firebaseAuthService.getAuth(),this.error={},this.parkingLotNumber=new Vr("",[_e.required,_e.pattern("^(0|[0-9][0-9]*)$")]),this.quickParkForm=this.fb.group({parkingLotNumber:this.parkingLotNumber}),this.closeDisplayParkNumberForm=function(){this.displayParkNumberForm=!1},this.quickParkSubmit=function(){let v;this.quickParkForm.value&&(v=`${this.quickParkForm.get("parkingLotNumber").value}`),!!ao.find(this.properties,{key:v})||v==="0000"?(this.displayParkNumberForm=!1,this.displayParkNumberFormError=!1,this.router.navigate(["lot",v])):(console.log(this.error),this.snackBar.openFromComponent(Zn,{duration:8e3,panelClass:"snackbar-error",data:{lotNotFound:v}}))}}ngOnInit(){this.parkingServiceSub=this.parkingService.getPropertiesWithId().subscribe(e=>{this.properties=e.map(n=>{let r=n.payload.key;return n=n.payload.val(),n.key=r,n.isOpen=!1,this.propertyService.addHoursToProperty(n),n})},e=>{this.handleError(e.message)})}dismissError(){this.displayParkNumberFormError=!1,this.quickParkForm.reset(),this.renderer.selectRootElement("#lotNumber").focus()}handleError(e){this.snackBar.open(e,null,{duration:5e3,panelClass:"snackbar-error"})}ngOnDestroy(){this.parkingServiceSub&&this.parkingServiceSub.unsubscribe()}static{this.\u0275fac=function(n){return new(n||i)(M(tt),M(xe),M(q),M(ln),M(qn),M(_t),M(ft))}}static{this.\u0275cmp=H({type:i,selectors:[["app-quick-park-form"]],decls:22,vars:5,consts:[[1,"container"],["src","assets/imgs/lexe.svg","alt","lexe, a friendly green car"],[1,"content","quick-park-form",3,"ngSubmit","formGroup"],["appearance","outline","floatLabel","always"],["matInput","","inputmode","numeric","id","lotNumber","aria-label","four-digit lot number","formControlName","parkingLotNumber","minlength","4","maxlength","4"],["mat-flat-button","","id","quickParkButton","type","submit",3,"disabled"],[1,"links"],["routerLink","/monthly/apply"],[4,"ngIf"],["href","https://about.flexepark.com"],["routerLink","/login"]],template:function(n,r){n&1&&(h(0,"div",0),R(1,"img",1),h(2,"form",2),ue("ngSubmit",function(){return r.quickParkSubmit()}),h(3,"p"),g(4,"Scan the QR code on the sign"),R(5,"br"),g(6," or enter the 4-digit Lot Number:"),d(),h(7,"mat-form-field",3)(8,"mat-label"),g(9,"Lot Number"),d(),R(10,"input",4),d(),h(11,"button",5),g(12,"Park Now"),d()(),h(13,"ul",6)(14,"li")(15,"a",7),g(16,"Looking for monthly parking?"),d()(),x(17,sa,3,0,"li",8),de(18,"async"),h(19,"li")(20,"a",9),g(21,"About FlexePark\u2122"),d()()()()),n&2&&(y(2),C("formGroup",r.quickParkForm),y(9),C("disabled",!r.parkingLotNumber.valid),y(6),C("ngIf",Ye(18,3,r.user)==null))},dependencies:[he,on,tn,nn,rn,Br,cn,sn,an,Y,gt,mn,un,pn,dn,Je],styles:['.call-to-action[_ngcontent-%COMP%]{font-size:1rem;padding:.5rem 2rem;border-radius:3px;text-align:center;box-shadow:1px 1px 2px #a1a1a1;line-height:1.25rem;margin:2rem auto 1rem;display:block;width:auto}.container[_ngcontent-%COMP%]{max-width:400px;margin:0 auto;text-align:center}img[_ngcontent-%COMP%]{margin:.5rem auto 1rem;width:6rem}.mat-mdc-form-field[_ngcontent-%COMP%]{margin-top:1rem;width:100%}p[_ngcontent-%COMP%]{line-height:1.5rem;margin:0}#quickParkButton[_ngcontent-%COMP%]:not(:disabled){background-color:#006837;color:#fff}#quickParkButton[_ngcontent-%COMP%]:not(:disabled):hover{background-color:#008244}ul.links[_ngcontent-%COMP%]{margin:2rem 0 0;padding:0;text-align:center}ul.links[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{display:inline-block}ul[_ngcontent-%COMP%]:before, ul[_ngcontent-%COMP%]:after, li[_ngcontent-%COMP%]:not(:last-of-type):after{margin:0 1rem;vertical-align:middle;width:1rem}li[_ngcontent-%COMP%]:not(:last-of-type):after{content:" | "}']})}}return i})();var lo=(()=>{class i{constructor(e){this.router=e}ngOnInit(){}static{this.\u0275fac=function(n){return new(n||i)(M(q))}}static{this.\u0275cmp=H({type:i,selectors:[["app-home"]],decls:1,vars:0,template:function(n,r){n&1&&R(0,"app-quick-park-form")},dependencies:[co]})}}return i})();var yn=(()=>{class i{constructor(e){this.router=e,console.warn("captured invalid URL",e.url)}ngOnInit(){}static{this.\u0275fac=function(n){return new(n||i)(M(q))}}static{this.\u0275cmp=H({type:i,selectors:[["app-error-page"]],decls:11,vars:0,consts:[[1,"container"],["routerLink","/contact"],["src","assets/imgs/pileup.svg","alt","a cartoon pileup of cars"]],template:function(n,r){n&1&&(h(0,"div",0)(1,"h1"),g(2,"Oops! An error occurred"),d(),h(3,"p"),g(4,"Something went wrong. We apologize for the inconvenience."),d(),h(5,"p"),g(6,"Please try your request again or feel free to "),h(7,"a",1),g(8,"contact us"),d(),g(9," for help."),d(),R(10,"img",2),d())},dependencies:[Y],styles:[".call-to-action[_ngcontent-%COMP%]{font-size:1rem;padding:.5rem 2rem;border-radius:3px;text-align:center;box-shadow:1px 1px 2px #a1a1a1;line-height:1.25rem;margin:2rem auto 1rem;display:block;width:auto}.container[_ngcontent-%COMP%]{max-width:768px;margin:0 auto;text-align:center}h1[_ngcontent-%COMP%]{color:#b60006}img[_ngcontent-%COMP%]{margin:1rem auto}"]})}}return i})();var po=(()=>{class i{static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=H({type:i,selectors:[["app-contact"]],decls:3,vars:0,template:function(n,r){n&1&&(h(0,"h1"),g(1,"Contact Us"),d(),R(2,"app-contact-form"))},dependencies:[qr],styles:[".call-to-action[_ngcontent-%COMP%]{font-size:1rem;padding:.5rem 2rem;border-radius:3px;text-align:center;box-shadow:1px 1px 2px #a1a1a1;line-height:1.25rem;margin:2rem auto 1rem;display:block;width:auto}@media (min-width: 767px){.contact[_ngcontent-%COMP%]{border-top:solid 3px #c7c7c7}}"]})}}return i})();var uo=(()=>{class i{constructor(){}ngOnInit(){}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=H({type:i,selectors:[["app-monthly-apply"]],decls:10,vars:0,consts:[[1,"container"],[1,"alt"],["routerLink","/monthly/cancel"],["src",Ht`https://docs.google.com/forms/d/e/1FAIpQLSfwCzMqeutmNnT15TMs1dBQ6apRXck1GlaioYoKfJpVBBwOxg/viewform?embedded=true`,"height","1500","frameborder","0","marginheight","0","marginwidth","0"]],template:function(n,r){n&1&&(h(0,"div",0)(1,"h1"),g(2,"Monthly Parking Application"),d(),h(3,"p"),g(4,"To start the application process, please fill out the form below. You'll receive additional instructions by email as you proceed through the process."),d(),h(5,"div",1)(6,"a",2),g(7,"Need to cancel?"),d()()(),h(8,"iframe",3),g(9,` Loading\u2026 `),d())},dependencies:[Y],styles:[".alt[_ngcontent-%COMP%]{text-align:right}iframe[_ngcontent-%COMP%]{width:100%;overflow:hidden}a[_ngcontent-%COMP%]{font-weight:700}p[_ngcontent-%COMP%]{line-height:1.5}@media (max-width: 660px){.container[_ngcontent-%COMP%]{width:98%;margin:auto}}.container[_ngcontent-%COMP%]{margin:2rem auto 0;max-width:90vw;width:640px}"]})}}return i})();var mo=(()=>{class i{constructor(){}ngOnInit(){}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=H({type:i,selectors:[["app-monthly-cancel"]],decls:10,vars:0,consts:[[1,"container"],[1,"alt"],["routerLink","/monthly/apply"],["src",Ht`https://docs.google.com/forms/d/e/1FAIpQLSeztYjJWsAp3UxCbRr3u8E3ZLwT5BYXMw6rsuUMHl6NQXj1EA/viewform?embedded=true`,"height","1300","frameborder","0","marginheight","0","marginwidth","0"]],template:function(n,r){n&1&&(h(0,"div",0)(1,"h1"),g(2,"Cancel Monthly Parking"),d(),h(3,"p"),g(4,"If you're currently a monthly subscriber you can use this form to cancel. Note that it may take 3-4 business days to confirm your cancellation, but you will receive a pro-rated refund based upon the last date you need parking."),d(),h(5,"div",1)(6,"a",2),g(7,"Wanting to sign up instead?"),d()()(),h(8,"iframe",3),g(9,` Loading\u2026 `),d())},dependencies:[Y],styles:[".alt[_ngcontent-%COMP%]{text-align:right}iframe[_ngcontent-%COMP%]{width:100%;overflow:hidden}a[_ngcontent-%COMP%]{font-weight:700}p[_ngcontent-%COMP%]{line-height:1.5}@media (max-width: 660px){.container[_ngcontent-%COMP%]{width:98%;margin:auto}}.container[_ngcontent-%COMP%]{margin:2rem auto 0;max-width:90vw;width:640px}"]})}}return i})();var ca=["mapContainer"],la=i=>({lat:39.825,lng:i}),pa=i=>["/lot",i];function ua(i,t){if(i&1){let e=Pe();h(0,"map-marker",8,1),ue("mapClick",function(){let r=ge(e).$implicit,o=Ee(1),l=w(3);return ye(l.openInfo(o,r.info))}),d()}if(i&2){let e=t.$implicit;C("position",e.position)("label",e.label)("title",e.title)("options",e.options)}}function ma(i,t){if(i&1&&(oe(0),h(1,"span"),g(2,"Today's Hours:"),d(),g(3),de(4,"timeFormat"),se()),i&2){let e=w(4);y(3),Q(" Until ",Le(4,1,e.infoContent.currentHours.hours.end,"true")," ")}}function da(i,t){if(i&1&&(oe(0),h(1,"span"),g(2,"Parking starts today at:"),d(),g(3),de(4,"timeFormat"),se()),i&2){let e=w(5);y(3),Q(" ",Le(4,1,e.infoContent.nextHours.hours.start,"true")," ")}}function ha(i,t){i&1&&(oe(0),h(1,"strong"),g(2,"Currently Outside of Parking Hours"),d(),se())}function fa(i,t){if(i&1&&(oe(0),x(1,da,5,4,"ng-container",3)(2,ha,3,0,"ng-container",3),se()),i&2){let e=w(4);y(),C("ngIf",e.infoContent.nextHours.type==="today"),y(),C("ngIf",e.infoContent.nextHours.type==="none")}}function ya(i,t){if(i&1&&(h(0,"a",12),g(1,"Check In"),d()),i&2){let e=w(4);C("routerLink",Z(1,pa,e.infoContent.key))}}function _a(i,t){if(i&1&&(h(0,"div",9)(1,"h3"),g(2),d(),h(3,"p"),g(4),d(),h(5,"p"),x(6,ma,5,4,"ng-container",3)(7,fa,3,2,"ng-container",3),h(8,"a",10),g(9,"Get Directions"),d(),x(10,ya,2,3,"a",11),d()()),i&2){let e=w(3);y(2),Zi("",e.infoContent.key,": ",e.infoContent["client-name"],""),y(2),F(e.infoContent.address),y(2),C("ngIf",e.infoContent.currentHours.type==="todaysHoursUntil"||e.infoContent.currentHours.type==="todaysHours"),y(),C("ngIf",e.infoContent.currentHours.type==="none"),y(),He("href","https://www.google.com/maps/dir/?api=1&dir_action=navigate&travelmode=driving&destination=",e.infoContent.address,"",pe),y(2),C("ngIf",e.infoContent.currentHours.type!=="none")}}function va(i,t){if(i&1&&(h(0,"google-map",5),x(1,ua,2,4,"map-marker",6),h(2,"map-info-window"),x(3,_a,11,8,"div",7),d()()),i&2){let e=w(2);C("width",e.width)("zoom",11)("center",Z(5,la,-86.14165)),y(),C("ngForOf",e.markers),y(2),C("ngIf",e.infoContent)}}function ba(i,t){if(i&1&&(h(0,"div",null,0),x(2,va,4,7,"google-map",4),d()),i&2){let e=w();y(2),C("ngIf",e.show)}}var ho=(()=>{class i{constructor(e,n,r){this.parkingService=e,this.propertyService=n,this.mapLoaded$=r,this.destroyed$=new je,this.show=!1}ngOnInit(){this.parkingService.getPropertiesWithId().pipe(Qe(this.destroyed$)).subscribe(e=>{this.properties=this.configureData(e),this.markers=this.properties.filter(n=>(n.lat||n.lat===0)&&(n.lng||n.lng===0)).map(n=>({position:{lat:n.lat,lng:n.lng},title:n["client-name"],info:n,options:{icon:"/assets/imgs/lexe-icon.svg"}})),this.show=!0},e=>{console.error(e)})}configureData(e){return e.map(n=>{let r=n.payload.key;return n=n.payload.val(),n.key=r,n.isOpen=!1,this.propertyService.addHoursToProperty(n),n}).filter(n=>n.active!==!1)}openInfo(e,n){this.infoContent=n,this.info.open(e)}ngOnDestroy(){this.destroyed$.next(!0),this.destroyed$.complete()}static{this.\u0275fac=function(n){return new(n||i)(M(tt),M(xe),M(Xr))}}static{this.\u0275cmp=H({type:i,selectors:[["app-map-view"]],viewQuery:function(n,r){if(n&1&&(Hn(hn,5),Hn(ca,5)),n&2){let o;Kn(o=Gn())&&(r.info=o.first),Kn(o=Gn())&&(r.containerRef=o.first)}},decls:5,vars:3,consts:[["mapContainer",""],["markerElem","mapMarker"],[1,"container-fluid","properties"],[4,"ngIf"],["class","map",3,"width","zoom","center",4,"ngIf"],[1,"map",3,"width","zoom","center"],[3,"position","label","title","options","mapClick",4,"ngFor","ngForOf"],["class","map-window",4,"ngIf"],[3,"mapClick","position","label","title","options"],[1,"map-window"],["target","_blank","rel","noopener",3,"href"],[3,"routerLink",4,"ngIf"],[3,"routerLink"]],template:function(n,r){n&1&&(h(0,"main",2)(1,"h1"),g(2,"Find Parking"),d(),x(3,ba,3,1,"div",3),de(4,"async"),d()),n&2&&(y(3),C("ngIf",Ye(4,1,r.mapLoaded$)&&r.markers))},dependencies:[ht,he,Y,$r,hn,Hr,Je,Ze],styles:[".call-to-action[_ngcontent-%COMP%]{font-size:1rem;padding:.5rem 2rem;border-radius:3px;text-align:center;box-shadow:1px 1px 2px #a1a1a1;line-height:1.25rem;margin:2rem auto 1rem;display:block;width:auto}.map[_ngcontent-%COMP%]{width:100%;height:500px}.map-window[_ngcontent-%COMP%]{max-width:100%}.map-window[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5em}.map-window[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:block}.map-window[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .map-window[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .map-window[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{line-height:normal}.map-window[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .map-window[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{margin:.5em 0}"]})}}return i})();function Ea(i,t){if(i&1&&R(0,"img",15),i&2){let e=w().ngIf;He("alt","",e.property["client-name"]," logo"),C("src",e.property.compressedLogo,pe)}}function ka(i,t){if(i&1&&R(0,"img",16),i&2){let e=w().ngIf;He("alt","",e.property["client-name"]," logo")}}function wa(i,t){if(i&1&&(h(0,"p"),g(1),de(2,"timeFormat"),d()),i&2){let e=w(2).ngIf;y(),Q(" Until ",Le(2,1,e.property.currentHours.hours.end,"true")," ")}}function Sa(i,t){if(i&1&&(h(0,"section",17)(1,"h2"),g(2,"Today's Parking Hours:"),d(),x(3,wa,3,4,"p",18),d()),i&2){let e=w().ngIf;y(3),C("ngIf",e.property.currentHours.type==="todaysHoursUntil"||e.property.currentHours.type==="todaysHours")}}function Ta(i,t){if(i&1&&(h(0,"a",19),g(1,"Park"),d()),i&2){let e=w().ngIf;C("routerLink",e.nextUrl)}}function Pa(i,t){i&1&&(h(0,"section",20)(1,"p"),g(2,"Sorry, no FlexePark\u2122 parking at this time."),d()())}function Ma(i,t){if(i&1&&(h(0,"div",2)(1,"section",3)(2,"div",4),g(3,"1"),d(),R(4,"div",5),h(5,"div",6),g(6,"2"),d(),R(7,"div",5),h(8,"div",6),g(9,"3"),d()(),h(10,"h1"),g(11),d(),h(12,"section",7)(13,"div"),x(14,Ea,1,3,"img",8)(15,ka,1,2,"img",9),d(),h(16,"div")(17,"div",10),g(18),d(),h(19,"div"),g(20),d()()(),x(21,Sa,4,1,"section",11),h(22,"section",12)(23,"h2"),g(24,"Parking Fee"),d(),h(25,"p"),g(26),d()(),x(27,Ta,2,1,"a",13)(28,Pa,3,0,"section",14),d()),i&2){let e=t.ngIf;y(11),Q("lot ",e.property.propertyId,""),y(3),C("ngIf",e.property.compressedLogo),y(),C("ngIf",!e.property.compressedLogo),y(3),F(e.property["client-name"]),y(2),F(e.property.address),y(),C("ngIf",e.property.currentHours.type==="todaysHoursUntil"||e.property.currentHours.type==="todaysHours"),y(5),Q("$ ",e.property.currentPrice,""),y(),C("ngIf",e.property.currentHours.type==="todaysHoursUntil"||e.property.currentHours.type==="todaysHours"),y(),C("ngIf",e.property.currentHours.type!=="todaysHoursUntil"&&e.property.currentHours.type!=="todaysHours")}}function xa(i,t){i&1&&R(0,"app-loading")}var fo=(()=>{class i{constructor(e,n,r,o,l){this.router=e,this.route=n,this.carProfiles=r,this.security=o,this.helper=l,this.data$=rt([this.route.params,this.security.whoAmI()]).pipe(fe(([{propertyId:p},f])=>rt([this.getPropertyInfo(p),this.getNextUrl(p,f)])),ee(([p,f])=>({nextUrl:f,property:p})),Vt(p=>(console.error(p.message),p.message==="not-found"?(this.helper.handleError("Sorry, no FlexePark™ parking at this time."),this.router.navigate(["/map"])):(console.error(p),this.helper.handleError("An error has ocurred, please try again"),this.router.navigate(["/"])),jt)))}getPropertyInfo(e){return this.route.data.pipe(ee(n=>{if(!n.property)throw new Error("not-found");return Dn(be({},n.property),{propertyId:e})}))}getNextUrl(e,n){let r=`/lot/${e}`;return n&&!n.isAnonymous?this.carProfiles.getCars(n.uid).pipe(ee(o=>o?.length?`${r}/cars`:`${r}/create-car`)):We(`${r}/cars/login`)}static{this.\u0275fac=function(n){return new(n||i)(M(q),M(Me),M(qe),M(ze),M(Zt))}}static{this.\u0275cmp=H({type:i,selectors:[["app-lot"]],decls:4,vars:4,consts:[["loading",""],["class","main lot","role","main",4,"ngIf","ngIfElse"],["role","main",1,"main","lot"],[1,"stepper"],[1,"number","active"],["role","presentation",1,"line"],[1,"number"],[1,"info"],[3,"src","alt",4,"ngIf"],["src","/assets/imgs/lexe.svg","class","lexi",3,"alt",4,"ngIf"],[1,"name"],["class","icons hours",4,"ngIf"],[1,"icons","price"],["class","button","mat-flat-button","","color","accent",3,"routerLink",4,"ngIf"],["class","icons hours no-park",4,"ngIf"],[3,"src","alt"],["src","/assets/imgs/lexe.svg",1,"lexi",3,"alt"],[1,"icons","hours"],[4,"ngIf"],["mat-flat-button","","color","accent",1,"button",3,"routerLink"],[1,"icons","hours","no-park"]],template:function(n,r){if(n&1&&(x(0,Ma,29,9,"div",1),de(1,"async"),x(2,xa,1,0,"ng-template",null,0,er)),n&2){let o=Ee(3);C("ngIf",Ye(1,2,r.data$))("ngIfElse",o)}},dependencies:[he,Y,Jt,Yr,Je,Ze],styles:['.call-to-action[_ngcontent-%COMP%]{font-size:1rem;padding:.5rem 2rem;border-radius:3px;text-align:center;box-shadow:1px 1px 2px #a1a1a1;line-height:1.25rem;margin:2rem auto 1rem;display:block;width:auto}.stepper[_ngcontent-%COMP%]{align-items:center;display:flex;flex-wrap:nowrap;justify-content:center;margin:1.5rem 0}.stepper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:link, .stepper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:visited{text-decoration:none}.stepper[_ngcontent-%COMP%] .number[_ngcontent-%COMP%]{align-items:center;background:#e0e0e0;border-radius:2.8125rem;color:#bababa;display:flex;height:2rem;justify-content:center;text-align:center;width:2rem}.stepper[_ngcontent-%COMP%] .number.active[_ngcontent-%COMP%]{background:#b2e092;color:#085993;font-weight:700}.stepper[_ngcontent-%COMP%] .number.complete[_ngcontent-%COMP%]{background:#ceebba}.stepper[_ngcontent-%COMP%] .number.complete[_ngcontent-%COMP%]:hover{background:#b2e092;color:#085993}.stepper[_ngcontent-%COMP%] .line[_ngcontent-%COMP%]{background:#c7c7c7;border-left:solid .25rem white;border-right:solid .25rem white;flex-grow:1;height:1px}.stepper[_ngcontent-%COMP%] .line.complete[_ngcontent-%COMP%]{background:#ceebba;color:#3fa9f5}h1[_ngcontent-%COMP%]{color:#60a630}img[_ngcontent-%COMP%]{max-width:100%;width:100%;border-radius:4px;border:solid 1px #d4d4d4}img.lexi[_ngcontent-%COMP%]{box-sizing:border-box;padding:.75rem;opacity:.5}section.info[_ngcontent-%COMP%]{display:flex;margin:0 -.5rem;align-items:stretch}section.info[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-of-type{padding:0 .5rem;flex-basis:50%;flex-grow:0;flex-shrink:0}section.info[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-of-type .name[_ngcontent-%COMP%]{font-weight:700}section.info[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{text-align:center;margin:.75rem 0}section.icons[_ngcontent-%COMP%]{margin-left:5rem;position:relative;margin-top:1rem;margin-bottom:2rem}section.icons[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:.875rem;border:none;color:#878787;margin:0;padding-top:.5rem}section.icons[_ngcontent-%COMP%]:before{width:4rem;display:inline-block;position:absolute;margin-left:-5rem}section.icons[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-weight:700;font-size:1.25rem;margin:0}section.hours[_ngcontent-%COMP%]:before{content:url(/assets/imgs/alarm.svg)}section.hours[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#ff488c}section.price[_ngcontent-%COMP%]:before{content:url(/assets/imgs/usd.svg)}section.price[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#60a630}.no-park[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:700;padding:.5rem 1rem;color:#e57700;border-radius:4px;margin-bottom:1rem}.no-park[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}@media (min-width: 576px){h1[_ngcontent-%COMP%]{grid-area:header}.stepper[_ngcontent-%COMP%]{grid-area:stepper}section.info[_ngcontent-%COMP%]{grid-area:info;display:block}.hours[_ngcontent-%COMP%]{grid-area:hours}.price[_ngcontent-%COMP%]{grid-area:price}a.button[_ngcontent-%COMP%]{grid-area:link;margin:0}.main[_ngcontent-%COMP%]{display:grid;grid-gap:1rem 2rem;grid-template-columns:1fr 1fr 1fr;grid-template-areas:"stepper stepper stepper" "header header header" "info hours hours" "info price price" ". link ."}}']})}}return i})();var Ia=i=>["/lot",i],Aa=i=>["/lot",i,"create-car"],Oa=i=>({active:i});function Na(i,t){if(i&1&&R(0,"img",19),i&2){let e=w().$implicit;He("alt","car name is ",e.name,""),C("src",e.imageCompressed,pe)}}function La(i,t){i&1&&R(0,"img",20)}function Ra(i,t){if(i&1&&(h(0,"div")(1,"span"),g(2,"Name:"),d(),g(3),d()),i&2){let e=w().$implicit;y(3),Q(" ",e.name,"")}}function Da(i,t){if(i&1&&(h(0,"div")(1,"span"),g(2,"Plate Number:"),d(),g(3),d()),i&2){let e=w().$implicit;y(3),Q(" ",e.plateNumber,"")}}function Fa(i,t){i&1&&(h(0,"span",21)(1,"mat-icon"),g(2,"done"),d()())}function Ua(i,t){if(i&1){let e=Pe();h(0,"div",12),ue("click",function(){let r=ge(e).$implicit,o=w();return ye(o.selectCar(r.id))}),h(1,"div",13),x(2,Na,1,3,"img",14)(3,La,1,0,"img",15),d(),h(4,"div",16),x(5,Ra,4,1,"div",17)(6,Da,4,1,"div",17),d(),x(7,Fa,3,0,"span",18),d()}if(i&2){let e=t.$implicit,n=w();C("ngClass",Z(6,Oa,n.selectedCar===e.id)),y(2),C("ngIf",e.imageCompressed),y(),C("ngIf",!e.imageCompressed),y(2),C("ngIf",e.name),y(),C("ngIf",e.plateNumber),y(),C("ngIf",n.selectedCar===e.id)}}var go=(()=>{class i{constructor(e,n,r,o,l,p){this.route=e,this.router=n,this.carProfilesSvc=r,this.pendingTransactionSvc=o,this.userPreferencesSvc=l,this.helperSvc=p,this.destroyed$=new je}ngOnInit(){return Te(this,null,function*(){rt([this.route.data,this.route.params]).pipe(fe(e=>(this.user=e[0].user,this.propertyId=e[1].propertyId,this.carProfilesSvc.getCars(this.user.uid))),Qe(this.destroyed$)).subscribe(e=>Te(this,null,function*(){if(this.cars=e,this.cars.length<1){this.router.navigate([`lot/${this.propertyId}/create-car`]);return}let n=yield this.userPreferencesSvc.getById(this.user.uid),r;n&&n.car&&(r=this.cars.find(o=>o.id===n.car)),this.selectedCar=r?r.id:this.cars[0].id}),e=>{console.error(e),this.helperSvc.handleError("We apologize, something went wrong retrieving your saved cars")})})}selectCar(e){this.selectedCar=e}continueToPayment(e){return Te(this,null,function*(){if(!this.selectedCar){e.preventDefault();return}try{let n={car:this.selectedCar};yield this.userPreferencesSvc.update(this.user.uid,n),yield this.pendingTransactionSvc.car(this.selectedCar),this.router.navigate([`lot/${this.propertyId}/payment`])}catch(n){console.error(n),this.helperSvc.handleError("We apologize, something whent wrong selecting your car")}})}ngOnDestroy(){this.destroyed$.next(!0),this.destroyed$.complete()}static{this.\u0275fac=function(n){return new(n||i)(M(Me),M(q),M(qe),M(ce),M(Jr),M(Zt))}}static{this.\u0275cmp=H({type:i,selectors:[["app-select-car"]],decls:26,vars:7,consts:[[1,"stepper"],[3,"routerLink"],[1,"number","complete"],["role","presentation",1,"line","complete"],[1,"number","active"],["role","presentation",1,"line"],[1,"number"],[1,"cars"],["tabindex","0","role","button","class","car",3,"ngClass","click",4,"ngFor","ngForOf"],[1,"add"],["mat-stroked-button","","color","accent",3,"routerLink"],["mat-flat-button","","color","primary",1,"next",3,"click"],["tabindex","0","role","button",1,"car",3,"click","ngClass"],[1,"image"],[3,"src","alt",4,"ngIf"],["src","/assets/imgs/lexe.svg","class","lexe","alt","vehicle photo",4,"ngIf"],[1,"car-info"],[4,"ngIf"],["class","selected-check circle",4,"ngIf"],[3,"src","alt"],["src","/assets/imgs/lexe.svg","alt","vehicle photo",1,"lexe"],[1,"selected-check","circle"]],template:function(n,r){n&1&&(h(0,"section",0)(1,"a",1)(2,"div",2)(3,"mat-icon"),g(4,"done"),d()()(),R(5,"div",3),h(6,"div",4),g(7,"2"),d(),R(8,"div",5),h(9,"div",6),g(10,"3"),d()(),h(11,"h2"),g(12,"Which Car Are You Parking?"),d(),h(13,"div")(14,"p"),g(15,"Select the car you are parking with:"),d(),h(16,"div",7),x(17,Ua,8,8,"div",8),d(),h(18,"div",9)(19,"a",10)(20,"mat-icon"),g(21,"add"),d(),h(22,"span"),g(23,"Add New Car"),d()()()(),h(24,"a",11),ue("click",function(l){return r.continueToPayment(l)}),g(25,"Continue To Payment"),d()),n&2&&(y(),C("routerLink",Z(3,Ia,r.propertyId)),y(16),C("ngForOf",r.cars),y(2),C("routerLink",Z(5,Aa,r.propertyId)))},dependencies:[Kt,ht,he,Y,Jt,Xe],styles:[".call-to-action[_ngcontent-%COMP%]{font-size:1rem;padding:.5rem 2rem;border-radius:3px;text-align:center;box-shadow:1px 1px 2px #a1a1a1;line-height:1.25rem;margin:2rem auto 1rem;display:block;width:auto}.stepper[_ngcontent-%COMP%]{align-items:center;display:flex;flex-wrap:nowrap;justify-content:center;margin:1.5rem 0}.stepper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:link, .stepper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:visited{text-decoration:none}.stepper[_ngcontent-%COMP%] .number[_ngcontent-%COMP%]{align-items:center;background:#e0e0e0;border-radius:2.8125rem;color:#bababa;display:flex;height:2rem;justify-content:center;text-align:center;width:2rem}.stepper[_ngcontent-%COMP%] .number.active[_ngcontent-%COMP%]{background:#b2e092;color:#085993;font-weight:700}.stepper[_ngcontent-%COMP%] .number.complete[_ngcontent-%COMP%]{background:#ceebba}.stepper[_ngcontent-%COMP%] .number.complete[_ngcontent-%COMP%]:hover{background:#b2e092;color:#085993}.stepper[_ngcontent-%COMP%] .line[_ngcontent-%COMP%]{background:#c7c7c7;border-left:solid .25rem white;border-right:solid .25rem white;flex-grow:1;height:1px}.stepper[_ngcontent-%COMP%] .line.complete[_ngcontent-%COMP%]{background:#ceebba;color:#3fa9f5}.select-car[_ngcontent-%COMP%]{padding-bottom:1rem}.car[_ngcontent-%COMP%]{background:#e9f5fe;display:grid;grid-template-columns:33% auto;text-align:left;margin:1rem 0;border:none;border-radius:0 4px;box-shadow:0 1px 1px #c7c7c7,0 1px 3px #d4d4d4;padding:.25rem;width:100%}.car[_ngcontent-%COMP%]:hover, .car[_ngcontent-%COMP%]:focus{background:#d0eafd;cursor:pointer;top:0;left:0}.car.active[_ngcontent-%COMP%]{font-weight:700;background:#ceebba;top:0;left:0;box-shadow:0 2px 2px #bababa,0 2px 4px #c7c7c7}.car[_ngcontent-%COMP%] .image[_ngcontent-%COMP%]{border-top-right-radius:4px;border-bottom-left-radius:4px}.car[_ngcontent-%COMP%] .image[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{border-radius:0 4px;border:none;border-left:solid 1px #d0eafd;width:100%}.car[_ngcontent-%COMP%] .image[_ngcontent-%COMP%] img.lexi[_ngcontent-%COMP%]{padding:.5rem;opacity:.5}.car[_ngcontent-%COMP%] .car-info[_ngcontent-%COMP%]{font-size:1rem;padding:0 1rem}.car[_ngcontent-%COMP%] .car-info[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{margin-bottom:.5rem}.car[_ngcontent-%COMP%] .car-info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#a1a1a1;display:block;font-size:.875rem}.car[_ngcontent-%COMP%] .selected-check[_ngcontent-%COMP%]{margin:.2rem;border-radius:50%;position:absolute;padding:.25rem;background:#ceebba;border:solid 1px #88cf57;color:#085993}.cars[_ngcontent-%COMP%]{margin-bottom:1rem}.add[_ngcontent-%COMP%]{margin-bottom:1rem;text-align:right}.next[_ngcontent-%COMP%]{width:100%}@media (min-width: 768px){.cars[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:1rem}.next[_ngcontent-%COMP%]{width:auto}}"]})}}return i})();var ja=i=>["/lot",i],yo=i=>["/lot",i,"cars"];function Va(i,t){if(i&1&&(h(0,"a",27),g(1,"2"),d()),i&2){let e=w();He("href","lot/",e.propertyId,"/cars",pe)}}function za(i,t){i&1&&(h(0,"span"),g(1,"2"),d())}function Ba(i,t){if(i&1&&(h(0,"a",3),g(1,"Back to Car List"),d()),i&2){let e=w();C("routerLink",Z(1,yo,e.propertyId))}}function qa(i,t){if(i&1&&R(0,"img",28),i&2){let e=w();C("src",e.preview,pe)}}function $a(i,t){if(i&1&&(h(0,"a",3),g(1,"Back to Car List"),d()),i&2){let e=w();C("routerLink",Z(1,yo,e.propertyId))}}function Ha(i,t){i&1&&(h(0,"div",29),R(1,"img",30),d())}var _o=(()=>{class i{constructor(e,n,r,o,l,p,f){this.fb=e,this.route=n,this.router=r,this.carProfiles=o,this.imageSvc=l,this.pendingTransaction=p,this.snackBar=f,this.uploadingImages=!1}ngOnInit(){this.uid=this.route.snapshot.data.user.uid,this.propertyId=this.route.snapshot.params.propertyId,this.carForm=this.fb.group({name:["",_e.compose([_e.required,_e.maxLength(50)])],plateNumber:["",_e.compose([_e.maxLength(50),_e.required])],blob:[""],imageName:["",_e.required]}),this.carProfiles.getCarsOnce(this.uid).then(e=>{this.hasCars=!!(e&&e.length>0)},e=>console.error(e))}submitCar(){let e=new Qr;e.name=this.carForm.value.name,this.carForm.value.plateNumber&&(e.plateNumber=this.carForm.value.plateNumber),this.carProfiles.createCar(this.uid,e,this.blob).then(n=>{this.carProfiles.newCarToPreferences(this.uid,e),this.pendingTransaction.car(e.id),this.uploadingImages=!1,this.router.navigate([`lot/${this.propertyId}/payment`])})}imagePreview(e){return Te(this,null,function*(){let n=e.target.files;if(n.length>0){let r=n[0];if(r.type!=="image/png"&&r.type!=="image/jpeg"){this.snackBar.open("Invalid File Type - Please use JPEG or PNG",null,{duration:3e3,panelClass:"snackbar-error"});return}this.loading=!0,this.carForm.get("imageName").patchValue("Loading..."),this.blob=yield this.imageSvc.compressImage(r,Kr.Large),this.carForm.get("imageName").patchValue(r.name),this.preview=yield this.imageSvc.blobToImageURL(this.blob),this.loading=!1,this.carForm.get("plateNumber").setValidators(_e.nullValidator),this.carForm.get("plateNumber").updateValueAndValidity()}})}plateChange(e){e&&e.trim&&e.trim!==""?this.carForm.get("imageName").setValidators(_e.nullValidator):this.carForm.get("imageName").setValidators(_e.required),this.carForm.get("imageName").updateValueAndValidity()}static{this.\u0275fac=function(n){return new(n||i)(M(ln),M(Me),M(q),M(qe),M(Gr),M(ce),M(_t))}}static{this.\u0275cmp=H({type:i,selectors:[["app-create-car"]],decls:48,vars:12,consts:[["plateNumber",""],[1,"main"],[1,"stepper"],[3,"routerLink"],[1,"number","complete"],["aria-label","step1, completed",1,"glyphicon","glyphicon-ok"],["role","presentation",1,"line","complete"],[1,"number","active"],[3,"href",4,"ngIf"],[4,"ngIf"],["role","presentation",1,"line"],[1,"number"],[1,"cancel"],[3,"routerLink",4,"ngIf"],[3,"hidden"],[3,"ngSubmit","formGroup"],["appearance","outline","floatLabel","always"],["matInput","","name","plateNumber","formControlName","plateNumber","type","text","maxlength","50",3,"change"],[1,"or"],[1,"upload-container"],[1,"legend-label"],["id","preview","class","img-responsive","alt","uploaded picture",3,"src",4,"ngIf"],[1,"upload"],["type","file","accept",".jpg, .png","placeholder","Upload file","capture","camera","formControlName","blob",1,"hidden",3,"change"],["matInput","","name","name","formControlName","name","placeholder","Ex: make or model","type","text","maxlength","50","required",""],["mat-flat-button","","color","primary","type","submit",3,"disabled"],["class","overlay-spinner",4,"ngIf"],[3,"href"],["id","preview","alt","uploaded picture",1,"img-responsive",3,"src"],[1,"overlay-spinner"],["src","/assets/imgs/spinner.svg","alt","loading"]],template:function(n,r){if(n&1){let o=Pe();h(0,"div",1)(1,"section",2)(2,"a",3)(3,"div",4),R(4,"span",5),d()(),R(5,"div",6),h(6,"div",7),x(7,Va,2,2,"a",8)(8,za,2,0,"span",9),d(),R(9,"div",10),h(10,"div",11),g(11,"3"),d()(),h(12,"h1"),g(13,"Which Car Are You Parking?"),d(),h(14,"div",12),x(15,Ba,2,3,"a",13),d(),h(16,"div",14)(17,"form",15),ue("ngSubmit",function(){return ge(o),ye(r.submitCar())}),h(18,"fieldset")(19,"legend"),g(20,"Plate Information"),d(),h(21,"mat-form-field",16)(22,"mat-label"),g(23,"License Plate Number"),d(),h(24,"input",17,0),ue("change",function(){ge(o);let p=Ee(25);return ye(r.plateChange(p.value))}),d()()(),h(26,"div",18)(27,"span"),g(28,"OR"),d()(),h(29,"fieldset",19)(30,"legend",20),g(31,"Photo of the car's license plate"),d(),x(32,qa,1,1,"img",21),h(33,"label",22),g(34," Choose Image "),h(35,"input",23),ue("change",function(p){return ge(o),ye(r.imagePreview(p))}),d()()(),h(36,"fieldset")(37,"legend"),g(38,"Name of this car"),d(),h(39,"mat-form-field",16)(40,"mat-label"),g(41,"Car Name"),d(),R(42,"input",24),d()(),h(43,"div",12),x(44,$a,2,3,"a",13),d(),h(45,"button",25),g(46,"Save and Continue"),d()()(),x(47,Ha,2,0,"div",26),d()}n&2&&(y(2),C("routerLink",Z(10,ja,r.propertyId)),y(5),C("ngIf",r.hasCars),y(),C("ngIf",!r.hasCars),y(7),C("ngIf",r.hasCars),y(),C("hidden",r.loading),y(),C("formGroup",r.carForm),y(15),C("ngIf",r.preview),y(12),C("ngIf",r.hasCars),y(),C("disabled",r.carForm.status==="INVALID"),y(2),C("ngIf",r.loading))},dependencies:[he,on,tn,nn,rn,zr,cn,sn,an,Y,gt,mn,un,pn,dn],styles:[".call-to-action[_ngcontent-%COMP%]{font-size:1rem;padding:.5rem 2rem;border-radius:3px;text-align:center;box-shadow:1px 1px 2px #a1a1a1;line-height:1.25rem;margin:2rem auto 1rem;display:block;width:auto}.stepper[_ngcontent-%COMP%]{align-items:center;display:flex;flex-wrap:nowrap;justify-content:center;margin:1.5rem 0}.stepper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:link, .stepper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:visited{text-decoration:none}.stepper[_ngcontent-%COMP%] .number[_ngcontent-%COMP%]{align-items:center;background:#e0e0e0;border-radius:2.8125rem;color:#bababa;display:flex;height:2rem;justify-content:center;text-align:center;width:2rem}.stepper[_ngcontent-%COMP%] .number.active[_ngcontent-%COMP%]{background:#b2e092;color:#085993;font-weight:700}.stepper[_ngcontent-%COMP%] .number.complete[_ngcontent-%COMP%]{background:#ceebba}.stepper[_ngcontent-%COMP%] .number.complete[_ngcontent-%COMP%]:hover{background:#b2e092;color:#085993}.stepper[_ngcontent-%COMP%] .line[_ngcontent-%COMP%]{background:#c7c7c7;border-left:solid .25rem white;border-right:solid .25rem white;flex-grow:1;height:1px}.stepper[_ngcontent-%COMP%] .line.complete[_ngcontent-%COMP%]{background:#ceebba;color:#3fa9f5}fieldset[_ngcontent-%COMP%]{border:solid 1px rgba(0,0,0,.1);border-radius:4px;position:relative;margin-bottom:1rem;padding-top:3rem}fieldset[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 1rem}legend[_ngcontent-%COMP%]{color:#3476a5;display:block;font-size:1.25rem;font-weight:700;margin-top:1rem;position:absolute;top:0}.upload[_ngcontent-%COMP%]{background:#3476a5;border-radius:4px;box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f;color:#fff;display:block;min-width:64px;padding:.5rem 16px;text-align:center}.upload[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{position:absolute;inset:0}mat-form-field[_ngcontent-%COMP%]{width:100%}.img-responsive[_ngcontent-%COMP%]{border-radius:4px;width:100%}.or[_ngcontent-%COMP%]{color:#ff2f7c;font-size:1.3rem;text-align:center;margin:1rem 0}.or[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{border-top:solid 1px #d4d4d4;border-bottom:solid 1px #d4d4d4;padding:.0675rem 0}.upload-container[_ngcontent-%COMP%]{padding-top:5rem}.cancel[_ngcontent-%COMP%]{text-align:right;margin-bottom:1rem}.overlay-spinner[_ngcontent-%COMP%]{left:1rem;right:1rem}.overlay-spinner[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{left:1rem;right:1rem;width:calc(100% - 2rem)}@media (min-width: 768px){.upload-container[_ngcontent-%COMP%]{padding-top:4rem}.upload[_ngcontent-%COMP%]{display:inline-block}}"]})}}return i})();var Ct=(()=>{class i{static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275mod=ne({type:i})}static{this.\u0275inj=te({providers:[xe,tt,Zr,ce],imports:[Re,Ve]})}}return i})();var vo=Fn(us());var Ka=i=>["/lot",i],Ga=i=>["/lot",i,"cars"],Wa=i=>["/lot",i,"agreement"];function Qa(i,t){if(i&1&&(h(0,"p",16),g(1),de(2,"timeFormat"),d()),i&2){let e=w();y(),Q(" Until ",Le(2,1,e.property.currentHours.hours.end,"true")," ")}}function Ya(i,t){i&1&&(h(0,"p"),g(1,"Loading Payment Methods "),R(2,"img",17),d())}function Ja(i,t){i&1&&(h(0,"p"),g(1,"Processing your payment "),R(2,"img",17),d())}function Xa(i,t){if(i&1&&(h(0,"p",18),g(1,"By checking into this property you agree to the terms of the "),h(2,"a",2),g(3,"Parking Lot Release Agreement"),d(),g(4,"."),d()),i&2){let e=w();y(2),C("routerLink",Z(1,Wa,e.propertyId))}}function Za(i,t){if(i&1){let e=Pe();h(0,"button",19),ue("click",function(){ge(e);let r=w();return ye(r.submitPayment())}),g(1,"Pay"),d()}if(i&2){let e=w();C("disabled",e.paymentDisabled)}}var bo=(()=>{class i{constructor(e,n,r,o,l,p,f,v){this.router=e,this.route=n,this.security=r,this.pendingTransaction=o,this.carProfiles=l,this.parking=p,this.http=f,this.snackbar=v,this.destroyed$=new je,this.loading=!0,this.processing=!1,this.paymentDisabled=!1}ngOnInit(){this.carId=this.pendingTransaction.car(),this.property=this.route.snapshot.data.property,this.propertyId=this.route.snapshot.params.propertyId,this.security.whoAmI().pipe(Ce(e=>{if(e.isAnonymous)throw new Error("You need to log in before you can park.");this.user=e}),fe(e=>Promise.all([e.getIdToken(),this.carProfiles.getCarById(e.uid,this.carId)])),Ce(([e,n])=>{if(!n)throw new Error("Cannot find your vehicle information");this.car=n,this.idToken=e}),fe(([e])=>this.http.post(`${J.flexepark.apiServer.url}/clientToken`,{idToken:e},{responseType:"text"}).pipe(Qi(3))),Ce(e=>this.handleDropIn(e,this.user.uid)),Vt(e=>(console.error(e),this.showError(e?.message||e),jt)),Qe(this.destroyed$)).subscribe()}handleDropIn(e,n){vo.create({authorization:e,container:"#dropin-container",customerId:n,locale:"en_US",paymentOptionPriority:["card","paypal","venmo"],paypal:{flow:"vault",amount:this.property.currentPrice,currency:"USD"},venmo:{allowNewBrowserTab:!1},vaultManager:!0},(r,o)=>{r?(console.error("instance",r,o),this.showError(r.message)):(this.braintreeInstance=o,this.loading=!1,o.on("paymentMethodRequestable",()=>{this.paymentDisabled=!1}),o.on("noPaymentMethodRequestable",()=>{this.paymentDisabled=!0}))})}showError(e){this.snackbar.open(e,null,{duration:5e3,panelClass:["snackbar-error"]})}submitPayment(){this.processing=!0;try{this.braintreeInstance.requestPaymentMethod((e,n)=>{e?(this.processing=!1,this.braintreeInstance.isPaymentMethodRequestable()?(console.error(e,this.braintreeInstance),this.showError(e.message)):(console.log("Payment not selected",e),this.showError("Please select a valid form of payment."))):this.receivePayment(n.nonce)})}catch(e){this.processing=!1,console.error(e),this.showError("Error processing payment. Please try a different payment method.")}}receivePayment(e){let n={idToken:this.idToken,payment_method_nonce:e,amount:this.property.currentPrice,uid:this.user.uid};this.http.post(`${J.flexepark.apiServer.url}/receivePayment`,n).pipe(fe(r=>{if(r.success){let o=this.getLogPayload(r);return this.parking.log(this.user.uid,o)}else throw r}),Ne(1)).subscribe({next:()=>this.router.navigate([`lot/${this.propertyId}/confirmation`],{replaceUrl:!0}),error:r=>{console.error(r.message),this.snackbar.open(r.message,null,{duration:5e3,panelClass:["snackbar-error"]})},complete:()=>this.processing=!1})}getLogPayload(e){return{amount:e.transaction.amount,property:this.propertyId,time:new Date(e.transaction.createdAt).toUTCString(),"client-name":this.property["client-name"],"client-id":this.property["client-id"],car:this.carId,paymentTransactionId:e.transaction.id,compressedLogo:this.property.compressedLogo,transaction:e.transaction}}ngOnDestroy(){this.destroyed$.next(!0),this.destroyed$.complete()}static{this.\u0275fac=function(n){return new(n||i)(M(q),M(Me),M(ze),M(ce),M(qe),M(tt),M(ar),M(_t))}}static{this.\u0275cmp=H({type:i,selectors:[["app-payment"]],decls:31,vars:14,consts:[[1,"container-fluid","payment","main"],[1,"stepper"],[3,"routerLink"],[1,"number","complete"],["role","presentation",1,"line","complete"],[1,"number","active"],[1,"grid"],[1,"checkout-info"],[1,"car"],["class","hours",4,"ngIf"],[1,"price"],["id","checkout-form"],[4,"ngIf"],["id","dropin-container"],["class","agreement",4,"ngIf"],["mat-flat-button","","color","primary","class","pay","type","button",3,"disabled","click",4,"ngIf"],[1,"hours"],["src","assets/imgs/dots.svg","alt","processing",1,"loading"],[1,"agreement"],["mat-flat-button","","color","primary","type","button",1,"pay",3,"click","disabled"]],template:function(n,r){n&1&&(h(0,"div",0)(1,"section",1)(2,"a",2)(3,"div",3)(4,"mat-icon"),g(5,"done"),d()()(),R(6,"div",4),h(7,"a",2)(8,"div",3)(9,"mat-icon"),g(10,"done"),d()()(),R(11,"div",4),h(12,"div",5),g(13,"3"),d()(),h(14,"h1"),g(15,"Pay for Parking"),d(),h(16,"h2"),g(17),d(),h(18,"div",6)(19,"section",7)(20,"p",8),g(21),d(),x(22,Qa,3,4,"p",9),h(23,"p",10),g(24),d()(),h(25,"div",11),x(26,Ya,3,0,"p",12),R(27,"div",13),x(28,Ja,3,0,"p",12),d()(),x(29,Xa,5,3,"p",14)(30,Za,2,1,"button",15),d()),n&2&&(y(2),C("routerLink",Z(10,Ka,r.propertyId)),y(5),C("routerLink",Z(12,Ga,r.propertyId)),y(10),Q("Lot ",r.propertyId,""),y(4),F(r.car==null?null:r.car.name),y(),C("ngIf",r.property==null||r.property.currentHours==null?null:r.property.currentHours.hours),y(2),F(r.property.currentPrice),y(2),C("ngIf",r.loading),y(2),C("ngIf",r.processing),y(),C("ngIf",!r.processing&&!r.loading),y(),C("ngIf",!r.processing&&!r.loading))},dependencies:[he,Y,gt,Xe,Ze],styles:[".call-to-action[_ngcontent-%COMP%]{font-size:1rem;padding:.5rem 2rem;border-radius:3px;text-align:center;box-shadow:1px 1px 2px #a1a1a1;line-height:1.25rem;margin:2rem auto 1rem;display:block;width:auto}.stepper[_ngcontent-%COMP%]{align-items:center;display:flex;flex-wrap:nowrap;justify-content:center;margin:1.5rem 0}.stepper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:link, .stepper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:visited{text-decoration:none}.stepper[_ngcontent-%COMP%] .number[_ngcontent-%COMP%]{align-items:center;background:#e0e0e0;border-radius:2.8125rem;color:#bababa;display:flex;height:2rem;justify-content:center;text-align:center;width:2rem}.stepper[_ngcontent-%COMP%] .number.active[_ngcontent-%COMP%]{background:#b2e092;color:#085993;font-weight:700}.stepper[_ngcontent-%COMP%] .number.complete[_ngcontent-%COMP%]{background:#ceebba}.stepper[_ngcontent-%COMP%] .number.complete[_ngcontent-%COMP%]:hover{background:#b2e092;color:#085993}.stepper[_ngcontent-%COMP%] .line[_ngcontent-%COMP%]{background:#c7c7c7;border-left:solid .25rem white;border-right:solid .25rem white;flex-grow:1;height:1px}.stepper[_ngcontent-%COMP%] .line.complete[_ngcontent-%COMP%]{background:#ceebba;color:#3fa9f5}.loading[_ngcontent-%COMP%]{border:none;height:.3rem;width:auto;display:inline-block;margin-left:.25rem;vertical-align:baseline}section[_ngcontent-%COMP%]{margin-left:.5rem}button[_ngcontent-%COMP%]{margin:0 0 1rem}.agreement[_ngcontent-%COMP%]{font-size:.75rem;margin-top:.5rem;line-height:normal}.agreement[_ngcontent-%COMP%] button.link[_ngcontent-%COMP%]{display:inline;padding:0;margin:0}.checkout-info[_ngcontent-%COMP%]{font-size:1rem}.checkout-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:before{display:inline-block;vertical-align:middle;margin-right:1rem;width:1.5rem}p.car[_ngcontent-%COMP%]:before{content:url(/assets/imgs/lexe.svg)}p.car[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#60a630}p.hours[_ngcontent-%COMP%]:before{content:url(/assets/imgs/alarm.svg)}p.hours[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#ff488c}p.price[_ngcontent-%COMP%]:before{content:url(/assets/imgs/usd.svg)}p.price[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#60a630}.pay[_ngcontent-%COMP%]{width:100%}.link[_ngcontent-%COMP%]{background:none;border:none;text-decoration:underline;color:#3476a5}@media (min-width: 768px){.pay[_ngcontent-%COMP%]{width:auto}.grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 3fr}}"]})}}return i})();var Co=Fn(ps());var ec=()=>["/user/profile/history"];function tc(i,t){if(i&1&&R(0,"img",13),i&2){let e=w();C("src",e.transaction.compressedLogo,pe)}}function nc(i,t){i&1&&R(0,"img",14)}function ic(i,t){if(i&1&&(h(0,"p",15),g(1),de(2,"timeFormat"),d()),i&2){let e=w();y(),Q(" Until ",Le(2,1,e.propertyHours.hours.end,"true")," ")}}function rc(i,t){if(i&1&&R(0,"img",16),i&2){let e=w();dt("src",e.transaction.paymentTypeImageUrl,pe),dt("alt",e.transaction.paymentInstrumentType)}}function oc(i,t){if(i&1&&R(0,"img",13),i&2){let e=w(2);C("src",e.reward.compressedAd,pe)}}function sc(i,t){if(i&1&&(h(0,"p",19),g(1),d()),i&2){let e=w(2);y(),F(e.reward.message)}}function ac(i,t){if(i&1&&(h(0,"p"),g(1," Visit us at "),h(2,"a",20),g(3),d()()),i&2){let e=w(2);y(2),C("href",e.reward.url,pe),y(),Q(" ",e.reward.url," ")}}function cc(i,t){if(i&1&&(h(0,"div")(1,"h2"),g(2,"You Have Earned A Reward"),d(),h(3,"div",17)(4,"div"),x(5,oc,1,1,"img",4),d(),h(6,"div"),x(7,sc,2,1,"p",18)(8,ac,4,2,"p",12),h(9,"p"),g(10),d()()()()),i&2){let e=w();y(5),C("ngIf",e.reward.compressedAd),y(2),C("ngIf",e.reward.message),y(),C("ngIf",e.reward.url),y(2),Q("Expires: ",e.formatDate(e.reward.expirationDate),"")}}var Eo=(()=>{class i{constructor(e,n,r,o,l){this.route=e,this.pendingTransactionService=n,this.router=r,this.rewardsService=o,this.firebaseAuthService=l}ngOnInit(){try{let e=this.route.snapshot.data.property,n=this.route.snapshot.params.propertyId;if(this.transaction=this.pendingTransactionService.transaction(),!this.transaction){this.router.navigateByUrl("lot/"+n+"/payment");return}this.authSub=this.firebaseAuthService.getAuth().subscribe(r=>Te(this,null,function*(){this.uid=r.uid,this.propertyHours=e.currentHours,this.reward=yield this.rewardsService.getNew(this.uid,this.transaction["client-id"])}))}catch(e){console.error(e)}}formatDate(e){return(0,Co.default)(e).format("MMMM Do, YYYY")}ngOnDestroy(){this.authSub&&this.authSub.unsubscribe()}static{this.\u0275fac=function(n){return new(n||i)(M(Me),M(ce),M(q),M(Yt),M(ft))}}static{this.\u0275cmp=H({type:i,selectors:[["app-confirmation"]],decls:30,vars:11,consts:[["role","main",1,"container-fluid","confirmation","main"],["src","../../../assets/imgs/success.svg","alt","",1,"confirmation-animation"],[1,"lot-number"],[1,"section-container"],["alt","",3,"src",4,"ngIf"],["src","/assets/imgs/lexe.svg","class","lexi","alt","",4,"ngIf"],[1,"client"],[1,"car"],["class","hours",4,"ngIf"],[1,"price"],["class","payment-method",3,"src","alt",4,"ngIf"],[3,"routerLink"],[4,"ngIf"],["alt","",3,"src"],["src","/assets/imgs/lexe.svg","alt","",1,"lexi"],[1,"hours"],[1,"payment-method",3,"src","alt"],[1,"reward"],["class","message",4,"ngIf"],[1,"message"],["target","_blank","rel","noopener",3,"href"]],template:function(n,r){n&1&&(h(0,"div",0),R(1,"img",1),h(2,"div")(3,"h1"),g(4,"Success!"),d()(),h(5,"h2",2),g(6),d(),h(7,"div",3)(8,"section")(9,"div"),x(10,tc,1,1,"img",4)(11,nc,1,0,"img",5),d()(),h(12,"section")(13,"p",6),g(14),d(),h(15,"p",7),g(16),d(),x(17,ic,3,4,"p",8),h(18,"p",9),g(19),x(20,rc,1,2,"img",10),d()()(),h(21,"p"),g(22,"Your complete transaction history can be found under "),h(23,"a",11),g(24,"Transaction History in your Profile"),d(),g(25,"."),d(),R(26,"hr"),h(27,"p"),g(28,"Thank you for choosing FlexePark\u2122."),d(),x(29,cc,11,4,"div",12),d()),n&2&&(y(6),Q("Lot ",r.transaction.property,""),y(4),C("ngIf",r.transaction.compressedLogo),y(),C("ngIf",!r.transaction.compressedLogo),y(3),Q(" ",r.transaction["client-name"]," "),y(2),F(r.transaction.car==null?null:r.transaction.car.name),y(),C("ngIf",r.propertyHours),y(2),Q("$ ",r.transaction.amount," "),y(),C("ngIf",r.transaction.paymentTypeImageUrl),y(3),C("routerLink",St(10,ec)),y(6),C("ngIf",r.reward))},dependencies:[he,Y,Ze],styles:[".call-to-action[_ngcontent-%COMP%]{font-size:1rem;padding:.5rem 2rem;border-radius:3px;text-align:center;box-shadow:1px 1px 2px #a1a1a1;line-height:1.25rem;margin:2rem auto 1rem;display:block;width:auto}.reward[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{line-height:1.5rem}.reward[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:100%}@media (min-width: 768px){.reward[_ngcontent-%COMP%]{display:flex}.reward[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{flex-basis:33%}.reward[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-of-type{padding-left:1rem}}img[_ngcontent-%COMP%]{width:100%}h1[_ngcontent-%COMP%]{text-align:center}h2.lot-number[_ngcontent-%COMP%]{border:solid 1px #ededed;border-radius:4px 4px 0 0;color:#333;padding:.25rem 1rem;margin-bottom:-1px}.section-container[_ngcontent-%COMP%]{align-content:space-between;border:solid 1px #ededed;border-radius:0 0 4px 4px;display:flex;filter:grayscale(1);margin-bottom:1rem;padding:.5rem 1rem}.section-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%]:first-of-type{align-items:center;display:flex}.section-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%]:first-of-type img[_ngcontent-%COMP%]{max-width:100px}.section-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%]:last-of-type{padding-left:1rem;color:#333}hr[_ngcontent-%COMP%]{border-color:#7ac943}.confirmation[_ngcontent-%COMP%] .car[_ngcontent-%COMP%], .confirmation[_ngcontent-%COMP%] .hours[_ngcontent-%COMP%], .confirmation[_ngcontent-%COMP%] .price[_ngcontent-%COMP%]{color:#333;white-space:nowrap}.confirmation[_ngcontent-%COMP%] .payment-method[_ngcontent-%COMP%]{display:block;height:auto;margin-top:1rem;max-height:1.5rem;width:auto}img.confirmation-animation[_ngcontent-%COMP%]{border:none;display:block;margin:0 auto;max-width:13rem;padding-top:1.25rem;padding-left:1.5rem;width:90%}@media (min-width: 768px){.section-container[_ngcontent-%COMP%] section[_ngcontent-%COMP%]:first-of-type img[_ngcontent-%COMP%]{max-width:200px}}"]})}}return i})();var It=(()=>{class i{constructor(e,n){this.router=e,this.auth=n}canActivate(e){return this.auth.authState.pipe(Ne(1),Ce(n=>console.log(n)),ee(n=>!n||n.isAnonymous?this.findLoginUrl(e):!0))}findLoginUrl(e){let n=e.routeConfig.path?e:e.parent,{children:r}=n.routeConfig,l=r&&r.find(p=>p.path==="login")?this.getFullUrl(n)+"/login":"login";return this.router.parseUrl(l)}getFullUrl(e){return e.pathFromRoot.map(n=>n.url.map(r=>r.toString()).join("/")).join("/")}static{this.\u0275fac=function(n){return new(n||i)(U(q),U(gr))}}static{this.\u0275prov=$({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var At=(()=>{class i{constructor(e,n){this.router=e,this.securityService=n}canActivate(){return Te(this,null,function*(){return(yield this.securityService.isAdmin())?!0:this.router.parseUrl("error")})}static{this.\u0275fac=function(n){return new(n||i)(U(q),U(ze))}}static{this.\u0275prov=$({token:i,factory:i.\u0275fac})}}return i})();var ko=i=>["/lot",i,"payment"],wo=(()=>{class i{constructor(e){this.route=e,this.propertyId=this.route.snapshot.params.propertyId}static{this.\u0275fac=function(n){return new(n||i)(M(Me))}}static{this.\u0275cmp=H({type:i,selectors:[["app-agreement"]],decls:46,vars:6,consts:[[1,"header"],[1,"navlink",3,"routerLink"],["href","https://about.flexepark.com/terms-of-service"],["href","https://about.flexepark.com/privacy-policy"]],template:function(n,r){n&1&&(h(0,"div",0)(1,"a",1)(2,"mat-icon"),g(3,"arrow_back"),d(),h(4,"span"),g(5,"Back to Payment"),d()(),h(6,"h2"),g(7,"FlexePark\u2122 Parking Lot Release"),d()(),h(8,"div")(9,"p"),g(10,`FlexePark LLC ("FlexePark") provides Software and Services to Client for purposes of informing Client of the location and potential availability of certain Parking Spots and for facilitating Reservations by displaying Parking Spots in the Services by processing Reservations and collecting fees. Client acknowledges Client's right to have this release and Related Agreements reviewed by an attorney.`),d(),h(11,"p"),g(12,"Client understands that Client is parking on private property and is responsible for Client's conduct and/or activities while using the Parking Spot. Client agrees to use the Parking Spot for legal purposes only and to refrain from parking buses, limousines, ATVs, semi-trailer trucks, tractors, farm equipment or the like in the Parking Spot. Client shall use the Parking Spot in compliance with the "),h(13,"a",2),g(14,"FlexePark LLC Terms of Service"),d(),g(15," and the Related Agreements."),d(),h(16,"p"),g(17,"FlexePark never requires cash payments and Client should never give cash payments directly to anyone in exchange for a Parking Spot. Parking Spots must be paid for in accordance with the FlexePark LLC Terms of Service and Related Agreements. Cash payments are not authorized by or received by FlexePark and do not qualify as a payment to FlexePark. Client agrees that failure to pay for parking through the Services is a violation of this release, the "),h(18,"a",2),g(19,"FlexePark LLC Terms of Service"),d(),g(20," and Related Agreements, and Client's motor vehicle may be ticketed or towed for such failure. "),d(),h(21,"p"),g(22,"When parking in a Parking Spot, Client agrees to abide by all Parking Spot rules including such relevant signs, instructions, and hours of operation. The hours of operation and parking rates provided in the Services supersede those printed on the signs in the parking lot where the Parking Spot is located. Additionally, motor vehicles left in a Parking Spot outside of the hours of operation may be ticketed or towed."),d(),h(23,"p"),g(24,"CLIENT ASSUMES THE RISK OF ANY LOSS OR DAMAGE TO CLIENT'S MOTOR VEHICLE OR PERSONAL PROPERTY LEFT THEREIN INCLUDING BUT NOT LIMITED TO DAMAGE CAUSED BY FIRE, THEFT, ACTS OF GOD, AND ACTS OF ANY THIRD PARTIES OR ANY OTHER CAUSES. IN NO EVENT SHALL FLEXEPARK'S AGGREGATE LIABILITY ARISING OUT OF OR RELATED TO THE FLEXEPARK LLC TERMS OF SERVICE OR RELATED AGREEEMENTS, WHETHER IN CONTRACT, TORT OR UNDER ANY OTHER THEORY OF LIABILITY, EXCEED THE LESSER OF (A) THE AMOUNT ACTUALLY PAID BY CLIENT TO FLEXEPARK FOR THE SERVICES AND PRODUCTS IN THE THREE (3) MONTHS PRECEDING THE INITIAL INCIDENT GIVING RISE TO LIABILITY, OR (B) ONE HUNDRED DOLLARS ($100). IN NO EVENT SHALL FLEXEPARK HAVE ANY LIABILITY FOR ANY LOST PROFITS OR LOST REVENUE OR FOR ANY INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE, CONSEQUENTIAL OR SPECIAL DAMAGES OF ANY KIND OR NATURE HOWEVER CAUSED AND, WHETHER IN CONTRACT, TORT OR UNDER ANY OTHER THEORY OF LIABILITY, WHETHER OR NOT FLEXEPARK HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. NO CLAIM MAY BE BROUGHT BY CLIENT UNDER THIS AGREEMENT MORE THAN ONE (1) YEAR AFTER THE ACCRUAL OF THE CLAIM, WHETHER CLIENT HAD ACTUAL KNOWLEDGE OF THE CLAIM OR SHOULD HAVE KNOWN. IN NO EVENT SHALL FLEXEPARK BE LIABLE FOR ANY CLAIMS THAT ARISE ONCE CLIENT'S RESERVATION EXPIRES AND/OR ONCE CLIENT LEAVES THE PARKING SPOT. UNDER NO CIRCUMSTANCES SHALL FLEXEPARK BEAR ANY RESPONSIBILITY FOR THE TOWING OR REMOVAL OF CLIENT'S MOTOR VEHICLE."),d(),h(25,"p"),g(26,"CLIENT SHALL DEFEND, INDEMNIFY, AND HOLD FLEXEPARK HARMLESS AGAINST ANY LOSS, DAMAGE, OR COSTS (INCLUDING REASONABLE ATTORNEYS' FEES) INCURRED IN CONNECTION WITH CLAIMS, DEMANDS, SUITS, OR PROCEEDINGS MADE OR BROUGHT AGAINST FLEXEPARK ARISING FROM OR RELATED TO: (A) CLIENT'S BREACH OF THE OF THE TERMS OF THE FLEXEPARK LLC TERMS OF SERVICE OR RELATED AGREEEMENTS; (B) THE ACTS OR OMISSIONS OF CLIENT AND/OR CLIENT'S EMPLOYEES, AGENTS, CONTACTORS, VOLUNTEERS, OR REPRESENTATIVES IN CONNECTION WITH THE LOT; OR (C) CLIENT'S NEGLIGENCE OR WILLFUL MISCONDUCT."),d(),h(27,"p"),g(28,"All capitalized terms that are not defined in this FlexePark LLC Parking Lot Release shall have the meaning given to them in the "),h(29,"a",2),g(30,"FlexePark LLC Terms of Service"),d(),g(31,"."),d(),h(32,"p"),g(33,"By clicking ACCEPT or by using the Services, Client accepts the terms of this FlexePark LLC Parking Lot Release, the "),h(34,"a",2),g(35,"FlexePark LLC Terms of Service"),d(),g(36,", the "),h(37,"a",3),g(38,"FlexePark LLC Privacy Policy"),d(),g(39,", and the Related Agreements. "),d()(),h(40,"div")(41,"a",1)(42,"mat-icon"),g(43,"arrow_back"),d(),h(44,"span"),g(45,"Back to Payment"),d()()()),n&2&&(y(),C("routerLink",Z(2,ko,r.propertyId)),y(40),C("routerLink",Z(4,ko,r.propertyId)))},dependencies:[Y,Xe],styles:[".call-to-action[_ngcontent-%COMP%]{font-size:1rem;padding:.5rem 2rem;border-radius:3px;text-align:center;box-shadow:1px 1px 2px #a1a1a1;line-height:1.25rem;margin:2rem auto 1rem;display:block;width:auto}.header[_ngcontent-%COMP%]{background:#fff;border-bottom:solid 1px #7ac943;position:-webkit-sticky;position:sticky;top:48px}.header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{border:none;margin:0}.header[_ngcontent-%COMP%] .navlink[_ngcontent-%COMP%]{padding:.5rem 0}.navlink[_ngcontent-%COMP%]{align-items:center;display:flex;text-decoration:none}.navlink[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-decoration:underline}mat-icon[_ngcontent-%COMP%]{margin-right:.5rem}"]})}}return i})();var lc=[{path:"",component:lo},{path:"contact",component:po},{path:"error",component:yn},{path:"map",component:ho},{path:"login",component:ei},{path:"monthly",children:[{path:"",redirectTo:"monthly/apply",pathMatch:"full"},{path:"apply",component:uo},{path:"cancel",component:mo}]},{path:"lot",children:[{path:"",redirectTo:"map",pathMatch:"full"},{path:":propertyId",children:[{path:"",component:fo,resolve:{property:bt}},{path:"cars",children:[{path:"",component:go,canActivate:[It],resolve:{property:bt,user:en,hours:xt}},{path:"login",component:ei}]},{path:"create-car",component:_o,canActivate:[It],resolve:{user:en,hours:xt}},{path:"payment",component:bo,canActivate:[It],resolve:{property:bt,carId:oi,hours:xt}},{path:"confirmation",component:Eo,resolve:{property:bt,transaction:si}},{path:"agreement",component:wo}]}]},{path:"user",loadChildren:()=>import("./chunk-YAADWDYC.js").then(i=>i.UserModule),canActivate:[It]},{path:"console",loadChildren:()=>import("./chunk-2FQ3IB3H.js").then(i=>i.OwnerModule),canActivate:[ti]},{path:"admin",loadChildren:()=>import("./chunk-CRCDVZ2S.js").then(i=>i.AdminModule),canActivate:[At]},{path:"sysadmin",loadChildren:()=>import("./chunk-UPRYH7FN.js").then(i=>i.SysAdminModule),canActivate:[At]},{path:"ticket",loadChildren:()=>import("./chunk-AJP7IMV6.js").then(i=>i.TicketsModule)},{path:"error",component:yn},{path:"**",component:yn}],So=(()=>{class i{static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275mod=ne({type:i})}static{this.\u0275inj=te({providers:[Dr,bt,en,jr,oi,si,xt,xe,ti],imports:[Yn.forRoot(lc,{}),Ct,Yn]})}}return i})();var To=(()=>{class i{static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275mod=ne({type:i})}static{this.\u0275inj=te({providers:[wr],imports:[Re,Ve]})}}return i})();var Po=(()=>{class i{constructor(e){if(e)throw new Error("CoreModule is already loaded. Import it in the AppModule only");kr.initializeApp(J.firebase)}static{this.\u0275fac=function(n){return new(n||i)(U(i,12))}}static{this.\u0275mod=ne({type:i})}static{this.\u0275inj=te({providers:[ze,ft,Rr,Wr,At,cr(lr())],imports:[Re,To,yr,Qt.initializeApp(J.firebase),br,Er,Ve,Re]})}}return i})();var Mo=(()=>{class i{static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275mod=ne({type:i})}static{this.\u0275inj=te({providers:[ce],imports:[Re,Ct,Ve]})}}return i})();var li=class{constructor(){this.pageTracking={autoTrackVirtualPages:!0,basePath:"",excludedRoutes:[],clearIds:!1,clearHash:!1,clearQueryParams:!1,idsRegExp:/^\d+$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/},this.developerMode=!1,this.ga={},this.appInsights={},this.gtm={},this.gst={}}},xo=new Bt("ANGULARTICS2"),_n=class{trackLocation(t){return new $i({url:"/"})}prepareExternalUrl(t){return t}},pi=(()=>{class i{constructor(e,n){this.tracker=e,this.pageTrack=new Ae(10),this.eventTrack=new Ae(10),this.exceptionTrack=new Ae(10),this.setAlias=new Ae(10),this.setUsername=new Ae(10),this.setUserProperties=new Ae(10),this.setUserPropertiesOnce=new Ae(10),this.setSuperProperties=new Ae(10),this.setSuperPropertiesOnce=new Ae(10),this.userTimings=new Ae(10);let r=new li;this.settings=be(be({},r),n.settings),this.settings.pageTracking=be(be({},r.pageTracking),n.settings.pageTracking),this.tracker.trackLocation(this.settings).subscribe(o=>this.trackUrlChange(o.url))}filterDeveloperMode(){return Oe((e,n)=>!this.settings.developerMode)}trackUrlChange(e){if(this.settings.pageTracking.autoTrackVirtualPages&&!this.matchesExcludedRoute(e)){let n=this.clearUrl(e),r;this.settings.pageTracking.basePath.length?r=this.settings.pageTracking.basePath+n:r=this.tracker.prepareExternalUrl(n),this.pageTrack.next({path:r})}}matchesExcludedRoute(e){for(let n of this.settings.pageTracking.excludedRoutes)if(n instanceof RegExp&&n.test(e)||e.indexOf(n)!==-1)return!0;return!1}clearUrl(e){return this.settings.pageTracking.clearIds||this.settings.pageTracking.clearQueryParams||this.settings.pageTracking.clearHash?e.split("/").map(n=>this.settings.pageTracking.clearQueryParams?n.split("?")[0]:n).map(n=>this.settings.pageTracking.clearHash?n.split("#")[0]:n).filter(n=>!this.settings.pageTracking.clearIds||!n.match(this.settings.pageTracking.idsRegExp)).join("/"):e}}return i.\u0275fac=function(e){return new(e||i)(U(_n),U(xo))},i.\u0275prov=$({token:i,factory:i.\u0275fac,providedIn:"root"}),i})(),pc=(()=>{class i{constructor(e,n){this.router=e,this.location=n}trackLocation(e){return this.router.events.pipe(Oe(n=>n instanceof Wt),Oe(()=>!e.developerMode),ee(n=>({url:n.urlAfterRedirects})),zt(0))}prepareExternalUrl(e){return this.location.prepareExternalUrl(e)}}return i.\u0275fac=function(e){return new(e||i)(U(q),U(ir))},i.\u0275prov=$({token:i,factory:i.\u0275fac,providedIn:"root"}),i})();var uc=(()=>{class i{}return i.\u0275fac=function(e){return new(e||i)},i.\u0275mod=ne({type:i}),i.\u0275inj=te({}),i})(),Io=(()=>{class i{static forRoot(e={}){return{ngModule:i,providers:[{provide:xo,useValue:{settings:e}},{provide:_n,useClass:pc},pi]}}}return i.\u0275fac=function(e){return new(e||i)},i.\u0275mod=ne({type:i}),i.\u0275inj=te({imports:[uc]}),i})();var Ao=(()=>{class i{constructor(e){this.injector=e}handleError(e){console.warn(e),ot.track(e.originalError||e);let n=this.injector.get(pi);n.eventTrack.next({action:"Error",properties:{category:e.code,label:e.message}}),n.exceptionTrack.next({fatal:!0,description:e.message})}static{this.\u0275fac=function(n){return new(n||i)(U(qt))}}static{this.\u0275prov=$({token:i,factory:i.\u0275fac})}}return i})();function Oo(i){return new z(3e3,!1)}function mc(){return new z(3100,!1)}function dc(){return new z(3101,!1)}function hc(i){return new z(3001,!1)}function fc(i){return new z(3003,!1)}function gc(i){return new z(3004,!1)}function yc(i,t){return new z(3005,!1)}function _c(){return new z(3006,!1)}function vc(){return new z(3007,!1)}function bc(i,t){return new z(3008,!1)}function Cc(i){return new z(3002,!1)}function Ec(i,t,e,n,r){return new z(3010,!1)}function kc(){return new z(3011,!1)}function wc(){return new z(3012,!1)}function Sc(){return new z(3200,!1)}function Tc(){return new z(3202,!1)}function Pc(){return new z(3013,!1)}function Mc(i){return new z(3014,!1)}function xc(i){return new z(3015,!1)}function Ic(i){return new z(3016,!1)}function Ac(i,t){return new z(3404,!1)}function Oc(i){return new z(3502,!1)}function Nc(i){return new z(3503,!1)}function Lc(){return new z(3300,!1)}function Rc(i){return new z(3504,!1)}function Dc(i){return new z(3301,!1)}function Fc(i,t){return new z(3302,!1)}function Uc(i){return new z(3303,!1)}function jc(i,t){return new z(3400,!1)}function Vc(i){return new z(3401,!1)}function zc(i){return new z(3402,!1)}function Bc(i,t){return new z(3505,!1)}function nt(i){switch(i.length){case 0:return new yt;case 1:return i[0];default:return new Xn(i)}}function Ko(i,t,e=new Map,n=new Map){let r=[],o=[],l=-1,p=null;if(t.forEach(f=>{let v=f.get("offset"),k=v==l,S=k&&p||new Map;f.forEach((D,_)=>{let A=_,L=D;if(_!=="offset")switch(A=i.normalizePropertyName(A,r),L){case Xt:L=e.get(_);break;case Be:L=n.get(_);break;default:L=i.normalizeStyleValue(_,A,L,r);break}S.set(A,L)}),k||o.push(S),p=S,l=v}),r.length)throw Oc(r);return o}function Ni(i,t,e,n){switch(t){case"start":i.onStart(()=>n(e&&ui(e,"start",i)));break;case"done":i.onDone(()=>n(e&&ui(e,"done",i)));break;case"destroy":i.onDestroy(()=>n(e&&ui(e,"destroy",i)));break}}function ui(i,t,e){let n=e.totalTime,r=!!e.disabled,o=Li(i.element,i.triggerName,i.fromState,i.toState,t||i.phaseName,n??i.totalTime,r),l=i._data;return l!=null&&(o._data=l),o}function Li(i,t,e,n,r="",o=0,l){return{element:i,triggerName:t,fromState:e,toState:n,phaseName:r,totalTime:o,disabled:!!l}}function we(i,t,e){let n=i.get(t);return n||i.set(t,n=e),n}function No(i){let t=i.indexOf(":"),e=i.substring(1,t),n=i.slice(t+1);return[e,n]}var qc=typeof document>"u"?null:document.documentElement;function Ri(i){let t=i.parentNode||i.host||null;return t===qc?null:t}function $c(i){return i.substring(1,6)=="ebkit"}var at=null,Lo=!1;function Hc(i){at||(at=Kc()||{},Lo=at.style?"WebkitAppearance"in at.style:!1);let t=!0;return at.style&&!$c(i)&&(t=i in at.style,!t&&Lo&&(t="Webkit"+i.charAt(0).toUpperCase()+i.slice(1)in at.style)),t}function Kc(){return typeof document<"u"?document.body:null}function Go(i,t){for(;t;){if(t===i)return!0;t=Ri(t)}return!1}function Wo(i,t,e){if(e)return Array.from(i.querySelectorAll(t));let n=i.querySelector(t);return n?[n]:[]}var Di=(()=>{class i{validateStyleProperty(e){return Hc(e)}containsElement(e,n){return Go(e,n)}getParentElement(e){return Ri(e)}query(e,n,r){return Wo(e,n,r)}computeStyle(e,n,r){return r||""}animate(e,n,r,o,l,p=[],f){return new yt(r,o)}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275prov=$({token:i,factory:i.\u0275fac})}}return i})(),pt=class{static{this.NOOP=new Di}},ut=class{};var Gc=1e3,Qo="{{",Wc="}}",Yo="ng-enter",yi="ng-leave",vn="ng-trigger",wn=".ng-trigger",Ro="ng-animating",_i=".ng-animating";function Ke(i){if(typeof i=="number")return i;let t=i.match(/^(-?[\.\d]+)(m?s)/);return!t||t.length<2?0:vi(parseFloat(t[1]),t[2])}function vi(i,t){switch(t){case"s":return i*Gc;default:return i}}function Sn(i,t,e){return i.hasOwnProperty("duration")?i:Qc(i,t,e)}function Qc(i,t,e){let n=/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i,r,o=0,l="";if(typeof i=="string"){let p=i.match(n);if(p===null)return t.push(Oo(i)),{duration:0,delay:0,easing:""};r=vi(parseFloat(p[1]),p[2]);let f=p[3];f!=null&&(o=vi(parseFloat(f),p[4]));let v=p[5];v&&(l=v)}else r=i;if(!e){let p=!1,f=t.length;r<0&&(t.push(mc()),p=!0),o<0&&(t.push(dc()),p=!0),p&&t.splice(f,0,Oo(i))}return{duration:r,delay:o,easing:l}}function Yc(i){return i.length?i[0]instanceof Map?i:i.map(t=>new Map(Object.entries(t))):[]}function $e(i,t,e){t.forEach((n,r)=>{let o=Fi(r);e&&!e.has(r)&&e.set(r,i.style[o]),i.style[o]=n})}function lt(i,t){t.forEach((e,n)=>{let r=Fi(n);i.style[r]=""})}function Ot(i){return Array.isArray(i)?i.length==1?i[0]:Mr(i):i}function Jc(i,t,e){let n=t.params||{},r=Jo(i);r.length&&r.forEach(o=>{n.hasOwnProperty(o)||e.push(hc(o))})}var bi=new RegExp(`${Qo}\\s*(.+?)\\s*${Wc}`,"g");function Jo(i){let t=[];if(typeof i=="string"){let e;for(;e=bi.exec(i);)t.push(e[1]);bi.lastIndex=0}return t}function Lt(i,t,e){let n=`${i}`,r=n.replace(bi,(o,l)=>{let p=t[l];return p==null&&(e.push(fc(l)),p=""),p.toString()});return r==n?i:r}var Xc=/-+([a-z0-9])/g;function Fi(i){return i.replace(Xc,(...t)=>t[1].toUpperCase())}function Zc(i,t){return i===0||t===0}function el(i,t,e){if(e.size&&t.length){let n=t[0],r=[];if(e.forEach((o,l)=>{n.has(l)||r.push(l),n.set(l,o)}),r.length)for(let o=1;ol.set(p,Ui(i,p)))}}return t}function ke(i,t,e){switch(t.type){case j.Trigger:return i.visitTrigger(t,e);case j.State:return i.visitState(t,e);case j.Transition:return i.visitTransition(t,e);case j.Sequence:return i.visitSequence(t,e);case j.Group:return i.visitGroup(t,e);case j.Animate:return i.visitAnimate(t,e);case j.Keyframes:return i.visitKeyframes(t,e);case j.Style:return i.visitStyle(t,e);case j.Reference:return i.visitReference(t,e);case j.AnimateChild:return i.visitAnimateChild(t,e);case j.AnimateRef:return i.visitAnimateRef(t,e);case j.Query:return i.visitQuery(t,e);case j.Stagger:return i.visitStagger(t,e);default:throw gc(t.type)}}function Ui(i,t){return window.getComputedStyle(i)[t]}var tl=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"]),Tn=class extends ut{normalizePropertyName(t,e){return Fi(t)}normalizeStyleValue(t,e,n,r){let o="",l=n.toString().trim();if(tl.has(e)&&n!==0&&n!=="0")if(typeof n=="number")o="px";else{let p=n.match(/^[+-]?[\d\.]+([a-z]*)$/);p&&p[1].length==0&&r.push(yc(t,n))}return l+o}};var Pn="*";function nl(i,t){let e=[];return typeof i=="string"?i.split(/\s*,\s*/).forEach(n=>il(n,e,t)):e.push(i),e}function il(i,t,e){if(i[0]==":"){let f=rl(i,e);if(typeof f=="function"){t.push(f);return}i=f}let n=i.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(n==null||n.length<4)return e.push(xc(i)),t;let r=n[1],o=n[2],l=n[3];t.push(Do(r,l));let p=r==Pn&&l==Pn;o[0]=="<"&&!p&&t.push(Do(l,r))}function rl(i,t){switch(i){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(e,n)=>parseFloat(n)>parseFloat(e);case":decrement":return(e,n)=>parseFloat(n) *"}}var bn=new Set(["true","1"]),Cn=new Set(["false","0"]);function Do(i,t){let e=bn.has(i)||Cn.has(i),n=bn.has(t)||Cn.has(t);return(r,o)=>{let l=i==Pn||i==r,p=t==Pn||t==o;return!l&&e&&typeof r=="boolean"&&(l=r?bn.has(i):Cn.has(i)),!p&&n&&typeof o=="boolean"&&(p=o?bn.has(t):Cn.has(t)),l&&p}}var Xo=":self",ol=new RegExp(`s*${Xo}s*,?`,"g");function Zo(i,t,e,n){return new Ci(i).build(t,e,n)}var Fo="",Ci=class{constructor(t){this._driver=t}build(t,e,n){let r=new Ei(e);return this._resetContextStyleTimingState(r),ke(this,Ot(t),r)}_resetContextStyleTimingState(t){t.currentQuerySelector=Fo,t.collectedStyles=new Map,t.collectedStyles.set(Fo,new Map),t.currentTime=0}visitTrigger(t,e){let n=e.queryCount=0,r=e.depCount=0,o=[],l=[];return t.name.charAt(0)=="@"&&e.errors.push(_c()),t.definitions.forEach(p=>{if(this._resetContextStyleTimingState(e),p.type==j.State){let f=p,v=f.name;v.toString().split(/\s*,\s*/).forEach(k=>{f.name=k,o.push(this.visitState(f,e))}),f.name=v}else if(p.type==j.Transition){let f=this.visitTransition(p,e);n+=f.queryCount,r+=f.depCount,l.push(f)}else e.errors.push(vc())}),{type:j.Trigger,name:t.name,states:o,transitions:l,queryCount:n,depCount:r,options:null}}visitState(t,e){let n=this.visitStyle(t.styles,e),r=t.options&&t.options.params||null;if(n.containsDynamicStyles){let o=new Set,l=r||{};n.styles.forEach(p=>{p instanceof Map&&p.forEach(f=>{Jo(f).forEach(v=>{l.hasOwnProperty(v)||o.add(v)})})}),o.size&&e.errors.push(bc(t.name,[...o.values()]))}return{type:j.State,name:t.name,style:n,options:r?{params:r}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;let n=ke(this,Ot(t.animation),e),r=nl(t.expr,e.errors);return{type:j.Transition,matchers:r,animation:n,queryCount:e.queryCount,depCount:e.depCount,options:ct(t.options)}}visitSequence(t,e){return{type:j.Sequence,steps:t.steps.map(n=>ke(this,n,e)),options:ct(t.options)}}visitGroup(t,e){let n=e.currentTime,r=0,o=t.steps.map(l=>{e.currentTime=n;let p=ke(this,l,e);return r=Math.max(r,e.currentTime),p});return e.currentTime=r,{type:j.Group,steps:o,options:ct(t.options)}}visitAnimate(t,e){let n=ll(t.timings,e.errors);e.currentAnimateTimings=n;let r,o=t.styles?t.styles:Jn({});if(o.type==j.Keyframes)r=this.visitKeyframes(o,e);else{let l=t.styles,p=!1;if(!l){p=!0;let v={};n.easing&&(v.easing=n.easing),l=Jn(v)}e.currentTime+=n.duration+n.delay;let f=this.visitStyle(l,e);f.isEmptyStep=p,r=f}return e.currentAnimateTimings=null,{type:j.Animate,timings:n,style:r,options:null}}visitStyle(t,e){let n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n}_makeStyleAst(t,e){let n=[],r=Array.isArray(t.styles)?t.styles:[t.styles];for(let p of r)typeof p=="string"?p===Be?n.push(p):e.errors.push(Cc(p)):n.push(new Map(Object.entries(p)));let o=!1,l=null;return n.forEach(p=>{if(p instanceof Map&&(p.has("easing")&&(l=p.get("easing"),p.delete("easing")),!o)){for(let f of p.values())if(f.toString().indexOf(Qo)>=0){o=!0;break}}}),{type:j.Style,styles:n,easing:l,offset:t.offset,containsDynamicStyles:o,options:null}}_validateStyleAst(t,e){let n=e.currentAnimateTimings,r=e.currentTime,o=e.currentTime;n&&o>0&&(o-=n.duration+n.delay),t.styles.forEach(l=>{typeof l!="string"&&l.forEach((p,f)=>{let v=e.collectedStyles.get(e.currentQuerySelector),k=v.get(f),S=!0;k&&(o!=r&&o>=k.startTime&&r<=k.endTime&&(e.errors.push(Ec(f,k.startTime,k.endTime,o,r)),S=!1),o=k.startTime),S&&v.set(f,{startTime:o,endTime:r}),e.options&&Jc(p,e.options,e.errors)})})}visitKeyframes(t,e){let n={type:j.Keyframes,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push(kc()),n;let r=1,o=0,l=[],p=!1,f=!1,v=0,k=t.steps.map(a=>{let u=this._makeStyleAst(a,e),c=u.offset!=null?u.offset:cl(u.styles),m=0;return c!=null&&(o++,m=u.offset=c),f=f||m<0||m>1,p=p||m0&&o{let c=D>0?u==_?1:D*u:l[u],m=c*K;e.currentTime=A+L.delay+m,L.duration=m,this._validateStyleAst(a,e),a.offset=c,n.styles.push(a)}),n}visitReference(t,e){return{type:j.Reference,animation:ke(this,Ot(t.animation),e),options:ct(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:j.AnimateChild,options:ct(t.options)}}visitAnimateRef(t,e){return{type:j.AnimateRef,animation:this.visitReference(t.animation,e),options:ct(t.options)}}visitQuery(t,e){let n=e.currentQuerySelector,r=t.options||{};e.queryCount++,e.currentQuery=t;let[o,l]=sl(t.selector);e.currentQuerySelector=n.length?n+" "+o:o,we(e.collectedStyles,e.currentQuerySelector,new Map);let p=ke(this,Ot(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:j.Query,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:l,animation:p,originalSelector:t.selector,options:ct(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push(Pc());let n=t.timings==="full"?{duration:0,delay:0,easing:"full"}:Sn(t.timings,e.errors,!0);return{type:j.Stagger,animation:ke(this,Ot(t.animation),e),timings:n,options:null}}};function sl(i){let t=!!i.split(/\s*,\s*/).find(e=>e==Xo);return t&&(i=i.replace(ol,"")),i=i.replace(/@\*/g,wn).replace(/@\w+/g,e=>wn+"-"+e.slice(1)).replace(/:animating/g,_i),[i,t]}function al(i){return i?be({},i):null}var Ei=class{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 cl(i){if(typeof i=="string")return null;let t=null;if(Array.isArray(i))i.forEach(e=>{if(e instanceof Map&&e.has("offset")){let n=e;t=parseFloat(n.get("offset")),n.delete("offset")}});else if(i instanceof Map&&i.has("offset")){let e=i;t=parseFloat(e.get("offset")),e.delete("offset")}return t}function ll(i,t){if(i.hasOwnProperty("duration"))return i;if(typeof i=="number"){let o=Sn(i,t).duration;return mi(o,0,"")}let e=i;if(e.split(/\s+/).some(o=>o.charAt(0)=="{"&&o.charAt(1)=="{")){let o=mi(0,0,"");return o.dynamic=!0,o.strValue=e,o}let r=Sn(e,t);return mi(r.duration,r.delay,r.easing)}function ct(i){return i?(i=be({},i),i.params&&(i.params=al(i.params))):i={},i}function mi(i,t,e){return{duration:i,delay:t,easing:e}}function ji(i,t,e,n,r,o,l=null,p=!1){return{type:1,element:i,keyframes:t,preStyleProps:e,postStyleProps:n,duration:r,delay:o,totalTime:r+o,easing:l,subTimeline:p}}var Rt=class{constructor(){this._map=new Map}get(t){return this._map.get(t)||[]}append(t,e){let n=this._map.get(t);n||this._map.set(t,n=[]),n.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}},pl=1,ul=":enter",ml=new RegExp(ul,"g"),dl=":leave",hl=new RegExp(dl,"g");function es(i,t,e,n,r,o=new Map,l=new Map,p,f,v=[]){return new ki().buildKeyframes(i,t,e,n,r,o,l,p,f,v)}var ki=class{buildKeyframes(t,e,n,r,o,l,p,f,v,k=[]){v=v||new Rt;let S=new wi(t,e,v,r,o,k,[]);S.options=f;let D=f.delay?Ke(f.delay):0;S.currentTimeline.delayNextStep(D),S.currentTimeline.setStyles([l],null,S.errors,f),ke(this,n,S);let _=S.timelines.filter(A=>A.containsAnimation());if(_.length&&p.size){let A;for(let L=_.length-1;L>=0;L--){let K=_[L];if(K.element===e){A=K;break}}A&&!A.allowOnlyTimelineStyles()&&A.setStyles([p],null,S.errors,f)}return _.length?_.map(A=>A.buildKeyframes()):[ji(e,[],[],[],0,D,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){let n=e.subInstructions.get(e.element);if(n){let r=e.createSubContext(t.options),o=e.currentTimeline.currentTime,l=this._visitSubInstructions(n,r,r.options);o!=l&&e.transformIntoNewTimeline(l)}e.previousNode=t}visitAnimateRef(t,e){let n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this._applyAnimationRefDelays([t.options,t.animation.options],e,n),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t}_applyAnimationRefDelays(t,e,n){for(let r of t){let o=r?.delay;if(o){let l=typeof o=="number"?o:Ke(Lt(o,r?.params??{},e.errors));n.delayNextStep(l)}}}_visitSubInstructions(t,e,n){let o=e.currentTimeline.currentTime,l=n.duration!=null?Ke(n.duration):null,p=n.delay!=null?Ke(n.delay):null;return l!==0&&t.forEach(f=>{let v=e.appendInstructionToTimeline(f,l,p);o=Math.max(o,v.duration+v.delay)}),o}visitReference(t,e){e.updateOptions(t.options,!0),ke(this,t.animation,e),e.previousNode=t}visitSequence(t,e){let n=e.subContextCount,r=e,o=t.options;if(o&&(o.params||o.delay)&&(r=e.createSubContext(o),r.transformIntoNewTimeline(),o.delay!=null)){r.previousNode.type==j.Style&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=Mn);let l=Ke(o.delay);r.delayNextStep(l)}t.steps.length&&(t.steps.forEach(l=>ke(this,l,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>n&&r.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){let n=[],r=e.currentTimeline.currentTime,o=t.options&&t.options.delay?Ke(t.options.delay):0;t.steps.forEach(l=>{let p=e.createSubContext(t.options);o&&p.delayNextStep(o),ke(this,l,p),r=Math.max(r,p.currentTimeline.currentTime),n.push(p.currentTimeline)}),n.forEach(l=>e.currentTimeline.mergeTimelineCollectedStyles(l)),e.transformIntoNewTimeline(r),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){let n=t.strValue,r=e.params?Lt(n,e.params,e.errors):n;return Sn(r,e.errors)}else return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){let n=e.currentAnimateTimings=this._visitTiming(t.timings,e),r=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),r.snapshotCurrentStyles());let o=t.style;o.type==j.Keyframes?this.visitKeyframes(o,e):(e.incrementTime(n.duration),this.visitStyle(o,e),r.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){let n=e.currentTimeline,r=e.currentAnimateTimings;!r&&n.hasCurrentStyleProperties()&&n.forwardFrame();let o=r&&r.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(o):n.setStyles(t.styles,o,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){let n=e.currentAnimateTimings,r=e.currentTimeline.duration,o=n.duration,p=e.createSubContext().currentTimeline;p.easing=n.easing,t.styles.forEach(f=>{let v=f.offset||0;p.forwardTime(v*o),p.setStyles(f.styles,f.easing,e.errors,e.options),p.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(p),e.transformIntoNewTimeline(r+o),e.previousNode=t}visitQuery(t,e){let n=e.currentTimeline.currentTime,r=t.options||{},o=r.delay?Ke(r.delay):0;o&&(e.previousNode.type===j.Style||n==0&&e.currentTimeline.hasCurrentStyleProperties())&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=Mn);let l=n,p=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!r.optional,e.errors);e.currentQueryTotal=p.length;let f=null;p.forEach((v,k)=>{e.currentQueryIndex=k;let S=e.createSubContext(t.options,v);o&&S.delayNextStep(o),v===e.element&&(f=S.currentTimeline),ke(this,t.animation,S),S.currentTimeline.applyStylesToKeyframe();let D=S.currentTimeline.currentTime;l=Math.max(l,D)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(l),f&&(e.currentTimeline.mergeTimelineCollectedStyles(f),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){let n=e.parentContext,r=e.currentTimeline,o=t.timings,l=Math.abs(o.duration),p=l*(e.currentQueryTotal-1),f=l*e.currentQueryIndex;switch(o.duration<0?"reverse":o.easing){case"reverse":f=p-f;break;case"full":f=n.currentStaggerTime;break}let k=e.currentTimeline;f&&k.delayNextStep(f);let S=k.currentTime;ke(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=r.currentTime-S+(r.startTime-n.currentTimeline.startTime)}},Mn={},wi=class i{constructor(t,e,n,r,o,l,p,f){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=r,this._leaveClassName=o,this.errors=l,this.timelines=p,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Mn,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=f||new xn(this._driver,e,0),p.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;let n=t,r=this.options;n.duration!=null&&(r.duration=Ke(n.duration)),n.delay!=null&&(r.delay=Ke(n.delay));let o=n.params;if(o){let l=r.params;l||(l=this.options.params={}),Object.keys(o).forEach(p=>{(!e||!l.hasOwnProperty(p))&&(l[p]=Lt(o[p],l,this.errors))})}}_copyOptions(){let t={};if(this.options){let e=this.options.params;if(e){let n=t.params={};Object.keys(e).forEach(r=>{n[r]=e[r]})}}return t}createSubContext(t=null,e,n){let r=e||this.element,o=new i(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,n||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(t),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}transformIntoNewTimeline(t){return this.previousNode=Mn,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,n){let r={duration:e??t.duration,delay:this.currentTimeline.currentTime+(n??0)+t.delay,easing:""},o=new Si(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,r,t.stretchStartingKeyframe);return this.timelines.push(o),r}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,n,r,o,l){let p=[];if(r&&p.push(this.element),t.length>0){t=t.replace(ml,"."+this._enterClassName),t=t.replace(hl,"."+this._leaveClassName);let f=n!=1,v=this._driver.query(this.element,t,f);n!==0&&(v=n<0?v.slice(v.length+n,v.length):v.slice(0,n)),p.push(...v)}return!o&&p.length==0&&l.push(Mc(e)),p}},xn=class i{constructor(t,e,n,r){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=r,this.duration=0,this.easing=null,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(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,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){let e=this._keyframes.size===1&&this._pendingStyles.size;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new i(this._driver,t,e||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+=pl,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles.set(t,e),this._globalTimelineStyles.set(t,e),this._styleSummary.set(t,{time:this.currentTime,value:e})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&this._previousKeyframe.set("easing",t);for(let[e,n]of this._globalTimelineStyles)this._backFill.set(e,n||Be),this._currentKeyframe.set(e,Be);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,n,r){e&&this._previousKeyframe.set("easing",e);let o=r&&r.params||{},l=fl(t,this._globalTimelineStyles);for(let[p,f]of l){let v=Lt(f,o,n);this._pendingStyles.set(p,v),this._localTimelineStyles.has(p)||this._backFill.set(p,this._globalTimelineStyles.get(p)??Be),this._updateStyle(p,v)}}applyStylesToKeyframe(){this._pendingStyles.size!=0&&(this._pendingStyles.forEach((t,e)=>{this._currentKeyframe.set(e,t)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((t,e)=>{this._currentKeyframe.has(e)||this._currentKeyframe.set(e,t)}))}snapshotCurrentStyles(){for(let[t,e]of this._localTimelineStyles)this._pendingStyles.set(t,e),this._updateStyle(t,e)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){let t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){t._styleSummary.forEach((e,n)=>{let r=this._styleSummary.get(n);(!r||e.time>r.time)&&this._updateStyle(n,e.value)})}buildKeyframes(){this.applyStylesToKeyframe();let t=new Set,e=new Set,n=this._keyframes.size===1&&this.duration===0,r=[];this._keyframes.forEach((p,f)=>{let v=new Map([...this._backFill,...p]);v.forEach((k,S)=>{k===Xt?t.add(S):k===Be&&e.add(S)}),n||v.set("offset",f/this.duration),r.push(v)});let o=[...t.values()],l=[...e.values()];if(n){let p=r[0],f=new Map(p);p.set("offset",0),f.set("offset",1),r=[p,f]}return ji(this.element,r,o,l,this.duration,this.startTime,this.easing,!1)}},Si=class extends xn{constructor(t,e,n,r,o,l,p=!1){super(t,e,l.delay),this.keyframes=n,this.preStyleProps=r,this.postStyleProps=o,this._stretchStartingKeyframe=p,this.timings={duration:l.duration,delay:l.delay,easing:l.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:n,easing:r}=this.timings;if(this._stretchStartingKeyframe&&e){let o=[],l=n+e,p=e/l,f=new Map(t[0]);f.set("offset",0),o.push(f);let v=new Map(t[0]);v.set("offset",Uo(p)),o.push(v);let k=t.length-1;for(let S=1;S<=k;S++){let D=new Map(t[S]),_=D.get("offset"),A=e+_*n;D.set("offset",Uo(A/l)),o.push(D)}n=l,e=0,r="",t=o}return ji(this.element,t,this.preStyleProps,this.postStyleProps,n,e,r,!0)}};function Uo(i,t=3){let e=Math.pow(10,t-1);return Math.round(i*e)/e}function fl(i,t){let e=new Map,n;return i.forEach(r=>{if(r==="*"){n??=t.keys();for(let o of n)e.set(o,Be)}else for(let[o,l]of r)e.set(o,l)}),e}function jo(i,t,e,n,r,o,l,p,f,v,k,S,D){return{type:0,element:i,triggerName:t,isRemovalTransition:r,fromState:e,fromStyles:o,toState:n,toStyles:l,timelines:p,queriedElements:f,preStyleProps:v,postStyleProps:k,totalTime:S,errors:D}}var di={},In=class{constructor(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}match(t,e,n,r){return gl(this.ast.matchers,t,e,n,r)}buildStyles(t,e,n){let r=this._stateStyles.get("*");return t!==void 0&&(r=this._stateStyles.get(t?.toString())||r),r?r.buildStyles(e,n):new Map}build(t,e,n,r,o,l,p,f,v,k){let S=[],D=this.ast.options&&this.ast.options.params||di,_=p&&p.params||di,A=this.buildStyles(n,_,S),L=f&&f.params||di,K=this.buildStyles(r,L,S),a=new Set,u=new Map,c=new Map,m=r==="void",b={params:ts(L,D),delay:this.ast.options?.delay},E=k?[]:es(t,e,this.ast.animation,o,l,A,K,b,v,S),T=0;return E.forEach(I=>{T=Math.max(I.duration+I.delay,T)}),S.length?jo(e,this._triggerName,n,r,m,A,K,[],[],u,c,T,S):(E.forEach(I=>{let W=I.element,le=we(u,W,new Set);I.preStyleProps.forEach(G=>le.add(G));let Fe=we(c,W,new Set);I.postStyleProps.forEach(G=>Fe.add(G)),W!==e&&a.add(W)}),jo(e,this._triggerName,n,r,m,A,K,E,[...a.values()],u,c,T))}};function gl(i,t,e,n,r){return i.some(o=>o(t,e,n,r))}function ts(i,t){let e=be({},t);return Object.entries(i).forEach(([n,r])=>{r!=null&&(e[n]=r)}),e}var Ti=class{constructor(t,e,n){this.styles=t,this.defaultParams=e,this.normalizer=n}buildStyles(t,e){let n=new Map,r=ts(t,this.defaultParams);return this.styles.styles.forEach(o=>{typeof o!="string"&&o.forEach((l,p)=>{l&&(l=Lt(l,r,e));let f=this.normalizer.normalizePropertyName(p,e);l=this.normalizer.normalizeStyleValue(p,f,l,e),n.set(p,l)})}),n}};function yl(i,t,e){return new Pi(i,t,e)}var Pi=class{constructor(t,e,n){this.name=t,this.ast=e,this._normalizer=n,this.transitionFactories=[],this.states=new Map,e.states.forEach(r=>{let o=r.options&&r.options.params||{};this.states.set(r.name,new Ti(r.style,o,n))}),Vo(this.states,"true","1"),Vo(this.states,"false","0"),e.transitions.forEach(r=>{this.transitionFactories.push(new In(t,r,this.states))}),this.fallbackTransition=_l(t,this.states,this._normalizer)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,n,r){return this.transitionFactories.find(l=>l.match(t,e,n,r))||null}matchStyles(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)}};function _l(i,t,e){let n=[(l,p)=>!0],r={type:j.Sequence,steps:[],options:null},o={type:j.Transition,animation:r,matchers:n,options:null,queryCount:0,depCount:0};return new In(i,o,t)}function Vo(i,t,e){i.has(t)?i.has(e)||i.set(e,i.get(t)):i.has(e)&&i.set(t,i.get(e))}var vl=new Rt,Mi=class{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._animations=new Map,this._playersById=new Map,this.players=[]}register(t,e){let n=[],r=[],o=Zo(this._driver,e,n,r);if(n.length)throw Nc(n);r.length&&void 0,this._animations.set(t,o)}_buildPlayer(t,e,n){let r=t.element,o=Ko(this._normalizer,t.keyframes,e,n);return this._driver.animate(r,o,t.duration,t.delay,t.easing,[],!0)}create(t,e,n={}){let r=[],o=this._animations.get(t),l,p=new Map;if(o?(l=es(this._driver,e,o,Yo,yi,new Map,new Map,n,vl,r),l.forEach(k=>{let S=we(p,k.element,new Map);k.postStyleProps.forEach(D=>S.set(D,null))})):(r.push(Lc()),l=[]),r.length)throw Rc(r);p.forEach((k,S)=>{k.forEach((D,_)=>{k.set(_,this._driver.computeStyle(S,_,Be))})});let f=l.map(k=>{let S=p.get(k.element);return this._buildPlayer(k,new Map,S)}),v=nt(f);return this._playersById.set(t,v),v.onDestroy(()=>this.destroy(t)),this.players.push(v),v}destroy(t){let e=this._getPlayer(t);e.destroy(),this._playersById.delete(t);let n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)}_getPlayer(t){let e=this._playersById.get(t);if(!e)throw Dc(t);return e}listen(t,e,n,r){let o=Li(e,"","","");return Ni(this._getPlayer(t),n,o,r),()=>{}}command(t,e,n,r){if(n=="register"){this.register(t,r[0]);return}if(n=="create"){let l=r[0]||{};this.create(t,e,l);return}let o=this._getPlayer(t);switch(n){case"play":o.play();break;case"pause":o.pause();break;case"reset":o.reset();break;case"restart":o.restart();break;case"finish":o.finish();break;case"init":o.init();break;case"setPosition":o.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(t);break}}},zo="ng-animate-queued",bl=".ng-animate-queued",hi="ng-animate-disabled",Cl=".ng-animate-disabled",El="ng-star-inserted",kl=".ng-star-inserted",wl=[],ns={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Sl={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},De="__ng_removed",Dt=class{get params(){return this.options.params}constructor(t,e=""){this.namespaceId=e;let n=t&&t.hasOwnProperty("value"),r=n?t.value:t;if(this.value=Pl(r),n){let o=t,{value:l}=o,p=qi(o,["value"]);this.options=p}else this.options={};this.options.params||(this.options.params={})}absorbOptions(t){let e=t.params;if(e){let n=this.options.params;Object.keys(e).forEach(r=>{n[r]==null&&(n[r]=e[r])})}}},Nt="void",fi=new Dt(Nt),xi=class{constructor(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,Ie(e,this._hostClassName)}listen(t,e,n,r){if(!this._triggers.has(e))throw Fc(n,e);if(n==null||n.length==0)throw Uc(e);if(!Ml(n))throw jc(n,e);let o=we(this._elementListeners,t,[]),l={name:e,phase:n,callback:r};o.push(l);let p=we(this._engine.statesByElement,t,new Map);return p.has(e)||(Ie(t,vn),Ie(t,vn+"-"+e),p.set(e,fi)),()=>{this._engine.afterFlush(()=>{let f=o.indexOf(l);f>=0&&o.splice(f,1),this._triggers.has(e)||p.delete(e)})}}register(t,e){return this._triggers.has(t)?!1:(this._triggers.set(t,e),!0)}_getTrigger(t){let e=this._triggers.get(t);if(!e)throw Vc(t);return e}trigger(t,e,n,r=!0){let o=this._getTrigger(e),l=new Ft(this.id,e,t),p=this._engine.statesByElement.get(t);p||(Ie(t,vn),Ie(t,vn+"-"+e),this._engine.statesByElement.set(t,p=new Map));let f=p.get(e),v=new Dt(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&f&&v.absorbOptions(f.options),p.set(e,v),f||(f=fi),!(v.value===Nt)&&f.value===v.value){if(!Al(f.params,v.params)){let L=[],K=o.matchStyles(f.value,f.params,L),a=o.matchStyles(v.value,v.params,L);L.length?this._engine.reportError(L):this._engine.afterFlush(()=>{lt(t,K),$e(t,a)})}return}let D=we(this._engine.playersByElement,t,[]);D.forEach(L=>{L.namespaceId==this.id&&L.triggerName==e&&L.queued&&L.destroy()});let _=o.matchTransition(f.value,v.value,t,v.params),A=!1;if(!_){if(!r)return;_=o.fallbackTransition,A=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:_,fromState:f,toState:v,player:l,isFallbackTransition:A}),A||(Ie(t,zo),l.onStart(()=>{Et(t,zo)})),l.onDone(()=>{let L=this.players.indexOf(l);L>=0&&this.players.splice(L,1);let K=this._engine.playersByElement.get(t);if(K){let a=K.indexOf(l);a>=0&&K.splice(a,1)}}),this.players.push(l),D.push(l),l}deregister(t){this._triggers.delete(t),this._engine.statesByElement.forEach(e=>e.delete(t)),this._elementListeners.forEach((e,n)=>{this._elementListeners.set(n,e.filter(r=>r.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);let e=this._engine.playersByElement.get(t);e&&(e.forEach(n=>n.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e){let n=this._engine.driver.query(t,wn,!0);n.forEach(r=>{if(r[De])return;let o=this._engine.fetchNamespacesByElement(r);o.size?o.forEach(l=>l.triggerLeaveAnimation(r,e,!1,!0)):this.clearElementCache(r)}),this._engine.afterFlushAnimationsDone(()=>n.forEach(r=>this.clearElementCache(r)))}triggerLeaveAnimation(t,e,n,r){let o=this._engine.statesByElement.get(t),l=new Map;if(o){let p=[];if(o.forEach((f,v)=>{if(l.set(v,f.value),this._triggers.has(v)){let k=this.trigger(t,v,Nt,r);k&&p.push(k)}}),p.length)return this._engine.markElementAsRemoved(this.id,t,!0,e,l),n&&nt(p).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){let e=this._elementListeners.get(t),n=this._engine.statesByElement.get(t);if(e&&n){let r=new Set;e.forEach(o=>{let l=o.name;if(r.has(l))return;r.add(l);let f=this._triggers.get(l).fallbackTransition,v=n.get(l)||fi,k=new Dt(Nt),S=new Ft(this.id,l,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:l,transition:f,fromState:v,toState:k,player:S,isFallbackTransition:!0})})}}removeNode(t,e){let n=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e),this.triggerLeaveAnimation(t,e,!0))return;let r=!1;if(n.totalAnimations){let o=n.players.length?n.playersByQueriedElement.get(t):[];if(o&&o.length)r=!0;else{let l=t;for(;l=l.parentNode;)if(n.statesByElement.get(l)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(t),r)n.markElementAsRemoved(this.id,t,!1,e);else{let o=t[De];(!o||o===ns)&&(n.afterFlush(()=>this.clearElementCache(t)),n.destroyInnerAnimations(t),n._onRemovalComplete(t,e))}}insertNode(t,e){Ie(t,this._hostClassName)}drainQueuedTransitions(t){let e=[];return this._queue.forEach(n=>{let r=n.player;if(r.destroyed)return;let o=n.element,l=this._elementListeners.get(o);l&&l.forEach(p=>{if(p.name==n.triggerName){let f=Li(o,n.triggerName,n.fromState.value,n.toState.value);f._data=t,Ni(n.player,p.phase,f,p.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):e.push(n)}),this._queue=[],e.sort((n,r)=>{let o=n.transition.ast.depCount,l=r.transition.ast.depCount;return o==0||l==0?o-l:this._engine.driver.containsElement(n.element,r.element)?1:-1})}destroy(t){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}},Ii=class{_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}constructor(t,e,n){this.bodyNode=t,this.driver=e,this._normalizer=n,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=(r,o)=>{}}get queuedPlayers(){let t=[];return this._namespaceList.forEach(e=>{e.players.forEach(n=>{n.queued&&t.push(n)})}),t}createNamespace(t,e){let n=new xi(t,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(n,e):(this.newHostElements.set(e,n),this.collectEnterElement(e)),this._namespaceLookup[t]=n}_balanceNamespaceList(t,e){let n=this._namespaceList,r=this.namespacesByHostElement;if(n.length-1>=0){let l=!1,p=this.driver.getParentElement(e);for(;p;){let f=r.get(p);if(f){let v=n.indexOf(f);n.splice(v+1,0,t),l=!0;break}p=this.driver.getParentElement(p)}l||n.unshift(t)}else n.push(t);return r.set(e,t),t}register(t,e){let n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n}registerTrigger(t,e,n){let r=this._namespaceLookup[t];r&&r.register(e,n)&&this.totalAnimations++}destroy(t,e){t&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{let n=this._fetchNamespace(t);this.namespacesByHostElement.delete(n.hostElement);let r=this._namespaceList.indexOf(n);r>=0&&this._namespaceList.splice(r,1),n.destroy(e),delete this._namespaceLookup[t]}))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){let e=new Set,n=this.statesByElement.get(t);if(n){for(let r of n.values())if(r.namespaceId){let o=this._fetchNamespace(r.namespaceId);o&&e.add(o)}}return e}trigger(t,e,n,r){if(En(e)){let o=this._fetchNamespace(t);if(o)return o.trigger(e,n,r),!0}return!1}insertNode(t,e,n,r){if(!En(e))return;let o=e[De];if(o&&o.setForRemoval){o.setForRemoval=!1,o.setForMove=!0;let l=this.collectedLeaveElements.indexOf(e);l>=0&&this.collectedLeaveElements.splice(l,1)}if(t){let l=this._fetchNamespace(t);l&&l.insertNode(e,n)}r&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),Ie(t,hi)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),Et(t,hi))}removeNode(t,e,n){if(En(e)){let r=t?this._fetchNamespace(t):null;r?r.removeNode(e,n):this.markElementAsRemoved(t,e,!1,n);let o=this.namespacesByHostElement.get(e);o&&o.id!==t&&o.removeNode(e,n)}else this._onRemovalComplete(e,n)}markElementAsRemoved(t,e,n,r,o){this.collectedLeaveElements.push(e),e[De]={namespaceId:t,setForRemoval:r,hasAnimation:n,removedBeforeQueried:!1,previousTriggersValues:o}}listen(t,e,n,r,o){return En(e)?this._fetchNamespace(t).listen(e,n,r,o):()=>{}}_buildInstruction(t,e,n,r,o){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,r,t.fromState.options,t.toState.options,e,o)}destroyInnerAnimations(t){let e=this.driver.query(t,wn,!0);e.forEach(n=>this.destroyActiveAnimationsForElement(n)),this.playersByQueriedElement.size!=0&&(e=this.driver.query(t,_i,!0),e.forEach(n=>this.finishActiveQueriedAnimationOnElement(n)))}destroyActiveAnimationsForElement(t){let e=this.playersByElement.get(t);e&&e.forEach(n=>{n.queued?n.markedForDestroy=!0:n.destroy()})}finishActiveQueriedAnimationOnElement(t){let e=this.playersByQueriedElement.get(t);e&&e.forEach(n=>n.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return nt(this.players).onDone(()=>t());t()})}processLeaveNode(t){let e=t[De];if(e&&e.setForRemoval){if(t[De]=ns,e.namespaceId){this.destroyInnerAnimations(t);let n=this._fetchNamespace(e.namespaceId);n&&n.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}t.classList?.contains(hi)&&this.markElementAsDisabled(t,!1),this.driver.query(t,Cl,!0).forEach(n=>{this.markElementAsDisabled(n,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((n,r)=>this._balanceNamespaceList(n,r)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;nn()),this._flushFns=[],this._whenQuietFns.length){let n=this._whenQuietFns;this._whenQuietFns=[],e.length?nt(e).onDone(()=>{n.forEach(r=>r())}):n.forEach(r=>r())}}reportError(t){throw zc(t)}_flushAnimations(t,e){let n=new Rt,r=[],o=new Map,l=[],p=new Map,f=new Map,v=new Map,k=new Set;this.disabledNodes.forEach(P=>{k.add(P);let O=this.driver.query(P,bl,!0);for(let N=0;N{let N=Yo+L++;A.set(O,N),P.forEach(V=>Ie(V,N))});let K=[],a=new Set,u=new Set;for(let P=0;Pa.add(V)):u.add(O))}let c=new Map,m=$o(D,Array.from(a));m.forEach((P,O)=>{let N=yi+L++;c.set(O,N),P.forEach(V=>Ie(V,N))}),t.push(()=>{_.forEach((P,O)=>{let N=A.get(O);P.forEach(V=>Et(V,N))}),m.forEach((P,O)=>{let N=c.get(O);P.forEach(V=>Et(V,N))}),K.forEach(P=>{this.processLeaveNode(P)})});let b=[],E=[];for(let P=this._namespaceList.length-1;P>=0;P--)this._namespaceList[P].drainQueuedTransitions(e).forEach(N=>{let V=N.player,re=N.element;if(b.push(V),this.collectedEnterElements.length){let me=re[De];if(me&&me.setForMove){if(me.previousTriggersValues&&me.previousTriggersValues.has(N.triggerName)){let it=me.previousTriggersValues.get(N.triggerName),Se=this.statesByElement.get(N.element);if(Se&&Se.has(N.triggerName)){let Ut=Se.get(N.triggerName);Ut.value=it,Se.set(N.triggerName,Ut)}}V.destroy();return}}let Ue=!S||!this.driver.containsElement(S,re),ve=c.get(re),Ge=A.get(re),X=this._buildInstruction(N,n,Ge,ve,Ue);if(X.errors&&X.errors.length){E.push(X);return}if(Ue){V.onStart(()=>lt(re,X.fromStyles)),V.onDestroy(()=>$e(re,X.toStyles)),r.push(V);return}if(N.isFallbackTransition){V.onStart(()=>lt(re,X.fromStyles)),V.onDestroy(()=>$e(re,X.toStyles)),r.push(V);return}let Bi=[];X.timelines.forEach(me=>{me.stretchStartingKeyframe=!0,this.disabledNodes.has(me.element)||Bi.push(me)}),X.timelines=Bi,n.append(re,X.timelines);let cs={instruction:X,player:V,element:re};l.push(cs),X.queriedElements.forEach(me=>we(p,me,[]).push(V)),X.preStyleProps.forEach((me,it)=>{if(me.size){let Se=f.get(it);Se||f.set(it,Se=new Set),me.forEach((Ut,Rn)=>Se.add(Rn))}}),X.postStyleProps.forEach((me,it)=>{let Se=v.get(it);Se||v.set(it,Se=new Set),me.forEach((Ut,Rn)=>Se.add(Rn))})});if(E.length){let P=[];E.forEach(O=>{P.push(Bc(O.triggerName,O.errors))}),b.forEach(O=>O.destroy()),this.reportError(P)}let T=new Map,I=new Map;l.forEach(P=>{let O=P.element;n.has(O)&&(I.set(O,O),this._beforeAnimationBuild(P.player.namespaceId,P.instruction,T))}),r.forEach(P=>{let O=P.element;this._getPreviousPlayers(O,!1,P.namespaceId,P.triggerName,null).forEach(V=>{we(T,O,[]).push(V),V.destroy()})});let W=K.filter(P=>Ho(P,f,v)),le=new Map;qo(le,this.driver,u,v,Be).forEach(P=>{Ho(P,f,v)&&W.push(P)});let G=new Map;_.forEach((P,O)=>{qo(G,this.driver,new Set(P),f,Xt)}),W.forEach(P=>{let O=le.get(P),N=G.get(P);le.set(P,new Map([...O?.entries()??[],...N?.entries()??[]]))});let ie=[],wt=[],zi={};l.forEach(P=>{let{element:O,player:N,instruction:V}=P;if(n.has(O)){if(k.has(O)){N.onDestroy(()=>$e(O,V.toStyles)),N.disabled=!0,N.overrideTotalTime(V.totalTime),r.push(N);return}let re=zi;if(I.size>1){let ve=O,Ge=[];for(;ve=ve.parentNode;){let X=I.get(ve);if(X){re=X;break}Ge.push(ve)}Ge.forEach(X=>I.set(X,re))}let Ue=this._buildAnimation(N.namespaceId,V,T,o,G,le);if(N.setRealPlayer(Ue),re===zi)ie.push(N);else{let ve=this.playersByElement.get(re);ve&&ve.length&&(N.parentPlayer=nt(ve)),r.push(N)}}else lt(O,V.fromStyles),N.onDestroy(()=>$e(O,V.toStyles)),wt.push(N),k.has(O)&&r.push(N)}),wt.forEach(P=>{let O=o.get(P.element);if(O&&O.length){let N=nt(O);P.setRealPlayer(N)}}),r.forEach(P=>{P.parentPlayer?P.syncPlayerEvents(P.parentPlayer):P.destroy()});for(let P=0;P!Ue.destroyed);re.length?xl(this,O,re):this.processLeaveNode(O)}return K.length=0,ie.forEach(P=>{this.players.push(P),P.onDone(()=>{P.destroy();let O=this.players.indexOf(P);this.players.splice(O,1)}),P.play()}),ie}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,n,r,o){let l=[];if(e){let p=this.playersByQueriedElement.get(t);p&&(l=p)}else{let p=this.playersByElement.get(t);if(p){let f=!o||o==Nt;p.forEach(v=>{v.queued||!f&&v.triggerName!=r||l.push(v)})}}return(n||r)&&(l=l.filter(p=>!(n&&n!=p.namespaceId||r&&r!=p.triggerName))),l}_beforeAnimationBuild(t,e,n){let r=e.triggerName,o=e.element,l=e.isRemovalTransition?void 0:t,p=e.isRemovalTransition?void 0:r;for(let f of e.timelines){let v=f.element,k=v!==o,S=we(n,v,[]);this._getPreviousPlayers(v,k,l,p,e.toState).forEach(_=>{let A=_.getRealPlayer();A.beforeDestroy&&A.beforeDestroy(),_.destroy(),S.push(_)})}lt(o,e.fromStyles)}_buildAnimation(t,e,n,r,o,l){let p=e.triggerName,f=e.element,v=[],k=new Set,S=new Set,D=e.timelines.map(A=>{let L=A.element;k.add(L);let K=L[De];if(K&&K.removedBeforeQueried)return new yt(A.duration,A.delay);let a=L!==f,u=Il((n.get(L)||wl).map(T=>T.getRealPlayer())).filter(T=>{let I=T;return I.element?I.element===L:!1}),c=o.get(L),m=l.get(L),b=Ko(this._normalizer,A.keyframes,c,m),E=this._buildPlayer(A,b,u);if(A.subTimeline&&r&&S.add(L),a){let T=new Ft(t,p,L);T.setRealPlayer(E),v.push(T)}return E});v.forEach(A=>{we(this.playersByQueriedElement,A.element,[]).push(A),A.onDone(()=>Tl(this.playersByQueriedElement,A.element,A))}),k.forEach(A=>Ie(A,Ro));let _=nt(D);return _.onDestroy(()=>{k.forEach(A=>Et(A,Ro)),$e(f,e.toStyles)}),S.forEach(A=>{we(r,A,[]).push(_)}),_}_buildPlayer(t,e,n){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new yt(t.duration,t.delay)}},Ft=class{constructor(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new yt,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,this._queuedCallbacks.forEach((e,n)=>{e.forEach(r=>Ni(t,n,void 0,r))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){let e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){we(this._queuedCallbacks,t,[]).push(e)}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?!1: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){let e=this._player;e.triggerCallback&&e.triggerCallback(t)}};function Tl(i,t,e){let n=i.get(t);if(n){if(n.length){let r=n.indexOf(e);n.splice(r,1)}n.length==0&&i.delete(t)}return n}function Pl(i){return i??null}function En(i){return i&&i.nodeType===1}function Ml(i){return i=="start"||i=="done"}function Bo(i,t){let e=i.style.display;return i.style.display=t??"none",e}function qo(i,t,e,n,r){let o=[];e.forEach(f=>o.push(Bo(f)));let l=[];n.forEach((f,v)=>{let k=new Map;f.forEach(S=>{let D=t.computeStyle(v,S,r);k.set(S,D),(!D||D.length==0)&&(v[De]=Sl,l.push(v))}),i.set(v,k)});let p=0;return e.forEach(f=>Bo(f,o[p++])),l}function $o(i,t){let e=new Map;if(i.forEach(p=>e.set(p,[])),t.length==0)return e;let n=1,r=new Set(t),o=new Map;function l(p){if(!p)return n;let f=o.get(p);if(f)return f;let v=p.parentNode;return e.has(v)?f=v:r.has(v)?f=n:f=l(v),o.set(p,f),f}return t.forEach(p=>{let f=l(p);f!==n&&e.get(f).push(p)}),e}function Ie(i,t){i.classList?.add(t)}function Et(i,t){i.classList?.remove(t)}function xl(i,t,e){nt(e).onDone(()=>i.processLeaveNode(t))}function Il(i){let t=[];return is(i,t),t}function is(i,t){for(let e=0;er.add(o)):t.set(i,n),e.delete(i),!0}var kt=class{constructor(t,e,n){this._driver=e,this._normalizer=n,this._triggerCache={},this.onRemovalComplete=(r,o)=>{},this._transitionEngine=new Ii(t.body,e,n),this._timelineEngine=new Mi(t.body,e,n),this._transitionEngine.onRemovalComplete=(r,o)=>this.onRemovalComplete(r,o)}registerTrigger(t,e,n,r,o){let l=t+"-"+r,p=this._triggerCache[l];if(!p){let f=[],v=[],k=Zo(this._driver,o,f,v);if(f.length)throw Ac(r,f);v.length&&void 0,p=yl(r,k,this._normalizer),this._triggerCache[l]=p}this._transitionEngine.registerTrigger(e,r,p)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,n,r){this._transitionEngine.insertNode(t,e,n,r)}onRemove(t,e,n){this._transitionEngine.removeNode(t,e,n)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,n,r){if(n.charAt(0)=="@"){let[o,l]=No(n),p=r;this._timelineEngine.command(o,e,l,p)}else this._transitionEngine.trigger(t,e,n,r)}listen(t,e,n,r,o){if(n.charAt(0)=="@"){let[l,p]=No(n);return this._timelineEngine.listen(l,e,p,o)}return this._transitionEngine.listen(t,e,n,r,o)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(t){this._transitionEngine.afterFlushAnimationsDone(t)}};function Ol(i,t){let e=null,n=null;return Array.isArray(t)&&t.length?(e=gi(t[0]),t.length>1&&(n=gi(t[t.length-1]))):t instanceof Map&&(e=gi(t)),e||n?new Ai(i,e,n):null}var Ai=class i{static{this.initialStylesByElement=new WeakMap}constructor(t,e,n){this._element=t,this._startStyles=e,this._endStyles=n,this._state=0;let r=i.initialStylesByElement.get(t);r||i.initialStylesByElement.set(t,r=new Map),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&$e(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&($e(this._element,this._initialStyles),this._endStyles&&($e(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(i.initialStylesByElement.delete(this._element),this._startStyles&&(lt(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(lt(this._element,this._endStyles),this._endStyles=null),$e(this._element,this._initialStyles),this._state=3)}};function gi(i){let t=null;return i.forEach((e,n)=>{Nl(n)&&(t=t||new Map,t.set(n,e))}),t}function Nl(i){return i==="display"||i==="position"}var An=class{constructor(t,e,n,r){this.element=t,this.keyframes=e,this.options=n,this._specialStyles=r,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=n.duration,this._delay=n.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;let t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:new Map;let e=()=>this._onFinish();this.domPlayer.addEventListener("finish",e),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",e)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(t){let e=[];return t.forEach(n=>{e.push(Object.fromEntries(n))}),e}_triggerWebAnimation(t,e,n){return t.animate(this._convertKeyframesToObject(e),n)}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){this.domPlayer===void 0&&this.init(),this.domPlayer.currentTime=t*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){let t=new Map;this.hasStarted()&&this._finalKeyframe.forEach((n,r)=>{r!=="offset"&&t.set(r,this._finished?n:Ui(this.element,r))}),this.currentSnapshot=t}triggerCallback(t){let e=t==="start"?this._onStartFns:this._onDoneFns;e.forEach(n=>n()),e.length=0}},On=class{validateStyleProperty(t){return!0}validateAnimatableStyleProperty(t){return!0}containsElement(t,e){return Go(t,e)}getParentElement(t){return Ri(t)}query(t,e,n){return Wo(t,e,n)}computeStyle(t,e,n){return Ui(t,e)}animate(t,e,n,r,o,l=[]){let p=r==0?"both":"forwards",f={duration:n,delay:r,fill:p};o&&(f.easing=o);let v=new Map,k=l.filter(_=>_ instanceof An);Zc(n,r)&&k.forEach(_=>{_.currentSnapshot.forEach((A,L)=>v.set(L,A))});let S=Yc(e).map(_=>new Map(_));S=el(t,S,v);let D=Ol(t,S);return new An(t,S,f,D)}};var kn="@",rs="@.disabled",Nn=class{constructor(t,e,n,r){this.namespaceId=t,this.delegate=e,this.engine=n,this._onDestroy=r,this.\u0275type=0}get data(){return this.delegate.data}destroyNode(t){this.delegate.destroyNode?.(t)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,n,r=!0){this.delegate.insertBefore(t,e,n),this.engine.onInsert(this.namespaceId,e,t,r)}removeChild(t,e,n){this.parentNode(e)&&this.engine.onRemove(this.namespaceId,e,this.delegate)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,r){this.delegate.setAttribute(t,e,n,r)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,r){this.delegate.setStyle(t,e,n,r)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){e.charAt(0)==kn&&e==rs?this.disableAnimations(t,!!n):this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n){return this.delegate.listen(t,e,n)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}},Oi=class extends Nn{constructor(t,e,n,r,o){super(e,n,r,o),this.factory=t,this.namespaceId=e}setProperty(t,e,n){e.charAt(0)==kn?e.charAt(1)=="."&&e==rs?(n=n===void 0?!0:!!n,this.disableAnimations(t,n)):this.engine.process(this.namespaceId,t,e.slice(1),n):this.delegate.setProperty(t,e,n)}listen(t,e,n){if(e.charAt(0)==kn){let r=Ll(t),o=e.slice(1),l="";return o.charAt(0)!=kn&&([o,l]=Rl(o)),this.engine.listen(this.namespaceId,r,o,l,p=>{let f=p._data||-1;this.factory.scheduleListenerCallback(f,n,p)})}return this.delegate.listen(t,e,n)}};function Ll(i){switch(i){case"body":return document.body;case"document":return document;case"window":return window;default:return i}}function Rl(i){let t=i.indexOf("."),e=i.substring(0,t),n=i.slice(t+1);return[e,n]}var Ln=class{constructor(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,e.onRemovalComplete=(r,o)=>{o?.removeChild(null,r)}}createRenderer(t,e){let n="",r=this.delegate.createRenderer(t,e);if(!t||!e?.data?.animation){let v=this._rendererCache,k=v.get(r);if(!k){let S=()=>v.delete(r);k=new Nn(n,r,this.engine,S),v.set(r,k)}return k}let o=e.id,l=e.id+"-"+this._currentId;this._currentId++,this.engine.register(l,t);let p=v=>{Array.isArray(v)?v.forEach(p):this.engine.registerTrigger(o,l,t,v.name,v)};return e.data.animation.forEach(p),new Oi(this,l,r,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,n){if(t>=0&&te(n));return}let r=this._animationCallbacksBuffer;r.length==0&&queueMicrotask(()=>{this._zone.run(()=>{r.forEach(o=>{let[l,p]=o;l(p)}),this._animationCallbacksBuffer=[]})}),r.push([e,n])}end(){this._cdRecurDepth--,this._cdRecurDepth==0&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}};var Fl=(()=>{class i extends kt{constructor(e,n,r){super(e,n,r)}ngOnDestroy(){this.flush()}static{this.\u0275fac=function(n){return new(n||i)(U(nr),U(pt),U(ut))}}static{this.\u0275prov=$({token:i,factory:i.\u0275fac})}}return i})();function Ul(){return new Tn}function jl(i,t,e){return new Ln(i,t,e)}var ss=[{provide:ut,useFactory:Ul},{provide:kt,useClass:Fl},{provide:Xi,useFactory:jl,deps:[pr,kt,$t]}],os=[{provide:pt,useFactory:()=>new On},{provide:Bn,useValue:"BrowserAnimations"},...ss],Vl=[{provide:pt,useClass:Di},{provide:Bn,useValue:"NoopAnimations"},...ss],Vi=(()=>{class i{static withConfig(e){return{ngModule:i,providers:e.disableAnimations?Vl:os}}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275mod=ne({type:i})}static{this.\u0275inj=te({providers:os,imports:[Gt]})}}return i})();var as=(()=>{class i{static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275mod=ne({type:i,bootstrap:[oo]})}static{this.\u0275inj=te({providers:[{provide:Ji,useClass:Ao},{provide:fr,useValue:J.firebase.useEmulators?["http://localhost:9099"]:void 0},{provide:_r,useValue:J.firebase.useEmulators?`http://localhost:9000?ns=${J.firebase.projectId}`:void 0},{provide:Fr,useValue:J.firebase.useEmulators?["localhost",5001]:void 0},{provide:Cr,useValue:J.firebase.useEmulators?["localhost",9199]:void 0}],imports:[So,Io.forRoot(),Re,Po,Ct,Mo,Gt,Ve,Vi,Qt,Ur,io.register("ngsw-worker.js",{enabled:J.production}),Vi]})}}return i})();J.production&&void 0;J.TrackJS&&ot.install(J.TrackJS);J.google.gtmTag&&function(i,t,e,n,r){i[n]=i[n]||[],i[n].push({"gtm.start":new Date().getTime(),event:"gtm.js"});let o=t.getElementsByTagName(e)[0],l=t.createElement(e),p=n!=="dataLayer"?"&l="+n:"";l.async=!0,l.src="proxy.php?url=https%3A%2F%2Fwww.googletagmanager.com%2Fgtm.js%3Fid%3D"+r+p,o.parentNode.insertBefore(l,o)}(window,document,"script","dataLayer",J.google.gtmTag);document.addEventListener("DOMContentLoaded",()=>{ur().bootstrapModule(as).catch(i=>console.log(i))});