@eo-sdk/client 10.2.1 → 10.3.0-rc.1

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 (34) hide show
  1. package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
  2. package/app/eo-client/dashboard/dashboard.component.d.ts.map +1 -1
  3. package/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.d.ts +15 -0
  4. package/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.d.ts.map +1 -0
  5. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.d.ts +41 -0
  6. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.d.ts.map +1 -0
  7. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts +29 -0
  8. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts.map +1 -0
  9. package/app/eo-client/eo-client.module.d.ts +18 -16
  10. package/app/eo-client/eo-client.module.d.ts.map +1 -1
  11. package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts.map +1 -1
  12. package/assets/_default/i18n/de.json +9 -0
  13. package/assets/_default/i18n/en.json +9 -0
  14. package/assets/_default/svg/ic_open_tab.svg +1 -0
  15. package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
  16. package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +9 -1
  17. package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.mjs +2 -0
  18. package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +135 -0
  19. package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +125 -0
  20. package/esm2020/app/eo-client/eo-client.module.mjs +9 -3
  21. package/esm2020/app/eo-framework/form-elements/reference/reference.component.mjs +3 -3
  22. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +1 -1
  23. package/esm2020/projects/eo-sdk/core/lib/service/user/user.service.mjs +10 -1
  24. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +9 -0
  25. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  26. package/fesm2015/eo-sdk-client.mjs +332 -89
  27. package/fesm2015/eo-sdk-client.mjs.map +1 -1
  28. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +9 -0
  29. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  30. package/fesm2020/eo-sdk-client.mjs +325 -89
  31. package/fesm2020/eo-sdk-client.mjs.map +1 -1
  32. package/package.json +2 -2
  33. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts +5 -0
  34. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts.map +1 -1
