@valtimo/dashboard 12.5.1 → 12.7.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.
Files changed (69) hide show
  1. package/esm2022/lib/components/widget-dashboard-content/widget-dashboard-content.component.mjs +18 -10
  2. package/esm2022/lib/dashboard.module.mjs +7 -3
  3. package/esm2022/lib/data-sources/case-count/case-count.specification.mjs +5 -4
  4. package/esm2022/lib/data-sources/case-count/components/case-count-configuration/case-count-configuration.component.mjs +8 -6
  5. package/esm2022/lib/data-sources/case-counts/case-counts.specification.mjs +5 -4
  6. package/esm2022/lib/data-sources/case-counts/components/case-counts-configuration/case-counts-configuration.component.mjs +12 -8
  7. package/esm2022/lib/data-sources/case-group-by/case-group-by.module.mjs +7 -4
  8. package/esm2022/lib/data-sources/case-group-by/case-group-by.specification.mjs +5 -4
  9. package/esm2022/lib/data-sources/case-group-by/components/case-group-by-configuration/case-group-by-configuration.component.mjs +11 -8
  10. package/esm2022/lib/data-sources/data-sources.module.mjs +29 -0
  11. package/esm2022/lib/data-sources/index.mjs +2 -1
  12. package/esm2022/lib/data-sources/shared/conditions.mjs +22 -0
  13. package/esm2022/lib/data-sources/shared/index.mjs +17 -0
  14. package/esm2022/lib/data-sources/task-count/components/index.mjs +17 -0
  15. package/esm2022/lib/data-sources/task-count/components/task-count-configuration/index.mjs +17 -0
  16. package/esm2022/lib/data-sources/task-count/components/task-count-configuration/task-count-configuration.component.mjs +122 -0
  17. package/esm2022/lib/data-sources/task-count/index.mjs +20 -0
  18. package/esm2022/lib/data-sources/task-count/models/index.mjs +17 -0
  19. package/esm2022/lib/data-sources/task-count/models/task-count.model.mjs +17 -0
  20. package/esm2022/lib/data-sources/task-count/task-count.module.mjs +57 -0
  21. package/esm2022/lib/data-sources/task-count/task-count.specification.mjs +69 -0
  22. package/esm2022/lib/models/dashboard.model.mjs +1 -1
  23. package/esm2022/public_api.mjs +2 -1
  24. package/fesm2022/valtimo-dashboard.mjs +555 -171
  25. package/fesm2022/valtimo-dashboard.mjs.map +1 -1
  26. package/lib/components/widget-dashboard-content/widget-dashboard-content.component.d.ts +4 -1
  27. package/lib/components/widget-dashboard-content/widget-dashboard-content.component.d.ts.map +1 -1
  28. package/lib/dashboard.module.d.ts +2 -1
  29. package/lib/dashboard.module.d.ts.map +1 -1
  30. package/lib/data-sources/case-count/case-count.specification.d.ts.map +1 -1
  31. package/lib/data-sources/case-count/components/case-count-configuration/case-count-configuration.component.d.ts +3 -2
  32. package/lib/data-sources/case-count/components/case-count-configuration/case-count-configuration.component.d.ts.map +1 -1
  33. package/lib/data-sources/case-counts/case-counts.specification.d.ts.map +1 -1
  34. package/lib/data-sources/case-counts/components/case-counts-configuration/case-counts-configuration.component.d.ts +4 -3
  35. package/lib/data-sources/case-counts/components/case-counts-configuration/case-counts-configuration.component.d.ts.map +1 -1
  36. package/lib/data-sources/case-group-by/case-group-by.module.d.ts +1 -1
  37. package/lib/data-sources/case-group-by/case-group-by.module.d.ts.map +1 -1
  38. package/lib/data-sources/case-group-by/case-group-by.specification.d.ts.map +1 -1
  39. package/lib/data-sources/case-group-by/components/case-group-by-configuration/case-group-by-configuration.component.d.ts +4 -3
  40. package/lib/data-sources/case-group-by/components/case-group-by-configuration/case-group-by-configuration.component.d.ts.map +1 -1
  41. package/lib/data-sources/data-sources.module.d.ts +11 -0
  42. package/lib/data-sources/data-sources.module.d.ts.map +1 -0
  43. package/lib/data-sources/index.d.ts +1 -0
  44. package/lib/data-sources/index.d.ts.map +1 -1
  45. package/lib/data-sources/shared/conditions.d.ts +7 -0
  46. package/lib/data-sources/shared/conditions.d.ts.map +1 -0
  47. package/lib/data-sources/shared/index.d.ts +2 -0
  48. package/lib/data-sources/shared/index.d.ts.map +1 -0
  49. package/lib/data-sources/task-count/components/index.d.ts +2 -0
  50. package/lib/data-sources/task-count/components/index.d.ts.map +1 -0
  51. package/lib/data-sources/task-count/components/task-count-configuration/index.d.ts +2 -0
  52. package/lib/data-sources/task-count/components/task-count-configuration/index.d.ts.map +1 -0
  53. package/lib/data-sources/task-count/components/task-count-configuration/task-count-configuration.component.d.ts +36 -0
  54. package/lib/data-sources/task-count/components/task-count-configuration/task-count-configuration.component.d.ts.map +1 -0
  55. package/lib/data-sources/task-count/index.d.ts +5 -0
  56. package/lib/data-sources/task-count/index.d.ts.map +1 -0
  57. package/lib/data-sources/task-count/models/index.d.ts +2 -0
  58. package/lib/data-sources/task-count/models/index.d.ts.map +1 -0
  59. package/lib/data-sources/task-count/models/task-count.model.d.ts +6 -0
  60. package/lib/data-sources/task-count/models/task-count.model.d.ts.map +1 -0
  61. package/lib/data-sources/task-count/task-count.module.d.ts +13 -0
  62. package/lib/data-sources/task-count/task-count.module.d.ts.map +1 -0
  63. package/lib/data-sources/task-count/task-count.specification.d.ts +3 -0
  64. package/lib/data-sources/task-count/task-count.specification.d.ts.map +1 -0
  65. package/lib/models/dashboard.model.d.ts +1 -0
  66. package/lib/models/dashboard.model.d.ts.map +1 -1
  67. package/package.json +1 -1
  68. package/public_api.d.ts +1 -0
  69. package/public_api.d.ts.map +1 -1
@@ -22,10 +22,11 @@ import Muuri from 'muuri';
22
22
  import * as i0 from "@angular/core";
23
23
  import * as i1 from "../../services/widget-layout.service";
24
24
  import * as i2 from "../../services";
