UNPKG

@ngageoint/mage.web-app

Version:

The MAGE web-app is the UI for interacting with the MAGE service in a web browser.

1 lines 64.3 kB
"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[24],{46605:(Vt,$,_)=>{_.d($,{O:()=>U});class t{constructor(x,v,P){this._statusMessage=x,this._identifier=v,this._strategy=P,this._subject="",this._body=""}get subject(){return this._subject}get body(){return this._body}build(){const x=this._statusMessage.toUpperCase();this._subject=x.includes("DEVICE")?x.includes("REGISTER")?"Please approve my device":"Device ID issue":x.includes("APPROVED")||x.includes("ACTIVATE")?"Please activate my Mage account":x.includes("DISABLED")?"Please enable my Mage account":x.includes("LOCKED")?"Please unlock my Mage account":x.includes("CAPTCHA")?"Mage CAPTCHA issue":x.includes("EVENT")?"Please add me to a Mage event":"Mage signin issue",this._identifier&&(this._subject+=" - "+this._identifier,this._body+="Identifier (username or device id): "+this._identifier+"\n"),this._body+="Error Message Received: "+this._statusMessage}}class U{static emailLink(x,v,P,j){let A;if(x&&x.email){const z=new t(v,P,j);z.build(),A="mailto:"+encodeURIComponent(x.email),A+="?subject="+encodeURIComponent(z.subject),A+="&body="+encodeURIComponent(z.body)}return A}static phoneLink(x){let v;return x&&x.phone&&(v="tel:"+x.phone),v}}},59868:(Vt,$,_)=>{_.d($,{t:()=>W});var t=_(94650),U=_(4859),b=(()=>{return(a=b||(b={}))[a.ACCEPT=0]="ACCEPT",a[a.REJECT=1]="REJECT",b;var a})();let x=(()=>{class a{constructor(){this.close=new t.vpe}onAccept(){this.close.emit({reason:b.ACCEPT})}onReject(){this.close.emit({reason:b.REJECT})}}return a.\u0275fac=function(o){return new(o||a)},a.\u0275cmp=t.Xpm({type:a,selectors:[["disclaimer"]],inputs:{title:"title",text:"text"},outputs:{close:"close"},decls:12,vars:2,consts:[[1,"container"],[1,"header"],[1,"header__title"],[1,"disclaimer"],[1,"disclaimer__text"],[1,"actions"],["mat-stroked-button","",1,"actions__button",3,"click"],["mat-flat-button","","color","primary",1,"actions__button",3,"click"]],template:function(o,u){1&o&&(t.TgZ(0,"div",0)(1,"div",1)(2,"div",2),t._uU(3),t.qZA()(),t.TgZ(4,"div",3)(5,"div",4),t._uU(6),t.qZA()(),t.TgZ(7,"div",5)(8,"button",6),t.NdJ("click",function(){return u.onReject()}),t._uU(9,"Exit"),t.qZA(),t.TgZ(10,"button",7),t.NdJ("click",function(){return u.onAccept()}),t._uU(11,"Accept"),t.qZA()()()),2&o&&(t.xp6(3),t.Oqu(u.title),t.xp6(3),t.Oqu(u.text))},dependencies:[U.lW],styles:[".container[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;gap:48px}.header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:end;height:30vh}.header__title[_ngcontent-%COMP%]{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;color:#1e88e5;margin-bottom:16px}.disclaimer[_ngcontent-%COMP%]{overflow-y:scroll}.disclaimer__text[_ngcontent-%COMP%]{font:400 16px/20px Roboto,Helvetica Neue,sans-serif;margin-bottom:32px;opacity:60%}.actions[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:start;width:100%;gap:16px}.actions__button[_ngcontent-%COMP%]{flex:1}"]}),a})();var v=_(37340),P=_(1584),j=_(38159),A=_(36895);let z=(()=>{class a{constructor(){this.complete=new t.vpe}ngOnChanges(o){!0===o.active.currentValue?(this.icon="check_circle",this.color="#4CAF50",this.title="Account Created",this.message="Your account has been successfully created."):!1===o.active.currentValue&&(this.icon="preliminary",this.color="#FFA000",this.title="Account Pending",this.message="Your account has been successfully created. A Mage administrator will need to activate your account before you can log in.")}onDone(){this.complete.emit()}}return a.\u0275fac=function(o){return new(o||a)},a.\u0275cmp=t.Xpm({type:a,selectors:[["account-status"]],inputs:{active:"active"},outputs:{complete:"complete"},features:[t.TTD],decls:10,vars:5,consts:[[1,"content"],[1,"material-symbols-outlined","icon"],[1,"title"],[1,"actions"],["mat-flat-button","","color","primary",1,"actions__button",3,"click"]],template:function(o,u){1&o&&(t.TgZ(0,"div",0)(1,"span",1),t._uU(2),t.qZA(),t.TgZ(3,"div",2),t._uU(4),t.qZA(),t.TgZ(5,"p"),t._uU(6),t.qZA()(),t.TgZ(7,"div",3)(8,"button",4),t.NdJ("click",function(){return u.onDone()}),t._uU(9,"Return to Login"),t.qZA()()),2&o&&(t.xp6(1),t.Udp("color",u.color),t.xp6(1),t.Oqu(u.icon),t.xp6(2),t.Oqu(u.title),t.xp6(2),t.Oqu(u.message))},dependencies:[U.lW],styles:['.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;text-align:center;width:500px}.title[_ngcontent-%COMP%]{font:400 20px/32px Roboto,Helvetica Neue,sans-serif}.icon[_ngcontent-%COMP%]{font-size:96px;font-variation-settings:"fill" 0,"wght" 200,"grad" 0,"opsz" 96;margin-bottom:32px}.icon--active[_ngcontent-%COMP%]{color:#4caf50}.icon-inactive[_ngcontent-%COMP%]{color:red}.actions[_ngcontent-%COMP%]{width:100%;display:flex;flex-direction:row;margin-top:32px}.actions__button[_ngcontent-%COMP%]{flex:1}']}),a})();var D=_(86349);function et(a,f){if(1&a&&(t.TgZ(0,"div",5),t._UZ(1,"img",6),t.qZA()),2&a){const o=t.oxw();t.xp6(1),t.Q6J("src","data:image/png;base64,"+o.icon,t.LSH)}}function ut(a,f){1&a&&t._UZ(0,"div",7)}const O=function(a){return{"background-color":a}},G=function(a){return{color:a}};let Y=(()=>{class a{constructor(){this.click=new t.vpe}onClick(){this.click.emit()}}return a.\u0275fac=function(o){return new(o||a)},a.\u0275cmp=t.Xpm({type:a,selectors:[["authentication-button"]],inputs:{icon:"icon",color:"color",text:"text",textColor:"textColor"},outputs:{click:"click"},decls:6,vars:10,consts:[["mat-flat-button","","color","primary",1,"authentication-button",3,"click"],[1,"authentication-button-container"],["class","authentication-button__icon",4,"ngIf"],[1,"authentication-button__text",3,"ngStyle"],["class","spacer",4,"ngIf"],[1,"authentication-button__icon"],[1,"authentication-button__image",3,"src"],[1,"spacer"]],template:function(o,u){1&o&&(t.TgZ(0,"button",0),t.NdJ("click",function(){return u.onClick()}),t.TgZ(1,"div",1),t.YNc(2,et,2,1,"div",2),t.TgZ(3,"div",3),t._uU(4),t.qZA(),t.YNc(5,ut,1,0,"div",4),t.qZA()()),2&o&&(t.Akn(t.VKq(6,O,u.color)),t.xp6(2),t.Q6J("ngIf",u.icon),t.xp6(1),t.Q6J("ngStyle",t.VKq(8,G,u.textColor)),t.xp6(1),t.hij("Continue with ",u.text,""),t.xp6(1),t.Q6J("ngIf",u.icon))},dependencies:[A.O5,A.PC,U.lW],styles:[".authentication-button[_ngcontent-%COMP%]{width:100%}.authentication-button-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:8px;margin:0 -16px}.authentication-button__icon[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;margin:2px;width:36px;border-radius:2px;background-color:#fff}.authentication-button__image[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;margin:2px;height:28px;border-radius:2px;background-color:#fff}.authentication-button__text[_ngcontent-%COMP%]{flex:1;width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spacer[_ngcontent-%COMP%]{margin:2px;width:36px}"]}),a})(),xt=(()=>{class a{constructor(o){this.userService=o,this.authenticated=new t.vpe}signin(){this.userService.idpSignin(this.strategy.name).subscribe({next:o=>{if(!o.token||!o.user){let u="There was a problem signing in, Please contact a Mage administrator for assistance.";return o.user&&(o.user.active?o.user.enabled||(u="Your account has been disabled, please contact a Mage administrator for assistance."):u="Your account has been created but it is not active. A Mage administrator needs to activate your account before you can log in."),this.error.title="Signin Failed",void(this.error.message=u)}this.authenticated.emit(o)},error:o=>{this.error={title:"Error signing in",message:o.data||"Please check your username and password and try again."}}})}}return a.\u0275fac=function(o){return new(o||a)(t.Y36(P.K))},a.\u0275cmp=t.Xpm({type:a,selectors:[["idp-authentication"]],inputs:{strategy:"strategy"},outputs:{authenticated:"authenticated"},decls:1,vars:4,consts:[[3,"text","textColor","color","icon","click"]],template:function(o,u){1&o&&(t.TgZ(0,"authentication-button",0),t.NdJ("click",function(){return u.signin()}),t.qZA()),2&o&&t.Q6J("text",u.strategy.title)("textColor",u.strategy.textColor)("color",u.strategy.buttonColor)("icon",u.strategy.icon)},dependencies:[Y]}),a})();var g=_(24006),it=_(46605),T=_(59549),V=_(44144);function Wt(a,f){if(1&a&&t._UZ(0,"span",11),2&a){const o=t.oxw(2);t.Q6J("innerHTML",o.contact,t.oJD)}}function S(a,f){if(1&a&&(t.TgZ(0,"div",6)(1,"div",7)(2,"span",8),t._uU(3,"sentiment_dissatisfied"),t.qZA(),t.TgZ(4,"div",9)(5,"div"),t._uU(6),t.YNc(7,Wt,1,1,"span",10),t.qZA()()()()),2&a){const o=t.oxw();t.Q6J("@slide",void 0),t.xp6(6),t.hij("",null==o.error?null:o.error.message," "),t.xp6(1),t.Q6J("ngIf",o.contact)}}let H=(()=>{class a{constructor(o){this.userService=o,this.authenticated=new t.vpe,this.authenticationForm=new g.cw({username:new g.NI("",[g.kI.required]),password:new g.NI("",[g.kI.required])})}onSignin(){if(this.authenticationForm.invalid)return;const{username:o,password:u}=this.authenticationForm.value;this.userService.ldapSignin(o,u).subscribe({next:d=>{this.authenticated.emit(d)},error:d=>{this.error={title:"Error Signing In",message:d.error||"Please check your username and password and try again."};const C=it.O.emailLink(this.api.contactInfo,d.error,o,this.strategy),L=it.O.phoneLink(this.api.contactInfo);this.contact=`Should you need futher assistance you may contact your Mage administrator via ${[`<a href=${C}>email</a>`,`<a href=${L}>phone</a>`].join(" or ")}.`}})}}return a.\u0275fac=function(o){return new(o||a)(t.Y36(P.K))},a.\u0275cmp=t.Xpm({type:a,selectors:[["ldap-authentication"]],inputs:{api:"api",strategy:"strategy"},outputs:{authenticated:"authenticated"},decls:17,vars:10,consts:[[3,"formGroup","ngSubmit"],["appearance","fill"],["matInput","","formControlName","username","required","",3,"placeholder"],["matInput","","type","password","formControlName","password","required","",3,"placeholder"],[3,"text","textColor","color","icon","click"],["class","error-container",4,"ngIf"],[1,"error-container"],[1,"error"],[1,"material-symbols-outlined","error__icon"],[1,"error__message"],["class","contact",3,"innerHTML",4,"ngIf"],[1,"contact",3,"innerHTML"]],template:function(o,u){1&o&&(t.TgZ(0,"form",0),t.NdJ("ngSubmit",function(){return u.onSignin()}),t.TgZ(1,"div")(2,"mat-form-field",1)(3,"mat-label"),t._uU(4),t.qZA(),t._UZ(5,"input",2),t.TgZ(6,"mat-error"),t._uU(7,"Username is required"),t.qZA()()(),t.TgZ(8,"div")(9,"mat-form-field",1)(10,"mat-label"),t._uU(11),t.qZA(),t._UZ(12,"input",3),t.TgZ(13,"mat-error"),t._uU(14,"Password is required"),t.qZA()()(),t.TgZ(15,"authentication-button",4),t.NdJ("click",function(){return u.onSignin()}),t.qZA(),t.YNc(16,S,8,3,"div",5),t.qZA()),2&o&&(t.Q6J("formGroup",u.authenticationForm),t.xp6(4),t.hij("",u.strategy.title," Username"),t.xp6(1),t.MGl("placeholder","",u.strategy.title," Username"),t.xp6(6),t.hij("",u.strategy.title," Password"),t.xp6(1),t.MGl("placeholder","",u.strategy.title," Password"),t.xp6(3),t.Q6J("text",u.strategy.title)("textColor",u.strategy.textColor)("color",u.strategy.buttonColor)("icon",u.strategy.icon),t.xp6(1),t.Q6J("ngIf",u.error))},dependencies:[A.O5,T.TO,T.KE,T.hX,V.Nt,g._Y,g.Fj,g.JJ,g.JL,g.Q7,g.sg,g.u,Y],styles:['[_nghost-%COMP%] a{color:#e53935;cursor:pointer;text-decoration:underline}mat-form-field[_ngcontent-%COMP%]{width:100%;margin-bottom:8px}.auth-button[_ngcontent-%COMP%]{width:100%}.signup[_ngcontent-%COMP%]{display:flex;margin-top:32px;justify-content:center;gap:8px}.signup-text[_ngcontent-%COMP%]{opacity:60%}.signup-button[_ngcontent-%COMP%]{cursor:pointer;color:#1e88e5}.error-container[_ngcontent-%COMP%]{overflow:hidden}.error[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:24px;color:#e53935;border-radius:4px;padding:0 16px}.error__icon[_ngcontent-%COMP%]{font-size:48px;font-variation-settings:"fill" 0,"wght" 400,"grad" 0,"opsz" 48}.error__message[_ngcontent-%COMP%]{flex:1;text-align:center}']}),a})();var Xt=_(82524),At=_(11481);const wt=["errorElement"];function $t(a,f){if(1&a){const o=t.EpF();t.TgZ(0,"div",7,8),t.NdJ("@slide.done",function(){t.CHM(o);const d=t.oxw();return t.KtG(d.scrollToError())}),t.TgZ(2,"div",9)(3,"span",10),t._uU(4,"sentiment_dissatisfied"),t.qZA(),t.TgZ(5,"div",11),t._UZ(6,"div",12),t.qZA()()()}if(2&a){const o=t.oxw();t.Q6J("@slide",void 0),t.xp6(6),t.Q6J("innerHTML",o.error.message,t.oJD)}}function Z(a,f){if(1&a){const o=t.EpF();t.TgZ(0,"div",13)(1,"span",14),t._uU(2,"New to Mage?"),t.qZA(),t.TgZ(3,"a",15),t.NdJ("click",function(){t.CHM(o);const d=t.oxw();return t.KtG(d.onSignup())}),t._uU(4,"Sign Up Now"),t.qZA()()}}let lt=(()=>{class a{constructor(o,u,d){this.apiService=o,this.userService=u,this.sanitizer=d,this.signup=new t.vpe,this.authenticated=new t.vpe,this.authenticationForm=new g.cw({username:new g.NI("",[g.kI.required]),password:new g.NI("",[g.kI.required])})}ngOnInit(){this.apiService.getApi().subscribe(o=>{this.api=o})}onSignin(){if(this.authenticationForm.invalid)return;const{username:o,password:u}=this.authenticationForm.value;this.userService.signin(o,u).subscribe({next:d=>{this.authenticated.emit(d)},error:d=>{let C=d.error||"Please check your username and password and try again.";(this.api.contactInfo.email||this.api.contactInfo.phone)&&(C=`${C} Should you need futher assistance you may contact your Mage administrator via ${[`<a href=${it.O.emailLink(this.api.contactInfo,d.error,o,this.strategy)}>email</a>`,`<a href=${it.O.phoneLink(this.api.contactInfo)}>phone</a>`].join(" or ")}.`),this.error={title:"Error Signing In",message:this.sanitizer.sanitize(t.q3G.HTML,C)},this.scrollToError()}})}onSignup(){this.signup.emit()}scrollToError(){try{this.errorElement.nativeElement.scrollIntoView({behavior:"smooth"})}catch{}}}return a.\u0275fac=function(o){return new(o||a)(t.Y36(Xt.s),t.Y36(P.K),t.Y36(At.H7))},a.\u0275cmp=t.Xpm({type:a,selectors:[["local-authentication"]],viewQuery:function(o,u){if(1&o&&t.Gf(wt,5),2&o){let d;t.iGM(d=t.CRH())&&(u.errorElement=d.first)}},inputs:{api:"api",strategy:"strategy",landing:"landing"},outputs:{signup:"signup",authenticated:"authenticated"},decls:20,vars:3,consts:[[3,"formGroup","ngSubmit"],["appearance","fill"],["matInput","","placeholder","Username","formControlName","username","required",""],["matInput","","placeholder","Password","type","password","formControlName","password","required",""],["mat-flat-button","","color","primary",1,"auth-button"],["class","error-container",4,"ngIf"],["class","signup",4,"ngIf"],[1,"error-container"],["errorElement",""],[1,"error"],[1,"material-symbols-outlined","error__icon"],[1,"error__message"],[3,"innerHTML"],[1,"signup"],[1,"signup-text"],[1,"signup-button",3,"click"]],template:function(o,u){1&o&&(t.TgZ(0,"form",0),t.NdJ("ngSubmit",function(){return u.onSignin()}),t.TgZ(1,"div")(2,"mat-form-field",1)(3,"mat-label"),t._uU(4,"Username"),t.qZA(),t._UZ(5,"input",2),t.TgZ(6,"mat-error"),t._uU(7,"Username is required"),t.qZA()()(),t.TgZ(8,"div")(9,"mat-form-field",1)(10,"mat-label"),t._uU(11,"Password"),t.qZA(),t._UZ(12,"input",3),t.TgZ(13,"mat-error"),t._uU(14,"Password is required"),t.qZA()()(),t.TgZ(15,"div")(16,"button",4),t._uU(17,"Sign In"),t.qZA()(),t.YNc(18,$t,7,2,"div",5),t.YNc(19,Z,5,0,"div",6),t.qZA()),2&o&&(t.Q6J("formGroup",u.authenticationForm),t.xp6(18),t.Q6J("ngIf",u.error),t.xp6(1),t.Q6J("ngIf",u.landing))},dependencies:[A.O5,U.lW,T.TO,T.KE,T.hX,V.Nt,g._Y,g.Fj,g.JJ,g.JL,g.Q7,g.sg,g.u],styles:['[_nghost-%COMP%] a{color:#e53935;cursor:pointer;text-decoration:underline}mat-form-field[_ngcontent-%COMP%]{width:100%;margin-bottom:8px}.auth-button[_ngcontent-%COMP%]{width:100%}.signup[_ngcontent-%COMP%]{display:flex;margin-top:32px;justify-content:center;gap:8px}.signup-text[_ngcontent-%COMP%]{opacity:60%}.signup-button[_ngcontent-%COMP%]{cursor:pointer;color:#1e88e5}.error-container[_ngcontent-%COMP%]{overflow:hidden}.error[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:8px;margin:24px 0;color:#e53935;border-radius:4px;padding:0 16px}.error__icon[_ngcontent-%COMP%]{font-size:48px;font-variation-settings:"fill" 0,"wght" 400,"grad" 0,"opsz" 48}.error__message[_ngcontent-%COMP%]{flex:1;text-align:center}'],data:{animation:[(0,v.X$)("slide",[(0,v.eR)(":enter",[(0,v.oB)({height:"0px",opacity:0}),(0,v.jt)("250ms ease-out",(0,v.oB)({height:"*",opacity:1}))]),(0,v.eR)(":leave",[(0,v.jt)("250ms ease-out",(0,v.oB)({height:"0px",opacity:0}))])])]}}),a})();function Tt(a,f){1&a&&(t.TgZ(0,"div",7)(1,"div",8),t._uU(2,"Welcome to Mage"),t.qZA(),t.TgZ(3,"div",9),t._uU(4,"Sign in to your account"),t.qZA()())}function jt(a,f){if(1&a){const o=t.EpF();t.TgZ(0,"local-authentication",10),t.NdJ("signup",function(){t.CHM(o);const d=t.oxw();return t.KtG(d.onSignup())})("authenticated",function(d){t.CHM(o);const C=t.oxw();return t.KtG(C.signin(d))}),t.qZA()}if(2&a){const o=t.oxw();t.Q6J("landing",o.landing)}}function tn(a,f){1&a&&(t.TgZ(0,"div")(1,"div",11),t._UZ(2,"div",12),t.TgZ(3,"div",13),t._uU(4,"or"),t.qZA(),t._UZ(5,"div",12),t.qZA()())}function nn(a,f){if(1&a){const o=t.EpF();t.TgZ(0,"idp-authentication",16),t.NdJ("authenticated",function(d){t.CHM(o);const C=t.oxw(2);return t.KtG(C.signin(d))}),t.qZA()}if(2&a){const o=t.oxw().$implicit;t.Q6J("strategy",o)}}function Zt(a,f){if(1&a){const o=t.EpF();t.TgZ(0,"idp-authentication",16),t.NdJ("authenticated",function(d){t.CHM(o);const C=t.oxw(2);return t.KtG(C.signin(d))}),t.qZA()}if(2&a){const o=t.oxw().$implicit;t.Q6J("strategy",o)}}function It(a,f){if(1&a){const o=t.EpF();t.TgZ(0,"idp-authentication",16),t.NdJ("authenticated",function(d){t.CHM(o);const C=t.oxw(2);return t.KtG(C.signin(d))}),t.qZA()}if(2&a){const o=t.oxw().$implicit;t.Q6J("strategy",o)}}function Mt(a,f){if(1&a){const o=t.EpF();t.TgZ(0,"ldap-authentication",16),t.NdJ("authenticated",function(d){t.CHM(o);const C=t.oxw(2);return t.KtG(C.signin(d))}),t.qZA()}if(2&a){const o=t.oxw().$implicit;t.Q6J("strategy",o)}}function en(a,f){if(1&a&&(t.TgZ(0,"div"),t.ynx(1,14),t.YNc(2,nn,1,1,"idp-authentication",15),t.YNc(3,Zt,1,1,"idp-authentication",15),t.YNc(4,It,1,1,"idp-authentication",15),t.YNc(5,Mt,1,1,"ldap-authentication",15),t.BQk(),t.qZA()),2&a){const o=f.$implicit;t.xp6(1),t.Q6J("ngSwitch",null==o?null:o.type),t.xp6(1),t.Q6J("ngSwitchCase","oauth"),t.xp6(1),t.Q6J("ngSwitchCase","saml"),t.xp6(1),t.Q6J("ngSwitchCase","openidconnect"),t.xp6(1),t.Q6J("ngSwitchCase","ldap")}}let I=(()=>{class a{constructor(){this.landing=!1,this.signup=new t.vpe,this.authenticated=new t.vpe}ngOnChanges(o){o.api&&(this.api=o.api.currentValue,this.localAuthenticationStrategy=this.api?.authenticationStrategies.local,this.localAuthenticationStrategy&&(this.localAuthenticationStrategy.name="local"),this.thirdPartyStrategies=D.UI(D.CE(this.api?.authenticationStrategies,this.localStrategyFilter),function(u,d){return u.name=d,u}))}localStrategyFilter(o,u){return"local"===u}signin(o){this.authenticated.emit(o)}onSignup(){this.signup.emit()}}return a.\u0275fac=function(o){return new(o||a)},a.\u0275cmp=t.Xpm({type:a,selectors:[["authentication"]],inputs:{api:"api",landing:"landing"},outputs:{signup:"signup",authenticated:"authenticated"},features:[t.TTD],decls:7,vars:4,consts:[[1,"signin-container"],["class","welcome",4,"ngIf"],[1,"authentications"],["strategy","localAuthenticationStrategy",3,"landing","signup","authenticated",4,"ngIf"],[4,"ngIf"],[1,"strategies"],[4,"ngFor","ngForOf"],[1,"welcome"],[1,"welcome__title"],[1,"welcome__message"],["strategy","localAuthenticationStrategy",3,"landing","signup","authenticated"],[1,"or"],[1,"or__divider"],[1,"or__text"],[3,"ngSwitch"],[3,"strategy","authenticated",4,"ngSwitchCase"],[3,"strategy","authenticated"]],template:function(o,u){1&o&&(t.TgZ(0,"div",0),t.YNc(1,Tt,5,0,"div",1),t.TgZ(2,"div",2),t.YNc(3,jt,1,1,"local-authentication",3),t.YNc(4,tn,6,0,"div",4),t.TgZ(5,"div",5),t.YNc(6,en,6,5,"div",6),t.qZA()()()),2&o&&(t.xp6(1),t.Q6J("ngIf",u.landing),t.xp6(2),t.Q6J("ngIf",u.localAuthenticationStrategy),t.xp6(1),t.Q6J("ngIf",u.localAuthenticationStrategy&&u.thirdPartyStrategies.length),t.xp6(2),t.Q6J("ngForOf",u.thirdPartyStrategies))},dependencies:[A.sg,A.O5,A.RF,A.n9,xt,H,lt],styles:["[_nghost-%COMP%]{height:100%;width:100%}.authentications[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:start}.signin-container[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;gap:48px}.welcome[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:end;color:#1e88e5;height:30vh}.welcome__title[_ngcontent-%COMP%]{margin-bottom:16px;font:400 45px/48px Roboto,Helvetica Neue,sans-serif}.welcome__message[_ngcontent-%COMP%]{font:500 20px/32px Roboto,Helvetica Neue,sans-serif}.or[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;gap:8px;margin:36px 0}.or__text[_ngcontent-%COMP%]{opacity:.6}.or__divider[_ngcontent-%COMP%]{flex:1;height:2px;background-color:#00000026;border-radius:1px}.strategies[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}"]}),a})();function Ot(a,f){1&a&&(t.TgZ(0,"mat-error"),t._uU(1,"Invalid access code"),t.qZA())}let Pt=(()=>{class a{constructor(o){this.userService=o,this.authorized=new t.vpe,this.deviceId=new g.NI("",[g.kI.required])}authorize(){this.deviceId.setErrors(null),this.userService.authorize(this.token,this.deviceId.value).subscribe({next:o=>{this.authorized.emit({token:o.token})},error:()=>{this.deviceId.setErrors({invalid:!0})}})}}return a.\u0275fac=function(o){return new(o||a)(t.Y36(P.K))},a.\u0275cmp=t.Xpm({type:a,selectors:[["authorization"]],inputs:{token:"token"},outputs:{authorized:"authorized"},decls:15,vars:2,consts:[[1,"authorization"],[1,"header"],[1,"header__title"],[1,"header__message"],["appearance","fill"],["matInput","","placeholder","Access Code","type","deviceId","required","",3,"formControl"],[4,"ngIf"],[1,"authorize"],["mat-flat-button","","color","primary",3,"click"]],template:function(o,u){1&o&&(t.TgZ(0,"div",0)(1,"div",1)(2,"div",2),t._uU(3,"Access Code"),t.qZA(),t.TgZ(4,"div",3),t._uU(5,"Please enter your Mage access code. If you do not have an access code please ask you Mage administrator to provide you with one."),t.qZA()(),t.TgZ(6,"div")(7,"mat-form-field",4)(8,"mat-label"),t._uU(9,"Access Code"),t.qZA(),t._UZ(10,"input",5),t.YNc(11,Ot,2,0,"mat-error",6),t.qZA()(),t.TgZ(12,"div",7)(13,"button",8),t.NdJ("click",function(){return u.authorize()}),t._uU(14,"Continue to Mage"),t.qZA()()()),2&o&&(t.xp6(10),t.Q6J("formControl",u.deviceId),t.xp6(1),t.Q6J("ngIf",u.deviceId.hasError("invalid")))},dependencies:[A.O5,U.lW,T.TO,T.KE,T.hX,V.Nt,g.Fj,g.JJ,g.Q7,g.oH],styles:["[_nghost-%COMP%]{width:100%}.authorization[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;gap:48px}.header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:end;height:30vh}.header__title[_ngcontent-%COMP%]{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;color:#1e88e5;margin-bottom:16px}.header__message[_ngcontent-%COMP%]{font:400 16px/20px Roboto,Helvetica Neue,sans-serif;margin-bottom:32px;opacity:60%}.authorize[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}mat-form-field[_ngcontent-%COMP%]{width:100%}"]}),a})();var rt=_(25022),St=_(34726),qt=_(93935),ot=_(66088),k=_(64979),F=_(80529),pt=_(96213);let ft=(()=>{class a{constructor(o){this.httpClient=o}initialize(o,u,d){return this.httpClient.post("/api/setup",{username:o,password:u,passwordconfirm:u,uid:d},{context:(new F.qT).set(pt.h,!0)})}}return a.\u0275fac=function(o){return new(o||a)(t.LFG(F.eN))},a.\u0275prov=t.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"}),a})();var Et=_(73162);function Nt(a,f){1&a&&(t.TgZ(0,"mat-error"),t._uU(1,"Password is required"),t.qZA())}function Ut(a,f){1&a&&(t.TgZ(0,"mat-error"),t._uU(1,"Passwords must match"),t.qZA())}function Jt(a,f){1&a&&(t.TgZ(0,"mat-error"),t._uU(1,"Password confirmation is required"),t.qZA())}function bt(a,f){if(1&a&&(t.TgZ(0,"div",19)(1,"div",20)(2,"span",21),t._uU(3,"sentiment_dissatisfied"),t.qZA(),t.TgZ(4,"div",22)(5,"div"),t._uU(6),t.qZA(),t.TgZ(7,"div"),t._uU(8),t.qZA()()()()),2&a){const o=t.oxw();t.Q6J("@slide",void 0),t.xp6(6),t.Oqu(null==o.error?null:o.error.title),t.xp6(2),t.Oqu(null==o.error?null:o.error.message)}}let at=(()=>{class a{constructor(o,u){this.userService=o,this.initializeService=u,this.initialized=new t.vpe,this.accountForm=new g.cw({username:new g.NI("",[g.kI.required]),password:new g.NI("",[g.kI.required]),passwordconfirm:new g.NI("",[g.kI.required]),accessCode:new g.NI("",[g.kI.required])}),this.accountForm.controls.password.valueChanges.subscribe(d=>{this.onPasswordChanged(d)})}ngOnInit(){St.Mu.setOptions({dictionary:{...qt.F,...ot.F},graphs:qt.x,translations:k.Z})}onPasswordChanged(o){if(o&&o.length>0){const u=o&&o.length?(0,St.tu)(o,[this.accountForm.value.username]).score:0;this.passwordStrength=rt.A[u]}else this.passwordStrength=rt.A[0]}onInitialize(){const{username:o,password:u,passwordconfirm:d,accessCode:C}=this.accountForm.value;this.accountForm.controls.password.setErrors(u!==d?{match:!0}:u.length<1?{required:!0}:null),this.accountForm.markAllAsTouched(),!this.accountForm.invalid&&this.initializeService.initialize(o,u,C).subscribe({next:()=>{this.userService.signin(o,u).subscribe({next:L=>{this.userService.authorize(L.token,C).subscribe({next:ht=>{this.initialized.emit({token:ht.token})}})}})},error:L=>{this.error={title:"Could not create account",message:L.error}}})}}return a.\u0275fac=function(o){return new(o||a)(t.Y36(P.K),t.Y36(ft))},a.\u0275cmp=t.Xpm({type:a,selectors:[["initialize"]],outputs:{initialized:"initialized"},decls:47,vars:7,consts:[[1,"container"],[1,"welcome"],[1,"welcome__title"],[1,"welcome__message"],[1,"form",3,"formGroup","ngSubmit"],["appearance","fill"],["matInput","","placeholder","Username","formControlName","username","required",""],["matInput","","placeholder","Password","type","password","formControlName","password","required",""],[4,"ngIf"],["matInput","","placeholder","Confirm Password","type","password","formControlName","passwordconfirm","required",""],[1,"password-strength"],[1,"password-strength__text"],[1,"mat-body-1"],[1,"mat-body-2"],["mode","determinate",3,"value"],["matInput","","placeholder","Access Code","type","text","formControlName","accessCode","required",""],[1,"actions"],["mat-flat-button","","color","primary",1,"actions__button"],["class","error-container",4,"ngIf"],[1,"error-container"],[1,"error"],[1,"material-symbols-outlined","error__icon"],[1,"error__message"]],template:function(o,u){1&o&&(t.TgZ(0,"div",0)(1,"div",1)(2,"div",2),t._uU(3,"Admin Account Creation"),t.qZA(),t.TgZ(4,"div",3),t._uU(5,"Create an account to access and administor Mage"),t.qZA()(),t.TgZ(6,"form",4),t.NdJ("ngSubmit",function(){return u.onInitialize()}),t.TgZ(7,"div")(8,"mat-form-field",5)(9,"mat-label"),t._uU(10,"Username"),t.qZA(),t._UZ(11,"input",6),t.TgZ(12,"mat-error"),t._uU(13,"Username is required"),t.qZA()()(),t.TgZ(14,"div")(15,"mat-form-field",5)(16,"mat-label"),t._uU(17,"Password"),t.qZA(),t._UZ(18,"input",7),t.YNc(19,Nt,2,0,"mat-error",8),t.YNc(20,Ut,2,0,"mat-error",8),t.qZA()(),t.TgZ(21,"div")(22,"mat-form-field",5)(23,"mat-label"),t._uU(24,"Confirm Password"),t.qZA(),t._UZ(25,"input",9),t.YNc(26,Jt,2,0,"mat-error",8),t.qZA()(),t.TgZ(27,"div",10)(28,"div",11)(29,"div",12),t._uU(30,"Password Strengh"),t.qZA(),t.TgZ(31,"div",13),t._uU(32),t.qZA()(),t._UZ(33,"mat-progress-bar",14),t.qZA(),t.TgZ(34,"div")(35,"mat-form-field",5)(36,"mat-label"),t._uU(37,"Access Code"),t.qZA(),t._UZ(38,"input",15),t.TgZ(39,"mat-hint"),t._uU(40,"This code will allow users to access Mage via the web client"),t.qZA(),t.TgZ(41,"mat-error"),t._uU(42,"Access code is required"),t.qZA()()(),t.TgZ(43,"div",16)(44,"button",17),t._uU(45,"Create Account"),t.qZA()(),t.YNc(46,bt,9,3,"div",18),t.qZA()()),2&o&&(t.xp6(6),t.Q6J("formGroup",u.accountForm),t.xp6(13),t.Q6J("ngIf",u.accountForm.controls.password.hasError("required")),t.xp6(1),t.Q6J("ngIf",u.accountForm.controls.password.hasError("match")),t.xp6(6),t.Q6J("ngIf",u.accountForm.controls.passwordconfirm.hasError("required")),t.xp6(6),t.Oqu(null==u.passwordStrength?null:u.passwordStrength.text),t.xp6(1),t.Q6J("value",null==u.passwordStrength?null:u.passwordStrength.value),t.xp6(13),t.Q6J("ngIf",u.error))},dependencies:[A.O5,U.lW,T.TO,T.KE,T.bx,T.hX,V.Nt,Et.pW,g._Y,g.Fj,g.JJ,g.JL,g.Q7,g.sg,g.u],styles:['[_nghost-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] a{color:#e53935;cursor:pointer;text-decoration:underline}mat-form-field[_ngcontent-%COMP%]{width:100%;margin-bottom:16px}.container[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;gap:48px;padding-top:32px}.form[_ngcontent-%COMP%]{padding-bottom:16px}.welcome[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:end;color:#1e88e5;height:30vh}.welcome__title[_ngcontent-%COMP%]{margin-bottom:16px;font:400 45px/48px Roboto,Helvetica Neue,sans-serif}.welcome__message[_ngcontent-%COMP%]{font:500 20px/32px Roboto,Helvetica Neue,sans-serif}.password-strength[_ngcontent-%COMP%]{margin-bottom:32px}.password-strength__text[_ngcontent-%COMP%]{margin-bottom:8px}.actions[_ngcontent-%COMP%]{width:100%;display:flex;flex-direction:row;align-items:center;gap:16px;margin-top:16px}.actions__button[_ngcontent-%COMP%]{flex:1}.error-container[_ngcontent-%COMP%]{overflow:hidden}.error[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:24px;color:#e53935;border-radius:4px;padding:0 16px}.error__icon[_ngcontent-%COMP%]{font-size:48px;font-variation-settings:"fill" 0,"wght" 400,"grad" 0,"opsz" 48}.error__message[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex:1;text-align:center;gap:4px}'],data:{animation:[(0,v.X$)("slide",[(0,v.eR)(":enter",[(0,v.oB)({height:"0px",opacity:0}),(0,v.jt)("250ms ease-out",(0,v.oB)({height:"*",opacity:1}))]),(0,v.eR)(":leave",[(0,v.jt)("250ms ease-out",(0,v.oB)({height:"0px",opacity:0}))])])]}}),a})();var rn=_(97392);function on(a,f){1&a&&(t.TgZ(0,"mat-error"),t._uU(1,"Username is required"),t.qZA())}function an(a,f){1&a&&(t.TgZ(0,"mat-error"),t._uU(1,"Username already exists"),t.qZA())}function zt(a,f){1&a&&(t.TgZ(0,"mat-error"),t._uU(1,"Display name is required"),t.qZA())}function q(a,f){1&a&&(t.TgZ(0,"mat-error"),t._uU(1,"Password is required"),t.qZA())}function sn(a,f){1&a&&(t.TgZ(0,"mat-error"),t._uU(1,"Passwords must match"),t.qZA())}function Qt(a,f){1&a&&(t.TgZ(0,"mat-error"),t._uU(1,"Password confirmation is required"),t.qZA())}function w(a,f){1&a&&(t.TgZ(0,"div",25)(1,"div",26)(2,"div",27),t._uU(3,"Generating Captcha..."),t.qZA(),t._UZ(4,"mat-progress-bar",28),t.qZA()())}function cn(a,f){if(1&a&&(t.TgZ(0,"div",29),t._UZ(1,"img",30),t.qZA()),2&a){const o=t.oxw();t.xp6(1),t.s9C("src",o.captcha.uri,t.LSH)}}function Ft(a,f){if(1&a){const o=t.EpF();t.TgZ(0,"div",31)(1,"button",32),t.NdJ("click",function(){t.CHM(o);const d=t.oxw();return t.KtG(d.getCaptcha())}),t.TgZ(2,"mat-icon"),t._uU(3,"refresh"),t.qZA()()()}}function y(a,f){1&a&&(t.TgZ(0,"mat-error"),t._uU(1,"Captcha is required"),t.qZA())}function Dt(a,f){1&a&&(t.TgZ(0,"mat-error"),t._uU(1,"Invalid captcha"),t.qZA())}let kt=(()=>{class a{constructor(o){this.userService=o,this.complete=new t.vpe,this.signup=new g.cw({username:new g.NI("",[g.kI.required]),displayName:new g.NI("",[g.kI.required]),email:new g.NI("",[g.kI.email]),phone:new g.NI(""),password:new g.NI("",[g.kI.required]),passwordconfirm:new g.NI("",[g.kI.required]),captchaText:new g.NI("",[g.kI.required])}),this.loadingCaptcha=!1,this.captcha={}}getCaptcha(){this.loadingCaptcha=!0,this.userService.signup(this.signup.controls.username.value).subscribe(o=>{this.captcha={uri:o.captcha,token:o.token},this.loadingCaptcha=!1})}onCancel(){this.complete.emit({reason:"cancel"})}onSignup(){this.signup.controls.password.setErrors(this.signup.controls.password.value!==this.signup.controls.passwordconfirm.value?{match:!0}:this.signup.controls.password.value.length<1?{required:!0}:null),this.signup.markAllAsTouched(),this.signup.valid&&this.userService.signupVerify(this.signup.value,this.captcha.token).subscribe({next:o=>{this.complete.emit({reason:"signup",user:o})},error:o=>{401===o.status?this.getCaptcha():403===o.status?this.signup.controls.captchaText.setErrors({invalid:!0}):409===o.status&&(this.captcha={},this.signup.controls.username.setErrors({exists:!0}))}})}}return a.\u0275fac=function(o){return new(o||a)(t.Y36(P.K))},a.\u0275cmp=t.Xpm({type:a,selectors:[["signup"]],outputs:{complete:"complete"},decls:66,vars:21,consts:[[1,"signup-container"],[1,"welcome"],[1,"welcome__title"],[1,"welcome__message"],[1,"signup",3,"formGroup"],["appearance","fill"],["matInput","","placeholder","Username","required","",3,"formControl","change"],[4,"ngIf"],["matInput","","placeholder","Display Name","type","text","required","",3,"formControl"],["matInput","","placeholder","Email","type","text",3,"formControl"],["matInput","","placeholder","Phone","type","text",3,"formControl"],["matInput","","placeholder","Password","type","password","required","",3,"formControl"],["matInput","","placeholder","Confirm Password","type","password","required","",3,"formControl"],[1,"password-strength"],[1,"mat-body-1"],[1,"mat-body-2"],["mode","determinate",3,"value"],[1,"auth-captcha-container"],["class","auth-captcha-progress",4,"ngIf"],["class","auth-captcha",4,"ngIf"],["class","auth-captcha-refresh",4,"ngIf"],["matInput","","placeholder","Captcha","type","text","required","",3,"formControl"],[1,"actions"],["mat-stroked-button","",1,"actions__button",3,"click"],["mat-flat-button","","color","primary",1,"actions__button",3,"click"],[1,"auth-captcha-progress"],[1,"auth-captcha-progress__container"],[1,"auth-captcha-progress-text"],["mode","indeterminate",1,"auth-captcha-progressbar"],[1,"auth-captcha"],["alt","","width","100%","height","100%",3,"src"],[1,"auth-captcha-refresh"],["mat-icon-button","",3,"click"]],template:function(o,u){1&o&&(t.TgZ(0,"div",0)(1,"div",1)(2,"div",2),t._uU(3,"New to Mage?"),t.qZA(),t.TgZ(4,"div",3),t._uU(5,"Let's setup your account."),t.qZA()(),t.TgZ(6,"div",4)(7,"div")(8,"mat-form-field",5)(9,"mat-label"),t._uU(10,"Username"),t.qZA(),t.TgZ(11,"input",6),t.NdJ("change",function(){return u.getCaptcha()}),t.qZA(),t.YNc(12,on,2,0,"mat-error",7),t.YNc(13,an,2,0,"mat-error",7),t.qZA()(),t.TgZ(14,"div")(15,"mat-form-field",5)(16,"mat-label"),t._uU(17,"Display Name"),t.qZA(),t._UZ(18,"input",8),t.YNc(19,zt,2,0,"mat-error",7),t.qZA()(),t.TgZ(20,"div")(21,"mat-form-field",5)(22,"mat-label"),t._uU(23,"Email"),t.qZA(),t._UZ(24,"input",9),t.qZA()(),t.TgZ(25,"div")(26,"mat-form-field",5)(27,"mat-label"),t._uU(28,"Phone"),t.qZA(),t._UZ(29,"input",10),t.qZA()(),t.TgZ(30,"div")(31,"mat-form-field",5)(32,"mat-label"),t._uU(33,"Password"),t.qZA(),t._UZ(34,"input",11),t.YNc(35,q,2,0,"mat-error",7),t.YNc(36,sn,2,0,"mat-error",7),t.qZA()(),t.TgZ(37,"div")(38,"mat-form-field",5)(39,"mat-label"),t._uU(40,"Confirm Password"),t.qZA(),t._UZ(41,"input",12),t.YNc(42,Qt,2,0,"mat-error",7),t.qZA()(),t.TgZ(43,"div")(44,"div",13)(45,"div",14),t._uU(46,"Password Strengh"),t.qZA(),t.TgZ(47,"div",15),t._uU(48),t.qZA()(),t._UZ(49,"mat-progress-bar",16),t.qZA(),t.TgZ(50,"div",17),t.YNc(51,w,5,0,"div",18),t.YNc(52,cn,2,1,"div",19),t.YNc(53,Ft,4,0,"div",20),t.qZA(),t.TgZ(54,"div")(55,"mat-form-field",5)(56,"mat-label"),t._uU(57,"Captcha"),t.qZA(),t._UZ(58,"input",21),t.YNc(59,y,2,0,"mat-error",7),t.YNc(60,Dt,2,0,"mat-error",7),t.qZA()(),t.TgZ(61,"div",22)(62,"button",23),t.NdJ("click",function(){return u.onCancel()}),t._uU(63,"Cancel"),t.qZA(),t.TgZ(64,"button",24),t.NdJ("click",function(){return u.onSignup()}),t._uU(65,"Signup"),t.qZA()()()()),2&o&&(t.xp6(6),t.Q6J("formGroup",u.signup),t.xp6(5),t.Q6J("formControl",u.signup.controls.username),t.xp6(1),t.Q6J("ngIf",u.signup.controls.username.hasError("required")),t.xp6(1),t.Q6J("ngIf",u.signup.controls.username.hasError("exists")),t.xp6(5),t.Q6J("formControl",u.signup.controls.displayName),t.xp6(1),t.Q6J("ngIf",u.signup.controls.displayName.hasError("required")),t.xp6(5),t.Q6J("formControl",u.signup.controls.email),t.xp6(5),t.Q6J("formControl",u.signup.controls.phone),t.xp6(5),t.Q6J("formControl",u.signup.controls.password),t.xp6(1),t.Q6J("ngIf",u.signup.controls.password.hasError("required")),t.xp6(1),t.Q6J("ngIf",u.signup.controls.password.hasError("match")),t.xp6(5),t.Q6J("formControl",u.signup.controls.passwordconfirm),t.xp6(1),t.Q6J("ngIf",u.signup.controls.passwordconfirm.hasError("required")),t.xp6(6),t.Oqu(null==u.passwordStrength?null:u.passwordStrength.text),t.xp6(1),t.Q6J("value",null==u.passwordStrength?null:u.passwordStrength.value),t.xp6(2),t.Q6J("ngIf",u.loadingCaptcha),t.xp6(1),t.Q6J("ngIf",u.captcha.uri&&!u.loadingCaptcha),t.xp6(1),t.Q6J("ngIf",u.captcha.uri),t.xp6(5),t.Q6J("formControl",u.signup.controls.captchaText),t.xp6(1),t.Q6J("ngIf",u.signup.controls.captchaText.hasError("required")),t.xp6(1),t.Q6J("ngIf",u.signup.controls.captchaText.hasError("invalid")))},dependencies:[A.O5,U.lW,rn.Hw,T.TO,T.KE,T.hX,V.Nt,Et.pW,g.Fj,g.JJ,g.JL,g.Q7,g.oH,g.sg],styles:["[_nghost-%COMP%]{width:100%;height:100%}mat-form-field[_ngcontent-%COMP%]{width:100%;margin-bottom:8px}.signup-container[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;gap:48px;padding-top:32px}.signup[_ngcontent-%COMP%]{padding-bottom:16px}.welcome[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:end;color:#1e88e5}.welcome__title[_ngcontent-%COMP%]{margin-bottom:16px;font:400 45px/48px Roboto,Helvetica Neue,sans-serif}.welcome__message[_ngcontent-%COMP%]{font:500 20px/32px Roboto,Helvetica Neue,sans-serif}.auth-captcha-container[_ngcontent-%COMP%]{position:relative;border:1px solid rgba(0,0,0,.4);border-radius:4px;padding:4px;width:100%;height:80px;margin:16px 0}.auth-captcha[_ngcontent-%COMP%]{position:absolute;inset:4px 56px}.auth-captcha-progress[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;height:100%}.auth-captcha-progress__container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;margin:0 64px;width:100%}.auth-captcha-progress-text[_ngcontent-%COMP%]{color:#0009;font-size:24px}.auth-captcha-progressbar[_ngcontent-%COMP%]{margin-top:8px}.auth-captcha-refresh[_ngcontent-%COMP%]{position:absolute;right:8px;top:24px}.actions[_ngcontent-%COMP%]{width:100%;display:flex;flex-direction:row;align-items:center;gap:16px;margin-top:16px}.actions__button[_ngcontent-%COMP%]{flex:1}"]}),a})();function dt(a,f){if(1&a){const o=t.EpF();t.TgZ(0,"div",2)(1,"authentication",3),t.NdJ("authenticated",function(d){t.CHM(o);const C=t.oxw();return t.KtG(C.onAuthenticated(d))})("signup",function(){t.CHM(o);const d=t.oxw();return t.KtG(d.onSignup())}),t.qZA()()}if(2&a){const o=t.oxw();t.Q6J("@slide",void 0),t.xp6(1),t.Q6J("landing",o.landing)("api",o.api)}}function Bt(a,f){if(1&a){const o=t.EpF();t.TgZ(0,"div",2)(1,"authorization",4),t.NdJ("authorized",function(d){t.CHM(o);const C=t.oxw();return t.KtG(C.onAuthorized(d))}),t.qZA()()}if(2&a){const o=t.oxw();t.Q6J("@slide",void 0),t.xp6(1),t.Q6J("token",o.getAuthenticationToken())}}function un(a,f){if(1&a){const o=t.EpF();t.TgZ(0,"div",2)(1,"disclaimer",5),t.NdJ("close",function(d){t.CHM(o);const C=t.oxw();return t.KtG(C.onDisclaimer(d))}),t.qZA()()}if(2&a){const o=t.oxw();t.Q6J("@slide",void 0),t.xp6(1),t.Q6J("title",null==o.api||null==o.api.disclaimer?null:o.api.disclaimer.title)("text",null==o.api||null==o.api.disclaimer?null:o.api.disclaimer.text)}}function tt(a,f){if(1&a){const o=t.EpF();t.TgZ(0,"div",2)(1,"signup",6),t.NdJ("complete",function(d){t.CHM(o);const C=t.oxw();return t.KtG(C.signup(d))}),t.qZA()()}2&a&&t.Q6J("@slide",void 0)}function gt(a,f){if(1&a){const o=t.EpF();t.TgZ(0,"div",2)(1,"account-status",7),t.NdJ("complete",function(){t.CHM(o);const d=t.oxw();return t.KtG(d.onAccountStatus())}),t.qZA()()}2&a&&(t.Q6J("@slide",void 0),t.xp6(1),t.Q6J("active",!0))}function mt(a,f){if(1&a){const o=t.EpF();t.TgZ(0,"div",2)(1,"account-status",7),t.NdJ("complete",function(){t.CHM(o);const d=t.oxw();return t.KtG(d.onAccountStatus())}),t.qZA()()}2&a&&(t.Q6J("@slide",void 0),t.xp6(1),t.Q6J("active",!1))}function Lt(a,f){if(1&a){const o=t.EpF();t.TgZ(0,"div",2)(1,"initialize",8),t.NdJ("initialized",function(d){t.CHM(o);const C=t.oxw();return t.KtG(C.onInitialized(d))}),t.qZA()()}2&a&&t.Q6J("@slide",void 0)}var E=(()=>{return(a=E||(E={}))[a.Initialize=0]="Initialize",a[a.Signin=1]="Signin",a[a.Signup=2]="Signup",a[a.Authorization=3]="Authorization",a[a.Disclaimer=4]="Disclaimer",a[a.ActiveAccount=5]="ActiveAccount",a[a.DisabledAccount=6]="DisabledAccount",a[a.InactiveAccount=7]="InactiveAccount",E;var a})();class B{}class st extends B{constructor(){super(...arguments),this.state=E.Signin}}class Rt extends B{constructor(){super(...arguments),this.state=E.Signup}}class ln extends B{constructor(f){super(),this.state=E.Authorization,this.authenticationToken=f}}class pn extends B{constructor(f){super(),this.state=E.Disclaimer,this.apiToken=f}}class fn extends B{constructor(){super(...arguments),this.state=E.ActiveAccount}}class dn extends B{constructor(){super(...arguments),this.state=E.InactiveAccount}}class gn extends B{constructor(){super(...arguments),this.state=E.Initialize}}let W=(()=>{class a{constructor(o,u){this.userService=o,this.localStorageService=u,this.complete=new t.vpe,this.IngressState=E,this.ingress=new st}ngOnChanges(o){!0===o.api?.currentValue?.initial&&(this.ingress=new gn)}localStrategyFilter(o,u){return"local"===u}getAuthenticationToken(){return this.ingress?.authenticationToken}onSignup(){this.ingress=new Rt}signup(o){this.ingress="signup"===o.reason?o.user.active?new fn:new dn:new st}onAuthenticated(o){this.userService.authorize(o.token,"refresh").subscribe({next:u=>{this.authorized(u.token)},error:()=>{this.ingress=new ln(o.token)}})}onAuthorized(o){this.authorized(o.token)}authorized(o){!0===this.api.disclaimer?.show?this.ingress=new pn(o):(this.localStorageService.setToken(o),this.complete.emit())}onDisclaimer(o){o.reason===b.ACCEPT?(this.localStorageService.setToken(this.ingress.apiToken),this.complete.emit()):this.ingress=new st}onAccountStatus(){this.ingress=new st}onInitialized(o){this.localStorageService.setToken(o.token),this.complete.emit()}}return a.\u0275fac=function(o){return new(o||a)(t.Y36(P.K),t.Y36(j.n))},a.\u0275cmp=t.Xpm({type:a,selectors:[["ingress"]],inputs:{api:"api",landing:"landing"},outputs:{complete:"complete"},features:[t.TTD],decls:8,vars:8,consts:[[1,"container"],["class","state",4,"ngIf"],[1,"state"],[3,"landing","api","authenticated","signup"],[3,"token","authorized"],[3,"title","text","close"],[3,"complete"],[3,"active","complete"],[3,"initialized"]],template:function(o,u){1&o&&(t.TgZ(0,"div",0),t.YNc(1,dt,2,3,"div",1),t.YNc(2,Bt,2,2,"div",1),t.YNc(3,un,2,3,"div",1),t.YNc(4,tt,2,1,"div",1),t.YNc(5,gt,2,2,"div",1),t.YNc(6,mt,2,2,"div",1),t.YNc(7,Lt,2,1,"div",1),t.qZA()),2&o&&(t.Q6J("@disableOnEnter",void 0),t.xp6(1),t.Q6J("ngIf",u.ingress.state===u.IngressState.Signin),t.xp6(1),t.Q6J("ngIf",u.ingress.state===u.IngressState.Authorization),t.xp6(1),t.Q6J("ngIf",u.ingress.state===u.IngressState.Disclaimer),t.xp6(1),t.Q6J("ngIf",u.ingress.state===u.IngressState.Signup),t.xp6(1),t.Q6J("ngIf",u.ingress.state===u.IngressState.ActiveAccount),t.xp6(1),t.Q6J("ngIf",u.ingress.state===u.IngressState.InactiveAccount),t.xp6(1),t.Q6J("ngIf",u.ingress.state===u.IngressState.Initialize))},dependencies:[A.O5,z,I,Pt,x,at,kt],styles:["[_nghost-%COMP%]{position:relative}.container[_ngcontent-%COMP%]{width:100%;height:100%;min-height:250px;position:relative}.state[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;justify-content:center;position:absolute;inset:0}"],data:{animation:[(0,v.X$)("disableOnEnter",[(0,v.eR)(":enter",[])]),(0,v.X$)("slide",[(0,v.eR)(":enter",[(0,v.oB)({transform:"translateX(100%)"}),(0,v.jt)("250ms",(0,v.oB)({transform:"translateX(0%)",opacity:1}))]),(0,v.eR)(":leave",[(0,v.jt)("250ms",(0,v.oB)({transform:"translateX(-100%)",opacity:0}))])])]}}),a})()},89024:(Vt,$,_)=>{_.d($,{p:()=>ut});var t=_(36895),U=_(59868),b=_(59549),x=_(44144),v=_(97392),P=_(24006),j=_(73162),A=_(4859),z=_(28383),D=_(94650);let et=(()=>{class O{}return O.\u0275fac=function(Y){return new(Y||O)},O.\u0275mod=D.oAB({type:O}),O.\u0275inj=D.cJS({imports:[t.ez,A.ot,v.Ps,b.lN,x.c,j.Cv,P.UX]}),O})(),ut=(()=>{class O{}return O.\u0275fac=function(Y){return new(Y||O)},O.\u0275mod=D.oAB({type:O}),O.\u0275inj=D.cJS({imports:[et]}),O})();D.B6R(z.h,[U.t],[])},86349:(Vt,$,_)=>{_.d($,{ZP:()=>ui,S6:()=>R,sE:()=>Ht,HK:()=>ee,kJ:()=>k,mf:()=>I,UI:()=>X,CE:()=>re,d1:()=>Wn});var t={};_.r(t),_.d(t,{VERSION:()=>U,after:()=>ze,all:()=>Xn,allKeys:()=>tt,any:()=>$n,assign:()=>C,before:()=>kn,bind:()=>Fn,bindAll:()=>Se,chain:()=>Pe,chunk:()=>si,clone:()=>pe,collect:()=>X,compact:()=>je,compose:()=>be,constant:()=>Ut,contains:()=>K,countBy:()=>Ge,create:()=>le,debounce:()=>Ue,default:()=>ci,defaults:()=>L,defer:()=>Ee,delay:()=>Dn,detect:()=>Ht,difference:()=>ae,drop:()=>Gt,each:()=>R,escape:()=>_e,every:()=>Xn,extend:()=>d,extendOwn:()=>C,filter:()=>ct,find:()=>Ht,findIndex:()=>wn,findKey:()=>Bn,findLastIndex:()=>Rn,findWhere:()=>De,first:()=>In,flatten:()=>ti,foldl:()=>Tn,foldr:()=>Vn,forEach:()=>R,functions:()=>o,get:()=>Nn,groupBy:()=>Ke,has:()=>de,head:()=>In,identity:()=>hn,include:()=>K,includes:()=>K,indexBy:()=>ee,indexOf:()=>Kn,initial:()=>oe,inject:()=>Tn,intersection:()=>ii,invert:()=>f,invoke:()=>ke,isArguments:()=>ft,isArray:()=>k,isArrayBuffer:()=>It,isBoolean:()=>wt,isDataView:()=>ot,isDate:()=>jt,isElement:()=>$t,isEmpty:()=>cn,isEqual:()=>un,isError:()=>nn,isFinite:()=>Et,isFunction:()=>I,isMap:()=>pn,isMatch:()=>Ft,isNaN:()=>Nt,isNull:()=>Xt,isNumber:()=>Tt,isObject:()=>H,isRegExp:()=>tn,isSet:()=>dn,isString:()=>lt,isSymbol:()=>Zt,isTypedArray:()=>zt,isUndefined:()=>At,isWeakMap:()=>fn,isWeakSet:()=>gn,iteratee:()=>vn,keys:()=>w,last:()=>$e,lastIndexOf:()=>Fe,map:()=>X,mapObject:()=>ge,matcher:()=>vt,matches:()=>vt,max:()=>jn,memoize:()=>qe,methods:()=>o,min:()=>Le,mixin:()=>se,negate:()=>An,noop:()=>Jn,now:()=>yt,object:()=>oi,omit:()=>re,once:()=>Qe,pairs:()=>a,partial:()=>Yt,partition:()=>Ve,pick:()=>ie,pluck:()=>Zn,property:()=>_n,propertyOf:()=>me,random:()=>Cn,range:()=>ai,reduce:()=>Tn,reduceRight:()=>Vn,reject:()=>Wn,rest:()=>Gt,restArguments:()=>S,result:()=>Ie,sample:()=>ne,select:()=>ct,shuffle:()=>Ye,size:()=>We,some:()=>$n,sortBy:()=>He,sortedIndex:()=>Yn,tail:()=>Gt,take:()=>In,tap:()=>fe,template:()=>Ze,templateSettings:()=>ye,throttle:()=>Ne,times:()=>he,toArray:()=>te,toPath:()=>En,transpose:()=>On,unescape:()=>Ce,union:()=>ei,uniq:()=>Mn,unique:()=>Mn,uniqueId:()=>Oe,unzip:()=>On,values:()=>W,where:()=>Be,without:()=>ni,wrap:()=>Je,zip:()=>ri});var U="1.13.6",b="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},x=Array.prototype,v=Object.prototype,P=typeof Symbol<"u"?Symbol.prototype:null,j=x.push,A=x.slice,z=v.toString,D=v.hasOwnProperty,et=typeof ArrayBuffer<"u",ut=typeof DataView<"u",O=Array.isArray,G=Object.keys,Y=Object.create,xt=et&&ArrayBuffer.isView,g=isNaN,it=isFinite,T=!{toString:null}.propertyIsEnumerable("toString"),V=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],Wt=Math.pow(2,53)-1;function S(n,e){return e=null==e?n.length-1:+e,function(){for(var i=Math.max(arguments.length-e,0),r=Array(i),c=0;c<i;c++)r[c]=arguments[c+e];switch(e){case 0:return n.call(this,r);case 1:return n.call(this,arguments[0],r);case 2:return n.call(this,arguments[0],arguments[1],r)}var s=Array(e+1);for(c=0;c<e;c++)s[c]=arguments[c];return s[e]=r,n.apply(this,s)}}function H(n){var e=typeof n;return"function"===e||"object"===e&&!!n}function Xt(n){return null===n}function At(n){return void 0===n}function wt(n){return!0===n||!1===n||"[object Boolean]"===z.call(n)}function $t(n){return!(!n||1!==n.nodeType)}function Z(n){var e="[object "+n+"]";return function(i){return z.call(i)===e}}const lt=Z("String"),Tt=Z("Number"),jt=Z("Date"),tn=Z("RegExp"),nn=Z("Error"),Zt=Z("Symbol"),It=Z("ArrayBuffer");var Mt=Z("Function");"object"!=typeof Int8Array&&"function"!=typeof(b.document&&b.document.childNodes)&&(Mt=function(n){return"function"==typeof n||!1});const I=Mt,Ot=Z("Object");var Pt=ut&&Ot(new DataView(new ArrayBuffer(8))),rt=typeof Map<"u"&&Ot(new Map),St=Z("DataView");const ot=Pt?function qt(n){return null!=n&&I(n.getInt8)&&It(n.buffer)}:St,k=O||Z("Array");function F(n,e){return null!=n&&D.call(n,e)}var pt=Z("Arguments");!function(){pt(arguments)||(pt=function(n){return F(n,"callee")})}();const ft=pt;function Et(n){return!Zt(n)&&it(n)&&!isNaN(parseFloat(n))}function Nt(n){return Tt(n)&&g(n)}function Ut(n){return function(){return n}}function Jt(n){return function(e){var i=n(e);return"number"==typeof i&&i>=0&&i<=Wt}}function bt(n){return function(e){return e?.[n]}}const at=bt("byteLength"),rn=Jt(at);var on=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;const zt=et?function an(n){return xt?xt(n)&&!ot(n):rn(n)&&on.test(z.call(n))}:Ut(!1),q=bt("length");function Qt(n,e){e=function sn(n){for(var e={},i=n.length,r=0;r<i;++r)e[n[r]]=!0;return{contains:function(c){return!0===e[c]},push:function(c){return e[c]=!0,n.push(c)}}}(e);var i=V.length,r=n.constructor,c=I(r)&&r.prototype||v,s="constructor";for(F(n,s)&&!e.contains(s)&&e.push(s);i--;)(s=V[i])in n&&n[s]!==c[s]&&!e.contains(s)&&e.push(s)}function w(n){if(!H(n))return[];if(G)return G(n);var e=[];for(var i in n)F(n,i)&&e.push(i);return T&&Qt(n,e),e}function cn(n){if(null==n)return!0;var e=q(n);return"number"==typeof e&&(k(n)||lt(n)||ft(n))?0===e:0===q(w(n))}function Ft(n,e){var i=w(e),r=i.length;if(null==n)return!r;for(var c=Object(n),s=0;s<r;s++){var l=i[s];if(e[l]!==c[l]||!(l in c))return!1}return!0}function y(n){return n instanceof y?n:this instanceof y?void(this._wrapped=