@@ -0,0 +1,135 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { Validators } from '@angular/forms';
4
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
5
+ import { Utils } from '@eo-sdk/core';
6
+ import { skip } from 'rxjs';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/forms";
9
+ import * as i2 from "@eo-sdk/core";
10
+ import * as i3 from "@angular/common";
11
+ import * as i4 from "@ngx-translate/core";
12
+ import * as i5 from "../../../../../eo-framework/ui/error-message/error-message.component";
13
+ import * as i6 from "../../../../../eo-framework/form-elements/form-input/form-input.component";
14
+ import * as i7 from "../../../../../eo-framework/form-elements/codesystem/codesystem.component";
15
+ import * as i8 from "../../../../../eo-framework/form-elements/number/number.component";
16
+ import * as i9 from "../../../../../eo-framework/form-elements/checkbox/checkbox.component";
17
+ import * as i10 from "../../../../../eo-framework/form-elements/string/string.component";
18
+ import * as i11 from "../hitlist-widget.component";
19
+ let HitlistSetupComponent = class HitlistSetupComponent {
20
+ set widgetConfig(wc) {
21
+ this._widgetConfig = wc;
22
+ }
23
+ get widgetConfig() {
24
+ return this._widgetConfig;
25
+ }
26
+ constructor(fb, storedQueriesService, translate, userService) {
27
+ this.fb = fb;
28
+ this.storedQueriesService = storedQueriesService;
29
+ this.translate = translate;
30
+ this.userService = userService;
31
+ this.widgetConfigChange = new EventEmitter();
32
+ this.setupForm = this.fb.group({
33
+ title: ['', [Validators.maxLength(50)]],
34
+ storedQuery: [null],
35
+ size: [],
36
+ countTile: [false],
37
+ sortField: [],
38
+ sortRevert: [],
39
+ });
40
+ this.storedQueriesPicker = {
41
+ title: this.translate.instant('eo.search.title.storedqueries'),
42
+ codesystem: null,
43
+ value: null,
44
+ parameter: null,
45
+ types: null
46
+ };
47
+ this.sortFiledPicker = {
48
+ title: this.translate.instant('eo.workspace.widget.form.sortField'),
49
+ codesystem: null,
50
+ value: null,
51
+ parameter: null,
52
+ types: null
53
+ };
54
+ this.selectedSavedSearchName = '';
55
+ this.setupForm.valueChanges.pipe(skip(1), untilDestroyed(this)).subscribe((_) => {
56
+ this.setWidgetConfig();
57
+ });
58
+ this.getStoredQuerys();
59
+ }
60
+ setWidgetConfig() {
61
+ if (this.setupForm.valid) {
62
+ this.widgetConfig = {
63
+ storedQuery: this.storedQueries.find((sq) => sq.name === this.setupForm.get('storedQuery').value),
64
+ formValue: this.setupForm.value,
65
+ };
66
+ if (this.setupForm.get('storedQuery').value !== this.selectedSavedSearchName) {
67
+ this.selectedSavedSearchName = this.setupForm.get('storedQuery').value;
68
+ if (this.widgetConfig?.storedQuery) {
69
+ setTimeout(() => {
70
+ this.sortFiledPicker.codesystem = null;
71
+ this.getSortFields(this.widgetConfig?.storedQuery.types[0].qname);
72
+ }, 100);
73
+ }
74
+ }
75
+ this.widgetConfigChange.emit(this._widgetConfig);
76
+ }
77
+ }
78
+ getStoredQuerys() {
79
+ return this.storedQueriesService
80
+ .storedQueries$.pipe(untilDestroyed(this)).subscribe(queriesSubscription => {
81
+ this.storedQueries = queriesSubscription.queries;
82
+ this.storedQueriesPicker.codesystem = {
83
+ entries: this.storedQueries.map(storedQuery => ({
84
+ id: storedQuery.id,
85
+ label: storedQuery.name,
86
+ defaultrepresentation: storedQuery.name,
87
+ data: storedQuery.name
88
+ })).sort(Utils.sortValues('label')),
89
+ };
90
+ });
91
+ }
92
+ getSortFields(type) {
93
+ return this.userService.getFieldDefinition(type).pipe(untilDestroyed(this)).subscribe(definition => {
94
+ this.sortFiledPicker.codesystem = {
95
+ entries: definition.elements.map(field => ({
96
+ id: field.name,
97
+ defaultrepresentation: field.baseparam ? this.translate.instant('eo.global.baseparam.' + field.name) : field.label,
98
+ data: field.name
99
+ })).sort(Utils.sortValues('defaultrepresentation')),
100
+ };
101
+ });
102
+ }
103
+ ngOnInit() {
104
+ this.setupForm.patchValue({
105
+ title: this._widgetConfig ? this._widgetConfig.formValue.title : '',
106
+ storedQuery: this._widgetConfig ? this._widgetConfig?.storedQuery?.name : '',
107
+ size: this._widgetConfig ? this._widgetConfig.formValue.size : '5',
108
+ countTile: this._widgetConfig ? this._widgetConfig.formValue.countTile : '',
109
+ sortRevert: this._widgetConfig ? this._widgetConfig.formValue.sortRevert : '',
110
+ });
111
+ if (this.widgetConfig?.storedQuery) {
112
+ this.getSortFields(this.widgetConfig?.storedQuery.types[0].qname);
113
+ setTimeout(() => {
114
+ this.setupForm.patchValue({
115
+ sortField: this._widgetConfig ? this._widgetConfig.formValue.sortField : '',
116
+ });
117
+ }, 100);
118
+ }
119
+ }
120
+ };
121
+ HitlistSetupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: HitlistSetupComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.StoredQueriesService }, { token: i2.TranslateService }, { token: i2.UserService }], target: i0.ɵɵFactoryTarget.Component });
122
+ HitlistSetupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: HitlistSetupComponent, selector: "eo-hitlist-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange" }, ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input class=\"title\" [skipToggle]=\"true\" [label]=\"'eo.workspace.widget.setup.title' | translate\"\n [skipToggle]=\"true\">\n <eo-string formControlName=\"title\"></eo-string>\n </eo-form-input>\n\n <div class=\"err-msg\"\n *ngIf=\"setupForm.get('title').invalid && (setupForm.get('title').dirty || setupForm.get('title').touched)\">\n <div *ngIf=\"setupForm.get('title').errors\" [translateParams]=\"{maxlength: 50}\" translate>\n eo.form.property.maxlength</div>\n </div>\n\n <eo-form-input *ngIf=\"storedQueriesPicker?.codesystem?.entries\" [skipToggle]=\"true\"\n [label]=\"'eo.search.title.storedqueries' | translate\">\n <eo-codesystem formControlName=\"storedQuery\" [pickerTitle]=\"storedQueriesPicker.title\"\n [codesystem]=\"storedQueriesPicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n\n\n <div class=\"checkboxCountTitle\">\n <eo-form-input *ngIf=\"this.widgetConfig?.storedQuery\" class=\"label checkbox\"\n [label]=\"'eo.workspace.widget.form.label.countType' | translate\" [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"countTile\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n </div>\n\n <div class=\"listOptions\" *ngIf=\"this.widgetConfig?.storedQuery && !setupForm.value.countTile\">\n\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.workspace.widget.form.label.size' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"size\"></eo-number>\n </eo-form-input>\n\n <eo-form-input [skipToggle]=\"true\" *ngIf=\"sortFiledPicker?.codesystem?.entries\"\n [label]=\"'eo.workspace.widget.form.label.sortField'|translate\">\n <eo-codesystem formControlName=\"sortField\" [pickerTitle]=\"sortFiledPicker.title\"\n [codesystem]=\"sortFiledPicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.sortRevert'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"sortRevert\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n </div>\n </form>\n\n</div>\n\n<div class=\"preview\" *ngIf=\"this.widgetConfig?.storedQuery; else tplEmpty\">\n <eo-hitlist-widget [widgetConfig]=\"widgetConfig\"></eo-hitlist-widget>\n</div>\n\n<ng-template #tplEmpty>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_search.svg', text: 'eo.workspace.widget.stored.queries.list.empty'}\"></eo-error-message>\n </div>\n</ng-template>", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .checkboxCountTitle{padding-bottom:30px;padding-top:30px}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-hitlist-widget{border:1px solid var(--panel-divider-color)}\n"], dependencies: [{ kind: "directive", type: i3.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: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i6.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i7.CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: i8.NumberComponent, selector: "eo-number", inputs: ["scale", "precision", "grouping", "pattern", "readonly"] }, { kind: "component", type: i9.CheckboxComponent, selector: "eo-checkbox", inputs: ["tristate", "readonly"] }, { kind: "component", type: i10.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "component", type: i11.HitlistWidgetComponent, selector: "eo-hitlist-widget", inputs: ["widgetConfig"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
123
+ HitlistSetupComponent = __decorate([
124
+ UntilDestroy()
125
+ ], HitlistSetupComponent);
126
+ export { HitlistSetupComponent };
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: HitlistSetupComponent, decorators: [{
128
+ type: Component,
129
+ args: [{ selector: 'eo-hitlist-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input class=\"title\" [skipToggle]=\"true\" [label]=\"'eo.workspace.widget.setup.title' | translate\"\n [skipToggle]=\"true\">\n <eo-string formControlName=\"title\"></eo-string>\n </eo-form-input>\n\n <div class=\"err-msg\"\n *ngIf=\"setupForm.get('title').invalid && (setupForm.get('title').dirty || setupForm.get('title').touched)\">\n <div *ngIf=\"setupForm.get('title').errors\" [translateParams]=\"{maxlength: 50}\" translate>\n eo.form.property.maxlength</div>\n </div>\n\n <eo-form-input *ngIf=\"storedQueriesPicker?.codesystem?.entries\" [skipToggle]=\"true\"\n [label]=\"'eo.search.title.storedqueries' | translate\">\n <eo-codesystem formControlName=\"storedQuery\" [pickerTitle]=\"storedQueriesPicker.title\"\n [codesystem]=\"storedQueriesPicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n\n\n <div class=\"checkboxCountTitle\">\n <eo-form-input *ngIf=\"this.widgetConfig?.storedQuery\" class=\"label checkbox\"\n [label]=\"'eo.workspace.widget.form.label.countType' | translate\" [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"countTile\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n </div>\n\n <div class=\"listOptions\" *ngIf=\"this.widgetConfig?.storedQuery && !setupForm.value.countTile\">\n\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.workspace.widget.form.label.size' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"size\"></eo-number>\n </eo-form-input>\n\n <eo-form-input [skipToggle]=\"true\" *ngIf=\"sortFiledPicker?.codesystem?.entries\"\n [label]=\"'eo.workspace.widget.form.label.sortField'|translate\">\n <eo-codesystem formControlName=\"sortField\" [pickerTitle]=\"sortFiledPicker.title\"\n [codesystem]=\"sortFiledPicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.sortRevert'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"sortRevert\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n </div>\n </form>\n\n</div>\n\n<div class=\"preview\" *ngIf=\"this.widgetConfig?.storedQuery; else tplEmpty\">\n <eo-hitlist-widget [widgetConfig]=\"widgetConfig\"></eo-hitlist-widget>\n</div>\n\n<ng-template #tplEmpty>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_search.svg', text: 'eo.workspace.widget.stored.queries.list.empty'}\"></eo-error-message>\n </div>\n</ng-template>", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .checkboxCountTitle{padding-bottom:30px;padding-top:30px}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-hitlist-widget{border:1px solid var(--panel-divider-color)}\n"] }]
130
+ }], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.StoredQueriesService }, { type: i2.TranslateService }, { type: i2.UserService }]; }, propDecorators: { widgetConfigChange: [{
131
+ type: Output
132
+ }], widgetConfig: [{
133
+ type: Input
134
+ }] } });
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0bGlzdC1zZXR1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9kYXNoYm9hcmQvd2lkZ2V0cy9oaXRsaXN0LXdpZGdldC9oaXRsaXN0LXNldHVwL2hpdGxpc3Qtc2V0dXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaGl0bGlzdC13aWRnZXQvaGl0bGlzdC1zZXR1cC9oaXRsaXN0LXNldHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdFLE9BQU8sRUFBdUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRSxPQUFPLEVBQW1FLEtBQUssRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUNyRyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBUW5CLElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXFCO0lBK0JoQyxJQUFhLFlBQVksQ0FBQyxFQUFZO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQ1UsRUFBc0IsRUFDdEIsb0JBQTBDLEVBQzFDLFNBQTJCLEVBQzNCLFdBQXdCO1FBSHhCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ3RCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsY0FB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Q0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7aUJBQzVFLENBQUMsQ0FBQztZQUNMLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNUO0lBQ0gsQ0FBQzs7a0hBckhVLHFCQUFxQjtzR0FBckIscUJBQXFCLHlKQ2RsQyxzbEZBeURjO0FEM0NELHFCQUFxQjtJQU5qQyxZQUFZLEVBQUU7R0FNRixxQkFBcUIsQ0FzSGpDO1NBdEhZLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjtxTUFNbEIsa0JBQWtCO3NCQUEzQixNQUFNO2dCQTZCTSxZQUFZO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SVdpZGdldENvbXBvbmVudH0gZnJvbSAnQHl1dXZpcy93aWRnZXQtZ3JpZCc7XG5pbXBvcnQge1VudHlwZWRGb3JtR3JvdXAsIFVudHlwZWRGb3JtQnVpbGRlciwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtJSGl0bGlzdH0gZnJvbSAnLi4vSUhpdGxpc3QnO1xuaW1wb3J0IHtTdG9yZWRRdWVyaWVzU2VydmljZSwgU3RvcmVkUXVlcnksIFRyYW5zbGF0ZVNlcnZpY2UsIFVzZXJTZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7c2tpcH0gZnJvbSAncnhqcyc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8taGl0bGlzdC1zZXR1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9oaXRsaXN0LXNldHVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGl0bGlzdC1zZXR1cC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEhpdGxpc3RTZXR1cENvbXBvbmVudCBpbXBsZW1lbnRzIElXaWRnZXRDb21wb25lbnQsIE9uSW5pdCB7XG4gIHByaXZhdGUgX3dpZGdldENvbmZpZzogSUhpdGxpc3Q7XG4gIEBPdXRwdXQoKSB3aWRnZXRDb25maWdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElIaXRsaXN0PigpO1xuICBzdG9yZWRRdWVyaWVzOiBTdG9yZWRRdWVyeVtdO1xuXG4gIHNldHVwRm9ybTogVW50eXBlZEZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIHRpdGxlOiBbJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCg1MCldXSxcbiAgICBzdG9yZWRRdWVyeTogW251bGxdLFxuICAgIHNpemU6IFtdLFxuICAgIGNvdW50VGlsZTogW2ZhbHNlXSxcbiAgICBzb3J0RmllbGQ6IFtdLFxuICAgIHNvcnRSZXZlcnQ6IFtdLFxuICB9KTtcblxuICBzdG9yZWRRdWVyaWVzUGlja2VyID0ge1xuICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zZWFyY2gudGl0bGUuc3RvcmVkcXVlcmllcycpLFxuICAgIGNvZGVzeXN0ZW06IG51bGwsXG4gICAgdmFsdWU6IG51bGwsXG4gICAgcGFyYW1ldGVyOiBudWxsLFxuICAgIHR5cGVzOiBudWxsXG4gIH07XG5cbiAgc29ydEZpbGVkUGlja2VyID0ge1xuICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0LmZvcm0uc29ydEZpZWxkJyksXG4gICAgY29kZXN5c3RlbTogbnVsbCxcbiAgICB2YWx1ZTogbnVsbCxcbiAgICBwYXJhbWV0ZXI6IG51bGwsXG4gICAgdHlwZXM6IG51bGxcbiAgfTtcbiAgc2VsZWN0ZWRTYXZlZFNlYXJjaE5hbWUgPSAnJztcblxuICBASW5wdXQoKSBzZXQgd2lkZ2V0Q29uZmlnKHdjOiBJSGl0bGlzdCkge1xuICAgIHRoaXMuX3dpZGdldENvbmZpZyA9IHdjO1xuICB9XG5cbiAgZ2V0IHdpZGdldENvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0Q29uZmlnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgc3RvcmVkUXVlcmllc1NlcnZpY2U6IFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2V0dXBGb3JtLnZhbHVlQ2hhbmdlcy5waXBlKHNraXAoMSksIHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgIHRoaXMuc2V0V2lkZ2V0Q29uZmlnKCk7XG4gICAgfSk7XG4gICAgdGhpcy5nZXRTdG9yZWRRdWVyeXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0V2lkZ2V0Q29uZmlnKCkge1xuICAgIGlmICh0aGlzLnNldHVwRm9ybS52YWxpZCkge1xuICAgICAgdGhpcy53aWRnZXRDb25maWcgPSB7XG4gICAgICAgIHN0b3JlZFF1ZXJ5OiB0aGlzLnN0b3JlZFF1ZXJpZXMuZmluZCgoc3EpID0+IHNxLm5hbWUgPT09IHRoaXMuc2V0dXBGb3JtLmdldCgnc3RvcmVkUXVlcnknKS52YWx1ZSksXG4gICAgICAgIGZvcm1WYWx1ZTogdGhpcy5zZXR1cEZvcm0udmFsdWUsXG4gICAgICB9O1xuICAgICAgaWYgKHRoaXMuc2V0dXBGb3JtLmdldCgnc3RvcmVkUXVlcnknKS52YWx1ZSAhPT0gdGhpcy5zZWxlY3RlZFNhdmVkU2VhcmNoTmFtZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkU2F2ZWRTZWFyY2hOYW1lID0gdGhpcy5zZXR1cEZvcm0uZ2V0KCdzdG9yZWRRdWVyeScpLnZhbHVlO1xuICAgICAgICBpZiAodGhpcy53aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5KSB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNvcnRGaWxlZFBpY2tlci5jb2Rlc3lzdGVtID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuZ2V0U29ydEZpZWxkcyh0aGlzLndpZGdldENvbmZpZz8uc3RvcmVkUXVlcnkudHlwZXNbMF0ucW5hbWUpO1xuICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMud2lkZ2V0Q29uZmlnQ2hhbmdlLmVtaXQodGhpcy5fd2lkZ2V0Q29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBnZXRTdG9yZWRRdWVyeXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVkUXVlcmllc1NlcnZpY2VcbiAgICAgIC5zdG9yZWRRdWVyaWVzJC5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgICkuc3Vic2NyaWJlKHF1ZXJpZXNTdWJzY3JpcHRpb24gPT4ge1xuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXMgPSBxdWVyaWVzU3Vic2NyaXB0aW9uLnF1ZXJpZXM7XG4gICAgICAgIHRoaXMuc3RvcmVkUXVlcmllc1BpY2tlci5jb2Rlc3lzdGVtID0ge1xuICAgICAgICAgIGVudHJpZXM6IHRoaXMuc3RvcmVkUXVlcmllcy5tYXAoc3RvcmVkUXVlcnkgPT4gKHtcbiAgICAgICAgICAgIGlkOiBzdG9yZWRRdWVyeS5pZCxcbiAgICAgICAgICAgIGxhYmVsOiBzdG9yZWRRdWVyeS5uYW1lLFxuICAgICAgICAgICAgZGVmYXVsdHJlcHJlc2VudGF0aW9uOiBzdG9yZWRRdWVyeS5uYW1lLFxuICAgICAgICAgICAgZGF0YTogc3RvcmVkUXVlcnkubmFtZVxuICAgICAgICAgIH0pKS5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ2xhYmVsJykpLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gIH1cblxuICBnZXRTb3J0RmllbGRzKHR5cGUpIHtcbiAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5nZXRGaWVsZERlZmluaXRpb24odHlwZSkucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKGRlZmluaXRpb24gPT4ge1xuICAgICAgdGhpcy5zb3J0RmlsZWRQaWNrZXIuY29kZXN5c3RlbSA9IHtcbiAgICAgICAgZW50cmllczogZGVmaW5pdGlvbi5lbGVtZW50cy5tYXAoZmllbGQgPT4gKHtcbiAgICAgICAgICBpZDogZmllbGQubmFtZSxcbiAgICAgICAgICBkZWZhdWx0cmVwcmVzZW50YXRpb246IGZpZWxkLmJhc2VwYXJhbSA/IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmdsb2JhbC5iYXNlcGFyYW0uJyArIGZpZWxkLm5hbWUpIDogZmllbGQubGFiZWwsXG4gICAgICAgICAgZGF0YTogZmllbGQubmFtZVxuICAgICAgICB9KSkuc29ydChVdGlscy5zb3J0VmFsdWVzKCdkZWZhdWx0cmVwcmVzZW50YXRpb24nKSksXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgICB0aGlzLnNldHVwRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgIHRpdGxlOiB0aGlzLl93aWRnZXRDb25maWcgPyB0aGlzLl93aWRnZXRDb25maWcuZm9ybVZhbHVlLnRpdGxlIDogJycsXG4gICAgICBzdG9yZWRRdWVyeTogdGhpcy5fd2lkZ2V0Q29uZmlnID8gdGhpcy5fd2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeT8ubmFtZSA6ICcnLFxuICAgICAgc2l6ZTogdGhpcy5fd2lkZ2V0Q29uZmlnID8gdGhpcy5fd2lkZ2V0Q29uZmlnLmZvcm1WYWx1ZS5zaXplIDogJzUnLFxuICAgICAgY291bnRUaWxlOiB0aGlzLl93aWRnZXRDb25maWcgPyB0aGlzLl93aWRnZXRDb25maWcuZm9ybVZhbHVlLmNvdW50VGlsZSA6ICcnLFxuICAgICAgc29ydFJldmVydDogdGhpcy5fd2lkZ2V0Q29uZmlnID8gdGhpcy5fd2lkZ2V0Q29uZmlnLmZvcm1WYWx1ZS5zb3J0UmV2ZXJ0IDogJycsXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy53aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5KSB7XG4gICAgICB0aGlzLmdldFNvcnRGaWVsZHModGhpcy53aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5LnR5cGVzWzBdLnFuYW1lKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnNldHVwRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBzb3J0RmllbGQ6IHRoaXMuX3dpZGdldENvbmZpZyA/IHRoaXMuX3dpZGdldENvbmZpZy5mb3JtVmFsdWUuc29ydEZpZWxkIDogJycsXG4gICAgICAgIH0pO1xuICAgICAgfSwgMTAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZXR1cFwiPlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cInNldHVwRm9ybVwiPlxuICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwidGl0bGVcIiBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW2xhYmVsXT1cIidlby53b3Jrc3BhY2Uud2lkZ2V0LnNldHVwLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbc2tpcFRvZ2dsZV09XCJ0cnVlXCI+XG4gICAgICA8ZW8tc3RyaW5nIGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCI+PC9lby1zdHJpbmc+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuXG4gICAgPGRpdiBjbGFzcz1cImVyci1tc2dcIlxuICAgICAgKm5nSWY9XCJzZXR1cEZvcm0uZ2V0KCd0aXRsZScpLmludmFsaWQgJiYgKHNldHVwRm9ybS5nZXQoJ3RpdGxlJykuZGlydHkgfHwgc2V0dXBGb3JtLmdldCgndGl0bGUnKS50b3VjaGVkKVwiPlxuICAgICAgPGRpdiAqbmdJZj1cInNldHVwRm9ybS5nZXQoJ3RpdGxlJykuZXJyb3JzXCIgW3RyYW5zbGF0ZVBhcmFtc109XCJ7bWF4bGVuZ3RoOiA1MH1cIiB0cmFuc2xhdGU+XG4gICAgICAgIGVvLmZvcm0ucHJvcGVydHkubWF4bGVuZ3RoPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZW8tZm9ybS1pbnB1dCAqbmdJZj1cInN0b3JlZFF1ZXJpZXNQaWNrZXI/LmNvZGVzeXN0ZW0/LmVudHJpZXNcIiBbc2tpcFRvZ2dsZV09XCJ0cnVlXCJcbiAgICAgIFtsYWJlbF09XCInZW8uc2VhcmNoLnRpdGxlLnN0b3JlZHF1ZXJpZXMnIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8ZW8tY29kZXN5c3RlbSBmb3JtQ29udHJvbE5hbWU9XCJzdG9yZWRRdWVyeVwiIFtwaWNrZXJUaXRsZV09XCJzdG9yZWRRdWVyaWVzUGlja2VyLnRpdGxlXCJcbiAgICAgICAgW2NvZGVzeXN0ZW1dPVwic3RvcmVkUXVlcmllc1BpY2tlci5jb2Rlc3lzdGVtXCI+PC9lby1jb2Rlc3lzdGVtPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cblxuXG4gICAgPGRpdiBjbGFzcz1cImNoZWNrYm94Q291bnRUaXRsZVwiPlxuICAgICAgPGVvLWZvcm0taW5wdXQgKm5nSWY9XCJ0aGlzLndpZGdldENvbmZpZz8uc3RvcmVkUXVlcnlcIiBjbGFzcz1cImxhYmVsIGNoZWNrYm94XCJcbiAgICAgICAgW2xhYmVsXT1cIidlby53b3Jrc3BhY2Uud2lkZ2V0LmZvcm0ubGFiZWwuY291bnRUeXBlJyB8IHRyYW5zbGF0ZVwiIFtza2lwVG9nZ2xlXT1cInRydWVcIj5cbiAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImNvdW50VGlsZVwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibGlzdE9wdGlvbnNcIiAqbmdJZj1cInRoaXMud2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeSAmJiAhc2V0dXBGb3JtLnZhbHVlLmNvdW50VGlsZVwiPlxuXG4gICAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW2xhYmVsXT1cIidlby53b3Jrc3BhY2Uud2lkZ2V0LmZvcm0ubGFiZWwuc2l6ZScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgPGVvLW51bWJlciBbc2NhbGVdPVwiMFwiIGZvcm1Db250cm9sTmFtZT1cInNpemVcIj48L2VvLW51bWJlcj5cbiAgICAgIDwvZW8tZm9ybS1pbnB1dD5cblxuICAgICAgPGVvLWZvcm0taW5wdXQgW3NraXBUb2dnbGVdPVwidHJ1ZVwiICpuZ0lmPVwic29ydEZpbGVkUGlja2VyPy5jb2Rlc3lzdGVtPy5lbnRyaWVzXCJcbiAgICAgICAgW2xhYmVsXT1cIidlby53b3Jrc3BhY2Uud2lkZ2V0LmZvcm0ubGFiZWwuc29ydEZpZWxkJ3x0cmFuc2xhdGVcIj5cbiAgICAgICAgPGVvLWNvZGVzeXN0ZW0gZm9ybUNvbnRyb2xOYW1lPVwic29ydEZpZWxkXCIgW3BpY2tlclRpdGxlXT1cInNvcnRGaWxlZFBpY2tlci50aXRsZVwiXG4gICAgICAgICAgW2NvZGVzeXN0ZW1dPVwic29ydEZpbGVkUGlja2VyLmNvZGVzeXN0ZW1cIj48L2VvLWNvZGVzeXN0ZW0+XG4gICAgICA8L2VvLWZvcm0taW5wdXQ+XG5cbiAgICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwibGFiZWwgY2hlY2tib3hcIiBbbGFiZWxdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuZm9ybS5sYWJlbC5zb3J0UmV2ZXJ0J3x0cmFuc2xhdGVcIlxuICAgICAgICBbc2tpcFRvZ2dsZV09XCJ0cnVlXCI+XG4gICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJzb3J0UmV2ZXJ0XCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuXG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInByZXZpZXdcIiAqbmdJZj1cInRoaXMud2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeTsgZWxzZSB0cGxFbXB0eVwiPlxuICA8ZW8taGl0bGlzdC13aWRnZXQgW3dpZGdldENvbmZpZ109XCJ3aWRnZXRDb25maWdcIj48L2VvLWhpdGxpc3Qtd2lkZ2V0PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdHBsRW1wdHk+XG4gIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgIDxlby1lcnJvci1tZXNzYWdlXG4gICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX3NlYXJjaC5zdmcnLCB0ZXh0OiAnZW8ud29ya3NwYWNlLndpZGdldC5zdG9yZWQucXVlcmllcy5saXN0LmVtcHR5J31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -0,0 +1,125 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, Input } from '@angular/core';
3
+ import { Utils } from '@eo-sdk/core';
4
+ import { map } from 'rxjs';
5
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@eo-sdk/core";
8
+ import * as i2 from "../../../../eo-framework-core/search/app-search.service";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "../../../../eo-framework/ui/eo-icon/eo-icon.component";
11
+ import * as i5 from "../../../../eo-framework/ui/loading-spinner/loading-spinner.component";
12
+ import * as i6 from "../../../../eo-framework/ui/error-message/error-message.component";
13
+ import * as i7 from "@ngx-translate/core";
14
+ import * as i8 from "../../../../eo-framework-core/pipes/locale-date.pipe";
15
+ let HitlistWidgetComponent = class HitlistWidgetComponent {
16
+ constructor(searchService, appSearchService, systemService, storedQueriesService) {
17
+ this.searchService = searchService;
18
+ this.appSearchService = appSearchService;
19
+ this.systemService = systemService;
20
+ this.storedQueriesService = storedQueriesService;
21
+ this.getStoredQuerys();
22
+ }
23
+ set widgetConfig(c) {
24
+ this._widgetConfig = c;
25
+ if (this._widgetConfig?.storedQuery) {
26
+ setTimeout(() => {
27
+ this._widgetConfig.storedQuery = this.storedQueries.find((sq) => sq.name === this._widgetConfig?.storedQuery?.name);
28
+ this._query = this.searchService.buildQuery(this._widgetConfig?.storedQuery);
29
+ this.executeQuery();
30
+ }, 500);
31
+ }
32
+ }
33
+ get widgetConfig() {
34
+ return this._widgetConfig;
35
+ }
36
+ getStoredQuerys() {
37
+ return this.storedQueriesService
38
+ .storedQueries$.pipe(untilDestroyed(this)).subscribe(queriesSubscription => {
39
+ this.storedQueries = queriesSubscription.queries;
40
+ });
41
+ }
42
+ executeQuery() {
43
+ this.refreshingRequest = true;
44
+ if (this._widgetConfig?.formValue.countTile) {
45
+ let count = new Map();
46
+ this.appSearchService.setQuery(this._query);
47
+ this.appSearchService.aggregate().valueOf();
48
+ this.searchService.getSearchState({ aggs: { type: {} }, ...this._query.getQueryJson() })
49
+ .pipe(map(state => {
50
+ return count = state.aggregations.type;
51
+ }))
52
+ .subscribe(() => {
53
+ this.refreshingRequest = false;
54
+ this.countTileResult = { count: Array.from(count.values()).reduce((acc, value) => acc + value, 0) };
55
+ });
56
+ }
57
+ else {
58
+ const queryName = this._query.name;
59
+ delete this._query.name;
60
+ this._query.fields = ['title', 'description', 'type', 'id', 'created'];
61
+ if (this._widgetConfig?.formValue.sortField) {
62
+ if (this._widgetConfig?.formValue.sortRevert) {
63
+ this._query.addSortOption(this._widgetConfig?.formValue.sortField, 'desc');
64
+ }
65
+ else {
66
+ this._query.addSortOption(this._widgetConfig?.formValue.sortField, 'asc');
67
+ }
68
+ }
69
+ this.appSearchService.setQuery(this._query);
70
+ this.appSearchService.aggregate();
71
+ this.searchService
72
+ .executeQuery(this._query.getQueryJson(), false, this._widgetConfig?.formValue.size)
73
+ .pipe(map(result => {
74
+ return result.hits.hits.map(hit => {
75
+ return {
76
+ 'title': hit._source.title,
77
+ 'description': hit._source.description,
78
+ 'type': this.systemService.getObjectType(hit._source.type),
79
+ 'id': hit._source.id,
80
+ 'date': hit._source.created
81
+ };
82
+ });
83
+ }))
84
+ .subscribe((hits) => {
85
+ this.refreshingRequest = false;
86
+ this.hitlistResult = hits;
87
+ this._query.name = queryName;
88
+ this._query.removeSortOption(this._widgetConfig?.formValue.sortField);
89
+ });
90
+ }
91
+ }
92
+ refresh() {
93
+ this.executeQuery();
94
+ }
95
+ clearQuery(clearAfterExecute) {
96
+ if (clearAfterExecute) {
97
+ this.appSearchService.clearQuery();
98
+ }
99
+ }
100
+ onItemClick(item) {
101
+ const url = window.location.href.split('/dashboard')[0] + '/object/' + item.id + '?type=' + item.type.name + '\n';
102
+ window.open(url, '_blank');
103
+ }
104
+ onEmitQueryClick() {
105
+ delete this._query.fields;
106
+ const uriParam = encodeURIComponent(Utils.formDataStringify(this._query.getQueryJson()));
107
+ const uriParamQuery = { queryParams: { 'query': uriParam } };
108
+ const queryParams = new URLSearchParams(uriParamQuery.queryParams).toString();
109
+ const url = window.location.href.split('/dashboard')[0] + '/result?' + queryParams;
110
+ window.open(url, '_blank');
111
+ }
112
+ };
113
+ HitlistWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: HitlistWidgetComponent, deps: [{ token: i1.SearchService }, { token: i2.AppSearchService }, { token: i1.SystemService }, { token: i1.StoredQueriesService }], target: i0.ɵɵFactoryTarget.Component });
114
+ HitlistWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: HitlistWidgetComponent, selector: "eo-hitlist-widget", inputs: { widgetConfig: "widgetConfig" }, ngImport: i0, template: "<header>\n <div [ngClass]=\"{'header-title': widgetConfig?.formValue?.title, 'header-content': !widgetConfig?.formValue?.title}\">\n <div class=\"title\" *ngIf=\"widgetConfig?.formValue.title\">\n {{widgetConfig?.formValue.title}}</div>\n <div [ngClass]=\"{'icons-title': widgetConfig?.formValue?.title, 'icons': !widgetConfig?.formValue?.title}\"\n *ngIf=\"this.widgetConfig?.storedQuery\">\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_open_tab.svg'\"\n (click)=\"onEmitQueryClick()\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.openinresultlist'| translate)\"></eo-icon>\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"refresh()\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.refresh'| translate)\"></eo-icon>\n </div>\n </div>\n</header>\n\n<main class=\"countTile\" *ngIf=\"widgetConfig?.formValue.countTile; else tplResultList\">\n <button class=\"count clr\">{{this.countTileResult?.count}}</button>\n</main>\n\n<main class=\"loader-overlay__mask\" *ngIf=\"refreshingRequest\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n</main>\n\n<ng-template #tplResultList>\n <main class=\"hitlist\" *ngIf=\"!refreshingRequest\">\n <div *ngIf=\"this.widgetConfig?.storedQuery; else tplEmpty\">\n <div class=\"item\" *ngFor=\"let i of hitlistResult\" (click)=\"onItemClick(i)\">\n <div class=\"created\">{{i.date | localeDate}}</div>\n <div class=\"title\">{{i.title}}</div>\n <div class=\"description\">{{i.description}}</div>\n <eo-icon [objectType]=\"i.type\"></eo-icon>\n </div>\n </div>\n <ng-template #tplEmpty>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_search.svg', text: 'eo.workspace.widget.stored.queries.list.empty'}\"></eo-error-message>\n </div>\n </ng-template>\n </main>\n</ng-template>", styles: [":host{height:100%;display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"header\" \"main\";background-color:var(--panel-background);color:var(--text-color-body)}:host header{height:40px;display:inline-grid;color:#fff}:host header .header-content{display:flex;justify-content:flex-end;align-items:center}:host header .header-title{background-color:var(--color-primary-2);display:flex;justify-content:space-between;align-items:center}:host header .title{text-align:center;flex-grow:1;justify-content:center}:host header .icons{justify-content:flex-end;display:flex;gap:3px;position:relative;align-items:center;right:13px}:host header .icons eo-icon.button.primary{color:var(--text-color-caption);cursor:pointer}:host header .icons eo-icon.button.primary:hover{background:rgba(0,0,0,.06)}:host header .icons-title{justify-content:flex-end;display:flex;gap:3px;position:relative;align-items:center;right:13px}:host header .icons-title eo-icon.button.primary{color:rgba(var(--color-white-rgb),.5)}:host header .icons-title eo-icon.button.primary:hover{cursor:pointer;color:var(--color-white)}:host main{grid-area:main}:host main.countTile{display:flex;flex-flow:column;align-items:center;justify-content:center}:host main.countTile button.count{margin-top:calc((.5em + var(--app-pane-padding) * 2) * -1);font-size:4em;border-radius:calc(var(--app-pane-padding) / 2);padding:var(--app-pane-padding);pointer-events:none}:host main.loader-overlay__mask{display:flex;width:100%;height:100%;flex-flow:column;align-items:center;justify-content:center;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .2s}:host main.hitlist{overflow-y:auto}:host main.hitlist .item{padding:calc(var(--app-pane-padding) / 2);display:grid;-moz-column-gap:var(--app-pane-padding);column-gap:var(--app-pane-padding);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto 1fr;grid-template-areas:\"icon date\" \"icon title\" \"icon description\";cursor:pointer}:host main.hitlist .item .title{grid-area:title;font-weight:700}:host main.hitlist .item .description{grid-area:description;color:var(--text-color-caption)}:host main.hitlist .item .created{grid-area:date;color:var(--text-color-caption)}:host main.hitlist .item eo-icon{grid-area:icon;align-self:center;width:24px;height:24px;display:block;opacity:.56}:host main.hitlist .item:hover{background-color:var(--item-focus-background-color)}:host main.hitlist .empty{display:flex}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i5.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i6.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i8.LocaleDatePipe, name: "localeDate" }] });
115
+ HitlistWidgetComponent = __decorate([
116
+ UntilDestroy()
117
+ ], HitlistWidgetComponent);
118
+ export { HitlistWidgetComponent };
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: HitlistWidgetComponent, decorators: [{
120
+ type: Component,
121
+ args: [{ selector: 'eo-hitlist-widget', template: "<header>\n <div [ngClass]=\"{'header-title': widgetConfig?.formValue?.title, 'header-content': !widgetConfig?.formValue?.title}\">\n <div class=\"title\" *ngIf=\"widgetConfig?.formValue.title\">\n {{widgetConfig?.formValue.title}}</div>\n <div [ngClass]=\"{'icons-title': widgetConfig?.formValue?.title, 'icons': !widgetConfig?.formValue?.title}\"\n *ngIf=\"this.widgetConfig?.storedQuery\">\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_open_tab.svg'\"\n (click)=\"onEmitQueryClick()\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.openinresultlist'| translate)\"></eo-icon>\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"refresh()\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.refresh'| translate)\"></eo-icon>\n </div>\n </div>\n</header>\n\n<main class=\"countTile\" *ngIf=\"widgetConfig?.formValue.countTile; else tplResultList\">\n <button class=\"count clr\">{{this.countTileResult?.count}}</button>\n</main>\n\n<main class=\"loader-overlay__mask\" *ngIf=\"refreshingRequest\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n</main>\n\n<ng-template #tplResultList>\n <main class=\"hitlist\" *ngIf=\"!refreshingRequest\">\n <div *ngIf=\"this.widgetConfig?.storedQuery; else tplEmpty\">\n <div class=\"item\" *ngFor=\"let i of hitlistResult\" (click)=\"onItemClick(i)\">\n <div class=\"created\">{{i.date | localeDate}}</div>\n <div class=\"title\">{{i.title}}</div>\n <div class=\"description\">{{i.description}}</div>\n <eo-icon [objectType]=\"i.type\"></eo-icon>\n </div>\n </div>\n <ng-template #tplEmpty>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_search.svg', text: 'eo.workspace.widget.stored.queries.list.empty'}\"></eo-error-message>\n </div>\n </ng-template>\n </main>\n</ng-template>", styles: [":host{height:100%;display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"header\" \"main\";background-color:var(--panel-background);color:var(--text-color-body)}:host header{height:40px;display:inline-grid;color:#fff}:host header .header-content{display:flex;justify-content:flex-end;align-items:center}:host header .header-title{background-color:var(--color-primary-2);display:flex;justify-content:space-between;align-items:center}:host header .title{text-align:center;flex-grow:1;justify-content:center}:host header .icons{justify-content:flex-end;display:flex;gap:3px;position:relative;align-items:center;right:13px}:host header .icons eo-icon.button.primary{color:var(--text-color-caption);cursor:pointer}:host header .icons eo-icon.button.primary:hover{background:rgba(0,0,0,.06)}:host header .icons-title{justify-content:flex-end;display:flex;gap:3px;position:relative;align-items:center;right:13px}:host header .icons-title eo-icon.button.primary{color:rgba(var(--color-white-rgb),.5)}:host header .icons-title eo-icon.button.primary:hover{cursor:pointer;color:var(--color-white)}:host main{grid-area:main}:host main.countTile{display:flex;flex-flow:column;align-items:center;justify-content:center}:host main.countTile button.count{margin-top:calc((.5em + var(--app-pane-padding) * 2) * -1);font-size:4em;border-radius:calc(var(--app-pane-padding) / 2);padding:var(--app-pane-padding);pointer-events:none}:host main.loader-overlay__mask{display:flex;width:100%;height:100%;flex-flow:column;align-items:center;justify-content:center;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .2s}:host main.hitlist{overflow-y:auto}:host main.hitlist .item{padding:calc(var(--app-pane-padding) / 2);display:grid;-moz-column-gap:var(--app-pane-padding);column-gap:var(--app-pane-padding);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto 1fr;grid-template-areas:\"icon date\" \"icon title\" \"icon description\";cursor:pointer}:host main.hitlist .item .title{grid-area:title;font-weight:700}:host main.hitlist .item .description{grid-area:description;color:var(--text-color-caption)}:host main.hitlist .item .created{grid-area:date;color:var(--text-color-caption)}:host main.hitlist .item eo-icon{grid-area:icon;align-self:center;width:24px;height:24px;display:block;opacity:.56}:host main.hitlist .item:hover{background-color:var(--item-focus-background-color)}:host main.hitlist .empty{display:flex}\n"] }]
122
+ }], ctorParameters: function () { return [{ type: i1.SearchService }, { type: i2.AppSearchService }, { type: i1.SystemService }, { type: i1.StoredQueriesService }]; }, propDecorators: { widgetConfig: [{
123
+ type: Input
124
+ }] } });
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaGl0bGlzdC13aWRnZXQvaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaGl0bGlzdC13aWRnZXQvaGl0bGlzdC13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE9BQU8sRUFBK0UsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRWpILE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFekIsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7OztBQVE1RCxJQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUFzQjtJQVNqQyxZQUFvQixhQUE0QixFQUN0QyxnQkFBa0MsRUFDbEMsYUFBNEIsRUFDNUIsb0JBQTBDO1FBSGhDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3RDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUVsRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELElBQWEsWUFBWSxDQUFDLENBQVc7UUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRTtZQUNuQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNk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QU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7O21IQWpIVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixtR0NmbkMsbWtFQXdDYztBRHpCRCxzQkFBc0I7SUFObEMsWUFBWSxFQUFFO0dBTUYsc0JBQXNCLENBa0hsQztTQWxIWSxzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxtQkFBbUI7a01BcUJoQixZQUFZO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SVdpZGdldENvbXBvbmVudH0gZnJvbSAnQHl1dXZpcy93aWRnZXQtZ3JpZCc7XG5pbXBvcnQge0hpdGxpc3RDb3VudFRpbGVSZXN1bHQsIElIaXRsaXN0fSBmcm9tICcuL0lIaXRsaXN0JztcbmltcG9ydCB7U2VhcmNoUXVlcnksIFNlYXJjaFNlcnZpY2UsIFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLCBTdG9yZWRRdWVyeSwgU3lzdGVtU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0FwcFNlYXJjaFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3NlYXJjaC9hcHAtc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uRXh0cmFzfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWhpdGxpc3Qtd2lkZ2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hpdGxpc3Qtd2lkZ2V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBIaXRsaXN0V2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgSVdpZGdldENvbXBvbmVudCB7XG5cbiAgaGl0bGlzdFJlc3VsdDogW107XG4gIHByaXZhdGUgX3F1ZXJ5OiBTZWFyY2hRdWVyeTtcbiAgY291bnRUaWxlUmVzdWx0OiBIaXRsaXN0Q291bnRUaWxlUmVzdWx0O1xuICByZWZyZXNoaW5nUmVxdWVzdDogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfd2lkZ2V0Q29uZmlnOiBJSGl0bGlzdDtcbiAgc3RvcmVkUXVlcmllczogU3RvcmVkUXVlcnlbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBTZWFyY2hTZXJ2aWNlOiBBcHBTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtU2VydmljZTogU3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlZFF1ZXJpZXNTZXJ2aWNlOiBTdG9yZWRRdWVyaWVzU2VydmljZVxuICApIHtcbiAgICB0aGlzLmdldFN0b3JlZFF1ZXJ5cygpO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IHdpZGdldENvbmZpZyhjOiBJSGl0bGlzdCkge1xuICAgIHRoaXMuX3dpZGdldENvbmZpZyA9IGM7XG4gICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uc3RvcmVkUXVlcnkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLl93aWRnZXRDb25maWcuc3RvcmVkUXVlcnkgPSB0aGlzLnN0b3JlZFF1ZXJpZXMuZmluZCgoc3EpID0+IHNxLm5hbWUgPT09IHRoaXMuX3dpZGdldENvbmZpZz8uc3RvcmVkUXVlcnk/Lm5hbWUpO1xuICAgICAgICB0aGlzLl9xdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5idWlsZFF1ZXJ5KHRoaXMuX3dpZGdldENvbmZpZz8uc3RvcmVkUXVlcnkpO1xuICAgICAgICB0aGlzLmV4ZWN1dGVRdWVyeSgpO1xuICAgICAgfSwgNTAwKTtcbiAgICB9XG4gIH1cblxuICBnZXQgd2lkZ2V0Q29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl93aWRnZXRDb25maWc7XG4gIH1cblxuICBnZXRTdG9yZWRRdWVyeXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVkUXVlcmllc1NlcnZpY2VcbiAgICAgIC5zdG9yZWRRdWVyaWVzJC5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgICkuc3Vic2NyaWJlKHF1ZXJpZXNTdWJzY3JpcHRpb24gPT4ge1xuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXMgPSBxdWVyaWVzU3Vic2NyaXB0aW9uLnF1ZXJpZXM7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZXhlY3V0ZVF1ZXJ5KCkge1xuICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSB0cnVlO1xuICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5jb3VudFRpbGUpIHtcbiAgICAgIGxldCBjb3VudCA9IG5ldyBNYXAoKTtcbiAgICAgIHRoaXMuYXBwU2VhcmNoU2VydmljZS5zZXRRdWVyeSh0aGlzLl9xdWVyeSk7XG4gICAgICB0aGlzLmFwcFNlYXJjaFNlcnZpY2UuYWdncmVnYXRlKCkudmFsdWVPZigpO1xuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmdldFNlYXJjaFN0YXRlKHthZ2dzOiB7dHlwZToge319LCAuLi50aGlzLl9xdWVyeS5nZXRRdWVyeUpzb24oKX0pXG4gICAgICAgIC5waXBlKG1hcChzdGF0ZSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGNvdW50ID0gc3RhdGUuYWdncmVnYXRpb25zLnR5cGU7XG4gICAgICAgIH0pKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5jb3VudFRpbGVSZXN1bHQgPSB7Y291bnQ6IEFycmF5LmZyb20oY291bnQudmFsdWVzKCkpLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gYWNjICsgdmFsdWUsIDApfTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHF1ZXJ5TmFtZSA9IHRoaXMuX3F1ZXJ5Lm5hbWU7XG4gICAgICBkZWxldGUgdGhpcy5fcXVlcnkubmFtZTtcbiAgICAgIHRoaXMuX3F1ZXJ5LmZpZWxkcyA9IFsndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAndHlwZScsICdpZCcsICdjcmVhdGVkJ107XG4gICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc29ydEZpZWxkKSB7XG4gICAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zb3J0UmV2ZXJ0KSB7XG4gICAgICAgICAgdGhpcy5fcXVlcnkuYWRkU29ydE9wdGlvbih0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zb3J0RmllbGQsICdkZXNjJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fcXVlcnkuYWRkU29ydE9wdGlvbih0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zb3J0RmllbGQsICdhc2MnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5hcHBTZWFyY2hTZXJ2aWNlLnNldFF1ZXJ5KHRoaXMuX3F1ZXJ5KTtcbiAgICAgIHRoaXMuYXBwU2VhcmNoU2VydmljZS5hZ2dyZWdhdGUoKTtcbiAgICAgIHRoaXMuc2VhcmNoU2VydmljZVxuICAgICAgICAuZXhlY3V0ZVF1ZXJ5KHRoaXMuX3F1ZXJ5LmdldFF1ZXJ5SnNvbigpLCBmYWxzZSwgdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc2l6ZSlcbiAgICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdC5oaXRzLmhpdHMubWFwKGhpdCA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAndGl0bGUnOiBoaXQuX3NvdXJjZS50aXRsZSxcbiAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogaGl0Ll9zb3VyY2UuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICd0eXBlJzogdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9iamVjdFR5cGUoaGl0Ll9zb3VyY2UudHlwZSksXG4gICAgICAgICAgICAgICdpZCc6IGhpdC5fc291cmNlLmlkLFxuICAgICAgICAgICAgICAnZGF0ZSc6IGhpdC5fc291cmNlLmNyZWF0ZWRcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pKVxuICAgICAgICAuc3Vic2NyaWJlKChoaXRzKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaGl0bGlzdFJlc3VsdCA9IGhpdHM7XG4gICAgICAgICAgdGhpcy5fcXVlcnkubmFtZSA9IHF1ZXJ5TmFtZTtcbiAgICAgICAgICB0aGlzLl9xdWVyeS5yZW1vdmVTb3J0T3B0aW9uKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnNvcnRGaWVsZCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLmV4ZWN1dGVRdWVyeSgpO1xuICB9XG5cbiAgY2xlYXJRdWVyeShjbGVhckFmdGVyRXhlY3V0ZSkge1xuICAgIGlmIChjbGVhckFmdGVyRXhlY3V0ZSkge1xuICAgICAgdGhpcy5hcHBTZWFyY2hTZXJ2aWNlLmNsZWFyUXVlcnkoKTtcbiAgICB9XG4gIH1cblxuICBvbkl0ZW1DbGljayhpdGVtKSB7XG4gICAgY29uc3QgdXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJy9kYXNoYm9hcmQnKVswXSArICcvb2JqZWN0LycgKyBpdGVtLmlkICsgJz90eXBlPScgKyBpdGVtLnR5cGUubmFtZSArICdcXG4nO1xuICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpO1xuICB9XG5cbiAgb25FbWl0UXVlcnlDbGljaygpIHtcbiAgICBkZWxldGUgdGhpcy5fcXVlcnkuZmllbGRzO1xuICAgIGNvbnN0IHVyaVBhcmFtID0gZW5jb2RlVVJJQ29tcG9uZW50KFV0aWxzLmZvcm1EYXRhU3RyaW5naWZ5KHRoaXMuX3F1ZXJ5LmdldFF1ZXJ5SnNvbigpKSk7XG4gICAgY29uc3QgdXJpUGFyYW1RdWVyeTogTmF2aWdhdGlvbkV4dHJhcyA9IHtxdWVyeVBhcmFtczogeydxdWVyeSc6IHVyaVBhcmFtfX07XG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHVyaVBhcmFtUXVlcnkucXVlcnlQYXJhbXMpLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgdXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJy9kYXNoYm9hcmQnKVswXSArICcvcmVzdWx0PycgKyBxdWVyeVBhcmFtcztcbiAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcbiAgfVxufVxuIiwiPGhlYWRlcj5cbiAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaGVhZGVyLXRpdGxlJzogd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnRpdGxlLCAnaGVhZGVyLWNvbnRlbnQnOiAhd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnRpdGxlfVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiAqbmdJZj1cIndpZGdldENvbmZpZz8uZm9ybVZhbHVlLnRpdGxlXCI+XG4gICAgICAgICAgICB7e3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnRpdGxlfX08L2Rpdj5cbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J2ljb25zLXRpdGxlJzogd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnRpdGxlLCAnaWNvbnMnOiAhd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnRpdGxlfVwiXG4gICAgICAgICAgICAqbmdJZj1cInRoaXMud2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeVwiPlxuICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX29wZW5fdGFiLnN2ZydcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkVtaXRRdWVyeUNsaWNrKClcIlxuICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby53aWRnZXQuaGl0bGlzdC50b29sdGlwLm9wZW5pbnJlc3VsdGxpc3QnfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiIChjbGljayk9XCJyZWZyZXNoKClcIlxuICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby53aWRnZXQuaGl0bGlzdC50b29sdGlwLnJlZnJlc2gnfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvaGVhZGVyPlxuXG48bWFpbiBjbGFzcz1cImNvdW50VGlsZVwiICpuZ0lmPVwid2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuY291bnRUaWxlOyBlbHNlIHRwbFJlc3VsdExpc3RcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiY291bnQgY2xyXCI+e3t0aGlzLmNvdW50VGlsZVJlc3VsdD8uY291bnR9fTwvYnV0dG9uPlxuPC9tYWluPlxuXG48bWFpbiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCIgKm5nSWY9XCJyZWZyZXNoaW5nUmVxdWVzdFwiPlxuICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgW3NpemVdPVwiJ2xhcmdlJ1wiPjwvZW8tbG9hZGluZy1zcGlubmVyPlxuPC9tYWluPlxuXG48bmctdGVtcGxhdGUgI3RwbFJlc3VsdExpc3Q+XG4gICAgPG1haW4gY2xhc3M9XCJoaXRsaXN0XCIgKm5nSWY9XCIhcmVmcmVzaGluZ1JlcXVlc3RcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInRoaXMud2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeTsgZWxzZSB0cGxFbXB0eVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiAqbmdGb3I9XCJsZXQgaSBvZiBoaXRsaXN0UmVzdWx0XCIgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGkpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNyZWF0ZWRcIj57e2kuZGF0ZSB8IGxvY2FsZURhdGV9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7aS50aXRsZX19PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+e3tpLmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZW8taWNvbiBbb2JqZWN0VHlwZV09XCJpLnR5cGVcIj48L2VvLWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdHBsRW1wdHk+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX3NlYXJjaC5zdmcnLCB0ZXh0OiAnZW8ud29ya3NwYWNlLndpZGdldC5zdG9yZWQucXVlcmllcy5saXN0LmVtcHR5J31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L21haW4+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -33,6 +33,8 @@ import { InfoIntrayWidgetComponent } from './dashboard/widgets/info-intray-widge
33
33
  import { LastEditedAndCreatedComponent } from './dashboard/widgets/last-edited-widget/last-edited-and-created.component';
