@odx/auth 16.0.1 → 16.2.0

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @odx/auth
2
2
 
3
+ ## 16.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 53d31be: Project minor dependencies update
8
+
9
+ ## 16.1.0
10
+
11
+ ### Minor Changes
12
+
13
+ - f6169f0: Improve user profile dropdown design to match brand / figma design
14
+
3
15
  ## 16.0.1
4
16
 
5
17
  ### Patch Changes
@@ -4,7 +4,6 @@ import { AreaHeaderModule } from '@odx/angular/components/area-header';
4
4
  import { DropdownModule } from '@odx/angular/components/dropdown';
5
5
  import { HeaderModule } from '@odx/angular/components/header';
6
6
  import { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';
7
- import { LogoDirective } from '@odx/angular/components/logo';
8
7
  import { provideTranslations, TranslatePipe } from '@odx/angular/internal/translate';
9
8
  import { Position } from '@odx/angular/utils';
10
9
  import { combineLatest } from 'rxjs';
@@ -12,7 +11,7 @@ import { injectAuthConfig } from './auth.config';
12
11
  import translations from './auth.i18n';
13
12
  import { AuthService } from './auth.service';
14
13
  import { AuthActionsComponent } from './components';
15
- import { SignInDirective, SignOutDirective } from './directives';
14
+ import { SignInDirective } from './directives';
16
15
  import * as i0 from "@angular/core";
17
16
  import * as i1 from "@angular/common";
18
17
  import * as i2 from "@odx/angular/components/area-header";
@@ -42,21 +41,10 @@ export class AuthComponent {
42
41
  this.hideInstitution = input(false);
43
42
  }
44
43
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AuthComponent, isStandalone: true, selector: "odx-auth", inputs: { hideInstitution: { classPropertyName: "hideInstitution", publicName: "hideInstitution", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideTranslations(translations)], ngImport: i0, template: "<odx-action-group>\n @if (vm$ | async; as vm) {\n <ng-container ngProjectAs=\"[odxButton]\">\n @if (vm.isAuthenticated) {\n <button odxButton [odxDropdown]=\"userProfileMenu\" [odxDropdownOptions]=\"dropdownOptions\" data-testid=\"odx-auth-user-profile-button\">\n <ng-template [ngTemplateOutlet]=\"userAvatar\" />\n </button>\n } @else {\n <button class=\"odx-auth-sign-in\" odxButton odxAuthSignIn variant=\"secondary\" data-testid=\"odx-auth-sign-in-button\">\n <odx-icon name=\"user\" alignLeft />\n {{ 'signInButtonText' | odxTranslate | async }}\n </button>\n }\n <ng-template #userProfileMenu>\n @if (!hideInstitution() && vm.idClaims?.institutionName; as institutionName) {\n <odx-area-header class=\"odx-padding-x-12 odx-padding-bottom-8\" size=\"small\">\n <odx-area-header-subtitle class=\"odx-auth-institution-name\">{{ institutionName }}</odx-area-header-subtitle>\n </odx-area-header>\n }\n <odx-area-header class=\"odx-padding-x-12\" size=\"small\">\n <ng-template [ngTemplateOutlet]=\"userAvatar\" ngProjectAs=\"odx-avatar\" />\n {{ vm.idClaims?.username }}\n <odx-area-header-subtitle>\n {{ vm.idClaims?.email }}\n </odx-area-header-subtitle>\n </odx-area-header>\n <ng-content />\n <odx-auth-actions [claims]=\"vm.idClaims\"></odx-auth-actions>\n <div class=\"odx-margin-top-12\" odxLayout=\"flex vertical-center\">\n <odx-logo odxLayout=\"auto\" class=\"odx-margin-left-12 odx-margin-right-auto\"></odx-logo>\n <button odxButton odxAuthSignOut variant=\"ghost\" data-testid=\"odx-auth-sign-out-button\">\n {{ 'signOutButtonText' | odxTranslate | async }}\n <odx-icon name=\"logout\" alignRight />\n </button>\n </div>\n </ng-template>\n <ng-template #userAvatar>\n <odx-avatar class=\"odx-auth-user-avatar\">\n {{ vm.idClaims?.initials ?? '' }}\n </odx-avatar>\n </ng-template>\n </ng-container>\n }\n</odx-action-group>\n", styles: [".odx-auth-user-profile .odx-dropdown__inner>.odx-area-header{max-width:max(360px,25vw);min-width:296px}.odx-auth-actions{display:block;margin-top:calc(var(--odx-vertical-rythm-base-size) * .5);margin-bottom:calc(var(--odx-vertical-rythm-base-size) * .5);margin-right:calc(var(--odx-vertical-rythm-base-size) * .25);margin-left:calc(var(--odx-vertical-rythm-base-size) * .25)}\n"], dependencies: [{ kind: "ngmodule", type: AreaHeaderModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: i2.AreaHeaderComponent, selector: "odx-area-header", inputs: ["size"] }, { kind: "directive", type: i2.AreaHeaderSubtitleDirective, selector: "odx-area-header-subtitle" }, { kind: "component", type: i3.AvatarComponent, selector: "odx-avatar", inputs: ["size", "variant"] }, { kind: "component", type: i4.ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: i6.IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "directive", type: i7.DropdownDirective, selector: "[odxDropdown]", inputs: ["odxDropdown", "odxDropdownDisabled", "odxDropdownShowLoader", "odxDropdownClickOutsideActive", "odxDropdownOptions", "odxDropdownReferenceElement", "odxDropdownTriggerElement", "odxDropdownHost", "odxDropdownOpenTrigger", "odxDropdownCloseTrigger"], outputs: ["odxDropdownBeforeOpen", "odxDropdownAfterOpen", "odxDropdownBeforeClose", "odxDropdownAfterClose"], exportAs: ["odxDropdown"] }, { kind: "ngmodule", type: HeaderModule }, { kind: "directive", type: LogoDirective, selector: "odx-logo", inputs: ["size", "variant"] }, { kind: "directive", type: SignInDirective, selector: "[odxButton][odxAuthSignIn]", outputs: ["odxAuthSignIn"] }, { kind: "directive", type: SignOutDirective, selector: "[odxButton][odxAuthSignOut]", outputs: ["odxAuthSignOut"] }, { kind: "ngmodule", type: LoadingSpinnerModule }, { kind: "component", type: AuthActionsComponent, selector: "odx-auth-actions", inputs: ["claims"] }, { kind: "pipe", type: TranslatePipe, name: "odxTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AuthComponent, isStandalone: true, selector: "odx-auth", inputs: { hideInstitution: { classPropertyName: "hideInstitution", publicName: "hideInstitution", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideTranslations(translations)], ngImport: i0, template: "<odx-action-group>\n @if (vm$ | async; as vm) {\n <ng-container ngProjectAs=\"[odxButton]\">\n @if (vm.isAuthenticated) {\n <button odxButton [odxDropdown]=\"userProfileMenu\" [odxDropdownOptions]=\"dropdownOptions\" data-testid=\"odx-auth-user-profile-button\">\n <ng-template [ngTemplateOutlet]=\"userAvatar\" />\n </button>\n } @else {\n <button class=\"odx-auth-sign-in\" odxButton odxAuthSignIn variant=\"secondary\" data-testid=\"odx-auth-sign-in-button\">\n <odx-icon name=\"user\" alignLeft />\n {{ 'signInButtonText' | odxTranslate | async }}\n </button>\n }\n <ng-template #userProfileMenu>\n @if ((!hideInstitution() && vm.idClaims?.institutionName) || 'Dr\u00E4gerwerk AG & Co. KGaA'; as institutionName) {\n <p class=\"odx-padding-x-8\" data-testid=\"odx-auth-institution-name\">{{ institutionName }}</p>\n }\n <odx-area-header class=\"odx-padding-x-8 odx-margin-y-12\" size=\"small\">\n <ng-template [ngTemplateOutlet]=\"userAvatar\" ngProjectAs=\"odx-avatar\" />\n {{ vm.idClaims?.username }}\n <odx-area-header-subtitle>\n {{ vm.idClaims?.email }}\n </odx-area-header-subtitle>\n </odx-area-header>\n <ng-content />\n <odx-auth-actions [claims]=\"vm.idClaims\" />\n </ng-template>\n <ng-template #userAvatar>\n <odx-avatar class=\"odx-auth-user-avatar\">\n {{ vm.idClaims?.initials ?? '' }}\n </odx-avatar>\n </ng-template>\n </ng-container>\n }\n</odx-action-group>\n", styles: [".odx-auth-user-profile .odx-dropdown__inner{border-block-width:calc(var(--odx-vertical-rythm-base-size) * .75);max-width:max(400px,25vw);min-width:320px}\n"], dependencies: [{ kind: "ngmodule", type: AreaHeaderModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: i2.AreaHeaderComponent, selector: "odx-area-header", inputs: ["size"] }, { kind: "directive", type: i2.AreaHeaderSubtitleDirective, selector: "odx-area-header-subtitle" }, { kind: "component", type: i3.AvatarComponent, selector: "odx-avatar", inputs: ["size", "variant"] }, { kind: "component", type: i4.ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: i6.IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "directive", type: i7.DropdownDirective, selector: "[odxDropdown]", inputs: ["odxDropdown", "odxDropdownDisabled", "odxDropdownShowLoader", "odxDropdownClickOutsideActive", "odxDropdownOptions", "odxDropdownReferenceElement", "odxDropdownTriggerElement", "odxDropdownHost", "odxDropdownOpenTrigger", "odxDropdownCloseTrigger"], outputs: ["odxDropdownBeforeOpen", "odxDropdownAfterOpen", "odxDropdownBeforeClose", "odxDropdownAfterClose"], exportAs: ["odxDropdown"] }, { kind: "ngmodule", type: HeaderModule }, { kind: "directive", type: SignInDirective, selector: "[odxButton][odxAuthSignIn]", outputs: ["odxAuthSignIn"] }, { kind: "ngmodule", type: LoadingSpinnerModule }, { kind: "component", type: AuthActionsComponent, selector: "odx-auth-actions", inputs: ["claims"] }, { kind: "pipe", type: TranslatePipe, name: "odxTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
46
45
  }
47
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthComponent, decorators: [{
48
47
  type: Component,
49
- args: [{ standalone: true, selector: 'odx-auth', imports: [
50
- AreaHeaderModule,
51
- DropdownModule,
52
- HeaderModule,
53
- LogoDirective,
54
- SignInDirective,
55
- SignOutDirective,
56
- LoadingSpinnerModule,
57
- AuthActionsComponent,
58
- TranslatePipe,
59
- AsyncPipe,
60
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [provideTranslations(translations)], template: "<odx-action-group>\n @if (vm$ | async; as vm) {\n <ng-container ngProjectAs=\"[odxButton]\">\n @if (vm.isAuthenticated) {\n <button odxButton [odxDropdown]=\"userProfileMenu\" [odxDropdownOptions]=\"dropdownOptions\" data-testid=\"odx-auth-user-profile-button\">\n <ng-template [ngTemplateOutlet]=\"userAvatar\" />\n </button>\n } @else {\n <button class=\"odx-auth-sign-in\" odxButton odxAuthSignIn variant=\"secondary\" data-testid=\"odx-auth-sign-in-button\">\n <odx-icon name=\"user\" alignLeft />\n {{ 'signInButtonText' | odxTranslate | async }}\n </button>\n }\n <ng-template #userProfileMenu>\n @if (!hideInstitution() && vm.idClaims?.institutionName; as institutionName) {\n <odx-area-header class=\"odx-padding-x-12 odx-padding-bottom-8\" size=\"small\">\n <odx-area-header-subtitle class=\"odx-auth-institution-name\">{{ institutionName }}</odx-area-header-subtitle>\n </odx-area-header>\n }\n <odx-area-header class=\"odx-padding-x-12\" size=\"small\">\n <ng-template [ngTemplateOutlet]=\"userAvatar\" ngProjectAs=\"odx-avatar\" />\n {{ vm.idClaims?.username }}\n <odx-area-header-subtitle>\n {{ vm.idClaims?.email }}\n </odx-area-header-subtitle>\n </odx-area-header>\n <ng-content />\n <odx-auth-actions [claims]=\"vm.idClaims\"></odx-auth-actions>\n <div class=\"odx-margin-top-12\" odxLayout=\"flex vertical-center\">\n <odx-logo odxLayout=\"auto\" class=\"odx-margin-left-12 odx-margin-right-auto\"></odx-logo>\n <button odxButton odxAuthSignOut variant=\"ghost\" data-testid=\"odx-auth-sign-out-button\">\n {{ 'signOutButtonText' | odxTranslate | async }}\n <odx-icon name=\"logout\" alignRight />\n </button>\n </div>\n </ng-template>\n <ng-template #userAvatar>\n <odx-avatar class=\"odx-auth-user-avatar\">\n {{ vm.idClaims?.initials ?? '' }}\n </odx-avatar>\n </ng-template>\n </ng-container>\n }\n</odx-action-group>\n", styles: [".odx-auth-user-profile .odx-dropdown__inner>.odx-area-header{max-width:max(360px,25vw);min-width:296px}.odx-auth-actions{display:block;margin-top:calc(var(--odx-vertical-rythm-base-size) * .5);margin-bottom:calc(var(--odx-vertical-rythm-base-size) * .5);margin-right:calc(var(--odx-vertical-rythm-base-size) * .25);margin-left:calc(var(--odx-vertical-rythm-base-size) * .25)}\n"] }]
48
+ args: [{ standalone: true, selector: 'odx-auth', imports: [AreaHeaderModule, DropdownModule, HeaderModule, SignInDirective, LoadingSpinnerModule, AuthActionsComponent, TranslatePipe, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [provideTranslations(translations)], template: "<odx-action-group>\n @if (vm$ | async; as vm) {\n <ng-container ngProjectAs=\"[odxButton]\">\n @if (vm.isAuthenticated) {\n <button odxButton [odxDropdown]=\"userProfileMenu\" [odxDropdownOptions]=\"dropdownOptions\" data-testid=\"odx-auth-user-profile-button\">\n <ng-template [ngTemplateOutlet]=\"userAvatar\" />\n </button>\n } @else {\n <button class=\"odx-auth-sign-in\" odxButton odxAuthSignIn variant=\"secondary\" data-testid=\"odx-auth-sign-in-button\">\n <odx-icon name=\"user\" alignLeft />\n {{ 'signInButtonText' | odxTranslate | async }}\n </button>\n }\n <ng-template #userProfileMenu>\n @if ((!hideInstitution() && vm.idClaims?.institutionName) || 'Dr\u00E4gerwerk AG & Co. KGaA'; as institutionName) {\n <p class=\"odx-padding-x-8\" data-testid=\"odx-auth-institution-name\">{{ institutionName }}</p>\n }\n <odx-area-header class=\"odx-padding-x-8 odx-margin-y-12\" size=\"small\">\n <ng-template [ngTemplateOutlet]=\"userAvatar\" ngProjectAs=\"odx-avatar\" />\n {{ vm.idClaims?.username }}\n <odx-area-header-subtitle>\n {{ vm.idClaims?.email }}\n </odx-area-header-subtitle>\n </odx-area-header>\n <ng-content />\n <odx-auth-actions [claims]=\"vm.idClaims\" />\n </ng-template>\n <ng-template #userAvatar>\n <odx-avatar class=\"odx-auth-user-avatar\">\n {{ vm.idClaims?.initials ?? '' }}\n </odx-avatar>\n </ng-template>\n </ng-container>\n }\n</odx-action-group>\n", styles: [".odx-auth-user-profile .odx-dropdown__inner{border-block-width:calc(var(--odx-vertical-rythm-base-size) * .75);max-width:max(400px,25vw);min-width:320px}\n"] }]
61
49
  }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9hdXRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvYXV0aC9zcmMvbGliL2F1dGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFtQixNQUFNLGtDQUFrQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLFlBQVksTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7QUF1QmpFLE1BQU0sT0FBTyxhQUFhO0lBckIxQjtRQXNCcUIsZUFBVSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsb0JBQWUsR0FBRztZQUNuQyxRQUFRLEVBQUUsUUFBUSxDQUFDLFVBQVU7WUFDN0IsY0FBYyxFQUFFLEtBQUs7WUFDckIsY0FBYyxFQUFFLHVCQUF1QjtTQUNaLENBQUM7UUFDWCxRQUFHLEdBQUcsYUFBYSxDQUFDO1lBQ3JDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWU7WUFDMUMsZUFBZSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCO1NBQ25ELENBQUMsQ0FBQztRQUVIOzs7O1dBSUc7UUFDYSxvQkFBZSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNoRDsrR0FuQlksYUFBYTttR0FBYixhQUFhLHlOQUZiLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUMsMEJDbkNoRCxpbUVBNENBLGtiRHhCSSxnQkFBZ0IsNjRCQUNoQixjQUFjLDBmQUNkLFlBQVksK0JBQ1osYUFBYSxrRkFDYixlQUFlLG1HQUNmLGdCQUFnQixvR0FDaEIsb0JBQW9CLCtCQUNwQixvQkFBb0IsNEVBQ3BCLGFBQWE7OzRGQVNKLGFBQWE7a0JBckJ6QixTQUFTO2lDQUNJLElBQUksWUFDTixVQUFVLFdBQ1g7d0JBQ1AsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IsU0FBUztxQkFDVixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcmVhSGVhZGVyTW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYXJlYS1oZWFkZXInO1xuaW1wb3J0IHsgRHJvcGRvd25Nb2R1bGUsIERyb3Bkb3duT3B0aW9ucyB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEhlYWRlck1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2hlYWRlcic7XG5pbXBvcnQgeyBMb2FkaW5nU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lcic7XG5pbXBvcnQgeyBMb2dvRGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvbG9nbyc7XG5pbXBvcnQgeyBwcm92aWRlVHJhbnNsYXRpb25zLCBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsL3RyYW5zbGF0ZSc7XG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbmplY3RBdXRoQ29uZmlnIH0gZnJvbSAnLi9hdXRoLmNvbmZpZyc7XG5pbXBvcnQgdHJhbnNsYXRpb25zIGZyb20gJy4vYXV0aC5pMThuJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgU2lnbkluRGlyZWN0aXZlLCBTaWduT3V0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnb2R4LWF1dGgnLFxuICBpbXBvcnRzOiBbXG4gICAgQXJlYUhlYWRlck1vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBIZWFkZXJNb2R1bGUsXG4gICAgTG9nb0RpcmVjdGl2ZSxcbiAgICBTaWduSW5EaXJlY3RpdmUsXG4gICAgU2lnbk91dERpcmVjdGl2ZSxcbiAgICBMb2FkaW5nU3Bpbm5lck1vZHVsZSxcbiAgICBBdXRoQWN0aW9uc0NvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVQaXBlLFxuICAgIEFzeW5jUGlwZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dGguY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRoLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtwcm92aWRlVHJhbnNsYXRpb25zKHRyYW5zbGF0aW9ucyldLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGF1dGhDb25maWcgPSBpbmplY3RBdXRoQ29uZmlnKCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBkcm9wZG93bk9wdGlvbnMgPSB7XG4gICAgcG9zaXRpb246IFBvc2l0aW9uLkJPVFRPTV9FTkQsXG4gICAgZW5hYmxlRmFsbGJhY2s6IGZhbHNlLFxuICAgIGNvbnRhaW5lckNsYXNzOiAnb2R4LWF1dGgtdXNlci1wcm9maWxlJyxcbiAgfSBhcyBQYXJ0aWFsPERyb3Bkb3duT3B0aW9ucz47XG4gIHByb3RlY3RlZCByZWFkb25seSB2bSQgPSBjb21iaW5lTGF0ZXN0KHtcbiAgICBpZENsYWltczogdGhpcy5hdXRoU2VydmljZS5pZGVudGl0eUNsYWltcyQsXG4gICAgaXNBdXRoZW50aWNhdGVkOiB0aGlzLmF1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCQsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGhpZGUgdGhlIGluc3RpdHV0aW9uIGluZm9ybWF0aW9uLlxuICAgKlxuICAgKiBAdHlwZSB7SW5wdXRTaWduYWw8Ym9vbGVhbj59XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaGlkZUluc3RpdHV0aW9uID0gaW5wdXQoZmFsc2UpO1xufVxuIiwiPG9keC1hY3Rpb24tZ3JvdXA+XG4gIEBpZiAodm0kIHwgYXN5bmM7IGFzIHZtKSB7XG4gICAgPG5nLWNvbnRhaW5lciBuZ1Byb2plY3RBcz1cIltvZHhCdXR0b25dXCI+XG4gICAgICBAaWYgKHZtLmlzQXV0aGVudGljYXRlZCkge1xuICAgICAgICA8YnV0dG9uIG9keEJ1dHRvbiBbb2R4RHJvcGRvd25dPVwidXNlclByb2ZpbGVNZW51XCIgW29keERyb3Bkb3duT3B0aW9uc109XCJkcm9wZG93bk9wdGlvbnNcIiBkYXRhLXRlc3RpZD1cIm9keC1hdXRoLXVzZXItcHJvZmlsZS1idXR0b25cIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidXNlckF2YXRhclwiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJvZHgtYXV0aC1zaWduLWluXCIgb2R4QnV0dG9uIG9keEF1dGhTaWduSW4gdmFyaWFudD1cInNlY29uZGFyeVwiIGRhdGEtdGVzdGlkPVwib2R4LWF1dGgtc2lnbi1pbi1idXR0b25cIj5cbiAgICAgICAgICA8b2R4LWljb24gbmFtZT1cInVzZXJcIiBhbGlnbkxlZnQgLz5cbiAgICAgICAgICB7eyAnc2lnbkluQnV0dG9uVGV4dCcgfCBvZHhUcmFuc2xhdGUgfCBhc3luYyB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdXNlclByb2ZpbGVNZW51PlxuICAgICAgICBAaWYgKCFoaWRlSW5zdGl0dXRpb24oKSAmJiB2bS5pZENsYWltcz8uaW5zdGl0dXRpb25OYW1lOyBhcyBpbnN0aXR1dGlvbk5hbWUpIHtcbiAgICAgICAgICA8b2R4LWFyZWEtaGVhZGVyIGNsYXNzPVwib2R4LXBhZGRpbmcteC0xMiBvZHgtcGFkZGluZy1ib3R0b20tOFwiIHNpemU9XCJzbWFsbFwiPlxuICAgICAgICAgICAgPG9keC1hcmVhLWhlYWRlci1zdWJ0aXRsZSBjbGFzcz1cIm9keC1hdXRoLWluc3RpdHV0aW9uLW5hbWVcIj57eyBpbnN0aXR1dGlvbk5hbWUgfX08L29keC1hcmVhLWhlYWRlci1zdWJ0aXRsZT5cbiAgICAgICAgICA8L29keC1hcmVhLWhlYWRlcj5cbiAgICAgICAgfVxuICAgICAgICA8b2R4LWFyZWEtaGVhZGVyIGNsYXNzPVwib2R4LXBhZGRpbmcteC0xMlwiIHNpemU9XCJzbWFsbFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ1c2VyQXZhdGFyXCIgbmdQcm9qZWN0QXM9XCJvZHgtYXZhdGFyXCIgLz5cbiAgICAgICAgICB7eyB2bS5pZENsYWltcz8udXNlcm5hbWUgfX1cbiAgICAgICAgICA8b2R4LWFyZWEtaGVhZGVyLXN1YnRpdGxlPlxuICAgICAgICAgICAge3sgdm0uaWRDbGFpbXM/LmVtYWlsIH19XG4gICAgICAgICAgPC9vZHgtYXJlYS1oZWFkZXItc3VidGl0bGU+XG4gICAgICAgIDwvb2R4LWFyZWEtaGVhZGVyPlxuICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8b2R4LWF1dGgtYWN0aW9ucyBbY2xhaW1zXT1cInZtLmlkQ2xhaW1zXCI+PC9vZHgtYXV0aC1hY3Rpb25zPlxuICAgICAgICA8ZGl2IGNsYXNzPVwib2R4LW1hcmdpbi10b3AtMTJcIiBvZHhMYXlvdXQ9XCJmbGV4IHZlcnRpY2FsLWNlbnRlclwiPlxuICAgICAgICAgIDxvZHgtbG9nbyBvZHhMYXlvdXQ9XCJhdXRvXCIgY2xhc3M9XCJvZHgtbWFyZ2luLWxlZnQtMTIgb2R4LW1hcmdpbi1yaWdodC1hdXRvXCI+PC9vZHgtbG9nbz5cbiAgICAgICAgICA8YnV0dG9uIG9keEJ1dHRvbiBvZHhBdXRoU2lnbk91dCB2YXJpYW50PVwiZ2hvc3RcIiBkYXRhLXRlc3RpZD1cIm9keC1hdXRoLXNpZ24tb3V0LWJ1dHRvblwiPlxuICAgICAgICAgICAge3sgJ3NpZ25PdXRCdXR0b25UZXh0JyB8IG9keFRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgICAgICAgICA8b2R4LWljb24gbmFtZT1cImxvZ291dFwiIGFsaWduUmlnaHQgLz5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICN1c2VyQXZhdGFyPlxuICAgICAgICA8b2R4LWF2YXRhciBjbGFzcz1cIm9keC1hdXRoLXVzZXItYXZhdGFyXCI+XG4gICAgICAgICAge3sgdm0uaWRDbGFpbXM/LmluaXRpYWxzID8/ICcnIH19XG4gICAgICAgIDwvb2R4LWF2YXRhcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIH1cbjwvb2R4LWFjdGlvbi1ncm91cD5cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9hdXRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvYXV0aC9zcmMvbGliL2F1dGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFtQixNQUFNLGtDQUFrQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sWUFBWSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7OztBQVkvQyxNQUFNLE9BQU8sYUFBYTtJQVYxQjtRQVdxQixlQUFVLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUNoQyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxvQkFBZSxHQUFHO1lBQ25DLFFBQVEsRUFBRSxRQUFRLENBQUMsVUFBVTtZQUM3QixjQUFjLEVBQUUsS0FBSztZQUNyQixjQUFjLEVBQUUsdUJBQXVCO1NBQ1osQ0FBQztRQUNYLFFBQUcsR0FBRyxhQUFhLENBQUM7WUFDckMsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZTtZQUMxQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0I7U0FDbkQsQ0FBQyxDQUFDO1FBRUg7Ozs7V0FJRztRQUNhLG9CQUFlLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ2hEOytHQW5CWSxhQUFhO21HQUFiLGFBQWEseU5BRmIsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQywwQkN2QmhELHFrREFtQ0Esb05EakJZLGdCQUFnQiw2NEJBQUUsY0FBYywwZkFBRSxZQUFZLCtCQUFFLGVBQWUsa0dBQUUsb0JBQW9CLCtCQUFFLG9CQUFvQiw0RUFBRSxhQUFhOzs0RkFPekgsYUFBYTtrQkFWekIsU0FBUztpQ0FDSSxJQUFJLFlBQ04sVUFBVSxXQUNYLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLFNBQVMsQ0FBQyxtQkFHL0gsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcmVhSGVhZGVyTW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYXJlYS1oZWFkZXInO1xuaW1wb3J0IHsgRHJvcGRvd25Nb2R1bGUsIERyb3Bkb3duT3B0aW9ucyB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEhlYWRlck1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2hlYWRlcic7XG5pbXBvcnQgeyBMb2FkaW5nU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lcic7XG5pbXBvcnQgeyBwcm92aWRlVHJhbnNsYXRpb25zLCBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsL3RyYW5zbGF0ZSc7XG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbmplY3RBdXRoQ29uZmlnIH0gZnJvbSAnLi9hdXRoLmNvbmZpZyc7XG5pbXBvcnQgdHJhbnNsYXRpb25zIGZyb20gJy4vYXV0aC5pMThuJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgU2lnbkluRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnb2R4LWF1dGgnLFxuICBpbXBvcnRzOiBbQXJlYUhlYWRlck1vZHVsZSwgRHJvcGRvd25Nb2R1bGUsIEhlYWRlck1vZHVsZSwgU2lnbkluRGlyZWN0aXZlLCBMb2FkaW5nU3Bpbm5lck1vZHVsZSwgQXV0aEFjdGlvbnNDb21wb25lbnQsIFRyYW5zbGF0ZVBpcGUsIEFzeW5jUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0aC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZVRyYW5zbGF0aW9ucyh0cmFuc2xhdGlvbnMpXSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aENvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBhdXRoQ29uZmlnID0gaW5qZWN0QXV0aENvbmZpZygpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJvcGRvd25PcHRpb25zID0ge1xuICAgIHBvc2l0aW9uOiBQb3NpdGlvbi5CT1RUT01fRU5ELFxuICAgIGVuYWJsZUZhbGxiYWNrOiBmYWxzZSxcbiAgICBjb250YWluZXJDbGFzczogJ29keC1hdXRoLXVzZXItcHJvZmlsZScsXG4gIH0gYXMgUGFydGlhbDxEcm9wZG93bk9wdGlvbnM+O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdm0kID0gY29tYmluZUxhdGVzdCh7XG4gICAgaWRDbGFpbXM6IHRoaXMuYXV0aFNlcnZpY2UuaWRlbnRpdHlDbGFpbXMkLFxuICAgIGlzQXV0aGVudGljYXRlZDogdGhpcy5hdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQkLFxuICB9KTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBoaWRlIHRoZSBpbnN0aXR1dGlvbiBpbmZvcm1hdGlvbi5cbiAgICpcbiAgICogQHR5cGUge0lucHV0U2lnbmFsPGJvb2xlYW4+fVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGhpZGVJbnN0aXR1dGlvbiA9IGlucHV0KGZhbHNlKTtcbn1cbiIsIjxvZHgtYWN0aW9uLWdyb3VwPlxuICBAaWYgKHZtJCB8IGFzeW5jOyBhcyB2bSkge1xuICAgIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCJbb2R4QnV0dG9uXVwiPlxuICAgICAgQGlmICh2bS5pc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgPGJ1dHRvbiBvZHhCdXR0b24gW29keERyb3Bkb3duXT1cInVzZXJQcm9maWxlTWVudVwiIFtvZHhEcm9wZG93bk9wdGlvbnNdPVwiZHJvcGRvd25PcHRpb25zXCIgZGF0YS10ZXN0aWQ9XCJvZHgtYXV0aC11c2VyLXByb2ZpbGUtYnV0dG9uXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInVzZXJBdmF0YXJcIiAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8YnV0dG9uIGNsYXNzPVwib2R4LWF1dGgtc2lnbi1pblwiIG9keEJ1dHRvbiBvZHhBdXRoU2lnbkluIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBkYXRhLXRlc3RpZD1cIm9keC1hdXRoLXNpZ24taW4tYnV0dG9uXCI+XG4gICAgICAgICAgPG9keC1pY29uIG5hbWU9XCJ1c2VyXCIgYWxpZ25MZWZ0IC8+XG4gICAgICAgICAge3sgJ3NpZ25JbkJ1dHRvblRleHQnIHwgb2R4VHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgICA8bmctdGVtcGxhdGUgI3VzZXJQcm9maWxlTWVudT5cbiAgICAgICAgQGlmICgoIWhpZGVJbnN0aXR1dGlvbigpICYmIHZtLmlkQ2xhaW1zPy5pbnN0aXR1dGlvbk5hbWUpIHx8ICdEcsOkZ2Vyd2VyayBBRyAmIENvLiBLR2FBJzsgYXMgaW5zdGl0dXRpb25OYW1lKSB7XG4gICAgICAgICAgPHAgY2xhc3M9XCJvZHgtcGFkZGluZy14LThcIiBkYXRhLXRlc3RpZD1cIm9keC1hdXRoLWluc3RpdHV0aW9uLW5hbWVcIj57eyBpbnN0aXR1dGlvbk5hbWUgfX08L3A+XG4gICAgICAgIH1cbiAgICAgICAgPG9keC1hcmVhLWhlYWRlciBjbGFzcz1cIm9keC1wYWRkaW5nLXgtOCBvZHgtbWFyZ2luLXktMTJcIiBzaXplPVwic21hbGxcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidXNlckF2YXRhclwiIG5nUHJvamVjdEFzPVwib2R4LWF2YXRhclwiIC8+XG4gICAgICAgICAge3sgdm0uaWRDbGFpbXM/LnVzZXJuYW1lIH19XG4gICAgICAgICAgPG9keC1hcmVhLWhlYWRlci1zdWJ0aXRsZT5cbiAgICAgICAgICAgIHt7IHZtLmlkQ2xhaW1zPy5lbWFpbCB9fVxuICAgICAgICAgIDwvb2R4LWFyZWEtaGVhZGVyLXN1YnRpdGxlPlxuICAgICAgICA8L29keC1hcmVhLWhlYWRlcj5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgPG9keC1hdXRoLWFjdGlvbnMgW2NsYWltc109XCJ2bS5pZENsYWltc1wiIC8+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICN1c2VyQXZhdGFyPlxuICAgICAgICA8b2R4LWF2YXRhciBjbGFzcz1cIm9keC1hdXRoLXVzZXItYXZhdGFyXCI+XG4gICAgICAgICAge3sgdm0uaWRDbGFpbXM/LmluaXRpYWxzID8/ICcnIH19XG4gICAgICAgIDwvb2R4LWF2YXRhcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIH1cbjwvb2R4LWFjdGlvbi1ncm91cD5cbiJdfQ==
@@ -148,7 +148,6 @@ export class AuthService {
148
148
  * @returns {URL} The issuer URL.
149
149
  */
150
150
  getIssuer() {
151
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
152
151
  return new URL(this.oauthService.issuer);
153
152
  }
154
153
  /**
@@ -315,4 +314,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
315
314
  type: Injectable,
316
315
  args: [{ providedIn: 'root' }]
317
316
  }], ctorParameters: () => [] });
318
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hdXRoL3NyYy9saWIvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBYyxlQUFlLEVBQUUsWUFBWSxFQUFpQixNQUFNLHFCQUFxQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUNMLGVBQWUsRUFFZixVQUFVLEVBQ1YsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixNQUFNLEVBQ04sU0FBUyxFQUNULEdBQUcsRUFDSCxLQUFLLEVBQ0wsRUFBRSxFQUNGLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxFQUNILE9BQU8sR0FDUixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFxQixNQUFNLFVBQVUsQ0FBQzs7QUFFaEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBRUgsTUFBTSxPQUFPLFdBQVc7SUEwRnRCOzs7OztPQUtHO0lBQ0gsSUFBVyxrQkFBa0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVEO1FBbkdpQixlQUFVLEdBQUcsZ0JBQWdCLEVB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RSxDQUFDO1FBQ2xELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDOytHQTdVVSxXQUFXO21IQUFYLFdBQVcsY0FERSxNQUFNOzs0RkFDbkIsV0FBVztrQkFEdkIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBXaW5kb3dSZWYgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQXV0aENvbmZpZywgT0F1dGhFcnJvckV2ZW50LCBPQXV0aFNlcnZpY2UsIFRva2VuUmVzcG9uc2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IGRlZXBtZXJnZSB9IGZyb20gJ2RlZXBtZXJnZS10cyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIE9ic2VydmFibGUsXG4gIGNhdGNoRXJyb3IsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIGZyb21FdmVudCxcbiAgbWFwLFxuICBtZXJnZSxcbiAgb2YsXG4gIHNoYXJlLFxuICBzaGFyZVJlcGxheSxcbiAgc3RhcnRXaXRoLFxuICBzd2l0Y2hNYXAsXG4gIHRha2UsXG4gIHRhcCxcbiAgdGltZW91dCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbmplY3RBdXRoQ29uZmlnIH0gZnJvbSAnLi9hdXRoLmNvbmZpZyc7XG5pbXBvcnQgeyBzZXRIdHRwQXV0aEhlYWRlciB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBBdXRoUGx1Z2luTWFuYWdlciwgQXV0aG9yaXplZEhhbmRsZXIgfSBmcm9tICcuL21vZGVscyc7XG5cbi8qKlxuICogVGhlIGBBdXRoU2VydmljZWAgY2xhc3MgcHJvdmlkZXMgYXV0aGVudGljYXRpb24gZnVuY3Rpb25hbGl0eSBmb3IgYW4gQW5ndWxhciBhcHBsaWNhdGlvbi5cbiAqIEl0IGhhbmRsZXMgT0F1dGgyL09JREMgYXV0aGVudGljYXRpb24sIHRva2VuIG1hbmFnZW1lbnQsIGFuZCB1c2VyIGlkZW50aXR5IGNsYWltcy5cbiAqXG4gKiBLZXkgcmVzcG9uc2liaWxpdGllcyBpbmNsdWRlOlxuICogLSBJbml0aWFsaXppbmcgYXV0aGVudGljYXRpb24gd2l0aCBhIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24uXG4gKiAtIE1hbmFnaW5nIHRva2VucyAoYWNjZXNzLCByZWZyZXNoLCBhbmQgSUQgdG9rZW5zKS5cbiAqIC0gQ2hlY2tpbmcgYW5kIGVtaXR0aW5nIGF1dGhlbnRpY2F0aW9uIGFuZCBhdXRob3JpemF0aW9uIHN0YXRlcy5cbiAqIC0gSGFuZGxpbmcgdXNlciBsb2dpbiBhbmQgbG9nb3V0IGZsb3dzLlxuICogLSBTdXBwb3J0aW5nIHNpbGVudCByZWZyZXNoIGFuZCBvZmZsaW5lIGF1dGhlbnRpY2F0aW9uIHNjZW5hcmlvcy5cbiAqIC0gSW50ZWdyYXRpbmcgYXV0aGVudGljYXRpb24gcGx1Z2lucyB2aWEgYEF1dGhQbHVnaW5NYW5hZ2VyYC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gSW5qZWN0aW5nIHRoZSBBdXRoU2VydmljZVxuICogY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UpIHt9XG4gKlxuICogLy8gVXNpbmcgdGhlIEF1dGhTZXJ2aWNlIHRvIGluaXRpYWxpemUgYXV0aGVudGljYXRpb25cbiAqIGFzeW5jIG5nT25Jbml0KCkge1xuICogICBjb25zdCBjb25maWc6IEF1dGhDb25maWcgPSB7IGNsaWVudElkOiAneW91ci1jbGllbnQtaWQnLCBkaXNjb3ZlcnlVcmw6ICdodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uJyB9O1xuICogICBhd2FpdCB0aGlzLmF1dGhTZXJ2aWNlLmluaXRpYWxpemUoY29uZmlnKTtcbiAqIH1cbiAqIGBgYFxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhdXRoQ29uZmlnID0gaW5qZWN0QXV0aENvbmZpZygpO1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGhQbHVnaW5NYW5hZ2VyID0gaW5qZWN0KEF1dGhQbHVnaW5NYW5hZ2VyKTtcbiAgcHJpdmF0ZSByZWFkb25seSBvYXV0aFNlcnZpY2UgPSBpbmplY3QoT0F1dGhTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWYgPSBpbmplY3QoV2luZG93UmVmKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGlzSW5pdGlhbGl6ZWQkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGlzUmVkaXJlY3RpbmckJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IG9uQWNjZXNzVG9rZW5VcGRhdGUkID0gZnJvbUV2ZW50PFN0b3JhZ2VFdmVudD4odGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93LCAnc3RvcmFnZScpLnBpcGUoXG4gICAgZmlsdGVyKCh7IGtleSB9KSA9PiBrZXkgPT09ICdhY2Nlc3NfdG9rZW4nIHx8IGtleSA9PT0gbnVsbCksXG4gICAgc3RhcnRXaXRoKG51bGwpLFxuICAgIHNoYXJlKCksXG4gICk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2lsZW50UmVmcmVzaEhhbmRsZXIkID0gdGhpcy5pc0luaXRpYWxpemVkJCQucGlwZShcbiAgICBmaWx0ZXIoQm9vbGVhbiksXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMud2luZG93UmVmLmlzT25saW5lJCksXG4gICAgdGFwKChpc09ubGluZSkgPT4gdGhpcy51cGRhdGVTaWxlbnRSZWZyZXNoKGlzT25saW5lKSksXG4gICk7XG4gIHByaXZhdGUgcmVhZG9ubHkgb25BdXRoU3RhdGVDaGFuZ2UkID0gY29tYmluZUxhdGVzdChbdGhpcy5vYXV0aFNlcnZpY2UuZXZlbnRzLnBpcGUoc3RhcnRXaXRoKG51bGwpKSwgdGhpcy53aW5kb3dSZWYuaXNPbmxpbmUkLCB0aGlzLm9uQWNjZXNzVG9rZW5VcGRhdGUkXSk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGB0cnVlYCB3aGVuIHRoZSBzZXJ2aWNlIGhhcyBjb21wbGV0ZWQgaW5pdGlhbGl6YXRpb24uXG4gICAqIEVtaXRzIGBmYWxzZWAgdW50aWwgdGhlIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlLlxuICAgKlxuICAgKiBAdHlwZSB7T2JzZXJ2YWJsZTxib29sZWFuPn1cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpc0luaXRpYWxpemVkJCA9IHRoaXMuaXNJbml0aWFsaXplZCQkLnBpcGUoZmlsdGVyKEJvb2xlYW4pLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICAvKipcbiAgICogRW1pdHMgYHRydWVgIHdoZW4gdGhlIHVzZXIgaXMgYmVpbmcgcmVkaXJlY3RlZCB0byB0aGUgbG9naW4gcGFnZS5cbiAgICogRW1pdHMgYGZhbHNlYCB3aGVuIHRoZXJlIGlzIG5vIHJlZGlyZWN0aW9uIGluIHByb2dyZXNzLlxuICAgKlxuICAgKiBAdHlwZSB7T2JzZXJ2YWJsZTxib29sZWFuPn1cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpc1JlZGlyZWN0aW5nJCA9IHRoaXMuaXNSZWRpcmVjdGluZyQkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGB0cnVlYCB3aGVuIHRoZSBhcHBsaWNhdGlvbiBpcyBpbiBhIGxvYWRpbmcgc3RhdGUgKGUuZy4sIGR1cmluZyByZWRpcmVjdGlvbiBvciBwbHVnaW4gaW5pdGlhbGl6YXRpb24pLlxuICAgKiBFbWl0cyBgZmFsc2VgIHdoZW4gdGhlcmUgaXMgbm8gb25nb2luZyBsb2FkaW5nIGFjdGl2aXR5LlxuICAgKlxuICAgKiBAdHlwZSB7T2JzZXJ2YWJsZTxib29sZWFuPn1cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpc0xvYWRpbmckID0gbWVyZ2UodGhpcy5pc1JlZGlyZWN0aW5nJCwgdGhpcy5hdXRoUGx1Z2luTWFuYWdlci5wbHVnaW5zTG9hZGluZyQpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGB0cnVlYCB3aGVuIHRoZSB1c2VyIGlzIGF1dGhlbnRpY2F0ZWQuXG4gICAqIEVtaXRzIGBmYWxzZWAgd2hlbiB0aGUgdXNlciBpcyBub3QgYXV0aGVudGljYXRlZC5cbiAgICpcbiAgICogQHR5cGUge09ic2VydmFibGU8Ym9vbGVhbj59XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaXNBdXRoZW50aWNhdGVkJCA9IHRoaXMuaXNJbml0aWFsaXplZCQucGlwZShcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5hdXRoUGx1Z2luTWFuYWdlci5wbHVnaW5zUmVhZHkkKSxcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5vbkF1dGhTdGF0ZUNoYW5nZSQpLFxuICAgIG1hcCgoKSA9PiB0aGlzLmlzQXV0aGVudGljYXRlZCgpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBpZGVudGl0eSBjbGFpbXMgb2YgdGhlIGF1dGhlbnRpY2F0ZWQgdXNlci5cbiAgICogSWYgdGhlIHVzZXIgaXMgbm90IGF1dGhlbnRpY2F0ZWQsIGVtaXRzIGBudWxsYC5cbiAgICpcbiAgICogQHR5cGUge09ic2VydmFibGU8T2R4QXV0aC5JZGVudGl0eUNsYWltcyB8IG51bGw+fVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlkZW50aXR5Q2xhaW1zJCA9IHRoaXMuaXNBdXRoZW50aWNhdGVkJC5waXBlKFxuICAgIG1hcCgoKSA9PiB0aGlzLmdldElkZW50aXR5Q2xhaW1zKCkpLFxuICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIE9BdXRoIGVycm9yIGV2ZW50cy5cbiAgICpcbiAgICogQHR5cGUge09ic2VydmFibGU8T0F1dGhFcnJvckV2ZW50Pn1cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBlcnJvcnMkID0gdGhpcy5vYXV0aFNlcnZpY2UuZXZlbnRzLnBpcGUoXG4gICAgZmlsdGVyKChldmVudCk6IGV2ZW50IGlzIE9BdXRoRXJyb3JFdmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE9BdXRoRXJyb3JFdmVudCksXG4gICAgc2hhcmUoKSxcbiAgKTtcblxuICAvKipcbiAgICogRW1pdHMgZXZlbnRzIHdoZW4gYW4gT0F1dGggdG9rZW4gaXMgc3VjY2Vzc2Z1bGx5IHJlY2VpdmVkLlxuICAgKlxuICAgKiBAdHlwZSB7T2JzZXJ2YWJsZTxFdmVudD59XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb25Ub2tlblJlY2VpdmVkJCA9IHRoaXMub2F1dGhTZXJ2aWNlLmV2ZW50cy5waXBlKFxuICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LnR5cGUgPT09ICd0b2tlbl9yZWNlaXZlZCcpLFxuICAgIHNoYXJlKCksXG4gICk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW5ldmVyIHRoZSBgYWNjZXNzX3Rva2VuYCBpbiBsb2NhbCBzdG9yYWdlIGlzIHVwZGF0ZWQgb3IgY2xlYXJlZC5cbiAgICogUHJvdmlkZXMgYW4gb2JzZXJ2YWJsZSBmb3IgdHJhY2tpbmcgdG9rZW4gdXBkYXRlcy5cbiAgICpcbiAgICogQHR5cGUge09ic2VydmFibGU8U3RvcmFnZUV2ZW50IHwgbnVsbD59XG4gICAqL1xuICBwdWJsaWMgZ2V0IGFjY2Vzc1Rva2VuVXBkYXRlJCgpOiBPYnNlcnZhYmxlPFN0b3JhZ2VFdmVudCB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5vbkFjY2Vzc1Rva2VuVXBkYXRlJDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMucnVuUGx1Z2lucygpO1xuICAgIHRoaXMuc2lsZW50UmVmcmVzaEhhbmRsZXIkLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSBhdXRoZW50aWNhdGlvbiBzZXJ2aWNlIHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7QXV0aENvbmZpZ30gY29uZmlnIC0gVGhlIGF1dGhlbnRpY2F0aW9uIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gUmVzb2x2ZXMgd2hlbiBpbml0aWFsaXphdGlvbiBpcyBjb21wbGV0ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpbml0aWFsaXplKGNvbmZpZzogQXV0aENvbmZpZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuYXNzZXJ0QXVkaWVuY2UoY29uZmlnLmNsaWVudElkKTtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5jb25maWd1cmUoeyAuLi5jb25maWcsIG9wZW5Vcmk6IHRoaXMucmVkaXJlY3RUb0xvZ2luLmJpbmQodGhpcykgfSk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMub2F1dGhTZXJ2aWNlLmxvYWREaXNjb3ZlcnlEb2N1bWVudCh0aGlzLmF1dGhDb25maWcuZGlzY292ZXJ5VXJsKTtcbiAgICAgIGF3YWl0IHRoaXMub2F1dGhTZXJ2aWNlLnRyeUxvZ2luKCk7XG4gICAgICBpZiAodGhpcy5hdXRoQ29uZmlnLnJlZnJlc2hUb2tlbk9uSW5pdCkge1xuICAgICAgICBhd2FpdCB0aGlzLnRyeVJlZnJlc2hUb2tlbigpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoIShlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlIHx8IGVycm9yIGluc3RhbmNlb2YgT0F1dGhFcnJvckV2ZW50KSkge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH1cbiAgICAgIGlmIChlcnJvci50eXBlID09PSAndG9rZW5fcmVmcmVzaF9lcnJvcicgfHwgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgJiYgKGVycm9yLnN0YXR1cyA9PT0gNDAxIHx8IGVycm9yLnN0YXR1cyA9PT0gNDAwKSkpIHtcbiAgICAgICAgdGhpcy5zaWduT3V0KHRydWUpO1xuICAgICAgICB0aGlzLnNpZ25Jbih0aGlzLndpbmRvd1JlZi5sb2NhdGlvbi5wYXRobmFtZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuaXNJbml0aWFsaXplZCQkLm5leHQodHJ1ZSk7XG4gICAgaWYgKHRoaXMuYXV0aENvbmZpZy5yZXF1aXJlU2lnbkluICYmICF0aGlzLmlzQXV0aGVudGljYXRlZCgpKSB7XG4gICAgICB0aGlzLnNpZ25Jbih0aGlzLndpbmRvd1JlZi5sb2NhdGlvbi5wYXRobmFtZSk7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMudHJ5TG9hZFVzZXJQcm9maWxlKCk7XG4gICAgYXdhaXQgdGhpcy5yb3V0ZVRvUmVxdWVzdGVkVXJsKCk7XG4gIH1cblxuICAvKipcbiAgICogUnVucyBhbGwgYXV0aGVudGljYXRpb24gcGx1Z2lucyByZWdpc3RlcmVkIGluIHRoZSBgQXV0aFBsdWdpbk1hbmFnZXJgLlxuICAgKi9cbiAgcHVibGljIHJ1blBsdWdpbnMoKTogdm9pZCB7XG4gICAgdGhpcy5hdXRoUGx1Z2luTWFuYWdlci5ydW5QbHVnaW5zKHRoaXMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGlzc3VlciBVUkwgZm9yIHRoZSBPQXV0aCBzZXJ2ZXIuXG4gICAqXG4gICAqIEByZXR1cm5zIHtVUkx9IFRoZSBpc3N1ZXIgVVJMLlxuICAgKi9cbiAgcHVibGljIGdldElzc3VlcigpOiBVUkwge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgcmV0dXJuIG5ldyBVUkwodGhpcy5vYXV0aFNlcnZpY2UuaXNzdWVyISk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhdGVzIHRoZSBsb2dpbiBmbG93IGZvciB0aGUgdXNlci4gUmVkaXJlY3RzIHRvIHRoZSBsb2dpbiBwYWdlLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3VybF0gLSBUaGUgVVJMIHRvIHJlZGlyZWN0IGJhY2sgdG8gYWZ0ZXIgbG9naW4uXG4gICAqL1xuICBwdWJsaWMgc2lnbkluKHVybD86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmluaXRMb2dpbkZsb3codXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dzIHRoZSB1c2VyIG91dCBhbmQgY2xlYXJzIHRoZWlyIHRva2Vucy5cbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSBbbm9SZWRpcmVjdF0gLSBJZiBgdHJ1ZWAsIG5vIHJlZGlyZWN0aW9uIG9jY3VycyBhZnRlciBsb2dvdXQuXG4gICAqL1xuICBwdWJsaWMgc2lnbk91dChub1JlZGlyZWN0PzogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvZ091dChub1JlZGlyZWN0IHx8ICF0aGlzLmdldEFjY2Vzc1Rva2VuKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGVtcHRzIHRvIHJlZnJlc2ggdGhlIHVzZXIncyB0b2tlbnMuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFRva2VuUmVzcG9uc2U+fSBSZXNvbHZlcyB3aXRoIHRoZSBuZXcgdG9rZW4gcmVzcG9uc2UuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcmVmcmVzaFRva2VucygpOiBQcm9taXNlPFRva2VuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5vYXV0aFNlcnZpY2UucmVmcmVzaFRva2VuKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IGFjY2VzcyB0b2tlbiwgaWYgYXZhaWxhYmxlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgbnVsbH0gVGhlIGFjY2VzcyB0b2tlbiwgb3IgYG51bGxgIGlmIG5vdCBhdmFpbGFibGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0QWNjZXNzVG9rZW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMub2F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCkgPz8gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgcmVmcmVzaCB0b2tlbiwgaWYgYXZhaWxhYmxlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgbnVsbH0gVGhlIHJlZnJlc2ggdG9rZW4sIG9yIGBudWxsYCBpZiBub3QgYXZhaWxhYmxlLlxuICAgKi9cbiAgcHVibGljIGdldFJlZnJlc2hUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5vYXV0aFNlcnZpY2UuZ2V0UmVmcmVzaFRva2VuKCkgPz8gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgSUQgdG9rZW4sIGlmIGF2YWlsYWJsZS5cbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZyB8IG51bGx9IFRoZSBJRCB0b2tlbiwgb3IgYG51bGxgIGlmIG5vdCBhdmFpbGFibGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0SWRUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5vYXV0aFNlcnZpY2UuZ2V0SWRUb2tlbigpID8/IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBpZGVudGl0eSBjbGFpbXMgb2YgdGhlIGF1dGhlbnRpY2F0ZWQgdXNlci5cbiAgICpcbiAgICogQHJldHVybnMge09keEF1dGguSWRlbnRpdHlDbGFpbXMgfCBudWxsfSBUaGUgaWRlbnRpdHkgY2xhaW1zLCBvciBgbnVsbGAgaWYgbm90IGF2YWlsYWJsZS5cbiAgICovXG4gIHB1YmxpYyBnZXRJZGVudGl0eUNsYWltcygpOiBPZHhBdXRoLklkZW50aXR5Q2xhaW1zIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmdldElkVG9rZW4oKSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIGRlZXBtZXJnZSh0aGlzLm9hdXRoU2VydmljZS5nZXRJZGVudGl0eUNsYWltcygpLCB0aGlzLmF1dGhQbHVnaW5NYW5hZ2VyLmdldFJlc3VsdCgpKSBhcyBPZHhBdXRoLklkZW50aXR5Q2xhaW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgcmF3IGlkZW50aXR5IGNsYWltcyBvZiB0aGUgYXV0aGVudGljYXRlZCB1c2VyLlxuICAgKlxuICAgKiBAcmV0dXJucyB7T2R4QXV0aC5SYXdJZGVudGl0eUNsYWltcyB8IG51bGx9IFRoZSByYXcgaWRlbnRpdHkgY2xhaW1zLCBvciBgbnVsbGAgaWYgbm90IGF2YWlsYWJsZS5cbiAgICovXG4gIHB1YmxpYyBnZXRSYXdJZGVudGl0eUNsYWltcygpOiBPZHhBdXRoLlJhd0lkZW50aXR5Q2xhaW1zIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmdldElkVG9rZW4oKSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHRoaXMub2F1dGhTZXJ2aWNlLmdldElkZW50aXR5Q2xhaW1zKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSB1c2VyIGlzIGN1cnJlbnRseSBhdXRoZW50aWNhdGVkLlxuICAgKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gYHRydWVgIGlmIGF1dGhlbnRpY2F0ZWQsIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgKi9cbiAgcHVibGljIGlzQXV0aGVudGljYXRlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy53aW5kb3dSZWYuaXNPbmxpbmUoKSkge1xuICAgICAgcmV0dXJuIHRoaXMub2F1dGhTZXJ2aWNlLmhhc1ZhbGlkQWNjZXNzVG9rZW4oKSAmJiB0aGlzLm9hdXRoU2VydmljZS5oYXNWYWxpZElkVG9rZW4oKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaGFzVmFsaWRPZmZsaW5lVG9rZW4oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIHVzZXIgaXMgYXV0aG9yaXplZCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgaGFuZGxlci5cbiAgICpcbiAgICogQHBhcmFtIHtBdXRob3JpemVkSGFuZGxlciB8IG51bGx9IFthdXRob3JpemVkSGFuZGxlcl0gLSBBIGhhbmRsZXIgdG8gZGV0ZXJtaW5lIGF1dGhvcml6YXRpb24uXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBgdHJ1ZWAgaWYgYXV0aG9yaXplZCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAqL1xuICBwdWJsaWMgaXNBdXRob3JpemVkKGF1dGhvcml6ZWRIYW5kbGVyPzogQXV0aG9yaXplZEhhbmRsZXIgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaGFuZGxlciA9IGF1dGhvcml6ZWRIYW5kbGVyID8/IHRoaXMuYXV0aENvbmZpZy5kZWZhdWx0QXV0aG9yaXplZEhhbmRsZXI7XG5cbiAgICByZXR1cm4gdGhpcy5pc0F1dGhlbnRpY2F0ZWQoKSAmJiAoaGFuZGxlcj8uKHRoaXMuZ2V0SWRlbnRpdHlDbGFpbXMoKSwgdGhpcywgdGhpcy5yb3V0ZXIpID8/IHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZXRoZXIgdGhlIHVzZXIgaXMgYXV0aG9yaXplZCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgaGFuZGxlci5cbiAgICpcbiAgICogQHBhcmFtIHtBdXRob3JpemVkSGFuZGxlciB8IG51bGx9IFthdXRob3JpemVkSGFuZGxlcl0gLSBBIGhhbmRsZXIgdG8gZGV0ZXJtaW5lIGF1dGhvcml6YXRpb24uXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPGJvb2xlYW4+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSBhdXRob3JpemF0aW9uIHN0YXR1cy5cbiAgICovXG4gIHB1YmxpYyBpc0F1dGhvcml6ZWQkKGF1dGhvcml6ZWRIYW5kbGVyPzogQXV0aG9yaXplZEhhbmRsZXIgfCBudWxsKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBdXRoZW50aWNhdGVkJC5waXBlKG1hcCgoKSA9PiB0aGlzLmlzQXV0aG9yaXplZChhdXRob3JpemVkSGFuZGxlcikpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmVwYXJlcyBhbiBIVFRQIHJlcXVlc3QgYnkgYWRkaW5nIHRoZSBhY2Nlc3MgdG9rZW4gdG8gaXRzIGhlYWRlcnMuXG4gICAqXG4gICAqIEBwYXJhbSB7SHR0cFJlcXVlc3Q8VD4gfCBSZXF1ZXN0fSByZXEgLSBUaGUgSFRUUCByZXF1ZXN0IHRvIHByZXBhcmUuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gcmVxdWlyZVNpZ25JbiAtIFdoZXRoZXIgdG8gcmVxdWlyZSB0aGUgdXNlciB0byBzaWduIGluIGlmIG5vIHRva2VuIGlzIGF2YWlsYWJsZS5cbiAgICogQHJldHVybnMge09ic2VydmFibGU8Uj59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHByZXBhcmVkIHJlcXVlc3QuXG4gICAqIEB0ZW1wbGF0ZSBSLCBUXG4gICAqL1xuICBwdWJsaWMgcHJlcGFyZUF1dGhSZXF1ZXN0JDxSIGV4dGVuZHMgSHR0cFJlcXVlc3Q8VD4gfCBSZXF1ZXN0LCBUPihyZXE6IFIsIHJlcXVpcmVTaWduSW4gPSBmYWxzZSk6IE9ic2VydmFibGU8Uj4ge1xuICAgIHJldHVybiB0aGlzLndhaXRGb3JBY2Nlc3NUb2tlbiQocmVxdWlyZVNpZ25JbikucGlwZShtYXAoKHRva2VuKSA9PiBzZXRIdHRwQXV0aEhlYWRlcihyZXEsIHRva2VuKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdhaXRzIGZvciBhIHZhbGlkIGFjY2VzcyB0b2tlbiB0byBiZWNvbWUgYXZhaWxhYmxlLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHJlcXVpcmVTaWduSW4gLSBXaGV0aGVyIHRvIHJlcXVpcmUgdGhlIHVzZXIgdG8gc2lnbiBpbiBpZiBubyB0b2tlbiBpcyBhdmFpbGFibGUuXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSBhY2Nlc3MgdG9rZW4uXG4gICAqL1xuICBwdWJsaWMgd2FpdEZvckFjY2Vzc1Rva2VuJChyZXF1aXJlU2lnbkluOiBib29sZWFuKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgY29uc3QgYWNjZXNzVG9rZW4kID0gb2YodGhpcy5nZXRBY2Nlc3NUb2tlbigpKS5waXBlKGZpbHRlcigodG9rZW4pID0+ICEhdG9rZW4gJiYgdGhpcy5pc0F1dGhlbnRpY2F0ZWQoKSkpO1xuICAgIGNvbnN0IHdhaXRGb3JBY2Nlc3NUb2tlbiQgPSB0aGlzLm9uVG9rZW5SZWNlaXZlZCQucGlwZShcbiAgICAgIHRpbWVvdXQodGhpcy5hdXRoQ29uZmlnLndhaXRGb3JUb2tlbkluTXMgPz8gMCksXG4gICAgICBjYXRjaEVycm9yKGFzeW5jICgpID0+IHRoaXMudHJ5UmVmcmVzaFRva2VuKCkuY2F0Y2goKCkgPT4gbnVsbCkpLFxuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5pc0luaXRpYWxpemVkJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IG1lcmdlKGFjY2Vzc1Rva2VuJCwgd2FpdEZvckFjY2Vzc1Rva2VuJCkpLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmdldEFjY2Vzc1Rva2VuKCkpLFxuICAgICAgdGFwKCh0b2tlbikgPT4gIXRva2VuICYmIHJlcXVpcmVTaWduSW4gJiYgdGhpcy5zaWduSW4odGhpcy53aW5kb3dSZWYubG9jYXRpb24ucGF0aG5hbWUpKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByb3V0ZVRvUmVxdWVzdGVkVXJsKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5vYXV0aFNlcnZpY2Uuc3RhdGUgfHwgIXRoaXMub2F1dGhTZXJ2aWNlLmhhc1ZhbGlkQWNjZXNzVG9rZW4oKSkgcmV0dXJuO1xuICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoZGVjb2RlVVJJQ29tcG9uZW50KHRoaXMub2F1dGhTZXJ2aWNlLnN0YXRlKSk7XG4gIH1cblxuICBwcml2YXRlIGhhc1ZhbGlkT2ZmbGluZVRva2VuKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlzc3VlZEF0ID0gdGhpcy5nZXRJZGVudGl0eUNsYWltcygpPy5pYXQgPz8gMDtcblxuICAgIHJldHVybiBEYXRlLm5vdygpIC0gaXNzdWVkQXQgKiAxMDAwIDw9IHRoaXMuYXV0aENvbmZpZy5tYXhPZmZsaW5lVGltZSAqIDEwMDA7XG4gIH1cblxuICBwcml2YXRlIHJlZGlyZWN0VG9Mb2dpbih1cmk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMud2luZG93UmVmLmxvY2F0aW9uLmFzc2lnbih1cmkpO1xuICAgIHRoaXMuaXNSZWRpcmVjdGluZyQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHRyeUxvYWRVc2VyUHJvZmlsZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuYXV0aENvbmZpZy5sb2FkVXNlclByb2ZpbGUgfHwgIXRoaXMuaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybjtcbiAgICBhd2FpdCB0aGlzLm9hdXRoU2VydmljZS5sb2FkVXNlclByb2ZpbGUoKS5jYXRjaCgoKSA9PiBudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdHJ5UmVmcmVzaFRva2VuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5nZXRSZWZyZXNoVG9rZW4oKSkgcmV0dXJuO1xuICAgIGF3YWl0IHRoaXMub2F1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3NlcnRBdWRpZW5jZShjbGllbnRJZD86IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCB0b2tlbkNsaWVudElkID0gdGhpcy5nZXRJZGVudGl0eUNsYWltcygpPy5hdWQ7XG4gICAgaWYgKCFjbGllbnRJZCB8fCAhdG9rZW5DbGllbnRJZCB8fCBjbGllbnRJZCA9PT0gdG9rZW5DbGllbnRJZCkgcmV0dXJuO1xuICAgIHRoaXMuc2lnbk91dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2lsZW50UmVmcmVzaChlbmFibGVkOiBib29sZWFuKSB7XG4gICAgaWYgKGVuYWJsZWQpIHtcbiAgICAgIHRoaXMub2F1dGhTZXJ2aWNlLnNldHVwQXV0b21hdGljU2lsZW50UmVmcmVzaCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9hdXRoU2VydmljZS5zdG9wQXV0b21hdGljUmVmcmVzaCgpO1xuICAgIH1cbiAgfVxufVxuIl19
317
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hdXRoL3NyYy9saWIvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBYyxlQUFlLEVBQUUsWUFBWSxFQUFpQixNQUFNLHFCQUFxQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUNMLGVBQWUsRUFFZixVQUFVLEVBQ1YsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixNQUFNLEVBQ04sU0FBUyxFQUNULEdBQUcsRUFDSCxLQUFLLEVBQ0wsRUFBRSxFQUNGLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxFQUNILE9BQU8sR0FDUixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFxQixNQUFNLFVBQVUsQ0FBQzs7QUFFaEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBRUgsTUFBTSxPQUFPLFdBQVc7SUEwRnRCOzs7OztPQUtHO0lBQ0gsSUFBVyxrQkFBa0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVEO1FBbkdpQixlQUFVLEdBQUcsZ0JBQWdCLEVB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Q0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7K0dBNVVVLFdBQVc7bUhBQVgsV0FBVyxjQURFLE1BQU07OzRGQUNuQixXQUFXO2tCQUR2QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFdpbmRvd1JlZiB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBBdXRoQ29uZmlnLCBPQXV0aEVycm9yRXZlbnQsIE9BdXRoU2VydmljZSwgVG9rZW5SZXNwb25zZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgZGVlcG1lcmdlIH0gZnJvbSAnZGVlcG1lcmdlLXRzJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgT2JzZXJ2YWJsZSxcbiAgY2F0Y2hFcnJvcixcbiAgY29tYmluZUxhdGVzdCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbHRlcixcbiAgZnJvbUV2ZW50LFxuICBtYXAsXG4gIG1lcmdlLFxuICBvZixcbiAgc2hhcmUsXG4gIHNoYXJlUmVwbGF5LFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbiAgdGFwLFxuICB0aW1lb3V0LFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGluamVjdEF1dGhDb25maWcgfSBmcm9tICcuL2F1dGguY29uZmlnJztcbmltcG9ydCB7IHNldEh0dHBBdXRoSGVhZGVyIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IEF1dGhQbHVnaW5NYW5hZ2VyLCBBdXRob3JpemVkSGFuZGxlciB9IGZyb20gJy4vbW9kZWxzJztcblxuLyoqXG4gKiBUaGUgYEF1dGhTZXJ2aWNlYCBjbGFzcyBwcm92aWRlcyBhdXRoZW50aWNhdGlvbiBmdW5jdGlvbmFsaXR5IGZvciBhbiBBbmd1bGFyIGFwcGxpY2F0aW9uLlxuICogSXQgaGFuZGxlcyBPQXV0aDIvT0lEQyBhdXRoZW50aWNhdGlvbiwgdG9rZW4gbWFuYWdlbWVudCwgYW5kIHVzZXIgaWRlbnRpdHkgY2xhaW1zLlxuICpcbiAqIEtleSByZXNwb25zaWJpbGl0aWVzIGluY2x1ZGU6XG4gKiAtIEluaXRpYWxpemluZyBhdXRoZW50aWNhdGlvbiB3aXRoIGEgcHJvdmlkZWQgY29uZmlndXJhdGlvbi5cbiAqIC0gTWFuYWdpbmcgdG9rZW5zIChhY2Nlc3MsIHJlZnJlc2gsIGFuZCBJRCB0b2tlbnMpLlxuICogLSBDaGVja2luZyBhbmQgZW1pdHRpbmcgYXV0aGVudGljYXRpb24gYW5kIGF1dGhvcml6YXRpb24gc3RhdGVzLlxuICogLSBIYW5kbGluZyB1c2VyIGxvZ2luIGFuZCBsb2dvdXQgZmxvd3MuXG4gKiAtIFN1cHBvcnRpbmcgc2lsZW50IHJlZnJlc2ggYW5kIG9mZmxpbmUgYXV0aGVudGljYXRpb24gc2NlbmFyaW9zLlxuICogLSBJbnRlZ3JhdGluZyBhdXRoZW50aWNhdGlvbiBwbHVnaW5zIHZpYSBgQXV0aFBsdWdpbk1hbmFnZXJgLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBJbmplY3RpbmcgdGhlIEF1dGhTZXJ2aWNlXG4gKiBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSkge31cbiAqXG4gKiAvLyBVc2luZyB0aGUgQXV0aFNlcnZpY2UgdG8gaW5pdGlhbGl6ZSBhdXRoZW50aWNhdGlvblxuICogYXN5bmMgbmdPbkluaXQoKSB7XG4gKiAgIGNvbnN0IGNvbmZpZzogQXV0aENvbmZpZyA9IHsgY2xpZW50SWQ6ICd5b3VyLWNsaWVudC1pZCcsIGRpc2NvdmVyeVVybDogJ2h0dHBzOi8vZXhhbXBsZS5jb20vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb24nIH07XG4gKiAgIGF3YWl0IHRoaXMuYXV0aFNlcnZpY2UuaW5pdGlhbGl6ZShjb25maWcpO1xuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGhDb25maWcgPSBpbmplY3RBdXRoQ29uZmlnKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXV0aFBsdWdpbk1hbmFnZXIgPSBpbmplY3QoQXV0aFBsdWdpbk1hbmFnZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IG9hdXRoU2VydmljZSA9IGluamVjdChPQXV0aFNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1JlZiA9IGluamVjdChXaW5kb3dSZWYpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaXNJbml0aWFsaXplZCQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaXNSZWRpcmVjdGluZyQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgb25BY2Nlc3NUb2tlblVwZGF0ZSQgPSBmcm9tRXZlbnQ8U3RvcmFnZUV2ZW50Pih0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3csICdzdG9yYWdlJykucGlwZShcbiAgICBmaWx0ZXIoKHsga2V5IH0pID0+IGtleSA9PT0gJ2FjY2Vzc190b2tlbicgfHwga2V5ID09PSBudWxsKSxcbiAgICBzdGFydFdpdGgobnVsbCksXG4gICAgc2hhcmUoKSxcbiAgKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzaWxlbnRSZWZyZXNoSGFuZGxlciQgPSB0aGlzLmlzSW5pdGlhbGl6ZWQkJC5waXBlKFxuICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy53aW5kb3dSZWYuaXNPbmxpbmUkKSxcbiAgICB0YXAoKGlzT25saW5lKSA9PiB0aGlzLnVwZGF0ZVNpbGVudFJlZnJlc2goaXNPbmxpbmUpKSxcbiAgKTtcbiAgcHJpdmF0ZSByZWFkb25seSBvbkF1dGhTdGF0ZUNoYW5nZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm9hdXRoU2VydmljZS5ldmVudHMucGlwZShzdGFydFdpdGgobnVsbCkpLCB0aGlzLndpbmRvd1JlZi5pc09ubGluZSQsIHRoaXMub25BY2Nlc3NUb2tlblVwZGF0ZSRdKTtcblxuICAvKipcbiAgICogRW1pdHMgYHRydWVgIHdoZW4gdGhlIHNlcnZpY2UgaGFzIGNvbXBsZXRlZCBpbml0aWFsaXphdGlvbi5cbiAgICogRW1pdHMgYGZhbHNlYCB1bnRpbCB0aGUgaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGUuXG4gICAqXG4gICAqIEB0eXBlIHtPYnNlcnZhYmxlPGJvb2xlYW4+fVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlzSW5pdGlhbGl6ZWQkID0gdGhpcy5pc0luaXRpYWxpemVkJCQucGlwZShmaWx0ZXIoQm9vbGVhbiksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBgdHJ1ZWAgd2hlbiB0aGUgdXNlciBpcyBiZWluZyByZWRpcmVjdGVkIHRvIHRoZSBsb2dpbiBwYWdlLlxuICAgKiBFbWl0cyBgZmFsc2VgIHdoZW4gdGhlcmUgaXMgbm8gcmVkaXJlY3Rpb24gaW4gcHJvZ3Jlc3MuXG4gICAqXG4gICAqIEB0eXBlIHtPYnNlcnZhYmxlPGJvb2xlYW4+fVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlzUmVkaXJlY3RpbmckID0gdGhpcy5pc1JlZGlyZWN0aW5nJCQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pKTtcblxuICAvKipcbiAgICogRW1pdHMgYHRydWVgIHdoZW4gdGhlIGFwcGxpY2F0aW9uIGlzIGluIGEgbG9hZGluZyBzdGF0ZSAoZS5nLiwgZHVyaW5nIHJlZGlyZWN0aW9uIG9yIHBsdWdpbiBpbml0aWFsaXphdGlvbikuXG4gICAqIEVtaXRzIGBmYWxzZWAgd2hlbiB0aGVyZSBpcyBubyBvbmdvaW5nIGxvYWRpbmcgYWN0aXZpdHkuXG4gICAqXG4gICAqIEB0eXBlIHtPYnNlcnZhYmxlPGJvb2xlYW4+fVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlzTG9hZGluZyQgPSBtZXJnZSh0aGlzLmlzUmVkaXJlY3RpbmckLCB0aGlzLmF1dGhQbHVnaW5NYW5hZ2VyLnBsdWdpbnNMb2FkaW5nJCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICAvKipcbiAgICogRW1pdHMgYHRydWVgIHdoZW4gdGhlIHVzZXIgaXMgYXV0aGVudGljYXRlZC5cbiAgICogRW1pdHMgYGZhbHNlYCB3aGVuIHRoZSB1c2VyIGlzIG5vdCBhdXRoZW50aWNhdGVkLlxuICAgKlxuICAgKiBAdHlwZSB7T2JzZXJ2YWJsZTxib29sZWFuPn1cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpc0F1dGhlbnRpY2F0ZWQkID0gdGhpcy5pc0luaXRpYWxpemVkJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmF1dGhQbHVnaW5NYW5hZ2VyLnBsdWdpbnNSZWFkeSQpLFxuICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLm9uQXV0aFN0YXRlQ2hhbmdlJCksXG4gICAgbWFwKCgpID0+IHRoaXMuaXNBdXRoZW50aWNhdGVkKCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgKTtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIGlkZW50aXR5IGNsYWltcyBvZiB0aGUgYXV0aGVudGljYXRlZCB1c2VyLlxuICAgKiBJZiB0aGUgdXNlciBpcyBub3QgYXV0aGVudGljYXRlZCwgZW1pdHMgYG51bGxgLlxuICAgKlxuICAgKiBAdHlwZSB7T2JzZXJ2YWJsZTxPZHhBdXRoLklkZW50aXR5Q2xhaW1zIHwgbnVsbD59XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaWRlbnRpdHlDbGFpbXMkID0gdGhpcy5pc0F1dGhlbnRpY2F0ZWQkLnBpcGUoXG4gICAgbWFwKCgpID0+IHRoaXMuZ2V0SWRlbnRpdHlDbGFpbXMoKSksXG4gICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgKTtcblxuICAvKipcbiAgICogRW1pdHMgT0F1dGggZXJyb3IgZXZlbnRzLlxuICAgKlxuICAgKiBAdHlwZSB7T2JzZXJ2YWJsZTxPQXV0aEVycm9yRXZlbnQ+fVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGVycm9ycyQgPSB0aGlzLm9hdXRoU2VydmljZS5ldmVudHMucGlwZShcbiAgICBmaWx0ZXIoKGV2ZW50KTogZXZlbnQgaXMgT0F1dGhFcnJvckV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgT0F1dGhFcnJvckV2ZW50KSxcbiAgICBzaGFyZSgpLFxuICApO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBldmVudHMgd2hlbiBhbiBPQXV0aCB0b2tlbiBpcyBzdWNjZXNzZnVsbHkgcmVjZWl2ZWQuXG4gICAqXG4gICAqIEB0eXBlIHtPYnNlcnZhYmxlPEV2ZW50Pn1cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvblRva2VuUmVjZWl2ZWQkID0gdGhpcy5vYXV0aFNlcnZpY2UuZXZlbnRzLnBpcGUoXG4gICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQudHlwZSA9PT0gJ3Rva2VuX3JlY2VpdmVkJyksXG4gICAgc2hhcmUoKSxcbiAgKTtcblxuICAvKipcbiAgICogRW1pdHMgd2hlbmV2ZXIgdGhlIGBhY2Nlc3NfdG9rZW5gIGluIGxvY2FsIHN0b3JhZ2UgaXMgdXBkYXRlZCBvciBjbGVhcmVkLlxuICAgKiBQcm92aWRlcyBhbiBvYnNlcnZhYmxlIGZvciB0cmFja2luZyB0b2tlbiB1cGRhdGVzLlxuICAgKlxuICAgKiBAdHlwZSB7T2JzZXJ2YWJsZTxTdG9yYWdlRXZlbnQgfCBudWxsPn1cbiAgICovXG4gIHB1YmxpYyBnZXQgYWNjZXNzVG9rZW5VcGRhdGUkKCk6IE9ic2VydmFibGU8U3RvcmFnZUV2ZW50IHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLm9uQWNjZXNzVG9rZW5VcGRhdGUkO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5ydW5QbHVnaW5zKCk7XG4gICAgdGhpcy5zaWxlbnRSZWZyZXNoSGFuZGxlciQuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGF1dGhlbnRpY2F0aW9uIHNlcnZpY2Ugd2l0aCB0aGUgcHJvdmlkZWQgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtBdXRoQ29uZmlnfSBjb25maWcgLSBUaGUgYXV0aGVudGljYXRpb24gY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBSZXNvbHZlcyB3aGVuIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGluaXRpYWxpemUoY29uZmlnOiBBdXRoQ29uZmlnKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5hc3NlcnRBdWRpZW5jZShjb25maWcuY2xpZW50SWQpO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmNvbmZpZ3VyZSh7IC4uLmNvbmZpZywgb3BlblVyaTogdGhpcy5yZWRpcmVjdFRvTG9naW4uYmluZCh0aGlzKSB9KTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5vYXV0aFNlcnZpY2UubG9hZERpc2NvdmVyeURvY3VtZW50KHRoaXMuYXV0aENvbmZpZy5kaXNjb3ZlcnlVcmwpO1xuICAgICAgYXdhaXQgdGhpcy5vYXV0aFNlcnZpY2UudHJ5TG9naW4oKTtcbiAgICAgIGlmICh0aGlzLmF1dGhDb25maWcucmVmcmVzaFRva2VuT25Jbml0KSB7XG4gICAgICAgIGF3YWl0IHRoaXMudHJ5UmVmcmVzaFRva2VuKCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmICghKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgfHwgZXJyb3IgaW5zdGFuY2VvZiBPQXV0aEVycm9yRXZlbnQpKSB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfVxuICAgICAgaWYgKGVycm9yLnR5cGUgPT09ICd0b2tlbl9yZWZyZXNoX2Vycm9yJyB8fCAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSAmJiAoZXJyb3Iuc3RhdHVzID09PSA0MDEgfHwgZXJyb3Iuc3RhdHVzID09PSA0MDApKSkge1xuICAgICAgICB0aGlzLnNpZ25PdXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuc2lnbkluKHRoaXMud2luZG93UmVmLmxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5pc0luaXRpYWxpemVkJCQubmV4dCh0cnVlKTtcbiAgICBpZiAodGhpcy5hdXRoQ29uZmlnLnJlcXVpcmVTaWduSW4gJiYgIXRoaXMuaXNBdXRoZW50aWNhdGVkKCkpIHtcbiAgICAgIHRoaXMuc2lnbkluKHRoaXMud2luZG93UmVmLmxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy50cnlMb2FkVXNlclByb2ZpbGUoKTtcbiAgICBhd2FpdCB0aGlzLnJvdXRlVG9SZXF1ZXN0ZWRVcmwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGFsbCBhdXRoZW50aWNhdGlvbiBwbHVnaW5zIHJlZ2lzdGVyZWQgaW4gdGhlIGBBdXRoUGx1Z2luTWFuYWdlcmAuXG4gICAqL1xuICBwdWJsaWMgcnVuUGx1Z2lucygpOiB2b2lkIHtcbiAgICB0aGlzLmF1dGhQbHVnaW5NYW5hZ2VyLnJ1blBsdWdpbnModGhpcykuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgaXNzdWVyIFVSTCBmb3IgdGhlIE9BdXRoIHNlcnZlci5cbiAgICpcbiAgICogQHJldHVybnMge1VSTH0gVGhlIGlzc3VlciBVUkwuXG4gICAqL1xuICBwdWJsaWMgZ2V0SXNzdWVyKCk6IFVSTCB7XG4gICAgcmV0dXJuIG5ldyBVUkwodGhpcy5vYXV0aFNlcnZpY2UuaXNzdWVyISk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhdGVzIHRoZSBsb2dpbiBmbG93IGZvciB0aGUgdXNlci4gUmVkaXJlY3RzIHRvIHRoZSBsb2dpbiBwYWdlLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3VybF0gLSBUaGUgVVJMIHRvIHJlZGlyZWN0IGJhY2sgdG8gYWZ0ZXIgbG9naW4uXG4gICAqL1xuICBwdWJsaWMgc2lnbkluKHVybD86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmluaXRMb2dpbkZsb3codXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dzIHRoZSB1c2VyIG91dCBhbmQgY2xlYXJzIHRoZWlyIHRva2Vucy5cbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSBbbm9SZWRpcmVjdF0gLSBJZiBgdHJ1ZWAsIG5vIHJlZGlyZWN0aW9uIG9jY3VycyBhZnRlciBsb2dvdXQuXG4gICAqL1xuICBwdWJsaWMgc2lnbk91dChub1JlZGlyZWN0PzogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvZ091dChub1JlZGlyZWN0IHx8ICF0aGlzLmdldEFjY2Vzc1Rva2VuKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGVtcHRzIHRvIHJlZnJlc2ggdGhlIHVzZXIncyB0b2tlbnMuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFRva2VuUmVzcG9uc2U+fSBSZXNvbHZlcyB3aXRoIHRoZSBuZXcgdG9rZW4gcmVzcG9uc2UuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcmVmcmVzaFRva2VucygpOiBQcm9taXNlPFRva2VuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5vYXV0aFNlcnZpY2UucmVmcmVzaFRva2VuKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IGFjY2VzcyB0b2tlbiwgaWYgYXZhaWxhYmxlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgbnVsbH0gVGhlIGFjY2VzcyB0b2tlbiwgb3IgYG51bGxgIGlmIG5vdCBhdmFpbGFibGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0QWNjZXNzVG9rZW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMub2F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCkgPz8gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgcmVmcmVzaCB0b2tlbiwgaWYgYXZhaWxhYmxlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgbnVsbH0gVGhlIHJlZnJlc2ggdG9rZW4sIG9yIGBudWxsYCBpZiBub3QgYXZhaWxhYmxlLlxuICAgKi9cbiAgcHVibGljIGdldFJlZnJlc2hUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5vYXV0aFNlcnZpY2UuZ2V0UmVmcmVzaFRva2VuKCkgPz8gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgSUQgdG9rZW4sIGlmIGF2YWlsYWJsZS5cbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZyB8IG51bGx9IFRoZSBJRCB0b2tlbiwgb3IgYG51bGxgIGlmIG5vdCBhdmFpbGFibGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0SWRUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5vYXV0aFNlcnZpY2UuZ2V0SWRUb2tlbigpID8/IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBpZGVudGl0eSBjbGFpbXMgb2YgdGhlIGF1dGhlbnRpY2F0ZWQgdXNlci5cbiAgICpcbiAgICogQHJldHVybnMge09keEF1dGguSWRlbnRpdHlDbGFpbXMgfCBudWxsfSBUaGUgaWRlbnRpdHkgY2xhaW1zLCBvciBgbnVsbGAgaWYgbm90IGF2YWlsYWJsZS5cbiAgICovXG4gIHB1YmxpYyBnZXRJZGVudGl0eUNsYWltcygpOiBPZHhBdXRoLklkZW50aXR5Q2xhaW1zIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmdldElkVG9rZW4oKSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIGRlZXBtZXJnZSh0aGlzLm9hdXRoU2VydmljZS5nZXRJZGVudGl0eUNsYWltcygpLCB0aGlzLmF1dGhQbHVnaW5NYW5hZ2VyLmdldFJlc3VsdCgpKSBhcyBPZHhBdXRoLklkZW50aXR5Q2xhaW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgcmF3IGlkZW50aXR5IGNsYWltcyBvZiB0aGUgYXV0aGVudGljYXRlZCB1c2VyLlxuICAgKlxuICAgKiBAcmV0dXJucyB7T2R4QXV0aC5SYXdJZGVudGl0eUNsYWltcyB8IG51bGx9IFRoZSByYXcgaWRlbnRpdHkgY2xhaW1zLCBvciBgbnVsbGAgaWYgbm90IGF2YWlsYWJsZS5cbiAgICovXG4gIHB1YmxpYyBnZXRSYXdJZGVudGl0eUNsYWltcygpOiBPZHhBdXRoLlJhd0lkZW50aXR5Q2xhaW1zIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmdldElkVG9rZW4oKSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHRoaXMub2F1dGhTZXJ2aWNlLmdldElkZW50aXR5Q2xhaW1zKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSB1c2VyIGlzIGN1cnJlbnRseSBhdXRoZW50aWNhdGVkLlxuICAgKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gYHRydWVgIGlmIGF1dGhlbnRpY2F0ZWQsIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgKi9cbiAgcHVibGljIGlzQXV0aGVudGljYXRlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy53aW5kb3dSZWYuaXNPbmxpbmUoKSkge1xuICAgICAgcmV0dXJuIHRoaXMub2F1dGhTZXJ2aWNlLmhhc1ZhbGlkQWNjZXNzVG9rZW4oKSAmJiB0aGlzLm9hdXRoU2VydmljZS5oYXNWYWxpZElkVG9rZW4oKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaGFzVmFsaWRPZmZsaW5lVG9rZW4oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIHVzZXIgaXMgYXV0aG9yaXplZCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgaGFuZGxlci5cbiAgICpcbiAgICogQHBhcmFtIHtBdXRob3JpemVkSGFuZGxlciB8IG51bGx9IFthdXRob3JpemVkSGFuZGxlcl0gLSBBIGhhbmRsZXIgdG8gZGV0ZXJtaW5lIGF1dGhvcml6YXRpb24uXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBgdHJ1ZWAgaWYgYXV0aG9yaXplZCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAqL1xuICBwdWJsaWMgaXNBdXRob3JpemVkKGF1dGhvcml6ZWRIYW5kbGVyPzogQXV0aG9yaXplZEhhbmRsZXIgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaGFuZGxlciA9IGF1dGhvcml6ZWRIYW5kbGVyID8/IHRoaXMuYXV0aENvbmZpZy5kZWZhdWx0QXV0aG9yaXplZEhhbmRsZXI7XG5cbiAgICByZXR1cm4gdGhpcy5pc0F1dGhlbnRpY2F0ZWQoKSAmJiAoaGFuZGxlcj8uKHRoaXMuZ2V0SWRlbnRpdHlDbGFpbXMoKSwgdGhpcywgdGhpcy5yb3V0ZXIpID8/IHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZXRoZXIgdGhlIHVzZXIgaXMgYXV0aG9yaXplZCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgaGFuZGxlci5cbiAgICpcbiAgICogQHBhcmFtIHtBdXRob3JpemVkSGFuZGxlciB8IG51bGx9IFthdXRob3JpemVkSGFuZGxlcl0gLSBBIGhhbmRsZXIgdG8gZGV0ZXJtaW5lIGF1dGhvcml6YXRpb24uXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPGJvb2xlYW4+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSBhdXRob3JpemF0aW9uIHN0YXR1cy5cbiAgICovXG4gIHB1YmxpYyBpc0F1dGhvcml6ZWQkKGF1dGhvcml6ZWRIYW5kbGVyPzogQXV0aG9yaXplZEhhbmRsZXIgfCBudWxsKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBdXRoZW50aWNhdGVkJC5waXBlKG1hcCgoKSA9PiB0aGlzLmlzQXV0aG9yaXplZChhdXRob3JpemVkSGFuZGxlcikpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmVwYXJlcyBhbiBIVFRQIHJlcXVlc3QgYnkgYWRkaW5nIHRoZSBhY2Nlc3MgdG9rZW4gdG8gaXRzIGhlYWRlcnMuXG4gICAqXG4gICAqIEBwYXJhbSB7SHR0cFJlcXVlc3Q8VD4gfCBSZXF1ZXN0fSByZXEgLSBUaGUgSFRUUCByZXF1ZXN0IHRvIHByZXBhcmUuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gcmVxdWlyZVNpZ25JbiAtIFdoZXRoZXIgdG8gcmVxdWlyZSB0aGUgdXNlciB0byBzaWduIGluIGlmIG5vIHRva2VuIGlzIGF2YWlsYWJsZS5cbiAgICogQHJldHVybnMge09ic2VydmFibGU8Uj59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHByZXBhcmVkIHJlcXVlc3QuXG4gICAqIEB0ZW1wbGF0ZSBSLCBUXG4gICAqL1xuICBwdWJsaWMgcHJlcGFyZUF1dGhSZXF1ZXN0JDxSIGV4dGVuZHMgSHR0cFJlcXVlc3Q8VD4gfCBSZXF1ZXN0LCBUPihyZXE6IFIsIHJlcXVpcmVTaWduSW4gPSBmYWxzZSk6IE9ic2VydmFibGU8Uj4ge1xuICAgIHJldHVybiB0aGlzLndhaXRGb3JBY2Nlc3NUb2tlbiQocmVxdWlyZVNpZ25JbikucGlwZShtYXAoKHRva2VuKSA9PiBzZXRIdHRwQXV0aEhlYWRlcihyZXEsIHRva2VuKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdhaXRzIGZvciBhIHZhbGlkIGFjY2VzcyB0b2tlbiB0byBiZWNvbWUgYXZhaWxhYmxlLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHJlcXVpcmVTaWduSW4gLSBXaGV0aGVyIHRvIHJlcXVpcmUgdGhlIHVzZXIgdG8gc2lnbiBpbiBpZiBubyB0b2tlbiBpcyBhdmFpbGFibGUuXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSBhY2Nlc3MgdG9rZW4uXG4gICAqL1xuICBwdWJsaWMgd2FpdEZvckFjY2Vzc1Rva2VuJChyZXF1aXJlU2lnbkluOiBib29sZWFuKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgY29uc3QgYWNjZXNzVG9rZW4kID0gb2YodGhpcy5nZXRBY2Nlc3NUb2tlbigpKS5waXBlKGZpbHRlcigodG9rZW4pID0+ICEhdG9rZW4gJiYgdGhpcy5pc0F1dGhlbnRpY2F0ZWQoKSkpO1xuICAgIGNvbnN0IHdhaXRGb3JBY2Nlc3NUb2tlbiQgPSB0aGlzLm9uVG9rZW5SZWNlaXZlZCQucGlwZShcbiAgICAgIHRpbWVvdXQodGhpcy5hdXRoQ29uZmlnLndhaXRGb3JUb2tlbkluTXMgPz8gMCksXG4gICAgICBjYXRjaEVycm9yKGFzeW5jICgpID0+IHRoaXMudHJ5UmVmcmVzaFRva2VuKCkuY2F0Y2goKCkgPT4gbnVsbCkpLFxuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5pc0luaXRpYWxpemVkJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IG1lcmdlKGFjY2Vzc1Rva2VuJCwgd2FpdEZvckFjY2Vzc1Rva2VuJCkpLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmdldEFjY2Vzc1Rva2VuKCkpLFxuICAgICAgdGFwKCh0b2tlbikgPT4gIXRva2VuICYmIHJlcXVpcmVTaWduSW4gJiYgdGhpcy5zaWduSW4odGhpcy53aW5kb3dSZWYubG9jYXRpb24ucGF0aG5hbWUpKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByb3V0ZVRvUmVxdWVzdGVkVXJsKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5vYXV0aFNlcnZpY2Uuc3RhdGUgfHwgIXRoaXMub2F1dGhTZXJ2aWNlLmhhc1ZhbGlkQWNjZXNzVG9rZW4oKSkgcmV0dXJuO1xuICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoZGVjb2RlVVJJQ29tcG9uZW50KHRoaXMub2F1dGhTZXJ2aWNlLnN0YXRlKSk7XG4gIH1cblxuICBwcml2YXRlIGhhc1ZhbGlkT2ZmbGluZVRva2VuKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlzc3VlZEF0ID0gdGhpcy5nZXRJZGVudGl0eUNsYWltcygpPy5pYXQgPz8gMDtcblxuICAgIHJldHVybiBEYXRlLm5vdygpIC0gaXNzdWVkQXQgKiAxMDAwIDw9IHRoaXMuYXV0aENvbmZpZy5tYXhPZmZsaW5lVGltZSAqIDEwMDA7XG4gIH1cblxuICBwcml2YXRlIHJlZGlyZWN0VG9Mb2dpbih1cmk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMud2luZG93UmVmLmxvY2F0aW9uLmFzc2lnbih1cmkpO1xuICAgIHRoaXMuaXNSZWRpcmVjdGluZyQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHRyeUxvYWRVc2VyUHJvZmlsZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuYXV0aENvbmZpZy5sb2FkVXNlclByb2ZpbGUgfHwgIXRoaXMuaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybjtcbiAgICBhd2FpdCB0aGlzLm9hdXRoU2VydmljZS5sb2FkVXNlclByb2ZpbGUoKS5jYXRjaCgoKSA9PiBudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdHJ5UmVmcmVzaFRva2VuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5nZXRSZWZyZXNoVG9rZW4oKSkgcmV0dXJuO1xuICAgIGF3YWl0IHRoaXMub2F1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3NlcnRBdWRpZW5jZShjbGllbnRJZD86IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCB0b2tlbkNsaWVudElkID0gdGhpcy5nZXRJZGVudGl0eUNsYWltcygpPy5hdWQ7XG4gICAgaWYgKCFjbGllbnRJZCB8fCAhdG9rZW5DbGllbnRJZCB8fCBjbGllbnRJZCA9PT0gdG9rZW5DbGllbnRJZCkgcmV0dXJuO1xuICAgIHRoaXMuc2lnbk91dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2lsZW50UmVmcmVzaChlbmFibGVkOiBib29sZWFuKSB7XG4gICAgaWYgKGVuYWJsZWQpIHtcbiAgICAgIHRoaXMub2F1dGhTZXJ2aWNlLnNldHVwQXV0b21hdGljU2lsZW50UmVmcmVzaCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9hdXRoU2VydmljZS5zdG9wQXV0b21hdGljUmVmcmVzaCgpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -5,6 +5,7 @@ import { ListModule } from '@odx/angular/components/list';
5
5
  import { CSSComponent } from '@odx/angular/internal';
6
6
  import { TranslatePipe } from '@odx/angular/internal/translate';
7
7
  import { injectElement } from '@odx/angular/utils';
8
+ import { SignOutDirective } from '../../directives';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@angular/common";
10
11
  import * as i2 from "@odx/angular/components/list";
@@ -24,7 +25,7 @@ let AuthActionsComponent = class AuthActionsComponent {
24
25
  this.claims = null;
25
26
  }
26
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AuthActionsComponent, isStandalone: true, selector: "odx-auth-actions", inputs: { claims: "claims" }, ngImport: i0, template: "<odx-list>\n @if (claims?.userProfileUrl; as url) {\n <a data-testid=\"odx-auth-user-profile-link\" odxListItem [href]=\"url\" rel=\"noopener\" target=\"_blank\">\n <odx-icon name=\"user-administration\" iconSet=\"core\" odxListItemPrefix />\n {{ 'userProfileLink' | odxTranslate | async }}\n <odx-icon name=\"link-external\" iconSet=\"core\" size=\"small\" odxListItemSuffix />\n </a>\n }\n</odx-list>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ListModule }, { kind: "component", type: i2.ListComponent, selector: "odx-list" }, { kind: "component", type: i2.ListItemComponent, selector: "odx-list-item, [odxListItem]", inputs: ["danger", "variant", "muted", "selected"] }, { kind: "component", type: i3.IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }, { kind: "pipe", type: TranslatePipe, name: "odxTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AuthActionsComponent, isStandalone: true, selector: "odx-auth-actions", inputs: { claims: "claims" }, ngImport: i0, template: "<odx-list>\n @if (claims?.userProfileUrl; as url) {\n <a odxListItem data-testid=\"odx-auth-user-profile-link\" [href]=\"url\" rel=\"noopener\" target=\"_blank\">\n <odx-icon name=\"user-administration\" iconSet=\"core\" odxListItemPrefix />\n {{ 'userProfileLink' | odxTranslate | async }}\n </a>\n }\n <button odxListItem odxAuthSignOut data-testid=\"odx-auth-sign-out-button\" style=\"width: 100%\">\n <odx-icon name=\"logout\" iconSet=\"core\" odxListItemPrefix />\n {{ 'signOutButtonText' | odxTranslate | async }}\n </button>\n</odx-list>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ListModule }, { kind: "component", type: i2.ListComponent, selector: "odx-list" }, { kind: "component", type: i2.ListItemComponent, selector: "odx-list-item, [odxListItem]", inputs: ["danger", "variant", "muted", "selected"] }, { kind: "component", type: i3.IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }, { kind: "pipe", type: TranslatePipe, name: "odxTranslate" }, { kind: "directive", type: SignOutDirective, selector: "[odxAuthSignOut]", outputs: ["odxAuthSignOut"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
28
29
  };
29
30
  AuthActionsComponent = __decorate([
30
31
  CSSComponent('auth-actions')
@@ -32,8 +33,8 @@ AuthActionsComponent = __decorate([
32
33
  export { AuthActionsComponent };
33
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthActionsComponent, decorators: [{
34
35
  type: Component,
35
- args: [{ standalone: true, selector: 'odx-auth-actions', imports: [CoreModule, ListModule, TranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<odx-list>\n @if (claims?.userProfileUrl; as url) {\n <a data-testid=\"odx-auth-user-profile-link\" odxListItem [href]=\"url\" rel=\"noopener\" target=\"_blank\">\n <odx-icon name=\"user-administration\" iconSet=\"core\" odxListItemPrefix />\n {{ 'userProfileLink' | odxTranslate | async }}\n <odx-icon name=\"link-external\" iconSet=\"core\" size=\"small\" odxListItemSuffix />\n </a>\n }\n</odx-list>\n" }]
36
+ args: [{ standalone: true, selector: 'odx-auth-actions', imports: [CoreModule, ListModule, TranslatePipe, SignOutDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<odx-list>\n @if (claims?.userProfileUrl; as url) {\n <a odxListItem data-testid=\"odx-auth-user-profile-link\" [href]=\"url\" rel=\"noopener\" target=\"_blank\">\n <odx-icon name=\"user-administration\" iconSet=\"core\" odxListItemPrefix />\n {{ 'userProfileLink' | odxTranslate | async }}\n </a>\n }\n <button odxListItem odxAuthSignOut data-testid=\"odx-auth-sign-out-button\" style=\"width: 100%\">\n <odx-icon name=\"logout\" iconSet=\"core\" odxListItemPrefix />\n {{ 'signOutButtonText' | odxTranslate | async }}\n </button>\n</odx-list>\n" }]
36
37
  }], propDecorators: { claims: [{
37
38
  type: Input
38
39
  }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvYXV0aC1hY3Rpb25zL2F1dGgtYWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9jb21wb25lbnRzL2F1dGgtYWN0aW9ucy9hdXRoLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQUVuRDs7R0FFRztBQVVJLElBQU0sb0JBQW9CLEdBQTFCLE1BQU0sb0JBQW9CO0lBQTFCO1FBQ1csWUFBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBRTFDOzs7OztXQUtHO1FBRUksV0FBTSxHQUFrQyxJQUFJLENBQUM7S0FDckQ7K0dBWFksb0JBQW9CO21HQUFwQixvQkFBb0IsMEdDbkJqQyw2YUFTQSwyQ0RLWSxVQUFVLG1GQUFFLFVBQVUsa1hBQUUsYUFBYTs7QUFLcEMsb0JBQW9CO0lBVGhDLFlBQVksQ0FBQyxjQUFjLENBQUM7R0FTaEIsb0JBQW9CLENBV2hDOzs0RkFYWSxvQkFBb0I7a0JBUmhDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGtCQUFrQixXQUNuQixDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLG1CQUUvQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzhCQVk5QixNQUFNO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgTGlzdE1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2xpc3QnO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwvdHJhbnNsYXRlJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuXG4vKipcbiAqIERpc3BsYXlzIGF1dGhlbnRpY2F0aW9uIGFjdGlvbnMuXG4gKi9cbkBDU1NDb21wb25lbnQoJ2F1dGgtYWN0aW9ucycpXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvZHgtYXV0aC1hY3Rpb25zJyxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIExpc3RNb2R1bGUsIFRyYW5zbGF0ZVBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0aC1hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhBY3Rpb25zQ29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBpZGVudGl0eSBjbGFpbXMuXG4gICAqXG4gICAqIEB0eXBlIHtPZHhBdXRoLklkZW50aXR5Q2xhaW1zIHwgbnVsbH1cbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGNsYWltczogT2R4QXV0aC5JZGVudGl0eUNsYWltcyB8IG51bGwgPSBudWxsO1xufVxuIiwiPG9keC1saXN0PlxuICBAaWYgKGNsYWltcz8udXNlclByb2ZpbGVVcmw7IGFzIHVybCkge1xuICAgIDxhIGRhdGEtdGVzdGlkPVwib2R4LWF1dGgtdXNlci1wcm9maWxlLWxpbmtcIiBvZHhMaXN0SXRlbSBbaHJlZl09XCJ1cmxcIiByZWw9XCJub29wZW5lclwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgPG9keC1pY29uIG5hbWU9XCJ1c2VyLWFkbWluaXN0cmF0aW9uXCIgaWNvblNldD1cImNvcmVcIiBvZHhMaXN0SXRlbVByZWZpeCAvPlxuICAgICAge3sgJ3VzZXJQcm9maWxlTGluaycgfCBvZHhUcmFuc2xhdGUgfCBhc3luYyB9fVxuICAgICAgPG9keC1pY29uIG5hbWU9XCJsaW5rLWV4dGVybmFsXCIgaWNvblNldD1cImNvcmVcIiBzaXplPVwic21hbGxcIiBvZHhMaXN0SXRlbVN1ZmZpeCAvPlxuICAgIDwvYT5cbiAgfVxuPC9vZHgtbGlzdD5cbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvYXV0aC1hY3Rpb25zL2F1dGgtYWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9jb21wb25lbnRzL2F1dGgtYWN0aW9ucy9hdXRoLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQUVwRDs7R0FFRztBQVVJLElBQU0sb0JBQW9CLEdBQTFCLE1BQU0sb0JBQW9CO0lBQTFCO1FBQ1csWUFBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBRTFDOzs7OztXQUtHO1FBRUksV0FBTSxHQUFrQyxJQUFJLENBQUM7S0FDckQ7K0dBWFksb0JBQW9CO21HQUFwQixvQkFBb0IsMEdDcEJqQyw4akJBWUEsMkNER1ksVUFBVSxtRkFBRSxVQUFVLGtYQUFFLGFBQWEscURBQUUsZ0JBQWdCOztBQUt0RCxvQkFBb0I7SUFUaEMsWUFBWSxDQUFDLGNBQWMsQ0FBQztHQVNoQixvQkFBb0IsQ0FXaEM7OzRGQVhZLG9CQUFvQjtrQkFSaEMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sa0JBQWtCLFdBQ25CLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsbUJBRWpELHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OEJBWTlCLE1BQU07c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBMaXN0TW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvbGlzdCc7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbC90cmFuc2xhdGUnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBTaWduT3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5cbi8qKlxuICogRGlzcGxheXMgYXV0aGVudGljYXRpb24gYWN0aW9ucy5cbiAqL1xuQENTU0NvbXBvbmVudCgnYXV0aC1hY3Rpb25zJylcbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ29keC1hdXRoLWFjdGlvbnMnLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgTGlzdE1vZHVsZSwgVHJhbnNsYXRlUGlwZSwgU2lnbk91dERpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRoLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aEFjdGlvbnNDb21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICAvKipcbiAgICogVGhlIGlkZW50aXR5IGNsYWltcy5cbiAgICpcbiAgICogQHR5cGUge09keEF1dGguSWRlbnRpdHlDbGFpbXMgfCBudWxsfVxuICAgKiBAZGVmYXVsdCBudWxsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgY2xhaW1zOiBPZHhBdXRoLklkZW50aXR5Q2xhaW1zIHwgbnVsbCA9IG51bGw7XG59XG4iLCI8b2R4LWxpc3Q+XG4gIEBpZiAoY2xhaW1zPy51c2VyUHJvZmlsZVVybDsgYXMgdXJsKSB7XG4gICAgPGEgb2R4TGlzdEl0ZW0gZGF0YS10ZXN0aWQ9XCJvZHgtYXV0aC11c2VyLXByb2ZpbGUtbGlua1wiIFtocmVmXT1cInVybFwiIHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICA8b2R4LWljb24gbmFtZT1cInVzZXItYWRtaW5pc3RyYXRpb25cIiBpY29uU2V0PVwiY29yZVwiIG9keExpc3RJdGVtUHJlZml4IC8+XG4gICAgICB7eyAndXNlclByb2ZpbGVMaW5rJyB8IG9keFRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgPC9hPlxuICB9XG4gIDxidXR0b24gb2R4TGlzdEl0ZW0gb2R4QXV0aFNpZ25PdXQgZGF0YS10ZXN0aWQ9XCJvZHgtYXV0aC1zaWduLW91dC1idXR0b25cIiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XG4gICAgPG9keC1pY29uIG5hbWU9XCJsb2dvdXRcIiBpY29uU2V0PVwiY29yZVwiIG9keExpc3RJdGVtUHJlZml4IC8+XG4gICAge3sgJ3NpZ25PdXRCdXR0b25UZXh0JyB8IG9keFRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gIDwvYnV0dG9uPlxuPC9vZHgtbGlzdD5cbiJdfQ==
@@ -23,9 +23,7 @@ export class SignOutDirective extends AuthActionDirective {
23
23
  /**
24
24
  * Emits an event after the sign-out action is completed.
25
25
  *
26
- * @type {EventEmitter<void>}
27
26
  */
28
- // eslint-disable-next-line @angular-eslint/no-output-rename
29
27
  this.afterSignOut = new EventEmitter();
30
28
  }
31
29
  handleClick() {
@@ -33,13 +31,13 @@ export class SignOutDirective extends AuthActionDirective {
33
31
  this.afterSignOut.next();
34
32
  }
35
33
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignOutDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
36
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SignOutDirective, isStandalone: true, selector: "[odxButton][odxAuthSignOut]", outputs: { afterSignOut: "odxAuthSignOut" }, host: { listeners: { "click": "handleClick()" } }, usesInheritance: true, hostDirectives: [{ directive: i1.LoadingSpinnerDirective }], ngImport: i0 }); }
34
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SignOutDirective, isStandalone: true, selector: "[odxAuthSignOut]", outputs: { afterSignOut: "odxAuthSignOut" }, host: { listeners: { "click": "handleClick()" } }, usesInheritance: true, hostDirectives: [{ directive: i1.LoadingSpinnerDirective }], ngImport: i0 }); }
37
35
  }
38
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignOutDirective, decorators: [{
39
37
  type: Directive,
40
38
  args: [{
41
39
  standalone: true,
42
- selector: '[odxButton][odxAuthSignOut]',
40
+ selector: '[odxAuthSignOut]',
43
41
  hostDirectives: [LoadingSpinnerDirective],
44
42
  }]
45
43
  }], propDecorators: { afterSignOut: [{
@@ -49,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
49
47
  type: HostListener,
50
48
  args: ['click']
51
49
  }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1vdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hdXRoL3NyYy9saWIvZGlyZWN0aXZlcy9zaWduLW91dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBRTlEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFNSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsbUJBQW1CO0lBTHpEOztRQU1FOzs7O1dBSUc7UUFDSCw0REFBNEQ7UUFFckQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBT2hEO0lBSm9CLFdBQVc7UUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7K0dBZFUsZ0JBQWdCO21HQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBTDVCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLGNBQWMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUMxQzs4QkFTUSxZQUFZO3NCQURsQixNQUFNO3VCQUFDLGdCQUFnQjtnQkFJTCxXQUFXO3NCQUQ3QixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvYWRpbmdTcGlubmVyRGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyJztcbmltcG9ydCB7IEF1dGhBY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuL2F1dGgtYWN0aW9uLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgdGhhdCBoYW5kbGVzIHRoZSBzaWduLW91dCBhY3Rpb24gZm9yIGEgYnV0dG9uIGVsZW1lbnQuXG4gKlxuICogVGhpcyBkaXJlY3RpdmUgZXh0ZW5kcyB0aGUgYEF1dGhBY3Rpb25EaXJlY3RpdmVgIGFuZCB1c2VzIHRoZSBgTG9hZGluZ1NwaW5uZXJEaXJlY3RpdmVgXG4gKiB0byBzaG93IGEgbG9hZGluZyBzcGlubmVyIGR1cmluZyB0aGUgc2lnbi1vdXQgcHJvY2Vzcy5cbiAqXG4gKiBAc2VlIHtBdXRoQWN0aW9uRGlyZWN0aXZlfVxuICogQHNlZSB7TG9hZGluZ1NwaW5uZXJEaXJlY3RpdmV9XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxidXR0b24gb2R4QnV0dG9uIG9keEF1dGhTaWduT3V0IChvZHhBdXRoU2lnbk91dCk9XCJvblNpZ25PdXQoKVwiPlNpZ24gT3V0PC9idXR0b24+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW29keEJ1dHRvbl1bb2R4QXV0aFNpZ25PdXRdJyxcbiAgaG9zdERpcmVjdGl2ZXM6IFtMb2FkaW5nU3Bpbm5lckRpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNpZ25PdXREaXJlY3RpdmUgZXh0ZW5kcyBBdXRoQWN0aW9uRGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIEVtaXRzIGFuIGV2ZW50IGFmdGVyIHRoZSBzaWduLW91dCBhY3Rpb24gaXMgY29tcGxldGVkLlxuICAgKlxuICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPHZvaWQ+fVxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtcmVuYW1lXG4gIEBPdXRwdXQoJ29keEF1dGhTaWduT3V0JylcbiAgcHVibGljIGFmdGVyU2lnbk91dCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIHByb3RlY3RlZCBvdmVycmlkZSBoYW5kbGVDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLnNpZ25PdXQoKTtcbiAgICB0aGlzLmFmdGVyU2lnbk91dC5uZXh0KCk7XG4gIH1cbn1cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1vdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hdXRoL3NyYy9saWIvZGlyZWN0aXZlcy9zaWduLW91dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBRTlEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFNSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsbUJBQW1CO0lBTHpEOztRQU1FOzs7V0FHRztRQUVJLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQU9oRDtJQUpvQixXQUFXO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDOytHQVpVLGdCQUFnQjttR0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUw1QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixjQUFjLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDMUM7OEJBT1EsWUFBWTtzQkFEbEIsTUFBTTt1QkFBQyxnQkFBZ0I7Z0JBSUwsV0FBVztzQkFEN0IsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2FkaW5nU3Bpbm5lckRpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lcic7XG5pbXBvcnQgeyBBdXRoQWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9hdXRoLWFjdGlvbi5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEEgZGlyZWN0aXZlIHRoYXQgaGFuZGxlcyB0aGUgc2lnbi1vdXQgYWN0aW9uIGZvciBhIGJ1dHRvbiBlbGVtZW50LlxuICpcbiAqIFRoaXMgZGlyZWN0aXZlIGV4dGVuZHMgdGhlIGBBdXRoQWN0aW9uRGlyZWN0aXZlYCBhbmQgdXNlcyB0aGUgYExvYWRpbmdTcGlubmVyRGlyZWN0aXZlYFxuICogdG8gc2hvdyBhIGxvYWRpbmcgc3Bpbm5lciBkdXJpbmcgdGhlIHNpZ24tb3V0IHByb2Nlc3MuXG4gKlxuICogQHNlZSB7QXV0aEFjdGlvbkRpcmVjdGl2ZX1cbiAqIEBzZWUge0xvYWRpbmdTcGlubmVyRGlyZWN0aXZlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8YnV0dG9uIG9keEJ1dHRvbiBvZHhBdXRoU2lnbk91dCAob2R4QXV0aFNpZ25PdXQpPVwib25TaWduT3V0KClcIj5TaWduIE91dDwvYnV0dG9uPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tvZHhBdXRoU2lnbk91dF0nLFxuICBob3N0RGlyZWN0aXZlczogW0xvYWRpbmdTcGlubmVyRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2lnbk91dERpcmVjdGl2ZSBleHRlbmRzIEF1dGhBY3Rpb25EaXJlY3RpdmUge1xuICAvKipcbiAgICogRW1pdHMgYW4gZXZlbnQgYWZ0ZXIgdGhlIHNpZ24tb3V0IGFjdGlvbiBpcyBjb21wbGV0ZWQuXG4gICAqXG4gICAqL1xuICBAT3V0cHV0KCdvZHhBdXRoU2lnbk91dCcpXG4gIHB1YmxpYyBhZnRlclNpZ25PdXQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaGFuZGxlQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5hdXRoU2VydmljZS5zaWduT3V0KCk7XG4gICAgdGhpcy5hZnRlclNpZ25PdXQubmV4dCgpO1xuICB9XG59XG4iXX0=