@valtimo/object-management 10.3.0 → 10.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/object-management-detail-container/object-management-detail-container.component.mjs +7 -6
- package/esm2020/lib/components/object-management-detail-container/tabs/object-management-detail/object-management-detail.component.mjs +13 -7
- package/esm2020/lib/components/object-management-detail-container/tabs/object-management-list-columns/object-management-list-columns.component.mjs +434 -0
- package/esm2020/lib/components/object-management-detail-container/tabs/object-management-list-search-fields/object-management-list-search-fields.component.mjs +324 -0
- package/esm2020/lib/components/object-management-list/object-management-list.component.mjs +4 -4
- package/esm2020/lib/components/object-management-modal/object-management-modal.component.mjs +7 -6
- package/esm2020/lib/components/object-management-upload-modal/object-management-upload-modal.component.mjs +5 -4
- package/esm2020/lib/models/object-management.model.mjs +16 -1
- package/esm2020/lib/object-management-routing.module.mjs +2 -2
- package/esm2020/lib/object-management.module.mjs +63 -13
- package/esm2020/lib/services/object-management-state.service.mjs +2 -2
- package/esm2020/lib/services/object-management.service.mjs +29 -2
- package/esm2020/lib/services/tab.enum.mjs +17 -1
- package/esm2020/lib/services/tab.service.mjs +2 -2
- package/esm2020/public-api.mjs +2 -2
- package/fesm2015/valtimo-object-management.mjs +823 -59
- package/fesm2015/valtimo-object-management.mjs.map +1 -1
- package/fesm2020/valtimo-object-management.mjs +877 -59
- package/fesm2020/valtimo-object-management.mjs.map +1 -1
- package/lib/components/object-management-detail-container/tabs/object-management-detail/object-management-detail.component.d.ts +2 -1
- package/lib/components/object-management-detail-container/tabs/object-management-list-columns/object-management-list-columns.component.d.ts +91 -0
- package/lib/components/object-management-detail-container/tabs/object-management-list-search-fields/object-management-list-search-fields.component.d.ts +76 -0
- package/lib/models/object-management.model.d.ts +42 -0
- package/lib/object-management.module.d.ts +10 -7
- package/lib/services/object-management.service.d.ts +10 -2
- package/lib/services/tab.enum.d.ts +2 -1
- package/package.json +1 -1
- package/esm2020/lib/components/object-management-detail-container/tabs/object-management-list-tab/object-management-list-tab.component.mjs +0 -30
- package/lib/components/object-management-detail-container/tabs/object-management-list-tab/object-management-list-tab.component.d.ts +0 -9
package/esm2020/lib/components/object-management-modal/object-management-modal.component.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2015-
|
|
2
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -37,7 +37,7 @@ export class ObjectManagementModalComponent {
|
|
|
37
37
|
this.formData$ = new BehaviorSubject(null);
|
|
38
38
|
this.selectedObjecttype$ = new BehaviorSubject(null);
|
|
39
39
|
this.formDefinitions$ = this.formManagementService.queryFormDefinitions().pipe(map(results => results?.body?.content.map(configuration => ({
|
|
40
|
-
id: configuration.
|
|
40
|
+
id: configuration.name,
|
|
41
41
|
text: configuration.name,
|
|
42
42
|
}))));
|
|
43
43
|
this.configurationInstances$ = this.pluginManagementService
|
|
@@ -123,21 +123,22 @@ export class ObjectManagementModalComponent {
|
|
|
123
123
|
this.valid$.next(!!(data.title &&
|
|
124
124
|
data.objectenApiPluginConfigurationId &&
|
|
125
125
|
data.objecttypenApiPluginConfigurationId &&
|
|
126
|
-
data.objecttypeId
|
|
126
|
+
data.objecttypeId &&
|
|
127
|
+
data.objecttypeVersion));
|
|
127
128
|
}
|
|
128
129
|
selectObjectType(objecttype) {
|
|
129
130
|
this.selectedObjecttype$.next(objecttype);
|
|
130
131
|
}
|
|
131
132
|
}
|
|
132
133
|
ObjectManagementModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectManagementModalComponent, deps: [{ token: i1.ObjectManagementStateService }, { token: i2.ObjectManagementService }, { token: i3.FormManagementService }, { token: i4.PluginManagementService }, { token: i5.ModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
133
|
-
ObjectManagementModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ObjectManagementModalComponent, selector: "valtimo-object-management-modal", inputs: { prefillObject$: "prefillObject$" }, viewQueries: [{ propertyName: "objectManagementModal", first: true, predicate: ["objectManagementModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-
|
|
134
|
+
ObjectManagementModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ObjectManagementModalComponent, selector: "valtimo-object-management-modal", inputs: { prefillObject$: "prefillObject$" }, viewQueries: [{ propertyName: "objectManagementModal", first: true, predicate: ["objectManagementModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-modal\n #objectManagementModal\n *ngIf=\"{\n disabled: disabled$ | async,\n valid: valid$ | async,\n modalType: modalType$ | async,\n prefillObject: prefillObject$ | async\n } as obs\"\n>\n <div role=\"header\">\n <div class=\"add-title\">\n <v-title [margin]=\"false\">{{\n (obs.modalType === 'add'\n ? 'objectManagement.createObjecttype'\n : 'objectManagement.editObjecttype'\n ) | translate\n }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container\n *ngTemplateOutlet=\"\n form;\n context: {prefillObject: obs.prefillObject, modalType: obs.modalType}\n \"\n ></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'objectManagement.cancel' | translate }}\n </v-button>\n <v-button\n (clickEvent)=\"save()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{\n (obs.modalType === 'add' ? 'objectManagement.add' : 'objectManagement.edit') | translate\n }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #form let-prefillObject=\"prefillObject\" let-modalType=\"modalType\">\n <ng-container *ngIf=\"showForm$ | async\">\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n *ngIf=\"modalType === 'edit'\"\n hidden\n [disabled]=\"true\"\n [defaultValue]=\"prefillObject?.id\"\n name=\"id\"\n ></v-input>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.title' | translate\"\n [tooltip]=\"'objectManagement.tooltips.title' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.title\"\n name=\"title\"\n ></v-input>\n\n <ng-container\n *ngIf=\"{\n connectionInstances: configurationInstances$ | async,\n objectsApiConfigurations: objectsApiConfigurations$ | async,\n objecttypesApiConfigurations: objecttypesApiConfigurations$ | async\n } as objectObs\"\n >\n <v-select\n [items]=\"objectObs.objectsApiConfigurations\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objectenApiPluginConfigurationId\"\n [title]=\"'objectManagement.labels.objects' | translate\"\n [defaultSelectionId]=\"prefillObject?.objectenApiPluginConfigurationId\"\n [required]=\"true\"\n ></v-select>\n\n <v-select\n [items]=\"objectObs.objecttypesApiConfigurations\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypenApiPluginConfigurationId\"\n [title]=\"'objectManagement.labels.objecttypes' | translate\"\n [defaultSelectionId]=\"prefillObject?.objecttypenApiPluginConfigurationId\"\n [required]=\"true\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n </ng-container>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.objecttypeId' | translate\"\n [tooltip]=\"'objectManagement.tooltips.objecttypeId' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.objecttypeId\"\n name=\"objecttypeId\"\n ></v-input>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.objecttypeVersion' | translate\"\n [tooltip]=\"'objectManagement.tooltips.objecttypeVersion' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.objecttypeVersion\"\n [min]=\"1\"\n type=\"number\"\n name=\"objecttypeVersion\"\n ></v-input>\n\n <ng-container *ngIf=\"{formDefinitions: formDefinitions$ | async} as formObs\">\n <v-select\n [items]=\"formObs.formDefinitions\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"formDefinitionView\"\n [title]=\"'objectManagement.labels.formDefinitionView' | translate\"\n [tooltip]=\"'objectManagement.tooltips.formDefinitionView' | translate\"\n [defaultSelectionId]=\"prefillObject?.formDefinitionView\"\n ></v-select>\n\n <v-select\n [items]=\"formObs.formDefinitions\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"formDefinitionEdit\"\n [title]=\"'objectManagement.labels.formDefinitionEdit' | translate\"\n [tooltip]=\"'objectManagement.tooltips.formDefinitionEdit' | translate\"\n [defaultSelectionId]=\"prefillObject?.formDefinitionEdit\"\n ></v-select>\n </ng-container>\n\n <v-input\n [margin]=\"true\"\n type=\"checkbox\"\n [title]=\"'objectManagement.labels.showInDataMenu' | translate\"\n [tooltip]=\"'objectManagement.tooltips.showInDataMenu' | translate\"\n name=\"showInDataMenu\"\n [defaultValue]=\"prefillObject?.showInDataMenu\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.ModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i5.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "component", type: i5.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i5.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i5.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$"], outputs: ["valueChange"] }, { kind: "component", type: i5.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "clearable", "disabled", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin"], outputs: ["selectedChange", "clear"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
|
134
135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectManagementModalComponent, decorators: [{
|
|
135
136
|
type: Component,
|
|
136
|
-
args: [{ selector: 'valtimo-object-management-modal', template: "<!--\n ~ Copyright 2015-
|
|
137
|
+
args: [{ selector: 'valtimo-object-management-modal', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-modal\n #objectManagementModal\n *ngIf=\"{\n disabled: disabled$ | async,\n valid: valid$ | async,\n modalType: modalType$ | async,\n prefillObject: prefillObject$ | async\n } as obs\"\n>\n <div role=\"header\">\n <div class=\"add-title\">\n <v-title [margin]=\"false\">{{\n (obs.modalType === 'add'\n ? 'objectManagement.createObjecttype'\n : 'objectManagement.editObjecttype'\n ) | translate\n }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container\n *ngTemplateOutlet=\"\n form;\n context: {prefillObject: obs.prefillObject, modalType: obs.modalType}\n \"\n ></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'objectManagement.cancel' | translate }}\n </v-button>\n <v-button\n (clickEvent)=\"save()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{\n (obs.modalType === 'add' ? 'objectManagement.add' : 'objectManagement.edit') | translate\n }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #form let-prefillObject=\"prefillObject\" let-modalType=\"modalType\">\n <ng-container *ngIf=\"showForm$ | async\">\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n *ngIf=\"modalType === 'edit'\"\n hidden\n [disabled]=\"true\"\n [defaultValue]=\"prefillObject?.id\"\n name=\"id\"\n ></v-input>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.title' | translate\"\n [tooltip]=\"'objectManagement.tooltips.title' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.title\"\n name=\"title\"\n ></v-input>\n\n <ng-container\n *ngIf=\"{\n connectionInstances: configurationInstances$ | async,\n objectsApiConfigurations: objectsApiConfigurations$ | async,\n objecttypesApiConfigurations: objecttypesApiConfigurations$ | async\n } as objectObs\"\n >\n <v-select\n [items]=\"objectObs.objectsApiConfigurations\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objectenApiPluginConfigurationId\"\n [title]=\"'objectManagement.labels.objects' | translate\"\n [defaultSelectionId]=\"prefillObject?.objectenApiPluginConfigurationId\"\n [required]=\"true\"\n ></v-select>\n\n <v-select\n [items]=\"objectObs.objecttypesApiConfigurations\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypenApiPluginConfigurationId\"\n [title]=\"'objectManagement.labels.objecttypes' | translate\"\n [defaultSelectionId]=\"prefillObject?.objecttypenApiPluginConfigurationId\"\n [required]=\"true\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n </ng-container>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.objecttypeId' | translate\"\n [tooltip]=\"'objectManagement.tooltips.objecttypeId' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.objecttypeId\"\n name=\"objecttypeId\"\n ></v-input>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.objecttypeVersion' | translate\"\n [tooltip]=\"'objectManagement.tooltips.objecttypeVersion' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.objecttypeVersion\"\n [min]=\"1\"\n type=\"number\"\n name=\"objecttypeVersion\"\n ></v-input>\n\n <ng-container *ngIf=\"{formDefinitions: formDefinitions$ | async} as formObs\">\n <v-select\n [items]=\"formObs.formDefinitions\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"formDefinitionView\"\n [title]=\"'objectManagement.labels.formDefinitionView' | translate\"\n [tooltip]=\"'objectManagement.tooltips.formDefinitionView' | translate\"\n [defaultSelectionId]=\"prefillObject?.formDefinitionView\"\n ></v-select>\n\n <v-select\n [items]=\"formObs.formDefinitions\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"formDefinitionEdit\"\n [title]=\"'objectManagement.labels.formDefinitionEdit' | translate\"\n [tooltip]=\"'objectManagement.tooltips.formDefinitionEdit' | translate\"\n [defaultSelectionId]=\"prefillObject?.formDefinitionEdit\"\n ></v-select>\n </ng-container>\n\n <v-input\n [margin]=\"true\"\n type=\"checkbox\"\n [title]=\"'objectManagement.labels.showInDataMenu' | translate\"\n [tooltip]=\"'objectManagement.tooltips.showInDataMenu' | translate\"\n name=\"showInDataMenu\"\n [defaultValue]=\"prefillObject?.showInDataMenu\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between}\n"] }]
|
|
137
138
|
}], ctorParameters: function () { return [{ type: i1.ObjectManagementStateService }, { type: i2.ObjectManagementService }, { type: i3.FormManagementService }, { type: i4.PluginManagementService }, { type: i5.ModalService }]; }, propDecorators: { objectManagementModal: [{
|
|
138
139
|
type: ViewChild,
|
|
139
140
|
args: ['objectManagementModal']
|
|
140
141
|
}], prefillObject$: [{
|
|
141
142
|
type: Input
|
|
142
143
|
}] } });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3QtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3QtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBRUwsU0FBUyxFQUVULEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUEyQixNQUFNLE1BQU0sQ0FBQztBQUNuRixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVlwQyxNQUFNLE9BQU8sOEJBQThCO0lBdUR6QyxZQUNtQixxQkFBbUQsRUFDbkQsdUJBQWdELEVBQ2hELHFCQUE0QyxFQUM1Qyx1QkFBZ0QsRUFDaEQsWUFBMEI7UUFKMUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUE4QjtRQUNuRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXZEcEMsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzdDLGNBQVMsR0FBd0IsSUFB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ekIsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01vZGFsQ29tcG9uZW50IGFzIHZNb2RhbENvbXBvbmVudCwgTW9kYWxTZXJ2aWNlfSBmcm9tICdAdmFsdGltby91c2VyLWludGVyZmFjZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge09iamVjdE1hbmFnZW1lbnRTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29iamVjdC1tYW5hZ2VtZW50LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtGb3JtTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2Zvcm0tbWFuYWdlbWVudCc7XG5pbXBvcnQge1BsdWdpbkNvbmZpZ3VyYXRpb24sIFBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9wbHVnaW4nO1xuaW1wb3J0IHtPYmplY3RNYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2JqZWN0LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQge09iamVjdHR5cGV9IGZyb20gJy4uLy4uL21vZGVscy9vYmplY3QtbWFuYWdlbWVudC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vYmplY3QtbWFuYWdlbWVudC1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBPYmplY3RNYW5hZ2VtZW50TW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdvYmplY3RNYW5hZ2VtZW50TW9kYWwnKSBvYmplY3RNYW5hZ2VtZW50TW9kYWw6IHZNb2RhbENvbXBvbmVudDtcbiAgQElucHV0KCkgcHJlZmlsbE9iamVjdCQhOiBPYnNlcnZhYmxlPE9iamVjdHR5cGU+O1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkJCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHJlYWRvbmx5IHZhbGlkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBzaG93Rm9ybSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLm1vZGFsU2VydmljZS5tb2RhbFZpc2libGUkO1xuICByZWFkb25seSBtb2RhbFR5cGUkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5tb2RhbFR5cGUkO1xuICByZWFkb25seSBmb3JtRGF0YSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG5cbiAgc2hvd1N1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgaGlkZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICByZWFkb25seSBzZWxlY3RlZE9iamVjdHR5cGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSBmb3JtRGVmaW5pdGlvbnMkOiBPYnNlcnZhYmxlPEFycmF5PHtpZDogc3RyaW5nOyB0ZXh0OiBzdHJpbmd9Pj4gPVxuICAgIHRoaXMuZm9ybU1hbmFnZW1lbnRTZXJ2aWNlLnF1ZXJ5Rm9ybURlZmluaXRpb25zKCkucGlwZShcbiAgICAgIG1hcChyZXN1bHRzID0+XG4gICAgICAgIHJlc3VsdHM/LmJvZHk/LmNvbnRlbnQubWFwKGNvbmZpZ3VyYXRpb24gPT4gKHtcbiAgICAgICAgICBpZDogY29uZmlndXJhdGlvbi5pZCxcbiAgICAgICAgICB0ZXh0OiBjb25maWd1cmF0aW9uLm5hbWUsXG4gICAgICAgIH0pKVxuICAgICAgKVxuICAgICk7XG5cbiAgcmVhZG9ubHkgY29uZmlndXJhdGlvbkluc3RhbmNlcyQ6IE9ic2VydmFibGU8QXJyYXk8UGx1Z2luQ29uZmlndXJhdGlvbj4+ID1cbiAgICB0aGlzLnBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlXG4gICAgICAuZ2V0QWxsUGx1Z2luQ29uZmlndXJhdGlvbnMoKVxuICAgICAgLnBpcGUobWFwKGNvbmZpZ3VyYXRpb25zID0+IGNvbmZpZ3VyYXRpb25zKSk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0c0FwaUNvbmZpZ3VyYXRpb25zJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5jb25maWd1cmF0aW9uSW5zdGFuY2VzJC5waXBlKFxuICAgIG1hcChjb25maWd1cmF0aW9ucyA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJlZE9iamVjdHNBcGlDb25maWd1cmF0aW9ucyA9IGNvbmZpZ3VyYXRpb25zLmZpbHRlcihcbiAgICAgICAgY29uZmlndXJhdGlvbiA9PiBjb25maWd1cmF0aW9uPy5wbHVnaW5EZWZpbml0aW9uPy5rZXkgPT09ICdvYmplY3RlbmFwaSdcbiAgICAgICk7XG4gICAgICByZXR1cm4gZmlsdGVyZWRPYmplY3RzQXBpQ29uZmlndXJhdGlvbnMubWFwKGNvbmZpZ3VyYXRpb24gPT4gKHtcbiAgICAgICAgaWQ6IGNvbmZpZ3VyYXRpb24uaWQsXG4gICAgICAgIHRleHQ6IGNvbmZpZ3VyYXRpb24udGl0bGUsXG4gICAgICB9KSk7XG4gICAgfSlcbiAgKTtcblxuICByZWFkb25seSBvYmplY3R0eXBlc0FwaUNvbmZpZ3VyYXRpb25zJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5jb25maWd1cmF0aW9uSW5zdGFuY2VzJC5waXBlKFxuICAgIG1hcChjb25maWd1cmF0aW9ucyA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJlZE9iamVjdHR5cGVzQXBpQ29uZmlndXJhdGlvbnMgPSBjb25maWd1cmF0aW9ucy5maWx0ZXIoXG4gICAgICAgIGNvbmZpZ3VyYXRpb24gPT4gY29uZmlndXJhdGlvbj8ucGx1Z2luRGVmaW5pdGlvbj8ua2V5ID09PSAnb2JqZWN0dHlwZW5hcGknXG4gICAgICApO1xuICAgICAgcmV0dXJuIGZpbHRlcmVkT2JqZWN0dHlwZXNBcGlDb25maWd1cmF0aW9ucy5tYXAoY29uZmlndXJhdGlvbiA9PiAoe1xuICAgICAgICBpZDogY29uZmlndXJhdGlvbi5pZCxcbiAgICAgICAgdGV4dDogY29uZmlndXJhdGlvbi50aXRsZSxcbiAgICAgICAgcHJvcGVydGllczogY29uZmlndXJhdGlvbi5wcm9wZXJ0aWVzLFxuICAgICAgfSkpO1xuICAgIH0pXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYmplY3RNYW5hZ2VtZW50U3RhdGU6IE9iamVjdE1hbmFnZW1lbnRTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYmplY3RNYW5hZ2VtZW50U2VydmljZTogT2JqZWN0TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtTWFuYWdlbWVudFNlcnZpY2U6IEZvcm1NYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlOiBQbHVnaW5NYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuU2hvd1N1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlbkhpZGVTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmhpZGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybURhdGEkLm5leHQobnVsbCk7XG4gICAgdGhpcy52YWxpZCQubmV4dChmYWxzZSk7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2VNb2RhbCgpO1xuICB9XG5cbiAgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG5cbiAgc2F2ZSgpOiB2b2lkIHtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnZhbGlkJCwgdGhpcy5mb3JtRGF0YSQsIHRoaXMubW9kYWxUeXBlJF0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoW3ZhbGlkLCBmb3JtRGF0YSwgbW9kYWxUeXBlXSkgPT4ge1xuICAgICAgICBpZiAodmFsaWQpIHtcbiAgICAgICAgICBpZiAobW9kYWxUeXBlID09PSAnYWRkJykge1xuICAgICAgICAgICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U2VydmljZS5jcmVhdGVPYmplY3Qoey4uLmZvcm1EYXRhfSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUucmVmcmVzaCgpO1xuICAgICAgICAgICAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5oaWRlTW9kYWwoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAobW9kYWxUeXBlID09PSAnZWRpdCcpIHtcbiAgICAgICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFNlcnZpY2UuZWRpdE9iamVjdCh7Li4uZm9ybURhdGF9KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5yZWZyZXNoKCk7XG4gICAgICAgICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLmhpZGVNb2RhbCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblNob3dTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5zaG93U3Vic2NyaXB0aW9uID0gdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUuc2hvd01vZGFsJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zaG93KCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5IaWRlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuaGlkZVN1YnNjcmlwdGlvbiA9IHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLmhpZGVNb2RhbCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93KCk6IHZvaWQge1xuICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLm1vZGFsVHlwZSQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUobW9kYWxUeXBlID0+IHtcbiAgICAgIGlmIChtb2RhbFR5cGUgPT09ICdlZGl0JyB8fCBtb2RhbFR5cGUgPT09ICdhZGQnKSB7XG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW5Nb2RhbCh0aGlzLm9iamVjdE1hbmFnZW1lbnRNb2RhbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBmb3JtVmFsdWVDaGFuZ2UoZGF0YTogYW55KTogdm9pZCB7XG4gICAgaWYgKGRhdGEuc2hvd0luRGF0YU1lbnUgPT09ICcnKSB7XG4gICAgICBkYXRhLnNob3dJbkRhdGFNZW51ID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuZm9ybURhdGEkLm5leHQoZGF0YSk7XG4gICAgdGhpcy5zZXRWYWxpZChkYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VmFsaWQoZGF0YTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWxpZCQubmV4dChcbiAgICAgICEhKFxuICAgICAgICBkYXRhLnRpdGxlICYmXG4gICAgICAgIGRhdGEub2JqZWN0ZW5BcGlQbHVnaW5Db25maWd1cmF0aW9uSWQgJiZcbiAgICAgICAgZGF0YS5vYmplY3R0eXBlbkFwaVBsdWdpbkNvbmZpZ3VyYXRpb25JZCAmJlxuICAgICAgICBkYXRhLm9iamVjdHR5cGVJZFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBzZWxlY3RPYmplY3RUeXBlKG9iamVjdHR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkT2JqZWN0dHlwZSQubmV4dChvYmplY3R0eXBlKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48di1tb2RhbFxuICAjb2JqZWN0TWFuYWdlbWVudE1vZGFsXG4gICpuZ0lmPVwie1xuICAgIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luYyxcbiAgICB2YWxpZDogdmFsaWQkIHwgYXN5bmMsXG4gICAgbW9kYWxUeXBlOiBtb2RhbFR5cGUkIHwgYXN5bmMsXG4gICAgcHJlZmlsbE9iamVjdDogcHJlZmlsbE9iamVjdCQgfCBhc3luY1xuICB9IGFzIG9ic1wiXG4+XG4gIDxkaXYgcm9sZT1cImhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJhZGQtdGl0bGVcIj5cbiAgICAgIDx2LXRpdGxlIFttYXJnaW5dPVwiZmFsc2VcIj57e1xuICAgICAgICAob2JzLm1vZGFsVHlwZSA9PT0gJ2FkZCdcbiAgICAgICAgICA/ICdvYmplY3RNYW5hZ2VtZW50LmNyZWF0ZU9iamVjdHR5cGUnXG4gICAgICAgICAgOiAnb2JqZWN0TWFuYWdlbWVudC5lZGl0T2JqZWN0dHlwZSdcbiAgICAgICAgKSB8IHRyYW5zbGF0ZVxuICAgICAgfX08L3YtdGl0bGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IHJvbGU9XCJjb250ZW50XCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgZm9ybTtcbiAgICAgICAgY29udGV4dDoge3ByZWZpbGxPYmplY3Q6IG9icy5wcmVmaWxsT2JqZWN0LCBtb2RhbFR5cGU6IG9icy5tb2RhbFR5cGV9XG4gICAgICBcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgcm9sZT1cImZvb3RlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgICA8di1idXR0b24gKGNsaWNrRXZlbnQpPVwiY2FuY2VsKClcIiBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCIgdHlwZT1cInNlY29uZGFyeVwiPlxuICAgICAgICB7eyAnb2JqZWN0TWFuYWdlbWVudC5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3YtYnV0dG9uPlxuICAgICAgPHYtYnV0dG9uXG4gICAgICAgIChjbGlja0V2ZW50KT1cInNhdmUoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWQgfHwgIW9icy52YWxpZFwiXG4gICAgICAgIG1kaUljb249XCJwbHVzXCJcbiAgICAgICAgdHlwZT1cInN1Y2Nlc3NcIlxuICAgICAgPlxuICAgICAgICB7e1xuICAgICAgICAgIChvYnMubW9kYWxUeXBlID09PSAnYWRkJyA/ICdvYmplY3RNYW5hZ2VtZW50LmFkZCcgOiAnb2JqZWN0TWFuYWdlbWVudC5lZGl0JykgfCB0cmFuc2xhdGVcbiAgICAgICAgfX1cbiAgICAgIDwvdi1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC92LW1vZGFsPlxuXG48bmctdGVtcGxhdGUgI2Zvcm0gbGV0LXByZWZpbGxPYmplY3Q9XCJwcmVmaWxsT2JqZWN0XCIgbGV0LW1vZGFsVHlwZT1cIm1vZGFsVHlwZVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0Zvcm0kIHwgYXN5bmNcIj5cbiAgICA8di1mb3JtICh2YWx1ZUNoYW5nZSk9XCJmb3JtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgPHYtaW5wdXRcbiAgICAgICAgKm5nSWY9XCJtb2RhbFR5cGUgPT09ICdlZGl0J1wiXG4gICAgICAgIGhpZGRlblxuICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbE9iamVjdD8uaWRcIlxuICAgICAgICBuYW1lPVwiaWRcIlxuICAgICAgPjwvdi1pbnB1dD5cblxuICAgICAgPHYtaW5wdXRcbiAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIidvYmplY3RNYW5hZ2VtZW50LnRvb2x0aXBzLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt3aWR0aFB4XT1cIjM1MFwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbE9iamVjdD8udGl0bGVcIlxuICAgICAgICBuYW1lPVwidGl0bGVcIlxuICAgICAgPjwvdi1pbnB1dD5cblxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIntcbiAgICAgICAgICBjb25uZWN0aW9uSW5zdGFuY2VzOiBjb25maWd1cmF0aW9uSW5zdGFuY2VzJCB8IGFzeW5jLFxuICAgICAgICAgIG9iamVjdHNBcGlDb25maWd1cmF0aW9uczogb2JqZWN0c0FwaUNvbmZpZ3VyYXRpb25zJCB8IGFzeW5jLFxuICAgICAgICAgIG9iamVjdHR5cGVzQXBpQ29uZmlndXJhdGlvbnM6IG9iamVjdHR5cGVzQXBpQ29uZmlndXJhdGlvbnMkIHwgYXN5bmNcbiAgICAgICAgfSBhcyBvYmplY3RPYnNcIlxuICAgICAgPlxuICAgICAgICA8di1zZWxlY3RcbiAgICAgICAgICBbaXRlbXNdPVwib2JqZWN0T2JzLm9iamVjdHNBcGlDb25maWd1cmF0aW9uc1wiXG4gICAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgICBbd2lkdGhJblB4XT1cIjM1MFwiXG4gICAgICAgICAgbmFtZT1cIm9iamVjdGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLm9iamVjdHMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbZGVmYXVsdFNlbGVjdGlvbklkXT1cInByZWZpbGxPYmplY3Q/Lm9iamVjdGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgID48L3Ytc2VsZWN0PlxuXG4gICAgICAgIDx2LXNlbGVjdFxuICAgICAgICAgIFtpdGVtc109XCJvYmplY3RPYnMub2JqZWN0dHlwZXNBcGlDb25maWd1cmF0aW9uc1wiXG4gICAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgICBbd2lkdGhJblB4XT1cIjM1MFwiXG4gICAgICAgICAgbmFtZT1cIm9iamVjdHR5cGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLm9iamVjdHR5cGVzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJwcmVmaWxsT2JqZWN0Py5vYmplY3R0eXBlbkFwaVBsdWdpbkNvbmZpZ3VyYXRpb25JZFwiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJzZWxlY3RPYmplY3RUeXBlKCRldmVudClcIlxuICAgICAgICA+PC92LXNlbGVjdD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8di1pbnB1dFxuICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgIFt0aXRsZV09XCInb2JqZWN0TWFuYWdlbWVudC5sYWJlbHMub2JqZWN0dHlwZUlkJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIidvYmplY3RNYW5hZ2VtZW50LnRvb2x0aXBzLm9iamVjdHR5cGVJZCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbd2lkdGhQeF09XCIzNTBcIlxuICAgICAgICBbZGVmYXVsdFZhbHVlXT1cInByZWZpbGxPYmplY3Q/Lm9iamVjdHR5cGVJZFwiXG4gICAgICAgIG5hbWU9XCJvYmplY3R0eXBlSWRcIlxuICAgICAgPjwvdi1pbnB1dD5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIntmb3JtRGVmaW5pdGlvbnM6IGZvcm1EZWZpbml0aW9ucyQgfCBhc3luY30gYXMgZm9ybU9ic1wiPlxuICAgICAgICA8di1zZWxlY3RcbiAgICAgICAgICBbaXRlbXNdPVwiZm9ybU9icy5mb3JtRGVmaW5pdGlvbnNcIlxuICAgICAgICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgICAgIG5hbWU9XCJmb3JtRGVmaW5pdGlvblZpZXdcIlxuICAgICAgICAgIFt0aXRsZV09XCInb2JqZWN0TWFuYWdlbWVudC5sYWJlbHMuZm9ybURlZmluaXRpb25WaWV3JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ29iamVjdE1hbmFnZW1lbnQudG9vbHRpcHMuZm9ybURlZmluaXRpb25WaWV3JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJwcmVmaWxsT2JqZWN0Py5mb3JtRGVmaW5pdGlvblZpZXdcIlxuICAgICAgICA+PC92LXNlbGVjdD5cblxuICAgICAgICA8di1zZWxlY3RcbiAgICAgICAgICBbaXRlbXNdPVwiZm9ybU9icy5mb3JtRGVmaW5pdGlvbnNcIlxuICAgICAgICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgICAgIG5hbWU9XCJmb3JtRGVmaW5pdGlvbkVkaXRcIlxuICAgICAgICAgIFt0aXRsZV09XCInb2JqZWN0TWFuYWdlbWVudC5sYWJlbHMuZm9ybURlZmluaXRpb25FZGl0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ29iamVjdE1hbmFnZW1lbnQudG9vbHRpcHMuZm9ybURlZmluaXRpb25FZGl0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJwcmVmaWxsT2JqZWN0Py5mb3JtRGVmaW5pdGlvbkVkaXRcIlxuICAgICAgICA+PC92LXNlbGVjdD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8di1pbnB1dFxuICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLnNob3dJbkRhdGFNZW51JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIidvYmplY3RNYW5hZ2VtZW50LnRvb2x0aXBzLnNob3dJbkRhdGFNZW51JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIG5hbWU9XCJzaG93SW5EYXRhTWVudVwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbE9iamVjdD8uc2hvd0luRGF0YU1lbnVcIlxuICAgICAgPjwvdi1pbnB1dD5cbiAgICA8L3YtZm9ybT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3QtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3QtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBRUwsU0FBUyxFQUVULEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUEyQixNQUFNLE1BQU0sQ0FBQztBQUNuRixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVlwQyxNQUFNLE9BQU8sOEJBQThCO0lBdUR6QyxZQUNtQixxQkFBbUQsRUFDbkQsdUJBQWdELEVBQ2hELHFCQUE0QyxFQUM1Qyx1QkFBZ0QsRUFDaEQsWUFBMEI7UUFKMUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUE4QjtRQUNuRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXZEcEMsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzdDLGNBQVMsR0FBd0IsSUFB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LFNBQVM7dUJBQUMsdUJBQXVCO2dCQUN6QixjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TW9kYWxDb21wb25lbnQgYXMgdk1vZGFsQ29tcG9uZW50LCBNb2RhbFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3VzZXItaW50ZXJmYWNlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7T2JqZWN0TWFuYWdlbWVudFN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2JqZWN0LW1hbmFnZW1lbnQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge0Zvcm1NYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZm9ybS1tYW5hZ2VtZW50JztcbmltcG9ydCB7UGx1Z2luQ29uZmlndXJhdGlvbiwgUGx1Z2luTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3BsdWdpbic7XG5pbXBvcnQge09iamVjdE1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vYmplY3QtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7T2JqZWN0dHlwZX0gZnJvbSAnLi4vLi4vbW9kZWxzL29iamVjdC1tYW5hZ2VtZW50Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1vYmplY3QtbWFuYWdlbWVudC1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9vYmplY3QtbWFuYWdlbWVudC1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29iamVjdC1tYW5hZ2VtZW50LW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdE1hbmFnZW1lbnRNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ29iamVjdE1hbmFnZW1lbnRNb2RhbCcpIG9iamVjdE1hbmFnZW1lbnRNb2RhbDogdk1vZGFsQ29tcG9uZW50O1xuICBASW5wdXQoKSBwcmVmaWxsT2JqZWN0JCE6IE9ic2VydmFibGU8T2JqZWN0dHlwZT47XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWQkITogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcmVhZG9ubHkgdmFsaWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHNob3dGb3JtJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMubW9kYWxTZXJ2aWNlLm1vZGFsVmlzaWJsZSQ7XG4gIHJlYWRvbmx5IG1vZGFsVHlwZSQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLm1vZGFsVHlwZSQ7XG4gIHJlYWRvbmx5IGZvcm1EYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcblxuICBzaG93U3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBoaWRlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkT2JqZWN0dHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIHJlYWRvbmx5IGZvcm1EZWZpbml0aW9ucyQ6IE9ic2VydmFibGU8QXJyYXk8e2lkOiBzdHJpbmc7IHRleHQ6IHN0cmluZ30+PiA9XG4gICAgdGhpcy5mb3JtTWFuYWdlbWVudFNlcnZpY2UucXVlcnlGb3JtRGVmaW5pdGlvbnMoKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdHMgPT5cbiAgICAgICAgcmVzdWx0cz8uYm9keT8uY29udGVudC5tYXAoY29uZmlndXJhdGlvbiA9PiAoe1xuICAgICAgICAgIGlkOiBjb25maWd1cmF0aW9uLm5hbWUsXG4gICAgICAgICAgdGV4dDogY29uZmlndXJhdGlvbi5uYW1lLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApO1xuXG4gIHJlYWRvbmx5IGNvbmZpZ3VyYXRpb25JbnN0YW5jZXMkOiBPYnNlcnZhYmxlPEFycmF5PFBsdWdpbkNvbmZpZ3VyYXRpb24+PiA9XG4gICAgdGhpcy5wbHVnaW5NYW5hZ2VtZW50U2VydmljZVxuICAgICAgLmdldEFsbFBsdWdpbkNvbmZpZ3VyYXRpb25zKClcbiAgICAgIC5waXBlKG1hcChjb25maWd1cmF0aW9ucyA9PiBjb25maWd1cmF0aW9ucykpO1xuXG4gIHJlYWRvbmx5IG9iamVjdHNBcGlDb25maWd1cmF0aW9ucyQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuY29uZmlndXJhdGlvbkluc3RhbmNlcyQucGlwZShcbiAgICBtYXAoY29uZmlndXJhdGlvbnMgPT4ge1xuICAgICAgY29uc3QgZmlsdGVyZWRPYmplY3RzQXBpQ29uZmlndXJhdGlvbnMgPSBjb25maWd1cmF0aW9ucy5maWx0ZXIoXG4gICAgICAgIGNvbmZpZ3VyYXRpb24gPT4gY29uZmlndXJhdGlvbj8ucGx1Z2luRGVmaW5pdGlvbj8ua2V5ID09PSAnb2JqZWN0ZW5hcGknXG4gICAgICApO1xuICAgICAgcmV0dXJuIGZpbHRlcmVkT2JqZWN0c0FwaUNvbmZpZ3VyYXRpb25zLm1hcChjb25maWd1cmF0aW9uID0+ICh7XG4gICAgICAgIGlkOiBjb25maWd1cmF0aW9uLmlkLFxuICAgICAgICB0ZXh0OiBjb25maWd1cmF0aW9uLnRpdGxlLFxuICAgICAgfSkpO1xuICAgIH0pXG4gICk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0dHlwZXNBcGlDb25maWd1cmF0aW9ucyQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuY29uZmlndXJhdGlvbkluc3RhbmNlcyQucGlwZShcbiAgICBtYXAoY29uZmlndXJhdGlvbnMgPT4ge1xuICAgICAgY29uc3QgZmlsdGVyZWRPYmplY3R0eXBlc0FwaUNvbmZpZ3VyYXRpb25zID0gY29uZmlndXJhdGlvbnMuZmlsdGVyKFxuICAgICAgICBjb25maWd1cmF0aW9uID0+IGNvbmZpZ3VyYXRpb24/LnBsdWdpbkRlZmluaXRpb24/LmtleSA9PT0gJ29iamVjdHR5cGVuYXBpJ1xuICAgICAgKTtcbiAgICAgIHJldHVybiBmaWx0ZXJlZE9iamVjdHR5cGVzQXBpQ29uZmlndXJhdGlvbnMubWFwKGNvbmZpZ3VyYXRpb24gPT4gKHtcbiAgICAgICAgaWQ6IGNvbmZpZ3VyYXRpb24uaWQsXG4gICAgICAgIHRleHQ6IGNvbmZpZ3VyYXRpb24udGl0bGUsXG4gICAgICAgIHByb3BlcnRpZXM6IGNvbmZpZ3VyYXRpb24ucHJvcGVydGllcyxcbiAgICAgIH0pKTtcbiAgICB9KVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb2JqZWN0TWFuYWdlbWVudFN0YXRlOiBPYmplY3RNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb2JqZWN0TWFuYWdlbWVudFNlcnZpY2U6IE9iamVjdE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybU1hbmFnZW1lbnRTZXJ2aWNlOiBGb3JtTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5NYW5hZ2VtZW50U2VydmljZTogUGx1Z2luTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZVxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblNob3dTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5IaWRlU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5oaWRlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1EYXRhJC5uZXh0KG51bGwpO1xuICAgIHRoaXMudmFsaWQkLm5leHQoZmFsc2UpO1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLmNsb3NlTW9kYWwoKTtcbiAgfVxuXG4gIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxuXG4gIHNhdmUoKTogdm9pZCB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy52YWxpZCQsIHRoaXMuZm9ybURhdGEkLCB0aGlzLm1vZGFsVHlwZSRdKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKFt2YWxpZCwgZm9ybURhdGEsIG1vZGFsVHlwZV0pID0+IHtcbiAgICAgICAgaWYgKHZhbGlkKSB7XG4gICAgICAgICAgaWYgKG1vZGFsVHlwZSA9PT0gJ2FkZCcpIHtcbiAgICAgICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFNlcnZpY2UuY3JlYXRlT2JqZWN0KHsuLi5mb3JtRGF0YX0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLnJlZnJlc2goKTtcbiAgICAgICAgICAgICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUuaGlkZU1vZGFsKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKG1vZGFsVHlwZSA9PT0gJ2VkaXQnKSB7XG4gICAgICAgICAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTZXJ2aWNlLmVkaXRPYmplY3Qoey4uLmZvcm1EYXRhfSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUucmVmcmVzaCgpO1xuICAgICAgICAgICAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5oaWRlTW9kYWwoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TaG93U3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1N1YnNjcmlwdGlvbiA9IHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLnNob3dNb2RhbCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc2hvdygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuSGlkZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVTdWJzY3JpcHRpb24gPSB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5oaWRlTW9kYWwkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5tb2RhbFR5cGUkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKG1vZGFsVHlwZSA9PiB7XG4gICAgICBpZiAobW9kYWxUeXBlID09PSAnZWRpdCcgfHwgbW9kYWxUeXBlID09PSAnYWRkJykge1xuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuTW9kYWwodGhpcy5vYmplY3RNYW5hZ2VtZW50TW9kYWwpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZm9ybVZhbHVlQ2hhbmdlKGRhdGE6IGFueSk6IHZvaWQge1xuICAgIGlmIChkYXRhLnNob3dJbkRhdGFNZW51ID09PSAnJykge1xuICAgICAgZGF0YS5zaG93SW5EYXRhTWVudSA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmZvcm1EYXRhJC5uZXh0KGRhdGEpO1xuICAgIHRoaXMuc2V0VmFsaWQoZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIHNldFZhbGlkKGRhdGE6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsaWQkLm5leHQoXG4gICAgICAhIShcbiAgICAgICAgZGF0YS50aXRsZSAmJlxuICAgICAgICBkYXRhLm9iamVjdGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkICYmXG4gICAgICAgIGRhdGEub2JqZWN0dHlwZW5BcGlQbHVnaW5Db25maWd1cmF0aW9uSWQgJiZcbiAgICAgICAgZGF0YS5vYmplY3R0eXBlSWQgJiZcbiAgICAgICAgZGF0YS5vYmplY3R0eXBlVmVyc2lvblxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBzZWxlY3RPYmplY3RUeXBlKG9iamVjdHR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkT2JqZWN0dHlwZSQubmV4dChvYmplY3R0eXBlKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48di1tb2RhbFxuICAjb2JqZWN0TWFuYWdlbWVudE1vZGFsXG4gICpuZ0lmPVwie1xuICAgIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luYyxcbiAgICB2YWxpZDogdmFsaWQkIHwgYXN5bmMsXG4gICAgbW9kYWxUeXBlOiBtb2RhbFR5cGUkIHwgYXN5bmMsXG4gICAgcHJlZmlsbE9iamVjdDogcHJlZmlsbE9iamVjdCQgfCBhc3luY1xuICB9IGFzIG9ic1wiXG4+XG4gIDxkaXYgcm9sZT1cImhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJhZGQtdGl0bGVcIj5cbiAgICAgIDx2LXRpdGxlIFttYXJnaW5dPVwiZmFsc2VcIj57e1xuICAgICAgICAob2JzLm1vZGFsVHlwZSA9PT0gJ2FkZCdcbiAgICAgICAgICA/ICdvYmplY3RNYW5hZ2VtZW50LmNyZWF0ZU9iamVjdHR5cGUnXG4gICAgICAgICAgOiAnb2JqZWN0TWFuYWdlbWVudC5lZGl0T2JqZWN0dHlwZSdcbiAgICAgICAgKSB8IHRyYW5zbGF0ZVxuICAgICAgfX08L3YtdGl0bGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IHJvbGU9XCJjb250ZW50XCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgZm9ybTtcbiAgICAgICAgY29udGV4dDoge3ByZWZpbGxPYmplY3Q6IG9icy5wcmVmaWxsT2JqZWN0LCBtb2RhbFR5cGU6IG9icy5tb2RhbFR5cGV9XG4gICAgICBcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgcm9sZT1cImZvb3RlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgICA8di1idXR0b24gKGNsaWNrRXZlbnQpPVwiY2FuY2VsKClcIiBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCIgdHlwZT1cInNlY29uZGFyeVwiPlxuICAgICAgICB7eyAnb2JqZWN0TWFuYWdlbWVudC5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3YtYnV0dG9uPlxuICAgICAgPHYtYnV0dG9uXG4gICAgICAgIChjbGlja0V2ZW50KT1cInNhdmUoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWQgfHwgIW9icy52YWxpZFwiXG4gICAgICAgIG1kaUljb249XCJwbHVzXCJcbiAgICAgICAgdHlwZT1cInN1Y2Nlc3NcIlxuICAgICAgPlxuICAgICAgICB7e1xuICAgICAgICAgIChvYnMubW9kYWxUeXBlID09PSAnYWRkJyA/ICdvYmplY3RNYW5hZ2VtZW50LmFkZCcgOiAnb2JqZWN0TWFuYWdlbWVudC5lZGl0JykgfCB0cmFuc2xhdGVcbiAgICAgICAgfX1cbiAgICAgIDwvdi1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC92LW1vZGFsPlxuXG48bmctdGVtcGxhdGUgI2Zvcm0gbGV0LXByZWZpbGxPYmplY3Q9XCJwcmVmaWxsT2JqZWN0XCIgbGV0LW1vZGFsVHlwZT1cIm1vZGFsVHlwZVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0Zvcm0kIHwgYXN5bmNcIj5cbiAgICA8di1mb3JtICh2YWx1ZUNoYW5nZSk9XCJmb3JtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgPHYtaW5wdXRcbiAgICAgICAgKm5nSWY9XCJtb2RhbFR5cGUgPT09ICdlZGl0J1wiXG4gICAgICAgIGhpZGRlblxuICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbE9iamVjdD8uaWRcIlxuICAgICAgICBuYW1lPVwiaWRcIlxuICAgICAgPjwvdi1pbnB1dD5cblxuICAgICAgPHYtaW5wdXRcbiAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIidvYmplY3RNYW5hZ2VtZW50LnRvb2x0aXBzLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt3aWR0aFB4XT1cIjM1MFwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbE9iamVjdD8udGl0bGVcIlxuICAgICAgICBuYW1lPVwidGl0bGVcIlxuICAgICAgPjwvdi1pbnB1dD5cblxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIntcbiAgICAgICAgICBjb25uZWN0aW9uSW5zdGFuY2VzOiBjb25maWd1cmF0aW9uSW5zdGFuY2VzJCB8IGFzeW5jLFxuICAgICAgICAgIG9iamVjdHNBcGlDb25maWd1cmF0aW9uczogb2JqZWN0c0FwaUNvbmZpZ3VyYXRpb25zJCB8IGFzeW5jLFxuICAgICAgICAgIG9iamVjdHR5cGVzQXBpQ29uZmlndXJhdGlvbnM6IG9iamVjdHR5cGVzQXBpQ29uZmlndXJhdGlvbnMkIHwgYXN5bmNcbiAgICAgICAgfSBhcyBvYmplY3RPYnNcIlxuICAgICAgPlxuICAgICAgICA8di1zZWxlY3RcbiAgICAgICAgICBbaXRlbXNdPVwib2JqZWN0T2JzLm9iamVjdHNBcGlDb25maWd1cmF0aW9uc1wiXG4gICAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgICBbd2lkdGhJblB4XT1cIjM1MFwiXG4gICAgICAgICAgbmFtZT1cIm9iamVjdGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLm9iamVjdHMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbZGVmYXVsdFNlbGVjdGlvbklkXT1cInByZWZpbGxPYmplY3Q/Lm9iamVjdGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgID48L3Ytc2VsZWN0PlxuXG4gICAgICAgIDx2LXNlbGVjdFxuICAgICAgICAgIFtpdGVtc109XCJvYmplY3RPYnMub2JqZWN0dHlwZXNBcGlDb25maWd1cmF0aW9uc1wiXG4gICAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgICBbd2lkdGhJblB4XT1cIjM1MFwiXG4gICAgICAgICAgbmFtZT1cIm9iamVjdHR5cGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLm9iamVjdHR5cGVzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJwcmVmaWxsT2JqZWN0Py5vYmplY3R0eXBlbkFwaVBsdWdpbkNvbmZpZ3VyYXRpb25JZFwiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJzZWxlY3RPYmplY3RUeXBlKCRldmVudClcIlxuICAgICAgICA+PC92LXNlbGVjdD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8di1pbnB1dFxuICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgIFt0aXRsZV09XCInb2JqZWN0TWFuYWdlbWVudC5sYWJlbHMub2JqZWN0dHlwZUlkJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIidvYmplY3RNYW5hZ2VtZW50LnRvb2x0aXBzLm9iamVjdHR5cGVJZCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbd2lkdGhQeF09XCIzNTBcIlxuICAgICAgICBbZGVmYXVsdFZhbHVlXT1cInByZWZpbGxPYmplY3Q/Lm9iamVjdHR5cGVJZFwiXG4gICAgICAgIG5hbWU9XCJvYmplY3R0eXBlSWRcIlxuICAgICAgPjwvdi1pbnB1dD5cblxuICAgICAgPHYtaW5wdXRcbiAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLm9iamVjdHR5cGVWZXJzaW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIidvYmplY3RNYW5hZ2VtZW50LnRvb2x0aXBzLm9iamVjdHR5cGVWZXJzaW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt3aWR0aFB4XT1cIjM1MFwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbE9iamVjdD8ub2JqZWN0dHlwZVZlcnNpb25cIlxuICAgICAgICBbbWluXT1cIjFcIlxuICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgbmFtZT1cIm9iamVjdHR5cGVWZXJzaW9uXCJcbiAgICAgID48L3YtaW5wdXQ+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ7Zm9ybURlZmluaXRpb25zOiBmb3JtRGVmaW5pdGlvbnMkIHwgYXN5bmN9IGFzIGZvcm1PYnNcIj5cbiAgICAgICAgPHYtc2VsZWN0XG4gICAgICAgICAgW2l0ZW1zXT1cImZvcm1PYnMuZm9ybURlZmluaXRpb25zXCJcbiAgICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICAgIFt3aWR0aEluUHhdPVwiMzUwXCJcbiAgICAgICAgICBuYW1lPVwiZm9ybURlZmluaXRpb25WaWV3XCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLmZvcm1EZWZpbml0aW9uVmlldycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFt0b29sdGlwXT1cIidvYmplY3RNYW5hZ2VtZW50LnRvb2x0aXBzLmZvcm1EZWZpbml0aW9uVmlldycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtkZWZhdWx0U2VsZWN0aW9uSWRdPVwicHJlZmlsbE9iamVjdD8uZm9ybURlZmluaXRpb25WaWV3XCJcbiAgICAgICAgPjwvdi1zZWxlY3Q+XG5cbiAgICAgICAgPHYtc2VsZWN0XG4gICAgICAgICAgW2l0ZW1zXT1cImZvcm1PYnMuZm9ybURlZmluaXRpb25zXCJcbiAgICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICAgIFt3aWR0aEluUHhdPVwiMzUwXCJcbiAgICAgICAgICBuYW1lPVwiZm9ybURlZmluaXRpb25FZGl0XCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLmZvcm1EZWZpbml0aW9uRWRpdCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFt0b29sdGlwXT1cIidvYmplY3RNYW5hZ2VtZW50LnRvb2x0aXBzLmZvcm1EZWZpbml0aW9uRWRpdCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtkZWZhdWx0U2VsZWN0aW9uSWRdPVwicHJlZmlsbE9iamVjdD8uZm9ybURlZmluaXRpb25FZGl0XCJcbiAgICAgICAgPjwvdi1zZWxlY3Q+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPHYtaW5wdXRcbiAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgW3RpdGxlXT1cIidvYmplY3RNYW5hZ2VtZW50LmxhYmVscy5zaG93SW5EYXRhTWVudScgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbdG9vbHRpcF09XCInb2JqZWN0TWFuYWdlbWVudC50b29sdGlwcy5zaG93SW5EYXRhTWVudScgfCB0cmFuc2xhdGVcIlxuICAgICAgICBuYW1lPVwic2hvd0luRGF0YU1lbnVcIlxuICAgICAgICBbZGVmYXVsdFZhbHVlXT1cInByZWZpbGxPYmplY3Q/LnNob3dJbkRhdGFNZW51XCJcbiAgICAgID48L3YtaW5wdXQ+XG4gICAgPC92LWZvcm0+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2015-
|
|
2
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -141,6 +141,7 @@ export class ObjectManagementUploadModalComponent {
|
|
|
141
141
|
'title',
|
|
142
142
|
'objecttypenApiPluginConfigurationId',
|
|
143
143
|
'objecttypeId',
|
|
144
|
+
'objecttypeVersion',
|
|
144
145
|
'objectenApiPluginConfigurationId',
|
|
145
146
|
'showInDataMenu',
|
|
146
147
|
]);
|
|
@@ -171,14 +172,14 @@ export class ObjectManagementUploadModalComponent {
|
|
|
171
172
|
}
|
|
172
173
|
}
|
|
173
174
|
ObjectManagementUploadModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectManagementUploadModalComponent, deps: [{ token: i1.ObjectManagementStateService }, { token: i2.ObjectManagementService }, { token: i3.FormManagementService }, { token: i4.PluginManagementService }, { token: i5.ModalService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
174
|
-
ObjectManagementUploadModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ObjectManagementUploadModalComponent, selector: "valtimo-object-management-upload-modal", inputs: { objecttypes: "objecttypes" }, viewQueries: [{ propertyName: "objectManagementUploadModal", first: true, predicate: ["objectManagementUploadModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-
|
|
175
|
+
ObjectManagementUploadModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ObjectManagementUploadModalComponent, selector: "valtimo-object-management-upload-modal", inputs: { objecttypes: "objecttypes" }, viewQueries: [{ propertyName: "objectManagementUploadModal", first: true, predicate: ["objectManagementUploadModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-modal\n #objectManagementUploadModal\n *ngIf=\"{\n disabled: disabled$ | async,\n jsonString: jsonString$ | async,\n error: error$ | async\n } as obs\"\n>\n <div role=\"header\">\n <div class=\"add-title\">\n <v-title [margin]=\"false\">{{ 'objectManagement.uploadObjecttype' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"uploadForm\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'objectManagement.cancel' | translate }}\n </v-button>\n <v-button\n (clickEvent)=\"uploadDefinition()\"\n [disabled]=\"obs.jsonString === '' || obs.disabled\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{ 'Upload' | translate }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #uploadForm>\n <ng-container *ngIf=\"showForm$ | async\">\n <valtimo-dropzone\n [clear$]=\"clear$\"\n (fileSelected)=\"setFile($event)\"\n [disabled]=\"disabled$ | async\"\n [subtitle]=\"'dropzone.objecttypeDef' | translate\"\n [externalError$]=\"error$\"\n [maxFiles]=\"1\"\n ></valtimo-dropzone>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i8.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "component", type: i5.ModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i5.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "component", type: i5.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
175
176
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectManagementUploadModalComponent, decorators: [{
|
|
176
177
|
type: Component,
|
|
177
|
-
args: [{ selector: 'valtimo-object-management-upload-modal', template: "<!--\n ~ Copyright 2015-
|
|
178
|
+
args: [{ selector: 'valtimo-object-management-upload-modal', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-modal\n #objectManagementUploadModal\n *ngIf=\"{\n disabled: disabled$ | async,\n jsonString: jsonString$ | async,\n error: error$ | async\n } as obs\"\n>\n <div role=\"header\">\n <div class=\"add-title\">\n <v-title [margin]=\"false\">{{ 'objectManagement.uploadObjecttype' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"uploadForm\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'objectManagement.cancel' | translate }}\n </v-button>\n <v-button\n (clickEvent)=\"uploadDefinition()\"\n [disabled]=\"obs.jsonString === '' || obs.disabled\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{ 'Upload' | translate }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #uploadForm>\n <ng-container *ngIf=\"showForm$ | async\">\n <valtimo-dropzone\n [clear$]=\"clear$\"\n (fileSelected)=\"setFile($event)\"\n [disabled]=\"disabled$ | async\"\n [subtitle]=\"'dropzone.objecttypeDef' | translate\"\n [externalError$]=\"error$\"\n [maxFiles]=\"1\"\n ></valtimo-dropzone>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between}\n"] }]
|
|
178
179
|
}], ctorParameters: function () { return [{ type: i1.ObjectManagementStateService }, { type: i2.ObjectManagementService }, { type: i3.FormManagementService }, { type: i4.PluginManagementService }, { type: i5.ModalService }, { type: i6.TranslateService }]; }, propDecorators: { objectManagementUploadModal: [{
|
|
179
180
|
type: ViewChild,
|
|
180
181
|
args: ['objectManagementUploadModal']
|
|
181
182
|
}], objecttypes: [{
|
|
182
183
|
type: Input
|
|
183
184
|
}] } });
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vb2JqZWN0LW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL29iamVjdC1tYW5hZ2VtZW50LXVwbG9hZC1tb2RhbC9vYmplY3QtbWFuYWdlbWVudC11cGxvYWQtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3QtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsL29iamVjdC1tYW5hZ2VtZW50LXVwbG9hZC1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUdMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUN4RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFhcEMsTUFBTSxPQUFPLG9DQUFvQztJQWlCL0MsWUFDbUIscUJBQW1ELEVBQ25ELHVCQUFnRCxFQUNoRCxxQkFBNEMsRUFDNUMsdUJBQWdELEVBQ2hELFlBQTBCLEVBQzFCLGdCQUFrQztRQUxsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQThCO1FBQ25ELDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1Qyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FB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YSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHFDQUFxQyxDQUFDLENBQUM7WUFDbEUsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsR0FBVyxFQUFFLFlBQThCO1FBQ3hELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTyxPQUFPO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVPLE1BQU07UUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDOztrSUE5S1Usb0NBQW9DO3NIQUFwQyxvQ0FBb0Msa1FDeENqRCxtOERBNkRBOzRGRHJCYSxvQ0FBb0M7a0JBTGhELFNBQVM7K0JBQ0Usd0NBQXdDOzZSQUtSLDJCQUEyQjtzQkFBcEUsU0FBUzt1QkFBQyw2QkFBNkI7Z0JBQy9CLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNb2RhbENvbXBvbmVudCBhcyB2TW9kYWxDb21wb25lbnQsIE1vZGFsU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vdXNlci1pbnRlcmZhY2UnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7T2JqZWN0TWFuYWdlbWVudFN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2JqZWN0LW1hbmFnZW1lbnQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge0Zvcm1NYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZm9ybS1tYW5hZ2VtZW50JztcbmltcG9ydCB7UGx1Z2luTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3BsdWdpbic7XG5pbXBvcnQge09iamVjdE1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vYmplY3QtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge09iamVjdHR5cGUsIE9iamVjdHR5cGVLZXlzfSBmcm9tICcuLi8uLi9tb2RlbHMvb2JqZWN0LW1hbmFnZW1lbnQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLW9iamVjdC1tYW5hZ2VtZW50LXVwbG9hZC1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9vYmplY3QtbWFuYWdlbWVudC11cGxvYWQtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vYmplY3QtbWFuYWdlbWVudC11cGxvYWQtbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0TWFuYWdlbWVudFVwbG9hZE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnb2JqZWN0TWFuYWdlbWVudFVwbG9hZE1vZGFsJykgb2JqZWN0TWFuYWdlbWVudFVwbG9hZE1vZGFsOiB2TW9kYWxDb21wb25lbnQ7XG4gIEBJbnB1dCgpIG9iamVjdHR5cGVzPzogT2JqZWN0dHlwZVtdO1xuXG4gIHJlYWRvbmx5IGNsZWFyJCA9IG5ldyBTdWJqZWN0KCk7XG4gIHJlYWRvbmx5IGpzb25TdHJpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgZXJyb3IkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHNob3dGb3JtJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMubW9kYWxTZXJ2aWNlLm1vZGFsVmlzaWJsZSQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBmaWxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmlsZT4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIHNob3dTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgaGlkZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBmaWxlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgZXJyb3JTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9iamVjdE1hbmFnZW1lbnRTdGF0ZTogT2JqZWN0TWFuYWdlbWVudFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9iamVjdE1hbmFnZW1lbnRTZXJ2aWNlOiBPYmplY3RNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1NYW5hZ2VtZW50U2VydmljZTogRm9ybU1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGx1Z2luTWFuYWdlbWVudFNlcnZpY2U6IFBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuU2hvd1N1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlbkZpbGVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5IaWRlU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5oaWRlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZmlsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGFsU2VydmljZS5jbG9zZU1vZGFsKCk7XG4gIH1cblxuICBjYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlKCk7XG4gIH1cblxuICBzZXRGaWxlKGZpbGU6IEZpbGUpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyRXJyb3IoKTtcbiAgICB0aGlzLmZpbGUkLm5leHQoZmlsZSk7XG4gIH1cblxuICB1cGxvYWREZWZpbml0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZSgpO1xuXG4gICAgdGhpcy5qc29uU3RyaW5nJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShvYmplY3R0eXBlRGVmaW5pdGlvbiA9PiB7XG4gICAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTZXJ2aWNlXG4gICAgICAgIC5jcmVhdGVPYmplY3Qoey4uLkpTT04ucGFyc2Uob2JqZWN0dHlwZURlZmluaXRpb24pfSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUucmVmcmVzaCgpO1xuICAgICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLmhpZGVNb2RhbCgpO1xuICAgICAgICB9KTtcbiAgICAgIHRoaXMuY2xvc2VFcnJvclN1YnNjcmlwdGlvbigpO1xuICAgICAgdGhpcy5jbGVhckVycm9yKCk7XG4gICAgICB0aGlzLmVuYWJsZSgpO1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5FcnJvclN1YnNjcmlwdGlvbihlcnJvckNvZGU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VFcnJvclN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMuZXJyb3JTdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKGVycm9yQ29kZSkuc3Vic2NyaWJlKGVycm9yID0+IHtcbiAgICAgIHRoaXMuZXJyb3IkLm5leHQoZXJyb3IpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZUVycm9yU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVycm9yU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmVycm9yU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRmlsZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVTdWJzY3JpcHRpb24gPSB0aGlzLmZpbGUkLnN1YnNjcmliZShmaWxlID0+IHtcbiAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSByZWFkZXIucmVzdWx0LnRvU3RyaW5nKCk7XG4gICAgICAgICAgaWYgKHRoaXMuaXNWYWxpZEpzb25PYmplY3R0eXBlKHJlc3VsdCkpIHtcbiAgICAgICAgICAgIHRoaXMuanNvblN0cmluZyQubmV4dChyZXN1bHQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFySnNvblN0cmluZygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICByZWFkZXIucmVhZEFzVGV4dChmaWxlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2xlYXJKc29uU3RyaW5nKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TaG93U3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1N1YnNjcmlwdGlvbiA9IHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLnNob3dNb2RhbCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc2hvdygpO1xuXG4gICAgICB0aGlzLmNsZWFySnNvblN0cmluZygpO1xuICAgICAgdGhpcy5jbGVhckVycm9yKCk7XG4gICAgICB0aGlzLmNsZWFyRHJvcHpvbmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkhpZGVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlU3Vic2NyaXB0aW9uID0gdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUuaGlkZU1vZGFsJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNob3coKTogdm9pZCB7XG4gICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUubW9kYWxUeXBlJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShtb2RhbFR5cGUgPT4ge1xuICAgICAgaWYgKG1vZGFsVHlwZSA9PT0gJ3VwbG9hZCcpIHtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3Blbk1vZGFsKHRoaXMub2JqZWN0TWFuYWdlbWVudFVwbG9hZE1vZGFsKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJFcnJvcigpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yJC5uZXh0KCcnKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJKc29uU3RyaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuanNvblN0cmluZyQubmV4dCgnJyk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyRHJvcHpvbmUoKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhciQubmV4dChudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNWYWxpZEpzb25PYmplY3R0eXBlKHN0cmluZzogc3RyaW5nKSB7XG4gICAgY29uc3QganNvbk9iamVjdHR5cGUgPSBKU09OLnBhcnNlKHN0cmluZyk7XG4gICAgY29uc3QgaXNWYWxpZCA9IHRoaXMudmFsaWRhdGVPYmplY3QoanNvbk9iamVjdHR5cGUsIFtcbiAgICAgICd0aXRsZScsXG4gICAgICAnb2JqZWN0dHlwZW5BcGlQbHVnaW5Db25maWd1cmF0aW9uSWQnLFxuICAgICAgJ29iamVjdHR5cGVJZCcsXG4gICAgICAnb2JqZWN0ZW5BcGlQbHVnaW5Db25maWd1cmF0aW9uSWQnLFxuICAgICAgJ3Nob3dJbkRhdGFNZW51JyxcbiAgICBdKTtcbiAgICBjb25zdCBpc09iamVjdHR5cGVUaXRsZVVuaXF1ZSA9ICF0aGlzLm9iamVjdHR5cGVzPy5maW5kKFxuICAgICAgb2JqZWN0dHlwZSA9PiBvYmplY3R0eXBlLnRpdGxlID09PSBqc29uT2JqZWN0dHlwZS50aXRsZVxuICAgICk7XG4gICAgaWYgKGlzVmFsaWQgJiYgaXNPYmplY3R0eXBlVGl0bGVVbmlxdWUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAoaXNWYWxpZCAmJiAhaXNPYmplY3R0eXBlVGl0bGVVbmlxdWUpIHtcbiAgICAgIHRoaXMuY2xlYXJEcm9wem9uZSgpO1xuICAgICAgdGhpcy5vcGVuRXJyb3JTdWJzY3JpcHRpb24oJ2Ryb3B6b25lLmVycm9yLm9iamVjdHR5cGVBbHJlYWR5RXhpc3RzJyk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIGlmICghaXNWYWxpZCAmJiBpc09iamVjdHR5cGVUaXRsZVVuaXF1ZSkge1xuICAgICAgdGhpcy5jbGVhckRyb3B6b25lKCk7XG4gICAgICB0aGlzLm9wZW5FcnJvclN1YnNjcmlwdGlvbignZHJvcHpvbmUuZXJyb3IuaW52YWxpZE9iamVjdHR5cGVEZWYnKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZU9iamVjdChvYmo6IG9iamVjdCwgcmVxdWlyZWRLZXlzOiBPYmplY3R0eXBlS2V5c1tdKSB7XG4gICAgY29uc3Qgb2JqS2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG4gICAgcmV0dXJuIHJlcXVpcmVkS2V5cy5ldmVyeShrZXkgPT4gb2JqS2V5cy5pbmNsdWRlcyhrZXkpKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmFibGUoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChmYWxzZSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHYtbW9kYWxcbiAgI29iamVjdE1hbmFnZW1lbnRVcGxvYWRNb2RhbFxuICAqbmdJZj1cIntcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQkIHwgYXN5bmMsXG4gICAganNvblN0cmluZzoganNvblN0cmluZyQgfCBhc3luYyxcbiAgICBlcnJvcjogZXJyb3IkIHwgYXN5bmNcbiAgfSBhcyBvYnNcIlxuPlxuICA8ZGl2IHJvbGU9XCJoZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRkLXRpdGxlXCI+XG4gICAgICA8di10aXRsZSBbbWFyZ2luXT1cImZhbHNlXCI+e3sgJ29iamVjdE1hbmFnZW1lbnQudXBsb2FkT2JqZWN0dHlwZScgfCB0cmFuc2xhdGUgfX08L3YtdGl0bGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IHJvbGU9XCJjb250ZW50XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInVwbG9hZEZvcm1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgcm9sZT1cImZvb3RlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgICA8di1idXR0b24gKGNsaWNrRXZlbnQpPVwiY2FuY2VsKClcIiBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCIgdHlwZT1cInNlY29uZGFyeVwiPlxuICAgICAgICB7eyAnb2JqZWN0TWFuYWdlbWVudC5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3YtYnV0dG9uPlxuICAgICAgPHYtYnV0dG9uXG4gICAgICAgIChjbGlja0V2ZW50KT1cInVwbG9hZERlZmluaXRpb24oKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJvYnMuanNvblN0cmluZyA9PT0gJycgfHwgb2JzLmRpc2FibGVkXCJcbiAgICAgICAgbWRpSWNvbj1cInBsdXNcIlxuICAgICAgICB0eXBlPVwic3VjY2Vzc1wiXG4gICAgICA+XG4gICAgICAgIHt7ICdVcGxvYWQnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3YtYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvdi1tb2RhbD5cblxuPG5nLXRlbXBsYXRlICN1cGxvYWRGb3JtPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0Zvcm0kIHwgYXN5bmNcIj5cbiAgICA8dmFsdGltby1kcm9wem9uZVxuICAgICAgW2NsZWFyJF09XCJjbGVhciRcIlxuICAgICAgKGZpbGVTZWxlY3RlZCk9XCJzZXRGaWxlKCRldmVudClcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkJCB8IGFzeW5jXCJcbiAgICAgIFtzdWJ0aXRsZV09XCInZHJvcHpvbmUub2JqZWN0dHlwZURlZicgfCB0cmFuc2xhdGVcIlxuICAgICAgW2V4dGVybmFsRXJyb3IkXT1cImVycm9yJFwiXG4gICAgICBbbWF4RmlsZXNdPVwiMVwiXG4gICAgPjwvdmFsdGltby1kcm9wem9uZT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vb2JqZWN0LW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL29iamVjdC1tYW5hZ2VtZW50LXVwbG9hZC1tb2RhbC9vYmplY3QtbWFuYWdlbWVudC11cGxvYWQtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3QtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsL29iamVjdC1tYW5hZ2VtZW50LXVwbG9hZC1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUdMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUN4RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFhcEMsTUFBTSxPQUFPLG9DQUFvQztJQWlCL0MsWUFDbUIscUJBQW1ELEVBQ25ELHVCQUFnRCxFQUNoRCxxQkFBNEMsRUFDNUMsdUJBQWdELEVBQ2hELFlBQTBCLEVBQzFCLGdCQUFrQztRQUxsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQThCO1FBQ25ELDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1Qyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FB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SUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1lBQ2xFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLEdBQVcsRUFBRSxZQUE4QjtRQUN4RCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTyxNQUFNO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7a0lBL0tVLG9DQUFvQztzSEFBcEMsb0NBQW9DLGtRQ3hDakQsbThEQTZEQTs0RkRyQmEsb0NBQW9DO2tCQUxoRCxTQUFTOytCQUNFLHdDQUF3Qzs2UkFLUiwyQkFBMkI7c0JBQXBFLFNBQVM7dUJBQUMsNkJBQTZCO2dCQUMvQixXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TW9kYWxDb21wb25lbnQgYXMgdk1vZGFsQ29tcG9uZW50LCBNb2RhbFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3VzZXItaW50ZXJmYWNlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge09iamVjdE1hbmFnZW1lbnRTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29iamVjdC1tYW5hZ2VtZW50LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtGb3JtTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2Zvcm0tbWFuYWdlbWVudCc7XG5pbXBvcnQge1BsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9wbHVnaW4nO1xuaW1wb3J0IHtPYmplY3RNYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2JqZWN0LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtPYmplY3R0eXBlLCBPYmplY3R0eXBlS2V5c30gZnJvbSAnLi4vLi4vbW9kZWxzL29iamVjdC1tYW5hZ2VtZW50Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1vYmplY3QtbWFuYWdlbWVudC11cGxvYWQtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vb2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdE1hbmFnZW1lbnRVcGxvYWRNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ29iamVjdE1hbmFnZW1lbnRVcGxvYWRNb2RhbCcpIG9iamVjdE1hbmFnZW1lbnRVcGxvYWRNb2RhbDogdk1vZGFsQ29tcG9uZW50O1xuICBASW5wdXQoKSBvYmplY3R0eXBlcz86IE9iamVjdHR5cGVbXTtcblxuICByZWFkb25seSBjbGVhciQgPSBuZXcgU3ViamVjdCgpO1xuICByZWFkb25seSBqc29uU3RyaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGVycm9yJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBzaG93Rm9ybSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLm1vZGFsU2VydmljZS5tb2RhbFZpc2libGUkO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZmlsZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbGU+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBzaG93U3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGhpZGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgZmlsZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGVycm9yU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYmplY3RNYW5hZ2VtZW50U3RhdGU6IE9iamVjdE1hbmFnZW1lbnRTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYmplY3RNYW5hZ2VtZW50U2VydmljZTogT2JqZWN0TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtTWFuYWdlbWVudFNlcnZpY2U6IEZvcm1NYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlOiBQbHVnaW5NYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblNob3dTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5GaWxlU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5vcGVuSGlkZVN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zaG93U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuaGlkZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmZpbGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2VNb2RhbCgpO1xuICB9XG5cbiAgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG5cbiAgc2V0RmlsZShmaWxlOiBGaWxlKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckVycm9yKCk7XG4gICAgdGhpcy5maWxlJC5uZXh0KGZpbGUpO1xuICB9XG5cbiAgdXBsb2FkRGVmaW5pdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGUoKTtcblxuICAgIHRoaXMuanNvblN0cmluZyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUob2JqZWN0dHlwZURlZmluaXRpb24gPT4ge1xuICAgICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U2VydmljZVxuICAgICAgICAuY3JlYXRlT2JqZWN0KHsuLi5KU09OLnBhcnNlKG9iamVjdHR5cGVEZWZpbml0aW9uKX0pXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLnJlZnJlc2goKTtcbiAgICAgICAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5oaWRlTW9kYWwoKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmNsb3NlRXJyb3JTdWJzY3JpcHRpb24oKTtcbiAgICAgIHRoaXMuY2xlYXJFcnJvcigpO1xuICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRXJyb3JTdWJzY3JpcHRpb24oZXJyb3JDb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlRXJyb3JTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLmVycm9yU3Vic2NyaXB0aW9uID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbShlcnJvckNvZGUpLnN1YnNjcmliZShlcnJvciA9PiB7XG4gICAgICB0aGlzLmVycm9yJC5uZXh0KGVycm9yKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VFcnJvclN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lcnJvclN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5lcnJvclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb3BlbkZpbGVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5maWxlU3Vic2NyaXB0aW9uID0gdGhpcy5maWxlJC5zdWJzY3JpYmUoZmlsZSA9PiB7XG4gICAgICBpZiAoZmlsZSkge1xuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuXG4gICAgICAgIHJlYWRlci5vbmxvYWRlbmQgPSAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVhZGVyLnJlc3VsdC50b1N0cmluZygpO1xuICAgICAgICAgIGlmICh0aGlzLmlzVmFsaWRKc29uT2JqZWN0dHlwZShyZXN1bHQpKSB7XG4gICAgICAgICAgICB0aGlzLmpzb25TdHJpbmckLm5leHQocmVzdWx0KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbGVhckpzb25TdHJpbmcoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNsZWFySnNvblN0cmluZygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuU2hvd1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dTdWJzY3JpcHRpb24gPSB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5zaG93TW9kYWwkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNob3coKTtcblxuICAgICAgdGhpcy5jbGVhckpzb25TdHJpbmcoKTtcbiAgICAgIHRoaXMuY2xlYXJFcnJvcigpO1xuICAgICAgdGhpcy5jbGVhckRyb3B6b25lKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5IaWRlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuaGlkZVN1YnNjcmlwdGlvbiA9IHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLmhpZGVNb2RhbCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93KCk6IHZvaWQge1xuICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLm1vZGFsVHlwZSQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUobW9kYWxUeXBlID0+IHtcbiAgICAgIGlmIChtb2RhbFR5cGUgPT09ICd1cGxvYWQnKSB7XG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW5Nb2RhbCh0aGlzLm9iamVjdE1hbmFnZW1lbnRVcGxvYWRNb2RhbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyRXJyb3IoKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvciQubmV4dCgnJyk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFySnNvblN0cmluZygpOiB2b2lkIHtcbiAgICB0aGlzLmpzb25TdHJpbmckLm5leHQoJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckRyb3B6b25lKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXIkLm5leHQobnVsbCk7XG4gIH1cblxuICBwcml2YXRlIGlzVmFsaWRKc29uT2JqZWN0dHlwZShzdHJpbmc6IHN0cmluZykge1xuICAgIGNvbnN0IGpzb25PYmplY3R0eXBlID0gSlNPTi5wYXJzZShzdHJpbmcpO1xuICAgIGNvbnN0IGlzVmFsaWQgPSB0aGlzLnZhbGlkYXRlT2JqZWN0KGpzb25PYmplY3R0eXBlLCBbXG4gICAgICAndGl0bGUnLFxuICAgICAgJ29iamVjdHR5cGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkJyxcbiAgICAgICdvYmplY3R0eXBlSWQnLFxuICAgICAgJ29iamVjdHR5cGVWZXJzaW9uJyxcbiAgICAgICdvYmplY3RlbkFwaVBsdWdpbkNvbmZpZ3VyYXRpb25JZCcsXG4gICAgICAnc2hvd0luRGF0YU1lbnUnLFxuICAgIF0pO1xuICAgIGNvbnN0IGlzT2JqZWN0dHlwZVRpdGxlVW5pcXVlID0gIXRoaXMub2JqZWN0dHlwZXM/LmZpbmQoXG4gICAgICBvYmplY3R0eXBlID0+IG9iamVjdHR5cGUudGl0bGUgPT09IGpzb25PYmplY3R0eXBlLnRpdGxlXG4gICAgKTtcbiAgICBpZiAoaXNWYWxpZCAmJiBpc09iamVjdHR5cGVUaXRsZVVuaXF1ZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkICYmICFpc09iamVjdHR5cGVUaXRsZVVuaXF1ZSkge1xuICAgICAgdGhpcy5jbGVhckRyb3B6b25lKCk7XG4gICAgICB0aGlzLm9wZW5FcnJvclN1YnNjcmlwdGlvbignZHJvcHpvbmUuZXJyb3Iub2JqZWN0dHlwZUFscmVhZHlFeGlzdHMnKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKCFpc1ZhbGlkICYmIGlzT2JqZWN0dHlwZVRpdGxlVW5pcXVlKSB7XG4gICAgICB0aGlzLmNsZWFyRHJvcHpvbmUoKTtcbiAgICAgIHRoaXMub3BlbkVycm9yU3Vic2NyaXB0aW9uKCdkcm9wem9uZS5lcnJvci5pbnZhbGlkT2JqZWN0dHlwZURlZicpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlT2JqZWN0KG9iajogb2JqZWN0LCByZXF1aXJlZEtleXM6IE9iamVjdHR5cGVLZXlzW10pIHtcbiAgICBjb25zdCBvYmpLZXlzID0gT2JqZWN0LmtleXMob2JqKTtcbiAgICByZXR1cm4gcmVxdWlyZWRLZXlzLmV2ZXJ5KGtleSA9PiBvYmpLZXlzLmluY2x1ZGVzKGtleSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNhYmxlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGVuYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KGZhbHNlKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48di1tb2RhbFxuICAjb2JqZWN0TWFuYWdlbWVudFVwbG9hZE1vZGFsXG4gICpuZ0lmPVwie1xuICAgIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luYyxcbiAgICBqc29uU3RyaW5nOiBqc29uU3RyaW5nJCB8IGFzeW5jLFxuICAgIGVycm9yOiBlcnJvciQgfCBhc3luY1xuICB9IGFzIG9ic1wiXG4+XG4gIDxkaXYgcm9sZT1cImhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJhZGQtdGl0bGVcIj5cbiAgICAgIDx2LXRpdGxlIFttYXJnaW5dPVwiZmFsc2VcIj57eyAnb2JqZWN0TWFuYWdlbWVudC51cGxvYWRPYmplY3R0eXBlJyB8IHRyYW5zbGF0ZSB9fTwvdi10aXRsZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgcm9sZT1cImNvbnRlbnRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidXBsb2FkRm9ybVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdiByb2xlPVwiZm9vdGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cbiAgICAgIDx2LWJ1dHRvbiAoY2xpY2tFdmVudCk9XCJjYW5jZWwoKVwiIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIiB0eXBlPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgIHt7ICdvYmplY3RNYW5hZ2VtZW50LmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvdi1idXR0b24+XG4gICAgICA8di1idXR0b25cbiAgICAgICAgKGNsaWNrRXZlbnQpPVwidXBsb2FkRGVmaW5pdGlvbigpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5qc29uU3RyaW5nID09PSAnJyB8fCBvYnMuZGlzYWJsZWRcIlxuICAgICAgICBtZGlJY29uPVwicGx1c1wiXG4gICAgICAgIHR5cGU9XCJzdWNjZXNzXCJcbiAgICAgID5cbiAgICAgICAge3sgJ1VwbG9hZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvdi1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC92LW1vZGFsPlxuXG48bmctdGVtcGxhdGUgI3VwbG9hZEZvcm0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93Rm9ybSQgfCBhc3luY1wiPlxuICAgIDx2YWx0aW1vLWRyb3B6b25lXG4gICAgICBbY2xlYXIkXT1cImNsZWFyJFwiXG4gICAgICAoZmlsZVNlbGVjdGVkKT1cInNldEZpbGUoJGV2ZW50KVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxuICAgICAgW3N1YnRpdGxlXT1cIidkcm9wem9uZS5vYmplY3R0eXBlRGVmJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbZXh0ZXJuYWxFcnJvciRdPVwiZXJyb3IkXCJcbiAgICAgIFttYXhGaWxlc109XCIxXCJcbiAgICA+PC92YWx0aW1vLWRyb3B6b25lPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -1,2 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
1
16
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL29iamVjdC1tYW5hZ2VtZW50L3NyYy9saWIvbW9kZWxzL29iamVjdC1tYW5hZ2VtZW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW50ZXJmYWNlIE9iamVjdHR5cGUge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBvYmplY3R0eXBlbkFwaVBsdWdpbkNvbmZpZ3VyYXRpb25JZDogc3RyaW5nO1xuICBvYmplY3R0eXBlSWQ6IHN0cmluZztcbiAgb2JqZWN0dHlwZVZlcnNpb246IG51bWJlcjtcbiAgb2JqZWN0ZW5BcGlQbHVnaW5Db25maWd1cmF0aW9uSWQ6IHN0cmluZztcbiAgc2hvd0luRGF0YU1lbnU6IGJvb2xlYW47XG4gIGZvcm1EZWZpbml0aW9uVmlldz86IHN0cmluZztcbiAgZm9ybURlZmluaXRpb25FZGl0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaExpc3RDb2x1bW4ge1xuICBvd25lcklkPzogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBrZXk6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBkaXNwbGF5VHlwZTogRGlzcGxheVR5cGU7XG4gIHNvcnRhYmxlOiBib29sZWFuO1xuICBkZWZhdWx0U29ydDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaENvbHVtbiB7XG4gIHByb3BlcnR5TmFtZTogc3RyaW5nO1xuICB0cmFuc2xhdGlvbktleTogc3RyaW5nO1xuICBzb3J0YWJsZT86IGJvb2xlYW47XG4gIHZpZXdUeXBlPzogc3RyaW5nO1xuICBkZWZhdWx0PzogYm9vbGVhbiB8IHN0cmluZztcbiAgZW51bT86IEFycmF5PHN0cmluZz4gfCB7W2tleTogc3RyaW5nXTogc3RyaW5nfTtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGZvcm1hdD86IHN0cmluZztcbiAga2V5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaExpc3RDb2x1bW5WaWV3IHtcbiAgdGl0bGU6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG4gIHBhdGg6IHN0cmluZztcbiAgZGlzcGxheVR5cGU6IHN0cmluZztcbiAgZGlzcGxheVR5cGVQYXJhbWV0ZXJzOiBzdHJpbmc7XG4gIHNvcnRhYmxlOiBib29sZWFuO1xuICBkZWZhdWx0U29ydDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3BsYXlUeXBlIHtcbiAgdHlwZTogc3RyaW5nO1xuICBkaXNwbGF5VHlwZVBhcmFtZXRlcnM6IERpc3BsYXlUeXBlUGFyYW1ldGVycztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNwbGF5VHlwZVBhcmFtZXRlcnMge1xuICBlbnVtPzoge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgfTtcbiAgZGF0ZUZvcm1hdD86IHN0cmluZztcbn1cblxudHlwZSBPYmplY3R0eXBlS2V5cyA9IGtleW9mIE9iamVjdHR5cGU7XG5cbmV4cG9ydCB7T2JqZWN0dHlwZSwgT2JqZWN0dHlwZUtleXN9O1xuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2015-
|
|
2
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
49
49
|
declarations: [],
|
|
50
50
|
}]
|
|
51
51
|
}] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL29iamVjdC1tYW5hZ2VtZW50L3NyYy9saWIvb2JqZWN0LW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBQyx3Q0FBd0MsRUFBQyxNQUFNLDhGQUE4RixDQUFDO0FBQ3RKLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHNFQUFzRSxDQUFDOzs7QUFFbkgsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLFNBQVMsRUFBRSw2QkFBNkI7UUFDeEMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBQztLQUM5QztJQUNEO1FBQ0UsSUFBSSxFQUFFLDhCQUE4QjtRQUNwQyxXQUFXLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUMvQixTQUFTLEVBQUUsd0NBQXdDO1FBQ25ELElBQUksRUFBRSxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUM7S0FDN0M7Q0FDRixDQUFDO0FBT0YsTUFBTSxPQUFPLDZCQUE2Qjs7MkhBQTdCLDZCQUE2Qjs0SEFBN0IsNkJBQTZCLFlBSjlCLFlBQVksOEJBQ1osWUFBWTs0SEFHWCw2QkFBNkIsWUFKOUIsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzNDLFlBQVk7NEZBR1gsNkJBQTZCO2tCQUx6QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN0RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxFQUFFO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGUsIFJvdXRlc30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBdXRoR3VhcmRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5pbXBvcnQge1JPTEVfQURNSU59IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge09iamVjdE1hbmFnZW1lbnREZXRhaWxDb250YWluZXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9vYmplY3QtbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyL29iamVjdC1tYW5hZ2VtZW50LWRldGFpbC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7T2JqZWN0TWFuYWdlbWVudExpc3RDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9vYmplY3QtbWFuYWdlbWVudC1saXN0L29iamVjdC1tYW5hZ2VtZW50LWxpc3QuY29tcG9uZW50JztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnb2JqZWN0LW1hbmFnZW1lbnQnLFxuICAgIGNhbkFjdGl2YXRlOiBbQXV0aEd1YXJkU2VydmljZV0sXG4gICAgY29tcG9uZW50OiBPYmplY3RNYW5hZ2VtZW50TGlzdENvbXBvbmVudCxcbiAgICBkYXRhOiB7dGl0bGU6ICdPYmplY3RzJywgcm9sZXM6IFtST0xFX0FETUlOXX0sXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAnb2JqZWN0LW1hbmFnZW1lbnQvb2JqZWN0LzppZCcsXG4gICAgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRTZXJ2aWNlXSxcbiAgICBjb21wb25lbnQ6IE9iamVjdE1hbmFnZW1lbnREZXRhaWxDb250YWluZXJDb21wb25lbnQsXG4gICAgZGF0YToge3RpdGxlOiAnT2JqZWN0Jywgcm9sZXM6IFtST0xFX0FETUlOXX0sXG4gIH0sXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBPYmplY3RNYW5hZ2VtZW50Um91dGluZ01vZHVsZSB7fVxuIl19
|