ps-toolkit-ui 0.2.18 → 0.2.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,9 +18,9 @@ export class LoginComponent {
18
18
  ngOnInit() {
19
19
  if (this.login.type === 'Sms') {
20
20
  const sendCodeForm = new FormClass(this.config.environment, this.l, 'SendCode', true, this.login.sendCodeUrl);
21
- const sendCode = new InputClass(this.config.environment, this.l, 'SendCode', 'fa-duotone fa-paper-plane', InputType.Submit);
21
+ const sendCode = new InputClass(this.config.environment, this.l, 'SendCode', 'fa-duotone fa-paper-plane', InputType.Submit, 'h-45');
22
22
  sendCodeForm.subName = 'SendCodeSubTitle';
23
- this.mobile = new InputClass(this.config.environment, this.l, 'Mobile', 'fa-duotone fa-mobile-alt', InputType.Mobile, 'm-b-10 h-45', '', true, 4, 50);
23
+ this.mobile = new InputClass(this.config.environment, this.l, 'Mobile', 'fa-duotone fa-mobile-alt', InputType.Mobile, 'm-b-20 h-45', '', true, 4, 50);
24
24
  sendCodeForm.onSuccess = () => {
25
25
  loginForm.subName = this.l('LoginSmsSubTitle', this.mobile.data());
26
26
  this.mobile.type = InputType.Hidden;
@@ -60,7 +60,7 @@ export class LoginComponent {
60
60
  this.login.steps[0].show();
61
61
  };
62
62
  const code = new InputClass(this.config.environment, this.l, 'Code', 'fa-duotone fa-unlock-alt', InputType.Number, 'm-b-10 h-45', null, true, 1111, 9999);
63
- const labelResend = new InputClass(this.config.environment, this.l, 'ReSendCodeDes', null, InputType.Label, 'comp resend-code');
63
+ const labelResend = new InputClass(this.config.environment, this.l, 'ReSendCodeDes', null, InputType.Label, 'comp resend-code h-45');
64
64
  code.progress = new Progress(120);
65
65
  code.progress.onStart = () => {
66
66
  labelResend.value = null;
@@ -79,7 +79,7 @@ export class LoginComponent {
79
79
  });
80
80
  };
81
81
  code.displayLabel = this.loginTemplate === 'Main';
82
- const login = new InputClass(this.config.environment, this.l, 'LoginSms', 'fa-duotone fa-sign-in-alt', InputType.Submit);
82
+ const login = new InputClass(this.config.environment, this.l, 'LoginSms', 'fa-duotone fa-sign-in-alt', InputType.Submit, 'h-45');
83
83
  loginForm.inputs = [
84
84
  this.mobile,
85
85
  code,
@@ -106,7 +106,7 @@ export class LoginComponent {
106
106
  else if (this.login.type === 'Password') {
107
107
  const loginForm = new FormClass(this.config.environment, this.l, 'LoginPassword', true, this.login.loginUrl);
108
108
  loginForm.subName = 'LoginPasswordSubTitle';
109
- const login = new InputClass(this.config.environment, this.l, 'LoginPassword', 'fa-duotone fa-sign-in-alt', InputType.Submit);
109
+ const login = new InputClass(this.config.environment, this.l, 'LoginPassword', 'fa-duotone fa-sign-in-alt', InputType.Submit, 'h-45');
110
110
  loginForm.onSuccess = (result) => {
111
111
  this.login.setCookie(result);
112
112
  if (this.login.steps.length > 1 && result.CurrentUser === null) {
@@ -118,7 +118,7 @@ export class LoginComponent {
118
118
  }
119
119
  };
120
120
  this.username = new InputClass(this.config.environment, this.l, 'Username', 'fa-duotone fa-user', InputType.Text, 'm-b-10 h-45', '', true, 4, 50);
121
- const password = new InputClass(this.config.environment, this.l, 'Password', 'fa-duotone fa-key', InputType.Password, 'm-b-10 h-45', '', true, 5, 50);
121
+ const password = new InputClass(this.config.environment, this.l, 'Password', 'fa-duotone fa-key', InputType.Password, 'm-b-20 h-45', '', true, 5, 50);
122
122
  this.username.displayLabel = this.loginTemplate === 'Main';
123
123
  password.displayLabel = this.loginTemplate === 'Main';
124
124
  loginForm.inputs = [
@@ -144,7 +144,7 @@ LoginComponent.decorators = [
144
144
  { type: Component, args: [{
145
145
  selector: 'lib-login',
146
146
  template: "<div id=\"LoginMain\" *ngIf=\"loginTemplate == 'Main'\">\r\n <div class=\"triangles\">\r\n <i class=\"triangle triangle-1 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-2 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-3 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-4 fas fa-caret-left\"></i>\r\n </div>\r\n <div class=\"form-c\">\r\n <ng-container *ngFor=\"let step of login.steps; let i = index\">\r\n <div class=\"form\" *ngIf=\"i === login.active\">\r\n <lib-form [form]=step.form></lib-form>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"about-c\">\r\n <div class=\"about\">\r\n <div class=\"info\">\r\n <div class=\"logo\"></div>\r\n <div class=\"title\">\r\n {{ l('Base') }}\r\n </div>\r\n <div class=\"sub-title\">\r\n {{ l('BaseDesc') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"LoginSimple\" *ngIf=\"loginTemplate == 'Simple'\">\r\n <div class=\"form-c\">\r\n <div class=\"title\">{{ l('Base') }}</div>\r\n <ng-container *ngFor=\"let step of login.steps; let i = index\">\r\n <div class=\"form\" *ngIf=\"i === login.active\">\r\n <lib-form [form]=step.form></lib-form>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n",
147
- styles: ["#LoginMain{background-color:#fff;border-radius:5px;float:right;height:calc(100vh - 35px);overflow-y:auto;position:relative;width:100%}#LoginMain .about-c,#LoginMain .form-c{align-items:center;display:flex;float:left;justify-content:center;min-height:calc(100vh - 35px);position:relative;width:50%;z-index:2}#LoginMain .form-c{box-shadow:19px 0 35px -7px rgba(0,0,0,.05)}#LoginMain .form-c .form{margin:0 auto;width:60%}#LoginMain .about,#LoginMain .about .info{border-radius:0 5px 5px 0;float:right;position:relative;width:100%}#LoginMain .about .info{z-index:2}#LoginMain .triangles{border-radius:0 5px 5px 0;height:100%;overflow:hidden;position:absolute;width:100%;z-index:1}#LoginMain .triangles .triangle{color:var(--base);opacity:.1;position:absolute}#LoginMain .triangles .triangle-1{font-size:656px;right:-150px;top:50px}#LoginMain .triangles .triangle-2{font-size:1000px;right:-240px;top:150px}#LoginMain .triangles .triangle-3{font-size:900px;right:-220px;top:-347px}#LoginMain .triangles .triangle-4{font-size:900px;right:-250px;top:450px}#LoginMain .about .logo{background-position:50%;background-repeat:no-repeat;background-size:cover;height:200px;margin:0 auto;position:relative;width:200px}#LoginMain .about .title{float:right;font-family:VazirBold;font-size:25px;font-weight:bolder;height:40px;line-height:40px;margin-top:20px;position:relative;text-align:center;width:100%}#LoginMain .about .sub-title{float:right;font-family:VazirLight;font-size:12px;line-height:30px;margin-right:10%;padding:20px;position:relative;text-align:center;width:80%}::ng-deep #LoginMain .form-c .form .title{float:right;font-family:VazirBold;font-size:25px;height:50px;line-height:50px;margin-bottom:10px;text-align:center;width:100%}::ng-deep #LoginMain .form-c .form .sub-title{color:var(--black-88);float:right;font-family:VazirLight;font-size:12px;height:30px;line-height:30px;width:100%}::ng-deep #LoginMain .form-c .form .title i{color:var(--base);font-size:30px;left:5px;margin-left:5px;position:relative;top:7px}::ng-deep #LoginMain .form-c .form .sub-title{margin-bottom:20px;text-align:center}::ng-deep #LoginMain .form-c .form .sub-title:after{background-image:none!important}#LoginSimple{align-items:center;display:flex;justify-content:center;min-height:100vh;width:100%}#LoginSimple,#LoginSimple .form-c{background-color:#fff;float:right;padding:20px}#LoginSimple .form-c{border:var(--border-base);border-radius:var(--border-radius-base);width:300px}#LoginSimple .form-c .title{color:var(--base);float:right;font-family:VazirBold;font-size:18px;line-height:60px;text-align:center;width:100%}@media (max-width:399.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{width:100%}#LoginMain .about .info{padding:10px 5px 5px}#LoginMain .about .logo{height:100px;width:100px}}@media (min-width:400px) and (max-width:499.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{width:80%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:100px;width:100px}}@media (min-width:500px) and (max-width:599.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{float:right;margin-right:15%;width:70%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:150px;width:150px}}@media (min-width:600px) and (max-width:699.98px){#LoginMain .about-c,#LoginMain .form-c{float:right;width:100%}#LoginMain .form-c .form{float:right;margin-right:15%;width:70%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:150px;width:150px}}@media (min-width:700px) and (max-width:799.98px){#LoginMain .form-c .form{width:90%}}@media (min-width:800px) and (max-width:899.98px){#LoginMain .form-c .form{width:90%}}@media (min-width:900px) and (max-width:999.98px){#LoginMain .form-c .form{width:80%}}@media (min-width:1000px) and (max-width:1099.98px){#LoginMain .form-c .form{width:80%}}@media (min-width:1100px) and (max-width:1199.98px){#LoginMain .form-c .form{width:70%}}@media (min-width:1200px) and (max-width:1299.98px){#LoginMain .form-c .form{width:70%}}"]
147
+ styles: ["#LoginMain{background-color:#fff;border-radius:5px;float:right;height:calc(100vh - 35px);overflow-y:auto;position:relative;width:100%}#LoginMain .about-c,#LoginMain .form-c{align-items:center;display:flex;float:left;justify-content:center;min-height:calc(100vh - 35px);position:relative;width:50%;z-index:2}#LoginMain .form-c{box-shadow:19px 0 35px -7px rgba(0,0,0,.05)}#LoginMain .form-c .form{margin:0 auto;width:60%}#LoginMain .about,#LoginMain .about .info{border-radius:0 5px 5px 0;float:right;position:relative;width:100%}#LoginMain .about .info{z-index:2}#LoginMain .triangles{border-radius:0 5px 5px 0;height:100%;overflow:hidden;position:absolute;width:100%;z-index:1}#LoginMain .triangles .triangle{color:var(--base);opacity:.1;position:absolute}#LoginMain .triangles .triangle-1{font-size:656px;right:-150px;top:50px}#LoginMain .triangles .triangle-2{font-size:1000px;right:-240px;top:150px}#LoginMain .triangles .triangle-3{font-size:900px;right:-220px;top:-347px}#LoginMain .triangles .triangle-4{font-size:900px;right:-250px;top:450px}#LoginMain .about .logo{background-position:50%;background-repeat:no-repeat;background-size:cover;height:200px;margin:0 auto;position:relative;width:200px}#LoginMain .about .title{float:right;font-family:VazirBold;font-size:25px;font-weight:bolder;height:40px;line-height:40px;margin-top:20px;position:relative;text-align:center;width:100%}#LoginMain .about .sub-title{float:right;font-family:VazirLight;font-size:12px;line-height:30px;margin-right:10%;padding:20px;position:relative;text-align:center;width:80%}::ng-deep #LoginMain .form-c .form .title{float:right;font-family:VazirBold;font-size:25px;height:50px;line-height:50px;margin-bottom:10px;text-align:center;width:100%}::ng-deep #LoginMain .form-c .form .sub-title{color:var(--black-88);float:right;font-family:VazirLight;font-size:12px;height:30px;line-height:30px;width:100%}::ng-deep #LoginMain .form-c .form .title i{color:var(--base);font-size:30px;left:5px;margin-left:5px;position:relative;top:7px}::ng-deep #LoginMain .form-c .form .sub-title{margin-bottom:20px;text-align:center}::ng-deep #LoginMain .form-c .form .sub-title:after{background-image:none!important}#LoginSimple{align-items:center;display:flex;justify-content:center;min-height:100vh;width:100%}#LoginSimple,#LoginSimple .form-c{background-color:#fff;float:right;padding:20px}#LoginSimple .form-c{border:var(--border-base);border-radius:var(--border-radius-base);width:400px}#LoginSimple .form-c .title{color:var(--base);float:right;font-family:VazirBold;font-size:18px;line-height:60px;text-align:center;width:100%}@media (max-width:399.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{width:100%}#LoginMain .about .info{padding:10px 5px 5px}#LoginMain .about .logo{height:100px;width:100px}}@media (min-width:400px) and (max-width:499.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{width:80%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:100px;width:100px}}@media (min-width:500px) and (max-width:599.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{float:right;margin-right:15%;width:70%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:150px;width:150px}}@media (min-width:600px) and (max-width:699.98px){#LoginMain .about-c,#LoginMain .form-c{float:right;width:100%}#LoginMain .form-c .form{float:right;margin-right:15%;width:70%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:150px;width:150px}}@media (min-width:700px) and (max-width:799.98px){#LoginMain .form-c .form{width:90%}}@media (min-width:800px) and (max-width:899.98px){#LoginMain .form-c .form{width:90%}}@media (min-width:900px) and (max-width:999.98px){#LoginMain .form-c .form{width:80%}}@media (min-width:1000px) and (max-width:1099.98px){#LoginMain .form-c .form{width:80%}}@media (min-width:1100px) and (max-width:1199.98px){#LoginMain .form-c .form{width:70%}}@media (min-width:1200px) and (max-width:1299.98px){#LoginMain .form-c .form{width:70%}}"]
148
148
  },] }
149
149
  ];
150
150
  LoginComponent.ctorParameters = () => [
@@ -154,4 +154,4 @@ LoginComponent.propDecorators = {
154
154
  login: [{ type: Input }],
155
155
  loginTemplate: [{ type: Input }]
156
156
  };
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbkQsT0FBTyxFQUFhLGNBQWMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFPdkUsTUFBTSxPQUFPLGNBQWM7SUFRekIsWUFBbUIsTUFBZ0M7UUFBaEMsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7UUFKbkQsa0JBQWEsR0FBRyxNQUFNLENBQUM7UUFLckIsTUFBTSxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQVcsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFVLEVBQUU7WUFDekMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdD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O1lBTk8sd0JBQXdCOzs7b0JBUTdCLEtBQUs7NEJBRUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtMYW5nQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvbGFuZy5jbGFzcyc7XHJcbmltcG9ydCB7TG9naW5DbGFzcywgTG9naW5TdGVwQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvbG9naW4uY2xhc3MnO1xyXG5pbXBvcnQge0Zvcm1DbGFzcywgSW5wdXRDbGFzcywgUHJvZ3Jlc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRFcnJvciwgSW5wdXRUeXBlLCBNZXRob2R9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7UmVxdWVzdENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL3JlcXVlc3QuY2xhc3MnO1xyXG5pbXBvcnQge0hlbHBlckNsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2hlbHBlci5jbGFzcyc7XHJcbmltcG9ydCB7UHNUb29sa2l0VWlDb25maWdTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbGliLWxvZ2luJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9sb2dpbi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBJbnB1dCgpXHJcbiAgbG9naW46IExvZ2luQ2xhc3M7XHJcbiAgQElucHV0KClcclxuICBsb2dpblRlbXBsYXRlID0gJ01haW4nO1xyXG4gIG1vYmlsZTogSW5wdXRDbGFzcztcclxuICB1c2VybmFtZTogSW5wdXRDbGFzcztcclxuICBsOiAoaywgdj8pID0+IHN0cmluZztcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnOiBQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2Upe1xyXG4gICAgY29uc3QgbGFuZyA9IG5ldyBMYW5nQ2xhc3MoY29uZmlnLmN1cnJlbnRMYW5nLCBjb25maWcuc3RyaW5ncyk7XHJcbiAgICB0aGlzLmwgPSAoa2V5OiBzdHJpbmcsIHYgPSBudWxsKTogc3RyaW5nID0+IHtcclxuICAgICAgcmV0dXJuIGxhbmcuZ2V0KCdQdWJsaWMnLCAnTG9naW4nLCBrZXksIHYpO1xyXG4gICAgfTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5sb2dpbi50eXBlID09PSAnU21zJyl7XHJcbiAgICAgIGNvbnN0IHNlbmRDb2RlRm9ybSA9IG5ldyBGb3JtQ2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ1NlbmRDb2RlJywgdHJ1ZSwgdGhpcy5sb2dpbi5zZW5kQ29kZVVybCk7XHJcbiAgICAgIGNvbnN0IHNlbmRDb2RlID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ1NlbmRDb2RlJywgJ2ZhLWR1b3RvbmUgZmEtcGFwZXItcGxhbmUnLCBJbnB1dFR5cGUuU3VibWl0KTtcclxuICAgICAgc2VuZENvZGVGb3JtLnN1Yk5hbWUgPSAnU2VuZENvZGVTdWJUaXRsZSc7XHJcbiAgICAgIHRoaXMubW9iaWxlID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ01vYmlsZScsXHJcbiAgICAgICAgJ2ZhLWR1b3RvbmUgZmEtbW9iaWxlLWFsdCcsIElucHV0VHlwZS5Nb2JpbGUsICdtLWItMTAgaC00NScsICcnLCB0cnVlLCA0LCA1MCk7XHJcbiAgICAgIHNlbmRDb2RlRm9ybS5vblN1Y2Nlc3MgPSAoKSA9PiB7XHJcbiAgICAgICAgbG9naW5Gb3JtLnN1Yk5hbWUgPSB0aGlzLmwoJ0xvZ2luU21zU3ViVGl0bGUnLCB0aGlzLm1vYmlsZS5kYXRhKCkpO1xyXG4gICAgICAgIHRoaXMubW9iaWxlLnR5cGUgPSBJbnB1dFR5cGUuSGlkZGVuO1xyXG4gICAgICAgIGNvZGUucHJvZ3Jlc3Muc3RhcnQoKTtcclxuICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzFdLnNob3coKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIGNvZGUuZm9jdXMoKTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLm1vYmlsZS5kaXNwbGF5TGFiZWwgPSB0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdNYWluJztcclxuICAgICAgc2VuZENvZGVGb3JtLmlucHV0cyA9IFtcclxuICAgICAgICB0aGlzLm1vYmlsZSxcclxuICAgICAgICBzZW5kQ29kZVxyXG4gICAgICBdO1xyXG4gICAgICBzZW5kQ29kZS5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIHNlbmRDb2RlRm9ybS5zdWJtaXQoKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgbG9naW5Gb3JtID0gbmV3IEZvcm1DbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sLCAnTG9naW5TbXMnLCB0cnVlLCB0aGlzLmxvZ2luLmxvZ2luVXJsKTtcclxuICAgICAgbG9naW5Gb3JtLnN1Yk5hbWUgPSB0aGlzLmwoJ0xvZ2luU21zU3ViVGl0bGUnLCAnJyk7XHJcbiAgICAgIGxvZ2luRm9ybS5vblN1Y2Nlc3MgPSAocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5zZXRDb29raWUocmVzdWx0KTtcclxuICAgICAgICBpZiAodGhpcy5sb2dpbi5zdGVwcy5sZW5ndGggPiAyICYmIHJlc3VsdC5DdXJyZW50VXNlciA9PT0gbnVsbCl7XHJcbiAgICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzJdLnNob3cocmVzdWx0LlN0ZXBEYXRhKTtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge3RoaXMubG9naW4uc3RlcHNbMl0uZm9ybS5pbnB1dHMuZmluZCh4ID0+IHRydWUpLmZvY3VzKCk7IH0sIDEwMCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubG9naW4ub25TdWNjZXNzKHJlc3VsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICBsb2dpbkZvcm0ub25GYWlsZWQgPSAobXNnKSA9PiB7XHJcbiAgICAgICAgY29kZS5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMubW9iaWxlLmVycm9yID0gSW5wdXRFcnJvci5Ob3RFeGlzdDtcclxuICAgICAgICB0aGlzLm1vYmlsZS50eXBlID0gSW5wdXRUeXBlLk1vYmlsZTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMubW9iaWxlLmZvY3VzKCk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzBdLnNob3coKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgY29kZSA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmwsICdDb2RlJyxcclxuICAgICAgICAnZmEtZHVvdG9uZSBmYS11bmxvY2stYWx0JywgSW5wdXRUeXBlLk51bWJlciwgJ20tYi0xMCBoLTQ1JywgbnVsbCwgdHJ1ZSwgMTExMSwgOTk5OSk7XHJcbiAgICAgIGNvbnN0IGxhYmVsUmVzZW5kID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ1JlU2VuZENvZGVEZXMnLFxyXG4gICAgICAgIG51bGwsIElucHV0VHlwZS5MYWJlbCwgJ2NvbXAgcmVzZW5kLWNvZGUnKTtcclxuICAgICAgY29kZS5wcm9ncmVzcyA9IG5ldyBQcm9ncmVzcygxMjApO1xyXG4gICAgICBjb2RlLnByb2dyZXNzLm9uU3RhcnQgPSAoKSA9PiB7XHJcbiAgICAgICAgbGFiZWxSZXNlbmQudmFsdWUgPSBudWxsO1xyXG4gICAgICB9O1xyXG4gICAgICBjb2RlLnByb2dyZXNzLm9uRW5kID0gKCkgPT4ge1xyXG4gICAgICAgIGxhYmVsUmVzZW5kLnZhbHVlID0gJ1JlU2VuZENvZGVEZXMnO1xyXG4gICAgICB9O1xyXG4gICAgICBsYWJlbFJlc2VuZC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIGxhYmVsUmVzZW5kLm5hbWUgPSAnKCcgKyB0aGlzLmwoJ0xvYWRpbmdDb21wJywgJ1NlbmQnKSArICcpJztcclxuICAgICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50KS5zZW5kKHRoaXMubG9naW4ucmVTZW5kQ29kZVVybCwgTWV0aG9kLlBvc3QsIGxvZ2luRm9ybS5kYXRhKCksIG51bGwsICgpID0+IHtcclxuICAgICAgICAgIGxhYmVsUmVzZW5kLm5hbWUgPSAnUmVTZW5kQ29kZURlcyc7XHJcbiAgICAgICAgICBjb2RlLnByb2dyZXNzLnN0YXJ0KCk7XHJcbiAgICAgICAgfSwgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICBIZWxwZXJDbGFzcy5hZGROb3RpZmljYXRpb24odGhpcy5sKGVycm9yKSk7XHJcbiAgICAgICAgICBsYWJlbFJlc2VuZC5uYW1lID0gJ1JlU2VuZENvZGVEZXMnO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG4gICAgICBjb2RlLmRpc3BsYXlMYWJlbCA9IHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ01haW4nO1xyXG4gICAgICBjb25zdCBsb2dpbiA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmwsICdMb2dpblNtcycsICdmYS1kdW90b25lIGZhLXNpZ24taW4tYWx0JywgSW5wdXRUeXBlLlN1Ym1pdCk7XHJcbiAgICAgIGxvZ2luRm9ybS5pbnB1dHMgPSBbXHJcbiAgICAgICAgdGhpcy5tb2JpbGUsXHJcbiAgICAgICAgY29kZSxcclxuICAgICAgICBsYWJlbFJlc2VuZCxcclxuICAgICAgICBsb2dpblxyXG4gICAgICBdO1xyXG4gICAgICBsb2dpbi5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIGxvZ2luRm9ybS5zdWJtaXQoKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgbG9naW5TdGVwID0gbmV3IExvZ2luU3RlcENsYXNzKGxvZ2luRm9ybSk7XHJcbiAgICAgIGxvZ2luU3RlcC5zaG93ID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uYWN0aXZlID0gMTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3Qgc2VuZENvZGVTdGVwID0gbmV3IExvZ2luU3RlcENsYXNzKHNlbmRDb2RlRm9ybSk7XHJcbiAgICAgIHNlbmRDb2RlU3RlcC5zaG93ID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uYWN0aXZlID0gMDtcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5sb2dpbi5zdGVwcy51bnNoaWZ0KGxvZ2luU3RlcCk7XHJcbiAgICAgIHRoaXMubG9naW4uc3RlcHMudW5zaGlmdChzZW5kQ29kZVN0ZXApO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLm1vYmlsZS5mb2N1cygpO1xyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmxvZ2luLnR5cGUgPT09ICdQYXNzd29yZCcpe1xyXG4gICAgICBjb25zdCBsb2dpbkZvcm0gPSBuZXcgRm9ybUNsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmwsICdMb2dpblBhc3N3b3JkJywgdHJ1ZSwgdGhpcy5sb2dpbi5sb2dpblVybCk7XHJcbiAgICAgIGxvZ2luRm9ybS5zdWJOYW1lID0gJ0xvZ2luUGFzc3dvcmRTdWJUaXRsZSc7XHJcbiAgICAgIGNvbnN0IGxvZ2luID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ0xvZ2luUGFzc3dvcmQnLCAnZmEtZHVvdG9uZSBmYS1zaWduLWluLWFsdCcsIElucHV0VHlwZS5TdWJtaXQpO1xyXG4gICAgICBsb2dpbkZvcm0ub25TdWNjZXNzID0gKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uc2V0Q29va2llKHJlc3VsdCk7XHJcbiAgICAgICAgaWYgKHRoaXMubG9naW4uc3RlcHMubGVuZ3RoID4gMSAmJiByZXN1bHQuQ3VycmVudFVzZXIgPT09IG51bGwpe1xyXG4gICAgICAgICAgdGhpcy5sb2dpbi5zdGVwc1sxXS5zaG93KHJlc3VsdC5TdGVwRGF0YSk7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHt0aGlzLmxvZ2luLnN0ZXBzWzFdLmZvcm0uaW5wdXRzLmZpbmQoeCA9PiB0cnVlKS5mb2N1cygpOyB9LCAxMDApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2luLm9uU3VjY2VzcyhyZXN1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgICAgdGhpcy51c2VybmFtZSA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmwsICdVc2VybmFtZScsXHJcbiAgICAgICAgJ2ZhLWR1b3RvbmUgZmEtdXNlcicsIElucHV0VHlwZS5UZXh0LCAnbS1iLTEwIGgtNDUnLCAnJywgdHJ1ZSwgNCwgNTApO1xyXG5cclxuICAgICAgY29uc3QgcGFzc3dvcmQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sLCAnUGFzc3dvcmQnLCAnZmEtZHVvdG9uZSBmYS1rZXknLCBJbnB1dFR5cGUuUGFzc3dvcmQsICdtLWItMTAgaC00NScsICcnLCB0cnVlLCA1LCA1MClcclxuICAgICAgdGhpcy51c2VybmFtZS5kaXNwbGF5TGFiZWwgPSB0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdNYWluJztcclxuICAgICAgcGFzc3dvcmQuZGlzcGxheUxhYmVsID0gdGhpcy5sb2dpblRlbXBsYXRlID09PSAnTWFpbic7XHJcbiAgICAgIGxvZ2luRm9ybS5pbnB1dHMgPSBbXHJcbiAgICAgICAgdGhpcy51c2VybmFtZSxcclxuICAgICAgICBwYXNzd29yZCxcclxuICAgICAgICBsb2dpblxyXG4gICAgICBdO1xyXG4gICAgICBsb2dpbi5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIGxvZ2luRm9ybS5zdWJtaXQoKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgbG9naW5TdGVwID0gbmV3IExvZ2luU3RlcENsYXNzKGxvZ2luRm9ybSk7XHJcbiAgICAgIGxvZ2luU3RlcC5zaG93ID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uYWN0aXZlID0gMDtcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5sb2dpbi5zdGVwcy51bnNoaWZ0KGxvZ2luU3RlcCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudXNlcm5hbWUuZm9jdXMoKTtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbkQsT0FBTyxFQUFhLGNBQWMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFPdkUsTUFBTSxPQUFPLGNBQWM7SUFRekIsWUFBbUIsTUFBZ0M7UUFBaEMsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7UUFKbkQsa0JBQWEsR0FBRyxNQUFNLENBQUM7UUFLckIsTUFBTSxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQVcsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFVLEVBQUU7WUFDekMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdD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LFdBQVc7Z0JBQ3JCLDYwQ0FBcUM7O2FBRXhDOzs7WUFOTyx3QkFBd0I7OztvQkFRN0IsS0FBSzs0QkFFTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0xhbmdDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9sYW5nLmNsYXNzJztcclxuaW1wb3J0IHtMb2dpbkNsYXNzLCBMb2dpblN0ZXBDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9sb2dpbi5jbGFzcyc7XHJcbmltcG9ydCB7Rm9ybUNsYXNzLCBJbnB1dENsYXNzLCBQcm9ncmVzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3JtLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dEVycm9yLCBJbnB1dFR5cGUsIE1ldGhvZH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtSZXF1ZXN0Q2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvcmVxdWVzdC5jbGFzcyc7XHJcbmltcG9ydCB7SGVscGVyQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvaGVscGVyLmNsYXNzJztcclxuaW1wb3J0IHtQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWItbG9naW4nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2xvZ2luLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgQElucHV0KClcclxuICBsb2dpbjogTG9naW5DbGFzcztcclxuICBASW5wdXQoKVxyXG4gIGxvZ2luVGVtcGxhdGUgPSAnTWFpbic7XHJcbiAgbW9iaWxlOiBJbnB1dENsYXNzO1xyXG4gIHVzZXJuYW1lOiBJbnB1dENsYXNzO1xyXG4gIGw6IChrLCB2PykgPT4gc3RyaW5nO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWc6IFBzVG9vbGtpdFVpQ29uZmlnU2VydmljZSl7XHJcbiAgICBjb25zdCBsYW5nID0gbmV3IExhbmdDbGFzcyhjb25maWcuY3VycmVudExhbmcsIGNvbmZpZy5zdHJpbmdzKTtcclxuICAgIHRoaXMubCA9IChrZXk6IHN0cmluZywgdiA9IG51bGwpOiBzdHJpbmcgPT4ge1xyXG4gICAgICByZXR1cm4gbGFuZy5nZXQoJ1B1YmxpYycsICdMb2dpbicsIGtleSwgdik7XHJcbiAgICB9O1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmxvZ2luLnR5cGUgPT09ICdTbXMnKXtcclxuICAgICAgY29uc3Qgc2VuZENvZGVGb3JtID0gbmV3IEZvcm1DbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sLCAnU2VuZENvZGUnLCB0cnVlLCB0aGlzLmxvZ2luLnNlbmRDb2RlVXJsKTtcclxuICAgICAgY29uc3Qgc2VuZENvZGUgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sLCAnU2VuZENvZGUnLCAnZmEtZHVvdG9uZSBmYS1wYXBlci1wbGFuZScsIElucHV0VHlwZS5TdWJtaXQsICdoLTQ1Jyk7XHJcbiAgICAgIHNlbmRDb2RlRm9ybS5zdWJOYW1lID0gJ1NlbmRDb2RlU3ViVGl0bGUnO1xyXG4gICAgICB0aGlzLm1vYmlsZSA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmwsICdNb2JpbGUnLFxyXG4gICAgICAgICdmYS1kdW90b25lIGZhLW1vYmlsZS1hbHQnLCBJbnB1dFR5cGUuTW9iaWxlLCAnbS1iLTIwIGgtNDUnLCAnJywgdHJ1ZSwgNCwgNTApO1xyXG4gICAgICBzZW5kQ29kZUZvcm0ub25TdWNjZXNzID0gKCkgPT4ge1xyXG4gICAgICAgIGxvZ2luRm9ybS5zdWJOYW1lID0gdGhpcy5sKCdMb2dpblNtc1N1YlRpdGxlJywgdGhpcy5tb2JpbGUuZGF0YSgpKTtcclxuICAgICAgICB0aGlzLm1vYmlsZS50eXBlID0gSW5wdXRUeXBlLkhpZGRlbjtcclxuICAgICAgICBjb2RlLnByb2dyZXNzLnN0YXJ0KCk7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5zdGVwc1sxXS5zaG93KCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICBjb2RlLmZvY3VzKCk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5tb2JpbGUuZGlzcGxheUxhYmVsID0gdGhpcy5sb2dpblRlbXBsYXRlID09PSAnTWFpbic7XHJcbiAgICAgIHNlbmRDb2RlRm9ybS5pbnB1dHMgPSBbXHJcbiAgICAgICAgdGhpcy5tb2JpbGUsXHJcbiAgICAgICAgc2VuZENvZGVcclxuICAgICAgXTtcclxuICAgICAgc2VuZENvZGUub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICBzZW5kQ29kZUZvcm0uc3VibWl0KCk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IGxvZ2luRm9ybSA9IG5ldyBGb3JtQ2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ0xvZ2luU21zJywgdHJ1ZSwgdGhpcy5sb2dpbi5sb2dpblVybCk7XHJcbiAgICAgIGxvZ2luRm9ybS5zdWJOYW1lID0gdGhpcy5sKCdMb2dpblNtc1N1YlRpdGxlJywgJycpO1xyXG4gICAgICBsb2dpbkZvcm0ub25TdWNjZXNzID0gKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uc2V0Q29va2llKHJlc3VsdCk7XHJcbiAgICAgICAgaWYgKHRoaXMubG9naW4uc3RlcHMubGVuZ3RoID4gMiAmJiByZXN1bHQuQ3VycmVudFVzZXIgPT09IG51bGwpe1xyXG4gICAgICAgICAgdGhpcy5sb2dpbi5zdGVwc1syXS5zaG93KHJlc3VsdC5TdGVwRGF0YSk7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHt0aGlzLmxvZ2luLnN0ZXBzWzJdLmZvcm0uaW5wdXRzLmZpbmQoeCA9PiB0cnVlKS5mb2N1cygpOyB9LCAxMDApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2luLm9uU3VjY2VzcyhyZXN1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgICAgbG9naW5Gb3JtLm9uRmFpbGVkID0gKG1zZykgPT4ge1xyXG4gICAgICAgIGNvZGUuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLm1vYmlsZS5lcnJvciA9IElucHV0RXJyb3IuTm90RXhpc3Q7XHJcbiAgICAgICAgdGhpcy5tb2JpbGUudHlwZSA9IElucHV0VHlwZS5Nb2JpbGU7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm1vYmlsZS5mb2N1cygpO1xyXG4gICAgICAgIH0sIDEwMCk7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5zdGVwc1swXS5zaG93KCk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IGNvZGUgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sLCAnQ29kZScsXHJcbiAgICAgICAgJ2ZhLWR1b3RvbmUgZmEtdW5sb2NrLWFsdCcsIElucHV0VHlwZS5OdW1iZXIsICdtLWItMTAgaC00NScsIG51bGwsIHRydWUsIDExMTEsIDk5OTkpO1xyXG4gICAgICBjb25zdCBsYWJlbFJlc2VuZCA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmwsICdSZVNlbmRDb2RlRGVzJywgbnVsbCwgSW5wdXRUeXBlLkxhYmVsLCAnY29tcCByZXNlbmQtY29kZSBoLTQ1Jyk7XHJcbiAgICAgIGNvZGUucHJvZ3Jlc3MgPSBuZXcgUHJvZ3Jlc3MoMTIwKTtcclxuICAgICAgY29kZS5wcm9ncmVzcy5vblN0YXJ0ID0gKCkgPT4ge1xyXG4gICAgICAgIGxhYmVsUmVzZW5kLnZhbHVlID0gbnVsbDtcclxuICAgICAgfTtcclxuICAgICAgY29kZS5wcm9ncmVzcy5vbkVuZCA9ICgpID0+IHtcclxuICAgICAgICBsYWJlbFJlc2VuZC52YWx1ZSA9ICdSZVNlbmRDb2RlRGVzJztcclxuICAgICAgfTtcclxuICAgICAgbGFiZWxSZXNlbmQub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICBsYWJlbFJlc2VuZC5uYW1lID0gJygnICsgdGhpcy5sKCdMb2FkaW5nQ29tcCcsICdTZW5kJykgKyAnKSc7XHJcbiAgICAgICAgbmV3IFJlcXVlc3RDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCkuc2VuZCh0aGlzLmxvZ2luLnJlU2VuZENvZGVVcmwsIE1ldGhvZC5Qb3N0LCBsb2dpbkZvcm0uZGF0YSgpLCBudWxsLCAoKSA9PiB7XHJcbiAgICAgICAgICBsYWJlbFJlc2VuZC5uYW1lID0gJ1JlU2VuZENvZGVEZXMnO1xyXG4gICAgICAgICAgY29kZS5wcm9ncmVzcy5zdGFydCgpO1xyXG4gICAgICAgIH0sIChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgSGVscGVyQ2xhc3MuYWRkTm90aWZpY2F0aW9uKHRoaXMubChlcnJvcikpO1xyXG4gICAgICAgICAgbGFiZWxSZXNlbmQubmFtZSA9ICdSZVNlbmRDb2RlRGVzJztcclxuICAgICAgICB9KTtcclxuICAgICAgfTtcclxuICAgICAgY29kZS5kaXNwbGF5TGFiZWwgPSB0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdNYWluJztcclxuICAgICAgY29uc3QgbG9naW4gPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sLCAnTG9naW5TbXMnLCAnZmEtZHVvdG9uZSBmYS1zaWduLWluLWFsdCcsIElucHV0VHlwZS5TdWJtaXQsICdoLTQ1Jyk7XHJcbiAgICAgIGxvZ2luRm9ybS5pbnB1dHMgPSBbXHJcbiAgICAgICAgdGhpcy5tb2JpbGUsXHJcbiAgICAgICAgY29kZSxcclxuICAgICAgICBsYWJlbFJlc2VuZCxcclxuICAgICAgICBsb2dpblxyXG4gICAgICBdO1xyXG4gICAgICBsb2dpbi5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIGxvZ2luRm9ybS5zdWJtaXQoKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgbG9naW5TdGVwID0gbmV3IExvZ2luU3RlcENsYXNzKGxvZ2luRm9ybSk7XHJcbiAgICAgIGxvZ2luU3RlcC5zaG93ID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uYWN0aXZlID0gMTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3Qgc2VuZENvZGVTdGVwID0gbmV3IExvZ2luU3RlcENsYXNzKHNlbmRDb2RlRm9ybSk7XHJcbiAgICAgIHNlbmRDb2RlU3RlcC5zaG93ID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uYWN0aXZlID0gMDtcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5sb2dpbi5zdGVwcy51bnNoaWZ0KGxvZ2luU3RlcCk7XHJcbiAgICAgIHRoaXMubG9naW4uc3RlcHMudW5zaGlmdChzZW5kQ29kZVN0ZXApO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLm1vYmlsZS5mb2N1cygpO1xyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmxvZ2luLnR5cGUgPT09ICdQYXNzd29yZCcpe1xyXG4gICAgICBjb25zdCBsb2dpbkZvcm0gPSBuZXcgRm9ybUNsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmwsICdMb2dpblBhc3N3b3JkJywgdHJ1ZSwgdGhpcy5sb2dpbi5sb2dpblVybCk7XHJcbiAgICAgIGxvZ2luRm9ybS5zdWJOYW1lID0gJ0xvZ2luUGFzc3dvcmRTdWJUaXRsZSc7XHJcbiAgICAgIGNvbnN0IGxvZ2luID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ0xvZ2luUGFzc3dvcmQnLCAnZmEtZHVvdG9uZSBmYS1zaWduLWluLWFsdCcsIElucHV0VHlwZS5TdWJtaXQsICdoLTQ1Jyk7XHJcbiAgICAgIGxvZ2luRm9ybS5vblN1Y2Nlc3MgPSAocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5zZXRDb29raWUocmVzdWx0KTtcclxuICAgICAgICBpZiAodGhpcy5sb2dpbi5zdGVwcy5sZW5ndGggPiAxICYmIHJlc3VsdC5DdXJyZW50VXNlciA9PT0gbnVsbCl7XHJcbiAgICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzFdLnNob3cocmVzdWx0LlN0ZXBEYXRhKTtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge3RoaXMubG9naW4uc3RlcHNbMV0uZm9ybS5pbnB1dHMuZmluZCh4ID0+IHRydWUpLmZvY3VzKCk7IH0sIDEwMCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubG9naW4ub25TdWNjZXNzKHJlc3VsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnVzZXJuYW1lID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubCwgJ1VzZXJuYW1lJyxcclxuICAgICAgICAnZmEtZHVvdG9uZSBmYS11c2VyJywgSW5wdXRUeXBlLlRleHQsICdtLWItMTAgaC00NScsICcnLCB0cnVlLCA0LCA1MCk7XHJcblxyXG4gICAgICBjb25zdCBwYXNzd29yZCA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmwsICdQYXNzd29yZCcsICdmYS1kdW90b25lIGZhLWtleScsIElucHV0VHlwZS5QYXNzd29yZCwgJ20tYi0yMCBoLTQ1JywgJycsIHRydWUsIDUsIDUwKVxyXG4gICAgICB0aGlzLnVzZXJuYW1lLmRpc3BsYXlMYWJlbCA9IHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ01haW4nO1xyXG4gICAgICBwYXNzd29yZC5kaXNwbGF5TGFiZWwgPSB0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdNYWluJztcclxuICAgICAgbG9naW5Gb3JtLmlucHV0cyA9IFtcclxuICAgICAgICB0aGlzLnVzZXJuYW1lLFxyXG4gICAgICAgIHBhc3N3b3JkLFxyXG4gICAgICAgIGxvZ2luXHJcbiAgICAgIF07XHJcbiAgICAgIGxvZ2luLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgbG9naW5Gb3JtLnN1Ym1pdCgpO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBsb2dpblN0ZXAgPSBuZXcgTG9naW5TdGVwQ2xhc3MobG9naW5Gb3JtKTtcclxuICAgICAgbG9naW5TdGVwLnNob3cgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5hY3RpdmUgPSAwO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmxvZ2luLnN0ZXBzLnVuc2hpZnQobG9naW5TdGVwKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy51c2VybmFtZS5mb2N1cygpO1xyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -5721,9 +5721,9 @@ class LoginComponent {
5721
5721
  ngOnInit() {
5722
5722
  if (this.login.type === 'Sms') {
5723
5723
  const sendCodeForm = new FormClass(this.config.environment, this.l, 'SendCode', true, this.login.sendCodeUrl);
5724
- const sendCode = new InputClass(this.config.environment, this.l, 'SendCode', 'fa-duotone fa-paper-plane', InputType.Submit);
5724
+ const sendCode = new InputClass(this.config.environment, this.l, 'SendCode', 'fa-duotone fa-paper-plane', InputType.Submit, 'h-45');
5725
5725
  sendCodeForm.subName = 'SendCodeSubTitle';
5726
- this.mobile = new InputClass(this.config.environment, this.l, 'Mobile', 'fa-duotone fa-mobile-alt', InputType.Mobile, 'm-b-10 h-45', '', true, 4, 50);
5726
+ this.mobile = new InputClass(this.config.environment, this.l, 'Mobile', 'fa-duotone fa-mobile-alt', InputType.Mobile, 'm-b-20 h-45', '', true, 4, 50);
5727
5727
  sendCodeForm.onSuccess = () => {
5728
5728
  loginForm.subName = this.l('LoginSmsSubTitle', this.mobile.data());
5729
5729
  this.mobile.type = InputType.Hidden;
@@ -5763,7 +5763,7 @@ class LoginComponent {
5763
5763
  this.login.steps[0].show();
5764
5764
  };
5765
5765
  const code = new InputClass(this.config.environment, this.l, 'Code', 'fa-duotone fa-unlock-alt', InputType.Number, 'm-b-10 h-45', null, true, 1111, 9999);
5766
- const labelResend = new InputClass(this.config.environment, this.l, 'ReSendCodeDes', null, InputType.Label, 'comp resend-code');
5766
+ const labelResend = new InputClass(this.config.environment, this.l, 'ReSendCodeDes', null, InputType.Label, 'comp resend-code h-45');
5767
5767
  code.progress = new Progress(120);
5768
5768
  code.progress.onStart = () => {
5769
5769
  labelResend.value = null;
@@ -5782,7 +5782,7 @@ class LoginComponent {
5782
5782
  });
5783
5783
  };
5784
5784
  code.displayLabel = this.loginTemplate === 'Main';
5785
- const login = new InputClass(this.config.environment, this.l, 'LoginSms', 'fa-duotone fa-sign-in-alt', InputType.Submit);
5785
+ const login = new InputClass(this.config.environment, this.l, 'LoginSms', 'fa-duotone fa-sign-in-alt', InputType.Submit, 'h-45');
5786
5786
  loginForm.inputs = [
5787
5787
  this.mobile,
5788
5788
  code,
@@ -5809,7 +5809,7 @@ class LoginComponent {
5809
5809
  else if (this.login.type === 'Password') {
5810
5810
  const loginForm = new FormClass(this.config.environment, this.l, 'LoginPassword', true, this.login.loginUrl);
5811
5811
  loginForm.subName = 'LoginPasswordSubTitle';
5812
- const login = new InputClass(this.config.environment, this.l, 'LoginPassword', 'fa-duotone fa-sign-in-alt', InputType.Submit);
5812
+ const login = new InputClass(this.config.environment, this.l, 'LoginPassword', 'fa-duotone fa-sign-in-alt', InputType.Submit, 'h-45');
5813
5813
  loginForm.onSuccess = (result) => {
5814
5814
  this.login.setCookie(result);
5815
5815
  if (this.login.steps.length > 1 && result.CurrentUser === null) {
@@ -5821,7 +5821,7 @@ class LoginComponent {
5821
5821
  }
5822
5822
  };
5823
5823
  this.username = new InputClass(this.config.environment, this.l, 'Username', 'fa-duotone fa-user', InputType.Text, 'm-b-10 h-45', '', true, 4, 50);
5824
- const password = new InputClass(this.config.environment, this.l, 'Password', 'fa-duotone fa-key', InputType.Password, 'm-b-10 h-45', '', true, 5, 50);
5824
+ const password = new InputClass(this.config.environment, this.l, 'Password', 'fa-duotone fa-key', InputType.Password, 'm-b-20 h-45', '', true, 5, 50);
5825
5825
  this.username.displayLabel = this.loginTemplate === 'Main';
5826
5826
  password.displayLabel = this.loginTemplate === 'Main';
5827
5827
  loginForm.inputs = [
@@ -5847,7 +5847,7 @@ LoginComponent.decorators = [
5847
5847
  { type: Component, args: [{
5848
5848
  selector: 'lib-login',
5849
5849
  template: "<div id=\"LoginMain\" *ngIf=\"loginTemplate == 'Main'\">\r\n <div class=\"triangles\">\r\n <i class=\"triangle triangle-1 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-2 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-3 fas fa-caret-left\"></i>\r\n <i class=\"triangle triangle-4 fas fa-caret-left\"></i>\r\n </div>\r\n <div class=\"form-c\">\r\n <ng-container *ngFor=\"let step of login.steps; let i = index\">\r\n <div class=\"form\" *ngIf=\"i === login.active\">\r\n <lib-form [form]=step.form></lib-form>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"about-c\">\r\n <div class=\"about\">\r\n <div class=\"info\">\r\n <div class=\"logo\"></div>\r\n <div class=\"title\">\r\n {{ l('Base') }}\r\n </div>\r\n <div class=\"sub-title\">\r\n {{ l('BaseDesc') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"LoginSimple\" *ngIf=\"loginTemplate == 'Simple'\">\r\n <div class=\"form-c\">\r\n <div class=\"title\">{{ l('Base') }}</div>\r\n <ng-container *ngFor=\"let step of login.steps; let i = index\">\r\n <div class=\"form\" *ngIf=\"i === login.active\">\r\n <lib-form [form]=step.form></lib-form>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n",
5850
- styles: ["#LoginMain{background-color:#fff;border-radius:5px;float:right;height:calc(100vh - 35px);overflow-y:auto;position:relative;width:100%}#LoginMain .about-c,#LoginMain .form-c{align-items:center;display:flex;float:left;justify-content:center;min-height:calc(100vh - 35px);position:relative;width:50%;z-index:2}#LoginMain .form-c{box-shadow:19px 0 35px -7px rgba(0,0,0,.05)}#LoginMain .form-c .form{margin:0 auto;width:60%}#LoginMain .about,#LoginMain .about .info{border-radius:0 5px 5px 0;float:right;position:relative;width:100%}#LoginMain .about .info{z-index:2}#LoginMain .triangles{border-radius:0 5px 5px 0;height:100%;overflow:hidden;position:absolute;width:100%;z-index:1}#LoginMain .triangles .triangle{color:var(--base);opacity:.1;position:absolute}#LoginMain .triangles .triangle-1{font-size:656px;right:-150px;top:50px}#LoginMain .triangles .triangle-2{font-size:1000px;right:-240px;top:150px}#LoginMain .triangles .triangle-3{font-size:900px;right:-220px;top:-347px}#LoginMain .triangles .triangle-4{font-size:900px;right:-250px;top:450px}#LoginMain .about .logo{background-position:50%;background-repeat:no-repeat;background-size:cover;height:200px;margin:0 auto;position:relative;width:200px}#LoginMain .about .title{float:right;font-family:VazirBold;font-size:25px;font-weight:bolder;height:40px;line-height:40px;margin-top:20px;position:relative;text-align:center;width:100%}#LoginMain .about .sub-title{float:right;font-family:VazirLight;font-size:12px;line-height:30px;margin-right:10%;padding:20px;position:relative;text-align:center;width:80%}::ng-deep #LoginMain .form-c .form .title{float:right;font-family:VazirBold;font-size:25px;height:50px;line-height:50px;margin-bottom:10px;text-align:center;width:100%}::ng-deep #LoginMain .form-c .form .sub-title{color:var(--black-88);float:right;font-family:VazirLight;font-size:12px;height:30px;line-height:30px;width:100%}::ng-deep #LoginMain .form-c .form .title i{color:var(--base);font-size:30px;left:5px;margin-left:5px;position:relative;top:7px}::ng-deep #LoginMain .form-c .form .sub-title{margin-bottom:20px;text-align:center}::ng-deep #LoginMain .form-c .form .sub-title:after{background-image:none!important}#LoginSimple{align-items:center;display:flex;justify-content:center;min-height:100vh;width:100%}#LoginSimple,#LoginSimple .form-c{background-color:#fff;float:right;padding:20px}#LoginSimple .form-c{border:var(--border-base);border-radius:var(--border-radius-base);width:300px}#LoginSimple .form-c .title{color:var(--base);float:right;font-family:VazirBold;font-size:18px;line-height:60px;text-align:center;width:100%}@media (max-width:399.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{width:100%}#LoginMain .about .info{padding:10px 5px 5px}#LoginMain .about .logo{height:100px;width:100px}}@media (min-width:400px) and (max-width:499.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{width:80%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:100px;width:100px}}@media (min-width:500px) and (max-width:599.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{float:right;margin-right:15%;width:70%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:150px;width:150px}}@media (min-width:600px) and (max-width:699.98px){#LoginMain .about-c,#LoginMain .form-c{float:right;width:100%}#LoginMain .form-c .form{float:right;margin-right:15%;width:70%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:150px;width:150px}}@media (min-width:700px) and (max-width:799.98px){#LoginMain .form-c .form{width:90%}}@media (min-width:800px) and (max-width:899.98px){#LoginMain .form-c .form{width:90%}}@media (min-width:900px) and (max-width:999.98px){#LoginMain .form-c .form{width:80%}}@media (min-width:1000px) and (max-width:1099.98px){#LoginMain .form-c .form{width:80%}}@media (min-width:1100px) and (max-width:1199.98px){#LoginMain .form-c .form{width:70%}}@media (min-width:1200px) and (max-width:1299.98px){#LoginMain .form-c .form{width:70%}}"]
5850
+ styles: ["#LoginMain{background-color:#fff;border-radius:5px;float:right;height:calc(100vh - 35px);overflow-y:auto;position:relative;width:100%}#LoginMain .about-c,#LoginMain .form-c{align-items:center;display:flex;float:left;justify-content:center;min-height:calc(100vh - 35px);position:relative;width:50%;z-index:2}#LoginMain .form-c{box-shadow:19px 0 35px -7px rgba(0,0,0,.05)}#LoginMain .form-c .form{margin:0 auto;width:60%}#LoginMain .about,#LoginMain .about .info{border-radius:0 5px 5px 0;float:right;position:relative;width:100%}#LoginMain .about .info{z-index:2}#LoginMain .triangles{border-radius:0 5px 5px 0;height:100%;overflow:hidden;position:absolute;width:100%;z-index:1}#LoginMain .triangles .triangle{color:var(--base);opacity:.1;position:absolute}#LoginMain .triangles .triangle-1{font-size:656px;right:-150px;top:50px}#LoginMain .triangles .triangle-2{font-size:1000px;right:-240px;top:150px}#LoginMain .triangles .triangle-3{font-size:900px;right:-220px;top:-347px}#LoginMain .triangles .triangle-4{font-size:900px;right:-250px;top:450px}#LoginMain .about .logo{background-position:50%;background-repeat:no-repeat;background-size:cover;height:200px;margin:0 auto;position:relative;width:200px}#LoginMain .about .title{float:right;font-family:VazirBold;font-size:25px;font-weight:bolder;height:40px;line-height:40px;margin-top:20px;position:relative;text-align:center;width:100%}#LoginMain .about .sub-title{float:right;font-family:VazirLight;font-size:12px;line-height:30px;margin-right:10%;padding:20px;position:relative;text-align:center;width:80%}::ng-deep #LoginMain .form-c .form .title{float:right;font-family:VazirBold;font-size:25px;height:50px;line-height:50px;margin-bottom:10px;text-align:center;width:100%}::ng-deep #LoginMain .form-c .form .sub-title{color:var(--black-88);float:right;font-family:VazirLight;font-size:12px;height:30px;line-height:30px;width:100%}::ng-deep #LoginMain .form-c .form .title i{color:var(--base);font-size:30px;left:5px;margin-left:5px;position:relative;top:7px}::ng-deep #LoginMain .form-c .form .sub-title{margin-bottom:20px;text-align:center}::ng-deep #LoginMain .form-c .form .sub-title:after{background-image:none!important}#LoginSimple{align-items:center;display:flex;justify-content:center;min-height:100vh;width:100%}#LoginSimple,#LoginSimple .form-c{background-color:#fff;float:right;padding:20px}#LoginSimple .form-c{border:var(--border-base);border-radius:var(--border-radius-base);width:400px}#LoginSimple .form-c .title{color:var(--base);float:right;font-family:VazirBold;font-size:18px;line-height:60px;text-align:center;width:100%}@media (max-width:399.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{width:100%}#LoginMain .about .info{padding:10px 5px 5px}#LoginMain .about .logo{height:100px;width:100px}}@media (min-width:400px) and (max-width:499.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{width:80%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:100px;width:100px}}@media (min-width:500px) and (max-width:599.98px){#LoginMain{height:calc(100vh - 60px)}#LoginMain .about-c,#LoginMain .form-c{float:right;min-height:calc(100vh - 60px);width:100%}#LoginMain .form-c .form{float:right;margin-right:15%;width:70%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:150px;width:150px}}@media (min-width:600px) and (max-width:699.98px){#LoginMain .about-c,#LoginMain .form-c{float:right;width:100%}#LoginMain .form-c .form{float:right;margin-right:15%;width:70%}#LoginMain .about .info{padding:10px}#LoginMain .about .logo{height:150px;width:150px}}@media (min-width:700px) and (max-width:799.98px){#LoginMain .form-c .form{width:90%}}@media (min-width:800px) and (max-width:899.98px){#LoginMain .form-c .form{width:90%}}@media (min-width:900px) and (max-width:999.98px){#LoginMain .form-c .form{width:80%}}@media (min-width:1000px) and (max-width:1099.98px){#LoginMain .form-c .form{width:80%}}@media (min-width:1100px) and (max-width:1199.98px){#LoginMain .form-c .form{width:70%}}@media (min-width:1200px) and (max-width:1299.98px){#LoginMain .form-c .form{width:70%}}"]
5851
5851
  },] }
5852
5852
  ];
5853
5853
  LoginComponent.ctorParameters = () => [