@valtimo/dashboard 12.5.1 → 12.6.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 (31) 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-counts/case-counts.specification.mjs +5 -4
  5. package/esm2022/lib/data-sources/case-counts/components/case-counts-configuration/case-counts-configuration.component.mjs +3 -3
  6. package/esm2022/lib/data-sources/case-group-by/case-group-by.specification.mjs +5 -4
  7. package/esm2022/lib/data-sources/data-sources.module.mjs +17 -0
  8. package/esm2022/lib/data-sources/shared/conditions.mjs +22 -0
  9. package/esm2022/lib/data-sources/shared/index.mjs +17 -0
  10. package/esm2022/lib/models/dashboard.model.mjs +1 -1
  11. package/esm2022/public_api.mjs +2 -1
  12. package/fesm2022/valtimo-dashboard.mjs +211 -152
  13. package/fesm2022/valtimo-dashboard.mjs.map +1 -1
  14. package/lib/components/widget-dashboard-content/widget-dashboard-content.component.d.ts +4 -1
  15. package/lib/components/widget-dashboard-content/widget-dashboard-content.component.d.ts.map +1 -1
  16. package/lib/dashboard.module.d.ts +2 -1
  17. package/lib/dashboard.module.d.ts.map +1 -1
  18. package/lib/data-sources/case-count/case-count.specification.d.ts.map +1 -1
  19. package/lib/data-sources/case-counts/case-counts.specification.d.ts.map +1 -1
  20. package/lib/data-sources/case-group-by/case-group-by.specification.d.ts.map +1 -1
  21. package/lib/data-sources/data-sources.module.d.ts +10 -0
  22. package/lib/data-sources/data-sources.module.d.ts.map +1 -0
  23. package/lib/data-sources/shared/conditions.d.ts +7 -0
  24. package/lib/data-sources/shared/conditions.d.ts.map +1 -0
  25. package/lib/data-sources/shared/index.d.ts +2 -0
  26. package/lib/data-sources/shared/index.d.ts.map +1 -0
  27. package/lib/models/dashboard.model.d.ts +1 -0
  28. package/lib/models/dashboard.model.d.ts.map +1 -1
  29. package/package.json +1 -1
  30. package/public_api.d.ts +1 -0
  31. package/public_api.d.ts.map +1 -1
@@ -185,11 +185,11 @@ export class CaseCountsConfigurationComponent {
185
185
  };
186
186
  }
