@valtimo/connector-management 10.8.0 → 11.1.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 → esm2022}/lib/components/add-connector-configure/add-connector-configure.component.mjs +4 -4
- package/esm2022/lib/components/add-connector-select/add-connector-select.component.mjs +66 -0
- package/{esm2020 → esm2022}/lib/components/connector-link-extension/connector-link-extension.component.mjs +4 -4
- package/esm2022/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.mjs +127 -0
- package/esm2022/lib/components/connector-management/connector-management.component.mjs +102 -0
- package/esm2022/lib/components/connector-modal/connector-modal.component.mjs +95 -0
- package/{esm2020 → esm2022}/lib/components/edit-connector-form/edit-connector-form.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/edit-connector-properties/edit-connector-properties.component.mjs +5 -5
- package/esm2022/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.mjs +173 -0
- package/esm2022/lib/components/edit-taak-connector/edit-taak-connector.component.mjs +143 -0
- package/{esm2020 → esm2022}/lib/components/modify-connector/modify-connector.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/multi-value-connector-property/multi-value-connector-property.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/connector-management-routing.mjs +5 -5
- package/esm2022/lib/connector-management.module.mjs +145 -0
- package/esm2022/lib/services/connector-management/connector-management.service.mjs +56 -0
- package/{esm2020 → esm2022}/lib/services/connector-management-state/connector-management-state.service.mjs +4 -4
- package/esm2022/lib/services/object-api-sync/object-api-sync.service.mjs +47 -0
- package/{fesm2020 → fesm2022}/valtimo-connector-management.mjs +123 -130
- package/fesm2022/valtimo-connector-management.mjs.map +1 -0
- package/lib/components/add-connector-configure/add-connector-configure.component.d.ts +1 -1
- package/lib/components/add-connector-select/add-connector-select.component.d.ts +1 -1
- package/lib/components/connector-link-extension/connector-link-extension.component.d.ts +1 -1
- package/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.d.ts +1 -1
- package/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.d.ts.map +1 -1
- package/lib/components/connector-management/connector-management.component.d.ts +2 -3
- package/lib/components/connector-management/connector-management.component.d.ts.map +1 -1
- package/lib/components/connector-modal/connector-modal.component.d.ts +4 -4
- package/lib/components/connector-modal/connector-modal.component.d.ts.map +1 -1
- package/lib/components/edit-connector-form/edit-connector-form.component.d.ts +1 -1
- package/lib/components/edit-connector-properties/edit-connector-properties.component.d.ts +1 -1
- package/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.d.ts +1 -1
- package/lib/components/edit-taak-connector/edit-taak-connector.component.d.ts +1 -1
- package/lib/components/modify-connector/modify-connector.component.d.ts +1 -1
- package/lib/components/multi-value-connector-property/multi-value-connector-property.component.d.ts +1 -1
- package/lib/connector-management.module.d.ts +1 -3
- package/lib/connector-management.module.d.ts.map +1 -1
- package/lib/services/connector-management/connector-management.service.d.ts.map +1 -1
- package/lib/services/object-api-sync/object-api-sync.service.d.ts.map +1 -1
- package/package.json +8 -15
- package/esm2020/lib/components/add-connector-select/add-connector-select.component.mjs +0 -67
- package/esm2020/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.mjs +0 -129
- package/esm2020/lib/components/connector-management/connector-management.component.mjs +0 -103
- package/esm2020/lib/components/connector-modal/connector-modal.component.mjs +0 -95
- package/esm2020/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.mjs +0 -174
- package/esm2020/lib/components/edit-taak-connector/edit-taak-connector.component.mjs +0 -144
- package/esm2020/lib/connector-management.module.mjs +0 -150
- package/esm2020/lib/services/connector-management/connector-management.service.mjs +0 -56
- package/esm2020/lib/services/object-api-sync/object-api-sync.service.mjs +0 -47
- package/fesm2015/valtimo-connector-management.mjs +0 -2077
- package/fesm2015/valtimo-connector-management.mjs.map +0 -1
- package/fesm2020/valtimo-connector-management.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.form.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/edit-taak-connector/edit-taak-connector.form.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extension/connector-management.extension.init.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/object-sync.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/valtimo-connector-management.mjs +0 -0
|
@@ -0,0 +1,102 @@
|
|
|
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
|
+
*/
|
|
16
|
+
import { Component } from '@angular/core';
|
|
17
|
+
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
18
|
+
import { map, switchMap, take, tap } from 'rxjs/operators';
|
|
19
|
+
import * as i0 from "@angular/core";
|
|
20
|
+
import * as i1 from "../../services/connector-management/connector-management.service";
|
|
21
|
+
import * as i2 from "@ngx-translate/core";
|
|
22
|
+
import * as i3 from "../../services/connector-management-state/connector-management-state.service";
|
|
23
|
+
import * as i4 from "@angular/common";
|
|
24
|
+
import * as i5 from "@valtimo/components";
|
|
25
|
+
import * as i6 from "../connector-modal/connector-modal.component";
|
|
26
|
+
export class ConnectorManagementComponent {
|
|
27
|
+
constructor(connectorManagementService, translateService, stateService) {
|
|
28
|
+
this.connectorManagementService = connectorManagementService;
|
|
29
|
+
this.translateService = translateService;
|
|
30
|
+
this.stateService = stateService;
|
|
31
|
+
this.loading$ = new BehaviorSubject(true);
|
|
32
|
+
this.fields$ = new BehaviorSubject([]);
|
|
33
|
+
this.columns$ = this.fields$.pipe(map(fields => fields.map(field => ({
|
|
34
|
+
dataKey: field.key,
|
|
35
|
+
labelTranslationKey: field.label,
|
|
36
|
+
}))));
|
|
37
|
+
this.currentPageAndSize$ = new BehaviorSubject({
|
|
38
|
+
page: 0,
|
|
39
|
+
size: 10,
|
|
40
|
+
});
|
|
41
|
+
this.pageSizes$ = new BehaviorSubject({
|
|
42
|
+
collectionSize: 0,
|
|
43
|
+
});
|
|
44
|
+
this.pagination$ = combineLatest([
|
|
45
|
+
this.currentPageAndSize$,
|
|
46
|
+
this.pageSizes$,
|
|
47
|
+
]).pipe(map(([currentPage, sizes]) => ({ ...currentPage, ...sizes, page: currentPage.page + 1 })));
|
|
48
|
+
this.connectorInstances$ = combineLatest([
|
|
49
|
+
this.currentPageAndSize$,
|
|
50
|
+
this.translateService.stream('key'),
|
|
51
|
+
this.stateService.refresh$,
|
|
52
|
+
]).pipe(tap(() => this.setFields()), switchMap(([currentPage]) => combineLatest([
|
|
53
|
+
this.connectorManagementService.getConnectorInstances({
|
|
54
|
+
page: currentPage.page,
|
|
55
|
+
size: currentPage.size,
|
|
56
|
+
}),
|
|
57
|
+
this.connectorManagementService.getConnectorTypes(),
|
|
58
|
+
])), tap(([instanceRes]) => {
|
|
59
|
+
this.pageSizes$.pipe(take(1)).subscribe(sizes => {
|
|
60
|
+
this.pageSizes$.next({ ...sizes, collectionSize: instanceRes.totalElements });
|
|
61
|
+
});
|
|
62
|
+
}), map(([instanceRes, typesRes]) => instanceRes.content.map(instance => ({
|
|
63
|
+
...instance,
|
|
64
|
+
typeName: typesRes.find(type => type.id === instance.type.id)?.name,
|
|
65
|
+
}))), tap(() => this.loading$.next(false)));
|
|
66
|
+
}
|
|
67
|
+
ngOnDestroy() {
|
|
68
|
+
this.stateService.hideModal();
|
|
69
|
+
}
|
|
70
|
+
paginationClicked(newPageNumber) {
|
|
71
|
+
this.currentPageAndSize$.pipe(take(1)).subscribe(currentPage => {
|
|
72
|
+
this.currentPageAndSize$.next({ ...currentPage, page: newPageNumber - 1 });
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
paginationSet(newPageSize) {
|
|
76
|
+
if (newPageSize) {
|
|
77
|
+
this.currentPageAndSize$.pipe(take(1)).subscribe(currentPage => {
|
|
78
|
+
this.currentPageAndSize$.next({ ...currentPage, size: newPageSize });
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
rowClicked(instance) {
|
|
83
|
+
this.stateService.setModalType('modify');
|
|
84
|
+
this.stateService.setConnectorInstance(instance);
|
|
85
|
+
this.stateService.showModal();
|
|
86
|
+
}
|
|
87
|
+
showAddModal() {
|
|
88
|
+
this.stateService.setModalType('add');
|
|
89
|
+
this.stateService.showModal();
|
|
90
|
+
}
|
|
91
|
+
setFields() {
|
|
92
|
+
const keys = ['name', 'typeName'];
|
|
93
|
+
this.fields$.next(keys.map(key => ({ label: `connectorManagement.labels.${key}`, key })));
|
|
94
|
+
}
|
|
95
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConnectorManagementComponent, deps: [{ token: i1.ConnectorManagementService }, { token: i2.TranslateService }, { token: i3.ConnectorManagementStateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConnectorManagementComponent, selector: "valtimo-connector-management", 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-page-container\n *ngIf=\"{\n connectorInstances: connectorInstances$ | async,\n fields: fields$ | async,\n columns: columns$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async\n } as obs\"\n>\n <v-page-header>\n <v-page-header-introduction>\n <v-paragraph>{{ 'pages.connectors.description' | translate }}</v-paragraph>\n </v-page-header-introduction>\n <v-page-header-actions>\n <v-button\n (clickEvent)=\"showAddModal()\"\n type=\"primary\"\n mdiIcon=\"plus\"\n [disabled]=\"obs.loading\"\n >\n {{ 'connectorManagement.add' | translate }}\n </v-button>\n </v-page-header-actions>\n </v-page-header>\n <v-page-content>\n <v-table\n [loading]=\"obs.loading\"\n [items]=\"obs.connectorInstances\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n [amountOfLoadingRows]=\"2\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [page]=\"obs.pagination.page\"\n [size]=\"obs.pagination.size\"\n [itemsTranslationKey]=\"'connectorManagement.tableItemsText'\"\n (editButtonClicked)=\"rowClicked($event)\"\n (paginationSizeSet)=\"paginationSet($event)\"\n (paginationPageSet)=\"paginationClicked($event)\"\n ></v-table>\n </v-page-content>\n</v-page-container>\n\n<valtimo-connector-modal></valtimo-connector-modal>\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 */\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i5.TableComponent, selector: "v-table", inputs: ["items", "columns", "loading", "showEditButtons", "showPagination", "editButtonTranslationKey", "itemsTranslationKey", "noResultsTranslationKey", "mobileBreakpointPx", "amountOfLoadingRows", "collectionSize", "page", "size"], outputs: ["editButtonClicked", "paginationSizeSet", "paginationPageSet"] }, { kind: "component", type: i5.PageContainerComponent, selector: "v-page-container" }, { kind: "component", type: i5.PageContentComponent, selector: "v-page-content" }, { kind: "component", type: i5.VPageHeaderComponent, selector: "v-page-header" }, { kind: "component", type: i5.PageHeaderActionsComponent, selector: "v-page-header-actions" }, { kind: "component", type: i5.PageHeaderIntroductionComponent, selector: "v-page-header-introduction" }, { kind: "component", type: i5.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading"] }, { kind: "component", type: i6.ConnectorModalComponent, selector: "valtimo-connector-modal" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
97
|
+
}
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConnectorManagementComponent, decorators: [{
|
|
99
|
+
type: Component,
|
|
100
|
+
args: [{ selector: 'valtimo-connector-management', 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-page-container\n *ngIf=\"{\n connectorInstances: connectorInstances$ | async,\n fields: fields$ | async,\n columns: columns$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async\n } as obs\"\n>\n <v-page-header>\n <v-page-header-introduction>\n <v-paragraph>{{ 'pages.connectors.description' | translate }}</v-paragraph>\n </v-page-header-introduction>\n <v-page-header-actions>\n <v-button\n (clickEvent)=\"showAddModal()\"\n type=\"primary\"\n mdiIcon=\"plus\"\n [disabled]=\"obs.loading\"\n >\n {{ 'connectorManagement.add' | translate }}\n </v-button>\n </v-page-header-actions>\n </v-page-header>\n <v-page-content>\n <v-table\n [loading]=\"obs.loading\"\n [items]=\"obs.connectorInstances\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n [amountOfLoadingRows]=\"2\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [page]=\"obs.pagination.page\"\n [size]=\"obs.pagination.size\"\n [itemsTranslationKey]=\"'connectorManagement.tableItemsText'\"\n (editButtonClicked)=\"rowClicked($event)\"\n (paginationSizeSet)=\"paginationSet($event)\"\n (paginationPageSet)=\"paginationClicked($event)\"\n ></v-table>\n </v-page-content>\n</v-page-container>\n\n<valtimo-connector-modal></valtimo-connector-modal>\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 */\n"] }]
|
|
101
|
+
}], ctorParameters: function () { return [{ type: i1.ConnectorManagementService }, { type: i2.TranslateService }, { type: i3.ConnectorManagementStateService }]; } });
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLW1hbmFnZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb25uZWN0b3ItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvY29ubmVjdG9yLW1hbmFnZW1lbnQvY29ubmVjdG9yLW1hbmFnZW1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb25uZWN0b3ItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvY29ubmVjdG9yLW1hbmFnZW1lbnQvY29ubmVjdG9yLW1hbmFnZW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBRWhFLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFXekQsTUFBTSxPQUFPLDRCQUE0QjtJQThEdkMsWUFDbUIsMEJBQXNELEVBQ3RELGdCQUFrQyxFQUNsQyxZQUE2QztRQUY3QywrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsaUJBQVksR0FBWixZQUFZLENBQWlDO1FBaEV2RCxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFFOUMsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFzQyxFQUFFLENBQUMsQ0FBQztRQUV2RSxhQUFRLEdBQW1DLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNuRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUs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QXBHVSw0QkFBNEI7bUdBQTVCLDRCQUE0QixvRUM5QnpDLDBnRUEyREE7OzRGRDdCYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Nvbm5lY3Rvckluc3RhbmNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcCwgdGFrZSwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDb25uZWN0b3JNYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29ubmVjdG9yLW1hbmFnZW1lbnQvY29ubmVjdG9yLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQge0Nvbm5lY3Rvck1hbmFnZW1lbnRTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nvbm5lY3Rvci1tYW5hZ2VtZW50LXN0YXRlL2Nvbm5lY3Rvci1tYW5hZ2VtZW50LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtQYWdpbmF0aW9uLCBUYWJsZUNvbHVtbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tY29ubmVjdG9yLW1hbmFnZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29ubmVjdG9yLW1hbmFnZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb25uZWN0b3ItbWFuYWdlbWVudC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb25uZWN0b3JNYW5hZ2VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgbG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gIHJlYWRvbmx5IGZpZWxkcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PHtrZXk6IHN0cmluZzsgbGFiZWw6IHN0cmluZ30+PihbXSk7XG5cbiAgcmVhZG9ubHkgY29sdW1ucyQ6IE9ic2VydmFibGU8QXJyYXk8VGFibGVDb2x1bW4+PiA9IHRoaXMuZmllbGRzJC5waXBlKFxuICAgIG1hcChmaWVsZHMgPT5cbiAgICAgIGZpZWxkcy5tYXAoZmllbGQgPT4gKHtcbiAgICAgICAgZGF0YUtleTogZmllbGQua2V5LFxuICAgICAgICBsYWJlbFRyYW5zbGF0aW9uS2V5OiBmaWVsZC5sYWJlbCxcbiAgICAgIH0pKVxuICAgIClcbiAgKTtcblxuICByZWFkb25seSBjdXJyZW50UGFnZUFuZFNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJ0aWFsPFBhZ2luYXRpb24+Pih7XG4gICAgcGFnZTogMCxcbiAgICBzaXplOiAxMCxcbiAgfSk7XG5cbiAgcmVhZG9ubHkgcGFnZVNpemVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFydGlhbDxQYWdpbmF0aW9uPj4oe1xuICAgIGNvbGxlY3Rpb25TaXplOiAwLFxuICB9KTtcblxuICByZWFkb25seSBwYWdpbmF0aW9uJDogT2JzZXJ2YWJsZTxQYWdpbmF0aW9uPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuY3VycmVudFBhZ2VBbmRTaXplJCxcbiAgICB0aGlzLnBhZ2VTaXplcyQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKFxuICAgICAgKFtjdXJyZW50UGFnZSwgc2l6ZXNdKSA9PlxuICAgICAgICAoey4uLmN1cnJlbnRQYWdlLCAuLi5zaXplcywgcGFnZTogY3VycmVudFBhZ2UucGFnZSArIDF9KSBhcyBQYWdpbmF0aW9uXG4gICAgKVxuICApO1xuXG4gIHJlYWRvbmx5IGNvbm5lY3Rvckluc3RhbmNlcyQ6IE9ic2VydmFibGU8QXJyYXk8Q29ubmVjdG9ySW5zdGFuY2U+PiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuY3VycmVudFBhZ2VBbmRTaXplJCxcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgICB0aGlzLnN0YXRlU2VydmljZS5yZWZyZXNoJCxcbiAgXSkucGlwZShcbiAgICB0YXAoKCkgPT4gdGhpcy5zZXRGaWVsZHMoKSksXG4gICAgc3dpdGNoTWFwKChbY3VycmVudFBhZ2VdKSA9PlxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMuY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2UuZ2V0Q29ubmVjdG9ySW5zdGFuY2VzKHtcbiAgICAgICAgICBwYWdlOiBjdXJyZW50UGFnZS5wYWdlLFxuICAgICAgICAgIHNpemU6IGN1cnJlbnRQYWdlLnNpemUsXG4gICAgICAgIH0pLFxuICAgICAgICB0aGlzLmNvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlLmdldENvbm5lY3RvclR5cGVzKCksXG4gICAgICBdKVxuICAgICksXG4gICAgdGFwKChbaW5zdGFuY2VSZXNdKSA9PiB7XG4gICAgICB0aGlzLnBhZ2VTaXplcyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoc2l6ZXMgPT4ge1xuICAgICAgICB0aGlzLnBhZ2VTaXplcyQubmV4dCh7Li4uc2l6ZXMsIGNvbGxlY3Rpb25TaXplOiBpbnN0YW5jZVJlcy50b3RhbEVsZW1lbnRzfSk7XG4gICAgICB9KTtcbiAgICB9KSxcbiAgICBtYXAoKFtpbnN0YW5jZVJlcywgdHlwZXNSZXNdKSA9PlxuICAgICAgaW5zdGFuY2VSZXMuY29udGVudC5tYXAoaW5zdGFuY2UgPT4gKHtcbiAgICAgICAgLi4uaW5zdGFuY2UsXG4gICAgICAgIHR5cGVOYW1lOiB0eXBlc1Jlcy5maW5kKHR5cGUgPT4gdHlwZS5pZCA9PT0gaW5zdGFuY2UudHlwZS5pZCk/Lm5hbWUsXG4gICAgICB9KSlcbiAgICApLFxuICAgIHRhcCgoKSA9PiB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2U6IENvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlU2VydmljZTogQ29ubmVjdG9yTWFuYWdlbWVudFN0YXRlU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuaGlkZU1vZGFsKCk7XG4gIH1cblxuICBwYWdpbmF0aW9uQ2xpY2tlZChuZXdQYWdlTnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50UGFnZUFuZFNpemUkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGN1cnJlbnRQYWdlID0+IHtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2VBbmRTaXplJC5uZXh0KHsuLi5jdXJyZW50UGFnZSwgcGFnZTogbmV3UGFnZU51bWJlciAtIDF9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHBhZ2luYXRpb25TZXQobmV3UGFnZVNpemUpOiB2b2lkIHtcbiAgICBpZiAobmV3UGFnZVNpemUpIHtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2VBbmRTaXplJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShjdXJyZW50UGFnZSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2VBbmRTaXplJC5uZXh0KHsuLi5jdXJyZW50UGFnZSwgc2l6ZTogbmV3UGFnZVNpemV9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJvd0NsaWNrZWQoaW5zdGFuY2U6IENvbm5lY3Rvckluc3RhbmNlKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2V0TW9kYWxUeXBlKCdtb2RpZnknKTtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zZXRDb25uZWN0b3JJbnN0YW5jZShpbnN0YW5jZSk7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2hvd01vZGFsKCk7XG4gIH1cblxuICBzaG93QWRkTW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2V0TW9kYWxUeXBlKCdhZGQnKTtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zaG93TW9kYWwoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RmllbGRzKCk6IHZvaWQge1xuICAgIGNvbnN0IGtleXM6IEFycmF5PHN0cmluZz4gPSBbJ25hbWUnLCAndHlwZU5hbWUnXTtcbiAgICB0aGlzLmZpZWxkcyQubmV4dChrZXlzLm1hcChrZXkgPT4gKHtsYWJlbDogYGNvbm5lY3Rvck1hbmFnZW1lbnQubGFiZWxzLiR7a2V5fWAsIGtleX0pKSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHYtcGFnZS1jb250YWluZXJcbiAgKm5nSWY9XCJ7XG4gICAgY29ubmVjdG9ySW5zdGFuY2VzOiBjb25uZWN0b3JJbnN0YW5jZXMkIHwgYXN5bmMsXG4gICAgZmllbGRzOiBmaWVsZHMkIHwgYXN5bmMsXG4gICAgY29sdW1uczogY29sdW1ucyQgfCBhc3luYyxcbiAgICBwYWdpbmF0aW9uOiBwYWdpbmF0aW9uJCB8IGFzeW5jLFxuICAgIGxvYWRpbmc6IGxvYWRpbmckIHwgYXN5bmNcbiAgfSBhcyBvYnNcIlxuPlxuICA8di1wYWdlLWhlYWRlcj5cbiAgICA8di1wYWdlLWhlYWRlci1pbnRyb2R1Y3Rpb24+XG4gICAgICA8di1wYXJhZ3JhcGg+e3sgJ3BhZ2VzLmNvbm5lY3RvcnMuZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19PC92LXBhcmFncmFwaD5cbiAgICA8L3YtcGFnZS1oZWFkZXItaW50cm9kdWN0aW9uPlxuICAgIDx2LXBhZ2UtaGVhZGVyLWFjdGlvbnM+XG4gICAgICA8di1idXR0b25cbiAgICAgICAgKGNsaWNrRXZlbnQpPVwic2hvd0FkZE1vZGFsKClcIlxuICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgIG1kaUljb249XCJwbHVzXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5sb2FkaW5nXCJcbiAgICAgID5cbiAgICAgICAge3sgJ2Nvbm5lY3Rvck1hbmFnZW1lbnQuYWRkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC92LWJ1dHRvbj5cbiAgICA8L3YtcGFnZS1oZWFkZXItYWN0aW9ucz5cbiAgPC92LXBhZ2UtaGVhZGVyPlxuICA8di1wYWdlLWNvbnRlbnQ+XG4gICAgPHYtdGFibGVcbiAgICAgIFtsb2FkaW5nXT1cIm9icy5sb2FkaW5nXCJcbiAgICAgIFtpdGVtc109XCJvYnMuY29ubmVjdG9ySW5zdGFuY2VzXCJcbiAgICAgIFtjb2x1bW5zXT1cIm9icy5jb2x1bW5zXCJcbiAgICAgIFtzaG93RWRpdEJ1dHRvbnNdPVwidHJ1ZVwiXG4gICAgICBbYW1vdW50T2ZMb2FkaW5nUm93c109XCIyXCJcbiAgICAgIFtjb2xsZWN0aW9uU2l6ZV09XCJvYnMucGFnaW5hdGlvbi5jb2xsZWN0aW9uU2l6ZVwiXG4gICAgICBbcGFnZV09XCJvYnMucGFnaW5hdGlvbi5wYWdlXCJcbiAgICAgIFtzaXplXT1cIm9icy5wYWdpbmF0aW9uLnNpemVcIlxuICAgICAgW2l0ZW1zVHJhbnNsYXRpb25LZXldPVwiJ2Nvbm5lY3Rvck1hbmFnZW1lbnQudGFibGVJdGVtc1RleHQnXCJcbiAgICAgIChlZGl0QnV0dG9uQ2xpY2tlZCk9XCJyb3dDbGlja2VkKCRldmVudClcIlxuICAgICAgKHBhZ2luYXRpb25TaXplU2V0KT1cInBhZ2luYXRpb25TZXQoJGV2ZW50KVwiXG4gICAgICAocGFnaW5hdGlvblBhZ2VTZXQpPVwicGFnaW5hdGlvbkNsaWNrZWQoJGV2ZW50KVwiXG4gICAgPjwvdi10YWJsZT5cbiAgPC92LXBhZ2UtY29udGVudD5cbjwvdi1wYWdlLWNvbnRhaW5lcj5cblxuPHZhbHRpbW8tY29ubmVjdG9yLW1vZGFsPjwvdmFsdGltby1jb25uZWN0b3ItbW9kYWw+XG4iXX0=
|
|
@@ -0,0 +1,95 @@
|
|
|
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
|
+
*/
|
|
16
|
+
import { Component, ViewChild } from '@angular/core';
|
|
17
|
+
import { Subject } from 'rxjs';
|
|
18
|
+
import { take } from 'rxjs/operators';
|
|
19
|
+
import * as i0 from "@angular/core";
|
|
20
|
+
import * as i1 from "../../services/connector-management-state/connector-management-state.service";
|
|
21
|
+
import * as i2 from "@valtimo/components";
|
|
22
|
+
import * as i3 from "@angular/common";
|
|
23
|
+
import * as i4 from "../add-connector-select/add-connector-select.component";
|
|
24
|
+
import * as i5 from "../add-connector-configure/add-connector-configure.component";
|
|
25
|
+
import * as i6 from "../modify-connector/modify-connector.component";
|
|
26
|
+
import * as i7 from "@ngx-translate/core";
|
|
27
|
+
export class ConnectorModalComponent {
|
|
28
|
+
constructor(stateService, modalService) {
|
|
29
|
+
this.stateService = stateService;
|
|
30
|
+
this.modalService = modalService;
|
|
31
|
+
this.connectorTypeSelected$ = this.stateService.selectedConnector$;
|
|
32
|
+
this.saveButtonDisabled$ = this.stateService.saveButtonDisabled$;
|
|
33
|
+
this.inputDisabled$ = this.stateService.inputDisabled$;
|
|
34
|
+
this.hideModalSaveButton$ = this.stateService.hideModalSaveButton$;
|
|
35
|
+
this.returnToFirstStepSubject$ = new Subject();
|
|
36
|
+
}
|
|
37
|
+
ngAfterViewInit() {
|
|
38
|
+
this.openShowSubscription();
|
|
39
|
+
this.openHideSubscription();
|
|
40
|
+
}
|
|
41
|
+
ngOnDestroy() {
|
|
42
|
+
this.showSubscription?.unsubscribe();
|
|
43
|
+
this.hideSubscription?.unsubscribe();
|
|
44
|
+
}
|
|
45
|
+
hide() {
|
|
46
|
+
this.stateService.disableInput();
|
|
47
|
+
this.modalService.closeModal(() => {
|
|
48
|
+
this.returnToFirstStep();
|
|
49
|
+
this.stateService.enableInput();
|
|
50
|
+
this.stateService.clearSelectedConnector();
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
complete() {
|
|
54
|
+
this.stateService.save();
|
|
55
|
+
}
|
|
56
|
+
delete() {
|
|
57
|
+
this.stateService.delete();
|
|
58
|
+
}
|
|
59
|
+
openShowSubscription() {
|
|
60
|
+
this.showSubscription = this.stateService.showModal$.subscribe(() => {
|
|
61
|
+
this.show();
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
openHideSubscription() {
|
|
65
|
+
this.hideSubscription = this.stateService.hideModal$.subscribe(() => {
|
|
66
|
+
this.hide();
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
returnToFirstStep() {
|
|
70
|
+
this.returnToFirstStepSubject$.next(true);
|
|
71
|
+
}
|
|
72
|
+
show() {
|
|
73
|
+
this.stateService.modalType$.pipe(take(1)).subscribe(modalType => {
|
|
74
|
+
if (modalType === 'add') {
|
|
75
|
+
this.modalService.openModal(this.connectorCreateModal);
|
|
76
|
+
}
|
|
77
|
+
else if (modalType === 'modify') {
|
|
78
|
+
this.modalService.openModal(this.connectorEditModal);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConnectorModalComponent, deps: [{ token: i1.ConnectorManagementStateService }, { token: i2.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
83
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConnectorModalComponent, selector: "valtimo-connector-modal", viewQueries: [{ propertyName: "connectorCreateModal", first: true, predicate: ["connectorCreateModal"], descendants: true }, { propertyName: "connectorEditModal", first: true, predicate: ["connectorEditModal"], 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 #connectorEditModal>\n <div role=\"header\">\n <div class=\"edit-connector-title\">\n <v-title [margin]=\"false\">{{ 'connectorManagement.modify' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <valtimo-modify-connector\n [showSaveButton]=\"false\"\n [showDeleteButton]=\"false\"\n ></valtimo-modify-connector>\n </div>\n <div role=\"footer\">\n <div class=\"edit-connector-buttons\">\n <v-button\n [disabled]=\"inputDisabled$ | async\"\n (clickEvent)=\"delete()\"\n [mdiIcon]=\"'delete'\"\n type=\"danger\"\n >{{ 'connectorManagement.remove' | translate }}</v-button\n >\n <v-button\n *ngIf=\"(hideModalSaveButton$ | async) === false\"\n [disabled]=\"(saveButtonDisabled$ | async) || (inputDisabled$ | async)\"\n (clickEvent)=\"complete()\"\n [mdiIcon]=\"'check'\"\n type=\"success\"\n >{{ 'connectorManagement.save' | translate }}</v-button\n >\n </div>\n </div>\n</v-modal>\n\n<v-stepper-container\n (completeEvent)=\"complete()\"\n (cancelClickEvent)=\"hide()\"\n [disabled]=\"inputDisabled$ | async\"\n [returnToFirstStepSubject$]=\"returnToFirstStepSubject$\"\n>\n <v-modal #connectorCreateModal (closeEvent)=\"hide()\">\n <div role=\"header\">\n <v-stepper-header></v-stepper-header>\n </div>\n <div role=\"content\">\n <v-stepper-content>\n <v-stepper-step titleTranslationKey=\"addConnectorSteps.step0\">\n <valtimo-add-connector-select></valtimo-add-connector-select>\n </v-stepper-step>\n <v-stepper-step titleTranslationKey=\"addConnectorSteps.step1\">\n <valtimo-add-connector-configure\n [showSaveButton]=\"false\"\n ></valtimo-add-connector-configure>\n </v-stepper-step>\n </v-stepper-content>\n </div>\n <div role=\"footer\">\n <v-stepper-footer>\n <v-stepper-footer-step\n nextButtonTranslationKey=\"addConnectorSteps.step1\"\n [nextButtonEnabled]=\"connectorTypeSelected$ | async\"\n ></v-stepper-footer-step>\n <v-stepper-footer-step\n completeButtonTranslationKey=\"addConnectorSteps.complete\"\n [completeButtonEnabled]=\"(saveButtonDisabled$ | async) === false\"\n [showCompleteButton]=\"(hideModalSaveButton$ | async) === false\"\n ></v-stepper-footer-step>\n </v-stepper-footer>\n </div>\n </v-modal>\n</v-stepper-container>\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 */.edit-connector-buttons,.edit-connector-title{width:100%;display:flex;flex-direction:row;justify-content:space-between}.edit-connector-title{justify-content:center}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i2.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i2.StepperContainerComponent, selector: "v-stepper-container", inputs: ["returnToFirstStepSubject$", "disabled"], outputs: ["cancelClickEvent", "completeEvent", "nextStepEvent"] }, { kind: "component", type: i2.StepperContentComponent, selector: "v-stepper-content" }, { kind: "component", type: i2.StepperFooterComponent, selector: "v-stepper-footer" }, { kind: "component", type: i2.StepperHeaderComponent, selector: "v-stepper-header" }, { kind: "component", type: i2.StepperStepComponent, selector: "v-stepper-step", inputs: ["titleTranslationKey"] }, { kind: "component", type: i2.StepperFooterStepComponent, selector: "v-stepper-footer-step", inputs: ["nextButtonEnabled", "completeButtonEnabled", "nextButtonTranslationKey", "cancelButtonTranslationKey", "completeButtonTranslationKey", "completeButtonMdiIcon", "showCompleteButton"] }, { kind: "component", type: i2.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "component", type: i4.AddConnectorSelectComponent, selector: "valtimo-add-connector-select" }, { kind: "component", type: i5.AddConnectorConfigureComponent, selector: "valtimo-add-connector-configure", inputs: ["showSaveButton"] }, { kind: "component", type: i6.ModifyConnectorComponent, selector: "valtimo-modify-connector", inputs: ["showSaveButton", "showDeleteButton"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
|
|
84
|
+
}
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConnectorModalComponent, decorators: [{
|
|
86
|
+
type: Component,
|
|
87
|
+
args: [{ selector: 'valtimo-connector-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 #connectorEditModal>\n <div role=\"header\">\n <div class=\"edit-connector-title\">\n <v-title [margin]=\"false\">{{ 'connectorManagement.modify' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <valtimo-modify-connector\n [showSaveButton]=\"false\"\n [showDeleteButton]=\"false\"\n ></valtimo-modify-connector>\n </div>\n <div role=\"footer\">\n <div class=\"edit-connector-buttons\">\n <v-button\n [disabled]=\"inputDisabled$ | async\"\n (clickEvent)=\"delete()\"\n [mdiIcon]=\"'delete'\"\n type=\"danger\"\n >{{ 'connectorManagement.remove' | translate }}</v-button\n >\n <v-button\n *ngIf=\"(hideModalSaveButton$ | async) === false\"\n [disabled]=\"(saveButtonDisabled$ | async) || (inputDisabled$ | async)\"\n (clickEvent)=\"complete()\"\n [mdiIcon]=\"'check'\"\n type=\"success\"\n >{{ 'connectorManagement.save' | translate }}</v-button\n >\n </div>\n </div>\n</v-modal>\n\n<v-stepper-container\n (completeEvent)=\"complete()\"\n (cancelClickEvent)=\"hide()\"\n [disabled]=\"inputDisabled$ | async\"\n [returnToFirstStepSubject$]=\"returnToFirstStepSubject$\"\n>\n <v-modal #connectorCreateModal (closeEvent)=\"hide()\">\n <div role=\"header\">\n <v-stepper-header></v-stepper-header>\n </div>\n <div role=\"content\">\n <v-stepper-content>\n <v-stepper-step titleTranslationKey=\"addConnectorSteps.step0\">\n <valtimo-add-connector-select></valtimo-add-connector-select>\n </v-stepper-step>\n <v-stepper-step titleTranslationKey=\"addConnectorSteps.step1\">\n <valtimo-add-connector-configure\n [showSaveButton]=\"false\"\n ></valtimo-add-connector-configure>\n </v-stepper-step>\n </v-stepper-content>\n </div>\n <div role=\"footer\">\n <v-stepper-footer>\n <v-stepper-footer-step\n nextButtonTranslationKey=\"addConnectorSteps.step1\"\n [nextButtonEnabled]=\"connectorTypeSelected$ | async\"\n ></v-stepper-footer-step>\n <v-stepper-footer-step\n completeButtonTranslationKey=\"addConnectorSteps.complete\"\n [completeButtonEnabled]=\"(saveButtonDisabled$ | async) === false\"\n [showCompleteButton]=\"(hideModalSaveButton$ | async) === false\"\n ></v-stepper-footer-step>\n </v-stepper-footer>\n </div>\n </v-modal>\n</v-stepper-container>\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 */.edit-connector-buttons,.edit-connector-title{width:100%;display:flex;flex-direction:row;justify-content:space-between}.edit-connector-title{justify-content:center}\n"] }]
|
|
88
|
+
}], ctorParameters: function () { return [{ type: i1.ConnectorManagementStateService }, { type: i2.ModalService }]; }, propDecorators: { connectorCreateModal: [{
|
|
89
|
+
type: ViewChild,
|
|
90
|
+
args: ['connectorCreateModal']
|
|
91
|
+
}], connectorEditModal: [{
|
|
92
|
+
type: ViewChild,
|
|
93
|
+
args: ['connectorEditModal']
|
|
94
|
+
}] } });
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29ubmVjdG9yLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Nvbm5lY3Rvci1tb2RhbC9jb25uZWN0b3ItbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb25uZWN0b3ItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvY29ubmVjdG9yLW1vZGFsL2Nvbm5lY3Rvci1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBZ0IsU0FBUyxFQUFhLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQWEsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBR3ZELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBUXBDLE1BQU0sT0FBTyx1QkFBdUI7SUFhbEMsWUFDbUIsWUFBNkMsRUFDN0MsWUFBMEI7UUFEMUIsaUJBQVksR0FBWixZQUFZLENBQWlDO1FBQzdDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBUnBDLDJCQUFzQixHQUE4QixJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDO1FBQ3pGLHdCQUFtQixHQUF3QixJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDO1FBQ2pGLG1CQUFjLEdBQXdCLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDO1FBQ3ZFLHlCQUFvQixHQUF3QixJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDO1FBQ25GLDhCQUF5QixHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFLekQsQ0FBQztJQUVKLGVBQWU7UUFDYixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNoQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNsRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbEUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLElBQUk7UUFDVixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQy9ELElBQUksU0FBUyxLQUFLLEtBQUssRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDeEQ7aUJBQU0sSUFBSSxTQUFTLEtBQUssUUFBUSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQzthQUN0RDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FyRVUsdUJBQXVCO21HQUF2Qix1QkFBdUIsd1NDNUJwQyw0bEdBc0ZBOzs0RkQxRGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHlCQUF5QjtpSkFLQSxvQkFBb0I7c0JBQXRELFNBQVM7dUJBQUMsc0JBQXNCO2dCQUNBLGtCQUFrQjtzQkFBbEQsU0FBUzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgT25EZXN0cm95LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb25uZWN0b3JUeXBlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25uZWN0b3ItbWFuYWdlbWVudC1zdGF0ZS9jb25uZWN0b3ItbWFuYWdlbWVudC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtWTW9kYWxDb21wb25lbnQsIE1vZGFsU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tY29ubmVjdG9yLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nvbm5lY3Rvci1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nvbm5lY3Rvci1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb25uZWN0b3JNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ2Nvbm5lY3RvckNyZWF0ZU1vZGFsJykgY29ubmVjdG9yQ3JlYXRlTW9kYWw6IFZNb2RhbENvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgnY29ubmVjdG9yRWRpdE1vZGFsJykgY29ubmVjdG9yRWRpdE1vZGFsOiBWTW9kYWxDb21wb25lbnQ7XG5cbiAgc2hvd1N1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgaGlkZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICByZWFkb25seSBjb25uZWN0b3JUeXBlU2VsZWN0ZWQkOiBPYnNlcnZhYmxlPENvbm5lY3RvclR5cGU+ID0gdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRDb25uZWN0b3IkO1xuICByZWFkb25seSBzYXZlQnV0dG9uRGlzYWJsZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5zdGF0ZVNlcnZpY2Uuc2F2ZUJ1dHRvbkRpc2FibGVkJDtcbiAgcmVhZG9ubHkgaW5wdXREaXNhYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnN0YXRlU2VydmljZS5pbnB1dERpc2FibGVkJDtcbiAgcmVhZG9ubHkgaGlkZU1vZGFsU2F2ZUJ1dHRvbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnN0YXRlU2VydmljZS5oaWRlTW9kYWxTYXZlQnV0dG9uJDtcbiAgcmVhZG9ubHkgcmV0dXJuVG9GaXJzdFN0ZXBTdWJqZWN0JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IENvbm5lY3Rvck1hbmFnZW1lbnRTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZVxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblNob3dTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5IaWRlU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5oaWRlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5kaXNhYmxlSW5wdXQoKTtcbiAgICB0aGlzLm1vZGFsU2VydmljZS5jbG9zZU1vZGFsKCgpID0+IHtcbiAgICAgIHRoaXMucmV0dXJuVG9GaXJzdFN0ZXAoKTtcbiAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmVuYWJsZUlucHV0KCk7XG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5jbGVhclNlbGVjdGVkQ29ubmVjdG9yKCk7XG4gICAgfSk7XG4gIH1cblxuICBjb21wbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zYXZlKCk7XG4gIH1cblxuICBkZWxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuZGVsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TaG93U3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1N1YnNjcmlwdGlvbiA9IHRoaXMuc3RhdGVTZXJ2aWNlLnNob3dNb2RhbCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc2hvdygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuSGlkZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVTdWJzY3JpcHRpb24gPSB0aGlzLnN0YXRlU2VydmljZS5oaWRlTW9kYWwkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmV0dXJuVG9GaXJzdFN0ZXAoKTogdm9pZCB7XG4gICAgdGhpcy5yZXR1cm5Ub0ZpcnN0U3RlcFN1YmplY3QkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIHNob3coKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UubW9kYWxUeXBlJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShtb2RhbFR5cGUgPT4ge1xuICAgICAgaWYgKG1vZGFsVHlwZSA9PT0gJ2FkZCcpIHtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3Blbk1vZGFsKHRoaXMuY29ubmVjdG9yQ3JlYXRlTW9kYWwpO1xuICAgICAgfSBlbHNlIGlmIChtb2RhbFR5cGUgPT09ICdtb2RpZnknKSB7XG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW5Nb2RhbCh0aGlzLmNvbm5lY3RvckVkaXRNb2RhbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHYtbW9kYWwgI2Nvbm5lY3RvckVkaXRNb2RhbD5cbiAgPGRpdiByb2xlPVwiaGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImVkaXQtY29ubmVjdG9yLXRpdGxlXCI+XG4gICAgICA8di10aXRsZSBbbWFyZ2luXT1cImZhbHNlXCI+e3sgJ2Nvbm5lY3Rvck1hbmFnZW1lbnQubW9kaWZ5JyB8IHRyYW5zbGF0ZSB9fTwvdi10aXRsZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgcm9sZT1cImNvbnRlbnRcIj5cbiAgICA8dmFsdGltby1tb2RpZnktY29ubmVjdG9yXG4gICAgICBbc2hvd1NhdmVCdXR0b25dPVwiZmFsc2VcIlxuICAgICAgW3Nob3dEZWxldGVCdXR0b25dPVwiZmFsc2VcIlxuICAgID48L3ZhbHRpbW8tbW9kaWZ5LWNvbm5lY3Rvcj5cbiAgPC9kaXY+XG4gIDxkaXYgcm9sZT1cImZvb3RlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJlZGl0LWNvbm5lY3Rvci1idXR0b25zXCI+XG4gICAgICA8di1idXR0b25cbiAgICAgICAgW2Rpc2FibGVkXT1cImlucHV0RGlzYWJsZWQkIHwgYXN5bmNcIlxuICAgICAgICAoY2xpY2tFdmVudCk9XCJkZWxldGUoKVwiXG4gICAgICAgIFttZGlJY29uXT1cIidkZWxldGUnXCJcbiAgICAgICAgdHlwZT1cImRhbmdlclwiXG4gICAgICAgID57eyAnY29ubmVjdG9yTWFuYWdlbWVudC5yZW1vdmUnIHwgdHJhbnNsYXRlIH19PC92LWJ1dHRvblxuICAgICAgPlxuICAgICAgPHYtYnV0dG9uXG4gICAgICAgICpuZ0lmPVwiKGhpZGVNb2RhbFNhdmVCdXR0b24kIHwgYXN5bmMpID09PSBmYWxzZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIoc2F2ZUJ1dHRvbkRpc2FibGVkJCB8IGFzeW5jKSB8fCAoaW5wdXREaXNhYmxlZCQgfCBhc3luYylcIlxuICAgICAgICAoY2xpY2tFdmVudCk9XCJjb21wbGV0ZSgpXCJcbiAgICAgICAgW21kaUljb25dPVwiJ2NoZWNrJ1wiXG4gICAgICAgIHR5cGU9XCJzdWNjZXNzXCJcbiAgICAgICAgPnt7ICdjb25uZWN0b3JNYW5hZ2VtZW50LnNhdmUnIHwgdHJhbnNsYXRlIH19PC92LWJ1dHRvblxuICAgICAgPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvdi1tb2RhbD5cblxuPHYtc3RlcHBlci1jb250YWluZXJcbiAgKGNvbXBsZXRlRXZlbnQpPVwiY29tcGxldGUoKVwiXG4gIChjYW5jZWxDbGlja0V2ZW50KT1cImhpZGUoKVwiXG4gIFtkaXNhYmxlZF09XCJpbnB1dERpc2FibGVkJCB8IGFzeW5jXCJcbiAgW3JldHVyblRvRmlyc3RTdGVwU3ViamVjdCRdPVwicmV0dXJuVG9GaXJzdFN0ZXBTdWJqZWN0JFwiXG4+XG4gIDx2LW1vZGFsICNjb25uZWN0b3JDcmVhdGVNb2RhbCAoY2xvc2VFdmVudCk9XCJoaWRlKClcIj5cbiAgICA8ZGl2IHJvbGU9XCJoZWFkZXJcIj5cbiAgICAgIDx2LXN0ZXBwZXItaGVhZGVyPjwvdi1zdGVwcGVyLWhlYWRlcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHJvbGU9XCJjb250ZW50XCI+XG4gICAgICA8di1zdGVwcGVyLWNvbnRlbnQ+XG4gICAgICAgIDx2LXN0ZXBwZXItc3RlcCB0aXRsZVRyYW5zbGF0aW9uS2V5PVwiYWRkQ29ubmVjdG9yU3RlcHMuc3RlcDBcIj5cbiAgICAgICAgICA8dmFsdGltby1hZGQtY29ubmVjdG9yLXNlbGVjdD48L3ZhbHRpbW8tYWRkLWNvbm5lY3Rvci1zZWxlY3Q+XG4gICAgICAgIDwvdi1zdGVwcGVyLXN0ZXA+XG4gICAgICAgIDx2LXN0ZXBwZXItc3RlcCB0aXRsZVRyYW5zbGF0aW9uS2V5PVwiYWRkQ29ubmVjdG9yU3RlcHMuc3RlcDFcIj5cbiAgICAgICAgICA8dmFsdGltby1hZGQtY29ubmVjdG9yLWNvbmZpZ3VyZVxuICAgICAgICAgICAgW3Nob3dTYXZlQnV0dG9uXT1cImZhbHNlXCJcbiAgICAgICAgICA+PC92YWx0aW1vLWFkZC1jb25uZWN0b3ItY29uZmlndXJlPlxuICAgICAgICA8L3Ytc3RlcHBlci1zdGVwPlxuICAgICAgPC92LXN0ZXBwZXItY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHJvbGU9XCJmb290ZXJcIj5cbiAgICAgIDx2LXN0ZXBwZXItZm9vdGVyPlxuICAgICAgICA8di1zdGVwcGVyLWZvb3Rlci1zdGVwXG4gICAgICAgICAgbmV4dEJ1dHRvblRyYW5zbGF0aW9uS2V5PVwiYWRkQ29ubmVjdG9yU3RlcHMuc3RlcDFcIlxuICAgICAgICAgIFtuZXh0QnV0dG9uRW5hYmxlZF09XCJjb25uZWN0b3JUeXBlU2VsZWN0ZWQkIHwgYXN5bmNcIlxuICAgICAgICA+PC92LXN0ZXBwZXItZm9vdGVyLXN0ZXA+XG4gICAgICAgIDx2LXN0ZXBwZXItZm9vdGVyLXN0ZXBcbiAgICAgICAgICBjb21wbGV0ZUJ1dHRvblRyYW5zbGF0aW9uS2V5PVwiYWRkQ29ubmVjdG9yU3RlcHMuY29tcGxldGVcIlxuICAgICAgICAgIFtjb21wbGV0ZUJ1dHRvbkVuYWJsZWRdPVwiKHNhdmVCdXR0b25EaXNhYmxlZCQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgICAgICAgICBbc2hvd0NvbXBsZXRlQnV0dG9uXT1cIihoaWRlTW9kYWxTYXZlQnV0dG9uJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICAgICAgICA+PC92LXN0ZXBwZXItZm9vdGVyLXN0ZXA+XG4gICAgICA8L3Ytc3RlcHBlci1mb290ZXI+XG4gICAgPC9kaXY+XG4gIDwvdi1tb2RhbD5cbjwvdi1zdGVwcGVyLWNvbnRhaW5lcj5cbiJdfQ==
|
package/{esm2020 → esm2022}/lib/components/edit-connector-form/edit-connector-form.component.mjs
RENAMED
|
@@ -30,10 +30,10 @@ export class EditConnectorFormComponent {
|
|
|
30
30
|
this.taakName = 'Taak';
|
|
31
31
|
this.customConnectorNames = [this.productAanvragenName, this.taakName];
|
|
32
32
|
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditConnectorFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EditConnectorFormComponent, selector: "valtimo-edit-connector-form", inputs: { properties: "properties", withDefaults: "withDefaults", showDeleteButton: "showDeleteButton", showSaveButton: "showSaveButton", defaultName: "defaultName", connectorName: "connectorName" }, outputs: { propertiesSave: "propertiesSave", connectorDelete: "connectorDelete" }, 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<valtimo-edit-connector-properties\n *ngIf=\"!customConnectorNames.includes(connectorName)\"\n [properties]=\"properties\"\n [withDefaults]=\"withDefaults\"\n [defaultName]=\"defaultName\"\n [showDeleteButton]=\"showDeleteButton\"\n (propertiesSave)=\"propertiesSave.emit($event)\"\n (connectorDelete)=\"connectorDelete.emit()\"\n [showSaveButton]=\"showSaveButton\"\n>\n</valtimo-edit-connector-properties>\n\n<valtimo-edit-product-aanvragen-connector\n *ngIf=\"connectorName === productAanvragenName\"\n [defaultName]=\"defaultName\"\n [properties]=\"properties\"\n [showDeleteButton]=\"showDeleteButton\"\n (propertiesSave)=\"propertiesSave.emit($event)\"\n (connectorDelete)=\"connectorDelete.emit()\"\n>\n</valtimo-edit-product-aanvragen-connector>\n\n<valtimo-edit-taak-connector\n *ngIf=\"connectorName === taakName\"\n [defaultName]=\"defaultName\"\n [properties]=\"properties\"\n [showDeleteButton]=\"showDeleteButton\"\n (propertiesSave)=\"propertiesSave.emit($event)\"\n (connectorDelete)=\"connectorDelete.emit()\"\n>\n</valtimo-edit-taak-connector>\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 */\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EditConnectorPropertiesComponent, selector: "valtimo-edit-connector-properties", inputs: ["properties", "withDefaults", "showDeleteButton", "showSaveButton", "defaultName"], outputs: ["propertiesSave", "connectorDelete"] }, { kind: "component", type: i3.EditProductAanvragenConnectorComponent, selector: "valtimo-edit-product-aanvragen-connector", inputs: ["properties", "defaultName", "showDeleteButton"], outputs: ["propertiesSave", "connectorDelete"] }, { kind: "component", type: i4.EditTaakConnectorComponent, selector: "valtimo-edit-taak-connector", inputs: ["properties", "defaultName", "showDeleteButton"], outputs: ["propertiesSave", "connectorDelete"] }] }); }
|
|
33
35
|
}
|
|
34
|
-
|
|
35
|
-
EditConnectorFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: EditConnectorFormComponent, selector: "valtimo-edit-connector-form", inputs: { properties: "properties", withDefaults: "withDefaults", showDeleteButton: "showDeleteButton", showSaveButton: "showSaveButton", defaultName: "defaultName", connectorName: "connectorName" }, outputs: { propertiesSave: "propertiesSave", connectorDelete: "connectorDelete" }, 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<valtimo-edit-connector-properties\n *ngIf=\"!customConnectorNames.includes(connectorName)\"\n [properties]=\"properties\"\n [withDefaults]=\"withDefaults\"\n [defaultName]=\"defaultName\"\n [showDeleteButton]=\"showDeleteButton\"\n (propertiesSave)=\"propertiesSave.emit($event)\"\n (connectorDelete)=\"connectorDelete.emit()\"\n [showSaveButton]=\"showSaveButton\"\n>\n</valtimo-edit-connector-properties>\n\n<valtimo-edit-product-aanvragen-connector\n *ngIf=\"connectorName === productAanvragenName\"\n [defaultName]=\"defaultName\"\n [properties]=\"properties\"\n [showDeleteButton]=\"showDeleteButton\"\n (propertiesSave)=\"propertiesSave.emit($event)\"\n (connectorDelete)=\"connectorDelete.emit()\"\n>\n</valtimo-edit-product-aanvragen-connector>\n\n<valtimo-edit-taak-connector\n *ngIf=\"connectorName === taakName\"\n [defaultName]=\"defaultName\"\n [properties]=\"properties\"\n [showDeleteButton]=\"showDeleteButton\"\n (propertiesSave)=\"propertiesSave.emit($event)\"\n (connectorDelete)=\"connectorDelete.emit()\"\n>\n</valtimo-edit-taak-connector>\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 */\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EditConnectorPropertiesComponent, selector: "valtimo-edit-connector-properties", inputs: ["properties", "withDefaults", "showDeleteButton", "showSaveButton", "defaultName"], outputs: ["propertiesSave", "connectorDelete"] }, { kind: "component", type: i3.EditProductAanvragenConnectorComponent, selector: "valtimo-edit-product-aanvragen-connector", inputs: ["properties", "defaultName", "showDeleteButton"], outputs: ["propertiesSave", "connectorDelete"] }, { kind: "component", type: i4.EditTaakConnectorComponent, selector: "valtimo-edit-taak-connector", inputs: ["properties", "defaultName", "showDeleteButton"], outputs: ["propertiesSave", "connectorDelete"] }] });
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EditConnectorFormComponent, decorators: [{
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditConnectorFormComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
38
|
args: [{ selector: 'valtimo-edit-connector-form', 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<valtimo-edit-connector-properties\n *ngIf=\"!customConnectorNames.includes(connectorName)\"\n [properties]=\"properties\"\n [withDefaults]=\"withDefaults\"\n [defaultName]=\"defaultName\"\n [showDeleteButton]=\"showDeleteButton\"\n (propertiesSave)=\"propertiesSave.emit($event)\"\n (connectorDelete)=\"connectorDelete.emit()\"\n [showSaveButton]=\"showSaveButton\"\n>\n</valtimo-edit-connector-properties>\n\n<valtimo-edit-product-aanvragen-connector\n *ngIf=\"connectorName === productAanvragenName\"\n [defaultName]=\"defaultName\"\n [properties]=\"properties\"\n [showDeleteButton]=\"showDeleteButton\"\n (propertiesSave)=\"propertiesSave.emit($event)\"\n (connectorDelete)=\"connectorDelete.emit()\"\n>\n</valtimo-edit-product-aanvragen-connector>\n\n<valtimo-edit-taak-connector\n *ngIf=\"connectorName === taakName\"\n [defaultName]=\"defaultName\"\n [properties]=\"properties\"\n [showDeleteButton]=\"showDeleteButton\"\n (propertiesSave)=\"propertiesSave.emit($event)\"\n (connectorDelete)=\"connectorDelete.emit()\"\n>\n</valtimo-edit-taak-connector>\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 */\n"] }]
|
|
39
39
|
}], propDecorators: { properties: [{
|
|
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
53
53
|
}], connectorDelete: [{
|
|
54
54
|
type: Output
|
|
55
55
|
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1jb25uZWN0b3ItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Nvbm5lY3Rvci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9lZGl0LWNvbm5lY3Rvci1mb3JtL2VkaXQtY29ubmVjdG9yLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb25uZWN0b3ItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdC1jb25uZWN0b3ItZm9ybS9lZGl0LWNvbm5lY3Rvci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUXJFLE1BQU0sT0FBTywwQkFBMEI7SUFMdkM7UUFPVyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFJckIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBbUQsQ0FBQztRQUNyRixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFM0MseUJBQW9CLEdBQUcsa0JBQWtCLENBQUM7UUFDMUMsYUFBUSxHQUFHLE1BQU0sQ0FBQztRQUNsQix5QkFBb0IsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDNUU7K0dBZFksMEJBQTBCO21HQUExQiwwQkFBMEIsOFZDeEJ2Qyw2c0RBK0NBOzs0RkR2QmEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLDZCQUE2Qjs4QkFLOUIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29ubmVjdG9yUHJvcGVydGllc30gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1lZGl0LWNvbm5lY3Rvci1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtY29ubmVjdG9yLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lZGl0LWNvbm5lY3Rvci1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRDb25uZWN0b3JGb3JtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHJvcGVydGllczogQ29ubmVjdG9yUHJvcGVydGllcztcbiAgQElucHV0KCkgd2l0aERlZmF1bHRzID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dEZWxldGVCdXR0b24gPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd1NhdmVCdXR0b24gPSB0cnVlO1xuICBASW5wdXQoKSBkZWZhdWx0TmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgY29ubmVjdG9yTmFtZTogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBwcm9wZXJ0aWVzU2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8e3Byb3BlcnRpZXM6IENvbm5lY3RvclByb3BlcnRpZXM7IG5hbWU6IHN0cmluZ30+KCk7XG4gIEBPdXRwdXQoKSBjb25uZWN0b3JEZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICByZWFkb25seSBwcm9kdWN0QWFudnJhZ2VuTmFtZSA9ICdQcm9kdWN0QWFudnJhZ2VuJztcbiAgcmVhZG9ubHkgdGFha05hbWUgPSAnVGFhayc7XG4gIHJlYWRvbmx5IGN1c3RvbUNvbm5lY3Rvck5hbWVzID0gW3RoaXMucHJvZHVjdEFhbnZyYWdlbk5hbWUsIHRoaXMudGFha05hbWVdO1xufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48dmFsdGltby1lZGl0LWNvbm5lY3Rvci1wcm9wZXJ0aWVzXG4gICpuZ0lmPVwiIWN1c3RvbUNvbm5lY3Rvck5hbWVzLmluY2x1ZGVzKGNvbm5lY3Rvck5hbWUpXCJcbiAgW3Byb3BlcnRpZXNdPVwicHJvcGVydGllc1wiXG4gIFt3aXRoRGVmYXVsdHNdPVwid2l0aERlZmF1bHRzXCJcbiAgW2RlZmF1bHROYW1lXT1cImRlZmF1bHROYW1lXCJcbiAgW3Nob3dEZWxldGVCdXR0b25dPVwic2hvd0RlbGV0ZUJ1dHRvblwiXG4gIChwcm9wZXJ0aWVzU2F2ZSk9XCJwcm9wZXJ0aWVzU2F2ZS5lbWl0KCRldmVudClcIlxuICAoY29ubmVjdG9yRGVsZXRlKT1cImNvbm5lY3RvckRlbGV0ZS5lbWl0KClcIlxuICBbc2hvd1NhdmVCdXR0b25dPVwic2hvd1NhdmVCdXR0b25cIlxuPlxuPC92YWx0aW1vLWVkaXQtY29ubmVjdG9yLXByb3BlcnRpZXM+XG5cbjx2YWx0aW1vLWVkaXQtcHJvZHVjdC1hYW52cmFnZW4tY29ubmVjdG9yXG4gICpuZ0lmPVwiY29ubmVjdG9yTmFtZSA9PT0gcHJvZHVjdEFhbnZyYWdlbk5hbWVcIlxuICBbZGVmYXVsdE5hbWVdPVwiZGVmYXVsdE5hbWVcIlxuICBbcHJvcGVydGllc109XCJwcm9wZXJ0aWVzXCJcbiAgW3Nob3dEZWxldGVCdXR0b25dPVwic2hvd0RlbGV0ZUJ1dHRvblwiXG4gIChwcm9wZXJ0aWVzU2F2ZSk9XCJwcm9wZXJ0aWVzU2F2ZS5lbWl0KCRldmVudClcIlxuICAoY29ubmVjdG9yRGVsZXRlKT1cImNvbm5lY3RvckRlbGV0ZS5lbWl0KClcIlxuPlxuPC92YWx0aW1vLWVkaXQtcHJvZHVjdC1hYW52cmFnZW4tY29ubmVjdG9yPlxuXG48dmFsdGltby1lZGl0LXRhYWstY29ubmVjdG9yXG4gICpuZ0lmPVwiY29ubmVjdG9yTmFtZSA9PT0gdGFha05hbWVcIlxuICBbZGVmYXVsdE5hbWVdPVwiZGVmYXVsdE5hbWVcIlxuICBbcHJvcGVydGllc109XCJwcm9wZXJ0aWVzXCJcbiAgW3Nob3dEZWxldGVCdXR0b25dPVwic2hvd0RlbGV0ZUJ1dHRvblwiXG4gIChwcm9wZXJ0aWVzU2F2ZSk9XCJwcm9wZXJ0aWVzU2F2ZS5lbWl0KCRldmVudClcIlxuICAoY29ubmVjdG9yRGVsZXRlKT1cImNvbm5lY3RvckRlbGV0ZS5lbWl0KClcIlxuPlxuPC92YWx0aW1vLWVkaXQtdGFhay1jb25uZWN0b3I+XG4iXX0=
|
|
@@ -20,7 +20,7 @@ import { cloneDeep, get, set } from 'lodash';
|
|
|
20
20
|
import * as i0 from "@angular/core";
|
|
21
21
|
import * as i1 from "../../services/connector-management-state/connector-management-state.service";
|
|
22
22
|
import * as i2 from "@angular/common";
|
|
23
|
-
import * as i3 from "@valtimo/
|
|
23
|
+
import * as i3 from "@valtimo/components";
|
|
24
24
|
import * as i4 from "../multi-value-connector-property/multi-value-connector-property.component";
|
|
25
25
|
import * as i5 from "@ngx-translate/core";
|
|
26
26
|
export class EditConnectorPropertiesComponent {
|
|
@@ -161,10 +161,10 @@ export class EditConnectorPropertiesComponent {
|
|
|
161
161
|
this.onDelete();
|
|
162
162
|
});
|
|
163
163
|
}
|
|
164
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditConnectorPropertiesComponent, deps: [{ token: i1.ConnectorManagementStateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
165
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EditConnectorPropertiesComponent, selector: "valtimo-edit-connector-properties", inputs: { properties: "properties", withDefaults: "withDefaults", showDeleteButton: "showDeleteButton", showSaveButton: "showSaveButton", defaultName: "defaultName" }, outputs: { propertiesSave: "propertiesSave", connectorDelete: "connectorDelete" }, usesOnChanges: 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<div\n class=\"edit-fields\"\n *ngIf=\"{editFields: editFields$ | async, disabled: disabled$ | async} as obs\"\n>\n <ng-container *ngTemplateOutlet=\"nameInput; context: {disabled: obs.disabled}\"></ng-container>\n <ng-container *ngFor=\"let editField of obs.editFields\">\n <ng-container *ngIf=\"editField.editType === 'string' || editField.editType === 'number'\">\n <ng-container\n *ngTemplateOutlet=\"singleInput; context: {editField: editField, disabled: obs.disabled}\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"editField.editType === 'string[]' || editField.editType === 'number[]'\">\n <valtimo-multi-value-connector-property\n [editField]=\"editField\"\n (valuesSet)=\"multiFieldValuesSet($event)\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"withDefaults && editField.defaultValue\"\n >\n </valtimo-multi-value-connector-property>\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"buttons; context: {disabled: obs.disabled}\"></ng-container>\n</div>\n\n<ng-template #nameInput let-disabled=\"disabled\">\n <v-input\n name=\"name\"\n titleTranslationKey=\"connectorManagement.inputLabels.connectorName\"\n [defaultValue]=\"withDefaults && defaultName ? defaultName : ''\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"disabled\"\n (valueChange)=\"onNameValueChange($event)\"\n ></v-input>\n</ng-template>\n\n<ng-template #singleInput let-editField=\"editField\" let-disabled=\"disabled\">\n <v-input\n *ngIf=\"editField.editType === 'string'\"\n [name]=\"editField.key\"\n [titleTranslationKey]=\"'connectorManagement.inputLabels.' + editField.key\"\n [defaultValue]=\"withDefaults ? editField.defaultValue : ''\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"disabled\"\n (valueChange)=\"onSingleValueChange($event, editField)\"\n ></v-input>\n <v-input\n *ngIf=\"editField.editType === 'number'\"\n [name]=\"editField.key\"\n [titleTranslationKey]=\"'connectorManagement.inputLabels.' + editField.key\"\n [defaultValue]=\"withDefaults ? editField.defaultValue : ''\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"disabled\"\n (valueChange)=\"onSingleValueChange($event, editField)\"\n [step]=\"1\"\n [min]=\"0\"\n ></v-input>\n</ng-template>\n\n<ng-template #buttons let-disabled=\"disabled\">\n <div class=\"border-top mt-3 pt-6\" *ngIf=\"showDeleteButton || showSaveButton\">\n <div class=\"button-container\">\n <button\n *ngIf=\"showSaveButton\"\n class=\"btn btn-primary\"\n [disabled]=\"disabled || (saveButtonDisabled$ | async)\"\n (click)=\"onSave()\"\n >\n <i class=\"icon mdi mdi-save mr-1\"></i>\n {{ 'connectorManagement.save' | translate }}\n </button>\n <button\n *ngIf=\"showDeleteButton\"\n class=\"btn btn-danger btn-space\"\n (click)=\"onDelete()\"\n [disabled]=\"disabled\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.remove' | translate }}\n </button>\n </div>\n </div>\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 */.button-container{flex-flow:row-reverse;width:100%;display:flex;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder"], outputs: ["valueChange"] }, { kind: "component", type: i4.MultiValueConnectorPropertyComponent, selector: "valtimo-multi-value-connector-property", inputs: ["editField", "disabled", "defaultValue"], outputs: ["valuesSet"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
|
|
164
166
|
}
|
|
165
|
-
|
|
166
|
-
EditConnectorPropertiesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: EditConnectorPropertiesComponent, selector: "valtimo-edit-connector-properties", inputs: { properties: "properties", withDefaults: "withDefaults", showDeleteButton: "showDeleteButton", showSaveButton: "showSaveButton", defaultName: "defaultName" }, outputs: { propertiesSave: "propertiesSave", connectorDelete: "connectorDelete" }, usesOnChanges: 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<div\n class=\"edit-fields\"\n *ngIf=\"{editFields: editFields$ | async, disabled: disabled$ | async} as obs\"\n>\n <ng-container *ngTemplateOutlet=\"nameInput; context: {disabled: obs.disabled}\"></ng-container>\n <ng-container *ngFor=\"let editField of obs.editFields\">\n <ng-container *ngIf=\"editField.editType === 'string' || editField.editType === 'number'\">\n <ng-container\n *ngTemplateOutlet=\"singleInput; context: {editField: editField, disabled: obs.disabled}\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"editField.editType === 'string[]' || editField.editType === 'number[]'\">\n <valtimo-multi-value-connector-property\n [editField]=\"editField\"\n (valuesSet)=\"multiFieldValuesSet($event)\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"withDefaults && editField.defaultValue\"\n >\n </valtimo-multi-value-connector-property>\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"buttons; context: {disabled: obs.disabled}\"></ng-container>\n</div>\n\n<ng-template #nameInput let-disabled=\"disabled\">\n <v-input\n name=\"name\"\n titleTranslationKey=\"connectorManagement.inputLabels.connectorName\"\n [defaultValue]=\"withDefaults && defaultName ? defaultName : ''\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"disabled\"\n (valueChange)=\"onNameValueChange($event)\"\n ></v-input>\n</ng-template>\n\n<ng-template #singleInput let-editField=\"editField\" let-disabled=\"disabled\">\n <v-input\n *ngIf=\"editField.editType === 'string'\"\n [name]=\"editField.key\"\n [titleTranslationKey]=\"'connectorManagement.inputLabels.' + editField.key\"\n [defaultValue]=\"withDefaults ? editField.defaultValue : ''\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"disabled\"\n (valueChange)=\"onSingleValueChange($event, editField)\"\n ></v-input>\n <v-input\n *ngIf=\"editField.editType === 'number'\"\n [name]=\"editField.key\"\n [titleTranslationKey]=\"'connectorManagement.inputLabels.' + editField.key\"\n [defaultValue]=\"withDefaults ? editField.defaultValue : ''\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"disabled\"\n (valueChange)=\"onSingleValueChange($event, editField)\"\n [step]=\"1\"\n [min]=\"0\"\n ></v-input>\n</ng-template>\n\n<ng-template #buttons let-disabled=\"disabled\">\n <div class=\"border-top mt-3 pt-6\" *ngIf=\"showDeleteButton || showSaveButton\">\n <div class=\"button-container\">\n <button\n *ngIf=\"showSaveButton\"\n class=\"btn btn-primary\"\n [disabled]=\"disabled || (saveButtonDisabled$ | async)\"\n (click)=\"onSave()\"\n >\n <i class=\"icon mdi mdi-save mr-1\"></i>\n {{ 'connectorManagement.save' | translate }}\n </button>\n <button\n *ngIf=\"showDeleteButton\"\n class=\"btn btn-danger btn-space\"\n (click)=\"onDelete()\"\n [disabled]=\"disabled\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.remove' | translate }}\n </button>\n </div>\n </div>\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 */.button-container{flex-flow:row-reverse;width:100%;display:flex;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.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: i4.MultiValueConnectorPropertyComponent, selector: "valtimo-multi-value-connector-property", inputs: ["editField", "disabled", "defaultValue"], outputs: ["valuesSet"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
167
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EditConnectorPropertiesComponent, decorators: [{
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditConnectorPropertiesComponent, decorators: [{
|
|
168
168
|
type: Component,
|
|
169
169
|
args: [{ selector: 'valtimo-edit-connector-properties', 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<div\n class=\"edit-fields\"\n *ngIf=\"{editFields: editFields$ | async, disabled: disabled$ | async} as obs\"\n>\n <ng-container *ngTemplateOutlet=\"nameInput; context: {disabled: obs.disabled}\"></ng-container>\n <ng-container *ngFor=\"let editField of obs.editFields\">\n <ng-container *ngIf=\"editField.editType === 'string' || editField.editType === 'number'\">\n <ng-container\n *ngTemplateOutlet=\"singleInput; context: {editField: editField, disabled: obs.disabled}\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"editField.editType === 'string[]' || editField.editType === 'number[]'\">\n <valtimo-multi-value-connector-property\n [editField]=\"editField\"\n (valuesSet)=\"multiFieldValuesSet($event)\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"withDefaults && editField.defaultValue\"\n >\n </valtimo-multi-value-connector-property>\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"buttons; context: {disabled: obs.disabled}\"></ng-container>\n</div>\n\n<ng-template #nameInput let-disabled=\"disabled\">\n <v-input\n name=\"name\"\n titleTranslationKey=\"connectorManagement.inputLabels.connectorName\"\n [defaultValue]=\"withDefaults && defaultName ? defaultName : ''\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"disabled\"\n (valueChange)=\"onNameValueChange($event)\"\n ></v-input>\n</ng-template>\n\n<ng-template #singleInput let-editField=\"editField\" let-disabled=\"disabled\">\n <v-input\n *ngIf=\"editField.editType === 'string'\"\n [name]=\"editField.key\"\n [titleTranslationKey]=\"'connectorManagement.inputLabels.' + editField.key\"\n [defaultValue]=\"withDefaults ? editField.defaultValue : ''\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"disabled\"\n (valueChange)=\"onSingleValueChange($event, editField)\"\n ></v-input>\n <v-input\n *ngIf=\"editField.editType === 'number'\"\n [name]=\"editField.key\"\n [titleTranslationKey]=\"'connectorManagement.inputLabels.' + editField.key\"\n [defaultValue]=\"withDefaults ? editField.defaultValue : ''\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"disabled\"\n (valueChange)=\"onSingleValueChange($event, editField)\"\n [step]=\"1\"\n [min]=\"0\"\n ></v-input>\n</ng-template>\n\n<ng-template #buttons let-disabled=\"disabled\">\n <div class=\"border-top mt-3 pt-6\" *ngIf=\"showDeleteButton || showSaveButton\">\n <div class=\"button-container\">\n <button\n *ngIf=\"showSaveButton\"\n class=\"btn btn-primary\"\n [disabled]=\"disabled || (saveButtonDisabled$ | async)\"\n (click)=\"onSave()\"\n >\n <i class=\"icon mdi mdi-save mr-1\"></i>\n {{ 'connectorManagement.save' | translate }}\n </button>\n <button\n *ngIf=\"showDeleteButton\"\n class=\"btn btn-danger btn-space\"\n (click)=\"onDelete()\"\n [disabled]=\"disabled\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.remove' | translate }}\n </button>\n </div>\n </div>\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 */.button-container{flex-flow:row-reverse;width:100%;display:flex;justify-content:space-between}\n"] }]
|
|
170
170
|
}], ctorParameters: function () { return [{ type: i1.ConnectorManagementStateService }]; }, propDecorators: { properties: [{
|
|
@@ -182,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
182
182
|
}], connectorDelete: [{
|
|
183
183
|
type: Output
|
|
184
184
|
}] } });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1jb25uZWN0b3ItcHJvcGVydGllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Nvbm5lY3Rvci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9lZGl0LWNvbm5lY3Rvci1wcm9wZXJ0aWVzL2VkaXQtY29ubmVjdG9yLXByb3BlcnRpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb25uZWN0b3ItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdC1jb25uZWN0b3ItcHJvcGVydGllcy9lZGl0LWNvbm5lY3Rvci1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFNbkcsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQTJCLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFDLE1BQU0sUUFBUSxDQUFDOzs7Ozs7O0FBUTNDLE1BQU0sT0FBTyxnQ0FBZ0M7SUF3QjNDLFlBQTZCLFlBQTZDO1FBQTdDLGlCQUFZLEdBQVosWUFBWSxDQUFpQztRQXRCakUsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBR3JCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQW1ELENBQUM7UUFDckYsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBSTNDLHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUFzQixTQUFTLENBQUMsQ0FBQztRQUUxRSxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFvQyxFQUFFLENBQUMsQ0FBQztRQUV6RSxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRWpELHdCQUFtQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUM7UUFPbkUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsa0NBQWtDLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLDhCQUE4QixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQW9FO1FBQ3RGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzVELEdBQUcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFVLEVBQUUsU0FBcUM7UUFDbkUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDNUQsR0FBRyxDQUNELFVBQVUsRUFDVixTQUFTLENBQUMsR0FBRyxFQUNiLFNBQVMsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQ3JFLENBQUM7WUFDRixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWpDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxPQUFPO1FBQ2IsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDekMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzVDO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxVQUE2QztRQUN6RSxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWxELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQzdCLEdBQUcsQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNoRCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLFVBQVUsR0FBc0MsRUFBRSxDQUFDO1FBQ3pELE1BQU0sWUFBWSxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbkMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLGFBQWtDLEVBQUUsWUFBb0IsRUFBRSxFQUFFO1lBQ3ZGLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQ3pELEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUNuQyxDQUFDO1lBRUYsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUM5QixNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3pDLE1BQU0sYUFBYSxHQUFHO29CQUNwQixHQUFHLEVBQUUsWUFBWSxHQUFHLEdBQUc7b0JBQ3ZCLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLEVBQUMsWUFBWSxFQUFFLGFBQTJDLEVBQUMsQ0FBQztpQkFDdEYsQ0FBQztnQkFFRixJQUFJLE9BQU8sYUFBYSxLQUFLLFFBQVEsRUFBRTtvQkFDckMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLEdBQUcsYUFBYSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDO2lCQUN6RDtxQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUU7b0JBQ3ZDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsRUFBRTt3QkFDNUQsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLEdBQUcsYUFBYSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO3FCQUMzRDt5QkFBTTt3QkFDTCxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxhQUFhLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7cUJBQzNEO2lCQUNGO3FCQUFNLElBQUksT0FBTyxhQUFhLEtBQUssUUFBUSxFQUFFO29CQUM1QyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxhQUFhLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7aUJBQ3pEO3FCQUFNLElBQUksT0FBTyxhQUFhLEtBQUssUUFBUSxFQUFFO29CQUM1QyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsR0FBRyxZQUFZLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztpQkFDOUQ7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVGLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFekMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxrQ0FBa0M7UUFDeEMsSUFBSSxDQUFDLDhCQUE4QixHQUFHLGFBQWEsQ0FBQztZQUNsRCxJQUFJLENBQUMsV0FBVztZQUNoQixJQUFJLENBQUMsbUJBQW1CO1lBQ3hCLElBQUksQ0FBQyxjQUFjO1NBQ3BCLENBQUM7YUFDQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxDQUFDLEVBQUUsRUFBRTtZQUN0RCxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzNFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDeEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksS0FBSyxDQUMvRCxDQUFDO1lBQ0YsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsTUFBTSxLQUFLLFdBQVcsQ0FBQyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUM7WUFFckYsSUFBSSxpQkFBaUIsRUFBRTtnQkFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2FBQ3ZDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzthQUN0QztRQUNILENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3RCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzZIQWpMVSxnQ0FBZ0M7aUhBQWhDLGdDQUFnQyx5VkNoQzdDLDh4SEFxR0E7MkZEckVhLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSxtQ0FBbUM7c0hBS3BDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29ubmVjdG9yUHJvcGVydGllcyxcbiAgQ29ubmVjdG9yUHJvcGVydHlFZGl0RmllbGQsXG4gIENvbm5lY3RvclByb3BlcnR5VmFsdWVUeXBlLFxufSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtjbG9uZURlZXAsIGdldCwgc2V0fSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25uZWN0b3ItbWFuYWdlbWVudC1zdGF0ZS9jb25uZWN0b3ItbWFuYWdlbWVudC1zdGF0ZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1lZGl0LWNvbm5lY3Rvci1wcm9wZXJ0aWVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtY29ubmVjdG9yLXByb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lZGl0LWNvbm5lY3Rvci1wcm9wZXJ0aWVzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRDb25uZWN0b3JQcm9wZXJ0aWVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHByb3BlcnRpZXM6IENvbm5lY3RvclByb3BlcnRpZXM7XG4gIEBJbnB1dCgpIHdpdGhEZWZhdWx0cyA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93RGVsZXRlQnV0dG9uID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dTYXZlQnV0dG9uID0gdHJ1ZTtcbiAgQElucHV0KCkgZGVmYXVsdE5hbWUhOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHByb3BlcnRpZXNTYXZlID0gbmV3IEV2ZW50RW1pdHRlcjx7cHJvcGVydGllczogQ29ubmVjdG9yUHJvcGVydGllczsgbmFtZTogc3RyaW5nfT4oKTtcbiAgQE91dHB1dCgpIGNvbm5lY3RvckRlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkJCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcmVhZG9ubHkgbW9kaWZpZWRQcm9wZXJ0aWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29ubmVjdG9yUHJvcGVydGllcz4odW5kZWZpbmVkKTtcblxuICByZWFkb25seSBlZGl0RmllbGRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8Q29ubmVjdG9yUHJvcGVydHlFZGl0RmllbGQ+PihbXSk7XG5cbiAgcmVhZG9ubHkgY29ubmVjdG9yTmFtZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIHJlYWRvbmx5IHNhdmVCdXR0b25EaXNhYmxlZCQgPSB0aGlzLnN0YXRlU2VydmljZS5zYXZlQnV0dG9uRGlzYWJsZWQkO1xuXG4gIHByaXZhdGUgc2F2ZUJ1dHRvbkRpc2FibGVkU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHNhdmVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgZGVsZXRlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlKSB7XG4gICAgdGhpcy5kaXNhYmxlZCQgPSB0aGlzLnN0YXRlU2VydmljZS5pbnB1dERpc2FibGVkJDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0RWRpdEZpZWxkcygpO1xuICAgIHRoaXMuc2V0TmFtZSgpO1xuICAgIHRoaXMub3BlblNhdmVCdXR0b25EaXNhYmxlZFN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlblNhdmVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5EZWxldGVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zaG93TW9kYWxTYXZlQnV0dG9uKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNldEVkaXRGaWVsZHMoKTtcbiAgICB0aGlzLnNldE5hbWUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZUJ1dHRvbkRpc2FibGVkU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmRlbGV0ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG11bHRpRmllbGRWYWx1ZXNTZXQoZXZlbnQ6IHtlZGl0RmllbGRLZXk6IHN0cmluZzsgdmFsdWVzOiBBcnJheTxzdHJpbmc+IHwgQXJyYXk8bnVtYmVyPn0pOiB2b2lkIHtcbiAgICB0aGlzLm1vZGlmaWVkUHJvcGVydGllcyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocHJvcGVydGllcyA9PiB7XG4gICAgICBzZXQocHJvcGVydGllcywgZXZlbnQuZWRpdEZpZWxkS2V5LCBldmVudC52YWx1ZXMpO1xuICAgICAgdGhpcy5tb2RpZmllZFByb3BlcnRpZXMkLm5leHQocHJvcGVydGllcyk7XG4gICAgfSk7XG4gIH1cblxuICBvblNpbmdsZVZhbHVlQ2hhbmdlKHZhbHVlOiBhbnksIGVkaXRGaWVsZDogQ29ubmVjdG9yUHJvcGVydHlFZGl0RmllbGQpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGlmaWVkUHJvcGVydGllcyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocHJvcGVydGllcyA9PiB7XG4gICAgICBzZXQoXG4gICAgICAgIHByb3BlcnRpZXMsXG4gICAgICAgIGVkaXRGaWVsZC5rZXksXG4gICAgICAgIGVkaXRGaWVsZC5lZGl0VHlwZSA9PT0gJ3N0cmluZycgPyB2YWx1ZS50cmltKCkgOiBwYXJzZUludCh2YWx1ZSwgMTApXG4gICAgICApO1xuICAgICAgdGhpcy5tb2RpZmllZFByb3BlcnRpZXMkLm5leHQocHJvcGVydGllcyk7XG4gICAgfSk7XG4gIH1cblxuICBvbk5hbWVWYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0b3JOYW1lJC5uZXh0KHZhbHVlLnRyaW0oKSk7XG4gIH1cblxuICBvblNhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuZGlzYWJsZUlucHV0KCk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLm1vZGlmaWVkUHJvcGVydGllcyQsIHRoaXMuY29ubmVjdG9yTmFtZSRdKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtwcm9wZXJ0aWVzLCBuYW1lXSkgPT4ge1xuICAgICAgICB0aGlzLnByb3BlcnRpZXNTYXZlLmVtaXQoe3Byb3BlcnRpZXMsIG5hbWV9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25EZWxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuZGlzYWJsZUlucHV0KCk7XG4gICAgdGhpcy5jb25uZWN0b3JEZWxldGUuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXROYW1lKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLndpdGhEZWZhdWx0cyAmJiB0aGlzLmRlZmF1bHROYW1lKSB7XG4gICAgICB0aGlzLmNvbm5lY3Rvck5hbWUkLm5leHQodGhpcy5kZWZhdWx0TmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29ubmVjdG9yTmFtZSQubmV4dCgnJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRNb2RpZmllZFByb3BlcnRpZXMoZWRpdEZpZWxkczogQXJyYXk8Q29ubmVjdG9yUHJvcGVydHlFZGl0RmllbGQ+KTogdm9pZCB7XG4gICAgY29uc3QgcHJvcGVydGllc0NvcHkgPSBjbG9uZURlZXAodGhpcy5wcm9wZXJ0aWVzKTtcblxuICAgIGlmICghdGhpcy53aXRoRGVmYXVsdHMpIHtcbiAgICAgIGVkaXRGaWVsZHMuZm9yRWFjaChlZGl0RmllbGQgPT4ge1xuICAgICAgICBzZXQocHJvcGVydGllc0NvcHksIGVkaXRGaWVsZC5rZXksIHVuZGVmaW5lZCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLm1vZGlmaWVkUHJvcGVydGllcyQubmV4dChwcm9wZXJ0aWVzQ29weSk7XG4gIH1cblxuICBwcml2YXRlIHNldEVkaXRGaWVsZHMoKTogdm9pZCB7XG4gICAgY29uc3QgZWRpdEZpZWxkczogQXJyYXk8Q29ubmVjdG9yUHJvcGVydHlFZGl0RmllbGQ+ID0gW107XG4gICAgY29uc3Qga2V5c1RvRmlsdGVyID0gWydjbGFzc05hbWUnXTtcblxuICAgIGNvbnN0IGhhbmRsZVByb3BlcnR5TGV2ZWwgPSAocHJvcGVydHlMZXZlbDogQ29ubmVjdG9yUHJvcGVydGllcywgcHJldmlvdXNLZXlzOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHByb3BlcnR5TGV2ZWxLZXlzID0gT2JqZWN0LmtleXMocHJvcGVydHlMZXZlbCkuZmlsdGVyKFxuICAgICAgICBrZXkgPT4gIWtleXNUb0ZpbHRlci5pbmNsdWRlcyhrZXkpXG4gICAgICApO1xuXG4gICAgICBwcm9wZXJ0eUxldmVsS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5VmFsdWUgPSBwcm9wZXJ0eUxldmVsW2tleV07XG4gICAgICAgIGNvbnN0IGJhc2VFZGl0RmllbGQgPSB7XG4gICAgICAgICAga2V5OiBwcmV2aW91c0tleXMgKyBrZXksXG4gICAgICAgICAgLi4uKHRoaXMud2l0aERlZmF1bHRzICYmIHtkZWZhdWx0VmFsdWU6IHByb3BlcnR5VmFsdWUgYXMgQ29ubmVjdG9yUHJvcGVydHlWYWx1ZVR5cGV9KSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodHlwZW9mIHByb3BlcnR5VmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgZWRpdEZpZWxkcy5wdXNoKHsuLi5iYXNlRWRpdEZpZWxkLCBlZGl0VHlwZTogJ251bWJlcid9KTtcbiAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHByb3BlcnR5VmFsdWUpKSB7XG4gICAgICAgICAgaWYgKHByb3BlcnR5VmFsdWVbMF0gJiYgdHlwZW9mIHByb3BlcnR5VmFsdWVbMF0gPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICBlZGl0RmllbGRzLnB1c2goey4uLmJhc2VFZGl0RmllbGQsIGVkaXRUeXBlOiAnbnVtYmVyW10nfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVkaXRGaWVsZHMucHVzaCh7Li4uYmFzZUVkaXRGaWVsZCwgZWRpdFR5cGU6ICdzdHJpbmdbXSd9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHByb3BlcnR5VmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgZWRpdEZpZWxkcy5wdXNoKHsuLi5iYXNlRWRpdEZpZWxkLCBlZGl0VHlwZTogJ3N0cmluZyd9KTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcHJvcGVydHlWYWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBoYW5kbGVQcm9wZXJ0eUxldmVsKHByb3BlcnR5VmFsdWUsIGAke3ByZXZpb3VzS2V5c30ke2tleX0uYCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVQcm9wZXJ0eUxldmVsKHRoaXMucHJvcGVydGllcywgJycpO1xuXG4gICAgdGhpcy5lZGl0RmllbGRzJC5uZXh0KGVkaXRGaWVsZHMpO1xuICAgIHRoaXMuc2V0TW9kaWZpZWRQcm9wZXJ0aWVzKGVkaXRGaWVsZHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuU2F2ZUJ1dHRvbkRpc2FibGVkU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZUJ1dHRvbkRpc2FibGVkU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmVkaXRGaWVsZHMkLFxuICAgICAgdGhpcy5tb2RpZmllZFByb3BlcnRpZXMkLFxuICAgICAgdGhpcy5jb25uZWN0b3JOYW1lJCxcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoW2VkaXRGaWVsZHMsIG1vZGlmaWVkUHJvcGVydGllcywgY29ubmVjdG9yTmFtZV0pID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZXMgPSBlZGl0RmllbGRzLm1hcChmaWVsZCA9PiBnZXQobW9kaWZpZWRQcm9wZXJ0aWVzLCBmaWVsZC5rZXkpKTtcbiAgICAgICAgICBjb25zdCB2YWxpZFZhbHVlcyA9IHZhbHVlcy5maWx0ZXIodmFsdWUgPT5cbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUubGVuZ3RoID4gMCA6IHZhbHVlID09PSAwIHx8IHZhbHVlXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBpbnZhbGlkUHJvcGVydGllcyA9IGVkaXRGaWVsZHMubGVuZ3RoICE9PSB2YWxpZFZhbHVlcy5sZW5ndGggfHwgIWNvbm5lY3Rvck5hbWU7XG5cbiAgICAgICAgICBpZiAoaW52YWxpZFByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmRpc2FibGVTYXZlQnV0dG9uKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmVuYWJsZVNhdmVCdXR0b24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TYXZlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbiA9IHRoaXMuc3RhdGVTZXJ2aWNlLnNhdmUkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLm9uU2F2ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRGVsZXRlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZGVsZXRlU3Vic2NyaXB0aW9uID0gdGhpcy5zdGF0ZVNlcnZpY2UuZGVsZXRlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5vbkRlbGV0ZSgpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXZcbiAgY2xhc3M9XCJlZGl0LWZpZWxkc1wiXG4gICpuZ0lmPVwie2VkaXRGaWVsZHM6IGVkaXRGaWVsZHMkIHwgYXN5bmMsIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luY30gYXMgb2JzXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5hbWVJbnB1dDsgY29udGV4dDoge2Rpc2FibGVkOiBvYnMuZGlzYWJsZWR9XCI+PC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVkaXRGaWVsZCBvZiBvYnMuZWRpdEZpZWxkc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlZGl0RmllbGQuZWRpdFR5cGUgPT09ICdzdHJpbmcnIHx8IGVkaXRGaWVsZC5lZGl0VHlwZSA9PT0gJ251bWJlcidcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzaW5nbGVJbnB1dDsgY29udGV4dDoge2VkaXRGaWVsZDogZWRpdEZpZWxkLCBkaXNhYmxlZDogb2JzLmRpc2FibGVkfVwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVkaXRGaWVsZC5lZGl0VHlwZSA9PT0gJ3N0cmluZ1tdJyB8fCBlZGl0RmllbGQuZWRpdFR5cGUgPT09ICdudW1iZXJbXSdcIj5cbiAgICAgIDx2YWx0aW1vLW11bHRpLXZhbHVlLWNvbm5lY3Rvci1wcm9wZXJ0eVxuICAgICAgICBbZWRpdEZpZWxkXT1cImVkaXRGaWVsZFwiXG4gICAgICAgICh2YWx1ZXNTZXQpPVwibXVsdGlGaWVsZFZhbHVlc1NldCgkZXZlbnQpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwid2l0aERlZmF1bHRzICYmIGVkaXRGaWVsZC5kZWZhdWx0VmFsdWVcIlxuICAgICAgPlxuICAgICAgPC92YWx0aW1vLW11bHRpLXZhbHVlLWNvbm5lY3Rvci1wcm9wZXJ0eT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25zOyBjb250ZXh0OiB7ZGlzYWJsZWQ6IG9icy5kaXNhYmxlZH1cIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI25hbWVJbnB1dCBsZXQtZGlzYWJsZWQ9XCJkaXNhYmxlZFwiPlxuICA8di1pbnB1dFxuICAgIG5hbWU9XCJuYW1lXCJcbiAgICB0aXRsZVRyYW5zbGF0aW9uS2V5PVwiY29ubmVjdG9yTWFuYWdlbWVudC5pbnB1dExhYmVscy5jb25uZWN0b3JOYW1lXCJcbiAgICBbZGVmYXVsdFZhbHVlXT1cIndpdGhEZWZhdWx0cyAmJiBkZWZhdWx0TmFtZSA/IGRlZmF1bHROYW1lIDogJydcIlxuICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJvbk5hbWVWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgPjwvdi1pbnB1dD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlSW5wdXQgbGV0LWVkaXRGaWVsZD1cImVkaXRGaWVsZFwiIGxldC1kaXNhYmxlZD1cImRpc2FibGVkXCI+XG4gIDx2LWlucHV0XG4gICAgKm5nSWY9XCJlZGl0RmllbGQuZWRpdFR5cGUgPT09ICdzdHJpbmcnXCJcbiAgICBbbmFtZV09XCJlZGl0RmllbGQua2V5XCJcbiAgICBbdGl0bGVUcmFuc2xhdGlvbktleV09XCInY29ubmVjdG9yTWFuYWdlbWVudC5pbnB1dExhYmVscy4nICsgZWRpdEZpZWxkLmtleVwiXG4gICAgW2RlZmF1bHRWYWx1ZV09XCJ3aXRoRGVmYXVsdHMgPyBlZGl0RmllbGQuZGVmYXVsdFZhbHVlIDogJydcIlxuICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblNpbmdsZVZhbHVlQ2hhbmdlKCRldmVudCwgZWRpdEZpZWxkKVwiXG4gID48L3YtaW5wdXQ+XG4gIDx2LWlucHV0XG4gICAgKm5nSWY9XCJlZGl0RmllbGQuZWRpdFR5cGUgPT09ICdudW1iZXInXCJcbiAgICBbbmFtZV09XCJlZGl0RmllbGQua2V5XCJcbiAgICBbdGl0bGVUcmFuc2xhdGlvbktleV09XCInY29ubmVjdG9yTWFuYWdlbWVudC5pbnB1dExhYmVscy4nICsgZWRpdEZpZWxkLmtleVwiXG4gICAgW2RlZmF1bHRWYWx1ZV09XCJ3aXRoRGVmYXVsdHMgPyBlZGl0RmllbGQuZGVmYXVsdFZhbHVlIDogJydcIlxuICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblNpbmdsZVZhbHVlQ2hhbmdlKCRldmVudCwgZWRpdEZpZWxkKVwiXG4gICAgW3N0ZXBdPVwiMVwiXG4gICAgW21pbl09XCIwXCJcbiAgPjwvdi1pbnB1dD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9ucyBsZXQtZGlzYWJsZWQ9XCJkaXNhYmxlZFwiPlxuICA8ZGl2IGNsYXNzPVwiYm9yZGVyLXRvcCBtdC0zIHB0LTZcIiAqbmdJZj1cInNob3dEZWxldGVCdXR0b24gfHwgc2hvd1NhdmVCdXR0b25cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cInNob3dTYXZlQnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgKHNhdmVCdXR0b25EaXNhYmxlZCQgfCBhc3luYylcIlxuICAgICAgICAoY2xpY2spPVwib25TYXZlKClcIlxuICAgICAgPlxuICAgICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS1zYXZlIG1yLTFcIj48L2k+XG4gICAgICAgIHt7ICdjb25uZWN0b3JNYW5hZ2VtZW50LnNhdmUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJzaG93RGVsZXRlQnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRhbmdlciBidG4tc3BhY2VcIlxuICAgICAgICAoY2xpY2spPVwib25EZWxldGUoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICA+XG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbiBtZGkgbWRpLWRlbGV0ZSBtci0xXCI+PC9pPlxuICAgICAgICB7eyAnY29ubmVjdG9yTWFuYWdlbWVudC5yZW1vdmUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1jb25uZWN0b3ItcHJvcGVydGllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Nvbm5lY3Rvci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9lZGl0LWNvbm5lY3Rvci1wcm9wZXJ0aWVzL2VkaXQtY29ubmVjdG9yLXByb3BlcnRpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb25uZWN0b3ItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdC1jb25uZWN0b3ItcHJvcGVydGllcy9lZGl0LWNvbm5lY3Rvci1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFNbkcsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQTJCLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFDLE1BQU0sUUFBUSxDQUFDOzs7Ozs7O0FBUTNDLE1BQU0sT0FBTyxnQ0FBZ0M7SUF3QjNDLFlBQTZCLFlBQTZDO1FBQTdDLGlCQUFZLEdBQVosWUFBWSxDQUFpQztRQXRCakUsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBR3JCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQW1ELENBQUM7UUFDckYsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FB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QWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3RCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBakxVLGdDQUFnQzttR0FBaEMsZ0NBQWdDLHlWQ2hDN0MsOHhIQXFHQTs7NEZEckVhLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSxtQ0FBbUM7c0hBS3BDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29ubmVjdG9yUHJvcGVydGllcyxcbiAgQ29ubmVjdG9yUHJvcGVydHlFZGl0RmllbGQsXG4gIENvbm5lY3RvclByb3BlcnR5VmFsdWVUeXBlLFxufSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtjbG9uZURlZXAsIGdldCwgc2V0fSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25uZWN0b3ItbWFuYWdlbWVudC1zdGF0ZS9jb25uZWN0b3ItbWFuYWdlbWVudC1zdGF0ZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1lZGl0LWNvbm5lY3Rvci1wcm9wZXJ0aWVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtY29ubmVjdG9yLXByb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lZGl0LWNvbm5lY3Rvci1wcm9wZXJ0aWVzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRDb25uZWN0b3JQcm9wZXJ0aWVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHByb3BlcnRpZXM6IENvbm5lY3RvclByb3BlcnRpZXM7XG4gIEBJbnB1dCgpIHdpdGhEZWZhdWx0cyA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93RGVsZXRlQnV0dG9uID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dTYXZlQnV0dG9uID0gdHJ1ZTtcbiAgQElucHV0KCkgZGVmYXVsdE5hbWUhOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHByb3BlcnRpZXNTYXZlID0gbmV3IEV2ZW50RW1pdHRlcjx7cHJvcGVydGllczogQ29ubmVjdG9yUHJvcGVydGllczsgbmFtZTogc3RyaW5nfT4oKTtcbiAgQE91dHB1dCgpIGNvbm5lY3RvckRlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkJCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcmVhZG9ubHkgbW9kaWZpZWRQcm9wZXJ0aWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29ubmVjdG9yUHJvcGVydGllcz4odW5kZWZpbmVkKTtcblxuICByZWFkb25seSBlZGl0RmllbGRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8Q29ubmVjdG9yUHJvcGVydHlFZGl0RmllbGQ+PihbXSk7XG5cbiAgcmVhZG9ubHkgY29ubmVjdG9yTmFtZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIHJlYWRvbmx5IHNhdmVCdXR0b25EaXNhYmxlZCQgPSB0aGlzLnN0YXRlU2VydmljZS5zYXZlQnV0dG9uRGlzYWJsZWQkO1xuXG4gIHByaXZhdGUgc2F2ZUJ1dHRvbkRpc2FibGVkU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHNhdmVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgZGVsZXRlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlKSB7XG4gICAgdGhpcy5kaXNhYmxlZCQgPSB0aGlzLnN0YXRlU2VydmljZS5pbnB1dERpc2FibGVkJDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0RWRpdEZpZWxkcygpO1xuICAgIHRoaXMuc2V0TmFtZSgpO1xuICAgIHRoaXMub3BlblNhdmVCdXR0b25EaXNhYmxlZFN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlblNhdmVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5EZWxldGVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zaG93TW9kYWxTYXZlQnV0dG9uKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNldEVkaXRGaWVsZHMoKTtcbiAgICB0aGlzLnNldE5hbWUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZUJ1dHRvbkRpc2FibGVkU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmRlbGV0ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG11bHRpRmllbGRWYWx1ZXNTZXQoZXZlbnQ6IHtlZGl0RmllbGRLZXk6IHN0cmluZzsgdmFsdWVzOiBBcnJheTxzdHJpbmc+IHwgQXJyYXk8bnVtYmVyPn0pOiB2b2lkIHtcbiAgICB0aGlzLm1vZGlmaWVkUHJvcGVydGllcyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocHJvcGVydGllcyA9PiB7XG4gICAgICBzZXQocHJvcGVydGllcywgZXZlbnQuZWRpdEZpZWxkS2V5LCBldmVudC52YWx1ZXMpO1xuICAgICAgdGhpcy5tb2RpZmllZFByb3BlcnRpZXMkLm5leHQocHJvcGVydGllcyk7XG4gICAgfSk7XG4gIH1cblxuICBvblNpbmdsZVZhbHVlQ2hhbmdlKHZhbHVlOiBhbnksIGVkaXRGaWVsZDogQ29ubmVjdG9yUHJvcGVydHlFZGl0RmllbGQpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGlmaWVkUHJvcGVydGllcyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocHJvcGVydGllcyA9PiB7XG4gICAgICBzZXQoXG4gICAgICAgIHByb3BlcnRpZXMsXG4gICAgICAgIGVkaXRGaWVsZC5rZXksXG4gICAgICAgIGVkaXRGaWVsZC5lZGl0VHlwZSA9PT0gJ3N0cmluZycgPyB2YWx1ZS50cmltKCkgOiBwYXJzZUludCh2YWx1ZSwgMTApXG4gICAgICApO1xuICAgICAgdGhpcy5tb2RpZmllZFByb3BlcnRpZXMkLm5leHQocHJvcGVydGllcyk7XG4gICAgfSk7XG4gIH1cblxuICBvbk5hbWVWYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0b3JOYW1lJC5uZXh0KHZhbHVlLnRyaW0oKSk7XG4gIH1cblxuICBvblNhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuZGlzYWJsZUlucHV0KCk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLm1vZGlmaWVkUHJvcGVydGllcyQsIHRoaXMuY29ubmVjdG9yTmFtZSRdKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtwcm9wZXJ0aWVzLCBuYW1lXSkgPT4ge1xuICAgICAgICB0aGlzLnByb3BlcnRpZXNTYXZlLmVtaXQoe3Byb3BlcnRpZXMsIG5hbWV9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25EZWxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuZGlzYWJsZUlucHV0KCk7XG4gICAgdGhpcy5jb25uZWN0b3JEZWxldGUuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXROYW1lKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLndpdGhEZWZhdWx0cyAmJiB0aGlzLmRlZmF1bHROYW1lKSB7XG4gICAgICB0aGlzLmNvbm5lY3Rvck5hbWUkLm5leHQodGhpcy5kZWZhdWx0TmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29ubmVjdG9yTmFtZSQubmV4dCgnJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRNb2RpZmllZFByb3BlcnRpZXMoZWRpdEZpZWxkczogQXJyYXk8Q29ubmVjdG9yUHJvcGVydHlFZGl0RmllbGQ+KTogdm9pZCB7XG4gICAgY29uc3QgcHJvcGVydGllc0NvcHkgPSBjbG9uZURlZXAodGhpcy5wcm9wZXJ0aWVzKTtcblxuICAgIGlmICghdGhpcy53aXRoRGVmYXVsdHMpIHtcbiAgICAgIGVkaXRGaWVsZHMuZm9yRWFjaChlZGl0RmllbGQgPT4ge1xuICAgICAgICBzZXQocHJvcGVydGllc0NvcHksIGVkaXRGaWVsZC5rZXksIHVuZGVmaW5lZCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLm1vZGlmaWVkUHJvcGVydGllcyQubmV4dChwcm9wZXJ0aWVzQ29weSk7XG4gIH1cblxuICBwcml2YXRlIHNldEVkaXRGaWVsZHMoKTogdm9pZCB7XG4gICAgY29uc3QgZWRpdEZpZWxkczogQXJyYXk8Q29ubmVjdG9yUHJvcGVydHlFZGl0RmllbGQ+ID0gW107XG4gICAgY29uc3Qga2V5c1RvRmlsdGVyID0gWydjbGFzc05hbWUnXTtcblxuICAgIGNvbnN0IGhhbmRsZVByb3BlcnR5TGV2ZWwgPSAocHJvcGVydHlMZXZlbDogQ29ubmVjdG9yUHJvcGVydGllcywgcHJldmlvdXNLZXlzOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHByb3BlcnR5TGV2ZWxLZXlzID0gT2JqZWN0LmtleXMocHJvcGVydHlMZXZlbCkuZmlsdGVyKFxuICAgICAgICBrZXkgPT4gIWtleXNUb0ZpbHRlci5pbmNsdWRlcyhrZXkpXG4gICAgICApO1xuXG4gICAgICBwcm9wZXJ0eUxldmVsS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5VmFsdWUgPSBwcm9wZXJ0eUxldmVsW2tleV07XG4gICAgICAgIGNvbnN0IGJhc2VFZGl0RmllbGQgPSB7XG4gICAgICAgICAga2V5OiBwcmV2aW91c0tleXMgKyBrZXksXG4gICAgICAgICAgLi4uKHRoaXMud2l0aERlZmF1bHRzICYmIHtkZWZhdWx0VmFsdWU6IHByb3BlcnR5VmFsdWUgYXMgQ29ubmVjdG9yUHJvcGVydHlWYWx1ZVR5cGV9KSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodHlwZW9mIHByb3BlcnR5VmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgZWRpdEZpZWxkcy5wdXNoKHsuLi5iYXNlRWRpdEZpZWxkLCBlZGl0VHlwZTogJ251bWJlcid9KTtcbiAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHByb3BlcnR5VmFsdWUpKSB7XG4gICAgICAgICAgaWYgKHByb3BlcnR5VmFsdWVbMF0gJiYgdHlwZW9mIHByb3BlcnR5VmFsdWVbMF0gPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICBlZGl0RmllbGRzLnB1c2goey4uLmJhc2VFZGl0RmllbGQsIGVkaXRUeXBlOiAnbnVtYmVyW10nfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVkaXRGaWVsZHMucHVzaCh7Li4uYmFzZUVkaXRGaWVsZCwgZWRpdFR5cGU6ICdzdHJpbmdbXSd9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHByb3BlcnR5VmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgZWRpdEZpZWxkcy5wdXNoKHsuLi5iYXNlRWRpdEZpZWxkLCBlZGl0VHlwZTogJ3N0cmluZyd9KTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcHJvcGVydHlWYWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBoYW5kbGVQcm9wZXJ0eUxldmVsKHByb3BlcnR5VmFsdWUsIGAke3ByZXZpb3VzS2V5c30ke2tleX0uYCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVQcm9wZXJ0eUxldmVsKHRoaXMucHJvcGVydGllcywgJycpO1xuXG4gICAgdGhpcy5lZGl0RmllbGRzJC5uZXh0KGVkaXRGaWVsZHMpO1xuICAgIHRoaXMuc2V0TW9kaWZpZWRQcm9wZXJ0aWVzKGVkaXRGaWVsZHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuU2F2ZUJ1dHRvbkRpc2FibGVkU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZUJ1dHRvbkRpc2FibGVkU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmVkaXRGaWVsZHMkLFxuICAgICAgdGhpcy5tb2RpZmllZFByb3BlcnRpZXMkLFxuICAgICAgdGhpcy5jb25uZWN0b3JOYW1lJCxcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoW2VkaXRGaWVsZHMsIG1vZGlmaWVkUHJvcGVydGllcywgY29ubmVjdG9yTmFtZV0pID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZXMgPSBlZGl0RmllbGRzLm1hcChmaWVsZCA9PiBnZXQobW9kaWZpZWRQcm9wZXJ0aWVzLCBmaWVsZC5rZXkpKTtcbiAgICAgICAgICBjb25zdCB2YWxpZFZhbHVlcyA9IHZhbHVlcy5maWx0ZXIodmFsdWUgPT5cbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUubGVuZ3RoID4gMCA6IHZhbHVlID09PSAwIHx8IHZhbHVlXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBpbnZhbGlkUHJvcGVydGllcyA9IGVkaXRGaWVsZHMubGVuZ3RoICE9PSB2YWxpZFZhbHVlcy5sZW5ndGggfHwgIWNvbm5lY3Rvck5hbWU7XG5cbiAgICAgICAgICBpZiAoaW52YWxpZFByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmRpc2FibGVTYXZlQnV0dG9uKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmVuYWJsZVNhdmVCdXR0b24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TYXZlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbiA9IHRoaXMuc3RhdGVTZXJ2aWNlLnNhdmUkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLm9uU2F2ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRGVsZXRlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZGVsZXRlU3Vic2NyaXB0aW9uID0gdGhpcy5zdGF0ZVNlcnZpY2UuZGVsZXRlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5vbkRlbGV0ZSgpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXZcbiAgY2xhc3M9XCJlZGl0LWZpZWxkc1wiXG4gICpuZ0lmPVwie2VkaXRGaWVsZHM6IGVkaXRGaWVsZHMkIHwgYXN5bmMsIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luY30gYXMgb2JzXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5hbWVJbnB1dDsgY29udGV4dDoge2Rpc2FibGVkOiBvYnMuZGlzYWJsZWR9XCI+PC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVkaXRGaWVsZCBvZiBvYnMuZWRpdEZpZWxkc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlZGl0RmllbGQuZWRpdFR5cGUgPT09ICdzdHJpbmcnIHx8IGVkaXRGaWVsZC5lZGl0VHlwZSA9PT0gJ251bWJlcidcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzaW5nbGVJbnB1dDsgY29udGV4dDoge2VkaXRGaWVsZDogZWRpdEZpZWxkLCBkaXNhYmxlZDogb2JzLmRpc2FibGVkfVwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVkaXRGaWVsZC5lZGl0VHlwZSA9PT0gJ3N0cmluZ1tdJyB8fCBlZGl0RmllbGQuZWRpdFR5cGUgPT09ICdudW1iZXJbXSdcIj5cbiAgICAgIDx2YWx0aW1vLW11bHRpLXZhbHVlLWNvbm5lY3Rvci1wcm9wZXJ0eVxuICAgICAgICBbZWRpdEZpZWxkXT1cImVkaXRGaWVsZFwiXG4gICAgICAgICh2YWx1ZXNTZXQpPVwibXVsdGlGaWVsZFZhbHVlc1NldCgkZXZlbnQpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwid2l0aERlZmF1bHRzICYmIGVkaXRGaWVsZC5kZWZhdWx0VmFsdWVcIlxuICAgICAgPlxuICAgICAgPC92YWx0aW1vLW11bHRpLXZhbHVlLWNvbm5lY3Rvci1wcm9wZXJ0eT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25zOyBjb250ZXh0OiB7ZGlzYWJsZWQ6IG9icy5kaXNhYmxlZH1cIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI25hbWVJbnB1dCBsZXQtZGlzYWJsZWQ9XCJkaXNhYmxlZFwiPlxuICA8di1pbnB1dFxuICAgIG5hbWU9XCJuYW1lXCJcbiAgICB0aXRsZVRyYW5zbGF0aW9uS2V5PVwiY29ubmVjdG9yTWFuYWdlbWVudC5pbnB1dExhYmVscy5jb25uZWN0b3JOYW1lXCJcbiAgICBbZGVmYXVsdFZhbHVlXT1cIndpdGhEZWZhdWx0cyAmJiBkZWZhdWx0TmFtZSA/IGRlZmF1bHROYW1lIDogJydcIlxuICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJvbk5hbWVWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgPjwvdi1pbnB1dD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlSW5wdXQgbGV0LWVkaXRGaWVsZD1cImVkaXRGaWVsZFwiIGxldC1kaXNhYmxlZD1cImRpc2FibGVkXCI+XG4gIDx2LWlucHV0XG4gICAgKm5nSWY9XCJlZGl0RmllbGQuZWRpdFR5cGUgPT09ICdzdHJpbmcnXCJcbiAgICBbbmFtZV09XCJlZGl0RmllbGQua2V5XCJcbiAgICBbdGl0bGVUcmFuc2xhdGlvbktleV09XCInY29ubmVjdG9yTWFuYWdlbWVudC5pbnB1dExhYmVscy4nICsgZWRpdEZpZWxkLmtleVwiXG4gICAgW2RlZmF1bHRWYWx1ZV09XCJ3aXRoRGVmYXVsdHMgPyBlZGl0RmllbGQuZGVmYXVsdFZhbHVlIDogJydcIlxuICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblNpbmdsZVZhbHVlQ2hhbmdlKCRldmVudCwgZWRpdEZpZWxkKVwiXG4gID48L3YtaW5wdXQ+XG4gIDx2LWlucHV0XG4gICAgKm5nSWY9XCJlZGl0RmllbGQuZWRpdFR5cGUgPT09ICdudW1iZXInXCJcbiAgICBbbmFtZV09XCJlZGl0RmllbGQua2V5XCJcbiAgICBbdGl0bGVUcmFuc2xhdGlvbktleV09XCInY29ubmVjdG9yTWFuYWdlbWVudC5pbnB1dExhYmVscy4nICsgZWRpdEZpZWxkLmtleVwiXG4gICAgW2RlZmF1bHRWYWx1ZV09XCJ3aXRoRGVmYXVsdHMgPyBlZGl0RmllbGQuZGVmYXVsdFZhbHVlIDogJydcIlxuICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblNpbmdsZVZhbHVlQ2hhbmdlKCRldmVudCwgZWRpdEZpZWxkKVwiXG4gICAgW3N0ZXBdPVwiMVwiXG4gICAgW21pbl09XCIwXCJcbiAgPjwvdi1pbnB1dD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9ucyBsZXQtZGlzYWJsZWQ9XCJkaXNhYmxlZFwiPlxuICA8ZGl2IGNsYXNzPVwiYm9yZGVyLXRvcCBtdC0zIHB0LTZcIiAqbmdJZj1cInNob3dEZWxldGVCdXR0b24gfHwgc2hvd1NhdmVCdXR0b25cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cInNob3dTYXZlQnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgKHNhdmVCdXR0b25EaXNhYmxlZCQgfCBhc3luYylcIlxuICAgICAgICAoY2xpY2spPVwib25TYXZlKClcIlxuICAgICAgPlxuICAgICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS1zYXZlIG1yLTFcIj48L2k+XG4gICAgICAgIHt7ICdjb25uZWN0b3JNYW5hZ2VtZW50LnNhdmUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJzaG93RGVsZXRlQnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRhbmdlciBidG4tc3BhY2VcIlxuICAgICAgICAoY2xpY2spPVwib25EZWxldGUoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICA+XG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbiBtZGkgbWRpLWRlbGV0ZSBtci0xXCI+PC9pPlxuICAgICAgICB7eyAnY29ubmVjdG9yTWFuYWdlbWVudC5yZW1vdmUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|