34
34
  import { SearchWidgetComponent } from './dashboard/widgets/search-widget/search-widget.component';
35
35
  import { YvcTabsModule } from '@yuuvis/components/tabs';
36
+ import { HitlistSetupComponent } from './dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component';
37
+ import { HitlistWidgetComponent } from './dashboard/widgets/hitlist-widget/hitlist-widget.component';
36
38
  import * as i0 from "@angular/core";
37
39
  export class EoClientModule {
38
40
  static forRoot() {
@@ -66,7 +68,9 @@ EoClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
66
68
  InfoIntrayWidgetComponent,
67
69
  SearchWidgetComponent,
68
70
  SafeUrlPipe,
69
- LastEditedAndCreatedComponent], imports: [CommonModule,
71
+ LastEditedAndCreatedComponent,
72
+ HitlistSetupComponent,
73
+ HitlistWidgetComponent], imports: [CommonModule,
70
74
  FormsModule,
71
75
  ReactiveFormsModule,
72
76
  ObjectStateModule,
@@ -136,7 +140,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
136
140
  InfoIntrayWidgetComponent,
137
141
  SearchWidgetComponent,
138
142
  SafeUrlPipe,
139
- LastEditedAndCreatedComponent
143
+ LastEditedAndCreatedComponent,
144
+ HitlistSetupComponent,
145
+ HitlistWidgetComponent
140
146
  ],
141
147
  exports: [RouterModule, EoFrameworkModule]
142
148
  }]