187
187
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CaseCountsConfigurationComponent, deps: [{ token: i1.FormBuilder }, { token: i2.DocumentService }, { token: i3.TranslateService }, { token: i4.WidgetTranslationService }, { token: i5.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
188
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CaseCountsConfigurationComponent, 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-counts-configuration-form\"\n *ngIf=\"{\n documentItems: documentItems$ | async,\n operatorItems: operatorItems$,\n queryItemsValue: queryItemsValue$ | async,\n } 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 <cds-label class=\"conditions__label\">{{\n 'counts' | widgetTranslate: dataSourceKey | async\n }}</cds-label>\n\n <p class=\"conditions__helper-text cds--form__helper-text\">\n {{ 'countsHelperText' | widgetTranslate: dataSourceKey | async }}\n </p>\n\n @for (_ of queryItemsList$ | async; track $index; let i = $index) {\n <cds-tile class=\"count-tile\" cdsLayer=\"1\">\n <div class=\"count-tile__input\">\n <v-input\n [title]=\"'countTitle' | widgetTranslate: dataSourceKey | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.queryItemsValue[i]?.label\"\n [disabled]=\"formDisabled\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n (valueChange)=\"labelValueChange(i, $event)\"\n >\n </v-input>\n\n <valtimo-carbon-multi-input\n [disabled]=\"formDisabled\"\n [addRowText]=\"'addCondition' | widgetTranslate: dataSourceKey | async\"\n [defaultValues]=\"obs.queryItemsValue[i]?.queryConditions\"\n [dropdownColumnTitle]=\"'operator' | widgetTranslate: dataSourceKey | async\"\n [dropdownItems]=\"operatorItems$ | async\"\n [fullWidth]=\"true\"\n [initialAmountOfRows]=\"1\"\n [keyColumnTitle]=\"'path' | widgetTranslate: dataSourceKey | async\"\n [minimumAmountOfRows]=\"1\"\n [valueColumnTitle]=\"'value' | widgetTranslate: dataSourceKey | async\"\n type=\"keyDropdownValue\"\n (valueChange)=\"conditionsValueChange(i, $event)\"\n ></valtimo-carbon-multi-input>\n </div>\n\n <div class=\"count-tile__delete-button\">\n <cds-icon-button\n [disabled]=\"formDisabled || i < 2\"\n (click)=\"deleteCount(i)\"\n kind=\"danger\"\n size=\"sm\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </cds-icon-button>\n </div>\n </cds-tile>\n }\n\n <button\n class=\"add-count-button\"\n cdsButton=\"primary\"\n [disabled]=\"formDisabled\"\n (click)=\"addQueryItem()\"\n >\n {{ 'Aantal toevoegen' }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</form>\n", styles: ["::ng-deep .case-counts-configuration-form .conditions__label{display:flex;margin-bottom:8px}::ng-deep .case-counts-configuration-form .conditions__helper-text{font-style:italic;display:flex;margin-bottom:16px}::ng-deep .case-counts-configuration-form .count-tile{display:flex;flex-direction:row;gap:32px;justify-content:space-between;margin-bottom:16px}::ng-deep .case-counts-configuration-form .count-tile__input{width:100%}::ng-deep .case-counts-configuration-form .add-count-button{margin-bottom:16px}\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: i6.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: i7.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId"], outputs: ["valueChange"] }, { kind: "component", type: i5.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: i5.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: "directive", type: i5.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i5.IconButton, selector: "cds-icon-button, ibm-icon-button", inputs: ["buttonNgClass", "buttonAttributes", "buttonId", "kind", "size", "type", "isExpressive", "disabled", "description"], outputs: ["click", "focus", "blur", "tooltipClick"] }, { kind: "component", type: i5.Tile, selector: "cds-tile, ibm-tile", inputs: ["theme"] }, { kind: "directive", type: i5.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "directive", type: i5.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.WidgetTranslatePipe, name: "widgetTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
188
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CaseCountsConfigurationComponent, 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-counts-configuration-form\"\n *ngIf=\"{\n documentItems: documentItems$ | async,\n operatorItems: operatorItems$,\n queryItemsValue: queryItemsValue$ | async,\n } 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 <cds-label class=\"conditions__label\">{{\n 'counts' | widgetTranslate: dataSourceKey | async\n }}</cds-label>\n\n <p class=\"conditions__helper-text cds--form__helper-text\">\n {{ 'countsHelperText' | widgetTranslate: dataSourceKey | async }}\n </p>\n\n @for (_ of queryItemsList$ | async; track $index; let i = $index) {\n <cds-tile class=\"count-tile\" [cdsLayer]=\"1\">\n <div class=\"count-tile__input\" [cdsLayer]=\"0\">\n <v-input\n [title]=\"'countTitle' | widgetTranslate: dataSourceKey | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.queryItemsValue[i]?.label\"\n [disabled]=\"formDisabled\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n (valueChange)=\"labelValueChange(i, $event)\"\n >\n </v-input>\n\n <valtimo-carbon-multi-input\n [disabled]=\"formDisabled\"\n [addRowText]=\"'addCondition' | widgetTranslate: dataSourceKey | async\"\n [defaultValues]=\"obs.queryItemsValue[i]?.queryConditions\"\n [dropdownColumnTitle]=\"'operator' | widgetTranslate: dataSourceKey | async\"\n [dropdownItems]=\"operatorItems$ | async\"\n [fullWidth]=\"true\"\n [initialAmountOfRows]=\"1\"\n [keyColumnTitle]=\"'path' | widgetTranslate: dataSourceKey | async\"\n [minimumAmountOfRows]=\"1\"\n [valueColumnTitle]=\"'value' | widgetTranslate: dataSourceKey | async\"\n type=\"keyDropdownValue\"\n (valueChange)=\"conditionsValueChange(i, $event)\"\n ></valtimo-carbon-multi-input>\n </div>\n\n <div class=\"count-tile__delete-button\">\n <cds-icon-button\n [disabled]=\"formDisabled || i < 2\"\n (click)=\"deleteCount(i)\"\n kind=\"danger\"\n size=\"sm\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </cds-icon-button>\n </div>\n </cds-tile>\n }\n\n <button\n class=\"add-count-button\"\n cdsButton=\"primary\"\n [disabled]=\"formDisabled\"\n (click)=\"addQueryItem()\"\n >\n {{ 'Aantal toevoegen' }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</form>\n", styles: ["::ng-deep .case-counts-configuration-form .conditions__label{display:flex;margin-bottom:8px}::ng-deep .case-counts-configuration-form .conditions__helper-text{font-style:italic;display:flex;margin-bottom:16px}::ng-deep .case-counts-configuration-form .count-tile{display:flex;flex-direction:row;gap:32px;justify-content:space-between;margin-bottom:16px}::ng-deep .case-counts-configuration-form .count-tile__input{width:100%}::ng-deep .case-counts-configuration-form .add-count-button{margin-bottom:16px}\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: i6.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: i7.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "component", type: i5.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: i5.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: "directive", type: i5.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i5.IconButton, selector: "cds-icon-button, ibm-icon-button", inputs: ["buttonNgClass", "buttonAttributes", "buttonId", "kind", "size", "type", "isExpressive", "disabled", "description"], outputs: ["click", "focus", "blur", "tooltipClick"] }, { kind: "component", type: i5.Tile, selector: "cds-tile, ibm-tile", inputs: ["theme"] }, { kind: "directive", type: i5.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "directive", type: i5.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.WidgetTranslatePipe, name: "widgetTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
189
189
  }
190
190
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CaseCountsConfigurationComponent, decorators: [{
191
191
  type: Component,
192
- 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-counts-configuration-form\"\n *ngIf=\"{\n documentItems: documentItems$ | async,\n operatorItems: operatorItems$,\n queryItemsValue: queryItemsValue$ | async,\n } 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 <cds-label class=\"conditions__label\">{{\n 'counts' | widgetTranslate: dataSourceKey | async\n }}</cds-label>\n\n <p class=\"conditions__helper-text cds--form__helper-text\">\n {{ 'countsHelperText' | widgetTranslate: dataSourceKey | async }}\n </p>\n\n @for (_ of queryItemsList$ | async; track $index; let i = $index) {\n <cds-tile class=\"count-tile\" cdsLayer=\"1\">\n <div class=\"count-tile__input\">\n <v-input\n [title]=\"'countTitle' | widgetTranslate: dataSourceKey | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.queryItemsValue[i]?.label\"\n [disabled]=\"formDisabled\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n (valueChange)=\"labelValueChange(i, $event)\"\n >\n </v-input>\n\n <valtimo-carbon-multi-input\n [disabled]=\"formDisabled\"\n [addRowText]=\"'addCondition' | widgetTranslate: dataSourceKey | async\"\n [defaultValues]=\"obs.queryItemsValue[i]?.queryConditions\"\n [dropdownColumnTitle]=\"'operator' | widgetTranslate: dataSourceKey | async\"\n [dropdownItems]=\"operatorItems$ | async\"\n [fullWidth]=\"true\"\n [initialAmountOfRows]=\"1\"\n [keyColumnTitle]=\"'path' | widgetTranslate: dataSourceKey | async\"\n [minimumAmountOfRows]=\"1\"\n [valueColumnTitle]=\"'value' | widgetTranslate: dataSourceKey | async\"\n type=\"keyDropdownValue\"\n (valueChange)=\"conditionsValueChange(i, $event)\"\n ></valtimo-carbon-multi-input>\n </div>\n\n <div class=\"count-tile__delete-button\">\n <cds-icon-button\n [disabled]=\"formDisabled || i < 2\"\n (click)=\"deleteCount(i)\"\n kind=\"danger\"\n size=\"sm\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </cds-icon-button>\n </div>\n </cds-tile>\n }\n\n <button\n class=\"add-count-button\"\n cdsButton=\"primary\"\n [disabled]=\"formDisabled\"\n (click)=\"addQueryItem()\"\n >\n {{ 'Aantal toevoegen' }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</form>\n", styles: ["::ng-deep .case-counts-configuration-form .conditions__label{display:flex;margin-bottom:8px}::ng-deep .case-counts-configuration-form .conditions__helper-text{font-style:italic;display:flex;margin-bottom:16px}::ng-deep .case-counts-configuration-form .count-tile{display:flex;flex-direction:row;gap:32px;justify-content:space-between;margin-bottom:16px}::ng-deep .case-counts-configuration-form .count-tile__input{width:100%}::ng-deep .case-counts-configuration-form .add-count-button{margin-bottom:16px}\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"] }]
192
+ 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-counts-configuration-form\"\n *ngIf=\"{\n documentItems: documentItems$ | async,\n operatorItems: operatorItems$,\n queryItemsValue: queryItemsValue$ | async,\n } 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 <cds-label class=\"conditions__label\">{{\n 'counts' | widgetTranslate: dataSourceKey | async\n }}</cds-label>\n\n <p class=\"conditions__helper-text cds--form__helper-text\">\n {{ 'countsHelperText' | widgetTranslate: dataSourceKey | async }}\n </p>\n\n @for (_ of queryItemsList$ | async; track $index; let i = $index) {\n <cds-tile class=\"count-tile\" [cdsLayer]=\"1\">\n <div class=\"count-tile__input\" [cdsLayer]=\"0\">\n <v-input\n [title]=\"'countTitle' | widgetTranslate: dataSourceKey | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.queryItemsValue[i]?.label\"\n [disabled]=\"formDisabled\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n (valueChange)=\"labelValueChange(i, $event)\"\n >\n </v-input>\n\n <valtimo-carbon-multi-input\n [disabled]=\"formDisabled\"\n [addRowText]=\"'addCondition' | widgetTranslate: dataSourceKey | async\"\n [defaultValues]=\"obs.queryItemsValue[i]?.queryConditions\"\n [dropdownColumnTitle]=\"'operator' | widgetTranslate: dataSourceKey | async\"\n [dropdownItems]=\"operatorItems$ | async\"\n [fullWidth]=\"true\"\n [initialAmountOfRows]=\"1\"\n [keyColumnTitle]=\"'path' | widgetTranslate: dataSourceKey | async\"\n [minimumAmountOfRows]=\"1\"\n [valueColumnTitle]=\"'value' | widgetTranslate: dataSourceKey | async\"\n type=\"keyDropdownValue\"\n (valueChange)=\"conditionsValueChange(i, $event)\"\n ></valtimo-carbon-multi-input>\n </div>\n\n <div class=\"count-tile__delete-button\">\n <cds-icon-button\n [disabled]=\"formDisabled || i < 2\"\n (click)=\"deleteCount(i)\"\n kind=\"danger\"\n size=\"sm\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </cds-icon-button>\n </div>\n </cds-tile>\n }\n\n <button\n class=\"add-count-button\"\n cdsButton=\"primary\"\n [disabled]=\"formDisabled\"\n (click)=\"addQueryItem()\"\n >\n {{ 'Aantal toevoegen' }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</form>\n", styles: ["::ng-deep .case-counts-configuration-form .conditions__label{display:flex;margin-bottom:8px}::ng-deep .case-counts-configuration-form .conditions__helper-text{font-style:italic;display:flex;margin-bottom:16px}::ng-deep .case-counts-configuration-form .count-tile{display:flex;flex-direction:row;gap:32px;justify-content:space-between;margin-bottom:16px}::ng-deep .case-counts-configuration-form .count-tile__input{width:100%}::ng-deep .case-counts-configuration-form .add-count-button{margin-bottom:16px}\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"] }]
193
193
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.DocumentService }, { type: i3.TranslateService }, { type: i4.WidgetTranslationService }, { type: i5.IconService }], propDecorators: { dataSourceKey: [{
194
194
  type: Input
195
195
  }], disabled: [{
@@ -199,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
199
199
  }], configurationEvent: [{
200
200
  type: Output
201
201
  }] } });
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1jb3VudHMtY29uZmlndXJhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2RhdGEtc291cmNlcy9jYXNlLWNvdW50cy9jb21wb25lbnRzL2Nhc2UtY291bnRzLWNvbmZpZ3VyYXRpb24vY2FzZS1jb3VudHMtY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2RhdGEtc291cmNlcy9jYXNlLWNvdW50cy9jb21wb25lbnRzL2Nhc2UtY291bnRzLWNvbmZpZ3VyYXRpb24vY2FzZS1jb3VudHMtY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0QsUUFBUSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDbkcsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLEdBQUcsRUFFSCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUtMLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBT3hCLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFDL0IsT0FBTyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFPaEQsTUFBTSxPQUFPLGdDQUFnQztJQWtCM0MsSUFBb0IsUUFBUSxDQUFDLGFBQXNCO1FBQ2pELElBQUksYUFBYSxF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ZSxDQUFDLE1BQU0sQ0FDakQsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FDMUUsQ0FBQztnQkFFRixPQUFPLENBQ0wsVUFBVTtvQkFDVixlQUFlLENBQUMsTUFBTSxHQUFHLENBQUM7b0JBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxLQUFLLGVBQWUsQ0FBQyxNQUFNLENBQ3ZELENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksZUFBZSxDQUFDLE1BQU0sS0FBSyxVQUFVLENBQUMsTUFBTTtnQkFDL0UsQ0FBQyxDQUFDLElBQUk7Z0JBQ04sQ0FBQyxDQUFDO29CQUNFLGlCQUFpQixFQUFFLFNBQVM7aUJBQzdCLENBQUM7UUFDUixDQUFDLENBQUM7SUFDSixDQUFDOytHQWpPVSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQywyTkN4RDdDLCt0SEFxR0E7OzRGRDdDYSxnQ0FBZ0M7a0JBTDVDLFNBQVM7c0NBRVMsdUJBQXVCLENBQUMsTUFBTTs4TUFNL0IsYUFBYTtzQkFBNUIsS0FBSztnQkFlYyxRQUFRO3NCQUEzQixLQUFLO2dCQStCTyxvQkFBb0I7c0JBQWhDLEtBQUs7Z0JBYVcsa0JBQWtCO3NCQUFsQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25PdXRwdXQsIERhdGFTb3VyY2VDb25maWd1cmF0aW9uQ29tcG9uZW50LCBPcGVyYXRvcn0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgc3RhcnRXaXRoLFxuICBTdWJzY3JpcHRpb24sXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQnVpbGRlcixcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yRm4sXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Q2FzZUNvdW50c0NvbmZpZ3VyYXRpb24sIENhc2VDb3VudHNRdWVyeUl0ZW0sIENhc2VDb3VudHNRdWVyeUl0ZW1Gb3JtfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtEb2N1bWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7SWNvblNlcnZpY2UsIExpc3RJdGVtfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7TGlzdEl0ZW1XaXRoSWQsIE11bHRpSW5wdXRWYWx1ZXN9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7V2lkZ2V0VHJhbnNsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge2lzRXF1YWx9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge0FkZDE2LCBUcmFzaENhbjE2fSBmcm9tICdAY2FyYm9uL2ljb25zJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9jYXNlLWNvdW50cy1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0eWxlVXJsczogWycuL2Nhc2UtY291bnRzLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZUNvdW50c0NvbmZpZ3VyYXRpb25Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb25Db21wb25lbnRcbntcbiAgQElucHV0KCkgcHVibGljIGRhdGFTb3VyY2VLZXk6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9FTVBUWV9RVUVSWV9JVEVNX1ZBTFVFOiBDYXNlQ291bnRzUXVlcnlJdGVtRm9ybSA9IHtcbiAgICBsYWJlbDogJycsXG4gICAgcXVlcnlDb25kaXRpb25zOiBbe2tleTogJycsIHZhbHVlOiAnJywgZHJvcGRvd246ICcnfV0sXG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IGZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICBkb2N1bWVudERlZmluaXRpb246IHRoaXMuZmIuY29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgIHF1ZXJ5SXRlbXM6IHRoaXMuZmIuY29udHJvbChcbiAgICAgIFt0aGlzLl9FTVBUWV9RVUVSWV9JVEVNX1ZBTFVFLCB0aGlzLl9FTVBUWV9RVUVSWV9JVEVNX1ZBTFVFXSxcbiAgICAgIFt0aGlzLnF1ZXJ5SXRlbXNWYWxpZGF0b3IoKV1cbiAgICApLFxuICB9KTtcblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IGRpc2FibGVkKGRpc2FibGVkVmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoZGlzYWJsZWRWYWx1ZSkge1xuICAgICAgdGhpcy5mb3JtLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtLmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlJdGVtcygpOiBBYnN0cmFjdENvbnRyb2w8Q2FzZUNvdW50c1F1ZXJ5SXRlbUZvcm1bXT4ge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCdxdWVyeUl0ZW1zJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5SXRlbXNWYWx1ZSQoKTogT2JzZXJ2YWJsZTxDYXNlQ291bnRzUXVlcnlJdGVtRm9ybVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlJdGVtcy52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5xdWVyeUl0ZW1zLnZhbHVlIHx8IFtdKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5SXRlbXNMaXN0JCgpOiBPYnNlcnZhYmxlPG51bGxbXT4ge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5SXRlbXNWYWx1ZSQucGlwZShcbiAgICAgIG1hcChxdWVyeUl0ZW1zVmFsdWUgPT4gcXVlcnlJdGVtc1ZhbHVlLm1hcCgoKSA9PiBudWxsKSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldmlvdXMsIGN1cnJlbnQpID0+IGlzRXF1YWwocHJldmlvdXMsIGN1cnJlbnQpKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRvY3VtZW50RGVmaW5pdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgnZG9jdW1lbnREZWZpbml0aW9uJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZvcm1EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmRpc2FibGVkO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IHByZWZpbGxDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb25WYWx1ZTogQ2FzZUNvdW50c0NvbmZpZ3VyYXRpb24pIHtcbiAgICBpZiAoIWNvbmZpZ3VyYXRpb25WYWx1ZSkgcmV0dXJuO1xuXG4gICAgdGhpcy5kb2N1bWVudERlZmluaXRpb25TZWxlY3RlZCh7XG4gICAgICBpdGVtOiB7XG4gICAgICAgIGNvbnRlbnQ6IGNvbmZpZ3VyYXRpb25WYWx1ZS5kb2N1bWVudERlZmluaXRpb24sXG4gICAgICB9LFxuICAgIH0gYXMgYW55KTtcbiAgICB0aGlzLmRvY3VtZW50RGVmaW5pdGlvbi5wYXRjaFZhbHVlKGNvbmZpZ3VyYXRpb25WYWx1ZS5kb2N1bWVudERlZmluaXRpb24pO1xuXG4gICAgdGhpcy5xdWVyeUl0ZW1zLnBhdGNoVmFsdWUodGhpcy5xdWVyeUl0ZW1zVG9NdWx0aUlucHV0VmFsdWVzKGNvbmZpZ3VyYXRpb25WYWx1ZS5xdWVyeUl0ZW1zKSk7XG4gIH1cblxuICBAT3V0cHV0KCkgcHVibGljIGNvbmZpZ3VyYXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgQ29uZmlndXJhdGlvbk91dHB1dDxDYXNlQ291bnRzQ29uZmlndXJhdGlvbj5cbiAgPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGVkRG9jdW1lbnREZWZpbml0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50SXRlbXMkOiBPYnNlcnZhYmxlPEFycmF5PExpc3RJdGVtPj4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXRBbGxEZWZpbml0aW9ucygpLFxuICAgIHRoaXMuX3NlbGVjdGVkRG9jdW1lbnREZWZpbml0aW9uJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtkb2N1bWVudERlZmluaXRpb25zLCBzZWxlY3RlZERvY3VtZW50RGVmaW50aW9uXSkgPT5cbiAgICAgIGRvY3VtZW50RGVmaW5pdGlvbnMuY29udGVudC5tYXAoZGVmaW5pdGlvbiA9PiAoe1xuICAgICAgICBjb250ZW50OiBkZWZpbml0aW9uLmlkLm5hbWUsXG4gICAgICAgIHNlbGVjdGVkOiBkZWZpbml0aW9uLmlkLm5hbWUgPT09IHNlbGVjdGVkRG9jdW1lbnREZWZpbnRpb24sXG4gICAgICB9KSlcbiAgICApXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfT1BFUkFUT1JTOiBBcnJheTxPcGVyYXRvcj4gPSBbXG4gICAgT3BlcmF0b3IuTk9UX0VRVUFMX1RPLFxuICAgIE9wZXJhdG9yLkVRVUFMX1RPLFxuICAgIE9wZXJhdG9yLkdSRUFURVJfVEhBTixcbiAgICBPcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE8sXG4gICAgT3BlcmF0b3IuTEVTU19USEFOLFxuICAgIE9wZXJhdG9yLkxFU1NfVEhBTl9PUl9FUVVBTF9UTyxcbiAgXTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb3BlcmF0b3JJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8TGlzdEl0ZW1XaXRoSWQ+PiA9IHRoaXMudHJhbnNsYXRlU2VydmljZVxuICAgIC5zdHJlYW0oJ2tleScpXG4gICAgLnBpcGUoXG4gICAgICBtYXAoKCkgPT5cbiAgICAgICAgdGhpcy5fT1BFUkFUT1JTLm1hcChvcGVyYXRvciA9PiAoe1xuICAgICAgICAgIGlkOiBvcGVyYXRvcixcbiAgICAgICAgICBjb250ZW50OiB0aGlzLndpZGdldFRyYW5zbGF0aW9uU2VydmljZS5pbnN0YW50KG9wZXJhdG9yLCB0aGlzLmRhdGFTb3VyY2VLZXkpLFxuICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKTtcblxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2lkZ2V0VHJhbnNsYXRpb25TZXJ2aWNlOiBXaWRnZXRUcmFuc2xhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpY29uU2VydmljZTogSWNvblNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5pY29uU2VydmljZS5yZWdpc3RlckFsbChbQWRkMTYsIFRyYXNoQ2FuMTZdKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5Gb3JtU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGRvY3VtZW50RGVmaW5pdGlvblNlbGVjdGVkKGRvY3VtZW50RGVmaW5pdGlvbkl0ZW06IExpc3RJdGVtKTogdm9pZCB7XG4gICAgaWYgKCFkb2N1bWVudERlZmluaXRpb25JdGVtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc2VsZWN0ZWREb2N1bWVudERlZmluaXRpb24kLm5leHQoZG9jdW1lbnREZWZpbml0aW9uSXRlbT8uaXRlbT8uY29udGVudCk7XG4gIH1cblxuICBwdWJsaWMgY29uZGl0aW9uc1ZhbHVlQ2hhbmdlKGluZGV4OiBudW1iZXIsIHZhbHVlczogTXVsdGlJbnB1dFZhbHVlcyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRRdWVyeUl0ZW1zVmFsdWVzID0gdGhpcy5xdWVyeUl0ZW1zLnZhbHVlO1xuXG4gICAgaWYgKGlzRXF1YWwoY3VycmVudFF1ZXJ5SXRlbXNWYWx1ZXNbaW5kZXhdLnF1ZXJ5Q29uZGl0aW9ucywgdmFsdWVzKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5xdWVyeUl0ZW1zLnBhdGNoVmFsdWUoXG4gICAgICBjdXJyZW50UXVlcnlJdGVtc1ZhbHVlcy5tYXAoKGl0ZW0sIGl0ZW1JbmRleCkgPT5cbiAgICAgICAgaXRlbUluZGV4ID09PSBpbmRleCA/IHsuLi5pdGVtLCBxdWVyeUNvbmRpdGlvbnM6IHZhbHVlc30gOiBpdGVtXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBsYWJlbFZhbHVlQ2hhbmdlKGluZGV4OiBudW1iZXIsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50UXVlcnlJdGVtc1ZhbHVlcyA9IHRoaXMucXVlcnlJdGVtcy52YWx1ZTtcblxuICAgIGlmIChjdXJyZW50UXVlcnlJdGVtc1ZhbHVlc1tpbmRleF0ubGFiZWwgPT09IHZhbHVlKSByZXR1cm47XG5cbiAgICB0aGlzLnF1ZXJ5SXRlbXMucGF0Y2hWYWx1ZShcbiAgICAgIGN1cnJlbnRRdWVyeUl0ZW1zVmFsdWVzLm1hcCgoaXRlbSwgaXRlbUluZGV4KSA9PlxuICAgICAgICBpdGVtSW5kZXggPT09IGluZGV4ID8gey4uLml0ZW0sIGxhYmVsOiB2YWx1ZX0gOiBpdGVtXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRRdWVyeUl0ZW0oKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFF1ZXJ5SXRlbXMgPSB0aGlzLnF1ZXJ5SXRlbXMudmFsdWU7XG4gICAgdGhpcy5xdWVyeUl0ZW1zLnBhdGNoVmFsdWUoWy4uLmN1cnJlbnRRdWVyeUl0ZW1zLCB0aGlzLl9FTVBUWV9RVUVSWV9JVEVNX1ZBTFVFXSk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlQ291bnQoaTogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFF1ZXJ5SXRlbXMgPSB0aGlzLnF1ZXJ5SXRlbXMudmFsdWU7XG4gICAgdGhpcy5xdWVyeUl0ZW1zLnBhdGNoVmFsdWUoY3VycmVudFF1ZXJ5SXRlbXMuZmlsdGVyKChfLCBpbmRleCkgPT4gaW5kZXggIT09IGkpKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkZvcm1TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuZm9ybS52YWx1ZSkpLnN1YnNjcmliZShmb3JtVmFsdWUgPT4ge1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25FdmVudC5lbWl0KHtcbiAgICAgICAgICB2YWxpZDogdGhpcy5mb3JtLnZhbGlkLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbjogZm9ybVZhbHVlPy5kb2N1bWVudERlZmluaXRpb24/LmNvbnRlbnQsXG4gICAgICAgICAgICBxdWVyeUl0ZW1zOiB0aGlzLm11bHRpSW5wdXRWYWx1ZXNUb1F1ZXJ5SXRlbXMoZm9ybVZhbHVlLnF1ZXJ5SXRlbXMpLFxuICAgICAgICAgIH0gYXMgQ2FzZUNvdW50c0NvbmZpZ3VyYXRpb24sXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBxdWVyeUl0ZW1zVG9NdWx0aUlucHV0VmFsdWVzKFxuICAgIHF1ZXJ5SXRlbXM6IENhc2VDb3VudHNRdWVyeUl0ZW1bXVxuICApOiBDYXNlQ291bnRzUXVlcnlJdGVtRm9ybVtdIHtcbiAgICByZXR1cm4gcXVlcnlJdGVtcy5tYXAocXVlcnlJdGVtID0+ICh7XG4gICAgICAuLi5xdWVyeUl0ZW0sXG4gICAgICBxdWVyeUNvbmRpdGlvbnM6IHF1ZXJ5SXRlbS5xdWVyeUNvbmRpdGlvbnMubWFwKGNvbmRpdGlvbiA9PiAoe1xuICAgICAgICBrZXk6IGNvbmRpdGlvbi5xdWVyeVBhdGgsXG4gICAgICAgIGRyb3Bkb3duOiBjb25kaXRpb24ucXVlcnlPcGVyYXRvcixcbiAgICAgICAgdmFsdWU6IGNvbmRpdGlvbi5xdWVyeVZhbHVlLFxuICAgICAgfSkpLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgbXVsdGlJbnB1dFZhbHVlc1RvUXVlcnlJdGVtcyhcbiAgICBtdWx0aUlucHV0VmFsdWVzOiBDYXNlQ291bnRzUXVlcnlJdGVtRm9ybVtdXG4gICk6IENhc2VDb3VudHNRdWVyeUl0ZW1bXSB7XG4gICAgcmV0dXJuIG11bHRpSW5wdXRWYWx1ZXMubWFwKHF1ZXJ5SXRlbSA9PiAoe1xuICAgICAgLi4ucXVlcnlJdGVtLFxuICAgICAgcXVlcnlDb25kaXRpb25zOiBxdWVyeUl0ZW0ucXVlcnlDb25kaXRpb25zLm1hcChjb25kaXRpb24gPT4gKHtcbiAgICAgICAgcXVlcnlQYXRoOiBjb25kaXRpb24ua2V5LFxuICAgICAgICBxdWVyeU9wZXJhdG9yOiBjb25kaXRpb24uZHJvcGRvd24sXG4gICAgICAgIHF1ZXJ5VmFsdWU6IGNvbmRpdGlvbi52YWx1ZSxcbiAgICAgIH0pKSxcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIHF1ZXJ5SXRlbXNWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sPENhc2VDb3VudHNRdWVyeUl0ZW1Gb3JtW10+KTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgY29uc3QgcXVlcnlJdGVtcyA9IGNvbnRyb2wudmFsdWU7XG4gICAgICBjb25zdCB2YWxpZFF1ZXJ5SXRlbXMgPSBxdWVyeUl0ZW1zLmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgY29uc3QgdmFsaWRMYWJlbCA9ICEhaXRlbS5sYWJlbDtcbiAgICAgICAgY29uc3QgdmFsaWRDb25kaXRpb25zID0gaXRlbS5xdWVyeUNvbmRpdGlvbnMuZmlsdGVyKFxuICAgICAgICAgIGNvbmRpdGlvbiA9PiAhIWNvbmRpdGlvbi52YWx1ZSAmJiAhIWNvbmRpdGlvbi5rZXkgJiYgISFjb25kaXRpb24uZHJvcGRvd25cbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHZhbGlkTGFiZWwgJiZcbiAgICAgICAgICB2YWxpZENvbmRpdGlvbnMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgIGl0ZW0ucXVlcnlDb25kaXRpb25zLmxlbmd0aCA9PT0gdmFsaWRDb25kaXRpb25zLmxlbmd0aFxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB2YWxpZFF1ZXJ5SXRlbXMubGVuZ3RoID4gMSAmJiB2YWxpZFF1ZXJ5SXRlbXMubGVuZ3RoID09PSBxdWVyeUl0ZW1zLmxlbmd0aFxuICAgICAgICA/IG51bGxcbiAgICAgICAgOiB7XG4gICAgICAgICAgICBpbnZhbGlkUXVlcnlJdGVtczogJ2ludmFsaWQnLFxuICAgICAgICAgIH07XG4gICAgfTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48Zm9ybVxuICBjbGFzcz1cImNhc2UtY291bnRzLWNvbmZpZ3VyYXRpb24tZm9ybVwiXG4gICpuZ0lmPVwie1xuICAgIGRvY3VtZW50SXRlbXM6IGRvY3VtZW50SXRlbXMkIHwgYXN5bmMsXG4gICAgb3BlcmF0b3JJdGVtczogb3BlcmF0b3JJdGVtcyQsXG4gICAgcXVlcnlJdGVtc1ZhbHVlOiBxdWVyeUl0ZW1zVmFsdWUkIHwgYXN5bmMsXG4gIH0gYXMgb2JzXCJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbj5cbiAgPGRpdiBjbGFzcz1cImZvcm1fX2VsZW1lbnRcIj5cbiAgICA8Y2RzLWRyb3Bkb3duXG4gICAgICBbYXBwZW5kSW5saW5lXT1cInRydWVcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZG9jdW1lbnREZWZpbml0aW9uXCJcbiAgICAgIFtoZWxwZXJUZXh0XT1cIidkb2N1bWVudERlZmluaXRpb25IZWxwZXJUZXh0JyB8IHdpZGdldFRyYW5zbGF0ZTogZGF0YVNvdXJjZUtleSB8IGFzeW5jXCJcbiAgICAgIFtpbnZhbGlkVGV4dF09XCInZG9jdW1lbnREZWZpbml0aW9uSGVscGVyVGV4dCcgfCB3aWRnZXRUcmFuc2xhdGU6IGRhdGFTb3VyY2VLZXkgfCBhc3luY1wiXG4gICAgICBbaW52YWxpZF09XCJkb2N1bWVudERlZmluaXRpb24uZGlydHkgJiYgZG9jdW1lbnREZWZpbml0aW9uLmludmFsaWRcIlxuICAgICAgW2xhYmVsXT1cIidkb2N1bWVudERlZmluaXRpb24nIHwgd2lkZ2V0VHJhbnNsYXRlOiBkYXRhU291cmNlS2V5IHwgYXN5bmNcIlxuICAgICAgKHNlbGVjdGVkKT1cImRvY3VtZW50RGVmaW5pdGlvblNlbGVjdGVkKCRldmVudClcIlxuICAgID5cbiAgICAgIDxjZHMtZHJvcGRvd24tbGlzdCBbaXRlbXNdPVwib2JzPy5kb2N1bWVudEl0ZW1zIHx8IFtdXCIgdHlwZT1cIm11bHRpXCI+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICA8L2Nkcy1kcm9wZG93bj5cbiAgPC9kaXY+XG5cbiAgPGNkcy1sYWJlbCBjbGFzcz1cImNvbmRpdGlvbnNfX2xhYmVsXCI+e3tcbiAgICAnY291bnRzJyB8IHdpZGdldFRyYW5zbGF0ZTogZGF0YVNvdXJjZUtleSB8IGFzeW5jXG4gIH19PC9jZHMtbGFiZWw+XG5cbiAgPHAgY2xhc3M9XCJjb25kaXRpb25zX19oZWxwZXItdGV4dCBjZHMtLWZvcm1fX2hlbHBlci10ZXh0XCI+XG4gICAge3sgJ2NvdW50c0hlbHBlclRleHQnIHwgd2lkZ2V0VHJhbnNsYXRlOiBkYXRhU291cmNlS2V5IHwgYXN5bmMgfX1cbiAgPC9wPlxuXG4gIEBmb3IgKF8gb2YgcXVlcnlJdGVtc0xpc3QkIHwgYXN5bmM7IHRyYWNrICRpbmRleDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICA8Y2RzLXRpbGUgY2xhc3M9XCJjb3VudC10aWxlXCIgY2RzTGF5ZXI9XCIxXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY291bnQtdGlsZV9faW5wdXRcIj5cbiAgICAgICAgPHYtaW5wdXRcbiAgICAgICAgICBbdGl0bGVdPVwiJ2NvdW50VGl0bGUnIHwgd2lkZ2V0VHJhbnNsYXRlOiBkYXRhU291cmNlS2V5IHwgYXN5bmNcIlxuICAgICAgICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgW2RlZmF1bHRWYWx1ZV09XCJvYnMucXVlcnlJdGVtc1ZhbHVlW2ldPy5sYWJlbFwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImZvcm1EaXNhYmxlZFwiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cImxhYmVsVmFsdWVDaGFuZ2UoaSwgJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC92LWlucHV0PlxuXG4gICAgICAgIDx2YWx0aW1vLWNhcmJvbi1tdWx0aS1pbnB1dFxuICAgICAgICAgIFtkaXNhYmxlZF09XCJmb3JtRGlzYWJsZWRcIlxuICAgICAgICAgIFthZGRSb3dUZXh0XT1cIidhZGRDb25kaXRpb24nIHwgd2lkZ2V0VHJhbnNsYXRlOiBkYXRhU291cmNlS2V5IHwgYXN5bmNcIlxuICAgICAgICAgIFtkZWZhdWx0VmFsdWVzXT1cIm9icy5xdWVyeUl0ZW1zVmFsdWVbaV0/LnF1ZXJ5Q29uZGl0aW9uc1wiXG4gICAgICAgICAgW2Ryb3Bkb3duQ29sdW1uVGl0bGVdPVwiJ29wZXJhdG9yJyB8IHdpZGdldFRyYW5zbGF0ZTogZGF0YVNvdXJjZUtleSB8IGFzeW5jXCJcbiAgICAgICAgICBbZHJvcGRvd25JdGVtc109XCJvcGVyYXRvckl0ZW1zJCB8IGFzeW5jXCJcbiAgICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgIFtpbml0aWFsQW1vdW50T2ZSb3dzXT1cIjFcIlxuICAgICAgICAgIFtrZXlDb2x1bW5UaXRsZV09XCIncGF0aCcgfCB3aWRnZXRUcmFuc2xhdGU6IGRhdGFTb3VyY2VLZXkgfCBhc3luY1wiXG4gICAgICAgICAgW21pbmltdW1BbW91bnRPZlJvd3NdPVwiMVwiXG4gICAgICAgICAgW3ZhbHVlQ29sdW1uVGl0bGVdPVwiJ3ZhbHVlJyB8IHdpZGdldFRyYW5zbGF0ZTogZGF0YVNvdXJjZUtleSB8IGFzeW5jXCJcbiAgICAgICAgICB0eXBlPVwia2V5RHJvcGRvd25WYWx1ZVwiXG4gICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cImNvbmRpdGlvbnNWYWx1ZUNoYW5nZShpLCAkZXZlbnQpXCJcbiAgICAgICAgPjwvdmFsdGltby1jYXJib24tbXVsdGktaW5wdXQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImNvdW50LXRpbGVfX2RlbGV0ZS1idXR0b25cIj5cbiAgICAgICAgPGNkcy1pY29uLWJ1dHRvblxuICAgICAgICAgIFtkaXNhYmxlZF09XCJmb3JtRGlzYWJsZWQgfHwgaSA8IDJcIlxuICAgICAgICAgIChjbGljayk9XCJkZWxldGVDb3VudChpKVwiXG4gICAgICAgICAga2luZD1cImRhbmdlclwiXG4gICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzdmcgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiIGNkc0ljb249XCJ0cmFzaC1jYW5cIiBzaXplPVwiMTZcIj48L3N2Zz5cbiAgICAgICAgPC9jZHMtaWNvbi1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Nkcy10aWxlPlxuICB9XG5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYWRkLWNvdW50LWJ1dHRvblwiXG4gICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgW2Rpc2FibGVkXT1cImZvcm1EaXNhYmxlZFwiXG4gICAgKGNsaWNrKT1cImFkZFF1ZXJ5SXRlbSgpXCJcbiAgPlxuICAgIHt7ICdBYW50YWwgdG9ldm9lZ2VuJyB9fVxuXG4gICAgPHN2ZyBjbGFzcz1cImNkcy0tYnRuX19pY29uXCIgY2RzSWNvbj1cImFkZFwiIHNpemU9XCIxNlwiPjwvc3ZnPlxuICA8L2J1dHRvbj5cbjwvZm9ybT5cbiJdfQ==
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1jb3VudHMtY29uZmlndXJhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2RhdGEtc291cmNlcy9jYXNlLWNvdW50cy9jb21wb25lbnRzL2Nhc2UtY291bnRzLWNvbmZpZ3VyYXRpb24vY2FzZS1jb3VudHMtY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2RhdGEtc291cmNlcy9jYXNlLWNvdW50cy9jb21wb25lbnRzL2Nhc2UtY291bnRzLWNvbmZpZ3VyYXRpb24vY2FzZS1jb3VudHMtY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0QsUUFBUSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDbkcsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLEdBQUcsRUFFSCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUtMLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBT3hCLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFDL0IsT0FBTyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFPaEQsTUFBTSxPQUFPLGdDQUFnQztJQWtCM0MsSUFBb0IsUUFBUSxDQUFDLGFBQXNCO1FBQ2pELElBQUksYUFBYSxF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ZSxDQUFDLE1BQU0sQ0FDakQsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FDMUUsQ0FBQztnQkFFRixPQUFPLENBQ0wsVUFBVTtvQkFDVixlQUFlLENBQUMsTUFBTSxHQUFHLENBQUM7b0JBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxLQUFLLGVBQWUsQ0FBQyxNQUFNLENBQ3ZELENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksZUFBZSxDQUFDLE1BQU0sS0FBSyxVQUFVLENBQUMsTUFBTTtnQkFDL0UsQ0FBQyxDQUFDLElBQUk7Z0JBQ04sQ0FBQyxDQUFDO29CQUNFLGlCQUFpQixFQUFFLFNBQVM7aUJBQzdCLENBQUM7UUFDUixDQUFDLENBQUM7SUFDSixDQUFDOytHQWpPVSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQywyTkN4RDdDLGt2SEFxR0E7OzRGRDdDYSxnQ0FBZ0M7a0JBTDVDLFNBQVM7c0NBRVMsdUJBQXVCLENBQUMsTUFBTTs4TUFNL0IsYUFBYTtzQkFBNUIsS0FBSztnQkFlYyxRQUFRO3NCQUEzQixLQUFLO2dCQStCTyxvQkFBb0I7c0JBQWhDLEtBQUs7Z0JBYVcsa0JBQWtCO3NCQUFsQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25PdXRwdXQsIERhdGFTb3VyY2VDb25maWd1cmF0aW9uQ29tcG9uZW50LCBPcGVyYXRvcn0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgc3RhcnRXaXRoLFxuICBTdWJzY3JpcHRpb24sXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQnVpbGRlcixcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yRm4sXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Q2FzZUNvdW50c0NvbmZpZ3VyYXRpb24sIENhc2VDb3VudHNRdWVyeUl0ZW0sIENhc2VDb3VudHNRdWVyeUl0ZW1Gb3JtfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtEb2N1bWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7SWNvblNlcnZpY2UsIExpc3RJdGVtfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7TGlzdEl0ZW1XaXRoSWQsIE11bHRpSW5wdXRWYWx1ZXN9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7V2lkZ2V0VHJhbnNsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge2lzRXF1YWx9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge0FkZDE2LCBUcmFzaENhbjE2fSBmcm9tICdAY2FyYm9uL2ljb25zJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9jYXNlLWNvdW50cy1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0eWxlVXJsczogWycuL2Nhc2UtY291bnRzLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZUNvdW50c0NvbmZpZ3VyYXRpb25Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb25Db21wb25lbnRcbntcbiAgQElucHV0KCkgcHVibGljIGRhdGFTb3VyY2VLZXk6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9FTVBUWV9RVUVSWV9JVEVNX1ZBTFVFOiBDYXNlQ291bnRzUXVlcnlJdGVtRm9ybSA9IHtcbiAgICBsYWJlbDogJycsXG4gICAgcXVlcnlDb25kaXRpb25zOiBbe2tleTogJycsIHZhbHVlOiAnJywgZHJvcGRvd246ICcnfV0sXG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IGZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICBkb2N1bWVudERlZmluaXRpb246IHRoaXMuZmIuY29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgIHF1ZXJ5SXRlbXM6IHRoaXMuZmIuY29udHJvbChcbiAgICAgIFt0aGlzLl9FTVBUWV9RVUVSWV9JVEVNX1ZBTFVFLCB0aGlzLl9FTVBUWV9RVUVSWV9JVEVNX1ZBTFVFXSxcbiAgICAgIFt0aGlzLnF1ZXJ5SXRlbXNWYWxpZGF0b3IoKV1cbiAgICApLFxuICB9KTtcblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IGRpc2FibGVkKGRpc2FibGVkVmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoZGlzYWJsZWRWYWx1ZSkge1xuICAgICAgdGhpcy5mb3JtLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtLmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlJdGVtcygpOiBBYnN0cmFjdENvbnRyb2w8Q2FzZUNvdW50c1F1ZXJ5SXRlbUZvcm1bXT4ge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCdxdWVyeUl0ZW1zJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5SXRlbXNWYWx1ZSQoKTogT2JzZXJ2YWJsZTxDYXNlQ291bnRzUXVlcnlJdGVtRm9ybVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlJdGVtcy52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5xdWVyeUl0ZW1zLnZhbHVlIHx8IFtdKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5SXRlbXNMaXN0JCgpOiBPYnNlcnZhYmxlPG51bGxbXT4ge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5SXRlbXNWYWx1ZSQucGlwZShcbiAgICAgIG1hcChxdWVyeUl0ZW1zVmFsdWUgPT4gcXVlcnlJdGVtc1ZhbHVlLm1hcCgoKSA9PiBudWxsKSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldmlvdXMsIGN1cnJlbnQpID0+IGlzRXF1YWwocHJldmlvdXMsIGN1cnJlbnQpKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRvY3VtZW50RGVmaW5pdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgnZG9jdW1lbnREZWZpbml0aW9uJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZvcm1EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmRpc2FibGVkO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IHByZWZpbGxDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb25WYWx1ZTogQ2FzZUNvdW50c0NvbmZpZ3VyYXRpb24pIHtcbiAgICBpZiAoIWNvbmZpZ3VyYXRpb25WYWx1ZSkgcmV0dXJuO1xuXG4gICAgdGhpcy5kb2N1bWVudERlZmluaXRpb25TZWxlY3RlZCh7XG4gICAgICBpdGVtOiB7XG4gICAgICAgIGNvbnRlbnQ6IGNvbmZpZ3VyYXRpb25WYWx1ZS5kb2N1bWVudERlZmluaXRpb24sXG4gICAgICB9LFxuICAgIH0gYXMgYW55KTtcbiAgICB0aGlzLmRvY3VtZW50RGVmaW5pdGlvbi5wYXRjaFZhbHVlKGNvbmZpZ3VyYXRpb25WYWx1ZS5kb2N1bWVudERlZmluaXRpb24pO1xuXG4gICAgdGhpcy5xdWVyeUl0ZW1zLnBhdGNoVmFsdWUodGhpcy5xdWVyeUl0ZW1zVG9NdWx0aUlucHV0VmFsdWVzKGNvbmZpZ3VyYXRpb25WYWx1ZS5xdWVyeUl0ZW1zKSk7XG4gIH1cblxuICBAT3V0cHV0KCkgcHVibGljIGNvbmZpZ3VyYXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgQ29uZmlndXJhdGlvbk91dHB1dDxDYXNlQ291bnRzQ29uZmlndXJhdGlvbj5cbiAgPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGVkRG9jdW1lbnREZWZpbml0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50SXRlbXMkOiBPYnNlcnZhYmxlPEFycmF5PExpc3RJdGVtPj4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXRBbGxEZWZpbml0aW9ucygpLFxuICAgIHRoaXMuX3NlbGVjdGVkRG9jdW1lbnREZWZpbml0aW9uJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtkb2N1bWVudERlZmluaXRpb25zLCBzZWxlY3RlZERvY3VtZW50RGVmaW50aW9uXSkgPT5cbiAgICAgIGRvY3VtZW50RGVmaW5pdGlvbnMuY29udGVudC5tYXAoZGVmaW5pdGlvbiA9PiAoe1xuICAgICAgICBjb250ZW50OiBkZWZpbml0aW9uLmlkLm5hbWUsXG4gICAgICAgIHNlbGVjdGVkOiBkZWZpbml0aW9uLmlkLm5hbWUgPT09IHNlbGVjdGVkRG9jdW1lbnREZWZpbnRpb24sXG4gICAgICB9KSlcbiAgICApXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfT1BFUkFUT1JTOiBBcnJheTxPcGVyYXRvcj4gPSBbXG4gICAgT3BlcmF0b3IuTk9UX0VRVUFMX1RPLFxuICAgIE9wZXJhdG9yLkVRVUFMX1RPLFxuICAgIE9wZXJhdG9yLkdSRUFURVJfVEhBTixcbiAgICBPcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE8sXG4gICAgT3BlcmF0b3IuTEVTU19USEFOLFxuICAgIE9wZXJhdG9yLkxFU1NfVEhBTl9PUl9FUVVBTF9UTyxcbiAgXTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb3BlcmF0b3JJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8TGlzdEl0ZW1XaXRoSWQ+PiA9IHRoaXMudHJhbnNsYXRlU2VydmljZVxuICAgIC5zdHJlYW0oJ2tleScpXG4gICAgLnBpcGUoXG4gICAgICBtYXAoKCkgPT5cbiAgICAgICAgdGhpcy5fT1BFUkFUT1JTLm1hcChvcGVyYXRvciA9PiAoe1xuICAgICAgICAgIGlkOiBvcGVyYXRvcixcbiAgICAgICAgICBjb250ZW50OiB0aGlzLndpZGdldFRyYW5zbGF0aW9uU2VydmljZS5pbnN0YW50KG9wZXJhdG9yLCB0aGlzLmRhdGFTb3VyY2VLZXkpLFxuICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKTtcblxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2lkZ2V0VHJhbnNsYXRpb25TZXJ2aWNlOiBXaWRnZXRUcmFuc2xhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpY29uU2VydmljZTogSWNvblNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5pY29uU2VydmljZS5yZWdpc3RlckFsbChbQWRkMTYsIFRyYXNoQ2FuMTZdKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5Gb3JtU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGRvY3VtZW50RGVmaW5pdGlvblNlbGVjdGVkKGRvY3VtZW50RGVmaW5pdGlvbkl0ZW06IExpc3RJdGVtKTogdm9pZCB7XG4gICAgaWYgKCFkb2N1bWVudERlZmluaXRpb25JdGVtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc2VsZWN0ZWREb2N1bWVudERlZmluaXRpb24kLm5leHQoZG9jdW1lbnREZWZpbml0aW9uSXRlbT8uaXRlbT8uY29udGVudCk7XG4gIH1cblxuICBwdWJsaWMgY29uZGl0aW9uc1ZhbHVlQ2hhbmdlKGluZGV4OiBudW1iZXIsIHZhbHVlczogTXVsdGlJbnB1dFZhbHVlcyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRRdWVyeUl0ZW1zVmFsdWVzID0gdGhpcy5xdWVyeUl0ZW1zLnZhbHVlO1xuXG4gICAgaWYgKGlzRXF1YWwoY3VycmVudFF1ZXJ5SXRlbXNWYWx1ZXNbaW5kZXhdLnF1ZXJ5Q29uZGl0aW9ucywgdmFsdWVzKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5xdWVyeUl0ZW1zLnBhdGNoVmFsdWUoXG4gICAgICBjdXJyZW50UXVlcnlJdGVtc1ZhbHVlcy5tYXAoKGl0ZW0sIGl0ZW1JbmRleCkgPT5cbiAgICAgICAgaXRlbUluZGV4ID09PSBpbmRleCA/IHsuLi5pdGVtLCBxdWVyeUNvbmRpdGlvbnM6IHZhbHVlc30gOiBpdGVtXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBsYWJlbFZhbHVlQ2hhbmdlKGluZGV4OiBudW1iZXIsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50UXVlcnlJdGVtc1ZhbHVlcyA9IHRoaXMucXVlcnlJdGVtcy52YWx1ZTtcblxuICAgIGlmIChjdXJyZW50UXVlcnlJdGVtc1ZhbHVlc1tpbmRleF0ubGFiZWwgPT09IHZhbHVlKSByZXR1cm47XG5cbiAgICB0aGlzLnF1ZXJ5SXRlbXMucGF0Y2hWYWx1ZShcbiAgICAgIGN1cnJlbnRRdWVyeUl0ZW1zVmFsdWVzLm1hcCgoaXRlbSwgaXRlbUluZGV4KSA9PlxuICAgICAgICBpdGVtSW5kZXggPT09IGluZGV4ID8gey4uLml0ZW0sIGxhYmVsOiB2YWx1ZX0gOiBpdGVtXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRRdWVyeUl0ZW0oKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFF1ZXJ5SXRlbXMgPSB0aGlzLnF1ZXJ5SXRlbXMudmFsdWU7XG4gICAgdGhpcy5xdWVyeUl0ZW1zLnBhdGNoVmFsdWUoWy4uLmN1cnJlbnRRdWVyeUl0ZW1zLCB0aGlzLl9FTVBUWV9RVUVSWV9JVEVNX1ZBTFVFXSk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlQ291bnQoaTogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFF1ZXJ5SXRlbXMgPSB0aGlzLnF1ZXJ5SXRlbXMudmFsdWU7XG4gICAgdGhpcy5xdWVyeUl0ZW1zLnBhdGNoVmFsdWUoY3VycmVudFF1ZXJ5SXRlbXMuZmlsdGVyKChfLCBpbmRleCkgPT4gaW5kZXggIT09IGkpKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkZvcm1TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuZm9ybS52YWx1ZSkpLnN1YnNjcmliZShmb3JtVmFsdWUgPT4ge1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25FdmVudC5lbWl0KHtcbiAgICAgICAgICB2YWxpZDogdGhpcy5mb3JtLnZhbGlkLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbjogZm9ybVZhbHVlPy5kb2N1bWVudERlZmluaXRpb24/LmNvbnRlbnQsXG4gICAgICAgICAgICBxdWVyeUl0ZW1zOiB0aGlzLm11bHRpSW5wdXRWYWx1ZXNUb1F1ZXJ5SXRlbXMoZm9ybVZhbHVlLnF1ZXJ5SXRlbXMpLFxuICAgICAgICAgIH0gYXMgQ2FzZUNvdW50c0NvbmZpZ3VyYXRpb24sXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBxdWVyeUl0ZW1zVG9NdWx0aUlucHV0VmFsdWVzKFxuICAgIHF1ZXJ5SXRlbXM6IENhc2VDb3VudHNRdWVyeUl0ZW1bXVxuICApOiBDYXNlQ291bnRzUXVlcnlJdGVtRm9ybVtdIHtcbiAgICByZXR1cm4gcXVlcnlJdGVtcy5tYXAocXVlcnlJdGVtID0+ICh7XG4gICAgICAuLi5xdWVyeUl0ZW0sXG4gICAgICBxdWVyeUNvbmRpdGlvbnM6IHF1ZXJ5SXRlbS5xdWVyeUNvbmRpdGlvbnMubWFwKGNvbmRpdGlvbiA9PiAoe1xuICAgICAgICBrZXk6IGNvbmRpdGlvbi5xdWVyeVBhdGgsXG4gICAgICAgIGRyb3Bkb3duOiBjb25kaXRpb24ucXVlcnlPcGVyYXRvcixcbiAgICAgICAgdmFsdWU6IGNvbmRpdGlvbi5xdWVyeVZhbHVlLFxuICAgICAgfSkpLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgbXVsdGlJbnB1dFZhbHVlc1RvUXVlcnlJdGVtcyhcbiAgICBtdWx0aUlucHV0VmFsdWVzOiBDYXNlQ291bnRzUXVlcnlJdGVtRm9ybVtdXG4gICk6IENhc2VDb3VudHNRdWVyeUl0ZW1bXSB7XG4gICAgcmV0dXJuIG11bHRpSW5wdXRWYWx1ZXMubWFwKHF1ZXJ5SXRlbSA9PiAoe1xuICAgICAgLi4ucXVlcnlJdGVtLFxuICAgICAgcXVlcnlDb25kaXRpb25zOiBxdWVyeUl0ZW0ucXVlcnlDb25kaXRpb25zLm1hcChjb25kaXRpb24gPT4gKHtcbiAgICAgICAgcXVlcnlQYXRoOiBjb25kaXRpb24ua2V5LFxuICAgICAgICBxdWVyeU9wZXJhdG9yOiBjb25kaXRpb24uZHJvcGRvd24sXG4gICAgICAgIHF1ZXJ5VmFsdWU6IGNvbmRpdGlvbi52YWx1ZSxcbiAgICAgIH0pKSxcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIHF1ZXJ5SXRlbXNWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sPENhc2VDb3VudHNRdWVyeUl0ZW1Gb3JtW10+KTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgY29uc3QgcXVlcnlJdGVtcyA9IGNvbnRyb2wudmFsdWU7XG4gICAgICBjb25zdCB2YWxpZFF1ZXJ5SXRlbXMgPSBxdWVyeUl0ZW1zLmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgY29uc3QgdmFsaWRMYWJlbCA9ICEhaXRlbS5sYWJlbDtcbiAgICAgICAgY29uc3QgdmFsaWRDb25kaXRpb25zID0gaXRlbS5xdWVyeUNvbmRpdGlvbnMuZmlsdGVyKFxuICAgICAgICAgIGNvbmRpdGlvbiA9PiAhIWNvbmRpdGlvbi52YWx1ZSAmJiAhIWNvbmRpdGlvbi5rZXkgJiYgISFjb25kaXRpb24uZHJvcGRvd25cbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHZhbGlkTGFiZWwgJiZcbiAgICAgICAgICB2YWxpZENvbmRpdGlvbnMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgIGl0ZW0ucXVlcnlDb25kaXRpb25zLmxlbmd0aCA9PT0gdmFsaWRDb25kaXRpb25zLmxlbmd0aFxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB2YWxpZFF1ZXJ5SXRlbXMubGVuZ3RoID4gMSAmJiB2YWxpZFF1ZXJ5SXRlbXMubGVuZ3RoID09PSBxdWVyeUl0ZW1zLmxlbmd0aFxuICAgICAgICA/IG51bGxcbiAgICAgICAgOiB7XG4gICAgICAgICAgICBpbnZhbGlkUXVlcnlJdGVtczogJ2ludmFsaWQnLFxuICAgICAgICAgIH07XG4gICAgfTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48Zm9ybVxuICBjbGFzcz1cImNhc2UtY291bnRzLWNvbmZpZ3VyYXRpb24tZm9ybVwiXG4gICpuZ0lmPVwie1xuICAgIGRvY3VtZW50SXRlbXM6IGRvY3VtZW50SXRlbXMkIHwgYXN5bmMsXG4gICAgb3BlcmF0b3JJdGVtczogb3BlcmF0b3JJdGVtcyQsXG4gICAgcXVlcnlJdGVtc1ZhbHVlOiBxdWVyeUl0ZW1zVmFsdWUkIHwgYXN5bmMsXG4gIH0gYXMgb2JzXCJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbj5cbiAgPGRpdiBjbGFzcz1cImZvcm1fX2VsZW1lbnRcIj5cbiAgICA8Y2RzLWRyb3Bkb3duXG4gICAgICBbYXBwZW5kSW5saW5lXT1cInRydWVcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZG9jdW1lbnREZWZpbml0aW9uXCJcbiAgICAgIFtoZWxwZXJUZXh0XT1cIidkb2N1bWVudERlZmluaXRpb25IZWxwZXJUZXh0JyB8IHdpZGdldFRyYW5zbGF0ZTogZGF0YVNvdXJjZUtleSB8IGFzeW5jXCJcbiAgICAgIFtpbnZhbGlkVGV4dF09XCInZG9jdW1lbnREZWZpbml0aW9uSGVscGVyVGV4dCcgfCB3aWRnZXRUcmFuc2xhdGU6IGRhdGFTb3VyY2VLZXkgfCBhc3luY1wiXG4gICAgICBbaW52YWxpZF09XCJkb2N1bWVudERlZmluaXRpb24uZGlydHkgJiYgZG9jdW1lbnREZWZpbml0aW9uLmludmFsaWRcIlxuICAgICAgW2xhYmVsXT1cIidkb2N1bWVudERlZmluaXRpb24nIHwgd2lkZ2V0VHJhbnNsYXRlOiBkYXRhU291cmNlS2V5IHwgYXN5bmNcIlxuICAgICAgKHNlbGVjdGVkKT1cImRvY3VtZW50RGVmaW5pdGlvblNlbGVjdGVkKCRldmVudClcIlxuICAgID5cbiAgICAgIDxjZHMtZHJvcGRvd24tbGlzdCBbaXRlbXNdPVwib2JzPy5kb2N1bWVudEl0ZW1zIHx8IFtdXCIgdHlwZT1cIm11bHRpXCI+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICA8L2Nkcy1kcm9wZG93bj5cbiAgPC9kaXY+XG5cbiAgPGNkcy1sYWJlbCBjbGFzcz1cImNvbmRpdGlvbnNfX2xhYmVsXCI+e3tcbiAgICAnY291bnRzJyB8IHdpZGdldFRyYW5zbGF0ZTogZGF0YVNvdXJjZUtleSB8IGFzeW5jXG4gIH19PC9jZHMtbGFiZWw+XG5cbiAgPHAgY2xhc3M9XCJjb25kaXRpb25zX19oZWxwZXItdGV4dCBjZHMtLWZvcm1fX2hlbHBlci10ZXh0XCI+XG4gICAge3sgJ2NvdW50c0hlbHBlclRleHQnIHwgd2lkZ2V0VHJhbnNsYXRlOiBkYXRhU291cmNlS2V5IHwgYXN5bmMgfX1cbiAgPC9wPlxuXG4gIEBmb3IgKF8gb2YgcXVlcnlJdGVtc0xpc3QkIHwgYXN5bmM7IHRyYWNrICRpbmRleDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICA8Y2RzLXRpbGUgY2xhc3M9XCJjb3VudC10aWxlXCIgW2Nkc0xheWVyXT1cIjFcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb3VudC10aWxlX19pbnB1dFwiIFtjZHNMYXllcl09XCIwXCI+XG4gICAgICAgIDx2LWlucHV0XG4gICAgICAgICAgW3RpdGxlXT1cIidjb3VudFRpdGxlJyB8IHdpZGdldFRyYW5zbGF0ZTogZGF0YVNvdXJjZUtleSB8IGFzeW5jXCJcbiAgICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICAgIFtkZWZhdWx0VmFsdWVdPVwib2JzLnF1ZXJ5SXRlbXNWYWx1ZVtpXT8ubGFiZWxcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJmb3JtRGlzYWJsZWRcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJsYWJlbFZhbHVlQ2hhbmdlKGksICRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvdi1pbnB1dD5cblxuICAgICAgICA8dmFsdGltby1jYXJib24tbXVsdGktaW5wdXRcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybURpc2FibGVkXCJcbiAgICAgICAgICBbYWRkUm93VGV4dF09XCInYWRkQ29uZGl0aW9uJyB8IHdpZGdldFRyYW5zbGF0ZTogZGF0YVNvdXJjZUtleSB8IGFzeW5jXCJcbiAgICAgICAgICBbZGVmYXVsdFZhbHVlc109XCJvYnMucXVlcnlJdGVtc1ZhbHVlW2ldPy5xdWVyeUNvbmRpdGlvbnNcIlxuICAgICAgICAgIFtkcm9wZG93bkNvbHVtblRpdGxlXT1cIidvcGVyYXRvcicgfCB3aWRnZXRUcmFuc2xhdGU6IGRhdGFTb3VyY2VLZXkgfCBhc3luY1wiXG4gICAgICAgICAgW2Ryb3Bkb3duSXRlbXNdPVwib3BlcmF0b3JJdGVtcyQgfCBhc3luY1wiXG4gICAgICAgICAgW2Z1bGxXaWR0aF09XCJ0cnVlXCJcbiAgICAgICAgICBbaW5pdGlhbEFtb3VudE9mUm93c109XCIxXCJcbiAgICAgICAgICBba2V5Q29sdW1uVGl0bGVdPVwiJ3BhdGgnIHwgd2lkZ2V0VHJhbnNsYXRlOiBkYXRhU291cmNlS2V5IHwgYXN5bmNcIlxuICAgICAgICAgIFttaW5pbXVtQW1vdW50T2ZSb3dzXT1cIjFcIlxuICAgICAgICAgIFt2YWx1ZUNvbHVtblRpdGxlXT1cIid2YWx1ZScgfCB3aWRnZXRUcmFuc2xhdGU6IGRhdGFTb3VyY2VLZXkgfCBhc3luY1wiXG4gICAgICAgICAgdHlwZT1cImtleURyb3Bkb3duVmFsdWVcIlxuICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJjb25kaXRpb25zVmFsdWVDaGFuZ2UoaSwgJGV2ZW50KVwiXG4gICAgICAgID48L3ZhbHRpbW8tY2FyYm9uLW11bHRpLWlucHV0PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb3VudC10aWxlX19kZWxldGUtYnV0dG9uXCI+XG4gICAgICAgIDxjZHMtaWNvbi1idXR0b25cbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybURpc2FibGVkIHx8IGkgPCAyXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlQ291bnQoaSlcIlxuICAgICAgICAgIGtpbmQ9XCJkYW5nZXJcIlxuICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3ZnIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIiBjZHNJY29uPVwidHJhc2gtY2FuXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG4gICAgICAgIDwvY2RzLWljb24tYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9jZHMtdGlsZT5cbiAgfVxuXG4gIDxidXR0b25cbiAgICBjbGFzcz1cImFkZC1jb3VudC1idXR0b25cIlxuICAgIGNkc0J1dHRvbj1cInByaW1hcnlcIlxuICAgIFtkaXNhYmxlZF09XCJmb3JtRGlzYWJsZWRcIlxuICAgIChjbGljayk9XCJhZGRRdWVyeUl0ZW0oKVwiXG4gID5cbiAgICB7eyAnQWFudGFsIHRvZXZvZWdlbicgfX1cblxuICAgIDxzdmcgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiIGNkc0ljb249XCJhZGRcIiBzaXplPVwiMTZcIj48L3N2Zz5cbiAgPC9idXR0b24+XG48L2Zvcm0+XG4iXX0=
@@ -14,6 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { CaseGroupByConfigurationComponent } from './components';
17
+ import { CONDITIONS_HELPER_TEXTS } from '../shared';
17
18
  export const caseGroupByDataSourceSpecification = {
18
19
  dataSourceKey: 'case-group-by',
19
20
  configurationComponent: CaseGroupByConfigurationComponent,
@@ -33,7 +34,7 @@ export const caseGroupByDataSourceSpecification = {
33
34
  operator: 'Operator',
34
35
  value: 'Wert',
35
36
  conditions: 'Bedingungen',
36
- conditionsHelperText: "Geben Sie optionale Bedingungen zum Abrufen der Gruppierung für den ausgewählten Falltyp an. Zum Beispiel: 'case:createdBy', 'Nicht gleichzusetzen mit', 'test@test.com'.",
37
+ conditionsHelperText: `Geben Sie optionale Bedingungen an, um die Gruppierung für den ausgewählten Falltyp abzurufen. ${CONDITIONS_HELPER_TEXTS.DE}`,
37
38
  addCondition: 'Bedingung hinzufügen',
38
39
  enum: 'Anzeige der Werte',
39
40
  enumHelperText: "Einige Werte aus der Datenbank sind für den Endbenutzer nicht lesbar. Geben Sie hier an, wie die Werte angezeigt werden sollen. Beispiel: Wert: 'anfrage-gesendet', Anzeige: 'Anfrage gesendet'.",
@@ -55,7 +56,7 @@ export const caseGroupByDataSourceSpecification = {
55
56
  operator: 'Operator',
56
57
  value: 'Value',
57
58
  conditions: 'Conditions',
58
- conditionsHelperText: "Specify optional conditions for retrieving the grouping for the selected case type. For example: 'case:createdBy', 'Not 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)}'.",
59
+ conditionsHelperText: `Specify optional conditions for retrieving the grouping for the selected case type. ${CONDITIONS_HELPER_TEXTS.EN}`,
59
60
  addCondition: 'Add condition',
60
61
  enum: 'Display of values',
61
62
  enumHelperText: "Some values from the database will not be readable by the end user. Specify here how the values should be displayed. For example: Value: 'request-sent', Display: 'Request sent'.",
@@ -77,7 +78,7 @@ export const caseGroupByDataSourceSpecification = {
77
78
  operator: 'Operator',
78
79
  value: 'Waarde',
79
80
  conditions: 'Condities',
80
- conditionsHelperText: "Geef optionele condities op voor het ophalen van de groepering voor het geselecteerde dossiertype. Bijvoorbeeld: 'case:createdBy', 'Niet 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)}'.",
81
+ conditionsHelperText: `Geef optionele condities op voor het ophalen van de groepering voor het geselecteerde dossiertype. ${CONDITIONS_HELPER_TEXTS.NL}`,
81
82
  addCondition: 'Conditie toevoegen',
82
83
  enum: 'Weergave van waardes',
83
84
  enumHelperText: "Sommige waardes uit de database zullen niet leesbaar zijn voor de eindgebruiker. Geef hier op hoe de waardes weergegeven moeten worden. Bijvoorbeeld: Waarde: 'aanvraag-verzonden', Weergave: 'Aanvraag verzonden'.",
@@ -86,4 +87,4 @@ export const caseGroupByDataSourceSpecification = {
86
87
  },
87
88
  },
88
89
  };
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1ncm91cC1ieS5zcGVjaWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kYXNoYm9hcmQvc3JjL2xpYi9kYXRhLXNvdXJjZXMvY2FzZS1ncm91cC1ieS9jYXNlLWdyb3VwLWJ5LnNwZWNpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFHSCxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFL0QsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQTRCO0lBQ3pFLGFBQWEsRUFBRSxlQUFlO0lBQzlCLHNCQUFzQixFQUFFLGlDQUFpQztJQUN6RCxZQUFZLEVBQUU7UUFDWixFQUFFLEVBQUU7WUFDRixLQUFLLEVBQUUsUUFBUTtZQUNmLGtCQUFrQixFQUFFLHdCQUF3QjtZQUM1Qyw0QkFBNEIsRUFBRSxnREFBZ0Q7WUFDOUUsSUFBSSxFQUFFLDBCQUEwQjtZQUNoQyxJQUFJLEVBQUUsUUFBUTtZQUNkLEdBQUcsRUFBRSxZQUFZO1lBQ2pCLElBQUksRUFBRSw0QkFBNEI7WUFDbEMsR0FBRyxFQUFFLGFBQWE7WUFDbEIsSUFBSSxFQUFFLHlCQUF5QjtZQUMvQixJQUFJLEVBQUUsTUFBTTtZQUNaLGNBQWMsRUFBRSxrRUFBa0U7WUFDbEYsUUFBUSxFQUFFLFVBQVU7WUFDcEIsS0FBSyxFQUFFLE1BQU07WUFDYixVQUFVLEVBQUUsYUFBYTtZQUN6QixvQkFBb0IsRUFDbEIsMktBQTJLO1lBQzdLLFlBQVksRUFBRSxzQkFBc0I7WUFDcEMsSUFBSSxFQUFFLG1CQUFtQjtZQUN6QixjQUFjLEVBQ1osa01BQWtNO1lBQ3BNLFlBQVksRUFBRSxTQUFTO1lBQ3ZCLFVBQVUsRUFBRSxvQkFBb0I7U0FDakM7UUFDRCxFQUFFLEVBQUU7WUFDRixLQUFLLEVBQUUsVUFBVTtZQUNqQixrQkFBa0IsRUFBRSxzQkFBc0I7WUFDMUMsNEJBQTRCLEVBQUUsZ0RBQWdEO1lBQzlFLElBQUksRUFBRSxjQUFjO1lBQ3BCLElBQUksRUFBRSxVQUFVO1lBQ2hCLEdBQUcsRUFBRSxjQUFjO1lBQ25CLElBQUksRUFBRSwwQkFBMEI7WUFDaEMsR0FBRyxFQUFFLFdBQVc7WUFDaEIsSUFBSSxFQUFFLHVCQUF1QjtZQUM3QixJQUFJLEVBQUUsaUJBQWlCO1lBQ3ZCLGNBQWMsRUFBRSxnRUFBZ0U7WUFDaEYsUUFBUSxFQUFFLFVBQVU7WUFDcEIsS0FBSyxFQUFFLE9BQU87WUFDZCxVQUFVLEVBQUUsWUFBWTtZQUN4QixvQkFBb0IsRUFDbEIsc1lBQXNZO1lBQ3hZLFlBQVksRUFBRSxlQUFlO1lBQzdCLElBQUksRUFBRSxtQkFBbUI7WUFDekIsY0FBYyxFQUNaLG1MQUFtTDtZQUNyTCxZQUFZLEVBQUUsU0FBUztZQUN2QixVQUFVLEVBQUUsYUFBYTtTQUMxQjtRQUNELEVBQUUsRUFBRTtZQUNGLEtBQUssRUFBRSxZQUFZO1lBQ25CLGtCQUFrQixFQUFFLHVCQUF1QjtZQUMzQyw0QkFBNEIsRUFBRSxxREFBcUQ7WUFDbkYsSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixJQUFJLEVBQUUsWUFBWTtZQUNsQixHQUFHLEVBQUUsWUFBWTtZQUNqQixJQUFJLEVBQUUsMEJBQTBCO1lBQ2hDLEdBQUcsRUFBRSxZQUFZO1lBQ2pCLElBQUksRUFBRSwwQkFBMEI7WUFDaEMsSUFBSSxFQUFFLEtBQUs7WUFDWCxjQUFjLEVBQUUseUVBQXlFO1lBQ3pGLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLEtBQUssRUFBRSxRQUFRO1lBQ2YsVUFBVSxFQUFFLFdBQVc7WUFDdkIsb0JBQW9CLEVBQ2xCLG1iQUFtYjtZQUNyYixZQUFZLEVBQUUsb0JBQW9CO1lBQ2xDLElBQUksRUFBRSxzQkFBc0I7WUFDNUIsY0FBYyxFQUNaLHFOQUFxTjtZQUN2TixZQUFZLEVBQUUsVUFBVTtZQUN4QixVQUFVLEVBQUUsb0JBQW9CO1NBQ2pDO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtEYXRhU291cmNlU3BlY2lmaWNhdGlvbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7Q2FzZUdyb3VwQnlDb25maWd1cmF0aW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMnO1xuXG5leHBvcnQgY29uc3QgY2FzZUdyb3VwQnlEYXRhU291cmNlU3BlY2lmaWNhdGlvbjogRGF0YVNvdXJjZVNwZWNpZmljYXRpb24gPSB7XG4gIGRhdGFTb3VyY2VLZXk6ICdjYXNlLWdyb3VwLWJ5JyxcbiAgY29uZmlndXJhdGlvbkNvbXBvbmVudDogQ2FzZUdyb3VwQnlDb25maWd1cmF0aW9uQ29tcG9uZW50LFxuICB0cmFuc2xhdGlvbnM6IHtcbiAgICBkZToge1xuICAgICAgdGl0bGU6ICdHcnVwcGUnLFxuICAgICAgZG9jdW1lbnREZWZpbml0aW9uOiAnRmFsbHR5cCAoZXJmb3JkZXJsaWNoKScsXG4gICAgICBkb2N1bWVudERlZmluaXRpb25IZWxwZXJUZXh0OiAnRGVyIEZhbGx0eXAsIGbDvHIgZGVuIGRpZSBBbnphaGwgYWJnZXJ1ZmVuIHdpcmQnLFxuICAgICAgJyE9JzogJ05pY2h0IGdsZWljaHp1c2V0emVuIG1pdCcsXG4gICAgICAnPT0nOiAnR2xlaWNoJyxcbiAgICAgICc+JzogJ0dyw7bDn2VyIGFscycsXG4gICAgICAnPj0nOiAnR3LDtsOfZXIgYWxzIG9kZXIgZ2xlaWNoIHdpZScsXG4gICAgICAnPCc6ICdXZW5pZ2VyIGFscycsXG4gICAgICAnPD0nOiAnR2xlaWNoIG9kZXIga2xlaW5lciBhbHMnLFxuICAgICAgcGF0aDogJ1BmYWQnLFxuICAgICAgcGF0aEhlbHBlclRleHQ6ICdEZXIgUGZhZCBpbm5lcmhhbGIgZGVyIEZhbGwsIGRlcmVuIFdlcnRlIGdydXBwaWVydCB3ZXJkZW4gc29sbGVuJyxcbiAgICAgIG9wZXJhdG9yOiAnT3BlcmF0b3InLFxuICAgICAgdmFsdWU6ICdXZXJ0JyxcbiAgICAgIGNvbmRpdGlvbnM6ICdCZWRpbmd1bmdlbicsXG4gICAgICBjb25kaXRpb25zSGVscGVyVGV4dDpcbiAgICAgICAgXCJHZWJlbiBTaWUgb3B0aW9uYWxlIEJlZGluZ3VuZ2VuIHp1bSBBYnJ1ZmVuIGRlciBHcnVwcGllcnVuZyBmw7xyIGRlbiBhdXNnZXfDpGhsdGVuIEZhbGx0eXAgYW4uIFp1bSBCZWlzcGllbDogJ2Nhc2U6Y3JlYXRlZEJ5JywgJ05pY2h0IGdsZWljaHp1c2V0emVuIG1pdCcsICd0ZXN0QHRlc3QuY29tJy5cIixcbiAgICAgIGFkZENvbmRpdGlvbjogJ0JlZGluZ3VuZyBoaW56dWbDvGdlbicsXG4gICAgICBlbnVtOiAnQW56ZWlnZSBkZXIgV2VydGUnLFxuICAgICAgZW51bUhlbHBlclRleHQ6XG4gICAgICAgIFwiRWluaWdlIFdlcnRlIGF1cyBkZXIgRGF0ZW5iYW5rIHNpbmQgZsO8ciBkZW4gRW5kYmVudXR6ZXIgbmljaHQgbGVzYmFyLiBHZWJlbiBTaWUgaGllciBhbiwgd2llIGRpZSBXZXJ0ZSBhbmdlemVpZ3Qgd2VyZGVuIHNvbGxlbi4gQmVpc3BpZWw6IFdlcnQ6ICdhbmZyYWdlLWdlc2VuZGV0JywgQW56ZWlnZTogJ0FuZnJhZ2UgZ2VzZW5kZXQnLlwiLFxuICAgICAgZGlzcGxheVZhbHVlOiAnQW56ZWlnZScsXG4gICAgICBhZGREaXNwbGF5OiAnQW5zaWNodCBoaW56dWbDvGdlbicsXG4gICAgfSxcbiAgICBlbjoge1xuICAgICAgdGl0bGU6ICdHcm91cCBieScsXG4gICAgICBkb2N1bWVudERlZmluaXRpb246ICdDYXNlIHR5cGUgKHJlcXVpcmVkKScsXG4gICAgICBkb2N1bWVudERlZmluaXRpb25IZWxwZXJUZXh0OiAnVGhlIGNhc2UgdHlwZSBmb3Igd2hpY2ggdGhlIGNvdW50IGlzIHJldHJpZXZlZCcsXG4gICAgICAnIT0nOiAnTm90IGVxdWFsIHRvJyxcbiAgICAgICc9PSc6ICdFcXVhbCB0bycsXG4gICAgICAnPic6ICdHcmVhdGVyIHRoYW4nLFxuICAgICAgJz49JzogJ0dyZWF0ZXIgdGhhbiBvciBlcXVhbCB0bycsXG4gICAgICAnPCc6ICdMZXNzIHRoYW4nLFxuICAgICAgJzw9JzogJ0xlc3MgdGhhbiBvciBlcXVhbCB0bycsXG4gICAgICBwYXRoOiAnUGF0aCAocmVxdWlyZWQpJyxcbiAgICAgIHBhdGhIZWxwZXJUZXh0OiAnVGhlIHBhdGggd2l0aGluIHRoZSBjYXNlIG9mIHdoaWNoIHRoZSB2YWx1ZXMgc2hvdWxkIGJlIGdyb3VwZWQnLFxuICAgICAgb3BlcmF0b3I6ICdPcGVyYXRvcicsXG4gICAgICB2YWx1ZTogJ1ZhbHVlJyxcbiAgICAgIGNvbmRpdGlvbnM6ICdDb25kaXRpb25zJyxcbiAgICAgIGNvbmRpdGlvbnNIZWxwZXJUZXh0OlxuICAgICAgICBcIlNwZWNpZnkgb3B0aW9uYWwgY29uZGl0aW9ucyBmb3IgcmV0cmlldmluZyB0aGUgZ3JvdXBpbmcgZm9yIHRoZSBzZWxlY3RlZCBjYXNlIHR5cGUuIEZvciBleGFtcGxlOiAnY2FzZTpjcmVhdGVkQnknLCAnTm90IGVxdWFsIHRvJywgJ3Rlc3RAdGVzdC5jb20nLiBUbyBjb21wYXJlIHdpdGggZW1wdHkgdmFsdWVzLCAnJHtudWxsfScgY2FuIGJlIGVudGVyZWQgYXMgYSB2YWx1ZS4gVG8gY29tcGFyZSB3aXRoIHRoZSBjdXJyZW50IGRhdGUsICcke2xvY2FsRGF0ZVRpbWVOb3d9JyBjYW4gYmUgZW50ZXJlZCBhcyBhIHZhbHVlLiBUaGlzIGFsc28gc3VwcG9ydHMsIGZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5nIGxvZ2ljOiAnJHtsb2NhbERhdGVUaW1lTm93Lm1pbnVzV2Vla3MoMil9Jy5cIixcbiAgICAgIGFkZENvbmRpdGlvbjogJ0FkZCBjb25kaXRpb24nLFxuICAgICAgZW51bTogJ0Rpc3BsYXkgb2YgdmFsdWVzJyxcbiAgICAgIGVudW1IZWxwZXJUZXh0OlxuICAgICAgICBcIlNvbWUgdmFsdWVzIGZyb20gdGhlIGRhdGFiYXNlIHdpbGwgbm90IGJlIHJlYWRhYmxlIGJ5IHRoZSBlbmQgdXNlci4gU3BlY2lmeSBoZXJlIGhvdyB0aGUgdmFsdWVzIHNob3VsZCBiZSBkaXNwbGF5ZWQuIEZvciBleGFtcGxlOiBWYWx1ZTogJ3JlcXVlc3Qtc2VudCcsIERpc3BsYXk6ICdSZXF1ZXN0IHNlbnQnLlwiLFxuICAgICAgZGlzcGxheVZhbHVlOiAnRGlzcGxheScsXG4gICAgICBhZGREaXNwbGF5OiAnQWRkIGRpc3BsYXknLFxuICAgIH0sXG4gICAgbmw6IHtcbiAgICAgIHRpdGxlOiAnR3JvZXBlcmluZycsXG4gICAgICBkb2N1bWVudERlZmluaXRpb246ICdEb3NzaWVydHlwZSAodmVyZWlzdCknLFxuICAgICAgZG9jdW1lbnREZWZpbml0aW9uSGVscGVyVGV4dDogJ0hldCBkb3NzaWVydHlwZSB3YWFydm9vciBkZSB0ZWxsaW5nIHdvcmR0IG9wZ2VoYWFsZCcsXG4gICAgICAnIT0nOiAnTmlldCBnZWxpamsgYWFuJyxcbiAgICAgICc9PSc6ICdHZWxpamsgYWFuJyxcbiAgICAgICc+JzogJ0dyb3RlciBkYW4nLFxuICAgICAgJz49JzogJ0dyb3RlciBkYW4gb2YgZ2VsaWprIGFhbicsXG4gICAgICAnPCc6ICdNaW5kZXIgZGFuJyxcbiAgICAgICc8PSc6ICdNaW5kZXIgZGFuIG9mIGdlbGlqayBhYW4nLFxuICAgICAgcGF0aDogJ1BhZCcsXG4gICAgICBwYXRoSGVscGVyVGV4dDogJ0hldCBwYWQgYmlubmVuIGhldCBkb3NzaWVyIHdhYXJ2YW4gZGUgd2FhcmRlcyBnZWdyb2VwZWVyZCBtb2V0ZW4gd29yZGVuJyxcbiAgICAgIG9wZXJhdG9yOiAnT3BlcmF0b3InLFxuICAgICAgdmFsdWU6ICdXYWFyZGUnLFxuICAgICAgY29uZGl0aW9uczogJ0NvbmRpdGllcycsXG4gICAgICBjb25kaXRpb25zSGVscGVyVGV4dDpcbiAgICAgICAgXCJHZWVmIG9wdGlvbmVsZSBjb25kaXRpZXMgb3Agdm9vciBoZXQgb3BoYWxlbiB2YW4gZGUgZ3JvZXBlcmluZyB2b29yIGhldCBnZXNlbGVjdGVlcmRlIGRvc3NpZXJ0eXBlLiBCaWp2b29yYmVlbGQ6ICdjYXNlOmNyZWF0ZWRCeScsICdOaWV0IGdlbGlqayBhYW4nLCAndGVzdEB0ZXN0LmNvbScuIFZvb3IgaGV0IHZlcmdlbGlqa2VuIG1ldCBsZWdlIHdhYXJkZXMga2FuICcke251bGx9JyBpbmdldnVsZCB3b3JkZW4gYWxzIHdhYXJkZS4gVm9vciBoZXQgdmVyZ2VsaWprZW4gbWV0IGRlIGh1aWRpZ2UgZGF0dW0ga2FuICcke2xvY2FsRGF0ZVRpbWVOb3d9JyBpbmdldnVsZCB3b3JkZW4gYWxzIHdhYXJkZS4gRGV6ZSBvbmRlcnN0ZXVudCBvb2sgYmlqdm9vcmJlZWxkIGRlIHZvbGdlbmRlIGxvZ2ljYTogJyR7bG9jYWxEYXRlVGltZU5vdy5taW51c1dlZWtzKDIpfScuXCIsXG4gICAgICBhZGRDb25kaXRpb246ICdDb25kaXRpZSB0b2V2b2VnZW4nLFxuICAgICAgZW51bTogJ1dlZXJnYXZlIHZhbiB3YWFyZGVzJyxcbiAgICAgIGVudW1IZWxwZXJUZXh0OlxuICAgICAgICBcIlNvbW1pZ2Ugd2FhcmRlcyB1aXQgZGUgZGF0YWJhc2UgenVsbGVuIG5pZXQgbGVlc2JhYXIgemlqbiB2b29yIGRlIGVpbmRnZWJydWlrZXIuIEdlZWYgaGllciBvcCBob2UgZGUgd2FhcmRlcyB3ZWVyZ2VnZXZlbiBtb2V0ZW4gd29yZGVuLiBCaWp2b29yYmVlbGQ6IFdhYXJkZTogJ2FhbnZyYWFnLXZlcnpvbmRlbicsIFdlZXJnYXZlOiAnQWFudnJhYWcgdmVyem9uZGVuJy5cIixcbiAgICAgIGRpc3BsYXlWYWx1ZTogJ1dlZXJnYXZlJyxcbiAgICAgIGFkZERpc3BsYXk6ICdXZWVyZ2F2ZSB0b2V2b2VnZW4nLFxuICAgIH0sXG4gIH0sXG59O1xuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1ncm91cC1ieS5zcGVjaWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kYXNoYm9hcmQvc3JjL2xpYi9kYXRhLXNvdXJjZXMvY2FzZS1ncm91cC1ieS9jYXNlLWdyb3VwLWJ5LnNwZWNpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFHSCxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDL0QsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUE0QjtJQUN6RSxhQUFhLEVBQUUsZUFBZTtJQUM5QixzQkFBc0IsRUFBRSxpQ0FBaUM7SUFDekQsWUFBWSxFQUFFO1FBQ1osRUFBRSxFQUFFO1lBQ0YsS0FBSyxFQUFFLFFBQVE7WUFDZixrQkFBa0IsRUFBRSx3QkFBd0I7WUFDNUMsNEJBQTRCLEVBQUUsZ0RBQWdEO1lBQzlFLElBQUksRUFBRSwwQkFBMEI7WUFDaEMsSUFBSSxFQUFFLFFBQVE7WUFDZCxHQUFHLEVBQUUsWUFBWTtZQUNqQixJQUFJLEVBQUUsNEJBQTRCO1lBQ2xDLEdBQUcsRUFBRSxhQUFhO1lBQ2xCLElBQUksRUFBRSx5QkFBeUI7WUFDL0IsSUFBSSxFQUFFLE1BQU07WUFDWixjQUFjLEVBQUUsa0VBQWtFO1lBQ2xGLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLEtBQUssRUFBRSxNQUFNO1lBQ2IsVUFBVSxFQUFFLGFBQWE7WUFDekIsb0JBQW9CLEVBQUUsa0dBQWtHLHVCQUF1QixDQUFDLEVBQUUsRUFBRTtZQUNwSixZQUFZLEVBQUUsc0JBQXNCO1lBQ3BDLElBQUksRUFBRSxtQkFBbUI7WUFDekIsY0FBYyxFQUNaLGtNQUFrTTtZQUNwTSxZQUFZLEVBQUUsU0FBUztZQUN2QixVQUFVLEVBQUUsb0JBQW9CO1NBQ2pDO1FBQ0QsRUFBRSxFQUFFO1lBQ0YsS0FBSyxFQUFFLFVBQVU7WUFDakIsa0JBQWtCLEVBQUUsc0JBQXNCO1lBQzFDLDRCQUE0QixFQUFFLGdEQUFnRDtZQUM5RSxJQUFJLEVBQUUsY0FBYztZQUNwQixJQUFJLEVBQUUsVUFBVTtZQUNoQixHQUFHLEVBQUUsY0FBYztZQUNuQixJQUFJLEVBQUUsMEJBQTBCO1lBQ2hDLEdBQUcsRUFBRSxXQUFXO1lBQ2hCLElBQUksRUFBRSx1QkFBdUI7WUFDN0IsSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixjQUFjLEVBQUUsZ0VBQWdFO1lBQ2hGLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLEtBQUssRUFBRSxPQUFPO1lBQ2QsVUFBVSxFQUFFLFlBQVk7WUFDeEIsb0JBQW9CLEVBQUUsdUZBQXVGLHVCQUF1QixDQUFDLEVBQUUsRUFBRTtZQUN6SSxZQUFZLEVBQUUsZUFBZTtZQUM3QixJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLGNBQWMsRUFDWixtTEFBbUw7WUFDckwsWUFBWSxFQUFFLFNBQVM7WUFDdkIsVUFBVSxFQUFFLGFBQWE7U0FDMUI7UUFDRCxFQUFFLEVBQUU7WUFDRixLQUFLLEVBQUUsWUFBWTtZQUNuQixrQkFBa0IsRUFBRSx1QkFBdUI7WUFDM0MsNEJBQTRCLEVBQUUscURBQXFEO1lBQ25GLElBQUksRUFBRSxpQkFBaUI7WUFDdkIsSUFBSSxFQUFFLFlBQVk7WUFDbEIsR0FBRyxFQUFFLFlBQVk7WUFDakIsSUFBSSxFQUFFLDBCQUEwQjtZQUNoQyxHQUFHLEVBQUUsWUFBWTtZQUNqQixJQUFJLEVBQUUsMEJBQTBCO1lBQ2hDLElBQUksRUFBRSxLQUFLO1lBQ1gsY0FBYyxFQUFFLHlFQUF5RTtZQUN6RixRQUFRLEVBQUUsVUFBVTtZQUNwQixLQUFLLEVBQUUsUUFBUTtZQUNmLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLG9CQUFvQixFQUFFLHNHQUFzRyx1QkFBdUIsQ0FBQyxFQUFFLEVBQUU7WUFDeEosWUFBWSxFQUFFLG9CQUFvQjtZQUNsQyxJQUFJLEVBQUUsc0JBQXNCO1lBQzVCLGNBQWMsRUFDWixxTkFBcU47WUFDdk4sWUFBWSxFQUFFLFVBQVU7WUFDeEIsVUFBVSxFQUFFLG9CQUFvQjtTQUNqQztLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7RGF0YVNvdXJjZVNwZWNpZmljYXRpb259IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0Nhc2VHcm91cEJ5Q29uZmlndXJhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7Q09ORElUSU9OU19IRUxQRVJfVEVYVFN9IGZyb20gJy4uL3NoYXJlZCc7XG5cbmV4cG9ydCBjb25zdCBjYXNlR3JvdXBCeURhdGFTb3VyY2VTcGVjaWZpY2F0aW9uOiBEYXRhU291cmNlU3BlY2lmaWNhdGlvbiA9IHtcbiAgZGF0YVNvdXJjZUtleTogJ2Nhc2UtZ3JvdXAtYnknLFxuICBjb25maWd1cmF0aW9uQ29tcG9uZW50OiBDYXNlR3JvdXBCeUNvbmZpZ3VyYXRpb25Db21wb25lbnQsXG4gIHRyYW5zbGF0aW9uczoge1xuICAgIGRlOiB7XG4gICAgICB0aXRsZTogJ0dydXBwZScsXG4gICAgICBkb2N1bWVudERlZmluaXRpb246ICdGYWxsdHlwIChlcmZvcmRlcmxpY2gpJyxcbiAgICAgIGRvY3VtZW50RGVmaW5pdGlvbkhlbHBlclRleHQ6ICdEZXIgRmFsbHR5cCwgZsO8ciBkZW4gZGllIEFuemFobCBhYmdlcnVmZW4gd2lyZCcsXG4gICAgICAnIT0nOiAnTmljaHQgZ2xlaWNoenVzZXR6ZW4gbWl0JyxcbiAgICAgICc9PSc6ICdHbGVpY2gnLFxuICAgICAgJz4nOiAnR3LDtsOfZXIgYWxzJyxcbiAgICAgICc+PSc6ICdHcsO2w59lciBhbHMgb2RlciBnbGVpY2ggd2llJyxcbiAgICAgICc8JzogJ1dlbmlnZXIgYWxzJyxcbiAgICAgICc8PSc6ICdHbGVpY2ggb2RlciBrbGVpbmVyIGFscycsXG4gICAgICBwYXRoOiAnUGZhZCcsXG4gICAgICBwYXRoSGVscGVyVGV4dDogJ0RlciBQZmFkIGlubmVyaGFsYiBkZXIgRmFsbCwgZGVyZW4gV2VydGUgZ3J1cHBpZXJ0IHdlcmRlbiBzb2xsZW4nLFxuICAgICAgb3BlcmF0b3I6ICdPcGVyYXRvcicsXG4gICAgICB2YWx1ZTogJ1dlcnQnLFxuICAgICAgY29uZGl0aW9uczogJ0JlZGluZ3VuZ2VuJyxcbiAgICAgIGNvbmRpdGlvbnNIZWxwZXJUZXh0OiBgR2ViZW4gU2llIG9wdGlvbmFsZSBCZWRpbmd1bmdlbiBhbiwgdW0gZGllIEdydXBwaWVydW5nIGbDvHIgZGVuIGF1c2dld8OkaGx0ZW4gRmFsbHR5cCBhYnp1cnVmZW4uICR7Q09ORElUSU9OU19IRUxQRVJfVEVYVFMuREV9YCxcbiAgICAgIGFkZENvbmRpdGlvbjogJ0JlZGluZ3VuZyBoaW56dWbDvGdlbicsXG4gICAgICBlbnVtOiAnQW56ZWlnZSBkZXIgV2VydGUnLFxuICAgICAgZW51bUhlbHBlclRleHQ6XG4gICAgICAgIFwiRWluaWdlIFdlcnRlIGF1cyBkZXIgRGF0ZW5iYW5rIHNpbmQgZsO8ciBkZW4gRW5kYmVudXR6ZXIgbmljaHQgbGVzYmFyLiBHZWJlbiBTaWUgaGllciBhbiwgd2llIGRpZSBXZXJ0ZSBhbmdlemVpZ3Qgd2VyZGVuIHNvbGxlbi4gQmVpc3BpZWw6IFdlcnQ6ICdhbmZyYWdlLWdlc2VuZGV0JywgQW56ZWlnZTogJ0FuZnJhZ2UgZ2VzZW5kZXQnLlwiLFxuICAgICAgZGlzcGxheVZhbHVlOiAnQW56ZWlnZScsXG4gICAgICBhZGREaXNwbGF5OiAnQW5zaWNodCBoaW56dWbDvGdlbicsXG4gICAgfSxcbiAgICBlbjoge1xuICAgICAgdGl0bGU6ICdHcm91cCBieScsXG4gICAgICBkb2N1bWVudERlZmluaXRpb246ICdDYXNlIHR5cGUgKHJlcXVpcmVkKScsXG4gICAgICBkb2N1bWVudERlZmluaXRpb25IZWxwZXJUZXh0OiAnVGhlIGNhc2UgdHlwZSBmb3Igd2hpY2ggdGhlIGNvdW50IGlzIHJldHJpZXZlZCcsXG4gICAgICAnIT0nOiAnTm90IGVxdWFsIHRvJyxcbiAgICAgICc9PSc6ICdFcXVhbCB0bycsXG4gICAgICAnPic6ICdHcmVhdGVyIHRoYW4nLFxuICAgICAgJz49JzogJ0dyZWF0ZXIgdGhhbiBvciBlcXVhbCB0bycsXG4gICAgICAnPCc6ICdMZXNzIHRoYW4nLFxuICAgICAgJzw9JzogJ0xlc3MgdGhhbiBvciBlcXVhbCB0bycsXG4gICAgICBwYXRoOiAnUGF0aCAocmVxdWlyZWQpJyxcbiAgICAgIHBhdGhIZWxwZXJUZXh0OiAnVGhlIHBhdGggd2l0aGluIHRoZSBjYXNlIG9mIHdoaWNoIHRoZSB2YWx1ZXMgc2hvdWxkIGJlIGdyb3VwZWQnLFxuICAgICAgb3BlcmF0b3I6ICdPcGVyYXRvcicsXG4gICAgICB2YWx1ZTogJ1ZhbHVlJyxcbiAgICAgIGNvbmRpdGlvbnM6ICdDb25kaXRpb25zJyxcbiAgICAgIGNvbmRpdGlvbnNIZWxwZXJUZXh0OiBgU3BlY2lmeSBvcHRpb25hbCBjb25kaXRpb25zIGZvciByZXRyaWV2aW5nIHRoZSBncm91cGluZyBmb3IgdGhlIHNlbGVjdGVkIGNhc2UgdHlwZS4gJHtDT05ESVRJT05TX0hFTFBFUl9URVhUUy5FTn1gLFxuICAgICAgYWRkQ29uZGl0aW9uOiAnQWRkIGNvbmRpdGlvbicsXG4gICAgICBlbnVtOiAnRGlzcGxheSBvZiB2YWx1ZXMnLFxuICAgICAgZW51bUhlbHBlclRleHQ6XG4gICAgICAgIFwiU29tZSB2YWx1ZXMgZnJvbSB0aGUgZGF0YWJhc2Ugd2lsbCBub3QgYmUgcmVhZGFibGUgYnkgdGhlIGVuZCB1c2VyLiBTcGVjaWZ5IGhlcmUgaG93IHRoZSB2YWx1ZXMgc2hvdWxkIGJlIGRpc3BsYXllZC4gRm9yIGV4YW1wbGU6IFZhbHVlOiAncmVxdWVzdC1zZW50JywgRGlzcGxheTogJ1JlcXVlc3Qgc2VudCcuXCIsXG4gICAgICBkaXNwbGF5VmFsdWU6ICdEaXNwbGF5JyxcbiAgICAgIGFkZERpc3BsYXk6ICdBZGQgZGlzcGxheScsXG4gICAgfSxcbiAgICBubDoge1xuICAgICAgdGl0bGU6ICdHcm9lcGVyaW5nJyxcbiAgICAgIGRvY3VtZW50RGVmaW5pdGlvbjogJ0Rvc3NpZXJ0eXBlICh2ZXJlaXN0KScsXG4gICAgICBkb2N1bWVudERlZmluaXRpb25IZWxwZXJUZXh0OiAnSGV0IGRvc3NpZXJ0eXBlIHdhYXJ2b29yIGRlIHRlbGxpbmcgd29yZHQgb3BnZWhhYWxkJyxcbiAgICAgICchPSc6ICdOaWV0IGdlbGlqayBhYW4nLFxuICAgICAgJz09JzogJ0dlbGlqayBhYW4nLFxuICAgICAgJz4nOiAnR3JvdGVyIGRhbicsXG4gICAgICAnPj0nOiAnR3JvdGVyIGRhbiBvZiBnZWxpamsgYWFuJyxcbiAgICAgICc8JzogJ01pbmRlciBkYW4nLFxuICAgICAgJzw9JzogJ01pbmRlciBkYW4gb2YgZ2VsaWprIGFhbicsXG4gICAgICBwYXRoOiAnUGFkJyxcbiAgICAgIHBhdGhIZWxwZXJUZXh0OiAnSGV0IHBhZCBiaW5uZW4gaGV0IGRvc3NpZXIgd2FhcnZhbiBkZSB3YWFyZGVzIGdlZ3JvZXBlZXJkIG1vZXRlbiB3b3JkZW4nLFxuICAgICAgb3BlcmF0b3I6ICdPcGVyYXRvcicsXG4gICAgICB2YWx1ZTogJ1dhYXJkZScsXG4gICAgICBjb25kaXRpb25zOiAnQ29uZGl0aWVzJyxcbiAgICAgIGNvbmRpdGlvbnNIZWxwZXJUZXh0OiBgR2VlZiBvcHRpb25lbGUgY29uZGl0aWVzIG9wIHZvb3IgaGV0IG9waGFsZW4gdmFuIGRlIGdyb2VwZXJpbmcgdm9vciBoZXQgZ2VzZWxlY3RlZXJkZSBkb3NzaWVydHlwZS4gJHtDT05ESVRJT05TX0hFTFBFUl9URVhUUy5OTH1gLFxuICAgICAgYWRkQ29uZGl0aW9uOiAnQ29uZGl0aWUgdG9ldm9lZ2VuJyxcbiAgICAgIGVudW06ICdXZWVyZ2F2ZSB2YW4gd2FhcmRlcycsXG4gICAgICBlbnVtSGVscGVyVGV4dDpcbiAgICAgICAgXCJTb21taWdlIHdhYXJkZXMgdWl0IGRlIGRhdGFiYXNlIHp1bGxlbiBuaWV0IGxlZXNiYWFyIHppam4gdm9vciBkZSBlaW5kZ2VicnVpa2VyLiBHZWVmIGhpZXIgb3AgaG9lIGRlIHdhYXJkZXMgd2VlcmdlZ2V2ZW4gbW9ldGVuIHdvcmRlbi4gQmlqdm9vcmJlZWxkOiBXYWFyZGU6ICdhYW52cmFhZy12ZXJ6b25kZW4nLCBXZWVyZ2F2ZTogJ0FhbnZyYWFnIHZlcnpvbmRlbicuXCIsXG4gICAgICBkaXNwbGF5VmFsdWU6ICdXZWVyZ2F2ZScsXG4gICAgICBhZGREaXNwbGF5OiAnV2VlcmdhdmUgdG9ldm9lZ2VuJyxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CaseCountDataSourceModule } from './case-count';
3
+ import { CaseCountsDataSourceModule } from './case-counts';
4
+ import { CaseGroupByDataSourceModule } from './case-group-by';
5
+ import * as i0 from "@angular/core";
6
+ export class DataSourcesModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DataSourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DataSourcesModule, imports: [CaseCountDataSourceModule, CaseCountsDataSourceModule, CaseGroupByDataSourceModule] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DataSourcesModule, imports: [CaseCountDataSourceModule, CaseCountsDataSourceModule, CaseGroupByDataSourceModule] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DataSourcesModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ imports: [CaseCountDataSourceModule, CaseCountsDataSourceModule, CaseGroupByDataSourceModule],
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvZGF0YS1zb3VyY2VzL2RhdGEtc291cmNlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQUs1RCxNQUFNLE9BQU8saUJBQWlCOytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixZQUZsQix5QkFBeUIsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkI7Z0hBRWpGLGlCQUFpQixZQUZsQix5QkFBeUIsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkI7OzRGQUVqRixpQkFBaUI7a0JBSDdCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMseUJBQXlCLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLENBQUM7aUJBQzlGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Nhc2VDb3VudERhdGFTb3VyY2VNb2R1bGV9IGZyb20gJy4vY2FzZS1jb3VudCc7XG5pbXBvcnQge0Nhc2VDb3VudHNEYXRhU291cmNlTW9kdWxlfSBmcm9tICcuL2Nhc2UtY291bnRzJztcbmltcG9ydCB7Q2FzZUdyb3VwQnlEYXRhU291cmNlTW9kdWxlfSBmcm9tICcuL2Nhc2UtZ3JvdXAtYnknO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ2FzZUNvdW50RGF0YVNvdXJjZU1vZHVsZSwgQ2FzZUNvdW50c0RhdGFTb3VyY2VNb2R1bGUsIENhc2VHcm91cEJ5RGF0YVNvdXJjZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VzTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ const CONDITIONS_HELPER_TEXTS = {
17
+ EN: "For example: 'case:createdBy', 'Not equal to', 'test@test.com'. To compare against empty values, you can use '${null}' as a value. To compare with the current date, use '${localDateTimeNow}' as a value. Additionally, logic such as '${localDateTimeNow.minusWeeks(2)}' is supported. The placeholders '${currentUserId}', '${currentUserEmail}', and '${currentUserIdentifier}' enable the display of personalized information for the current dashboard user.",
18
+ NL: 'Bijvoorbeeld: ‘case:createdBy’, ‘Not equal to’, ‘test@test.com’. Om te vergelijken met lege waarden, kun je ‘${null}’ gebruiken als waarde. Om te vergelijken met de huidige datum, gebruik je ‘${localDateTimeNow}’ als waarde. Hier wordt logica zoals ‘${localDateTimeNow.minusWeeks(2)}’ ondersteund. De placeholders ‘${currentUserId}’, ‘${currentUserEmail}’ en ‘${currentUserIdentifier}’ maken het mogelijk om gepersonaliseerde informatie weer te geven voor de huidige dashboardgebruiker.',
19
+ DE: 'Zum Beispiel: ‘case:createdBy’, ‘Not equal to’, ‘test@test.com’. Um mit leeren Werten zu vergleichen, kann ‘${null}’ als Wert verwendet werden. Um mit dem aktuellen Datum zu vergleichen, kann ‘${localDateTimeNow}’ als Wert verwendet werden. Zusätzlich wird Logik wie ‘${localDateTimeNow.minusWeeks(2)}’ unterstützt. Die Platzhalter ‘${currentUserId}’, ‘${currentUserEmail}’ und ‘${currentUserIdentifier}’ ermöglichen die Anzeige personalisierter Informationen für den aktuellen Dashboard-Benutzer.',
20
+ };
21
+ export { CONDITIONS_HELPER_TEXTS };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvZGF0YS1zb3VyY2VzL3NoYXJlZC9jb25kaXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsTUFBTSx1QkFBdUIsR0FBRztJQUM5QixFQUFFLEVBQUUsb2NBQW9jO0lBQ3hjLEVBQUUsRUFBRSx3ZUFBd2U7SUFDNWUsRUFBRSxFQUFFLG1mQUFtZjtDQUN4ZixDQUFDO0FBRUYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5jb25zdCBDT05ESVRJT05TX0hFTFBFUl9URVhUUyA9IHtcbiAgRU46IFwiRm9yIGV4YW1wbGU6ICdjYXNlOmNyZWF0ZWRCeScsICdOb3QgZXF1YWwgdG8nLCAndGVzdEB0ZXN0LmNvbScuIFRvIGNvbXBhcmUgYWdhaW5zdCBlbXB0eSB2YWx1ZXMsIHlvdSBjYW4gdXNlICcke251bGx9JyBhcyBhIHZhbHVlLiBUbyBjb21wYXJlIHdpdGggdGhlIGN1cnJlbnQgZGF0ZSwgdXNlICcke2xvY2FsRGF0ZVRpbWVOb3d9JyBhcyBhIHZhbHVlLiBBZGRpdGlvbmFsbHksIGxvZ2ljIHN1Y2ggYXMgJyR7bG9jYWxEYXRlVGltZU5vdy5taW51c1dlZWtzKDIpfScgaXMgc3VwcG9ydGVkLiBUaGUgcGxhY2Vob2xkZXJzICcke2N1cnJlbnRVc2VySWR9JywgJyR7Y3VycmVudFVzZXJFbWFpbH0nLCBhbmQgJyR7Y3VycmVudFVzZXJJZGVudGlmaWVyfScgZW5hYmxlIHRoZSBkaXNwbGF5IG9mIHBlcnNvbmFsaXplZCBpbmZvcm1hdGlvbiBmb3IgdGhlIGN1cnJlbnQgZGFzaGJvYXJkIHVzZXIuXCIsXG4gIE5MOiAnQmlqdm9vcmJlZWxkOiDigJhjYXNlOmNyZWF0ZWRCeeKAmSwg4oCYTm90IGVxdWFsIHRv4oCZLCDigJh0ZXN0QHRlc3QuY29t4oCZLiBPbSB0ZSB2ZXJnZWxpamtlbiBtZXQgbGVnZSB3YWFyZGVuLCBrdW4gamUg4oCYJHtudWxsfeKAmSBnZWJydWlrZW4gYWxzIHdhYXJkZS4gT20gdGUgdmVyZ2VsaWprZW4gbWV0IGRlIGh1aWRpZ2UgZGF0dW0sIGdlYnJ1aWsgamUg4oCYJHtsb2NhbERhdGVUaW1lTm93feKAmSBhbHMgd2FhcmRlLiBIaWVyIHdvcmR0IGxvZ2ljYSB6b2FscyDigJgke2xvY2FsRGF0ZVRpbWVOb3cubWludXNXZWVrcygyKX3igJkgb25kZXJzdGV1bmQuIERlIHBsYWNlaG9sZGVycyDigJgke2N1cnJlbnRVc2VySWR94oCZLCDigJgke2N1cnJlbnRVc2VyRW1haWx94oCZIGVuIOKAmCR7Y3VycmVudFVzZXJJZGVudGlmaWVyfeKAmSBtYWtlbiBoZXQgbW9nZWxpamsgb20gZ2VwZXJzb25hbGlzZWVyZGUgaW5mb3JtYXRpZSB3ZWVyIHRlIGdldmVuIHZvb3IgZGUgaHVpZGlnZSBkYXNoYm9hcmRnZWJydWlrZXIuJyxcbiAgREU6ICdadW0gQmVpc3BpZWw6IOKAmGNhc2U6Y3JlYXRlZEJ54oCZLCDigJhOb3QgZXF1YWwgdG/igJksIOKAmHRlc3RAdGVzdC5jb23igJkuIFVtIG1pdCBsZWVyZW4gV2VydGVuIHp1IHZlcmdsZWljaGVuLCBrYW5uIOKAmCR7bnVsbH3igJkgYWxzIFdlcnQgdmVyd2VuZGV0IHdlcmRlbi4gVW0gbWl0IGRlbSBha3R1ZWxsZW4gRGF0dW0genUgdmVyZ2xlaWNoZW4sIGthbm4g4oCYJHtsb2NhbERhdGVUaW1lTm93feKAmSBhbHMgV2VydCB2ZXJ3ZW5kZXQgd2VyZGVuLiBadXPDpHR6bGljaCB3aXJkIExvZ2lrIHdpZSDigJgke2xvY2FsRGF0ZVRpbWVOb3cubWludXNXZWVrcygyKX3igJkgdW50ZXJzdMO8dHp0LiBEaWUgUGxhdHpoYWx0ZXIg4oCYJHtjdXJyZW50VXNlcklkfeKAmSwg4oCYJHtjdXJyZW50VXNlckVtYWlsfeKAmSB1bmQg4oCYJHtjdXJyZW50VXNlcklkZW50aWZpZXJ94oCZIGVybcO2Z2xpY2hlbiBkaWUgQW56ZWlnZSBwZXJzb25hbGlzaWVydGVyIEluZm9ybWF0aW9uZW4gZsO8ciBkZW4gYWt0dWVsbGVuIERhc2hib2FyZC1CZW51dHplci4nLFxufTtcblxuZXhwb3J0IHtDT05ESVRJT05TX0hFTFBFUl9URVhUU307XG4iXX0=
@@ -0,0 +1,17 @@
1
+ /*
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export * from './conditions';
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2RhdGEtc291cmNlcy9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vY29uZGl0aW9ucyc7XG4iXX0=
@@ -14,4 +14,4 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  export {};
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kYXNoYm9hcmQvc3JjL2xpYi9tb2RlbHMvZGFzaGJvYXJkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW50ZXJmYWNlIERhc2hib2FyZCB7XG4gIGtleTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICB3aWRnZXRzOiBBcnJheTxEYXNoYm9hcmRXaWRnZXRDb25maWd1cmF0aW9uPjtcbn1cblxuaW50ZXJmYWNlIERhc2hib2FyZFdpZGdldENvbmZpZ3VyYXRpb24ge1xuICBrZXk6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGF0YVNvdXJjZUtleTogc3RyaW5nO1xuICBkaXNwbGF5VHlwZTogc3RyaW5nO1xuICBkYXRhU291cmNlUHJvcGVydGllczogb2JqZWN0O1xuICBkaXNwbGF5VHlwZVByb3BlcnRpZXM6IG9iamVjdDtcbn1cblxuZXhwb3J0IHtEYXNoYm9hcmQsIERhc2hib2FyZFdpZGdldENvbmZpZ3VyYXRpb259O1xuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kYXNoYm9hcmQvc3JjL2xpYi9tb2RlbHMvZGFzaGJvYXJkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW50ZXJmYWNlIERhc2hib2FyZCB7XG4gIGtleTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICB3aWRnZXRzOiBBcnJheTxEYXNoYm9hcmRXaWRnZXRDb25maWd1cmF0aW9uPjtcbn1cblxuaW50ZXJmYWNlIERhc2hib2FyZFdpZGdldENvbmZpZ3VyYXRpb24ge1xuICBrZXk6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGF0YVNvdXJjZUtleTogc3RyaW5nO1xuICBkaXNwbGF5VHlwZTogc3RyaW5nO1xuICBkYXRhU291cmNlUHJvcGVydGllczogb2JqZWN0O1xuICBkaXNwbGF5VHlwZVByb3BlcnRpZXM6IG9iamVjdDtcbiAgdXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB7RGFzaGJvYXJkLCBEYXNoYm9hcmRXaWRnZXRDb25maWd1cmF0aW9ufTtcbiJdfQ==
@@ -20,6 +20,7 @@ export * from './lib/components/dashboard/dashboard.component';
20
20
  export * from './lib/components/widget-dashboard-content/widget-dashboard-content.component';
21
21
  export * from './lib/components/widget-dashboard/widget-dashboard.component';
22
22
  export * from './lib/display-types/display-widget-types.module';
23
+ export * from './lib/data-sources/data-sources.module';
23
24
  export * from './lib/constants';
24
25
  export * from './lib/dashboard.module';
25
26
  export * from './lib/data-sources';
@@ -27,4 +28,4 @@ export * from './lib/display-types';
27
28
  export * from './lib/models';
28
29
  export * from './lib/pipes';
29
30
  export * from './lib/services';
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUg7O0dBRUc7QUFFSCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZGFzaGJvYXJkXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXNoYm9hcmQvZGFzaGJvYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3dpZGdldC1kYXNoYm9hcmQtY29udGVudC93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvd2lkZ2V0LWRhc2hib2FyZC93aWRnZXQtZGFzaGJvYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXNwbGF5LXR5cGVzL2Rpc3BsYXktd2lkZ2V0LXR5cGVzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGFzaGJvYXJkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLXNvdXJjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlzcGxheS10eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUg7O0dBRUc7QUFFSCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBkYXNoYm9hcmRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50L3dpZGdldC1kYXNoYm9hcmQtY29udGVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkL3dpZGdldC1kYXNoYm9hcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rpc3BsYXktdHlwZXMvZGlzcGxheS13aWRnZXQtdHlwZXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtc291cmNlcy9kYXRhLXNvdXJjZXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXNoYm9hcmQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtc291cmNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXNwbGF5LXR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG4iXX0=