25
- import * as i3 from "@angular/common";
26
- import * as i4 from "carbon-components-angular";
27
- import * as i5 from "@valtimo/components";
28
- import * as i6 from "@ngx-translate/core";
25
+ import * as i3 from "@angular/router";
26
+ import * as i4 from "@angular/common";
27
+ import * as i5 from "carbon-components-angular";
28
+ import * as i6 from "@valtimo/components";
29
+ import * as i7 from "@ngx-translate/core";
29
30
  export class WidgetDashboardContentComponent {
30
31
  set widgetData(value) {
31
32
  this._isLoading$.next(value.loading);
@@ -37,10 +38,11 @@ export class WidgetDashboardContentComponent {
37
38
  get _muuriInitialized$() {
38
39
  return this._muuri$.pipe(map(muuri => !!muuri));
39
40
  }
40
- constructor(layoutService, widgetService, renderer) {
41
+ constructor(layoutService, widgetService, renderer, router) {
41
42
  this.layoutService = layoutService;
42
43
  this.widgetService = widgetService;
43
44
  this.renderer = renderer;
45
+ this.router = router;
44
46
  this._isLoading$ = new BehaviorSubject(true);
45
47
  this._widgetData$ = new BehaviorSubject([]);
46
48
  this.widgetConfigurations$ = new BehaviorSubject(null);
@@ -66,6 +68,12 @@ export class WidgetDashboardContentComponent {
66
68
  this._observer?.disconnect();
67
69
  this._subscriptions?.unsubscribe();
68
70
  }
71
+ navigateToRoute(widgetConfiguration, event) {
72
+ if (widgetConfiguration.url) {
73
+ event.preventDefault();
74
+ this.router.navigateByUrl(widgetConfiguration.url);
75
+ }
76
+ }
69
77
  setWidgetConfigurations(dashboard) {
70
78
  this.widgetService.supportedDisplayTypes$.pipe(take(1)).subscribe(supportedDisplayTypes => {
71
79
  const supportedWidgetConfigurations = dashboard.widgets?.filter(widgetConfiguration => supportedDisplayTypes.find(type => type.displayTypeKey === widgetConfiguration.displayType)) || [];
@@ -142,13 +150,13 @@ export class WidgetDashboardContentComponent {
142
150
  }));
143
151
  this._creatingMuuri = false;
144
152
  }
145
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetDashboardContentComponent, deps: [{ token: i1.WidgetLayoutService }, { token: i2.WidgetService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
146
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WidgetDashboardContentComponent, selector: "valtimo-widget-dashboard-content", inputs: { widgetData: "widgetData", dashboard: "dashboard" }, providers: [WidgetLayoutService], viewQueries: [{ propertyName: "_widgetContainerRef", first: true, predicate: ["widgetContainer"], descendants: true }, { propertyName: "_widgetConfigurationRefs", predicate: ["widgetConfiguration"], descendants: true }, { propertyName: "_widgetConfigurationContentVcRefs", predicate: ["widgetConfigurationContent"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<ng-container *ngIf=\"{loaded: loaded$ | async} as obs\">\n <div *ngIf=\"!obs.loaded\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-container>\n\n<div\n #widgetContainer\n class=\"widget-container\"\n [ngClass]=\"{'widget-container__visible': loaded$ | async}\"\n>\n <ng-container *ngIf=\"widgetConfigurations$ | async as widgetConfigurations\">\n <ng-container *ngFor=\"let config of widgetConfigurations\">\n <div #widgetConfiguration [id]=\"config.key\" class=\"widget-configuration\">\n <div class=\"widget-configuration-content\">\n <ng-container #widgetConfigurationContent></ng-container>\n </div>\n </div>\n </ng-container>\n\n <valtimo-no-results\n *ngIf=\"!widgetConfigurations.length\"\n [title]=\"'dashboard.noWidgets' | translate\"\n [description]=\"'dashboard.noWidgetsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-widgets.svg\"\n ></valtimo-no-results>\n </ng-container>\n</div>\n", styles: [":host{position:relative}.widget-container{margin-top:16px;width:calc(100% + 16px);margin-left:-8px;position:relative;visibility:hidden}.widget-container__visible{visibility:visible}.widget-configuration{position:absolute;display:flex;justify-content:center;align-items:center}.widget-configuration-content{width:calc(100% - 16px);height:calc(100% - 16px);background-color:#fff}.loading-container{padding-top:32px;position:absolute;top:0;display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2024 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: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i5.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetDashboardContentComponent, deps: [{ token: i1.WidgetLayoutService }, { token: i2.WidgetService }, { token: i0.Renderer2 }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
154
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WidgetDashboardContentComponent, selector: "valtimo-widget-dashboard-content", inputs: { widgetData: "widgetData", dashboard: "dashboard" }, providers: [WidgetLayoutService], viewQueries: [{ propertyName: "_widgetContainerRef", first: true, predicate: ["widgetContainer"], descendants: true }, { propertyName: "_widgetConfigurationRefs", predicate: ["widgetConfiguration"], descendants: true }, { propertyName: "_widgetConfigurationContentVcRefs", predicate: ["widgetConfigurationContent"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<ng-container *ngIf=\"{loaded: loaded$ | async} as obs\">\n <div *ngIf=\"!obs.loaded\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-container>\n\n<div\n #widgetContainer\n class=\"widget-container\"\n [ngClass]=\"{'widget-container__visible': loaded$ | async}\"\n>\n <ng-container *ngIf=\"widgetConfigurations$ | async as widgetConfigurations\">\n <ng-container *ngFor=\"let config of widgetConfigurations\">\n <div #widgetConfiguration [id]=\"config.key\" class=\"widget-configuration\">\n <div\n (click)=\"navigateToRoute(config, $event)\"\n [ngClass]=\"{\n 'widget-configuration-content-clickable': config.url,\n }\"\n class=\"widget-configuration-content\"\n >\n <ng-container #widgetConfigurationContent></ng-container>\n </div>\n </div>\n </ng-container>\n\n <valtimo-no-results\n *ngIf=\"!widgetConfigurations.length\"\n [title]=\"'dashboard.noWidgets' | translate\"\n [description]=\"'dashboard.noWidgetsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-widgets.svg\"\n ></valtimo-no-results>\n </ng-container>\n</div>\n", styles: [":host{position:relative}.widget-container{margin-top:16px;width:calc(100% + 16px);margin-left:-8px;position:relative;visibility:hidden}.widget-container__visible{visibility:visible}.widget-configuration{position:absolute;display:flex;justify-content:center;align-items:center}.widget-configuration-content{width:calc(100% - 16px);height:calc(100% - 16px);background-color:#fff}.widget-configuration-content-clickable{cursor:pointer}.loading-container{padding-top:32px;position:absolute;top:0;display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2024 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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i6.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
147
155
  }
148
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetDashboardContentComponent, decorators: [{
149
157
  type: Component,
150
- args: [{ selector: 'valtimo-widget-dashboard-content', providers: [WidgetLayoutService], template: "<!--\n ~ Copyright 2015-2024 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<ng-container *ngIf=\"{loaded: loaded$ | async} as obs\">\n <div *ngIf=\"!obs.loaded\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-container>\n\n<div\n #widgetContainer\n class=\"widget-container\"\n [ngClass]=\"{'widget-container__visible': loaded$ | async}\"\n>\n <ng-container *ngIf=\"widgetConfigurations$ | async as widgetConfigurations\">\n <ng-container *ngFor=\"let config of widgetConfigurations\">\n <div #widgetConfiguration [id]=\"config.key\" class=\"widget-configuration\">\n <div class=\"widget-configuration-content\">\n <ng-container #widgetConfigurationContent></ng-container>\n </div>\n </div>\n </ng-container>\n\n <valtimo-no-results\n *ngIf=\"!widgetConfigurations.length\"\n [title]=\"'dashboard.noWidgets' | translate\"\n [description]=\"'dashboard.noWidgetsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-widgets.svg\"\n ></valtimo-no-results>\n </ng-container>\n</div>\n", styles: [":host{position:relative}.widget-container{margin-top:16px;width:calc(100% + 16px);margin-left:-8px;position:relative;visibility:hidden}.widget-container__visible{visibility:visible}.widget-configuration{position:absolute;display:flex;justify-content:center;align-items:center}.widget-configuration-content{width:calc(100% - 16px);height:calc(100% - 16px);background-color:#fff}.loading-container{padding-top:32px;position:absolute;top:0;display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2024 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"] }]
151
- }], ctorParameters: () => [{ type: i1.WidgetLayoutService }, { type: i2.WidgetService }, { type: i0.Renderer2 }], propDecorators: { _widgetConfigurationRefs: [{
158
+ args: [{ selector: 'valtimo-widget-dashboard-content', providers: [WidgetLayoutService], template: "<!--\n ~ Copyright 2015-2024 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<ng-container *ngIf=\"{loaded: loaded$ | async} as obs\">\n <div *ngIf=\"!obs.loaded\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-container>\n\n<div\n #widgetContainer\n class=\"widget-container\"\n [ngClass]=\"{'widget-container__visible': loaded$ | async}\"\n>\n <ng-container *ngIf=\"widgetConfigurations$ | async as widgetConfigurations\">\n <ng-container *ngFor=\"let config of widgetConfigurations\">\n <div #widgetConfiguration [id]=\"config.key\" class=\"widget-configuration\">\n <div\n (click)=\"navigateToRoute(config, $event)\"\n [ngClass]=\"{\n 'widget-configuration-content-clickable': config.url,\n }\"\n class=\"widget-configuration-content\"\n >\n <ng-container #widgetConfigurationContent></ng-container>\n </div>\n </div>\n </ng-container>\n\n <valtimo-no-results\n *ngIf=\"!widgetConfigurations.length\"\n [title]=\"'dashboard.noWidgets' | translate\"\n [description]=\"'dashboard.noWidgetsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-widgets.svg\"\n ></valtimo-no-results>\n </ng-container>\n</div>\n", styles: [":host{position:relative}.widget-container{margin-top:16px;width:calc(100% + 16px);margin-left:-8px;position:relative;visibility:hidden}.widget-container__visible{visibility:visible}.widget-configuration{position:absolute;display:flex;justify-content:center;align-items:center}.widget-configuration-content{width:calc(100% - 16px);height:calc(100% - 16px);background-color:#fff}.widget-configuration-content-clickable{cursor:pointer}.loading-container{padding-top:32px;position:absolute;top:0;display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2024 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"] }]
159
+ }], ctorParameters: () => [{ type: i1.WidgetLayoutService }, { type: i2.WidgetService }, { type: i0.Renderer2 }, { type: i3.Router }], propDecorators: { _widgetConfigurationRefs: [{
152
160
  type: ViewChildren,
153
161
  args: ['widgetConfiguration']
154
162
  }], _widgetConfigurationContentVcRefs: [{
@@ -162,4 +170,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
162
170
  }], dashboard: [{
163
171
  type: Input
164
172
  }] } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQvd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQvd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUVMLFNBQVMsRUFHVCxLQUFLLEVBSUwsU0FBUyxFQUNULFlBQVksRUFDWixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR2hELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQzs7Ozs7Ozs7QUFRMUIsTUFBTSxPQUFPLCtCQUErQjtJQVcxQyxJQUFhLFVBQVUsQ0FBQyxLQUE2QztRQUNuRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFhLFNBQVMsQ0FBQyxLQUFnQjtRQUNyQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQVlELElBQVksa0JBQWtCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQWVELFlBQ21CLGFBQWtDLEVBQ2xDLGFBQTRCLEVBQzVCLFFBQW1CO1FBRm5CLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBekNyQixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQzFELGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQWUsRUFBRSxDQUFDLENBQUM7UUFVN0MsMEJBQXFCLEdBQ25DLElBQUksZUFBZSxDQUE2QyxJQUFJLENBQUMsQ0FBQztRQUdoRSxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFM0IsWUFBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBRXBELG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBTWQsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVuRCxZQUFPLEdBQUcsYUFBYSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxXQUFXO1lBQ2hCLElBQUksQ0FBQyxrQkFBa0I7WUFDdkIsSUFBSSxDQUFDLFdBQVc7U0FDakIsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQ0QsQ0FBQyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxTQUFTLENBQUMsQ0FDNUYsRUFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQ1gsQ0FBQztJQU1DLENBQUM7SUFFRyxlQUFlO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDMUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVPLHVCQUF1QixDQUFDLFNBQW9CO1FBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO1lBQ3hGLE1BQU0sNkJBQTZCLEdBQ2pDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FDOUMscUJBQXFCLENBQUMsSUFBSSxDQUN4QixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEtBQUssbUJBQW1CLENBQUMsV0FBVyxDQUNoRSxDQUNGLElBQUksRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBQzFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFpQztRQUN4RCxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDO1FBRXBFLElBQUksT0FBTyxvQkFBb0IsS0FBSyxRQUFRLElBQUksb0JBQW9CLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ25FLENBQUM7SUFDSCxDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNyQixhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQjtZQUNuQyxJQUFJLENBQUMscUJBQXFCO1lBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCO1lBQ3pDLElBQUksQ0FBQyxPQUFPO1NBQ2IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDckYsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO2dCQUN2RSxNQUFNLGFBQWEsR0FBRyxzQkFBc0IsQ0FBQyxhQUFhLENBQUM7Z0JBQzNELE1BQU0sbUJBQW1CLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUNuRCxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssYUFBYSxDQUFDLEVBQUUsQ0FDMUMsQ0FBQztnQkFDRixNQUFNLGFBQWEsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsS0FBSyxtQkFBbUIsQ0FBQyxXQUFXLENBQ2hFLENBQUM7Z0JBQ0YsTUFBTSxlQUFlLEdBQ25CLGFBQWEsQ0FBQyxLQUFLLEdBQUcsZUFBZTtvQkFDbkMsQ0FBQyxDQUFDLEdBQUc7b0JBQ0wsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUMsR0FBRyxHQUFHLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUNwQixhQUFhLEVBQ2IsUUFBUSxFQUNSLEdBQUcsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLE1BQU0sSUFBSSxDQUMvQyxDQUFDO2dCQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsR0FBRyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1lBQ3hFLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDWCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ25CLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFDLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDckIsYUFBYSxDQUFDO1lBQ1osSUFBSSxDQUFDLHFCQUFxQjtZQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFzQjtZQUN6QyxJQUFJLENBQUMsWUFBWTtTQUNsQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDcEQsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDL0MsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FDbkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxLQUFLLGFBQWEsQ0FBQyxXQUFXLENBQzFELENBQUM7Z0JBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUV0RSxJQUFJLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDeEIsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNkLE1BQU0saUJBQWlCLEdBQW1DLEtBQUssQ0FBQyxlQUFlLENBQzdFLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FDN0IsQ0FBQztvQkFDRixpQkFBaUIsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN4RSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLEVBQUU7d0JBQ2xELEdBQUcsYUFBYSxDQUFDLHFCQUFxQjtxQkFDdkMsQ0FBQyxDQUFDO29CQUVILGlCQUFpQixDQUFDLFFBQVEsQ0FDeEIsTUFBTSxFQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQ2hFLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsY0FBYztZQUFFLE9BQU87UUFFN0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFFM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQ3pCLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUU7WUFDaEQsTUFBTSxFQUFFO2dCQUNOLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRCxjQUFjLEVBQUUsS0FBSztTQUN0QixDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7K0dBaExVLCtCQUErQjttR0FBL0IsK0JBQStCLHlIQUYvQixDQUFDLG1CQUFtQixDQUFDLHVWQU1tQixnQkFBZ0IsNkJDOUNyRSw2b0RBNENBOzs0RkRGYSwrQkFBK0I7a0JBTjNDLFNBQVM7K0JBQ0Usa0NBQWtDLGFBR2pDLENBQUMsbUJBQW1CLENBQUM7NElBR2Esd0JBQXdCO3NCQUFwRSxZQUFZO3VCQUFDLHFCQUFxQjtnQkFJM0IsaUNBQWlDO3NCQUR4QyxZQUFZO3VCQUFDLDRCQUE0QixFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDO2dCQUU5QixtQkFBbUI7c0JBQXhELFNBQVM7dUJBQUMsaUJBQWlCO2dCQUtmLFVBQVU7c0JBQXRCLEtBQUs7Z0JBSU8sU0FBUztzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWxheSwgbWFwLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0Rhc2hib2FyZCwgRGFzaGJvYXJkV2lkZ2V0Q29uZmlndXJhdGlvbiwgRGlzcGxheUNvbXBvbmVudCwgV2lkZ2V0RGF0YX0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7V2lkZ2V0U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtXaWRnZXRMYXlvdXRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aWRnZXQtbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHtXSURHRVRfMVhfSEVJR0hUfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IE11dXJpIGZyb20gJ211dXJpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby13aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1dpZGdldExheW91dFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXREYXNoYm9hcmRDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZHJlbignd2lkZ2V0Q29uZmlndXJhdGlvbicpIHByaXZhdGUgX3dpZGdldENvbmZpZ3VyYXRpb25SZWZzOiBRdWVyeUxpc3Q8XG4gICAgRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD5cbiAgPjtcbiAgQFZpZXdDaGlsZHJlbignd2lkZ2V0Q29uZmlndXJhdGlvbkNvbnRlbnQnLCB7cmVhZDogVmlld0NvbnRhaW5lclJlZn0pXG4gIHByaXZhdGUgX3dpZGdldENvbmZpZ3VyYXRpb25Db250ZW50VmNSZWZzOiBRdWVyeUxpc3Q8Vmlld0NvbnRhaW5lclJlZj47XG4gIEBWaWV3Q2hpbGQoJ3dpZGdldENvbnRhaW5lcicpIHByaXZhdGUgX3dpZGdldENvbnRhaW5lclJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaXNMb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgX3dpZGdldERhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxXaWRnZXREYXRhW10+KFtdKTtcblxuICBASW5wdXQoKSBzZXQgd2lkZ2V0RGF0YSh2YWx1ZToge2RhdGE6IFdpZGdldERhdGFbXTsgbG9hZGluZzogYm9vbGVhbn0pIHtcbiAgICB0aGlzLl9pc0xvYWRpbmckLm5leHQodmFsdWUubG9hZGluZyk7XG4gICAgdGhpcy5fd2lkZ2V0RGF0YSQubmV4dCh2YWx1ZS5kYXRhKTtcbiAgfVxuICBASW5wdXQoKSBzZXQgZGFzaGJvYXJkKHZhbHVlOiBEYXNoYm9hcmQpIHtcbiAgICB0aGlzLnNldFdpZGdldENvbmZpZ3VyYXRpb25zKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB3aWRnZXRDb25maWd1cmF0aW9ucyQgPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8RGFzaGJvYXJkV2lkZ2V0Q29uZmlndXJhdGlvbj4gfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIF9vYnNlcnZlciE6IFJlc2l6ZU9ic2VydmVyO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX211dXJpJCA9IHRoaXMubGF5b3V0U2VydmljZS5tdXVyaVN1YmplY3QkO1xuXG4gIHByaXZhdGUgX2NyZWF0aW5nTXV1cmkgPSBmYWxzZTtcblxuICBwcml2YXRlIGdldCBfbXV1cmlJbml0aWFsaXplZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX211dXJpJC5waXBlKG1hcChtdXVyaSA9PiAhIW11dXJpKSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9ub1Jlc3VsdHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGxvYWRlZCQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLl9pc0xvYWRpbmckLFxuICAgIHRoaXMuX211dXJpSW5pdGlhbGl6ZWQkLFxuICAgIHRoaXMuX25vUmVzdWx0cyQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKFxuICAgICAgKFtpc0xvYWRpbmcsIG11dXJpSW5pdGlhbGl6ZWQsIG5vUmVzdWx0c10pID0+ICFpc0xvYWRpbmcgJiYgKG11dXJpSW5pdGlhbGl6ZWQgfHwgbm9SZXN1bHRzKVxuICAgICksXG4gICAgZGVsYXkoNDAwKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGF5b3V0U2VydmljZTogV2lkZ2V0TGF5b3V0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldFNlcnZpY2U6IFdpZGdldFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX29ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKGV2ZW50ID0+IHtcbiAgICAgIHRoaXMub2JzZXJ2ZXJNdXRhdGlvbihldmVudCk7XG4gICAgfSk7XG4gICAgdGhpcy5fb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl93aWRnZXRDb250YWluZXJSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5vcGVuV2lkZ2V0U2l6ZVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMucmVuZGVyV2lkZ2V0cygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX29ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucz8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0V2lkZ2V0Q29uZmlndXJhdGlvbnMoZGFzaGJvYXJkOiBEYXNoYm9hcmQpOiB2b2lkIHtcbiAgICB0aGlzLndpZGdldFNlcnZpY2Uuc3VwcG9ydGVkRGlzcGxheVR5cGVzJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzdXBwb3J0ZWREaXNwbGF5VHlwZXMgPT4ge1xuICAgICAgY29uc3Qgc3VwcG9ydGVkV2lkZ2V0Q29uZmlndXJhdGlvbnMgPVxuICAgICAgICBkYXNoYm9hcmQud2lkZ2V0cz8uZmlsdGVyKHdpZGdldENvbmZpZ3VyYXRpb24gPT5cbiAgICAgICAgICBzdXBwb3J0ZWREaXNwbGF5VHlwZXMuZmluZChcbiAgICAgICAgICAgIHR5cGUgPT4gdHlwZS5kaXNwbGF5VHlwZUtleSA9PT0gd2lkZ2V0Q29uZmlndXJhdGlvbi5kaXNwbGF5VHlwZVxuICAgICAgICAgIClcbiAgICAgICAgKSB8fCBbXTtcbiAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zZXRXaWRnZXRDb25maWd1cmF0aW9ucyhzdXBwb3J0ZWRXaWRnZXRDb25maWd1cmF0aW9ucyk7XG4gICAgICB0aGlzLndpZGdldENvbmZpZ3VyYXRpb25zJC5uZXh0KHN1cHBvcnRlZFdpZGdldENvbmZpZ3VyYXRpb25zKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZXJNdXRhdGlvbihldmVudDogQXJyYXk8UmVzaXplT2JzZXJ2ZXJFbnRyeT4pOiB2b2lkIHtcbiAgICBjb25zdCB3aWRnZXRDb250YWluZXJXaWR0aCA9IGV2ZW50WzBdPy5ib3JkZXJCb3hTaXplWzBdPy5pbmxpbmVTaXplO1xuXG4gICAgaWYgKHR5cGVvZiB3aWRnZXRDb250YWluZXJXaWR0aCA9PT0gJ251bWJlcicgJiYgd2lkZ2V0Q29udGFpbmVyV2lkdGggIT09IDApIHtcbiAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zZXRXaWRnZXRDb250YWluZXJXaWR0aCh3aWRnZXRDb250YWluZXJXaWR0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuV2lkZ2V0U2l6ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UuYW1vdW50T2ZDb2x1bW5zJCxcbiAgICAgICAgdGhpcy53aWRnZXRDb25maWd1cmF0aW9ucyQsXG4gICAgICAgIHRoaXMud2lkZ2V0U2VydmljZS5zdXBwb3J0ZWREaXNwbGF5VHlwZXMkLFxuICAgICAgICB0aGlzLl9tdXVyaSQsXG4gICAgICBdKS5zdWJzY3JpYmUoKFthbW91bnRPZkNvbHVtbnMsIHdpZGdldENvbmZpZ3VyYXRpb25zLCBzdXBwb3J0ZWREaXNwbGF5VHlwZXMsIG11dXJpXSkgPT4ge1xuICAgICAgICB0aGlzLl93aWRnZXRDb25maWd1cmF0aW9uUmVmcy50b0FycmF5KCkuZm9yRWFjaCh3aWRnZXRDb25maWd1cmF0aW9uUmVmID0+IHtcbiAgICAgICAgICBjb25zdCBuYXRpdmVFbGVtZW50ID0gd2lkZ2V0Q29uZmlndXJhdGlvblJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgIGNvbnN0IHdpZGdldENvbmZpZ3VyYXRpb24gPSB3aWRnZXRDb25maWd1cmF0aW9ucy5maW5kKFxuICAgICAgICAgICAgY29uZmlnID0+IGNvbmZpZy5rZXkgPT09IG5hdGl2ZUVsZW1lbnQuaWRcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IHNwZWNpZmljYXRpb24gPSBzdXBwb3J0ZWREaXNwbGF5VHlwZXMuZmluZChcbiAgICAgICAgICAgIHR5cGUgPT4gdHlwZS5kaXNwbGF5VHlwZUtleSA9PT0gd2lkZ2V0Q29uZmlndXJhdGlvbi5kaXNwbGF5VHlwZVxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3Qgd2lkdGhQZXJjZW50YWdlID1cbiAgICAgICAgICAgIHNwZWNpZmljYXRpb24ud2lkdGggPiBhbW91bnRPZkNvbHVtbnNcbiAgICAgICAgICAgICAgPyAxMDBcbiAgICAgICAgICAgICAgOiAoc3BlY2lmaWNhdGlvbi53aWR0aCAvIGFtb3VudE9mQ29sdW1ucykgKiAxMDA7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgICAgIGAke1dJREdFVF8xWF9IRUlHSFQgKiBzcGVjaWZpY2F0aW9uLmhlaWdodH1weGBcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGhQZXJjZW50YWdlfSVgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHdpZGdldENvbmZpZ3VyYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBpZiAoIW11dXJpKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRNdXVyaSgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UudHJpZ2dlck11dXJpTGF5b3V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX25vUmVzdWx0cyQubmV4dCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJXaWRnZXRzKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMud2lkZ2V0Q29uZmlndXJhdGlvbnMkLFxuICAgICAgICB0aGlzLndpZGdldFNlcnZpY2Uuc3VwcG9ydGVkRGlzcGxheVR5cGVzJCxcbiAgICAgICAgdGhpcy5fd2lkZ2V0RGF0YSQsXG4gICAgICBdKS5zdWJzY3JpYmUoKFtjb25maWd1cmF0aW9ucywgZGlzcGxheVR5cGVzLCBkYXRhXSkgPT4ge1xuICAgICAgICBjb25maWd1cmF0aW9ucz8uZm9yRWFjaCgoY29uZmlndXJhdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICBjb25zdCBkaXNwbGF5VHlwZSA9IGRpc3BsYXlUeXBlcy5maW5kKFxuICAgICAgICAgICAgdHlwZSA9PiB0eXBlLmRpc3BsYXlUeXBlS2V5ID09PSBjb25maWd1cmF0aW9uLmRpc3BsYXlUeXBlXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCB2Y1JlZiA9IHRoaXMuX3dpZGdldENvbmZpZ3VyYXRpb25Db250ZW50VmNSZWZzLnRvQXJyYXkoKVtpbmRleF07XG5cbiAgICAgICAgICBpZiAoZGlzcGxheVR5cGUgJiYgZGF0YSkge1xuICAgICAgICAgICAgdmNSZWYuY2xlYXIoKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEluc3RhbmNlOiBDb21wb25lbnRSZWY8RGlzcGxheUNvbXBvbmVudD4gPSB2Y1JlZi5jcmVhdGVDb21wb25lbnQoXG4gICAgICAgICAgICAgIGRpc3BsYXlUeXBlLmRpc3BsYXlDb21wb25lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS5zZXRJbnB1dCgnZGlzcGxheVR5cGVLZXknLCBjb25maWd1cmF0aW9uLmRpc3BsYXlUeXBlKTtcbiAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLnNldElucHV0KCdkaXNwbGF5VHlwZVByb3BlcnRpZXMnLCB7XG4gICAgICAgICAgICAgIC4uLmNvbmZpZ3VyYXRpb24uZGlzcGxheVR5cGVQcm9wZXJ0aWVzLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLnNldElucHV0KFxuICAgICAgICAgICAgICAnZGF0YScsXG4gICAgICAgICAgICAgIGRhdGEuZmluZChkYXRhSXRlbSA9PiBkYXRhSXRlbS5rZXkgPT09IGNvbmZpZ3VyYXRpb24ua2V5KT8uZGF0YVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0TXV1cmkoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl93aWRnZXRDb250YWluZXJSZWYgfHwgdGhpcy5fY3JlYXRpbmdNdXVyaSkgcmV0dXJuO1xuXG4gICAgdGhpcy5fY3JlYXRpbmdNdXVyaSA9IHRydWU7XG5cbiAgICB0aGlzLmxheW91dFNlcnZpY2Uuc2V0TXV1cmkoXG4gICAgICBuZXcgTXV1cmkodGhpcy5fd2lkZ2V0Q29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgZmlsbEdhcHM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGxheW91dE9uUmVzaXplOiBmYWxzZSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuX2NyZWF0aW5nTXV1cmkgPSBmYWxzZTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwie2xvYWRlZDogbG9hZGVkJCB8IGFzeW5jfSBhcyBvYnNcIj5cbiAgPGRpdiAqbmdJZj1cIiFvYnMubG9hZGVkXCIgY2xhc3M9XCJsb2FkaW5nLWNvbnRhaW5lclwiPlxuICAgIDxjZHMtbG9hZGluZz48L2Nkcy1sb2FkaW5nPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48ZGl2XG4gICN3aWRnZXRDb250YWluZXJcbiAgY2xhc3M9XCJ3aWRnZXQtY29udGFpbmVyXCJcbiAgW25nQ2xhc3NdPVwieyd3aWRnZXQtY29udGFpbmVyX192aXNpYmxlJzogbG9hZGVkJCB8IGFzeW5jfVwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aWRnZXRDb25maWd1cmF0aW9ucyQgfCBhc3luYyBhcyB3aWRnZXRDb25maWd1cmF0aW9uc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbmZpZyBvZiB3aWRnZXRDb25maWd1cmF0aW9uc1wiPlxuICAgICAgPGRpdiAjd2lkZ2V0Q29uZmlndXJhdGlvbiBbaWRdPVwiY29uZmlnLmtleVwiIGNsYXNzPVwid2lkZ2V0LWNvbmZpZ3VyYXRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndpZGdldC1jb25maWd1cmF0aW9uLWNvbnRlbnRcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICN3aWRnZXRDb25maWd1cmF0aW9uQ29udGVudD48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx2YWx0aW1vLW5vLXJlc3VsdHNcbiAgICAgICpuZ0lmPVwiIXdpZGdldENvbmZpZ3VyYXRpb25zLmxlbmd0aFwiXG4gICAgICBbdGl0bGVdPVwiJ2Rhc2hib2FyZC5ub1dpZGdldHMnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtkZXNjcmlwdGlvbl09XCInZGFzaGJvYXJkLm5vV2lkZ2V0c0Rlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBpbGx1c3RyYXRpb249XCJ2YWx0aW1vLWxheW91dC9pbWcvbm8td2lkZ2V0cy5zdmdcIlxuICAgID48L3ZhbHRpbW8tbm8tcmVzdWx0cz5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQvd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQvd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUVMLFNBQVMsRUFHVCxLQUFLLEVBSUwsU0FBUyxFQUNULFlBQVksRUFDWixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR2hELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQzs7Ozs7Ozs7O0FBUzFCLE1BQU0sT0FBTywrQkFBK0I7SUFXMUMsSUFBYSxVQUFVLENBQUMsS0FBNkM7UUFDbkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENB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SUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFFM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQ3pCLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUU7WUFDaEQsTUFBTSxFQUFFO2dCQUNOLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRCxjQUFjLEVBQUUsS0FBSztTQUN0QixDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7K0dBM0xVLCtCQUErQjttR0FBL0IsK0JBQStCLHlIQUYvQixDQUFDLG1CQUFtQixDQUFDLHVWQU1tQixnQkFBZ0IsNkJDL0NyRSxvMERBa0RBOzs0RkRQYSwrQkFBK0I7a0JBTjNDLFNBQVM7K0JBQ0Usa0NBQWtDLGFBR2pDLENBQUMsbUJBQW1CLENBQUM7aUtBR2Esd0JBQXdCO3NCQUFwRSxZQUFZO3VCQUFDLHFCQUFxQjtnQkFJM0IsaUNBQWlDO3NCQUR4QyxZQUFZO3VCQUFDLDRCQUE0QixFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDO2dCQUU5QixtQkFBbUI7c0JBQXhELFNBQVM7dUJBQUMsaUJBQWlCO2dCQUtmLFVBQVU7c0JBQXRCLEtBQUs7Z0JBSU8sU0FBUztzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWxheSwgbWFwLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0Rhc2hib2FyZCwgRGFzaGJvYXJkV2lkZ2V0Q29uZmlndXJhdGlvbiwgRGlzcGxheUNvbXBvbmVudCwgV2lkZ2V0RGF0YX0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7V2lkZ2V0U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtXaWRnZXRMYXlvdXRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aWRnZXQtbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHtXSURHRVRfMVhfSEVJR0hUfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IE11dXJpIGZyb20gJ211dXJpJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXdpZGdldC1kYXNoYm9hcmQtY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbV2lkZ2V0TGF5b3V0U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFdpZGdldERhc2hib2FyZENvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkcmVuKCd3aWRnZXRDb25maWd1cmF0aW9uJykgcHJpdmF0ZSBfd2lkZ2V0Q29uZmlndXJhdGlvblJlZnM6IFF1ZXJ5TGlzdDxcbiAgICBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PlxuICA+O1xuICBAVmlld0NoaWxkcmVuKCd3aWRnZXRDb25maWd1cmF0aW9uQ29udGVudCcsIHtyZWFkOiBWaWV3Q29udGFpbmVyUmVmfSlcbiAgcHJpdmF0ZSBfd2lkZ2V0Q29uZmlndXJhdGlvbkNvbnRlbnRWY1JlZnM6IFF1ZXJ5TGlzdDxWaWV3Q29udGFpbmVyUmVmPjtcbiAgQFZpZXdDaGlsZCgnd2lkZ2V0Q29udGFpbmVyJykgcHJpdmF0ZSBfd2lkZ2V0Q29udGFpbmVyUmVmOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pc0xvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHJpdmF0ZSBfd2lkZ2V0RGF0YSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFdpZGdldERhdGFbXT4oW10pO1xuXG4gIEBJbnB1dCgpIHNldCB3aWRnZXREYXRhKHZhbHVlOiB7ZGF0YTogV2lkZ2V0RGF0YVtdOyBsb2FkaW5nOiBib29sZWFufSkge1xuICAgIHRoaXMuX2lzTG9hZGluZyQubmV4dCh2YWx1ZS5sb2FkaW5nKTtcbiAgICB0aGlzLl93aWRnZXREYXRhJC5uZXh0KHZhbHVlLmRhdGEpO1xuICB9XG4gIEBJbnB1dCgpIHNldCBkYXNoYm9hcmQodmFsdWU6IERhc2hib2FyZCkge1xuICAgIHRoaXMuc2V0V2lkZ2V0Q29uZmlndXJhdGlvbnModmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHdpZGdldENvbmZpZ3VyYXRpb25zJCA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxEYXNoYm9hcmRXaWRnZXRDb25maWd1cmF0aW9uPiB8IG51bGw+KG51bGwpO1xuXG4gIHByaXZhdGUgX29ic2VydmVyITogUmVzaXplT2JzZXJ2ZXI7XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbXV1cmkkID0gdGhpcy5sYXlvdXRTZXJ2aWNlLm11dXJpU3ViamVjdCQ7XG5cbiAgcHJpdmF0ZSBfY3JlYXRpbmdNdXVyaSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgZ2V0IF9tdXVyaUluaXRpYWxpemVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fbXV1cmkkLnBpcGUobWFwKG11dXJpID0+ICEhbXV1cmkpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX25vUmVzdWx0cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbG9hZGVkJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuX2lzTG9hZGluZyQsXG4gICAgdGhpcy5fbXV1cmlJbml0aWFsaXplZCQsXG4gICAgdGhpcy5fbm9SZXN1bHRzJCxcbiAgXSkucGlwZShcbiAgICBtYXAoXG4gICAgICAoW2lzTG9hZGluZywgbXV1cmlJbml0aWFsaXplZCwgbm9SZXN1bHRzXSkgPT4gIWlzTG9hZGluZyAmJiAobXV1cmlJbml0aWFsaXplZCB8fCBub1Jlc3VsdHMpXG4gICAgKSxcbiAgICBkZWxheSg0MDApXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBsYXlvdXRTZXJ2aWNlOiBXaWRnZXRMYXlvdXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2lkZ2V0U2VydmljZTogV2lkZ2V0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlclxuICApIHt9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9vYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihldmVudCA9PiB7XG4gICAgICB0aGlzLm9ic2VydmVyTXV0YXRpb24oZXZlbnQpO1xuICAgIH0pO1xuICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy5fd2lkZ2V0Q29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMub3BlbldpZGdldFNpemVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLnJlbmRlcldpZGdldHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnM/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgbmF2aWdhdGVUb1JvdXRlKFxuICAgIHdpZGdldENvbmZpZ3VyYXRpb246IERhc2hib2FyZFdpZGdldENvbmZpZ3VyYXRpb24sXG4gICAgZXZlbnQ6IE1vdXNlRXZlbnRcbiAgKTogdm9pZCB7XG4gICAgaWYgKHdpZGdldENvbmZpZ3VyYXRpb24udXJsKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh3aWRnZXRDb25maWd1cmF0aW9uLnVybCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRXaWRnZXRDb25maWd1cmF0aW9ucyhkYXNoYm9hcmQ6IERhc2hib2FyZCk6IHZvaWQge1xuICAgIHRoaXMud2lkZ2V0U2VydmljZS5zdXBwb3J0ZWREaXNwbGF5VHlwZXMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHN1cHBvcnRlZERpc3BsYXlUeXBlcyA9PiB7XG4gICAgICBjb25zdCBzdXBwb3J0ZWRXaWRnZXRDb25maWd1cmF0aW9ucyA9XG4gICAgICAgIGRhc2hib2FyZC53aWRnZXRzPy5maWx0ZXIod2lkZ2V0Q29uZmlndXJhdGlvbiA9PlxuICAgICAgICAgIHN1cHBvcnRlZERpc3BsYXlUeXBlcy5maW5kKFxuICAgICAgICAgICAgdHlwZSA9PiB0eXBlLmRpc3BsYXlUeXBlS2V5ID09PSB3aWRnZXRDb25maWd1cmF0aW9uLmRpc3BsYXlUeXBlXG4gICAgICAgICAgKVxuICAgICAgICApIHx8IFtdO1xuICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnNldFdpZGdldENvbmZpZ3VyYXRpb25zKHN1cHBvcnRlZFdpZGdldENvbmZpZ3VyYXRpb25zKTtcbiAgICAgIHRoaXMud2lkZ2V0Q29uZmlndXJhdGlvbnMkLm5leHQoc3VwcG9ydGVkV2lkZ2V0Q29uZmlndXJhdGlvbnMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlck11dGF0aW9uKGV2ZW50OiBBcnJheTxSZXNpemVPYnNlcnZlckVudHJ5Pik6IHZvaWQge1xuICAgIGNvbnN0IHdpZGdldENvbnRhaW5lcldpZHRoID0gZXZlbnRbMF0/LmJvcmRlckJveFNpemVbMF0/LmlubGluZVNpemU7XG5cbiAgICBpZiAodHlwZW9mIHdpZGdldENvbnRhaW5lcldpZHRoID09PSAnbnVtYmVyJyAmJiB3aWRnZXRDb250YWluZXJXaWR0aCAhPT0gMCkge1xuICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnNldFdpZGdldENvbnRhaW5lcldpZHRoKHdpZGdldENvbnRhaW5lcldpZHRoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW5XaWRnZXRTaXplU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5hbW91bnRPZkNvbHVtbnMkLFxuICAgICAgICB0aGlzLndpZGdldENvbmZpZ3VyYXRpb25zJCxcbiAgICAgICAgdGhpcy53aWRnZXRTZXJ2aWNlLnN1cHBvcnRlZERpc3BsYXlUeXBlcyQsXG4gICAgICAgIHRoaXMuX211dXJpJCxcbiAgICAgIF0pLnN1YnNjcmliZSgoW2Ftb3VudE9mQ29sdW1ucywgd2lkZ2V0Q29uZmlndXJhdGlvbnMsIHN1cHBvcnRlZERpc3BsYXlUeXBlcywgbXV1cmldKSA9PiB7XG4gICAgICAgIHRoaXMuX3dpZGdldENvbmZpZ3VyYXRpb25SZWZzLnRvQXJyYXkoKS5mb3JFYWNoKHdpZGdldENvbmZpZ3VyYXRpb25SZWYgPT4ge1xuICAgICAgICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB3aWRnZXRDb25maWd1cmF0aW9uUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgY29uc3Qgd2lkZ2V0Q29uZmlndXJhdGlvbiA9IHdpZGdldENvbmZpZ3VyYXRpb25zLmZpbmQoXG4gICAgICAgICAgICBjb25maWcgPT4gY29uZmlnLmtleSA9PT0gbmF0aXZlRWxlbWVudC5pZFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3Qgc3BlY2lmaWNhdGlvbiA9IHN1cHBvcnRlZERpc3BsYXlUeXBlcy5maW5kKFxuICAgICAgICAgICAgdHlwZSA9PiB0eXBlLmRpc3BsYXlUeXBlS2V5ID09PSB3aWRnZXRDb25maWd1cmF0aW9uLmRpc3BsYXlUeXBlXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCB3aWR0aFBlcmNlbnRhZ2UgPVxuICAgICAgICAgICAgc3BlY2lmaWNhdGlvbi53aWR0aCA+IGFtb3VudE9mQ29sdW1uc1xuICAgICAgICAgICAgICA/IDEwMFxuICAgICAgICAgICAgICA6IChzcGVjaWZpY2F0aW9uLndpZHRoIC8gYW1vdW50T2ZDb2x1bW5zKSAqIDEwMDtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgICAgbmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICdoZWlnaHQnLFxuICAgICAgICAgICAgYCR7V0lER0VUXzFYX0hFSUdIVCAqIHNwZWNpZmljYXRpb24uaGVpZ2h0fXB4YFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShuYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt3aWR0aFBlcmNlbnRhZ2V9JWApO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAod2lkZ2V0Q29uZmlndXJhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGlmICghbXV1cmkpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdE11dXJpKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0U2VydmljZS50cmlnZ2VyTXV1cmlMYXlvdXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fbm9SZXN1bHRzJC5uZXh0KHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlcldpZGdldHMoKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy53aWRnZXRDb25maWd1cmF0aW9ucyQsXG4gICAgICAgIHRoaXMud2lkZ2V0U2VydmljZS5zdXBwb3J0ZWREaXNwbGF5VHlwZXMkLFxuICAgICAgICB0aGlzLl93aWRnZXREYXRhJCxcbiAgICAgIF0pLnN1YnNjcmliZSgoW2NvbmZpZ3VyYXRpb25zLCBkaXNwbGF5VHlwZXMsIGRhdGFdKSA9PiB7XG4gICAgICAgIGNvbmZpZ3VyYXRpb25zPy5mb3JFYWNoKChjb25maWd1cmF0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRpc3BsYXlUeXBlID0gZGlzcGxheVR5cGVzLmZpbmQoXG4gICAgICAgICAgICB0eXBlID0+IHR5cGUuZGlzcGxheVR5cGVLZXkgPT09IGNvbmZpZ3VyYXRpb24uZGlzcGxheVR5cGVcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IHZjUmVmID0gdGhpcy5fd2lkZ2V0Q29uZmlndXJhdGlvbkNvbnRlbnRWY1JlZnMudG9BcnJheSgpW2luZGV4XTtcblxuICAgICAgICAgIGlmIChkaXNwbGF5VHlwZSAmJiBkYXRhKSB7XG4gICAgICAgICAgICB2Y1JlZi5jbGVhcigpO1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50SW5zdGFuY2U6IENvbXBvbmVudFJlZjxEaXNwbGF5Q29tcG9uZW50PiA9IHZjUmVmLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgICAgICAgICAgZGlzcGxheVR5cGUuZGlzcGxheUNvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLnNldElucHV0KCdkaXNwbGF5VHlwZUtleScsIGNvbmZpZ3VyYXRpb24uZGlzcGxheVR5cGUpO1xuICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2Uuc2V0SW5wdXQoJ2Rpc3BsYXlUeXBlUHJvcGVydGllcycsIHtcbiAgICAgICAgICAgICAgLi4uY29uZmlndXJhdGlvbi5kaXNwbGF5VHlwZVByb3BlcnRpZXMsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2Uuc2V0SW5wdXQoXG4gICAgICAgICAgICAgICdkYXRhJyxcbiAgICAgICAgICAgICAgZGF0YS5maW5kKGRhdGFJdGVtID0+IGRhdGFJdGVtLmtleSA9PT0gY29uZmlndXJhdGlvbi5rZXkpPy5kYXRhXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRNdXVyaSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3dpZGdldENvbnRhaW5lclJlZiB8fCB0aGlzLl9jcmVhdGluZ011dXJpKSByZXR1cm47XG5cbiAgICB0aGlzLl9jcmVhdGluZ011dXJpID0gdHJ1ZTtcblxuICAgIHRoaXMubGF5b3V0U2VydmljZS5zZXRNdXVyaShcbiAgICAgIG5ldyBNdXVyaSh0aGlzLl93aWRnZXRDb250YWluZXJSZWYubmF0aXZlRWxlbWVudCwge1xuICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICBmaWxsR2FwczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgbGF5b3V0T25SZXNpemU6IGZhbHNlLFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5fY3JlYXRpbmdNdXVyaSA9IGZhbHNlO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ7bG9hZGVkOiBsb2FkZWQkIHwgYXN5bmN9IGFzIG9ic1wiPlxuICA8ZGl2ICpuZ0lmPVwiIW9icy5sb2FkZWRcIiBjbGFzcz1cImxvYWRpbmctY29udGFpbmVyXCI+XG4gICAgPGNkcy1sb2FkaW5nPjwvY2RzLWxvYWRpbmc+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXZcbiAgI3dpZGdldENvbnRhaW5lclxuICBjbGFzcz1cIndpZGdldC1jb250YWluZXJcIlxuICBbbmdDbGFzc109XCJ7J3dpZGdldC1jb250YWluZXJfX3Zpc2libGUnOiBsb2FkZWQkIHwgYXN5bmN9XCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldENvbmZpZ3VyYXRpb25zJCB8IGFzeW5jIGFzIHdpZGdldENvbmZpZ3VyYXRpb25zXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29uZmlnIG9mIHdpZGdldENvbmZpZ3VyYXRpb25zXCI+XG4gICAgICA8ZGl2ICN3aWRnZXRDb25maWd1cmF0aW9uIFtpZF09XCJjb25maWcua2V5XCIgY2xhc3M9XCJ3aWRnZXQtY29uZmlndXJhdGlvblwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9Sb3V0ZShjb25maWcsICRldmVudClcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICd3aWRnZXQtY29uZmlndXJhdGlvbi1jb250ZW50LWNsaWNrYWJsZSc6IGNvbmZpZy51cmwsXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgY2xhc3M9XCJ3aWRnZXQtY29uZmlndXJhdGlvbi1jb250ZW50XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgI3dpZGdldENvbmZpZ3VyYXRpb25Db250ZW50PjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHZhbHRpbW8tbm8tcmVzdWx0c1xuICAgICAgKm5nSWY9XCIhd2lkZ2V0Q29uZmlndXJhdGlvbnMubGVuZ3RoXCJcbiAgICAgIFt0aXRsZV09XCInZGFzaGJvYXJkLm5vV2lkZ2V0cycgfCB0cmFuc2xhdGVcIlxuICAgICAgW2Rlc2NyaXB0aW9uXT1cIidkYXNoYm9hcmQubm9XaWRnZXRzRGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICAgIGlsbHVzdHJhdGlvbj1cInZhbHRpbW8tbGF5b3V0L2ltZy9uby13aWRnZXRzLnN2Z1wiXG4gICAgPjwvdmFsdGltby1uby1yZXN1bHRzPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -28,6 +28,7 @@ import { DATA_SOURCE_TOKEN, DISPLAY_TYPE_TOKEN } from './constants';
28
28
  import { DashboardRoutingModule } from './dashboard-routing.module';
29
29
  import { WidgetTranslatePipeModule } from './pipes';
30
30
  import { DisplayWidgetTypesModule } from './display-types/display-widget-types.module';
31
+ import { DataSourcesModule } from './data-sources/data-sources.module';
31
32
  import * as i0 from "@angular/core";
32
33
  import * as i1 from "@ngx-translate/core";
33
34
  // AoT requires an exported function for factories
@@ -48,7 +49,8 @@ export class DashboardModule {
48
49
  WidgetTranslatePipeModule,
49
50
  LoadingModule,
50
51
  CarbonListModule,
51
- DisplayWidgetTypesModule], exports: [DashboardComponent, WidgetDashboardComponent] }); }
52
+ DisplayWidgetTypesModule,
53
+ DataSourcesModule], exports: [DashboardComponent, WidgetDashboardComponent] }); }
52
54
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DashboardModule, providers: [
53
55
  { provide: DISPLAY_TYPE_TOKEN, useValue: null, multi: true },
54
56
  { provide: DATA_SOURCE_TOKEN, useValue: null, multi: true },
@@ -72,7 +74,8 @@ export class DashboardModule {
72
74
  WidgetTranslatePipeModule,
73
75
  LoadingModule,
74
76
  CarbonListModule,
75
- DisplayWidgetTypesModule] }); }
77
+ DisplayWidgetTypesModule,
78
+ DataSourcesModule] }); }
76
79
  }
77
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DashboardModule, decorators: [{
78
81
  type: NgModule,
@@ -100,6 +103,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
100
103
  LoadingModule,
101
104
  CarbonListModule,
102
105
  DisplayWidgetTypesModule,
106
+ DataSourcesModule,
103
107
  ],
104
108
  exports: [DashboardComponent, WidgetDashboardComponent],
105
109
  providers: [
@@ -108,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
108
112
  ],
109
113
  }]
