@onemrvapublic/design-system 18.2.5-develop.2 → 18.2.5-develop.4
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/esm2022/flag-icon/src/flag-icon.component.mjs +1 -1
- package/esm2022/layout/src/components/index.mjs +1 -1
- package/esm2022/layout/src/components/layout/layout.component.mjs +1 -1
- package/esm2022/layout/src/components/layout-drawer-title/layout-drawer-title.component.mjs +1 -1
- package/esm2022/layout/src/components/layout-footer/layout-footer.component.mjs +2 -3
- package/esm2022/layout/src/components/layout-sidenav/layout-sidenav.component.mjs +1 -1
- package/esm2022/layout/src/models/onemrva-profile.model.mjs +1 -1
- package/esm2022/layout/src/services/drawer.service.mjs +2 -2
- package/esm2022/mat-avatar/src/onemrva-mat-avatar.component.mjs +1 -1
- package/esm2022/mat-badge/src/onemrva-mat-badge.component.mjs +1 -2
- package/esm2022/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.mjs +1 -1
- package/esm2022/mat-carousel/src/onemrva-mat-carousel.component.mjs +5 -8
- package/esm2022/mat-copy-to-clipboard/src/components/copy-to-clipboard.component.mjs +1 -1
- package/esm2022/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.mjs +1 -1
- package/esm2022/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.mjs +1 -1
- package/esm2022/mat-file-upload/src/directives/dnd.directive.mjs +1 -1
- package/esm2022/mat-file-upload/src/models/progress-file.model.mjs +1 -1
- package/esm2022/mat-input-bank-account/src/bank-account.component.mjs +11 -4
- package/esm2022/mat-input-bank-account/src/onemrva-mat-input-bank-account.component.mjs +3 -3
- package/esm2022/mat-input-birthplace/src/onemrva-mat-input-birthplace.component.mjs +1 -1
- package/esm2022/mat-input-country/src/onemrva-mat-input-country.component.mjs +1 -1
- package/esm2022/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.mjs +1 -1
- package/esm2022/mat-input-phone/src/onemrva-mat-input-phone.component.mjs +1 -1
- package/esm2022/mat-input-phone/src/phone-number.directive.mjs +2 -3
- package/esm2022/mat-message-box/src/onemrva-mat-message-box.component.mjs +1 -1
- package/esm2022/mat-multi-select/src/onemrva-mat-multi-select.component.mjs +15 -7
- package/esm2022/mat-notification/src/onemrva-mat-notification.component.mjs +1 -1
- package/esm2022/mat-paginator/src/onemrva-mat-paginator.component.mjs +4 -4
- package/esm2022/mat-panel/src/onemrva-mat-panel.component.mjs +6 -6
- package/esm2022/mat-pop-over/src/onemrva-mat-pop-over-content.component.mjs +1 -1
- package/esm2022/mat-pop-over/src/onemrva-mat-pop-over-trigger.component.mjs +1 -1
- package/esm2022/mat-pop-over/src/onemrva-mat-pop-over.component.mjs +3 -3
- package/esm2022/mat-progress-bar/src/onemrva-mat-progress-bar.component.mjs +3 -3
- package/esm2022/mat-select-search/src/mat-select-search.component.mjs +4 -3
- package/esm2022/mat-selectable-box/src/onemrva-mat-selectable-box.component.mjs +1 -1
- package/esm2022/mat-side-menu/src/onemrva-mat-side-menu.component.mjs +3 -3
- package/esm2022/mat-skeleton/src/onemrva-mat-skeleton-enums.mjs +1 -1
- package/esm2022/mat-skeleton/src/onemrva-mat-skeleton.component.mjs +14 -14
- package/esm2022/mat-spinner/src/onemrva-mat-loading.directive.mjs +1 -1
- package/esm2022/mat-stepper/src/onemrva-mat-stepper.component.mjs +7 -4
- package/esm2022/mat-sticker/src/onemrva-mat-sticker.component.mjs +5 -5
- package/esm2022/mat-table-of-content/src/onemrva-mat-table-of-content.component.mjs +3 -4
- package/esm2022/mat-table-of-content/src/onemrva-mat-table-of-content.directive.mjs +1 -1
- package/esm2022/mat-table-of-content/src/onemrva-mat-table-of-content.service.mjs +1 -1
- package/esm2022/mat-table-of-content/src/onemrva-mat-toc-anchor.model.mjs +1 -1
- package/esm2022/mat-task-list/src/onemrva-mat-task-list.component.mjs +1 -1
- package/esm2022/mat-task-list/src/onemrva-mat-task.component.mjs +2 -1
- package/esm2022/mat-timepicker/src/clock/clock.component.mjs +3 -3
- package/esm2022/mat-timepicker/src/interfaces-and-types.mjs +1 -1
- package/esm2022/mat-timepicker/src/onemrva-mat-timepicker.component.mjs +1 -1
- package/esm2022/mat-timepicker/src/timepicker-dialog/timepicker-dialog.component.mjs +3 -3
- package/esm2022/mat-timepicker/src/timepicker-toggle/timepicker-toggle.component.mjs +1 -1
- package/esm2022/mat-timepicker/src/timepicker.directive.mjs +3 -24
- package/esm2022/mat-tooltip/src/onemrva-mat-tooltip.directive.mjs +1 -1
- package/esm2022/page-not-found/src/page-not-found-invader.component.mjs +5 -4
- package/esm2022/shared/src/lib/adapters/date.adapter.mjs +1 -1
- package/esm2022/shared/src/lib/containers/WebComponentOverlayContainer.mjs +4 -4
- package/esm2022/shared/src/lib/directives/clipboard.directive.mjs +1 -1
- package/esm2022/shared/src/lib/directives/color.directive.mjs +2 -2
- package/esm2022/shared/src/lib/directives/digit-only.directive.mjs +2 -3
- package/esm2022/shared/src/lib/directives/mask.directive.mjs +1 -1
- package/esm2022/shared/src/lib/directives/mat-row-clickable.directive.mjs +2 -2
- package/esm2022/shared/src/lib/loaders/onemrva-translate-cdn-loader.mjs +1 -1
- package/esm2022/shared/src/lib/loaders/onemrva-translate-http-loader.mjs +1 -1
- package/esm2022/shared/src/lib/services/cache.service.mjs +2 -3
- package/esm2022/shared/src/lib/services/cdn.service.mjs +1 -1
- package/esm2022/shared/src/lib/services/country-lookup.service.mjs +1 -1
- package/esm2022/shared/src/lib/shared.datepicker.module.mjs +1 -1
- package/esm2022/shared/src/lib/validators/bank-account.validator.utils.mjs +1 -1
- package/esm2022/utils/src/enum.utils.mjs +1 -1
- package/fesm2022/onemrvapublic-design-system-flag-icon.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-layout.mjs +2 -3
- package/fesm2022/onemrvapublic-design-system-layout.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-badge.mjs +0 -1
- package/fesm2022/onemrvapublic-design-system-mat-badge.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs +4 -7
- package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-bank-account.mjs +12 -5
- package/fesm2022/onemrvapublic-design-system-mat-input-bank-account.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs +1 -2
- package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs +14 -6
- package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-notification.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs +3 -3
- package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-panel.mjs +5 -5
- package/fesm2022/onemrvapublic-design-system-mat-panel.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs +2 -2
- package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs +2 -2
- package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs +3 -2
- package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs +2 -2
- package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs +13 -13
- package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs +6 -3
- package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs +4 -4
- package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs +2 -3
- package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs +1 -0
- package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs +6 -27
- package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-page-not-found.mjs +4 -3
- package/fesm2022/onemrvapublic-design-system-page-not-found.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-shared.mjs +7 -9
- package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-utils.mjs.map +1 -1
- package/layout/src/components/index.d.ts +10 -1
- package/layout/src/components/layout/_layout-mixin.component.scss +1 -4
- package/layout/src/components/layout-footer/layout-footer.component.d.ts +0 -1
- package/layout/src/services/drawer.service.d.ts +0 -1
- package/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.d.ts +1 -1
- package/mat-input-bank-account/src/onemrva-mat-input-bank-account.component.d.ts +0 -1
- package/mat-input-phone/src/phone-number.directive.d.ts +0 -1
- package/mat-paginator/src/onemrva-mat-paginator.component.d.ts +1 -1
- package/mat-panel/src/onemrva-mat-panel.component.d.ts +1 -1
- package/mat-skeleton/src/onemrva-mat-skeleton-enums.d.ts +1 -3
- package/mat-skeleton/src/onemrva-mat-skeleton.component.d.ts +1 -2
- package/mat-sticker/src/onemrva-mat-sticker.component.d.ts +0 -1
- package/mat-table-of-content/src/onemrva-mat-toc-anchor.model.d.ts +1 -3
- package/mat-timepicker/src/interfaces-and-types.d.ts +1 -5
- package/package.json +1 -1
- package/page-not-found/src/page-not-found-invader.component.d.ts +0 -1
- package/shared/src/lib/directives/color.directive.d.ts +0 -1
- package/shared/src/lib/directives/digit-only.directive.d.ts +0 -1
- package/shared/src/lib/directives/mat-row-clickable.directive.d.ts +0 -1
- package/shared/src/lib/services/cache.service.d.ts +0 -1
- package/shared/src/lib/services/country-lookup.service.d.ts +2 -2
- package/utils/src/enum.utils.d.ts +1 -3
|
@@ -28,7 +28,6 @@ import * as i9 from "@angular/material/divider";
|
|
|
28
28
|
import * as i10 from "@angular/material/select";
|
|
29
29
|
import * as i11 from "@angular/material/core";
|
|
30
30
|
import * as i12 from "@angular/material/form-field";
|
|
31
|
-
/* tslint:disable:member-ordering component-selector */
|
|
32
31
|
/**
|
|
33
32
|
* Component providing an input field for searching MatSelect options.
|
|
34
33
|
*
|
|
@@ -174,7 +173,9 @@ export class MatSelectSearchComponent {
|
|
|
174
173
|
this.alwaysRestoreSelectedOptionsMulti = false;
|
|
175
174
|
/** Output emitter to send to parent component with the toggle all boolean */
|
|
176
175
|
this.toggleAll = new EventEmitter();
|
|
177
|
-
this.onTouched = (_) => {
|
|
176
|
+
this.onTouched = (_) => {
|
|
177
|
+
//
|
|
178
|
+
};
|
|
178
179
|
this._options$ = new BehaviorSubject(new QueryList());
|
|
179
180
|
this.optionsList$ = this._options$.pipe(switchMap(_options => _options
|
|
180
181
|
? _options.changes.pipe(map(options => options.toArray()), startWith(_options.toArray()))
|
|
@@ -585,4 +586,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
585
586
|
type: ContentChild,
|
|
586
587
|
args: [MatSelectNoEntriesFoundDirective]
|
|
587
588
|
}] } });
|
|
588
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXNlbGVjdC1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1zZWxlY3Qtc2VhcmNoL3NyYy9tYXQtc2VsZWN0LXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbWF0LXNlbGVjdC1zZWFyY2gvc3JjL21hdC1zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUNMLENBQUMsRUFDRCxVQUFVLEVBQ1YsR0FBRyxFQUNILEtBQUssRUFDTCxNQUFNLEVBQ04sSUFBSSxFQUNKLElBQUksRUFDSixLQUFLLEVBQ0wsUUFBUSxFQUNSLENBQUMsRUFDRCxJQUFJLEdBQ0wsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLFdBQVcsRUFDWCxpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9FLE9BQU8sRUFDTCxLQUFL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QkFBNkI7Z0JBSzNDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOCBCaXRob3N0IEdtYkggQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7XG4gIEEsXG4gIERPV05fQVJST1csXG4gIEVORCxcbiAgRU5URVIsXG4gIEVTQ0FQRSxcbiAgSE9NRSxcbiAgTklORSxcbiAgU1BBQ0UsXG4gIFVQX0FSUk9XLFxuICBaLFxuICBaRVJPLFxufSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgVmlld3BvcnRSdWxlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Db250cm9sLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0T3B0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkZWxheSxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0U2VsZWN0U2VhcmNoQ2xlYXJEaXJlY3RpdmUgfSBmcm9tICcuL21hdC1zZWxlY3Qtc2VhcmNoLWNsZWFyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBjb25maWd1cmFibGVEZWZhdWx0T3B0aW9ucyxcbiAgTUFUX1NFTEVDVFNFQVJDSF9ERUZBVUxUX09QVElPTlMsXG4gIE1hdFNlbGVjdFNlYXJjaE9wdGlvbnMsXG59IGZyb20gJy4vZGVmYXVsdC1vcHRpb25zJztcbmltcG9ydCB7IE1hdFNlbGVjdE5vRW50cmllc0ZvdW5kRGlyZWN0aXZlIH0gZnJvbSAnLi9tYXQtc2VsZWN0LW5vLWVudHJpZXMtZm91bmQuZGlyZWN0aXZlJztcblxuLyogdHNsaW50OmRpc2FibGU6bWVtYmVyLW9yZGVyaW5nIGNvbXBvbmVudC1zZWxlY3RvciAqL1xuLyoqXG4gKiBDb21wb25lbnQgcHJvdmlkaW5nIGFuIGlucHV0IGZpZWxkIGZvciBzZWFyY2hpbmcgTWF0U2VsZWN0IG9wdGlvbnMuXG4gKlxuICogRXhhbXBsZSB1c2FnZTpcbiAqXG4gKiBpbnRlcmZhY2UgQmFuayB7XG4gKiAgaWQ6IHN0cmluZztcbiAqICBuYW1lOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogQENvbXBvbmVudCh7XG4gKiAgIHNlbGVjdG9yOiAnbXktYXBwLWRhdGEtc2VsZWN0aW9uJyxcbiAqICAgdGVtcGxhdGU6IGBcbiAqICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gKiAgICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwiYmFua0N0cmxcIiBwbGFjZWhvbGRlcj1cIkJhbmtcIj5cbiAqICAgICAgICAgPG1hdC1vcHRpb24+XG4gKiAgICAgICAgICAgPG5neC1tYXQtc2VsZWN0LXNlYXJjaCBbZm9ybUNvbnRyb2xdPVwiYmFua0ZpbHRlckN0cmxcIj48L25neC1tYXQtc2VsZWN0LXNlYXJjaD5cbiAqICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICogICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYmFuayBvZiBmaWx0ZXJlZEJhbmtzIHwgYXN5bmNcIiBbdmFsdWVdPVwiYmFuay5pZFwiPlxuICogICAgICAgICAgIHt7YmFuay5uYW1lfX1cbiAqICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICogICAgICAgPC9tYXQtc2VsZWN0PlxuICogICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gKiAgIGBcbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgRGF0YVNlbGVjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAqXG4gKiAgIC8vIGNvbnRyb2wgZm9yIHRoZSBzZWxlY3RlZCBiYW5rXG4gKiAgIHB1YmxpYyBiYW5rQ3RybDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAqICAgLy8gY29udHJvbCBmb3IgdGhlIE1hdFNlbGVjdCBmaWx0ZXIga2V5d29yZFxuICogICBwdWJsaWMgYmFua0ZpbHRlckN0cmw6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gKlxuICogICAvLyBsaXN0IG9mIGJhbmtzXG4gKiAgIHByaXZhdGUgYmFua3M6IEJhbmtbXSA9IFt7bmFtZTogJ0JhbmsgQScsIGlkOiAnQSd9LCB7bmFtZTogJ0JhbmsgQicsIGlkOiAnQid9LCB7bmFtZTogJ0JhbmsgQycsIGlkOiAnQyd9XTtcbiAqICAgLy8gbGlzdCBvZiBiYW5rcyBmaWx0ZXJlZCBieSBzZWFyY2gga2V5d29yZFxuICogICBwdWJsaWMgZmlsdGVyZWRCYW5rczogUmVwbGF5U3ViamVjdDxCYW5rW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8QmFua1tdPigxKTtcbiAqXG4gKiAgIC8vIFN1YmplY3QgdGhhdCBlbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgaGFzIGJlZW4gZGVzdHJveWVkLlxuICogICBwcml2YXRlIF9vbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICpcbiAqXG4gKiAgIG5nT25Jbml0KCkge1xuICogICAgIC8vIGxvYWQgdGhlIGluaXRpYWwgYmFuayBsaXN0XG4gKiAgICAgdGhpcy5maWx0ZXJlZEJhbmtzLm5leHQodGhpcy5iYW5rcy5zbGljZSgpKTtcbiAqICAgICAvLyBsaXN0ZW4gZm9yIHNlYXJjaCBmaWVsZCB2YWx1ZSBjaGFuZ2VzXG4gKiAgICAgdGhpcy5iYW5rRmlsdGVyQ3RybC52YWx1ZUNoYW5nZXNcbiAqICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICogICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gKiAgICAgICAgIHRoaXMuZmlsdGVyQmFua3MoKTtcbiAqICAgICAgIH0pO1xuICogICB9XG4gKlxuICogICBuZ09uRGVzdHJveSgpIHtcbiAqICAgICB0aGlzLl9vbkRlc3Ryb3kubmV4dCgpO1xuICogICAgIHRoaXMuX29uRGVzdHJveS5jb21wbGV0ZSgpO1xuICogICB9XG4gKlxuICogICBwcml2YXRlIGZpbHRlckJhbmtzKCkge1xuICogICAgIGlmICghdGhpcy5iYW5rcykge1xuICogICAgICAgcmV0dXJuO1xuICogICAgIH1cbiAqXG4gKiAgICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxuICogICAgIGxldCBzZWFyY2ggPSB0aGlzLmJhbmtGaWx0ZXJDdHJsLnZhbHVlO1xuICogICAgIGlmICghc2VhcmNoKSB7XG4gKiAgICAgICB0aGlzLmZpbHRlcmVkQmFua3MubmV4dCh0aGlzLmJhbmtzLnNsaWNlKCkpO1xuICogICAgICAgcmV0dXJuO1xuICogICAgIH0gZWxzZSB7XG4gKiAgICAgICBzZWFyY2ggPSBzZWFyY2gudG9Mb3dlckNhc2UoKTtcbiAqICAgICB9XG4gKlxuICogICAgIC8vIGZpbHRlciB0aGUgYmFua3NcbiAqICAgICB0aGlzLmZpbHRlcmVkQmFua3MubmV4dChcbiAqICAgICAgIHRoaXMuYmFua3MuZmlsdGVyKGJhbmsgPT4gYmFuay5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2gpID4gLTEpXG4gKiAgICAgKTtcbiAqICAgfVxuICogfVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtc2VsZWN0LXNlYXJjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXQtc2VsZWN0LXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hdC1zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTWF0U2VsZWN0U2VhcmNoQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRTZWxlY3RTZWFyY2hDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3JcbntcbiAgLyoqIExhYmVsIG9mIHRoZSBzZWFyY2ggcGxhY2Vob2xkZXIgKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXJMYWJlbCA9ICdTZWFyY2gnO1xuXG4gIC8qKiBUeXBlIG9mIHRoZSBzZWFyY2ggaW5wdXQgZmllbGQgKi9cbiAgQElucHV0KCkgdHlwZSA9ICd0ZXh0JztcblxuICAvKiogRm9udC1iYXNlZCBpY29uIHVzZWQgZm9yIGRpc3BsYXlpbmcgQ2xvc2UtSWNvbiAqL1xuICBASW5wdXQoKSBjbG9zZUljb24gPSAnY2xvc2UnO1xuXG4gIC8qKiBTdmctYmFzZWQgaWNvbiB1c2VkIGZvciBkaXNwbGF5aW5nIENsb3NlLUljb24uIElmIHNldCwgY2xvc2VJY29uIGlzIG92ZXJyaWRkZW4gKi9cbiAgQElucHV0KCkgY2xvc2VTdmdJY29uOiBzdHJpbmcgPSAnJztcblxuICAvKiogTGFiZWwgdG8gYmUgc2hvd24gd2hlbiBubyBlbnRyaWVzIGFyZSBmb3VuZC4gU2V0IHRvIG51bGwgaWYgbm8gbWVzc2FnZSBzaG91bGQgYmUgc2hvd24uICovXG4gIEBJbnB1dCgpIG5vRW50cmllc0ZvdW5kTGFiZWwgPSAnTm90aGluZyBmb3VuZCc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBzZWFyY2ggZmllbGQgc2hvdWxkIGJlIGNsZWFyZWQgYWZ0ZXIgdGhlIGRyb3Bkb3duIG1lbnUgaXMgY2xvc2VkLlxuICAgKiBVc2VmdWwgZm9yIHNlcnZlci1zaWRlIGZpbHRlcmluZy4gU2VlIFsjM10oaHR0cHM6Ly9naXRodWIuY29tL2JpdGhvc3QtZ21iaC9uZ3gtbWF0LXNlbGVjdC1zZWFyY2gvaXNzdWVzLzMpXG4gICAqL1xuICBASW5wdXQoKSBjbGVhclNlYXJjaElucHV0ID0gdHJ1ZTtcblxuICAvKiogV2hldGhlciB0byBzaG93IHRoZSBzZWFyY2gtaW4tcHJvZ3Jlc3MgaW5kaWNhdG9yICovXG4gIEBJbnB1dCgpIHNlYXJjaGluZyA9IGZhbHNlO1xuXG4gIC8qKiBEaXNhYmxlcyBpbml0aWFsIGZvY3VzaW5nIG9mIHRoZSBpbnB1dCBmaWVsZCAqL1xuICBASW5wdXQoKSBkaXNhYmxlSW5pdGlhbEZvY3VzID0gZmFsc2U7XG5cbiAgLyoqIEVuYWJsZSBjbGVhciBpbnB1dCBvbiBlc2NhcGUgcHJlc3NlZCAqL1xuICBASW5wdXQoKSBlbmFibGVDbGVhck9uRXNjYXBlUHJlc3NlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBQcmV2ZW50cyBob21lIC8gZW5kIGtleSBiZWluZyBwcm9wYWdhdGVkIHRvIG1hdC1zZWxlY3QsXG4gICAqIGFsbG93aW5nIHRvIG1vdmUgdGhlIGN1cnNvciB3aXRoaW4gdGhlIHNlYXJjaCBpbnB1dCBpbnN0ZWFkIG9mIG5hdmlnYXRpbmcgdGhlIG9wdGlvbnNcbiAgICovXG4gIEBJbnB1dCgpIHByZXZlbnRIb21lRW5kS2V5UHJvcGFnYXRpb24gPSBmYWxzZTtcblxuICAvKiogRGlzYWJsZXMgc2Nyb2xsaW5nIHRvIGFjdGl2ZSBvcHRpb25zIHdoZW4gb3B0aW9uIGxpc3QgY2hhbmdlcy4gVXNlZnVsIGZvciBzZXJ2ZXItc2lkZSBzZWFyY2ggKi9cbiAgQElucHV0KCkgZGlzYWJsZVNjcm9sbFRvQWN0aXZlT25PcHRpb25zQ2hhbmdlZCA9IGZhbHNlO1xuXG4gIC8qKiBBZGRzIDUwOCBzY3JlZW4gcmVhZGVyIHN1cHBvcnQgZm9yIHNlYXJjaCBib3ggKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsID0gJ2Ryb3Bkb3duIHNlYXJjaCc7XG5cbiAgLyoqIFdoZXRoZXIgdG8gc2hvdyBTZWxlY3QgQWxsIENoZWNrYm94IChmb3IgbWF0LXNlbGVjdFttdWx0aT10cnVlXSkgKi9cbiAgQElucHV0KCkgc2hvd1RvZ2dsZUFsbENoZWNrYm94ID0gZmFsc2U7XG5cbiAgLyoqIHNlbGVjdCBhbGwgY2hlY2tib3ggY2hlY2tlZCBzdGF0ZSAqL1xuICBASW5wdXQoKSB0b2dnbGVBbGxDaGVja2JveENoZWNrZWQgPSBmYWxzZTtcblxuICAvKiogc2VsZWN0IGFsbCBjaGVja2JveCBpbmRldGVybWluYXRlIHN0YXRlICovXG4gIEBJbnB1dCgpIHRvZ2dsZUFsbENoZWNrYm94SW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuXG4gIC8qKiBEaXNwbGF5IGEgbWVzc2FnZSBpbiBhIHRvb2x0aXAgb24gdGhlIHRvZ2dsZS1hbGwgY2hlY2tib3ggKi9cbiAgQElucHV0KCkgdG9nZ2xlQWxsQ2hlY2tib3hUb29sdGlwTWVzc2FnZSA9ICcnO1xuXG4gIC8qKiBEZWZpbmUgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIG9uIHRoZSB0b2dnbGUtYWxsIGNoZWNrYm94LiAqL1xuICBASW5wdXQoKSB0b2dnbGVBbGxDaGVja2JveFRvb2x0aXBQb3NpdGlvbjpcbiAgICB8ICdsZWZ0J1xuICAgIHwgJ3JpZ2h0J1xuICAgIHwgJ2Fib3ZlJ1xuICAgIHwgJ2JlbG93J1xuICAgIHwgJ2JlZm9yZSdcbiAgICB8ICdhZnRlcicgPSAnYmVsb3cnO1xuXG4gIC8qKiBTaG93L0hpZGUgdGhlIHNlYXJjaCBjbGVhciBidXR0b24gb2YgdGhlIHNlYXJjaCBpbnB1dCAqL1xuICBASW5wdXQoKSBoaWRlQ2xlYXJTZWFyY2hCdXR0b24gPSBmYWxzZTtcblxuICAvKipcbiAgICogQWx3YXlzIHJlc3RvcmUgc2VsZWN0ZWQgb3B0aW9ucyBvbiBzZWxlY3Rpb25DaGFuZ2UgZm9yIG1vZGUgbXVsdGkgKGUuZy4gZm9yIGxhenkgbG9hZGluZy9pbmZpbml0eSBzY3JvbGxpbmcpLlxuICAgKiBEZWZhdWx0cyB0byBmYWxzZSwgc28gc2VsZWN0ZWQgb3B0aW9ucyBhcmUgb25seSByZXN0b3JlZCB3aGlsZSBmaWx0ZXJpbmcgaXMgYWN0aXZlLlxuICAgKi9cbiAgQElucHV0KCkgYWx3YXlzUmVzdG9yZVNlbGVjdGVkT3B0aW9uc011bHRpID0gZmFsc2U7XG5cbiAgLyoqIE91dHB1dCBlbWl0dGVyIHRvIHNlbmQgdG8gcGFyZW50IGNvbXBvbmVudCB3aXRoIHRoZSB0b2dnbGUgYWxsIGJvb2xlYW4gKi9cbiAgQE91dHB1dCgpIHRvZ2dsZUFsbCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBzZWFyY2ggaW5wdXQgZmllbGQgKi9cbiAgQFZpZXdDaGlsZCgnc2VhcmNoU2VsZWN0SW5wdXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBzZWFyY2hTZWxlY3RJbnB1dD86IEVsZW1lbnRSZWY7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgc2VhcmNoIGlucHV0IGZpZWxkICovXG4gIEBWaWV3Q2hpbGQoJ2lubmVyU2VsZWN0U2VhcmNoJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgaW5uZXJTZWxlY3RTZWFyY2g/OiBFbGVtZW50UmVmO1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gY3VzdG9tIHNlYXJjaCBpbnB1dCBjbGVhciBpY29uICovXG4gIEBDb250ZW50Q2hpbGQoTWF0U2VsZWN0U2VhcmNoQ2xlYXJEaXJlY3RpdmUpXG4gIGNsZWFySWNvbj86IE1hdFNlbGVjdFNlYXJjaENsZWFyRGlyZWN0aXZlO1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gY3VzdG9tIG5vIGVudHJpZXMgZm91bmQgZWxlbWVudCAqL1xuICBAQ29udGVudENoaWxkKE1hdFNlbGVjdE5vRW50cmllc0ZvdW5kRGlyZWN0aXZlKVxuICBub0VudHJpZXNGb3VuZD86IE1hdFNlbGVjdE5vRW50cmllc0ZvdW5kRGlyZWN0aXZlO1xuXG4gIC8qKiBDdXJyZW50IHNlYXJjaCB2YWx1ZSAqL1xuICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMuX2Zvcm1Db250cm9sIGFzIEZvcm1Db250cm9sKS52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2xhc3RFeHRlcm5hbElucHV0VmFsdWU/OiBzdHJpbmc7XG5cbiAgb25Ub3VjaGVkOiAoXzogYW55KSA9PiB2b2lkID0gKF86IGFueSkgPT4ge307XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgTWF0U2VsZWN0IG9wdGlvbnMgKi9cbiAgcHVibGljIHNldCBfb3B0aW9ucyhfb3B0aW9uczogUXVlcnlMaXN0PE1hdE9wdGlvbj4pIHtcbiAgICB0aGlzLl9vcHRpb25zJC5uZXh0KF9vcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgX29wdGlvbnMoKTogUXVlcnlMaXN0PE1hdE9wdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLl9vcHRpb25zJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIF9vcHRpb25zJDogQmVoYXZpb3JTdWJqZWN0PFF1ZXJ5TGlzdDxNYXRPcHRpb24+PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XG4gICAgUXVlcnlMaXN0PE1hdE9wdGlvbj5cbiAgPihuZXcgUXVlcnlMaXN0KCkpO1xuXG4gIHByaXZhdGUgb3B0aW9uc0xpc3QkOiBPYnNlcnZhYmxlPE1hdE9wdGlvbltdPiA9IHRoaXMuX29wdGlvbnMkLnBpcGUoXG4gICAgc3dpdGNoTWFwKF9vcHRpb25zID0+XG4gICAgICBfb3B0aW9uc1xuICAgICAgICA/IF9vcHRpb25zLmNoYW5nZXMucGlwZShcbiAgICAgICAgICAgIG1hcChvcHRpb25zID0+IG9wdGlvbnMudG9BcnJheSgpKSxcbiAgICAgICAgICAgIHN0YXJ0V2l0aDxNYXRPcHRpb25bXT4oX29wdGlvbnMudG9BcnJheSgpKSxcbiAgICAgICAgICApXG4gICAgICAgIDogb2YoW10pLFxuICAgICksXG4gICk7XG5cbiAgcHJpdmF0ZSBvcHRpb25zTGVuZ3RoJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5vcHRpb25zTGlzdCQucGlwZShcbiAgICBtYXAob3B0aW9ucyA9PiAob3B0aW9ucyA/IG9wdGlvbnMubGVuZ3RoIDogMCkpLFxuICApO1xuXG4gIC8qKiBQcmV2aW91c2x5IHNlbGVjdGVkIHZhbHVlcyB3aGVuIHVzaW5nIDxtYXQtc2VsZWN0IFttdWx0aXBsZV09XCJ0cnVlXCI+Ki9cbiAgcHJpdmF0ZSBwcmV2aW91c1NlbGVjdGVkVmFsdWVzPzogYW55W107XG5cbiAgcHVibGljIF9mb3JtQ29udHJvbDogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4gPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyk7XG5cbiAgLyoqIHdoZXRoZXIgdG8gc2hvdyB0aGUgbm8gZW50cmllcyBmb3VuZCBtZXNzYWdlICovXG4gIHB1YmxpYyBfc2hvd05vRW50cmllc0ZvdW5kJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuX2Zvcm1Db250cm9sLnZhbHVlQ2hhbmdlcyxcbiAgICB0aGlzLm9wdGlvbnNMZW5ndGgkLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW18sIG9wdGlvbnNMZW5ndGhdKSA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLm5vRW50cmllc0ZvdW5kTGFiZWwgIT09ICcnICYmXG4gICAgICAgIG9wdGlvbnNMZW5ndGggPT09IHRoaXMuZ2V0T3B0aW9uc0xlbmd0aE9mZnNldCgpXG4gICAgICApO1xuICAgIH0pLFxuICApO1xuXG4gIC8qKiBTdWJqZWN0IHRoYXQgZW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IGhhcyBiZWVuIGRlc3Ryb3llZC4gKi9cbiAgcHJpdmF0ZSBfb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKiogUmVmZXJlbmNlIHRvIGFjdGl2ZSBkZXNjZW5kYW50IGZvciBBUklBIFN1cHBvcnQuICovXG4gIHByaXZhdGUgYWN0aXZlRGVzY2VuZGFudD86IEhUTUxFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTWF0U2VsZWN0KSBwdWJsaWMgbWF0U2VsZWN0OiBNYXRTZWxlY3QsXG4gICAgcHVibGljIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF92aWV3cG9ydFJ1bGVyOiBWaWV3cG9ydFJ1bGVyLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTWF0T3B0aW9uKSBwdWJsaWMgbWF0T3B0aW9uOiBNYXRPcHRpb24sXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNYXRGb3JtRmllbGQpIHB1YmxpYyBtYXRGb3JtRmllbGQ6IE1hdEZvcm1GaWVsZCxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoTUFUX1NFTEVDVFNFQVJDSF9ERUZBVUxUX09QVElPTlMpXG4gICAgZGVmYXVsdE9wdGlvbnM6IE1hdFNlbGVjdFNlYXJjaE9wdGlvbnMsXG4gICkge1xuICAgIHRoaXMuYXBwbHlEZWZhdWx0T3B0aW9ucyhkZWZhdWx0T3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5RGVmYXVsdE9wdGlvbnMoZGVmYXVsdE9wdGlvbnM6IE1hdFNlbGVjdFNlYXJjaE9wdGlvbnMpIHtcbiAgICBpZiAoIWRlZmF1bHRPcHRpb25zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZvciAoY29uc3Qga2V5IG9mIGNvbmZpZ3VyYWJsZURlZmF1bHRPcHRpb25zKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgIGlmIChkZWZhdWx0T3B0aW9ucy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICh0aGlzW2tleV0gYXMgYW55KSA9IGRlZmF1bHRPcHRpb25zW2tleV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gc2V0IGN1c3RvbSBtYXQtb3B0aW9uIGNsYXNzIGlmIHRoZSBjb21wb25lbnQgd2FzIHBsYWNlZCBpbnNpZGUgYSBtYXQtb3B0aW9uXG4gICAgaWYgKHRoaXMubWF0T3B0aW9uKSB7XG4gICAgICB0aGlzLm1hdE9wdGlvbi5kaXNhYmxlZCA9IHRydWU7XG4gICAgICB0aGlzLm1hdE9wdGlvblxuICAgICAgICAuX2dldEhvc3RFbGVtZW50KClcbiAgICAgICAgLmNsYXNzTGlzdC5hZGQoJ2NvbnRhaW5zLW1hdC1zZWxlY3Qtc2VhcmNoJyk7XG4gICAgICB0aGlzLm1hdE9wdGlvbi5fZ2V0SG9zdEVsZW1lbnQoKS5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgJzxuZ3gtbWF0LXNlbGVjdC1zZWFyY2g+IG11c3QgYmUgcGxhY2VkIGluc2lkZSBhIDxtYXQtb3B0aW9uPiBlbGVtZW50JyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gd2hlbiB0aGUgc2VsZWN0IGRyb3Bkb3duIHBhbmVsIGlzIG9wZW5lZCBvciBjbG9zZWRcbiAgICB0aGlzLm1hdFNlbGVjdC5vcGVuZWRDaGFuZ2VcbiAgICAgIC5waXBlKGRlbGF5KDEpLCB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSlcbiAgICAgIC5zdWJzY3JpYmUob3BlbmVkID0+IHtcbiAgICAgICAgaWYgKG9wZW5lZCkge1xuICAgICAgICAgIHRoaXMudXBkYXRlSW5wdXRXaWR0aCgpO1xuICAgICAgICAgIC8vIGZvY3VzIHRoZSBzZWFyY2ggZmllbGQgd2hlbiBvcGVuaW5nXG4gICAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVJbml0aWFsRm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGNsZWFyIGl0IHdoZW4gY2xvc2luZ1xuICAgICAgICAgIGlmICh0aGlzLmNsZWFyU2VhcmNoSW5wdXQpIHtcbiAgICAgICAgICAgIHRoaXMuX3Jlc2V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIC8vIHNldCB0aGUgZmlyc3QgaXRlbSBhY3RpdmUgYWZ0ZXIgdGhlIG9wdGlvbnMgY2hhbmdlZFxuICAgIHRoaXMubWF0U2VsZWN0Lm9wZW5lZENoYW5nZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIHN3aXRjaE1hcChfID0+IHtcbiAgICAgICAgICB0aGlzLl9vcHRpb25zID0gdGhpcy5tYXRTZWxlY3Qub3B0aW9ucztcblxuICAgICAgICAgIC8vIENsb3N1cmUgdmFyaWFibGUgZm9yIHRyYWNraW5nIHRoZSBtb3N0IHJlY2VudCBmaXJzdCBvcHRpb24uXG4gICAgICAgICAgLy8gSW4gb3JkZXIgdG8gYXZvaWQgYXZvaWQgY2F1c2luZyB0aGUgbGlzdCB0b1xuICAgICAgICAgIC8vIHNjcm9sbCB0byB0aGUgdG9wIHdoZW4gb3B0aW9ucyBhcmUgYWRkZWQgdG8gdGhlIGJvdHRvbSBvZlxuICAgICAgICAgIC8vIHRoZSBsaXN0IChlZzogaW5maW5pdGUgc2Nyb2xsKSwgd2UgY29tcGFyZSBvbmx5XG4gICAgICAgICAgLy8gdGhlIGNoYW5nZXMgdG8gdGhlIGZpcnN0IG9wdGlvbnMgdG8gZGV0ZXJtaW5lIGlmIHdlXG4gICAgICAgICAgLy8gc2hvdWxkIHNldCB0aGUgZmlyc3QgaXRlbSBhcyBhY3RpdmUuXG4gICAgICAgICAgLy8gVGhpcyBwcmV2ZW50cyB1bm5lY2Vzc2FyeSBzY3JvbGxpbmcgdG8gdGhlIHRvcCBvZiB0aGUgbGlzdFxuICAgICAgICAgIC8vIHdoZW4gb3B0aW9ucyBhcmUgYXBwZW5kZWQsIGJ1dCBhbGxvd3MgdGhlIGZpcnN0IGl0ZW1cbiAgICAgICAgICAvLyBpbiB0aGUgbGlzdCB0byBiZSBzZXQgYXMgYWN0aXZlIGJ5IGRlZmF1bHQgd2hlbiB0aGVyZVxuICAgICAgICAgIC8vIGlzIG5vIGFjdGl2ZSBzZWxlY3Rpb25cbiAgICAgICAgICBsZXQgcHJldmlvdXNGaXJzdE9wdGlvbiA9XG4gICAgICAgICAgICB0aGlzLl9vcHRpb25zLnRvQXJyYXkoKVt0aGlzLmdldE9wdGlvbnNMZW5ndGhPZmZzZXQoKV07XG5cbiAgICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9ucy5jaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAvLyBhdm9pZCBcImV4cHJlc3Npb24gaGFzIGJlZW4gY2hhbmdlZFwiIGVycm9yXG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIENvbnZlcnQgdGhlIFF1ZXJ5TGlzdCB0byBhbiBhcnJheVxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLl9vcHRpb25zLnRvQXJyYXkoKTtcblxuICAgICAgICAgICAgICAgIC8vIFRoZSB0cnVlIGZpcnN0IGl0ZW0gaXMgb2Zmc2V0IGJ5IDFcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50Rmlyc3RPcHRpb24gPVxuICAgICAgICAgICAgICAgICAgb3B0aW9uc1t0aGlzLmdldE9wdGlvbnNMZW5ndGhPZmZzZXQoKV07XG5cbiAgICAgICAgICAgICAgICBjb25zdCBrZXlNYW5hZ2VyID0gdGhpcy5tYXRTZWxlY3QuX2tleU1hbmFnZXI7XG4gICAgICAgICAgICAgICAgaWYgKGtleU1hbmFnZXIgJiYgdGhpcy5tYXRTZWxlY3QucGFuZWxPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAvLyBzZXQgZmlyc3QgaXRlbSBhY3RpdmUgYW5kIGlucHV0IHdpZHRoXG5cbiAgICAgICAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgZmlyc3Qgb3B0aW9uIGluIHRoZXNlIGNoYW5nZXMgaXMgZGlmZmVyZW50IGZyb20gdGhlIHByZXZpb3VzLlxuICAgICAgICAgICAgICAgICAgY29uc3QgZmlyc3RPcHRpb25Jc0NoYW5nZWQgPSAhdGhpcy5tYXRTZWxlY3QuY29tcGFyZVdpdGgoXG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzRmlyc3RPcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRGaXJzdE9wdGlvbixcbiAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgIC8vIENBU0U6IFRoZSBmaXJzdCBvcHRpb24gaXMgZGlmZmVyZW50IG5vdy5cbiAgICAgICAgICAgICAgICAgIC8vIEluZGljaWF0ZXMgd2Ugc2hvdWxkIHNldCBpdCBhcyBhY3RpdmUgYW5kIHNjcm9sbCB0byB0aGUgdG9wLlxuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBmaXJzdE9wdGlvbklzQ2hhbmdlZCB8fFxuICAgICAgICAgICAgICAgICAgICAha2V5TWFuYWdlci5hY3RpdmVJdGVtIHx8XG4gICAgICAgICAgICAgICAgICAgICFvcHRpb25zLmZpbmQob3B0aW9uID0+XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXRTZWxlY3QuY29tcGFyZVdpdGgob3B0aW9uLCBrZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0pLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAga2V5TWFuYWdlci5zZXRGaXJzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgLy8gd2FpdCBmb3IgcGFuZWwgd2lkdGggY2hhbmdlc1xuICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlSW5wdXRXaWR0aCgpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gVXBkYXRlIG91ciByZWZlcmVuY2VcbiAgICAgICAgICAgICAgICBwcmV2aW91c0ZpcnN0T3B0aW9uID0gY3VycmVudEZpcnN0T3B0aW9uO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICAvLyBhZGQgb3IgcmVtb3ZlIGNzcyBjbGFzcyBkZXBlbmRpbmcgb24gd2hldGhlciB0byBzaG93IHRoZSBubyBlbnRyaWVzIGZvdW5kIG1lc3NhZ2VcbiAgICAvLyBub3RlOiB0aGlzIGlzIGhhY2t5XG4gICAgdGhpcy5fc2hvd05vRW50cmllc0ZvdW5kJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKHNob3dOb0VudHJpZXNGb3VuZCA9PiB7XG4gICAgICAgIC8vIHNldCBubyBlbnRyaWVzIGZvdW5kIGNsYXNzIG9uIG1hdCBvcHRpb25cbiAgICAgICAgaWYgKHRoaXMubWF0T3B0aW9uKSB7XG4gICAgICAgICAgaWYgKHNob3dOb0VudHJpZXNGb3VuZCkge1xuICAgICAgICAgICAgdGhpcy5tYXRPcHRpb25cbiAgICAgICAgICAgICAgLl9nZXRIb3N0RWxlbWVudCgpXG4gICAgICAgICAgICAgIC5jbGFzc0xpc3QuYWRkKCdtYXQtc2VsZWN0LXNlYXJjaC1uby1lbnRyaWVzLWZvdW5kJyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWF0T3B0aW9uXG4gICAgICAgICAgICAgIC5fZ2V0SG9zdEVsZW1lbnQoKVxuICAgICAgICAgICAgICAuY2xhc3NMaXN0LnJlbW92ZSgnbWF0LXNlbGVjdC1zZWFyY2gtbm8tZW50cmllcy1mb3VuZCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAvLyByZXNpemUgdGhlIGlucHV0IHdpZHRoIHdoZW4gdGhlIHZpZXdwb3J0IGlzIHJlc2l6ZWQsIGkuZS4gdGhlIHRyaWdnZXIgd2lkdGggY291bGQgcG90ZW50aWFsbHkgYmUgcmVzaXplZFxuICAgIHRoaXMuX3ZpZXdwb3J0UnVsZXJcbiAgICAgIC5jaGFuZ2UoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubWF0U2VsZWN0LnBhbmVsT3Blbikge1xuICAgICAgICAgIHRoaXMudXBkYXRlSW5wdXRXaWR0aCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuaW5pdE11bHRpcGxlSGFuZGxpbmcoKTtcblxuICAgIHRoaXMub3B0aW9uc0xpc3QkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAvLyB1cGRhdGUgdmlldyB3aGVuIGF2YWlsYWJsZSBvcHRpb25zIGNoYW5nZVxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIF9lbWl0U2VsZWN0QWxsQm9vbGVhblRvUGFyZW50KHN0YXRlOiBib29sZWFuKSB7XG4gICAgdGhpcy50b2dnbGVBbGwuZW1pdChzdGF0ZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9vbkRlc3Ryb3kubmV4dCgpO1xuICAgIHRoaXMuX29uRGVzdHJveS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgX2lzVG9nZ2xlQWxsQ2hlY2tib3hWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1hdFNlbGVjdC5tdWx0aXBsZSAmJiB0aGlzLnNob3dUb2dnbGVBbGxDaGVja2JveDtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSBrZXkgZG93biBldmVudCB3aXRoIE1hdFNlbGVjdC5cbiAgICogQWxsb3dzIGUuZy4gc2VsZWN0aW5nIHdpdGggZW50ZXIga2V5LCBuYXZpZ2F0aW9uIHdpdGggYXJyb3cga2V5cywgZXRjLlxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICovXG4gIF9oYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgLy8gUHJldmVudCBwcm9wYWdhdGlvbiBmb3IgYWxsIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGluIG9yZGVyIHRvIGF2b2lkIHNlbGVjdGlvbiBpc3N1ZXNcbiAgICBpZiAoXG4gICAgICAoZXZlbnQua2V5ICYmIGV2ZW50LmtleS5sZW5ndGggPT09IDEpIHx8XG4gICAgICAoZXZlbnQua2V5Q29kZSA+PSBBICYmIGV2ZW50LmtleUNvZGUgPD0gWikgfHxcbiAgICAgIChldmVudC5rZXlDb2RlID49IFpFUk8gJiYgZXZlbnQua2V5Q29kZSA8PSBOSU5FKSB8fFxuICAgICAgZXZlbnQua2V5Q29kZSA9PT0gU1BBQ0UgfHxcbiAgICAgICh0aGlzLnByZXZlbnRIb21lRW5kS2V5UHJvcGFnYXRpb24gJiZcbiAgICAgICAgKGV2ZW50LmtleUNvZGUgPT09IEhPTUUgfHwgZXZlbnQua2V5Q29kZSA9PT0gRU5EKSlcbiAgICApIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm1hdFNlbGVjdC5tdWx0aXBsZSAmJiBldmVudC5rZXkgJiYgZXZlbnQua2V5Q29kZSA9PT0gRU5URVIpIHtcbiAgICAgIC8vIFJlZ2FpbiBmb2N1cyBhZnRlciBtdWx0aXNlbGVjdCwgc28gd2UgY2FuIGZ1cnRoZXIgdHlwZVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9mb2N1cygpKTtcbiAgICB9XG5cbiAgICAvLyBTcGVjaWFsIGNhc2UgaWYgY2xpY2sgRXNjYXBlLCBpZiBpbnB1dCBpcyBlbXB0eSwgY2xvc2UgdGhlIGRyb3Bkb3duLCBpZiBub3QsIGVtcHR5IG91dCB0aGUgc2VhcmNoIGZpZWxkXG4gICAgaWYgKFxuICAgICAgdGhpcy5lbmFibGVDbGVhck9uRXNjYXBlUHJlc3NlZCA9PT0gdHJ1ZSAmJlxuICAgICAgZXZlbnQua2V5Q29kZSA9PT0gRVNDQVBFICYmXG4gICAgICB0aGlzLnZhbHVlXG4gICAgKSB7XG4gICAgICB0aGlzLl9yZXNldCh0cnVlKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSBrZXkgdXAgZXZlbnQgd2l0aCBNYXRTZWxlY3QuXG4gICAqIEFsbG93cyBlLmcuIHRoZSBhbm5vdW5jaW5nIG9mIHRoZSBjdXJyZW50bHkgYWN0aXZlRGVzY2VuZGFudCBieSBzY3JlZW4gcmVhZGVycy5cbiAgICovXG4gIF9oYW5kbGVLZXl1cChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5rZXlDb2RlID09PSBVUF9BUlJPVyB8fCBldmVudC5rZXlDb2RlID09PSBET1dOX0FSUk9XKSB7XG4gICAgICBjb25zdCBhcmlhQWN0aXZlRGVzY2VuZGFudElkID0gdGhpcy5tYXRTZWxlY3QuX2dldEFyaWFBY3RpdmVEZXNjZW5kYW50KCk7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuX29wdGlvbnNcbiAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gYXJpYUFjdGl2ZURlc2NlbmRhbnRJZCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIHRoaXMudW5zZWxlY3RBY3RpdmVEZXNjZW5kYW50KCk7XG5cbiAgICAgICAgY29uc3QgdGVtcCA9IHRoaXMuX29wdGlvbnMudG9BcnJheSgpO1xuICAgICAgICB0aGlzLmFjdGl2ZURlc2NlbmRhbnQgPSB0ZW1wW2luZGV4XS5fZ2V0SG9zdEVsZW1lbnQoKTtcblxuICAgICAgICB0aGlzLmFjdGl2ZURlc2NlbmRhbnQuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgJ3RydWUnKTtcblxuICAgICAgICB0aGlzLnNlYXJjaFNlbGVjdElucHV0Py5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAnYXJpYS1hY3RpdmVkZXNjZW5kYW50JyxcbiAgICAgICAgICBhcmlhQWN0aXZlRGVzY2VuZGFudElkLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2xhc3RFeHRlcm5hbElucHV0VmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9mb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICB0aGlzLnVuc2VsZWN0QWN0aXZlRGVzY2VuZGFudCgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5fZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKHZhbHVlID0+IHZhbHVlICE9PSB0aGlzLl9sYXN0RXh0ZXJuYWxJbnB1dFZhbHVlKSxcbiAgICAgICAgdGFwKCgpID0+ICh0aGlzLl9sYXN0RXh0ZXJuYWxJbnB1dFZhbHVlID0gdW5kZWZpbmVkKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShmbik7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICAvKipcbiAgICogRm9jdXNlcyB0aGUgc2VhcmNoIGlucHV0IGZpZWxkXG4gICAqL1xuICBwdWJsaWMgX2ZvY3VzKCkge1xuICAgIGlmICghdGhpcy5zZWFyY2hTZWxlY3RJbnB1dCB8fCAhdGhpcy5tYXRTZWxlY3QucGFuZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gc2F2ZSBhbmQgcmVzdG9yZSBzY3JvbGxUb3Agb2YgcGFuZWwsIHNpbmNlIGl0IHdpbGwgYmUgcmVzZXQgYnkgZm9jdXMoKVxuICAgIC8vIG5vdGU6IHRoaXMgaXMgaGFja3lcbiAgICBjb25zdCBwYW5lbCA9IHRoaXMubWF0U2VsZWN0LnBhbmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3Qgc2Nyb2xsVG9wID0gcGFuZWwuc2Nyb2xsVG9wO1xuXG4gICAgLy8gZm9jdXNcbiAgICB0aGlzLnNlYXJjaFNlbGVjdElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcblxuICAgIHBhbmVsLnNjcm9sbFRvcCA9IHNjcm9sbFRvcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIGN1cnJlbnQgc2VhcmNoIHZhbHVlXG4gICAqIEBwYXJhbSBmb2N1cyB3aGV0aGVyIHRvIGZvY3VzIGFmdGVyIHJlc2V0dGluZ1xuICAgKi9cbiAgcHVibGljIF9yZXNldChmb2N1cz86IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9mb3JtQ29udHJvbC5zZXRWYWx1ZSgnJyk7XG4gICAgaWYgKGZvY3VzKSB7XG4gICAgICB0aGlzLl9mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyBoYW5kbGluZyA8bWF0LXNlbGVjdCBbbXVsdGlwbGVdPVwidHJ1ZVwiPlxuICAgKiBOb3RlOiB0byBpbXByb3ZlIHRoaXMgY29kZSwgbWF0LXNlbGVjdCBzaG91bGQgYmUgZXh0ZW5kZWQgdG8gYWxsb3cgZGlzYWJsaW5nIHJlc2V0dGluZyB0aGUgc2VsZWN0aW9uIHdoaWxlIGZpbHRlcmluZy5cbiAgICovXG4gIHByaXZhdGUgaW5pdE11bHRpcGxlSGFuZGxpbmcoKSB7XG4gICAgaWYgKCF0aGlzLm1hdFNlbGVjdC5uZ0NvbnRyb2wpIHtcbiAgICAgIGlmICh0aGlzLm1hdFNlbGVjdC5tdWx0aXBsZSkge1xuICAgICAgICAvLyBub3RlOiB0aGUgYWNjZXNzIHRvIG1hdFNlbGVjdC5uZ0NvbnRyb2wgKGluc3RlYWQgb2YgbWF0U2VsZWN0LnZhbHVlIC8gbWF0U2VsZWN0LnZhbHVlQ2hhbmdlcylcbiAgICAgICAgLy8gaXMgbmVjZXNzYXJ5IHRvIHByb3Blcmx5IHdvcmsgaW4gbXVsdGktc2VsZWN0aW9uIG1vZGUuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgJ3RoZSBtYXQtc2VsZWN0IGNvbnRhaW5pbmcgbmd4LW1hdC1zZWxlY3Qtc2VhcmNoIG11c3QgaGF2ZSBhIG5nTW9kZWwgb3IgZm9ybUNvbnRyb2wgZGlyZWN0aXZlIHdoZW4gbXVsdGlwbGU9dHJ1ZScsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGlmIDxtYXQtc2VsZWN0IFttdWx0aXBsZV09XCJ0cnVlXCI+XG4gICAgLy8gc3RvcmUgcHJldmlvdXNseSBzZWxlY3RlZCB2YWx1ZXMgYW5kIHJlc3RvcmUgdGhlbSB3aGVuIHRoZXkgYXJlIGRlc2VsZWN0ZWRcbiAgICAvLyBiZWNhdXNlIHRoZSBvcHRpb24gaXMgbm90IGF2YWlsYWJsZSB3aGlsZSB3ZSBhcmUgY3VycmVudGx5IGZpbHRlcmluZ1xuICAgIHRoaXMucHJldmlvdXNTZWxlY3RlZFZhbHVlcyA9IHRoaXMubWF0U2VsZWN0Lm5nQ29udHJvbC52YWx1ZTtcblxuICAgIHRoaXMubWF0U2VsZWN0Lm5nQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSlcbiAgICAgIC5zdWJzY3JpYmUodmFsdWVzID0+IHtcbiAgICAgICAgbGV0IHJlc3RvcmVTZWxlY3RlZFZhbHVlcyA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5tYXRTZWxlY3QubXVsdGlwbGUpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAodGhpcy5hbHdheXNSZXN0b3JlU2VsZWN0ZWRPcHRpb25zTXVsdGkgfHxcbiAgICAgICAgICAgICAgKHRoaXMuX2Zvcm1Db250cm9sLnZhbHVlICYmIHRoaXMuX2Zvcm1Db250cm9sLnZhbHVlLmxlbmd0aCkpICYmXG4gICAgICAgICAgICB0aGlzLnByZXZpb3VzU2VsZWN0ZWRWYWx1ZXMgJiZcbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkodGhpcy5wcmV2aW91c1NlbGVjdGVkVmFsdWVzKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgaWYgKCF2YWx1ZXMgfHwgIUFycmF5LmlzQXJyYXkodmFsdWVzKSkge1xuICAgICAgICAgICAgICB2YWx1ZXMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG9wdGlvblZhbHVlcyA9IHRoaXMubWF0U2VsZWN0Lm9wdGlvbnMubWFwKFxuICAgICAgICAgICAgICBvcHRpb24gPT4gb3B0aW9uLnZhbHVlLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMucHJldmlvdXNTZWxlY3RlZFZhbHVlcy5mb3JFYWNoKHByZXZpb3VzVmFsdWUgPT4ge1xuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgIXZhbHVlcy5zb21lKCh2OiBhbnkpID0+XG4gICAgICAgICAgICAgICAgICB0aGlzLm1hdFNlbGVjdC5jb21wYXJlV2l0aCh2LCBwcmV2aW91c1ZhbHVlKSxcbiAgICAgICAgICAgICAgICApICYmXG4gICAgICAgICAgICAgICAgIW9wdGlvblZhbHVlcy5zb21lKHYgPT5cbiAgICAgICAgICAgICAgICAgIHRoaXMubWF0U2VsZWN0LmNvbXBhcmVXaXRoKHYsIHByZXZpb3VzVmFsdWUpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLy8gaWYgYSB2YWx1ZSB0aGF0IHdhcyBzZWxlY3RlZCBiZWZvcmUgaXMgZGVzZWxlY3RlZCBhbmQgbm90IGZvdW5kIGluIHRoZSBvcHRpb25zLCBpdCB3YXMgZGVzZWxlY3RlZFxuICAgICAgICAgICAgICAgIC8vIGR1ZSB0byB0aGUgZmlsdGVyaW5nLCBzbyB3ZSByZXN0b3JlIGl0LlxuICAgICAgICAgICAgICAgIHZhbHVlcy5wdXNoKHByZXZpb3VzVmFsdWUpO1xuICAgICAgICAgICAgICAgIHJlc3RvcmVTZWxlY3RlZFZhbHVlcyA9IHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByZXZpb3VzU2VsZWN0ZWRWYWx1ZXMgPSB2YWx1ZXM7XG5cbiAgICAgICAgaWYgKHJlc3RvcmVTZWxlY3RlZFZhbHVlcykge1xuICAgICAgICAgIHRoaXMubWF0U2VsZWN0Ll9vbkNoYW5nZSh2YWx1ZXMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgU2V0IHRoZSB3aWR0aCBvZiB0aGUgaW5uZXJTZWxlY3RTZWFyY2ggdG8gZml0IGV2ZW4gY3VzdG9tIHNjcm9sbGJhcnNcbiAgICogIEFuZCBzdXBwb3J0IGFsbCBPcGVyYXRpb24gU3lzdGVtc1xuICAgKi9cbiAgcHVibGljIHVwZGF0ZUlucHV0V2lkdGgoKSB7XG4gICAgaWYgKCF0aGlzLmlubmVyU2VsZWN0U2VhcmNoIHx8ICF0aGlzLmlubmVyU2VsZWN0U2VhcmNoLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy5pbm5lclNlbGVjdFNlYXJjaC5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChlbGVtZW50LnBhcmVudEVsZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIGxldCBwYW5lbEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgICB3aGlsZSAoKGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQpKSB7XG4gICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbWF0LXNlbGVjdC1wYW5lbCcpKSB7XG4gICAgICAgICAgcGFuZWxFbGVtZW50ID0gZWxlbWVudDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHBhbmVsRWxlbWVudCAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLmlubmVyU2VsZWN0U2VhcmNoLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPVxuICAgICAgICAgIHBhbmVsRWxlbWVudC5jbGllbnRXaWR0aCArICdweCc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZSB0aGUgb2Zmc2V0IHRvIGxlbmd0aCB0aGF0IGNhbiBiZSBjYXVzZWQgYnkgdGhlIG9wdGlvbmFsIG1hdE9wdGlvbiB1c2VkIGFzIGEgc2VhcmNoIGlucHV0LlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRPcHRpb25zTGVuZ3RoT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMubWF0T3B0aW9uKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1bnNlbGVjdEFjdGl2ZURlc2NlbmRhbnQoKSB7XG4gICAgdGhpcy5hY3RpdmVEZXNjZW5kYW50Py5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnKTtcbiAgICB0aGlzLnNlYXJjaFNlbGVjdElucHV0Py5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShcbiAgICAgICdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnLFxuICAgICk7XG4gIH1cbn1cbiIsIjwhLS1cbkNvcHlyaWdodCAoYykgMjAxOCBCaXRob3N0IEdtYkggQWxsIFJpZ2h0cyBSZXNlcnZlZC5cblxuVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbmZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2Vcbi0tPlxuPCEtLSBQbGFjZWhvbGRlciB0byBhZGp1c3QgdmVydGljYWwgb2Zmc2V0IG9mIHRoZSBtYXQtb3B0aW9uIGVsZW1lbnRzIC0tPlxuPGlucHV0IG1hdElucHV0IGNsYXNzPVwibWF0LXNlbGVjdC1zZWFyY2gtaW5wdXQgbWF0LXNlbGVjdC1zZWFyY2gtaGlkZGVuXCIgLz5cblxuPCEtLSBOb3RlOiB0aGUgIG1hdC1kYXRlcGlja2VyLWNvbnRlbnQgbWF0LXRhYi1oZWFkZXIgYXJlIG5lZWRlZCB0byBpbmhlcml0IHRoZSBtYXRlcmlhbCB0aGVtZSBjb2xvcnMsIHNlZSBQUiAjMjIgLS0+XG48ZGl2XG4gICNpbm5lclNlbGVjdFNlYXJjaFxuICBjbGFzcz1cIm1hdC1zZWxlY3Qtc2VhcmNoLWlubmVyIG1hdC10eXBvZ3JhcGh5IG1hdC1kYXRlcGlja2VyLWNvbnRlbnQgbWF0LXRhYi1oZWFkZXJcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ21hdC1zZWxlY3Qtc2VhcmNoLWlubmVyLW11bHRpcGxlJzogbWF0U2VsZWN0Lm11bHRpcGxlLFxuICAgICdtYXQtc2VsZWN0LXNlYXJjaC1pbm5lci10b2dnbGUtYWxsJzogX2lzVG9nZ2xlQWxsQ2hlY2tib3hWaXNpYmxlKCksXG4gIH1cIlxuPlxuICA8bWF0LWNoZWNrYm94XG4gICAgKm5nSWY9XCJfaXNUb2dnbGVBbGxDaGVja2JveFZpc2libGUoKVwiXG4gICAgW2NvbG9yXT1cIm1hdEZvcm1GaWVsZC5jb2xvclwiXG4gICAgY2xhc3M9XCJtYXQtc2VsZWN0LXNlYXJjaC10b2dnbGUtYWxsLWNoZWNrYm94XCJcbiAgICBbY2hlY2tlZF09XCJ0b2dnbGVBbGxDaGVja2JveENoZWNrZWRcIlxuICAgIFtpbmRldGVybWluYXRlXT1cInRvZ2dsZUFsbENoZWNrYm94SW5kZXRlcm1pbmF0ZVwiXG4gICAgW21hdFRvb2x0aXBdPVwidG9nZ2xlQWxsQ2hlY2tib3hUb29sdGlwTWVzc2FnZVwiXG4gICAgbWF0VG9vbHRpcENsYXNzPVwibmd4LW1hdC1zZWxlY3Qtc2VhcmNoLXRvZ2dsZS1hbGwtdG9vbHRpcFwiXG4gICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCJ0b2dnbGVBbGxDaGVja2JveFRvb2x0aXBQb3NpdGlvblwiXG4gICAgKGNoYW5nZSk9XCJfZW1pdFNlbGVjdEFsbEJvb2xlYW5Ub1BhcmVudCgkZXZlbnQuY2hlY2tlZClcIlxuICA+PC9tYXQtY2hlY2tib3g+XG5cbiAgPGlucHV0XG4gICAgY2xhc3M9XCJtYXQtc2VsZWN0LXNlYXJjaC1pbnB1dFwiXG4gICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwiX2Zvcm1Db250cm9sXCJcbiAgICAjc2VhcmNoU2VsZWN0SW5wdXRcbiAgICAoa2V5ZG93bik9XCJfaGFuZGxlS2V5ZG93bigkZXZlbnQpXCJcbiAgICAoa2V5dXApPVwiX2hhbmRsZUtleXVwKCRldmVudClcIlxuICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJMYWJlbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAvPlxuICA8bWF0LWljb24gKm5nSWY9XCJ2YWx1ZSA9PT0gJycgJiYgIXNlYXJjaGluZ1wiIGNsYXNzPVwic3VmZml4XCI+c2VhcmNoPC9tYXQtaWNvbj5cbiAgPG1hdC1zcGlubmVyXG4gICAgKm5nSWY9XCJzZWFyY2hpbmdcIlxuICAgIGNsYXNzPVwibWF0LXNlbGVjdC1zZWFyY2gtc3Bpbm5lclwiXG4gICAgZGlhbWV0ZXI9XCIxNlwiXG4gID48L21hdC1zcGlubmVyPlxuXG4gIDxidXR0b25cbiAgICAqbmdJZj1cIiFoaWRlQ2xlYXJTZWFyY2hCdXR0b24gJiYgdmFsdWUgJiYgIXNlYXJjaGluZ1wiXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgYXJpYS1sYWJlbD1cIkNsZWFyXCJcbiAgICAoY2xpY2spPVwiX3Jlc2V0KHRydWUpXCJcbiAgICBjbGFzcz1cIm1hdC1zZWxlY3Qtc2VhcmNoLWNsZWFyXCJcbiAgPlxuICAgIDxuZy1jb250ZW50XG4gICAgICAqbmdJZj1cImNsZWFySWNvbjsgZWxzZSBkZWZhdWx0SWNvblwiXG4gICAgICBzZWxlY3Q9XCJbbWF0U2VsZWN0U2VhcmNoQ2xlYXJdXCJcbiAgICA+PC9uZy1jb250ZW50PlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEljb24+XG4gICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiY2xvc2VTdmdJY29uXCI+XG4gICAgICAgIHt7ICFjbG9zZVN2Z0ljb24gPyBjbG9zZUljb24gOiBudWxsIH19XG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvYnV0dG9uPlxuXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIi5tYXQtc2VsZWN0LXNlYXJjaC1jdXN0b20taGVhZGVyLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG5cbiAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG48L2Rpdj5cblxuPGRpdlxuICAqbmdJZj1cIl9zaG93Tm9FbnRyaWVzRm91bmQkIHwgYXN5bmNcIlxuICBjbGFzcz1cIm1hdC1zZWxlY3Qtc2VhcmNoLW5vLWVudHJpZXMtZm91bmRcIlxuPlxuICA8bmctY29udGVudFxuICAgICpuZ0lmPVwibm9FbnRyaWVzRm91bmQ7IGVsc2UgZGVmYXVsdE5vRW50cmllc0ZvdW5kXCJcbiAgICBzZWxlY3Q9XCJbbWF0U2VsZWN0Tm9FbnRyaWVzRm91bmRdXCJcbiAgPjwvbmctY29udGVudD5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Tm9FbnRyaWVzRm91bmQ+e3sgbm9FbnRyaWVzRm91bmRMYWJlbCB9fTwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
589
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXNlbGVjdC1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1zZWxlY3Qtc2VhcmNoL3NyYy9tYXQtc2VsZWN0LXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbWF0LXNlbGVjdC1zZWFyY2gvc3JjL21hdC1zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUNMLENBQUMsRUFDRCxVQUFVLEVBQ1YsR0FBRyxFQUNILEtBQUssRUFDTCxNQUFNLEVBQ04sSUFBSSxFQUNKLElBQUksRUFDSixLQUFLLEVBQ0wsUUFBUSxFQUNSLENBQUMsRUFDRCxJQUFJLEdBQ0wsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLFdBQVcsRUFDWCxpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9FLE9BQU8sRUFDTCxLQUFL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NkI7Z0JBSzNDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOCBCaXRob3N0IEdtYkggQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7XG4gIEEsXG4gIERPV05fQVJST1csXG4gIEVORCxcbiAgRU5URVIsXG4gIEVTQ0FQRSxcbiAgSE9NRSxcbiAgTklORSxcbiAgU1BBQ0UsXG4gIFVQX0FSUk9XLFxuICBaLFxuICBaRVJPLFxufSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgVmlld3BvcnRSdWxlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Db250cm9sLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0T3B0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkZWxheSxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0U2VsZWN0U2VhcmNoQ2xlYXJEaXJlY3RpdmUgfSBmcm9tICcuL21hdC1zZWxlY3Qtc2VhcmNoLWNsZWFyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBjb25maWd1cmFibGVEZWZhdWx0T3B0aW9ucyxcbiAgTUFUX1NFTEVDVFNFQVJDSF9ERUZBVUxUX09QVElPTlMsXG4gIE1hdFNlbGVjdFNlYXJjaE9wdGlvbnMsXG59IGZyb20gJy4vZGVmYXVsdC1vcHRpb25zJztcbmltcG9ydCB7IE1hdFNlbGVjdE5vRW50cmllc0ZvdW5kRGlyZWN0aXZlIH0gZnJvbSAnLi9tYXQtc2VsZWN0LW5vLWVudHJpZXMtZm91bmQuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBDb21wb25lbnQgcHJvdmlkaW5nIGFuIGlucHV0IGZpZWxkIGZvciBzZWFyY2hpbmcgTWF0U2VsZWN0IG9wdGlvbnMuXG4gKlxuICogRXhhbXBsZSB1c2FnZTpcbiAqXG4gKiBpbnRlcmZhY2UgQmFuayB7XG4gKiAgaWQ6IHN0cmluZztcbiAqICBuYW1lOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogQENvbXBvbmVudCh7XG4gKiAgIHNlbGVjdG9yOiAnbXktYXBwLWRhdGEtc2VsZWN0aW9uJyxcbiAqICAgdGVtcGxhdGU6IGBcbiAqICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gKiAgICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwiYmFua0N0cmxcIiBwbGFjZWhvbGRlcj1cIkJhbmtcIj5cbiAqICAgICAgICAgPG1hdC1vcHRpb24+XG4gKiAgICAgICAgICAgPG5neC1tYXQtc2VsZWN0LXNlYXJjaCBbZm9ybUNvbnRyb2xdPVwiYmFua0ZpbHRlckN0cmxcIj48L25neC1tYXQtc2VsZWN0LXNlYXJjaD5cbiAqICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICogICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYmFuayBvZiBmaWx0ZXJlZEJhbmtzIHwgYXN5bmNcIiBbdmFsdWVdPVwiYmFuay5pZFwiPlxuICogICAgICAgICAgIHt7YmFuay5uYW1lfX1cbiAqICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICogICAgICAgPC9tYXQtc2VsZWN0PlxuICogICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gKiAgIGBcbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgRGF0YVNlbGVjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAqXG4gKiAgIC8vIGNvbnRyb2wgZm9yIHRoZSBzZWxlY3RlZCBiYW5rXG4gKiAgIHB1YmxpYyBiYW5rQ3RybDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAqICAgLy8gY29udHJvbCBmb3IgdGhlIE1hdFNlbGVjdCBmaWx0ZXIga2V5d29yZFxuICogICBwdWJsaWMgYmFua0ZpbHRlckN0cmw6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gKlxuICogICAvLyBsaXN0IG9mIGJhbmtzXG4gKiAgIHByaXZhdGUgYmFua3M6IEJhbmtbXSA9IFt7bmFtZTogJ0JhbmsgQScsIGlkOiAnQSd9LCB7bmFtZTogJ0JhbmsgQicsIGlkOiAnQid9LCB7bmFtZTogJ0JhbmsgQycsIGlkOiAnQyd9XTtcbiAqICAgLy8gbGlzdCBvZiBiYW5rcyBmaWx0ZXJlZCBieSBzZWFyY2gga2V5d29yZFxuICogICBwdWJsaWMgZmlsdGVyZWRCYW5rczogUmVwbGF5U3ViamVjdDxCYW5rW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8QmFua1tdPigxKTtcbiAqXG4gKiAgIC8vIFN1YmplY3QgdGhhdCBlbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgaGFzIGJlZW4gZGVzdHJveWVkLlxuICogICBwcml2YXRlIF9vbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICpcbiAqXG4gKiAgIG5nT25Jbml0KCkge1xuICogICAgIC8vIGxvYWQgdGhlIGluaXRpYWwgYmFuayBsaXN0XG4gKiAgICAgdGhpcy5maWx0ZXJlZEJhbmtzLm5leHQodGhpcy5iYW5rcy5zbGljZSgpKTtcbiAqICAgICAvLyBsaXN0ZW4gZm9yIHNlYXJjaCBmaWVsZCB2YWx1ZSBjaGFuZ2VzXG4gKiAgICAgdGhpcy5iYW5rRmlsdGVyQ3RybC52YWx1ZUNoYW5nZXNcbiAqICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICogICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gKiAgICAgICAgIHRoaXMuZmlsdGVyQmFua3MoKTtcbiAqICAgICAgIH0pO1xuICogICB9XG4gKlxuICogICBuZ09uRGVzdHJveSgpIHtcbiAqICAgICB0aGlzLl9vbkRlc3Ryb3kubmV4dCgpO1xuICogICAgIHRoaXMuX29uRGVzdHJveS5jb21wbGV0ZSgpO1xuICogICB9XG4gKlxuICogICBwcml2YXRlIGZpbHRlckJhbmtzKCkge1xuICogICAgIGlmICghdGhpcy5iYW5rcykge1xuICogICAgICAgcmV0dXJuO1xuICogICAgIH1cbiAqXG4gKiAgICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxuICogICAgIGxldCBzZWFyY2ggPSB0aGlzLmJhbmtGaWx0ZXJDdHJsLnZhbHVlO1xuICogICAgIGlmICghc2VhcmNoKSB7XG4gKiAgICAgICB0aGlzLmZpbHRlcmVkQmFua3MubmV4dCh0aGlzLmJhbmtzLnNsaWNlKCkpO1xuICogICAgICAgcmV0dXJuO1xuICogICAgIH0gZWxzZSB7XG4gKiAgICAgICBzZWFyY2ggPSBzZWFyY2gudG9Mb3dlckNhc2UoKTtcbiAqICAgICB9XG4gKlxuICogICAgIC8vIGZpbHRlciB0aGUgYmFua3NcbiAqICAgICB0aGlzLmZpbHRlcmVkQmFua3MubmV4dChcbiAqICAgICAgIHRoaXMuYmFua3MuZmlsdGVyKGJhbmsgPT4gYmFuay5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2gpID4gLTEpXG4gKiAgICAgKTtcbiAqICAgfVxuICogfVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtc2VsZWN0LXNlYXJjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXQtc2VsZWN0LXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hdC1zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTWF0U2VsZWN0U2VhcmNoQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRTZWxlY3RTZWFyY2hDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3JcbntcbiAgLyoqIExhYmVsIG9mIHRoZSBzZWFyY2ggcGxhY2Vob2xkZXIgKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXJMYWJlbCA9ICdTZWFyY2gnO1xuXG4gIC8qKiBUeXBlIG9mIHRoZSBzZWFyY2ggaW5wdXQgZmllbGQgKi9cbiAgQElucHV0KCkgdHlwZSA9ICd0ZXh0JztcblxuICAvKiogRm9udC1iYXNlZCBpY29uIHVzZWQgZm9yIGRpc3BsYXlpbmcgQ2xvc2UtSWNvbiAqL1xuICBASW5wdXQoKSBjbG9zZUljb24gPSAnY2xvc2UnO1xuXG4gIC8qKiBTdmctYmFzZWQgaWNvbiB1c2VkIGZvciBkaXNwbGF5aW5nIENsb3NlLUljb24uIElmIHNldCwgY2xvc2VJY29uIGlzIG92ZXJyaWRkZW4gKi9cbiAgQElucHV0KCkgY2xvc2VTdmdJY29uID0gJyc7XG5cbiAgLyoqIExhYmVsIHRvIGJlIHNob3duIHdoZW4gbm8gZW50cmllcyBhcmUgZm91bmQuIFNldCB0byBudWxsIGlmIG5vIG1lc3NhZ2Ugc2hvdWxkIGJlIHNob3duLiAqL1xuICBASW5wdXQoKSBub0VudHJpZXNGb3VuZExhYmVsID0gJ05vdGhpbmcgZm91bmQnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgc2VhcmNoIGZpZWxkIHNob3VsZCBiZSBjbGVhcmVkIGFmdGVyIHRoZSBkcm9wZG93biBtZW51IGlzIGNsb3NlZC5cbiAgICogVXNlZnVsIGZvciBzZXJ2ZXItc2lkZSBmaWx0ZXJpbmcuIFNlZSBbIzNdKGh0dHBzOi8vZ2l0aHViLmNvbS9iaXRob3N0LWdtYmgvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoL2lzc3Vlcy8zKVxuICAgKi9cbiAgQElucHV0KCkgY2xlYXJTZWFyY2hJbnB1dCA9IHRydWU7XG5cbiAgLyoqIFdoZXRoZXIgdG8gc2hvdyB0aGUgc2VhcmNoLWluLXByb2dyZXNzIGluZGljYXRvciAqL1xuICBASW5wdXQoKSBzZWFyY2hpbmcgPSBmYWxzZTtcblxuICAvKiogRGlzYWJsZXMgaW5pdGlhbCBmb2N1c2luZyBvZiB0aGUgaW5wdXQgZmllbGQgKi9cbiAgQElucHV0KCkgZGlzYWJsZUluaXRpYWxGb2N1cyA9IGZhbHNlO1xuXG4gIC8qKiBFbmFibGUgY2xlYXIgaW5wdXQgb24gZXNjYXBlIHByZXNzZWQgKi9cbiAgQElucHV0KCkgZW5hYmxlQ2xlYXJPbkVzY2FwZVByZXNzZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogUHJldmVudHMgaG9tZSAvIGVuZCBrZXkgYmVpbmcgcHJvcGFnYXRlZCB0byBtYXQtc2VsZWN0LFxuICAgKiBhbGxvd2luZyB0byBtb3ZlIHRoZSBjdXJzb3Igd2l0aGluIHRoZSBzZWFyY2ggaW5wdXQgaW5zdGVhZCBvZiBuYXZpZ2F0aW5nIHRoZSBvcHRpb25zXG4gICAqL1xuICBASW5wdXQoKSBwcmV2ZW50SG9tZUVuZEtleVByb3BhZ2F0aW9uID0gZmFsc2U7XG5cbiAgLyoqIERpc2FibGVzIHNjcm9sbGluZyB0byBhY3RpdmUgb3B0aW9ucyB3aGVuIG9wdGlvbiBsaXN0IGNoYW5nZXMuIFVzZWZ1bCBmb3Igc2VydmVyLXNpZGUgc2VhcmNoICovXG4gIEBJbnB1dCgpIGRpc2FibGVTY3JvbGxUb0FjdGl2ZU9uT3B0aW9uc0NoYW5nZWQgPSBmYWxzZTtcblxuICAvKiogQWRkcyA1MDggc2NyZWVuIHJlYWRlciBzdXBwb3J0IGZvciBzZWFyY2ggYm94ICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbCA9ICdkcm9wZG93biBzZWFyY2gnO1xuXG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgU2VsZWN0IEFsbCBDaGVja2JveCAoZm9yIG1hdC1zZWxlY3RbbXVsdGk9dHJ1ZV0pICovXG4gIEBJbnB1dCgpIHNob3dUb2dnbGVBbGxDaGVja2JveCA9IGZhbHNlO1xuXG4gIC8qKiBzZWxlY3QgYWxsIGNoZWNrYm94IGNoZWNrZWQgc3RhdGUgKi9cbiAgQElucHV0KCkgdG9nZ2xlQWxsQ2hlY2tib3hDaGVja2VkID0gZmFsc2U7XG5cbiAgLyoqIHNlbGVjdCBhbGwgY2hlY2tib3ggaW5kZXRlcm1pbmF0ZSBzdGF0ZSAqL1xuICBASW5wdXQoKSB0b2dnbGVBbGxDaGVja2JveEluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcblxuICAvKiogRGlzcGxheSBhIG1lc3NhZ2UgaW4gYSB0b29sdGlwIG9uIHRoZSB0b2dnbGUtYWxsIGNoZWNrYm94ICovXG4gIEBJbnB1dCgpIHRvZ2dsZUFsbENoZWNrYm94VG9vbHRpcE1lc3NhZ2UgPSAnJztcblxuICAvKiogRGVmaW5lIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBvbiB0aGUgdG9nZ2xlLWFsbCBjaGVja2JveC4gKi9cbiAgQElucHV0KCkgdG9nZ2xlQWxsQ2hlY2tib3hUb29sdGlwUG9zaXRpb246XG4gICAgfCAnbGVmdCdcbiAgICB8ICdyaWdodCdcbiAgICB8ICdhYm92ZSdcbiAgICB8ICdiZWxvdydcbiAgICB8ICdiZWZvcmUnXG4gICAgfCAnYWZ0ZXInID0gJ2JlbG93JztcblxuICAvKiogU2hvdy9IaWRlIHRoZSBzZWFyY2ggY2xlYXIgYnV0dG9uIG9mIHRoZSBzZWFyY2ggaW5wdXQgKi9cbiAgQElucHV0KCkgaGlkZUNsZWFyU2VhcmNoQnV0dG9uID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEFsd2F5cyByZXN0b3JlIHNlbGVjdGVkIG9wdGlvbnMgb24gc2VsZWN0aW9uQ2hhbmdlIGZvciBtb2RlIG11bHRpIChlLmcuIGZvciBsYXp5IGxvYWRpbmcvaW5maW5pdHkgc2Nyb2xsaW5nKS5cbiAgICogRGVmYXVsdHMgdG8gZmFsc2UsIHNvIHNlbGVjdGVkIG9wdGlvbnMgYXJlIG9ubHkgcmVzdG9yZWQgd2hpbGUgZmlsdGVyaW5nIGlzIGFjdGl2ZS5cbiAgICovXG4gIEBJbnB1dCgpIGFsd2F5c1Jlc3RvcmVTZWxlY3RlZE9wdGlvbnNNdWx0aSA9IGZhbHNlO1xuXG4gIC8qKiBPdXRwdXQgZW1pdHRlciB0byBzZW5kIHRvIHBhcmVudCBjb21wb25lbnQgd2l0aCB0aGUgdG9nZ2xlIGFsbCBib29sZWFuICovXG4gIEBPdXRwdXQoKSB0b2dnbGVBbGwgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgc2VhcmNoIGlucHV0IGZpZWxkICovXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaFNlbGVjdElucHV0JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgc2VhcmNoU2VsZWN0SW5wdXQ/OiBFbGVtZW50UmVmO1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIHNlYXJjaCBpbnB1dCBmaWVsZCAqL1xuICBAVmlld0NoaWxkKCdpbm5lclNlbGVjdFNlYXJjaCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIGlubmVyU2VsZWN0U2VhcmNoPzogRWxlbWVudFJlZjtcblxuICAvKiogUmVmZXJlbmNlIHRvIGN1c3RvbSBzZWFyY2ggaW5wdXQgY2xlYXIgaWNvbiAqL1xuICBAQ29udGVudENoaWxkKE1hdFNlbGVjdFNlYXJjaENsZWFyRGlyZWN0aXZlKVxuICBjbGVhckljb24/OiBNYXRTZWxlY3RTZWFyY2hDbGVhckRpcmVjdGl2ZTtcblxuICAvKiogUmVmZXJlbmNlIHRvIGN1c3RvbSBubyBlbnRyaWVzIGZvdW5kIGVsZW1lbnQgKi9cbiAgQENvbnRlbnRDaGlsZChNYXRTZWxlY3ROb0VudHJpZXNGb3VuZERpcmVjdGl2ZSlcbiAgbm9FbnRyaWVzRm91bmQ/OiBNYXRTZWxlY3ROb0VudHJpZXNGb3VuZERpcmVjdGl2ZTtcblxuICAvKiogQ3VycmVudCBzZWFyY2ggdmFsdWUgKi9cbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLl9mb3JtQ29udHJvbCBhcyBGb3JtQ29udHJvbCkudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIF9sYXN0RXh0ZXJuYWxJbnB1dFZhbHVlPzogc3RyaW5nO1xuXG4gIG9uVG91Y2hlZDogKF86IGFueSkgPT4gdm9pZCA9IChfOiBhbnkpID0+IHtcbiAgICAvL1xuICB9O1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIE1hdFNlbGVjdCBvcHRpb25zICovXG4gIHB1YmxpYyBzZXQgX29wdGlvbnMoX29wdGlvbnM6IFF1ZXJ5TGlzdDxNYXRPcHRpb24+KSB7XG4gICAgdGhpcy5fb3B0aW9ucyQubmV4dChfb3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IF9vcHRpb25zKCk6IFF1ZXJ5TGlzdDxNYXRPcHRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBfb3B0aW9ucyQ6IEJlaGF2aW9yU3ViamVjdDxRdWVyeUxpc3Q8TWF0T3B0aW9uPj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgIFF1ZXJ5TGlzdDxNYXRPcHRpb24+XG4gID4obmV3IFF1ZXJ5TGlzdCgpKTtcblxuICBwcml2YXRlIG9wdGlvbnNMaXN0JDogT2JzZXJ2YWJsZTxNYXRPcHRpb25bXT4gPSB0aGlzLl9vcHRpb25zJC5waXBlKFxuICAgIHN3aXRjaE1hcChfb3B0aW9ucyA9PlxuICAgICAgX29wdGlvbnNcbiAgICAgICAgPyBfb3B0aW9ucy5jaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICBtYXAob3B0aW9ucyA9PiBvcHRpb25zLnRvQXJyYXkoKSksXG4gICAgICAgICAgICBzdGFydFdpdGg8TWF0T3B0aW9uW10+KF9vcHRpb25zLnRvQXJyYXkoKSksXG4gICAgICAgICAgKVxuICAgICAgICA6IG9mKFtdKSxcbiAgICApLFxuICApO1xuXG4gIHByaXZhdGUgb3B0aW9uc0xlbmd0aCQ6IE9ic2VydmFibGU8bnVtYmVyPiA9IHRoaXMub3B0aW9uc0xpc3QkLnBpcGUoXG4gICAgbWFwKG9wdGlvbnMgPT4gKG9wdGlvbnMgPyBvcHRpb25zLmxlbmd0aCA6IDApKSxcbiAgKTtcblxuICAvKiogUHJldmlvdXNseSBzZWxlY3RlZCB2YWx1ZXMgd2hlbiB1c2luZyA8bWF0LXNlbGVjdCBbbXVsdGlwbGVdPVwidHJ1ZVwiPiovXG4gIHByaXZhdGUgcHJldmlvdXNTZWxlY3RlZFZhbHVlcz86IGFueVtdO1xuXG4gIHB1YmxpYyBfZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+ID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpO1xuXG4gIC8qKiB3aGV0aGVyIHRvIHNob3cgdGhlIG5vIGVudHJpZXMgZm91bmQgbWVzc2FnZSAqL1xuICBwdWJsaWMgX3Nob3dOb0VudHJpZXNGb3VuZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLl9mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMsXG4gICAgdGhpcy5vcHRpb25zTGVuZ3RoJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtfLCBvcHRpb25zTGVuZ3RoXSkgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgdGhpcy5ub0VudHJpZXNGb3VuZExhYmVsICE9PSAnJyAmJlxuICAgICAgICBvcHRpb25zTGVuZ3RoID09PSB0aGlzLmdldE9wdGlvbnNMZW5ndGhPZmZzZXQoKVxuICAgICAgKTtcbiAgICB9KSxcbiAgKTtcblxuICAvKiogU3ViamVjdCB0aGF0IGVtaXRzIHdoZW4gdGhlIGNvbXBvbmVudCBoYXMgYmVlbiBkZXN0cm95ZWQuICovXG4gIHByaXZhdGUgX29uRGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byBhY3RpdmUgZGVzY2VuZGFudCBmb3IgQVJJQSBTdXBwb3J0LiAqL1xuICBwcml2YXRlIGFjdGl2ZURlc2NlbmRhbnQ/OiBIVE1MRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1hdFNlbGVjdCkgcHVibGljIG1hdFNlbGVjdDogTWF0U2VsZWN0LFxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfdmlld3BvcnRSdWxlcjogVmlld3BvcnRSdWxlcixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1hdE9wdGlvbikgcHVibGljIG1hdE9wdGlvbjogTWF0T3B0aW9uLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTWF0Rm9ybUZpZWxkKSBwdWJsaWMgbWF0Rm9ybUZpZWxkOiBNYXRGb3JtRmllbGQsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KE1BVF9TRUxFQ1RTRUFSQ0hfREVGQVVMVF9PUFRJT05TKVxuICAgIGRlZmF1bHRPcHRpb25zOiBNYXRTZWxlY3RTZWFyY2hPcHRpb25zLFxuICApIHtcbiAgICB0aGlzLmFwcGx5RGVmYXVsdE9wdGlvbnMoZGVmYXVsdE9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseURlZmF1bHRPcHRpb25zKGRlZmF1bHRPcHRpb25zOiBNYXRTZWxlY3RTZWFyY2hPcHRpb25zKSB7XG4gICAgaWYgKCFkZWZhdWx0T3B0aW9ucykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBjb25maWd1cmFibGVEZWZhdWx0T3B0aW9ucykge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICBpZiAoZGVmYXVsdE9wdGlvbnMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAodGhpc1trZXldIGFzIGFueSkgPSBkZWZhdWx0T3B0aW9uc1trZXldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIHNldCBjdXN0b20gbWF0LW9wdGlvbiBjbGFzcyBpZiB0aGUgY29tcG9uZW50IHdhcyBwbGFjZWQgaW5zaWRlIGEgbWF0LW9wdGlvblxuICAgIGlmICh0aGlzLm1hdE9wdGlvbikge1xuICAgICAgdGhpcy5tYXRPcHRpb24uZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgdGhpcy5tYXRPcHRpb25cbiAgICAgICAgLl9nZXRIb3N0RWxlbWVudCgpXG4gICAgICAgIC5jbGFzc0xpc3QuYWRkKCdjb250YWlucy1tYXQtc2VsZWN0LXNlYXJjaCcpO1xuICAgICAgdGhpcy5tYXRPcHRpb24uX2dldEhvc3RFbGVtZW50KCkuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICc8bmd4LW1hdC1zZWxlY3Qtc2VhcmNoPiBtdXN0IGJlIHBsYWNlZCBpbnNpZGUgYSA8bWF0LW9wdGlvbj4gZWxlbWVudCcsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIHdoZW4gdGhlIHNlbGVjdCBkcm9wZG93biBwYW5lbCBpcyBvcGVuZWQgb3IgY2xvc2VkXG4gICAgdGhpcy5tYXRTZWxlY3Qub3BlbmVkQ2hhbmdlXG4gICAgICAucGlwZShkZWxheSgxKSwgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKG9wZW5lZCA9PiB7XG4gICAgICAgIGlmIChvcGVuZWQpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUlucHV0V2lkdGgoKTtcbiAgICAgICAgICAvLyBmb2N1cyB0aGUgc2VhcmNoIGZpZWxkIHdoZW4gb3BlbmluZ1xuICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlSW5pdGlhbEZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1cygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBjbGVhciBpdCB3aGVuIGNsb3NpbmdcbiAgICAgICAgICBpZiAodGhpcy5jbGVhclNlYXJjaElucHV0KSB7XG4gICAgICAgICAgICB0aGlzLl9yZXNldCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAvLyBzZXQgdGhlIGZpcnN0IGl0ZW0gYWN0aXZlIGFmdGVyIHRoZSBvcHRpb25zIGNoYW5nZWRcbiAgICB0aGlzLm1hdFNlbGVjdC5vcGVuZWRDaGFuZ2VcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBzd2l0Y2hNYXAoXyA9PiB7XG4gICAgICAgICAgdGhpcy5fb3B0aW9ucyA9IHRoaXMubWF0U2VsZWN0Lm9wdGlvbnM7XG5cbiAgICAgICAgICAvLyBDbG9zdXJlIHZhcmlhYmxlIGZvciB0cmFja2luZyB0aGUgbW9zdCByZWNlbnQgZmlyc3Qgb3B0aW9uLlxuICAgICAgICAgIC8vIEluIG9yZGVyIHRvIGF2b2lkIGF2b2lkIGNhdXNpbmcgdGhlIGxpc3QgdG9cbiAgICAgICAgICAvLyBzY3JvbGwgdG8gdGhlIHRvcCB3aGVuIG9wdGlvbnMgYXJlIGFkZGVkIHRvIHRoZSBib3R0b20gb2ZcbiAgICAgICAgICAvLyB0aGUgbGlzdCAoZWc6IGluZmluaXRlIHNjcm9sbCksIHdlIGNvbXBhcmUgb25seVxuICAgICAgICAgIC8vIHRoZSBjaGFuZ2VzIHRvIHRoZSBmaXJzdCBvcHRpb25zIHRvIGRldGVybWluZSBpZiB3ZVxuICAgICAgICAgIC8vIHNob3VsZCBzZXQgdGhlIGZpcnN0IGl0ZW0gYXMgYWN0aXZlLlxuICAgICAgICAgIC8vIFRoaXMgcHJldmVudHMgdW5uZWNlc3Nhcnkgc2Nyb2xsaW5nIHRvIHRoZSB0b3Agb2YgdGhlIGxpc3RcbiAgICAgICAgICAvLyB3aGVuIG9wdGlvbnMgYXJlIGFwcGVuZGVkLCBidXQgYWxsb3dzIHRoZSBmaXJzdCBpdGVtXG4gICAgICAgICAgLy8gaW4gdGhlIGxpc3QgdG8gYmUgc2V0IGFzIGFjdGl2ZSBieSBkZWZhdWx0IHdoZW4gdGhlcmVcbiAgICAgICAgICAvLyBpcyBubyBhY3RpdmUgc2VsZWN0aW9uXG4gICAgICAgICAgbGV0IHByZXZpb3VzRmlyc3RPcHRpb24gPVxuICAgICAgICAgICAgdGhpcy5fb3B0aW9ucy50b0FycmF5KClbdGhpcy5nZXRPcHRpb25zTGVuZ3RoT2Zmc2V0KCldO1xuXG4gICAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnMuY2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgLy8gYXZvaWQgXCJleHByZXNzaW9uIGhhcyBiZWVuIGNoYW5nZWRcIiBlcnJvclxuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBDb252ZXJ0IHRoZSBRdWVyeUxpc3QgdG8gYW4gYXJyYXlcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5fb3B0aW9ucy50b0FycmF5KCk7XG5cbiAgICAgICAgICAgICAgICAvLyBUaGUgdHJ1ZSBmaXJzdCBpdGVtIGlzIG9mZnNldCBieSAxXG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudEZpcnN0T3B0aW9uID1cbiAgICAgICAgICAgICAgICAgIG9wdGlvbnNbdGhpcy5nZXRPcHRpb25zTGVuZ3RoT2Zmc2V0KCldO1xuXG4gICAgICAgICAgICAgICAgY29uc3Qga2V5TWFuYWdlciA9IHRoaXMubWF0U2VsZWN0Ll9rZXlNYW5hZ2VyO1xuICAgICAgICAgICAgICAgIGlmIChrZXlNYW5hZ2VyICYmIHRoaXMubWF0U2VsZWN0LnBhbmVsT3Blbikge1xuICAgICAgICAgICAgICAgICAgLy8gc2V0IGZpcnN0IGl0ZW0gYWN0aXZlIGFuZCBpbnB1dCB3aWR0aFxuXG4gICAgICAgICAgICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYgdGhlIGZpcnN0IG9wdGlvbiBpbiB0aGVzZSBjaGFuZ2VzIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBwcmV2aW91cy5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0T3B0aW9uSXNDaGFuZ2VkID0gIXRoaXMubWF0U2VsZWN0LmNvbXBhcmVXaXRoKFxuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0ZpcnN0T3B0aW9uLFxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50Rmlyc3RPcHRpb24sXG4gICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAvLyBDQVNFOiBUaGUgZmlyc3Qgb3B0aW9uIGlzIGRpZmZlcmVudCBub3cuXG4gICAgICAgICAgICAgICAgICAvLyBJbmRpY2lhdGVzIHdlIHNob3VsZCBzZXQgaXQgYXMgYWN0aXZlIGFuZCBzY3JvbGwgdG8gdGhlIHRvcC5cbiAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgZmlyc3RPcHRpb25Jc0NoYW5nZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgIWtleU1hbmFnZXIuYWN0aXZlSXRlbSB8fFxuICAgICAgICAgICAgICAgICAgICAhb3B0aW9ucy5maW5kKG9wdGlvbiA9PlxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWF0U2VsZWN0LmNvbXBhcmVXaXRoKG9wdGlvbiwga2V5TWFuYWdlci5hY3RpdmVJdGVtKSxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGtleU1hbmFnZXIuc2V0Rmlyc3RJdGVtQWN0aXZlKCk7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC8vIHdhaXQgZm9yIHBhbmVsIHdpZHRoIGNoYW5nZXNcbiAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUlucHV0V2lkdGgoKTtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSBvdXIgcmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgcHJldmlvdXNGaXJzdE9wdGlvbiA9IGN1cnJlbnRGaXJzdE9wdGlvbjtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgLy8gYWRkIG9yIHJlbW92ZSBjc3MgY2xhc3MgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdG8gc2hvdyB0aGUgbm8gZW50cmllcyBmb3VuZCBtZXNzYWdlXG4gICAgLy8gbm90ZTogdGhpcyBpcyBoYWNreVxuICAgIHRoaXMuX3Nob3dOb0VudHJpZXNGb3VuZCRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgLnN1YnNjcmliZShzaG93Tm9FbnRyaWVzRm91bmQgPT4ge1xuICAgICAgICAvLyBzZXQgbm8gZW50cmllcyBmb3VuZCBjbGFzcyBvbiBtYXQgb3B0aW9uXG4gICAgICAgIGlmICh0aGlzLm1hdE9wdGlvbikge1xuICAgICAgICAgIGlmIChzaG93Tm9FbnRyaWVzRm91bmQpIHtcbiAgICAgICAgICAgIHRoaXMubWF0T3B0aW9uXG4gICAgICAgICAgICAgIC5fZ2V0SG9zdEVsZW1lbnQoKVxuICAgICAgICAgICAgICAuY2xhc3NMaXN0LmFkZCgnbWF0LXNlbGVjdC1zZWFyY2gtbm8tZW50cmllcy1mb3VuZCcpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1hdE9wdGlvblxuICAgICAgICAgICAgICAuX2dldEhvc3RFbGVtZW50KClcbiAgICAgICAgICAgICAgLmNsYXNzTGlzdC5yZW1vdmUoJ21hdC1zZWxlY3Qtc2VhcmNoLW5vLWVudHJpZXMtZm91bmQnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgLy8gcmVzaXplIHRoZSBpbnB1dCB3aWR0aCB3aGVuIHRoZSB2aWV3cG9ydCBpcyByZXNpemVkLCBpLmUuIHRoZSB0cmlnZ2VyIHdpZHRoIGNvdWxkIHBvdGVudGlhbGx5IGJlIHJlc2l6ZWRcbiAgICB0aGlzLl92aWV3cG9ydFJ1bGVyXG4gICAgICAuY2hhbmdlKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLm1hdFNlbGVjdC5wYW5lbE9wZW4pIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUlucHV0V2lkdGgoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLmluaXRNdWx0aXBsZUhhbmRsaW5nKCk7XG5cbiAgICB0aGlzLm9wdGlvbnNMaXN0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgLy8gdXBkYXRlIHZpZXcgd2hlbiBhdmFpbGFibGUgb3B0aW9ucyBjaGFuZ2VcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBfZW1pdFNlbGVjdEFsbEJvb2xlYW5Ub1BhcmVudChzdGF0ZTogYm9vbGVhbikge1xuICAgIHRoaXMudG9nZ2xlQWxsLmVtaXQoc3RhdGUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIF9pc1RvZ2dsZUFsbENoZWNrYm94VmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tYXRTZWxlY3QubXVsdGlwbGUgJiYgdGhpcy5zaG93VG9nZ2xlQWxsQ2hlY2tib3g7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUga2V5IGRvd24gZXZlbnQgd2l0aCBNYXRTZWxlY3QuXG4gICAqIEFsbG93cyBlLmcuIHNlbGVjdGluZyB3aXRoIGVudGVyIGtleSwgbmF2aWdhdGlvbiB3aXRoIGFycm93IGtleXMsIGV0Yy5cbiAgICogQHBhcmFtIGV2ZW50XG4gICAqL1xuICBfaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIC8vIFByZXZlbnQgcHJvcGFnYXRpb24gZm9yIGFsbCBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBpbiBvcmRlciB0byBhdm9pZCBzZWxlY3Rpb24gaXNzdWVzXG4gICAgaWYgKFxuICAgICAgKGV2ZW50LmtleSAmJiBldmVudC5rZXkubGVuZ3RoID09PSAxKSB8fFxuICAgICAgKGV2ZW50LmtleUNvZGUgPj0gQSAmJiBldmVudC5rZXlDb2RlIDw9IFopIHx8XG4gICAgICAoZXZlbnQua2V5Q29kZSA+PSBaRVJPICYmIGV2ZW50LmtleUNvZGUgPD0gTklORSkgfHxcbiAgICAgIGV2ZW50LmtleUNvZGUgPT09IFNQQUNFIHx8XG4gICAgICAodGhpcy5wcmV2ZW50SG9tZUVuZEtleVByb3BhZ2F0aW9uICYmXG4gICAgICAgIChldmVudC5rZXlDb2RlID09PSBIT01FIHx8IGV2ZW50LmtleUNvZGUgPT09IEVORCkpXG4gICAgKSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tYXRTZWxlY3QubXVsdGlwbGUgJiYgZXZlbnQua2V5ICYmIGV2ZW50LmtleUNvZGUgPT09IEVOVEVSKSB7XG4gICAgICAvLyBSZWdhaW4gZm9jdXMgYWZ0ZXIgbXVsdGlzZWxlY3QsIHNvIHdlIGNhbiBmdXJ0aGVyIHR5cGVcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fZm9jdXMoKSk7XG4gICAgfVxuXG4gICAgLy8gU3BlY2lhbCBjYXNlIGlmIGNsaWNrIEVzY2FwZSwgaWYgaW5wdXQgaXMgZW1wdHksIGNsb3NlIHRoZSBkcm9wZG93biwgaWYgbm90LCBlbXB0eSBvdXQgdGhlIHNlYXJjaCBmaWVsZFxuICAgIGlmIChcbiAgICAgIHRoaXMuZW5hYmxlQ2xlYXJPbkVzY2FwZVByZXNzZWQgPT09IHRydWUgJiZcbiAgICAgIGV2ZW50LmtleUNvZGUgPT09IEVTQ0FQRSAmJlxuICAgICAgdGhpcy52YWx1ZVxuICAgICkge1xuICAgICAgdGhpcy5fcmVzZXQodHJ1ZSk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUga2V5IHVwIGV2ZW50IHdpdGggTWF0U2VsZWN0LlxuICAgKiBBbGxvd3MgZS5nLiB0aGUgYW5ub3VuY2luZyBvZiB0aGUgY3VycmVudGx5IGFjdGl2ZURlc2NlbmRhbnQgYnkgc2NyZWVuIHJlYWRlcnMuXG4gICAqL1xuICBfaGFuZGxlS2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gVVBfQVJST1cgfHwgZXZlbnQua2V5Q29kZSA9PT0gRE9XTl9BUlJPVykge1xuICAgICAgY29uc3QgYXJpYUFjdGl2ZURlc2NlbmRhbnRJZCA9IHRoaXMubWF0U2VsZWN0Ll9nZXRBcmlhQWN0aXZlRGVzY2VuZGFudCgpO1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9vcHRpb25zXG4gICAgICAgIC50b0FycmF5KClcbiAgICAgICAgLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGFyaWFBY3RpdmVEZXNjZW5kYW50SWQpO1xuICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICB0aGlzLnVuc2VsZWN0QWN0aXZlRGVzY2VuZGFudCgpO1xuXG4gICAgICAgIGNvbnN0IHRlbXAgPSB0aGlzLl9vcHRpb25zLnRvQXJyYXkoKTtcbiAgICAgICAgdGhpcy5hY3RpdmVEZXNjZW5kYW50ID0gdGVtcFtpbmRleF0uX2dldEhvc3RFbGVtZW50KCk7XG5cbiAgICAgICAgdGhpcy5hY3RpdmVEZXNjZW5kYW50LnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsICd0cnVlJyk7XG5cbiAgICAgICAgdGhpcy5zZWFyY2hTZWxlY3RJbnB1dD8ubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCcsXG4gICAgICAgICAgYXJpYUFjdGl2ZURlc2NlbmRhbnRJZCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9sYXN0RXh0ZXJuYWxJbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5fZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkJsdXIoKSB7XG4gICAgdGhpcy51bnNlbGVjdEFjdGl2ZURlc2NlbmRhbnQoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZCkge1xuICAgIHRoaXMuX2Zvcm1Db250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcih2YWx1ZSA9PiB2YWx1ZSAhPT0gdGhpcy5fbGFzdEV4dGVybmFsSW5wdXRWYWx1ZSksXG4gICAgICAgIHRhcCgoKSA9PiAodGhpcy5fbGFzdEV4dGVybmFsSW5wdXRWYWx1ZSA9IHVuZGVmaW5lZCkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZm4pO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvY3VzZXMgdGhlIHNlYXJjaCBpbnB1dCBmaWVsZFxuICAgKi9cbiAgcHVibGljIF9mb2N1cygpIHtcbiAgICBpZiAoIXRoaXMuc2VhcmNoU2VsZWN0SW5wdXQgfHwgIXRoaXMubWF0U2VsZWN0LnBhbmVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIHNhdmUgYW5kIHJlc3RvcmUgc2Nyb2xsVG9wIG9mIHBhbmVsLCBzaW5jZSBpdCB3aWxsIGJlIHJlc2V0IGJ5IGZvY3VzKClcbiAgICAvLyBub3RlOiB0aGlzIGlzIGhhY2t5XG4gICAgY29uc3QgcGFuZWwgPSB0aGlzLm1hdFNlbGVjdC5wYW5lbC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHNjcm9sbFRvcCA9IHBhbmVsLnNjcm9sbFRvcDtcblxuICAgIC8vIGZvY3VzXG4gICAgdGhpcy5zZWFyY2hTZWxlY3RJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cbiAgICBwYW5lbC5zY3JvbGxUb3AgPSBzY3JvbGxUb3A7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBjdXJyZW50IHNlYXJjaCB2YWx1ZVxuICAgKiBAcGFyYW0gZm9jdXMgd2hldGhlciB0byBmb2N1cyBhZnRlciByZXNldHRpbmdcbiAgICovXG4gIHB1YmxpYyBfcmVzZXQoZm9jdXM/OiBib29sZWFuKSB7XG4gICAgdGhpcy5fZm9ybUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgIGlmIChmb2N1cykge1xuICAgICAgdGhpcy5fZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgaGFuZGxpbmcgPG1hdC1zZWxlY3QgW211bHRpcGxlXT1cInRydWVcIj5cbiAgICogTm90ZTogdG8gaW1wcm92ZSB0aGlzIGNvZGUsIG1hdC1zZWxlY3Qgc2hvdWxkIGJlIGV4dGVuZGVkIHRvIGFsbG93IGRpc2FibGluZyByZXNldHRpbmcgdGhlIHNlbGVjdGlvbiB3aGlsZSBmaWx0ZXJpbmcuXG4gICAqL1xuICBwcml2YXRlIGluaXRNdWx0aXBsZUhhbmRsaW5nKCkge1xuICAgIGlmICghdGhpcy5tYXRTZWxlY3QubmdDb250cm9sKSB7XG4gICAgICBpZiAodGhpcy5tYXRTZWxlY3QubXVsdGlwbGUpIHtcbiAgICAgICAgLy8gbm90ZTogdGhlIGFjY2VzcyB0byBtYXRTZWxlY3QubmdDb250cm9sIChpbnN0ZWFkIG9mIG1hdFNlbGVjdC52YWx1ZSAvIG1hdFNlbGVjdC52YWx1ZUNoYW5nZXMpXG4gICAgICAgIC8vIGlzIG5lY2Vzc2FyeSB0byBwcm9wZXJseSB3b3JrIGluIG11bHRpLXNlbGVjdGlvbiBtb2RlLlxuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICd0aGUgbWF0LXNlbGVjdCBjb250YWluaW5nIG5neC1tYXQtc2VsZWN0LXNlYXJjaCBtdXN0IGhhdmUgYSBuZ01vZGVsIG9yIGZvcm1Db250cm9sIGRpcmVjdGl2ZSB3aGVuIG11bHRpcGxlPXRydWUnLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBpZiA8bWF0LXNlbGVjdCBbbXVsdGlwbGVdPVwidHJ1ZVwiPlxuICAgIC8vIHN0b3JlIHByZXZpb3VzbHkgc2VsZWN0ZWQgdmFsdWVzIGFuZCByZXN0b3JlIHRoZW0gd2hlbiB0aGV5IGFyZSBkZXNlbGVjdGVkXG4gICAgLy8gYmVjYXVzZSB0aGUgb3B0aW9uIGlzIG5vdCBhdmFpbGFibGUgd2hpbGUgd2UgYXJlIGN1cnJlbnRseSBmaWx0ZXJpbmdcbiAgICB0aGlzLnByZXZpb3VzU2VsZWN0ZWRWYWx1ZXMgPSB0aGlzLm1hdFNlbGVjdC5uZ0NvbnRyb2wudmFsdWU7XG5cbiAgICB0aGlzLm1hdFNlbGVjdC5uZ0NvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKHZhbHVlcyA9PiB7XG4gICAgICAgIGxldCByZXN0b3JlU2VsZWN0ZWRWYWx1ZXMgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMubWF0U2VsZWN0Lm11bHRpcGxlKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHRoaXMuYWx3YXlzUmVzdG9yZVNlbGVjdGVkT3B0aW9uc011bHRpIHx8XG4gICAgICAgICAgICAgICh0aGlzLl9mb3JtQ29udHJvbC52YWx1ZSAmJiB0aGlzLl9mb3JtQ29udHJvbC52YWx1ZS5sZW5ndGgpKSAmJlxuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1NlbGVjdGVkVmFsdWVzICYmXG4gICAgICAgICAgICBBcnJheS5pc0FycmF5KHRoaXMucHJldmlvdXNTZWxlY3RlZFZhbHVlcylcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGlmICghdmFsdWVzIHx8ICFBcnJheS5pc0FycmF5KHZhbHVlcykpIHtcbiAgICAgICAgICAgICAgdmFsdWVzID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBvcHRpb25WYWx1ZXMgPSB0aGlzLm1hdFNlbGVjdC5vcHRpb25zLm1hcChcbiAgICAgICAgICAgICAgb3B0aW9uID0+IG9wdGlvbi52YWx1ZSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLnByZXZpb3VzU2VsZWN0ZWRWYWx1ZXMuZm9yRWFjaChwcmV2aW91c1ZhbHVlID0+IHtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF2YWx1ZXMuc29tZSgodjogYW55KSA9PlxuICAgICAgICAgICAgICAgICAgdGhpcy5tYXRTZWxlY3QuY29tcGFyZVdpdGgodiwgcHJldmlvdXNWYWx1ZSksXG4gICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICFvcHRpb25WYWx1ZXMuc29tZSh2ID0+XG4gICAgICAgICAgICAgICAgICB0aGlzLm1hdFNlbGVjdC5jb21wYXJlV2l0aCh2LCBwcmV2aW91c1ZhbHVlKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC8vIGlmIGEgdmFsdWUgdGhhdCB3YXMgc2VsZWN0ZWQgYmVmb3JlIGlzIGRlc2VsZWN0ZWQgYW5kIG5vdCBmb3VuZCBpbiB0aGUgb3B0aW9ucywgaXQgd2FzIGRlc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICAvLyBkdWUgdG8gdGhlIGZpbHRlcmluZywgc28gd2UgcmVzdG9yZSBpdC5cbiAgICAgICAgICAgICAgICB2YWx1ZXMucHVzaChwcmV2aW91c1ZhbHVlKTtcbiAgICAgICAgICAgICAgICByZXN0b3JlU2VsZWN0ZWRWYWx1ZXMgPSB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcmV2aW91c1NlbGVjdGVkVmFsdWVzID0gdmFsdWVzO1xuXG4gICAgICAgIGlmIChyZXN0b3JlU2VsZWN0ZWRWYWx1ZXMpIHtcbiAgICAgICAgICB0aGlzLm1hdFNlbGVjdC5fb25DaGFuZ2UodmFsdWVzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIFNldCB0aGUgd2lkdGggb2YgdGhlIGlubmVyU2VsZWN0U2VhcmNoIHRvIGZpdCBldmVuIGN1c3RvbSBzY3JvbGxiYXJzXG4gICAqICBBbmQgc3VwcG9ydCBhbGwgT3BlcmF0aW9uIFN5c3RlbXNcbiAgICovXG4gIHB1YmxpYyB1cGRhdGVJbnB1dFdpZHRoKCkge1xuICAgIGlmICghdGhpcy5pbm5lclNlbGVjdFNlYXJjaCB8fCAhdGhpcy5pbm5lclNlbGVjdFNlYXJjaC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBlbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuaW5uZXJTZWxlY3RTZWFyY2gubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoZWxlbWVudC5wYXJlbnRFbGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBsZXQgcGFuZWxFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgICAgd2hpbGUgKChlbGVtZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50KSkge1xuICAgICAgICBpZiAoZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ21hdC1zZWxlY3QtcGFuZWwnKSkge1xuICAgICAgICAgIHBhbmVsRWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChwYW5lbEVsZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5pbm5lclNlbGVjdFNlYXJjaC5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID1cbiAgICAgICAgICBwYW5lbEVsZW1lbnQuY2xpZW50V2lkdGggKyAncHgnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmUgdGhlIG9mZnNldCB0byBsZW5ndGggdGhhdCBjYW4gYmUgY2F1c2VkIGJ5IHRoZSBvcHRpb25hbCBtYXRPcHRpb24gdXNlZCBhcyBhIHNlYXJjaCBpbnB1dC5cbiAgICovXG4gIHByaXZhdGUgZ2V0T3B0aW9uc0xlbmd0aE9mZnNldCgpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLm1hdE9wdGlvbikge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdW5zZWxlY3RBY3RpdmVEZXNjZW5kYW50KCkge1xuICAgIHRoaXMuYWN0aXZlRGVzY2VuZGFudD8ucmVtb3ZlQXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJyk7XG4gICAgdGhpcy5zZWFyY2hTZWxlY3RJbnB1dD8ubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoXG4gICAgICAnYXJpYS1hY3RpdmVkZXNjZW5kYW50JyxcbiAgICApO1xuICB9XG59XG4iLCI8IS0tXG5Db3B5cmlnaHQgKGMpIDIwMTggQml0aG9zdCBHbWJIIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG5cblVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG5mb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4tLT5cbjwhLS0gUGxhY2Vob2xkZXIgdG8gYWRqdXN0IHZlcnRpY2FsIG9mZnNldCBvZiB0aGUgbWF0LW9wdGlvbiBlbGVtZW50cyAtLT5cbjxpbnB1dCBtYXRJbnB1dCBjbGFzcz1cIm1hdC1zZWxlY3Qtc2VhcmNoLWlucHV0IG1hdC1zZWxlY3Qtc2VhcmNoLWhpZGRlblwiIC8+XG5cbjwhLS0gTm90ZTogdGhlICBtYXQtZGF0ZXBpY2tlci1jb250ZW50IG1hdC10YWItaGVhZGVyIGFyZSBuZWVkZWQgdG8gaW5oZXJpdCB0aGUgbWF0ZXJpYWwgdGhlbWUgY29sb3JzLCBzZWUgUFIgIzIyIC0tPlxuPGRpdlxuICAjaW5uZXJTZWxlY3RTZWFyY2hcbiAgY2xhc3M9XCJtYXQtc2VsZWN0LXNlYXJjaC1pbm5lciBtYXQtdHlwb2dyYXBoeSBtYXQtZGF0ZXBpY2tlci1jb250ZW50IG1hdC10YWItaGVhZGVyXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdtYXQtc2VsZWN0LXNlYXJjaC1pbm5lci1tdWx0aXBsZSc6IG1hdFNlbGVjdC5tdWx0aXBsZSxcbiAgICAnbWF0LXNlbGVjdC1zZWFyY2gtaW5uZXItdG9nZ2xlLWFsbCc6IF9pc1RvZ2dsZUFsbENoZWNrYm94VmlzaWJsZSgpLFxuICB9XCJcbj5cbiAgPG1hdC1jaGVja2JveFxuICAgICpuZ0lmPVwiX2lzVG9nZ2xlQWxsQ2hlY2tib3hWaXNpYmxlKClcIlxuICAgIFtjb2xvcl09XCJtYXRGb3JtRmllbGQuY29sb3JcIlxuICAgIGNsYXNzPVwibWF0LXNlbGVjdC1zZWFyY2gtdG9nZ2xlLWFsbC1jaGVja2JveFwiXG4gICAgW2NoZWNrZWRdPVwidG9nZ2xlQWxsQ2hlY2tib3hDaGVja2VkXCJcbiAgICBbaW5kZXRlcm1pbmF0ZV09XCJ0b2dnbGVBbGxDaGVja2JveEluZGV0ZXJtaW5hdGVcIlxuICAgIFttYXRUb29sdGlwXT1cInRvZ2dsZUFsbENoZWNrYm94VG9vbHRpcE1lc3NhZ2VcIlxuICAgIG1hdFRvb2x0aXBDbGFzcz1cIm5neC1tYXQtc2VsZWN0LXNlYXJjaC10b2dnbGUtYWxsLXRvb2x0aXBcIlxuICAgIFttYXRUb29sdGlwUG9zaXRpb25dPVwidG9nZ2xlQWxsQ2hlY2tib3hUb29sdGlwUG9zaXRpb25cIlxuICAgIChjaGFuZ2UpPVwiX2VtaXRTZWxlY3RBbGxCb29sZWFuVG9QYXJlbnQoJGV2ZW50LmNoZWNrZWQpXCJcbiAgPjwvbWF0LWNoZWNrYm94PlxuXG4gIDxpbnB1dFxuICAgIGNsYXNzPVwibWF0LXNlbGVjdC1zZWFyY2gtaW5wdXRcIlxuICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgW3R5cGVdPVwidHlwZVwiXG4gICAgW2Zvcm1Db250cm9sXT1cIl9mb3JtQ29udHJvbFwiXG4gICAgI3NlYXJjaFNlbGVjdElucHV0XG4gICAgKGtleWRvd24pPVwiX2hhbmRsZUtleWRvd24oJGV2ZW50KVwiXG4gICAgKGtleXVwKT1cIl9oYW5kbGVLZXl1cCgkZXZlbnQpXCJcbiAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyTGFiZWxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgLz5cbiAgPG1hdC1pY29uICpuZ0lmPVwidmFsdWUgPT09ICcnICYmICFzZWFyY2hpbmdcIiBjbGFzcz1cInN1ZmZpeFwiPnNlYXJjaDwvbWF0LWljb24+XG4gIDxtYXQtc3Bpbm5lclxuICAgICpuZ0lmPVwic2VhcmNoaW5nXCJcbiAgICBjbGFzcz1cIm1hdC1zZWxlY3Qtc2VhcmNoLXNwaW5uZXJcIlxuICAgIGRpYW1ldGVyPVwiMTZcIlxuICA+PC9tYXQtc3Bpbm5lcj5cblxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCIhaGlkZUNsZWFyU2VhcmNoQnV0dG9uICYmIHZhbHVlICYmICFzZWFyY2hpbmdcIlxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXG4gICAgKGNsaWNrKT1cIl9yZXNldCh0cnVlKVwiXG4gICAgY2xhc3M9XCJtYXQtc2VsZWN0LXNlYXJjaC1jbGVhclwiXG4gID5cbiAgICA8bmctY29udGVudFxuICAgICAgKm5nSWY9XCJjbGVhckljb247IGVsc2UgZGVmYXVsdEljb25cIlxuICAgICAgc2VsZWN0PVwiW21hdFNlbGVjdFNlYXJjaENsZWFyXVwiXG4gICAgPjwvbmctY29udGVudD5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRJY29uPlxuICAgICAgPG1hdC1pY29uIFtzdmdJY29uXT1cImNsb3NlU3ZnSWNvblwiPlxuICAgICAgICB7eyAhY2xvc2VTdmdJY29uID8gY2xvc2VJY29uIDogbnVsbCB9fVxuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2J1dHRvbj5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCIubWF0LXNlbGVjdC1zZWFyY2gtY3VzdG9tLWhlYWRlci1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuXG4gIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuPC9kaXY+XG5cbjxkaXZcbiAgKm5nSWY9XCJfc2hvd05vRW50cmllc0ZvdW5kJCB8IGFzeW5jXCJcbiAgY2xhc3M9XCJtYXQtc2VsZWN0LXNlYXJjaC1uby1lbnRyaWVzLWZvdW5kXCJcbj5cbiAgPG5nLWNvbnRlbnRcbiAgICAqbmdJZj1cIm5vRW50cmllc0ZvdW5kOyBlbHNlIGRlZmF1bHROb0VudHJpZXNGb3VuZFwiXG4gICAgc2VsZWN0PVwiW21hdFNlbGVjdE5vRW50cmllc0ZvdW5kXVwiXG4gID48L25nLWNvbnRlbnQ+XG4gIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE5vRW50cmllc0ZvdW5kPnt7IG5vRW50cmllc0ZvdW5kTGFiZWwgfX08L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
53
53
|
}], change: [{
|
|
54
54
|
type: Output
|
|
55
55
|
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtc2VsZWN0YWJsZS1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1zZWxlY3RhYmxlLWJveC9zcmMvb25lbXJ2YS1tYXQtc2VsZWN0YWJsZS1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1zZWxlY3RhYmxlLWJveC9zcmMvb25lbXJ2YS1tYXQtc2VsZWN0YWJsZS1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7Ozs7OztBQU92QixNQUFNLE9BQU8sZ0NBQWdDO0lBbUIzQyxZQUFZLENBQUMsS0FBcUI7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBbEJ4RCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBR1gsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixTQUFJLEdBQXdCLFNBQVMsQ0FBQztRQUd0QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWhCLDREQUE0RDtRQUNsRCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7SUFNSyxDQUFDO0lBRTVELGVBQWU7UUFDYixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLENBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsYUFBYSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUN0RSxDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQ0UsSUFBSSxDQUFDLFdBQVc7WUFDaEIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU87WUFDekIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFDMUIsQ0FBQztZQUNELHVEQUF1RDtZQUN2RCxxRkFBcUY7WUFDckYsdUVBQXVFO1lBQ3ZFLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQ3hELElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUM1QyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7OEdBaERVLGdDQUFnQztrR0FBaEMsZ0NBQWdDLGlTQ2Y3QyxxbUNBd0NBOzsyRkR6QmEsZ0NBQWdDO2tCQUo1QyxTQUFTOytCQUNFLDRCQUE0QjtzRkFLdEMsV0FBVztzQkFEVixTQUFTO3VCQUFDLGFBQWE7Z0JBSXhCLEtBQUs7c0JBREosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRSYWRpb0J1dHRvbiwgTWF0UmFkaW9DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29uZW1ydmEtbWF0LXNlbGVjdGFibGUtYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL29uZW1ydmEtbWF0LXNlbGVjdGFibGUtYm94LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgT25lbXJ2YU1hdFNlbGVjdGFibGVCb3hDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgncmFkaW9CdXR0b24nKVxuICByYWRpb0J1dHRvbjogTWF0UmFkaW9CdXR0b24gfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgdmFsdWUgPSAnJztcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIG1vZGU6ICdwcmltYXJ5JyB8ICd3aGl0ZScgPSAncHJpbWFyeSc7XG5cbiAgQElucHV0KClcbiAgY2hlY2tlZCA9IGZhbHNlO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNYXRSYWRpb0NoYW5nZT4oKTtcblxuICB2YWx1ZUNoYW5nZWQoZXZlbnQ6IE1hdFJhZGlvQ2hhbmdlKSB7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBpc0NoZWNrZWQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMucmFkaW9CdXR0b24/Ll9pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5jaGVja2VkID8/IHRoaXMuY2hlY2tlZFxuICAgICk7XG4gIH1cblxuICB0cmlnZ2VyUmFkaW9DbGljaygpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnJhZGlvQnV0dG9uICYmXG4gICAgICAhdGhpcy5yYWRpb0J1dHRvbi5jaGVja2VkICYmXG4gICAgICAhdGhpcy5yYWRpb0J1dHRvbi5kaXNhYmxlZFxuICAgICkge1xuICAgICAgLy8gaHR0cHM6Ly92MTEubWF0ZXJpYWwuYW5ndWxhci5pby9jb21wb25lbnRzL3JhZGlvL2FwaVxuICAgICAgLy8gQ2hhbmdpbmcgY2hlY2tlZCBwcm9wIGRvZXMgbm90IHRyaWdnZXIgYSBjaGFuZ2UgZXZlbnQgb24gdGhlIGJ1dHRvbiBvciByYWRpb2dyb3VwLFxuICAgICAgLy8gb25seSBvbiB1c2VyLWludGVyYWN0aW9uLiBXb3JrYXJvdW5kIHRyaWdnZXIvc2ltdWxhdGUgYSBjbGljayBldmVudC5cbiAgICAgIHRoaXMucmFkaW9CdXR0b24uX2lucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBNb3VzZUV2ZW50KCdjbGljaycsIHsgYnViYmxlczogZmFsc2UgfSksXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIiwiPG1hdC1jYXJkXG4gIGNsYXNzPVwibSBvbmVtcnZhLXNoYWRvdy1oaWdobGlnaHRcIlxuICBbY2xhc3MucHJpbWFyeV09XCIhaXNDaGVja2VkKClcIlxuICBbY2xhc3Muc2VsZWN0ZWRdPVwiaXNDaGVja2VkKClcIlxuICAoY2xpY2spPVwidHJpZ2dlclJhZGlvQ2xpY2soKVwiXG4+XG4gIDxtYXQtY2FyZC10aXRsZVxuICAgIGNsYXNzPVwic2VsZWN0YWJsZWJveC10aXRsZVwiXG4gICAgW2NsYXNzLnByaW1hcnldPVwibW9kZSA9PT0gJ3ByaW1hcnknXCJcbiAgICBbY2xhc3Mud2hpdGVdPVwibW9kZSA9PT0gJ3doaXRlJ1wiXG4gICAgW2NsYXNzLnNlbGVjdGVkXT1cImlzQ2hlY2tlZCgpXCJcbiAgPlxuICAgIDxtYXQtcmFkaW8tYnV0dG9uXG4gICAgICAjcmFkaW9CdXR0b25cbiAgICAgIChjaGFuZ2UpPVwidmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgYXJpYS1sYWJlbD1cIlNlbGVjdGVkXCJcbiAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgPlxuICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cblxuICAgIDxtYXQtbGFiZWwgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdGl0bGVdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwic2VsZWN0YWJsZS1ib3gtaWNvblwiIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaWNvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbWF0LWxhYmVsPlxuXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3N0aWNrZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L21hdC1jYXJkLXRpdGxlPlxuXG4gIDxtYXQtY2FyZC1jb250ZW50XG4gICAgW2NsYXNzLnByaW1hcnldPVwibW9kZSA9PT0gJ3ByaW1hcnknXCJcbiAgICBbY2xhc3Mud2hpdGVdPVwibW9kZSA9PT0gJ3doaXRlJ1wiXG4gICAgW2NsYXNzLnNlbGVjdGVkXT1cImlzQ2hlY2tlZCgpXCJcbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD5cbiJdfQ==
|
|
@@ -31,11 +31,11 @@ export class OnemrvaMatSideMenuComponent {
|
|
|
31
31
|
this.onSelectOption.emit(menu);
|
|
32
32
|
}
|
|
33
33
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaMatSideMenuComponent, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: OnemrvaMatSideMenuComponent, selector: "onemrva-mat-side-menu", inputs: { menuHeaderKey: "menuHeaderKey", menus: "menus", currentMenu: "currentMenu" }, outputs: { onSelectOption: "onSelectOption" }, ngImport: i0, template: "<mat-chip-row\n *ngIf=\"isSmall; else sideMenu\"\n class=\"onemrva-side-menu\"\n role=\"navigation\"\n>\n <mat-chip\n role=\"\"\n *ngFor=\"let menu of menus; let i = index\"\n class=\"onemrva-side-menu-option\"\n (click)=\"selectMenu(menu)\"\n [ngClass]=\"{\n 'onemrva-side-menu-current-option':\n menu.path === currentMenu || menu.key === currentMenu,\n }\"\n [attr.data-cy]=\"'onemrva-side-menu-chip-option_' + i\"\n >\n {{ menu.wordingKey | translate }}\n </mat-chip>\n</mat-chip-row>\n<ng-template #sideMenu>\n <div class=\"onemrva-side-menu onemrva-expanded-side-menu\">\n <div class=\"onemrva-side-menu-header\">{{ menuHeaderKey | translate }}</div>\n <div\n *ngFor=\"let menu of menus; let i = index\"\n class=\"onemrva-side-menu-option\"\n [ngClass]=\"{\n 'onemrva-side-menu-current-option':\n menu.path === currentMenu || menu.key === currentMenu,\n }\"\n (click)=\"selectMenu(menu)\"\n [attr.data-cy]=\"'onemrva-side-menu-option_' + i\"\n >\n {{ menu.wordingKey | translate }}\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i3.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: OnemrvaMatSideMenuComponent, selector: "onemrva-mat-side-menu", inputs: { menuHeaderKey: "menuHeaderKey", menus: "menus", currentMenu: "currentMenu" }, outputs: { onSelectOption: "onSelectOption" }, ngImport: i0, template: "<mat-chip-row\n *ngIf=\"isSmall; else sideMenu\"\n class=\"onemrva-side-menu\"\n role=\"navigation\"\n>\n <mat-chip\n role=\"\"\n *ngFor=\"let menu of menus; let i = index\"\n class=\"onemrva-side-menu-option\"\n (click)=\"selectMenu(menu)\"\n [ngClass]=\"{\n 'onemrva-side-menu-current-option':\n menu.path === currentMenu || menu.key === currentMenu,\n }\"\n [attr.data-cy]=\"'onemrva-side-menu-chip-option_' + i\"\n >\n {{ menu.wordingKey | translate }}\n </mat-chip>\n</mat-chip-row>\n<ng-template #sideMenu>\n <div class=\"onemrva-side-menu onemrva-expanded-side-menu\">\n <div class=\"onemrva-side-menu-header\">{{ menuHeaderKey | translate }}</div>\n <div\n tabindex=\"1\"\n role=\"button\"\n *ngFor=\"let menu of menus; let i = index\"\n class=\"onemrva-side-menu-option\"\n [ngClass]=\"{\n 'onemrva-side-menu-current-option':\n menu.path === currentMenu || menu.key === currentMenu,\n }\"\n (click)=\"selectMenu(menu)\"\n [attr.data-cy]=\"'onemrva-side-menu-option_' + i\"\n >\n {{ menu.wordingKey | translate }}\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i3.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
35
35
|
}
|
|
36
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaMatSideMenuComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
|
-
args: [{ selector: 'onemrva-mat-side-menu', template: "<mat-chip-row\n *ngIf=\"isSmall; else sideMenu\"\n class=\"onemrva-side-menu\"\n role=\"navigation\"\n>\n <mat-chip\n role=\"\"\n *ngFor=\"let menu of menus; let i = index\"\n class=\"onemrva-side-menu-option\"\n (click)=\"selectMenu(menu)\"\n [ngClass]=\"{\n 'onemrva-side-menu-current-option':\n menu.path === currentMenu || menu.key === currentMenu,\n }\"\n [attr.data-cy]=\"'onemrva-side-menu-chip-option_' + i\"\n >\n {{ menu.wordingKey | translate }}\n </mat-chip>\n</mat-chip-row>\n<ng-template #sideMenu>\n <div class=\"onemrva-side-menu onemrva-expanded-side-menu\">\n <div class=\"onemrva-side-menu-header\">{{ menuHeaderKey | translate }}</div>\n <div\n *ngFor=\"let menu of menus; let i = index\"\n class=\"onemrva-side-menu-option\"\n [ngClass]=\"{\n 'onemrva-side-menu-current-option':\n menu.path === currentMenu || menu.key === currentMenu,\n }\"\n (click)=\"selectMenu(menu)\"\n [attr.data-cy]=\"'onemrva-side-menu-option_' + i\"\n >\n {{ menu.wordingKey | translate }}\n </div>\n </div>\n</ng-template>\n" }]
|
|
38
|
+
args: [{ selector: 'onemrva-mat-side-menu', template: "<mat-chip-row\n *ngIf=\"isSmall; else sideMenu\"\n class=\"onemrva-side-menu\"\n role=\"navigation\"\n>\n <mat-chip\n role=\"\"\n *ngFor=\"let menu of menus; let i = index\"\n class=\"onemrva-side-menu-option\"\n (click)=\"selectMenu(menu)\"\n [ngClass]=\"{\n 'onemrva-side-menu-current-option':\n menu.path === currentMenu || menu.key === currentMenu,\n }\"\n [attr.data-cy]=\"'onemrva-side-menu-chip-option_' + i\"\n >\n {{ menu.wordingKey | translate }}\n </mat-chip>\n</mat-chip-row>\n<ng-template #sideMenu>\n <div class=\"onemrva-side-menu onemrva-expanded-side-menu\">\n <div class=\"onemrva-side-menu-header\">{{ menuHeaderKey | translate }}</div>\n <div\n tabindex=\"1\"\n role=\"button\"\n *ngFor=\"let menu of menus; let i = index\"\n class=\"onemrva-side-menu-option\"\n [ngClass]=\"{\n 'onemrva-side-menu-current-option':\n menu.path === currentMenu || menu.key === currentMenu,\n }\"\n (click)=\"selectMenu(menu)\"\n [attr.data-cy]=\"'onemrva-side-menu-option_' + i\"\n >\n {{ menu.wordingKey | translate }}\n </div>\n </div>\n</ng-template>\n" }]
|
|
39
39
|
}], ctorParameters: () => [{ type: i1.BreakpointObserver }], propDecorators: { menuHeaderKey: [{
|
|
40
40
|
type: Input
|
|
41
41
|
}], menus: [{
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
45
45
|
}], onSelectOption: [{
|
|
46
46
|
type: Output
|
|
47
47
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtc2lkZS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZW1ydmEvZGVzaWduLXN5c3RlbS9tYXQtc2lkZS1tZW51L3NyYy9vbmVtcnZhLW1hdC1zaWRlLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1zaWRlLW1lbnUvc3JjL29uZW1ydmEtbWF0LXNpZGUtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUdiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxXQUFXLEdBRVosTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBYzdCLE1BQU0sT0FBTywyQkFBMkI7SUFVdEMsWUFBbUIsa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFOekQsK0RBQStEO1FBQ3JELG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUUzRCxZQUFPLEdBQUcsSUFBSSxDQUFDO0lBRzZDLENBQUM7SUFFN0QsUUFBUTtRQUNOLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxJQUFJLENBQUMsa0JBQWtCO2FBQzFELE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2hELFNBQVMsQ0FBQyxDQUFDLEtBQXNCLEVBQUUsRUFBRTtZQUNwQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDdEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLDhCQUE4QixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBaUI7UUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQzs4R0E5QlUsMkJBQTJCO2tHQUEzQiwyQkFBMkIsb01DMUJ4Qyx3cENBc0NBOzsyRkRaYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsdUJBQXVCO3VGQUt4QixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQnJlYWtwb2ludE9ic2VydmVyLFxuICBCcmVha3BvaW50cyxcbiAgQnJlYWtwb2ludFN0YXRlLFxufSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9uZW1ydmFNZW51IHtcbiAgd29yZGluZ0tleTogc3RyaW5nO1xuICBwYXRoPzogc3RyaW5nO1xuICBrZXk/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29uZW1ydmEtbWF0LXNpZGUtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnb25lbXJ2YS1tYXQtc2lkZS1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgT25lbXJ2YU1hdFNpZGVNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBtZW51SGVhZGVyS2V5ITogc3RyaW5nO1xuICBASW5wdXQoKSBtZW51cyE6IE9uZW1ydmFNZW51W107XG4gIEBJbnB1dCgpIGN1cnJlbnRNZW51Pzogc3RyaW5nOyAvLyBzdHJpbmcgdG8gYmUgbWF0Y2hlZCBhZ2FpbnN0IG1lbnUucGF0aCBvciBtZW51LmtleVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgQE91dHB1dCgpIG9uU2VsZWN0T3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxPbmVtcnZhTWVudT4oKTtcblxuICBpc1NtYWxsID0gdHJ1ZTtcbiAgYnJlYWtwb2ludE9ic2VydmVyU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlclN1YnNjcmlwdGlvbiA9IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyXG4gICAgICAub2JzZXJ2ZShbQnJlYWtwb2ludHMuWFNtYWxsLCBCcmVha3BvaW50cy5TbWFsbF0pXG4gICAgICAuc3Vic2NyaWJlKChzdGF0ZTogQnJlYWtwb2ludFN0YXRlKSA9PiB7XG4gICAgICAgIGlmIChzdGF0ZS5tYXRjaGVzKSB7XG4gICAgICAgICAgdGhpcy5pc1NtYWxsID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmlzU21hbGwgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHNlbGVjdE1lbnUobWVudTogT25lbXJ2YU1lbnUpIHtcbiAgICB0aGlzLm9uU2VsZWN0T3B0aW9uLmVtaXQobWVudSk7XG4gIH1cbn1cbiIsIjxtYXQtY2hpcC1yb3dcbiAgKm5nSWY9XCJpc1NtYWxsOyBlbHNlIHNpZGVNZW51XCJcbiAgY2xhc3M9XCJvbmVtcnZhLXNpZGUtbWVudVwiXG4gIHJvbGU9XCJuYXZpZ2F0aW9uXCJcbj5cbiAgPG1hdC1jaGlwXG4gICAgcm9sZT1cIlwiXG4gICAgKm5nRm9yPVwibGV0IG1lbnUgb2YgbWVudXM7IGxldCBpID0gaW5kZXhcIlxuICAgIGNsYXNzPVwib25lbXJ2YS1zaWRlLW1lbnUtb3B0aW9uXCJcbiAgICAoY2xpY2spPVwic2VsZWN0TWVudShtZW51KVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ29uZW1ydmEtc2lkZS1tZW51LWN1cnJlbnQtb3B0aW9uJzpcbiAgICAgICAgbWVudS5wYXRoID09PSBjdXJyZW50TWVudSB8fCBtZW51LmtleSA9PT0gY3VycmVudE1lbnUsXG4gICAgfVwiXG4gICAgW2F0dHIuZGF0YS1jeV09XCInb25lbXJ2YS1zaWRlLW1lbnUtY2hpcC1vcHRpb25fJyArIGlcIlxuICA+XG4gICAge3sgbWVudS53b3JkaW5nS2V5IHwgdHJhbnNsYXRlIH19XG4gIDwvbWF0LWNoaXA+XG48L21hdC1jaGlwLXJvdz5cbjxuZy10ZW1wbGF0ZSAjc2lkZU1lbnU+XG4gIDxkaXYgY2xhc3M9XCJvbmVtcnZhLXNpZGUtbWVudSBvbmVtcnZhLWV4cGFuZGVkLXNpZGUtbWVudVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvbmVtcnZhLXNpZGUtbWVudS1oZWFkZXJcIj57eyBtZW51SGVhZGVyS2V5IHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPGRpdlxuICAgICAgdGFiaW5kZXg9XCIxXCJcbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgKm5nRm9yPVwibGV0IG1lbnUgb2YgbWVudXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgY2xhc3M9XCJvbmVtcnZhLXNpZGUtbWVudS1vcHRpb25cIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnb25lbXJ2YS1zaWRlLW1lbnUtY3VycmVudC1vcHRpb24nOlxuICAgICAgICAgIG1lbnUucGF0aCA9PT0gY3VycmVudE1lbnUgfHwgbWVudS5rZXkgPT09IGN1cnJlbnRNZW51LFxuICAgICAgfVwiXG4gICAgICAoY2xpY2spPVwic2VsZWN0TWVudShtZW51KVwiXG4gICAgICBbYXR0ci5kYXRhLWN5XT1cIidvbmVtcnZhLXNpZGUtbWVudS1vcHRpb25fJyArIGlcIlxuICAgID5cbiAgICAgIHt7IG1lbnUud29yZGluZ0tleSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -17,4 +17,4 @@ export const OnemrvaMatSkeletoTypes = mkenum({
|
|
|
17
17
|
CUSTOM: 'custom',
|
|
18
18
|
LINE: '',
|
|
19
19
|
});
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtc2tlbGV0b24tZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbWF0LXNrZWxldG9uL3NyYy9vbmVtcnZhLW1hdC1za2VsZXRvbi1lbnVtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFJNUQsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsTUFBTSxDQUFDO0lBQ2pELEtBQUssRUFBRSxPQUFPO0lBQ2QsUUFBUSxFQUFFLFVBQVU7SUFDcEIsSUFBSSxFQUFFLE1BQU07Q0FDYixDQUFDLENBQUM7QUFJSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLENBQUM7SUFDM0MsRUFBRSxFQUFFLElBQUk7SUFDUixFQUFFLEVBQUUsSUFBSTtJQUNSLEVBQUUsRUFBRSxJQUFJO0lBQ1IsRUFBRSxFQUFFLElBQUk7SUFDUixFQUFFLEVBQUUsSUFBSTtJQUNSLEVBQUUsRUFBRSxJQUFJO0lBQ1IsTUFBTSxFQUFFLFFBQVE7SUFDaEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsSUFBSSxFQUFFLEVBQUU7Q0FDVCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBta2VudW0gfSBmcm9tICdAb25lbXJ2YXB1YmxpYy9kZXNpZ24tc3lzdGVtL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgT25lbXJ2YVNrZWxldG9uTG9hZGVyQ29uZmlnVGhlbWUgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgbnVsbDtcblxuZXhwb3J0IGNvbnN0IE9uZW1ydmFNYXRTa2VsZXRvbkFuaW1hdGlvbnMgPSBta2VudW0oe1xuICBQVUxTRTogJ3B1bHNlJyxcbiAgUFJPR1JFU1M6ICdwcm9ncmVzcycsXG4gIE5PTkU6ICdub25lJyxcbn0pO1xuZXhwb3J0IHR5cGUgT25lbXJ2YU1hdFNrZWxldG9uQW5pbWF0aW9ucyA9XG4gICh0eXBlb2YgT25lbXJ2YU1hdFNrZWxldG9uQW5pbWF0aW9ucylba2V5b2YgdHlwZW9mIE9uZW1ydmFNYXRTa2VsZXRvbkFuaW1hdGlvbnNdO1xuXG5leHBvcnQgY29uc3QgT25lbXJ2YU1hdFNrZWxldG9UeXBlcyA9IG1rZW51bSh7XG4gIEgxOiAnaDEnLFxuICBIMjogJ2gyJyxcbiAgSDM6ICdoMycsXG4gIEg0OiAnaDQnLFxuICBINTogJ2g1JyxcbiAgSDY6ICdoNicsXG4gIEJVVFRPTjogJ2J1dHRvbicsXG4gIENJUkNMRTogJ2NpcmNsZScsXG4gIFNRVUFSRTogJ3NxdWFyZScsXG4gIENVU1RPTTogJ2N1c3RvbScsXG4gIExJTkU6ICcnLFxufSk7XG5leHBvcnQgdHlwZSBPbmVtcnZhTWF0U2tlbGV0b1R5cGVzID1cbiAgKHR5cGVvZiBPbmVtcnZhTWF0U2tlbGV0b1R5cGVzKVtrZXlvZiB0eXBlb2YgT25lbXJ2YU1hdFNrZWxldG9UeXBlc107XG4iXX0=
|
|
@@ -18,6 +18,18 @@ let NEXT_ID = 0;
|
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
20
|
export class OnemrvaMatSkeletonComponent {
|
|
21
|
+
constructor() {
|
|
22
|
+
this.count = 1;
|
|
23
|
+
this.animation = OnemrvaMatSkeletonAnimations.PROGRESS;
|
|
24
|
+
this.type = OnemrvaMatSkeletoTypes.LINE;
|
|
25
|
+
this.size = OnemrvaMatSize.MEDIUM;
|
|
26
|
+
this.theme = [];
|
|
27
|
+
this.ariaLabel = 'loading';
|
|
28
|
+
this.role = 'progressbar';
|
|
29
|
+
this.loadingText = 'Loading...';
|
|
30
|
+
this.id = `onemrva-mat-skeleton-${NEXT_ID++}`;
|
|
31
|
+
this.items = [];
|
|
32
|
+
}
|
|
21
33
|
/** @hidden @internal */
|
|
22
34
|
get _isProgress() {
|
|
23
35
|
return this.animation === OnemrvaMatSkeletonAnimations.PROGRESS;
|
|
@@ -90,18 +102,6 @@ export class OnemrvaMatSkeletonComponent {
|
|
|
90
102
|
get _isXLargeSize() {
|
|
91
103
|
return this.size === OnemrvaMatSize.XLARGE;
|
|
92
104
|
}
|
|
93
|
-
constructor() {
|
|
94
|
-
this.count = 1;
|
|
95
|
-
this.animation = OnemrvaMatSkeletonAnimations.PROGRESS;
|
|
96
|
-
this.type = OnemrvaMatSkeletoTypes.LINE;
|
|
97
|
-
this.size = OnemrvaMatSize.MEDIUM;
|
|
98
|
-
this.theme = [];
|
|
99
|
-
this.ariaLabel = 'loading';
|
|
100
|
-
this.role = 'progressbar';
|
|
101
|
-
this.loadingText = 'Loading...';
|
|
102
|
-
this.id = `onemrva-mat-skeleton-${NEXT_ID++}`;
|
|
103
|
-
this.items = [];
|
|
104
|
-
}
|
|
105
105
|
ngOnInit() {
|
|
106
106
|
this.items.length = this.count;
|
|
107
107
|
}
|
|
@@ -114,7 +114,7 @@ export class OnemrvaMatSkeletonComponent {
|
|
|
114
114
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OnemrvaMatSkeletonComponent, decorators: [{
|
|
115
115
|
type: Component,
|
|
116
116
|
args: [{ selector: 'onemrva-mat-skeleton', template: "<div\n *ngFor=\"let item of items\"\n class=\"skeleton-loader\"\n aria-busy=\"true\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n role=\"progressbar\"\n aria-label=\"loading\"\n [ngStyle]=\"theme\"\n>\n <ng-container *ngIf=\"type === 'custom'\">\n <ng-content></ng-content>\n </ng-container>\n</div>\n", styles: ["onemrva-mat-skeleton.circle,onemrva-mat-skeleton.square{--size: 56px;--resize: 12px}onemrva-mat-skeleton.circle.extrasmall,onemrva-mat-skeleton.square.extrasmall{--size: 32px;--font-size: 12px;--resize: 4px}onemrva-mat-skeleton.circle.small,onemrva-mat-skeleton.square.small{--size: 40px;--font-size: 16px;--resize: 8px}onemrva-mat-skeleton.circle.large,onemrva-mat-skeleton.square.large{--size: 72px;--font-size: 32px;--resize: 16px}onemrva-mat-skeleton.circle.extralarge,onemrva-mat-skeleton.square.extralarge{--resize: 22px;--size: 124px;--font-size: 60px}onemrva-mat-skeleton.circle .skeleton-loader,onemrva-mat-skeleton.square .skeleton-loader{width:var(--size);height:var(--size);margin-top:var(--resize);margin-left:var(--resize)}onemrva-mat-skeleton.circle .skeleton-loader{border-radius:50%}onemrva-mat-skeleton.h1 .skeleton-loader{height:51px}onemrva-mat-skeleton.h2 .skeleton-loader{height:46px}onemrva-mat-skeleton.h3 .skeleton-loader{height:40px}onemrva-mat-skeleton.h4 .skeleton-loader{height:35px}onemrva-mat-skeleton.button .skeleton-loader{height:36px;width:120px;border-radius:500px}onemrva-mat-skeleton.progress .skeleton-loader{transform:translateZ(0)}onemrva-mat-skeleton.progress .skeleton-loader:after,onemrva-mat-skeleton.progress .skeleton-loader:before{box-sizing:border-box}onemrva-mat-skeleton.progress .skeleton-loader:before{animation:progress 2s ease-in-out infinite;background-size:200px 100%;position:absolute;z-index:1;top:0;left:0;width:200px;height:100%;content:\"\"}onemrva-mat-skeleton.progress .skeleton-loader:before{background-image:linear-gradient(90deg,#fff0,#fff9,#fff0)}onemrva-mat-skeleton.pulse .skeleton-loader{animation:pulse 1.5s cubic-bezier(.4,0,.2,1) infinite;animation-delay:.5s}onemrva-mat-skeleton.custom .skeleton-loader{height:100%;background:none}@media (prefers-reduced-motion: reduce){onemrva-mat-skeleton.pulse,onemrva-mat-skeleton.progress-dark,onemrva-mat-skeleton.custom,onemrva-mat-skeleton.progress{animation:none}onemrva-mat-skeleton.progress,onemrva-mat-skeleton.progress-dark,onemrva-mat-skeleton.custom{background-image:none}}onemrva-mat-skeleton .skeleton-loader{box-sizing:border-box;overflow:hidden;position:relative;background:#eff1f6 no-repeat;border-radius:4px;width:100%;height:20px;display:inline-block;margin-bottom:10px;will-change:transform}onemrva-mat-skeleton .skeleton-loader:after,onemrva-mat-skeleton .skeleton-loader:before{box-sizing:border-box}@keyframes progress{0%{transform:translate3d(-200px,0,0)}to{transform:translate3d(calc(200px + 100vw),0,0)}}@keyframes pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}\n"] }]
|
|
117
|
-
}],
|
|
117
|
+
}], propDecorators: { count: [{
|
|
118
118
|
type: Input
|
|
119
119
|
}], animation: [{
|
|
120
120
|
type: Input
|
|
@@ -199,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
199
199
|
type: HostBinding,
|
|
200
200
|
args: ['class.extralarge']
|
|
201
201
|
}] } });
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtc2tlbGV0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1za2VsZXRvbi9zcmMvb25lbXJ2YS1tYXQtc2tlbGV0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1za2VsZXRvbi9zcmMvb25lbXJ2YS1tYXQtc2tlbGV0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsV0FBVyxHQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLHNCQUFzQixHQUV2QixNQUFNLDhCQUE4QixDQUFDOzs7QUFFdEMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRWhCOzs7Ozs7Ozs7Ozs7R0FZRztBQU1ILE1BQU0sT0FBTywyQkFBMkI7SUFpQ3RDLHdCQUF3QjtJQUN4QixJQUNXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLDRCQUE0QixDQUFDLFFBQVEsQ0FBQztJQUNsRSxDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLElBQ1csUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssNEJBQTRCLENBQUMsS0FBSyxDQUFDO0lBQy9ELENBQUM7SUFFRCx3QkFBd0I7SUFDeEIsSUFDVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLElBQ1csSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxzQkFBc0IsQ0FBQyxF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QUMsY0FBYztnQkFPaEIsWUFBWTtzQkFEdEIsV0FBVzt1QkFBQyxhQUFhO2dCQU9mLGFBQWE7c0JBRHZCLFdBQVc7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBIb3N0QmluZGluZyxcbiAgT25DaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9uZW1ydmFNYXRTaXplIH0gZnJvbSAnQG9uZW1ydmFwdWJsaWMvZGVzaWduLXN5c3RlbS91dGlscyc7XG5pbXBvcnQge1xuICBPbmVtcnZhTWF0U2tlbGV0b25BbmltYXRpb25zLFxuICBPbmVtcnZhTWF0U2tlbGV0b1R5cGVzLFxuICBPbmVtcnZhU2tlbGV0b25Mb2FkZXJDb25maWdUaGVtZSxcbn0gZnJvbSAnLi9vbmVtcnZhLW1hdC1za2VsZXRvbi1lbnVtcyc7XG5cbmxldCBORVhUX0lEID0gMDtcblxuLyoqXG4gKiBTa2VsZXRvbiBwcm92aWRlcyBhIHdheSB0byBkaXNwbGF5IGxvYWRpbmcgZWxlbWVudCB3aGlsZSBwYWdlIGlzIGxvYWRpbmcuXG4gKlxuICogQE1hdE1vZHVsZSBPbmVtcnZhTWF0U2tlbGV0b25Nb2R1bGVcbiAqXG4gKiBATWF0S2V5d29yZHMgc2tlbGV0b24sIGxvYWRpbmcsIHByb2dyZXNzXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxvbmVtcnZhLW1hdC1za2VsZXRvbiB0eXBlPVwiYXZhdGFyXCIgc2l6ZT1cImxhcmdlXCI+XG4gKiA8L29uZW1ydmEtbWF0LXNrZWxldG9uPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29uZW1ydmEtbWF0LXNrZWxldG9uJyxcbiAgdGVtcGxhdGVVcmw6ICdvbmVtcnZhLW1hdC1za2VsZXRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydvbmVtcnZhLW1hdC1za2VsZXRvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBPbmVtcnZhTWF0U2tlbGV0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIGNvdW50OiBudW1iZXIgPSAxO1xuXG4gIEBJbnB1dCgpXG4gIGFuaW1hdGlvbjogT25lbXJ2YU1hdFNrZWxldG9uQW5pbWF0aW9ucyA9XG4gICAgT25lbXJ2YU1hdFNrZWxldG9uQW5pbWF0aW9ucy5QUk9HUkVTUztcblxuICBASW5wdXQoKVxuICB0eXBlOiBPbmVtcnZhTWF0U2tlbGV0b1R5cGVzID0gT25lbXJ2YU1hdFNrZWxldG9UeXBlcy5MSU5FO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IE9uZW1ydmFNYXRTaXplID0gT25lbXJ2YU1hdFNpemUuTUVESVVNO1xuXG4gIEBJbnB1dCgpXG4gIHRoZW1lOiBPbmVtcnZhU2tlbGV0b25Mb2FkZXJDb25maWdUaGVtZSA9IFtdO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgQElucHV0KClcbiAgYXJpYUxhYmVsID0gJ2xvYWRpbmcnO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgQElucHV0KClcbiAgcHVibGljIHJvbGUgPSAncHJvZ3Jlc3NiYXInO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci52YWx1ZXRleHQnKVxuICBASW5wdXQoKVxuICBwdWJsaWMgbG9hZGluZ1RleHQgPSAnTG9hZGluZy4uLic7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgQElucHV0KClcbiAgcHVibGljIGlkID0gYG9uZW1ydmEtbWF0LXNrZWxldG9uLSR7TkVYVF9JRCsrfWA7XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MucHJvZ3Jlc3MnKVxuICBwdWJsaWMgZ2V0IF9pc1Byb2dyZXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFuaW1hdGlvbiA9PT0gT25lbXJ2YU1hdFNrZWxldG9uQW5pbWF0aW9ucy5QUk9HUkVTUztcbiAgfVxuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnB1bHNlJylcbiAgcHVibGljIGdldCBfaXNQdWxzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hbmltYXRpb24gPT09IE9uZW1ydmFNYXRTa2VsZXRvbkFuaW1hdGlvbnMuUFVMU0U7XG4gIH1cblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oMScpXG4gIHB1YmxpYyBnZXQgaXNIMSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBPbmVtcnZhTWF0U2tlbGV0b1R5cGVzLkgxO1xuICB9XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaDInKVxuICBwdWJsaWMgZ2V0IGlzSDIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gT25lbXJ2YU1hdFNrZWxldG9UeXBlcy5IMjtcbiAgfVxuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmgzJylcbiAgcHVibGljIGdldCBpc0gzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IE9uZW1ydmFNYXRTa2VsZXRvVHlwZXMuSDM7XG4gIH1cblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oNCcpXG4gIHB1YmxpYyBnZXQgaXNINCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBPbmVtcnZhTWF0U2tlbGV0b1R5cGVzLkg0O1xuICB9XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaDUnKVxuICBwdWJsaWMgZ2V0IGlzSDUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gT25lbXJ2YU1hdFNrZWxldG9UeXBlcy5INTtcbiAgfVxuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmg2JylcbiAgcHVibGljIGdldCBpc0g2KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IE9uZW1ydmFNYXRTa2VsZXRvVHlwZXMuSDY7XG4gIH1cblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5saW5lJylcbiAgcHVibGljIGdldCBfaXNMaW5lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IE9uZW1ydmFNYXRTa2VsZXRvVHlwZXMuTElORTtcbiAgfVxuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJ1dHRvbicpXG4gIHB1YmxpYyBnZXQgX2lzQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IE9uZW1ydmFNYXRTa2VsZXRvVHlwZXMuQlVUVE9OO1xuICB9XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY2lyY2xlJylcbiAgcHVibGljIGdldCBfaXNDaXJjbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gT25lbXJ2YU1hdFNrZWxldG9UeXBlcy5DSVJDTEU7XG4gIH1cblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zcXVhcmUnKVxuICBwdWJsaWMgZ2V0IF9pc1NxdWFyZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBPbmVtcnZhTWF0U2tlbGV0b1R5cGVzLlNRVUFSRTtcbiAgfVxuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmN1c3RvbScpXG4gIHB1YmxpYyBnZXQgX2lzQ3VzdG9tKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IE9uZW1ydmFNYXRTa2VsZXRvVHlwZXMuQ1VTVE9NO1xuICB9XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZXh0cmFzbWFsbCcpXG4gIHB1YmxpYyBnZXQgX2lzWFNtYWxsU2l6ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSBPbmVtcnZhTWF0U2l6ZS5YU01BTEw7XG4gIH1cblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWFsbCcpXG4gIHB1YmxpYyBnZXQgX2lzU21hbGxTaXplKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09IE9uZW1ydmFNYXRTaXplLlNNQUxMO1xuICB9XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWVkaXVtJylcbiAgcHVibGljIGdldCBfaXNNZWRpdW1TaXplKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09IE9uZW1ydmFNYXRTaXplLk1FRElVTTtcbiAgfVxuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmxhcmdlJylcbiAgcHVibGljIGdldCBfaXNMYXJnZVNpemUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gT25lbXJ2YU1hdFNpemUuTEFSR0U7XG4gIH1cblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5leHRyYWxhcmdlJylcbiAgcHVibGljIGdldCBfaXNYTGFyZ2VTaXplKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09IE9uZW1ydmFNYXRTaXplLlhMQVJHRTtcbiAgfVxuXG4gIHB1YmxpYyBpdGVtczogQXJyYXk8YW55PiA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLml0ZW1zLmxlbmd0aCA9IHRoaXMuY291bnQ7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLml0ZW1zLmxlbmd0aCA9IHRoaXMuY291bnQ7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxuICBjbGFzcz1cInNrZWxldG9uLWxvYWRlclwiXG4gIGFyaWEtYnVzeT1cInRydWVcIlxuICBhcmlhLXZhbHVlbWluPVwiMFwiXG4gIGFyaWEtdmFsdWVtYXg9XCIxMDBcIlxuICByb2xlPVwicHJvZ3Jlc3NiYXJcIlxuICBhcmlhLWxhYmVsPVwibG9hZGluZ1wiXG4gIFtuZ1N0eWxlXT1cInRoZW1lXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICdjdXN0b20nXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtc2tlbGV0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1za2VsZXRvbi9zcmMvb25lbXJ2YS1tYXQtc2tlbGV0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1za2VsZXRvbi9zcmMvb25lbXJ2YS1tYXQtc2tlbGV0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsV0FBVyxHQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLHNCQUFzQixHQUV2QixNQUFNLDhCQUE4QixDQUFDOzs7QUFFdEMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRWhCOzs7Ozs7Ozs7Ozs7R0FZRztBQU1ILE1BQU0sT0FBTywyQkFBMkI7SUFMeEM7UUFPRSxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBR1YsY0FBUyxHQUNQLDRCQUE0QixDQUFDLFFBQVEsQ0FBQztRQUd4QyxTQUFJLEdBQTJCLHNCQUFzQixDQUFDLElBQUksQ0FBQztRQUczRCxTQUFJLEdBQW1CLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFHN0MsVUFBSyxHQUFxQyxFQUFFLENBQUM7UUFJN0MsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUlmLFNBQUksR0FBRyxhQUFhLENBQUM7UUFJckIsZ0JBQVcsR0FBRyxZQUFZLENBQUM7UUFJM0IsT0FBRSxHQUFHLHdCQUF3QixPQUFPLEVBQUUsRUFBRSxDQUFDO1FBOEd6QyxVQUFLLEdBQVUsRUFBRSxDQUFDO0tBUzFCO0lBckhDLHdCQUF3QjtJQUN4QixJQUNX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O2dCQU9oQixZQUFZO3NCQUR0QixXQUFXO3VCQUFDLGFBQWE7Z0JBT2YsYUFBYTtzQkFEdkIsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIEhvc3RCaW5kaW5nLFxuICBPbkNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT25lbXJ2YU1hdFNpemUgfSBmcm9tICdAb25lbXJ2YXB1YmxpYy9kZXNpZ24tc3lzdGVtL3V0aWxzJztcbmltcG9ydCB7XG4gIE9uZW1ydmFNYXRTa2VsZXRvbkFuaW1hdGlvbnMsXG4gIE9uZW1ydmFNYXRTa2VsZXRvVHlwZXMsXG4gIE9uZW1ydmFTa2VsZXRvbkxvYWRlckNvbmZpZ1RoZW1lLFxufSBmcm9tICcuL29uZW1ydmEtbWF0LXNrZWxldG9uLWVudW1zJztcblxubGV0IE5FWFRfSUQgPSAwO1xuXG4vKipcbiAqIFNrZWxldG9uIHByb3ZpZGVzIGEgd2F5IHRvIGRpc3BsYXkgbG9hZGluZyBlbGVtZW50IHdoaWxlIHBhZ2UgaXMgbG9hZGluZy5cbiAqXG4gKiBATWF0TW9kdWxlIE9uZW1ydmFNYXRTa2VsZXRvbk1vZHVsZVxuICpcbiAqIEBNYXRLZXl3b3JkcyBza2VsZXRvbiwgbG9hZGluZywgcHJvZ3Jlc3NcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPG9uZW1ydmEtbWF0LXNrZWxldG9uIHR5cGU9XCJhdmF0YXJcIiBzaXplPVwibGFyZ2VcIj5cbiAqIDwvb25lbXJ2YS1tYXQtc2tlbGV0b24+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb25lbXJ2YS1tYXQtc2tlbGV0b24nLFxuICB0ZW1wbGF0ZVVybDogJ29uZW1ydmEtbWF0LXNrZWxldG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ29uZW1ydmEtbWF0LXNrZWxldG9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE9uZW1ydmFNYXRTa2VsZXRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgY291bnQgPSAxO1xuXG4gIEBJbnB1dCgpXG4gIGFuaW1hdGlvbjogT25lbXJ2YU1hdFNrZWxldG9uQW5pbWF0aW9ucyA9XG4gICAgT25lbXJ2YU1hdFNrZWxldG9uQW5pbWF0aW9ucy5QUk9HUkVTUztcblxuICBASW5wdXQoKVxuICB0eXBlOiBPbmVtcnZhTWF0U2tlbGV0b1R5cGVzID0gT25lbXJ2YU1hdFNrZWxldG9UeXBlcy5MSU5FO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IE9uZW1ydmFNYXRTaXplID0gT25lbXJ2YU1hdFNpemUuTUVESVVNO1xuXG4gIEBJbnB1dCgpXG4gIHRoZW1lOiBPbmVtcnZhU2tlbGV0b25Mb2FkZXJDb25maWdUaGVtZSA9IFtdO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgQElucHV0KClcbiAgYXJpYUxhYmVsID0gJ2xvYWRpbmcnO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgQElucHV0KClcbiAgcHVibGljIHJvbGUgPSAncHJvZ3Jlc3NiYXInO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci52YWx1ZXRleHQnKVxuICBASW5wdXQoKVxuICBwdWJsaWMgbG9hZGluZ1RleHQgPSAnTG9hZGluZy4uLic7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgQElucHV0KClcbiAgcHVibGljIGlkID0gYG9uZW1ydmEtbWF0LXNrZWxldG9uLSR7TkVYVF9JRCsrfWA7XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MucHJvZ3Jlc3MnKVxuICBwdWJsaWMgZ2V0IF9pc1Byb2dyZXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFuaW1hdGlvbiA9PT0gT25lbXJ2YU1hdFNrZWxldG9uQW5pbWF0aW9ucy5QUk9HUkVTUztcbiAgfVxuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnB1bHNlJylcbiAgcHVibGljIGdldCBfaXNQdWxzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hbmltYXRpb24gPT09IE9uZW1ydmFNYXRTa2VsZXRvbkFuaW1hdGlvbnMuUFVMU0U7XG4gIH1cblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oMScpXG4gIHB1YmxpYyBnZXQgaXNIMSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBPbmVtcnZhTWF0U2tlbGV0b1R5cGVzLkgxO1xuICB9XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaDInKVxuICBwdWJsaWMgZ2V0IGlzSDIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gT25lbXJ2YU1hdFNrZWxldG9UeXBlcy5IMjtcbiAgfVxuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmgzJylcbiAgcHVibGljIGdldCBpc0gzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IE9uZW1ydmFNYXRTa2VsZXRvVHlwZXMuSDM7XG4gIH1cblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oNCcpXG4gIHB1YmxpYyBnZXQgaXNINCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBPbmVtcnZhTWF0U2tlbGV0b1R5cGVzLkg0O1xuICB9XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaDUnKVxuICBwdWJsaWMgZ2V0IGlzSDUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gT25lbXJ2YU1hdFNrZWxldG9UeXBlcy5INTtcbiAgfVxuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmg2JylcbiAgcHVibGljIGdldCBpc0g2KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IE9uZW1ydmFNYXRTa2VsZXRvVHlwZXMuSDY7XG4gIH1cblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5saW5lJylcbiAgcHVibGljIGdldCBfaXNMaW5lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IE9uZW1ydmFNYXRTa2VsZXRvVHlwZXMuTElORTtcbiAgfVxuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJ1dHRvbicpXG4gIHB1YmxpYyBnZXQgX2lzQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IE9uZW1ydmFNYXRTa2VsZXRvVHlwZXMuQlVUVE9OO1xuICB9XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY2lyY2xlJylcbiAgcHVibGljIGdldCBfaXNDaXJjbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gT25lbXJ2YU1hdFNrZWxldG9UeXBlcy5DSVJDTEU7XG4gIH1cblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zcXVhcmUnKVxuICBwdWJsaWMgZ2V0IF9pc1NxdWFyZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBPbmVtcnZhTWF0U2tlbGV0b1R5cGVzLlNRVUFSRTtcbiAgfVxuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmN1c3RvbScpXG4gIHB1YmxpYyBnZXQgX2lzQ3VzdG9tKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IE9uZW1ydmFNYXRTa2VsZXRvVHlwZXMuQ1VTVE9NO1xuICB9XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZXh0cmFzbWFsbCcpXG4gIHB1YmxpYyBnZXQgX2lzWFNtYWxsU2l6ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSBPbmVtcnZhTWF0U2l6ZS5YU01BTEw7XG4gIH1cblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWFsbCcpXG4gIHB1YmxpYyBnZXQgX2lzU21hbGxTaXplKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09IE9uZW1ydmFNYXRTaXplLlNNQUxMO1xuICB9XG5cbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWVkaXVtJylcbiAgcHVibGljIGdldCBfaXNNZWRpdW1TaXplKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09IE9uZW1ydmFNYXRTaXplLk1FRElVTTtcbiAgfVxuXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmxhcmdlJylcbiAgcHVibGljIGdldCBfaXNMYXJnZVNpemUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gT25lbXJ2YU1hdFNpemUuTEFSR0U7XG4gIH1cblxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5leHRyYWxhcmdlJylcbiAgcHVibGljIGdldCBfaXNYTGFyZ2VTaXplKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09IE9uZW1ydmFNYXRTaXplLlhMQVJHRTtcbiAgfVxuXG4gIHB1YmxpYyBpdGVtczogYW55W10gPSBbXTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLml0ZW1zLmxlbmd0aCA9IHRoaXMuY291bnQ7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLml0ZW1zLmxlbmd0aCA9IHRoaXMuY291bnQ7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxuICBjbGFzcz1cInNrZWxldG9uLWxvYWRlclwiXG4gIGFyaWEtYnVzeT1cInRydWVcIlxuICBhcmlhLXZhbHVlbWluPVwiMFwiXG4gIGFyaWEtdmFsdWVtYXg9XCIxMDBcIlxuICByb2xlPVwicHJvZ3Jlc3NiYXJcIlxuICBhcmlhLWxhYmVsPVwibG9hZGluZ1wiXG4gIFtuZ1N0eWxlXT1cInRoZW1lXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICdjdXN0b20nXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
|
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
30
30
|
type: HostBinding,
|
|
31
31
|
args: ['class.has-spinner']
|
|
32
32
|
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtbG9hZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbWF0LXNwaW5uZXIvc3JjL29uZW1ydmEtbWF0LWxvYWRpbmcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFNN0UsTUFBTSxPQUFPLDBCQUEwQjtJQUtyQyxZQUNVLE9BQW1CLEVBQ25CLGdCQUFrQyxFQUNsQyx3QkFBa0Q7UUFGbEQsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFMNUQsWUFBTyxHQUFHLEtBQUssQ0FBQztJQU1iLENBQUM7SUFFSixRQUFRO1FBQ04sTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDeEMsTUFBTSxnQkFBZ0IsR0FDcEIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUNuRCwwQkFBMEIsQ0FDM0IsQ0FBQztRQUVKLE1BQU0sWUFBWSxHQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFMUQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBRWpDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7OEdBeEJVLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsaUJBQWlCO2lCQUM1QjtxSkFJQyxPQUFPO3NCQUZOLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9uZW1ydmFNYXRTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9vbmVtcnZhLW1hdC1zcGlubmVyLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2J1dHRvbltsb2FkaW5nXScsXG59KVxuZXhwb3J0IGNsYXNzIE9uZW1ydmFNYXRMb2FkaW5nRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtc3Bpbm5lcicpXG4gIGxvYWRpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBob3N0ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9XG4gICAgICB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShcbiAgICAgICAgT25lbXJ2YU1hdFNwaW5uZXJDb21wb25lbnQsXG4gICAgICApO1xuXG4gICAgY29uc3QgY29tcG9uZW50UmVmID1cbiAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSk7XG5cbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY29sb3IgPSAnJztcblxuICAgIGhvc3QuaW5zZXJ0QmVmb3JlKGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LCBob3N0LmZpcnN0Q2hpbGQpO1xuICB9XG59XG4iXX0=
|