trm-tmpl 3.2.1 → 3.2.2
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/lib/app/i18n/i18n-key.enum.mjs +2 -1
- package/esm2022/lib/app/i18n/keys.mjs +3 -2
- package/esm2022/lib/app/models/constants.mjs +4 -2
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-date/constructor-field-date.component.mjs +24 -38
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-iframe/card-sdk.service.mjs +41 -0
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-iframe/constructor-field-iframe.component.mjs +102 -118
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-iframe/iframe-validator-directive.directive.mjs +88 -0
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-select/constructor-field-select.component.mjs +15 -37
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-text/constructor-field-text.component.mjs +10 -4
- package/esm2022/lib/app/pages/components/constructor-form/components/index.mjs +3 -1
- package/esm2022/lib/app/pages/components/constructor-form/components/ps-select/ps-select.component.mjs +20 -24
- package/esm2022/lib/app/pages/components/constructor-form/constructor-form.component.mjs +89 -66
- package/esm2022/lib/app/pages/components/constructor-form/models/field-template.mjs +2 -1
- package/esm2022/lib/app/pages/components/constructor-form/models/index.mjs +1 -2
- package/esm2022/lib/app/pages/components/constructor-form/models/payment-field.mjs +1 -1
- package/esm2022/lib/app/pages/components/constructor-form/services/constructor-form.service.mjs +39 -24
- package/esm2022/lib/app/pages/components/terminal-layout/terminal-layout.component.mjs +11 -9
- package/esm2022/lib/app/services/api-errors.service.mjs +16 -34
- package/esm2022/lib/app/services/csrf.resolver.mjs +6 -18
- package/esm2022/lib/app/services/error.interceptior.mjs +2 -2
- package/esm2022/lib/app/services/local-storage.mjs +70 -0
- package/esm2022/lib/app/services/script-loader.mjs +4 -7
- package/esm2022/lib/app/services/session.data-source.mjs +8 -8
- package/esm2022/lib/app/services/translation/translate-lang-storage.service.mjs +95 -79
- package/esm2022/lib/app/shared/components/terminal-lang-switcher/terminal-lang-switcher.component.mjs +10 -8
- package/esm2022/lib/app/shared/components/terminal-layout-tpl/terminal-layout-tpl.component.mjs +6 -6
- package/esm2022/lib/app/shared/components/trm-select/trm-select.component.mjs +1 -1
- package/esm2022/lib/app/terminal-tpl.component.mjs +5 -12
- package/fesm2022/trm-tmpl.mjs +738 -587
- package/fesm2022/trm-tmpl.mjs.map +1 -1
- package/lib/app/i18n/i18n-key.enum.d.ts +1 -0
- package/lib/app/models/constants.d.ts +3 -1
- package/lib/app/pages/components/constructor-form/components/constructor-field-date/constructor-field-date.component.d.ts +7 -10
- package/lib/app/pages/components/constructor-form/components/constructor-field-iframe/card-sdk.service.d.ts +18 -0
- package/lib/app/pages/components/constructor-form/components/constructor-field-iframe/constructor-field-iframe.component.d.ts +25 -27
- package/lib/app/pages/components/constructor-form/components/constructor-field-iframe/iframe-validator-directive.directive.d.ts +16 -0
- package/lib/app/pages/components/constructor-form/components/constructor-field-select/constructor-field-select.component.d.ts +6 -10
- package/lib/app/pages/components/constructor-form/components/constructor-field-text/constructor-field-text.component.d.ts +3 -3
- package/lib/app/pages/components/constructor-form/components/index.d.ts +2 -0
- package/lib/app/pages/components/constructor-form/components/ps-select/ps-select.component.d.ts +4 -6
- package/lib/app/pages/components/constructor-form/constructor-form.component.d.ts +5 -8
- package/lib/app/pages/components/constructor-form/models/index.d.ts +0 -1
- package/lib/app/pages/components/constructor-form/models/payment-field.d.ts +1 -1
- package/lib/app/pages/components/constructor-form/services/constructor-form.service.d.ts +8 -5
- package/lib/app/pages/components/terminal-layout/terminal-layout.component.d.ts +1 -0
- package/lib/app/services/api-errors.service.d.ts +4 -10
- package/lib/app/services/csrf.resolver.d.ts +1 -4
- package/lib/app/services/local-storage.d.ts +24 -0
- package/lib/app/services/script-loader.d.ts +1 -2
- package/lib/app/services/session.data-source.d.ts +1 -1
- package/lib/app/services/translation/translate-lang-storage.service.d.ts +22 -23
- package/lib/app/shared/components/terminal-lang-switcher/terminal-lang-switcher.component.d.ts +4 -34
- package/lib/app/shared/components/terminal-layout-tpl/terminal-layout-tpl.component.d.ts +1 -2
- package/lib/app/shared/components/trm-select/trm-select.component.d.ts +1 -2
- package/package.json +1 -1
- package/esm2022/lib/app/pages/components/constructor-form/models/constants.mjs +0 -4
- package/lib/app/pages/components/constructor-form/models/constants.d.ts +0 -3
package/esm2022/lib/app/shared/components/terminal-layout-tpl/terminal-layout-tpl.component.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectorRef, Component, inject, Input } from '@angular/core';
|
|
2
2
|
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import {
|
|
3
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
4
4
|
import { takeUntil } from 'rxjs/operators';
|
|
5
5
|
import { Subject } from 'rxjs';
|
|
6
6
|
import { TERMINAL_VERSION_SERVICE_TOKEN } from '../../../../const';
|
|
@@ -13,14 +13,14 @@ export class TerminalLayoutTplComponent {
|
|
|
13
13
|
constructor() {
|
|
14
14
|
this.versionSrv = inject(TERMINAL_VERSION_SERVICE_TOKEN);
|
|
15
15
|
this.document = inject(DOCUMENT);
|
|
16
|
-
this.
|
|
16
|
+
this.translateSrv = inject(TranslateService);
|
|
17
17
|
this.cd = inject(ChangeDetectorRef);
|
|
18
18
|
this.translateStorageSrv = inject(TranslateLangStorageService);
|
|
19
19
|
this.unSubscriber = new Subject();
|
|
20
20
|
this.loading = true;
|
|
21
|
-
this.
|
|
21
|
+
this.translateSrv.onLangChange
|
|
22
22
|
.pipe(takeUntil(this.unSubscriber))
|
|
23
|
-
.subscribe((
|
|
23
|
+
.subscribe(() => {
|
|
24
24
|
this.cd.detectChanges();
|
|
25
25
|
});
|
|
26
26
|
}
|
|
@@ -38,7 +38,7 @@ export class TerminalLayoutTplComponent {
|
|
|
38
38
|
this.unSubscriber.unsubscribe();
|
|
39
39
|
}
|
|
40
40
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TerminalLayoutTplComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: TerminalLayoutTplComponent, isStandalone: true, selector: "app-terminal-layout-tpl", inputs: { projectName: "projectName", description: "description", loading: "loading" }, ngImport: i0, template: "<ng-scrollbar appearance=\"compact\">\r\n <div class=\"terminal-layout\">\r\n <section class=\"terminal\">\r\n <div class=\"terminal__content\">\r\n <header class=\"terminal__header\">\r\n <i class=\"terminal__header-logo\"\r\n [class]=\"logoClass\"></i>\r\n <div class=\"terminal__header-lang\">\r\n @if (hasChoice) {\r\n <app-terminal-lang-switcher\r\n [loading]=\"loading\"\r\n [tabIndex]=\"1\"></app-terminal-lang-switcher>\r\n }\r\n </div>\r\n </header>\r\n <div class=\"terminal__form\">\r\n <ng-content selector=\"[terminal-layout-status]\"></ng-content>\r\n <ng-content selector=\"[terminal-layout-form]\"></ng-content>\r\n @if (loading) {\r\n <div class=\"trm-skeleton-group\">\r\n <gm-skeleton [count]=\"1\" [size]=\"120\"></gm-skeleton>\r\n <gm-skeleton [count]=\"4\" [gap]=\"20\" [size]=\"80\"></gm-skeleton>\r\n <gm-skeleton [count]=\"2\" [gap]=\"10\" [size]=\"48\"></gm-skeleton>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </section>\r\n <footer class=\"terminal-footer\">\r\n <i class=\"terminal-footer__logo\"></i>\r\n <p class=\"terminal-footer__txt\">\r\n {{footerText}}\r\n </p>\r\n </footer>\r\n </div>\r\n</ng-scrollbar>\r\n", styles: [":host{display:flex;flex-direction:column;height:100vh;box-sizing:border-box}.terminal{box-sizing:border-box;width:100%;max-width:528px;min-width:320px;padding:0 10px}.terminal-layout{min-height:100vh;padding:42px 0;display:flex;flex-direction:column;gap:42px;justify-content:flex-start;align-items:center}.terminal-footer{flex:auto 1 0;display:flex;flex-direction:column;gap:24px;justify-content:flex-end;align-items:center}.terminal-footer__txt{font-weight:400;font-size:14px;line-height:18px;color:var(--color-base-350);margin:0}.terminal__content{box-sizing:border-box;margin:auto;padding:20px;width:100%;background:#fff;border-radius:16px;min-height:300px;display:flex;flex-direction:column;gap:32px;justify-content:flex-start;align-items:stretch}@media (min-width: 768px){.terminal__content{padding:32px}}.terminal__header{display:flex;flex-direction:row;gap:0;justify-content:flex-start;align-items:center}@media (min-width: 768px){.terminal__header-logo{width:143px;height:30px}}.terminal__header-lang{margin-left:auto}.terminal__form{display:flex;flex-direction:column;gap:24px;justify-content:flex-start;align-items:stretch;width:100%;margin:auto}.terminal__status{margin-top:8px}.terminal .trm-skeleton-group{display:flex;flex-direction:column;gap:32px;justify-content:flex-start;align-items:stretch}.terminal .trm-skeleton-group__form{gap:20px}.terminal .trm-skeleton-group__form .loader,.terminal .trm-skeleton-group__form .skeleton-loader{height:80px}.terminal .trm-skeleton-group__header .loader,.terminal .trm-skeleton-group__header .skeleton-loader{height:120px}.terminal .trm-skeleton-group__actions{gap:10px}.terminal .trm-skeleton-group__actions .loader,.terminal .trm-skeleton-group__actions .skeleton-loader{height:48px}\n"], dependencies: [{ kind: "component", type: NgScrollbar, selector: "ng-scrollbar:not([externalViewport])", exportAs: ["ngScrollbar"] }, { kind: "component", type: TerminalLangSwitcherComponent, selector: "app-terminal-lang-switcher", inputs: ["loading", "tabIndex"], outputs: ["
|
|
41
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: TerminalLayoutTplComponent, isStandalone: true, selector: "app-terminal-layout-tpl", inputs: { projectName: "projectName", description: "description", loading: "loading" }, ngImport: i0, template: "<ng-scrollbar appearance=\"compact\">\r\n <div class=\"terminal-layout\">\r\n <section class=\"terminal\">\r\n <div class=\"terminal__content\">\r\n <header class=\"terminal__header\">\r\n <i class=\"terminal__header-logo\"\r\n [class]=\"logoClass\"></i>\r\n <div class=\"terminal__header-lang\">\r\n @if (hasChoice) {\r\n <app-terminal-lang-switcher\r\n [loading]=\"loading\"\r\n [tabIndex]=\"1\"></app-terminal-lang-switcher>\r\n }\r\n </div>\r\n </header>\r\n <div class=\"terminal__form\">\r\n <ng-content selector=\"[terminal-layout-status]\"></ng-content>\r\n <ng-content selector=\"[terminal-layout-form]\"></ng-content>\r\n @if (loading) {\r\n <div class=\"trm-skeleton-group\">\r\n <gm-skeleton [count]=\"1\" [size]=\"120\"></gm-skeleton>\r\n <gm-skeleton [count]=\"4\" [gap]=\"20\" [size]=\"80\"></gm-skeleton>\r\n <gm-skeleton [count]=\"2\" [gap]=\"10\" [size]=\"48\"></gm-skeleton>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </section>\r\n <footer class=\"terminal-footer\">\r\n <i class=\"terminal-footer__logo\"></i>\r\n <p class=\"terminal-footer__txt\">\r\n {{footerText}}\r\n </p>\r\n </footer>\r\n </div>\r\n</ng-scrollbar>\r\n", styles: [":host{display:flex;flex-direction:column;height:100vh;box-sizing:border-box}.terminal{box-sizing:border-box;width:100%;max-width:528px;min-width:320px;padding:0 10px}.terminal-layout{min-height:100vh;padding:42px 0;display:flex;flex-direction:column;gap:42px;justify-content:flex-start;align-items:center}.terminal-footer{flex:auto 1 0;display:flex;flex-direction:column;gap:24px;justify-content:flex-end;align-items:center}.terminal-footer__txt{font-weight:400;font-size:14px;line-height:18px;color:var(--color-base-350);margin:0}.terminal__content{box-sizing:border-box;margin:auto;padding:20px;width:100%;background:#fff;border-radius:16px;min-height:300px;display:flex;flex-direction:column;gap:32px;justify-content:flex-start;align-items:stretch}@media (min-width: 768px){.terminal__content{padding:32px}}.terminal__header{display:flex;flex-direction:row;gap:0;justify-content:flex-start;align-items:center}@media (min-width: 768px){.terminal__header-logo{width:143px;height:30px}}.terminal__header-lang{margin-left:auto}.terminal__form{display:flex;flex-direction:column;gap:24px;justify-content:flex-start;align-items:stretch;width:100%;margin:auto}.terminal__status{margin-top:8px}.terminal .trm-skeleton-group{display:flex;flex-direction:column;gap:32px;justify-content:flex-start;align-items:stretch}.terminal .trm-skeleton-group__form{gap:20px}.terminal .trm-skeleton-group__form .loader,.terminal .trm-skeleton-group__form .skeleton-loader{height:80px}.terminal .trm-skeleton-group__header .loader,.terminal .trm-skeleton-group__header .skeleton-loader{height:120px}.terminal .trm-skeleton-group__actions{gap:10px}.terminal .trm-skeleton-group__actions .loader,.terminal .trm-skeleton-group__actions .skeleton-loader{height:48px}\n"], dependencies: [{ kind: "component", type: NgScrollbar, selector: "ng-scrollbar:not([externalViewport])", exportAs: ["ngScrollbar"] }, { kind: "component", type: TerminalLangSwitcherComponent, selector: "app-terminal-lang-switcher", inputs: ["loading", "tabIndex"], outputs: ["langChange"] }, { kind: "component", type: GmSkeletonComponent, selector: "gm-skeleton", inputs: ["shape", "orientation", "count", "size", "gap"] }] }); }
|
|
42
42
|
}
|
|
43
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TerminalLayoutTplComponent, decorators: [{
|
|
44
44
|
type: Component,
|
|
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
50
50
|
}], loading: [{
|
|
51
51
|
type: Input
|
|
52
52
|
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwtbGF5b3V0LXRwbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXJtaW5hbC10ZW1wbGF0ZS9zcmMvbGliL2FwcC9zaGFyZWQvY29tcG9uZW50cy90ZXJtaW5hbC1sYXlvdXQtdHBsL3Rlcm1pbmFsLWxheW91dC10cGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVybWluYWwtdGVtcGxhdGUvc3JjL2xpYi9hcHAvc2hhcmVkL2NvbXBvbmVudHMvdGVybWluYWwtbGF5b3V0LXRwbC90ZXJtaW5hbC1sYXlvdXQtdHBsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFtQixnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDM0csT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBU3pELE1BQU0sT0FBTywwQkFBMEI7SUFZbkM7UUFYUSxlQUFVLEdBQUcsTUFBTSxDQUEwQiw4QkFBOEIsQ0FBQyxDQUFDO1FBQzdFLGFBQVEsR0FBRyxNQUFNLENBQVcsUUFBUSxDQUFDLENBQUM7UUFDdEMsaUJBQVksR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN4QyxPQUFFLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDL0Isd0JBQW1CLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFFMUQsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBR2xDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFHdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZO2FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7OEdBbENRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDJLQ25CdkMseTRDQW9DQSx5d0REbkJjLFdBQVcsNEdBQUUsNkJBQTZCLGlJQUFFLG1CQUFtQjs7MkZBRWhFLDBCQUEwQjtrQkFQdEMsU0FBUzsrQkFDSSx5QkFBeUIsY0FHdkIsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLDZCQUE2QixFQUFFLG1CQUFtQixDQUFDO3dEQVVqRSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTG9hZGVyLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBURVJNSU5BTF9WRVJTSU9OX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICcuLi8uLi8uLi8uLi9jb25zdCc7XHJcbmltcG9ydCB7IFZlcnNpb25TZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3ZlcnNpb24tc2VydmljZS1pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVMYW5nU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IE5nU2Nyb2xsYmFyIH0gZnJvbSAnbmd4LXNjcm9sbGJhcic7XHJcbmltcG9ydCB7IFRlcm1pbmFsTGFuZ1N3aXRjaGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vdGVybWluYWwtbGFuZy1zd2l0Y2hlci90ZXJtaW5hbC1sYW5nLXN3aXRjaGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdtU2tlbGV0b25Db21wb25lbnQgfSBmcm9tICdAZ21tb25leS9nbS11aS1raXQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC10ZXJtaW5hbC1sYXlvdXQtdHBsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90ZXJtaW5hbC1sYXlvdXQtdHBsLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3Rlcm1pbmFsLWxheW91dC10cGwuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdTY3JvbGxiYXIsIFRlcm1pbmFsTGFuZ1N3aXRjaGVyQ29tcG9uZW50LCBHbVNrZWxldG9uQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVybWluYWxMYXlvdXRUcGxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgcHJpdmF0ZSB2ZXJzaW9uU3J2ID0gaW5qZWN0PFZlcnNpb25TZXJ2aWNlSW50ZXJmYWNlPihURVJNSU5BTF9WRVJTSU9OX1NFUlZJQ0VfVE9LRU4pO1xyXG4gICAgcHJpdmF0ZSBkb2N1bWVudCA9IGluamVjdDxEb2N1bWVudD4oRE9DVU1FTlQpO1xyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTcnYgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XHJcbiAgICBwcml2YXRlIGNkID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlU3RvcmFnZVNydiA9IGluamVjdChUcmFuc2xhdGVMYW5nU3RvcmFnZVNlcnZpY2UpO1xyXG5cclxuICAgIHByaXZhdGUgdW5TdWJzY3JpYmVyID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIEBJbnB1dCgpIHByb2plY3ROYW1lOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgbG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlU3J2Lm9uTGFuZ0NoYW5nZVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuU3Vic2NyaWJlcikpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaGFzQ2hvaWNlKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTdG9yYWdlU3J2Lmxhbmd1YWdlcy5sZW5ndGggPiAxO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBsb2dvQ2xhc3MoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy52ZXJzaW9uU3J2LmxvZ29DbGFzcztcclxuICAgIH1cclxuICAgIGdldCBmb290ZXJUZXh0KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnZlcnNpb25TcnYuZm9vdGVyVGV4dDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy51blN1YnNjcmliZXIubmV4dCgpO1xyXG4gICAgICAgIHRoaXMudW5TdWJzY3JpYmVyLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLXNjcm9sbGJhciBhcHBlYXJhbmNlPVwiY29tcGFjdFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0ZXJtaW5hbC1sYXlvdXRcIj5cclxuICAgIDxzZWN0aW9uIGNsYXNzPVwidGVybWluYWxcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRlcm1pbmFsX19jb250ZW50XCI+XHJcbiAgICAgICAgPGhlYWRlciBjbGFzcz1cInRlcm1pbmFsX19oZWFkZXJcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwidGVybWluYWxfX2hlYWRlci1sb2dvXCJcclxuICAgICAgICAgIFtjbGFzc109XCJsb2dvQ2xhc3NcIj48L2k+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGVybWluYWxfX2hlYWRlci1sYW5nXCI+XHJcbiAgICAgICAgICAgIEBpZiAoaGFzQ2hvaWNlKSB7XHJcbiAgICAgICAgICAgICAgPGFwcC10ZXJtaW5hbC1sYW5nLXN3aXRjaGVyXHJcbiAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcclxuICAgICAgICAgICAgICBbdGFiSW5kZXhdPVwiMVwiPjwvYXBwLXRlcm1pbmFsLWxhbmctc3dpdGNoZXI+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaGVhZGVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXJtaW5hbF9fZm9ybVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0b3I9XCJbdGVybWluYWwtbGF5b3V0LXN0YXR1c11cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Rvcj1cIlt0ZXJtaW5hbC1sYXlvdXQtZm9ybV1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICBAaWYgKGxvYWRpbmcpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRybS1za2VsZXRvbi1ncm91cFwiPlxyXG4gICAgICAgICAgICAgIDxnbS1za2VsZXRvbiBbY291bnRdPVwiMVwiIFtzaXplXT1cIjEyMFwiPjwvZ20tc2tlbGV0b24+XHJcbiAgICAgICAgICAgICAgPGdtLXNrZWxldG9uIFtjb3VudF09XCI0XCIgW2dhcF09XCIyMFwiIFtzaXplXT1cIjgwXCI+PC9nbS1za2VsZXRvbj5cclxuICAgICAgICAgICAgICA8Z20tc2tlbGV0b24gW2NvdW50XT1cIjJcIiBbZ2FwXT1cIjEwXCIgW3NpemVdPVwiNDhcIj48L2dtLXNrZWxldG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L3NlY3Rpb24+XHJcbiAgICA8Zm9vdGVyIGNsYXNzPVwidGVybWluYWwtZm9vdGVyXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwidGVybWluYWwtZm9vdGVyX19sb2dvXCI+PC9pPlxyXG4gICAgICA8cCBjbGFzcz1cInRlcm1pbmFsLWZvb3Rlcl9fdHh0XCI+XHJcbiAgICAgICAge3tmb290ZXJUZXh0fX1cclxuICAgICAgPC9wPlxyXG4gICAgPC9mb290ZXI+XHJcbiAgPC9kaXY+XHJcbjwvbmctc2Nyb2xsYmFyPlxyXG4iXX0=
|
|
@@ -206,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
206
206
|
}], nameLabel: [{
|
|
207
207
|
type: Input
|
|
208
208
|
}] } });
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJtLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXJtaW5hbC10ZW1wbGF0ZS9zcmMvbGliL2FwcC9zaGFyZWQvY29tcG9uZW50cy90cm0tc2VsZWN0L3RybS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVybWluYWwtdGVtcGxhdGUvc3JjL2xpYi9hcHAvc2hhcmVkL2NvbXBvbmVudHMvdHJtLXNlbGVjdC90cm0tc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBR0wsV0FBVyxFQUNYLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQWtCdkUsTUFBTSxPQUFPLGtCQUFrQjtJQVMzQixJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbkcsQ0FBQztJQXdCRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDO0lBQ2hDLENBQUM7SUFNRDtRQTFDUSxPQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxNQUFNLENBQVcsUUFBUSxDQUFDLENBQUM7UUFDdEMsT0FBRSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRS9CLGlCQUFZLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDbEQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQUcsUUFBUSxDQUFDO1FBT1gsY0FBUyxHQUFHLElBQUksQ0FBQztRQUVqQixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDN0Isa0JBQWEsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ3hCLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSXRDLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCLGFBQVEsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ3JCLENBQUMsQ0FBQztRQUNGLFlBQU8sR0FBRyxHQUFHLEVBQUU7UUFDZixDQUFDLENBQUM7UUFPTyxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsY0FBUyxHQUFHLE1BQU0sQ0FBQztRQUM1QixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBR1gsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO2FBQzVCLElBQUksQ0FDRCxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDekUsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FDL0I7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxhQUFhO2lCQUNiLFlBQVk7aUJBQ1osSUFBSSxDQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQzVCLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FDcEI7aUJBQ0EsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZixPQUFPO1FBQ1gsQ0FBQztRQUNELCtCQUErQjtRQUMvQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBSUQsTUFBTTtRQUNGLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN0QixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNyQyxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMvRyxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDeEIsWUFBWSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUM1RCxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFDbkYsR0FBRyxDQUNOLENBQUM7WUFDTixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQUk7UUFDWCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDO1FBQ25DLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQUk7UUFDYixPQUFPLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVELFlBQVksQ0FBQyxFQUFFO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNiLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUNELEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQUU7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNiLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSTtRQUNQLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNiLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSztRQUMxQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDdEIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzhHQTlMUSxrQkFBa0I7a0dBQWxCLGtCQUFrQiw4VUFYaEI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO2dCQUNqRCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osb0VBdUNhLCtCQUErQixnRENsRmpELG1rSkFxSEEsKzRKRHZFYyxnQkFBZ0Isb0pBQUUsT0FBTyxvRkFBRSw4QkFBOEIsbUZBQUUsV0FBVywyR0FBRSxXQUFXLHNaQUFFLG1CQUFtQiw2TUFBRSxrQkFBa0IsZ0NBRjFILENBQUMsbUJBQW1CLENBQUM7OzJGQUl4QixrQkFBa0I7a0JBaEI5QixTQUFTOytCQUNJLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSixjQUNXLENBQUMsbUJBQW1CLENBQUMsY0FDckIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUM7d0RBZTlILEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxJQUFJO3NCQUFiLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQVd3QyxZQUFZO3NCQUExRCxZQUFZO3VCQUFDLCtCQUErQjtnQkFLcEMsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIGluamVjdCxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCwgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIEZvcm1zTW9kdWxlLFxyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGVcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGluc2VydFJlbW92ZVRyaWdnZXIgfSBmcm9tICcuLy4uLy4uLy4uL2hlbHBlcnMvaW5zZXJ0UmVtb3ZlVHJpZ2dlcic7XHJcbmltcG9ydCB7IEkxOE5fS0VZIH0gZnJvbSAnLi8uLi8uLi8uLi9pMThuJztcclxuaW1wb3J0IHsgVHJtU2VsZWN0TGFiZWxUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vdHJtLXNlbGVjdC1sYWJlbC10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTY3JvbGxiYXJTZWxlY3RIZWlnaHREaXJlY3RpdmUgfSBmcm9tICcuL3Njcm9sbGJhci1zZWxlY3QtaGVpZ2h0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE5nU2Nyb2xsYmFyIH0gZnJvbSAnbmd4LXNjcm9sbGJhcic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUJ5S2V5UGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS1ieS1rZXkucGlwZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLXRybS1zZWxlY3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RybS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdHJtLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUcm1TZWxlY3RDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB9XHJcbiAgICBdLFxyXG4gICAgYW5pbWF0aW9uczogW2luc2VydFJlbW92ZVRyaWdnZXJdLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBOZ0NsYXNzLCBTY3JvbGxiYXJTZWxlY3RIZWlnaHREaXJlY3RpdmUsIE5nU2Nyb2xsYmFyLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVHJhbnNsYXRlQnlLZXlQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJtU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgICBwcml2YXRlIGVsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xyXG4gICAgcHJpdmF0ZSBkb2N1bWVudCA9IGluamVjdDxEb2N1bWVudD4oRE9DVU1FTlQpO1xyXG4gICAgcHJpdmF0ZSBjZCA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcblxyXG4gICAgcHJpdmF0ZSB1blN1YnNjcmliZXI6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIEkxOE5fS0VZID0gSTE4Tl9LRVk7XHJcblxyXG4gICAgZ2V0IGRpc2FibGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEgJiYgdGhpcy5kYXRhLmxlbmd0aCA9PT0gMSAmJiB0aGlzLnNlbGVjdGVkID09PSB0aGlzLmdldEl0ZW1WYWx1ZSh0aGlzLmRhdGFbMF0pXHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGhhc0JvcmRlciA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBkYXRhOiBhbnlbXSB8IGZhbHNlO1xyXG4gICAgQElucHV0KCkgdGFiSW5kZXggPSAwO1xyXG4gICAgQElucHV0KCkgbmFtZSA9ICcnO1xyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIEBJbnB1dCgpIHNlYXJjaGFibGUgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgaGFzU2Nyb2xsYmFyID0gdHJ1ZTtcclxuICAgIHNlYXJjaENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICAgIEBPdXRwdXQoKSBvcGVuID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIHNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIHNlbGVjdGVkOiBhbnk7XHJcbiAgICBzZWxlY3RlZEl0ZW06IGFueTtcclxuICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcclxuICAgIGZpbHRlcmVkRGF0YSA9IFtdO1xyXG5cclxuICAgIG9uQ2hhbmdlID0gKHZhbHVlKSA9PiB7XHJcbiAgICB9O1xyXG4gICAgb25Ub3VjaCA9ICgpID0+IHtcclxuICAgIH07XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZChUcm1TZWxlY3RMYWJlbFRlbXBsYXRlRGlyZWN0aXZlKSBsYWJlbFRlcGxhdGU6IFRybVNlbGVjdExhYmVsVGVtcGxhdGVEaXJlY3RpdmU7XHJcbiAgICBnZXQgbGFiZWxUcGwoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxhYmVsVGVwbGF0ZT8udHBsO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpIG5hbWVJZCA9ICdpZCc7XHJcbiAgICBASW5wdXQoKSBuYW1lTGFiZWwgPSAnbmFtZSc7XHJcbiAgICBvcGVuZWQgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBmcm9tRXZlbnQodGhpcy5kb2N1bWVudCwgJ2NsaWNrJylcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcclxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXYpID0+IHRoaXMub3BlbmVkICYmICF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXYudGFyZ2V0KSksXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy51blN1YnNjcmliZXIpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc2VsZWN0ZWRMYWJlbCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW0/Llt0aGlzLm5hbWVMYWJlbF0gfHwgdGhpcy5nZXRJdGVtTGFiZWwodGhpcy5zZWxlY3RlZCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaGFibGUpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hDb250cm9sXHJcbiAgICAgICAgICAgICAgICAudmFsdWVDaGFuZ2VzXHJcbiAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy51blN1YnNjcmliZXIpLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSgyMDApXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChzZWFyY2gpID0+IHRoaXMudHJpZ2dlclNlYXJjaChzZWFyY2gpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGxpc3QoKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kYXRhKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhPy5maWx0ZXIoaXRlbSA9PiAhdGhpcy5pc1NlbGVjdGVkKGl0ZW0pKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBmb2N1c2FibGVFbCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ1t0YWJpbmRleF0nKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRoaXMuZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25CbHVyKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5vcGVuZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBjbG9zZWQgc2VsZWN0IHdoZW4gZm9jdXMgb3V0XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiAhdGhpcy5mb2N1c2VkICYmIHRoaXMudG9nZ2xlKCksIDEwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZWFyY2hBdXRvZm9jdXNUaW1lcjogbnVtYmVyO1xyXG5cclxuICAgIHRvZ2dsZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5kYXRhID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghdGhpcy5vcGVuZWQgJiYgIXRoaXMuZGF0YT8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCghdGhpcy5zZWFyY2hhYmxlIHx8ICF0aGlzLnNlYXJjaENvbnRyb2wudmFsdWUpICYmIHRoaXMuZGF0YT8ubGVuZ3RoID09PSAxICYmIHRoaXMuc2VsZWN0ZWQgPT09IHRoaXMuZGF0YVswXSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaGFibGUpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMub3BlbmVkID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2VhcmNoQXV0b2ZvY3VzVGltZXIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hBdXRvZm9jdXNUaW1lciA9IHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcuc2V0VGltZW91dChcclxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnRybS1zZWxlY3QtbGlzdF9fc2VhcmNoIGlucHV0JykuZm9jdXMoKSxcclxuICAgICAgICAgICAgICAgICAgICAyMDBcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaENvbnRyb2wuc2V0VmFsdWUoJycpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMub3BlbmVkID0gIXRoaXMub3BlbmVkO1xyXG4gICAgICAgIHRoaXMub3Blbi5lbWl0KHRoaXMub3BlbmVkKTtcclxuICAgICAgICB0aGlzLm9uVG91Y2goKTtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBpc1NlbGVjdGVkKGl0ZW0pIHtcclxuICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLmdldEl0ZW1WYWx1ZShpdGVtKTtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQgPT09IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SXRlbVZhbHVlKGl0ZW0pIHtcclxuICAgICAgICByZXR1cm4gaXRlbT8uW3RoaXMubmFtZUlkXSB8fCBpdGVtO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEl0ZW1MYWJlbChpZCkge1xyXG4gICAgICAgIGlmICghdGhpcy5kYXRhKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWQgPSB0aGlzLmdldEl0ZW1WYWx1ZShpZCk7XHJcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZ2V0Q29sbGVjdGlvbkl0ZW0oaWQpO1xyXG4gICAgICAgIHJldHVybiBpdGVtPy5bdGhpcy5uYW1lTGFiZWxdIHx8IGlkO1xyXG4gICAgfVxyXG5cclxuICAgIGdldENvbGxlY3Rpb25JdGVtKGlkKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGlkO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmZpbmQoZiA9PiB0aGlzLmdldEl0ZW1WYWx1ZShmKSA9PT0gaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdChpdGVtKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQgIT09IHRoaXMuZ2V0SXRlbVZhbHVlKGl0ZW0pKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5nZXRJdGVtVmFsdWUoaXRlbSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5nZXRJdGVtVmFsdWUoaXRlbSk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0aGlzLmdldENvbGxlY3Rpb25JdGVtKHRoaXMuc2VsZWN0ZWQpO1xyXG4gICAgICAgIHRoaXMudG9nZ2xlKCk7XHJcbiAgICAgICAgdGhpcy5mb2N1c2FibGVFbC5mb2N1cygpO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIGlmICghdGhpcy5kYXRhKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5nZXRDb2xsZWN0aW9uSXRlbSh0aGlzLnNlbGVjdGVkKTtcclxuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHRyaWdnZXJTZWFyY2godmFsdWUgPSB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICBpZiAodGhpcy5kYXRhID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2VhcmNoLmVtaXQodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMudW5TdWJzY3JpYmVyLm5leHQoKTtcclxuICAgICAgICB0aGlzLnVuU3Vic2NyaWJlci51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG59XHJcbiIsIkBpZiAobGFiZWwpIHtcclxuICA8bGFiZWwgY2xhc3M9XCJ0cm0tbGFiZWxcIlxyXG4gICAgICAgICBbZm9yXT1cIm5hbWVcIlxyXG4gICAgICAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxyXG4gID4ge3sgbGFiZWwgfX0gPC9sYWJlbD5cclxufVxyXG48ZGl2IGNsYXNzPVwidHJtLXNlbGVjdFwiXHJcbiAgICAgW2NsYXNzLnRybS1zZWxlY3QtLW5vQm9yZGVyZWRdPVwiIWhhc0JvcmRlclwiXHJcbiAgICAgW2NsYXNzLnRybS1zZWxlY3QtLW9wZW5lZF09XCJvcGVuZWRcIlxyXG4gICAgIFtjbGFzcy50cm0tc2VsZWN0LS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgW3RhYmluZGV4XT1cInRhYkluZGV4XCJcclxuICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgW2lkXT1cIm5hbWVcIlxyXG4gICAgIChrZXlkb3duLmVudGVyKT1cInRvZ2dsZSgpXCJcclxuPlxyXG4gIEBpZiAobGFiZWxUcGwpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ0cm0tc2VsZWN0LXZhbHVlXCJcclxuICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZSgpXCI+XHJcbiAgICAgIEBpZiAoc2VsZWN0ZWQgJiYgc2VsZWN0ZWRJdGVtKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsVHBsOyBjb250ZXh0OiB7aXRlbTogc2VsZWN0ZWRJdGVtfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoIXNlbGVjdGVkKSB7XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0cm0tc2VsZWN0LXBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIgfX08L3NwYW4+XHJcbiAgICAgIH1cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0cm0tc2VsZWN0LXZhbHVlX19hcnJvd1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndHJtLXNlbGVjdC12YWx1ZV9fYXJyb3ctdG9wJzogb3BlbmVkfVwiPjwvc3Bhbj5cclxuICAgICAgQGlmIChkYXRhID09PSBmYWxzZSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0cm0tc3Bpbm5lclwiPjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIEBpZiAob3BlbmVkICYmIGhhc1Njcm9sbGJhcikge1xyXG4gICAgICA8dWwgY2xhc3M9XCJ0cm0tc2VsZWN0LWxpc3RcIiBAaW5zZXJ0UmVtb3ZlPlxyXG4gICAgICAgIDxuZy1zY3JvbGxiYXIgYXBwZWFyYW5jZT1cImNvbXBhY3RcIiBjbGFzcz1cInRybS1zZWxlY3QtbGlzdC1zY3JvbGxiYXJcIiBhcHBTY3JvbGxiYXJTZWxlY3RIZWlnaHQ+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdFRwbFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctc2Nyb2xsYmFyPlxyXG4gICAgICA8L3VsPlxyXG4gICAgfVxyXG4gICAgQGlmIChvcGVuZWQgJiYgIWhhc1Njcm9sbGJhcikge1xyXG4gICAgICA8dWwgY2xhc3M9XCJ0cm0tc2VsZWN0LWxpc3RcIiBAaW5zZXJ0UmVtb3ZlPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaXN0VHBsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvdWw+XHJcbiAgICB9XHJcbiAgICA8bmctdGVtcGxhdGUgI2xpc3RUcGw+XHJcbiAgICAgIEBpZiAoc2VhcmNoYWJsZSkge1xyXG4gICAgICAgIDxsaSBjbGFzcz1cInRybS1zZWxlY3QtbGlzdF9faXRlbSB0cm0tc2VsZWN0LWxpc3RfX3NlYXJjaFwiPlxyXG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwidHJtLWZvcm0tZmllbGRcIlxyXG4gICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJJMThOX0tFWS5TRUxFQ1RfU0VBUkNIIHwgdHJhbnNcIlxyXG4gICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcIlxyXG4gICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWFyY2hDb250cm9sXCI+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKHNlYXJjaGFibGUgJiYgc2VhcmNoQ29udHJvbC52YWx1ZSAmJiBsaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIDxsaSBjbGFzcz1cInRybS1zZWxlY3QtbGlzdF9faXRlbSB0cm0tc2VsZWN0LWxpc3RfX3NlYXJjaCB0cm0tc2VsZWN0LWxpc3RfX3NlYXJjaC10ZXh0XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBJMThOX0tFWS5TRUxFQ1RfRU1QVFlfTElTVCB8IHRyYW5zIH19XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgfVxyXG4gICAgICBAZm9yIChpdGVtIG9mIGxpc3Q7IHRyYWNrIGdldEl0ZW1WYWx1ZShpdGVtKSkge1xyXG4gICAgICAgIDxsaSBjbGFzcz1cInRybS1zZWxlY3QtbGlzdF9faXRlbVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3QoaXRlbSlcIlxyXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IHNlbGVjdChpdGVtKVwiXHJcbiAgICAgICAgICAgIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiXHJcbiAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigpXCI+XHJcbiAgICAgICAgICBAaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsVHBsOyBjb250ZXh0OiB7aXRlbX1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2xpPlxyXG4gICAgICB9XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPGRpdiBjbGFzcz1cInRybS1zZWxlY3QtdmFsdWVcIlxyXG4gICAgICAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxyXG4gICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJ0b2dnbGUoKVwiPlxyXG4gICAgICB7eyBzZWxlY3RlZExhYmVsIH19XHJcbiAgICAgIEBpZiAoIXNlbGVjdGVkKSB7XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0cm0tc2VsZWN0LXBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIgfX08L3NwYW4+XHJcbiAgICAgIH1cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0cm0tc2VsZWN0LXZhbHVlX19hcnJvd1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndHJtLXNlbGVjdC12YWx1ZV9fYXJyb3ctdG9wJzogb3BlbmVkfVwiPjwvc3Bhbj5cclxuICAgICAgQGlmIChkYXRhID09PSBmYWxzZSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0cm0tc3Bpbm5lclwiPjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIEBpZiAob3BlbmVkKSB7XHJcbiAgICAgIDx1bCBjbGFzcz1cInRybS1zZWxlY3QtbGlzdFwiIEBpbnNlcnRSZW1vdmU+XHJcbiAgICAgICAgPG5nLXNjcm9sbGJhciBjbGFzcz1cImdtLXNlbGVjdC1saXN0LXNjcm9sbGJhclwiIGFwcFNjcm9sbGJhclNlbGVjdEhlaWdodD5cclxuICAgICAgICAgIEBpZiAoc2VhcmNoYWJsZSkge1xyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJ0cm0tc2VsZWN0LWxpc3RfX2l0ZW0gdHJtLXNlbGVjdC1saXN0X19zZWFyY2hcIj5cclxuICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJ0cm0tZm9ybS1maWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJJMThOX0tFWS5TRUxFQ1RfU0VBUkNIIHwgdHJhbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcclxuICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaENvbnRyb2xcIj5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiAoc2VhcmNoYWJsZSAmJiBzZWFyY2hDb250cm9sLnZhbHVlICYmIGxpc3QubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cInRybS1zZWxlY3QtbGlzdF9faXRlbSB0cm0tc2VsZWN0LWxpc3RfX3NlYXJjaCB0cm0tc2VsZWN0LWxpc3RfX3NlYXJjaC10ZXh0XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHt7IEkxOE5fS0VZLlNFTEVDVF9FTVBUWV9MSVNUIHwgdHJhbnMgfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgbGlzdDsgdHJhY2sgZ2V0SXRlbVZhbHVlKGl0ZW0pKSB7XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cInRybS1zZWxlY3QtbGlzdF9faXRlbVwiXHJcbiAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdChpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IHNlbGVjdChpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiPlxyXG4gICAgICAgICAgICAgIHt7IGdldEl0ZW1MYWJlbChpdGVtKSB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvbmctc2Nyb2xsYmFyPlxyXG4gICAgICA8L3VsPlxyXG4gICAgfVxyXG4gIH1cclxuPC9kaXY+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cIlthcHAtdHJtLXNlbGVjdC1oaW50XVwiPjwvbmctY29udGVudD5cclxuIl19
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJtLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXJtaW5hbC10ZW1wbGF0ZS9zcmMvbGliL2FwcC9zaGFyZWQvY29tcG9uZW50cy90cm0tc2VsZWN0L3RybS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVybWluYWwtdGVtcGxhdGUvc3JjL2xpYi9hcHAvc2hhcmVkL2NvbXBvbmVudHMvdHJtLXNlbGVjdC90cm0tc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBR0wsV0FBVyxFQUNYLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFDQUFx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RkFBRSw4QkFBOEIsbUZBQUUsV0FBVywyR0FBRSxXQUFXLHNaQUFFLG1CQUFtQiw2TUFBRSxrQkFBa0IsZ0NBRjFILENBQUMsbUJBQW1CLENBQUM7OzJGQUl4QixrQkFBa0I7a0JBaEI5QixTQUFTOytCQUNJLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSixjQUNXLENBQUMsbUJBQW1CLENBQUMsY0FDckIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUM7d0RBZTlILEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxJQUFJO3NCQUFiLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQVV3QyxZQUFZO3NCQUExRCxZQUFZO3VCQUFDLCtCQUErQjtnQkFLcEMsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIGluamVjdCxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCwgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIEZvcm1zTW9kdWxlLFxyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGVcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGluc2VydFJlbW92ZVRyaWdnZXIgfSBmcm9tICcuLy4uLy4uLy4uL2hlbHBlcnMvaW5zZXJ0UmVtb3ZlVHJpZ2dlcic7XHJcbmltcG9ydCB7IEkxOE5fS0VZIH0gZnJvbSAnLi8uLi8uLi8uLi9pMThuJztcclxuaW1wb3J0IHsgVHJtU2VsZWN0TGFiZWxUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vdHJtLXNlbGVjdC1sYWJlbC10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTY3JvbGxiYXJTZWxlY3RIZWlnaHREaXJlY3RpdmUgfSBmcm9tICcuL3Njcm9sbGJhci1zZWxlY3QtaGVpZ2h0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE5nU2Nyb2xsYmFyIH0gZnJvbSAnbmd4LXNjcm9sbGJhcic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUJ5S2V5UGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS1ieS1rZXkucGlwZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLXRybS1zZWxlY3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RybS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdHJtLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUcm1TZWxlY3RDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB9XHJcbiAgICBdLFxyXG4gICAgYW5pbWF0aW9uczogW2luc2VydFJlbW92ZVRyaWdnZXJdLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBOZ0NsYXNzLCBTY3JvbGxiYXJTZWxlY3RIZWlnaHREaXJlY3RpdmUsIE5nU2Nyb2xsYmFyLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVHJhbnNsYXRlQnlLZXlQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJtU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgICBwcml2YXRlIGVsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xyXG4gICAgcHJpdmF0ZSBkb2N1bWVudCA9IGluamVjdDxEb2N1bWVudD4oRE9DVU1FTlQpO1xyXG4gICAgcHJpdmF0ZSBjZCA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcblxyXG4gICAgcHJpdmF0ZSB1blN1YnNjcmliZXI6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIEkxOE5fS0VZID0gSTE4Tl9LRVk7XHJcblxyXG4gICAgZ2V0IGRpc2FibGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEgJiYgdGhpcy5kYXRhLmxlbmd0aCA9PT0gMSAmJiB0aGlzLnNlbGVjdGVkID09PSB0aGlzLmdldEl0ZW1WYWx1ZSh0aGlzLmRhdGFbMF0pXHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGhhc0JvcmRlciA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBkYXRhOiBhbnlbXSB8IGZhbHNlO1xyXG4gICAgQElucHV0KCkgdGFiSW5kZXggPSAwO1xyXG4gICAgQElucHV0KCkgbmFtZSA9ICcnO1xyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIEBJbnB1dCgpIHNlYXJjaGFibGUgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgaGFzU2Nyb2xsYmFyID0gdHJ1ZTtcclxuICAgIHNlYXJjaENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICAgIEBPdXRwdXQoKSBvcGVuID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIHNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIHNlbGVjdGVkOiBhbnk7XHJcbiAgICBzZWxlY3RlZEl0ZW06IGFueTtcclxuICAgIGZpbHRlcmVkRGF0YSA9IFtdO1xyXG5cclxuICAgIG9uQ2hhbmdlID0gKHZhbHVlKSA9PiB7XHJcbiAgICB9O1xyXG4gICAgb25Ub3VjaCA9ICgpID0+IHtcclxuICAgIH07XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZChUcm1TZWxlY3RMYWJlbFRlbXBsYXRlRGlyZWN0aXZlKSBsYWJlbFRlcGxhdGU6IFRybVNlbGVjdExhYmVsVGVtcGxhdGVEaXJlY3RpdmU7XHJcbiAgICBnZXQgbGFiZWxUcGwoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxhYmVsVGVwbGF0ZT8udHBsO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpIG5hbWVJZCA9ICdpZCc7XHJcbiAgICBASW5wdXQoKSBuYW1lTGFiZWwgPSAnbmFtZSc7XHJcbiAgICBvcGVuZWQgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBmcm9tRXZlbnQodGhpcy5kb2N1bWVudCwgJ2NsaWNrJylcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcclxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXYpID0+IHRoaXMub3BlbmVkICYmICF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXYudGFyZ2V0KSksXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy51blN1YnNjcmliZXIpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc2VsZWN0ZWRMYWJlbCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW0/Llt0aGlzLm5hbWVMYWJlbF0gfHwgdGhpcy5nZXRJdGVtTGFiZWwodGhpcy5zZWxlY3RlZCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaGFibGUpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hDb250cm9sXHJcbiAgICAgICAgICAgICAgICAudmFsdWVDaGFuZ2VzXHJcbiAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy51blN1YnNjcmliZXIpLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSgyMDApXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChzZWFyY2gpID0+IHRoaXMudHJpZ2dlclNlYXJjaChzZWFyY2gpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGxpc3QoKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kYXRhKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhPy5maWx0ZXIoaXRlbSA9PiAhdGhpcy5pc1NlbGVjdGVkKGl0ZW0pKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBmb2N1c2FibGVFbCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ1t0YWJpbmRleF0nKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRoaXMuZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25CbHVyKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5vcGVuZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBjbG9zZWQgc2VsZWN0IHdoZW4gZm9jdXMgb3V0XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiAhdGhpcy5mb2N1c2VkICYmIHRoaXMudG9nZ2xlKCksIDEwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZWFyY2hBdXRvZm9jdXNUaW1lcjogbnVtYmVyO1xyXG5cclxuICAgIHRvZ2dsZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5kYXRhID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghdGhpcy5vcGVuZWQgJiYgIXRoaXMuZGF0YT8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCghdGhpcy5zZWFyY2hhYmxlIHx8ICF0aGlzLnNlYXJjaENvbnRyb2wudmFsdWUpICYmIHRoaXMuZGF0YT8ubGVuZ3RoID09PSAxICYmIHRoaXMuc2VsZWN0ZWQgPT09IHRoaXMuZGF0YVswXSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaGFibGUpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMub3BlbmVkID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2VhcmNoQXV0b2ZvY3VzVGltZXIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hBdXRvZm9jdXNUaW1lciA9IHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcuc2V0VGltZW91dChcclxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnRybS1zZWxlY3QtbGlzdF9fc2VhcmNoIGlucHV0JykuZm9jdXMoKSxcclxuICAgICAgICAgICAgICAgICAgICAyMDBcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaENvbnRyb2wuc2V0VmFsdWUoJycpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMub3BlbmVkID0gIXRoaXMub3BlbmVkO1xyXG4gICAgICAgIHRoaXMub3Blbi5lbWl0KHRoaXMub3BlbmVkKTtcclxuICAgICAgICB0aGlzLm9uVG91Y2goKTtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBpc1NlbGVjdGVkKGl0ZW0pIHtcclxuICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLmdldEl0ZW1WYWx1ZShpdGVtKTtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQgPT09IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SXRlbVZhbHVlKGl0ZW0pIHtcclxuICAgICAgICByZXR1cm4gaXRlbT8uW3RoaXMubmFtZUlkXSB8fCBpdGVtO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEl0ZW1MYWJlbChpZCkge1xyXG4gICAgICAgIGlmICghdGhpcy5kYXRhKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWQgPSB0aGlzLmdldEl0ZW1WYWx1ZShpZCk7XHJcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZ2V0Q29sbGVjdGlvbkl0ZW0oaWQpO1xyXG4gICAgICAgIHJldHVybiBpdGVtPy5bdGhpcy5uYW1lTGFiZWxdIHx8IGlkO1xyXG4gICAgfVxyXG5cclxuICAgIGdldENvbGxlY3Rpb25JdGVtKGlkKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGlkO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmZpbmQoZiA9PiB0aGlzLmdldEl0ZW1WYWx1ZShmKSA9PT0gaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdChpdGVtKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQgIT09IHRoaXMuZ2V0SXRlbVZhbHVlKGl0ZW0pKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5nZXRJdGVtVmFsdWUoaXRlbSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5nZXRJdGVtVmFsdWUoaXRlbSk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0aGlzLmdldENvbGxlY3Rpb25JdGVtKHRoaXMuc2VsZWN0ZWQpO1xyXG4gICAgICAgIHRoaXMudG9nZ2xlKCk7XHJcbiAgICAgICAgdGhpcy5mb2N1c2FibGVFbC5mb2N1cygpO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIGlmICghdGhpcy5kYXRhKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5nZXRDb2xsZWN0aW9uSXRlbSh0aGlzLnNlbGVjdGVkKTtcclxuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHRyaWdnZXJTZWFyY2godmFsdWUgPSB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICBpZiAodGhpcy5kYXRhID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2VhcmNoLmVtaXQodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMudW5TdWJzY3JpYmVyLm5leHQoKTtcclxuICAgICAgICB0aGlzLnVuU3Vic2NyaWJlci51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG59XHJcbiIsIkBpZiAobGFiZWwpIHtcclxuICA8bGFiZWwgY2xhc3M9XCJ0cm0tbGFiZWxcIlxyXG4gICAgICAgICBbZm9yXT1cIm5hbWVcIlxyXG4gICAgICAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxyXG4gID4ge3sgbGFiZWwgfX0gPC9sYWJlbD5cclxufVxyXG48ZGl2IGNsYXNzPVwidHJtLXNlbGVjdFwiXHJcbiAgICAgW2NsYXNzLnRybS1zZWxlY3QtLW5vQm9yZGVyZWRdPVwiIWhhc0JvcmRlclwiXHJcbiAgICAgW2NsYXNzLnRybS1zZWxlY3QtLW9wZW5lZF09XCJvcGVuZWRcIlxyXG4gICAgIFtjbGFzcy50cm0tc2VsZWN0LS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgW3RhYmluZGV4XT1cInRhYkluZGV4XCJcclxuICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgW2lkXT1cIm5hbWVcIlxyXG4gICAgIChrZXlkb3duLmVudGVyKT1cInRvZ2dsZSgpXCJcclxuPlxyXG4gIEBpZiAobGFiZWxUcGwpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ0cm0tc2VsZWN0LXZhbHVlXCJcclxuICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZSgpXCI+XHJcbiAgICAgIEBpZiAoc2VsZWN0ZWQgJiYgc2VsZWN0ZWRJdGVtKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsVHBsOyBjb250ZXh0OiB7aXRlbTogc2VsZWN0ZWRJdGVtfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoIXNlbGVjdGVkKSB7XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0cm0tc2VsZWN0LXBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIgfX08L3NwYW4+XHJcbiAgICAgIH1cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0cm0tc2VsZWN0LXZhbHVlX19hcnJvd1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndHJtLXNlbGVjdC12YWx1ZV9fYXJyb3ctdG9wJzogb3BlbmVkfVwiPjwvc3Bhbj5cclxuICAgICAgQGlmIChkYXRhID09PSBmYWxzZSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0cm0tc3Bpbm5lclwiPjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIEBpZiAob3BlbmVkICYmIGhhc1Njcm9sbGJhcikge1xyXG4gICAgICA8dWwgY2xhc3M9XCJ0cm0tc2VsZWN0LWxpc3RcIiBAaW5zZXJ0UmVtb3ZlPlxyXG4gICAgICAgIDxuZy1zY3JvbGxiYXIgYXBwZWFyYW5jZT1cImNvbXBhY3RcIiBjbGFzcz1cInRybS1zZWxlY3QtbGlzdC1zY3JvbGxiYXJcIiBhcHBTY3JvbGxiYXJTZWxlY3RIZWlnaHQ+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdFRwbFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctc2Nyb2xsYmFyPlxyXG4gICAgICA8L3VsPlxyXG4gICAgfVxyXG4gICAgQGlmIChvcGVuZWQgJiYgIWhhc1Njcm9sbGJhcikge1xyXG4gICAgICA8dWwgY2xhc3M9XCJ0cm0tc2VsZWN0LWxpc3RcIiBAaW5zZXJ0UmVtb3ZlPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaXN0VHBsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvdWw+XHJcbiAgICB9XHJcbiAgICA8bmctdGVtcGxhdGUgI2xpc3RUcGw+XHJcbiAgICAgIEBpZiAoc2VhcmNoYWJsZSkge1xyXG4gICAgICAgIDxsaSBjbGFzcz1cInRybS1zZWxlY3QtbGlzdF9faXRlbSB0cm0tc2VsZWN0LWxpc3RfX3NlYXJjaFwiPlxyXG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwidHJtLWZvcm0tZmllbGRcIlxyXG4gICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJJMThOX0tFWS5TRUxFQ1RfU0VBUkNIIHwgdHJhbnNcIlxyXG4gICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcIlxyXG4gICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWFyY2hDb250cm9sXCI+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKHNlYXJjaGFibGUgJiYgc2VhcmNoQ29udHJvbC52YWx1ZSAmJiBsaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIDxsaSBjbGFzcz1cInRybS1zZWxlY3QtbGlzdF9faXRlbSB0cm0tc2VsZWN0LWxpc3RfX3NlYXJjaCB0cm0tc2VsZWN0LWxpc3RfX3NlYXJjaC10ZXh0XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBJMThOX0tFWS5TRUxFQ1RfRU1QVFlfTElTVCB8IHRyYW5zIH19XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgfVxyXG4gICAgICBAZm9yIChpdGVtIG9mIGxpc3Q7IHRyYWNrIGdldEl0ZW1WYWx1ZShpdGVtKSkge1xyXG4gICAgICAgIDxsaSBjbGFzcz1cInRybS1zZWxlY3QtbGlzdF9faXRlbVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3QoaXRlbSlcIlxyXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IHNlbGVjdChpdGVtKVwiXHJcbiAgICAgICAgICAgIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiXHJcbiAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigpXCI+XHJcbiAgICAgICAgICBAaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsVHBsOyBjb250ZXh0OiB7aXRlbX1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2xpPlxyXG4gICAgICB9XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPGRpdiBjbGFzcz1cInRybS1zZWxlY3QtdmFsdWVcIlxyXG4gICAgICAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxyXG4gICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJ0b2dnbGUoKVwiPlxyXG4gICAgICB7eyBzZWxlY3RlZExhYmVsIH19XHJcbiAgICAgIEBpZiAoIXNlbGVjdGVkKSB7XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0cm0tc2VsZWN0LXBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIgfX08L3NwYW4+XHJcbiAgICAgIH1cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0cm0tc2VsZWN0LXZhbHVlX19hcnJvd1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndHJtLXNlbGVjdC12YWx1ZV9fYXJyb3ctdG9wJzogb3BlbmVkfVwiPjwvc3Bhbj5cclxuICAgICAgQGlmIChkYXRhID09PSBmYWxzZSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0cm0tc3Bpbm5lclwiPjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIEBpZiAob3BlbmVkKSB7XHJcbiAgICAgIDx1bCBjbGFzcz1cInRybS1zZWxlY3QtbGlzdFwiIEBpbnNlcnRSZW1vdmU+XHJcbiAgICAgICAgPG5nLXNjcm9sbGJhciBjbGFzcz1cImdtLXNlbGVjdC1saXN0LXNjcm9sbGJhclwiIGFwcFNjcm9sbGJhclNlbGVjdEhlaWdodD5cclxuICAgICAgICAgIEBpZiAoc2VhcmNoYWJsZSkge1xyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJ0cm0tc2VsZWN0LWxpc3RfX2l0ZW0gdHJtLXNlbGVjdC1saXN0X19zZWFyY2hcIj5cclxuICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJ0cm0tZm9ybS1maWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJJMThOX0tFWS5TRUxFQ1RfU0VBUkNIIHwgdHJhbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcclxuICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaENvbnRyb2xcIj5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiAoc2VhcmNoYWJsZSAmJiBzZWFyY2hDb250cm9sLnZhbHVlICYmIGxpc3QubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cInRybS1zZWxlY3QtbGlzdF9faXRlbSB0cm0tc2VsZWN0LWxpc3RfX3NlYXJjaCB0cm0tc2VsZWN0LWxpc3RfX3NlYXJjaC10ZXh0XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHt7IEkxOE5fS0VZLlNFTEVDVF9FTVBUWV9MSVNUIHwgdHJhbnMgfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgbGlzdDsgdHJhY2sgZ2V0SXRlbVZhbHVlKGl0ZW0pKSB7XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cInRybS1zZWxlY3QtbGlzdF9faXRlbVwiXHJcbiAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdChpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IHNlbGVjdChpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiPlxyXG4gICAgICAgICAgICAgIHt7IGdldEl0ZW1MYWJlbChpdGVtKSB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvbmctc2Nyb2xsYmFyPlxyXG4gICAgICA8L3VsPlxyXG4gICAgfVxyXG4gIH1cclxuPC9kaXY+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cIlthcHAtdHJtLXNlbGVjdC1oaW50XVwiPjwvbmctY29udGVudD5cclxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Component, HostListener, inject } from '@angular/core';
|
|
2
2
|
import { NavigationCancel, NavigationEnd, NavigationError, Router, RouterOutlet } from '@angular/router';
|
|
3
3
|
import { filter, first, switchMap, takeUntil } from 'rxjs/operators';
|
|
4
|
-
import {
|
|
4
|
+
import { of, Subject } from 'rxjs';
|
|
5
5
|
import { TranslateLangStorageService } from './services/translation/translate-lang-storage.service';
|
|
6
6
|
import { APP_READY_TOKEN } from './models/constants';
|
|
7
7
|
import { FocusHandler } from './helpers/key-down-handler';
|
|
@@ -22,16 +22,9 @@ export class TerminalTplComponent {
|
|
|
22
22
|
FocusHandler.previousEnabled(ev);
|
|
23
23
|
}
|
|
24
24
|
ngOnInit() {
|
|
25
|
-
this.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
this.navigationEnd$(),
|
|
29
|
-
this.langStorage.setLanguage$()
|
|
30
|
-
])
|
|
31
|
-
.pipe(switchMap(() => hideInitLoader()), first(), takeUntil(this.unSubscriber))
|
|
32
|
-
.subscribe(() => {
|
|
33
|
-
this.ready$.next(true);
|
|
34
|
-
});
|
|
25
|
+
this.navigationEnd$()
|
|
26
|
+
.pipe(switchMap(() => this.langStorage.setLanguage$({ save: false })), switchMap(() => hideInitLoader()), first(), takeUntil(this.unSubscriber))
|
|
27
|
+
.subscribe(() => this.ready$.next(true));
|
|
35
28
|
}
|
|
36
29
|
navigationEnd$() {
|
|
37
30
|
if (this.router.navigated) {
|
|
@@ -59,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
59
52
|
type: HostListener,
|
|
60
53
|
args: ['document:keydown.arrowUp', ['$event', '$event.currentTarget']]
|
|
61
54
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwtdHBsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rlcm1pbmFsLXRlbXBsYXRlL3NyYy9saWIvYXBwL3Rlcm1pbmFsLXRwbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXJtaW5hbC10ZW1wbGF0ZS9zcmMvbGliL2FwcC90ZXJtaW5hbC10cGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekcsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBa0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBWTVDLE1BQU0sT0FBTyxvQkFBb0I7SUFWakM7UUFXWSxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLFdBQU0sR0FBRyxNQUFNLENBQTJCLGVBQWUsQ0FBQyxDQUFDO1FBQzNELGdCQUFXLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFFMUMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0tBbUM5QztJQWpDbUYsSUFBSSxDQUFDLEVBQUUsRUFBRSxRQUFrQjtRQUN2RyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDNkUsSUFBSSxDQUFDLEVBQUUsRUFBRSxRQUFrQjtRQUNyRyxZQUFZLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFHSCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsRUFBRTthQUNsQixJQUFJLENBQ0gsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFDL0QsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDLEVBQ2pDLEtBQUssRUFBRSxFQUNQLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQzdCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVTLGNBQWM7UUFDbEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUNwQixJQUFJLENBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsSUFBSSxLQUFLLFlBQVksZ0JBQWdCLElBQUksS0FBSyxZQUFZLGVBQWUsQ0FBQyxDQUMzSCxDQUFBO0lBQ1QsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQzs4R0F2Q1Esb0JBQW9CO2tHQUFwQixvQkFBb0IsNFBDcEJqQyx3SEFLQSwwRERhYyxZQUFZLHNKQUFFLFNBQVM7OzJGQUV4QixvQkFBb0I7a0JBVmhDLFNBQVM7K0JBQ0ksY0FBYyxRQUNsQjt3QkFDRixLQUFLLEVBQUUsS0FBSztxQkFDZixjQUdXLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUM7OEJBUzhDLElBQUk7c0JBQW5GLFlBQVk7dUJBQUMsNEJBQTRCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsc0JBQXNCLENBQUM7Z0JBR0EsSUFBSTtzQkFBakYsWUFBWTt1QkFBQywwQkFBMEIsRUFBRSxDQUFDLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBpbmplY3QsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25DYW5jZWwsIE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25FcnJvciwgUm91dGVyLCBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVMYW5nU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0ZS1sYW5nLXN0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEFQUF9SRUFEWV9UT0tFTiB9IGZyb20gJy4vbW9kZWxzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IEZvY3VzSGFuZGxlciB9IGZyb20gJy4vaGVscGVycy9rZXktZG93bi1oYW5kbGVyJztcclxuaW1wb3J0IHsgaGlkZUluaXRMb2FkZXIgfSBmcm9tICcuL2hlbHBlcnMvaGlkZS1pbml0LWxvYWRlcic7XHJcbmltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndGVybWluYWwtdHBsJyxcclxuICAgIGhvc3Q6IHtcclxuICAgICAgICBjbGFzczogJ3RybSdcclxuICAgIH0sXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGVybWluYWwtdHBsLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3Rlcm1pbmFsLXRwbC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtSb3V0ZXJPdXRsZXQsIEFzeW5jUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRlcm1pbmFsVHBsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuICAgIHJlYWR5JCA9IGluamVjdDxCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4+KEFQUF9SRUFEWV9UT0tFTik7XHJcbiAgICBsYW5nU3RvcmFnZSA9IGluamVjdChUcmFuc2xhdGVMYW5nU3RvcmFnZVNlcnZpY2UpO1xyXG5cclxuICAgIHByaXZhdGUgdW5TdWJzY3JpYmVyID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmFycm93RG93bicsIFsnJGV2ZW50JywgJyRldmVudC5jdXJyZW50VGFyZ2V0J10pIG5leHQoZXYsIGRvY3VtZW50OiBEb2N1bWVudCkge1xyXG4gICAgICAgIEZvY3VzSGFuZGxlci5uZXh0RW5hYmxlZChldik7XHJcbiAgICB9XHJcbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmFycm93VXAnLCBbJyRldmVudCcsICckZXZlbnQuY3VycmVudFRhcmdldCddKSBwcmV2KGV2LCBkb2N1bWVudDogRG9jdW1lbnQpIHtcclxuICAgICAgICBGb2N1c0hhbmRsZXIucHJldmlvdXNFbmFibGVkKGV2KTtcclxuICAgIH1cclxuXHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5uYXZpZ2F0aW9uRW5kJCgpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmxhbmdTdG9yYWdlLnNldExhbmd1YWdlJCh7IHNhdmU6IGZhbHNlIH0pKSxcclxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gaGlkZUluaXRMb2FkZXIoKSksXHJcbiAgICAgICAgZmlyc3QoKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy51blN1YnNjcmliZXIpLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWFkeSQubmV4dCh0cnVlKSk7XHJcbiAgfVxyXG5cclxuICAgIHByaXZhdGUgbmF2aWdhdGlvbkVuZCQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucm91dGVyLm5hdmlnYXRlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gb2Yoe30pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIuZXZlbnRzXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fCBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwgfHwgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRXJyb3IpXHJcbiAgICAgICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy51blN1YnNjcmliZXIubmV4dCgpO1xyXG4gICAgICAgIHRoaXMudW5TdWJzY3JpYmVyLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiQGlmIChyZWFkeSQgfCBhc3luYykge1xyXG4gIDxkaXYgY2xhc3M9XCJhcHBfX2NvbnRhaW5lclwiPlxyXG4gICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG4gIDwvZGl2PlxyXG59XHJcbiJdfQ==
|