@firestitch/2fa 18.0.0 → 18.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,8 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./components/defaulted/defaulted.component";
3
+ import * as i2 from "@firestitch/chip";
3
4
  export declare class DefautledModule {
4
5
  static ɵfac: i0.ɵɵFactoryDeclaration<DefautledModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<DefautledModule, [typeof i1.DefaultedComponent], never, [typeof i1.DefaultedComponent]>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DefautledModule, [typeof i1.DefaultedComponent], [typeof i2.FsChipModule], [typeof i1.DefaultedComponent]>;
6
7
  static ɵinj: i0.ɵɵInjectorDeclaration<DefautledModule>;
7
8
  }
@@ -1,9 +1,9 @@
1
1
  import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
2
2
  import { MatDialog } from '@angular/material/dialog';
3
3
  import { Observable } from 'rxjs';
4
- import { TwoFactorManageService } from '../../services';
5
- import { IFsVerificationMethod } from '../../../../interfaces';
6
4
  import { VerificationMethodType } from '../../../../enums';
5
+ import { IFsVerificationMethod } from '../../../../interfaces';
6
+ import { TwoFactorManageService } from '../../services';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class Fs2faManageComponent implements OnDestroy, OnInit {
9
9
  private _cdRef;
@@ -11,6 +11,7 @@ export declare class Fs2faManageComponent implements OnDestroy, OnInit {
11
11
  private _twoFactorManageService;
12
12
  accountVerify: () => Observable<any>;
13
13
  defaultCountry: string;
14
+ buttonStyle: 'raised' | 'stroked';
14
15
  verificationMethodTypes: VerificationMethodType[];
15
16
  verificationMethodsFetch: () => Observable<IFsVerificationMethod[]>;
16
17
  verificationMethodDelete: (verificationMethod: IFsVerificationMethod) => Observable<IFsVerificationMethod>;
@@ -26,5 +27,5 @@ export declare class Fs2faManageComponent implements OnDestroy, OnInit {
26
27
  reload(): void;
27
28
  ngOnDestroy(): void;
28
29
  static ɵfac: i0.ɵɵFactoryDeclaration<Fs2faManageComponent, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<Fs2faManageComponent, "fs-2fa-manage", never, { "accountVerify": { "alias": "accountVerify"; "required": false; }; "defaultCountry": { "alias": "defaultCountry"; "required": false; }; "verificationMethodTypes": { "alias": "verificationMethodTypes"; "required": false; }; "verificationMethodsFetch": { "alias": "verificationMethodsFetch"; "required": false; }; "verificationMethodDelete": { "alias": "verificationMethodDelete"; "required": false; }; "verificationMethodCreate": { "alias": "verificationMethodCreate"; "required": false; }; "verificationMethodDefault": { "alias": "verificationMethodDefault"; "required": false; }; "verificationMethodVerify": { "alias": "verificationMethodVerify"; "required": false; }; "verificationMethodResend": { "alias": "verificationMethodResend"; "required": false; }; }, {}, never, never, false, never>;
30
+ static ɵcmp: i0.ɵɵComponentDeclaration<Fs2faManageComponent, "fs-2fa-manage", never, { "accountVerify": { "alias": "accountVerify"; "required": false; }; "defaultCountry": { "alias": "defaultCountry"; "required": false; }; "buttonStyle": { "alias": "buttonStyle"; "required": false; }; "verificationMethodTypes": { "alias": "verificationMethodTypes"; "required": false; }; "verificationMethodsFetch": { "alias": "verificationMethodsFetch"; "required": false; }; "verificationMethodDelete": { "alias": "verificationMethodDelete"; "required": false; }; "verificationMethodCreate": { "alias": "verificationMethodCreate"; "required": false; }; "verificationMethodDefault": { "alias": "verificationMethodDefault"; "required": false; }; "verificationMethodVerify": { "alias": "verificationMethodVerify"; "required": false; }; "verificationMethodResend": { "alias": "verificationMethodResend"; "required": false; }; }, {}, never, never, false, never>;
30
31
  }
@@ -1,8 +1,8 @@
1
- import { ChangeDetectorRef, OnInit, OnDestroy } from '@angular/core';
1
+ import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
2
2
  import { MatDialog } from '@angular/material/dialog';
3
- import { TwoFactorManageService } from '../../services';
4
- import { VerificationMethodType } from '../../../../enums/verification-method-type.enum';
5
3
  import { FsMessage } from '@firestitch/message';
4
+ import { VerificationMethodType } from '../../../../enums/verification-method-type.enum';
5
+ import { TwoFactorManageService } from '../../services';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class ManageMethodsComponent implements OnInit, OnDestroy {
8
8
  private _data;
@@ -13,6 +13,7 @@ export declare class ManageMethodsComponent implements OnInit, OnDestroy {
13
13
  verificationMethods: any;
14
14
  verificationMethodTypes: {};
15
15
  VerificationMethodType: typeof VerificationMethodType;
16
+ buttonStyle: 'raised' | 'stroked';
16
17
  private _destroy$;
17
18
  private _defaultCountry;
18
19
  constructor(_data: any, _cdRef: ChangeDetectorRef, _dialog: MatDialog, _message: FsMessage);
@@ -15,19 +15,20 @@ import * as i13 from "@angular/material/icon";
15
15
  import * as i14 from "@angular/material/checkbox";
16
16
  import * as i15 from "@firestitch/dialog";
17
17
  import * as i16 from "@firestitch/list";
18
- import * as i17 from "@firestitch/form";
19
- import * as i18 from "@firestitch/label";
20
- import * as i19 from "@firestitch/phone";
21
- import * as i20 from "@firestitch/skeleton";
22
- import * as i21 from "@firestitch/country";
23
- import * as i22 from "@firestitch/qrcode";
24
- import * as i23 from "../code-input/code-input.module";
25
- import * as i24 from "../resend/resend.module";
26
- import * as i25 from "../defaulted/defaulted.module";
27
- import * as i26 from "../verification/fs-2fa-verification.module";
28
- import * as i27 from "../verification-methods/fs-2f-verification-methods.module";
18
+ import * as i17 from "@firestitch/chip";
19
+ import * as i18 from "@firestitch/form";
20
+ import * as i19 from "@firestitch/label";
21
+ import * as i20 from "@firestitch/phone";
22
+ import * as i21 from "@firestitch/skeleton";
23
+ import * as i22 from "@firestitch/country";
24
+ import * as i23 from "@firestitch/qrcode";
25
+ import * as i24 from "../code-input/code-input.module";
26
+ import * as i25 from "../resend/resend.module";
27
+ import * as i26 from "../defaulted/defaulted.module";
28
+ import * as i27 from "../verification/fs-2fa-verification.module";
29
+ import * as i28 from "../verification-methods/fs-2f-verification-methods.module";
29
30
  export declare class Fs2faManageModule {
30
31
  static ɵfac: i0.ɵɵFactoryDeclaration<Fs2faManageModule, never>;
31
- static ɵmod: i0.ɵɵNgModuleDeclaration<Fs2faManageModule, [typeof i1.Fs2faManageComponent, typeof i2.ManageMethodsComponent, typeof i3.NumbersComponent, typeof i4.AppComponent, typeof i5.EmailComponent, typeof i6.NumberComponent, typeof i7.EmailsComponent], [typeof i8.CommonModule, typeof i9.FormsModule, typeof i10.MatButtonModule, typeof i11.MatDialogModule, typeof i12.MatInputModule, typeof i13.MatIconModule, typeof i14.MatCheckboxModule, typeof i15.FsDialogModule, typeof i16.FsListModule, typeof i17.FsFormModule, typeof i18.FsLabelModule, typeof i19.FsPhoneModule, typeof i20.FsSkeletonModule, typeof i21.FsCountryModule, typeof i22.FsQrcodeModule, typeof i23.CodeInputModule, typeof i24.ResendModule, typeof i25.DefautledModule, typeof i26.Fs2faVerificationModule, typeof i27.Fs2faVerificationMethodsModule], [typeof i1.Fs2faManageComponent]>;
32
+ static ɵmod: i0.ɵɵNgModuleDeclaration<Fs2faManageModule, [typeof i1.Fs2faManageComponent, typeof i2.ManageMethodsComponent, typeof i3.NumbersComponent, typeof i4.AppComponent, typeof i5.EmailComponent, typeof i6.NumberComponent, typeof i7.EmailsComponent], [typeof i8.CommonModule, typeof i9.FormsModule, typeof i10.MatButtonModule, typeof i11.MatDialogModule, typeof i12.MatInputModule, typeof i13.MatIconModule, typeof i14.MatCheckboxModule, typeof i15.FsDialogModule, typeof i16.FsListModule, typeof i17.FsChipModule, typeof i18.FsFormModule, typeof i19.FsLabelModule, typeof i20.FsPhoneModule, typeof i21.FsSkeletonModule, typeof i22.FsCountryModule, typeof i23.FsQrcodeModule, typeof i24.CodeInputModule, typeof i25.ResendModule, typeof i26.DefautledModule, typeof i27.Fs2faVerificationModule, typeof i28.Fs2faVerificationMethodsModule], [typeof i1.Fs2faManageComponent]>;
32
33
  static ɵinj: i0.ɵɵInjectorDeclaration<Fs2faManageModule>;
33
34
  }
@@ -1,11 +1,12 @@
1
- import { Component, ChangeDetectionStrategy, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ import * as i1 from "@firestitch/chip";
3
4
  export class DefaultedComponent {
4
5
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DefaultedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: DefaultedComponent, selector: "app-defaulted", ngImport: i0, template: "<span>Default</span>", styles: ["span{font-size:75%;background-color:#02a7f0;padding:2px 4px;border-radius:4px;color:#fff}:host{display:flex}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: DefaultedComponent, selector: "app-defaulted", ngImport: i0, template: "<fs-chip [backgroundColor]=\"'#02A7F0'\" [size]=\"'tiny'\">Default</fs-chip>", styles: [":host{display:flex}\n"], dependencies: [{ kind: "component", type: i1.FsChipComponent, selector: "fs-chip", inputs: ["selectable", "removable", "actionable", "value", "actions", "icon", "image", "selected", "size", "backgroundColor", "borderColor", "color", "outlined"], outputs: ["selectedToggled", "removed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6
7
  }
7
8
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DefaultedComponent, decorators: [{
8
9
  type: Component,
9
- args: [{ selector: 'app-defaulted', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span>Default</span>", styles: ["span{font-size:75%;background-color:#02a7f0;padding:2px 4px;border-radius:4px;color:#fff}:host{display:flex}\n"] }]
10
+ args: [{ selector: 'app-defaulted', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-chip [backgroundColor]=\"'#02A7F0'\" [size]=\"'tiny'\">Default</fs-chip>", styles: [":host{display:flex}\n"] }]
10
11
  }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9kZWZhdWx0ZWQvY29tcG9uZW50cy9kZWZhdWx0ZWQvZGVmYXVsdGVkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9kZWZhdWx0ZWQvY29tcG9uZW50cy9kZWZhdWx0ZWQvZGVmYXVsdGVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQUUsdUJBQXVCLEdBQ25DLE1BQU0sZUFBZSxDQUFDOztBQVN2QixNQUFNLE9BQU8sa0JBQWtCO3VHQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQixxRENYL0Isc0JBQW9COzsyRkRXUCxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWRlZmF1bHRlZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZWZhdWx0ZWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kZWZhdWx0ZWQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERlZmF1bHRlZENvbXBvbmVudCB7XG5cbn1cbiIsIjxzcGFuPkRlZmF1bHQ8L3NwYW4+Il19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9kZWZhdWx0ZWQvY29tcG9uZW50cy9kZWZhdWx0ZWQvZGVmYXVsdGVkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9kZWZhdWx0ZWQvY29tcG9uZW50cy9kZWZhdWx0ZWQvZGVmYXVsdGVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7QUFTdkIsTUFBTSxPQUFPLGtCQUFrQjt1R0FBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0IscURDWi9CLDhFQUF3RTs7MkZEWTNELGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxlQUFlLG1CQUdSLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZGVmYXVsdGVkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RlZmF1bHRlZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RlZmF1bHRlZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGVmYXVsdGVkQ29tcG9uZW50IHtcblxufVxuIiwiPGZzLWNoaXAgW2JhY2tncm91bmRDb2xvcl09XCInIzAyQTdGMCdcIiBbc2l6ZV09XCIndGlueSdcIj5EZWZhdWx0PC9mcy1jaGlwPiJdfQ==
@@ -1,10 +1,11 @@
1
1
  import { NgModule } from '@angular/core';
2
+ import { FsChipModule } from '@firestitch/chip';
2
3
  import { DefaultedComponent } from './components/defaulted';
3
4
  import * as i0 from "@angular/core";
4
5
  export class DefautledModule {
5
6
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DefautledModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: DefautledModule, declarations: [DefaultedComponent], exports: [DefaultedComponent] });
7
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DefautledModule });
7
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: DefautledModule, declarations: [DefaultedComponent], imports: [FsChipModule], exports: [DefaultedComponent] });
8
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DefautledModule, imports: [FsChipModule] });
8
9
  }
9
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DefautledModule, decorators: [{
10
11
  type: NgModule,
@@ -12,7 +13,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
12
13
  declarations: [
13
14
  DefaultedComponent,
14
15
  ],
16
+ imports: [
17
+ FsChipModule,
18
+ ],
15
19
  exports: [DefaultedComponent],
16
20
  }]
17
21
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdGVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9kZWZhdWx0ZWQvZGVmYXVsdGVkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQVM1RCxNQUFNLE9BQU8sZUFBZTt1R0FBZixlQUFlO3dHQUFmLGVBQWUsaUJBSnhCLGtCQUFrQixhQUVWLGtCQUFrQjt3R0FFakIsZUFBZTs7MkZBQWYsZUFBZTtrQkFOM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEZWZhdWx0ZWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGVmYXVsdGVkJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBEZWZhdWx0ZWRDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtEZWZhdWx0ZWRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBEZWZhdXRsZWRNb2R1bGUgeyB9XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdGVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9kZWZhdWx0ZWQvZGVmYXVsdGVkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFZNUQsTUFBTSxPQUFPLGVBQWU7dUdBQWYsZUFBZTt3R0FBZixlQUFlLGlCQVB4QixrQkFBa0IsYUFHbEIsWUFBWSxhQUVKLGtCQUFrQjt3R0FFakIsZUFBZSxZQUp4QixZQUFZOzsyRkFJSCxlQUFlO2tCQVQzQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZzQ2hpcE1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2NoaXAnO1xuXG5pbXBvcnQgeyBEZWZhdWx0ZWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGVmYXVsdGVkJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBEZWZhdWx0ZWRDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBGc0NoaXBNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtEZWZhdWx0ZWRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBEZWZhdXRsZWRNb2R1bGUgeyB9XG4iXX0=
@@ -1,10 +1,10 @@
1
- import { Component, ChangeDetectionStrategy, ChangeDetectorRef, Input, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core';
2
2
  import { MatDialog } from '@angular/material/dialog';
3
3
  import { Subject } from 'rxjs';
4
4
  import { takeUntil } from 'rxjs/operators';
5
+ import { VerificationMethodType } from '../../../../enums';
5
6
  import { TwoFactorManageService } from '../../services';
6
7
  import { ManageMethodsComponent } from '../manage-methods';
7
- import { VerificationMethodType } from '../../../../enums';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/material/dialog";
10
10
  import * as i2 from "../../services";
@@ -16,6 +16,7 @@ export class Fs2faManageComponent {
16
16
  _twoFactorManageService;
17
17
  accountVerify;
18
18
  defaultCountry;
19
+ buttonStyle = 'raised';
19
20
  verificationMethodTypes;
20
21
  verificationMethodsFetch;
21
22
  verificationMethodDelete;
@@ -34,7 +35,7 @@ export class Fs2faManageComponent {
34
35
  this.verificationMethodTypes = this.verificationMethodTypes || [
35
36
  VerificationMethodType.Sms,
36
37
  VerificationMethodType.Email,
37
- VerificationMethodType.App
38
+ VerificationMethodType.App,
38
39
  ];
39
40
  this._twoFactorManageService.registerVerificationMethodsFetch(this.verificationMethodsFetch);
40
41
  this._twoFactorManageService.registerVerificationMethodDelete(this.verificationMethodDelete);
@@ -62,12 +63,14 @@ export class Fs2faManageComponent {
62
63
  this._twoFactorManageService.verificationMethodsFetch();
63
64
  }
64
65
  manage() {
65
- const dialogRef = this._dialog.open(ManageMethodsComponent, {
66
+ const dialogRef = this._dialog
67
+ .open(ManageMethodsComponent, {
66
68
  autoFocus: false,
67
69
  data: {
68
70
  defaultCountry: this.defaultCountry,
69
71
  twoFactorManageService: this._twoFactorManageService,
70
72
  verificationMethodTypes: this.verificationMethodTypes,
73
+ buttonStyle: this.buttonStyle,
71
74
  },
72
75
  });
73
76
  dialogRef.afterClosed()
@@ -84,7 +87,7 @@ export class Fs2faManageComponent {
84
87
  this._destroy$.complete();
85
88
  }
86
89
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: Fs2faManageComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.MatDialog }, { token: i2.TwoFactorManageService }], target: i0.ɵɵFactoryTarget.Component });
87
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: Fs2faManageComponent, selector: "fs-2fa-manage", inputs: { accountVerify: "accountVerify", defaultCountry: "defaultCountry", verificationMethodTypes: "verificationMethodTypes", verificationMethodsFetch: "verificationMethodsFetch", verificationMethodDelete: "verificationMethodDelete", verificationMethodCreate: "verificationMethodCreate", verificationMethodDefault: "verificationMethodDefault", verificationMethodVerify: "verificationMethodVerify", verificationMethodResend: "verificationMethodResend" }, providers: [TwoFactorManageService], ngImport: i0, template: "<fs-label-field>\n <fs-label>Status</fs-label>\n <ng-container *ngIf=\"statuses\">\n <ng-container *ngIf=\"statuses.length === 1\">\n {{statuses[0]}} verification is enabled\n </ng-container>\n\n <ng-container *ngIf=\"statuses.length > 1\">\n {{statuses.join(', ')}} verifications are enabled\n </ng-container>\n\n <ng-container *ngIf=\"statuses.length === 0\">\n No verification methods are enabled\n </ng-container>\n </ng-container>\n</fs-label-field>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FsLabelComponent, selector: "fs-label" }, { kind: "component", type: i4.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
90
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: Fs2faManageComponent, selector: "fs-2fa-manage", inputs: { accountVerify: "accountVerify", defaultCountry: "defaultCountry", buttonStyle: "buttonStyle", verificationMethodTypes: "verificationMethodTypes", verificationMethodsFetch: "verificationMethodsFetch", verificationMethodDelete: "verificationMethodDelete", verificationMethodCreate: "verificationMethodCreate", verificationMethodDefault: "verificationMethodDefault", verificationMethodVerify: "verificationMethodVerify", verificationMethodResend: "verificationMethodResend" }, providers: [TwoFactorManageService], ngImport: i0, template: "<fs-label-field>\n <fs-label>Status</fs-label>\n <ng-container *ngIf=\"statuses\">\n <ng-container *ngIf=\"statuses.length === 1\">\n {{statuses[0]}} verification is enabled\n </ng-container>\n\n <ng-container *ngIf=\"statuses.length > 1\">\n {{statuses.join(', ')}} verifications are enabled\n </ng-container>\n\n <ng-container *ngIf=\"statuses.length === 0\">\n No verification methods are enabled\n </ng-container>\n </ng-container>\n</fs-label-field>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FsLabelComponent, selector: "fs-label" }, { kind: "component", type: i4.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
88
91
  }
89
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: Fs2faManageComponent, decorators: [{
90
93
  type: Component,
@@ -93,6 +96,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
93
96
  type: Input
94
97
  }], defaultCountry: [{
95
98
  type: Input
99
+ }], buttonStyle: [{
100
+ type: Input
96
101
  }], verificationMethodTypes: [{
97
102
  type: Input
98
103
  }], verificationMethodsFetch: [{
@@ -108,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
108
113
  }], verificationMethodResend: [{
109
114
  type: Input
110
115
  }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMmZhLW1hbmFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvbWFuYWdlL2NvbXBvbmVudHMvMmZhLW1hbmFnZS8yZmEtbWFuYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9tYW5hZ2UvY29tcG9uZW50cy8yZmEtbWFuYWdlLzJmYS1tYW5hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBRWpCLEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztBQVUzRCxNQUFNLE9BQU8sb0JBQW9CO0lBaUJyQjtJQUNBO0lBQ0E7SUFqQk0sYUFBYSxDQUF3QjtJQUNyQyxjQUFjLENBQVM7SUFDdkIsdUJBQXVCLENBQTJCO0lBQ2xELHdCQUF3QixDQUE0QztJQUNwRSx3QkFBd0IsQ0FBbUY7SUFDM0csd0JBQXdCLENBQW1GO0lBQzNHLHlCQUF5QixDQUFtRjtJQUM1Ryx3QkFBd0IsQ0FBaUQ7SUFDekUsd0JBQXdCLENBQXdCO0lBRXpELFFBQVEsQ0FBQztJQUVSLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRWxDLFlBQ1UsTUFBeUIs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QUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7dUdBekZVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLGdmQUZwQixDQUFDLHNCQUFzQixDQUFDLDBCQ3pCckMsNmVBZWlCOzsyRkRZSixvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsc0JBQXNCLENBQUM7bUpBSW5CLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSx1QkFBdUI7c0JBQXRDLEtBQUs7Z0JBQ1Usd0JBQXdCO3NCQUF2QyxLQUFLO2dCQUNVLHdCQUF3QjtzQkFBdkMsS0FBSztnQkFDVSx3QkFBd0I7c0JBQXZDLEtBQUs7Z0JBQ1UseUJBQXlCO3NCQUF4QyxLQUFLO2dCQUNVLHdCQUF3QjtzQkFBdkMsS0FBSztnQkFDVSx3QkFBd0I7c0JBQXZDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25EZXN0cm95LFxuICBJbnB1dCxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBUd29GYWN0b3JNYW5hZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgTWFuYWdlTWV0aG9kc0NvbXBvbmVudCB9IGZyb20gJy4uL21hbmFnZS1tZXRob2RzJztcbmltcG9ydCB7IElGc1ZlcmlmaWNhdGlvbk1ldGhvZCB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVmVyaWZpY2F0aW9uTWV0aG9kVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL2VudW1zJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy0yZmEtbWFuYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuLzJmYS1tYW5hZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi8yZmEtbWFuYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtUd29GYWN0b3JNYW5hZ2VTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgRnMyZmFNYW5hZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgcHVibGljIGFjY291bnRWZXJpZnk6ICgpID0+IE9ic2VydmFibGU8YW55PjtcbiAgQElucHV0KCkgcHVibGljIGRlZmF1bHRDb3VudHJ5OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyB2ZXJpZmljYXRpb25NZXRob2RUeXBlczogVmVyaWZpY2F0aW9uTWV0aG9kVHlwZVtdO1xuICBASW5wdXQoKSBwdWJsaWMgdmVyaWZpY2F0aW9uTWV0aG9kc0ZldGNoOiAoKSA9PiBPYnNlcnZhYmxlPElGc1ZlcmlmaWNhdGlvbk1ldGhvZFtdPjtcbiAgQElucHV0KCkgcHVibGljIHZlcmlmaWNhdGlvbk1ldGhvZERlbGV0ZTogKHZlcmlmaWNhdGlvbk1ldGhvZDogSUZzVmVyaWZpY2F0aW9uTWV0aG9kKSA9PiBPYnNlcnZhYmxlPElGc1ZlcmlmaWNhdGlvbk1ldGhvZD47XG4gIEBJbnB1dCgpIHB1YmxpYyB2ZXJpZmljYXRpb25NZXRob2RDcmVhdGU6ICh2ZXJpZmljYXRpb25NZXRob2Q6IElGc1ZlcmlmaWNhdGlvbk1ldGhvZCkgPT4gT2JzZXJ2YWJsZTxJRnNWZXJpZmljYXRpb25NZXRob2Q+O1xuICBASW5wdXQoKSBwdWJsaWMgdmVyaWZpY2F0aW9uTWV0aG9kRGVmYXVsdDogKHZlcmlmaWNhdGlvbk1ldGhvZDogSUZzVmVyaWZpY2F0aW9uTWV0aG9kKSA9PiBPYnNlcnZhYmxlPElGc1ZlcmlmaWNhdGlvbk1ldGhvZD47XG4gIEBJbnB1dCgpIHB1YmxpYyB2ZXJpZmljYXRpb25NZXRob2RWZXJpZnk6IChjb2RlOiBzdHJpbmcsIHRydXN0RGV2aWNlKSA9PiBPYnNlcnZhYmxlPGFueT47XG4gIEBJbnB1dCgpIHB1YmxpYyB2ZXJpZmljYXRpb25NZXRob2RSZXNlbmQ6ICgpID0+IE9ic2VydmFibGU8YW55PjtcblxuICBwdWJsaWMgc3RhdHVzZXM7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIF90d29GYWN0b3JNYW5hZ2VTZXJ2aWNlOiBUd29GYWN0b3JNYW5hZ2VTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudmVyaWZpY2F0aW9uTWV0aG9kVHlwZXMgPSB0aGlzLnZlcmlmaWNhdGlvbk1ldGhvZFR5cGVzIHx8IFtcbiAgICAgIFZlcmlmaWNhdGlvbk1ldGhvZFR5cGUuU21zLFxuICAgICAgVmVyaWZpY2F0aW9uTWV0aG9kVHlwZS5FbWFpbCxcbiAgICAgIFZlcmlmaWNhdGlvbk1ldGhvZFR5cGUuQXBwXG4gICAgXTtcblxuICAgIHRoaXMuX3R3b0ZhY3Rvck1hbmFnZVNlcnZpY2UucmVnaXN0ZXJWZXJpZmljYXRpb25NZXRob2RzRmV0Y2godGhpcy52ZXJpZmljYXRpb25NZXRob2RzRmV0Y2gpO1xuICAgIHRoaXMuX3R3b0ZhY3Rvck1hbmFnZVNlcnZpY2UucmVnaXN0ZXJWZXJpZmljYXRpb25NZXRob2REZWxldGUodGhpcy52ZXJpZmljYXRpb25NZXRob2REZWxldGUpO1xuICAgIHRoaXMuX3R3b0ZhY3Rvck1hbmFnZVNlcnZpY2UucmVnaXN0ZXJWZXJpZmljYXRpb25NZXRob2RDcmVhdGUodGhpcy52ZXJpZmljYXRpb25NZXRob2RDcmVhdGUpO1xuICAgIHRoaXMuX3R3b0ZhY3Rvck1hbmFnZVNlcnZpY2UucmVnaXN0ZXJWZXJpZmljYXRpb25NZXRob2RWZXJpZnkodGhpcy52ZXJpZmljYXRpb25NZXRob2RWZXJpZnkpO1xuICAgIHRoaXMuX3R3b0ZhY3Rvck1hbmFnZVNlcnZpY2UucmVnaXN0ZXJWZXJpZmljYXRpb25NZXRob2RSZXNlbmQodGhpcy52ZXJpZmljYXRpb25NZXRob2RSZXNlbmQpO1xuICAgIHRoaXMuX3R3b0ZhY3Rvck1hbmFnZVNlcnZpY2UucmVnaXN0ZXJWZXJpZmljYXRpb25NZXRob2REZWZhdWx0KHRoaXMudmVyaWZpY2F0aW9uTWV0aG9kRGVmYXVsdCk7XG4gICAgdGhpcy5fdHdvRmFjdG9yTWFuYWdlU2VydmljZS5yZWdpc3RlckFjY291bnRWZXJpZnkodGhpcy5hY2NvdW50VmVyaWZ5KTtcblxuXG4gICAgdGhpcy5fdHdvRmFjdG9yTWFuYWdlU2VydmljZS52ZXJpZmljYXRpb25NZXRob2RzJFxuICAgICAgLnN1YnNjcmliZSgodmVyaWZpY2F0aW9uTWV0aG9kcykgPT4ge1xuICAgICAgICBjb25zdCB0eXBlcyA9IHtcbiAgICAgICAgICBzbXM6ICdUZXh0IE1lc3NhZ2UnLFxuICAgICAgICAgIGVtYWlsOiAnRW1haWwnLFxuICAgICAgICAgIGFwcDogJ0F1dGhlbnRpY2F0b3IgQXBwJyxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnN0YXR1c2VzID0gT2JqZWN0LmtleXMoXG4gICAgICAgICAgdmVyaWZpY2F0aW9uTWV0aG9kcy5yZWR1Y2UoKGFjY3VtLCB2ZXJpZmljYXRpb25NZXRob2QpID0+IHtcbiAgICAgICAgICAgIGFjY3VtW3ZlcmlmaWNhdGlvbk1ldGhvZC50eXBlXSA9IHRydWU7XG5cbiAgICAgICAgICAgIHJldHVybiBhY2N1bTtcbiAgICAgICAgICB9LCB7fSksXG4gICAgICAgIClcbiAgICAgICAgICAubWFwKCh0eXBlKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdHlwZXNbdHlwZV07XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX3R3b0ZhY3Rvck1hbmFnZVNlcnZpY2UudmVyaWZpY2F0aW9uTWV0aG9kc0ZldGNoKCk7XG4gIH1cblxuICBwdWJsaWMgbWFuYWdlKCkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZy5vcGVuKE1hbmFnZU1ldGhvZHNDb21wb25lbnQsIHtcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGRlZmF1bHRDb3VudHJ5OiB0aGlzLmRlZmF1bHRDb3VudHJ5LFxuICAgICAgICB0d29GYWN0b3JNYW5hZ2VTZXJ2aWNlOiB0aGlzLl90d29GYWN0b3JNYW5hZ2VTZXJ2aWNlLFxuICAgICAgICB2ZXJpZmljYXRpb25NZXRob2RUeXBlczogdGhpcy52ZXJpZmljYXRpb25NZXRob2RUeXBlcyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWxvYWQoKTogdm9pZCB7XG4gICAgdGhpcy5fdHdvRmFjdG9yTWFuYWdlU2VydmljZS52ZXJpZmljYXRpb25NZXRob2RzRmV0Y2goKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuXG59XG4iLCI8ZnMtbGFiZWwtZmllbGQ+XG4gIDxmcy1sYWJlbD5TdGF0dXM8L2ZzLWxhYmVsPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdHVzZXNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdHVzZXMubGVuZ3RoID09PSAxXCI+XG4gICAgICB7e3N0YXR1c2VzWzBdfX0gdmVyaWZpY2F0aW9uIGlzIGVuYWJsZWRcbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0dXNlcy5sZW5ndGggPiAxXCI+XG4gICAgICB7e3N0YXR1c2VzLmpvaW4oJywgJyl9fSB2ZXJpZmljYXRpb25zIGFyZSBlbmFibGVkXG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdHVzZXMubGVuZ3RoICA9PT0gMFwiPlxuICAgICAgTm8gdmVyaWZpY2F0aW9uIG1ldGhvZHMgYXJlIGVuYWJsZWRcbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2ZzLWxhYmVsLWZpZWxkPiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMmZhLW1hbmFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvbWFuYWdlL2NvbXBvbmVudHMvMmZhLW1hbmFnZS8yZmEtbWFuYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9tYW5hZ2UvY29tcG9uZW50cy8yZmEtbWFuYWdlLzJmYS1tYW5hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztBQVUzRCxNQUFNLE9BQU8sb0JBQW9CO0lBa0JyQjtJQUNBO0lBQ0E7SUFsQk0sYUFBYSxDQUF3QjtJQUNyQyxjQUFjLENBQVM7SUFDdkIsV0FBVyxHQUF5QixRQUFRLENBQUM7SUFDN0MsdUJBQXVCLENBQTJCO0lBQ2xELHdCQUF3QixDQUE0QztJQUNwRSx3QkFBd0IsQ0FBbUY7SUFDM0csd0JBQXdCLENBQW1GO0lBQzNHLHlCQUF5QixDQUFtRjtJQUM1Ryx3QkFBd0IsQ0FBaUQ7SUFDekUsd0JBQXdCLENBQXdCO0lBRXpELFFBQVEsQ0FBQztJQUVSLFNBQVMsR0FBRyxJQUFJLE9BQU8s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QUMsdUJBQXVCLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7dUdBNUZVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLDRnQkFGcEIsQ0FBQyxzQkFBc0IsQ0FBQywwQkN6QnJDLDZlQWVpQjs7MkZEWUosb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLHNCQUFzQixDQUFDO21KQUluQixhQUFhO3NCQUE1QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSx1QkFBdUI7c0JBQXRDLEtBQUs7Z0JBQ1Usd0JBQXdCO3NCQUF2QyxLQUFLO2dCQUNVLHdCQUF3QjtzQkFBdkMsS0FBSztnQkFDVSx3QkFBd0I7c0JBQXZDLEtBQUs7Z0JBQ1UseUJBQXlCO3NCQUF4QyxLQUFLO2dCQUNVLHdCQUF3QjtzQkFBdkMsS0FBSztnQkFDVSx3QkFBd0I7c0JBQXZDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBWZXJpZmljYXRpb25NZXRob2RUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgSUZzVmVyaWZpY2F0aW9uTWV0aG9kIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUd29GYWN0b3JNYW5hZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgTWFuYWdlTWV0aG9kc0NvbXBvbmVudCB9IGZyb20gJy4uL21hbmFnZS1tZXRob2RzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy0yZmEtbWFuYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuLzJmYS1tYW5hZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi8yZmEtbWFuYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtUd29GYWN0b3JNYW5hZ2VTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgRnMyZmFNYW5hZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgcHVibGljIGFjY291bnRWZXJpZnk6ICgpID0+IE9ic2VydmFibGU8YW55PjtcbiAgQElucHV0KCkgcHVibGljIGRlZmF1bHRDb3VudHJ5OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBidXR0b25TdHlsZTogJ3JhaXNlZCcgfCAnc3Ryb2tlZCcgPSAncmFpc2VkJztcbiAgQElucHV0KCkgcHVibGljIHZlcmlmaWNhdGlvbk1ldGhvZFR5cGVzOiBWZXJpZmljYXRpb25NZXRob2RUeXBlW107XG4gIEBJbnB1dCgpIHB1YmxpYyB2ZXJpZmljYXRpb25NZXRob2RzRmV0Y2g6ICgpID0+IE9ic2VydmFibGU8SUZzVmVyaWZpY2F0aW9uTWV0aG9kW10+O1xuICBASW5wdXQoKSBwdWJsaWMgdmVyaWZpY2F0aW9uTWV0aG9kRGVsZXRlOiAodmVyaWZpY2F0aW9uTWV0aG9kOiBJRnNWZXJpZmljYXRpb25NZXRob2QpID0+IE9ic2VydmFibGU8SUZzVmVyaWZpY2F0aW9uTWV0aG9kPjtcbiAgQElucHV0KCkgcHVibGljIHZlcmlmaWNhdGlvbk1ldGhvZENyZWF0ZTogKHZlcmlmaWNhdGlvbk1ldGhvZDogSUZzVmVyaWZpY2F0aW9uTWV0aG9kKSA9PiBPYnNlcnZhYmxlPElGc1ZlcmlmaWNhdGlvbk1ldGhvZD47XG4gIEBJbnB1dCgpIHB1YmxpYyB2ZXJpZmljYXRpb25NZXRob2REZWZhdWx0OiAodmVyaWZpY2F0aW9uTWV0aG9kOiBJRnNWZXJpZmljYXRpb25NZXRob2QpID0+IE9ic2VydmFibGU8SUZzVmVyaWZpY2F0aW9uTWV0aG9kPjtcbiAgQElucHV0KCkgcHVibGljIHZlcmlmaWNhdGlvbk1ldGhvZFZlcmlmeTogKGNvZGU6IHN0cmluZywgdHJ1c3REZXZpY2UpID0+IE9ic2VydmFibGU8YW55PjtcbiAgQElucHV0KCkgcHVibGljIHZlcmlmaWNhdGlvbk1ldGhvZFJlc2VuZDogKCkgPT4gT2JzZXJ2YWJsZTxhbnk+O1xuXG4gIHB1YmxpYyBzdGF0dXNlcztcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX2RpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgX3R3b0ZhY3Rvck1hbmFnZVNlcnZpY2U6IFR3b0ZhY3Rvck1hbmFnZVNlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy52ZXJpZmljYXRpb25NZXRob2RUeXBlcyA9IHRoaXMudmVyaWZpY2F0aW9uTWV0aG9kVHlwZXMgfHwgW1xuICAgICAgVmVyaWZpY2F0aW9uTWV0aG9kVHlwZS5TbXMsXG4gICAgICBWZXJpZmljYXRpb25NZXRob2RUeXBlLkVtYWlsLFxuICAgICAgVmVyaWZpY2F0aW9uTWV0aG9kVHlwZS5BcHAsXG4gICAgXTtcblxuICAgIHRoaXMuX3R3b0ZhY3Rvck1hbmFnZVNlcnZpY2UucmVnaXN0ZXJWZXJpZmljYXRpb25NZXRob2RzRmV0Y2godGhpcy52ZXJpZmljYXRpb25NZXRob2RzRmV0Y2gpO1xuICAgIHRoaXMuX3R3b0ZhY3Rvck1hbmFnZVNlcnZpY2UucmVnaXN0ZXJWZXJpZmljYXRpb25NZXRob2REZWxldGUodGhpcy52ZXJpZmljYXRpb25NZXRob2REZWxldGUpO1xuICAgIHRoaXMuX3R3b0ZhY3Rvck1hbmFnZVNlcnZpY2UucmVnaXN0ZXJWZXJpZmljYXRpb25NZXRob2RDcmVhdGUodGhpcy52ZXJpZmljYXRpb25NZXRob2RDcmVhdGUpO1xuICAgIHRoaXMuX3R3b0ZhY3Rvck1hbmFnZVNlcnZpY2UucmVnaXN0ZXJWZXJpZmljYXRpb25NZXRob2RWZXJpZnkodGhpcy52ZXJpZmljYXRpb25NZXRob2RWZXJpZnkpO1xuICAgIHRoaXMuX3R3b0ZhY3Rvck1hbmFnZVNlcnZpY2UucmVnaXN0ZXJWZXJpZmljYXRpb25NZXRob2RSZXNlbmQodGhpcy52ZXJpZmljYXRpb25NZXRob2RSZXNlbmQpO1xuICAgIHRoaXMuX3R3b0ZhY3Rvck1hbmFnZVNlcnZpY2UucmVnaXN0ZXJWZXJpZmljYXRpb25NZXRob2REZWZhdWx0KHRoaXMudmVyaWZpY2F0aW9uTWV0aG9kRGVmYXVsdCk7XG4gICAgdGhpcy5fdHdvRmFjdG9yTWFuYWdlU2VydmljZS5yZWdpc3RlckFjY291bnRWZXJpZnkodGhpcy5hY2NvdW50VmVyaWZ5KTtcblxuXG4gICAgdGhpcy5fdHdvRmFjdG9yTWFuYWdlU2VydmljZS52ZXJpZmljYXRpb25NZXRob2RzJFxuICAgICAgLnN1YnNjcmliZSgodmVyaWZpY2F0aW9uTWV0aG9kcykgPT4ge1xuICAgICAgICBjb25zdCB0eXBlcyA9IHtcbiAgICAgICAgICBzbXM6ICdUZXh0IE1lc3NhZ2UnLFxuICAgICAgICAgIGVtYWlsOiAnRW1haWwnLFxuICAgICAgICAgIGFwcDogJ0F1dGhlbnRpY2F0b3IgQXBwJyxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnN0YXR1c2VzID0gT2JqZWN0LmtleXMoXG4gICAgICAgICAgdmVyaWZpY2F0aW9uTWV0aG9kcy5yZWR1Y2UoKGFjY3VtLCB2ZXJpZmljYXRpb25NZXRob2QpID0+IHtcbiAgICAgICAgICAgIGFjY3VtW3ZlcmlmaWNhdGlvbk1ldGhvZC50eXBlXSA9IHRydWU7XG5cbiAgICAgICAgICAgIHJldHVybiBhY2N1bTtcbiAgICAgICAgICB9LCB7fSksXG4gICAgICAgIClcbiAgICAgICAgICAubWFwKCh0eXBlKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdHlwZXNbdHlwZV07XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX3R3b0ZhY3Rvck1hbmFnZVNlcnZpY2UudmVyaWZpY2F0aW9uTWV0aG9kc0ZldGNoKCk7XG4gIH1cblxuICBwdWJsaWMgbWFuYWdlKCkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1xuICAgICAgLm9wZW4oTWFuYWdlTWV0aG9kc0NvbXBvbmVudCwge1xuICAgICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZGVmYXVsdENvdW50cnk6IHRoaXMuZGVmYXVsdENvdW50cnksXG4gICAgICAgICAgdHdvRmFjdG9yTWFuYWdlU2VydmljZTogdGhpcy5fdHdvRmFjdG9yTWFuYWdlU2VydmljZSxcbiAgICAgICAgICB2ZXJpZmljYXRpb25NZXRob2RUeXBlczogdGhpcy52ZXJpZmljYXRpb25NZXRob2RUeXBlcyxcbiAgICAgICAgICBidXR0b25TdHlsZTogdGhpcy5idXR0b25TdHlsZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVsb2FkKCk6IHZvaWQge1xuICAgIHRoaXMuX3R3b0ZhY3Rvck1hbmFnZVNlcnZpY2UudmVyaWZpY2F0aW9uTWV0aG9kc0ZldGNoKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cblxufVxuIiwiPGZzLWxhYmVsLWZpZWxkPlxuICA8ZnMtbGFiZWw+U3RhdHVzPC9mcy1sYWJlbD5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXR1c2VzXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXR1c2VzLmxlbmd0aCA9PT0gMVwiPlxuICAgICAge3tzdGF0dXNlc1swXX19IHZlcmlmaWNhdGlvbiBpcyBlbmFibGVkXG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdHVzZXMubGVuZ3RoID4gMVwiPlxuICAgICAge3tzdGF0dXNlcy5qb2luKCcsICcpfX0gdmVyaWZpY2F0aW9ucyBhcmUgZW5hYmxlZFxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXR1c2VzLmxlbmd0aCAgPT09IDBcIj5cbiAgICAgIE5vIHZlcmlmaWNhdGlvbiBtZXRob2RzIGFyZSBlbmFibGVkXG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9mcy1sYWJlbC1maWVsZD4iXX0=
@@ -7,10 +7,9 @@ import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/material/dialog";
8
8
  import * as i2 from "@firestitch/message";
9
9
  import * as i3 from "@angular/material/button";
10
- import * as i4 from "@angular/material/icon";
11
- import * as i5 from "@firestitch/dialog";
12
- import * as i6 from "@firestitch/form";
13
- import * as i7 from "../../../verification-methods/components/verification-methods/verification-methods.component";
10
+ import * as i4 from "@firestitch/dialog";
11
+ import * as i5 from "@firestitch/form";
12
+ import * as i6 from "../../../verification-methods/components/verification-methods/verification-methods.component";
14
13
  export class EmailsComponent {
15
14
  _data;
16
15
  _dialogRef;
@@ -37,11 +36,11 @@ export class EmailsComponent {
37
36
  }
38
37
  }
39
38
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EmailsComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i2.FsMessage }], target: i0.ɵɵFactoryTarget.Component });
40
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EmailsComponent, selector: "ng-component", viewQueries: [{ propertyName: "verificationMethods", first: true, predicate: VerificationMethodsComponent, descendants: true }], ngImport: i0, template: "<fs-dialog>\n <h1 mat-dialog-title>\n <mat-icon>email</mat-icon> Emails\n </h1>\n <mat-dialog-content>\n <fs-2fa-verification-methods\n [type]=\"VerificationMethodType.Email\"\n [twoFactorManageService]=\"twoFactorManageService\"\n (deleted)=\"deleted()\">\n </fs-2fa-verification-methods>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"undefined\">\n Close\n </button>\n <button\n mat-button\n (click)=\"add()\"\n type=\"button\">\n Add Email\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: ["h1{display:flex;align-items:center}h1 mat-icon{margin-right:5px}\n"], dependencies: [{ kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout", "dock", "dockable", "fullscreenPercent"] }, { kind: "directive", type: i6.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }, { kind: "component", type: i7.VerificationMethodsComponent, selector: "fs-2fa-verification-methods", inputs: ["type", "accountVerify", "verificationMethodsFetch", "verificationMethodDelete", "verificationMethodDefault", "twoFactorManageService"], outputs: ["deleted"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EmailsComponent, selector: "ng-component", viewQueries: [{ propertyName: "verificationMethods", first: true, predicate: VerificationMethodsComponent, descendants: true }], ngImport: i0, template: "<fs-dialog>\n <h1 mat-dialog-title>\n Emails\n </h1>\n <mat-dialog-content>\n <fs-2fa-verification-methods\n [type]=\"VerificationMethodType.Email\"\n [twoFactorManageService]=\"twoFactorManageService\"\n (deleted)=\"deleted()\">\n </fs-2fa-verification-methods>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"undefined\">\n Close\n </button>\n <button\n mat-button\n (click)=\"add()\"\n type=\"button\">\n Add Email\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: [""], dependencies: [{ kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i4.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout", "dock", "dockable", "fullscreenPercent"] }, { kind: "directive", type: i5.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }, { kind: "component", type: i6.VerificationMethodsComponent, selector: "fs-2fa-verification-methods", inputs: ["type", "accountVerify", "verificationMethodsFetch", "verificationMethodDelete", "verificationMethodDefault", "twoFactorManageService"], outputs: ["deleted"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
40
  }
42
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EmailsComponent, decorators: [{
43
42
  type: Component,
44
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-dialog>\n <h1 mat-dialog-title>\n <mat-icon>email</mat-icon> Emails\n </h1>\n <mat-dialog-content>\n <fs-2fa-verification-methods\n [type]=\"VerificationMethodType.Email\"\n [twoFactorManageService]=\"twoFactorManageService\"\n (deleted)=\"deleted()\">\n </fs-2fa-verification-methods>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"undefined\">\n Close\n </button>\n <button\n mat-button\n (click)=\"add()\"\n type=\"button\">\n Add Email\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: ["h1{display:flex;align-items:center}h1 mat-icon{margin-right:5px}\n"] }]
43
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-dialog>\n <h1 mat-dialog-title>\n Emails\n </h1>\n <mat-dialog-content>\n <fs-2fa-verification-methods\n [type]=\"VerificationMethodType.Email\"\n [twoFactorManageService]=\"twoFactorManageService\"\n (deleted)=\"deleted()\">\n </fs-2fa-verification-methods>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"undefined\">\n Close\n </button>\n <button\n mat-button\n (click)=\"add()\"\n type=\"button\">\n Add Email\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n" }]
45
44
  }], ctorParameters: () => [{ type: undefined, decorators: [{
46
45
  type: Inject,
47
46
  args: [MAT_DIALOG_DATA]
@@ -49,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
49
48
  type: ViewChild,
50
49
  args: [VerificationMethodsComponent]
51
50
  }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9tYW5hZ2UvY29tcG9uZW50cy9lbWFpbHMvZW1haWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9tYW5hZ2UvY29tcG9uZW50cy9lbWFpbHMvZW1haWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQUUsTUFBTSxFQUFFLHVCQUF1QixFQUFFLFNBQVMsR0FDdEQsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFhLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFFeEgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7Ozs7OztBQVN6RixNQUFNLE9BQU8sZUFBZTtJQVNTO0lBQ3pCO0lBQ0E7SUFSSCxtQkFBbUIsQ0FBK0I7SUFFbEQsc0JBQXNCLENBQXlCO0lBQy9DLHNCQUFzQixHQUFHLHNCQUFzQixDQUFDO0lBRXZELFlBQ21DLEtBQVUsRUFDbkMsVUFBeUMsRUFDekMsUUFBbUI7UUFGTSxVQUFLLEdBQUwsS0FBSyxDQUFLO1FBQ25DLGVBQVUsR0FBVixVQUFVLENBQStCO1FBQ3pDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFFM0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQztJQUM3RCxDQUFDO0lBRU0sR0FBRztRQUNSLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEVBQUU7YUFDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQUMzRCxJQUFHLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQzt1R0E1QlUsZUFBZSxrQkFTaEIsZUFBZTsyRkFUZCxlQUFlLHlHQUVmLDRCQUE0QixnRENuQnpDLDBxQkEyQkE7OzJGRFZhLGVBQWU7a0JBTDNCLFNBQVM7c0NBR1MsdUJBQXVCLENBQUMsTUFBTTs7MEJBVzVDLE1BQU07MkJBQUMsZUFBZTs0RkFObEIsbUJBQW1CO3NCQUR6QixTQUFTO3VCQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCwgSW5qZWN0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBGc01lc3NhZ2UgfSBmcm9tICdAZmlyZXN0aXRjaC9tZXNzYWdlJztcbmltcG9ydCB7IFZlcmlmaWNhdGlvbk1ldGhvZHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2R1bGVzL3ZlcmlmaWNhdGlvbi1tZXRob2RzL2NvbXBvbmVudHMvdmVyaWZpY2F0aW9uLW1ldGhvZHMnO1xuXG5pbXBvcnQgeyBWZXJpZmljYXRpb25NZXRob2RUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bXMvdmVyaWZpY2F0aW9uLW1ldGhvZC10eXBlLmVudW0nO1xuaW1wb3J0IHsgVHdvRmFjdG9yTWFuYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2VtYWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VtYWlscy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRW1haWxzQ29tcG9uZW50IHtcblxuICBAVmlld0NoaWxkKFZlcmlmaWNhdGlvbk1ldGhvZHNDb21wb25lbnQpIFxuICBwdWJsaWMgdmVyaWZpY2F0aW9uTWV0aG9kczogVmVyaWZpY2F0aW9uTWV0aG9kc0NvbXBvbmVudDtcblxuICBwdWJsaWMgdHdvRmFjdG9yTWFuYWdlU2VydmljZTogVHdvRmFjdG9yTWFuYWdlU2VydmljZTtcbiAgcHVibGljIFZlcmlmaWNhdGlvbk1ldGhvZFR5cGUgPSBWZXJpZmljYXRpb25NZXRob2RUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIF9kYXRhOiBhbnksXG4gICAgcHJpdmF0ZSBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RW1haWxzQ29tcG9uZW50PixcbiAgICBwcml2YXRlIF9tZXNzYWdlOiBGc01lc3NhZ2UsXG4gICkge1xuICAgIHRoaXMudHdvRmFjdG9yTWFuYWdlU2VydmljZSA9IF9kYXRhLnR3b0ZhY3Rvck1hbmFnZVNlcnZpY2U7XG4gIH1cblxuICBwdWJsaWMgYWRkKCk6IHZvaWQge1xuICAgIHRoaXMudHdvRmFjdG9yTWFuYWdlU2VydmljZS5hZGRFbWFpbCQoKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PntcbiAgICAgICAgdGhpcy52ZXJpZmljYXRpb25NZXRob2RzLnJlbG9hZCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZXNzYWdlLnN1Y2Nlc3MoJ0RlbGV0ZWQgZW1haWwgdmVyaWZpY2F0aW9uIG1ldGhvZCcpO1xuICAgIGlmKCF0aGlzLnR3b0ZhY3Rvck1hbmFnZVNlcnZpY2UuaGFzVmVyaWZpY2F0aW9uTWV0aG9kKFZlcmlmaWNhdGlvbk1ldGhvZFR5cGUuRW1haWwpKSB7XG4gICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGZzLWRpYWxvZz5cbiAgPGgxIG1hdC1kaWFsb2ctdGl0bGU+XG4gICAgPG1hdC1pY29uPmVtYWlsPC9tYXQtaWNvbj4gRW1haWxzXG4gIDwvaDE+XG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPGZzLTJmYS12ZXJpZmljYXRpb24tbWV0aG9kc1xuICAgICAgW3R5cGVdPVwiVmVyaWZpY2F0aW9uTWV0aG9kVHlwZS5FbWFpbFwiXG4gICAgICBbdHdvRmFjdG9yTWFuYWdlU2VydmljZV09XCJ0d29GYWN0b3JNYW5hZ2VTZXJ2aWNlXCJcbiAgICAgIChkZWxldGVkKT1cImRlbGV0ZWQoKVwiPlxuICAgIDwvZnMtMmZhLXZlcmlmaWNhdGlvbi1tZXRob2RzPlxuICA8L21hdC1kaWFsb2ctY29udGVudD5cbiAgPG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIFttYXQtZGlhbG9nLWNsb3NlXT1cInVuZGVmaW5lZFwiPlxuICAgICAgQ2xvc2VcbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgKGNsaWNrKT1cImFkZCgpXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgQWRkIEVtYWlsXG4gICAgPC9idXR0b24+XG4gIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuPC9mcy1kaWFsb2c+XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9tYW5hZ2UvY29tcG9uZW50cy9lbWFpbHMvZW1haWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9tYW5hZ2UvY29tcG9uZW50cy9lbWFpbHMvZW1haWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQUUsTUFBTSxFQUFFLHVCQUF1QixFQUFFLFNBQVMsR0FDdEQsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFhLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFFeEgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7Ozs7O0FBU3pGLE1BQU0sT0FBTyxlQUFlO0lBU1M7SUFDekI7SUFDQTtJQVJILG1CQUFtQixDQUErQjtJQUVsRCxzQkFBc0IsQ0FBeUI7SUFDL0Msc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7SUFFdkQsWUFDbUMsS0FBVSxFQUNuQyxVQUF5QyxFQUN6QyxRQUFtQjtRQUZNLFVBQUssR0FBTCxLQUFLLENBQUs7UUFDbkMsZUFBVSxHQUFWLFVBQVUsQ0FBK0I7UUFDekMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUUzQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDLHNCQUFzQixDQUFDO0lBQzdELENBQUM7SUFFTSxHQUFHO1FBQ1IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsRUFBRTthQUNwQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQzNELElBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMscUJBQXFCLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwRixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO3VHQTVCVSxlQUFlLGtCQVNoQixlQUFlOzJGQVRkLGVBQWUseUdBRWYsNEJBQTRCLGdEQ25CekMsK29CQTJCQTs7MkZEVmEsZUFBZTtrQkFMM0IsU0FBUztzQ0FHUyx1QkFBdUIsQ0FBQyxNQUFNOzswQkFXNUMsTUFBTTsyQkFBQyxlQUFlOzRGQU5sQixtQkFBbUI7c0JBRHpCLFNBQVM7dUJBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LCBJbmplY3QsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEZzTWVzc2FnZSB9IGZyb20gJ0BmaXJlc3RpdGNoL21lc3NhZ2UnO1xuaW1wb3J0IHsgVmVyaWZpY2F0aW9uTWV0aG9kc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZHVsZXMvdmVyaWZpY2F0aW9uLW1ldGhvZHMvY29tcG9uZW50cy92ZXJpZmljYXRpb24tbWV0aG9kcyc7XG5cbmltcG9ydCB7IFZlcmlmaWNhdGlvbk1ldGhvZFR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtcy92ZXJpZmljYXRpb24tbWV0aG9kLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBUd29GYWN0b3JNYW5hZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZW1haWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZW1haWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBFbWFpbHNDb21wb25lbnQge1xuXG4gIEBWaWV3Q2hpbGQoVmVyaWZpY2F0aW9uTWV0aG9kc0NvbXBvbmVudCkgXG4gIHB1YmxpYyB2ZXJpZmljYXRpb25NZXRob2RzOiBWZXJpZmljYXRpb25NZXRob2RzQ29tcG9uZW50O1xuXG4gIHB1YmxpYyB0d29GYWN0b3JNYW5hZ2VTZXJ2aWNlOiBUd29GYWN0b3JNYW5hZ2VTZXJ2aWNlO1xuICBwdWJsaWMgVmVyaWZpY2F0aW9uTWV0aG9kVHlwZSA9IFZlcmlmaWNhdGlvbk1ldGhvZFR5cGU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgX2RhdGE6IGFueSxcbiAgICBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxFbWFpbHNDb21wb25lbnQ+LFxuICAgIHByaXZhdGUgX21lc3NhZ2U6IEZzTWVzc2FnZSxcbiAgKSB7XG4gICAgdGhpcy50d29GYWN0b3JNYW5hZ2VTZXJ2aWNlID0gX2RhdGEudHdvRmFjdG9yTWFuYWdlU2VydmljZTtcbiAgfVxuXG4gIHB1YmxpYyBhZGQoKTogdm9pZCB7XG4gICAgdGhpcy50d29GYWN0b3JNYW5hZ2VTZXJ2aWNlLmFkZEVtYWlsJCgpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+e1xuICAgICAgICB0aGlzLnZlcmlmaWNhdGlvbk1ldGhvZHMucmVsb2FkKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGVkKCk6IHZvaWQge1xuICAgIHRoaXMuX21lc3NhZ2Uuc3VjY2VzcygnRGVsZXRlZCBlbWFpbCB2ZXJpZmljYXRpb24gbWV0aG9kJyk7XG4gICAgaWYoIXRoaXMudHdvRmFjdG9yTWFuYWdlU2VydmljZS5oYXNWZXJpZmljYXRpb25NZXRob2QoVmVyaWZpY2F0aW9uTWV0aG9kVHlwZS5FbWFpbCkpIHtcbiAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZnMtZGlhbG9nPlxuICA8aDEgbWF0LWRpYWxvZy10aXRsZT5cbiAgICBFbWFpbHNcbiAgPC9oMT5cbiAgPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8ZnMtMmZhLXZlcmlmaWNhdGlvbi1tZXRob2RzXG4gICAgICBbdHlwZV09XCJWZXJpZmljYXRpb25NZXRob2RUeXBlLkVtYWlsXCJcbiAgICAgIFt0d29GYWN0b3JNYW5hZ2VTZXJ2aWNlXT1cInR3b0ZhY3Rvck1hbmFnZVNlcnZpY2VcIlxuICAgICAgKGRlbGV0ZWQpPVwiZGVsZXRlZCgpXCI+XG4gICAgPC9mcy0yZmEtdmVyaWZpY2F0aW9uLW1ldGhvZHM+XG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxuICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwidW5kZWZpbmVkXCI+XG4gICAgICBDbG9zZVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAoY2xpY2spPVwiYWRkKClcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICBBZGQgRW1haWxcbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG48L2ZzLWRpYWxvZz5cbiJdfQ==
@@ -1,11 +1,11 @@
1
- import { Component, Inject, ChangeDetectionStrategy, ChangeDetectorRef, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, } from '@angular/core';
2
2
  import { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
3
- import { Subject } from 'rxjs';
4
- import { NumbersComponent } from '../numbers';
5
- import { EmailsComponent } from '../emails';
6
- import { VerificationMethodType } from '../../../../enums/verification-method-type.enum';
7
3
  import { FsMessage } from '@firestitch/message';
4
+ import { Subject } from 'rxjs';
8
5
  import { switchMap } from 'rxjs/operators';
6
+ import { VerificationMethodType } from '../../../../enums/verification-method-type.enum';
7
+ import { EmailsComponent } from '../emails';
8
+ import { NumbersComponent } from '../numbers';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@angular/material/dialog";
11
11
  import * as i2 from "@firestitch/message";
@@ -13,9 +13,10 @@ import * as i3 from "@angular/common";
13
13
  import * as i4 from "@angular/material/button";
14
14
  import * as i5 from "@angular/material/icon";
15
15
  import * as i6 from "@firestitch/dialog";
16
- import * as i7 from "@firestitch/form";
17
- import * as i8 from "../../../defaulted/components/defaulted/defaulted.component";
18
- import * as i9 from "@firestitch/phone";
16
+ import * as i7 from "@firestitch/chip";
17
+ import * as i8 from "@firestitch/form";
18
+ import * as i9 from "../../../defaulted/components/defaulted/defaulted.component";
19
+ import * as i10 from "@firestitch/phone";
19
20
  export class ManageMethodsComponent {
20
21
  _data;
21
22
  _cdRef;
@@ -25,6 +26,7 @@ export class ManageMethodsComponent {
25
26
  verificationMethods;
26
27
  verificationMethodTypes = {};
27
28
  VerificationMethodType = VerificationMethodType;
29
+ buttonStyle = 'raised';
28
30
  _destroy$ = new Subject();
29
31
  _defaultCountry;
30
32
  constructor(_data, _cdRef, _dialog, _message) {
@@ -36,6 +38,7 @@ export class ManageMethodsComponent {
36
38
  ngOnInit() {
37
39
  this._defaultCountry = this._data.defaultCountry;
38
40
  this.twoFactorManageService = this._data.twoFactorManageService;
41
+ this.buttonStyle = this._data.buttonStyle;
39
42
  this.verificationMethodTypes = this._data.verificationMethodTypes
40
43
  .reduce((verificationMethodTypes, verificationMethodType) => {
41
44
  verificationMethodTypes[verificationMethodType] = true;
@@ -120,13 +123,13 @@ export class ManageMethodsComponent {
120
123
  this._destroy$.complete();
121
124
  }
122
125
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ManageMethodsComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i0.ChangeDetectorRef }, { token: i1.MatDialog }, { token: i2.FsMessage }], target: i0.ɵɵFactoryTarget.Component });
123
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: ManageMethodsComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog>\n <h1 mat-dialog-title>2-Step Verification</h1>\n <mat-dialog-content>\n <table>\n <tr *ngIf=\"verificationMethodTypes[VerificationMethodType.Sms]\">\n <td>\n <mat-icon>textsms</mat-icon>\n </td>\n <td>\n <div class=\"type\">\n <span>Text Message</span>\n <span *ngIf=\"textHasVerificationMethod\" class=\"enabled\"></span>\n <app-defaulted *ngIf=\"defaultSms\"></app-defaulted>\n </div>\n <div class=\"small\">\n Verification codes are sent by text message\n <ng-container *ngIf=\"textHasVerificationMethod\">\n to <span class=\"items\">\n <span *ngFor=\"let item of twoFactorManageService.smsVerificationMethods\">{{item.phoneNumber | fsPhone}}</span>\n </span>\n </ng-container>\n </div>\n </td>\n <td>\n <button \n *ngIf=\"textHasVerificationMethod; else textMessageManageButton\"\n mat-raised-button \n type=\"button\"\n (click)=\"textMessageManage()\">\n Manage\n </button>\n <ng-template #textMessageManageButton>\n <button \n mat-raised-button \n color=\"primary\"\n type=\"button\"\n (click)=\"textMessageAdd()\">\n Turn On\n </button>\n </ng-template>\n </td>\n </tr>\n <tr *ngIf=\"verificationMethodTypes[VerificationMethodType.Email]\">\n <td>\n <mat-icon>email</mat-icon>\n </td>\n <td>\n <div class=\"type\">\n <span>Email</span> \n <span *ngIf=\"emailHasVerificationMethod\" class=\"enabled\"></span>\n <app-defaulted *ngIf=\"defaultEmail\"></app-defaulted>\n </div>\n <div class=\"small\">\n Verification codes are sent by email\n <ng-container *ngIf=\"emailHasVerificationMethod\">\n to <span class=\"items\">\n <span *ngFor=\"let item of twoFactorManageService.emailVerificationMethods\">{{item.email}}</span>\n </span>\n </ng-container>\n </div>\n </td>\n <td>\n <button \n *ngIf=\"emailHasVerificationMethod; else emailMessageManageButton\"\n mat-raised-button \n type=\"button\"\n (click)=\"emailMessageManage()\">\n Manage\n </button>\n <ng-template #emailMessageManageButton>\n <button \n mat-raised-button \n color=\"primary\"\n type=\"button\"\n (click)=\"emailMessageAdd()\">\n Turn On\n </button>\n </ng-template>\n </td>\n </tr>\n <tr *ngIf=\"verificationMethodTypes[VerificationMethodType.App]\">\n <td>\n <mat-icon>phone_iphone</mat-icon>\n </td>\n <td>\n <div class=\"type\">\n <span>Authenticator App</span>\n <span *ngIf=\"appHasVerificationMethod\" class=\"enabled\"></span>\n <app-defaulted *ngIf=\"defaultApp\"></app-defaulted>\n </div>\n <div class=\"small\">Verification code is generated by an authenticator app such as Authy or Google Authenticator</div>\n </td>\n <td>\n <button \n *ngIf=\"appHasVerificationMethod; else appMessageManageButton\"\n mat-raised-button \n type=\"button\"\n (click)=\"appRemove()\">\n Remove\n </button>\n <ng-template #appMessageManageButton>\n <button \n mat-raised-button \n color=\"primary\"\n type=\"button\"\n (click)=\"appAdd()\">\n Turn On\n </button>\n </ng-template>\n </td>\n </tr> \n </table> \n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n color=\"primary\"\n type=\"button\"\n [mat-dialog-close]=\"undefined\">\n Close\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: ["mat-dialog-content{max-width:500px}.enabled{font-size:75%;background-color:#70b601;padding:2px 4px;border-radius:4px;color:#fff;margin-left:4px}.enabled:after{content:\"Enabled\"}table tr td:first-child,table tr td:last-child{width:1%}table tr td:first-child mat-icon,table tr td:last-child mat-icon{display:flex}table tr td{padding:6px;vertical-align:middle}table tr .type{display:flex;align-items:center}table tr .type app-defaulted{margin-left:4px}.items span+span:not(:last-child):before{content:\", \"}.items span+span:last-child:before{content:\" and \"}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout", "dock", "dockable", "fullscreenPercent"] }, { kind: "directive", type: i7.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }, { kind: "component", type: i8.DefaultedComponent, selector: "app-defaulted" }, { kind: "pipe", type: i9.FsPhonePipe, name: "fsPhone" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
126
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: ManageMethodsComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog>\n <h1 mat-dialog-title>2-Step Verification</h1>\n <mat-dialog-content>\n <table>\n <tr *ngIf=\"verificationMethodTypes[VerificationMethodType.Sms]\">\n <td>\n <mat-icon>textsms</mat-icon>\n </td>\n <td>\n <div class=\"type\">\n <span>Text Message</span>\n @if(textHasVerificationMethod) {\n <ng-container [ngTemplateOutlet]=\"enabledChip\"></ng-container>\n }\n <app-defaulted *ngIf=\"defaultSms\"></app-defaulted>\n </div>\n <div class=\"small\">\n Verification codes are sent by text message\n <ng-container *ngIf=\"textHasVerificationMethod\">\n to <span class=\"items\">\n <span *ngFor=\"let item of twoFactorManageService.smsVerificationMethods\">{{item.phoneNumber | fsPhone}}</span>\n </span>\n </ng-container>\n </div>\n </td>\n <td>\n @if(textHasVerificationMethod) {\n <button \n mat-button \n [ngClass]=\"{ \n 'mat-mdc-outlined-button': buttonStyle === 'stroked',\n 'mat-mdc-raised-button': buttonStyle === 'raised'\n }\"\n type=\"button\"\n (click)=\"textMessageManage()\">\n Manage\n </button>\n } @else {\n <button \n mat-button \n [ngClass]=\"{ \n 'mat-mdc-outlined-button': buttonStyle === 'stroked',\n 'mat-mdc-raised-button': buttonStyle === 'raised'\n }\"\n color=\"primary\"\n type=\"button\"\n (click)=\"textMessageAdd()\">\n Turn On\n </button>\n }\n </td>\n </tr>\n <tr *ngIf=\"verificationMethodTypes[VerificationMethodType.Email]\">\n <td>\n <mat-icon>email</mat-icon>\n </td>\n <td>\n <div class=\"type\">\n <span>Email</span> \n @if(emailHasVerificationMethod) {\n <ng-container [ngTemplateOutlet]=\"enabledChip\"></ng-container>\n }\n <app-defaulted *ngIf=\"defaultEmail\"></app-defaulted>\n </div>\n <div class=\"small\">\n Verification codes are sent by email\n <ng-container *ngIf=\"emailHasVerificationMethod\">\n to <span class=\"items\">\n <span *ngFor=\"let item of twoFactorManageService.emailVerificationMethods\">{{item.email}}</span>\n </span>\n </ng-container>\n </div>\n </td>\n <td>\n @if(emailHasVerificationMethod) {\n <button \n mat-button \n [ngClass]=\"{ \n 'mat-mdc-outlined-button': buttonStyle === 'stroked',\n 'mat-mdc-raised-button': buttonStyle === 'raised'\n }\"\n type=\"button\"\n (click)=\"emailMessageManage()\">\n Manage\n </button>\n } @else {\n <button\n mat-button \n [ngClass]=\"{ \n 'mat-mdc-outlined-button': buttonStyle === 'stroked',\n 'mat-mdc-raised-button': buttonStyle === 'raised'\n }\"\n color=\"primary\"\n type=\"button\"\n (click)=\"emailMessageAdd()\">\n Turn On\n </button>\n }\n </td>\n </tr>\n <tr *ngIf=\"verificationMethodTypes[VerificationMethodType.App]\">\n <td>\n <mat-icon>phone_iphone</mat-icon>\n </td>\n <td>\n <div class=\"type\">\n <span>Authenticator App</span>\n @if(appHasVerificationMethod) {\n <ng-container [ngTemplateOutlet]=\"enabledChip\"></ng-container>\n }\n <app-defaulted *ngIf=\"defaultApp\"></app-defaulted>\n </div>\n <div class=\"small\">Verification code is generated by an authenticator app such as Authy or Google Authenticator</div>\n </td>\n <td>\n @if(appHasVerificationMethod) {\n <button \n mat-button \n [ngClass]=\"{ \n 'mat-mdc-outlined-button': buttonStyle === 'stroked',\n 'mat-mdc-raised-button': buttonStyle === 'raised'\n }\"\n type=\"button\"\n (click)=\"appRemove()\">\n Remove\n </button>\n } @else {\n <button \n mat-button \n [ngClass]=\"{ \n 'mat-mdc-outlined-button': buttonStyle === 'stroked',\n 'mat-mdc-raised-button': buttonStyle === 'raised'\n }\"\n color=\"primary\"\n type=\"button\"\n (click)=\"appAdd()\">\n Turn On\n </button>\n }\n </td>\n </tr> \n </table> \n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n color=\"primary\"\n type=\"button\"\n [mat-dialog-close]=\"undefined\">\n Close\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n\n\n<ng-template #enabledChip>\n <fs-chip [backgroundColor]=\"'#70B601'\" [size]=\"'tiny'\">Enabled</fs-chip>\n</ng-template>", styles: ["mat-dialog-content{max-width:500px}table tr td:first-child,table tr td:last-child{width:1%}table tr td:first-child mat-icon,table tr td:last-child mat-icon{display:flex}table tr td{padding:6px;vertical-align:middle}table tr .type{display:flex;align-items:center}table tr .type span{margin-right:5px}table tr .type app-defaulted{margin-left:4px}.items span+span:not(:last-child):before{content:\", \"}.items span+span:last-child:before{content:\" and \"}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout", "dock", "dockable", "fullscreenPercent"] }, { kind: "component", type: i7.FsChipComponent, selector: "fs-chip", inputs: ["selectable", "removable", "actionable", "value", "actions", "icon", "image", "selected", "size", "backgroundColor", "borderColor", "color", "outlined"], outputs: ["selectedToggled", "removed"] }, { kind: "directive", type: i8.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }, { kind: "component", type: i9.DefaultedComponent, selector: "app-defaulted" }, { kind: "pipe", type: i10.FsPhonePipe, name: "fsPhone" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
124
127
  }
125
128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ManageMethodsComponent, decorators: [{
126
129
  type: Component,
127
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-dialog>\n <h1 mat-dialog-title>2-Step Verification</h1>\n <mat-dialog-content>\n <table>\n <tr *ngIf=\"verificationMethodTypes[VerificationMethodType.Sms]\">\n <td>\n <mat-icon>textsms</mat-icon>\n </td>\n <td>\n <div class=\"type\">\n <span>Text Message</span>\n <span *ngIf=\"textHasVerificationMethod\" class=\"enabled\"></span>\n <app-defaulted *ngIf=\"defaultSms\"></app-defaulted>\n </div>\n <div class=\"small\">\n Verification codes are sent by text message\n <ng-container *ngIf=\"textHasVerificationMethod\">\n to <span class=\"items\">\n <span *ngFor=\"let item of twoFactorManageService.smsVerificationMethods\">{{item.phoneNumber | fsPhone}}</span>\n </span>\n </ng-container>\n </div>\n </td>\n <td>\n <button \n *ngIf=\"textHasVerificationMethod; else textMessageManageButton\"\n mat-raised-button \n type=\"button\"\n (click)=\"textMessageManage()\">\n Manage\n </button>\n <ng-template #textMessageManageButton>\n <button \n mat-raised-button \n color=\"primary\"\n type=\"button\"\n (click)=\"textMessageAdd()\">\n Turn On\n </button>\n </ng-template>\n </td>\n </tr>\n <tr *ngIf=\"verificationMethodTypes[VerificationMethodType.Email]\">\n <td>\n <mat-icon>email</mat-icon>\n </td>\n <td>\n <div class=\"type\">\n <span>Email</span> \n <span *ngIf=\"emailHasVerificationMethod\" class=\"enabled\"></span>\n <app-defaulted *ngIf=\"defaultEmail\"></app-defaulted>\n </div>\n <div class=\"small\">\n Verification codes are sent by email\n <ng-container *ngIf=\"emailHasVerificationMethod\">\n to <span class=\"items\">\n <span *ngFor=\"let item of twoFactorManageService.emailVerificationMethods\">{{item.email}}</span>\n </span>\n </ng-container>\n </div>\n </td>\n <td>\n <button \n *ngIf=\"emailHasVerificationMethod; else emailMessageManageButton\"\n mat-raised-button \n type=\"button\"\n (click)=\"emailMessageManage()\">\n Manage\n </button>\n <ng-template #emailMessageManageButton>\n <button \n mat-raised-button \n color=\"primary\"\n type=\"button\"\n (click)=\"emailMessageAdd()\">\n Turn On\n </button>\n </ng-template>\n </td>\n </tr>\n <tr *ngIf=\"verificationMethodTypes[VerificationMethodType.App]\">\n <td>\n <mat-icon>phone_iphone</mat-icon>\n </td>\n <td>\n <div class=\"type\">\n <span>Authenticator App</span>\n <span *ngIf=\"appHasVerificationMethod\" class=\"enabled\"></span>\n <app-defaulted *ngIf=\"defaultApp\"></app-defaulted>\n </div>\n <div class=\"small\">Verification code is generated by an authenticator app such as Authy or Google Authenticator</div>\n </td>\n <td>\n <button \n *ngIf=\"appHasVerificationMethod; else appMessageManageButton\"\n mat-raised-button \n type=\"button\"\n (click)=\"appRemove()\">\n Remove\n </button>\n <ng-template #appMessageManageButton>\n <button \n mat-raised-button \n color=\"primary\"\n type=\"button\"\n (click)=\"appAdd()\">\n Turn On\n </button>\n </ng-template>\n </td>\n </tr> \n </table> \n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n color=\"primary\"\n type=\"button\"\n [mat-dialog-close]=\"undefined\">\n Close\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: ["mat-dialog-content{max-width:500px}.enabled{font-size:75%;background-color:#70b601;padding:2px 4px;border-radius:4px;color:#fff;margin-left:4px}.enabled:after{content:\"Enabled\"}table tr td:first-child,table tr td:last-child{width:1%}table tr td:first-child mat-icon,table tr td:last-child mat-icon{display:flex}table tr td{padding:6px;vertical-align:middle}table tr .type{display:flex;align-items:center}table tr .type app-defaulted{margin-left:4px}.items span+span:not(:last-child):before{content:\", \"}.items span+span:last-child:before{content:\" and \"}\n"] }]
130
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-dialog>\n <h1 mat-dialog-title>2-Step Verification</h1>\n <mat-dialog-content>\n <table>\n <tr *ngIf=\"verificationMethodTypes[VerificationMethodType.Sms]\">\n <td>\n <mat-icon>textsms</mat-icon>\n </td>\n <td>\n <div class=\"type\">\n <span>Text Message</span>\n @if(textHasVerificationMethod) {\n <ng-container [ngTemplateOutlet]=\"enabledChip\"></ng-container>\n }\n <app-defaulted *ngIf=\"defaultSms\"></app-defaulted>\n </div>\n <div class=\"small\">\n Verification codes are sent by text message\n <ng-container *ngIf=\"textHasVerificationMethod\">\n to <span class=\"items\">\n <span *ngFor=\"let item of twoFactorManageService.smsVerificationMethods\">{{item.phoneNumber | fsPhone}}</span>\n </span>\n </ng-container>\n </div>\n </td>\n <td>\n @if(textHasVerificationMethod) {\n <button \n mat-button \n [ngClass]=\"{ \n 'mat-mdc-outlined-button': buttonStyle === 'stroked',\n 'mat-mdc-raised-button': buttonStyle === 'raised'\n }\"\n type=\"button\"\n (click)=\"textMessageManage()\">\n Manage\n </button>\n } @else {\n <button \n mat-button \n [ngClass]=\"{ \n 'mat-mdc-outlined-button': buttonStyle === 'stroked',\n 'mat-mdc-raised-button': buttonStyle === 'raised'\n }\"\n color=\"primary\"\n type=\"button\"\n (click)=\"textMessageAdd()\">\n Turn On\n </button>\n }\n </td>\n </tr>\n <tr *ngIf=\"verificationMethodTypes[VerificationMethodType.Email]\">\n <td>\n <mat-icon>email</mat-icon>\n </td>\n <td>\n <div class=\"type\">\n <span>Email</span> \n @if(emailHasVerificationMethod) {\n <ng-container [ngTemplateOutlet]=\"enabledChip\"></ng-container>\n }\n <app-defaulted *ngIf=\"defaultEmail\"></app-defaulted>\n </div>\n <div class=\"small\">\n Verification codes are sent by email\n <ng-container *ngIf=\"emailHasVerificationMethod\">\n to <span class=\"items\">\n <span *ngFor=\"let item of twoFactorManageService.emailVerificationMethods\">{{item.email}}</span>\n </span>\n </ng-container>\n </div>\n </td>\n <td>\n @if(emailHasVerificationMethod) {\n <button \n mat-button \n [ngClass]=\"{ \n 'mat-mdc-outlined-button': buttonStyle === 'stroked',\n 'mat-mdc-raised-button': buttonStyle === 'raised'\n }\"\n type=\"button\"\n (click)=\"emailMessageManage()\">\n Manage\n </button>\n } @else {\n <button\n mat-button \n [ngClass]=\"{ \n 'mat-mdc-outlined-button': buttonStyle === 'stroked',\n 'mat-mdc-raised-button': buttonStyle === 'raised'\n }\"\n color=\"primary\"\n type=\"button\"\n (click)=\"emailMessageAdd()\">\n Turn On\n </button>\n }\n </td>\n </tr>\n <tr *ngIf=\"verificationMethodTypes[VerificationMethodType.App]\">\n <td>\n <mat-icon>phone_iphone</mat-icon>\n </td>\n <td>\n <div class=\"type\">\n <span>Authenticator App</span>\n @if(appHasVerificationMethod) {\n <ng-container [ngTemplateOutlet]=\"enabledChip\"></ng-container>\n }\n <app-defaulted *ngIf=\"defaultApp\"></app-defaulted>\n </div>\n <div class=\"small\">Verification code is generated by an authenticator app such as Authy or Google Authenticator</div>\n </td>\n <td>\n @if(appHasVerificationMethod) {\n <button \n mat-button \n [ngClass]=\"{ \n 'mat-mdc-outlined-button': buttonStyle === 'stroked',\n 'mat-mdc-raised-button': buttonStyle === 'raised'\n }\"\n type=\"button\"\n (click)=\"appRemove()\">\n Remove\n </button>\n } @else {\n <button \n mat-button \n [ngClass]=\"{ \n 'mat-mdc-outlined-button': buttonStyle === 'stroked',\n 'mat-mdc-raised-button': buttonStyle === 'raised'\n }\"\n color=\"primary\"\n type=\"button\"\n (click)=\"appAdd()\">\n Turn On\n </button>\n }\n </td>\n </tr> \n </table> \n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n color=\"primary\"\n type=\"button\"\n [mat-dialog-close]=\"undefined\">\n Close\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n\n\n<ng-template #enabledChip>\n <fs-chip [backgroundColor]=\"'#70B601'\" [size]=\"'tiny'\">Enabled</fs-chip>\n</ng-template>", styles: ["mat-dialog-content{max-width:500px}table tr td:first-child,table tr td:last-child{width:1%}table tr td:first-child mat-icon,table tr td:last-child mat-icon{display:flex}table tr td{padding:6px;vertical-align:middle}table tr .type{display:flex;align-items:center}table tr .type span{margin-right:5px}table tr .type app-defaulted{margin-left:4px}.items span+span:not(:last-child):before{content:\", \"}.items span+span:last-child:before{content:\" and \"}\n"] }]
128
131
  }], ctorParameters: () => [{ type: undefined, decorators: [{
129
132
  type: Inject,
130
133
  args: [MAT_DIALOG_DATA]
131
134
  }] }, { type: i0.ChangeDetectorRef }, { type: i1.MatDialog }, { type: i2.FsMessage }] });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLW1ldGhvZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL21hbmFnZS9jb21wb25lbnRzL21hbmFnZS1tZXRob2RzL21hbmFnZS1tZXRob2RzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9tYW5hZ2UvY29tcG9uZW50cy9tYW5hZ2UtbWV0aG9kcy9tYW5hZ2UtbWV0aG9kcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsR0FDOUQsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTVDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBUTNDLE1BQU0sT0FBTyxzQkFBc0I7SUFXRTtJQUN6QjtJQUNBO0lBQ0E7SUFaSCxzQkFBc0IsQ0FBeUI7SUFDL0MsbUJBQW1CLENBQUM7SUFDcEIsdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0lBQzdCLHNCQUFzQixHQUFHLHNCQUFzQixDQUFDO0lBRS9DLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFCLGVBQWUsQ0FBUztJQUVoQyxZQUNtQyxL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Uyx1QkFBdUIsQ0FBQyxNQUFNOzswQkFhNUMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LCBJbmplY3QsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0LCBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTnVtYmVyc0NvbXBvbmVudCB9IGZyb20gJy4uL251bWJlcnMnO1xuaW1wb3J0IHsgRW1haWxzQ29tcG9uZW50IH0gZnJvbSAnLi4vZW1haWxzJztcbmltcG9ydCB7IFR3b0ZhY3Rvck1hbmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBWZXJpZmljYXRpb25NZXRob2RUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bXMvdmVyaWZpY2F0aW9uLW1ldGhvZC10eXBlLmVudW0nO1xuaW1wb3J0IHsgRnNNZXNzYWdlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbWVzc2FnZSc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9tYW5hZ2UtbWV0aG9kcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hbmFnZS1tZXRob2RzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNYW5hZ2VNZXRob2RzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyB0d29GYWN0b3JNYW5hZ2VTZXJ2aWNlOiBUd29GYWN0b3JNYW5hZ2VTZXJ2aWNlO1xuICBwdWJsaWMgdmVyaWZpY2F0aW9uTWV0aG9kcztcbiAgcHVibGljIHZlcmlmaWNhdGlvbk1ldGhvZFR5cGVzID0ge307XG4gIHB1YmxpYyBWZXJpZmljYXRpb25NZXRob2RUeXBlID0gVmVyaWZpY2F0aW9uTWV0aG9kVHlwZTtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgX2RlZmF1bHRDb3VudHJ5OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgX2RhdGE6IGFueSxcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBfbWVzc2FnZTogRnNNZXNzYWdlLFxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2RlZmF1bHRDb3VudHJ5ID0gdGhpcy5fZGF0YS5kZWZhdWx0Q291bnRyeTtcbiAgICB0aGlzLnR3b0ZhY3Rvck1hbmFnZVNlcnZpY2UgPSB0aGlzLl9kYXRhLnR3b0ZhY3Rvck1hbmFnZVNlcnZpY2U7XG4gICAgdGhpcy52ZXJpZmljYXRpb25NZXRob2RUeXBlcyA9IHRoaXMuX2RhdGEudmVyaWZpY2F0aW9uTWV0aG9kVHlwZXNcbiAgICAucmVkdWNlKCh2ZXJpZmljYXRpb25NZXRob2RUeXBlcywgdmVyaWZpY2F0aW9uTWV0aG9kVHlwZSkgPT4ge1xuICAgICAgdmVyaWZpY2F0aW9uTWV0aG9kVHlwZXNbdmVyaWZpY2F0aW9uTWV0aG9kVHlwZV0gPSB0cnVlO1xuXG4gICAgICByZXR1cm4gdmVyaWZpY2F0aW9uTWV0aG9kVHlwZXM7XG4gICAgfSwge30pO1xuXG4gICAgdGhpcy50d29GYWN0b3JNYW5hZ2VTZXJ2aWNlLnZlcmlmaWNhdGlvbk1ldGhvZHMkXG4gICAgICAuc3Vic2NyaWJlKCh2ZXJpZmljYXRpb25NZXRob2RzKSA9PiB7XG4gICAgICAgIHRoaXMudmVyaWZpY2F0aW9uTWV0aG9kcyA9IHZlcmlmaWNhdGlvbk1ldGhvZHM7XG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlZmF1bHRTbXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHdvRmFjdG9yTWFuYWdlU2VydmljZS5zbXNWZXJpZmljYXRpb25NZXRob2RzXG4gICAgLnNvbWUoKHZlcmlmaWNhdGlvbk1ldGhvZCkgPT4ge1xuICAgICAgcmV0dXJuIHZlcmlmaWNhdGlvbk1ldGhvZC5kZWZhdWx0O1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBkZWZhdWx0QXBwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR3b0ZhY3Rvck1hbmFnZVNlcnZpY2UuYXBwVmVyaWZpY2F0aW9uTWV0aG9kc1xuICAgIC5zb21lKCh2ZXJpZmljYXRpb25NZXRob2QpID0+IHtcbiAgICAgIHJldHVybiB2ZXJpZmljYXRpb25NZXRob2QuZGVmYXVsdDtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVmYXVsdEVtYWlsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR3b0ZhY3Rvck1hbmFnZVNlcnZpY2UuZW1haWxWZXJpZmljYXRpb25NZXRob2RzXG4gICAgLnNvbWUoKHZlcmlmaWNhdGlvbk1ldGhvZCkgPT4ge1xuICAgICAgcmV0dXJuIHZlcmlmaWNhdGlvbk1ldGhvZC5kZWZhdWx0O1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCB0ZXh0SGFzVmVyaWZpY2F0aW9uTWV0aG9kKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR3b0ZhY3Rvck1hbmFnZVNlcnZpY2UuaGFzVmVyaWZpY2F0aW9uTWV0aG9kKFZlcmlmaWNhdGlvbk1ldGhvZFR5cGUuU21zKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXBwSGFzVmVyaWZpY2F0aW9uTWV0aG9kKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR3b0ZhY3Rvck1hbmFnZVNlcnZpY2UuaGFzVmVyaWZpY2F0aW9uTWV0aG9kKFZlcmlmaWNhdGlvbk1ldGhvZFR5cGUuQXBwKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW1haWxIYXNWZXJpZmljYXRpb25NZXRob2QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHdvRmFjdG9yTWFuYWdlU2VydmljZS5oYXNWZXJpZmljYXRpb25NZXRob2QoVmVyaWZpY2F0aW9uTWV0aG9kVHlwZS5FbWFpbCk7XG4gIH1cblxuICBwdWJsaWMgdGV4dE1lc3NhZ2VNYW5hZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oTnVtYmVyc0NvbXBvbmVudCwge1xuICAgICAgZGF0YToge1xuICAgICAgICB0d29GYWN0b3JNYW5hZ2VTZXJ2aWNlOiB0aGlzLnR3b0ZhY3Rvck1hbmFnZVNlcnZpY2UsXG4gICAgICAgIGRlZmF1bHRDb3VudHJ5OiB0aGlzLl9kZWZhdWx0Q291bnRyeSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdGV4dE1lc3NhZ2VBZGQoKTogdm9pZCB7XG4gICAgdGhpcy50d29GYWN0b3JNYW5hZ2VTZXJ2aWNlLmFkZFNtcyQodGhpcy5fZGVmYXVsdENvdW50cnkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgZW1haWxNZXNzYWdlTWFuYWdlKCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZy5vcGVuKEVtYWlsc0NvbXBvbmVudCwge1xuICAgICAgZGF0YToge1xuICAgICAgICB0d29GYWN0b3JNYW5hZ2VTZXJ2aWNlOiB0aGlzLnR3b0ZhY3Rvck1hbmFnZVNlcnZpY2UsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGVtYWlsTWVzc2FnZUFkZCgpOiB2b2lkIHtcbiAgICB0aGlzLnR3b0ZhY3Rvck1hbmFnZVNlcnZpY2UuYWRkRW1haWwkKClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBSZW1vdmUoKTogdm9pZCB7XG4gICAgY29uc3QgdmVyaWZpY2F0aW9uTWV0aG9kID0gdGhpcy52ZXJpZmljYXRpb25NZXRob2RzXG4gICAgICAuZmluZCgoX3ZlcmlmaWNhdGlvbk1ldGhvZCkgPT4ge1xuICAgICAgICByZXR1cm4gX3ZlcmlmaWNhdGlvbk1ldGhvZC50eXBlID09PSBWZXJpZmljYXRpb25NZXRob2RUeXBlLkFwcDtcbiAgICAgIH0pO1xuXG4gICAgaWYodmVyaWZpY2F0aW9uTWV0aG9kKSB7XG4gICAgICB0aGlzLnR3b0ZhY3Rvck1hbmFnZVNlcnZpY2UuYWNjb3VudFZlcmlmeSQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnR3b0ZhY3Rvck1hbmFnZVNlcnZpY2UudmVyaWZpY2F0aW9uTWV0aG9kRGVsZXRlJCh2ZXJpZmljYXRpb25NZXRob2QpKSxcbiAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fbWVzc2FnZS5zdWNjZXNzKCdSZW1vdmVkIEFwcCBBdXRoZW50aWNhdG9yIHZlcmlmaWNhdGlvbiBtZXRob2QnKTtcbiAgICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFwcEFkZCgpOiB2b2lkIHtcbiAgICB0aGlzLnR3b0ZhY3Rvck1hbmFnZVNlcnZpY2UuYWRkQXBwJCgpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8ZnMtZGlhbG9nPlxuICA8aDEgbWF0LWRpYWxvZy10aXRsZT4yLVN0ZXAgVmVyaWZpY2F0aW9uPC9oMT5cbiAgPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8dGFibGU+XG4gICAgICA8dHIgKm5nSWY9XCJ2ZXJpZmljYXRpb25NZXRob2RUeXBlc1tWZXJpZmljYXRpb25NZXRob2RUeXBlLlNtc11cIj5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIDxtYXQtaWNvbj50ZXh0c21zPC9tYXQtaWNvbj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eXBlXCI+XG4gICAgICAgICAgICA8c3Bhbj5UZXh0IE1lc3NhZ2U8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInRleHRIYXNWZXJpZmljYXRpb25NZXRob2RcIiBjbGFzcz1cImVuYWJsZWRcIj48L3NwYW4+XG4gICAgICAgICAgICA8YXBwLWRlZmF1bHRlZCAqbmdJZj1cImRlZmF1bHRTbXNcIj48L2FwcC1kZWZhdWx0ZWQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsXCI+XG4gICAgICAgICAgICBWZXJpZmljYXRpb24gY29kZXMgYXJlIHNlbnQgYnkgdGV4dCBtZXNzYWdlXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGV4dEhhc1ZlcmlmaWNhdGlvbk1ldGhvZFwiPlxuICAgICAgICAgICAgICB0byA8c3BhbiBjbGFzcz1cIml0ZW1zXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IGl0ZW0gb2YgdHdvRmFjdG9yTWFuYWdlU2VydmljZS5zbXNWZXJpZmljYXRpb25NZXRob2RzXCI+e3tpdGVtLnBob25lTnVtYmVyIHwgZnNQaG9uZX19PC9zcGFuPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIDxidXR0b24gXG4gICAgICAgICAgICAgICpuZ0lmPVwidGV4dEhhc1ZlcmlmaWNhdGlvbk1ldGhvZDsgZWxzZSB0ZXh0TWVzc2FnZU1hbmFnZUJ1dHRvblwiXG4gICAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uIFxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRleHRNZXNzYWdlTWFuYWdlKClcIj5cbiAgICAgICAgICAgICAgTWFuYWdlXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3RleHRNZXNzYWdlTWFuYWdlQnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uIFxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInRleHRNZXNzYWdlQWRkKClcIj5cbiAgICAgICAgICAgICAgVHVybiBPblxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgKm5nSWY9XCJ2ZXJpZmljYXRpb25NZXRob2RUeXBlc1tWZXJpZmljYXRpb25NZXRob2RUeXBlLkVtYWlsXVwiPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAgPG1hdC1pY29uPmVtYWlsPC9tYXQtaWNvbj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eXBlXCI+XG4gICAgICAgICAgICA8c3Bhbj5FbWFpbDwvc3Bhbj4gXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImVtYWlsSGFzVmVyaWZpY2F0aW9uTWV0aG9kXCIgY2xhc3M9XCJlbmFibGVkXCI+PC9zcGFuPlxuICAgICAgICAgICAgPGFwcC1kZWZhdWx0ZWQgKm5nSWY9XCJkZWZhdWx0RW1haWxcIj48L2FwcC1kZWZhdWx0ZWQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsXCI+XG4gICAgICAgICAgICBWZXJpZmljYXRpb24gY29kZXMgYXJlIHNlbnQgYnkgZW1haWxcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbWFpbEhhc1ZlcmlmaWNhdGlvbk1ldGhvZFwiPlxuICAgICAgICAgICAgICB0byA8c3BhbiBjbGFzcz1cIml0ZW1zXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IGl0ZW0gb2YgdHdvRmFjdG9yTWFuYWdlU2VydmljZS5lbWFpbFZlcmlmaWNhdGlvbk1ldGhvZHNcIj57e2l0ZW0uZW1haWx9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICA8YnV0dG9uIFxuICAgICAgICAgICAgICAqbmdJZj1cImVtYWlsSGFzVmVyaWZpY2F0aW9uTWV0aG9kOyBlbHNlIGVtYWlsTWVzc2FnZU1hbmFnZUJ1dHRvblwiXG4gICAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uIFxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImVtYWlsTWVzc2FnZU1hbmFnZSgpXCI+XG4gICAgICAgICAgICBNYW5hZ2VcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNlbWFpbE1lc3NhZ2VNYW5hZ2VCdXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvbiBcbiAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJlbWFpbE1lc3NhZ2VBZGQoKVwiPlxuICAgICAgICAgICAgVHVybiBPblxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciAqbmdJZj1cInZlcmlmaWNhdGlvbk1ldGhvZFR5cGVzW1ZlcmlmaWNhdGlvbk1ldGhvZFR5cGUuQXBwXVwiPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAgPG1hdC1pY29uPnBob25lX2lwaG9uZTwvbWF0LWljb24+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidHlwZVwiPlxuICAgICAgICAgICAgPHNwYW4+QXV0aGVudGljYXRvciBBcHA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImFwcEhhc1ZlcmlmaWNhdGlvbk1ldGhvZFwiIGNsYXNzPVwiZW5hYmxlZFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxhcHAtZGVmYXVsdGVkICpuZ0lmPVwiZGVmYXVsdEFwcFwiPjwvYXBwLWRlZmF1bHRlZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic21hbGxcIj5WZXJpZmljYXRpb24gY29kZSBpcyBnZW5lcmF0ZWQgYnkgYW4gYXV0aGVudGljYXRvciBhcHAgc3VjaCBhcyBBdXRoeSBvciBHb29nbGUgQXV0aGVudGljYXRvcjwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAgPGJ1dHRvbiBcbiAgICAgICAgICAgICAgKm5nSWY9XCJhcHBIYXNWZXJpZmljYXRpb25NZXRob2Q7IGVsc2UgYXBwTWVzc2FnZU1hbmFnZUJ1dHRvblwiXG4gICAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uIFxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImFwcFJlbW92ZSgpXCI+XG4gICAgICAgICAgICBSZW1vdmVcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNhcHBNZXNzYWdlTWFuYWdlQnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b24gXG4gICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiYXBwQWRkKClcIj5cbiAgICAgICAgICAgIFR1cm4gT25cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+IFxuICAgIDwvdGFibGU+ICAgICAgXG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxuICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwidW5kZWZpbmVkXCI+XG4gICAgICBDbG9zZVxuICAgIDwvYnV0dG9uPlxuICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cbjwvZnMtZGlhbG9nPlxuIl19
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLW1ldGhvZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL21hbmFnZS9jb21wb25lbnRzL21hbmFnZS1tZXRob2RzL21hbmFnZS1tZXRob2RzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9tYW5hZ2UvY29tcG9uZW50cy9tYW5hZ2UtbWV0aG9kcy9tYW5hZ2UtbWV0aG9kcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQzFDLFNBQVMsRUFBRSxNQUFNLEdBR2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXpGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7Ozs7Ozs7QUFROUMsTUFBTSxPQUFPLHNCQUFzQjtJQVlFO0lBQ3pCO0lBQ0E7SUFDQTtJQWJILHNCQUFzQixDQUF5QjtJQUMvQyxtQkFBbUIsQ0FBQztJQUNwQix1QkFBdUIsR0FBRyxFQUFFLENBQUM7SUFDN0Isc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7SUFDaEQsV0FBVyxHQUF5QixRQUFRLENBQUM7SUFFNUMsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7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R0ExSFUsc0JBQXNCLGtCQVl2QixlQUFlOzJGQVpkLHNCQUFzQixvREN6Qm5DLCs0S0E2SmM7OzJGRHBJRCxzQkFBc0I7a0JBTGxDLFNBQVM7c0NBR1MsdUJBQXVCLENBQUMsTUFBTTs7MEJBYzVDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LCBJbmplY3QsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBGc01lc3NhZ2UgfSBmcm9tICdAZmlyZXN0aXRjaC9tZXNzYWdlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBWZXJpZmljYXRpb25NZXRob2RUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bXMvdmVyaWZpY2F0aW9uLW1ldGhvZC10eXBlLmVudW0nO1xuaW1wb3J0IHsgVHdvRmFjdG9yTWFuYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEVtYWlsc0NvbXBvbmVudCB9IGZyb20gJy4uL2VtYWlscyc7XG5pbXBvcnQgeyBOdW1iZXJzQ29tcG9uZW50IH0gZnJvbSAnLi4vbnVtYmVycyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9tYW5hZ2UtbWV0aG9kcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hbmFnZS1tZXRob2RzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNYW5hZ2VNZXRob2RzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyB0d29GYWN0b3JNYW5hZ2VTZXJ2aWNlOiBUd29GYWN0b3JNYW5hZ2VTZXJ2aWNlO1xuICBwdWJsaWMgdmVyaWZpY2F0aW9uTWV0aG9kcztcbiAgcHVibGljIHZlcmlmaWNhdGlvbk1ldGhvZFR5cGVzID0ge307XG4gIHB1YmxpYyBWZXJpZmljYXRpb25NZXRob2RUeXBlID0gVmVyaWZpY2F0aW9uTWV0aG9kVHlwZTtcbiAgcHVibGljIGJ1dHRvblN0eWxlOiAncmFpc2VkJyB8ICdzdHJva2VkJyA9ICdyYWlzZWQnO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSBfZGVmYXVsdENvdW50cnk6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBfZGF0YTogYW55LFxuICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIF9tZXNzYWdlOiBGc01lc3NhZ2UsXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZGVmYXVsdENvdW50cnkgPSB0aGlzLl9kYXRhLmRlZmF1bHRDb3VudHJ5O1xuICAgIHRoaXMudHdvRmFjdG9yTWFuYWdlU2VydmljZSA9IHRoaXMuX2RhdGEudHdvRmFjdG9yTWFuYWdlU2VydmljZTtcbiAgICB0aGlzLmJ1dHRvblN0eWxlID0gdGhpcy5fZGF0YS5idXR0b25TdHlsZTtcbiAgICB0aGlzLnZlcmlmaWNhdGlvbk1ldGhvZFR5cGVzID0gdGhpcy5fZGF0YS52ZXJpZmljYXRpb25NZXRob2RUeXBlc1xuICAgICAgLnJlZHVjZSgodmVyaWZpY2F0aW9uTWV0aG9kVHlwZXMsIHZlcmlmaWNhdGlvbk1ldGhvZFR5cGUpID0+IHtcbiAgICAgICAgdmVyaWZpY2F0aW9uTWV0aG9kVHlwZXNbdmVyaWZpY2F0aW9uTWV0aG9kVHlwZV0gPSB0cnVlO1xuXG4gICAgICAgIHJldHVybiB2ZXJpZmljYXRpb25NZXRob2RUeXBlcztcbiAgICAgIH0sIHt9KTtcblxuICAgIHRoaXMudHdvRmFjdG9yTWFuYWdlU2VydmljZS52ZXJpZmljYXRpb25NZXRob2RzJFxuICAgICAgLnN1YnNjcmliZSgodmVyaWZpY2F0aW9uTWV0aG9kcykgPT4ge1xuICAgICAgICB0aGlzLnZlcmlmaWNhdGlvbk1ldGhvZHMgPSB2ZXJpZmljYXRpb25NZXRob2RzO1xuICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBkZWZhdWx0U21zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR3b0ZhY3Rvck1hbmFnZVNlcnZpY2Uuc21zVmVyaWZpY2F0aW9uTWV0aG9kc1xuICAgICAgLnNvbWUoKHZlcmlmaWNhdGlvbk1ldGhvZCkgPT4ge1xuICAgICAgICByZXR1cm4gdmVyaWZpY2F0aW9uTWV0aG9kLmRlZmF1bHQ7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVmYXVsdEFwcCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50d29GYWN0b3JNYW5hZ2VTZXJ2aWNlLmFwcFZlcmlmaWNhdGlvbk1ldGhvZHNcbiAgICAgIC5zb21lKCh2ZXJpZmljYXRpb25NZXRob2QpID0+IHtcbiAgICAgICAgcmV0dXJuIHZlcmlmaWNhdGlvbk1ldGhvZC5kZWZhdWx0O1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlZmF1bHRFbWFpbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50d29GYWN0b3JNYW5hZ2VTZXJ2aWNlLmVtYWlsVmVyaWZpY2F0aW9uTWV0aG9kc1xuICAgICAgLnNvbWUoKHZlcmlmaWNhdGlvbk1ldGhvZCkgPT4ge1xuICAgICAgICByZXR1cm4gdmVyaWZpY2F0aW9uTWV0aG9kLmRlZmF1bHQ7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGV4dEhhc1ZlcmlmaWNhdGlvbk1ldGhvZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50d29GYWN0b3JNYW5hZ2VTZXJ2aWNlLmhhc1ZlcmlmaWNhdGlvbk1ldGhvZChWZXJpZmljYXRpb25NZXRob2RUeXBlLlNtcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFwcEhhc1ZlcmlmaWNhdGlvbk1ldGhvZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50d29GYWN0b3JNYW5hZ2VTZXJ2aWNlLmhhc1ZlcmlmaWNhdGlvbk1ldGhvZChWZXJpZmljYXRpb25NZXRob2RUeXBlLkFwcCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVtYWlsSGFzVmVyaWZpY2F0aW9uTWV0aG9kKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR3b0ZhY3Rvck1hbmFnZVNlcnZpY2UuaGFzVmVyaWZpY2F0aW9uTWV0aG9kKFZlcmlmaWNhdGlvbk1ldGhvZFR5cGUuRW1haWwpO1xuICB9XG5cbiAgcHVibGljIHRleHRNZXNzYWdlTWFuYWdlKCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZy5vcGVuKE51bWJlcnNDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdHdvRmFjdG9yTWFuYWdlU2VydmljZTogdGhpcy50d29GYWN0b3JNYW5hZ2VTZXJ2aWNlLFxuICAgICAgICBkZWZhdWx0Q291bnRyeTogdGhpcy5fZGVmYXVsdENvdW50cnksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHRleHRNZXNzYWdlQWRkKCk6IHZvaWQge1xuICAgIHRoaXMudHdvRmFjdG9yTWFuYWdlU2VydmljZS5hZGRTbXMkKHRoaXMuX2RlZmF1bHRDb3VudHJ5KVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGVtYWlsTWVzc2FnZU1hbmFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaWFsb2cub3BlbihFbWFpbHNDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdHdvRmFjdG9yTWFuYWdlU2VydmljZTogdGhpcy50d29GYWN0b3JNYW5hZ2VTZXJ2aWNlLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBlbWFpbE1lc3NhZ2VBZGQoKTogdm9pZCB7XG4gICAgdGhpcy50d29GYWN0b3JNYW5hZ2VTZXJ2aWNlLmFkZEVtYWlsJCgpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgYXBwUmVtb3ZlKCk6IHZvaWQge1xuICAgIGNvbnN0IHZlcmlmaWNhdGlvbk1ldGhvZCA9IHRoaXMudmVyaWZpY2F0aW9uTWV0aG9kc1xuICAgICAgLmZpbmQoKF92ZXJpZmljYXRpb25NZXRob2QpID0+IHtcbiAgICAgICAgcmV0dXJuIF92ZXJpZmljYXRpb25NZXRob2QudHlwZSA9PT0gVmVyaWZpY2F0aW9uTWV0aG9kVHlwZS5BcHA7XG4gICAgICB9KTtcblxuICAgIGlmKHZlcmlmaWNhdGlvbk1ldGhvZCkge1xuICAgICAgdGhpcy50d29GYWN0b3JNYW5hZ2VTZXJ2aWNlLmFjY291bnRWZXJpZnkkKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMudHdvRmFjdG9yTWFuYWdlU2VydmljZS52ZXJpZmljYXRpb25NZXRob2REZWxldGUkKHZlcmlmaWNhdGlvbk1ldGhvZCkpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX21lc3NhZ2Uuc3VjY2VzcygnUmVtb3ZlZCBBcHAgQXV0aGVudGljYXRvciB2ZXJpZmljYXRpb24gbWV0aG9kJyk7XG4gICAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhcHBBZGQoKTogdm9pZCB7XG4gICAgdGhpcy50d29GYWN0b3JNYW5hZ2VTZXJ2aWNlLmFkZEFwcCQoKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGZzLWRpYWxvZz5cbiAgPGgxIG1hdC1kaWFsb2ctdGl0bGU+Mi1TdGVwIFZlcmlmaWNhdGlvbjwvaDE+XG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPHRhYmxlPlxuICAgICAgPHRyICpuZ0lmPVwidmVyaWZpY2F0aW9uTWV0aG9kVHlwZXNbVmVyaWZpY2F0aW9uTWV0aG9kVHlwZS5TbXNdXCI+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICA8bWF0LWljb24+dGV4dHNtczwvbWF0LWljb24+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidHlwZVwiPlxuICAgICAgICAgICAgPHNwYW4+VGV4dCBNZXNzYWdlPC9zcGFuPlxuICAgICAgICAgICAgQGlmKHRleHRIYXNWZXJpZmljYXRpb25NZXRob2QpIHtcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJlbmFibGVkQ2hpcFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGFwcC1kZWZhdWx0ZWQgKm5nSWY9XCJkZWZhdWx0U21zXCI+PC9hcHAtZGVmYXVsdGVkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWFsbFwiPlxuICAgICAgICAgICAgVmVyaWZpY2F0aW9uIGNvZGVzIGFyZSBzZW50IGJ5IHRleHQgbWVzc2FnZVxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRleHRIYXNWZXJpZmljYXRpb25NZXRob2RcIj5cbiAgICAgICAgICAgICAgdG8gPHNwYW4gY2xhc3M9XCJpdGVtc1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBpdGVtIG9mIHR3b0ZhY3Rvck1hbmFnZVNlcnZpY2Uuc21zVmVyaWZpY2F0aW9uTWV0aG9kc1wiPnt7aXRlbS5waG9uZU51bWJlciB8IGZzUGhvbmV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICBAaWYodGV4dEhhc1ZlcmlmaWNhdGlvbk1ldGhvZCkge1xuICAgICAgICAgICAgPGJ1dHRvbiBcbiAgICAgICAgICAgICAgICBtYXQtYnV0dG9uIFxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgXG4gICAgICAgICAgICAgICAgICAnbWF0LW1kYy1vdXRsaW5lZC1idXR0b24nOiBidXR0b25TdHlsZSA9PT0gJ3N0cm9rZWQnLFxuICAgICAgICAgICAgICAgICAgJ21hdC1tZGMtcmFpc2VkLWJ1dHRvbic6IGJ1dHRvblN0eWxlID09PSAncmFpc2VkJ1xuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ0ZXh0TWVzc2FnZU1hbmFnZSgpXCI+XG4gICAgICAgICAgICAgIE1hbmFnZVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8YnV0dG9uICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgbWF0LWJ1dHRvbiBcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IFxuICAgICAgICAgICAgICAgICAgJ21hdC1tZGMtb3V0bGluZWQtYnV0dG9uJzogYnV0dG9uU3R5bGUgPT09ICdzdHJva2VkJyxcbiAgICAgICAgICAgICAgICAgICdtYXQtbWRjLXJhaXNlZC1idXR0b24nOiBidXR0b25TdHlsZSA9PT0gJ3JhaXNlZCdcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ0ZXh0TWVzc2FnZUFkZCgpXCI+XG4gICAgICAgICAgICAgIFR1cm4gT25cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgKm5nSWY9XCJ2ZXJpZmljYXRpb25NZXRob2RUeXBlc1tWZXJpZmljYXRpb25NZXRob2RUeXBlLkVtYWlsXVwiPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAgPG1hdC1pY29uPmVtYWlsPC9tYXQtaWNvbj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eXBlXCI+XG4gICAgICAgICAgICA8c3Bhbj5FbWFpbDwvc3Bhbj4gXG4gICAgICAgICAgICBAaWYoZW1haWxIYXNWZXJpZmljYXRpb25NZXRob2QpIHtcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJlbmFibGVkQ2hpcFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGFwcC1kZWZhdWx0ZWQgKm5nSWY9XCJkZWZhdWx0RW1haWxcIj48L2FwcC1kZWZhdWx0ZWQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsXCI+XG4gICAgICAgICAgICBWZXJpZmljYXRpb24gY29kZXMgYXJlIHNlbnQgYnkgZW1haWxcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbWFpbEhhc1ZlcmlmaWNhdGlvbk1ldGhvZFwiPlxuICAgICAgICAgICAgICB0byA8c3BhbiBjbGFzcz1cIml0ZW1zXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IGl0ZW0gb2YgdHdvRmFjdG9yTWFuYWdlU2VydmljZS5lbWFpbFZlcmlmaWNhdGlvbk1ldGhvZHNcIj57e2l0ZW0uZW1haWx9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICBAaWYoZW1haWxIYXNWZXJpZmljYXRpb25NZXRob2QpIHtcbiAgICAgICAgICAgIDxidXR0b24gXG4gICAgICAgICAgICAgICAgbWF0LWJ1dHRvbiBcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IFxuICAgICAgICAgICAgICAgICAgJ21hdC1tZGMtb3V0bGluZWQtYnV0dG9uJzogYnV0dG9uU3R5bGUgPT09ICdzdHJva2VkJyxcbiAgICAgICAgICAgICAgICAgICdtYXQtbWRjLXJhaXNlZC1idXR0b24nOiBidXR0b25TdHlsZSA9PT0gJ3JhaXNlZCdcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW1haWxNZXNzYWdlTWFuYWdlKClcIj5cbiAgICAgICAgICAgICAgTWFuYWdlXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBtYXQtYnV0dG9uIFxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgXG4gICAgICAgICAgICAgICAgICAnbWF0LW1kYy1vdXRsaW5lZC1idXR0b24nOiBidXR0b25TdHlsZSA9PT0gJ3N0cm9rZWQnLFxuICAgICAgICAgICAgICAgICAgJ21hdC1tZGMtcmFpc2VkLWJ1dHRvbic6IGJ1dHRvblN0eWxlID09PSAncmFpc2VkJ1xuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImVtYWlsTWVzc2FnZUFkZCgpXCI+XG4gICAgICAgICAgICAgIFR1cm4gT25cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgKm5nSWY9XCJ2ZXJpZmljYXRpb25NZXRob2RUeXBlc1tWZXJpZmljYXRpb25NZXRob2RUeXBlLkFwcF1cIj5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIDxtYXQtaWNvbj5waG9uZV9pcGhvbmU8L21hdC1pY29uPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInR5cGVcIj5cbiAgICAgICAgICAgIDxzcGFuPkF1dGhlbnRpY2F0b3IgQXBwPC9zcGFuPlxuICAgICAgICAgICAgQGlmKGFwcEhhc1ZlcmlmaWNhdGlvbk1ldGhvZCkge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVuYWJsZWRDaGlwXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8YXBwLWRlZmF1bHRlZCAqbmdJZj1cImRlZmF1bHRBcHBcIj48L2FwcC1kZWZhdWx0ZWQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsXCI+VmVyaWZpY2F0aW9uIGNvZGUgaXMgZ2VuZXJhdGVkIGJ5IGFuIGF1dGhlbnRpY2F0b3IgYXBwIHN1Y2ggYXMgQXV0aHkgb3IgR29vZ2xlIEF1dGhlbnRpY2F0b3I8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIEBpZihhcHBIYXNWZXJpZmljYXRpb25NZXRob2QpIHtcbiAgICAgICAgICAgIDxidXR0b24gXG4gICAgICAgICAgICAgICAgbWF0LWJ1dHRvbiBcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IFxuICAgICAgICAgICAgICAgICAgJ21hdC1tZGMtb3V0bGluZWQtYnV0dG9uJzogYnV0dG9uU3R5bGUgPT09ICdzdHJva2VkJyxcbiAgICAgICAgICAgICAgICAgICdtYXQtbWRjLXJhaXNlZC1idXR0b24nOiBidXR0b25TdHlsZSA9PT0gJ3JhaXNlZCdcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiYXBwUmVtb3ZlKClcIj5cbiAgICAgICAgICAgICAgUmVtb3ZlXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxidXR0b24gICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBtYXQtYnV0dG9uIFxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgXG4gICAgICAgICAgICAgICAgICAnbWF0LW1kYy1vdXRsaW5lZC1idXR0b24nOiBidXR0b25TdHlsZSA9PT0gJ3N0cm9rZWQnLFxuICAgICAgICAgICAgICAgICAgJ21hdC1tZGMtcmFpc2VkLWJ1dHRvbic6IGJ1dHRvblN0eWxlID09PSAncmFpc2VkJ1xuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFwcEFkZCgpXCI+XG4gICAgICAgICAgICAgIFR1cm4gT25cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+IFxuICAgIDwvdGFibGU+ICAgICAgXG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxuICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwidW5kZWZpbmVkXCI+XG4gICAgICBDbG9zZVxuICAgIDwvYnV0dG9uPlxuICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cbjwvZnMtZGlhbG9nPlxuXG5cbjxuZy10ZW1wbGF0ZSAjZW5hYmxlZENoaXA+XG4gIDxmcy1jaGlwIFtiYWNrZ3JvdW5kQ29sb3JdPVwiJyM3MEI2MDEnXCIgW3NpemVdPVwiJ3RpbnknXCI+RW5hYmxlZDwvZnMtY2hpcD5cbjwvbmctdGVtcGxhdGU+Il19