110
114
  }] });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvZGFzaGJvYXJkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZUFBZSxFQUFFLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFDTCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDakYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sMEVBQTBFLENBQUM7QUFDekgsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDbEcsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNsRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQzs7O0FBRXJGLGtEQUFrRDtBQUNsRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsVUFBc0I7SUFDdEQsT0FBTyxJQUFJLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFpQ0QsTUFBTSxPQUFPLGVBQWU7K0dBQWYsZUFBZTtnSEFBZixlQUFlLGlCQTlCWCxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBRSwrQkFBK0IsYUFFMUYsWUFBWTtZQUNaLHNCQUFzQjtZQUN0QixZQUFZO1lBQ1osVUFBVTtZQUNWLG1CQUFtQixzQkFRbkIsV0FBVztZQUNYLFVBQVU7WUFDVixhQUFhO1lBQ2IsVUFBVTtZQUNWLFdBQVc7WUFDWCx5QkFBeUI7WUFDekIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQix3QkFBd0IsYUFFaEIsa0JBQWtCLEVBQUUsd0JBQXdCO2dIQU0zQyxlQUFlLGFBTGY7WUFDVCxFQUFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7WUFDMUQsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO1NBQzFELFlBMUJDLFlBQVk7WUFDWixzQkFBc0I7WUFDdEIsWUFBWTtZQUNaLFVBQVU7WUFDVixtQkFBbUI7WUFDbkIsZUFBZSxDQUFDLE9BQU8sQ0FBQztnQkFDdEIsTUFBTSxFQUFFO29CQUNOLE9BQU8sRUFBRSxlQUFlO29CQUN4QixVQUFVLEVBQUUsaUJBQWlCO29CQUM3QixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ25CO2FBQ0YsQ0FBQztZQUNGLFdBQVc7WUFDWCxVQUFVO1lBQ1YsYUFBYTtZQUNiLFVBQVU7WUFDVixXQUFXO1lBQ1gseUJBQXlCO1lBQ3pCLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsd0JBQXdCOzs0RkFRZixlQUFlO2tCQS9CM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBRSwrQkFBK0IsQ0FBQztvQkFDN0YsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osc0JBQXNCO3dCQUN0QixZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsbUJBQW1CO3dCQUNuQixlQUFlLENBQUMsT0FBTyxDQUFDOzRCQUN0QixNQUFNLEVBQUU7Z0NBQ04sT0FBTyxFQUFFLGVBQWU7Z0NBQ3hCLFVBQVUsRUFBRSxpQkFBaUI7Z0NBQzdCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQzs2QkFDbkI7eUJBQ0YsQ0FBQzt3QkFDRixXQUFXO3dCQUNYLFVBQVU7d0JBQ1YsYUFBYTt3QkFDYixVQUFVO3dCQUNWLFdBQVc7d0JBQ1gseUJBQXlCO3dCQUN6QixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSx3QkFBd0IsQ0FBQztvQkFDdkQsU0FBUyxFQUFFO3dCQUNULEVBQUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQzt3QkFDMUQsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO3FCQUMxRDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlSHR0cExvYWRlcn0gZnJvbSAnQG5neC10cmFuc2xhdGUvaHR0cC1sb2FkZXInO1xuaW1wb3J0IHtcbiAgQWxlcnRNb2R1bGUsXG4gIEJwbW5Kc0RpYWdyYW1Nb2R1bGUsXG4gIENhcmJvbkxpc3RNb2R1bGUsXG4gIExpc3RNb2R1bGUsXG4gIFNwaW5uZXJNb2R1bGUsXG4gIFdpZGdldE1vZHVsZSxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1Rhc2tNb2R1bGV9IGZyb20gJ0B2YWx0aW1vL3Rhc2snO1xuaW1wb3J0IHtMb2FkaW5nTW9kdWxlLCBUYWJzTW9kdWxlLCBUaGVtZU1vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge0Rhc2hib2FyZENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50JztcbmltcG9ydCB7V2lkZ2V0RGFzaGJvYXJkQ29udGVudENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldC1kYXNoYm9hcmQtY29udGVudC93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7V2lkZ2V0RGFzaGJvYXJkQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0LWRhc2hib2FyZC93aWRnZXQtZGFzaGJvYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge0RBVEFfU09VUkNFX1RPS0VOLCBESVNQTEFZX1RZUEVfVE9LRU59IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7RGFzaGJvYXJkUm91dGluZ01vZHVsZX0gZnJvbSAnLi9kYXNoYm9hcmQtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHtXaWRnZXRUcmFuc2xhdGVQaXBlTW9kdWxlfSBmcm9tICcuL3BpcGVzJztcbmltcG9ydCB7RGlzcGxheVdpZGdldFR5cGVzTW9kdWxlfSBmcm9tICcuL2Rpc3BsYXktdHlwZXMvZGlzcGxheS13aWRnZXQtdHlwZXMubW9kdWxlJztcblxuLy8gQW9UIHJlcXVpcmVzIGFuIGV4cG9ydGVkIGZ1bmN0aW9uIGZvciBmYWN0b3JpZXNcbmV4cG9ydCBmdW5jdGlvbiBIdHRwTG9hZGVyRmFjdG9yeShodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7XG4gIHJldHVybiBuZXcgVHJhbnNsYXRlSHR0cExvYWRlcihodHRwQ2xpZW50KTtcbn1cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbRGFzaGJvYXJkQ29tcG9uZW50LCBXaWRnZXREYXNoYm9hcmRDb21wb25lbnQsIFdpZGdldERhc2hib2FyZENvbnRlbnRDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERhc2hib2FyZFJvdXRpbmdNb2R1bGUsXG4gICAgV2lkZ2V0TW9kdWxlLFxuICAgIExpc3RNb2R1bGUsXG4gICAgQnBtbkpzRGlhZ3JhbU1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yUm9vdCh7XG4gICAgICBsb2FkZXI6IHtcbiAgICAgICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgICAgICB1c2VGYWN0b3J5OiBIdHRwTG9hZGVyRmFjdG9yeSxcbiAgICAgICAgZGVwczogW0h0dHBDbGllbnRdLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICBBbGVydE1vZHVsZSxcbiAgICBUYXNrTW9kdWxlLFxuICAgIFNwaW5uZXJNb2R1bGUsXG4gICAgVGFic01vZHVsZSxcbiAgICBUaGVtZU1vZHVsZSxcbiAgICBXaWRnZXRUcmFuc2xhdGVQaXBlTW9kdWxlLFxuICAgIExvYWRpbmdNb2R1bGUsXG4gICAgQ2FyYm9uTGlzdE1vZHVsZSxcbiAgICBEaXNwbGF5V2lkZ2V0VHlwZXNNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtEYXNoYm9hcmRDb21wb25lbnQsIFdpZGdldERhc2hib2FyZENvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtwcm92aWRlOiBESVNQTEFZX1RZUEVfVE9LRU4sIHVzZVZhbHVlOiBudWxsLCBtdWx0aTogdHJ1ZX0sXG4gICAge3Byb3ZpZGU6IERBVEFfU09VUkNFX1RPS0VOLCB1c2VWYWx1ZTogbnVsbCwgbXVsdGk6IHRydWV9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmRNb2R1bGUge31cbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvZGFzaGJvYXJkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZUFBZSxFQUFFLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFDTCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDakYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sMEVBQTBFLENBQUM7QUFDekgsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDbEcsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNsRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBRXJFLGtEQUFrRDtBQUNsRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsVUFBc0I7SUFDdEQsT0FBTyxJQUFJLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFrQ0QsTUFBTSxPQUFPLGVBQWU7K0dBQWYsZUFBZTtnSEFBZixlQUFlLGlCQS9CWCxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBRSwrQkFBK0IsYUFFMUYsWUFBWTtZQUNaLHNCQUFzQjtZQUN0QixZQUFZO1lBQ1osVUFBVTtZQUNWLG1CQUFtQixzQkFRbkIsV0FBVztZQUNYLFVBQVU7WUFDVixhQUFhO1lBQ2IsVUFBVTtZQUNWLFdBQVc7WUFDWCx5QkFBeUI7WUFDekIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQix3QkFBd0I7WUFDeEIsaUJBQWlCLGFBRVQsa0JBQWtCLEVBQUUsd0JBQXdCO2dIQU0zQyxlQUFlLGFBTGY7WUFDVCxFQUFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7WUFDMUQsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO1NBQzFELFlBM0JDLFlBQVk7WUFDWixzQkFBc0I7WUFDdEIsWUFBWTtZQUNaLFVBQVU7WUFDVixtQkFBbUI7WUFDbkIsZUFBZSxDQUFDLE9BQU8sQ0FBQztnQkFDdEIsTUFBTSxFQUFFO29CQUNOLE9BQU8sRUFBRSxlQUFlO29CQUN4QixVQUFVLEVBQUUsaUJBQWlCO29CQUM3QixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ25CO2FBQ0YsQ0FBQztZQUNGLFdBQVc7WUFDWCxVQUFVO1lBQ1YsYUFBYTtZQUNiLFVBQVU7WUFDVixXQUFXO1lBQ1gseUJBQXlCO1lBQ3pCLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsd0JBQXdCO1lBQ3hCLGlCQUFpQjs7NEZBUVIsZUFBZTtrQkFoQzNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUUsK0JBQStCLENBQUM7b0JBQzdGLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLHNCQUFzQjt3QkFDdEIsWUFBWTt3QkFDWixVQUFVO3dCQUNWLG1CQUFtQjt3QkFDbkIsZUFBZSxDQUFDLE9BQU8sQ0FBQzs0QkFDdEIsTUFBTSxFQUFFO2dDQUNOLE9BQU8sRUFBRSxlQUFlO2dDQUN4QixVQUFVLEVBQUUsaUJBQWlCO2dDQUM3QixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7NkJBQ25CO3lCQUNGLENBQUM7d0JBQ0YsV0FBVzt3QkFDWCxVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsVUFBVTt3QkFDVixXQUFXO3dCQUNYLHlCQUF5Qjt3QkFDekIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHdCQUF3Qjt3QkFDeEIsaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSx3QkFBd0IsQ0FBQztvQkFDdkQsU0FBUyxFQUFFO3dCQUNULEVBQUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQzt3QkFDMUQsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO3FCQUMxRDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlSHR0cExvYWRlcn0gZnJvbSAnQG5neC10cmFuc2xhdGUvaHR0cC1sb2FkZXInO1xuaW1wb3J0IHtcbiAgQWxlcnRNb2R1bGUsXG4gIEJwbW5Kc0RpYWdyYW1Nb2R1bGUsXG4gIENhcmJvbkxpc3RNb2R1bGUsXG4gIExpc3RNb2R1bGUsXG4gIFNwaW5uZXJNb2R1bGUsXG4gIFdpZGdldE1vZHVsZSxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1Rhc2tNb2R1bGV9IGZyb20gJ0B2YWx0aW1vL3Rhc2snO1xuaW1wb3J0IHtMb2FkaW5nTW9kdWxlLCBUYWJzTW9kdWxlLCBUaGVtZU1vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge0Rhc2hib2FyZENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50JztcbmltcG9ydCB7V2lkZ2V0RGFzaGJvYXJkQ29udGVudENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldC1kYXNoYm9hcmQtY29udGVudC93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7V2lkZ2V0RGFzaGJvYXJkQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0LWRhc2hib2FyZC93aWRnZXQtZGFzaGJvYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge0RBVEFfU09VUkNFX1RPS0VOLCBESVNQTEFZX1RZUEVfVE9LRU59IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7RGFzaGJvYXJkUm91dGluZ01vZHVsZX0gZnJvbSAnLi9kYXNoYm9hcmQtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHtXaWRnZXRUcmFuc2xhdGVQaXBlTW9kdWxlfSBmcm9tICcuL3BpcGVzJztcbmltcG9ydCB7RGlzcGxheVdpZGdldFR5cGVzTW9kdWxlfSBmcm9tICcuL2Rpc3BsYXktdHlwZXMvZGlzcGxheS13aWRnZXQtdHlwZXMubW9kdWxlJztcbmltcG9ydCB7RGF0YVNvdXJjZXNNb2R1bGV9IGZyb20gJy4vZGF0YS1zb3VyY2VzL2RhdGEtc291cmNlcy5tb2R1bGUnO1xuXG4vLyBBb1QgcmVxdWlyZXMgYW4gZXhwb3J0ZWQgZnVuY3Rpb24gZm9yIGZhY3Rvcmllc1xuZXhwb3J0IGZ1bmN0aW9uIEh0dHBMb2FkZXJGYWN0b3J5KGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHtcbiAgcmV0dXJuIG5ldyBUcmFuc2xhdGVIdHRwTG9hZGVyKGh0dHBDbGllbnQpO1xufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtEYXNoYm9hcmRDb21wb25lbnQsIFdpZGdldERhc2hib2FyZENvbXBvbmVudCwgV2lkZ2V0RGFzaGJvYXJkQ29udGVudENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRGFzaGJvYXJkUm91dGluZ01vZHVsZSxcbiAgICBXaWRnZXRNb2R1bGUsXG4gICAgTGlzdE1vZHVsZSxcbiAgICBCcG1uSnNEaWFncmFtTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JSb290KHtcbiAgICAgIGxvYWRlcjoge1xuICAgICAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXG4gICAgICAgIHVzZUZhY3Rvcnk6IEh0dHBMb2FkZXJGYWN0b3J5LFxuICAgICAgICBkZXBzOiBbSHR0cENsaWVudF0sXG4gICAgICB9LFxuICAgIH0pLFxuICAgIEFsZXJ0TW9kdWxlLFxuICAgIFRhc2tNb2R1bGUsXG4gICAgU3Bpbm5lck1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICAgIFRoZW1lTW9kdWxlLFxuICAgIFdpZGdldFRyYW5zbGF0ZVBpcGVNb2R1bGUsXG4gICAgTG9hZGluZ01vZHVsZSxcbiAgICBDYXJib25MaXN0TW9kdWxlLFxuICAgIERpc3BsYXlXaWRnZXRUeXBlc01vZHVsZSxcbiAgICBEYXRhU291cmNlc01vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW0Rhc2hib2FyZENvbXBvbmVudCwgV2lkZ2V0RGFzaGJvYXJkQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge3Byb3ZpZGU6IERJU1BMQVlfVFlQRV9UT0tFTiwgdXNlVmFsdWU6IG51bGwsIG11bHRpOiB0cnVlfSxcbiAgICB7cHJvdmlkZTogREFUQV9TT1VSQ0VfVE9LRU4sIHVzZVZhbHVlOiBudWxsLCBtdWx0aTogdHJ1ZX0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZE1vZHVsZSB7fVxuIl19
