@rededor/site-front-end-lib 0.0.45 → 0.0.47
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/components/algolia/algolia.component.mjs +7 -9
- package/esm2022/lib/components/header/header.component.mjs +3 -3
- package/esm2022/lib/directives/rdsite-link/rdsite-link.directive.mjs +9 -2
- package/esm2022/lib/services/seo/seo.service.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib.mjs +17 -11
- package/fesm2022/rededor-site-front-end-lib.mjs.map +1 -1
- package/lib/components/algolia/algolia.component.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { CUSTOM_ELEMENTS_SCHEMA, Component, EventEmitter, Inject, Input, Output, PLATFORM_ID } from '@angular/core';
|
|
2
2
|
import { isPlatformBrowser } from '@angular/common';
|
|
3
|
-
import checkSafariAgent from '../../helpers/check-safari-agent.func';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
import * as i1 from "../../services/algolia-search-api/algolia-search-api.service";
|
|
6
5
|
export class AlgoliaComponent {
|
|
@@ -40,7 +39,7 @@ export class AlgoliaComponent {
|
|
|
40
39
|
this.isMobile = false;
|
|
41
40
|
this.isSafari = false;
|
|
42
41
|
this.mediumBreakpoint = 768;
|
|
43
|
-
this.scrollY =
|
|
42
|
+
this.scrollY = null;
|
|
44
43
|
this.resetItem = new EventEmitter();
|
|
45
44
|
this.algoliaResults = new EventEmitter();
|
|
46
45
|
}
|
|
@@ -48,17 +47,16 @@ export class AlgoliaComponent {
|
|
|
48
47
|
if (isPlatformBrowser(this.platformId)) {
|
|
49
48
|
const viewportInnerWidth = window.innerWidth;
|
|
50
49
|
this.isMobile = viewportInnerWidth < this.mediumBreakpoint;
|
|
51
|
-
this.isSafari = checkSafariAgent();
|
|
52
50
|
}
|
|
53
51
|
}
|
|
54
|
-
|
|
55
|
-
if (isPlatformBrowser(this.platformId) && this.isMobile
|
|
52
|
+
manageFocus() {
|
|
53
|
+
if (isPlatformBrowser(this.platformId) && this.isMobile) {
|
|
56
54
|
this.scrollY = window.scrollY;
|
|
57
55
|
window.scrollTo(0, 0);
|
|
58
56
|
}
|
|
59
57
|
}
|
|
60
58
|
manageScrollPosition() {
|
|
61
|
-
if (isPlatformBrowser(this.platformId) && this.isMobile && this.
|
|
59
|
+
if (isPlatformBrowser(this.platformId) && this.isMobile && this.scrollY) {
|
|
62
60
|
window.scrollTo({ top: this.scrollY });
|
|
63
61
|
}
|
|
64
62
|
}
|
|
@@ -110,11 +108,11 @@ export class AlgoliaComponent {
|
|
|
110
108
|
}
|
|
111
109
|
}
|
|
112
110
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AlgoliaComponent, deps: [{ token: i1.AlgoliaSearchApiService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
113
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: AlgoliaComponent, isStandalone: true, selector: "rdsite-algolia", inputs: { algoliaConfig: "algoliaConfig", label: "label", name: "name", required: "required", selected: "selected", value: "value", placeholder: "placeholder", deleteButton: "deleteButton", iconName: "iconName", status: "status", startSearchAtCharLen: "startSearchAtCharLen", hintTitle: "hintTitle", hints: "hints", searchParams: "searchParams" }, outputs: { resetItem: "resetItem", algoliaResults: "algoliaResults" }, ngImport: i0, template: "<cura-dropdown-search\n [value]=\"value\"\n [status]=\"status\"\n [name]=\"name\"\n [required]=\"required\"\n [selected]=\"selected\"\n [label]=\"label\"\n [iconName]=\"iconName\"\n [placeholder]=\"placeholder\"\n (valueChange)=\"resetValues()\"\n (input)=\"termChange($event)\"\n (focus)=\"
|
|
111
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: AlgoliaComponent, isStandalone: true, selector: "rdsite-algolia", inputs: { algoliaConfig: "algoliaConfig", label: "label", name: "name", required: "required", selected: "selected", value: "value", placeholder: "placeholder", deleteButton: "deleteButton", iconName: "iconName", status: "status", startSearchAtCharLen: "startSearchAtCharLen", hintTitle: "hintTitle", hints: "hints", searchParams: "searchParams" }, outputs: { resetItem: "resetItem", algoliaResults: "algoliaResults" }, ngImport: i0, template: "<cura-dropdown-search\n [value]=\"value\"\n [status]=\"status\"\n [name]=\"name\"\n [required]=\"required\"\n [selected]=\"selected\"\n [label]=\"label\"\n [iconName]=\"iconName\"\n [placeholder]=\"placeholder\"\n (valueChange)=\"resetValues()\"\n (input)=\"termChange($event)\"\n (focus)=\"manageFocus()\"\n (blur)=\"manageScrollPosition()\"\n>\n @if (status === 'error') {\n <cura-dropdown-search-option name=\"error\">\n <div class=\"head\">\n <cura-icon size=\"24\" name=\"alertCircle\" color=\"error-700\"></cura-icon>\n <cura-paragraph size=\"small\" color=\"error-700\" weight=\"bold\"> N\u00E3o h\u00E1 nenhum resultado para \"{{ searchTerm.toUpperCase() }}\".</cura-paragraph>\n </div>\n </cura-dropdown-search-option>\n }\n <ng-content></ng-content>\n</cura-dropdown-search>\n", styles: ["cura-dropdown-search-option[name=error]{pointer-events:none;cursor:default}cura-dropdown-search-option[name=error] .head{display:flex;flex-direction:row;justify-content:center;align-items:center;justify-content:flex-start;gap:8px;width:100%}cura-dropdown-search-option[name=error]::ng-deep cura-label{background-color:transparent!important}cura-dropdown-search-option[name=error]:hover{background-color:inherit;color:inherit;pointer-events:none}@media only screen and (min-width: 769px){cura-dropdown-search{position:relative;z-index:1}}\n"] }); }
|
|
114
112
|
}
|
|
115
113
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AlgoliaComponent, decorators: [{
|
|
116
114
|
type: Component,
|
|
117
|
-
args: [{ selector: 'rdsite-algolia', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<cura-dropdown-search\n [value]=\"value\"\n [status]=\"status\"\n [name]=\"name\"\n [required]=\"required\"\n [selected]=\"selected\"\n [label]=\"label\"\n [iconName]=\"iconName\"\n [placeholder]=\"placeholder\"\n (valueChange)=\"resetValues()\"\n (input)=\"termChange($event)\"\n (focus)=\"
|
|
115
|
+
args: [{ selector: 'rdsite-algolia', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<cura-dropdown-search\n [value]=\"value\"\n [status]=\"status\"\n [name]=\"name\"\n [required]=\"required\"\n [selected]=\"selected\"\n [label]=\"label\"\n [iconName]=\"iconName\"\n [placeholder]=\"placeholder\"\n (valueChange)=\"resetValues()\"\n (input)=\"termChange($event)\"\n (focus)=\"manageFocus()\"\n (blur)=\"manageScrollPosition()\"\n>\n @if (status === 'error') {\n <cura-dropdown-search-option name=\"error\">\n <div class=\"head\">\n <cura-icon size=\"24\" name=\"alertCircle\" color=\"error-700\"></cura-icon>\n <cura-paragraph size=\"small\" color=\"error-700\" weight=\"bold\"> N\u00E3o h\u00E1 nenhum resultado para \"{{ searchTerm.toUpperCase() }}\".</cura-paragraph>\n </div>\n </cura-dropdown-search-option>\n }\n <ng-content></ng-content>\n</cura-dropdown-search>\n", styles: ["cura-dropdown-search-option[name=error]{pointer-events:none;cursor:default}cura-dropdown-search-option[name=error] .head{display:flex;flex-direction:row;justify-content:center;align-items:center;justify-content:flex-start;gap:8px;width:100%}cura-dropdown-search-option[name=error]::ng-deep cura-label{background-color:transparent!important}cura-dropdown-search-option[name=error]:hover{background-color:inherit;color:inherit;pointer-events:none}@media only screen and (min-width: 769px){cura-dropdown-search{position:relative;z-index:1}}\n"] }]
|
|
118
116
|
}], ctorParameters: () => [{ type: i1.AlgoliaSearchApiService }, { type: undefined, decorators: [{
|
|
119
117
|
type: Inject,
|
|
120
118
|
args: [PLATFORM_ID]
|
|
@@ -152,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
152
150
|
}], algoliaResults: [{
|
|
153
151
|
type: Output
|
|
154
152
|
}] } });
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxnb2xpYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FsZ29saWEvYWxnb2xpYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FsZ29saWEvYWxnb2xpYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJNUgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxnQkFBZ0IsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBU3JFLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUNELDJEQUEyRDtJQUMzRCxJQUNJLGFBQWEsQ0FBQyxNQUFxQjtRQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBZ0NELFlBQ21CLHVCQUFnRCxFQUMzQixVQUFrQjtRQUR2Qyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQzNCLGVBQVUsR0FBVixVQUFVLENBQVE7UUE5QzFELHNCQUFpQixHQUFrQixFQUFFLEVBQUUsRUFBRSxF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QztpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBcEhVLGdCQUFnQix5REErQ2pCLFdBQVc7bUdBL0NWLGdCQUFnQiw2ZUNkN0IsdTBCQXdCQTs7NEZEVmEsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLHNCQUFzQixDQUFDOzswQkFtRDlCLE1BQU07MkJBQUMsV0FBVzt5Q0F4Q2pCLGFBQWE7c0JBRGhCLEtBQUs7dUJBQUMsZUFBZTtnQkFTYixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQWNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFsZ29saWFDb25maWcsIEFsZ29saWFTZWFyY2hQYXJhbXMsIFJkc2xBbGdvbGlhTXVsdGlwbGVJbmRleCB9IGZyb20gJy4uLy4uL21vZGVscy9hbGdvbGlhLXNlYXJjaC1hcGkubW9kZWwnO1xuaW1wb3J0IHsgQWxnb2xpYVNlYXJjaEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbGdvbGlhLXNlYXJjaC1hcGkvYWxnb2xpYS1zZWFyY2gtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWxnb2xpYU9wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9hbGdvbGlhLm1vZGVsJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCBjaGVja1NhZmFyaUFnZW50IGZyb20gJy4uLy4uL2hlbHBlcnMvY2hlY2stc2FmYXJpLWFnZW50LmZ1bmMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyZHNpdGUtYWxnb2xpYScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2FsZ29saWEuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYWxnb2xpYS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEFsZ29saWFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb21wQWxnb2xpYUNvbmZpZzogQWxnb2xpYUNvbmZpZyA9IHsgaWQ6ICcnLCBrZXk6ICcnIH07XG4gIGdldCBhbGdvbGlhQ29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLmNvbXBBbGdvbGlhQ29uZmlnO1xuICB9XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnYWxnb2xpYUNvbmZpZycpXG4gIHNldCBhbGdvbGlhQ29uZmlnKGNvbmZpZzogQWxnb2xpYUNvbmZpZykge1xuICAgIHRoaXMucmVhZHkgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5zZXR1cEFsZ29saWEoY29uZmlnKSkge1xuICAgICAgdGhpcy5jb21wQWxnb2xpYUNvbmZpZyA9IGNvbmZpZztcbiAgICAgIHRoaXMucmVhZHkgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIG5hbWUgPSAnY3VyYS1kcm9wZG93bic7XG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNlbGVjdGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHZhbHVlID0gJyc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ0Zhw6dhIGEgc3VhIGJ1c2NhJztcbiAgQElucHV0KCkgZGVsZXRlQnV0dG9uID0gZmFsc2U7XG4gIEBJbnB1dCgpIGljb25OYW1lID0gJ3NlYXJjaCc7XG4gIEBJbnB1dCgpIHN0YXR1czogJ2RlZmF1bHQnIHwgJ2Vycm9yJyA9ICdkZWZhdWx0JztcblxuICBASW5wdXQoKSBzdGFydFNlYXJjaEF0Q2hhckxlbjogbnVtYmVyID0gMjtcbiAgQElucHV0KCkgaGludFRpdGxlID0gJ01haXMgQnVzY2Fkb3MnO1xuICBASW5wdXQoKSBoaW50czogQWxnb2xpYU9wdGlvbltdID0gW107XG4gIEBJbnB1dCgpIHNlYXJjaFBhcmFtczogQWxnb2xpYVNlYXJjaFBhcmFtcyA9IHt9O1xuXG4gIHNlYXJjaFRlcm06IHN0cmluZyA9ICcnO1xuXG4gIC8vIEFsZ29saWFcbiAgaXNNdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIFN0YXRlXG4gIHJlYWR5OiBib29sZWFuID0gZmFsc2U7XG4gIGlzTW9iaWxlID0gZmFsc2U7XG4gIGlzU2FmYXJpID0gZmFsc2U7XG4gIG1lZGl1bUJyZWFrcG9pbnQgPSA3Njg7XG4gIHNjcm9sbFkgPSAwO1xuXG4gIEBPdXRwdXQoKSByZXNldEl0ZW06IEV2ZW50RW1pdHRlcjx7fT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBhbGdvbGlhUmVzdWx0czogRXZlbnRFbWl0dGVyPHt9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZ29saWFTZWFyY2hBcGlTZXJ2aWNlOiBBbGdvbGlhU2VhcmNoQXBpU2VydmljZSxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQ6IG9iamVjdCxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICBjb25zdCB2aWV3cG9ydElubmVyV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSB2aWV3cG9ydElubmVyV2lkdGggPCB0aGlzLm1lZGl1bUJyZWFrcG9pbnQ7XG4gICAgICB0aGlzLmlzU2FmYXJpID0gY2hlY2tTYWZhcmlBZ2VudCgpO1xuICAgIH1cbiAgfVxuXG4gIG1hbmFnZUZvY3VzU2FmYXJpKCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHRoaXMuaXNNb2JpbGUgJiYgdGhpcy5pc1NhZmFyaSkge1xuICAgICAgdGhpcy5zY3JvbGxZID0gd2luZG93LnNjcm9sbFk7XG4gICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgfVxuICB9XG5cbiAgbWFuYWdlU2Nyb2xsUG9zaXRpb24oKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgJiYgdGhpcy5pc01vYmlsZSAmJiB0aGlzLmlzU2FmYXJpKSB7XG4gICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IHRoaXMuc2Nyb2xsWSB9KTtcbiAgICB9XG4gIH1cblxuICByZXNldFZhbHVlcygpIHtcbiAgICB0aGlzLnJlc2V0SXRlbS5lbWl0KCk7XG4gIH1cblxuICB0ZXJtQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQudGFyZ2V0LnZhbHVlKSB7XG4gICAgICB0aGlzLnNlYXJjaFRlcm0gPSBldmVudD8udGFyZ2V0Py52YWx1ZTtcbiAgICAgIHRoaXMuc2VhcmNoKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzZXRWYWx1ZXMoKTtcbiAgICB9XG4gIH1cblxuICBzZXR1cEFsZ29saWEoY29uZmlnOiBBbGdvbGlhQ29uZmlnKTogYm9vbGVhbiB7XG4gICAgaWYgKGNvbmZpZz8uaWQgJiYgY29uZmlnPy5rZXkgJiYgKGNvbmZpZz8uaW5kZXggfHwgY29uZmlnPy5tdWx0aXBsZUluZGV4KSkge1xuICAgICAgaWYgKGNvbmZpZy5tdWx0aXBsZUluZGV4KSB7XG4gICAgICAgIHRoaXMuaXNNdWx0aXBsZSA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzTXVsdGlwbGUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgc2VhcmNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlYXJjaFRlcm0/Lmxlbmd0aCA+PSB0aGlzLnN0YXJ0U2VhcmNoQXRDaGFyTGVuICYmIHRoaXMucmVhZHkpIHtcbiAgICAgIGlmICghdGhpcy5pc011bHRpcGxlKSB7XG4gICAgICAgIHRoaXMuYWxnb2xpYVNlYXJjaEFwaVNlcnZpY2Uuc2VhcmNoKHRoaXMuc2VhcmNoVGVybSwgdGhpcy5hbGdvbGlhQ29uZmlnLmluZGV4ISwgdGhpcy5zZWFyY2hQYXJhbXMpLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHJlc3VsdHMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWxnb2xpYVJlc3VsdHMuZW1pdChyZXN1bHRzKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHF1ZXJpZXM6IFJkc2xBbGdvbGlhTXVsdGlwbGVJbmRleFtdID0gdGhpcy5jb21wQWxnb2xpYUNvbmZpZz8ubXVsdGlwbGVJbmRleCEubWFwKChpOiBSZHNsQWxnb2xpYU11bHRpcGxlSW5kZXgpID0+IHtcbiAgICAgICAgICByZXR1cm4geyAuLi5pLCBxdWVyeTogdGhpcy5zZWFyY2hUZXJtIH07XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFsZ29saWFTZWFyY2hBcGlTZXJ2aWNlLnNlYXJjaE11bHRpcGxlSW5kZXhlcyhxdWVyaWVzKS5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChyZXN1bHRzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFsZ29saWFSZXN1bHRzLmVtaXQocmVzdWx0cy5yZXN1bHRzKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxjdXJhLWRyb3Bkb3duLXNlYXJjaFxuICBbdmFsdWVdPVwidmFsdWVcIlxuICBbc3RhdHVzXT1cInN0YXR1c1wiXG4gIFtuYW1lXT1cIm5hbWVcIlxuICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRcIlxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbaWNvbk5hbWVdPVwiaWNvbk5hbWVcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAodmFsdWVDaGFuZ2UpPVwicmVzZXRWYWx1ZXMoKVwiXG4gIChpbnB1dCk9XCJ0ZXJtQ2hhbmdlKCRldmVudClcIlxuICAoZm9jdXMpPVwibWFuYWdlRm9jdXNTYWZhcmkoKVwiXG4gIChibHVyKT1cIm1hbmFnZVNjcm9sbFBvc2l0aW9uKClcIlxuPlxuICBAaWYgKHN0YXR1cyA9PT0gJ2Vycm9yJykge1xuICAgIDxjdXJhLWRyb3Bkb3duLXNlYXJjaC1vcHRpb24gbmFtZT1cImVycm9yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZFwiPlxuICAgICAgICA8Y3VyYS1pY29uIHNpemU9XCIyNFwiIG5hbWU9XCJhbGVydENpcmNsZVwiIGNvbG9yPVwiZXJyb3ItNzAwXCI+PC9jdXJhLWljb24+XG4gICAgICAgIDxjdXJhLXBhcmFncmFwaCBzaXplPVwic21hbGxcIiBjb2xvcj1cImVycm9yLTcwMFwiIHdlaWdodD1cImJvbGRcIj4gTsOjbyBow6EgbmVuaHVtIHJlc3VsdGFkbyBwYXJhIFwie3sgc2VhcmNoVGVybS50b1VwcGVyQ2FzZSgpIH19XCIuPC9jdXJhLXBhcmFncmFwaD5cbiAgICAgIDwvZGl2PlxuICAgIDwvY3VyYS1kcm9wZG93bi1zZWFyY2gtb3B0aW9uPlxuICB9XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvY3VyYS1kcm9wZG93bi1zZWFyY2g+XG4iXX0=
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxnb2xpYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FsZ29saWEvYWxnb2xpYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FsZ29saWEvYWxnb2xpYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJNUgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVNwRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFDRCwyREFBMkQ7SUFDM0QsSUFDSSxhQUFhLENBQUMsTUFBcUI7UUFDckMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztZQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQWdDRCxZQUNtQix1QkFBZ0QsRUFDM0IsVUFBa0I7UUFEdkMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUMzQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBOUMxRCxzQkFBaUIsR0FBa0IsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztR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QkF3QkE7OzRGRFhhLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxzQkFBc0IsQ0FBQzs7MEJBbUQ5QixNQUFNOzJCQUFDLFdBQVc7eUNBeENqQixhQUFhO3NCQURoQixLQUFLO3VCQUFDLGVBQWU7Z0JBU2IsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFjSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbGdvbGlhQ29uZmlnLCBBbGdvbGlhU2VhcmNoUGFyYW1zLCBSZHNsQWxnb2xpYU11bHRpcGxlSW5kZXggfSBmcm9tICcuLi8uLi9tb2RlbHMvYWxnb2xpYS1zZWFyY2gtYXBpLm1vZGVsJztcbmltcG9ydCB7IEFsZ29saWFTZWFyY2hBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWxnb2xpYS1zZWFyY2gtYXBpL2FsZ29saWEtc2VhcmNoLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEFsZ29saWFPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvYWxnb2xpYS5tb2RlbCc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jkc2l0ZS1hbGdvbGlhJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxnb2xpYS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hbGdvbGlhLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQWxnb2xpYUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbXBBbGdvbGlhQ29uZmlnOiBBbGdvbGlhQ29uZmlnID0geyBpZDogJycsIGtleTogJycgfTtcbiAgZ2V0IGFsZ29saWFDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcEFsZ29saWFDb25maWc7XG4gIH1cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdhbGdvbGlhQ29uZmlnJylcbiAgc2V0IGFsZ29saWFDb25maWcoY29uZmlnOiBBbGdvbGlhQ29uZmlnKSB7XG4gICAgdGhpcy5yZWFkeSA9IGZhbHNlO1xuICAgIGlmICh0aGlzLnNldHVwQWxnb2xpYShjb25maWcpKSB7XG4gICAgICB0aGlzLmNvbXBBbGdvbGlhQ29uZmlnID0gY29uZmlnO1xuICAgICAgdGhpcy5yZWFkeSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgbmFtZSA9ICdjdXJhLWRyb3Bkb3duJztcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgc2VsZWN0ZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgdmFsdWUgPSAnJztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnRmHDp2EgYSBzdWEgYnVzY2EnO1xuICBASW5wdXQoKSBkZWxldGVCdXR0b24gPSBmYWxzZTtcbiAgQElucHV0KCkgaWNvbk5hbWUgPSAnc2VhcmNoJztcbiAgQElucHV0KCkgc3RhdHVzOiAnZGVmYXVsdCcgfCAnZXJyb3InID0gJ2RlZmF1bHQnO1xuXG4gIEBJbnB1dCgpIHN0YXJ0U2VhcmNoQXRDaGFyTGVuOiBudW1iZXIgPSAyO1xuICBASW5wdXQoKSBoaW50VGl0bGUgPSAnTWFpcyBCdXNjYWRvcyc7XG4gIEBJbnB1dCgpIGhpbnRzOiBBbGdvbGlhT3B0aW9uW10gPSBbXTtcbiAgQElucHV0KCkgc2VhcmNoUGFyYW1zOiBBbGdvbGlhU2VhcmNoUGFyYW1zID0ge307XG5cbiAgc2VhcmNoVGVybTogc3RyaW5nID0gJyc7XG5cbiAgLy8gQWxnb2xpYVxuICBpc011bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLy8gU3RhdGVcbiAgcmVhZHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNNb2JpbGUgPSBmYWxzZTtcbiAgaXNTYWZhcmkgPSBmYWxzZTtcbiAgbWVkaXVtQnJlYWtwb2ludCA9IDc2ODtcbiAgc2Nyb2xsWTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQE91dHB1dCgpIHJlc2V0SXRlbTogRXZlbnRFbWl0dGVyPHt9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGFsZ29saWFSZXN1bHRzOiBFdmVudEVtaXR0ZXI8e30+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxnb2xpYVNlYXJjaEFwaVNlcnZpY2U6IEFsZ29saWFTZWFyY2hBcGlTZXJ2aWNlLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZDogb2JqZWN0LFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIGNvbnN0IHZpZXdwb3J0SW5uZXJXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuICAgICAgdGhpcy5pc01vYmlsZSA9IHZpZXdwb3J0SW5uZXJXaWR0aCA8IHRoaXMubWVkaXVtQnJlYWtwb2ludDtcbiAgICB9XG4gIH1cblxuICBtYW5hZ2VGb2N1cygpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLmlzTW9iaWxlKSB7XG4gICAgICB0aGlzLnNjcm9sbFkgPSB3aW5kb3cuc2Nyb2xsWTtcbiAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICB9XG4gIH1cblxuICBtYW5hZ2VTY3JvbGxQb3NpdGlvbigpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLmlzTW9iaWxlICYmIHRoaXMuc2Nyb2xsWSkge1xuICAgICAgd2luZG93LnNjcm9sbFRvKHsgdG9wOiB0aGlzLnNjcm9sbFkgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVzZXRWYWx1ZXMoKSB7XG4gICAgdGhpcy5yZXNldEl0ZW0uZW1pdCgpO1xuICB9XG5cbiAgdGVybUNoYW5nZShldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50LnRhcmdldC52YWx1ZSkge1xuICAgICAgdGhpcy5zZWFyY2hUZXJtID0gZXZlbnQ/LnRhcmdldD8udmFsdWU7XG4gICAgICB0aGlzLnNlYXJjaCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlc2V0VmFsdWVzKCk7XG4gICAgfVxuICB9XG5cbiAgc2V0dXBBbGdvbGlhKGNvbmZpZzogQWxnb2xpYUNvbmZpZyk6IGJvb2xlYW4ge1xuICAgIGlmIChjb25maWc/LmlkICYmIGNvbmZpZz8ua2V5ICYmIChjb25maWc/LmluZGV4IHx8IGNvbmZpZz8ubXVsdGlwbGVJbmRleCkpIHtcbiAgICAgIGlmIChjb25maWcubXVsdGlwbGVJbmRleCkge1xuICAgICAgICB0aGlzLmlzTXVsdGlwbGUgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pc011bHRpcGxlID0gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHNlYXJjaCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWFyY2hUZXJtPy5sZW5ndGggPj0gdGhpcy5zdGFydFNlYXJjaEF0Q2hhckxlbiAmJiB0aGlzLnJlYWR5KSB7XG4gICAgICBpZiAoIXRoaXMuaXNNdWx0aXBsZSkge1xuICAgICAgICB0aGlzLmFsZ29saWFTZWFyY2hBcGlTZXJ2aWNlLnNlYXJjaCh0aGlzLnNlYXJjaFRlcm0sIHRoaXMuYWxnb2xpYUNvbmZpZy5pbmRleCEsIHRoaXMuc2VhcmNoUGFyYW1zKS5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChyZXN1bHRzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFsZ29saWFSZXN1bHRzLmVtaXQocmVzdWx0cyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBxdWVyaWVzOiBSZHNsQWxnb2xpYU11bHRpcGxlSW5kZXhbXSA9IHRoaXMuY29tcEFsZ29saWFDb25maWc/Lm11bHRpcGxlSW5kZXghLm1hcCgoaTogUmRzbEFsZ29saWFNdWx0aXBsZUluZGV4KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4uaSwgcXVlcnk6IHRoaXMuc2VhcmNoVGVybSB9O1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hbGdvbGlhU2VhcmNoQXBpU2VydmljZS5zZWFyY2hNdWx0aXBsZUluZGV4ZXMocXVlcmllcykuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAocmVzdWx0cykgPT4ge1xuICAgICAgICAgICAgdGhpcy5hbGdvbGlhUmVzdWx0cy5lbWl0KHJlc3VsdHMucmVzdWx0cyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8Y3VyYS1kcm9wZG93bi1zZWFyY2hcbiAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgW3N0YXR1c109XCJzdGF0dXNcIlxuICBbbmFtZV09XCJuYW1lXCJcbiAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgW3NlbGVjdGVkXT1cInNlbGVjdGVkXCJcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2ljb25OYW1lXT1cImljb25OYW1lXCJcbiAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgKHZhbHVlQ2hhbmdlKT1cInJlc2V0VmFsdWVzKClcIlxuICAoaW5wdXQpPVwidGVybUNoYW5nZSgkZXZlbnQpXCJcbiAgKGZvY3VzKT1cIm1hbmFnZUZvY3VzKClcIlxuICAoYmx1cik9XCJtYW5hZ2VTY3JvbGxQb3NpdGlvbigpXCJcbj5cbiAgQGlmIChzdGF0dXMgPT09ICdlcnJvcicpIHtcbiAgICA8Y3VyYS1kcm9wZG93bi1zZWFyY2gtb3B0aW9uIG5hbWU9XCJlcnJvclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRcIj5cbiAgICAgICAgPGN1cmEtaWNvbiBzaXplPVwiMjRcIiBuYW1lPVwiYWxlcnRDaXJjbGVcIiBjb2xvcj1cImVycm9yLTcwMFwiPjwvY3VyYS1pY29uPlxuICAgICAgICA8Y3VyYS1wYXJhZ3JhcGggc2l6ZT1cInNtYWxsXCIgY29sb3I9XCJlcnJvci03MDBcIiB3ZWlnaHQ9XCJib2xkXCI+IE7Do28gaMOhIG5lbmh1bSByZXN1bHRhZG8gcGFyYSBcInt7IHNlYXJjaFRlcm0udG9VcHBlckNhc2UoKSB9fVwiLjwvY3VyYS1wYXJhZ3JhcGg+XG4gICAgICA8L2Rpdj5cbiAgICA8L2N1cmEtZHJvcGRvd24tc2VhcmNoLW9wdGlvbj5cbiAgfVxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2N1cmEtZHJvcGRvd24tc2VhcmNoPlxuIl19
|
|
@@ -64,11 +64,11 @@ export class HeaderComponent {
|
|
|
64
64
|
this.headerService.toggleShowSearch(false);
|
|
65
65
|
}
|
|
66
66
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderComponent, deps: [{ token: i1.CuraService }, { token: i2.HeaderService }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
67
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: HeaderComponent, isStandalone: true, selector: "rdsite-header", inputs: { project: "project", theme: "theme", searchControl: "searchControl" }, outputs: { searchChange: "searchChange" }, ngImport: i0, template: "<header class=\"rdsite-header\" [ngStyle]=\"getCuraCssVars('header')\">\n <div class=\"rdsite-header-content\" [ngClass]=\"{ 'show-search': headerService.showSearch() }\">\n <div class=\"rdsite-header-logo\" (click)=\"overlayClick()\">\n <ng-content select=\"rdsite-header-logo\"></ng-content>\n </div>\n <div class=\"rdsite-header-aux-menu\" [ngStyle]=\"getCuraCssVars('aux')\" (click)=\"overlayClick()\">\n <ng-content select=\"rdsite-header-aux-menu\"></ng-content>\n </div>\n <div class=\"rdsite-header-action-menu\" [ngStyle]=\"getCuraCssVars('action')\">\n <ng-content select=\"rdsite-header-action-menu\"></ng-content>\n </div>\n <div class=\"rdsite-header-main-menu\" [ngStyle]=\"getCuraCssVars('main')\">\n <ng-content select=\"rdsite-header-main-menu\"></ng-content>\n </div>\n <div class=\"rdsite-header-side-menu\" [ngStyle]=\"getCuraCssVars('side')\">\n <!-- <ng-content select=\"rdsite-header-side-menu\"></ng-content> -->\n <ng-content select=\"#rdsite-header-side-menu\"></ng-content>\n </div>\n @if (searchControl) {\n <div class=\"rdsite-header-search\">\n <rdsite-search [searchControl]=\"searchControl\" [label]=\"'O que voc\u00EA procura?'\" [debounceTime]=\"1500\" [setFocus]=\"true\" (enterPress)=\"doSearch($event)\">\n </rdsite-search>\n </div>\n }\n </div>\n\n <rdsite-overlay class=\"search-overlay\" [ngClass]=\"{ active: headerService.showSearch() }\" (overlayClick)=\"overlayClick()\"></rdsite-overlay>\n</header>\n", styles: [".rdsite-header{position:sticky;top:0;z-index:9999;display:grid!important;grid-template-areas:\". content .\";grid-template-columns:minmax(0px,1fr) minmax(auto,1366px) minmax(0px,1fr);grid-template-rows:80px;background-color:var(--header-bg-color);height:80px}.rdsite-header::ng-deep *{font-family:Gotham,Arial,Helvetica,sans-serif}.rdsite-header .rdsite-header-content{grid-area:content;display:grid!important;grid-template-areas:\"logo . action\" \"logo . action\" \"main main main\";grid-template-columns:144px 1fr auto;grid-template-rows:36px 44px 0px}.rdsite-header .rdsite-header-content .rdsite-header-logo{grid-area:logo}.rdsite-header .rdsite-header-content .rdsite-header-aux-menu{display:none;grid-area:aux;background-color:var(--header-aux-bg-color);justify-content:flex-start}.rdsite-header .rdsite-header-content .rdsite-header-action-menu{grid-area:action;background-color:var(--header-act-bg-color)}.rdsite-header .rdsite-header-content .rdsite-header-main-menu{grid-area:main}.rdsite-header .rdsite-header-content .rdsite-header-search{grid-area:search;display:none;z-index:-1}.rdsite-header .rdsite-header-content .rdsite-header-search rdsite-search{background-color:#fff;width:100%;height:100%;display:block}.rdsite-header .rdsite-header-content.show-search{grid-template-areas:\"logo . action\" \"logo . action\" \"search search search\"}.rdsite-header .rdsite-header-content.show-search .rdsite-header-main-menu{display:none}.rdsite-header .rdsite-header-content.show-search .rdsite-header-search{height:48px;display:block;z-index:1000}.rdsite-header .search-overlay{top:100%;right:0;z-index:-1;width:100vw;height:100vh;transition:all .3s ease-out;opacity:0;background-color:var(--header-overlay-bg-color);pointer-events:none}.rdsite-header .search-overlay.active{z-index:999;opacity:.9;pointer-events:all}@media only screen and (min-width: 1024px){.rdsite-header .rdsite-header-content{grid-template-areas:\"logo aux action\" \"logo main main\";grid-template-columns:144px 1fr auto}.rdsite-header .rdsite-header-content.show-search{grid-template-areas:\"logo aux action\" \"logo search search\"}.rdsite-header .rdsite-header-content.show-search .rdsite-header-search{height:auto}.rdsite-header .rdsite-header-content .rdsite-header-aux-menu,.rdsite-header .rdsite-header-content .rdsite-header-main-menu{display:block}}@media only screen and (min-width: 1366px){.rdsite-header{height:88px}.rdsite-header .rdsite-header-content{grid-template-rows:36px 52px;height:88px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: OverlayComponent, selector: "rdsite-overlay", outputs: ["overlayClick"] }, { kind: "component", type: SearchComponent, selector: "rdsite-search", inputs: ["searchControl", "showSearchButtonMobile", "debounceTime", "label", "canClean", "enable", "loading", "setFocus"], outputs: ["controlBlur", "controlFocus", "controlReset", "termChange", "enterPress"] }] }); }
|
|
67
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: HeaderComponent, isStandalone: true, selector: "rdsite-header", inputs: { project: "project", theme: "theme", searchControl: "searchControl" }, outputs: { searchChange: "searchChange" }, ngImport: i0, template: "<header class=\"rdsite-header\" [ngStyle]=\"getCuraCssVars('header')\">\n <div class=\"rdsite-header-content\" [ngClass]=\"{ 'show-search': headerService.showSearch() }\">\n <div class=\"rdsite-header-logo\" (click)=\"overlayClick()\">\n <ng-content select=\"rdsite-header-logo\"></ng-content>\n </div>\n <div class=\"rdsite-header-aux-menu\" [ngStyle]=\"getCuraCssVars('aux')\" (click)=\"overlayClick()\">\n <ng-content select=\"rdsite-header-aux-menu\"></ng-content>\n </div>\n <div class=\"rdsite-header-action-menu\" [ngStyle]=\"getCuraCssVars('action')\">\n <ng-content select=\"rdsite-header-action-menu\"></ng-content>\n </div>\n <div class=\"rdsite-header-main-menu\" [ngStyle]=\"getCuraCssVars('main')\">\n <ng-content select=\"rdsite-header-main-menu\"></ng-content>\n </div>\n <div class=\"rdsite-header-side-menu\" [ngStyle]=\"getCuraCssVars('side')\">\n <!-- <ng-content select=\"rdsite-header-side-menu\"></ng-content> -->\n <ng-content select=\"#rdsite-header-side-menu\"></ng-content>\n </div>\n @if (searchControl) {\n <div class=\"rdsite-header-search\">\n <rdsite-search [searchControl]=\"searchControl\" [label]=\"'O que voc\u00EA procura?'\" [debounceTime]=\"1500\" [setFocus]=\"true\" (enterPress)=\"doSearch($event)\">\n </rdsite-search>\n </div>\n }\n </div>\n\n <rdsite-overlay class=\"search-overlay\" [ngClass]=\"{ active: headerService.showSearch() }\" (overlayClick)=\"overlayClick()\"></rdsite-overlay>\n</header>\n", styles: [".rdsite-header{position:sticky;top:0;z-index:9999;display:grid!important;grid-template-areas:\". content .\";grid-template-columns:minmax(0px,1fr) minmax(auto,1366px) minmax(0px,1fr);grid-template-rows:80px;background-color:var(--header-bg-color);height:80px}.rdsite-header::ng-deep *{font-family:Gotham,Arial,Helvetica,sans-serif}.rdsite-header .rdsite-header-content{grid-area:content;display:grid!important;grid-template-areas:\"logo . action\" \"logo . action\" \"main main main\";grid-template-columns:144px 1fr auto;grid-template-rows:36px 44px 0px}.rdsite-header .rdsite-header-content .rdsite-header-logo{grid-area:logo}.rdsite-header .rdsite-header-content .rdsite-header-aux-menu{display:none;grid-area:aux;background-color:var(--header-aux-bg-color);justify-content:flex-start}.rdsite-header .rdsite-header-content .rdsite-header-action-menu{grid-area:action;background-color:var(--header-act-bg-color)}.rdsite-header .rdsite-header-content .rdsite-header-main-menu{grid-area:main}.rdsite-header .rdsite-header-content .rdsite-header-search{grid-area:search;display:none;z-index:-1}.rdsite-header .rdsite-header-content .rdsite-header-search rdsite-search{background-color:#fff;width:100%;height:100%;display:block}.rdsite-header .rdsite-header-content.show-search{grid-template-areas:\"logo . action\" \"logo . action\" \"search search search\"}.rdsite-header .rdsite-header-content.show-search .rdsite-header-main-menu{display:none}.rdsite-header .rdsite-header-content.show-search .rdsite-header-search{height:48px;display:block;z-index:1000}.rdsite-header .search-overlay{top:100%;right:0;z-index:-1;width:100vw;height:calc(100vh - 100%);transition:all .3s ease-out;opacity:0;background-color:var(--header-overlay-bg-color);pointer-events:none}.rdsite-header .search-overlay.active{z-index:999;opacity:.9;pointer-events:all}@media only screen and (min-width: 1024px){.rdsite-header .rdsite-header-content{grid-template-areas:\"logo aux action\" \"logo main main\";grid-template-columns:144px 1fr auto}.rdsite-header .rdsite-header-content.show-search{grid-template-areas:\"logo aux action\" \"logo search search\"}.rdsite-header .rdsite-header-content.show-search .rdsite-header-search{height:auto}.rdsite-header .rdsite-header-content .rdsite-header-aux-menu,.rdsite-header .rdsite-header-content .rdsite-header-main-menu{display:block}}@media only screen and (min-width: 1366px){.rdsite-header{height:88px}.rdsite-header .rdsite-header-content{grid-template-rows:36px 52px;height:88px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: OverlayComponent, selector: "rdsite-overlay", outputs: ["overlayClick"] }, { kind: "component", type: SearchComponent, selector: "rdsite-search", inputs: ["searchControl", "showSearchButtonMobile", "debounceTime", "label", "canClean", "enable", "loading", "setFocus"], outputs: ["controlBlur", "controlFocus", "controlReset", "termChange", "enterPress"] }] }); }
|
|
68
68
|
}
|
|
69
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
70
70
|
type: Component,
|
|
71
|
-
args: [{ selector: 'rdsite-header', standalone: true, imports: [CommonModule, OverlayComponent, SearchComponent], template: "<header class=\"rdsite-header\" [ngStyle]=\"getCuraCssVars('header')\">\n <div class=\"rdsite-header-content\" [ngClass]=\"{ 'show-search': headerService.showSearch() }\">\n <div class=\"rdsite-header-logo\" (click)=\"overlayClick()\">\n <ng-content select=\"rdsite-header-logo\"></ng-content>\n </div>\n <div class=\"rdsite-header-aux-menu\" [ngStyle]=\"getCuraCssVars('aux')\" (click)=\"overlayClick()\">\n <ng-content select=\"rdsite-header-aux-menu\"></ng-content>\n </div>\n <div class=\"rdsite-header-action-menu\" [ngStyle]=\"getCuraCssVars('action')\">\n <ng-content select=\"rdsite-header-action-menu\"></ng-content>\n </div>\n <div class=\"rdsite-header-main-menu\" [ngStyle]=\"getCuraCssVars('main')\">\n <ng-content select=\"rdsite-header-main-menu\"></ng-content>\n </div>\n <div class=\"rdsite-header-side-menu\" [ngStyle]=\"getCuraCssVars('side')\">\n <!-- <ng-content select=\"rdsite-header-side-menu\"></ng-content> -->\n <ng-content select=\"#rdsite-header-side-menu\"></ng-content>\n </div>\n @if (searchControl) {\n <div class=\"rdsite-header-search\">\n <rdsite-search [searchControl]=\"searchControl\" [label]=\"'O que voc\u00EA procura?'\" [debounceTime]=\"1500\" [setFocus]=\"true\" (enterPress)=\"doSearch($event)\">\n </rdsite-search>\n </div>\n }\n </div>\n\n <rdsite-overlay class=\"search-overlay\" [ngClass]=\"{ active: headerService.showSearch() }\" (overlayClick)=\"overlayClick()\"></rdsite-overlay>\n</header>\n", styles: [".rdsite-header{position:sticky;top:0;z-index:9999;display:grid!important;grid-template-areas:\". content .\";grid-template-columns:minmax(0px,1fr) minmax(auto,1366px) minmax(0px,1fr);grid-template-rows:80px;background-color:var(--header-bg-color);height:80px}.rdsite-header::ng-deep *{font-family:Gotham,Arial,Helvetica,sans-serif}.rdsite-header .rdsite-header-content{grid-area:content;display:grid!important;grid-template-areas:\"logo . action\" \"logo . action\" \"main main main\";grid-template-columns:144px 1fr auto;grid-template-rows:36px 44px 0px}.rdsite-header .rdsite-header-content .rdsite-header-logo{grid-area:logo}.rdsite-header .rdsite-header-content .rdsite-header-aux-menu{display:none;grid-area:aux;background-color:var(--header-aux-bg-color);justify-content:flex-start}.rdsite-header .rdsite-header-content .rdsite-header-action-menu{grid-area:action;background-color:var(--header-act-bg-color)}.rdsite-header .rdsite-header-content .rdsite-header-main-menu{grid-area:main}.rdsite-header .rdsite-header-content .rdsite-header-search{grid-area:search;display:none;z-index:-1}.rdsite-header .rdsite-header-content .rdsite-header-search rdsite-search{background-color:#fff;width:100%;height:100%;display:block}.rdsite-header .rdsite-header-content.show-search{grid-template-areas:\"logo . action\" \"logo . action\" \"search search search\"}.rdsite-header .rdsite-header-content.show-search .rdsite-header-main-menu{display:none}.rdsite-header .rdsite-header-content.show-search .rdsite-header-search{height:48px;display:block;z-index:1000}.rdsite-header .search-overlay{top:100%;right:0;z-index:-1;width:100vw;height:100vh;transition:all .3s ease-out;opacity:0;background-color:var(--header-overlay-bg-color);pointer-events:none}.rdsite-header .search-overlay.active{z-index:999;opacity:.9;pointer-events:all}@media only screen and (min-width: 1024px){.rdsite-header .rdsite-header-content{grid-template-areas:\"logo aux action\" \"logo main main\";grid-template-columns:144px 1fr auto}.rdsite-header .rdsite-header-content.show-search{grid-template-areas:\"logo aux action\" \"logo search search\"}.rdsite-header .rdsite-header-content.show-search .rdsite-header-search{height:auto}.rdsite-header .rdsite-header-content .rdsite-header-aux-menu,.rdsite-header .rdsite-header-content .rdsite-header-main-menu{display:block}}@media only screen and (min-width: 1366px){.rdsite-header{height:88px}.rdsite-header .rdsite-header-content{grid-template-rows:36px 52px;height:88px}}\n"] }]
|
|
71
|
+
args: [{ selector: 'rdsite-header', standalone: true, imports: [CommonModule, OverlayComponent, SearchComponent], template: "<header class=\"rdsite-header\" [ngStyle]=\"getCuraCssVars('header')\">\n <div class=\"rdsite-header-content\" [ngClass]=\"{ 'show-search': headerService.showSearch() }\">\n <div class=\"rdsite-header-logo\" (click)=\"overlayClick()\">\n <ng-content select=\"rdsite-header-logo\"></ng-content>\n </div>\n <div class=\"rdsite-header-aux-menu\" [ngStyle]=\"getCuraCssVars('aux')\" (click)=\"overlayClick()\">\n <ng-content select=\"rdsite-header-aux-menu\"></ng-content>\n </div>\n <div class=\"rdsite-header-action-menu\" [ngStyle]=\"getCuraCssVars('action')\">\n <ng-content select=\"rdsite-header-action-menu\"></ng-content>\n </div>\n <div class=\"rdsite-header-main-menu\" [ngStyle]=\"getCuraCssVars('main')\">\n <ng-content select=\"rdsite-header-main-menu\"></ng-content>\n </div>\n <div class=\"rdsite-header-side-menu\" [ngStyle]=\"getCuraCssVars('side')\">\n <!-- <ng-content select=\"rdsite-header-side-menu\"></ng-content> -->\n <ng-content select=\"#rdsite-header-side-menu\"></ng-content>\n </div>\n @if (searchControl) {\n <div class=\"rdsite-header-search\">\n <rdsite-search [searchControl]=\"searchControl\" [label]=\"'O que voc\u00EA procura?'\" [debounceTime]=\"1500\" [setFocus]=\"true\" (enterPress)=\"doSearch($event)\">\n </rdsite-search>\n </div>\n }\n </div>\n\n <rdsite-overlay class=\"search-overlay\" [ngClass]=\"{ active: headerService.showSearch() }\" (overlayClick)=\"overlayClick()\"></rdsite-overlay>\n</header>\n", styles: [".rdsite-header{position:sticky;top:0;z-index:9999;display:grid!important;grid-template-areas:\". content .\";grid-template-columns:minmax(0px,1fr) minmax(auto,1366px) minmax(0px,1fr);grid-template-rows:80px;background-color:var(--header-bg-color);height:80px}.rdsite-header::ng-deep *{font-family:Gotham,Arial,Helvetica,sans-serif}.rdsite-header .rdsite-header-content{grid-area:content;display:grid!important;grid-template-areas:\"logo . action\" \"logo . action\" \"main main main\";grid-template-columns:144px 1fr auto;grid-template-rows:36px 44px 0px}.rdsite-header .rdsite-header-content .rdsite-header-logo{grid-area:logo}.rdsite-header .rdsite-header-content .rdsite-header-aux-menu{display:none;grid-area:aux;background-color:var(--header-aux-bg-color);justify-content:flex-start}.rdsite-header .rdsite-header-content .rdsite-header-action-menu{grid-area:action;background-color:var(--header-act-bg-color)}.rdsite-header .rdsite-header-content .rdsite-header-main-menu{grid-area:main}.rdsite-header .rdsite-header-content .rdsite-header-search{grid-area:search;display:none;z-index:-1}.rdsite-header .rdsite-header-content .rdsite-header-search rdsite-search{background-color:#fff;width:100%;height:100%;display:block}.rdsite-header .rdsite-header-content.show-search{grid-template-areas:\"logo . action\" \"logo . action\" \"search search search\"}.rdsite-header .rdsite-header-content.show-search .rdsite-header-main-menu{display:none}.rdsite-header .rdsite-header-content.show-search .rdsite-header-search{height:48px;display:block;z-index:1000}.rdsite-header .search-overlay{top:100%;right:0;z-index:-1;width:100vw;height:calc(100vh - 100%);transition:all .3s ease-out;opacity:0;background-color:var(--header-overlay-bg-color);pointer-events:none}.rdsite-header .search-overlay.active{z-index:999;opacity:.9;pointer-events:all}@media only screen and (min-width: 1024px){.rdsite-header .rdsite-header-content{grid-template-areas:\"logo aux action\" \"logo main main\";grid-template-columns:144px 1fr auto}.rdsite-header .rdsite-header-content.show-search{grid-template-areas:\"logo aux action\" \"logo search search\"}.rdsite-header .rdsite-header-content.show-search .rdsite-header-search{height:auto}.rdsite-header .rdsite-header-content .rdsite-header-aux-menu,.rdsite-header .rdsite-header-content .rdsite-header-main-menu{display:block}}@media only screen and (min-width: 1366px){.rdsite-header{height:88px}.rdsite-header .rdsite-header-content{grid-template-rows:36px 52px;height:88px}}\n"] }]
|
|
72
72
|
}], ctorParameters: () => [{ type: i1.CuraService }, { type: i2.HeaderService }, { type: Document, decorators: [{
|
|
73
73
|
type: Inject,
|
|
74
74
|
args: [DOCUMENT]
|
|
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
84
84
|
}], searchChange: [{
|
|
85
85
|
type: Output
|
|
86
86
|
}] } });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUc1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBUzdELE1BQU0sT0FBTyxlQUFlO0lBQzFCLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFHRCxJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUks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dGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIERPQ1VNRU5ULCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgZWZmZWN0LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE91dHB1dCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEN1cmFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgZ2V0SGVhZGVyVGhlbWUgfSBmcm9tICcuL2hlbHBlcnMvaGVhZGVyVGhlbWUuZnVuYyc7XG5pbXBvcnQgeyBIZWFkZXJUaGVtZSwgSGVhZGVyVGhlbWVLZXlzIH0gZnJvbSAnLi9tb2RlbHMvSGVhZGVyVGhlbWUubW9kZWwnO1xuaW1wb3J0IHsgSGVhZGVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaGVhZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4uL292ZXJsYXkvb3ZlcmxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyZHNpdGUtaGVhZGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgT3ZlcmxheUNvbXBvbmVudCwgU2VhcmNoQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBnZXQgcHJvamVjdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcHJvamVjdDtcbiAgfVxuICBzZXQgcHJvamVjdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fcHJvamVjdCA9IHZhbHVlO1xuICAgIHRoaXMuaGVhZGVyVGhlbWUgPSBnZXRIZWFkZXJUaGVtZSh0aGlzLnByb2plY3QsIHRoaXMudGhlbWUsIHRoaXMuY3VyYVNlcnZpY2UpO1xuICB9XG4gIHByaXZhdGUgX3Byb2plY3Q6IHN0cmluZyA9ICdzaXRlJztcblxuICBASW5wdXQoKVxuICBnZXQgdGhlbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RoZW1lO1xuICB9XG4gIHNldCB0aGVtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdGhlbWUgPSB2YWx1ZTtcbiAgICB0aGlzLmhlYWRlclRoZW1lID0gZ2V0SGVhZGVyVGhlbWUodGhpcy5wcm9qZWN0LCB0aGlzLnRoZW1lLCB0aGlzLmN1cmFTZXJ2aWNlKTtcbiAgfVxuICBwcml2YXRlIF90aGVtZTogc3RyaW5nID0gJ2RlZmF1bHQnO1xuXG4gIGhlYWRlclRoZW1lOiBIZWFkZXJUaGVtZSA9IHtcbiAgICBoZWFkZXI6IHt9LFxuICAgIGF1eDoge30sXG4gICAgYWN0aW9uOiB7fSxcbiAgICBtYWluOiB7fSxcbiAgICBzaWRlOiB7fSxcbiAgfTtcblxuICBzY3JvbGxUb3AgPSAwO1xuXG4gIEBJbnB1dCgpIHNlYXJjaENvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCB8IG51bGwgPSBudWxsO1xuXG4gIEBPdXRwdXQoKSBzZWFyY2hDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY3VyYVNlcnZpY2U6IEN1cmFTZXJ2aWNlLFxuICAgIHB1YmxpYyBoZWFkZXJTZXJ2aWNlOiBIZWFkZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IG9iamVjdCxcbiAgKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHBsYXRmb3JtSWQpIHx8ICF0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3KSByZXR1cm47XG4gICAgICBpZiAodGhpcy5oZWFkZXJTZXJ2aWNlLnNob3dTZWFyY2goKSB8fCB0aGlzLmhlYWRlclNlcnZpY2Uuc2hvd1NpZGVNZW51KCkpIHtcbiAgICAgICAgdGhpcy5zY3JvbGxUb3AgPSB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPz8gMDtcbiAgICAgICAgdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldy5vbnNjcm9sbCA9ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUbyh7IHRvcDogdGhpcy5zY3JvbGxUb3AsIGJlaGF2aW9yOiAnYXV0bycgfSk7XG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3Lm9uc2Nyb2xsID0gbnVsbDtcbiAgICAgICAgdGhpcy5zY3JvbGxUb3AgPSAwO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0Q3VyYUNzc1ZhcnMoY29udGV4dDogSGVhZGVyVGhlbWVLZXlzKSB7XG4gICAgcmV0dXJuIHRoaXMuaGVhZGVyVGhlbWVbY29udGV4dF07XG4gIH1cblxuICBvdmVybGF5Q2xpY2soKSB7XG4gICAgdGhpcy5oZWFkZXJTZXJ2aWNlLnRvZ2dsZVNob3dTZWFyY2goZmFsc2UpO1xuICB9XG5cbiAgZG9TZWFyY2goZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICAgIHRoaXMuaGVhZGVyU2VydmljZS50b2dnbGVTaG93U2VhcmNoKGZhbHNlKTtcbiAgfVxufVxuIiwiPGhlYWRlciBjbGFzcz1cInJkc2l0ZS1oZWFkZXJcIiBbbmdTdHlsZV09XCJnZXRDdXJhQ3NzVmFycygnaGVhZGVyJylcIj5cbiAgPGRpdiBjbGFzcz1cInJkc2l0ZS1oZWFkZXItY29udGVudFwiIFtuZ0NsYXNzXT1cInsgJ3Nob3ctc2VhcmNoJzogaGVhZGVyU2VydmljZS5zaG93U2VhcmNoKCkgfVwiPlxuICAgIDxkaXYgY2xhc3M9XCJyZHNpdGUtaGVhZGVyLWxvZ29cIiAoY2xpY2spPVwib3ZlcmxheUNsaWNrKClcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInJkc2l0ZS1oZWFkZXItbG9nb1wiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicmRzaXRlLWhlYWRlci1hdXgtbWVudVwiIFtuZ1N0eWxlXT1cImdldEN1cmFDc3NWYXJzKCdhdXgnKVwiIChjbGljayk9XCJvdmVybGF5Q2xpY2soKVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicmRzaXRlLWhlYWRlci1hdXgtbWVudVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicmRzaXRlLWhlYWRlci1hY3Rpb24tbWVudVwiIFtuZ1N0eWxlXT1cImdldEN1cmFDc3NWYXJzKCdhY3Rpb24nKVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicmRzaXRlLWhlYWRlci1hY3Rpb24tbWVudVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicmRzaXRlLWhlYWRlci1tYWluLW1lbnVcIiBbbmdTdHlsZV09XCJnZXRDdXJhQ3NzVmFycygnbWFpbicpXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJyZHNpdGUtaGVhZGVyLW1haW4tbWVudVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicmRzaXRlLWhlYWRlci1zaWRlLW1lbnVcIiBbbmdTdHlsZV09XCJnZXRDdXJhQ3NzVmFycygnc2lkZScpXCI+XG4gICAgICA8IS0tIDxuZy1jb250ZW50IHNlbGVjdD1cInJkc2l0ZS1oZWFkZXItc2lkZS1tZW51XCI+PC9uZy1jb250ZW50PiAtLT5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIiNyZHNpdGUtaGVhZGVyLXNpZGUtbWVudVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICBAaWYgKHNlYXJjaENvbnRyb2wpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJyZHNpdGUtaGVhZGVyLXNlYXJjaFwiPlxuICAgICAgICA8cmRzaXRlLXNlYXJjaCBbc2VhcmNoQ29udHJvbF09XCJzZWFyY2hDb250cm9sXCIgW2xhYmVsXT1cIidPIHF1ZSB2b2PDqiBwcm9jdXJhPydcIiBbZGVib3VuY2VUaW1lXT1cIjE1MDBcIiBbc2V0Rm9jdXNdPVwidHJ1ZVwiIChlbnRlclByZXNzKT1cImRvU2VhcmNoKCRldmVudClcIj5cbiAgICAgICAgPC9yZHNpdGUtc2VhcmNoPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cblxuICA8cmRzaXRlLW92ZXJsYXkgY2xhc3M9XCJzZWFyY2gtb3ZlcmxheVwiIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiBoZWFkZXJTZXJ2aWNlLnNob3dTZWFyY2goKSB9XCIgKG92ZXJsYXlDbGljayk9XCJvdmVybGF5Q2xpY2soKVwiPjwvcmRzaXRlLW92ZXJsYXk+XG48L2hlYWRlcj5cbiJdfQ==
|
|
@@ -120,7 +120,14 @@ export class RdsiteLinkDirective {
|
|
|
120
120
|
}
|
|
121
121
|
navigateTo(href) {
|
|
122
122
|
const siteBasePath = this.libConfig.siteSufix ?? '';
|
|
123
|
-
const
|
|
123
|
+
const siteBasePathNoSlash = siteBasePath.replace(/\//g, '');
|
|
124
|
+
let noBaseHref = href;
|
|
125
|
+
if (href.startsWith(siteBasePathNoSlash)) {
|
|
126
|
+
noBaseHref = href.replace(siteBasePathNoSlash, '');
|
|
127
|
+
}
|
|
128
|
+
else if (href.startsWith(siteBasePath)) {
|
|
129
|
+
noBaseHref = href.replace(siteBasePath, '');
|
|
130
|
+
}
|
|
124
131
|
if (this.libConfig?.customInternalLinkNavigation && this.libConfig.customInternalLinkNavigation(noBaseHref)) {
|
|
125
132
|
return;
|
|
126
133
|
}
|
|
@@ -165,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
165
172
|
type: HostListener,
|
|
166
173
|
args: ['click', ['$event']]
|
|
167
174
|
}] } });
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzaXRlLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvZGlyZWN0aXZlcy9yZHNpdGUtbGluay9yZHNpdGUtbGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBRTdHLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7O0FBUS9GLE1BQU0sT0FBTyxtQkFBbUI7SUFZOUIsWUFDVSxNQUFjLEVBQ08sVUFBa0IsRUFDckIsUUFBa0IsRUFDaEIsU0FBb0IsRUFDeEMsT0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIseUJBQW9ELEVBQ3BELHFCQUE0QztRQVA1QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ08sZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2hCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDeEMsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUNwRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBbkI5QyxrQkFBYSxHQUFHLGtDQUFrQyxDQUFDO1FBQ25ELGFBQVEsR0FBRyxNQUFNLENBQUM7UUFDbEIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN0QixnQkFBVyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFD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QUN0QyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQWVJLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxVQUFVO3lLQVRYLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFjQyxPQUFPO3NCQURiLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBQTEFURk9STV9JRCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMSUJfQ09ORklHLCBMaWJDb25maWcgfSBmcm9tICcuLi8uLi90b2tlbnMvTGliQ29uZmlnJztcbmltcG9ydCB7IFBob25lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Bob25lL3Bob25lLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmRzaXRlUGhvbmVNb2RhbERpcmVjdGl2ZSB9IGZyb20gJy4uL3Jkc2l0ZS1waG9uZS1tb2RhbC9yZHNpdGUtcGhvbmUtbW9kYWwuZGlyZWN0aXZlJztcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gJ25neC1kZXZpY2UtZGV0ZWN0b3InO1xuQERpcmVjdGl2ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW3Jkc2l0ZWxpbmtdJyxcbiAgcHJvdmlkZXJzOiBbUmRzaXRlUGhvbmVNb2RhbERpcmVjdGl2ZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFJkc2l0ZUxpbmtEaXJlY3RpdmUge1xuICBwcml2YXRlIGV4dGVybmFsUmVnZXggPSAvXmh0dHA6fGh0dHBzOnx0ZWw6fHd3d1xcLnxtYWlsdG86LztcbiAgcHJpdmF0ZSB0ZWxSZWdleCA9IC90ZWw6LztcbiAgcHJpdmF0ZSBtYWlsUmVnZXggPSAvbWFpbHRvOi87XG4gIHByaXZhdGUgc2l0ZVVybExpc3QgPSBbJ3JlZGVkb3JzYW9sdWl6JywgJ3JlZGVkb3JsYWJzJ107XG4gIHByaXZhdGUgYWxsb3dlZFRhZ3MgPSBbJ0EnLCAnQ1VSQS1CVVRUT04nLCAnQ1VSQS1CVVRUT04tT1VUTElORScsICdDVVJBLUJVVFRPTi1UUkFOU1BBUkVOVCddO1xuXG4gIEBJbnB1dCgpIGFuY2hvckFkanVzdG1lbnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBhbmNob3JFeHRyYUFkanVzdG1lbnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpIHBob25lbW9kYWw6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBvYmplY3QsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgQEluamVjdChMSUJfQ09ORklHKSBwcml2YXRlIGxpYkNvbmZpZzogTGliQ29uZmlnLFxuICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZjxhbnk+LFxuICAgIHByaXZhdGUgcGhvbmVTZXJ2aWNlOiBQaG9uZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZHNpdGVQaG9uZU1vZGFsRGlyZWN0aXZlOiBSZHNpdGVQaG9uZU1vZGFsRGlyZWN0aXZlLFxuICAgIHByaXZhdGUgZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlOiBEZXZpY2VEZXRlY3RvclNlcnZpY2UsXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpIHx8ICF0aGlzLmFsbG93ZWRUYWdzLmluY2x1ZGVzKHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8udGFnTmFtZSkpIHJldHVybjtcbiAgICBjb25zdCBocmVmID0gdGhpcy5lbGVtZW50Py5uYXRpdmVFbGVtZW50Py5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSA/PyAnJztcbiAgICBpZiAoIWhyZWYpIHJldHVybjtcblxuICAgIGlmICh0aGlzLmlzUGhvbmUoaHJlZikpIHtcbiAgICAgIHRoaXMucGhvbmVDbGlja2VkKHtcbiAgICAgICAgaHJlZixcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIGVsZW1lbnQ6IHRoaXMuZWxlbWVudCxcbiAgICAgICAgcGhvbmVtb2RhbDogdGhpcy5waG9uZW1vZGFsLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXNNb2JpbGUgPSB0aGlzLmRldmljZURldGVjdG9yU2VydmljZS5pc01vYmlsZSgpO1xuICAgIGNvbnN0IGRldmljZUluZm8gPSB0aGlzLmRldmljZURldGVjdG9yU2VydmljZS5nZXREZXZpY2VJbmZvKCk7XG5cbiAgICBpZiAodGhpcy5pc01haWwoaHJlZikpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGlzTW9iaWxlIHx8IGRldmljZUluZm8uYnJvd3NlciAhPT0gJ0Nocm9tZScgPyAnX3NlbGYnIDogJ19ibGFuayc7XG4gICAgICB3aW5kb3cub3BlbihocmVmLCB0YXJnZXQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzRXh0ZXJuYWxVcmwoaHJlZikpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuaXNTaXRlVXJsKGhyZWYpID8gJ19zZWxmJyA6ICdfYmxhbmsnO1xuICAgICAgd2luZG93Lm9wZW4oaHJlZiwgdGFyZ2V0KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0FuY2hvcihocmVmKSkge1xuICAgICAgdGhpcy5zY3JvbGxUb0FuY2hvcihocmVmKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm5hdmlnYXRlVG8oaHJlZik7XG4gIH1cblxuICBwcml2YXRlIGlzUGhvbmUoaHJlZjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMudGVsUmVnZXgudGVzdChocmVmKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNYWlsKGhyZWY6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm1haWxSZWdleC50ZXN0KGhyZWYpO1xuICB9XG5cbiAgcHJpdmF0ZSBwaG9uZUNsaWNrZWQodmFsdWU6IHsgaHJlZjogc3RyaW5nOyBldmVudDogRXZlbnQ7IGVsZW1lbnQ6IEVsZW1lbnRSZWY8YW55PjsgcGhvbmVtb2RhbDogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCB9KSB7XG4gICAgY29uc3QgeyBocmVmLCBldmVudCwgZWxlbWVudCwgcGhvbmVtb2RhbCB9ID0gdmFsdWU7XG4gICAgaWYgKHRoaXMucGhvbmVTZXJ2aWNlLmlzUGhvbmVNb2RhbChocmVmKSkge1xuICAgICAgdGhpcy5zZXRQaG9uZU1vZGFsKGVsZW1lbnQsIHBob25lbW9kYWwpO1xuICAgICAgdGhpcy5yZHNpdGVQaG9uZU1vZGFsRGlyZWN0aXZlLm9wZW5QaG9uZU1vZGFsKGV2ZW50LCBocmVmKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2luZG93Lm9wZW4oaHJlZiwgJ19zZWxmJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRQaG9uZU1vZGFsKGVsZW1lbnQ6IEVsZW1lbnRSZWY8YW55PiwgcGhvbmVtb2RhbDogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCkge1xuICAgIGlmICghdGhpcy5waG9uZW1vZGFsKSByZXR1cm47XG4gICAgaWYgKCF0aGlzLmxpYkNvbmZpZz8uY3VzdG9tUGhvbmVNb2RhbENvbmRpdGlvbikge1xuICAgICAgdGhpcy5yZHNpdGVQaG9uZU1vZGFsRGlyZWN0aXZlLnJkc2l0ZXBob25lbW9kYWwgPSBwaG9uZW1vZGFsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5saWJDb25maWc/LmN1c3RvbVBob25lTW9kYWxDb25kaXRpb24oZWxlbWVudCkpIHtcbiAgICAgIHRoaXMucmRzaXRlUGhvbmVNb2RhbERpcmVjdGl2ZS5yZHNpdGVwaG9uZW1vZGFsID0gcGhvbmVtb2RhbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzRXh0ZXJuYWxVcmwoaHJlZjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxSZWdleC50ZXN0KGhyZWYpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NpdGVVcmwoaHJlZjogc3RyaW5nKSB7XG4gICAgY29uc3QgZXhjZXB0aW9uID0gJy9wYWNpZW50ZSc7XG4gICAgcmV0dXJuIHRoaXMuc2l0ZVVybExpc3QuZmluZCgodXJsKSA9PiBocmVmLmluY2x1ZGVzKHVybCkgJiYgIWhyZWYuaW5jbHVkZXMoZXhjZXB0aW9uKSk7XG4gIH1cblxuICBwcml2YXRlIGlzQW5jaG9yKGhyZWY6IHN0cmluZykge1xuICAgIHJldHVybiBocmVmLnN0YXJ0c1dpdGgoJyMnKTtcbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsVG9BbmNob3IoaHJlZjogc3RyaW5nKSB7XG4gICAgaWYgKGhyZWYgPT09ICcjJykgcmV0dXJuO1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICBjb25zdCBkb2NFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICBsZXQgYWRqdXN0bWVudCA9IDA7XG5cbiAgICAgIGlmICh0aGlzLmxpYkNvbmZpZy5jdXN0b21BbmNob3JBZGp1c3RtZW50KSB7XG4gICAgICAgIGFkanVzdG1lbnQgPSB0aGlzLmxpYkNvbmZpZy5jdXN0b21BbmNob3JBZGp1c3RtZW50KHRoaXMuZG9jdW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5hbmNob3JBZGp1c3RtZW50KSB7XG4gICAgICAgIGFkanVzdG1lbnQgPSB0aGlzLmFuY2hvckFkanVzdG1lbnQ7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmFuY2hvckV4dHJhQWRqdXN0bWVudCkge1xuICAgICAgICBhZGp1c3RtZW50ICs9IHRoaXMuYW5jaG9yRXh0cmFBZGp1c3RtZW50O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBib2R5VG9wID0gdGhpcy5kb2N1bWVudD8uYm9keT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/LnRvcCA/PyAwO1xuICAgICAgY29uc3QgaHJlZlRvcCA9IHRoaXMuZG9jdW1lbnQ/LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KGhyZWYpPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8udG9wID8/IDA7XG4gICAgICBjb25zdCBzY3JvbGxUb3AgPSBib2R5VG9wICogLTEgKyBocmVmVG9wIC0gYWRqdXN0bWVudDtcbiAgICAgIGRvY0VsZW1lbnQuc2Nyb2xsVG8oeyB0b3A6IHNjcm9sbFRvcCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGVUbyhocmVmOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzaXRlQmFzZVBhdGggPSB0aGlzLmxpYkNvbmZpZy5zaXRlU3VmaXggPz8gJyc7XG4gICAgY29uc3Qgbm9CYXNlSHJlZiA9IGhyZWYuaW5jbHVkZXMoc2l0ZUJhc2VQYXRoKSA/IGhyZWYucmVwbGFjZShzaXRlQmFzZVBhdGgsICcnKSA6IGhyZWY7XG4gICAgaWYgKHRoaXMubGliQ29uZmlnPy5jdXN0b21JbnRlcm5hbExpbmtOYXZpZ2F0aW9uICYmIHRoaXMubGliQ29uZmlnLmN1c3RvbUludGVybmFsTGlua05hdmlnYXRpb24obm9CYXNlSHJlZikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBbcGF0aCwgcXVlcnldID0gbm9CYXNlSHJlZi5zcGxpdCgnPycpO1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgaWYgKHF1ZXJ5KSB7XG4gICAgICBjb25zdCBxdWVyeUFycmF5ID0gcXVlcnkuc3BsaXQoJyYnKTtcbiAgICAgIHF1ZXJ5QXJyYXkuZm9yRWFjaCgocSkgPT4ge1xuICAgICAgICBjb25zdCBhcnIgPSBxLnNwbGl0KCc9Jyk7XG4gICAgICAgIHF1ZXJ5UGFyYW1zW2FyclswXV0gPSBhcnJbMV07XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3BhdGhdLCB7IHF1ZXJ5UGFyYW1zOiBxdWVyeVBhcmFtcyB9KTtcbiAgfVxufVxuIl19
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzaXRlLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvZGlyZWN0aXZlcy9yZHNpdGUtbGluay9yZHNpdGUtbGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBRTdHLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7O0FBUS9GLE1BQU0sT0FBTyxtQkFBbUI7SUFZOUIsWUFDVSxNQUFjLEVBQ08sVUFBa0IsRUFDckIsUUFBa0IsRUFDaEIsU0FBb0IsRUFDeEMsT0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIseUJBQW9ELEVBQ3BELHFCQUE0QztRQVA1QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ08sZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2hCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDeEMsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUNwRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBbkI5QyxrQkFBYSxHQUFHLGtDQUFrQyxDQUFDO1FBQ25ELGFBQVEsR0FBRyxNQUFNLENBQUM7UUFDbEIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN0QixnQkFBVyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFD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VyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDOytHQXpKVSxtQkFBbUIsd0NBY3BCLFdBQVcsYUFDWCxRQUFRLGFBQ1IsVUFBVTttR0FoQlQsbUJBQW1CLDRPQUhuQixDQUFDLHlCQUF5QixDQUFDOzs0RkFHM0IsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFNBQVMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUN0QyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQWVJLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxVQUFVO3lLQVRYLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFjQyxPQUFPO3NCQURiLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBQTEFURk9STV9JRCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMSUJfQ09ORklHLCBMaWJDb25maWcgfSBmcm9tICcuLi8uLi90b2tlbnMvTGliQ29uZmlnJztcbmltcG9ydCB7IFBob25lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Bob25lL3Bob25lLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmRzaXRlUGhvbmVNb2RhbERpcmVjdGl2ZSB9IGZyb20gJy4uL3Jkc2l0ZS1waG9uZS1tb2RhbC9yZHNpdGUtcGhvbmUtbW9kYWwuZGlyZWN0aXZlJztcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gJ25neC1kZXZpY2UtZGV0ZWN0b3InO1xuQERpcmVjdGl2ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW3Jkc2l0ZWxpbmtdJyxcbiAgcHJvdmlkZXJzOiBbUmRzaXRlUGhvbmVNb2RhbERpcmVjdGl2ZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFJkc2l0ZUxpbmtEaXJlY3RpdmUge1xuICBwcml2YXRlIGV4dGVybmFsUmVnZXggPSAvXmh0dHA6fGh0dHBzOnx0ZWw6fHd3d1xcLnxtYWlsdG86LztcbiAgcHJpdmF0ZSB0ZWxSZWdleCA9IC90ZWw6LztcbiAgcHJpdmF0ZSBtYWlsUmVnZXggPSAvbWFpbHRvOi87XG4gIHByaXZhdGUgc2l0ZVVybExpc3QgPSBbJ3JlZGVkb3JzYW9sdWl6JywgJ3JlZGVkb3JsYWJzJ107XG4gIHByaXZhdGUgYWxsb3dlZFRhZ3MgPSBbJ0EnLCAnQ1VSQS1CVVRUT04nLCAnQ1VSQS1CVVRUT04tT1VUTElORScsICdDVVJBLUJVVFRPTi1UUkFOU1BBUkVOVCddO1xuXG4gIEBJbnB1dCgpIGFuY2hvckFkanVzdG1lbnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBhbmNob3JFeHRyYUFkanVzdG1lbnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpIHBob25lbW9kYWw6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBvYmplY3QsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgQEluamVjdChMSUJfQ09ORklHKSBwcml2YXRlIGxpYkNvbmZpZzogTGliQ29uZmlnLFxuICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZjxhbnk+LFxuICAgIHByaXZhdGUgcGhvbmVTZXJ2aWNlOiBQaG9uZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZHNpdGVQaG9uZU1vZGFsRGlyZWN0aXZlOiBSZHNpdGVQaG9uZU1vZGFsRGlyZWN0aXZlLFxuICAgIHByaXZhdGUgZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlOiBEZXZpY2VEZXRlY3RvclNlcnZpY2UsXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpIHx8ICF0aGlzLmFsbG93ZWRUYWdzLmluY2x1ZGVzKHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8udGFnTmFtZSkpIHJldHVybjtcbiAgICBjb25zdCBocmVmID0gdGhpcy5lbGVtZW50Py5uYXRpdmVFbGVtZW50Py5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSA/PyAnJztcbiAgICBpZiAoIWhyZWYpIHJldHVybjtcblxuICAgIGlmICh0aGlzLmlzUGhvbmUoaHJlZikpIHtcbiAgICAgIHRoaXMucGhvbmVDbGlja2VkKHtcbiAgICAgICAgaHJlZixcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIGVsZW1lbnQ6IHRoaXMuZWxlbWVudCxcbiAgICAgICAgcGhvbmVtb2RhbDogdGhpcy5waG9uZW1vZGFsLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXNNb2JpbGUgPSB0aGlzLmRldmljZURldGVjdG9yU2VydmljZS5pc01vYmlsZSgpO1xuICAgIGNvbnN0IGRldmljZUluZm8gPSB0aGlzLmRldmljZURldGVjdG9yU2VydmljZS5nZXREZXZpY2VJbmZvKCk7XG5cbiAgICBpZiAodGhpcy5pc01haWwoaHJlZikpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGlzTW9iaWxlIHx8IGRldmljZUluZm8uYnJvd3NlciAhPT0gJ0Nocm9tZScgPyAnX3NlbGYnIDogJ19ibGFuayc7XG4gICAgICB3aW5kb3cub3BlbihocmVmLCB0YXJnZXQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzRXh0ZXJuYWxVcmwoaHJlZikpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuaXNTaXRlVXJsKGhyZWYpID8gJ19zZWxmJyA6ICdfYmxhbmsnO1xuICAgICAgd2luZG93Lm9wZW4oaHJlZiwgdGFyZ2V0KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0FuY2hvcihocmVmKSkge1xuICAgICAgdGhpcy5zY3JvbGxUb0FuY2hvcihocmVmKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm5hdmlnYXRlVG8oaHJlZik7XG4gIH1cblxuICBwcml2YXRlIGlzUGhvbmUoaHJlZjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMudGVsUmVnZXgudGVzdChocmVmKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNYWlsKGhyZWY6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm1haWxSZWdleC50ZXN0KGhyZWYpO1xuICB9XG5cbiAgcHJpdmF0ZSBwaG9uZUNsaWNrZWQodmFsdWU6IHsgaHJlZjogc3RyaW5nOyBldmVudDogRXZlbnQ7IGVsZW1lbnQ6IEVsZW1lbnRSZWY8YW55PjsgcGhvbmVtb2RhbDogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCB9KSB7XG4gICAgY29uc3QgeyBocmVmLCBldmVudCwgZWxlbWVudCwgcGhvbmVtb2RhbCB9ID0gdmFsdWU7XG4gICAgaWYgKHRoaXMucGhvbmVTZXJ2aWNlLmlzUGhvbmVNb2RhbChocmVmKSkge1xuICAgICAgdGhpcy5zZXRQaG9uZU1vZGFsKGVsZW1lbnQsIHBob25lbW9kYWwpO1xuICAgICAgdGhpcy5yZHNpdGVQaG9uZU1vZGFsRGlyZWN0aXZlLm9wZW5QaG9uZU1vZGFsKGV2ZW50LCBocmVmKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2luZG93Lm9wZW4oaHJlZiwgJ19zZWxmJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRQaG9uZU1vZGFsKGVsZW1lbnQ6IEVsZW1lbnRSZWY8YW55PiwgcGhvbmVtb2RhbDogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCkge1xuICAgIGlmICghdGhpcy5waG9uZW1vZGFsKSByZXR1cm47XG4gICAgaWYgKCF0aGlzLmxpYkNvbmZpZz8uY3VzdG9tUGhvbmVNb2RhbENvbmRpdGlvbikge1xuICAgICAgdGhpcy5yZHNpdGVQaG9uZU1vZGFsRGlyZWN0aXZlLnJkc2l0ZXBob25lbW9kYWwgPSBwaG9uZW1vZGFsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5saWJDb25maWc/LmN1c3RvbVBob25lTW9kYWxDb25kaXRpb24oZWxlbWVudCkpIHtcbiAgICAgIHRoaXMucmRzaXRlUGhvbmVNb2RhbERpcmVjdGl2ZS5yZHNpdGVwaG9uZW1vZGFsID0gcGhvbmVtb2RhbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzRXh0ZXJuYWxVcmwoaHJlZjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxSZWdleC50ZXN0KGhyZWYpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NpdGVVcmwoaHJlZjogc3RyaW5nKSB7XG4gICAgY29uc3QgZXhjZXB0aW9uID0gJy9wYWNpZW50ZSc7XG4gICAgcmV0dXJuIHRoaXMuc2l0ZVVybExpc3QuZmluZCgodXJsKSA9PiBocmVmLmluY2x1ZGVzKHVybCkgJiYgIWhyZWYuaW5jbHVkZXMoZXhjZXB0aW9uKSk7XG4gIH1cblxuICBwcml2YXRlIGlzQW5jaG9yKGhyZWY6IHN0cmluZykge1xuICAgIHJldHVybiBocmVmLnN0YXJ0c1dpdGgoJyMnKTtcbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsVG9BbmNob3IoaHJlZjogc3RyaW5nKSB7XG4gICAgaWYgKGhyZWYgPT09ICcjJykgcmV0dXJuO1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICBjb25zdCBkb2NFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICBsZXQgYWRqdXN0bWVudCA9IDA7XG5cbiAgICAgIGlmICh0aGlzLmxpYkNvbmZpZy5jdXN0b21BbmNob3JBZGp1c3RtZW50KSB7XG4gICAgICAgIGFkanVzdG1lbnQgPSB0aGlzLmxpYkNvbmZpZy5jdXN0b21BbmNob3JBZGp1c3RtZW50KHRoaXMuZG9jdW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5hbmNob3JBZGp1c3RtZW50KSB7XG4gICAgICAgIGFkanVzdG1lbnQgPSB0aGlzLmFuY2hvckFkanVzdG1lbnQ7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmFuY2hvckV4dHJhQWRqdXN0bWVudCkge1xuICAgICAgICBhZGp1c3RtZW50ICs9IHRoaXMuYW5jaG9yRXh0cmFBZGp1c3RtZW50O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBib2R5VG9wID0gdGhpcy5kb2N1bWVudD8uYm9keT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/LnRvcCA/PyAwO1xuICAgICAgY29uc3QgaHJlZlRvcCA9IHRoaXMuZG9jdW1lbnQ/LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KGhyZWYpPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8udG9wID8/IDA7XG4gICAgICBjb25zdCBzY3JvbGxUb3AgPSBib2R5VG9wICogLTEgKyBocmVmVG9wIC0gYWRqdXN0bWVudDtcbiAgICAgIGRvY0VsZW1lbnQuc2Nyb2xsVG8oeyB0b3A6IHNjcm9sbFRvcCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGVUbyhocmVmOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzaXRlQmFzZVBhdGggPSB0aGlzLmxpYkNvbmZpZy5zaXRlU3VmaXggPz8gJyc7XG4gICAgY29uc3Qgc2l0ZUJhc2VQYXRoTm9TbGFzaCA9IHNpdGVCYXNlUGF0aC5yZXBsYWNlKC9cXC8vZywgJycpO1xuICAgIGxldCBub0Jhc2VIcmVmID0gaHJlZjtcbiAgICBpZiAoaHJlZi5zdGFydHNXaXRoKHNpdGVCYXNlUGF0aE5vU2xhc2gpKSB7XG4gICAgICBub0Jhc2VIcmVmID0gaHJlZi5yZXBsYWNlKHNpdGVCYXNlUGF0aE5vU2xhc2gsICcnKTtcbiAgICB9IGVsc2UgaWYgKGhyZWYuc3RhcnRzV2l0aChzaXRlQmFzZVBhdGgpKSB7XG4gICAgICBub0Jhc2VIcmVmID0gaHJlZi5yZXBsYWNlKHNpdGVCYXNlUGF0aCwgJycpO1xuICAgIH1cbiAgICBpZiAodGhpcy5saWJDb25maWc/LmN1c3RvbUludGVybmFsTGlua05hdmlnYXRpb24gJiYgdGhpcy5saWJDb25maWcuY3VzdG9tSW50ZXJuYWxMaW5rTmF2aWdhdGlvbihub0Jhc2VIcmVmKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IFtwYXRoLCBxdWVyeV0gPSBub0Jhc2VIcmVmLnNwbGl0KCc/Jyk7XG4gICAgY29uc3QgcXVlcnlQYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBpZiAocXVlcnkpIHtcbiAgICAgIGNvbnN0IHF1ZXJ5QXJyYXkgPSBxdWVyeS5zcGxpdCgnJicpO1xuICAgICAgcXVlcnlBcnJheS5mb3JFYWNoKChxKSA9PiB7XG4gICAgICAgIGNvbnN0IGFyciA9IHEuc3BsaXQoJz0nKTtcbiAgICAgICAgcXVlcnlQYXJhbXNbYXJyWzBdXSA9IGFyclsxXTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcGF0aF0sIHsgcXVlcnlQYXJhbXM6IHF1ZXJ5UGFyYW1zIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -364,7 +364,7 @@ export class SeoService {
|
|
|
364
364
|
if (!this.canonicalTag) {
|
|
365
365
|
this.canonicalTag = this.getCanonicalTag();
|
|
366
366
|
}
|
|
367
|
-
let path = this.location.
|
|
367
|
+
let path = this.document.location.pathname;
|
|
368
368
|
if (!path.startsWith('/')) {
|
|
369
369
|
path = `/${path}`;
|
|
370
370
|
}
|
|
@@ -465,4 +465,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
465
465
|
type: Inject,
|
|
466
466
|
args: [DOCUMENT]
|
|
467
467
|
}] }] });
|
|
468
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zZW8vc2VvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLFFBQVEsRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBUXpCLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUsvRCxNQUFNLE9BQU8sVUFBVTtJQXVCckIsWUFDVSxLQUFZLEVBQ1osSUFBVSxFQUNWLFFBQWtCLEVBQ0UsU0FBb0IsRUFDdEIsUUFBa0I7UUFKcEMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLFNBQUksR0FBSixJQUFJLENBQU07UUFDVixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ0UsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBM0J2QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsV0FBVyxDQUFDO1FBRTNCLFdBQU0sR0FBRztZQUNkLG1DQUFtQztZQUNuQyw0Q0FBNEM7WUFDNUMsa0RBQWtEO1lBQ2xELDZCQUE2QjtTQUM5QixDQUFDO1FBQ0ssZ0JBQVcsR0FBRyxVQUFVLENBQUM7UUFJeEIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUV0Qix5QkFBb0IsR0FBRyxpQkFBaUIsQ0FBQztRQUUxQyxZQUFPLEdBQVEsSUFBSSxDQUFDO1FBQ3BCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGdCQUFXLEdBQVcsRUFBRSxDQUFD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QyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxVQUFrQjtRQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4RCxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxFQUFFLE9BQU8sR0FBRyxJQUFJLEVBQUUsV0FBVyxHQUFHLEVBQUUsRUFBRSxXQUFXLEdBQUcsRUFBRSxFQUFFLFdBQVcsR0FBRyxFQUFFLEVBQWM7UUFDcEcsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQzsrR0F2ZVUsVUFBVSxtRkEyQlgsVUFBVSxhQUNWLFFBQVE7bUhBNUJQLFVBQVUsY0FGVCxNQUFNOzs0RkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBNEJJLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWV0YSwgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IERPQ1VNRU5ULCBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCAqIGFzIGhlIGZyb20gJ2hlJztcblxuaW1wb3J0IHsgU29jaWFsTWV0YVByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvc29jaWFsLW1ldGEtcHJvcGVydGllcy5tb2RlbCc7XG5pbXBvcnQgeyBCcmVhZGNydW1iSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9icmVhZGNydW1iL2JyZWFkY3J1bWItaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBCcmVhZGNydW1iSnNvbkl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLWpzb24taXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBTZW9EYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Nlby9zZW8tZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBTZW9VbmlkYWRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Nlby9zZW8tdW5pZGFkZS5tb2RlbCc7XG5pbXBvcnQgeyBXcFBvc3QgfSBmcm9tICcuLi8uLi9tb2RlbHMvd29yZHByZXNzL3Bvc3QvcG9zdC5tb2RlbCc7XG5pbXBvcnQgeyBnZXRTaXRlVXJsLCByZW1vdmVIdG1sVGFncyB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgTElCX0NPTkZJRywgTGliQ29uZmlnIH0gZnJvbSAnLi4vLi4vdG9rZW5zL0xpYkNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTZW9TZXJ2aWNlIHtcbiAgcHVibGljIHNlcGFyYXRvciA9ICcgLSAnO1xuICBwdWJsaWMgZGVmYXVsdFRpdGxlID0gJ1JlZGUgROKAmU9yJztcbiAgcHVibGljIGFjdGl2ZURlc2NyaXB0aW9uITogc3RyaW5nO1xuICBwdWJsaWMgc2FtZUFzID0gW1xuICAgICdodHRwczovL3d3dy5mYWNlYm9vay5jb20vcmVkZWRvci8nLFxuICAgICdodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL3JlZGVkb3Jfb2ZpY2lhbC8nLFxuICAgICdodHRwczovL3d3dy5saW5rZWRpbi5jb20vY29tcGFueS9yZWRlZG9yLXNhb2x1aXonLFxuICAgICdodHRwczovL3R3aXR0ZXIuY29tL3JlZGVkb3InLFxuICBdO1xuICBwdWJsaWMgdHdpdHRlclVzZXIgPSAnQHJlZGVkb3InO1xuXG4gIHByaXZhdGUgY2Fub25pY2FsVGFnITogSFRNTExpbmtFbGVtZW50O1xuICBwcml2YXRlIGpzb25UYWchOiBIVE1MU2NyaXB0RWxlbWVudDtcbiAgcHJpdmF0ZSBqc29uVGFnSWQgPSAnc2VvSlNPTic7XG4gIHByaXZhdGUgYnJlYWRjcnVtYnNKc29uVGFnITogSFRNTFNjcmlwdEVsZW1lbnQ7XG4gIHByaXZhdGUgYnJlYWRjcnVtYnNKc29uVGFnSWQgPSAnYnJlYWRjcnVtYnNKU09OJztcblxuICBwdWJsaWMgdW5pZGFkZTogYW55ID0gbnVsbDtcbiAgcHVibGljIHVuaWRhZGVOYW1lOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIHVuaWRhZGVQYXRoOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIHVuaWRhZGVTbHVnOiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRpdGxlOiBUaXRsZSxcbiAgICBwcml2YXRlIG1ldGE6IE1ldGEsXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgQEluamVjdChMSUJfQ09ORklHKSBwcml2YXRlIGxpYkNvbmZpZzogTGliQ29uZmlnLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICApIHt9XG5cbiAgcHVibGljIHNldEZ1bGxTZW8oZGF0YTogU2VvRGF0YSkge1xuICAgIHRoaXMuc2V0VGl0bGUoZGF0YS50aXRsZS50ZXh0LCAhIWRhdGEudGl0bGUuc3ViKTtcbiAgICB0aGlzLnNldERlc2NyaXB0aW9uKGRhdGEuZGVzY3JpcHRpb24pO1xuICAgIHRoaXMuc2V0Q2Fub25pY2FsSHJlZihkYXRhLmNhbm9uaWNhbCk7XG4gICAgdGhpcy5zZXRQYWdlSnNvbigpO1xuICAgIHRoaXMuc2V0U29jaWFsVGFncyhkYXRhLnNvY2lhbFRhZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSB0YWcgZGVzY3JpcHRpb24gZGEgcMOhZ2luYVxuICAgKiBAcGFyYW0gY29udGVudCBjb250ZcO6ZG8gZGEgZGVzY3Jpw6fDo28gPHN0cmluZz5cbiAgICovXG4gIHB1YmxpYyBzZXREZXNjcmlwdGlvbihjb250ZW50OiBzdHJpbmcpOiBTZW9TZXJ2aWNlIHtcbiAgICBjb25zdCBkZXNjVGFnID0gdGhpcy5tZXRhLmdldFRhZyhcIm5hbWU9J2Rlc2NyaXB0aW9uJ1wiKTtcbiAgICBpZiAoY29udGVudCkge1xuICAgICAgY29udGVudCA9IGhlLmRlY29kZShjb250ZW50KTtcbiAgICAgIGNvbnRlbnQgPSByZW1vdmVIdG1sVGFncyhjb250ZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29udGVudCA9ICcnO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZURlc2NyaXB0aW9uID0gY29udGVudDtcbiAgICBjb25zdCB0YWdDb250ZW50ID0geyBuYW1lOiAnZGVzY3JpcHRpb24nLCBjb250ZW50IH07XG4gICAgaWYgKGRlc2NUYWcpIHtcbiAgICAgIHRoaXMubWV0YS51cGRhdGVUYWcodGFnQ29udGVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWV0YS5hZGRUYWcodGFnQ29udGVudCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBtZXRhIHRhZ3MgcGFyYSBhIHDDoWdpbmFcbiAgICogQHBhcmFtIHRhZyBub21lIGRhIHRhZyBtZXRhXG4gICAqIEBwYXJhbSBjb250ZW50IGNvbnRlw7pkbyBkYSB0YWcgbWV0YVxuICAgKiBAcGFyYW0gdHlwZSB0aXBvIGRlIHRhZyBtZXRhXG4gICAqL1xuICBwdWJsaWMgc2V0TWV0YVRhZyh0YWc6IHN0cmluZywgY29udGVudDogc3RyaW5nLCB0eXBlID0gJ25hbWUnKSB7XG4gICAgY29uc3QgbWV0YXRhZyA9IHRoaXMubWV0YS5nZXRUYWcoYCR7dHlwZX09JyR7dGFnfSdgKTtcbiAgICBjb250ZW50ID0gaGUuZGVjb2RlKGNvbnRlbnQpO1xuICAgIGNvbnRlbnQgPSByZW1vdmVIdG1sVGFncyhjb250ZW50KTtcbiAgICBjb25zdCB0YWdDb250ZW50ID0ge1xuICAgICAgW3R5cGVdOiB0YWcsXG4gICAgICBjb250ZW50LFxuICAgIH07XG4gICAgaWYgKCFtZXRhdGFnKSB7XG4gICAgICB0aGlzLm1ldGEuYWRkVGFnKHRhZ0NvbnRlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHRhZ0NvbnRlbnQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgbWV0YSB0YWdzIGRhIHDDoWdpbmFcbiAgICogQHBhcmFtIHRhZyBub21lIGRhIHRhZyBtZXRhXG4gICAqIEBwYXJhbSBjb250ZW50IGNvbnRlw7pkbyBkYSB0YWcgbWV0YVxuICAgKiBAcGFyYW0gYXR0ciBhdHJpYnV0byBkYSB0YWcgbWV0YVxuICAgKiBAcGFyYW0gdHlwZSB0aXBvIGRlIHRhZyBtZXRhXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlVGFnKHRhZzogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcsIGF0dHI6IHN0cmluZywgdHlwZSA9ICduYW1lJykge1xuICAgIGNvbnN0IG1ldGF0YWcgPSB0aGlzLm1ldGEuZ2V0VGFnKGAke3R5cGV9PScke3RhZ30nYCk7XG4gICAgaWYgKG1ldGF0YWcpIHtcbiAgICAgIHRoaXMubWV0YS5yZW1vdmVUYWcoYCR7YXR0cn09JHtjb250ZW50fWApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgbWV0YSB0YWdzIHBhcmEgRmFjZWJvb2tcbiAgICogQHBhcmFtIHRpdGxlIHTDrXR1bG8gcGFyYSBvIGZhY2Vib29rXG4gICAqIEBwYXJhbSBkZXNjcmlwdGlvbiBkZXNjcmnDp8OjbyBwYXJhIG8gZmFjZWJvb2tcbiAgICogQHBhcmFtIHVybCB1cmwgcGFyYSBkZWZpbmnDp8OjbyBkbyBmYWNlYm9va1xuICAgKiBAcGFyYW0gaW1nIGltYWdlbSBwYXJhIGRlZmluacOnw6NvIG5vIGZhY2Vib29rXG4gICAqL1xuICBwdWJsaWMgc2V0TWV0YUZhY2Vib29rKHRpdGxlOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcsIHVybDogc3RyaW5nLCBpbWc6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICAgdGhpcy5zZXRNZXRhVGFnKCdvZzp1cmwnLCB1cmwsICdwcm9wZXJ0eScpO1xuICAgIHRoaXMuc2V0TWV0YVRhZygnb2c6dGl0bGUnLCB0aXRsZSwgJ3Byb3BlcnR5Jyk7XG4gICAgdGhpcy5zZXRNZXRhVGFnKCdvZzpkZXNjcmlwdGlvbicsIGRlc2NyaXB0aW9uLCAncHJvcGVydHknKTtcbiAgICB0aGlzLnNldE1ldGFUYWcoJ29nOnR5cGUnLCAnd2Vic2l0ZScsICdwcm9wZXJ0eScpO1xuICAgIHRoaXMuc2V0TWV0YVRhZygnb2c6aW1hZ2UnLCBpbWcgPz8gJycsICdwcm9wZXJ0eScpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBtZXRhIHRhZ3MgcGFyYSBUd2l0dGVyXG4gICAqIEBwYXJhbSB0aXRsZSB0w610dWxvIHBhcmEgbyB0d2l0dGVyXG4gICAqIEBwYXJhbSBkZXNjcmlwdGlvbiBkZXNjcmnDp8OjbyBwYXJhIG8gdHdpdHRlclxuICAgKiBAcGFyYW0gdXJsIHVybCBwYXJhIG8gdHdpdHRlclxuICAgKiBAcGFyYW0gaW1nIGltYWdlbSBwYXJhIGRlZmluacOnw6NvIG5vIHR3aXR0ZXJcbiAgICovXG4gIHB1YmxpYyBzZXRNZXRhVHdpdHRlcih0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nLCB1cmw6IHN0cmluZywgaW1nOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjpzaXRlJywgdXJsLCAnbmFtZScpO1xuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjp0aXRsZScsIHRpdGxlLCAnbmFtZScpO1xuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjpkZXNjcmlwdGlvbicsIGRlc2NyaXB0aW9uLCAnbmFtZScpO1xuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjppbWFnZScsIGltZyA/PyAnJywgJ25hbWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGFncyBkZSByZWRlcyBzb2NpYWlzIChUd2l0dGVyIGUgT3BlbiBHcmFwaClcbiAgICogQHBhcmFtIHByb3BlcnRpZXNcbiAgICovXG4gIHNldFNvY2lhbFRhZ3MocHJvcGVydGllcz86IFNvY2lhbE1ldGFQcm9wZXJ0aWVzKSB7XG4gICAgY29uc3QgcGFnZVBhdGggPSB0aGlzLmxvY2F0aW9uLnBhdGgoKTtcbiAgICBjb25zdCBzaXRldXJsID0gZ2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCk7XG4gICAgbGV0IGRlZmF1bHRQcm9wZXJ0aWVzOiBTb2NpYWxNZXRhUHJvcGVydGllcyA9IHtcbiAgICAgIHR3aXR0ZXJDYXJkOiAnc3VtbWFyeScsXG4gICAgICB0d2l0dGVyU2l0ZTogdGhpcy50d2l0dGVyVXNlcixcbiAgICAgIHR5cGU6ICd3ZWJzaXRlJyxcbiAgICAgIHRpdGxlOiB0aGlzLmdldFRpdGxlKCksXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5hY3RpdmVEZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIHVybDogYCR7c2l0ZXVybH0ke3BhZ2VQYXRofWAsXG4gICAgICBpbWFnZTogdGhpcy5saWJDb25maWc/LmxvZ29QYXRoID8gYCR7c2l0ZXVybH0ke3RoaXMubGliQ29uZmlnLmxvZ29QYXRofWAgOiAnaHR0cHM6Ly93d3cucmVkZWRvcnNhb2x1aXouY29tLmJyL2Fzc2V0cy9pbWdzL2xvZ28tcmVkZWRvci1ibHVlLnBuZycsXG4gICAgfTtcbiAgICBpZiAocHJvcGVydGllcykge1xuICAgICAgZGVmYXVsdFByb3BlcnRpZXMgPSB7IC4uLmRlZmF1bHRQcm9wZXJ0aWVzLCAuLi5wcm9wZXJ0aWVzIH07XG4gICAgfVxuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjpjYXJkJywgZGVmYXVsdFByb3BlcnRpZXMudHdpdHRlckNhcmQgfHwgJycsICduYW1lJylcbiAgICAgIC5zZXRNZXRhVGFnKCd0d2l0dGVyOnNpdGUnLCBkZWZhdWx0UHJvcGVydGllcy50d2l0dGVyU2l0ZSB8fCAnJywgJ25hbWUnKVxuICAgICAgLnNldE1ldGFUYWcoJ29nOnR5cGUnLCBkZWZhdWx0UHJvcGVydGllcy50eXBlIHx8ICcnLCAncHJvcGVydHknKVxuICAgICAgLnNldE1ldGFUYWcoJ29nOnRpdGxlJywgZGVmYXVsdFByb3BlcnRpZXMudGl0bGUgfHwgJycsICdwcm9wZXJ0eScpXG4gICAgICAuc2V0TWV0YVRhZygnb2c6ZGVzY3JpcHRpb24nLCBkZWZhdWx0UHJvcGVydGllcy5kZXNjcmlwdGlvbiB8fCAnJywgJ3Byb3BlcnR5JylcbiAgICAgIC5zZXRNZXRhVGFnKCdvZzp1cmwnLCBkZWZhdWx0UHJvcGVydGllcy51cmwgfHwgJycsICdwcm9wZXJ0eScpXG4gICAgICAuc2V0TWV0YVRhZygnb2c6aW1hZ2UnLCBkZWZhdWx0UHJvcGVydGllcy5pbWFnZSB8fCAnJywgJ3Byb3BlcnR5Jyk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgdMOtdHVsbyBkYSBww6FnaW5hXG4gICAqIEBwYXJhbSB0aXRsZSB0w610dWxvIGRhIHDDoWdpbmEgPHN0cmluZz5cbiAgICogQHBhcmFtIHN1YiBTZSDDqSBzdWJzaXRlIGFjcmVzY2VudGEgdW5pZGFkZSA8Ym9vbGVhbj5cbiAgICovXG4gIHB1YmxpYyBzZXRUaXRsZSh0aXRsZTogc3RyaW5nLCBzdWIgPSBmYWxzZSkge1xuICAgIGlmICh0aXRsZSAmJiB0aXRsZSAhPT0gJycpIHtcbiAgICAgIHRpdGxlID0gaGUuZGVjb2RlKHRpdGxlKTtcbiAgICAgIHRpdGxlID0gcmVtb3ZlSHRtbFRhZ3ModGl0bGUpO1xuICAgICAgaWYgKHN1Yikge1xuICAgICAgICB0aXRsZSA9IGhlLmRlY29kZShgJHt0aXRsZX0ke3RoaXMuc2VwYXJhdG9yfSR7dGhpcy51bmlkYWRlTmFtZX1gKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudGl0bGUuc2V0VGl0bGUodGl0bGUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBPYnRlbSB0w610dWxvIGF0dWFsIGRhIHDDoWdpbmEgKi9cbiAgcHVibGljIGdldFRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGl0bGUuZ2V0VGl0bGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQ0MDRUaXRsZShjb21wb25lbnQ6IHN0cmluZyA9ICdEZWZhdWx0IENvbXBvbmVudCcpIHtcbiAgICBpZiAoY29tcG9uZW50ICYmIGNvbXBvbmVudCAhPT0gJycpIHtcbiAgICAgIGNvbXBvbmVudCA9IGhlLmRlY29kZShjb21wb25lbnQpO1xuICAgICAgY29tcG9uZW50ID0gcmVtb3ZlSHRtbFRhZ3MoY29tcG9uZW50KTtcbiAgICAgIGlmICh0aGlzLnVuaWRhZGVOYW1lKSB7XG4gICAgICAgIGNvbXBvbmVudCA9IGhlLmRlY29kZShgJHtjb21wb25lbnR9JHt0aGlzLnNlcGFyYXRvcn0ke3RoaXMudW5pZGFkZU5hbWV9YCk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHRpdGxlID0gYEVycm8gNDA0IC0gJHtjb21wb25lbnR9IC0gJHt0aGlzLmxpYkNvbmZpZz8uc2l0ZU5hbWV9IC0gJHt0aGlzLmxvY2F0aW9uLnBhdGgoKX1gO1xuICAgIHRoaXMudGl0bGUuc2V0VGl0bGUodGl0bGUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIENyaWEgdGFnIHNjcmlwdCBwYXJhIEpTT04gZGUgYnJlYWRjcnVtYnMgKi9cbiAgcHJpdmF0ZSBjcmVhdGVCcmVhZGNydW1ic0pTT05UYWcoKTogSFRNTFNjcmlwdEVsZW1lbnQge1xuICAgIGNvbnN0IHRhZzogSFRNTFNjcmlwdEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIHRhZy5pZCA9IHRoaXMuYnJlYWRjcnVtYnNKc29uVGFnSWQ7XG4gICAgdGFnLnR5cGUgPSAnYXBwbGljYXRpb24vbGQranNvbic7XG4gICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRhZyk7XG4gICAgdGhpcy5icmVhZGNydW1ic0pzb25UYWcgPSB0YWc7XG4gICAgcmV0dXJuIHRhZztcbiAgfVxuXG4gIC8qKiBSZXRvcm5hIHRhZyBwYXJhIHNjcmlwdCBqc29uIGRlIGJyZWFkY3J1bWJzIG91IGNyaWEgc2UgbsOjbyBob3V2ZXIuICovXG4gIHByaXZhdGUgZ2V0QnJlYWRjcnVtYnNKU09OVGFnKCk6IEhUTUxTY3JpcHRFbGVtZW50IHtcbiAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuZG9jdW1lbnQuaGVhZC5jaGlsZHJlbjtcbiAgICBsZXQgaTogbnVtYmVyO1xuICAgIGZvciAoaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZWxlbSA9IGVsZW1lbnRzW2ldIGFzIEhUTUxTY3JpcHRFbGVtZW50O1xuICAgICAgaWYgKGVsZW0gJiYgZWxlbS5pZCA9PT0gdGhpcy5icmVhZGNydW1ic0pzb25UYWdJZCkge1xuICAgICAgICByZXR1cm4gZWxlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQnJlYWRjcnVtYnNKU09OVGFnKCk7XG4gIH1cblxuICAvKiogRGVmaW5lIG8gSlNPTiBkZSBicmVhZGNydW1icyBkYSBww6FnaW5hICovXG4gIHB1YmxpYyBzZXRCcmVhZGNydW1ic0pzb24oaXRlbXM6IEJyZWFkY3J1bWJJdGVtW10pIHtcbiAgICB0aGlzLmJyZWFkY3J1bWJzSnNvblRhZyA9IHRoaXMuZ2V0QnJlYWRjcnVtYnNKU09OVGFnKCk7XG4gICAgY29uc3QganNvbiA9IHtcbiAgICAgICdAY29udGV4dCc6ICdodHRwOi8vc2NoZW1hLm9yZycsXG4gICAgICAnQHR5cGUnOiAnQnJlYWRjcnVtYkxpc3QnLFxuICAgICAgaXRlbUxpc3RFbGVtZW50OiB0aGlzLmdldEpzb25CcmVhZGNydW1iSXRlbXMoaXRlbXMpLFxuICAgIH07XG4gICAgdGhpcy5icmVhZGNydW1ic0pzb25UYWcuaW5uZXJIVE1MID0gSlNPTi5zdHJpbmdpZnkoanNvbik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQ29udmVydGUgaXRlbnMgZG8gYnJlYWRjcnVtYiBlbSBpdGVucyBkbyBKU09OICovXG4gIHByaXZhdGUgZ2V0SnNvbkJyZWFkY3J1bWJJdGVtcyhpdGVtczogQnJlYWRjcnVtYkl0ZW1bXSk6IEJyZWFkY3J1bWJKc29uSXRlbVtdIHtcbiAgICBjb25zdCBqc29uSXRlbXMgPSBbXG4gICAgICB7XG4gICAgICAgICdAdHlwZSc6ICdMaXN0SXRlbScsXG4gICAgICAgIHBvc2l0aW9uOiAxLFxuICAgICAgICBpdGVtOiB7ICdAaWQnOiB0aGlzLmdldEJyZWFkY3J1bWJJdGVtVXJsKFsnLyddKSwgbmFtZTogaGUuZW5jb2RlKCdQw6FnaW5hIEluaWNpYWwnKSB9LFxuICAgICAgfSBhcyBCcmVhZGNydW1iSnNvbkl0ZW0sXG4gICAgXTtcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpKSA9PiB7XG4gICAgICBjb25zdCBqc29uSXRlbTogQnJlYWRjcnVtYkpzb25JdGVtID0ge1xuICAgICAgICAnQHR5cGUnOiAnTGlzdEl0ZW0nLFxuICAgICAgICBwb3NpdGlvbjogaSArIDIsXG4gICAgICAgIGl0ZW06IHsgJ0BpZCc6IHRoaXMuZ2V0QnJlYWRjcnVtYkl0ZW1VcmwoaXRlbT8udXJsIHx8IFtdKSwgbmFtZTogaGUuZW5jb2RlKGl0ZW0ubGFiZWwpIH0sXG4gICAgICB9O1xuICAgICAganNvbkl0ZW1zLnB1c2goanNvbkl0ZW0pO1xuICAgIH0pO1xuICAgIHJldHVybiBqc29uSXRlbXM7XG4gIH1cblxuICAvKipcbiAgICogTW9udGEgYSB1cmwgZG8gaXRlbSBkZSBicmVhZGNydW1iIHByb3ZlbmllbnRlIGRvIGFycmF5IGRlIHVybHNcbiAgICogb3UgZG8gY2FtaW5obyBkYSBwcsOzcHJpYSBww6FnaW5hLCBjb25mb3JtZSBjYXNvIGRvIMO6bHRpbW8gaXRlbS5cbiAgICovXG4gIHByaXZhdGUgZ2V0QnJlYWRjcnVtYkl0ZW1VcmwodXJsOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2l0ZXVybCA9IGdldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpO1xuICAgIGlmICghdXJsIHx8IHVybC5sZW5ndGggPD0gMCkge1xuICAgICAgY29uc3QgcGFnZVBhdGggPSB0aGlzLmxvY2F0aW9uLnBhdGgoKTtcbiAgICAgIHJldHVybiBgJHtzaXRldXJsfSR7cGFnZVBhdGh9YDtcbiAgICB9XG4gICAgdXJsID0gdXJsLmZpbHRlcigodSkgPT4gdSAhPT0gdGhpcy51bmlkYWRlUGF0aCk7XG4gICAgY29uc3QgdW5pZGFkZVBhdGggPSB0aGlzLmdldFVuaWRhZGVQYXRoKCk7XG4gICAgY29uc3QgZnVsbFBhdGggPSBgJHt1bmlkYWRlUGF0aH0vJHt1cmwuam9pbignLycpLnJlcGxhY2UoL15cXC8/LywgJycpfWA7XG4gICAgcmV0dXJuIGAke3NpdGV1cmx9JHtmdWxsUGF0aH1gLnJlcGxhY2UoL1xcLyQvLCAnJyk7XG4gIH1cblxuICAvKiogQ3JpYSB0YWcgc2NyaXB0IHBhcmEgbyBKU09OIGRlIFNFTyAqL1xuICBwcml2YXRlIGNyZWF0ZUpTT05UYWcoKTogSFRNTFNjcmlwdEVsZW1lbnQge1xuICAgIGNvbnN0IHRhZzogSFRNTFNjcmlwdEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIHRhZy5pZCA9IHRoaXMuanNvblRhZ0lkO1xuICAgIHRhZy50eXBlID0gJ2FwcGxpY2F0aW9uL2xkK2pzb24nO1xuICAgIHRoaXMuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh0YWcpO1xuICAgIHRoaXMuanNvblRhZyA9IHRhZztcbiAgICByZXR1cm4gdGFnO1xuICB9XG5cbiAgLyoqIFJldG9ybmEgdGFnIHBhcmEgc2NyaXB0IGpzb24gZGUgYnJlYWRjcnVtYnMgb3UgY3JpYSBzZSBuw6NvIGhvdXZlci4gKi9cbiAgcHJpdmF0ZSBnZXRKU09OVGFnKCk6IEhUTUxTY3JpcHRFbGVtZW50IHtcbiAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuZG9jdW1lbnQuaGVhZC5jaGlsZHJlbjtcbiAgICBsZXQgaTogbnVtYmVyO1xuICAgIGZvciAoaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZWxlbSA9IGVsZW1lbnRzW2ldIGFzIEhUTUxTY3JpcHRFbGVtZW50O1xuICAgICAgaWYgKGVsZW0gJiYgZWxlbS5pZCA9PT0gdGhpcy5qc29uVGFnSWQpIHtcbiAgICAgICAgcmV0dXJuIGVsZW07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNyZWF0ZUpTT05UYWcoKTtcbiAgfVxuXG4gIC8qKiBEZWZpbmUgSlNPTiBwYXJhIFNFTyBzb21lbnRlIHF1YW5kbyBubyBzZXJ2aWRvciAqL1xuICBwdWJsaWMgc2V0UGFnZUpzb24oKSB7XG4gICAgdGhpcy5qc29uVGFnID0gdGhpcy5nZXRKU09OVGFnKCk7XG4gICAgY29uc3QgZ3JhcGggPSBbdGhpcy5nZXRPcmdKc29uKCksIHRoaXMuZ2V0V2Vic2l0ZUpzb24oKSwgdGhpcy5nZXRXZWJwYWdlSnNvbigpXTtcbiAgICBjb25zdCBqc29uID0geyAnQGNvbnRleHQnOiAnaHR0cDovL3NjaGVtYS5vcmcnLCAnQGdyYXBoJzogZ3JhcGggfTtcbiAgICB0aGlzLmpzb25UYWcuaW5uZXJIVE1MID0gSlNPTi5zdHJpbmdpZnkoanNvbik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogT2J0ZW0gSlNPTiBkYSBPcmdhbml6YcOnw6NvICovXG4gIHByaXZhdGUgZ2V0T3JnSnNvbigpIHtcbiAgICBjb25zdCBzaXRldXJsID0gZ2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICdAdHlwZSc6ICdPcmdhbml6YXRpb24nLFxuICAgICAgJ0BpZCc6IGAke3NpdGV1cmx9I29yZ2FuaXphdGlvbmAsXG4gICAgICBuYW1lOiB0aGlzLmRlZmF1bHRUaXRsZSxcbiAgICAgIGtleXdvcmRzOiB0aGlzLmxpYkNvbmZpZz8ua2V5d29yZHMsXG4gICAgICB1cmw6IGAke3NpdGV1cmx9YCxcbiAgICAgIHNhbWVBczogdGhpcy5zYW1lQXMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBPYnRlbSBKU09OIGRvIFdlYnNpdGUgKHBvcnRhbCwgdW5pZGFkZXMsIGV0YykgKi9cbiAgcHJpdmF0ZSBnZXRXZWJzaXRlSnNvbigpIHtcbiAgICBjb25zdCB1bmlkYWRlUGF0aCA9IHRoaXMuZ2V0VW5pZGFkZVBhdGgoKTtcbiAgICBjb25zdCBzaXRldXJsID0gZ2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICdAdHlwZSc6ICdXZWJTaXRlJyxcbiAgICAgICdAaWQnOiBgJHtzaXRldXJsfSR7dW5pZGFkZVBhdGh9I3dlYnNpdGVgLFxuICAgICAgdXJsOiBgJHtzaXRldXJsfSR7dW5pZGFkZVBhdGh9YCxcbiAgICAgIG5hbWU6IHRoaXMudW5pZGFkZU5hbWUsXG4gICAgICBrZXl3b3JkczogdGhpcy5saWJDb25maWc/LmtleXdvcmRzLFxuICAgIH07XG4gIH1cblxuICAvKiogT2J0ZW0gSnNvbiBkYSBww6FnaW5hICovXG4gIHByaXZhdGUgZ2V0V2VicGFnZUpzb24oKSB7XG4gICAgY29uc3QgdW5pZGFkZVBhdGggPSB0aGlzLmdldFVuaWRhZGVQYXRoKCk7XG4gICAgY29uc3Qgc2l0ZVVSTCA9IGdldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpO1xuICAgIGNvbnN0IHBhZ2VQYXRoID0gYCR7c2l0ZVVSTH0ke3RoaXMubG9jYXRpb24ucGF0aCgpfWA7XG4gICAgY29uc3QgZGVzYyA9IHRoaXMuYWN0aXZlRGVzY3JpcHRpb24gPyB0aGlzLmFjdGl2ZURlc2NyaXB0aW9uIDogJyc7XG4gICAgcmV0dXJuIHtcbiAgICAgICdAdHlwZSc6ICdXZWJQYWdlJyxcbiAgICAgICdAaWQnOiBgJHtwYWdlUGF0aH0jd2VicGFnZWAsXG4gICAgICB1cmw6IHBhZ2VQYXRoLFxuICAgICAgaW5MYW5ndWFnZTogJ3B0LUJSJyxcbiAgICAgIG5hbWU6IHRoaXMuZ2V0VGl0bGUoKSxcbiAgICAgIGlzUGFydE9mOiB7ICdAaWQnOiBgJHtzaXRlVVJMfSR7dW5pZGFkZVBhdGh9I3dlYnNpdGVgIH0sXG4gICAgICBhYm91dDogeyAnQGlkJzogYCR7c2l0ZVVSTH0jb3JnYW5pemF0aW9uYCB9LFxuICAgICAgZGVzY3JpcHRpb246IGRlc2MsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VW5pZGFkZVBhdGgoKSB7XG4gICAgbGV0IHVuaWRhZGVQYXRoID0gJyc7XG4gICAgaWYgKHRoaXMudW5pZGFkZSAmJiB0aGlzLnVuaWRhZGVQYXRoKSB7XG4gICAgICB1bmlkYWRlUGF0aCA9IHRoaXMudW5pZGFkZT8ucGF0aCA9PT0gJy8nID8gJycgOiB0aGlzLnVuaWRhZGVQYXRoPy5zdWJzdHJpbmcoMCwgdGhpcy51bmlkYWRlUGF0aD8ubGVuZ3RoIC0gMSk7XG4gICAgfVxuICAgIHJldHVybiB1bmlkYWRlUGF0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnTDqW0gYSBVUkwgY2Fuw7RuaWNhIGRhIHDDoWdpbmEuXG4gICAqIEByZXR1cm5zIEEgVVJMIGNhbsO0bmljYSBkYSBww6FnaW5hLlxuICAgKi9cbiAgcHVibGljIGdldENhbm9uaWNhbEhyZWYoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuY2Fub25pY2FsVGFnKSB7XG4gICAgICB0aGlzLmNhbm9uaWNhbFRhZyA9IHRoaXMuZ2V0Q2Fub25pY2FsVGFnKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhbm9uaWNhbFRhZy5ocmVmO1xuICB9XG5cbiAgLyoqIENyaWEgdGFnIHBhcmEgbGlua3MgY2Fub25pY2FscyBubyBoZWFkICovXG4gIHByaXZhdGUgY3JlYXRlQ2Fub25pY2FsVGFnKCk6IEhUTUxMaW5rRWxlbWVudCB7XG4gICAgY29uc3QgdGFnID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgdGFnLnNldEF0dHJpYnV0ZSgncmVsJywgJ2Nhbm9uaWNhbCcpO1xuICAgIHRoaXMuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh0YWcpO1xuICAgIHRhZy5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCB0aGlzLmRvY3VtZW50LlVSTCk7XG4gICAgdGhpcy5jYW5vbmljYWxUYWcgPSB0YWc7XG4gICAgcmV0dXJuIHRhZztcbiAgfVxuXG4gIC8qKiBSZXRvcm5hIHRhZyBwYXJhIGxpbmsgY2Fub25pY2FsIGV4aXN0ZSBvdSBjcmlhIHNlIG7Do28gaG91dmVyLiAqL1xuICBwcml2YXRlIGdldENhbm9uaWNhbFRhZygpOiBIVE1MTGlua0VsZW1lbnQge1xuICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5kb2N1bWVudC5oZWFkLmNoaWxkcmVuO1xuICAgIGxldCBpOiBudW1iZXI7XG4gICAgZm9yIChpID0gMDsgaSA8IGVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBlbGVtID0gZWxlbWVudHNbaV0gYXMgSFRNTExpbmtFbGVtZW50O1xuICAgICAgaWYgKGVsZW0gJiYgZWxlbS50YWdOYW1lID09PSAnTElOSycgJiYgZWxlbS5yZWwgPT09ICdjYW5vbmljYWwnKSB7XG4gICAgICAgIHJldHVybiBlbGVtO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVDYW5vbmljYWxUYWcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgbGluayBjYW5vbmljYWwgZGEgcMOhZ2luYVxuICAgKiBAcGFyYW0gdXJsIHVybCBjYW5vbmljYWxcbiAgICovXG4gIHB1YmxpYyBzZXRDYW5vbmljYWxIcmVmKHVybD86IHN0cmluZykge1xuICAgIGlmICghdGhpcy5jYW5vbmljYWxUYWcpIHtcbiAgICAgIHRoaXMuY2Fub25pY2FsVGFnID0gdGhpcy5nZXRDYW5vbmljYWxUYWcoKTtcbiAgICB9XG5cbiAgICBsZXQgcGF0aCA9IHRoaXMubG9jYXRpb24ucGF0aCgpO1xuICAgIGlmICghcGF0aC5zdGFydHNXaXRoKCcvJykpIHtcbiAgICAgIHBhdGggPSBgLyR7cGF0aH1gO1xuICAgIH1cblxuICAgIGNvbnN0IGNhbm9uaWNhbFVybCA9IHVybCAmJiB0aGlzLmlzQ3VzdG9tQ2Fub25pY2FsKHVybCkgPyB1cmwgOiBgJHtnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KX0ke3BhdGh9YDtcblxuICAgIHRoaXMuY2Fub25pY2FsVGFnLnNldEF0dHJpYnV0ZSgnaHJlZicsIGNhbm9uaWNhbFVybCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVmVyaWZpY2Egc2UgYSBVUkwgZm9ybmVjaWRhIMOpIHVtIGxpbmsgY2Fub25pY2FsIHBlcnNvbmFsaXphZG9cbiAgICogQHBhcmFtIHVybCBVUkwgZm9ybmVjaWRhXG4gICAqL1xuICBwdWJsaWMgaXNDdXN0b21DYW5vbmljYWwodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBzaXRldXJsID0gZ2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCk7XG4gICAgcmV0dXJuIHVybC5zdGFydHNXaXRoKHNpdGV1cmwpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9idMOpbSB1bWEgdXJsIHbDoWxpZGEgbmEgYXBsaWNhw6fDo28gcHJvdmVuaWVudGUgZGUgdW1hIFVSTCBnZXJhZGFcbiAgICogcGVsbyBwbHVnaW4gWW9hc3QgcGFyYSBjYW5vbmljYWwgYXV0b23DoXRpY28uXG4gICAqIEV4LjogaHR0cHM6Ly93cC5yZWRlZG9yc2FvbHVpei5jb20uYnIvYnJhc2lsL2VzcGVjaWFsaWRhZGVzL2NhcmRpb2xvZ2lhL1xuICAgKiBAcGFyYW0gdXJsRnJvbVdwQXBpIFVSTCBjYW5vbmljYSBnZXJhZGEgcGVsbyBZb2FzdCBQbHVnaW4uXG4gICAqL1xuICB0b0xvY2FsQ2Fub25pY2FsKHVybEZyb21XcEFwaTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBhcGlVcmwgPSB0aGlzLmxpYkNvbmZpZz8ud3BVcmwgPz8gJyc7XG4gICAgY29uc3Qgc2l0ZXVybCA9IGdldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpO1xuICAgIGNvbnN0IHVuaWRhZGVTbHVnID0gdGhpcy51bmlkYWRlU2x1ZztcbiAgICBsZXQgY29udmVydGVkID0gdXJsRnJvbVdwQXBpLnJlcGxhY2UoYXBpVXJsLCBzaXRldXJsKTtcbiAgICBpZiAodW5pZGFkZVNsdWcgIT09ICcvJyAmJiBjb252ZXJ0ZWQuaW5jbHVkZXMoYC8ke3VuaWRhZGVTbHVnfS9gKSkge1xuICAgICAgY29udmVydGVkID0gY29udmVydGVkLnJlcGxhY2UoYC8ke3VuaWRhZGVTbHVnfS9gLCBgJHt0aGlzLnVuaWRhZGVQYXRofWApO1xuICAgIH1cbiAgICByZXR1cm4gY29udmVydGVkO1xuICB9XG5cbiAgZ2V0UG9zdENvbnRlbnQocG9zdDogV3BQb3N0KTogc3RyaW5nIHtcbiAgICBjb25zdCBjb250ZW50ID0gcG9zdC5hY2ZbJ3Jkc2xfcG9zdF9jb250ZW50J10gPyBwb3N0LmFjZi5yZHNsX3Bvc3RfY29udGVudC5maW5kKChjb250ZW50OiBhbnkpID0+IGNvbnRlbnQuYWNmX2ZjX2xheW91dCA9PT0gJ3RleHRfaHRtbCcpIDogbnVsbDtcbiAgICByZXR1cm4gY29udGVudD8uY29udGVudCB8fCBwb3N0LmNvbnRlbnQucmVuZGVyZWQgfHwgJyc7XG4gIH1cblxuICBhZGRBcnRpY2xlU2NyaXB0KHBvc3Q6IFdwUG9zdCwgc2NyaXB0TmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcG9zdENvbnRlbnQgPSB0aGlzLmdldFBvc3RDb250ZW50KHBvc3QpO1xuICAgIGNvbnN0IHBvc3RIZWFkZXJJbWFnZSA9IHBvc3QuYWNmWydyZHNsX3Bvc3RfaGVhZGVyX2ltZyddXG4gICAgICA/IHtcbiAgICAgICAgICB1cmw6IHBvc3QuYWNmWydyZHNsX3Bvc3RfaGVhZGVyX2ltZyddLnVybCxcbiAgICAgICAgICB3aWR0aDogcG9zdC5hY2ZbJ3Jkc2xfcG9zdF9oZWFkZXJfaW1nJ10ud2lkdGgsXG4gICAgICAgICAgaGVpZ2h0OiBwb3N0LmFjZlsncmRzbF9wb3N0X2hlYWRlcl9pbWcnXS5oZWlnaHQsXG4gICAgICAgIH1cbiAgICAgIDogbnVsbDtcblxuICAgIGNvbnN0IHN0cnVjdHVyZWREYXRhID0ge1xuICAgICAgJ0Bjb250ZXh0JzogJ2h0dHBzOi8vc2NoZW1hLm9yZycsXG4gICAgICAnQHR5cGUnOiAnQXJ0aWNsZScsXG4gICAgICBtYWluRW50aXR5T2ZQYWdlOiBgJHtnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KX0ke3RoaXMubG9jYXRpb24ucGF0aCgpfWAsXG4gICAgICBoZWFkbGluZTogcG9zdC50aXRsZT8ucmVuZGVyZWQsXG4gICAgICBkYXRlUHVibGlzaGVkOiBwb3N0LmRhdGVfZ210LFxuICAgICAgcHVibGlzaGVyOiB7XG4gICAgICAgICdAdHlwZSc6ICdPcmdhbml6YXRpb24nLFxuICAgICAgICBuYW1lOiAnUmVkZSBE4oCZT3InLFxuICAgICAgfSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwb3N0LnRpdGxlPy5yZW5kZXJlZCxcbiAgICAgIGFydGljbGVCb2R5OiByZW1vdmVIdG1sVGFncyhoZS5kZWNvZGUocG9zdENvbnRlbnQpKSxcbiAgICAgIGRhdGVNb2RpZmllZDogcG9zdC5tb2RpZmllZF9nbXQsXG4gICAgICBpbWFnZToge1xuICAgICAgICAnQHR5cGUnOiAnSW1hZ2VPYmplY3QnLFxuICAgICAgICB1cmw6IHBvc3RIZWFkZXJJbWFnZT8udXJsIHx8IHBvc3QuZmVhdHVyZWRfbWVkaWFfcGF0aCB8fCAnJyxcbiAgICAgICAgaGVpZ2h0OiBwb3N0SGVhZGVySW1hZ2U/LmhlaWdodCB8fCAnJyxcbiAgICAgICAgd2lkdGg6IHBvc3RIZWFkZXJJbWFnZT8ud2lkdGggfHwgJycsXG4gICAgICB9LFxuICAgICAgYXV0aG9yOiB7XG4gICAgICAgICdAdHlwZSc6ICdPcmdhbml6YXRpb24nLFxuICAgICAgICBuYW1lOiAnUmVkZSBE4oCZT3InLFxuICAgICAgfSxcbiAgICAgIHdvcmRjb3VudDogcG9zdENvbnRlbnQuc3BsaXQoJyAnKS5sZW5ndGgsXG4gICAgfTtcblxuICAgIGNvbnN0IHNjcmlwdCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG5cbiAgICBzY3JpcHQudHlwZSA9ICdhcHBsaWNhdGlvbi9sZCtqc29uJztcbiAgICBzY3JpcHQuaWQgPSBzY3JpcHROYW1lO1xuICAgIHNjcmlwdC5pbm5lckhUTUwgPSBKU09OLnN0cmluZ2lmeShzdHJ1Y3R1cmVkRGF0YSk7XG5cbiAgICB0aGlzLmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgfVxuXG4gIHJlbW92ZUFydGljbGVTY3JpcHQoc2NyaXB0TmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc2NyaXB0ID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChzY3JpcHROYW1lKTtcbiAgICBzY3JpcHQ/LnJlbW92ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldFVuaWRhZGUoeyB1bmlkYWRlID0gbnVsbCwgdW5pZGFkZU5hbWUgPSAnJywgdW5pZGFkZVBhdGggPSAnJywgdW5pZGFkZVNsdWcgPSAnJyB9OiBTZW9VbmlkYWRlKSB7XG4gICAgdGhpcy51bmlkYWRlID0gdW5pZGFkZTtcbiAgICB0aGlzLnVuaWRhZGVOYW1lID0gdW5pZGFkZU5hbWU7XG4gICAgdGhpcy51bmlkYWRlUGF0aCA9IHVuaWRhZGVQYXRoO1xuICAgIHRoaXMudW5pZGFkZVNsdWcgPSB1bmlkYWRlU2x1ZztcbiAgfVxufVxuIl19
|
|
468
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zZW8vc2VvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLFFBQVEsRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBUXpCLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUsvRCxNQUFNLE9BQU8sVUFBVTtJQXVCckIsWUFDVSxLQUFZLEVBQ1osSUFBVSxFQUNWLFFBQWtCLEVBQ0UsU0FBb0IsRUFDdEIsUUFBa0I7UUFKcEMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLFNBQUksR0FBSixJQUFJLENBQU07UUFDVixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ0UsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBM0J2QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsV0FBVyxDQUFDO1FBRTNCLFdBQU0sR0FBRztZQUNkLG1DQUFtQztZQUNuQyw0Q0FBNEM7WUFDNUMsa0RBQWtEO1lBQ2xELDZCQUE2QjtTQUM5QixDQUFDO1FBQ0ssZ0JBQVcsR0FBRyxVQUFVLENBQUM7UUFJeEIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUV0Qix5QkFBb0IsR0FBRyxpQkFBaUIsQ0FBQztRQUUxQyxZQUFPLEdBQVEsSUFBSSxDQUFDO1FBQ3BCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGdCQUFXLEdBQVcsRUFBRSxDQUFD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TSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU0sVUFBVSxDQUFDLEVBQUUsT0FBTyxHQUFHLElBQUksRUFBRSxXQUFXLEdBQUcsRUFBRSxFQUFFLFdBQVcsR0FBRyxFQUFFLEVBQUUsV0FBVyxHQUFHLEVBQUUsRUFBYztRQUNwRyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDOytHQXZlVSxVQUFVLG1GQTJCWCxVQUFVLGFBQ1YsUUFBUTttSEE1QlAsVUFBVSxjQUZULE1BQU07OzRGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkE0QkksTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXRhLCBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgRE9DVU1FTlQsIExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0ICogYXMgaGUgZnJvbSAnaGUnO1xuXG5pbXBvcnQgeyBTb2NpYWxNZXRhUHJvcGVydGllcyB9IGZyb20gJy4uLy4uL21vZGVscy9zb2NpYWwtbWV0YS1wcm9wZXJ0aWVzLm1vZGVsJztcbmltcG9ydCB7IEJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1pdGVtLm1vZGVsJztcbmltcG9ydCB7IEJyZWFkY3J1bWJKc29uSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9icmVhZGNydW1iL2JyZWFkY3J1bWItanNvbi1pdGVtLm1vZGVsJztcbmltcG9ydCB7IFNlb0RhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VvL3Nlby1kYXRhLm1vZGVsJztcbmltcG9ydCB7IFNlb1VuaWRhZGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VvL3Nlby11bmlkYWRlLm1vZGVsJztcbmltcG9ydCB7IFdwUG9zdCB9IGZyb20gJy4uLy4uL21vZGVscy93b3JkcHJlc3MvcG9zdC9wb3N0Lm1vZGVsJztcbmltcG9ydCB7IGdldFNpdGVVcmwsIHJlbW92ZUh0bWxUYWdzIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XG5pbXBvcnQgeyBMSUJfQ09ORklHLCBMaWJDb25maWcgfSBmcm9tICcuLi8uLi90b2tlbnMvTGliQ29uZmlnJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNlb1NlcnZpY2Uge1xuICBwdWJsaWMgc2VwYXJhdG9yID0gJyAtICc7XG4gIHB1YmxpYyBkZWZhdWx0VGl0bGUgPSAnUmVkZSBE4oCZT3InO1xuICBwdWJsaWMgYWN0aXZlRGVzY3JpcHRpb24hOiBzdHJpbmc7XG4gIHB1YmxpYyBzYW1lQXMgPSBbXG4gICAgJ2h0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9yZWRlZG9yLycsXG4gICAgJ2h0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vcmVkZWRvcl9vZmljaWFsLycsXG4gICAgJ2h0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L3JlZGVkb3Itc2FvbHVpeicsXG4gICAgJ2h0dHBzOi8vdHdpdHRlci5jb20vcmVkZWRvcicsXG4gIF07XG4gIHB1YmxpYyB0d2l0dGVyVXNlciA9ICdAcmVkZWRvcic7XG5cbiAgcHJpdmF0ZSBjYW5vbmljYWxUYWchOiBIVE1MTGlua0VsZW1lbnQ7XG4gIHByaXZhdGUganNvblRhZyE6IEhUTUxTY3JpcHRFbGVtZW50O1xuICBwcml2YXRlIGpzb25UYWdJZCA9ICdzZW9KU09OJztcbiAgcHJpdmF0ZSBicmVhZGNydW1ic0pzb25UYWchOiBIVE1MU2NyaXB0RWxlbWVudDtcbiAgcHJpdmF0ZSBicmVhZGNydW1ic0pzb25UYWdJZCA9ICdicmVhZGNydW1ic0pTT04nO1xuXG4gIHB1YmxpYyB1bmlkYWRlOiBhbnkgPSBudWxsO1xuICBwdWJsaWMgdW5pZGFkZU5hbWU6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgdW5pZGFkZVBhdGg6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgdW5pZGFkZVNsdWc6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGl0bGU6IFRpdGxlLFxuICAgIHByaXZhdGUgbWV0YTogTWV0YSxcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICBASW5qZWN0KExJQl9DT05GSUcpIHByaXZhdGUgbGliQ29uZmlnOiBMaWJDb25maWcsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICkge31cblxuICBwdWJsaWMgc2V0RnVsbFNlbyhkYXRhOiBTZW9EYXRhKSB7XG4gICAgdGhpcy5zZXRUaXRsZShkYXRhLnRpdGxlLnRleHQsICEhZGF0YS50aXRsZS5zdWIpO1xuICAgIHRoaXMuc2V0RGVzY3JpcHRpb24oZGF0YS5kZXNjcmlwdGlvbik7XG4gICAgdGhpcy5zZXRDYW5vbmljYWxIcmVmKGRhdGEuY2Fub25pY2FsKTtcbiAgICB0aGlzLnNldFBhZ2VKc29uKCk7XG4gICAgdGhpcy5zZXRTb2NpYWxUYWdzKGRhdGEuc29jaWFsVGFncyk7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIHRhZyBkZXNjcmlwdGlvbiBkYSBww6FnaW5hXG4gICAqIEBwYXJhbSBjb250ZW50IGNvbnRlw7pkbyBkYSBkZXNjcmnDp8OjbyA8c3RyaW5nPlxuICAgKi9cbiAgcHVibGljIHNldERlc2NyaXB0aW9uKGNvbnRlbnQ6IHN0cmluZyk6IFNlb1NlcnZpY2Uge1xuICAgIGNvbnN0IGRlc2NUYWcgPSB0aGlzLm1ldGEuZ2V0VGFnKFwibmFtZT0nZGVzY3JpcHRpb24nXCIpO1xuICAgIGlmIChjb250ZW50KSB7XG4gICAgICBjb250ZW50ID0gaGUuZGVjb2RlKGNvbnRlbnQpO1xuICAgICAgY29udGVudCA9IHJlbW92ZUh0bWxUYWdzKGNvbnRlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZW50ID0gJyc7XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlRGVzY3JpcHRpb24gPSBjb250ZW50O1xuICAgIGNvbnN0IHRhZ0NvbnRlbnQgPSB7IG5hbWU6ICdkZXNjcmlwdGlvbicsIGNvbnRlbnQgfTtcbiAgICBpZiAoZGVzY1RhZykge1xuICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh0YWdDb250ZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tZXRhLmFkZFRhZyh0YWdDb250ZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIG1ldGEgdGFncyBwYXJhIGEgcMOhZ2luYVxuICAgKiBAcGFyYW0gdGFnIG5vbWUgZGEgdGFnIG1ldGFcbiAgICogQHBhcmFtIGNvbnRlbnQgY29udGXDumRvIGRhIHRhZyBtZXRhXG4gICAqIEBwYXJhbSB0eXBlIHRpcG8gZGUgdGFnIG1ldGFcbiAgICovXG4gIHB1YmxpYyBzZXRNZXRhVGFnKHRhZzogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcsIHR5cGUgPSAnbmFtZScpIHtcbiAgICBjb25zdCBtZXRhdGFnID0gdGhpcy5tZXRhLmdldFRhZyhgJHt0eXBlfT0nJHt0YWd9J2ApO1xuICAgIGNvbnRlbnQgPSBoZS5kZWNvZGUoY29udGVudCk7XG4gICAgY29udGVudCA9IHJlbW92ZUh0bWxUYWdzKGNvbnRlbnQpO1xuICAgIGNvbnN0IHRhZ0NvbnRlbnQgPSB7XG4gICAgICBbdHlwZV06IHRhZyxcbiAgICAgIGNvbnRlbnQsXG4gICAgfTtcbiAgICBpZiAoIW1ldGF0YWcpIHtcbiAgICAgIHRoaXMubWV0YS5hZGRUYWcodGFnQ29udGVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWV0YS51cGRhdGVUYWcodGFnQ29udGVudCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBtZXRhIHRhZ3MgZGEgcMOhZ2luYVxuICAgKiBAcGFyYW0gdGFnIG5vbWUgZGEgdGFnIG1ldGFcbiAgICogQHBhcmFtIGNvbnRlbnQgY29udGXDumRvIGRhIHRhZyBtZXRhXG4gICAqIEBwYXJhbSBhdHRyIGF0cmlidXRvIGRhIHRhZyBtZXRhXG4gICAqIEBwYXJhbSB0eXBlIHRpcG8gZGUgdGFnIG1ldGFcbiAgICovXG4gIHB1YmxpYyByZW1vdmVUYWcodGFnOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZywgYXR0cjogc3RyaW5nLCB0eXBlID0gJ25hbWUnKSB7XG4gICAgY29uc3QgbWV0YXRhZyA9IHRoaXMubWV0YS5nZXRUYWcoYCR7dHlwZX09JyR7dGFnfSdgKTtcbiAgICBpZiAobWV0YXRhZykge1xuICAgICAgdGhpcy5tZXRhLnJlbW92ZVRhZyhgJHthdHRyfT0ke2NvbnRlbnR9YCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBtZXRhIHRhZ3MgcGFyYSBGYWNlYm9va1xuICAgKiBAcGFyYW0gdGl0bGUgdMOtdHVsbyBwYXJhIG8gZmFjZWJvb2tcbiAgICogQHBhcmFtIGRlc2NyaXB0aW9uIGRlc2NyacOnw6NvIHBhcmEgbyBmYWNlYm9va1xuICAgKiBAcGFyYW0gdXJsIHVybCBwYXJhIGRlZmluacOnw6NvIGRvIGZhY2Vib29rXG4gICAqIEBwYXJhbSBpbWcgaW1hZ2VtIHBhcmEgZGVmaW5pw6fDo28gbm8gZmFjZWJvb2tcbiAgICovXG4gIHB1YmxpYyBzZXRNZXRhRmFjZWJvb2sodGl0bGU6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZywgdXJsOiBzdHJpbmcsIGltZzogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcbiAgICB0aGlzLnNldE1ldGFUYWcoJ29nOnVybCcsIHVybCwgJ3Byb3BlcnR5Jyk7XG4gICAgdGhpcy5zZXRNZXRhVGFnKCdvZzp0aXRsZScsIHRpdGxlLCAncHJvcGVydHknKTtcbiAgICB0aGlzLnNldE1ldGFUYWcoJ29nOmRlc2NyaXB0aW9uJywgZGVzY3JpcHRpb24sICdwcm9wZXJ0eScpO1xuICAgIHRoaXMuc2V0TWV0YVRhZygnb2c6dHlwZScsICd3ZWJzaXRlJywgJ3Byb3BlcnR5Jyk7XG4gICAgdGhpcy5zZXRNZXRhVGFnKCdvZzppbWFnZScsIGltZyA/PyAnJywgJ3Byb3BlcnR5Jyk7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIG1ldGEgdGFncyBwYXJhIFR3aXR0ZXJcbiAgICogQHBhcmFtIHRpdGxlIHTDrXR1bG8gcGFyYSBvIHR3aXR0ZXJcbiAgICogQHBhcmFtIGRlc2NyaXB0aW9uIGRlc2NyacOnw6NvIHBhcmEgbyB0d2l0dGVyXG4gICAqIEBwYXJhbSB1cmwgdXJsIHBhcmEgbyB0d2l0dGVyXG4gICAqIEBwYXJhbSBpbWcgaW1hZ2VtIHBhcmEgZGVmaW5pw6fDo28gbm8gdHdpdHRlclxuICAgKi9cbiAgcHVibGljIHNldE1ldGFUd2l0dGVyKHRpdGxlOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcsIHVybDogc3RyaW5nLCBpbWc6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICAgdGhpcy5zZXRNZXRhVGFnKCd0d2l0dGVyOnNpdGUnLCB1cmwsICduYW1lJyk7XG4gICAgdGhpcy5zZXRNZXRhVGFnKCd0d2l0dGVyOnRpdGxlJywgdGl0bGUsICduYW1lJyk7XG4gICAgdGhpcy5zZXRNZXRhVGFnKCd0d2l0dGVyOmRlc2NyaXB0aW9uJywgZGVzY3JpcHRpb24sICduYW1lJyk7XG4gICAgdGhpcy5zZXRNZXRhVGFnKCd0d2l0dGVyOmltYWdlJywgaW1nID8/ICcnLCAnbmFtZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSB0YWdzIGRlIHJlZGVzIHNvY2lhaXMgKFR3aXR0ZXIgZSBPcGVuIEdyYXBoKVxuICAgKiBAcGFyYW0gcHJvcGVydGllc1xuICAgKi9cbiAgc2V0U29jaWFsVGFncyhwcm9wZXJ0aWVzPzogU29jaWFsTWV0YVByb3BlcnRpZXMpIHtcbiAgICBjb25zdCBwYWdlUGF0aCA9IHRoaXMubG9jYXRpb24ucGF0aCgpO1xuICAgIGNvbnN0IHNpdGV1cmwgPSBnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KTtcbiAgICBsZXQgZGVmYXVsdFByb3BlcnRpZXM6IFNvY2lhbE1ldGFQcm9wZXJ0aWVzID0ge1xuICAgICAgdHdpdHRlckNhcmQ6ICdzdW1tYXJ5JyxcbiAgICAgIHR3aXR0ZXJTaXRlOiB0aGlzLnR3aXR0ZXJVc2VyLFxuICAgICAgdHlwZTogJ3dlYnNpdGUnLFxuICAgICAgdGl0bGU6IHRoaXMuZ2V0VGl0bGUoKSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmFjdGl2ZURlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgdXJsOiBgJHtzaXRldXJsfSR7cGFnZVBhdGh9YCxcbiAgICAgIGltYWdlOiB0aGlzLmxpYkNvbmZpZz8ubG9nb1BhdGggPyBgJHtzaXRldXJsfSR7dGhpcy5saWJDb25maWcubG9nb1BhdGh9YCA6ICdodHRwczovL3d3dy5yZWRlZG9yc2FvbHVpei5jb20uYnIvYXNzZXRzL2ltZ3MvbG9nby1yZWRlZG9yLWJsdWUucG5nJyxcbiAgICB9O1xuICAgIGlmIChwcm9wZXJ0aWVzKSB7XG4gICAgICBkZWZhdWx0UHJvcGVydGllcyA9IHsgLi4uZGVmYXVsdFByb3BlcnRpZXMsIC4uLnByb3BlcnRpZXMgfTtcbiAgICB9XG4gICAgdGhpcy5zZXRNZXRhVGFnKCd0d2l0dGVyOmNhcmQnLCBkZWZhdWx0UHJvcGVydGllcy50d2l0dGVyQ2FyZCB8fCAnJywgJ25hbWUnKVxuICAgICAgLnNldE1ldGFUYWcoJ3R3aXR0ZXI6c2l0ZScsIGRlZmF1bHRQcm9wZXJ0aWVzLnR3aXR0ZXJTaXRlIHx8ICcnLCAnbmFtZScpXG4gICAgICAuc2V0TWV0YVRhZygnb2c6dHlwZScsIGRlZmF1bHRQcm9wZXJ0aWVzLnR5cGUgfHwgJycsICdwcm9wZXJ0eScpXG4gICAgICAuc2V0TWV0YVRhZygnb2c6dGl0bGUnLCBkZWZhdWx0UHJvcGVydGllcy50aXRsZSB8fCAnJywgJ3Byb3BlcnR5JylcbiAgICAgIC5zZXRNZXRhVGFnKCdvZzpkZXNjcmlwdGlvbicsIGRlZmF1bHRQcm9wZXJ0aWVzLmRlc2NyaXB0aW9uIHx8ICcnLCAncHJvcGVydHknKVxuICAgICAgLnNldE1ldGFUYWcoJ29nOnVybCcsIGRlZmF1bHRQcm9wZXJ0aWVzLnVybCB8fCAnJywgJ3Byb3BlcnR5JylcbiAgICAgIC5zZXRNZXRhVGFnKCdvZzppbWFnZScsIGRlZmF1bHRQcm9wZXJ0aWVzLmltYWdlIHx8ICcnLCAncHJvcGVydHknKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSB0w610dWxvIGRhIHDDoWdpbmFcbiAgICogQHBhcmFtIHRpdGxlIHTDrXR1bG8gZGEgcMOhZ2luYSA8c3RyaW5nPlxuICAgKiBAcGFyYW0gc3ViIFNlIMOpIHN1YnNpdGUgYWNyZXNjZW50YSB1bmlkYWRlIDxib29sZWFuPlxuICAgKi9cbiAgcHVibGljIHNldFRpdGxlKHRpdGxlOiBzdHJpbmcsIHN1YiA9IGZhbHNlKSB7XG4gICAgaWYgKHRpdGxlICYmIHRpdGxlICE9PSAnJykge1xuICAgICAgdGl0bGUgPSBoZS5kZWNvZGUodGl0bGUpO1xuICAgICAgdGl0bGUgPSByZW1vdmVIdG1sVGFncyh0aXRsZSk7XG4gICAgICBpZiAoc3ViKSB7XG4gICAgICAgIHRpdGxlID0gaGUuZGVjb2RlKGAke3RpdGxlfSR7dGhpcy5zZXBhcmF0b3J9JHt0aGlzLnVuaWRhZGVOYW1lfWApO1xuICAgICAgfVxuICAgICAgdGhpcy50aXRsZS5zZXRUaXRsZSh0aXRsZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIE9idGVtIHTDrXR1bG8gYXR1YWwgZGEgcMOhZ2luYSAqL1xuICBwdWJsaWMgZ2V0VGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50aXRsZS5nZXRUaXRsZSgpO1xuICB9XG5cbiAgcHVibGljIHNldDQwNFRpdGxlKGNvbXBvbmVudDogc3RyaW5nID0gJ0RlZmF1bHQgQ29tcG9uZW50Jykge1xuICAgIGlmIChjb21wb25lbnQgJiYgY29tcG9uZW50ICE9PSAnJykge1xuICAgICAgY29tcG9uZW50ID0gaGUuZGVjb2RlKGNvbXBvbmVudCk7XG4gICAgICBjb21wb25lbnQgPSByZW1vdmVIdG1sVGFncyhjb21wb25lbnQpO1xuICAgICAgaWYgKHRoaXMudW5pZGFkZU5hbWUpIHtcbiAgICAgICAgY29tcG9uZW50ID0gaGUuZGVjb2RlKGAke2NvbXBvbmVudH0ke3RoaXMuc2VwYXJhdG9yfSR7dGhpcy51bmlkYWRlTmFtZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgdGl0bGUgPSBgRXJybyA0MDQgLSAke2NvbXBvbmVudH0gLSAke3RoaXMubGliQ29uZmlnPy5zaXRlTmFtZX0gLSAke3RoaXMubG9jYXRpb24ucGF0aCgpfWA7XG4gICAgdGhpcy50aXRsZS5zZXRUaXRsZSh0aXRsZSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQ3JpYSB0YWcgc2NyaXB0IHBhcmEgSlNPTiBkZSBicmVhZGNydW1icyAqL1xuICBwcml2YXRlIGNyZWF0ZUJyZWFkY3J1bWJzSlNPTlRhZygpOiBIVE1MU2NyaXB0RWxlbWVudCB7XG4gICAgY29uc3QgdGFnOiBIVE1MU2NyaXB0RWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgdGFnLmlkID0gdGhpcy5icmVhZGNydW1ic0pzb25UYWdJZDtcbiAgICB0YWcudHlwZSA9ICdhcHBsaWNhdGlvbi9sZCtqc29uJztcbiAgICB0aGlzLmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodGFnKTtcbiAgICB0aGlzLmJyZWFkY3J1bWJzSnNvblRhZyA9IHRhZztcbiAgICByZXR1cm4gdGFnO1xuICB9XG5cbiAgLyoqIFJldG9ybmEgdGFnIHBhcmEgc2NyaXB0IGpzb24gZGUgYnJlYWRjcnVtYnMgb3UgY3JpYSBzZSBuw6NvIGhvdXZlci4gKi9cbiAgcHJpdmF0ZSBnZXRCcmVhZGNydW1ic0pTT05UYWcoKTogSFRNTFNjcmlwdEVsZW1lbnQge1xuICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5kb2N1bWVudC5oZWFkLmNoaWxkcmVuO1xuICAgIGxldCBpOiBudW1iZXI7XG4gICAgZm9yIChpID0gMDsgaSA8IGVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBlbGVtID0gZWxlbWVudHNbaV0gYXMgSFRNTFNjcmlwdEVsZW1lbnQ7XG4gICAgICBpZiAoZWxlbSAmJiBlbGVtLmlkID09PSB0aGlzLmJyZWFkY3J1bWJzSnNvblRhZ0lkKSB7XG4gICAgICAgIHJldHVybiBlbGVtO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVCcmVhZGNydW1ic0pTT05UYWcoKTtcbiAgfVxuXG4gIC8qKiBEZWZpbmUgbyBKU09OIGRlIGJyZWFkY3J1bWJzIGRhIHDDoWdpbmEgKi9cbiAgcHVibGljIHNldEJyZWFkY3J1bWJzSnNvbihpdGVtczogQnJlYWRjcnVtYkl0ZW1bXSkge1xuICAgIHRoaXMuYnJlYWRjcnVtYnNKc29uVGFnID0gdGhpcy5nZXRCcmVhZGNydW1ic0pTT05UYWcoKTtcbiAgICBjb25zdCBqc29uID0ge1xuICAgICAgJ0Bjb250ZXh0JzogJ2h0dHA6Ly9zY2hlbWEub3JnJyxcbiAgICAgICdAdHlwZSc6ICdCcmVhZGNydW1iTGlzdCcsXG4gICAgICBpdGVtTGlzdEVsZW1lbnQ6IHRoaXMuZ2V0SnNvbkJyZWFkY3J1bWJJdGVtcyhpdGVtcyksXG4gICAgfTtcbiAgICB0aGlzLmJyZWFkY3J1bWJzSnNvblRhZy5pbm5lckhUTUwgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBDb252ZXJ0ZSBpdGVucyBkbyBicmVhZGNydW1iIGVtIGl0ZW5zIGRvIEpTT04gKi9cbiAgcHJpdmF0ZSBnZXRKc29uQnJlYWRjcnVtYkl0ZW1zKGl0ZW1zOiBCcmVhZGNydW1iSXRlbVtdKTogQnJlYWRjcnVtYkpzb25JdGVtW10ge1xuICAgIGNvbnN0IGpzb25JdGVtcyA9IFtcbiAgICAgIHtcbiAgICAgICAgJ0B0eXBlJzogJ0xpc3RJdGVtJyxcbiAgICAgICAgcG9zaXRpb246IDEsXG4gICAgICAgIGl0ZW06IHsgJ0BpZCc6IHRoaXMuZ2V0QnJlYWRjcnVtYkl0ZW1VcmwoWycvJ10pLCBuYW1lOiBoZS5lbmNvZGUoJ1DDoWdpbmEgSW5pY2lhbCcpIH0sXG4gICAgICB9IGFzIEJyZWFkY3J1bWJKc29uSXRlbSxcbiAgICBdO1xuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcbiAgICAgIGNvbnN0IGpzb25JdGVtOiBCcmVhZGNydW1iSnNvbkl0ZW0gPSB7XG4gICAgICAgICdAdHlwZSc6ICdMaXN0SXRlbScsXG4gICAgICAgIHBvc2l0aW9uOiBpICsgMixcbiAgICAgICAgaXRlbTogeyAnQGlkJzogdGhpcy5nZXRCcmVhZGNydW1iSXRlbVVybChpdGVtPy51cmwgfHwgW10pLCBuYW1lOiBoZS5lbmNvZGUoaXRlbS5sYWJlbCkgfSxcbiAgICAgIH07XG4gICAgICBqc29uSXRlbXMucHVzaChqc29uSXRlbSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGpzb25JdGVtcztcbiAgfVxuXG4gIC8qKlxuICAgKiBNb250YSBhIHVybCBkbyBpdGVtIGRlIGJyZWFkY3J1bWIgcHJvdmVuaWVudGUgZG8gYXJyYXkgZGUgdXJsc1xuICAgKiBvdSBkbyBjYW1pbmhvIGRhIHByw7NwcmlhIHDDoWdpbmEsIGNvbmZvcm1lIGNhc28gZG8gw7psdGltbyBpdGVtLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRCcmVhZGNydW1iSXRlbVVybCh1cmw6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICBjb25zdCBzaXRldXJsID0gZ2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCk7XG4gICAgaWYgKCF1cmwgfHwgdXJsLmxlbmd0aCA8PSAwKSB7XG4gICAgICBjb25zdCBwYWdlUGF0aCA9IHRoaXMubG9jYXRpb24ucGF0aCgpO1xuICAgICAgcmV0dXJuIGAke3NpdGV1cmx9JHtwYWdlUGF0aH1gO1xuICAgIH1cbiAgICB1cmwgPSB1cmwuZmlsdGVyKCh1KSA9PiB1ICE9PSB0aGlzLnVuaWRhZGVQYXRoKTtcbiAgICBjb25zdCB1bmlkYWRlUGF0aCA9IHRoaXMuZ2V0VW5pZGFkZVBhdGgoKTtcbiAgICBjb25zdCBmdWxsUGF0aCA9IGAke3VuaWRhZGVQYXRofS8ke3VybC5qb2luKCcvJykucmVwbGFjZSgvXlxcLz8vLCAnJyl9YDtcbiAgICByZXR1cm4gYCR7c2l0ZXVybH0ke2Z1bGxQYXRofWAucmVwbGFjZSgvXFwvJC8sICcnKTtcbiAgfVxuXG4gIC8qKiBDcmlhIHRhZyBzY3JpcHQgcGFyYSBvIEpTT04gZGUgU0VPICovXG4gIHByaXZhdGUgY3JlYXRlSlNPTlRhZygpOiBIVE1MU2NyaXB0RWxlbWVudCB7XG4gICAgY29uc3QgdGFnOiBIVE1MU2NyaXB0RWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgdGFnLmlkID0gdGhpcy5qc29uVGFnSWQ7XG4gICAgdGFnLnR5cGUgPSAnYXBwbGljYXRpb24vbGQranNvbic7XG4gICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRhZyk7XG4gICAgdGhpcy5qc29uVGFnID0gdGFnO1xuICAgIHJldHVybiB0YWc7XG4gIH1cblxuICAvKiogUmV0b3JuYSB0YWcgcGFyYSBzY3JpcHQganNvbiBkZSBicmVhZGNydW1icyBvdSBjcmlhIHNlIG7Do28gaG91dmVyLiAqL1xuICBwcml2YXRlIGdldEpTT05UYWcoKTogSFRNTFNjcmlwdEVsZW1lbnQge1xuICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5kb2N1bWVudC5oZWFkLmNoaWxkcmVuO1xuICAgIGxldCBpOiBudW1iZXI7XG4gICAgZm9yIChpID0gMDsgaSA8IGVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBlbGVtID0gZWxlbWVudHNbaV0gYXMgSFRNTFNjcmlwdEVsZW1lbnQ7XG4gICAgICBpZiAoZWxlbSAmJiBlbGVtLmlkID09PSB0aGlzLmpzb25UYWdJZCkge1xuICAgICAgICByZXR1cm4gZWxlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlSlNPTlRhZygpO1xuICB9XG5cbiAgLyoqIERlZmluZSBKU09OIHBhcmEgU0VPIHNvbWVudGUgcXVhbmRvIG5vIHNlcnZpZG9yICovXG4gIHB1YmxpYyBzZXRQYWdlSnNvbigpIHtcbiAgICB0aGlzLmpzb25UYWcgPSB0aGlzLmdldEpTT05UYWcoKTtcbiAgICBjb25zdCBncmFwaCA9IFt0aGlzLmdldE9yZ0pzb24oKSwgdGhpcy5nZXRXZWJzaXRlSnNvbigpLCB0aGlzLmdldFdlYnBhZ2VKc29uKCldO1xuICAgIGNvbnN0IGpzb24gPSB7ICdAY29udGV4dCc6ICdodHRwOi8vc2NoZW1hLm9yZycsICdAZ3JhcGgnOiBncmFwaCB9O1xuICAgIHRoaXMuanNvblRhZy5pbm5lckhUTUwgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBPYnRlbSBKU09OIGRhIE9yZ2FuaXphw6fDo28gKi9cbiAgcHJpdmF0ZSBnZXRPcmdKc29uKCkge1xuICAgIGNvbnN0IHNpdGV1cmwgPSBnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KTtcbiAgICByZXR1cm4ge1xuICAgICAgJ0B0eXBlJzogJ09yZ2FuaXphdGlvbicsXG4gICAgICAnQGlkJzogYCR7c2l0ZXVybH0jb3JnYW5pemF0aW9uYCxcbiAgICAgIG5hbWU6IHRoaXMuZGVmYXVsdFRpdGxlLFxuICAgICAga2V5d29yZHM6IHRoaXMubGliQ29uZmlnPy5rZXl3b3JkcyxcbiAgICAgIHVybDogYCR7c2l0ZXVybH1gLFxuICAgICAgc2FtZUFzOiB0aGlzLnNhbWVBcyxcbiAgICB9O1xuICB9XG5cbiAgLyoqIE9idGVtIEpTT04gZG8gV2Vic2l0ZSAocG9ydGFsLCB1bmlkYWRlcywgZXRjKSAqL1xuICBwcml2YXRlIGdldFdlYnNpdGVKc29uKCkge1xuICAgIGNvbnN0IHVuaWRhZGVQYXRoID0gdGhpcy5nZXRVbmlkYWRlUGF0aCgpO1xuICAgIGNvbnN0IHNpdGV1cmwgPSBnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KTtcbiAgICByZXR1cm4ge1xuICAgICAgJ0B0eXBlJzogJ1dlYlNpdGUnLFxuICAgICAgJ0BpZCc6IGAke3NpdGV1cmx9JHt1bmlkYWRlUGF0aH0jd2Vic2l0ZWAsXG4gICAgICB1cmw6IGAke3NpdGV1cmx9JHt1bmlkYWRlUGF0aH1gLFxuICAgICAgbmFtZTogdGhpcy51bmlkYWRlTmFtZSxcbiAgICAgIGtleXdvcmRzOiB0aGlzLmxpYkNvbmZpZz8ua2V5d29yZHMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBPYnRlbSBKc29uIGRhIHDDoWdpbmEgKi9cbiAgcHJpdmF0ZSBnZXRXZWJwYWdlSnNvbigpIHtcbiAgICBjb25zdCB1bmlkYWRlUGF0aCA9IHRoaXMuZ2V0VW5pZGFkZVBhdGgoKTtcbiAgICBjb25zdCBzaXRlVVJMID0gZ2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCk7XG4gICAgY29uc3QgcGFnZVBhdGggPSBgJHtzaXRlVVJMfSR7dGhpcy5sb2NhdGlvbi5wYXRoKCl9YDtcbiAgICBjb25zdCBkZXNjID0gdGhpcy5hY3RpdmVEZXNjcmlwdGlvbiA/IHRoaXMuYWN0aXZlRGVzY3JpcHRpb24gOiAnJztcbiAgICByZXR1cm4ge1xuICAgICAgJ0B0eXBlJzogJ1dlYlBhZ2UnLFxuICAgICAgJ0BpZCc6IGAke3BhZ2VQYXRofSN3ZWJwYWdlYCxcbiAgICAgIHVybDogcGFnZVBhdGgsXG4gICAgICBpbkxhbmd1YWdlOiAncHQtQlInLFxuICAgICAgbmFtZTogdGhpcy5nZXRUaXRsZSgpLFxuICAgICAgaXNQYXJ0T2Y6IHsgJ0BpZCc6IGAke3NpdGVVUkx9JHt1bmlkYWRlUGF0aH0jd2Vic2l0ZWAgfSxcbiAgICAgIGFib3V0OiB7ICdAaWQnOiBgJHtzaXRlVVJMfSNvcmdhbml6YXRpb25gIH0sXG4gICAgICBkZXNjcmlwdGlvbjogZGVzYyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRVbmlkYWRlUGF0aCgpIHtcbiAgICBsZXQgdW5pZGFkZVBhdGggPSAnJztcbiAgICBpZiAodGhpcy51bmlkYWRlICYmIHRoaXMudW5pZGFkZVBhdGgpIHtcbiAgICAgIHVuaWRhZGVQYXRoID0gdGhpcy51bmlkYWRlPy5wYXRoID09PSAnLycgPyAnJyA6IHRoaXMudW5pZGFkZVBhdGg/LnN1YnN0cmluZygwLCB0aGlzLnVuaWRhZGVQYXRoPy5sZW5ndGggLSAxKTtcbiAgICB9XG4gICAgcmV0dXJuIHVuaWRhZGVQYXRoO1xuICB9XG5cbiAgLyoqXG4gICAqIE9idMOpbSBhIFVSTCBjYW7DtG5pY2EgZGEgcMOhZ2luYS5cbiAgICogQHJldHVybnMgQSBVUkwgY2Fuw7RuaWNhIGRhIHDDoWdpbmEuXG4gICAqL1xuICBwdWJsaWMgZ2V0Q2Fub25pY2FsSHJlZigpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5jYW5vbmljYWxUYWcpIHtcbiAgICAgIHRoaXMuY2Fub25pY2FsVGFnID0gdGhpcy5nZXRDYW5vbmljYWxUYWcoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY2Fub25pY2FsVGFnLmhyZWY7XG4gIH1cblxuICAvKiogQ3JpYSB0YWcgcGFyYSBsaW5rcyBjYW5vbmljYWxzIG5vIGhlYWQgKi9cbiAgcHJpdmF0ZSBjcmVhdGVDYW5vbmljYWxUYWcoKTogSFRNTExpbmtFbGVtZW50IHtcbiAgICBjb25zdCB0YWcgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICB0YWcuc2V0QXR0cmlidXRlKCdyZWwnLCAnY2Fub25pY2FsJyk7XG4gICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRhZyk7XG4gICAgdGFnLnNldEF0dHJpYnV0ZSgnaHJlZicsIHRoaXMuZG9jdW1lbnQuVVJMKTtcbiAgICB0aGlzLmNhbm9uaWNhbFRhZyA9IHRhZztcbiAgICByZXR1cm4gdGFnO1xuICB9XG5cbiAgLyoqIFJldG9ybmEgdGFnIHBhcmEgbGluayBjYW5vbmljYWwgZXhpc3RlIG91IGNyaWEgc2UgbsOjbyBob3V2ZXIuICovXG4gIHByaXZhdGUgZ2V0Q2Fub25pY2FsVGFnKCk6IEhUTUxMaW5rRWxlbWVudCB7XG4gICAgY29uc3QgZWxlbWVudHMgPSB0aGlzLmRvY3VtZW50LmhlYWQuY2hpbGRyZW47XG4gICAgbGV0IGk6IG51bWJlcjtcbiAgICBmb3IgKGkgPSAwOyBpIDwgZWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGVsZW0gPSBlbGVtZW50c1tpXSBhcyBIVE1MTGlua0VsZW1lbnQ7XG4gICAgICBpZiAoZWxlbSAmJiBlbGVtLnRhZ05hbWUgPT09ICdMSU5LJyAmJiBlbGVtLnJlbCA9PT0gJ2Nhbm9uaWNhbCcpIHtcbiAgICAgICAgcmV0dXJuIGVsZW07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNyZWF0ZUNhbm9uaWNhbFRhZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBsaW5rIGNhbm9uaWNhbCBkYSBww6FnaW5hXG4gICAqIEBwYXJhbSB1cmwgdXJsIGNhbm9uaWNhbFxuICAgKi9cbiAgcHVibGljIHNldENhbm9uaWNhbEhyZWYodXJsPzogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLmNhbm9uaWNhbFRhZykge1xuICAgICAgdGhpcy5jYW5vbmljYWxUYWcgPSB0aGlzLmdldENhbm9uaWNhbFRhZygpO1xuICAgIH1cblxuICAgIGxldCBwYXRoID0gdGhpcy5kb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZTtcbiAgICBpZiAoIXBhdGguc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICBwYXRoID0gYC8ke3BhdGh9YDtcbiAgICB9XG5cbiAgICBjb25zdCBjYW5vbmljYWxVcmwgPSB1cmwgJiYgdGhpcy5pc0N1c3RvbUNhbm9uaWNhbCh1cmwpID8gdXJsIDogYCR7Z2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCl9JHtwYXRofWA7XG5cbiAgICB0aGlzLmNhbm9uaWNhbFRhZy5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCBjYW5vbmljYWxVcmwpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWNhIHNlIGEgVVJMIGZvcm5lY2lkYSDDqSB1bSBsaW5rIGNhbm9uaWNhbCBwZXJzb25hbGl6YWRvXG4gICAqIEBwYXJhbSB1cmwgVVJMIGZvcm5lY2lkYVxuICAgKi9cbiAgcHVibGljIGlzQ3VzdG9tQ2Fub25pY2FsKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2l0ZXVybCA9IGdldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpO1xuICAgIHJldHVybiB1cmwuc3RhcnRzV2l0aChzaXRldXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnTDqW0gdW1hIHVybCB2w6FsaWRhIG5hIGFwbGljYcOnw6NvIHByb3ZlbmllbnRlIGRlIHVtYSBVUkwgZ2VyYWRhXG4gICAqIHBlbG8gcGx1Z2luIFlvYXN0IHBhcmEgY2Fub25pY2FsIGF1dG9tw6F0aWNvLlxuICAgKiBFeC46IGh0dHBzOi8vd3AucmVkZWRvcnNhb2x1aXouY29tLmJyL2JyYXNpbC9lc3BlY2lhbGlkYWRlcy9jYXJkaW9sb2dpYS9cbiAgICogQHBhcmFtIHVybEZyb21XcEFwaSBVUkwgY2Fub25pY2EgZ2VyYWRhIHBlbG8gWW9hc3QgUGx1Z2luLlxuICAgKi9cbiAgdG9Mb2NhbENhbm9uaWNhbCh1cmxGcm9tV3BBcGk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgYXBpVXJsID0gdGhpcy5saWJDb25maWc/LndwVXJsID8/ICcnO1xuICAgIGNvbnN0IHNpdGV1cmwgPSBnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KTtcbiAgICBjb25zdCB1bmlkYWRlU2x1ZyA9IHRoaXMudW5pZGFkZVNsdWc7XG4gICAgbGV0IGNvbnZlcnRlZCA9IHVybEZyb21XcEFwaS5yZXBsYWNlKGFwaVVybCwgc2l0ZXVybCk7XG4gICAgaWYgKHVuaWRhZGVTbHVnICE9PSAnLycgJiYgY29udmVydGVkLmluY2x1ZGVzKGAvJHt1bmlkYWRlU2x1Z30vYCkpIHtcbiAgICAgIGNvbnZlcnRlZCA9IGNvbnZlcnRlZC5yZXBsYWNlKGAvJHt1bmlkYWRlU2x1Z30vYCwgYCR7dGhpcy51bmlkYWRlUGF0aH1gKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnZlcnRlZDtcbiAgfVxuXG4gIGdldFBvc3RDb250ZW50KHBvc3Q6IFdwUG9zdCk6IHN0cmluZyB7XG4gICAgY29uc3QgY29udGVudCA9IHBvc3QuYWNmWydyZHNsX3Bvc3RfY29udGVudCddID8gcG9zdC5hY2YucmRzbF9wb3N0X2NvbnRlbnQuZmluZCgoY29udGVudDogYW55KSA9PiBjb250ZW50LmFjZl9mY19sYXlvdXQgPT09ICd0ZXh0X2h0bWwnKSA6IG51bGw7XG4gICAgcmV0dXJuIGNvbnRlbnQ/LmNvbnRlbnQgfHwgcG9zdC5jb250ZW50LnJlbmRlcmVkIHx8ICcnO1xuICB9XG5cbiAgYWRkQXJ0aWNsZVNjcmlwdChwb3N0OiBXcFBvc3QsIHNjcmlwdE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHBvc3RDb250ZW50ID0gdGhpcy5nZXRQb3N0Q29udGVudChwb3N0KTtcbiAgICBjb25zdCBwb3N0SGVhZGVySW1hZ2UgPSBwb3N0LmFjZlsncmRzbF9wb3N0X2hlYWRlcl9pbWcnXVxuICAgICAgPyB7XG4gICAgICAgICAgdXJsOiBwb3N0LmFjZlsncmRzbF9wb3N0X2hlYWRlcl9pbWcnXS51cmwsXG4gICAgICAgICAgd2lkdGg6IHBvc3QuYWNmWydyZHNsX3Bvc3RfaGVhZGVyX2ltZyddLndpZHRoLFxuICAgICAgICAgIGhlaWdodDogcG9zdC5hY2ZbJ3Jkc2xfcG9zdF9oZWFkZXJfaW1nJ10uaGVpZ2h0LFxuICAgICAgICB9XG4gICAgICA6IG51bGw7XG5cbiAgICBjb25zdCBzdHJ1Y3R1cmVkRGF0YSA9IHtcbiAgICAgICdAY29udGV4dCc6ICdodHRwczovL3NjaGVtYS5vcmcnLFxuICAgICAgJ0B0eXBlJzogJ0FydGljbGUnLFxuICAgICAgbWFpbkVudGl0eU9mUGFnZTogYCR7Z2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCl9JHt0aGlzLmxvY2F0aW9uLnBhdGgoKX1gLFxuICAgICAgaGVhZGxpbmU6IHBvc3QudGl0bGU/LnJlbmRlcmVkLFxuICAgICAgZGF0ZVB1Ymxpc2hlZDogcG9zdC5kYXRlX2dtdCxcbiAgICAgIHB1Ymxpc2hlcjoge1xuICAgICAgICAnQHR5cGUnOiAnT3JnYW5pemF0aW9uJyxcbiAgICAgICAgbmFtZTogJ1JlZGUgROKAmU9yJyxcbiAgICAgIH0sXG4gICAgICBkZXNjcmlwdGlvbjogcG9zdC50aXRsZT8ucmVuZGVyZWQsXG4gICAgICBhcnRpY2xlQm9keTogcmVtb3ZlSHRtbFRhZ3MoaGUuZGVjb2RlKHBvc3RDb250ZW50KSksXG4gICAgICBkYXRlTW9kaWZpZWQ6IHBvc3QubW9kaWZpZWRfZ210LFxuICAgICAgaW1hZ2U6IHtcbiAgICAgICAgJ0B0eXBlJzogJ0ltYWdlT2JqZWN0JyxcbiAgICAgICAgdXJsOiBwb3N0SGVhZGVySW1hZ2U/LnVybCB8fCBwb3N0LmZlYXR1cmVkX21lZGlhX3BhdGggfHwgJycsXG4gICAgICAgIGhlaWdodDogcG9zdEhlYWRlckltYWdlPy5oZWlnaHQgfHwgJycsXG4gICAgICAgIHdpZHRoOiBwb3N0SGVhZGVySW1hZ2U/LndpZHRoIHx8ICcnLFxuICAgICAgfSxcbiAgICAgIGF1dGhvcjoge1xuICAgICAgICAnQHR5cGUnOiAnT3JnYW5pemF0aW9uJyxcbiAgICAgICAgbmFtZTogJ1JlZGUgROKAmU9yJyxcbiAgICAgIH0sXG4gICAgICB3b3JkY291bnQ6IHBvc3RDb250ZW50LnNwbGl0KCcgJykubGVuZ3RoLFxuICAgIH07XG5cbiAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuXG4gICAgc2NyaXB0LnR5cGUgPSAnYXBwbGljYXRpb24vbGQranNvbic7XG4gICAgc2NyaXB0LmlkID0gc2NyaXB0TmFtZTtcbiAgICBzY3JpcHQuaW5uZXJIVE1MID0gSlNPTi5zdHJpbmdpZnkoc3RydWN0dXJlZERhdGEpO1xuXG4gICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gIH1cblxuICByZW1vdmVBcnRpY2xlU2NyaXB0KHNjcmlwdE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHNjcmlwdCA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2NyaXB0TmFtZSk7XG4gICAgc2NyaXB0Py5yZW1vdmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRVbmlkYWRlKHsgdW5pZGFkZSA9IG51bGwsIHVuaWRhZGVOYW1lID0gJycsIHVuaWRhZGVQYXRoID0gJycsIHVuaWRhZGVTbHVnID0gJycgfTogU2VvVW5pZGFkZSkge1xuICAgIHRoaXMudW5pZGFkZSA9IHVuaWRhZGU7XG4gICAgdGhpcy51bmlkYWRlTmFtZSA9IHVuaWRhZGVOYW1lO1xuICAgIHRoaXMudW5pZGFkZVBhdGggPSB1bmlkYWRlUGF0aDtcbiAgICB0aGlzLnVuaWRhZGVTbHVnID0gdW5pZGFkZVNsdWc7XG4gIH1cbn1cbiJdfQ==
|