@@ -145,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
145
151
  }, {
146
152
  type: SkipSelf
147
153
  }] }]; } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW8tY2xpZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2VvLWNsaWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBc0IsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUVqRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDNUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8s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UCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsVUFBVTt3QkFDVixzQkFBc0I7d0JBQ3RCLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0IsbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIsd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLHFCQUFxQjt3QkFDckIsV0FBVzt3QkFDWCw2QkFBNkI7cUJBQzlCO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQztpQkFDM0M7OzBCQVNjLFFBQVE7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsLCBTa2lwU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7WXZjTWFzdGVyRGV0YWlsc01vZHVsZX0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL21hc3Rlci1kZXRhaWxzJztcbmltcG9ydCB7WXZjU3BsaXRWaWV3TW9kdWxlfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvc3BsaXQtdmlldyc7XG5cbmltcG9ydCB7RW9GcmFtZXdvcmtNb2R1bGV9IGZyb20gJy4uL2VvLWZyYW1ld29yay9lby1mcmFtZXdvcmsubW9kdWxlJztcbmltcG9ydCB7R3JpZE1vZHVsZX0gZnJvbSAnLi4vZW8tZnJhbWV3b3JrL2dyaWQvZ3JpZC5tb2R1bGUnO1xuaW1wb3J0IHtBYm91dFN0YXRlQ29tcG9uZW50fSBmcm9tICcuL2Fib3V0LXN0YXRlL2Fib3V0LXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge0Rhc2hib2FyZENvbXBvbmVudH0gZnJvbSAnLi9kYXNoYm9hcmQvZGFzaGJvYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge0VvQ2xpZW50Um91dGluZ01vZHVsZX0gZnJvbSAnLi9lby1jbGllbnQtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHtGYXZvcml0ZVN0YXRlQ29tcG9uZW50fSBmcm9tICcuL2Zhdm9yaXRlLXN0YXRlL2Zhdm9yaXRlLXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge0luYm94U3RhdGVNb2R1bGV9IGZyb20gJy4vaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUubW9kdWxlJztcbmltcG9ydCB7TG9naW5Db21wb25lbnR9IGZyb20gJy4vbG9naW4vbG9naW4uY29tcG9uZW50JztcbmltcG9ydCB7Tm90aWZpY2F0aW9uc1N0YXRlQ29tcG9uZW50fSBmcm9tICcuL25vdGlmaWNhdGlvbnMtc3RhdGUvbm90aWZpY2F0aW9ucy1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtPYmplY3RTdGF0ZU1vZHVsZX0gZnJvbSAnLi9vYmplY3Qtc3RhdGUvb2JqZWN0LXN0YXRlLm1vZHVsZSc7XG5pbXBvcnQge1ByZXBhcmVTdGF0ZU1vZHVsZX0gZnJvbSAnLi9wcmVwYXJlLXN0YXRlL3ByZXBhcmUtc3RhdGUubW9kdWxlJztcbmltcG9ydCB7UHJvY2Vzc1N0YXRlQ29tcG9uZW50fSBmcm9tICcuL3Byb2Nlc3Mtc3RhdGUvcHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtSZXN1bHRTdGF0ZUNvbXBvbmVudH0gZnJvbSAnLi9yZXN1bHQtc3RhdGUvcmVzdWx0LXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge1NldHRpbmdzQ29tcG9uZW50fSBmcm9tICcuL3NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQge1N0b3JlZFF1ZXJpZXNTdGF0ZUNvbXBvbmVudH0gZnJvbSAnLi9zdG9yZWQtcXVlcmllcy1zdGF0ZS9zdG9yZWQtcXVlcmllcy1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtWZXJzaW9uU3RhdGVDb21wb25lbnR9IGZyb20gJy4vdmVyc2lvbi1zdGF0ZS92ZXJzaW9uLXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge1JlY3ljbGViaW5TdGF0ZUNvbXBvbmVudH0gZnJvbSAnLi9yZWN5Y2xlYmluLXN0YXRlL3JlY3ljbGViaW4tc3RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7WXZjRHJvcGRvd25Nb2R1bGV9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQge1l1dldpZGdldEdyaWRNb2R1bGV9IGZyb20gJ0B5dXV2aXMvd2lkZ2V0LWdyaWQnO1xuaW1wb3J0IHtIdHRwQ2xpZW50TW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0lmcmFtZVNldHVwQ29tcG9uZW50fSBmcm9tICcuL2Rhc2hib2FyZC93aWRnZXRzL2lmcmFtZS13aWRnZXQvaWZyYW1lLXNldHVwL2lmcmFtZS1zZXR1cC5jb21wb25lbnQnO1xuaW1wb3J0IHtJbmZvSW5ib3hTZXR1cENvbXBvbmVudH0gZnJvbSAnLi9kYXNoYm9hcmQvd2lkZ2V0cy9pbmZvLWluYm94LXdpZGdldC9pbmZvLWluYm94LXNldHVwL2luZm8taW5ib3gtc2V0dXAuY29tcG9uZW50JztcbmltcG9ydCB7SW5mb0ludHJheVNldHVwQ29tcG9uZW50fSBmcm9tICcuL2Rhc2hib2FyZC93aWRnZXRzL2luZm8taW50cmF5LXdpZGdldC9pbmZvLWludHJheS1zZXR1cC9pbmZvLWludHJheS1zZXR1cC5jb21wb25lbnQnO1xuaW1wb3J0IHtJZnJhbWVXaWRnZXRDb21wb25lbnQsIFNhZmVVcmxQaXBlfSBmcm9tICcuL2Rhc2hib2FyZC93aWRnZXRzL2lmcmFtZS13aWRnZXQvaWZyYW1lLXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHtJbmZvSW5ib3hXaWRnZXRDb21wb25lbnR9IGZyb20gJy4vZGFzaGJvYXJkL3dpZGdldHMvaW5mby1pbmJveC13aWRnZXQvaW5mby1pbmJveC13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7SW5mb0ludHJheVdpZGdldENvbXBvbmVudH0gZnJvbSAnLi9kYXNoYm9hcmQvd2lkZ2V0cy9pbmZvLWludHJheS13aWRnZXQvaW5mby1pbnRyYXktd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQge0xhc3RFZGl0ZWRBbmRDcmVhdGVkQ29tcG9uZW50fSBmcm9tICcuL2Rhc2hib2FyZC93aWRnZXRzL2xhc3QtZWRpdGVkLXdpZGdldC9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWFyY2hXaWRnZXRDb21wb25lbnR9IGZyb20gJy4vZGFzaGJvYXJkL3dpZGdldHMvc2VhcmNoLXdpZGdldC9zZWFyY2gtd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQge1l2Y1RhYnNNb2R1bGV9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy90YWJzJztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBPYmplY3RTdGF0ZU1vZHVsZSxcbiAgICBJbmJveFN0YXRlTW9kdWxlLFxuICAgIFByZXBhcmVTdGF0ZU1vZHVsZSxcbiAgICBFb0NsaWVudFJvdXRpbmdNb2R1bGUsXG4gICAgRW9GcmFtZXdvcmtNb2R1bGUsXG4gICAgR3JpZE1vZHVsZSxcbiAgICBZdmNNYXN0ZXJEZXRhaWxzTW9kdWxlLFxuICAgIFl2Y1RhYnNNb2R1bGUsXG4gICAgWXZjU3BsaXRWaWV3TW9kdWxlLFxuICAgIFl2Y0Ryb3Bkb3duTW9kdWxlLFxuICAgIFl1dldpZGdldEdyaWRNb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBEYXNoYm9hcmRDb21wb25lbnQsXG4gICAgU2V0dGluZ3NDb21wb25lbnQsXG4gICAgTG9naW5Db21wb25lbnQsXG4gICAgUmVzdWx0U3RhdGVDb21wb25lbnQsXG4gICAgRmF2b3JpdGVTdGF0ZUNvbXBvbmVudCxcbiAgICBOb3RpZmljYXRpb25zU3RhdGVDb21wb25lbnQsXG4gICAgQWJvdXRTdGF0ZUNvbXBvbmVudCxcbiAgICBTdG9yZWRRdWVyaWVzU3RhdGVDb21wb25lbnQsXG4gICAgUHJvY2Vzc1N0YXRlQ29tcG9uZW50LFxuICAgIFZlcnNpb25TdGF0ZUNvbXBvbmVudCxcbiAgICBSZWN5Y2xlYmluU3RhdGVDb21wb25lbnQsXG4gICAgSWZyYW1lU2V0dXBDb21wb25lbnQsXG4gICAgSW5mb0luYm94U2V0dXBDb21wb25lbnQsXG4gICAgSW5mb0ludHJheVNldHVwQ29tcG9uZW50LFxuICAgIElmcmFtZVdpZGdldENvbXBvbmVudCxcbiAgICBJbmZvSW5ib3hXaWRnZXRDb21wb25lbnQsXG4gICAgSW5mb0ludHJheVdpZGdldENvbXBvbmVudCxcbiAgICBTZWFyY2hXaWRnZXRDb21wb25lbnQsXG4gICAgU2FmZVVybFBpcGUsXG4gICAgTGFzdEVkaXRlZEFuZENyZWF0ZWRDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZSwgRW9GcmFtZXdvcmtNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEVvQ2xpZW50TW9kdWxlIHtcblxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEVvQ2xpZW50TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBFb0NsaWVudE1vZHVsZVxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU6IEVvQ2xpZW50TW9kdWxlKSB7XG4gICAgaWYgKHBhcmVudE1vZHVsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnRW9DbGllbnRNb2R1bGUgaXMgYWxyZWFkeSBsb2FkZWQuIEltcG9ydCBpdCBpbiB0aGUgQXBwTW9kdWxlIG9ubHknKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW8tY2xpZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2VvLWNsaWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBc0IsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUVqRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDNUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8s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a0I7UUFDbEIsaUJBQWlCO1FBQ2pCLG1CQUFtQjtRQUNuQixnQkFBZ0IsRUEwQlIsWUFBWSxFQUFFLGlCQUFpQjsyRkFFOUIsY0FBYztrQkE1QzFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQixVQUFVO3dCQUNWLHNCQUFzQjt3QkFDdEIsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixnQkFBZ0I7cUJBQ2pCO29CQUNELFlBQVksRUFBRTt3QkFDWixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQixtQkFBbUI7d0JBQ25CLDJCQUEyQjt3QkFDM0IscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIscUJBQXFCO3dCQUNyQixXQUFXO3dCQUNYLDZCQUE2Qjt3QkFDN0IscUJBQXFCO3dCQUNyQixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQztpQkFDM0M7OzBCQVNjLFFBQVE7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsLCBTa2lwU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7WXZjTWFzdGVyRGV0YWlsc01vZHVsZX0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL21hc3Rlci1kZXRhaWxzJztcbmltcG9ydCB7WXZjU3BsaXRWaWV3TW9kdWxlfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvc3BsaXQtdmlldyc7XG5cbmltcG9ydCB7RW9GcmFtZXdvcmtNb2R1bGV9IGZyb20gJy4uL2VvLWZyYW1ld29yay9lby1mcmFtZXdvcmsubW9kdWxlJztcbmltcG9ydCB7R3JpZE1vZHVsZX0gZnJvbSAnLi4vZW8tZnJhbWV3b3JrL2dyaWQvZ3JpZC5tb2R1bGUnO1xuaW1wb3J0IHtBYm91dFN0YXRlQ29tcG9uZW50fSBmcm9tICcuL2Fib3V0LXN0YXRlL2Fib3V0LXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge0Rhc2hib2FyZENvbXBvbmVudH0gZnJvbSAnLi9kYXNoYm9hcmQvZGFzaGJvYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge0VvQ2xpZW50Um91dGluZ01vZHVsZX0gZnJvbSAnLi9lby1jbGllbnQtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHtGYXZvcml0ZVN0YXRlQ29tcG9uZW50fSBmcm9tICcuL2Zhdm9yaXRlLXN0YXRlL2Zhdm9yaXRlLXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge0luYm94U3RhdGVNb2R1bGV9IGZyb20gJy4vaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUubW9kdWxlJztcbmltcG9ydCB7TG9naW5Db21wb25lbnR9IGZyb20gJy4vbG9naW4vbG9naW4uY29tcG9uZW50JztcbmltcG9ydCB7Tm90aWZpY2F0aW9uc1N0YXRlQ29tcG9uZW50fSBmcm9tICcuL25vdGlmaWNhdGlvbnMtc3RhdGUvbm90aWZpY2F0aW9ucy1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtPYmplY3RTdGF0ZU1vZHVsZX0gZnJvbSAnLi9vYmplY3Qtc3RhdGUvb2JqZWN0LXN0YXRlLm1vZHVsZSc7XG5pbXBvcnQge1ByZXBhcmVTdGF0ZU1vZHVsZX0gZnJvbSAnLi9wcmVwYXJlLXN0YXRlL3ByZXBhcmUtc3RhdGUubW9kdWxlJztcbmltcG9ydCB7UHJvY2Vzc1N0YXRlQ29tcG9uZW50fSBmcm9tICcuL3Byb2Nlc3Mtc3RhdGUvcHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtSZXN1bHRTdGF0ZUNvbXBvbmVudH0gZnJvbSAnLi9yZXN1bHQtc3RhdGUvcmVzdWx0LXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge1NldHRpbmdzQ29tcG9uZW50fSBmcm9tICcuL3NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQge1N0b3JlZFF1ZXJpZXNTdGF0ZUNvbXBvbmVudH0gZnJvbSAnLi9zdG9yZWQtcXVlcmllcy1zdGF0ZS9zdG9yZWQtcXVlcmllcy1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtWZXJzaW9uU3RhdGVDb21wb25lbnR9IGZyb20gJy4vdmVyc2lvbi1zdGF0ZS92ZXJzaW9uLXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge1JlY3ljbGViaW5TdGF0ZUNvbXBvbmVudH0gZnJvbSAnLi9yZWN5Y2xlYmluLXN0YXRlL3JlY3ljbGViaW4tc3RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7WXZjRHJvcGRvd25Nb2R1bGV9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQge1l1dldpZGdldEdyaWRNb2R1bGV9IGZyb20gJ0B5dXV2aXMvd2lkZ2V0LWdyaWQnO1xuaW1wb3J0IHtIdHRwQ2xpZW50TW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0lmcmFtZVNldHVwQ29tcG9uZW50fSBmcm9tICcuL2Rhc2hib2FyZC93aWRnZXRzL2lmcmFtZS13aWRnZXQvaWZyYW1lLXNldHVwL2lmcmFtZS1zZXR1cC5jb21wb25lbnQnO1xuaW1wb3J0IHtJbmZvSW5ib3hTZXR1cENvbXBvbmVudH0gZnJvbSAnLi9kYXNoYm9hcmQvd2lkZ2V0cy9pbmZvLWluYm94LXdpZGdldC9pbmZvLWluYm94LXNldHVwL2luZm8taW5ib3gtc2V0dXAuY29tcG9uZW50JztcbmltcG9ydCB7SW5mb0ludHJheVNldHVwQ29tcG9uZW50fSBmcm9tICcuL2Rhc2hib2FyZC93aWRnZXRzL2luZm8taW50cmF5LXdpZGdldC9pbmZvLWludHJheS1zZXR1cC9pbmZvLWludHJheS1zZXR1cC5jb21wb25lbnQnO1xuaW1wb3J0IHtJZnJhbWVXaWRnZXRDb21wb25lbnQsIFNhZmVVcmxQaXBlfSBmcm9tICcuL2Rhc2hib2FyZC93aWRnZXRzL2lmcmFtZS13aWRnZXQvaWZyYW1lLXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHtJbmZvSW5ib3hXaWRnZXRDb21wb25lbnR9IGZyb20gJy4vZGFzaGJvYXJkL3dpZGdldHMvaW5mby1pbmJveC13aWRnZXQvaW5mby1pbmJveC13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7SW5mb0ludHJheVdpZGdldENvbXBvbmVudH0gZnJvbSAnLi9kYXNoYm9hcmQvd2lkZ2V0cy9pbmZvLWludHJheS13aWRnZXQvaW5mby1pbnRyYXktd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQge0xhc3RFZGl0ZWRBbmRDcmVhdGVkQ29tcG9uZW50fSBmcm9tICcuL2Rhc2hib2FyZC93aWRnZXRzL2xhc3QtZWRpdGVkLXdpZGdldC9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWFyY2hXaWRnZXRDb21wb25lbnR9IGZyb20gJy4vZGFzaGJvYXJkL3dpZGdldHMvc2VhcmNoLXdpZGdldC9zZWFyY2gtd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQge1l2Y1RhYnNNb2R1bGV9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7SGl0bGlzdFNldHVwQ29tcG9uZW50fSBmcm9tICcuL2Rhc2hib2FyZC93aWRnZXRzL2hpdGxpc3Qtd2lkZ2V0L2hpdGxpc3Qtc2V0dXAvaGl0bGlzdC1zZXR1cC5jb21wb25lbnQnO1xuaW1wb3J0IHtIaXRsaXN0V2lkZ2V0Q29tcG9uZW50fSBmcm9tICcuL2Rhc2hib2FyZC93aWRnZXRzL2hpdGxpc3Qtd2lkZ2V0L2hpdGxpc3Qtd2lkZ2V0LmNvbXBvbmVudCc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgT2JqZWN0U3RhdGVNb2R1bGUsXG4gICAgSW5ib3hTdGF0ZU1vZHVsZSxcbiAgICBQcmVwYXJlU3RhdGVNb2R1bGUsXG4gICAgRW9DbGllbnRSb3V0aW5nTW9kdWxlLFxuICAgIEVvRnJhbWV3b3JrTW9kdWxlLFxuICAgIEdyaWRNb2R1bGUsXG4gICAgWXZjTWFzdGVyRGV0YWlsc01vZHVsZSxcbiAgICBZdmNUYWJzTW9kdWxlLFxuICAgIFl2Y1NwbGl0Vmlld01vZHVsZSxcbiAgICBZdmNEcm9wZG93bk1vZHVsZSxcbiAgICBZdXZXaWRnZXRHcmlkTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGFzaGJvYXJkQ29tcG9uZW50LFxuICAgIFNldHRpbmdzQ29tcG9uZW50LFxuICAgIExvZ2luQ29tcG9uZW50LFxuICAgIFJlc3VsdFN0YXRlQ29tcG9uZW50LFxuICAgIEZhdm9yaXRlU3RhdGVDb21wb25lbnQsXG4gICAgTm90aWZpY2F0aW9uc1N0YXRlQ29tcG9uZW50LFxuICAgIEFib3V0U3RhdGVDb21wb25lbnQsXG4gICAgU3RvcmVkUXVlcmllc1N0YXRlQ29tcG9uZW50LFxuICAgIFByb2Nlc3NTdGF0ZUNvbXBvbmVudCxcbiAgICBWZXJzaW9uU3RhdGVDb21wb25lbnQsXG4gICAgUmVjeWNsZWJpblN0YXRlQ29tcG9uZW50LFxuICAgIElmcmFtZVNldHVwQ29tcG9uZW50LFxuICAgIEluZm9JbmJveFNldHVwQ29tcG9uZW50LFxuICAgIEluZm9JbnRyYXlTZXR1cENvbXBvbmVudCxcbiAgICBJZnJhbWVXaWRnZXRDb21wb25lbnQsXG4gICAgSW5mb0luYm94V2lkZ2V0Q29tcG9uZW50LFxuICAgIEluZm9JbnRyYXlXaWRnZXRDb21wb25lbnQsXG4gICAgU2VhcmNoV2lkZ2V0Q29tcG9uZW50LFxuICAgIFNhZmVVcmxQaXBlLFxuICAgIExhc3RFZGl0ZWRBbmRDcmVhdGVkQ29tcG9uZW50LFxuICAgIEhpdGxpc3RTZXR1cENvbXBvbmVudCxcbiAgICBIaXRsaXN0V2lkZ2V0Q29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGUsIEVvRnJhbWV3b3JrTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBFb0NsaWVudE1vZHVsZSB7XG5cbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxFb0NsaWVudE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRW9DbGllbnRNb2R1bGVcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlOiBFb0NsaWVudE1vZHVsZSkge1xuICAgIGlmIChwYXJlbnRNb2R1bGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0VvQ2xpZW50TW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5Jyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -189,7 +189,7 @@ ReferenceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