@@ -14,6 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { CaseCountConfigurationComponent } from './components';
17
+ import { CONDITIONS_HELPER_TEXTS } from '../shared';
17
18
  export const caseCountDataSourceSpecification = {
18
19
  dataSourceKey: 'case-count',
19
20
  configurationComponent: CaseCountConfigurationComponent,
@@ -32,7 +33,7 @@ export const caseCountDataSourceSpecification = {
32
33
  operator: 'Operator',
33
34
  value: 'Wert',
34
35
  conditions: 'Bedingungen',
35
- conditionsHelperText: "Geben Sie optionale Bedingungen zum Abrufen der Anzahl der Fälle für den ausgewählten Falltyp an. Zum Beispiel: 'case:createdBy', 'Gleich', 'test@test.com'. Zum Vergleichen mit leeren Werten kann als Wert '${null}' eingegeben werden. Zum Vergleichen mit dem aktuellen Datum kann als Wert '${localDateTimeNow}' eingegeben werden. Damit wird beispielsweise auch folgende Logik unterstützt: '${localDateTimeNow.minusWeeks(2)}'.",
36
+ conditionsHelperText: `Geben Sie optionale Bedingungen zum Abrufen der Anzahl der Fälle für den ausgewählten Falltyp an. ${CONDITIONS_HELPER_TEXTS.DE()}`,
36
37
  addCondition: 'Bedingung hinzufügen',
37
38
  },
38
39
  en: {
@@ -49,7 +50,7 @@ export const caseCountDataSourceSpecification = {
49
50
  operator: 'Operator',
50
51
  value: 'Value',
51
52
  conditions: 'Conditions',
52
- conditionsHelperText: "Specify optional conditions for retrieving the number of cases for the selected case type. For example: 'case:createdBy', 'Equal to', 'test@test.com'. To compare with empty values, '${null}' can be entered as a value. To compare with the current date, '${localDateTimeNow}' can be entered as a value. This also supports, for example, the following logic: '${localDateTimeNow.minusWeeks(2)}'.",
53
+ conditionsHelperText: `Specify optional conditions for retrieving the number of cases for the selected case type. ${CONDITIONS_HELPER_TEXTS.EN()}`,
53
54
  addCondition: 'Add condition',
54
55
  },
55
56
  nl: {
@@ -66,9 +67,9 @@ export const caseCountDataSourceSpecification = {
66
67
  operator: 'Operator',
67
68
  value: 'Waarde',
68
69
  conditions: 'Condities',
69
- conditionsHelperText: "Geef optionele condities op voor het ophalen van het aantal zaken voor het geselecteerde zaaktype. Bijvoorbeeld: 'case:createdBy', 'Gelijk aan', 'test@test.com'. Voor het vergelijken met lege waardes kan '${null}' ingevuld worden als waarde. Voor het vergelijken met de huidige datum kan '${localDateTimeNow}' ingevuld worden als waarde. Deze ondersteunt ook bijvoorbeeld de volgende logica: '${localDateTimeNow.minusWeeks(2)}'.",
70
+ conditionsHelperText: `Geef optionele condities op voor het ophalen van het aantal zaken voor het geselecteerde dossiertype. ${CONDITIONS_HELPER_TEXTS.NL()}}`,
70
71
  addCondition: 'Conditie toevoegen',
71
72
  },
72
73
  },
73
74
  };
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1jb3VudC5zcGVjaWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kYXNoYm9hcmQvc3JjL2xpYi9kYXRhLXNvdXJjZXMvY2FzZS1jb3VudC9jYXNlLWNvdW50LnNwZWNpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFHSCxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQTRCO0lBQ3ZFLGFBQWEsRUFBRSxZQUFZO0lBQzNCLHNCQUFzQixFQUFFLCtCQUErQjtJQUN2RCxZQUFZLEVBQUU7UUFDWixFQUFFLEVBQUU7WUFDRixLQUFLLEVBQUUsVUFBVTtZQUNqQixrQkFBa0IsRUFBRSx3QkFBd0I7WUFDNUMsNEJBQTRCLEVBQUUsZ0RBQWdEO1lBQzlFLElBQUksRUFBRSwwQkFBMEI7WUFDaEMsSUFBSSxFQUFFLFFBQVE7WUFDZCxHQUFHLEVBQUUsWUFBWTtZQUNqQixJQUFJLEVBQUUsNEJBQTRCO1lBQ2xDLEdBQUcsRUFBRSxhQUFhO1lBQ2xCLElBQUksRUFBRSx5QkFBeUI7WUFDL0IsSUFBSSxFQUFFLE1BQU07WUFDWixRQUFRLEVBQUUsVUFBVTtZQUNwQixLQUFLLEVBQUUsTUFBTTtZQUNiLFVBQVUsRUFBRSxhQUFhO1lBQ3pCLG9CQUFvQixFQUNsQiwwYUFBMGE7WUFDNWEsWUFBWSxFQUFFLHNCQUFzQjtTQUNyQztRQUNELEVBQUUsRUFBRTtZQUNGLEtBQUssRUFBRSxZQUFZO1lBQ25CLGtCQUFrQixFQUFFLHNCQUFzQjtZQUMxQyw0QkFBNEIsRUFBRSxnREFBZ0Q7WUFDOUUsSUFBSSxFQUFFLGNBQWM7WUFDcEIsSUFBSSxFQUFFLFVBQVU7WUFDaEIsR0FBRyxFQUFFLGNBQWM7WUFDbkIsSUFBSSxFQUFFLDBCQUEwQjtZQUNoQyxHQUFHLEVBQUUsV0FBVztZQUNoQixJQUFJLEVBQUUsdUJBQXVCO1lBQzdCLElBQUksRUFBRSxpQkFBaUI7WUFDdkIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsS0FBSyxFQUFFLE9BQU87WUFDZCxVQUFVLEVBQUUsWUFBWTtZQUN4QixvQkFBb0IsRUFDbEIseVlBQXlZO1lBQzNZLFlBQVksRUFBRSxlQUFlO1NBQzlCO1FBQ0QsRUFBRSxFQUFFO1lBQ0YsS0FBSyxFQUFFLGlCQUFpQjtZQUN4QixrQkFBa0IsRUFBRSx1QkFBdUI7WUFDM0MsNEJBQTRCLEVBQUUscURBQXFEO1lBQ25GLElBQUksRUFBRSxpQkFBaUI7WUFDdkIsSUFBSSxFQUFFLFlBQVk7WUFDbEIsR0FBRyxFQUFFLFlBQVk7WUFDakIsSUFBSSxFQUFFLDBCQUEwQjtZQUNoQyxHQUFHLEVBQUUsWUFBWTtZQUNqQixJQUFJLEVBQUUsMEJBQTBCO1lBQ2hDLElBQUksRUFBRSxLQUFLO1lBQ1gsUUFBUSxFQUFFLFVBQVU7WUFDcEIsS0FBSyxFQUFFLFFBQVE7WUFDZixVQUFVLEVBQUUsV0FBVztZQUN2QixvQkFBb0IsRUFDbEIsOGFBQThhO1lBQ2hiLFlBQVksRUFBRSxvQkFBb0I7U0FDbkM7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0RhdGFTb3VyY2VTcGVjaWZpY2F0aW9ufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtDYXNlQ291bnRDb25maWd1cmF0aW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMnO1xuXG5leHBvcnQgY29uc3QgY2FzZUNvdW50RGF0YVNvdXJjZVNwZWNpZmljYXRpb246IERhdGFTb3VyY2VTcGVjaWZpY2F0aW9uID0ge1xuICBkYXRhU291cmNlS2V5OiAnY2FzZS1jb3VudCcsXG4gIGNvbmZpZ3VyYXRpb25Db21wb25lbnQ6IENhc2VDb3VudENvbmZpZ3VyYXRpb25Db21wb25lbnQsXG4gIHRyYW5zbGF0aW9uczoge1xuICAgIGRlOiB7XG4gICAgICB0aXRsZTogJ0ZhbGx6YWhsJyxcbiAgICAgIGRvY3VtZW50RGVmaW5pdGlvbjogJ0ZhbGx0eXAgKGVyZm9yZGVybGljaCknLFxuICAgICAgZG9jdW1lbnREZWZpbml0aW9uSGVscGVyVGV4dDogJ0RlciBGYWxsdHlwLCBmw7xyIGRlbiBkaWUgQW56YWhsIGFiZ2VydWZlbiB3aXJkJyxcbiAgICAgICchPSc6ICdOaWNodCBnbGVpY2h6dXNldHplbiBtaXQnLFxuICAgICAgJz09JzogJ0dsZWljaCcsXG4gICAgICAnPic6ICdHcsO2w59lciBhbHMnLFxuICAgICAgJz49JzogJ0dyw7bDn2VyIGFscyBvZGVyIGdsZWljaCB3aWUnLFxuICAgICAgJzwnOiAnV2VuaWdlciBhbHMnLFxuICAgICAgJzw9JzogJ0dsZWljaCBvZGVyIGtsZWluZXIgYWxzJyxcbiAgICAgIHBhdGg6ICdQZmFkJyxcbiAgICAgIG9wZXJhdG9yOiAnT3BlcmF0b3InLFxuICAgICAgdmFsdWU6ICdXZXJ0JyxcbiAgICAgIGNvbmRpdGlvbnM6ICdCZWRpbmd1bmdlbicsXG4gICAgICBjb25kaXRpb25zSGVscGVyVGV4dDpcbiAgICAgICAgXCJHZWJlbiBTaWUgb3B0aW9uYWxlIEJlZGluZ3VuZ2VuIHp1bSBBYnJ1ZmVuIGRlciBBbnphaGwgZGVyIEbDpGxsZSBmw7xyIGRlbiBhdXNnZXfDpGhsdGVuIEZhbGx0eXAgYW4uIFp1bSBCZWlzcGllbDogJ2Nhc2U6Y3JlYXRlZEJ5JywgJ0dsZWljaCcsICd0ZXN0QHRlc3QuY29tJy4gWnVtIFZlcmdsZWljaGVuIG1pdCBsZWVyZW4gV2VydGVuIGthbm4gYWxzIFdlcnQgJyR7bnVsbH0nIGVpbmdlZ2ViZW4gd2VyZGVuLiBadW0gVmVyZ2xlaWNoZW4gbWl0IGRlbSBha3R1ZWxsZW4gRGF0dW0ga2FubiBhbHMgV2VydCAnJHtsb2NhbERhdGVUaW1lTm93fScgZWluZ2VnZWJlbiB3ZXJkZW4uIERhbWl0IHdpcmQgYmVpc3BpZWxzd2Vpc2UgYXVjaCBmb2xnZW5kZSBMb2dpayB1bnRlcnN0w7x0enQ6ICcke2xvY2FsRGF0ZVRpbWVOb3cubWludXNXZWVrcygyKX0nLlwiLFxuICAgICAgYWRkQ29uZGl0aW9uOiAnQmVkaW5ndW5nIGhpbnp1ZsO8Z2VuJyxcbiAgICB9LFxuICAgIGVuOiB7XG4gICAgICB0aXRsZTogJ0Nhc2UgY291bnQnLFxuICAgICAgZG9jdW1lbnREZWZpbml0aW9uOiAnQ2FzZSB0eXBlIChyZXF1aXJlZCknLFxuICAgICAgZG9jdW1lbnREZWZpbml0aW9uSGVscGVyVGV4dDogJ1RoZSBjYXNlIHR5cGUgZm9yIHdoaWNoIHRoZSBjb3VudCBpcyByZXRyaWV2ZWQnLFxuICAgICAgJyE9JzogJ05vdCBlcXVhbCB0bycsXG4gICAgICAnPT0nOiAnRXF1YWwgdG8nLFxuICAgICAgJz4nOiAnR3JlYXRlciB0aGFuJyxcbiAgICAgICc+PSc6ICdHcmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8nLFxuICAgICAgJzwnOiAnTGVzcyB0aGFuJyxcbiAgICAgICc8PSc6ICdMZXNzIHRoYW4gb3IgZXF1YWwgdG8nLFxuICAgICAgcGF0aDogJ1BhdGggKHJlcXVpcmVkKScsXG4gICAgICBvcGVyYXRvcjogJ09wZXJhdG9yJyxcbiAgICAgIHZhbHVlOiAnVmFsdWUnLFxuICAgICAgY29uZGl0aW9uczogJ0NvbmRpdGlvbnMnLFxuICAgICAgY29uZGl0aW9uc0hlbHBlclRleHQ6XG4gICAgICAgIFwiU3BlY2lmeSBvcHRpb25hbCBjb25kaXRpb25zIGZvciByZXRyaWV2aW5nIHRoZSBudW1iZXIgb2YgY2FzZXMgZm9yIHRoZSBzZWxlY3RlZCBjYXNlIHR5cGUuIEZvciBleGFtcGxlOiAnY2FzZTpjcmVhdGVkQnknLCAnRXF1YWwgdG8nLCAndGVzdEB0ZXN0LmNvbScuIFRvIGNvbXBhcmUgd2l0aCBlbXB0eSB2YWx1ZXMsICcke251bGx9JyBjYW4gYmUgZW50ZXJlZCBhcyBhIHZhbHVlLiBUbyBjb21wYXJlIHdpdGggdGhlIGN1cnJlbnQgZGF0ZSwgJyR7bG9jYWxEYXRlVGltZU5vd30nIGNhbiBiZSBlbnRlcmVkIGFzIGEgdmFsdWUuIFRoaXMgYWxzbyBzdXBwb3J0cywgZm9yIGV4YW1wbGUsIHRoZSBmb2xsb3dpbmcgbG9naWM6ICcke2xvY2FsRGF0ZVRpbWVOb3cubWludXNXZWVrcygyKX0nLlwiLFxuICAgICAgYWRkQ29uZGl0aW9uOiAnQWRkIGNvbmRpdGlvbicsXG4gICAgfSxcbiAgICBubDoge1xuICAgICAgdGl0bGU6ICdBYW50YWwgZG9zc2llcnMnLFxuICAgICAgZG9jdW1lbnREZWZpbml0aW9uOiAnRG9zc2llcnR5cGUgKHZlcmVpc3QpJyxcbiAgICAgIGRvY3VtZW50RGVmaW5pdGlvbkhlbHBlclRleHQ6ICdIZXQgZG9zc2llcnR5cGUgd2FhcnZvb3IgZGUgdGVsbGluZyB3b3JkdCBvcGdlaGFhbGQnLFxuICAgICAgJyE9JzogJ05pZXQgZ2VsaWprIGFhbicsXG4gICAgICAnPT0nOiAnR2VsaWprIGFhbicsXG4gICAgICAnPic6ICdHcm90ZXIgZGFuJyxcbiAgICAgICc+PSc6ICdHcm90ZXIgZGFuIG9mIGdlbGlqayBhYW4nLFxuICAgICAgJzwnOiAnTWluZGVyIGRhbicsXG4gICAgICAnPD0nOiAnTWluZGVyIGRhbiBvZiBnZWxpamsgYWFuJyxcbiAgICAgIHBhdGg6ICdQYWQnLFxuICAgICAgb3BlcmF0b3I6ICdPcGVyYXRvcicsXG4gICAgICB2YWx1ZTogJ1dhYXJkZScsXG4gICAgICBjb25kaXRpb25zOiAnQ29uZGl0aWVzJyxcbiAgICAgIGNvbmRpdGlvbnNIZWxwZXJUZXh0OlxuICAgICAgICBcIkdlZWYgb3B0aW9uZWxlIGNvbmRpdGllcyBvcCB2b29yIGhldCBvcGhhbGVuIHZhbiBoZXQgYWFudGFsIHpha2VuIHZvb3IgaGV0IGdlc2VsZWN0ZWVyZGUgemFha3R5cGUuIEJpanZvb3JiZWVsZDogJ2Nhc2U6Y3JlYXRlZEJ5JywgJ0dlbGlqayBhYW4nLCAndGVzdEB0ZXN0LmNvbScuIFZvb3IgaGV0IHZlcmdlbGlqa2VuIG1ldCBsZWdlIHdhYXJkZXMga2FuICcke251bGx9JyBpbmdldnVsZCB3b3JkZW4gYWxzIHdhYXJkZS4gVm9vciBoZXQgdmVyZ2VsaWprZW4gbWV0IGRlIGh1aWRpZ2UgZGF0dW0ga2FuICcke2xvY2FsRGF0ZVRpbWVOb3d9JyBpbmdldnVsZCB3b3JkZW4gYWxzIHdhYXJkZS4gRGV6ZSBvbmRlcnN0ZXVudCBvb2sgYmlqdm9vcmJlZWxkIGRlIHZvbGdlbmRlIGxvZ2ljYTogJyR7bG9jYWxEYXRlVGltZU5vdy5taW51c1dlZWtzKDIpfScuXCIsXG4gICAgICBhZGRDb25kaXRpb246ICdDb25kaXRpZSB0b2V2b2VnZW4nLFxuICAgIH0sXG4gIH0sXG59O1xuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1jb3VudC5zcGVjaWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kYXNoYm9hcmQvc3JjL2xpYi9kYXRhLXNvdXJjZXMvY2FzZS1jb3VudC9jYXNlLWNvdW50LnNwZWNpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFHSCxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUE0QjtJQUN2RSxhQUFhLEVBQUUsWUFBWTtJQUMzQixzQkFBc0IsRUFBRSwrQkFBK0I7SUFDdkQsWUFBWSxFQUFFO1FBQ1osRUFBRSxFQUFFO1lBQ0YsS0FBSyxFQUFFLFVBQVU7WUFDakIsa0JBQWtCLEVBQUUsd0JBQXdCO1lBQzVDLDRCQUE0QixFQUFFLGdEQUFnRDtZQUM5RSxJQUFJLEVBQUUsMEJBQTBCO1lBQ2hDLElBQUksRUFBRSxRQUFRO1lBQ2QsR0FBRyxFQUFFLFlBQVk7WUFDakIsSUFBSSxFQUFFLDRCQUE0QjtZQUNsQyxHQUFHLEVBQUUsYUFBYTtZQUNsQixJQUFJLEVBQUUseUJBQXlCO1lBQy9CLElBQUksRUFBRSxNQUFNO1lBQ1osUUFBUSxFQUFFLFVBQVU7WUFDcEIsS0FBSyxFQUFFLE1BQU07WUFDYixVQUFVLEVBQUUsYUFBYTtZQUN6QixvQkFBb0IsRUFBRSxxR0FBcUcsdUJBQXVCLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDekosWUFBWSxFQUFFLHNCQUFzQjtTQUNyQztRQUNELEVBQUUsRUFBRTtZQUNGLEtBQUssRUFBRSxZQUFZO1lBQ25CLGtCQUFrQixFQUFFLHNCQUFzQjtZQUMxQyw0QkFBNEIsRUFBRSxnREFBZ0Q7WUFDOUUsSUFBSSxFQUFFLGNBQWM7WUFDcEIsSUFBSSxFQUFFLFVBQVU7WUFDaEIsR0FBRyxFQUFFLGNBQWM7WUFDbkIsSUFBSSxFQUFFLDBCQUEwQjtZQUNoQyxHQUFHLEVBQUUsV0FBVztZQUNoQixJQUFJLEVBQUUsdUJBQXVCO1lBQzdCLElBQUksRUFBRSxpQkFBaUI7WUFDdkIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsS0FBSyxFQUFFLE9BQU87WUFDZCxVQUFVLEVBQUUsWUFBWTtZQUN4QixvQkFBb0IsRUFBRSw4RkFBOEYsdUJBQXVCLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDbEosWUFBWSxFQUFFLGVBQWU7U0FDOUI7UUFDRCxFQUFFLEVBQUU7WUFDRixLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLGtCQUFrQixFQUFFLHVCQUF1QjtZQUMzQyw0QkFBNEIsRUFBRSxxREFBcUQ7WUFDbkYsSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixJQUFJLEVBQUUsWUFBWTtZQUNsQixHQUFHLEVBQUUsWUFBWTtZQUNqQixJQUFJLEVBQUUsMEJBQTBCO1lBQ2hDLEdBQUcsRUFBRSxZQUFZO1lBQ2pCLElBQUksRUFBRSwwQkFBMEI7WUFDaEMsSUFBSSxFQUFFLEtBQUs7WUFDWCxRQUFRLEVBQUUsVUFBVTtZQUNwQixLQUFLLEVBQUUsUUFBUTtZQUNmLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLG9CQUFvQixFQUFFLHlHQUF5Ryx1QkFBdUIsQ0FBQyxFQUFFLEVBQUUsR0FBRztZQUM5SixZQUFZLEVBQUUsb0JBQW9CO1NBQ25DO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtEYXRhU291cmNlU3BlY2lmaWNhdGlvbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7Q2FzZUNvdW50Q29uZmlndXJhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7Q09ORElUSU9OU19IRUxQRVJfVEVYVFN9IGZyb20gJy4uL3NoYXJlZCc7XG5cbmV4cG9ydCBjb25zdCBjYXNlQ291bnREYXRhU291cmNlU3BlY2lmaWNhdGlvbjogRGF0YVNvdXJjZVNwZWNpZmljYXRpb24gPSB7XG4gIGRhdGFTb3VyY2VLZXk6ICdjYXNlLWNvdW50JyxcbiAgY29uZmlndXJhdGlvbkNvbXBvbmVudDogQ2FzZUNvdW50Q29uZmlndXJhdGlvbkNvbXBvbmVudCxcbiAgdHJhbnNsYXRpb25zOiB7XG4gICAgZGU6IHtcbiAgICAgIHRpdGxlOiAnRmFsbHphaGwnLFxuICAgICAgZG9jdW1lbnREZWZpbml0aW9uOiAnRmFsbHR5cCAoZXJmb3JkZXJsaWNoKScsXG4gICAgICBkb2N1bWVudERlZmluaXRpb25IZWxwZXJUZXh0OiAnRGVyIEZhbGx0eXAsIGbDvHIgZGVuIGRpZSBBbnphaGwgYWJnZXJ1ZmVuIHdpcmQnLFxuICAgICAgJyE9JzogJ05pY2h0IGdsZWljaHp1c2V0emVuIG1pdCcsXG4gICAgICAnPT0nOiAnR2xlaWNoJyxcbiAgICAgICc+JzogJ0dyw7bDn2VyIGFscycsXG4gICAgICAnPj0nOiAnR3LDtsOfZXIgYWxzIG9kZXIgZ2xlaWNoIHdpZScsXG4gICAgICAnPCc6ICdXZW5pZ2VyIGFscycsXG4gICAgICAnPD0nOiAnR2xlaWNoIG9kZXIga2xlaW5lciBhbHMnLFxuICAgICAgcGF0aDogJ1BmYWQnLFxuICAgICAgb3BlcmF0b3I6ICdPcGVyYXRvcicsXG4gICAgICB2YWx1ZTogJ1dlcnQnLFxuICAgICAgY29uZGl0aW9uczogJ0JlZGluZ3VuZ2VuJyxcbiAgICAgIGNvbmRpdGlvbnNIZWxwZXJUZXh0OiBgR2ViZW4gU2llIG9wdGlvbmFsZSBCZWRpbmd1bmdlbiB6dW0gQWJydWZlbiBkZXIgQW56YWhsIGRlciBGw6RsbGUgZsO8ciBkZW4gYXVzZ2V3w6RobHRlbiBGYWxsdHlwIGFuLiAke0NPTkRJVElPTlNfSEVMUEVSX1RFWFRTLkRFKCl9YCxcbiAgICAgIGFkZENvbmRpdGlvbjogJ0JlZGluZ3VuZyBoaW56dWbDvGdlbicsXG4gICAgfSxcbiAgICBlbjoge1xuICAgICAgdGl0bGU6ICdDYXNlIGNvdW50JyxcbiAgICAgIGRvY3VtZW50RGVmaW5pdGlvbjogJ0Nhc2UgdHlwZSAocmVxdWlyZWQpJyxcbiAgICAgIGRvY3VtZW50RGVmaW5pdGlvbkhlbHBlclRleHQ6ICdUaGUgY2FzZSB0eXBlIGZvciB3aGljaCB0aGUgY291bnQgaXMgcmV0cmlldmVkJyxcbiAgICAgICchPSc6ICdOb3QgZXF1YWwgdG8nLFxuICAgICAgJz09JzogJ0VxdWFsIHRvJyxcbiAgICAgICc+JzogJ0dyZWF0ZXIgdGhhbicsXG4gICAgICAnPj0nOiAnR3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvJyxcbiAgICAgICc8JzogJ0xlc3MgdGhhbicsXG4gICAgICAnPD0nOiAnTGVzcyB0aGFuIG9yIGVxdWFsIHRvJyxcbiAgICAgIHBhdGg6ICdQYXRoIChyZXF1aXJlZCknLFxuICAgICAgb3BlcmF0b3I6ICdPcGVyYXRvcicsXG4gICAgICB2YWx1ZTogJ1ZhbHVlJyxcbiAgICAgIGNvbmRpdGlvbnM6ICdDb25kaXRpb25zJyxcbiAgICAgIGNvbmRpdGlvbnNIZWxwZXJUZXh0OiBgU3BlY2lmeSBvcHRpb25hbCBjb25kaXRpb25zIGZvciByZXRyaWV2aW5nIHRoZSBudW1iZXIgb2YgY2FzZXMgZm9yIHRoZSBzZWxlY3RlZCBjYXNlIHR5cGUuICR7Q09ORElUSU9OU19IRUxQRVJfVEVYVFMuRU4oKX1gLFxuICAgICAgYWRkQ29uZGl0aW9uOiAnQWRkIGNvbmRpdGlvbicsXG4gICAgfSxcbiAgICBubDoge1xuICAgICAgdGl0bGU6ICdBYW50YWwgZG9zc2llcnMnLFxuICAgICAgZG9jdW1lbnREZWZpbml0aW9uOiAnRG9zc2llcnR5cGUgKHZlcmVpc3QpJyxcbiAgICAgIGRvY3VtZW50RGVmaW5pdGlvbkhlbHBlclRleHQ6ICdIZXQgZG9zc2llcnR5cGUgd2FhcnZvb3IgZGUgdGVsbGluZyB3b3JkdCBvcGdlaGFhbGQnLFxuICAgICAgJyE9JzogJ05pZXQgZ2VsaWprIGFhbicsXG4gICAgICAnPT0nOiAnR2VsaWprIGFhbicsXG4gICAgICAnPic6ICdHcm90ZXIgZGFuJyxcbiAgICAgICc+PSc6ICdHcm90ZXIgZGFuIG9mIGdlbGlqayBhYW4nLFxuICAgICAgJzwnOiAnTWluZGVyIGRhbicsXG4gICAgICAnPD0nOiAnTWluZGVyIGRhbiBvZiBnZWxpamsgYWFuJyxcbiAgICAgIHBhdGg6ICdQYWQnLFxuICAgICAgb3BlcmF0b3I6ICdPcGVyYXRvcicsXG4gICAgICB2YWx1ZTogJ1dhYXJkZScsXG4gICAgICBjb25kaXRpb25zOiAnQ29uZGl0aWVzJyxcbiAgICAgIGNvbmRpdGlvbnNIZWxwZXJUZXh0OiBgR2VlZiBvcHRpb25lbGUgY29uZGl0aWVzIG9wIHZvb3IgaGV0IG9waGFsZW4gdmFuIGhldCBhYW50YWwgemFrZW4gdm9vciBoZXQgZ2VzZWxlY3RlZXJkZSBkb3NzaWVydHlwZS4gJHtDT05ESVRJT05TX0hFTFBFUl9URVhUUy5OTCgpfX1gLFxuICAgICAgYWRkQ29uZGl0aW9uOiAnQ29uZGl0aWUgdG9ldm9lZ2VuJyxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==
@@ -17,6 +17,7 @@ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from
17
17
  import { Operator } from '../../../../models';
18
18
  import { BehaviorSubject, combineLatest, map, startWith, Subscription } from 'rxjs';
19
19
  import { Validators } from '@angular/forms';
20
+ import { ValuePathSelectorPrefix, } from '@valtimo/components';
20
21
  import * as i0 from "@angular/core";
21
22
  import * as i1 from "@angular/forms";
22
23
  import * as i2 from "@valtimo/document";
@@ -64,10 +65,10 @@ export class CaseCountConfigurationComponent {
64
65
  documentDefinition: this.fb.control(null, [Validators.required]),
65
66
  queryConditions: this.fb.control(null),
66
67
  });
