@smartbit4all/ng-client 6.0.32 → 6.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/smart-filter-editor/api/api/api.mjs +4 -0
- package/esm2022/lib/smart-filter-editor/api/api.module.mjs +40 -0
- package/esm2022/lib/smart-filter-editor/api/index.mjs +7 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilder.mjs +2 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/models.mjs +20 -0
- package/esm2022/lib/smart-filter-editor/api/model/searchPageConfig.mjs +2 -0
- package/esm2022/lib/smart-filter-editor/filter-utils.mjs +3 -0
- package/esm2022/lib/smart-filter-editor/project.mjs +4 -1
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/advanced/advanced-relation-button/advanced-relation-button.component.mjs +27 -0
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/advanced/advanced-smart-filter-expression-item/advanced-smart-filter-expression-item.component.mjs +32 -0
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/advanced/expression-editor-dialog/expression-editor-dialog.component.mjs +29 -0
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/advanced/expression-editor-dialog/expression-editor-dialog.service.mjs +50 -0
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.mjs +5 -6
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component.mjs +19 -7
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +52 -17
- package/esm2022/lib/smart-filter-editor/smart-filter-editor.module.mjs +18 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-editor.service.mjs +16 -1
- package/esm2022/lib/smart-filter-editor/smart-filter-params/components/smart-filter-param/smart-filter-param.component.mjs +3 -3
- package/esm2022/lib/smart-grid/smart-grid.component.mjs +3 -3
- package/fesm2022/smartbit4all-ng-client.mjs +641 -461
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/smart-filter-editor/api/api/api.d.ts +3 -0
- package/lib/smart-filter-editor/api/api.module.d.ts +11 -0
- package/lib/smart-filter-editor/api/index.d.ts +6 -0
- package/lib/smart-filter-editor/api/model/filterExpressionBuilder.d.ts +16 -0
- package/lib/smart-filter-editor/api/model/filterExpressionFieldList.d.ts +2 -0
- package/lib/smart-filter-editor/api/model/models.d.ts +19 -0
- package/lib/smart-filter-editor/api/model/searchPageConfig.d.ts +73 -0
- package/lib/smart-filter-editor/filter-utils.d.ts +2 -0
- package/lib/smart-filter-editor/project.d.ts +3 -0
- package/lib/smart-filter-editor/smart-filter-editor-content/components/advanced/advanced-relation-button/advanced-relation-button.component.d.ts +11 -0
- package/lib/smart-filter-editor/smart-filter-editor-content/components/advanced/advanced-smart-filter-expression-item/advanced-smart-filter-expression-item.component.d.ts +11 -0
- package/lib/smart-filter-editor/smart-filter-editor-content/components/advanced/expression-editor-dialog/expression-editor-dialog.component.d.ts +14 -0
- package/lib/smart-filter-editor/smart-filter-editor-content/components/advanced/expression-editor-dialog/expression-editor-dialog.service.d.ts +21 -0
- package/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.d.ts +1 -1
- package/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component.d.ts +5 -2
- package/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.d.ts +8 -2
- package/lib/smart-filter-editor/smart-filter-editor.module.d.ts +11 -8
- package/lib/smart-filter-editor/smart-filter-editor.service.d.ts +7 -1
- package/package.json +1 -1
- package/smartbit4all-ng-client-6.0.34.tgz +0 -0
- package/smartbit4all-ng-client-6.0.32.tgz +0 -0
|
@@ -8,18 +8,22 @@ import { FilterExpressionBuilderUiModelTypeEnum } from '../api/model/filterExpre
|
|
|
8
8
|
import { FilterExpressionBuilderApiActions } from '../filterExpressionBuilderApiActions';
|
|
9
9
|
import { SmartObjectUtility } from '../../view-context/utility/smart-object-utility';
|
|
10
10
|
import { COMPONENT_LIBRARY, ComponentLibrary } from '../../view-context/utility/componentLibrary';
|
|
11
|
+
import { USE_ADVANCED_FILTER } from '../filter-utils';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "../../smart-form/services/smartform.layout-definition.service";
|
|
13
14
|
import * as i2 from "../../component-factory-service/component-factory-service.service";
|
|
14
|
-
import * as i3 from "
|
|
15
|
-
import * as i4 from "
|
|
16
|
-
import * as i5 from "
|
|
17
|
-
import * as i6 from "
|
|
18
|
-
import * as i7 from "
|
|
15
|
+
import * as i3 from "./components/advanced/expression-editor-dialog/expression-editor-dialog.service";
|
|
16
|
+
import * as i4 from "@angular/common";
|
|
17
|
+
import * as i5 from "../../view-context/smart-ui-action/ui-action-toolbar.component";
|
|
18
|
+
import * as i6 from "@angular/material/button";
|
|
19
|
+
import * as i7 from "./components/smart-filter-expression-items/smart-filter-expression-items.component";
|
|
20
|
+
import * as i8 from "../../view-context/utility/componentLibrary";
|
|
19
21
|
export class SmartFilterEditorContentComponent {
|
|
20
|
-
constructor(layoutService, cfService, compLib) {
|
|
22
|
+
constructor(layoutService, cfService, expressionEditorDialogService, useAdvancedFilter, compLib) {
|
|
21
23
|
this.layoutService = layoutService;
|
|
22
24
|
this.cfService = cfService;
|
|
25
|
+
this.expressionEditorDialogService = expressionEditorDialogService;
|
|
26
|
+
this.useAdvancedFilter = useAdvancedFilter;
|
|
23
27
|
this.compLib = compLib;
|
|
24
28
|
this._destroy$ = new Subject();
|
|
25
29
|
this.uiActionModels = [];
|
|
@@ -58,6 +62,19 @@ export class SmartFilterEditorContentComponent {
|
|
|
58
62
|
ngAfterViewInit() {
|
|
59
63
|
this.service.modelChanged.pipe(takeUntil(this._destroy$)).subscribe(() => this.setUp());
|
|
60
64
|
this.service.load();
|
|
65
|
+
if (this.useAdvancedFilter) {
|
|
66
|
+
this.service.itemSelected.pipe(takeUntil(this._destroy$)).subscribe((item) => {
|
|
67
|
+
if (item.expressionData?.currentOperation !== 'EXPRESSION') {
|
|
68
|
+
this.expressionEditorDialogService.setDataAndOpenDialog(this.createFilterEditorForm());
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
this.expressionEditorDialogService.saveEvent
|
|
72
|
+
.pipe(takeUntil(this._destroy$))
|
|
73
|
+
.subscribe((data) => {
|
|
74
|
+
this.service.model.selectedField = data;
|
|
75
|
+
this.updateFilterExpression();
|
|
76
|
+
});
|
|
77
|
+
}
|
|
61
78
|
}
|
|
62
79
|
ngOnDestroy() {
|
|
63
80
|
this._destroy$.next();
|
|
@@ -103,8 +120,8 @@ export class SmartFilterEditorContentComponent {
|
|
|
103
120
|
let smartForm = {
|
|
104
121
|
direction: SmartFormWidgetDirection.ROW,
|
|
105
122
|
componentModel: { data: model },
|
|
106
|
-
useOnValueChangeEvent:
|
|
107
|
-
useOnBlurEvent:
|
|
123
|
+
useOnValueChangeEvent: !this.useAdvancedFilter,
|
|
124
|
+
useOnBlurEvent: !this.useAdvancedFilter,
|
|
108
125
|
widgets,
|
|
109
126
|
};
|
|
110
127
|
if (this.simpleFilterRef?.instance) {
|
|
@@ -195,27 +212,33 @@ export class SmartFilterEditorContentComponent {
|
|
|
195
212
|
}
|
|
196
213
|
}
|
|
197
214
|
constructForm() {
|
|
215
|
+
this.smartForm = this.createFilterEditorForm();
|
|
198
216
|
this.vcRef?.clear();
|
|
199
217
|
this.formCompRef?.destroy();
|
|
200
218
|
if (!this.vcRef) {
|
|
201
219
|
return;
|
|
202
220
|
}
|
|
221
|
+
this.formCompRef = this.cfService.createComponent(this.vcRef, SmartformComponent, new Map([['smartForm', this.smartForm]]));
|
|
222
|
+
this.service.setComplexToolbars(this.formCompRef.instance.getToolbars());
|
|
223
|
+
this.subscribeEditorFormChildrenEvents();
|
|
224
|
+
}
|
|
225
|
+
createFilterEditorForm() {
|
|
203
226
|
let generatedWidgets = this.layoutService.render({
|
|
204
227
|
layoutDefinitions: this.service.model?.selectedFieldEditor?.layoutDef?.widgets,
|
|
205
228
|
});
|
|
206
|
-
|
|
229
|
+
return {
|
|
207
230
|
direction: SmartFormWidgetDirection.ROW,
|
|
208
231
|
useOnBlurEvent: true,
|
|
209
232
|
useOnValueChangeEvent: true,
|
|
210
233
|
componentModel: { data: this.service.model?.selectedField },
|
|
211
234
|
widgets: generatedWidgets,
|
|
212
235
|
};
|
|
213
|
-
this.formCompRef = this.cfService.createComponent(this.vcRef, SmartformComponent, new Map([['smartForm', this.smartForm]]));
|
|
214
|
-
this.service.setComplexToolbars(this.formCompRef.instance.getToolbars());
|
|
215
|
-
this.subscribeEditorFormChildrenEvents();
|
|
216
236
|
}
|
|
217
237
|
save() {
|
|
218
238
|
this.formCompRef?.instance?.submitForm(false);
|
|
239
|
+
this.updateFilterExpression();
|
|
240
|
+
}
|
|
241
|
+
updateFilterExpression() {
|
|
219
242
|
this.service.peformWidgetAction({
|
|
220
243
|
code: 'UPDATE_FILTER_EXPRESSION',
|
|
221
244
|
params: {
|
|
@@ -271,13 +294,25 @@ export class SmartFilterEditorContentComponent {
|
|
|
271
294
|
};
|
|
272
295
|
return widget;
|
|
273
296
|
}
|
|
274
|
-
|
|
275
|
-
|
|
297
|
+
async unSelectItems(event) {
|
|
298
|
+
event.stopPropagation();
|
|
299
|
+
await this.service.peformWidgetAction({
|
|
300
|
+
code: 'SELECT_FIELD',
|
|
301
|
+
params: {},
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterEditorContentComponent, deps: [{ token: i1.SmartformLayoutDefinitionService }, { token: i2.ComponentFactoryService }, { token: i3.ExpressionEditorDialogService }, { token: USE_ADVANCED_FILTER, optional: true }, { token: COMPONENT_LIBRARY, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
305
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: { service: "service" }, viewQueries: [{ propertyName: "vcRef", first: true, predicate: ["form"], descendants: true, read: ViewContainerRef }, { propertyName: "simpleFilterVcRef", first: true, predicate: ["simpleFilterFromChild"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"smart-filter-editor-container\" *ngIf=\"service.model\">\r\n @if (service.model.model?.label) {\r\n <h3 class=\"smart-filter-editor-title\">{{ service.model.model?.label }}</h3>\r\n }\r\n\r\n <div *ngIf=\"service.model?.type === type.SIMPLE; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"smart-filter-editor-expressionsContainer\">\r\n <ng-template #simpleFilterFromChild></ng-template>\r\n <!-- #simpleFilterFromChild [smartForm]=\"simpleFilterForm\"></smartform> -->\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"smart-filter-editor-uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"smart-filter-editor-withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"smart-filter-editor-withParametersContainer\">\r\n <div\r\n class=\"smart-filter-editor-expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n (click)=\"unSelectItems($event)\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model.model?.workplaceList)!.filters\"\r\n [service]=\"service\"\r\n ></app-expression-items>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n !useAdvancedFilter ||\r\n service.model.selectedField?.expressionData?.currentOperation === 'EXPRESSION'\r\n \"\r\n class=\"smart-filter-editor-expressionEditorContainer\"\r\n >\r\n <!-- <smartform #form [smartForm]=\"smartForm\"></smartform> -->\r\n <ng-template #form></ng-template>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".smart-filter-editor-container{display:flex;flex-direction:column;overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.smart-filter-editor-uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color);display:flex;flex-direction:row;gap:1rem}.smart-filter-editor-withoutParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.smart-filter-editor-withParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.smart-filter-editor-expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.SmartFilterExpressionItemsComponent, selector: "app-expression-items", inputs: ["items", "service"] }] }); }
|
|
276
306
|
}
|
|
277
307
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterEditorContentComponent, decorators: [{
|
|
278
308
|
type: Component,
|
|
279
|
-
args: [{ selector: 'smart-filter-expression-editor', template: "<div class=\"smart-filter-editor-container\" *ngIf=\"service.model\">\r\n @if (service.model.model?.label) {\r\n <h3 class=\"smart-filter-editor-title\">{{ service.model.model?.label }}</h3>\r\n }\r\n\r\n <div *ngIf=\"service.model?.type === type.SIMPLE; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"smart-filter-editor-expressionsContainer\">\r\n <ng-template #simpleFilterFromChild></ng-template>\r\n <!-- #simpleFilterFromChild [smartForm]=\"simpleFilterForm\"></smartform> -->\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"smart-filter-editor-uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"smart-filter-editor-withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"smart-filter-editor-withParametersContainer\">\r\n <div\r\n class=\"smart-filter-editor-expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model.model?.workplaceList)!.filters\"\r\n [service]=\"service\"\r\n ></app-expression-items>\r\n </div>\r\n <div class=\"smart-filter-editor-expressionEditorContainer\">\r\n <!-- <smartform #form [smartForm]=\"smartForm\"></smartform> -->\r\n <ng-template #form></ng-template>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".smart-filter-editor-container{display:flex;flex-direction:column;overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.smart-filter-editor-uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color);display:flex;flex-direction:row;gap:1rem}.smart-filter-editor-withoutParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.smart-filter-editor-withParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.smart-filter-editor-expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"] }]
|
|
280
|
-
}], ctorParameters: () => [{ type: i1.SmartformLayoutDefinitionService }, { type: i2.ComponentFactoryService }, { type:
|
|
309
|
+
args: [{ selector: 'smart-filter-expression-editor', template: "<div class=\"smart-filter-editor-container\" *ngIf=\"service.model\">\r\n @if (service.model.model?.label) {\r\n <h3 class=\"smart-filter-editor-title\">{{ service.model.model?.label }}</h3>\r\n }\r\n\r\n <div *ngIf=\"service.model?.type === type.SIMPLE; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"smart-filter-editor-expressionsContainer\">\r\n <ng-template #simpleFilterFromChild></ng-template>\r\n <!-- #simpleFilterFromChild [smartForm]=\"simpleFilterForm\"></smartform> -->\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"smart-filter-editor-uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"smart-filter-editor-withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"smart-filter-editor-withParametersContainer\">\r\n <div\r\n class=\"smart-filter-editor-expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n (click)=\"unSelectItems($event)\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model.model?.workplaceList)!.filters\"\r\n [service]=\"service\"\r\n ></app-expression-items>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n !useAdvancedFilter ||\r\n service.model.selectedField?.expressionData?.currentOperation === 'EXPRESSION'\r\n \"\r\n class=\"smart-filter-editor-expressionEditorContainer\"\r\n >\r\n <!-- <smartform #form [smartForm]=\"smartForm\"></smartform> -->\r\n <ng-template #form></ng-template>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".smart-filter-editor-container{display:flex;flex-direction:column;overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.smart-filter-editor-uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color);display:flex;flex-direction:row;gap:1rem}.smart-filter-editor-withoutParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.smart-filter-editor-withParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.smart-filter-editor-expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"] }]
|
|
310
|
+
}], ctorParameters: () => [{ type: i1.SmartformLayoutDefinitionService }, { type: i2.ComponentFactoryService }, { type: i3.ExpressionEditorDialogService }, { type: undefined, decorators: [{
|
|
311
|
+
type: Inject,
|
|
312
|
+
args: [USE_ADVANCED_FILTER]
|
|
313
|
+
}, {
|
|
314
|
+
type: Optional
|
|
315
|
+
}] }, { type: i8.ComponentLibrary, decorators: [{
|
|
281
316
|
type: Inject,
|
|
282
317
|
args: [COMPONENT_LIBRARY]
|
|
283
318
|
}, {
|
|
@@ -291,4 +326,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
291
326
|
type: ViewChild,
|
|
292
327
|
args: ['simpleFilterFromChild', { read: ViewContainerRef }]
|
|
293
328
|
}] } });
|
|
294
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZpbHRlci1lZGl0b3Ivc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixTQUFTLEVBRVQsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUsxRSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUVyRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUs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QUU7Z0JBQzdDLE9BQU87b0JBQ0wsR0FBRyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFLO29CQUNwRCxLQUFLLEVBQUUsS0FBSyxDQUFDLFlBQVk7b0JBQ3pCLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxJQUFJO29CQUM5QixLQUFLLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUk7aUJBQ3RELENBQUM7WUFDSixDQUFDLENBQUM7WUFDRixTQUFTO1lBQ1QsbUJBQW1CLEVBQUU7Z0JBQ25CLFNBQVMsRUFBRSxJQUFJO2FBQ2hCO1NBQ0YsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7K0dBbllVLGlDQUFpQyx5R0FvQmxDLGlCQUFpQjttR0FwQmhCLGlDQUFpQyxnTEFPakIsZ0JBQWdCLHFIQUlDLGdCQUFnQiw2QkNsRDlELG1vRUFtREE7OzRGRFphLGlDQUFpQztrQkFMN0MsU0FBUzsrQkFDRSxnQ0FBZ0M7OzBCQXdCdkMsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUFHLFFBQVE7eUNBbEI3QixPQUFPO3NCQUFmLEtBQUs7Z0JBS3lDLEtBQUs7c0JBQW5ELFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUs3QyxpQkFBaUI7c0JBRGhCLFNBQVM7dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudFJlZixcclxuICBJbmplY3RvcixcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPcHRpb25hbCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NoaWxkcmVuLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5U2VydmljZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudC1mYWN0b3J5LXNlcnZpY2UvY29tcG9uZW50LWZhY3Rvcnktc2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZSB9IGZyb20gJy4uLy4uL3NtYXJ0LWZpbHRlci9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbiB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vYXBpL21vZGVsL3NtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbic7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybVdpZGdldFR5cGUgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRmb3JtTGF5b3V0RGVmaW5pdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3NlcnZpY2VzL3NtYXJ0Zm9ybS5sYXlvdXQtZGVmaW5pdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRmb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9zbWFydGZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRGb3JtV2lkZ2V0IH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9zbWFydGZvcm0uZm9ybS1tb2RlbCc7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybSwgU29waGlzdGljYXRlZFZhbHVlQ2hhbmdlLCBWYWx1ZSB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vc21hcnRmb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgVWlBY3Rpb24gfSBmcm9tICcuLi8uLi92aWV3LWNvbnRleHQvYXBpL21vZGVsL3VpQWN0aW9uJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4uLy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsVHlwZUVudW0gfSBmcm9tICcuLi9hcGkvbW9kZWwvZmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkZpZWxkIH0gZnJvbSAnLi4vYXBpL21vZGVsL2ZpbHRlckV4cHJlc3Npb25GaWVsZCc7XHJcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyQXBpQWN0aW9ucyB9IGZyb20gJy4uL2ZpbHRlckV4cHJlc3Npb25CdWlsZGVyQXBpQWN0aW9ucyc7XHJcbmltcG9ydCB7IElTbWFydEZpbHRlckVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi9zbWFydC1maWx0ZXItZWRpdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydE9iamVjdFV0aWxpdHkgfSBmcm9tICcuLi8uLi92aWV3LWNvbnRleHQvdXRpbGl0eS9zbWFydC1vYmplY3QtdXRpbGl0eSc7XHJcbmltcG9ydCB7IENPTVBPTkVOVF9MSUJSQVJZLCBDb21wb25lbnRMaWJyYXJ5IH0gZnJvbSAnLi4vLi4vdmlldy1jb250ZXh0L3V0aWxpdHkvY29tcG9uZW50TGlicmFyeSc7XHJcbmltcG9ydCB7IFNtYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc21hcnQtY2xpZW50L3NtYXJ0LmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgQElucHV0KCkgc2VydmljZSE6IElTbWFydEZpbHRlckVkaXRvclNlcnZpY2U7XHJcblxyXG4gIHVpQWN0aW9uTW9kZWxzOiBVaUFjdGlvbk1vZGVsW10gPSBbXTtcclxuICBleHByZXNzaW9uVWlBY3Rpb25Nb2RlbHM6IFVpQWN0aW9uTW9kZWxbXSA9IFtdO1xyXG5cclxuICBAVmlld0NoaWxkKCdmb3JtJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIHZjUmVmPzogVmlld0NvbnRhaW5lclJlZjtcclxuICBmb3JtQ29tcFJlZj86IENvbXBvbmVudFJlZjxTbWFydGZvcm1Db21wb25lbnQ+O1xyXG4gIHNtYXJ0Rm9ybT86IFNtYXJ0Rm9ybTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2ltcGxlRmlsdGVyRnJvbUNoaWxkJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXHJcbiAgc2ltcGxlRmlsdGVyVmNSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gIHNpbXBsZUZpbHRlclJlZj86IENvbXBvbmVudFJlZjxTbWFydGZvcm1Db21wb25lbnQ+O1xyXG5cclxuICB0eXBlID0gRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsVHlwZUVudW07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgY2ZTZXJ2aWNlOiBDb21wb25lbnRGYWN0b3J5U2VydmljZSxcclxuICAgIEBJbmplY3QoQ09NUE9ORU5UX0xJQlJBUlkpIEBPcHRpb25hbCgpIHB1YmxpYyBjb21wTGliPzogQ29tcG9uZW50TGlicmFyeVxyXG4gICkge31cclxuXHJcbiAgcHJpdmF0ZSBzdWJzcmNpYmVTaW1wbGVGb3JtQ2hpbGRyZW5FdmVudHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNpbXBsZUZpbHRlclJlZiEuaW5zdGFuY2Uub25CbHVyU3ViamVjdCEucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNhdmVGaWx0ZXIoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zaW1wbGVGaWx0ZXJSZWYhLmluc3RhbmNlLnNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZT8ucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxyXG4gICAgKS5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jb21wTGliID09PSBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcpIHtcclxuICAgICAgICBpZiAoY2hhbmdlLmtpbmQgPT09ICdzZWxlY3Rpb24nKSB7XHJcbiAgICAgICAgICB0aGlzLnNhdmVGaWx0ZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGNoYW5nZS5raW5kID09PSAnc2VsZWN0aW9uJyAmJiAhY2hhbmdlLmtleS5pbmNsdWRlcygnc2VsZWN0ZWRWYWx1ZXMnKSkge1xyXG4gICAgICAgICAgdGhpcy5zYXZlRmlsdGVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaWJlRWRpdG9yRm9ybUNoaWxkcmVuRXZlbnRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtQ29tcFJlZj8uaW5zdGFuY2UhLm9uQmx1clN1YmplY3QhLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5zYXZlKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmZvcm1Db21wUmVmIS5pbnN0YW5jZSEuc29waGlzdGljYXRlZFZhbHVlQ2hhbmdlPy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZShcclxuICAgICAgKGNoYW5nZTogU29waGlzdGljYXRlZFZhbHVlQ2hhbmdlKSA9PiB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgY2hhbmdlLmtleSA9PT0gJ2V4cHJlc3Npb25EYXRhLmN1cnJlbnRPcGVyYXRpb24nIHx8XHJcbiAgICAgICAgICBjaGFuZ2Uua2V5ID09PSAnZXhwcmVzc2lvbkRhdGEub3BlcmFuZDIuc2VsZWN0ZWRPYmplY3RzJ1xyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy5zYXZlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5tb2RlbENoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zZXRVcCgpKTtcclxuICAgIHRoaXMuc2VydmljZS5sb2FkKCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldHVwU2ltcGxlRmlsdGVyKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnNpbXBsZUZpbHRlclZjUmVmKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgd2lkZ2V0czogU21hcnRGb3JtV2lkZ2V0PGFueT5bXSA9IFtdO1xyXG5cclxuICAgIGxldCBrZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICBsZXQgbW9kZWw6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuXHJcbiAgICB0aGlzLnNlcnZpY2UubW9kZWw/Lm1vZGVsPy53b3JrcGxhY2VMaXN0Py5maWx0ZXJzLmZvckVhY2goXHJcbiAgICAgIChmaWx0ZXJFeHByZXNzaW9uRmllbGQ6IEZpbHRlckV4cHJlc3Npb25GaWVsZCwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIG1vZGVsW2luZGV4XSA9IGZpbHRlckV4cHJlc3Npb25GaWVsZDtcclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPT09IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVEVYVF9GSUVMRF9MT09LVVBcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMi5zZWxlY3RlZE9iamVjdHMnO1xyXG4gICAgICAgICAgd2lkZ2V0cy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnN0cnVjdEZvcm1XaWRnZXQoXHJcbiAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5sYWJlbDIhLFxyXG4gICAgICAgICAgICAgIEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVEVYVF9GSUVMRF9MT09LVVAsXHJcbiAgICAgICAgICAgICAgW10sXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMj8uc2VsZWN0ZWRPYmplY3RzID8/IFtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChmaWx0ZXJFeHByZXNzaW9uRmllbGQud2lkZ2V0VHlwZSA9PT0gJ1NFTEVDVF9NVUxUSVBMRScpIHtcclxuICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMi5zZWxlY3RlZFZhbHVlcyc7XHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMiEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5wb3NzaWJsZVZhbHVlcyBhcyBWYWx1ZVtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDI/LnNlbGVjdGVkVmFsdWVzID8/IFtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gPT09ICdCRVRXRUVOJykge1xyXG4gICAgICAgICAga2V5ID0gaW5kZXggKyAnLmV4cHJlc3Npb25EYXRhLm9wZXJhbmQyLnZhbHVlQXNTdHJpbmcnO1xyXG4gICAgICAgICAgd2lkZ2V0cy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnN0cnVjdEZvcm1XaWRnZXQoXHJcbiAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5sYWJlbDIhLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC53aWRnZXRUeXBlID8/IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVEVYVF9GSUVMRCxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQucG9zc2libGVWYWx1ZXMgYXMgVmFsdWVbXSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQyPy52YWx1ZUFzU3RyaW5nID8/ICcnLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICBrZXkgPSBpbmRleCArICcuZXhwcmVzc2lvbkRhdGEub3BlcmFuZDMudmFsdWVBc1N0cmluZyc7XHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMyEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5wb3NzaWJsZVZhbHVlcyBhcyBWYWx1ZVtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDM/LnZhbHVlQXNTdHJpbmcgPz8gJycsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnRvb2xiYXJJZFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDIpIHtcclxuICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMi52YWx1ZUFzU3RyaW5nJztcclxuXHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMiEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5wb3NzaWJsZVZhbHVlcyBhcyBWYWx1ZVtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDI/LnZhbHVlQXNTdHJpbmcgPz8gJycsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnRvb2xiYXJJZFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZmlsdGVyRXhwcmVzc2lvbkZpZWxkPy5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDMpIHtcclxuICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMy52YWx1ZUFzU3RyaW5nJztcclxuXHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMyEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxyXG5cclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQucG9zc2libGVWYWx1ZXMgYXMgVmFsdWVbXSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQzPy52YWx1ZUFzU3RyaW5nID8/ICcnLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgbGV0IHNtYXJ0Rm9ybSA9IHtcclxuICAgICAgZGlyZWN0aW9uOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uUk9XLFxyXG4gICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiBtb2RlbCB9LFxyXG4gICAgICB1c2VPblZhbHVlQ2hhbmdlRXZlbnQ6IHRydWUsXHJcbiAgICAgIHVzZU9uQmx1ckV2ZW50OiB0cnVlLFxyXG4gICAgICB3aWRnZXRzLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodGhpcy5zaW1wbGVGaWx0ZXJSZWY/Lmluc3RhbmNlKSB7XHJcbiAgICAgIC8vIHdlIGFscmVhZHkgaGF2ZSBhIFNtYXJ0Rm9ybUNvbXBvbmVudCwgdXNlIHRoYXRcclxuICAgICAgbGV0IGNvbXAgPSB0aGlzLnNpbXBsZUZpbHRlclJlZj8uaW5zdGFuY2U7XHJcblxyXG4gICAgICBpZiAoY29tcC5zbWFydEZvcm0gJiYgdGhpcy5jb21wYXJlV2lkZ2V0cyhjb21wLnNtYXJ0Rm9ybS53aWRnZXRzLCBzbWFydEZvcm0ud2lkZ2V0cykpIHtcclxuICAgICAgICAvLyB0aGVyZSdzIG5vIHN0cnVjdHVyYWwgY2hhbmdlLCBkb24ndCByZWNyZWF0ZSBTbWFydEZvcm1Db21wb25lbnRcclxuICAgICAgICBjb21wLnNtYXJ0Rm9ybS5jb21wb25lbnRNb2RlbCA9IHNtYXJ0Rm9ybS5jb21wb25lbnRNb2RlbDtcclxuICAgICAgICBjb21wLmNvbnN0cnVjdEZvcm0oKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNpbXBsZUZpbHRlclZjUmVmPy5jbGVhcigpO1xyXG4gICAgdGhpcy5zaW1wbGVGaWx0ZXJSZWY/LmRlc3Ryb3koKTtcclxuXHJcbiAgICB0aGlzLnNpbXBsZUZpbHRlclJlZiA9IHRoaXMuY2ZTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChcclxuICAgICAgdGhpcy5zaW1wbGVGaWx0ZXJWY1JlZiEsXHJcbiAgICAgIFNtYXJ0Zm9ybUNvbXBvbmVudCxcclxuICAgICAgbmV3IE1hcDxzdHJpbmcsIGFueT4oW1snc21hcnRGb3JtJywgc21hcnRGb3JtXV0pXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuc3Vic3JjaWJlU2ltcGxlRm9ybUNoaWxkcmVuRXZlbnRzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbXBhcmVXaWRnZXRzKHdzMTogU21hcnRGb3JtV2lkZ2V0PGFueT5bXSwgd3MyOiBTbWFydEZvcm1XaWRnZXQ8YW55PltdKTogYm9vbGVhbiB7XHJcbiAgICBpZiAod3MxLmxlbmd0aCAhPT0gd3MyLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHdzMS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoIXRoaXMuY29tcGFyZVdpZGdldCh3czFbaV0sIHdzMltpXSkpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb21wYXJlV2lkZ2V0KHcxOiBTbWFydEZvcm1XaWRnZXQ8YW55PiwgdzI6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gU21hcnRPYmplY3RVdGlsaXR5LmNvbXBhcmVCeVByb3BzKHcxLCB3MiwgW1xyXG4gICAgICAnZXJyb3InLFxyXG4gICAgICAna2V5JyxcclxuICAgICAgJ2xhYmVsJyxcclxuICAgICAgJ3R5cGUnLFxyXG4gICAgICAvLyAndmFsdWUnLCA8LSB2YWx1ZSB3aWxsIGJlIHNldCBieSBjb21wb25lbnRNb2RlbC5kYXRhIVxyXG4gICAgICAnc2hvd0xhYmVsJyxcclxuICAgICAgJ3ZhbHVlTGlzdCcsXHJcbiAgICAgICd0b29sYmFySWQnLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RGaWx0ZXJGaWVsZEZyb21Gb3JtTW9kZWwoKTogdm9pZCB7XHJcbiAgICBsZXQgc2ltcGxlRmlsdGVyID0gdGhpcy5zaW1wbGVGaWx0ZXJSZWY/Lmluc3RhbmNlPy5zdWJtaXRGb3JtKGZhbHNlKS5jb21wb25lbnRNb2RlbC5kYXRhO1xyXG4gICAgbGV0IHJlc3VsdDogRmlsdGVyRXhwcmVzc2lvbkZpZWxkW10gPSBbXTtcclxuXHJcbiAgICBPYmplY3Qua2V5cyhzaW1wbGVGaWx0ZXIpLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHJlc3VsdC5wdXNoKHNpbXBsZUZpbHRlcltrZXldKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXJ2aWNlLm1vZGVsIS5tb2RlbCEud29ya3BsYWNlTGlzdCEuZmlsdGVycyA9IHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHNldFVwKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VydmljZS5tb2RlbD8udHlwZSA9PT0gdGhpcy50eXBlLlNJTVBMRSkge1xyXG4gICAgICB0aGlzLnNldHVwU2ltcGxlRmlsdGVyKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvbnN0cnVjdFVpQWN0aW9uTW9kZWxzKCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5zZXJ2aWNlPy5tb2RlbD8uc2VsZWN0ZWRGaWVsZEVkaXRvcikge1xyXG4gICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudmNSZWY/LmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5mb3JtQ29tcFJlZj8uZGVzdHJveSgpO1xyXG4gICAgICAgIHRoaXMuc21hcnRGb3JtID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RVaUFjdGlvbk1vZGVscygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlcnZpY2UubW9kZWw/LnBvc3NpYmxlQWN0aW9ucykge1xyXG4gICAgICB0aGlzLnVpQWN0aW9uTW9kZWxzID0gdGhpcy5zZXJ2aWNlLm1vZGVsLnBvc3NpYmxlQWN0aW9ucy5tYXAoKGFjdGlvbjogVWlBY3Rpb24pID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgc2VydmljZVRvVXNlOiB0aGlzLnNlcnZpY2UsXHJcbiAgICAgICAgICB1aUFjdGlvbjogYWN0aW9uLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGRFZGl0b3I/LnBvc3NpYmxlQWN0aW9ucykge1xyXG4gICAgICB0aGlzLmV4cHJlc3Npb25VaUFjdGlvbk1vZGVscyA9IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZEVkaXRvci5wb3NzaWJsZUFjdGlvbnMubWFwKFxyXG4gICAgICAgICh1aUFjdGlvbjogVWlBY3Rpb24pID0+IHtcclxuICAgICAgICAgIGxldCBjb3BpZWRVaUFjdGlvbjogVWlBY3Rpb24gPSB7fTtcclxuICAgICAgICAgIE9iamVjdC5rZXlzKHVpQWN0aW9uKS5tYXAoKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIChjb3BpZWRVaUFjdGlvbiBhcyBhbnkpW2tleV0gPSAodWlBY3Rpb24gYXMgYW55KVtrZXldO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBjb3BpZWRVaUFjdGlvbi5wYXJhbXMgPSB7XHJcbiAgICAgICAgICAgIGZpZWxkOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgc2VydmljZVRvVXNlOiB0aGlzLnNlcnZpY2UsXHJcbiAgICAgICAgICAgIHVpQWN0aW9uOiBjb3BpZWRVaUFjdGlvbixcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0Rm9ybSgpOiB2b2lkIHtcclxuICAgIHRoaXMudmNSZWY/LmNsZWFyKCk7XHJcbiAgICB0aGlzLmZvcm1Db21wUmVmPy5kZXN0cm95KCk7XHJcblxyXG4gICAgaWYgKCF0aGlzLnZjUmVmKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZ2VuZXJhdGVkV2lkZ2V0czogU21hcnRGb3JtV2lkZ2V0PGFueT5bXSA9IHRoaXMubGF5b3V0U2VydmljZS5yZW5kZXIoe1xyXG4gICAgICBsYXlvdXREZWZpbml0aW9uczogdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkRWRpdG9yPy5sYXlvdXREZWY/LndpZGdldHMsXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnNtYXJ0Rm9ybSA9IHtcclxuICAgICAgZGlyZWN0aW9uOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uUk9XLFxyXG4gICAgICB1c2VPbkJsdXJFdmVudDogdHJ1ZSxcclxuICAgICAgdXNlT25WYWx1ZUNoYW5nZUV2ZW50OiB0cnVlLFxyXG4gICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQgfSxcclxuICAgICAgd2lkZ2V0czogZ2VuZXJhdGVkV2lkZ2V0cyxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5mb3JtQ29tcFJlZiA9IHRoaXMuY2ZTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChcclxuICAgICAgdGhpcy52Y1JlZiEsXHJcbiAgICAgIFNtYXJ0Zm9ybUNvbXBvbmVudCxcclxuICAgICAgbmV3IE1hcDxzdHJpbmcsIGFueT4oW1snc21hcnRGb3JtJywgdGhpcy5zbWFydEZvcm1dXSlcclxuICAgICk7XHJcbiAgICB0aGlzLnNlcnZpY2Uuc2V0Q29tcGxleFRvb2xiYXJzKHRoaXMuZm9ybUNvbXBSZWYuaW5zdGFuY2UuZ2V0VG9vbGJhcnMoKSk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpYmVFZGl0b3JGb3JtQ2hpbGRyZW5FdmVudHMoKTtcclxuICB9XHJcblxyXG4gIHNhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1Db21wUmVmPy5pbnN0YW5jZT8uc3VibWl0Rm9ybShmYWxzZSk7XHJcbiAgICB0aGlzLnNlcnZpY2UucGVmb3JtV2lkZ2V0QWN0aW9uKHtcclxuICAgICAgY29kZTogJ1VQREFURV9GSUxURVJfRVhQUkVTU0lPTicsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIG1vZGVsOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5wZWZvcm1XaWRnZXRBY3Rpb24oe1xyXG4gICAgICBjb2RlOiAnUkVNT1ZFX0ZJTFRFUl9FWFBSRVNTSU9OJyxcclxuICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgbW9kZWw6IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZCxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2F2ZUZpbHRlcigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuZXh0cmFjdEZpbHRlckZpZWxkRnJvbUZvcm1Nb2RlbCgpO1xyXG4gICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnBlcmZvcm1VaUFjdGlvblJlcXVlc3Qoe1xyXG4gICAgICBjb2RlOiBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlckFwaUFjdGlvbnMuU0FWRV9FWFBSRVNTSU9OX0ZJRUxEX0xJU1QsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIG1vZGVsOiB0aGlzLnNlcnZpY2UubW9kZWwhLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnN0cnVjdEZvcm1XaWRnZXQoXHJcbiAgICBrZXk6IHN0cmluZyxcclxuICAgIGxhYmVsOiBzdHJpbmcsXHJcbiAgICB3aWRnZXRUeXBlOiBGaWx0ZXJFeHByZXNzaW9uRmllbGRXaWRnZXRUeXBlLFxyXG4gICAgcG9zc2libGVWYWx1ZXM6IFZhbHVlW10sXHJcbiAgICB2YWx1ZTogYW55LFxyXG4gICAgdG9vbGJhcklkPzogc3RyaW5nXHJcbiAgKTogU21hcnRGb3JtV2lkZ2V0PGFueT4ge1xyXG4gICAgbGV0IHR5cGU6IGFueSA9IHdpZGdldFR5cGU7XHJcblxyXG4gICAgaWYgKHR5cGUgPT09IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuREFURSkge1xyXG4gICAgICB0eXBlID0gU21hcnRGb3JtV2lkZ2V0VHlwZS5EQVRFX1BJQ0tFUjtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5EQVRFX1RJTUUpIHtcclxuICAgICAgdHlwZSA9IFNtYXJ0Rm9ybVdpZGdldFR5cGUuREFURV9USU1FX1BJQ0tFUjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgd2lkZ2V0OiBTbWFydEZvcm1XaWRnZXQ8YW55PiA9IHtcclxuICAgICAgZXJyb3I6IHVuZGVmaW5lZCxcclxuICAgICAga2V5LFxyXG4gICAgICBsYWJlbCxcclxuICAgICAgdHlwZSxcclxuICAgICAgdmFsdWUsXHJcbiAgICAgIHNob3dMYWJlbDogdHJ1ZSxcclxuICAgICAgaXNGbG9hdExhYmVsOiB0cnVlLFxyXG4gICAgICB2YWx1ZUxpc3Q6IHBvc3NpYmxlVmFsdWVzLm1hcCgodmFsdWU6IFZhbHVlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGtleTogdmFsdWUub2JqZWN0VXJpID8gdmFsdWUub2JqZWN0VXJpIDogdmFsdWUuY29kZSEsXHJcbiAgICAgICAgICBsYWJlbDogdmFsdWUuZGlzcGxheVZhbHVlLFxyXG4gICAgICAgICAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5JVEVNLFxyXG4gICAgICAgICAgdmFsdWU6IHZhbHVlLm9iamVjdFVyaSA/IHZhbHVlLm9iamVjdFVyaSA6IHZhbHVlLmNvZGUsXHJcbiAgICAgICAgfTtcclxuICAgICAgfSksXHJcbiAgICAgIHRvb2xiYXJJZCxcclxuICAgICAgdGV4dEZpZWxkUHJvcGVydGllczoge1xyXG4gICAgICAgIGNsZWFyYWJsZTogdHJ1ZSxcclxuICAgICAgfSxcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHdpZGdldDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3ItY29udGFpbmVyXCIgKm5nSWY9XCJzZXJ2aWNlLm1vZGVsXCI+XHJcbiAgQGlmIChzZXJ2aWNlLm1vZGVsLm1vZGVsPy5sYWJlbCkge1xyXG4gICAgPGgzIGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci10aXRsZVwiPnt7IHNlcnZpY2UubW9kZWwubW9kZWw/LmxhYmVsIH19PC9oMz5cclxuICB9XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJzZXJ2aWNlLm1vZGVsPy50eXBlID09PSB0eXBlLlNJTVBMRTsgdGhlbiBzaW1wbGVGaWx0ZXI7IGVsc2UgY29tcGxleEZpbHRlclwiPjwvZGl2PlxyXG5cclxuICA8bmctdGVtcGxhdGUgI3NpbXBsZUZpbHRlcj5cclxuICAgIDxkaXYgY2xhc3M9XCJzbWFydC1maWx0ZXItZWRpdG9yLWV4cHJlc3Npb25zQ29udGFpbmVyXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2ltcGxlRmlsdGVyRnJvbUNoaWxkPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwhLS0gI3NpbXBsZUZpbHRlckZyb21DaGlsZCBbc21hcnRGb3JtXT1cInNpbXBsZUZpbHRlckZvcm1cIj48L3NtYXJ0Zm9ybT4gLS0+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy10ZW1wbGF0ZSAjY29tcGxleEZpbHRlcj5cclxuICAgIDxkaXYgY2xhc3M9XCJzbWFydC1maWx0ZXItZWRpdG9yLXVpQWN0aW9uc0JhclwiICpuZ0lmPVwiIXNlcnZpY2UubW9kZWw/LnJlYWRPbmx5XCI+XHJcbiAgICAgIDxzbWFydC11aS1hY3Rpb24tdG9vbGJhciBbdWlBY3Rpb25Nb2RlbHNdPVwidWlBY3Rpb25Nb2RlbHNcIj48L3NtYXJ0LXVpLWFjdGlvbi10b29sYmFyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2XHJcbiAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgc2VydmljZT8ubW9kZWw/Lm1vZGVsPy53b3JrcGxhY2VMaXN0Py5maWx0ZXJzPy5sZW5ndGg7XHJcbiAgICAgICAgdGhlbiB3aXRoUGFyYW1ldGVycztcclxuICAgICAgICBlbHNlIHdpdGhvdXRQYXJhbWV0ZXJzXHJcbiAgICAgIFwiXHJcbiAgICA+PC9kaXY+XHJcbiAgICA8bmctdGVtcGxhdGUgI3dpdGhvdXRQYXJhbWV0ZXJzPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci13aXRob3V0UGFyYW1ldGVyc0NvbnRhaW5lclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWJvZHlcIj4gTcOpZyBuaW5jcyBtZWdhZHZhIHBhcmFtw6l0ZXIgPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgI3dpdGhQYXJhbWV0ZXJzPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci13aXRoUGFyYW1ldGVyc0NvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci1leHByZXNzaW9uc0NvbnRhaW5lclwiXHJcbiAgICAgICAgICAqbmdJZj1cInNlcnZpY2U/Lm1vZGVsPy5tb2RlbD8ud29ya3BsYWNlTGlzdD8uZmlsdGVycz8ubGVuZ3RoXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8YXBwLWV4cHJlc3Npb24taXRlbXNcclxuICAgICAgICAgICAgW2l0ZW1zXT1cIihzZXJ2aWNlLm1vZGVsLm1vZGVsPy53b3JrcGxhY2VMaXN0KSEuZmlsdGVyc1wiXHJcbiAgICAgICAgICAgIFtzZXJ2aWNlXT1cInNlcnZpY2VcIlxyXG4gICAgICAgICAgPjwvYXBwLWV4cHJlc3Npb24taXRlbXM+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3ItZXhwcmVzc2lvbkVkaXRvckNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPCEtLSA8c21hcnRmb3JtICNmb3JtIFtzbWFydEZvcm1dPVwic21hcnRGb3JtXCI+PC9zbWFydGZvcm0+IC0tPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNmb3JtPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwic21hcnRGb3JtXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInJlbW92ZSgpXCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCI+VMO2cmzDqXM8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
329
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZpbHRlci1lZGl0b3Ivc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixTQUFTLEVBRVQsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUsxRSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUVyRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUs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ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEluamVjdG9yLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50LWZhY3Rvcnktc2VydmljZS9jb21wb25lbnQtZmFjdG9yeS1zZXJ2aWNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uRmllbGRXaWRnZXRUeXBlIH0gZnJvbSAnLi4vLi4vc21hcnQtZmlsdGVyL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9hcGkvbW9kZWwvc21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uJztcclxuaW1wb3J0IHsgU21hcnRGb3JtV2lkZ2V0VHlwZSB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vc2VydmljZXMvc21hcnRmb3JtLmxheW91dC1kZWZpbml0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydGZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydEZvcm1XaWRnZXQgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5mb3JtLW1vZGVsJztcclxuaW1wb3J0IHsgU21hcnRGb3JtLCBTb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2UsIFZhbHVlIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9zbWFydGZvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbiB9IGZyb20gJy4uLy4uL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvdWlBY3Rpb24nO1xyXG5pbXBvcnQgeyBVaUFjdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlclVpTW9kZWxUeXBlRW51bSB9IGZyb20gJy4uL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uQnVpbGRlclVpTW9kZWwnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uRmllbGQgfSBmcm9tICcuLi9hcGkvbW9kZWwvZmlsdGVyRXhwcmVzc2lvbkZpZWxkJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJBcGlBY3Rpb25zIH0gZnJvbSAnLi4vZmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJBcGlBY3Rpb25zJztcclxuaW1wb3J0IHsgSVNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LWZpbHRlci1lZGl0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IFNtYXJ0T2JqZWN0VXRpbGl0eSB9IGZyb20gJy4uLy4uL3ZpZXctY29udGV4dC91dGlsaXR5L3NtYXJ0LW9iamVjdC11dGlsaXR5JztcclxuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnkgfSBmcm9tICcuLi8uLi92aWV3LWNvbnRleHQvdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcclxuaW1wb3J0IHsgU21hcnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zbWFydC1jbGllbnQvc21hcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXhwcmVzc2lvbkVkaXRvckRpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2NvbXBvbmVudHMvYWR2YW5jZWQvZXhwcmVzc2lvbi1lZGl0b3ItZGlhbG9nL2V4cHJlc3Npb24tZWRpdG9yLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVVNFX0FEVkFOQ0VEX0ZJTFRFUiB9IGZyb20gJy4uL2ZpbHRlci11dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgQElucHV0KCkgc2VydmljZSE6IElTbWFydEZpbHRlckVkaXRvclNlcnZpY2U7XHJcblxyXG4gIHVpQWN0aW9uTW9kZWxzOiBVaUFjdGlvbk1vZGVsW10gPSBbXTtcclxuICBleHByZXNzaW9uVWlBY3Rpb25Nb2RlbHM6IFVpQWN0aW9uTW9kZWxbXSA9IFtdO1xyXG5cclxuICBAVmlld0NoaWxkKCdmb3JtJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIHZjUmVmPzogVmlld0NvbnRhaW5lclJlZjtcclxuICBmb3JtQ29tcFJlZj86IENvbXBvbmVudFJlZjxTbWFydGZvcm1Db21wb25lbnQ+O1xyXG4gIHNtYXJ0Rm9ybT86IFNtYXJ0Rm9ybTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2ltcGxlRmlsdGVyRnJvbUNoaWxkJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXHJcbiAgc2ltcGxlRmlsdGVyVmNSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gIHNpbXBsZUZpbHRlclJlZj86IENvbXBvbmVudFJlZjxTbWFydGZvcm1Db21wb25lbnQ+O1xyXG5cclxuICB0eXBlID0gRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsVHlwZUVudW07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgY2ZTZXJ2aWNlOiBDb21wb25lbnRGYWN0b3J5U2VydmljZSxcclxuICAgIHByaXZhdGUgZXhwcmVzc2lvbkVkaXRvckRpYWxvZ1NlcnZpY2U6IEV4cHJlc3Npb25FZGl0b3JEaWFsb2dTZXJ2aWNlLFxyXG4gICAgQEluamVjdChVU0VfQURWQU5DRURfRklMVEVSKSBAT3B0aW9uYWwoKSByZWFkb25seSB1c2VBZHZhbmNlZEZpbHRlcj86IGJvb2xlYW4sXHJcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29tcExpYj86IENvbXBvbmVudExpYnJhcnlcclxuICApIHt9XHJcblxyXG4gIHByaXZhdGUgc3Vic3JjaWJlU2ltcGxlRm9ybUNoaWxkcmVuRXZlbnRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaW1wbGVGaWx0ZXJSZWYhLmluc3RhbmNlLm9uQmx1clN1YmplY3QhLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5zYXZlRmlsdGVyKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2ltcGxlRmlsdGVyUmVmIS5pbnN0YW5jZS5zb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2U/LnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcclxuICAgICkuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcclxuICAgICAgaWYgKHRoaXMuY29tcExpYiA9PT0gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XHJcbiAgICAgICAgaWYgKGNoYW5nZS5raW5kID09PSAnc2VsZWN0aW9uJykge1xyXG4gICAgICAgICAgdGhpcy5zYXZlRmlsdGVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChjaGFuZ2Uua2luZCA9PT0gJ3NlbGVjdGlvbicgJiYgIWNoYW5nZS5rZXkuaW5jbHVkZXMoJ3NlbGVjdGVkVmFsdWVzJykpIHtcclxuICAgICAgICAgIHRoaXMuc2F2ZUZpbHRlcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmliZUVkaXRvckZvcm1DaGlsZHJlbkV2ZW50cygpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUNvbXBSZWY/Lmluc3RhbmNlIS5vbkJsdXJTdWJqZWN0IS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2F2ZSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5mb3JtQ29tcFJlZiEuaW5zdGFuY2UhLnNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZT8ucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoXHJcbiAgICAgIChjaGFuZ2U6IFNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZSkgPT4ge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGNoYW5nZS5rZXkgPT09ICdleHByZXNzaW9uRGF0YS5jdXJyZW50T3BlcmF0aW9uJyB8fFxyXG4gICAgICAgICAgY2hhbmdlLmtleSA9PT0gJ2V4cHJlc3Npb25EYXRhLm9wZXJhbmQyLnNlbGVjdGVkT2JqZWN0cydcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuc2F2ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2UubW9kZWxDaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2V0VXAoKSk7XHJcbiAgICB0aGlzLnNlcnZpY2UubG9hZCgpO1xyXG4gICAgaWYgKHRoaXMudXNlQWR2YW5jZWRGaWx0ZXIpIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlLml0ZW1TZWxlY3RlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoaXRlbSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLmV4cHJlc3Npb25EYXRhPy5jdXJyZW50T3BlcmF0aW9uICE9PSAnRVhQUkVTU0lPTicpIHtcclxuICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbkVkaXRvckRpYWxvZ1NlcnZpY2Uuc2V0RGF0YUFuZE9wZW5EaWFsb2codGhpcy5jcmVhdGVGaWx0ZXJFZGl0b3JGb3JtKCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuZXhwcmVzc2lvbkVkaXRvckRpYWxvZ1NlcnZpY2Uuc2F2ZUV2ZW50XHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNlcnZpY2UubW9kZWwhLnNlbGVjdGVkRmllbGQgPSBkYXRhO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJFeHByZXNzaW9uKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldHVwU2ltcGxlRmlsdGVyKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnNpbXBsZUZpbHRlclZjUmVmKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgd2lkZ2V0czogU21hcnRGb3JtV2lkZ2V0PGFueT5bXSA9IFtdO1xyXG5cclxuICAgIGxldCBrZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICBsZXQgbW9kZWw6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuXHJcbiAgICB0aGlzLnNlcnZpY2UubW9kZWw/Lm1vZGVsPy53b3JrcGxhY2VMaXN0Py5maWx0ZXJzLmZvckVhY2goXHJcbiAgICAgIChmaWx0ZXJFeHByZXNzaW9uRmllbGQ6IEZpbHRlckV4cHJlc3Npb25GaWVsZCwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIG1vZGVsW2luZGV4XSA9IGZpbHRlckV4cHJlc3Npb25GaWVsZDtcclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPT09IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVEVYVF9GSUVMRF9MT09LVVBcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMi5zZWxlY3RlZE9iamVjdHMnO1xyXG4gICAgICAgICAgd2lkZ2V0cy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnN0cnVjdEZvcm1XaWRnZXQoXHJcbiAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5sYWJlbDIhLFxyXG4gICAgICAgICAgICAgIEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVEVYVF9GSUVMRF9MT09LVVAsXHJcbiAgICAgICAgICAgICAgW10sXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMj8uc2VsZWN0ZWRPYmplY3RzID8/IFtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChmaWx0ZXJFeHByZXNzaW9uRmllbGQud2lkZ2V0VHlwZSA9PT0gJ1NFTEVDVF9NVUxUSVBMRScpIHtcclxuICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMi5zZWxlY3RlZFZhbHVlcyc7XHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMiEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5wb3NzaWJsZVZhbHVlcyBhcyBWYWx1ZVtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDI/LnNlbGVjdGVkVmFsdWVzID8/IFtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gPT09ICdCRVRXRUVOJykge1xyXG4gICAgICAgICAga2V5ID0gaW5kZXggKyAnLmV4cHJlc3Npb25EYXRhLm9wZXJhbmQyLnZhbHVlQXNTdHJpbmcnO1xyXG4gICAgICAgICAgd2lkZ2V0cy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnN0cnVjdEZvcm1XaWRnZXQoXHJcbiAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5sYWJlbDIhLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC53aWRnZXRUeXBlID8/IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVEVYVF9GSUVMRCxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQucG9zc2libGVWYWx1ZXMgYXMgVmFsdWVbXSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQyPy52YWx1ZUFzU3RyaW5nID8/ICcnLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICBrZXkgPSBpbmRleCArICcuZXhwcmVzc2lvbkRhdGEub3BlcmFuZDMudmFsdWVBc1N0cmluZyc7XHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMyEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5wb3NzaWJsZVZhbHVlcyBhcyBWYWx1ZVtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDM/LnZhbHVlQXNTdHJpbmcgPz8gJycsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnRvb2xiYXJJZFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDIpIHtcclxuICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMi52YWx1ZUFzU3RyaW5nJztcclxuXHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMiEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5wb3NzaWJsZVZhbHVlcyBhcyBWYWx1ZVtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDI/LnZhbHVlQXNTdHJpbmcgPz8gJycsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnRvb2xiYXJJZFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZmlsdGVyRXhwcmVzc2lvbkZpZWxkPy5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDMpIHtcclxuICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMy52YWx1ZUFzU3RyaW5nJztcclxuXHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMyEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxyXG5cclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQucG9zc2libGVWYWx1ZXMgYXMgVmFsdWVbXSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQzPy52YWx1ZUFzU3RyaW5nID8/ICcnLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgbGV0IHNtYXJ0Rm9ybSA9IHtcclxuICAgICAgZGlyZWN0aW9uOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uUk9XLFxyXG4gICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiBtb2RlbCB9LFxyXG4gICAgICB1c2VPblZhbHVlQ2hhbmdlRXZlbnQ6ICF0aGlzLnVzZUFkdmFuY2VkRmlsdGVyLFxyXG4gICAgICB1c2VPbkJsdXJFdmVudDogIXRoaXMudXNlQWR2YW5jZWRGaWx0ZXIsXHJcbiAgICAgIHdpZGdldHMsXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLnNpbXBsZUZpbHRlclJlZj8uaW5zdGFuY2UpIHtcclxuICAgICAgLy8gd2UgYWxyZWFkeSBoYXZlIGEgU21hcnRGb3JtQ29tcG9uZW50LCB1c2UgdGhhdFxyXG4gICAgICBsZXQgY29tcCA9IHRoaXMuc2ltcGxlRmlsdGVyUmVmPy5pbnN0YW5jZTtcclxuXHJcbiAgICAgIGlmIChjb21wLnNtYXJ0Rm9ybSAmJiB0aGlzLmNvbXBhcmVXaWRnZXRzKGNvbXAuc21hcnRGb3JtLndpZGdldHMsIHNtYXJ0Rm9ybS53aWRnZXRzKSkge1xyXG4gICAgICAgIC8vIHRoZXJlJ3Mgbm8gc3RydWN0dXJhbCBjaGFuZ2UsIGRvbid0IHJlY3JlYXRlIFNtYXJ0Rm9ybUNvbXBvbmVudFxyXG4gICAgICAgIGNvbXAuc21hcnRGb3JtLmNvbXBvbmVudE1vZGVsID0gc21hcnRGb3JtLmNvbXBvbmVudE1vZGVsO1xyXG4gICAgICAgIGNvbXAuY29uc3RydWN0Rm9ybSgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2ltcGxlRmlsdGVyVmNSZWY/LmNsZWFyKCk7XHJcbiAgICB0aGlzLnNpbXBsZUZpbHRlclJlZj8uZGVzdHJveSgpO1xyXG5cclxuICAgIHRoaXMuc2ltcGxlRmlsdGVyUmVmID0gdGhpcy5jZlNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KFxyXG4gICAgICB0aGlzLnNpbXBsZUZpbHRlclZjUmVmISxcclxuICAgICAgU21hcnRmb3JtQ29tcG9uZW50LFxyXG4gICAgICBuZXcgTWFwPHN0cmluZywgYW55PihbWydzbWFydEZvcm0nLCBzbWFydEZvcm1dXSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5zdWJzcmNpYmVTaW1wbGVGb3JtQ2hpbGRyZW5FdmVudHMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29tcGFyZVdpZGdldHMod3MxOiBTbWFydEZvcm1XaWRnZXQ8YW55PltdLCB3czI6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+W10pOiBib29sZWFuIHtcclxuICAgIGlmICh3czEubGVuZ3RoICE9PSB3czIubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgd3MxLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICghdGhpcy5jb21wYXJlV2lkZ2V0KHdzMVtpXSwgd3MyW2ldKSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbXBhcmVXaWRnZXQodzE6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+LCB3MjogU21hcnRGb3JtV2lkZ2V0PGFueT4pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBTbWFydE9iamVjdFV0aWxpdHkuY29tcGFyZUJ5UHJvcHModzEsIHcyLCBbXHJcbiAgICAgICdlcnJvcicsXHJcbiAgICAgICdrZXknLFxyXG4gICAgICAnbGFiZWwnLFxyXG4gICAgICAndHlwZScsXHJcbiAgICAgIC8vICd2YWx1ZScsIDwtIHZhbHVlIHdpbGwgYmUgc2V0IGJ5IGNvbXBvbmVudE1vZGVsLmRhdGEhXHJcbiAgICAgICdzaG93TGFiZWwnLFxyXG4gICAgICAndmFsdWVMaXN0JyxcclxuICAgICAgJ3Rvb2xiYXJJZCcsXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXh0cmFjdEZpbHRlckZpZWxkRnJvbUZvcm1Nb2RlbCgpOiB2b2lkIHtcclxuICAgIGxldCBzaW1wbGVGaWx0ZXIgPSB0aGlzLnNpbXBsZUZpbHRlclJlZj8uaW5zdGFuY2U/LnN1Ym1pdEZvcm0oZmFsc2UpLmNvbXBvbmVudE1vZGVsLmRhdGE7XHJcbiAgICBsZXQgcmVzdWx0OiBGaWx0ZXJFeHByZXNzaW9uRmllbGRbXSA9IFtdO1xyXG5cclxuICAgIE9iamVjdC5rZXlzKHNpbXBsZUZpbHRlcikuZm9yRWFjaCgoa2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgcmVzdWx0LnB1c2goc2ltcGxlRmlsdGVyW2tleV0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNlcnZpY2UubW9kZWwhLm1vZGVsIS53b3JrcGxhY2VMaXN0IS5maWx0ZXJzID0gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgc2V0VXAoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZXJ2aWNlLm1vZGVsPy50eXBlID09PSB0aGlzLnR5cGUuU0lNUExFKSB7XHJcbiAgICAgIHRoaXMuc2V0dXBTaW1wbGVGaWx0ZXIoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY29uc3RydWN0VWlBY3Rpb25Nb2RlbHMoKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLnNlcnZpY2U/Lm1vZGVsPy5zZWxlY3RlZEZpZWxkRWRpdG9yKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy52Y1JlZj8uY2xlYXIoKTtcclxuICAgICAgICB0aGlzLmZvcm1Db21wUmVmPy5kZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5zbWFydEZvcm0gPSB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdFVpQWN0aW9uTW9kZWxzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VydmljZS5tb2RlbD8ucG9zc2libGVBY3Rpb25zKSB7XHJcbiAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbHMgPSB0aGlzLnNlcnZpY2UubW9kZWwucG9zc2libGVBY3Rpb25zLm1hcCgoYWN0aW9uOiBVaUFjdGlvbikgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBzZXJ2aWNlVG9Vc2U6IHRoaXMuc2VydmljZSxcclxuICAgICAgICAgIHVpQWN0aW9uOiBhY3Rpb24sXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZEVkaXRvcj8ucG9zc2libGVBY3Rpb25zKSB7XHJcbiAgICAgIHRoaXMuZXhwcmVzc2lvblVpQWN0aW9uTW9kZWxzID0gdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkRWRpdG9yLnBvc3NpYmxlQWN0aW9ucy5tYXAoXHJcbiAgICAgICAgKHVpQWN0aW9uOiBVaUFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgbGV0IGNvcGllZFVpQWN0aW9uOiBVaUFjdGlvbiA9IHt9O1xyXG4gICAgICAgICAgT2JqZWN0LmtleXModWlBY3Rpb24pLm1hcCgoa2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgKGNvcGllZFVpQWN0aW9uIGFzIGFueSlba2V5XSA9ICh1aUFjdGlvbiBhcyBhbnkpW2tleV07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGNvcGllZFVpQWN0aW9uLnBhcmFtcyA9IHtcclxuICAgICAgICAgICAgZmllbGQ6IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZCxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBzZXJ2aWNlVG9Vc2U6IHRoaXMuc2VydmljZSxcclxuICAgICAgICAgICAgdWlBY3Rpb246IGNvcGllZFVpQWN0aW9uLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RGb3JtKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zbWFydEZvcm0gPSB0aGlzLmNyZWF0ZUZpbHRlckVkaXRvckZvcm0oKTtcclxuXHJcbiAgICB0aGlzLnZjUmVmPy5jbGVhcigpO1xyXG4gICAgdGhpcy5mb3JtQ29tcFJlZj8uZGVzdHJveSgpO1xyXG5cclxuICAgIGlmICghdGhpcy52Y1JlZikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5mb3JtQ29tcFJlZiA9IHRoaXMuY2ZTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChcclxuICAgICAgdGhpcy52Y1JlZiEsXHJcbiAgICAgIFNtYXJ0Zm9ybUNvbXBvbmVudCxcclxuICAgICAgbmV3IE1hcDxzdHJpbmcsIGFueT4oW1snc21hcnRGb3JtJywgdGhpcy5zbWFydEZvcm1dXSlcclxuICAgICk7XHJcbiAgICB0aGlzLnNlcnZpY2Uuc2V0Q29tcGxleFRvb2xiYXJzKHRoaXMuZm9ybUNvbXBSZWYuaW5zdGFuY2UuZ2V0VG9vbGJhcnMoKSk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpYmVFZGl0b3JGb3JtQ2hpbGRyZW5FdmVudHMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRmlsdGVyRWRpdG9yRm9ybSgpOiBTbWFydEZvcm0ge1xyXG4gICAgbGV0IGdlbmVyYXRlZFdpZGdldHM6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+W10gPSB0aGlzLmxheW91dFNlcnZpY2UucmVuZGVyKHtcclxuICAgICAgbGF5b3V0RGVmaW5pdGlvbnM6IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZEVkaXRvcj8ubGF5b3V0RGVmPy53aWRnZXRzLFxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZGlyZWN0aW9uOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uUk9XLFxyXG4gICAgICB1c2VPbkJsdXJFdmVudDogdHJ1ZSxcclxuICAgICAgdXNlT25WYWx1ZUNoYW5nZUV2ZW50OiB0cnVlLFxyXG4gICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQgfSxcclxuICAgICAgd2lkZ2V0czogZ2VuZXJhdGVkV2lkZ2V0cyxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzYXZlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtQ29tcFJlZj8uaW5zdGFuY2U/LnN1Ym1pdEZvcm0oZmFsc2UpO1xyXG4gICAgdGhpcy51cGRhdGVGaWx0ZXJFeHByZXNzaW9uKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUZpbHRlckV4cHJlc3Npb24oKSB7XHJcbiAgICB0aGlzLnNlcnZpY2UucGVmb3JtV2lkZ2V0QWN0aW9uKHtcclxuICAgICAgY29kZTogJ1VQREFURV9GSUxURVJfRVhQUkVTU0lPTicsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIG1vZGVsOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5wZWZvcm1XaWRnZXRBY3Rpb24oe1xyXG4gICAgICBjb2RlOiAnUkVNT1ZFX0ZJTFRFUl9FWFBSRVNTSU9OJyxcclxuICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgbW9kZWw6IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZCxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2F2ZUZpbHRlcigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuZXh0cmFjdEZpbHRlckZpZWxkRnJvbUZvcm1Nb2RlbCgpO1xyXG4gICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnBlcmZvcm1VaUFjdGlvblJlcXVlc3Qoe1xyXG4gICAgICBjb2RlOiBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlckFwaUFjdGlvbnMuU0FWRV9FWFBSRVNTSU9OX0ZJRUxEX0xJU1QsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIG1vZGVsOiB0aGlzLnNlcnZpY2UubW9kZWwhLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnN0cnVjdEZvcm1XaWRnZXQoXHJcbiAgICBrZXk6IHN0cmluZyxcclxuICAgIGxhYmVsOiBzdHJpbmcsXHJcbiAgICB3aWRnZXRUeXBlOiBGaWx0ZXJFeHByZXNzaW9uRmllbGRXaWRnZXRUeXBlLFxyXG4gICAgcG9zc2libGVWYWx1ZXM6IFZhbHVlW10sXHJcbiAgICB2YWx1ZTogYW55LFxyXG4gICAgdG9vbGJhcklkPzogc3RyaW5nXHJcbiAgKTogU21hcnRGb3JtV2lkZ2V0PGFueT4ge1xyXG4gICAgbGV0IHR5cGU6IGFueSA9IHdpZGdldFR5cGU7XHJcblxyXG4gICAgaWYgKHR5cGUgPT09IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuREFURSkge1xyXG4gICAgICB0eXBlID0gU21hcnRGb3JtV2lkZ2V0VHlwZS5EQVRFX1BJQ0tFUjtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5EQVRFX1RJTUUpIHtcclxuICAgICAgdHlwZSA9IFNtYXJ0Rm9ybVdpZGdldFR5cGUuREFURV9USU1FX1BJQ0tFUjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgd2lkZ2V0OiBTbWFydEZvcm1XaWRnZXQ8YW55PiA9IHtcclxuICAgICAgZXJyb3I6IHVuZGVmaW5lZCxcclxuICAgICAga2V5LFxyXG4gICAgICBsYWJlbCxcclxuICAgICAgdHlwZSxcclxuICAgICAgdmFsdWUsXHJcbiAgICAgIHNob3dMYWJlbDogdHJ1ZSxcclxuICAgICAgaXNGbG9hdExhYmVsOiB0cnVlLFxyXG4gICAgICB2YWx1ZUxpc3Q6IHBvc3NpYmxlVmFsdWVzLm1hcCgodmFsdWU6IFZhbHVlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGtleTogdmFsdWUub2JqZWN0VXJpID8gdmFsdWUub2JqZWN0VXJpIDogdmFsdWUuY29kZSEsXHJcbiAgICAgICAgICBsYWJlbDogdmFsdWUuZGlzcGxheVZhbHVlLFxyXG4gICAgICAgICAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5JVEVNLFxyXG4gICAgICAgICAgdmFsdWU6IHZhbHVlLm9iamVjdFVyaSA/IHZhbHVlLm9iamVjdFVyaSA6IHZhbHVlLmNvZGUsXHJcbiAgICAgICAgfTtcclxuICAgICAgfSksXHJcbiAgICAgIHRvb2xiYXJJZCxcclxuICAgICAgdGV4dEZpZWxkUHJvcGVydGllczoge1xyXG4gICAgICAgIGNsZWFyYWJsZTogdHJ1ZSxcclxuICAgICAgfSxcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHdpZGdldDtcclxuICB9XHJcblxyXG4gIGFzeW5jIHVuU2VsZWN0SXRlbXMoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnBlZm9ybVdpZGdldEFjdGlvbih7XHJcbiAgICAgIGNvZGU6ICdTRUxFQ1RfRklFTEQnLFxyXG4gICAgICBwYXJhbXM6IHt9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzbWFydC1maWx0ZXItZWRpdG9yLWNvbnRhaW5lclwiICpuZ0lmPVwic2VydmljZS5tb2RlbFwiPlxyXG4gIEBpZiAoc2VydmljZS5tb2RlbC5tb2RlbD8ubGFiZWwpIHtcclxuICAgIDxoMyBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3ItdGl0bGVcIj57eyBzZXJ2aWNlLm1vZGVsLm1vZGVsPy5sYWJlbCB9fTwvaDM+XHJcbiAgfVxyXG5cclxuICA8ZGl2ICpuZ0lmPVwic2VydmljZS5tb2RlbD8udHlwZSA9PT0gdHlwZS5TSU1QTEU7IHRoZW4gc2ltcGxlRmlsdGVyOyBlbHNlIGNvbXBsZXhGaWx0ZXJcIj48L2Rpdj5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNzaW1wbGVGaWx0ZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci1leHByZXNzaW9uc0NvbnRhaW5lclwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI3NpbXBsZUZpbHRlckZyb21DaGlsZD48L25nLXRlbXBsYXRlPlxyXG4gICAgICA8IS0tICNzaW1wbGVGaWx0ZXJGcm9tQ2hpbGQgW3NtYXJ0Rm9ybV09XCJzaW1wbGVGaWx0ZXJGb3JtXCI+PC9zbWFydGZvcm0+IC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICA8bmctdGVtcGxhdGUgI2NvbXBsZXhGaWx0ZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci11aUFjdGlvbnNCYXJcIiAqbmdJZj1cIiFzZXJ2aWNlLm1vZGVsPy5yZWFkT25seVwiPlxyXG4gICAgICA8c21hcnQtdWktYWN0aW9uLXRvb2xiYXIgW3VpQWN0aW9uTW9kZWxzXT1cInVpQWN0aW9uTW9kZWxzXCI+PC9zbWFydC11aS1hY3Rpb24tdG9vbGJhcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdJZj1cIlxyXG4gICAgICAgIHNlcnZpY2U/Lm1vZGVsPy5tb2RlbD8ud29ya3BsYWNlTGlzdD8uZmlsdGVycz8ubGVuZ3RoO1xyXG4gICAgICAgIHRoZW4gd2l0aFBhcmFtZXRlcnM7XHJcbiAgICAgICAgZWxzZSB3aXRob3V0UGFyYW1ldGVyc1xyXG4gICAgICBcIlxyXG4gICAgPjwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICN3aXRob3V0UGFyYW1ldGVycz5cclxuICAgICAgPGRpdiBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3Itd2l0aG91dFBhcmFtZXRlcnNDb250YWluZXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1ib2R5XCI+IE3DqWcgbmluY3MgbWVnYWR2YSBwYXJhbcOpdGVyIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICN3aXRoUGFyYW1ldGVycz5cclxuICAgICAgPGRpdiBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3Itd2l0aFBhcmFtZXRlcnNDb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3ItZXhwcmVzc2lvbnNDb250YWluZXJcIlxyXG4gICAgICAgICAgKm5nSWY9XCJzZXJ2aWNlPy5tb2RlbD8ubW9kZWw/LndvcmtwbGFjZUxpc3Q/LmZpbHRlcnM/Lmxlbmd0aFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwidW5TZWxlY3RJdGVtcygkZXZlbnQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8YXBwLWV4cHJlc3Npb24taXRlbXNcclxuICAgICAgICAgICAgW2l0ZW1zXT1cIihzZXJ2aWNlLm1vZGVsLm1vZGVsPy53b3JrcGxhY2VMaXN0KSEuZmlsdGVyc1wiXHJcbiAgICAgICAgICAgIFtzZXJ2aWNlXT1cInNlcnZpY2VcIlxyXG4gICAgICAgICAgPjwvYXBwLWV4cHJlc3Npb24taXRlbXM+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgIXVzZUFkdmFuY2VkRmlsdGVyIHx8XHJcbiAgICAgICAgICAgIHNlcnZpY2UubW9kZWwuc2VsZWN0ZWRGaWVsZD8uZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gPT09ICdFWFBSRVNTSU9OJ1xyXG4gICAgICAgICAgXCJcclxuICAgICAgICAgIGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci1leHByZXNzaW9uRWRpdG9yQ29udGFpbmVyXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8IS0tIDxzbWFydGZvcm0gI2Zvcm0gW3NtYXJ0Rm9ybV09XCJzbWFydEZvcm1cIj48L3NtYXJ0Zm9ybT4gLS0+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2Zvcm0+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJzbWFydEZvcm1cIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicmVtb3ZlKClcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIj5Uw7ZybMOpczwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -11,6 +11,9 @@ import { CommonModule } from '@angular/common';
|
|
|
11
11
|
import { MatButtonModule } from '@angular/material/button';
|
|
12
12
|
import { SmartFilterModule } from '../smart-filter/smart-filter.module';
|
|
13
13
|
import { SharedModule } from '../shared/shared.module';
|
|
14
|
+
import { AdvancedSmartFilterExpressionItemComponent } from './project';
|
|
15
|
+
import { AdvancedRelationButtonComponent } from './smart-filter-editor-content/components/advanced/advanced-relation-button/advanced-relation-button.component';
|
|
16
|
+
import { ExpressionEditorDialogComponent } from './smart-filter-editor-content/components/advanced/expression-editor-dialog/expression-editor-dialog.component';
|
|
14
17
|
import * as i0 from "@angular/core";
|
|
15
18
|
export class SmartFilterEditorModule {
|
|
16
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -18,7 +21,10 @@ export class SmartFilterEditorModule {
|
|
|
18
21
|
SmartFilterParamComponent,
|
|
19
22
|
SmartFilterEditorContentComponent,
|
|
20
23
|
SmartFilterExpressionItemsComponent,
|
|
21
|
-
SmartFilterExpressionItemComponent
|
|
24
|
+
SmartFilterExpressionItemComponent,
|
|
25
|
+
AdvancedSmartFilterExpressionItemComponent,
|
|
26
|
+
AdvancedRelationButtonComponent,
|
|
27
|
+
ExpressionEditorDialogComponent], imports: [CommonModule,
|
|
22
28
|
SmartIconModule,
|
|
23
29
|
SmartExpandableSectionModule,
|
|
24
30
|
SmartViewContextModule,
|
|
@@ -28,7 +34,10 @@ export class SmartFilterEditorModule {
|
|
|
28
34
|
SmartFilterParamComponent,
|
|
29
35
|
SmartFilterEditorContentComponent,
|
|
30
36
|
SmartFilterExpressionItemsComponent,
|
|
31
|
-
SmartFilterExpressionItemComponent
|
|
37
|
+
SmartFilterExpressionItemComponent,
|
|
38
|
+
AdvancedSmartFilterExpressionItemComponent,
|
|
39
|
+
AdvancedRelationButtonComponent,
|
|
40
|
+
ExpressionEditorDialogComponent] }); }
|
|
32
41
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterEditorModule, imports: [CommonModule,
|
|
33
42
|
SmartIconModule,
|
|
34
43
|
SmartExpandableSectionModule,
|
|
@@ -46,6 +55,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
46
55
|
SmartFilterEditorContentComponent,
|
|
47
56
|
SmartFilterExpressionItemsComponent,
|
|
48
57
|
SmartFilterExpressionItemComponent,
|
|
58
|
+
AdvancedSmartFilterExpressionItemComponent,
|
|
59
|
+
AdvancedRelationButtonComponent,
|
|
60
|
+
ExpressionEditorDialogComponent,
|
|
49
61
|
],
|
|
50
62
|
imports: [
|
|
51
63
|
CommonModule,
|
|
@@ -62,8 +74,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
62
74
|
SmartFilterEditorContentComponent,
|
|
63
75
|
SmartFilterExpressionItemsComponent,
|
|
64
76
|
SmartFilterExpressionItemComponent,
|
|
77
|
+
AdvancedSmartFilterExpressionItemComponent,
|
|
78
|
+
AdvancedRelationButtonComponent,
|
|
79
|
+
ExpressionEditorDialogComponent,
|
|
65
80
|
],
|
|
66
81
|
providers: [],
|
|
67
82
|
}]
|
|
68
83
|
}] });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDN0gsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sZ0hBQWdILENBQUM7QUFDckssT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sOEdBQThHLENBQUM7QUFDbEssT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrR0FBK0csQ0FBQztBQUNoSyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrR0FBK0csQ0FBQzs7QUFrQ2hLLE1BQU0sT0FBTyx1QkFBdUI7K0dBQXZCLHVCQUF1QjtnSEFBdkIsdUJBQXVCLGlCQTlCaEMsMEJBQTBCO1lBQzFCLHlCQUF5QjtZQUN6QixpQ0FBaUM7WUFDakMsbUNBQW1DO1lBQ25DLGtDQUFrQztZQUNsQywwQ0FBMEM7WUFDMUMsK0JBQStCO1lBQy9CLCtCQUErQixhQUcvQixZQUFZO1lBQ1osZUFBZTtZQUNmLDRCQUE0QjtZQUM1QixzQkFBc0I7WUFDdEIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixZQUFZLGFBR1osMEJBQTBCO1lBQzFCLHlCQUF5QjtZQUN6QixpQ0FBaUM7WUFDakMsbUNBQW1DO1lBQ25DLGtDQUFrQztZQUNsQywwQ0FBMEM7WUFDMUMsK0JBQStCO1lBQy9CLCtCQUErQjtnSEFJdEIsdUJBQXVCLFlBcEJoQyxZQUFZO1lBQ1osZUFBZTtZQUNmLDRCQUE0QjtZQUM1QixzQkFBc0I7WUFDdEIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixZQUFZOzs0RkFjSCx1QkFBdUI7a0JBaENuQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsaUNBQWlDO3dCQUNqQyxtQ0FBbUM7d0JBQ25DLGtDQUFrQzt3QkFDbEMsMENBQTBDO3dCQUMxQywrQkFBK0I7d0JBQy9CLCtCQUErQjtxQkFDaEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZiw0QkFBNEI7d0JBQzVCLHNCQUFzQjt3QkFDdEIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDBCQUEwQjt3QkFDMUIseUJBQXlCO3dCQUN6QixpQ0FBaUM7d0JBQ2pDLG1DQUFtQzt3QkFDbkMsa0NBQWtDO3dCQUNsQywwQ0FBMEM7d0JBQzFDLCtCQUErQjt3QkFDL0IsK0JBQStCO3FCQUNoQztvQkFDRCxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyUGFyYW1zQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC1maWx0ZXItcGFyYW1zL3NtYXJ0LWZpbHRlci1wYXJhbXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRGaWx0ZXJQYXJhbUNvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLXBhcmFtcy9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1wYXJhbS9zbWFydC1maWx0ZXItcGFyYW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRGaWx0ZXJFZGl0b3JDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQvc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyRXhwcmVzc2lvbkl0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQvY29tcG9uZW50cy9zbWFydC1maWx0ZXItZXhwcmVzc2lvbi1pdGVtcy9zbWFydC1maWx0ZXItZXhwcmVzc2lvbi1pdGVtcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlckV4cHJlc3Npb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQvY29tcG9uZW50cy9zbWFydC1maWx0ZXItZXhwcmVzc2lvbi1pdGVtL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRJY29uTW9kdWxlIH0gZnJvbSAnLi4vc21hcnQtaWNvbi9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0RXhwYW5kYWJsZVNlY3Rpb25Nb2R1bGUgfSBmcm9tICcuLi9zbWFydC1leHBhbmRhYmxlLXNlY3Rpb24vc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRNb2R1bGUgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyTW9kdWxlIH0gZnJvbSAnLi4vc21hcnQtZmlsdGVyL3NtYXJ0LWZpbHRlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IEFkdmFuY2VkU21hcnRGaWx0ZXJFeHByZXNzaW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcHJvamVjdCc7XHJcbmltcG9ydCB7IEFkdmFuY2VkUmVsYXRpb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9jb21wb25lbnRzL2FkdmFuY2VkL2FkdmFuY2VkLXJlbGF0aW9uLWJ1dHRvbi9hZHZhbmNlZC1yZWxhdGlvbi1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXhwcmVzc2lvbkVkaXRvckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L2NvbXBvbmVudHMvYWR2YW5jZWQvZXhwcmVzc2lvbi1lZGl0b3ItZGlhbG9nL2V4cHJlc3Npb24tZWRpdG9yLWRpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNtYXJ0RmlsdGVyUGFyYW1zQ29tcG9uZW50LFxyXG4gICAgU21hcnRGaWx0ZXJQYXJhbUNvbXBvbmVudCxcclxuICAgIFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudCxcclxuICAgIFNtYXJ0RmlsdGVyRXhwcmVzc2lvbkl0ZW1zQ29tcG9uZW50LFxyXG4gICAgU21hcnRGaWx0ZXJFeHByZXNzaW9uSXRlbUNvbXBvbmVudCxcclxuICAgIEFkdmFuY2VkU21hcnRGaWx0ZXJFeHByZXNzaW9uSXRlbUNvbXBvbmVudCxcclxuICAgIEFkdmFuY2VkUmVsYXRpb25CdXR0b25Db21wb25lbnQsXHJcbiAgICBFeHByZXNzaW9uRWRpdG9yRGlhbG9nQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgU21hcnRJY29uTW9kdWxlLFxyXG4gICAgU21hcnRFeHBhbmRhYmxlU2VjdGlvbk1vZHVsZSxcclxuICAgIFNtYXJ0Vmlld0NvbnRleHRNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBTbWFydEZpbHRlck1vZHVsZSxcclxuICAgIFNoYXJlZE1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFNtYXJ0RmlsdGVyUGFyYW1zQ29tcG9uZW50LFxyXG4gICAgU21hcnRGaWx0ZXJQYXJhbUNvbXBvbmVudCxcclxuICAgIFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudCxcclxuICAgIFNtYXJ0RmlsdGVyRXhwcmVzc2lvbkl0ZW1zQ29tcG9uZW50LFxyXG4gICAgU21hcnRGaWx0ZXJFeHByZXNzaW9uSXRlbUNvbXBvbmVudCxcclxuICAgIEFkdmFuY2VkU21hcnRGaWx0ZXJFeHByZXNzaW9uSXRlbUNvbXBvbmVudCxcclxuICAgIEFkdmFuY2VkUmVsYXRpb25CdXR0b25Db21wb25lbnQsXHJcbiAgICBFeHByZXNzaW9uRWRpdG9yRGlhbG9nQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0RmlsdGVyRWRpdG9yTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -11,6 +11,7 @@ export class SmartFilterEditorService {
|
|
|
11
11
|
this.modelChanged = new Subject();
|
|
12
12
|
this.submit = new Subject();
|
|
13
13
|
this.reSubscribeToChange = new Subject();
|
|
14
|
+
this.itemSelected = new Subject();
|
|
14
15
|
this.toolbars = [];
|
|
15
16
|
}
|
|
16
17
|
getComplexToolbars() {
|
|
@@ -54,10 +55,24 @@ export class SmartFilterEditorService {
|
|
|
54
55
|
getAdditionalParams(uiAction) {
|
|
55
56
|
throw new Error('Method not implemented.');
|
|
56
57
|
}
|
|
58
|
+
async bulkUpdateFilterExpression(operationType, item) {
|
|
59
|
+
if (!this.model?.readOnly) {
|
|
60
|
+
if (item) {
|
|
61
|
+
item.expressionData.boolOperator = operationType;
|
|
62
|
+
}
|
|
63
|
+
await this.peformWidgetAction({
|
|
64
|
+
code: 'BULK_UPDATE_FILTER_EXPRESSION',
|
|
65
|
+
params: {
|
|
66
|
+
model: item,
|
|
67
|
+
operator: operationType,
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
57
72
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterEditorService, deps: [{ token: i1.FilterService }, { token: i2.SmartViewContextService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
58
73
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterEditorService }); }
|
|
59
74
|
}
|
|
60
75
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterEditorService, decorators: [{
|
|
61
76
|
type: Injectable
|
|
62
77
|
}], ctorParameters: () => [{ type: i1.FilterService }, { type: i2.SmartViewContextService }] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZmlsdGVyLWVkaXRvci9zbWFydC1maWx0ZXItZWRpdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFrQixNQUFNLE1BQU0sQ0FBQztBQWEvQyxPQUFPLEVBQVksU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUErQjFELE1BQU0sT0FBTyx3QkFBd0I7SUFXbkMsWUFDVSxPQUFzQixFQUN0QixjQUF1QztRQUR2QyxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLG1CQUFjLEdBQWQsY0FBYyxDQUF5QjtRQVZqRCxpQkFBWSxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzVDLFdBQU0sR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN0Qyx3QkFBbUIsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVuRCxpQkFBWSxHQUFtQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXJELGFBQVEsR0FBb0MsRUFBRSxDQUFDO0lBS3BELENBQUM7SUFFSixrQkFBa0I7UUFDaEIsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxRQUF5QztRQUMxRCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzNGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBd0I7UUFDL0MsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjO2lCQUNqQyxxQkFBcUIsRUFBRTtnQkFDeEIsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEUsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTztxQkFDNUIsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDO3FCQUN0RSxTQUFTLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELEtBQUssQ0FBQyxzQkFBc0IsQ0FDMUIsZUFBZ0MsRUFDaEMsUUFBNkIsRUFDN0IsTUFBMkI7UUFFM0IsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELEtBQUssQ0FBQyxtQ0FBbUMsQ0FDdkMsUUFBa0IsRUFDbEIsZUFBZ0M7UUFFaEMsT0FBTztZQUNMLG1CQUFtQixFQUFFLElBQUk7WUFDekIsZUFBZSxFQUFFLGVBQWU7U0FDakMsQ0FBQztJQUNKLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxRQUFrQjtRQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQywwQkFBMEIsQ0FDOUIsYUFBMkMsRUFDM0MsSUFBNEI7UUFFNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDMUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxJQUFJLENBQUMsY0FBZSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUM7WUFDcEQsQ0FBQztZQUNELE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDO2dCQUM1QixJQUFJLEVBQUUsK0JBQStCO2dCQUNyQyxNQUFNLEVBQUU7b0JBQ04sS0FBSyxFQUFFLElBQUk7b0JBQ1gsUUFBUSxFQUFFLGFBQWE7aUJBQ3hCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7K0dBckZVLHdCQUF3QjttSEFBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBjb25maWcsIGZpbHRlciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlckVkaXRvckNvbmZpZyB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci5tb2RlbCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvdWlBY3Rpb25SZXF1ZXN0JztcclxuaW1wb3J0IHtcclxuICBVaUFjdGlvbkFkZGl0aW9uYWxQYXJhbXMsXHJcbiAgVWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlLFxyXG4gIFVzZVVpQWN0aW9uLFxyXG59IGZyb20gJy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgVWlBY3Rpb24gfSBmcm9tICcuLi92aWV3LWNvbnRleHQvYXBpL21vZGVsL3VpQWN0aW9uJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsIH0gZnJvbSAnLi9hcGkvbW9kZWwvZmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsJztcclxuaW1wb3J0IHsgRmlsdGVyU2VydmljZSB9IGZyb20gJy4vYXBpL2FwaS9maWx0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRWaWV3Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBWaWV3RGF0YSwgVmlld1N0YXRlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L2FwaSc7XHJcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25GaWVsZCB9IGZyb20gJy4vYXBpL21vZGVsL2ZpbHRlckV4cHJlc3Npb25GaWVsZCc7XHJcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25Cb29sT3BlcmF0b3IgfSBmcm9tICcuL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uQm9vbE9wZXJhdG9yJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZSBleHRlbmRzIFVzZVVpQWN0aW9uIHtcclxuICBjb25maWc6IFNtYXJ0RmlsdGVyRWRpdG9yQ29uZmlnO1xyXG4gIG1vZGVsPzogRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsO1xyXG4gIG1vZGVsQ2hhbmdlZDogU3ViamVjdDx2b2lkPjtcclxuICBzdWJtaXQ6IFN1YmplY3Q8dm9pZD47XHJcbiAgcmVTdWJzY3JpYmVUb0NoYW5nZTogU3ViamVjdDx2b2lkPjtcclxuICBwYXJlbnRTbWFydENvbXBvbmVudD86IGFueTtcclxuICBpdGVtU2VsZWN0ZWQ6IFN1YmplY3Q8RmlsdGVyRXhwcmVzc2lvbkZpZWxkPjtcclxuXHJcbiAgZ2V0Q29tcGxleFRvb2xiYXJzKCk6IEFycmF5PFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudD47XHJcblxyXG4gIHNldENvbXBsZXhUb29sYmFycyh0b29sYmFyczogQXJyYXk8VWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50Pik6IHZvaWQ7XHJcblxyXG4gIGxvYWQoKTogUHJvbWlzZTx2b2lkPjtcclxuICBwZWZvcm1XaWRnZXRBY3Rpb24ocmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0KTogUHJvbWlzZTx2b2lkPjtcclxuICBwZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KFxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QsXHJcbiAgICB3aWRnZXRJZD86IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAgIG5vZGVJZD86IHN0cmluZyB8IHVuZGVmaW5lZFxyXG4gICk6IFByb21pc2U8YW55PjtcclxuICBidWxrVXBkYXRlRmlsdGVyRXhwcmVzc2lvbihcclxuICAgIG9wZXJhdGlvblR5cGU6IEZpbHRlckV4cHJlc3Npb25Cb29sT3BlcmF0b3IsXHJcbiAgICBpdGVtPzogRmlsdGVyRXhwcmVzc2lvbkZpZWxkXHJcbiAgKTogUHJvbWlzZTxhbnk+O1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTbWFydEZpbHRlckVkaXRvclNlcnZpY2UgaW1wbGVtZW50cyBJU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlIHtcclxuICBjb25maWchOiBTbWFydEZpbHRlckVkaXRvckNvbmZpZztcclxuICBtb2RlbD86IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyVWlNb2RlbDtcclxuICBtb2RlbENoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHN1Ym1pdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcmVTdWJzY3JpYmVUb0NoYW5nZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcGFyZW50U21hcnRDb21wb25lbnQ/OiBhbnk7XHJcbiAgaXRlbVNlbGVjdGVkOiBTdWJqZWN0PEZpbHRlckV4cHJlc3Npb25GaWVsZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBwcml2YXRlIHRvb2xiYXJzOiBBcnJheTxVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ+ID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBGaWx0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q3R4U2VydmljZTogU21hcnRWaWV3Q29udGV4dFNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGdldENvbXBsZXhUb29sYmFycygpOiBBcnJheTxVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ+IHtcclxuICAgIHJldHVybiBbLi4udGhpcy50b29sYmFyc107XHJcbiAgfVxyXG4gIHNldENvbXBsZXhUb29sYmFycyh0b29sYmFyczogQXJyYXk8VWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50Pikge1xyXG4gICAgdGhpcy50b29sYmFycyA9IFsuLi50b29sYmFyc107XHJcbiAgICB0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50Py5pbml0QWN0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmNvbmZpZy51dWlkKSB7XHJcbiAgICAgIHRoaXMubW9kZWwgPSBhd2FpdCB0aGlzLnNlcnZpY2UubG9hZCh0aGlzLmNvbmZpZy51dWlkLCB0aGlzLmNvbmZpZy5pZGVudGlmaWVyKS50b1Byb21pc2UoKTtcclxuICAgICAgdGhpcy5tb2RlbENoYW5nZWQubmV4dCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgcGVmb3JtV2lkZ2V0QWN0aW9uKHJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCkge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLnV1aWQpIHtcclxuICAgICAgbGV0IGZpbHRlclZpZXcgPSB0aGlzLnZpZXdDdHhTZXJ2aWNlXHJcbiAgICAgICAgLmdldEN1cnJlbnRWaWV3Q29udGV4dCgpXHJcbiAgICAgICAgPy52aWV3cy5maW5kKCh2aWV3OiBWaWV3RGF0YSkgPT4gdmlldy51dWlkID09IHRoaXMuY29uZmlnLnV1aWQpO1xyXG4gICAgICBpZiAoZmlsdGVyVmlldyAmJiBmaWx0ZXJWaWV3LnN0YXRlICE9IFZpZXdTdGF0ZS5DTE9TRUQpIHtcclxuICAgICAgICB0aGlzLm1vZGVsID0gYXdhaXQgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgICAucGVyZm9ybVdpZGdldEFjdGlvbih0aGlzLmNvbmZpZy51dWlkLCB0aGlzLmNvbmZpZy5pZGVudGlmaWVyLCByZXF1ZXN0KVxyXG4gICAgICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIHRoaXMubW9kZWxDaGFuZ2VkLm5leHQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0TW9kZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcclxuICB9XHJcbiAgYXN5bmMgcGVyZm9ybVVpQWN0aW9uUmVxdWVzdChcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgICBub2RlSWQ/OiBzdHJpbmcgfCB1bmRlZmluZWRcclxuICApOiBQcm9taXNlPGFueT4ge1xyXG4gICAgYXdhaXQgdGhpcy5wZWZvcm1XaWRnZXRBY3Rpb24odWlBY3Rpb25SZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5KFxyXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3RcclxuICApOiBQcm9taXNlPFVpQWN0aW9uU3BlY2lmaWNEZW1hbmRSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc2hvdWxkUGVyZm9ybUFjdGlvbjogdHJ1ZSxcclxuICAgICAgdWlBY3Rpb25SZXF1ZXN0OiB1aUFjdGlvblJlcXVlc3QsXHJcbiAgICB9O1xyXG4gIH1cclxuICBnZXRBZGRpdGlvbmFsUGFyYW1zKHVpQWN0aW9uOiBVaUFjdGlvbik6IFVpQWN0aW9uQWRkaXRpb25hbFBhcmFtcyB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBidWxrVXBkYXRlRmlsdGVyRXhwcmVzc2lvbihcclxuICAgIG9wZXJhdGlvblR5cGU6IEZpbHRlckV4cHJlc3Npb25Cb29sT3BlcmF0b3IsXHJcbiAgICBpdGVtPzogRmlsdGVyRXhwcmVzc2lvbkZpZWxkXHJcbiAgKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGlmICghdGhpcy5tb2RlbD8ucmVhZE9ubHkpIHtcclxuICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICBpdGVtLmV4cHJlc3Npb25EYXRhIS5ib29sT3BlcmF0b3IgPSBvcGVyYXRpb25UeXBlO1xyXG4gICAgICB9XHJcbiAgICAgIGF3YWl0IHRoaXMucGVmb3JtV2lkZ2V0QWN0aW9uKHtcclxuICAgICAgICBjb2RlOiAnQlVMS19VUERBVEVfRklMVEVSX0VYUFJFU1NJT04nLFxyXG4gICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgbW9kZWw6IGl0ZW0sXHJcbiAgICAgICAgICBvcGVyYXRvcjogb3BlcmF0aW9uVHlwZSxcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -13,12 +13,12 @@ export class SmartFilterParamComponent {
|
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterParamComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartFilterParamComponent, selector: "app-target-group-filter-param", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"targetGroupFilterParamContainer\">\r\n <div
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartFilterParamComponent, selector: "app-target-group-filter-param", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"targetGroupFilterParamContainer\">\r\n <div class=\"targetGroupFilterItem\" *ngFor=\"let data of data?.group\" (click)=\"onItemClick(data)\">\r\n <smart-icon icon=\"chevron_right\" color=\"gray\"></smart-icon>\r\n <div class=\"mat-caption\">\r\n {{ data.label }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".targetGroupFilterParamContainer{display:flex;flex-direction:column;gap:.25rem}.targetGroupFilterItem{padding:.75rem;border-radius:.25rem;display:flex;flex-direction:row;gap:.5rem;cursor:pointer}.targetGroupFilterItem .mat-caption{margin:auto 0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }] }); }
|
|
17
17
|
}
|
|
18
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterParamComponent, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
|
-
args: [{ selector: 'app-target-group-filter-param', template: "<div class=\"targetGroupFilterParamContainer\">\r\n <div
|
|
20
|
+
args: [{ selector: 'app-target-group-filter-param', template: "<div class=\"targetGroupFilterParamContainer\">\r\n <div class=\"targetGroupFilterItem\" *ngFor=\"let data of data?.group\" (click)=\"onItemClick(data)\">\r\n <smart-icon icon=\"chevron_right\" color=\"gray\"></smart-icon>\r\n <div class=\"mat-caption\">\r\n {{ data.label }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".targetGroupFilterParamContainer{display:flex;flex-direction:column;gap:.25rem}.targetGroupFilterItem{padding:.75rem;border-radius:.25rem;display:flex;flex-direction:row;gap:.5rem;cursor:pointer}.targetGroupFilterItem .mat-caption{margin:auto 0}\n"] }]
|
|
21
21
|
}], ctorParameters: () => [], propDecorators: { data: [{
|
|
22
22
|
type: Input
|
|
23
23
|
}] } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLXBhcmFtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZpbHRlci1lZGl0b3Ivc21hcnQtZmlsdGVyLXBhcmFtcy9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1wYXJhbS9zbWFydC1maWx0ZXItcGFyYW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZmlsdGVyLWVkaXRvci9zbWFydC1maWx0ZXItcGFyYW1zL2NvbXBvbmVudHMvc21hcnQtZmlsdGVyLXBhcmFtL3NtYXJ0LWZpbHRlci1wYXJhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVNqRCxNQUFNLE9BQU8seUJBQXlCO0lBR3BDLGdCQUFlLENBQUM7SUFFaEIsV0FBVyxDQUFDLElBQWtDO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBeUMsQ0FBQyxrQkFBa0IsQ0FBQztZQUN0RSxJQUFJLEVBQUUsdUJBQXVCO1lBQzdCLE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FaVSx5QkFBeUI7bUdBQXpCLHlCQUF5QiwrRkNUdEMseVVBUUE7OzRGRENhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSwrQkFBK0I7d0RBS2hDLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uQnVpbGRlckZpZWxkJztcclxuaW1wb3J0IHsgU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc21hcnQtZmlsdGVyLWVkaXRvci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRhcmdldC1ncm91cC1maWx0ZXItcGFyYW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1maWx0ZXItcGFyYW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LWZpbHRlci1wYXJhbS5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydEZpbHRlclBhcmFtQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBkYXRhITogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG9uSXRlbUNsaWNrKGl0ZW06IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyRmllbGQpOiB2b2lkIHtcclxuICAgICh0aGlzLmRhdGEuc2VydmljZVRvVXNlIGFzIFNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZSkucGVmb3JtV2lkZ2V0QWN0aW9uKHtcclxuICAgICAgY29kZTogJ0FERF9GSUxURVJfRVhQUkVTU0lPTicsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIG1vZGVsOiBpdGVtLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0YXJnZXRHcm91cEZpbHRlclBhcmFtQ29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInRhcmdldEdyb3VwRmlsdGVySXRlbVwiICpuZ0Zvcj1cImxldCBkYXRhIG9mIGRhdGE/Lmdyb3VwXCIgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGRhdGEpXCI+XHJcbiAgICA8c21hcnQtaWNvbiBpY29uPVwiY2hldnJvbl9yaWdodFwiIGNvbG9yPVwiZ3JheVwiPjwvc21hcnQtaWNvbj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYXQtY2FwdGlvblwiPlxyXG4gICAgICB7eyBkYXRhLmxhYmVsIH19XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|