189
189
  useExisting: forwardRef(() => ReferenceComponent),
190
190
  multi: true
191
191
  }
192
- ], viewQueries: [{ propertyName: "autoCompleteInput", first: true, predicate: ["autocomplete"], descendants: true }], ngImport: i0, template: "<div class=\"eo-form-reference\" [ngClass]=\"{acInputHidden: !multiselect && !!innerValue.length}\">\n\n <yvc-autocomplete [ngModel]=\"innerValue\" #autocomplete (suggestionSelect)=\"onSelect($event)\"\n (suggestionUnselect)=\"onUnselect($event)\" [disabled]=\"readonly\" [multiple]=\"true\"\n [autocompleteValues]=\"autocompleteRes\" [field]=\"'value'\" [forceSelection]=\"true\" (blur)=\"onAutoCompleteBlur()\"\n (keyup.enter)=\"onKeyUpEnter($event)\" (autocompleteFnc)=\"autocompleteFn($event)\">\n\n <!-- template for the suggest list -->\n <ng-template let-item #autocompleteOptionTemplate>\n <span class=\"yvc-autocomplete-token-label\" title=\"{{item.value}} ({{item.title}})\">\n <strong>{{item.value}}</strong>\n <span>{{item.title}}</span>\n </span>\n </ng-template>\n\n <!-- template for the selected items -->\n <ng-template let-item #chipTemplate>\n <a class=\"link router-link\" [routerLink]=\"['/result']\" [queryParams]=\"getItemLinkParams(item)\">\n <svg focusable=\"false\" class=\"ref-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8\n 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\">\n </path>\n </svg>\n </a>\n <span class=\"yvc-autocomplete-token-label\">{{item.value}}</span>\n\n </ng-template>\n </yvc-autocomplete>\n</div>\n", styles: [".eo-form-reference{display:flex;align-items:center;justify-content:space-between}.eo-form-reference yvc-autocomplete{flex:1 1 auto;border:0;outline:0}.eo-form-reference a.link eo-icon{width:18px;height:18px}.yvc-autocomplete-token-label{display:flex;flex-flow:column}.yvc-autocomplete-token-label>span{font-size:var(--font-hint)}:host ::ng-deep .eo-form-reference.acInputHidden .inputToken{width:0!important;margin:0;padding:0}:host ::ng-deep .eo-form-reference.acInputHidden .inputToken input{width:0!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.RouterLinkDirective, selector: "a[routerLink]" }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.AutoComplete, selector: "yvc-autocomplete", inputs: ["field", "placeholder", "minLength", "multiple", "distinctValues", "forceSelection", "autocompleteValues", "disabled"], outputs: ["autocompleteFnc", "blur", "focus", "suggestionUnselect", "suggestionSelect"] }] });
192
+ ], viewQueries: [{ propertyName: "autoCompleteInput", first: true, predicate: ["autocomplete"], descendants: true }], ngImport: i0, template: "<div class=\"eo-form-reference\" [ngClass]=\"{acInputHidden: !multiselect && !!innerValue.length}\">\n\n <yvc-autocomplete [ngModel]=\"innerValue\" #autocomplete (suggestionSelect)=\"onSelect($event)\"\n (suggestionUnselect)=\"onUnselect($event)\" [disabled]=\"readonly\" [multiple]=\"true\"\n [autocompleteValues]=\"autocompleteRes\" [field]=\"'value'\" [forceSelection]=\"true\" (blur)=\"onAutoCompleteBlur()\"\n (keyup.enter)=\"onKeyUpEnter($event)\" (autocompleteFnc)=\"autocompleteFn($event)\">\n\n <!-- template for the suggest list -->\n <ng-template let-item #autocompleteOptionTemplate>\n <span class=\"yvc-autocomplete-token-label\" title=\"{{item.value}} ({{item.title}})\">\n <strong>{{item.value}}</strong>\n <span>{{item.title}}</span>\n </span>\n </ng-template>\n\n <!-- template for the selected items -->\n <ng-template let-item #chipTemplate>\n <a class=\"link router-link\" [routerLink]=\"['/result']\" [queryParams]=\"getItemLinkParams(item)\">\n <svg focusable=\"false\" class=\"ref-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8\n 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\">\n </path>\n </svg>\n </a>\n <span class=\"yvc-autocomplete-token-label\">{{item.value}}</span>\n\n </ng-template>\n </yvc-autocomplete>\n</div>", styles: [".eo-form-reference{display:flex;align-items:center;justify-content:space-between}.eo-form-reference yvc-autocomplete{flex:1 1 auto;border:0;outline:0}.eo-form-reference a.link eo-icon{width:18px;height:18px}.yvc-autocomplete-token-label{display:flex;flex-flow:column}.yvc-autocomplete-token-label>span{font-size:var(--font-hint)}:host ::ng-deep .eo-form-reference.acInputHidden .inputToken{width:0!important;margin:0;padding:0}:host ::ng-deep .eo-form-reference.acInputHidden .inputToken input{width:0!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.RouterLinkDirective, selector: "a[routerLink]" }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.AutoComplete, selector: "yvc-autocomplete", inputs: ["field", "placeholder", "minLength", "multiple", "distinctValues", "forceSelection", "autocompleteValues", "disabled"], outputs: ["autocompleteFnc", "blur", "focus", "suggestionUnselect", "suggestionSelect"] }] });
193
193
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ReferenceComponent, decorators: [{
194
194
  type: Component,
195
195
  args: [{ selector: 'eo-reference', providers: [
@@ -203,7 +203,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
203
203
  useExisting: forwardRef(() => ReferenceComponent),
204
204
  multi: true
205
205
  }
206
- ], template: "<div class=\"eo-form-reference\" [ngClass]=\"{acInputHidden: !multiselect && !!innerValue.length}\">\n\n <yvc-autocomplete [ngModel]=\"innerValue\" #autocomplete (suggestionSelect)=\"onSelect($event)\"\n (suggestionUnselect)=\"onUnselect($event)\" [disabled]=\"readonly\" [multiple]=\"true\"\n [autocompleteValues]=\"autocompleteRes\" [field]=\"'value'\" [forceSelection]=\"true\" (blur)=\"onAutoCompleteBlur()\"\n (keyup.enter)=\"onKeyUpEnter($event)\" (autocompleteFnc)=\"autocompleteFn($event)\">\n\n <!-- template for the suggest list -->\n <ng-template let-item #autocompleteOptionTemplate>\n <span class=\"yvc-autocomplete-token-label\" title=\"{{item.value}} ({{item.title}})\">\n <strong>{{item.value}}</strong>\n <span>{{item.title}}</span>\n </span>\n </ng-template>\n\n <!-- template for the selected items -->\n <ng-template let-item #chipTemplate>\n <a class=\"link router-link\" [routerLink]=\"['/result']\" [queryParams]=\"getItemLinkParams(item)\">\n <svg focusable=\"false\" class=\"ref-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8\n 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\">\n </path>\n </svg>\n </a>\n <span class=\"yvc-autocomplete-token-label\">{{item.value}}</span>\n\n </ng-template>\n </yvc-autocomplete>\n</div>\n", styles: [".eo-form-reference{display:flex;align-items:center;justify-content:space-between}.eo-form-reference yvc-autocomplete{flex:1 1 auto;border:0;outline:0}.eo-form-reference a.link eo-icon{width:18px;height:18px}.yvc-autocomplete-token-label{display:flex;flex-flow:column}.yvc-autocomplete-token-label>span{font-size:var(--font-hint)}:host ::ng-deep .eo-form-reference.acInputHidden .inputToken{width:0!important;margin:0;padding:0}:host ::ng-deep .eo-form-reference.acInputHidden .inputToken input{width:0!important}\n"] }]
206
+ ], template: "<div class=\"eo-form-reference\" [ngClass]=\"{acInputHidden: !multiselect && !!innerValue.length}\">\n\n <yvc-autocomplete [ngModel]=\"innerValue\" #autocomplete (suggestionSelect)=\"onSelect($event)\"\n (suggestionUnselect)=\"onUnselect($event)\" [disabled]=\"readonly\" [multiple]=\"true\"\n [autocompleteValues]=\"autocompleteRes\" [field]=\"'value'\" [forceSelection]=\"true\" (blur)=\"onAutoCompleteBlur()\"\n (keyup.enter)=\"onKeyUpEnter($event)\" (autocompleteFnc)=\"autocompleteFn($event)\">\n\n <!-- template for the suggest list -->\n <ng-template let-item #autocompleteOptionTemplate>\n <span class=\"yvc-autocomplete-token-label\" title=\"{{item.value}} ({{item.title}})\">\n <strong>{{item.value}}</strong>\n <span>{{item.title}}</span>\n </span>\n </ng-template>\n\n <!-- template for the selected items -->\n <ng-template let-item #chipTemplate>\n <a class=\"link router-link\" [routerLink]=\"['/result']\" [queryParams]=\"getItemLinkParams(item)\">\n <svg focusable=\"false\" class=\"ref-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8\n 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\">\n </path>\n </svg>\n </a>\n <span class=\"yvc-autocomplete-token-label\">{{item.value}}</span>\n\n </ng-template>\n </yvc-autocomplete>\n</div>", styles: [".eo-form-reference{display:flex;align-items:center;justify-content:space-between}.eo-form-reference yvc-autocomplete{flex:1 1 auto;border:0;outline:0}.eo-form-reference a.link eo-icon{width:18px;height:18px}.yvc-autocomplete-token-label{display:flex;flex-flow:column}.yvc-autocomplete-token-label>span{font-size:var(--font-hint)}:host ::ng-deep .eo-form-reference.acInputHidden .inputToken{width:0!important;margin:0;padding:0}:host ::ng-deep .eo-form-reference.acInputHidden .inputToken input{width:0!important}\n"] }]
207
207
  }], ctorParameters: function () { return [{ type: i1.SearchService }]; }, propDecorators: { autoCompleteInput: [{
208
208
  type: ViewChild,
209
209
  args: ['autocomplete']
@@ -220,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
220
220
  }], onReferenceClicked: [{
221
221
  type: Output
222
222
  }] } });
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvcmVmZXJlbmNlL3JlZmVyZW5jZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL3JlZmVyZW5jZS9yZWZlcmVuY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFFTCxpQkFBaUIsRUFHakIsYUFBYSxFQUNkLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFnQixLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7O0FBb0JsRCxNQUFNLE9BQU8sa0JBQWtCO0lBcUI3QixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVJ0Qyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBS2xELHVCQUF1QjtRQUN2QixlQUFVLEdBQXFDLEVBQUUsQ0FBQztRQUtsRCxvQkFBZSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDakMsQ0FBQyxDQUFBO0lBSEQsQ0FBQztJQUtELGFBQWEsQ0FBQyxZQUFZLEVBQUUsS0FBSztRQUMvQixPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsQyxPQUFPO2dCQUNMLEtBQUssRUFBRSxDQUFDO2dCQUNSLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNKLEtBQUssRUFB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QkFBM0MsU0FBUzt1QkFBQyxjQUFjO2dCQUVoQixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBSUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBWaWV3Q2hpbGQsIE91dHB1dCwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgVmFsaWRhdG9yLFxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXG4gIE5HX1ZBTElEQVRPUlNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtTZWFyY2hTZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7QXV0b0NvbXBsZXRlfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tcmVmZXJlbmNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZmVyZW5jZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlZmVyZW5jZS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJlZmVyZW5jZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJlZmVyZW5jZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZWZlcmVuY2VDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHtcblxuICBAVmlld0NoaWxkKCdhdXRvY29tcGxldGUnKSBhdXRvQ29tcGxldGVJbnB1dDogQXV0b0NvbXBsZXRlO1xuXG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuICBASW5wdXQoKSBtdWx0aXNlbGVjdDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFByb3BlcnR5IHRvIHNlYXJjaCBmb3IsIGFzd2VsbCBhcyB0aGUgb2JqZWN0IHR5cGVcbiAgICovXG4gIEBJbnB1dCgpIHJlZmVyZW5jZToge2VsZW1lbnQ6IHN0cmluZywgdHlwZTogc3RyaW5nfTtcbiAgQElucHV0KCkgbWluTGVuZ3RoOiBudW1iZXI7XG4gIEBJbnB1dCgpIG1heExlbmd0aDogbnVtYmVyO1xuXG4gIEBPdXRwdXQoKSBvblJlZmVyZW5jZUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgYXV0b2NvbXBsZXRlUmVzOiBhbnlbXTtcbiAgLy8gbW9kZWwgdmFsdWVcbiAgcHJpdmF0ZSB2YWx1ZTtcbiAgLy8gaW5uZXIgbmctbW9kZWwgdmFsdWVcbiAgaW5uZXJWYWx1ZToge3ZhbHVlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmd9W10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UpIHtcbiAgfVxuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7XG4gIH1cblxuICB0cmFuZm9ybVZhbHVlKHZhbHVlSXNBcnJheSwgdmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWVJc0FycmF5ID8gdmFsdWUubWFwKHYgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsdWU6IHYsXG4gICAgICAgIHRpdGxlOiBudWxsXG4gICAgICB9XG4gICAgfSkgOiBbe1xuICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgdGl0bGU6IG51bGxcbiAgICB9XTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCB2YWx1ZUlzQXJyYXkgPSBBcnJheS5pc0FycmF5KHZhbHVlKTtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZUlzQXJyYXkgPyBBcnJheS5mcm9tKG5ldyBTZXQodmFsdWUpKSA6IHZhbHVlO1xuXG4gICAgICAvLyB0cmFuc2Zvcm0gdmFsdWUgdG8gaW5uZXIgdmFsdWVcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHRoaXMudHJhbmZvcm1WYWx1ZSh2YWx1ZUlzQXJyYXksIHRoaXMudmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IFtdO1xuICAgIH1cblxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgfVxuXG4gIGF1dG9jb21wbGV0ZVJlc3VsdChyZXMgPSBudWxsLCBxdWVyeSA9ICcnKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZSA6IFtdO1xuICAgIGlmIChyZXMgJiYgcmVzLmhpdHMgJiYgcmVzLmhpdHMudG90YWwudmFsdWUpIHtcbiAgICAgIGNvbnN0IHJlc3VsdHMgPSByZXMuaGl0cy5oaXRzXG4gICAgICAgIC5maWx0ZXIoaCA9PiAhdmFsdWUuaW5jbHVkZXMoaC5fc291cmNlW3RoaXMucmVmZXJlbmNlLmVsZW1lbnRdKSlcbiAgICAgICAgLm1hcChoID0+ICh7dmFsdWU6IGguX3NvdXJjZVt0aGlzLnJlZmVyZW5jZS5lbGVtZW50XSwgdGl0bGU6IGguX3NvdXJjZS50aXRsZX0pKTtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gVXRpbHMudW5pcUJ5KHJlc3VsdHMsICd2YWx1ZScpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZVJlcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIGF1dG9jb21wbGV0ZUZuKHRlcm06IHN0cmluZykge1xuICAgIGlmICh0aGlzLm11bHRpc2VsZWN0IHx8ICF0aGlzLmlubmVyVmFsdWUubGVuZ3RoKSB7XG4gICAgICBjb25zdCB7dHlwZSwgZWxlbWVudH0gPSB0aGlzLnJlZmVyZW5jZTtcbiAgICAgIGNvbnN0IHEgPSB7XG4gICAgICAgIGZpbHRlcnM6IHt9LFxuICAgICAgICB0eXBlczogW3R5cGVdLFxuICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAndGl0bGUnLFxuICAgICAgICAgIGVsZW1lbnRcbiAgICAgICAgXSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHNvcnQ6IHtcbiAgICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICAgIG9yZGVyOiAnYXNjJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgLy8gdG9kbzogYWRkIGNvbmRpdGlvbiB0byByZW1vdmUgdGhlIHZhbHVlcyB0aGF0IGFyZSBhbHJlYWR5IHNldCB3aGVuIHJlZ2V4IG9wZXJhdG9yIGlzIHN1cHBvcnRlZFxuICAgICAgcS5maWx0ZXJzW2VsZW1lbnRdID0ge1xuICAgICAgICBvOiAnZXEnLFxuICAgICAgICB2MTogYCR7dGVybX0qYFxuICAgICAgfTtcblxuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlXG4gICAgICAgIC5leGVjdXRlUXVlcnkocSlcbiAgICAgICAgLnN1YnNjcmliZShyZXMgPT4gdGhpcy5hdXRvY29tcGxldGVSZXN1bHQocmVzLCB0ZXJtKSwgKCkgPT4gdGhpcy5hdXRvY29tcGxldGVSZXN1bHQobnVsbCwgdGVybSkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzdWx0KG51bGwsIHRlcm0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIGhhbmRsZSBzZWxlY3Rpb24gY2hhbmdlcyB0byB0aGUgbW9kZWxcbiAgb25VbnNlbGVjdChpdGVtKSB7XG4gICAgdGhpcy5pbm5lclZhbHVlID0gdGhpcy5pbm5lclZhbHVlLmZpbHRlcihpdiA9PiBpdi52YWx1ZSAhPT0gaXRlbS52YWx1ZSk7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMubXVsdGlzZWxlY3QgPyBVdGlscy51bmlxQnkodGhpcy5pbm5lclZhbHVlLCAndmFsdWUnKS5tYXAoaXYgPT4gaXYudmFsdWUpIDogbnVsbDtcbiAgICBpZiAoIXRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIHRoaXMuY2xlYXJJbm5lcklucHV0KCk7XG4gICAgfVxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgLy8gaGFuZGxlIHNlbGVjdGlvbiBjaGFuZ2VzIHRvIHRoZSBtb2RlbFxuICBvblNlbGVjdChzZWxlY3RlZEl0ZW0pIHtcblxuICAgIGlmICh0eXBlb2Ygc2VsZWN0ZWRJdGVtID09PSAnc3RyaW5nJykgc2VsZWN0ZWRJdGVtID0ge1xuICAgICAgdmFsdWU6IHNlbGVjdGVkSXRlbSxcbiAgICAgIHRpdGxlOiBzZWxlY3RlZEl0ZW1cbiAgICB9XG5cbiAgICB0aGlzLmlubmVyVmFsdWUucHVzaChzZWxlY3RlZEl0ZW0pO1xuICAgIHRoaXMuaW5uZXJWYWx1ZSA9IFV0aWxzLnVuaXFCeSh0aGlzLmlubmVyVmFsdWUsICd2YWx1ZScpO1xuXG4gICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmlubmVyVmFsdWUubWFwKGl2ID0+IGl2LnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZVswXS52YWx1ZTtcbiAgICB9XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICBvbkF1dG9Db21wbGV0ZUJsdXIoKSB7XG4gICAgdGhpcy5jbGVhcklubmVySW5wdXQoKTtcbiAgfVxuXG4gIG9uS2V5VXBFbnRlcihldmVudCkge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRyaW0oKTtcbiAgICBpZiAoaW5wdXQubGVuZ3RoKSB7XG4gICAgICB0aGlzLm9uU2VsZWN0KHt2YWx1ZTogaW5wdXQsIHRpdGxlOiBpbnB1dH0pO1xuICAgIH1cbiAgICB0aGlzLmNsZWFySW5uZXJJbnB1dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhcklubmVySW5wdXQoKSB7XG4gICAgdGhpcy5hdXRvQ29tcGxldGVJbnB1dC5jbGVhcklucHV0KCk7XG4gICAgdGhpcy5hdXRvY29tcGxldGVSZXN1bHQoKTtcbiAgfVxuXG4gIGdldEl0ZW1MaW5rUGFyYW1zKGl0ZW0pIHtcbiAgICBjb25zdCBxdWVyeSA9IHtcbiAgICAgIHR5cGVzOiBbdGhpcy5yZWZlcmVuY2UudHlwZV0sXG4gICAgICBmaWx0ZXJzOiB7fVxuICAgIH07XG4gICAgcXVlcnkuZmlsdGVyc1t0aGlzLnJlZmVyZW5jZS5lbGVtZW50XSA9IHtcbiAgICAgIG86ICdlcScsXG4gICAgICB2MTogaXRlbS52YWx1ZVxuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgIHF1ZXJ5OiBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkocXVlcnkpKVxuICAgIH07XG4gIH1cblxuICAvLyByZXR1cm5zIG51bGwgd2hlbiB2YWxpZCBlbHNlIHRoZSB2YWxpZGF0aW9uIG9iamVjdFxuICBwdWJsaWMgdmFsaWRhdGUoYzogVW50eXBlZEZvcm1Db250cm9sKSB7XG4gICAgbGV0IGVycjtcblxuICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUgIT09IG51bGwpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+IDAgJiYgISF0aGlzLnZhbHVlLmZpbmQodiA9PiB2Lmxlbmd0aCA8IHRoaXMubWluTGVuZ3RoKSkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsnbWlubGVuZ3RoJ10gPSB7XG4gICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJiAhIXRoaXMudmFsdWUuZmluZCh2ID0+IHYubGVuZ3RoID4gdGhpcy5tYXhMZW5ndGgpKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydtYXhsZW5ndGgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJiB0aGlzLnZhbHVlLmxlbmd0aCA8IHRoaXMubWluTGVuZ3RoKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydtaW5sZW5ndGgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPiB0aGlzLm1heExlbmd0aCkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsnbWF4bGVuZ3RoJ10gPSB7XG4gICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGVyciA/IGVyciA6IG51bGw7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJlby1mb3JtLXJlZmVyZW5jZVwiIFtuZ0NsYXNzXT1cInthY0lucHV0SGlkZGVuOiAhbXVsdGlzZWxlY3QgJiYgISFpbm5lclZhbHVlLmxlbmd0aH1cIj5cblxuICA8eXZjLWF1dG9jb21wbGV0ZSBbbmdNb2RlbF09XCJpbm5lclZhbHVlXCIgI2F1dG9jb21wbGV0ZSAoc3VnZ2VzdGlvblNlbGVjdCk9XCJvblNlbGVjdCgkZXZlbnQpXCJcbiAgICAoc3VnZ2VzdGlvblVuc2VsZWN0KT1cIm9uVW5zZWxlY3QoJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJyZWFkb25seVwiIFttdWx0aXBsZV09XCJ0cnVlXCJcbiAgICBbYXV0b2NvbXBsZXRlVmFsdWVzXT1cImF1dG9jb21wbGV0ZVJlc1wiIFtmaWVsZF09XCIndmFsdWUnXCIgW2ZvcmNlU2VsZWN0aW9uXT1cInRydWVcIiAoYmx1cik9XCJvbkF1dG9Db21wbGV0ZUJsdXIoKVwiXG4gICAgKGtleXVwLmVudGVyKT1cIm9uS2V5VXBFbnRlcigkZXZlbnQpXCIgKGF1dG9jb21wbGV0ZUZuYyk9XCJhdXRvY29tcGxldGVGbigkZXZlbnQpXCI+XG5cbiAgICA8IS0tIHRlbXBsYXRlIGZvciB0aGUgc3VnZ2VzdCBsaXN0IC0tPlxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSAjYXV0b2NvbXBsZXRlT3B0aW9uVGVtcGxhdGU+XG4gICAgICA8c3BhbiBjbGFzcz1cInl2Yy1hdXRvY29tcGxldGUtdG9rZW4tbGFiZWxcIiB0aXRsZT1cInt7aXRlbS52YWx1ZX19ICh7e2l0ZW0udGl0bGV9fSlcIj5cbiAgICAgICAgPHN0cm9uZz57e2l0ZW0udmFsdWV9fTwvc3Ryb25nPlxuICAgICAgICA8c3Bhbj57e2l0ZW0udGl0bGV9fTwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPCEtLSB0ZW1wbGF0ZSBmb3IgdGhlIHNlbGVjdGVkIGl0ZW1zIC0tPlxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSAjY2hpcFRlbXBsYXRlPlxuICAgICAgPGEgY2xhc3M9XCJsaW5rIHJvdXRlci1saW5rXCIgW3JvdXRlckxpbmtdPVwiWycvcmVzdWx0J11cIiBbcXVlcnlQYXJhbXNdPVwiZ2V0SXRlbUxpbmtQYXJhbXMoaXRlbSlcIj5cbiAgICAgICAgPHN2ZyBmb2N1c2FibGU9XCJmYWxzZVwiIGNsYXNzPVwicmVmLWljb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0zLjkgMTJjMC0xLjcxIDEuMzktMy4xIDMuMS0zLjFoNFY3SDdjLTIuNzYgMC01IDIuMjQtNSA1czIuMjQgNSA1IDVoNHYtMS45SDdjLTEuNzEgMC0zLjEtMS4zOS0zLjEtMy4xek04XG4gICAgICAgICAgMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01elwiPlxuICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2E+XG4gICAgICA8c3BhbiBjbGFzcz1cInl2Yy1hdXRvY29tcGxldGUtdG9rZW4tbGFiZWxcIj57e2l0ZW0udmFsdWV9fTwvc3Bhbj5cblxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwveXZjLWF1dG9jb21wbGV0ZT5cbjwvZGl2PlxuIl19
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvcmVmZXJlbmNlL3JlZmVyZW5jZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL3JlZmVyZW5jZS9yZWZlcmVuY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFFTCxpQkFBaUIsRUFHakIsYUFBYSxFQUNkLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFnQixLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7O0FBb0JsRCxNQUFNLE9BQU8sa0JBQWtCO0lBcUI3QixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVJ0Qyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBS2xELHVCQUF1QjtRQUN2QixlQUFVLEdBQXFDLEVBQUUsQ0FBQztRQUtsRCxvQkFBZSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDakMsQ0FBQyxDQUFBO0lBSEQsQ0FBQztJQUtELGFBQWEsQ0FBQyxZQUFZLEVBQUUsS0FBSztRQUMvQixPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsQyxPQUFPO2dCQUNMLEtBQUssRUFBRSxDQUFDO2dCQUNSLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNKLEtBQUssRUFB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QkFBM0MsU0FBUzt1QkFBQyxjQUFjO2dCQUVoQixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBSUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBWaWV3Q2hpbGQsIE91dHB1dCwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgVmFsaWRhdG9yLFxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXG4gIE5HX1ZBTElEQVRPUlNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtTZWFyY2hTZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7QXV0b0NvbXBsZXRlfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tcmVmZXJlbmNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZmVyZW5jZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlZmVyZW5jZS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJlZmVyZW5jZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJlZmVyZW5jZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZWZlcmVuY2VDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHtcblxuICBAVmlld0NoaWxkKCdhdXRvY29tcGxldGUnKSBhdXRvQ29tcGxldGVJbnB1dDogQXV0b0NvbXBsZXRlO1xuXG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuICBASW5wdXQoKSBtdWx0aXNlbGVjdDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFByb3BlcnR5IHRvIHNlYXJjaCBmb3IsIGFzd2VsbCBhcyB0aGUgb2JqZWN0IHR5cGVcbiAgICovXG4gIEBJbnB1dCgpIHJlZmVyZW5jZToge2VsZW1lbnQ6IHN0cmluZywgdHlwZTogc3RyaW5nfTtcbiAgQElucHV0KCkgbWluTGVuZ3RoOiBudW1iZXI7XG4gIEBJbnB1dCgpIG1heExlbmd0aDogbnVtYmVyO1xuXG4gIEBPdXRwdXQoKSBvblJlZmVyZW5jZUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgYXV0b2NvbXBsZXRlUmVzOiBhbnlbXTtcbiAgLy8gbW9kZWwgdmFsdWVcbiAgcHJpdmF0ZSB2YWx1ZTtcbiAgLy8gaW5uZXIgbmctbW9kZWwgdmFsdWVcbiAgaW5uZXJWYWx1ZToge3ZhbHVlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmd9W10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UpIHtcbiAgfVxuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7XG4gIH1cblxuICB0cmFuZm9ybVZhbHVlKHZhbHVlSXNBcnJheSwgdmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWVJc0FycmF5ID8gdmFsdWUubWFwKHYgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsdWU6IHYsXG4gICAgICAgIHRpdGxlOiBudWxsXG4gICAgICB9XG4gICAgfSkgOiBbe1xuICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgdGl0bGU6IG51bGxcbiAgICB9XTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCB2YWx1ZUlzQXJyYXkgPSBBcnJheS5pc0FycmF5KHZhbHVlKTtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZUlzQXJyYXkgPyBBcnJheS5mcm9tKG5ldyBTZXQodmFsdWUpKSA6IHZhbHVlO1xuXG4gICAgICAvLyB0cmFuc2Zvcm0gdmFsdWUgdG8gaW5uZXIgdmFsdWVcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHRoaXMudHJhbmZvcm1WYWx1ZSh2YWx1ZUlzQXJyYXksIHRoaXMudmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IFtdO1xuICAgIH1cblxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgfVxuXG4gIGF1dG9jb21wbGV0ZVJlc3VsdChyZXMgPSBudWxsLCBxdWVyeSA9ICcnKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZSA6IFtdO1xuICAgIGlmIChyZXMgJiYgcmVzLmhpdHMgJiYgcmVzLmhpdHMudG90YWwudmFsdWUpIHtcbiAgICAgIGNvbnN0IHJlc3VsdHMgPSByZXMuaGl0cy5oaXRzXG4gICAgICAgIC5maWx0ZXIoaCA9PiAhdmFsdWUuaW5jbHVkZXMoaC5fc291cmNlW3RoaXMucmVmZXJlbmNlLmVsZW1lbnRdKSlcbiAgICAgICAgLm1hcChoID0+ICh7dmFsdWU6IGguX3NvdXJjZVt0aGlzLnJlZmVyZW5jZS5lbGVtZW50XSwgdGl0bGU6IGguX3NvdXJjZS50aXRsZX0pKTtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gVXRpbHMudW5pcUJ5KHJlc3VsdHMsICd2YWx1ZScpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZVJlcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIGF1dG9jb21wbGV0ZUZuKHRlcm06IHN0cmluZykge1xuICAgIGlmICh0aGlzLm11bHRpc2VsZWN0IHx8ICF0aGlzLmlubmVyVmFsdWUubGVuZ3RoKSB7XG4gICAgICBjb25zdCB7dHlwZSwgZWxlbWVudH0gPSB0aGlzLnJlZmVyZW5jZTtcbiAgICAgIGNvbnN0IHEgPSB7XG4gICAgICAgIGZpbHRlcnM6IHt9LFxuICAgICAgICB0eXBlczogW3R5cGVdLFxuICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAndGl0bGUnLFxuICAgICAgICAgIGVsZW1lbnRcbiAgICAgICAgXSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHNvcnQ6IHtcbiAgICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICAgIG9yZGVyOiAnYXNjJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgLy8gdG9kbzogYWRkIGNvbmRpdGlvbiB0byByZW1vdmUgdGhlIHZhbHVlcyB0aGF0IGFyZSBhbHJlYWR5IHNldCB3aGVuIHJlZ2V4IG9wZXJhdG9yIGlzIHN1cHBvcnRlZFxuICAgICAgcS5maWx0ZXJzW2VsZW1lbnRdID0ge1xuICAgICAgICBvOiAnZXEnLFxuICAgICAgICB2MTogYCR7dGVybX0qYFxuICAgICAgfTtcblxuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlXG4gICAgICAgIC5leGVjdXRlUXVlcnkocSlcbiAgICAgICAgLnN1YnNjcmliZShyZXMgPT4gdGhpcy5hdXRvY29tcGxldGVSZXN1bHQocmVzLCB0ZXJtKSwgKCkgPT4gdGhpcy5hdXRvY29tcGxldGVSZXN1bHQobnVsbCwgdGVybSkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzdWx0KG51bGwsIHRlcm0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIGhhbmRsZSBzZWxlY3Rpb24gY2hhbmdlcyB0byB0aGUgbW9kZWxcbiAgb25VbnNlbGVjdChpdGVtKSB7XG4gICAgdGhpcy5pbm5lclZhbHVlID0gdGhpcy5pbm5lclZhbHVlLmZpbHRlcihpdiA9PiBpdi52YWx1ZSAhPT0gaXRlbS52YWx1ZSk7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMubXVsdGlzZWxlY3QgPyBVdGlscy51bmlxQnkodGhpcy5pbm5lclZhbHVlLCAndmFsdWUnKS5tYXAoaXYgPT4gaXYudmFsdWUpIDogbnVsbDtcbiAgICBpZiAoIXRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIHRoaXMuY2xlYXJJbm5lcklucHV0KCk7XG4gICAgfVxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgLy8gaGFuZGxlIHNlbGVjdGlvbiBjaGFuZ2VzIHRvIHRoZSBtb2RlbFxuICBvblNlbGVjdChzZWxlY3RlZEl0ZW0pIHtcblxuICAgIGlmICh0eXBlb2Ygc2VsZWN0ZWRJdGVtID09PSAnc3RyaW5nJykgc2VsZWN0ZWRJdGVtID0ge1xuICAgICAgdmFsdWU6IHNlbGVjdGVkSXRlbSxcbiAgICAgIHRpdGxlOiBzZWxlY3RlZEl0ZW1cbiAgICB9XG5cbiAgICB0aGlzLmlubmVyVmFsdWUucHVzaChzZWxlY3RlZEl0ZW0pO1xuICAgIHRoaXMuaW5uZXJWYWx1ZSA9IFV0aWxzLnVuaXFCeSh0aGlzLmlubmVyVmFsdWUsICd2YWx1ZScpO1xuXG4gICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmlubmVyVmFsdWUubWFwKGl2ID0+IGl2LnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZVswXS52YWx1ZTtcbiAgICB9XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICBvbkF1dG9Db21wbGV0ZUJsdXIoKSB7XG4gICAgdGhpcy5jbGVhcklubmVySW5wdXQoKTtcbiAgfVxuXG4gIG9uS2V5VXBFbnRlcihldmVudCkge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRyaW0oKTtcbiAgICBpZiAoaW5wdXQubGVuZ3RoKSB7XG4gICAgICB0aGlzLm9uU2VsZWN0KHt2YWx1ZTogaW5wdXQsIHRpdGxlOiBpbnB1dH0pO1xuICAgIH1cbiAgICB0aGlzLmNsZWFySW5uZXJJbnB1dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhcklubmVySW5wdXQoKSB7XG4gICAgdGhpcy5hdXRvQ29tcGxldGVJbnB1dC5jbGVhcklucHV0KCk7XG4gICAgdGhpcy5hdXRvY29tcGxldGVSZXN1bHQoKTtcbiAgfVxuXG4gIGdldEl0ZW1MaW5rUGFyYW1zKGl0ZW0pIHtcbiAgICBjb25zdCBxdWVyeSA9IHtcbiAgICAgIHR5cGVzOiBbdGhpcy5yZWZlcmVuY2UudHlwZV0sXG4gICAgICBmaWx0ZXJzOiB7fVxuICAgIH07XG4gICAgcXVlcnkuZmlsdGVyc1t0aGlzLnJlZmVyZW5jZS5lbGVtZW50XSA9IHtcbiAgICAgIG86ICdlcScsXG4gICAgICB2MTogaXRlbS52YWx1ZVxuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgIHF1ZXJ5OiBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkocXVlcnkpKVxuICAgIH07XG4gIH1cblxuICAvLyByZXR1cm5zIG51bGwgd2hlbiB2YWxpZCBlbHNlIHRoZSB2YWxpZGF0aW9uIG9iamVjdFxuICBwdWJsaWMgdmFsaWRhdGUoYzogVW50eXBlZEZvcm1Db250cm9sKSB7XG4gICAgbGV0IGVycjtcblxuICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUgIT09IG51bGwpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+IDAgJiYgISF0aGlzLnZhbHVlLmZpbmQodiA9PiB2Lmxlbmd0aCA8IHRoaXMubWluTGVuZ3RoKSkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsnbWlubGVuZ3RoJ10gPSB7XG4gICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJiAhIXRoaXMudmFsdWUuZmluZCh2ID0+IHYubGVuZ3RoID4gdGhpcy5tYXhMZW5ndGgpKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydtYXhsZW5ndGgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJiB0aGlzLnZhbHVlLmxlbmd0aCA8IHRoaXMubWluTGVuZ3RoKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydtaW5sZW5ndGgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPiB0aGlzLm1heExlbmd0aCkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsnbWF4bGVuZ3RoJ10gPSB7XG4gICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGVyciA/IGVyciA6IG51bGw7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJlby1mb3JtLXJlZmVyZW5jZVwiIFtuZ0NsYXNzXT1cInthY0lucHV0SGlkZGVuOiAhbXVsdGlzZWxlY3QgJiYgISFpbm5lclZhbHVlLmxlbmd0aH1cIj5cblxuICA8eXZjLWF1dG9jb21wbGV0ZSBbbmdNb2RlbF09XCJpbm5lclZhbHVlXCIgI2F1dG9jb21wbGV0ZSAoc3VnZ2VzdGlvblNlbGVjdCk9XCJvblNlbGVjdCgkZXZlbnQpXCJcbiAgICAoc3VnZ2VzdGlvblVuc2VsZWN0KT1cIm9uVW5zZWxlY3QoJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJyZWFkb25seVwiIFttdWx0aXBsZV09XCJ0cnVlXCJcbiAgICBbYXV0b2NvbXBsZXRlVmFsdWVzXT1cImF1dG9jb21wbGV0ZVJlc1wiIFtmaWVsZF09XCIndmFsdWUnXCIgW2ZvcmNlU2VsZWN0aW9uXT1cInRydWVcIiAoYmx1cik9XCJvbkF1dG9Db21wbGV0ZUJsdXIoKVwiXG4gICAgKGtleXVwLmVudGVyKT1cIm9uS2V5VXBFbnRlcigkZXZlbnQpXCIgKGF1dG9jb21wbGV0ZUZuYyk9XCJhdXRvY29tcGxldGVGbigkZXZlbnQpXCI+XG5cbiAgICA8IS0tIHRlbXBsYXRlIGZvciB0aGUgc3VnZ2VzdCBsaXN0IC0tPlxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSAjYXV0b2NvbXBsZXRlT3B0aW9uVGVtcGxhdGU+XG4gICAgICA8c3BhbiBjbGFzcz1cInl2Yy1hdXRvY29tcGxldGUtdG9rZW4tbGFiZWxcIiB0aXRsZT1cInt7aXRlbS52YWx1ZX19ICh7e2l0ZW0udGl0bGV9fSlcIj5cbiAgICAgICAgPHN0cm9uZz57e2l0ZW0udmFsdWV9fTwvc3Ryb25nPlxuICAgICAgICA8c3Bhbj57e2l0ZW0udGl0bGV9fTwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPCEtLSB0ZW1wbGF0ZSBmb3IgdGhlIHNlbGVjdGVkIGl0ZW1zIC0tPlxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSAjY2hpcFRlbXBsYXRlPlxuICAgICAgPGEgY2xhc3M9XCJsaW5rIHJvdXRlci1saW5rXCIgW3JvdXRlckxpbmtdPVwiWycvcmVzdWx0J11cIiBbcXVlcnlQYXJhbXNdPVwiZ2V0SXRlbUxpbmtQYXJhbXMoaXRlbSlcIj5cbiAgICAgICAgPHN2ZyBmb2N1c2FibGU9XCJmYWxzZVwiIGNsYXNzPVwicmVmLWljb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0zLjkgMTJjMC0xLjcxIDEuMzktMy4xIDMuMS0zLjFoNFY3SDdjLTIuNzYgMC01IDIuMjQtNSA1czIuMjQgNSA1IDVoNHYtMS45SDdjLTEuNzEgMC0zLjEtMS4zOS0zLjEtMy4xek04XG4gICAgICAgICAgMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01elwiPlxuICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2E+XG4gICAgICA8c3BhbiBjbGFzcz1cInl2Yy1hdXRvY29tcGxldGUtdG9rZW4tbGFiZWxcIj57e2l0ZW0udmFsdWV9fTwvc3Bhbj5cblxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwveXZjLWF1dG9jb21wbGV0ZT5cbjwvZGl2PiJdfQ==