67
- this._selectedDocumentDefinition$ = new BehaviorSubject('');
68
+ this.selectedDocumentDefinition$ = new BehaviorSubject('');
68
69
  this.documentItems$ = combineLatest([
69
70
  this.documentService.getAllDefinitions(),
70
- this._selectedDocumentDefinition$,
71
+ this.selectedDocumentDefinition$,
71
72
  ]).pipe(map(([documentDefinitions, selectedDocumentDefintion]) => documentDefinitions.content.map(definition => ({
72
73
  content: definition.id.name,
73
74
  selected: definition.id.name === selectedDocumentDefintion,
@@ -90,6 +91,7 @@ export class CaseCountConfigurationComponent {
90
91
  this.defaultConditionValues$ = new BehaviorSubject(null);
91
92
  this.allConditionsValid$ = new BehaviorSubject(true);
92
93
  this.configurationEvent = new EventEmitter();
94
+ this.ValuePathSelectorPrefix = ValuePathSelectorPrefix;
93
95
  this._subscriptions = new Subscription();
94
96
  }
95
97
  ngOnInit() {
@@ -102,7 +104,7 @@ export class CaseCountConfigurationComponent {
102
104
  if (!documentDefinitionItem) {
103
105
  return;
104
106
  }
105
- this._selectedDocumentDefinition$.next(documentDefinitionItem?.item?.content);
107
+ this.selectedDocumentDefinition$.next(documentDefinitionItem?.item?.content);
106
108
  this.documentDefinition.setValue(documentDefinitionItem?.item?.content);
107
109
  }
108
110
  conditionsValueChange(values) {
@@ -132,11 +134,11 @@ export class CaseCountConfigurationComponent {
132
134
  }));
133
135
  }
134
136
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CaseCountConfigurationComponent, deps: [{ token: i1.FormBuilder }, { token: i2.DocumentService }, { token: i3.TranslateService }, { token: i4.WidgetTranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
135
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CaseCountConfigurationComponent, selector: "ng-component", inputs: { dataSourceKey: "dataSourceKey", disabled: "disabled", prefillConfiguration: "prefillConfiguration" }, outputs: { configurationEvent: "configurationEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<form\n class=\"case-count-configuration-form\"\n *ngIf=\"{documentItems: documentItems$ | async, operatorItems: operatorItems$} as obs\"\n [formGroup]=\"form\"\n>\n <div class=\"form__element\">\n <cds-dropdown\n [appendInline]=\"true\"\n formControlName=\"documentDefinition\"\n [helperText]=\"'documentDefinitionHelperText' | widgetTranslate: dataSourceKey | async\"\n [invalidText]=\"'documentDefinitionHelperText' | widgetTranslate: dataSourceKey | async\"\n [invalid]=\"documentDefinition.dirty && documentDefinition.invalid\"\n [label]=\"'documentDefinition' | widgetTranslate: dataSourceKey | async\"\n (selected)=\"documentDefinitionSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs?.documentItems || []\" type=\"multi\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n <div class=\"form__element conditions-multi-input\">\n <cds-label\n [helperText]=\"'conditionsHelperText' | widgetTranslate: dataSourceKey | async\"\n class=\"conditions-label\"\n >{{ 'conditions' | widgetTranslate: dataSourceKey | async }}</cds-label\n >\n <valtimo-carbon-multi-input\n [addRowText]=\"'addCondition' | widgetTranslate: dataSourceKey | async\"\n [defaultValues]=\"defaultConditionValues$ | async\"\n [dropdownColumnTitle]=\"'operator' | widgetTranslate: dataSourceKey | async\"\n [dropdownItems]=\"operatorItems$ | async\"\n [fullWidth]=\"true\"\n [initialAmountOfRows]=\"0\"\n [keyColumnTitle]=\"'path' | widgetTranslate: dataSourceKey | async\"\n [minimumAmountOfRows]=\"0\"\n [valueColumnTitle]=\"'value' | widgetTranslate: dataSourceKey | async\"\n type=\"keyDropdownValue\"\n (allValuesValidEvent)=\"onAllConditionsValid($event)\"\n (valueChange)=\"conditionsValueChange($event)\"\n ></valtimo-carbon-multi-input>\n </div>\n</form>\n", styles: ["::ng-deep .case-count-configuration-form .conditions-label{margin-bottom:16px}::ng-deep .case-count-configuration-form .conditions-multi-input .cds--form__helper-text{font-style:italic}\n/*!\n * Copyright 2015-2024 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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i6.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i6.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i7.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["name", "title", "titleTranslationKey", "type", "arbitraryValueAmount", "arbitraryAmountTitles", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "hideDeleteButton", "hideAddButton", "dropdownItems", "dropdownWidth", "fullWidth", "carbonTheme"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.WidgetTranslatePipe, name: "widgetTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
137
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CaseCountConfigurationComponent, selector: "ng-component", inputs: { dataSourceKey: "dataSourceKey", disabled: "disabled", prefillConfiguration: "prefillConfiguration" }, outputs: { configurationEvent: "configurationEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<form\n class=\"case-count-configuration-form\"\n *ngIf=\"{documentItems: documentItems$ | async, operatorItems: operatorItems$} as obs\"\n [formGroup]=\"form\"\n>\n <div class=\"form__element\">\n <cds-dropdown\n [appendInline]=\"true\"\n formControlName=\"documentDefinition\"\n [helperText]=\"'documentDefinitionHelperText' | widgetTranslate: dataSourceKey | async\"\n [invalidText]=\"'documentDefinitionHelperText' | widgetTranslate: dataSourceKey | async\"\n [invalid]=\"documentDefinition.dirty && documentDefinition.invalid\"\n [label]=\"'documentDefinition' | widgetTranslate: dataSourceKey | async\"\n (selected)=\"documentDefinitionSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs?.documentItems || []\" type=\"multi\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n <div class=\"form__element conditions-multi-input\">\n <cds-label\n [helperText]=\"'conditionsHelperText' | widgetTranslate: dataSourceKey | async\"\n class=\"conditions-label\"\n >{{ 'conditions' | widgetTranslate: dataSourceKey | async }}</cds-label\n >\n <valtimo-carbon-multi-input\n type=\"valuePathSelectorDropdownValue\"\n [addRowText]=\"'addCondition' | widgetTranslate: dataSourceKey | async\"\n [defaultValues]=\"defaultConditionValues$ | async\"\n [dropdownColumnTitle]=\"'operator' | widgetTranslate: dataSourceKey | async\"\n [dropdownItems]=\"operatorItems$ | async\"\n [fullWidth]=\"true\"\n [initialAmountOfRows]=\"0\"\n [keyColumnTitle]=\"'path' | widgetTranslate: dataSourceKey | async\"\n [minimumAmountOfRows]=\"0\"\n [valueColumnTitle]=\"'value' | widgetTranslate: dataSourceKey | async\"\n (allValuesValidEvent)=\"onAllConditionsValid($event)\"\n (valueChange)=\"conditionsValueChange($event)\"\n valuePathSelectorNotation=\"dots\"\n [valuePathSelectorPrefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n [valuePathSelectorShowDocumentDefinitionSelector]=\"false\"\n [valuePathSelectorDocumentDefinitionName]=\"selectedDocumentDefinition$ | async\"\n [keyColumnFlex]=\"2\"\n [dropdownColumnFlex]=\"1\"\n [valueColumnFlex]=\"1\"\n ></valtimo-carbon-multi-input>\n </div>\n</form>\n", styles: ["::ng-deep .case-count-configuration-form .conditions-label{margin-bottom:16px}::ng-deep .case-count-configuration-form .conditions-multi-input .cds--form__helper-text{font-style:italic}\n/*!\n * Copyright 2015-2024 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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i6.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i6.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i7.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorDocumentDefinitionName", "valuePathSelectorPrefixes", "valuePathSelectorShowDocumentDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.WidgetTranslatePipe, name: "widgetTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
136
138
  }
137
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CaseCountConfigurationComponent, decorators: [{
138
140
  type: Component,
139
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 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<form\n class=\"case-count-configuration-form\"\n *ngIf=\"{documentItems: documentItems$ | async, operatorItems: operatorItems$} as obs\"\n [formGroup]=\"form\"\n>\n <div class=\"form__element\">\n <cds-dropdown\n [appendInline]=\"true\"\n formControlName=\"documentDefinition\"\n [helperText]=\"'documentDefinitionHelperText' | widgetTranslate: dataSourceKey | async\"\n [invalidText]=\"'documentDefinitionHelperText' | widgetTranslate: dataSourceKey | async\"\n [invalid]=\"documentDefinition.dirty && documentDefinition.invalid\"\n [label]=\"'documentDefinition' | widgetTranslate: dataSourceKey | async\"\n (selected)=\"documentDefinitionSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs?.documentItems || []\" type=\"multi\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n <div class=\"form__element conditions-multi-input\">\n <cds-label\n [helperText]=\"'conditionsHelperText' | widgetTranslate: dataSourceKey | async\"\n class=\"conditions-label\"\n >{{ 'conditions' | widgetTranslate: dataSourceKey | async }}</cds-label\n >\n <valtimo-carbon-multi-input\n [addRowText]=\"'addCondition' | widgetTranslate: dataSourceKey | async\"\n [defaultValues]=\"defaultConditionValues$ | async\"\n [dropdownColumnTitle]=\"'operator' | widgetTranslate: dataSourceKey | async\"\n [dropdownItems]=\"operatorItems$ | async\"\n [fullWidth]=\"true\"\n [initialAmountOfRows]=\"0\"\n [keyColumnTitle]=\"'path' | widgetTranslate: dataSourceKey | async\"\n [minimumAmountOfRows]=\"0\"\n [valueColumnTitle]=\"'value' | widgetTranslate: dataSourceKey | async\"\n type=\"keyDropdownValue\"\n (allValuesValidEvent)=\"onAllConditionsValid($event)\"\n (valueChange)=\"conditionsValueChange($event)\"\n ></valtimo-carbon-multi-input>\n </div>\n</form>\n", styles: ["::ng-deep .case-count-configuration-form .conditions-label{margin-bottom:16px}::ng-deep .case-count-configuration-form .conditions-multi-input .cds--form__helper-text{font-style:italic}\n/*!\n * Copyright 2015-2024 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"] }]
141
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 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<form\n class=\"case-count-configuration-form\"\n *ngIf=\"{documentItems: documentItems$ | async, operatorItems: operatorItems$} as obs\"\n [formGroup]=\"form\"\n>\n <div class=\"form__element\">\n <cds-dropdown\n [appendInline]=\"true\"\n formControlName=\"documentDefinition\"\n [helperText]=\"'documentDefinitionHelperText' | widgetTranslate: dataSourceKey | async\"\n [invalidText]=\"'documentDefinitionHelperText' | widgetTranslate: dataSourceKey | async\"\n [invalid]=\"documentDefinition.dirty && documentDefinition.invalid\"\n [label]=\"'documentDefinition' | widgetTranslate: dataSourceKey | async\"\n (selected)=\"documentDefinitionSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs?.documentItems || []\" type=\"multi\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n <div class=\"form__element conditions-multi-input\">\n <cds-label\n [helperText]=\"'conditionsHelperText' | widgetTranslate: dataSourceKey | async\"\n class=\"conditions-label\"\n >{{ 'conditions' | widgetTranslate: dataSourceKey | async }}</cds-label\n >\n <valtimo-carbon-multi-input\n type=\"valuePathSelectorDropdownValue\"\n [addRowText]=\"'addCondition' | widgetTranslate: dataSourceKey | async\"\n [defaultValues]=\"defaultConditionValues$ | async\"\n [dropdownColumnTitle]=\"'operator' | widgetTranslate: dataSourceKey | async\"\n [dropdownItems]=\"operatorItems$ | async\"\n [fullWidth]=\"true\"\n [initialAmountOfRows]=\"0\"\n [keyColumnTitle]=\"'path' | widgetTranslate: dataSourceKey | async\"\n [minimumAmountOfRows]=\"0\"\n [valueColumnTitle]=\"'value' | widgetTranslate: dataSourceKey | async\"\n (allValuesValidEvent)=\"onAllConditionsValid($event)\"\n (valueChange)=\"conditionsValueChange($event)\"\n valuePathSelectorNotation=\"dots\"\n [valuePathSelectorPrefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n [valuePathSelectorShowDocumentDefinitionSelector]=\"false\"\n [valuePathSelectorDocumentDefinitionName]=\"selectedDocumentDefinition$ | async\"\n [keyColumnFlex]=\"2\"\n [dropdownColumnFlex]=\"1\"\n [valueColumnFlex]=\"1\"\n ></valtimo-carbon-multi-input>\n </div>\n</form>\n", styles: ["::ng-deep .case-count-configuration-form .conditions-label{margin-bottom:16px}::ng-deep .case-count-configuration-form .conditions-multi-input .cds--form__helper-text{font-style:italic}\n/*!\n * Copyright 2015-2024 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"] }]
140
142
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.DocumentService }, { type: i3.TranslateService }, { type: i4.WidgetTranslationService }], propDecorators: { dataSourceKey: [{
141
143
  type: Input
142
144
  }], disabled: [{
@@ -146,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
146
148
  }], configurationEvent: [{
147
149
  type: Output
148
150
  }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1jb3VudC1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvZGF0YS1zb3VyY2VzL2Nhc2UtY291bnQvY29tcG9uZW50cy9jYXNlLWNvdW50LWNvbmZpZ3VyYXRpb24vY2FzZS1jb3VudC1jb25maWd1cmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvZGF0YS1zb3VyY2VzL2Nhc2UtY291bnQvY29tcG9uZW50cy9jYXNlLWNvdW50LWNvbmZpZ3VyYXRpb24vY2FzZS1jb3VudC1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3RCxRQUFRLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRyxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5RixPQUFPLEVBQWMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFhdkQsTUFBTSxPQUFPLCtCQUErQjtJQVUxQyxJQUFvQixRQUFRLENBQUMsYUFBc0I7UUFDakQsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztR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Q0FDSixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxrQkFBMkI7UUFDOUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3JCLGFBQWEsQ0FBQztZQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsbUJBQW1CO1NBQ3pCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztnQkFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLGtCQUFrQjtnQkFDNUMsSUFBSSxFQUFFLFNBQW1DO2FBQzFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOytHQTdJVSwrQkFBK0I7bUdBQS9CLCtCQUErQiwyTkN4QzVDLGsvRUF5REE7OzRGRGpCYSwrQkFBK0I7a0JBTDNDLFNBQVM7c0NBRVMsdUJBQXVCLENBQUMsTUFBTTtvTEFNL0IsYUFBYTtzQkFBNUIsS0FBSztnQkFPYyxRQUFRO3NCQUEzQixLQUFLO2dCQXNETyxvQkFBb0I7c0JBQWhDLEtBQUs7Z0JBaUJXLGtCQUFrQjtzQkFBbEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uT3V0cHV0LCBEYXRhU291cmNlQ29uZmlndXJhdGlvbkNvbXBvbmVudCwgT3BlcmF0b3J9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBzdGFydFdpdGgsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Zvcm1CdWlsZGVyLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Nhc2VDb3VudENvbmZpZ3VyYXRpb259IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtMaXN0SXRlbX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge0xpc3RJdGVtV2l0aElkLCBNdWx0aUlucHV0S2V5VmFsdWUsIE11bHRpSW5wdXRWYWx1ZXN9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7V2lkZ2V0VHJhbnNsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1jb3VudC1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0eWxlVXJsczogWycuL2Nhc2UtY291bnQtY29uZmlndXJhdGlvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXNlQ291bnRDb25maWd1cmF0aW9uQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIERhdGFTb3VyY2VDb25maWd1cmF0aW9uQ29tcG9uZW50XG57XG4gIEBJbnB1dCgpIHB1YmxpYyBkYXRhU291cmNlS2V5OiBzdHJpbmc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICBkb2N1bWVudERlZmluaXRpb246IHRoaXMuZmIuY29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgIHF1ZXJ5Q29uZGl0aW9uczogdGhpcy5mYi5jb250cm9sKG51bGwpLFxuICB9KTtcblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IGRpc2FibGVkKGRpc2FibGVkVmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoZGlzYWJsZWRWYWx1ZSkge1xuICAgICAgdGhpcy5mb3JtLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtLmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGVkRG9jdW1lbnREZWZpbml0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50SXRlbXMkOiBPYnNlcnZhYmxlPEFycmF5PExpc3RJdGVtPj4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXRBbGxEZWZpbml0aW9ucygpLFxuICAgIHRoaXMuX3NlbGVjdGVkRG9jdW1lbnREZWZpbml0aW9uJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtkb2N1bWVudERlZmluaXRpb25zLCBzZWxlY3RlZERvY3VtZW50RGVmaW50aW9uXSkgPT5cbiAgICAgIGRvY3VtZW50RGVmaW5pdGlvbnMuY29udGVudC5tYXAoZGVmaW5pdGlvbiA9PiAoe1xuICAgICAgICBjb250ZW50OiBkZWZpbml0aW9uLmlkLm5hbWUsXG4gICAgICAgIHNlbGVjdGVkOiBkZWZpbml0aW9uLmlkLm5hbWUgPT09IHNlbGVjdGVkRG9jdW1lbnREZWZpbnRpb24sXG4gICAgICB9KSlcbiAgICApXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfT1BFUkFUT1JTOiBBcnJheTxPcGVyYXRvcj4gPSBbXG4gICAgT3BlcmF0b3IuTk9UX0VRVUFMX1RPLFxuICAgIE9wZXJhdG9yLkVRVUFMX1RPLFxuICAgIE9wZXJhdG9yLkdSRUFURVJfVEhBTixcbiAgICBPcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE8sXG4gICAgT3BlcmF0b3IuTEVTU19USEFOLFxuICAgIE9wZXJhdG9yLkxFU1NfVEhBTl9PUl9FUVVBTF9UTyxcbiAgXTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb3BlcmF0b3JJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8TGlzdEl0ZW1XaXRoSWQ+PiA9IHRoaXMudHJhbnNsYXRlU2VydmljZVxuICAgIC5zdHJlYW0oJ2tleScpXG4gICAgLnBpcGUoXG4gICAgICBtYXAoKCkgPT5cbiAgICAgICAgdGhpcy5fT1BFUkFUT1JTLm1hcChvcGVyYXRvciA9PiAoe1xuICAgICAgICAgIGlkOiBvcGVyYXRvcixcbiAgICAgICAgICBjb250ZW50OiB0aGlzLndpZGdldFRyYW5zbGF0aW9uU2VydmljZS5pbnN0YW50KG9wZXJhdG9yLCB0aGlzLmRhdGFTb3VyY2VLZXkpLFxuICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdENvbmRpdGlvblZhbHVlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE11bHRpSW5wdXRWYWx1ZXMgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IGFsbENvbmRpdGlvbnNWYWxpZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gIHB1YmxpYyBnZXQgZG9jdW1lbnREZWZpbml0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCdkb2N1bWVudERlZmluaXRpb24nKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlDb25kaXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCdxdWVyeUNvbmRpdGlvbnMnKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBwcmVmaWxsQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uVmFsdWU6IENhc2VDb3VudENvbmZpZ3VyYXRpb24pIHtcbiAgICBpZiAoY29uZmlndXJhdGlvblZhbHVlKSB7XG4gICAgICB0aGlzLmRvY3VtZW50RGVmaW5pdGlvblNlbGVjdGVkKHtcbiAgICAgICAgaXRlbToge1xuICAgICAgICAgIGNvbnRlbnQ6IGNvbmZpZ3VyYXRpb25WYWx1ZS5kb2N1bWVudERlZmluaXRpb24sXG4gICAgICAgIH0sXG4gICAgICB9IGFzIGFueSk7XG4gICAgICB0aGlzLmRlZmF1bHRDb25kaXRpb25WYWx1ZXMkLm5leHQoXG4gICAgICAgIGNvbmZpZ3VyYXRpb25WYWx1ZS5xdWVyeUNvbmRpdGlvbnMubWFwKGNvbmRpdGlvbiA9PiAoe1xuICAgICAgICAgIGtleTogY29uZGl0aW9uLnF1ZXJ5UGF0aCxcbiAgICAgICAgICBkcm9wZG93bjogY29uZGl0aW9uLnF1ZXJ5T3BlcmF0b3IsXG4gICAgICAgICAgdmFsdWU6IGNvbmRpdGlvbi5xdWVyeVZhbHVlLFxuICAgICAgICB9KSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBjb25maWd1cmF0aW9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIENvbmZpZ3VyYXRpb25PdXRwdXQ8Q2FzZUNvdW50Q29uZmlndXJhdGlvbj5cbiAgPigpO1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aWRnZXRUcmFuc2xhdGlvblNlcnZpY2U6IFdpZGdldFRyYW5zbGF0aW9uU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkZvcm1TdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgZG9jdW1lbnREZWZpbml0aW9uU2VsZWN0ZWQoZG9jdW1lbnREZWZpbml0aW9uSXRlbTogTGlzdEl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoIWRvY3VtZW50RGVmaW5pdGlvbkl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9zZWxlY3RlZERvY3VtZW50RGVmaW5pdGlvbiQubmV4dChkb2N1bWVudERlZmluaXRpb25JdGVtPy5pdGVtPy5jb250ZW50KTtcbiAgICB0aGlzLmRvY3VtZW50RGVmaW5pdGlvbi5zZXRWYWx1ZShkb2N1bWVudERlZmluaXRpb25JdGVtPy5pdGVtPy5jb250ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBjb25kaXRpb25zVmFsdWVDaGFuZ2UodmFsdWVzOiBBcnJheTxNdWx0aUlucHV0S2V5VmFsdWU+KTogdm9pZCB7XG4gICAgaWYgKHZhbHVlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMucXVlcnlDb25kaXRpb25zLnNldFZhbHVlKG51bGwpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnF1ZXJ5Q29uZGl0aW9ucy5zZXRWYWx1ZShcbiAgICAgICAgdmFsdWVzLm1hcCh2YWx1ZSA9PiAoe1xuICAgICAgICAgIHF1ZXJ5UGF0aDogdmFsdWUua2V5LFxuICAgICAgICAgIHF1ZXJ5T3BlcmF0b3I6IHZhbHVlLmRyb3Bkb3duLFxuICAgICAgICAgIHF1ZXJ5VmFsdWU6IHZhbHVlLnZhbHVlLFxuICAgICAgICB9KSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgb25BbGxDb25kaXRpb25zVmFsaWQoYWxsQ29uZGl0aW9uc1ZhbGlkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5hbGxDb25kaXRpb25zVmFsaWQkLm5leHQoYWxsQ29uZGl0aW9uc1ZhbGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkZvcm1TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLmZvcm0udmFsdWUpKSxcbiAgICAgICAgdGhpcy5hbGxDb25kaXRpb25zVmFsaWQkLFxuICAgICAgXSkuc3Vic2NyaWJlKChbZm9ybVZhbHVlLCBhbGxDb25kaXRpb25zVmFsaWRdKSA9PiB7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbkV2ZW50LmVtaXQoe1xuICAgICAgICAgIHZhbGlkOiB0aGlzLmZvcm0udmFsaWQgJiYgYWxsQ29uZGl0aW9uc1ZhbGlkLFxuICAgICAgICAgIGRhdGE6IGZvcm1WYWx1ZSBhcyBDYXNlQ291bnRDb25maWd1cmF0aW9uLFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48Zm9ybVxuICBjbGFzcz1cImNhc2UtY291bnQtY29uZmlndXJhdGlvbi1mb3JtXCJcbiAgKm5nSWY9XCJ7ZG9jdW1lbnRJdGVtczogZG9jdW1lbnRJdGVtcyQgfCBhc3luYywgb3BlcmF0b3JJdGVtczogb3BlcmF0b3JJdGVtcyR9IGFzIG9ic1wiXG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJmb3JtX19lbGVtZW50XCI+XG4gICAgPGNkcy1kcm9wZG93blxuICAgICAgW2FwcGVuZElubGluZV09XCJ0cnVlXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImRvY3VtZW50RGVmaW5pdGlvblwiXG4gICAgICBbaGVscGVyVGV4dF09XCInZG9jdW1lbnREZWZpbml0aW9uSGVscGVyVGV4dCcgfCB3aWRnZXRUcmFuc2xhdGU6IGRhdGFTb3VyY2VLZXkgfCBhc3luY1wiXG4gICAgICBbaW52YWxpZFRleHRdPVwiJ2RvY3VtZW50RGVmaW5pdGlvbkhlbHBlclRleHQnIHwgd2lkZ2V0VHJhbnNsYXRlOiBkYXRhU291cmNlS2V5IHwgYXN5bmNcIlxuICAgICAgW2ludmFsaWRdPVwiZG9jdW1lbnREZWZpbml0aW9uLmRpcnR5ICYmIGRvY3VtZW50RGVmaW5pdGlvbi5pbnZhbGlkXCJcbiAgICAgIFtsYWJlbF09XCInZG9jdW1lbnREZWZpbml0aW9uJyB8IHdpZGdldFRyYW5zbGF0ZTogZGF0YVNvdXJjZUtleSB8IGFzeW5jXCJcbiAgICAgIChzZWxlY3RlZCk9XCJkb2N1bWVudERlZmluaXRpb25TZWxlY3RlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8Y2RzLWRyb3Bkb3duLWxpc3QgW2l0ZW1zXT1cIm9icz8uZG9jdW1lbnRJdGVtcyB8fCBbXVwiIHR5cGU9XCJtdWx0aVwiPjwvY2RzLWRyb3Bkb3duLWxpc3Q+XG4gICAgPC9jZHMtZHJvcGRvd24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtX19lbGVtZW50IGNvbmRpdGlvbnMtbXVsdGktaW5wdXRcIj5cbiAgICA8Y2RzLWxhYmVsXG4gICAgICBbaGVscGVyVGV4dF09XCInY29uZGl0aW9uc0hlbHBlclRleHQnIHwgd2lkZ2V0VHJhbnNsYXRlOiBkYXRhU291cmNlS2V5IHwgYXN5bmNcIlxuICAgICAgY2xhc3M9XCJjb25kaXRpb25zLWxhYmVsXCJcbiAgICAgID57eyAnY29uZGl0aW9ucycgfCB3aWRnZXRUcmFuc2xhdGU6IGRhdGFTb3VyY2VLZXkgfCBhc3luYyB9fTwvY2RzLWxhYmVsXG4gICAgPlxuICAgIDx2YWx0aW1vLWNhcmJvbi1tdWx0aS1pbnB1dFxuICAgICAgW2FkZFJvd1RleHRdPVwiJ2FkZENvbmRpdGlvbicgfCB3aWRnZXRUcmFuc2xhdGU6IGRhdGFTb3VyY2VLZXkgfCBhc3luY1wiXG4gICAgICBbZGVmYXVsdFZhbHVlc109XCJkZWZhdWx0Q29uZGl0aW9uVmFsdWVzJCB8IGFzeW5jXCJcbiAgICAgIFtkcm9wZG93bkNvbHVtblRpdGxlXT1cIidvcGVyYXRvcicgfCB3aWRnZXRUcmFuc2xhdGU6IGRhdGFTb3VyY2VLZXkgfCBhc3luY1wiXG4gICAgICBbZHJvcGRvd25JdGVtc109XCJvcGVyYXRvckl0ZW1zJCB8IGFzeW5jXCJcbiAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICBbaW5pdGlhbEFtb3VudE9mUm93c109XCIwXCJcbiAgICAgIFtrZXlDb2x1bW5UaXRsZV09XCIncGF0aCcgfCB3aWRnZXRUcmFuc2xhdGU6IGRhdGFTb3VyY2VLZXkgfCBhc3luY1wiXG4gICAgICBbbWluaW11bUFtb3VudE9mUm93c109XCIwXCJcbiAgICAgIFt2YWx1ZUNvbHVtblRpdGxlXT1cIid2YWx1ZScgfCB3aWRnZXRUcmFuc2xhdGU6IGRhdGFTb3VyY2VLZXkgfCBhc3luY1wiXG4gICAgICB0eXBlPVwia2V5RHJvcGRvd25WYWx1ZVwiXG4gICAgICAoYWxsVmFsdWVzVmFsaWRFdmVudCk9XCJvbkFsbENvbmRpdGlvbnNWYWxpZCgkZXZlbnQpXCJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJjb25kaXRpb25zVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPjwvdmFsdGltby1jYXJib24tbXVsdGktaW5wdXQ+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1jb3VudC1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvZGF0YS1zb3VyY2VzL2Nhc2UtY291bnQvY29tcG9uZW50cy9jYXNlLWNvdW50LWNvbmZpZ3VyYXRpb24vY2FzZS1jb3VudC1jb25maWd1cmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvZGF0YS1zb3VyY2VzL2Nhc2UtY291bnQvY29tcG9uZW50cy9jYXNlLWNvdW50LWNvbmZpZ3VyYXRpb24vY2FzZS1jb3VudC1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3RCxRQUFRLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRyxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5RixPQUFPLEVBQWMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJdkQsT0FBTyxFQUlMLHVCQUF1QixHQUN4QixNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7O0FBUzdCLE1BQU0sT0FBTywrQkFBK0I7SUFVMUMsSUFBb0IsUUFBUSxDQUFDLGFBQXNCO1FBQ2pELElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QixDQUFDO2FBQU0s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cEIsYUFBYSxFQUFFLEtBQUssQ0FBQyxRQUFRO2dCQUM3QixVQUFVLEVBQUUsS0FBSyxDQUFDLEtBQUs7YUFDeEIsQ0FBQyxDQUFDLENBQ0osQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsa0JBQTJCO1FBQzlDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNyQixhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLG1CQUFtQjtTQUN6QixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7Z0JBQzNCLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxrQkFBa0I7Z0JBQzVDLElBQUksRUFBRSxTQUFtQzthQUMxQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzsrR0EvSVUsK0JBQStCO21HQUEvQiwrQkFBK0IsMk5DN0M1Qyx1NEZBZ0VBOzs0RkRuQmEsK0JBQStCO2tCQUwzQyxTQUFTO3NDQUVTLHVCQUF1QixDQUFDLE1BQU07b0xBTS9CLGFBQWE7c0JBQTVCLEtBQUs7Z0JBT2MsUUFBUTtzQkFBM0IsS0FBSztnQkFzRE8sb0JBQW9CO3NCQUFoQyxLQUFLO2dCQWlCVyxrQkFBa0I7c0JBQWxDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29uZmlndXJhdGlvbk91dHB1dCwgRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb25Db21wb25lbnQsIE9wZXJhdG9yfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGb3JtQnVpbGRlciwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtDYXNlQ291bnRDb25maWd1cmF0aW9ufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtEb2N1bWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7TGlzdEl0ZW19IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHtcbiAgTGlzdEl0ZW1XaXRoSWQsXG4gIE11bHRpSW5wdXRLZXlWYWx1ZSxcbiAgTXVsdGlJbnB1dFZhbHVlcyxcbiAgVmFsdWVQYXRoU2VsZWN0b3JQcmVmaXgsXG59IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7V2lkZ2V0VHJhbnNsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1jb3VudC1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0eWxlVXJsczogWycuL2Nhc2UtY291bnQtY29uZmlndXJhdGlvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXNlQ291bnRDb25maWd1cmF0aW9uQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIERhdGFTb3VyY2VDb25maWd1cmF0aW9uQ29tcG9uZW50XG57XG4gIEBJbnB1dCgpIHB1YmxpYyBkYXRhU291cmNlS2V5OiBzdHJpbmc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICBkb2N1bWVudERlZmluaXRpb246IHRoaXMuZmIuY29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgIHF1ZXJ5Q29uZGl0aW9uczogdGhpcy5mYi5jb250cm9sKG51bGwpLFxuICB9KTtcblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IGRpc2FibGVkKGRpc2FibGVkVmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoZGlzYWJsZWRWYWx1ZSkge1xuICAgICAgdGhpcy5mb3JtLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtLmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZERvY3VtZW50RGVmaW5pdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudEl0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxMaXN0SXRlbT4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZ2V0QWxsRGVmaW5pdGlvbnMoKSxcbiAgICB0aGlzLnNlbGVjdGVkRG9jdW1lbnREZWZpbml0aW9uJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtkb2N1bWVudERlZmluaXRpb25zLCBzZWxlY3RlZERvY3VtZW50RGVmaW50aW9uXSkgPT5cbiAgICAgIGRvY3VtZW50RGVmaW5pdGlvbnMuY29udGVudC5tYXAoZGVmaW5pdGlvbiA9PiAoe1xuICAgICAgICBjb250ZW50OiBkZWZpbml0aW9uLmlkLm5hbWUsXG4gICAgICAgIHNlbGVjdGVkOiBkZWZpbml0aW9uLmlkLm5hbWUgPT09IHNlbGVjdGVkRG9jdW1lbnREZWZpbnRpb24sXG4gICAgICB9KSlcbiAgICApXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfT1BFUkFUT1JTOiBBcnJheTxPcGVyYXRvcj4gPSBbXG4gICAgT3BlcmF0b3IuTk9UX0VRVUFMX1RPLFxuICAgIE9wZXJhdG9yLkVRVUFMX1RPLFxuICAgIE9wZXJhdG9yLkdSRUFURVJfVEhBTixcbiAgICBPcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE8sXG4gICAgT3BlcmF0b3IuTEVTU19USEFOLFxuICAgIE9wZXJhdG9yLkxFU1NfVEhBTl9PUl9FUVVBTF9UTyxcbiAgXTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb3BlcmF0b3JJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8TGlzdEl0ZW1XaXRoSWQ+PiA9IHRoaXMudHJhbnNsYXRlU2VydmljZVxuICAgIC5zdHJlYW0oJ2tleScpXG4gICAgLnBpcGUoXG4gICAgICBtYXAoKCkgPT5cbiAgICAgICAgdGhpcy5fT1BFUkFUT1JTLm1hcChvcGVyYXRvciA9PiAoe1xuICAgICAgICAgIGlkOiBvcGVyYXRvcixcbiAgICAgICAgICBjb250ZW50OiB0aGlzLndpZGdldFRyYW5zbGF0aW9uU2VydmljZS5pbnN0YW50KG9wZXJhdG9yLCB0aGlzLmRhdGFTb3VyY2VLZXkpLFxuICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdENvbmRpdGlvblZhbHVlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE11bHRpSW5wdXRWYWx1ZXMgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IGFsbENvbmRpdGlvbnNWYWxpZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gIHB1YmxpYyBnZXQgZG9jdW1lbnREZWZpbml0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCdkb2N1bWVudERlZmluaXRpb24nKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlDb25kaXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCdxdWVyeUNvbmRpdGlvbnMnKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBwcmVmaWxsQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uVmFsdWU6IENhc2VDb3VudENvbmZpZ3VyYXRpb24pIHtcbiAgICBpZiAoY29uZmlndXJhdGlvblZhbHVlKSB7XG4gICAgICB0aGlzLmRvY3VtZW50RGVmaW5pdGlvblNlbGVjdGVkKHtcbiAgICAgICAgaXRlbToge1xuICAgICAgICAgIGNvbnRlbnQ6IGNvbmZpZ3VyYXRpb25WYWx1ZS5kb2N1bWVudERlZmluaXRpb24sXG4gICAgICAgIH0sXG4gICAgICB9IGFzIGFueSk7XG4gICAgICB0aGlzLmRlZmF1bHRDb25kaXRpb25WYWx1ZXMkLm5leHQoXG4gICAgICAgIGNvbmZpZ3VyYXRpb25WYWx1ZS5xdWVyeUNvbmRpdGlvbnMubWFwKGNvbmRpdGlvbiA9PiAoe1xuICAgICAgICAgIGtleTogY29uZGl0aW9uLnF1ZXJ5UGF0aCxcbiAgICAgICAgICBkcm9wZG93bjogY29uZGl0aW9uLnF1ZXJ5T3BlcmF0b3IsXG4gICAgICAgICAgdmFsdWU6IGNvbmRpdGlvbi5xdWVyeVZhbHVlLFxuICAgICAgICB9KSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBjb25maWd1cmF0aW9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIENvbmZpZ3VyYXRpb25PdXRwdXQ8Q2FzZUNvdW50Q29uZmlndXJhdGlvbj5cbiAgPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBWYWx1ZVBhdGhTZWxlY3RvclByZWZpeCA9IFZhbHVlUGF0aFNlbGVjdG9yUHJlZml4O1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aWRnZXRUcmFuc2xhdGlvblNlcnZpY2U6IFdpZGdldFRyYW5zbGF0aW9uU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkZvcm1TdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgZG9jdW1lbnREZWZpbml0aW9uU2VsZWN0ZWQoZG9jdW1lbnREZWZpbml0aW9uSXRlbTogTGlzdEl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoIWRvY3VtZW50RGVmaW5pdGlvbkl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkRG9jdW1lbnREZWZpbml0aW9uJC5uZXh0KGRvY3VtZW50RGVmaW5pdGlvbkl0ZW0/Lml0ZW0/LmNvbnRlbnQpO1xuICAgIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uLnNldFZhbHVlKGRvY3VtZW50RGVmaW5pdGlvbkl0ZW0/Lml0ZW0/LmNvbnRlbnQpO1xuICB9XG5cbiAgcHVibGljIGNvbmRpdGlvbnNWYWx1ZUNoYW5nZSh2YWx1ZXM6IEFycmF5PE11bHRpSW5wdXRLZXlWYWx1ZT4pOiB2b2lkIHtcbiAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5xdWVyeUNvbmRpdGlvbnMuc2V0VmFsdWUobnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucXVlcnlDb25kaXRpb25zLnNldFZhbHVlKFxuICAgICAgICB2YWx1ZXMubWFwKHZhbHVlID0+ICh7XG4gICAgICAgICAgcXVlcnlQYXRoOiB2YWx1ZS5rZXksXG4gICAgICAgICAgcXVlcnlPcGVyYXRvcjogdmFsdWUuZHJvcGRvd24sXG4gICAgICAgICAgcXVlcnlWYWx1ZTogdmFsdWUudmFsdWUsXG4gICAgICAgIH0pKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBvbkFsbENvbmRpdGlvbnNWYWxpZChhbGxDb25kaXRpb25zVmFsaWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmFsbENvbmRpdGlvbnNWYWxpZCQubmV4dChhbGxDb25kaXRpb25zVmFsaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRm9ybVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuZm9ybS52YWx1ZSkpLFxuICAgICAgICB0aGlzLmFsbENvbmRpdGlvbnNWYWxpZCQsXG4gICAgICBdKS5zdWJzY3JpYmUoKFtmb3JtVmFsdWUsIGFsbENvbmRpdGlvbnNWYWxpZF0pID0+IHtcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uRXZlbnQuZW1pdCh7XG4gICAgICAgICAgdmFsaWQ6IHRoaXMuZm9ybS52YWxpZCAmJiBhbGxDb25kaXRpb25zVmFsaWQsXG4gICAgICAgICAgZGF0YTogZm9ybVZhbHVlIGFzIENhc2VDb3VudENvbmZpZ3VyYXRpb24sXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxmb3JtXG4gIGNsYXNzPVwiY2FzZS1jb3VudC1jb25maWd1cmF0aW9uLWZvcm1cIlxuICAqbmdJZj1cIntkb2N1bWVudEl0ZW1zOiBkb2N1bWVudEl0ZW1zJCB8IGFzeW5jLCBvcGVyYXRvckl0ZW1zOiBvcGVyYXRvckl0ZW1zJH0gYXMgb2JzXCJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbj5cbiAgPGRpdiBjbGFzcz1cImZvcm1fX2VsZW1lbnRcIj5cbiAgICA8Y2RzLWRyb3Bkb3duXG4gICAgICBbYXBwZW5kSW5saW5lXT1cInRydWVcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZG9jdW1lbnREZWZpbml0aW9uXCJcbiAgICAgIFtoZWxwZXJUZXh0XT1cIidkb2N1bWVudERlZmluaXRpb25IZWxwZXJUZXh0JyB8IHdpZGdldFRyYW5zbGF0ZTogZGF0YVNvdXJjZUtleSB8IGFzeW5jXCJcbiAgICAgIFtpbnZhbGlkVGV4dF09XCInZG9jdW1lbnREZWZpbml0aW9uSGVscGVyVGV4dCcgfCB3aWRnZXRUcmFuc2xhdGU6IGRhdGFTb3VyY2VLZXkgfCBhc3luY1wiXG4gICAgICBbaW52YWxpZF09XCJkb2N1bWVudERlZmluaXRpb24uZGlydHkgJiYgZG9jdW1lbnREZWZpbml0aW9uLmludmFsaWRcIlxuICAgICAgW2xhYmVsXT1cIidkb2N1bWVudERlZmluaXRpb24nIHwgd2lkZ2V0VHJhbnNsYXRlOiBkYXRhU291cmNlS2V5IHwgYXN5bmNcIlxuICAgICAgKHNlbGVjdGVkKT1cImRvY3VtZW50RGVmaW5pdGlvblNlbGVjdGVkKCRldmVudClcIlxuICAgID5cbiAgICAgIDxjZHMtZHJvcGRvd24tbGlzdCBbaXRlbXNdPVwib2JzPy5kb2N1bWVudEl0ZW1zIHx8IFtdXCIgdHlwZT1cIm11bHRpXCI+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICA8L2Nkcy1kcm9wZG93bj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm1fX2VsZW1lbnQgY29uZGl0aW9ucy1tdWx0aS1pbnB1dFwiPlxuICAgIDxjZHMtbGFiZWxcbiAgICAgIFtoZWxwZXJUZXh0XT1cIidjb25kaXRpb25zSGVscGVyVGV4dCcgfCB3aWRnZXRUcmFuc2xhdGU6IGRhdGFTb3VyY2VLZXkgfCBhc3luY1wiXG4gICAgICBjbGFzcz1cImNvbmRpdGlvbnMtbGFiZWxcIlxuICAgICAgPnt7ICdjb25kaXRpb25zJyB8IHdpZGdldFRyYW5zbGF0ZTogZGF0YVNvdXJjZUtleSB8IGFzeW5jIH19PC9jZHMtbGFiZWxcbiAgICA+XG4gICAgPHZhbHRpbW8tY2FyYm9uLW11bHRpLWlucHV0XG4gICAgICB0eXBlPVwidmFsdWVQYXRoU2VsZWN0b3JEcm9wZG93blZhbHVlXCJcbiAgICAgIFthZGRSb3dUZXh0XT1cIidhZGRDb25kaXRpb24nIHwgd2lkZ2V0VHJhbnNsYXRlOiBkYXRhU291cmNlS2V5IHwgYXN5bmNcIlxuICAgICAgW2RlZmF1bHRWYWx1ZXNdPVwiZGVmYXVsdENvbmRpdGlvblZhbHVlcyQgfCBhc3luY1wiXG4gICAgICBbZHJvcGRvd25Db2x1bW5UaXRsZV09XCInb3BlcmF0b3InIHwgd2lkZ2V0VHJhbnNsYXRlOiBkYXRhU291cmNlS2V5IHwgYXN5bmNcIlxuICAgICAgW2Ryb3Bkb3duSXRlbXNdPVwib3BlcmF0b3JJdGVtcyQgfCBhc3luY1wiXG4gICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgW2luaXRpYWxBbW91bnRPZlJvd3NdPVwiMFwiXG4gICAgICBba2V5Q29sdW1uVGl0bGVdPVwiJ3BhdGgnIHwgd2lkZ2V0VHJhbnNsYXRlOiBkYXRhU291cmNlS2V5IHwgYXN5bmNcIlxuICAgICAgW21pbmltdW1BbW91bnRPZlJvd3NdPVwiMFwiXG4gICAgICBbdmFsdWVDb2x1bW5UaXRsZV09XCIndmFsdWUnIHwgd2lkZ2V0VHJhbnNsYXRlOiBkYXRhU291cmNlS2V5IHwgYXN5bmNcIlxuICAgICAgKGFsbFZhbHVlc1ZhbGlkRXZlbnQpPVwib25BbGxDb25kaXRpb25zVmFsaWQoJGV2ZW50KVwiXG4gICAgICAodmFsdWVDaGFuZ2UpPVwiY29uZGl0aW9uc1ZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgdmFsdWVQYXRoU2VsZWN0b3JOb3RhdGlvbj1cImRvdHNcIlxuICAgICAgW3ZhbHVlUGF0aFNlbGVjdG9yUHJlZml4ZXNdPVwiW1ZhbHVlUGF0aFNlbGVjdG9yUHJlZml4LkRPQywgVmFsdWVQYXRoU2VsZWN0b3JQcmVmaXguQ0FTRV1cIlxuICAgICAgW3ZhbHVlUGF0aFNlbGVjdG9yU2hvd0RvY3VtZW50RGVmaW5pdGlvblNlbGVjdG9yXT1cImZhbHNlXCJcbiAgICAgIFt2YWx1ZVBhdGhTZWxlY3RvckRvY3VtZW50RGVmaW5pdGlvbk5hbWVdPVwic2VsZWN0ZWREb2N1bWVudERlZmluaXRpb24kIHwgYXN5bmNcIlxuICAgICAgW2tleUNvbHVtbkZsZXhdPVwiMlwiXG4gICAgICBbZHJvcGRvd25Db2x1bW5GbGV4XT1cIjFcIlxuICAgICAgW3ZhbHVlQ29sdW1uRmxleF09XCIxXCJcbiAgICA+PC92YWx0aW1vLWNhcmJvbi1tdWx0aS1pbnB1dD5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=