aril 1.1.21 → 1.1.23
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/ui/table/index.mjs +9 -4
- package/esm2022/ui/table/src/export-overlay-panel.component.mjs +321 -0
- package/esm2022/ui/table/src/interfaces.mjs +1 -1
- package/esm2022/ui/table/src/table.component.mjs +30 -164
- package/esm2022/ui-business/enumPicker/src/enum-picker.component.mjs +17 -3
- package/fesm2022/aril-ui-business-enumPicker.mjs +16 -2
- package/fesm2022/aril-ui-business-enumPicker.mjs.map +1 -1
- package/fesm2022/aril-ui-table.mjs +328 -156
- package/fesm2022/aril-ui-table.mjs.map +1 -1
- package/package.json +78 -78
- package/ui/table/index.d.ts +3 -1
- package/ui/table/src/export-overlay-panel.component.d.ts +39 -0
- package/ui/table/src/interfaces.d.ts +1 -1
- package/ui/table/src/table.component.d.ts +5 -22
- package/ui-business/enumPicker/src/enum-picker.component.d.ts +3 -1
|
@@ -21,12 +21,14 @@ import { RadioButtonComponent } from 'aril/ui/radioButton';
|
|
|
21
21
|
import { TextComponent } from 'aril/ui/text';
|
|
22
22
|
import { ValueComponent } from 'aril/ui/value';
|
|
23
23
|
import { GetColumnByFieldPipe, ParsePipe, SafePipe } from 'aril/util/pipes';
|
|
24
|
+
import { ExportOverlayPanelComponent } from './src/export-overlay-panel.component';
|
|
24
25
|
import { TableColumnComponent } from './src/table-column.component';
|
|
25
26
|
import { TableComponent } from './src/table.component';
|
|
26
27
|
import * as i0 from "@angular/core";
|
|
27
28
|
export * from './src/interfaces';
|
|
28
29
|
export * from './src/table-column.component';
|
|
29
30
|
export * from './src/table.component';
|
|
31
|
+
export * from './src/export-overlay-panel.component';
|
|
30
32
|
const components = [TableComponent, TableColumnComponent];
|
|
31
33
|
export class ARiLTableModule {
|
|
32
34
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ARiLTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -59,7 +61,8 @@ export class ARiLTableModule {
|
|
|
59
61
|
TextComponent,
|
|
60
62
|
ToastModule,
|
|
61
63
|
TooltipModule,
|
|
62
|
-
ValueComponent
|
|
64
|
+
ValueComponent,
|
|
65
|
+
ExportOverlayPanelComponent], exports: [TableComponent, TableColumnComponent] }); }
|
|
63
66
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ARiLTableModule, imports: [ARiLFormModule,
|
|
64
67
|
ButtonComponent,
|
|
65
68
|
ButtonModule,
|
|
@@ -80,7 +83,8 @@ export class ARiLTableModule {
|
|
|
80
83
|
TextComponent,
|
|
81
84
|
ToastModule,
|
|
82
85
|
TooltipModule,
|
|
83
|
-
ValueComponent
|
|
86
|
+
ValueComponent,
|
|
87
|
+
ExportOverlayPanelComponent] }); }
|
|
84
88
|
}
|
|
85
89
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ARiLTableModule, decorators: [{
|
|
86
90
|
type: NgModule,
|
|
@@ -115,10 +119,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
115
119
|
TextComponent,
|
|
116
120
|
ToastModule,
|
|
117
121
|
TooltipModule,
|
|
118
|
-
ValueComponent
|
|
122
|
+
ValueComponent,
|
|
123
|
+
ExportOverlayPanelComponent
|
|
119
124
|
],
|
|
120
125
|
exports: [components],
|
|
121
126
|
declarations: [components]
|
|
122
127
|
}]
|
|
123
128
|
}] });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpL3RhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVB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Z0Zvck9mLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XHJcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XHJcbmltcG9ydCB7IENoZWNrSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvY2hlY2snO1xyXG5pbXBvcnQgeyBNZW51TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tZW51JztcclxuaW1wb3J0IHsgT3JkZXJMaXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9vcmRlcmxpc3QnO1xyXG5pbXBvcnQgeyBPdmVybGF5UGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XHJcbmltcG9ydCB7IFNpZGViYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NpZGViYXInO1xyXG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xyXG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2NhbGVuZGFyJztcclxuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2NoZWNrYm94JztcclxuaW1wb3J0IHsgRmllbGRDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2ZpZWxkJztcclxuaW1wb3J0IHsgQVJpTEZvcm1Nb2R1bGUgfSBmcm9tICdhcmlsL3VpL2Zvcm0nO1xyXG5pbXBvcnQgeyBOdW1iZXJDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL251bWJlcic7XHJcbmltcG9ydCB7IFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnYXJpbC91aS9yYWRpb0J1dHRvbic7XHJcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL3RleHQnO1xyXG5pbXBvcnQgeyBWYWx1ZUNvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvdmFsdWUnO1xyXG5pbXBvcnQgeyBHZXRDb2x1bW5CeUZpZWxkUGlwZSwgUGFyc2VQaXBlLCBTYWZlUGlwZSB9IGZyb20gJ2FyaWwvdXRpbC9waXBlcyc7XHJcblxyXG5pbXBvcnQgeyBFeHBvcnRPdmVybGF5UGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3NyYy9leHBvcnQtb3ZlcmxheS1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vc3JjL3RhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vc3JjL3RhYmxlLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9pbnRlcmZhY2VzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvdGFibGUtY29sdW1uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3RhYmxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2V4cG9ydC1vdmVybGF5LXBhbmVsLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCBjb21wb25lbnRzID0gW1RhYmxlQ29tcG9uZW50LCBUYWJsZUNvbHVtbkNvbXBvbmVudF07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGltcG9ydHM6IFtcclxuXHRcdEFSaUxGb3JtTW9kdWxlLFxyXG5cdFx0QnV0dG9uQ29tcG9uZW50LFxyXG5cdFx0QnV0dG9uTW9kdWxlLFxyXG5cdFx0Q2FsZW5kYXJDb21wb25lbnQsXHJcblx0XHRDaGVja2JveENvbXBvbmVudCxcclxuXHRcdENoZWNrSWNvbixcclxuXHRcdERyb3Bkb3duTW9kdWxlLFxyXG5cdFx0RmllbGRDb21wb25lbnQsXHJcblx0XHRGb3Jtc01vZHVsZSxcclxuXHRcdEdldENvbHVtbkJ5RmllbGRQaXBlLFxyXG5cdFx0SnNvblBpcGUsXHJcblx0XHRLZXlWYWx1ZVBpcGUsXHJcblx0XHRNZW51TW9kdWxlLFxyXG5cdFx0TmdGb3IsXHJcblx0XHROZ0Zvck9mLFxyXG5cdFx0TmdTdHlsZSxcclxuXHRcdE5nVGVtcGxhdGVPdXRsZXQsXHJcblx0XHROdW1iZXJDb21wb25lbnQsXHJcblx0XHRPcmRlckxpc3RNb2R1bGUsXHJcblx0XHRPdmVybGF5UGFuZWxNb2R1bGUsXHJcblx0XHRQYXJzZVBpcGUsXHJcblx0XHRSYWRpb0J1dHRvbkNvbXBvbmVudCxcclxuXHRcdFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcblx0XHRTYWZlUGlwZSxcclxuXHRcdFNpZGViYXJNb2R1bGUsXHJcblx0XHRUYWJsZU1vZHVsZSxcclxuXHRcdFRleHRDb21wb25lbnQsXHJcblx0XHRUb2FzdE1vZHVsZSxcclxuXHRcdFRvb2x0aXBNb2R1bGUsXHJcblx0XHRWYWx1ZUNvbXBvbmVudCxcclxuXHRcdEV4cG9ydE92ZXJsYXlQYW5lbENvbXBvbmVudFxyXG5cdF0sXHJcblx0ZXhwb3J0czogW2NvbXBvbmVudHNdLFxyXG5cdGRlY2xhcmF0aW9uczogW2NvbXBvbmVudHNdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBUmlMVGFibGVNb2R1bGUge31cclxuIl19
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
import { Component, ViewChild, effect, input, signal } from '@angular/core';
|
|
2
|
+
import { FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
3
|
+
import { OrderListModule } from 'primeng/orderlist';
|
|
4
|
+
import { OverlayPanel, OverlayPanelModule } from 'primeng/overlaypanel';
|
|
5
|
+
import { ToastModule } from 'primeng/toast';
|
|
6
|
+
import { TooltipModule } from 'primeng/tooltip';
|
|
7
|
+
import { saveAs } from 'file-saver';
|
|
8
|
+
import { catchError, concatMap, filter, finalize, firstValueFrom, from, interval, map, switchMap, take, throwError, toArray } from 'rxjs';
|
|
9
|
+
import { API_CONFIGS } from 'aril/boot/config/api';
|
|
10
|
+
import { ButtonComponent } from 'aril/ui/button';
|
|
11
|
+
import { CheckboxComponent } from 'aril/ui/checkbox';
|
|
12
|
+
import { FieldComponent } from 'aril/ui/field';
|
|
13
|
+
import { ARiLFormModule } from 'aril/ui/form';
|
|
14
|
+
import { RadioButtonComponent } from 'aril/ui/radioButton';
|
|
15
|
+
import { TextComponent } from 'aril/ui/text';
|
|
16
|
+
import { ExportType } from './interfaces';
|
|
17
|
+
import * as i0 from "@angular/core";
|
|
18
|
+
import * as i1 from "@angular/common/http";
|
|
19
|
+
import * as i2 from "@angular/forms";
|
|
20
|
+
import * as i3 from "primeng/api";
|
|
21
|
+
import * as i4 from "@ngneat/transloco";
|
|
22
|
+
import * as i5 from "aril/theme/layout";
|
|
23
|
+
import * as i6 from "aril/ui/form";
|
|
24
|
+
import * as i7 from "primeng/orderlist";
|
|
25
|
+
import * as i8 from "primeng/overlaypanel";
|
|
26
|
+
export class ExportOverlayPanelComponent {
|
|
27
|
+
constructor(http, fb, messageService, translocoService, selectionGroupService) {
|
|
28
|
+
this.http = http;
|
|
29
|
+
this.fb = fb;
|
|
30
|
+
this.messageService = messageService;
|
|
31
|
+
this.translocoService = translocoService;
|
|
32
|
+
this.selectionGroupService = selectionGroupService;
|
|
33
|
+
/**
|
|
34
|
+
* @see {@link ExportOptions}
|
|
35
|
+
*/
|
|
36
|
+
this.exportConfig = input.required();
|
|
37
|
+
this.columns = input();
|
|
38
|
+
this.exportTypeOptions = [
|
|
39
|
+
{ key: ExportType.Excel, label: 'Excel', fileExtension: '.xlsx' },
|
|
40
|
+
{ key: ExportType.Csv, label: 'Csv', fileExtension: '.csv' }
|
|
41
|
+
];
|
|
42
|
+
this.isLoadingForExport = signal(false);
|
|
43
|
+
this.isAllSelected = true;
|
|
44
|
+
this.toggleExport = (event) => this.op.toggle(event);
|
|
45
|
+
effect(() => {
|
|
46
|
+
if (this.exportConfig()) {
|
|
47
|
+
this.createExportForm();
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
createExportForm() {
|
|
52
|
+
const { exportLabel } = this.exportConfig();
|
|
53
|
+
this.exportForm = this.fb.group({
|
|
54
|
+
exportType: this.fb.control(ExportType.Excel, Validators.required),
|
|
55
|
+
exportLabel: this.fb.control(exportLabel, Validators.required),
|
|
56
|
+
columns: this.fb.array([])
|
|
57
|
+
});
|
|
58
|
+
this.columns()
|
|
59
|
+
?._results.filter((col) => col.type() !== 'operations')
|
|
60
|
+
.filter((col) => {
|
|
61
|
+
const exportConfig = this.exportConfig();
|
|
62
|
+
const excludedFields = exportConfig?.excludedFields ?? [];
|
|
63
|
+
return !excludedFields.includes(col.field());
|
|
64
|
+
})
|
|
65
|
+
.forEach((col) => {
|
|
66
|
+
const colGroup = this.fb.group({
|
|
67
|
+
checked: this.fb.control(true),
|
|
68
|
+
title: this.fb.control(col.header()),
|
|
69
|
+
dataKey: this.fb.control(col.field())
|
|
70
|
+
});
|
|
71
|
+
this.exportForm.controls.columns.push(colGroup);
|
|
72
|
+
});
|
|
73
|
+
this.exportForm.controls.columns.valueChanges.subscribe((t) => (this.isAllSelected = t.every((a) => a.checked)));
|
|
74
|
+
}
|
|
75
|
+
get hostUrl() {
|
|
76
|
+
return `${globalThis.location.protocol}//${globalThis.location.host}`;
|
|
77
|
+
}
|
|
78
|
+
get currentPageReportText() {
|
|
79
|
+
const total = this.translocoService.translate('table.total');
|
|
80
|
+
const record = this.translocoService.translate('table.records');
|
|
81
|
+
const page = this.translocoService.translate('table.page');
|
|
82
|
+
return `${total} : {totalRecords} ${record} | ${page} : {currentPage} / {totalPages}`;
|
|
83
|
+
}
|
|
84
|
+
async export() {
|
|
85
|
+
const { exportType, exportLabel, columns } = this.exportForm.value;
|
|
86
|
+
const { route, params, pageSize, columnFieldValueMap, dateColumnFormatMap, computedColumnMap, customReqUrl, numberColumnScaleMap, treeChildName, headerNames, outputFields } = this.exportConfig();
|
|
87
|
+
const checkedColumns = columns.filter((t) => t.checked);
|
|
88
|
+
const fileExtension = this.exportTypeOptions.find((t) => t.key === exportType)?.fileExtension;
|
|
89
|
+
let columnFieldValueMapObj;
|
|
90
|
+
this.isLoadingForExport.set(true);
|
|
91
|
+
this.exportForm.disable();
|
|
92
|
+
this.messageService.add({
|
|
93
|
+
severity: 'success',
|
|
94
|
+
key: 'export-toast',
|
|
95
|
+
summary: this.translocoService.translate('messages.exporting'),
|
|
96
|
+
detail: this.translocoService.translate('messages.exportingDetail', {
|
|
97
|
+
url: `${this.hostUrl}/#/mng/control-management/export-requests`
|
|
98
|
+
}),
|
|
99
|
+
life: 10 * 1000
|
|
100
|
+
});
|
|
101
|
+
this.op?.hide();
|
|
102
|
+
if (columnFieldValueMap) {
|
|
103
|
+
const tempObj = {};
|
|
104
|
+
await firstValueFrom(from(Object.entries(columnFieldValueMap)).pipe(concatMap(([fieldName, value]) => {
|
|
105
|
+
if (!this.selectionGroupService.selectionGroups()[`${value.groupName}~${value.parentSelectionKey ?? 'ALL'}`]) {
|
|
106
|
+
this.selectionGroupService.fetchEnum(value.groupName, value.parentSelectionKey);
|
|
107
|
+
}
|
|
108
|
+
const key = value.groupName + '~' + (value.parentSelectionKey ?? 'ALL');
|
|
109
|
+
return interval(10).pipe(filter(() => !this.selectionGroupService.isLoading(key)), take(1), map(() => {
|
|
110
|
+
const selectionGroup = this.selectionGroupService.selectionGroups()[key];
|
|
111
|
+
if (selectionGroup) {
|
|
112
|
+
tempObj[fieldName] = selectionGroup.selectionItems.reduce((acc, item) => {
|
|
113
|
+
acc[item.selectionKey] = item.selectionDisplay;
|
|
114
|
+
return acc;
|
|
115
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
116
|
+
}, {});
|
|
117
|
+
}
|
|
118
|
+
}));
|
|
119
|
+
}), toArray(), finalize(() => {
|
|
120
|
+
columnFieldValueMapObj = tempObj;
|
|
121
|
+
})));
|
|
122
|
+
}
|
|
123
|
+
const request = {
|
|
124
|
+
route: route,
|
|
125
|
+
params: params,
|
|
126
|
+
pageSize: pageSize,
|
|
127
|
+
exportType: exportType,
|
|
128
|
+
exportLabel: exportLabel,
|
|
129
|
+
computedColumnMap: computedColumnMap,
|
|
130
|
+
dateColumnFormatMap: dateColumnFormatMap,
|
|
131
|
+
columnFieldValueMap: columnFieldValueMapObj,
|
|
132
|
+
numberColumnScaleMap: numberColumnScaleMap ?? {},
|
|
133
|
+
headerNames: headerNames ?? checkedColumns.map((col) => col.title),
|
|
134
|
+
outputFields: outputFields ?? checkedColumns.map((col) => col.dataKey),
|
|
135
|
+
treeChildName: treeChildName
|
|
136
|
+
};
|
|
137
|
+
const apiUrl = customReqUrl ? API_CONFIGS.api.replace(/\/[^\/]+\/v1$/, `/${customReqUrl}/v1`) : API_CONFIGS.api;
|
|
138
|
+
const response = await firstValueFrom(this.http.post(`${apiUrl}/batch-exporters/export`, request).pipe(switchMap((res) => this.http.get(`${apiUrl}/bucket-objects/download`, {
|
|
139
|
+
params: { url: res.url },
|
|
140
|
+
responseType: 'blob'
|
|
141
|
+
})), catchError((error) => {
|
|
142
|
+
this.isLoadingForExport.set(false);
|
|
143
|
+
this.exportForm.enable();
|
|
144
|
+
if (error?.status === 400 || error?.status === 500) {
|
|
145
|
+
this.messageService.add({
|
|
146
|
+
severity: 'error',
|
|
147
|
+
summary: this.translocoService.translate('messages.exportUrlNotFound'),
|
|
148
|
+
key: 'toast-root'
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
return throwError(() => error);
|
|
152
|
+
})));
|
|
153
|
+
saveAs(response, `${exportLabel}-${new Date().getTime()}${fileExtension}`);
|
|
154
|
+
this.isLoadingForExport.set(false);
|
|
155
|
+
this.exportForm.enable();
|
|
156
|
+
this.exportForm.reset();
|
|
157
|
+
}
|
|
158
|
+
onSelectAll(value) {
|
|
159
|
+
for (let i = 0; i < this.exportForm.controls.columns.length; i++) {
|
|
160
|
+
const formGroup = this.exportForm.controls.columns.at(i);
|
|
161
|
+
formGroup.controls.checked.setValue(value);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
nativateToExportRequests() {
|
|
165
|
+
window.location.href = `${this.hostUrl}/#/mng/control-management/export-requests`;
|
|
166
|
+
}
|
|
167
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ExportOverlayPanelComponent, deps: [{ token: i1.HttpClient }, { token: i2.NonNullableFormBuilder }, { token: i3.MessageService }, { token: i4.TranslocoService }, { token: i5.SelectionGroupService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
168
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ExportOverlayPanelComponent, isStandalone: true, selector: "aril-export-overlay-panel", inputs: { exportConfig: { classPropertyName: "exportConfig", publicName: "exportConfig", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "op", first: true, predicate: OverlayPanel, descendants: true }], ngImport: i0, template: `
|
|
169
|
+
<p-overlayPanel styleClass="export-overlay-panel" [baseZIndex]="1101">
|
|
170
|
+
@if (exportForm) {
|
|
171
|
+
<aril-form [formGroup]="exportForm" class="w-20rem">
|
|
172
|
+
<aril-field [label]="'Dosya Tipi'" [cols]="{ default: 12 }">
|
|
173
|
+
<aril-radio-button formControlName="exportType" [options]="exportTypeOptions" />
|
|
174
|
+
</aril-field>
|
|
175
|
+
|
|
176
|
+
<aril-field [label]="'Dosya İsmi'" [cols]="{ default: 12 }">
|
|
177
|
+
<aril-text class="w-full" formControlName="exportLabel" />
|
|
178
|
+
</aril-field>
|
|
179
|
+
|
|
180
|
+
@if (exportForm.controls.columns.length) {
|
|
181
|
+
<ng-container formArrayName="columns">
|
|
182
|
+
<p-orderList
|
|
183
|
+
#orderListRef
|
|
184
|
+
class="col-12"
|
|
185
|
+
[value]="exportForm.controls.columns.controls"
|
|
186
|
+
[listStyle]="{ 'max-height': '20rem' }"
|
|
187
|
+
filterBy="value.title"
|
|
188
|
+
[disabled]="isLoadingForExport()">
|
|
189
|
+
<ng-template pTemplate="filter">
|
|
190
|
+
<div class="flex align-items-center gap-3">
|
|
191
|
+
<aril-checkbox
|
|
192
|
+
[label]="''"
|
|
193
|
+
[ngModel]="isAllSelected"
|
|
194
|
+
[ngModelOptions]="{ standalone: true }"
|
|
195
|
+
(ngModelChange)="onSelectAll($event)"
|
|
196
|
+
[disabled]="isLoadingForExport()" />
|
|
197
|
+
|
|
198
|
+
<div class="p-orderlist-filter" [attr.data-pc-section]="'filter'">
|
|
199
|
+
<input
|
|
200
|
+
#filter
|
|
201
|
+
type="text"
|
|
202
|
+
role="textbox"
|
|
203
|
+
(keyup)="orderListRef.onFilterKeyup($event)"
|
|
204
|
+
[disabled]="orderListRef.disabled"
|
|
205
|
+
class="p-orderlist-filter-input p-inputtext p-component" />
|
|
206
|
+
</div>
|
|
207
|
+
</div>
|
|
208
|
+
</ng-template>
|
|
209
|
+
<ng-template let-col pTemplate="item">
|
|
210
|
+
<aril-checkbox [label]="col.value.title" [formControl]="col.controls.checked" />
|
|
211
|
+
</ng-template>
|
|
212
|
+
</p-orderList>
|
|
213
|
+
</ng-container>
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
<aril-button
|
|
217
|
+
class="col-12"
|
|
218
|
+
[label]="translocoService.translate('navigateToExportRequests')"
|
|
219
|
+
color="secondary"
|
|
220
|
+
(clickEvent)="nativateToExportRequests()" />
|
|
221
|
+
|
|
222
|
+
<aril-button
|
|
223
|
+
class="col-12"
|
|
224
|
+
[label]="translocoService.translate('messages.export')"
|
|
225
|
+
color="primary"
|
|
226
|
+
(clickEvent)="export()"
|
|
227
|
+
[disabled]="isLoadingForExport()" />
|
|
228
|
+
</aril-form>
|
|
229
|
+
}
|
|
230
|
+
</p-overlayPanel>
|
|
231
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ARiLFormModule }, { kind: "component", type: i6.FormComponent, selector: "aril-form", inputs: ["formGroup"] }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "color"], outputs: ["clickEvent"] }, { kind: "component", type: CheckboxComponent, selector: "aril-checkbox[ngModel], aril-checkbox[formControl], aril-checkbox[formControlName]", inputs: ["label", "labelAsYesNo", "tabindex"] }, { kind: "component", type: FieldComponent, selector: "aril-field", inputs: ["label", "color", "labelWidth", "valueWidth", "labelPos", "markAsRequired", "cols", "infoData"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: OrderListModule }, { kind: "component", type: i7.OrderList, selector: "p-orderList", inputs: ["header", "style", "styleClass", "tabindex", "ariaLabel", "ariaLabelledBy", "listStyle", "responsive", "filterBy", "filterPlaceholder", "filterLocale", "metaKeySelection", "dragdrop", "controlsPosition", "ariaFilterLabel", "filterMatchMode", "breakpoint", "stripedRows", "disabled", "trackBy", "selection", "value"], outputs: ["selectionChange", "onReorder", "onSelectionChange", "onFilterEvent", "onFocus", "onBlur"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i8.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: RadioButtonComponent, selector: "aril-radio-button[ngModel], aril-radio-button[formControl], aril-radio-button[formControlName]", inputs: ["options", "tabindex", "align"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: TextComponent, selector: "aril-text[ngModel], aril-text[formControl], aril-text[formControlName]", inputs: ["placeholder", "tabindex", "icon", "iconPos", "size"] }, { kind: "ngmodule", type: ToastModule }, { kind: "ngmodule", type: TooltipModule }] }); }
|
|
232
|
+
}
|
|
233
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ExportOverlayPanelComponent, decorators: [{
|
|
234
|
+
type: Component,
|
|
235
|
+
args: [{
|
|
236
|
+
standalone: true,
|
|
237
|
+
selector: 'aril-export-overlay-panel',
|
|
238
|
+
imports: [
|
|
239
|
+
ARiLFormModule,
|
|
240
|
+
ButtonComponent,
|
|
241
|
+
CheckboxComponent,
|
|
242
|
+
FieldComponent,
|
|
243
|
+
FormsModule,
|
|
244
|
+
OrderListModule,
|
|
245
|
+
OverlayPanelModule,
|
|
246
|
+
RadioButtonComponent,
|
|
247
|
+
ReactiveFormsModule,
|
|
248
|
+
TextComponent,
|
|
249
|
+
ToastModule,
|
|
250
|
+
TooltipModule
|
|
251
|
+
],
|
|
252
|
+
template: `
|
|
253
|
+
<p-overlayPanel styleClass="export-overlay-panel" [baseZIndex]="1101">
|
|
254
|
+
@if (exportForm) {
|
|
255
|
+
<aril-form [formGroup]="exportForm" class="w-20rem">
|
|
256
|
+
<aril-field [label]="'Dosya Tipi'" [cols]="{ default: 12 }">
|
|
257
|
+
<aril-radio-button formControlName="exportType" [options]="exportTypeOptions" />
|
|
258
|
+
</aril-field>
|
|
259
|
+
|
|
260
|
+
<aril-field [label]="'Dosya İsmi'" [cols]="{ default: 12 }">
|
|
261
|
+
<aril-text class="w-full" formControlName="exportLabel" />
|
|
262
|
+
</aril-field>
|
|
263
|
+
|
|
264
|
+
@if (exportForm.controls.columns.length) {
|
|
265
|
+
<ng-container formArrayName="columns">
|
|
266
|
+
<p-orderList
|
|
267
|
+
#orderListRef
|
|
268
|
+
class="col-12"
|
|
269
|
+
[value]="exportForm.controls.columns.controls"
|
|
270
|
+
[listStyle]="{ 'max-height': '20rem' }"
|
|
271
|
+
filterBy="value.title"
|
|
272
|
+
[disabled]="isLoadingForExport()">
|
|
273
|
+
<ng-template pTemplate="filter">
|
|
274
|
+
<div class="flex align-items-center gap-3">
|
|
275
|
+
<aril-checkbox
|
|
276
|
+
[label]="''"
|
|
277
|
+
[ngModel]="isAllSelected"
|
|
278
|
+
[ngModelOptions]="{ standalone: true }"
|
|
279
|
+
(ngModelChange)="onSelectAll($event)"
|
|
280
|
+
[disabled]="isLoadingForExport()" />
|
|
281
|
+
|
|
282
|
+
<div class="p-orderlist-filter" [attr.data-pc-section]="'filter'">
|
|
283
|
+
<input
|
|
284
|
+
#filter
|
|
285
|
+
type="text"
|
|
286
|
+
role="textbox"
|
|
287
|
+
(keyup)="orderListRef.onFilterKeyup($event)"
|
|
288
|
+
[disabled]="orderListRef.disabled"
|
|
289
|
+
class="p-orderlist-filter-input p-inputtext p-component" />
|
|
290
|
+
</div>
|
|
291
|
+
</div>
|
|
292
|
+
</ng-template>
|
|
293
|
+
<ng-template let-col pTemplate="item">
|
|
294
|
+
<aril-checkbox [label]="col.value.title" [formControl]="col.controls.checked" />
|
|
295
|
+
</ng-template>
|
|
296
|
+
</p-orderList>
|
|
297
|
+
</ng-container>
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
<aril-button
|
|
301
|
+
class="col-12"
|
|
302
|
+
[label]="translocoService.translate('navigateToExportRequests')"
|
|
303
|
+
color="secondary"
|
|
304
|
+
(clickEvent)="nativateToExportRequests()" />
|
|
305
|
+
|
|
306
|
+
<aril-button
|
|
307
|
+
class="col-12"
|
|
308
|
+
[label]="translocoService.translate('messages.export')"
|
|
309
|
+
color="primary"
|
|
310
|
+
(clickEvent)="export()"
|
|
311
|
+
[disabled]="isLoadingForExport()" />
|
|
312
|
+
</aril-form>
|
|
313
|
+
}
|
|
314
|
+
</p-overlayPanel>
|
|
315
|
+
`
|
|
316
|
+
}]
|
|
317
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.NonNullableFormBuilder }, { type: i3.MessageService }, { type: i4.TranslocoService }, { type: i5.SelectionGroupService }], propDecorators: { op: [{
|
|
318
|
+
type: ViewChild,
|
|
319
|
+
args: [OverlayPanel]
|
|
320
|
+
}] } });
|
|
321
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LW92ZXJsYXktcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvZXhwb3J0LW92ZXJsYXktcGFuZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBYSxXQUFXLEVBQTBCLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQ04sVUFBVSxFQUNWLFNBQVMsRUFDVCxNQUFNLEVBQ04sUUFBUSxFQUNSLGNBQWMsRUFDZCxJQUFJLEVBQ0osUUFBUSxFQUNSLEdBQUcsRUFDSCxTQUFTLEVBQ1QsSUFBSSxFQUNKLFVBQVUsRUFDVixPQUFPLEVBQ1AsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFB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QUFhO3dCQUNiLFdBQVc7d0JBQ1gsYUFBYTtxQkFDYjtvQkFDRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQStEVDtpQkFDRDtvTkFFeUIsRUFBRTtzQkFBMUIsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIGVmZmVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBOb25OdWxsYWJsZUZvcm1CdWlsZGVyLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IE9yZGVyTGlzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvb3JkZXJsaXN0JztcclxuaW1wb3J0IHsgT3ZlcmxheVBhbmVsLCBPdmVybGF5UGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XHJcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuaW1wb3J0IHsgc2F2ZUFzIH0gZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCB7XHJcblx0Y2F0Y2hFcnJvcixcclxuXHRjb25jYXRNYXAsXHJcblx0ZmlsdGVyLFxyXG5cdGZpbmFsaXplLFxyXG5cdGZpcnN0VmFsdWVGcm9tLFxyXG5cdGZyb20sXHJcblx0aW50ZXJ2YWwsXHJcblx0bWFwLFxyXG5cdHN3aXRjaE1hcCxcclxuXHR0YWtlLFxyXG5cdHRocm93RXJyb3IsXHJcblx0dG9BcnJheVxyXG59IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQVBJX0NPTkZJR1MgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwaSc7XHJcbmltcG9ydCB7IFNlbGVjdGlvbkdyb3VwU2VydmljZSB9IGZyb20gJ2FyaWwvdGhlbWUvbGF5b3V0JztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnYXJpbC91aS9idXR0b24nO1xyXG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBGaWVsZENvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvZmllbGQnO1xyXG5pbXBvcnQgeyBBUmlMRm9ybU1vZHVsZSB9IGZyb20gJ2FyaWwvdWkvZm9ybSc7XHJcbmltcG9ydCB7IFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnYXJpbC91aS9yYWRpb0J1dHRvbic7XHJcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL3RleHQnO1xyXG5cclxuaW1wb3J0IHtcclxuXHRDb2xGb3JtLFxyXG5cdENvbHVtbkZpZWxkVmFsdWVNYXAsXHJcblx0RXhwb3J0Rm9ybSxcclxuXHRFeHBvcnRPcHRpb25zLFxyXG5cdEV4cG9ydFJlcXVlc3QsXHJcblx0RXhwb3J0VHlwZSxcclxuXHRUYWJsZUNvbHVtbnNcclxufSBmcm9tICcuL2ludGVyZmFjZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FyaWwtZXhwb3J0LW92ZXJsYXktcGFuZWwnLFxyXG5cdGltcG9ydHM6IFtcclxuXHRcdEFSaUxGb3JtTW9kdWxlLFxyXG5cdFx0QnV0dG9uQ29tcG9uZW50LFxyXG5cdFx0Q2hlY2tib3hDb21wb25lbnQsXHJcblx0XHRGaWVsZENvbXBvbmVudCxcclxuXHRcdEZvcm1zTW9kdWxlLFxyXG5cdFx0T3JkZXJMaXN0TW9kdWxlLFxyXG5cdFx0T3ZlcmxheVBhbmVsTW9kdWxlLFxyXG5cdFx0UmFkaW9CdXR0b25Db21wb25lbnQsXHJcblx0XHRSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG5cdFx0VGV4dENvbXBvbmVudCxcclxuXHRcdFRvYXN0TW9kdWxlLFxyXG5cdFx0VG9vbHRpcE1vZHVsZVxyXG5cdF0sXHJcblx0dGVtcGxhdGU6IGBcclxuXHRcdDxwLW92ZXJsYXlQYW5lbCBzdHlsZUNsYXNzPVwiZXhwb3J0LW92ZXJsYXktcGFuZWxcIiBbYmFzZVpJbmRleF09XCIxMTAxXCI+XHJcblx0XHRcdEBpZiAoZXhwb3J0Rm9ybSkge1xyXG5cdFx0XHRcdDxhcmlsLWZvcm0gW2Zvcm1Hcm91cF09XCJleHBvcnRGb3JtXCIgY2xhc3M9XCJ3LTIwcmVtXCI+XHJcblx0XHRcdFx0XHQ8YXJpbC1maWVsZCBbbGFiZWxdPVwiJ0Rvc3lhIFRpcGknXCIgW2NvbHNdPVwieyBkZWZhdWx0OiAxMiB9XCI+XHJcblx0XHRcdFx0XHRcdDxhcmlsLXJhZGlvLWJ1dHRvbiBmb3JtQ29udHJvbE5hbWU9XCJleHBvcnRUeXBlXCIgW29wdGlvbnNdPVwiZXhwb3J0VHlwZU9wdGlvbnNcIiAvPlxyXG5cdFx0XHRcdFx0PC9hcmlsLWZpZWxkPlxyXG5cclxuXHRcdFx0XHRcdDxhcmlsLWZpZWxkIFtsYWJlbF09XCInRG9zeWEgxLBzbWknXCIgW2NvbHNdPVwieyBkZWZhdWx0OiAxMiB9XCI+XHJcblx0XHRcdFx0XHRcdDxhcmlsLXRleHQgY2xhc3M9XCJ3LWZ1bGxcIiBmb3JtQ29udHJvbE5hbWU9XCJleHBvcnRMYWJlbFwiIC8+XHJcblx0XHRcdFx0XHQ8L2FyaWwtZmllbGQ+XHJcblxyXG5cdFx0XHRcdFx0QGlmIChleHBvcnRGb3JtLmNvbnRyb2xzLmNvbHVtbnMubGVuZ3RoKSB7XHJcblx0XHRcdFx0XHRcdDxuZy1jb250YWluZXIgZm9ybUFycmF5TmFtZT1cImNvbHVtbnNcIj5cclxuXHRcdFx0XHRcdFx0XHQ8cC1vcmRlckxpc3RcclxuXHRcdFx0XHRcdFx0XHRcdCNvcmRlckxpc3RSZWZcclxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiY29sLTEyXCJcclxuXHRcdFx0XHRcdFx0XHRcdFt2YWx1ZV09XCJleHBvcnRGb3JtLmNvbnRyb2xzLmNvbHVtbnMuY29udHJvbHNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0W2xpc3RTdHlsZV09XCJ7ICdtYXgtaGVpZ2h0JzogJzIwcmVtJyB9XCJcclxuXHRcdFx0XHRcdFx0XHRcdGZpbHRlckJ5PVwidmFsdWUudGl0bGVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0W2Rpc2FibGVkXT1cImlzTG9hZGluZ0ZvckV4cG9ydCgpXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZmlsdGVyXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxhcmlsLWNoZWNrYm94XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbbGFiZWxdPVwiJydcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0W25nTW9kZWxdPVwiaXNBbGxTZWxlY3RlZFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0KG5nTW9kZWxDaGFuZ2UpPVwib25TZWxlY3RBbGwoJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbZGlzYWJsZWRdPVwiaXNMb2FkaW5nRm9yRXhwb3J0KClcIiAvPlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicC1vcmRlcmxpc3QtZmlsdGVyXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidmaWx0ZXInXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0I2ZpbHRlclxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlPVwidGV4dFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJvbGU9XCJ0ZXh0Ym94XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KGtleXVwKT1cIm9yZGVyTGlzdFJlZi5vbkZpbHRlcktleXVwKCRldmVudClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbZGlzYWJsZWRdPVwib3JkZXJMaXN0UmVmLmRpc2FibGVkXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJwLW9yZGVybGlzdC1maWx0ZXItaW5wdXQgcC1pbnB1dHRleHQgcC1jb21wb25lbnRcIiAvPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgbGV0LWNvbCBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxhcmlsLWNoZWNrYm94IFtsYWJlbF09XCJjb2wudmFsdWUudGl0bGVcIiBbZm9ybUNvbnRyb2xdPVwiY29sLmNvbnRyb2xzLmNoZWNrZWRcIiAvPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdFx0XHQ8L3Atb3JkZXJMaXN0PlxyXG5cdFx0XHRcdFx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQ8YXJpbC1idXR0b25cclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJjb2wtMTJcIlxyXG5cdFx0XHRcdFx0XHRbbGFiZWxdPVwidHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ25hdmlnYXRlVG9FeHBvcnRSZXF1ZXN0cycpXCJcclxuXHRcdFx0XHRcdFx0Y29sb3I9XCJzZWNvbmRhcnlcIlxyXG5cdFx0XHRcdFx0XHQoY2xpY2tFdmVudCk9XCJuYXRpdmF0ZVRvRXhwb3J0UmVxdWVzdHMoKVwiIC8+XHJcblxyXG5cdFx0XHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiY29sLTEyXCJcclxuXHRcdFx0XHRcdFx0W2xhYmVsXT1cInRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdtZXNzYWdlcy5leHBvcnQnKVwiXHJcblx0XHRcdFx0XHRcdGNvbG9yPVwicHJpbWFyeVwiXHJcblx0XHRcdFx0XHRcdChjbGlja0V2ZW50KT1cImV4cG9ydCgpXCJcclxuXHRcdFx0XHRcdFx0W2Rpc2FibGVkXT1cImlzTG9hZGluZ0ZvckV4cG9ydCgpXCIgLz5cclxuXHRcdFx0XHQ8L2FyaWwtZm9ybT5cclxuXHRcdFx0fVxyXG5cdFx0PC9wLW92ZXJsYXlQYW5lbD5cclxuXHRgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeHBvcnRPdmVybGF5UGFuZWxDb21wb25lbnQge1xyXG5cdEBWaWV3Q2hpbGQoT3ZlcmxheVBhbmVsKSBvcCE6IE92ZXJsYXlQYW5lbDtcclxuXHJcblx0LyoqXHJcblx0ICogQHNlZSB7QGxpbmsgRXhwb3J0T3B0aW9uc31cclxuXHQgKi9cclxuXHRleHBvcnRDb25maWcgPSBpbnB1dC5yZXF1aXJlZDxFeHBvcnRPcHRpb25zPigpO1xyXG5cdGNvbHVtbnMgPSBpbnB1dDxUYWJsZUNvbHVtbnM+KCk7XHJcblxyXG5cdGV4cG9ydEZvcm0hOiBGb3JtR3JvdXA8RXhwb3J0Rm9ybT47XHJcblx0ZXhwb3J0VHlwZU9wdGlvbnMgPSBbXHJcblx0XHR7IGtleTogRXhwb3J0VHlwZS5FeGNlbCwgbGFiZWw6ICdFeGNlbCcsIGZpbGVFeHRlbnNpb246ICcueGxzeCcgfSxcclxuXHRcdHsga2V5OiBFeHBvcnRUeXBlLkNzdiwgbGFiZWw6ICdDc3YnLCBmaWxlRXh0ZW5zaW9uOiAnLmNzdicgfVxyXG5cdF07XHJcblx0aXNMb2FkaW5nRm9yRXhwb3J0ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuXHRpc0FsbFNlbGVjdGVkID0gdHJ1ZTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcblx0XHRwcml2YXRlIGZiOiBOb25OdWxsYWJsZUZvcm1CdWlsZGVyLFxyXG5cdFx0cHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcblx0XHRwdWJsaWMgdHJhbnNsb2NvU2VydmljZTogVHJhbnNsb2NvU2VydmljZSxcclxuXHRcdHByaXZhdGUgc2VsZWN0aW9uR3JvdXBTZXJ2aWNlOiBTZWxlY3Rpb25Hcm91cFNlcnZpY2VcclxuXHQpIHtcclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLmV4cG9ydENvbmZpZygpKSB7XHJcblx0XHRcdFx0dGhpcy5jcmVhdGVFeHBvcnRGb3JtKCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBjcmVhdGVFeHBvcnRGb3JtKCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgeyBleHBvcnRMYWJlbCB9ID0gdGhpcy5leHBvcnRDb25maWcoKSE7XHJcblxyXG5cdFx0dGhpcy5leHBvcnRGb3JtID0gdGhpcy5mYi5ncm91cDxFeHBvcnRGb3JtPih7XHJcblx0XHRcdGV4cG9ydFR5cGU6IHRoaXMuZmIuY29udHJvbChFeHBvcnRUeXBlLkV4Y2VsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuXHRcdFx0ZXhwb3J0TGFiZWw6IHRoaXMuZmIuY29udHJvbChleHBvcnRMYWJlbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcblx0XHRcdGNvbHVtbnM6IHRoaXMuZmIuYXJyYXk8Rm9ybUdyb3VwPENvbEZvcm0+PihbXSlcclxuXHRcdH0pO1xyXG5cclxuXHRcdHRoaXMuY29sdW1ucygpXHJcblx0XHRcdD8uX3Jlc3VsdHMuZmlsdGVyKChjb2wpID0+IGNvbC50eXBlKCkgIT09ICdvcGVyYXRpb25zJylcclxuXHRcdFx0LmZpbHRlcigoY29sKSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgZXhwb3J0Q29uZmlnID0gdGhpcy5leHBvcnRDb25maWcoKTtcclxuXHRcdFx0XHRjb25zdCBleGNsdWRlZEZpZWxkcyA9IGV4cG9ydENvbmZpZz8uZXhjbHVkZWRGaWVsZHMgPz8gW107XHJcblxyXG5cdFx0XHRcdHJldHVybiAhZXhjbHVkZWRGaWVsZHMuaW5jbHVkZXMoY29sLmZpZWxkKCkpO1xyXG5cdFx0XHR9KVxyXG5cdFx0XHQuZm9yRWFjaCgoY29sKSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgY29sR3JvdXAgPSB0aGlzLmZiLmdyb3VwPENvbEZvcm0+KHtcclxuXHRcdFx0XHRcdGNoZWNrZWQ6IHRoaXMuZmIuY29udHJvbCh0cnVlKSxcclxuXHRcdFx0XHRcdHRpdGxlOiB0aGlzLmZiLmNvbnRyb2woY29sLmhlYWRlcigpKSxcclxuXHRcdFx0XHRcdGRhdGFLZXk6IHRoaXMuZmIuY29udHJvbChjb2wuZmllbGQoKSlcclxuXHRcdFx0XHR9KTtcclxuXHJcblx0XHRcdFx0dGhpcy5leHBvcnRGb3JtLmNvbnRyb2xzLmNvbHVtbnMucHVzaChjb2xHcm91cCk7XHJcblx0XHRcdH0pO1xyXG5cclxuXHRcdHRoaXMuZXhwb3J0Rm9ybS5jb250cm9scy5jb2x1bW5zLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHQpID0+ICh0aGlzLmlzQWxsU2VsZWN0ZWQgPSB0LmV2ZXJ5KChhKSA9PiBhLmNoZWNrZWQpKSk7XHJcblx0fVxyXG5cclxuXHRnZXQgaG9zdFVybCgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIGAke2dsb2JhbFRoaXMubG9jYXRpb24ucHJvdG9jb2x9Ly8ke2dsb2JhbFRoaXMubG9jYXRpb24uaG9zdH1gO1xyXG5cdH1cclxuXHJcblx0Z2V0IGN1cnJlbnRQYWdlUmVwb3J0VGV4dCgpOiBzdHJpbmcge1xyXG5cdFx0Y29uc3QgdG90YWwgPSB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCd0YWJsZS50b3RhbCcpO1xyXG5cdFx0Y29uc3QgcmVjb3JkID0gdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgndGFibGUucmVjb3JkcycpO1xyXG5cdFx0Y29uc3QgcGFnZSA9IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3RhYmxlLnBhZ2UnKTtcclxuXHRcdHJldHVybiBgJHt0b3RhbH0gOiB7dG90YWxSZWNvcmRzfSAke3JlY29yZH0gfCAke3BhZ2V9IDoge2N1cnJlbnRQYWdlfSAvIHt0b3RhbFBhZ2VzfWA7XHJcblx0fVxyXG5cclxuXHRhc3luYyBleHBvcnQoKSB7XHJcblx0XHRjb25zdCB7IGV4cG9ydFR5cGUsIGV4cG9ydExhYmVsLCBjb2x1bW5zIH0gPSB0aGlzLmV4cG9ydEZvcm0udmFsdWU7XHJcblx0XHRjb25zdCB7XHJcblx0XHRcdHJvdXRlLFxyXG5cdFx0XHRwYXJhbXMsXHJcblx0XHRcdHBhZ2VTaXplLFxyXG5cdFx0XHRjb2x1bW5GaWVsZFZhbHVlTWFwLFxyXG5cdFx0XHRkYXRlQ29sdW1uRm9ybWF0TWFwLFxyXG5cdFx0XHRjb21wdXRlZENvbHVtbk1hcCxcclxuXHRcdFx0Y3VzdG9tUmVxVXJsLFxyXG5cdFx0XHRudW1iZXJDb2x1bW5TY2FsZU1hcCxcclxuXHRcdFx0dHJlZUNoaWxkTmFtZSxcclxuXHRcdFx0aGVhZGVyTmFtZXMsXHJcblx0XHRcdG91dHB1dEZpZWxkc1xyXG5cdFx0fSA9IHRoaXMuZXhwb3J0Q29uZmlnKCkhO1xyXG5cclxuXHRcdGNvbnN0IGNoZWNrZWRDb2x1bW5zID0gY29sdW1ucyEuZmlsdGVyKCh0KSA9PiB0LmNoZWNrZWQpO1xyXG5cdFx0Y29uc3QgZmlsZUV4dGVuc2lvbiA9IHRoaXMuZXhwb3J0VHlwZU9wdGlvbnMuZmluZCgodCkgPT4gdC5rZXkgPT09IGV4cG9ydFR5cGUpPy5maWxlRXh0ZW5zaW9uO1xyXG5cclxuXHRcdGxldCBjb2x1bW5GaWVsZFZhbHVlTWFwT2JqOiBDb2x1bW5GaWVsZFZhbHVlTWFwIHwgdW5kZWZpbmVkO1xyXG5cclxuXHRcdHRoaXMuaXNMb2FkaW5nRm9yRXhwb3J0LnNldCh0cnVlKTtcclxuXHRcdHRoaXMuZXhwb3J0Rm9ybS5kaXNhYmxlKCk7XHJcblxyXG5cdFx0dGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xyXG5cdFx0XHRzZXZlcml0eTogJ3N1Y2Nlc3MnLFxyXG5cdFx0XHRrZXk6ICdleHBvcnQtdG9hc3QnLFxyXG5cdFx0XHRzdW1tYXJ5OiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdtZXNzYWdlcy5leHBvcnRpbmcnKSxcclxuXHRcdFx0ZGV0YWlsOiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdtZXNzYWdlcy5leHBvcnRpbmdEZXRhaWwnLCB7XHJcblx0XHRcdFx0dXJsOiBgJHt0aGlzLmhvc3RVcmx9LyMvbW5nL2NvbnRyb2wtbWFuYWdlbWVudC9leHBvcnQtcmVxdWVzdHNgXHJcblx0XHRcdH0pLFxyXG5cdFx0XHRsaWZlOiAxMCAqIDEwMDBcclxuXHRcdH0pO1xyXG5cdFx0dGhpcy5vcD8uaGlkZSgpO1xyXG5cclxuXHRcdGlmIChjb2x1bW5GaWVsZFZhbHVlTWFwKSB7XHJcblx0XHRcdGNvbnN0IHRlbXBPYmogPSB7fSBhcyBDb2x1bW5GaWVsZFZhbHVlTWFwO1xyXG5cclxuXHRcdFx0YXdhaXQgZmlyc3RWYWx1ZUZyb20oXHJcblx0XHRcdFx0ZnJvbShPYmplY3QuZW50cmllcyhjb2x1bW5GaWVsZFZhbHVlTWFwKSkucGlwZShcclxuXHRcdFx0XHRcdGNvbmNhdE1hcCgoW2ZpZWxkTmFtZSwgdmFsdWVdKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0XHQhdGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2Uuc2VsZWN0aW9uR3JvdXBzKClbYCR7dmFsdWUuZ3JvdXBOYW1lfX4ke3ZhbHVlLnBhcmVudFNlbGVjdGlvbktleSA/PyAnQUxMJ31gXVxyXG5cdFx0XHRcdFx0XHQpIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5mZXRjaEVudW0odmFsdWUuZ3JvdXBOYW1lLCB2YWx1ZS5wYXJlbnRTZWxlY3Rpb25LZXkpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRjb25zdCBrZXkgPSB2YWx1ZS5ncm91cE5hbWUgKyAnficgKyAodmFsdWUucGFyZW50U2VsZWN0aW9uS2V5ID8/ICdBTEwnKTtcclxuXHJcblx0XHRcdFx0XHRcdHJldHVybiBpbnRlcnZhbCgxMCkucGlwZShcclxuXHRcdFx0XHRcdFx0XHRmaWx0ZXIoKCkgPT4gIXRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLmlzTG9hZGluZyhrZXkpKSxcclxuXHRcdFx0XHRcdFx0XHR0YWtlKDEpLFxyXG5cdFx0XHRcdFx0XHRcdG1hcCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zdCBzZWxlY3Rpb25Hcm91cCA9IHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLnNlbGVjdGlvbkdyb3VwcygpW2tleV07XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoc2VsZWN0aW9uR3JvdXApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGVtcE9ialtmaWVsZE5hbWVdID0gc2VsZWN0aW9uR3JvdXAuc2VsZWN0aW9uSXRlbXMucmVkdWNlKChhY2M6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sIGl0ZW0pID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRhY2NbaXRlbS5zZWxlY3Rpb25LZXldID0gaXRlbS5zZWxlY3Rpb25EaXNwbGF5O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBhY2M7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuXHRcdFx0XHRcdFx0XHRcdFx0fSwge30pIGFzIGFueTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0XHR0b0FycmF5KCksXHJcblx0XHRcdFx0XHRmaW5hbGl6ZSgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbHVtbkZpZWxkVmFsdWVNYXBPYmogPSB0ZW1wT2JqO1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHQpXHJcblx0XHRcdCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgcmVxdWVzdDogRXhwb3J0UmVxdWVzdCA9IHtcclxuXHRcdFx0cm91dGU6IHJvdXRlISxcclxuXHRcdFx0cGFyYW1zOiBwYXJhbXMhLFxyXG5cdFx0XHRwYWdlU2l6ZTogcGFnZVNpemUhLFxyXG5cdFx0XHRleHBvcnRUeXBlOiBleHBvcnRUeXBlISxcclxuXHRcdFx0ZXhwb3J0TGFiZWw6IGV4cG9ydExhYmVsISxcclxuXHRcdFx0Y29tcHV0ZWRDb2x1bW5NYXA6IGNvbXB1dGVkQ29sdW1uTWFwISxcclxuXHRcdFx0ZGF0ZUNvbHVtbkZvcm1hdE1hcDogZGF0ZUNvbHVtbkZvcm1hdE1hcCEsXHJcblx0XHRcdGNvbHVtbkZpZWxkVmFsdWVNYXA6IGNvbHVtbkZpZWxkVmFsdWVNYXBPYmohLFxyXG5cdFx0XHRudW1iZXJDb2x1bW5TY2FsZU1hcDogbnVtYmVyQ29sdW1uU2NhbGVNYXAgPz8ge30sXHJcblx0XHRcdGhlYWRlck5hbWVzOiBoZWFkZXJOYW1lcyA/PyBjaGVja2VkQ29sdW1ucy5tYXAoKGNvbCkgPT4gY29sLnRpdGxlISksXHJcblx0XHRcdG91dHB1dEZpZWxkczogb3V0cHV0RmllbGRzID8/IGNoZWNrZWRDb2x1bW5zLm1hcCgoY29sKSA9PiBjb2wuZGF0YUtleSEpLFxyXG5cdFx0XHR0cmVlQ2hpbGROYW1lOiB0cmVlQ2hpbGROYW1lIVxyXG5cdFx0fTtcclxuXHJcblx0XHRjb25zdCBhcGlVcmwgPSBjdXN0b21SZXFVcmwgPyBBUElfQ09ORklHUy5hcGkucmVwbGFjZSgvXFwvW15cXC9dK1xcL3YxJC8sIGAvJHtjdXN0b21SZXFVcmx9L3YxYCkgOiBBUElfQ09ORklHUy5hcGk7XHJcblx0XHRjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxyXG5cdFx0XHR0aGlzLmh0dHAucG9zdDx7IHN1Y2Nlc3M6IGJvb2xlYW47IHVybDogc3RyaW5nIH0+KGAke2FwaVVybH0vYmF0Y2gtZXhwb3J0ZXJzL2V4cG9ydGAsIHJlcXVlc3QpLnBpcGUoXHJcblx0XHRcdFx0c3dpdGNoTWFwKChyZXMpID0+XHJcblx0XHRcdFx0XHR0aGlzLmh0dHAuZ2V0KGAke2FwaVVybH0vYnVja2V0LW9iamVjdHMvZG93bmxvYWRgLCB7XHJcblx0XHRcdFx0XHRcdHBhcmFtczogeyB1cmw6IHJlcy51cmwgfSxcclxuXHRcdFx0XHRcdFx0cmVzcG9uc2VUeXBlOiAnYmxvYidcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0KSxcclxuXHRcdFx0XHRjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5pc0xvYWRpbmdGb3JFeHBvcnQuc2V0KGZhbHNlKTtcclxuXHRcdFx0XHRcdHRoaXMuZXhwb3J0Rm9ybS5lbmFibGUoKTtcclxuXHRcdFx0XHRcdGlmIChlcnJvcj8uc3RhdHVzID09PSA0MDAgfHwgZXJyb3I/LnN0YXR1cyA9PT0gNTAwKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcclxuXHRcdFx0XHRcdFx0XHRzZXZlcml0eTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHRzdW1tYXJ5OiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdtZXNzYWdlcy5leHBvcnRVcmxOb3RGb3VuZCcpLFxyXG5cdFx0XHRcdFx0XHRcdGtleTogJ3RvYXN0LXJvb3QnXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0cmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdClcclxuXHRcdCk7XHJcblxyXG5cdFx0c2F2ZUFzKHJlc3BvbnNlLCBgJHtleHBvcnRMYWJlbH0tJHtuZXcgRGF0ZSgpLmdldFRpbWUoKX0ke2ZpbGVFeHRlbnNpb259YCk7XHJcblx0XHR0aGlzLmlzTG9hZGluZ0ZvckV4cG9ydC5zZXQoZmFsc2UpO1xyXG5cdFx0dGhpcy5leHBvcnRGb3JtLmVuYWJsZSgpO1xyXG5cdFx0dGhpcy5leHBvcnRGb3JtLnJlc2V0KCk7XHJcblx0fVxyXG5cclxuXHRvblNlbGVjdEFsbCh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmV4cG9ydEZvcm0uY29udHJvbHMuY29sdW1ucy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRjb25zdCBmb3JtR3JvdXAgPSB0aGlzLmV4cG9ydEZvcm0uY29udHJvbHMuY29sdW1ucy5hdChpKTtcclxuXHRcdFx0Zm9ybUdyb3VwLmNvbnRyb2xzLmNoZWNrZWQuc2V0VmFsdWUodmFsdWUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bmF0aXZhdGVUb0V4cG9ydFJlcXVlc3RzKCkge1xyXG5cdFx0d2luZG93LmxvY2F0aW9uLmhyZWYgPSBgJHt0aGlzLmhvc3RVcmx9LyMvbW5nL2NvbnRyb2wtbWFuYWdlbWVudC9leHBvcnQtcmVxdWVzdHNgO1xyXG5cdH1cclxuXHJcblx0dG9nZ2xlRXhwb3J0ID0gKGV2ZW50OiBFdmVudCk6IHZvaWQgPT4gdGhpcy5vcC50b2dnbGUoZXZlbnQpO1xyXG59XHJcbiJdfQ==
|
|
@@ -41,4 +41,4 @@ export var ColumnFilterTypeEnum;
|
|
|
41
41
|
ColumnFilterTypeEnum["BOOLEAN"] = "boolean";
|
|
42
42
|
ColumnFilterTypeEnum["ENUM"] = "enum";
|
|
43
43
|
})(ColumnFilterTypeEnum || (ColumnFilterTypeEnum = {}));
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvdGFibGUvc3JjL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMENBLE1BQU0sQ0FBTixJQUFZLFVBV1g7QUFYRCxXQUFZLFVBQVU7SUFDckIsNEJBQWMsQ0FBQTtJQUNkLHlDQUEyQixDQUFBO0lBQzNCLDhDQUFnQyxDQUFBO0lBQ2hDLDJDQUE2QixDQUFBO0lBQzdCLGtDQUFvQixDQUFBO0lBQ3BCLDRCQUFjLENBQUE7SUFDZCxpQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBb0IsQ0FBQTtJQUNwQixnQ0FBa0IsQ0FBQTtJQUNsQiwyQkFBYSxDQUFBO0FBQ2QsQ0FBQyxFQVhXLFVBQVUsS0FBVixVQUFVLFFBV3JCO0FBRUQsTUFBTSxDQUFOLElBQVksVUFHWDtBQUhELFdBQVksVUFBVTtJQUNyQix5QkFBVyxDQUFBO0lBQ1gsNkJBQWUsQ0FBQTtBQUNoQixDQUFDLEVBSFcsVUFBVSxLQUFWLFVBQVUsUUFHckI7QUE2REQsTUFBTSxDQUFOLElBQVksYUFlWDtBQWZELFdBQVksYUFBYTtJQUN4QiwwQkFBUyxDQUFBO0lBQ1Qsa0NBQWlCLENBQUE7SUFDakIsb0NBQW1CLENBQUE7SUFDbkIsNENBQTJCLENBQUE7SUFDM0IsMEJBQVMsQ0FBQTtJQUNULGtDQUFpQixDQUFBO0lBQ2pCLDBCQUFTLENBQUE7SUFDVCwwQkFBUyxDQUFBO0lBQ1QsNEJBQVcsQ0FBQTtJQUNYLDRCQUFXLENBQUE7SUFDWCxrQ0FBaUIsQ0FBQTtJQUNqQiw4QkFBYSxDQUFBO0lBQ2IsOEJBQWEsQ0FBQTtJQUNiLHNDQUFxQixDQUFBO0FBQ3RCLENBQUMsRUFmVyxhQUFhLEtBQWIsYUFBYSxRQWV4QjtBQUVELE1BQU0sQ0FBTixJQUFZLG9CQU1YO0FBTkQsV0FBWSxvQkFBb0I7SUFDL0IscUNBQWEsQ0FBQTtJQUNiLDJDQUFtQixDQUFBO0lBQ25CLHFDQUFhLENBQUE7SUFDYiwyQ0FBbUIsQ0FBQTtJQUNuQixxQ0FBYSxDQUFBO0FBQ2QsQ0FBQyxFQU5XLG9CQUFvQixLQUFwQixvQkFBb0IsUUFNL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dFNpZ25hbCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgQXBwcyB9IGZyb20gJ2FyaWwvYm9vdC9jb25maWcvYXBwcyc7XHJcblxyXG4vKipcclxuICogYGV4cG9ydExhYmVsYCBkb3N5YSBpc21pXHJcbiAqXHJcbiAqIGByb3V0ZWAgc2VydmljZSBwYXRoXHJcbiAqXHJcbiAqIGBwYXJhbXNgIHNlcnZpY2UgcGF5bG9hZFxyXG4gKlxyXG4gKiBgZGF0ZUNvbHVtbkZvcm1hdE1hcGAgY29sdW1uIHZhbHVlIERhdGUgaXNlIGZvcm1hdCB2ZXJpbG1lbGkge0BsaW5rIERhdGVGb3JtYXR9XHJcbiAqXHJcbiAqIGBjb21wdXRlZENvbHVtbk1hcGAganNvblBhdGggKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vanNvbi1wYXRoL0pzb25QYXRofSkgZm9ybWF0xLFuZGEgeWVuaSBmaWVsZCB0YW7EsW1sYW1hayBpw6dpbiBrdWxsYW7EsWzEsXIuXHJcbiAqXHJcbiAqIGBleGNsdWRlZEZpZWxkc2AgZXhwb3J0IGVkaWxtZW1lc2kgaXN0ZW5lbiBmaWVsZCdsYXJcclxuICpcclxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9hcmlsLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvTlREL3BhZ2VzLzg0MjIwMzEzOS9CYXRjaCtFeGNlbCtDU1YrRXhwb3J0K0Zyb20rQ29udHJvbGxlcnN9XHJcbiAqXHJcbiAqIEB1c2FnZU5vdGVzXHJcbiAqICMjIyBLdWxsYW7EsW0gw5ZybmXEn2lcclxuICpcclxuICogYGBgXHJcbiAqIDxpIHJvbGU9XCJidXR0b25cIiBjbGFzcz1cInBpIHBpLWZpbGUtZXhwb3J0XCIgKGNsaWNrKT1cInRhYmxlUmVmLnRvZ2dsZUV4cG9ydCgkZXZlbnQpXCI+
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvdGFibGUvc3JjL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMENBLE1BQU0sQ0FBTixJQUFZLFVBV1g7QUFYRCxXQUFZLFVBQVU7SUFDckIsNEJBQWMsQ0FBQTtJQUNkLHlDQUEyQixDQUFBO0lBQzNCLDhDQUFnQyxDQUFBO0lBQ2hDLDJDQUE2QixDQUFBO0lBQzdCLGtDQUFvQixDQUFBO0lBQ3BCLDRCQUFjLENBQUE7SUFDZCxpQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBb0IsQ0FBQTtJQUNwQixnQ0FBa0IsQ0FBQTtJQUNsQiwyQkFBYSxDQUFBO0FBQ2QsQ0FBQyxFQVhXLFVBQVUsS0FBVixVQUFVLFFBV3JCO0FBRUQsTUFBTSxDQUFOLElBQVksVUFHWDtBQUhELFdBQVksVUFBVTtJQUNyQix5QkFBVyxDQUFBO0lBQ1gsNkJBQWUsQ0FBQTtBQUNoQixDQUFDLEVBSFcsVUFBVSxLQUFWLFVBQVUsUUFHckI7QUE2REQsTUFBTSxDQUFOLElBQVksYUFlWDtBQWZELFdBQVksYUFBYTtJQUN4QiwwQkFBUyxDQUFBO0lBQ1Qsa0NBQWlCLENBQUE7SUFDakIsb0NBQW1CLENBQUE7SUFDbkIsNENBQTJCLENBQUE7SUFDM0IsMEJBQVMsQ0FBQTtJQUNULGtDQUFpQixDQUFBO0lBQ2pCLDBCQUFTLENBQUE7SUFDVCwwQkFBUyxDQUFBO0lBQ1QsNEJBQVcsQ0FBQTtJQUNYLDRCQUFXLENBQUE7SUFDWCxrQ0FBaUIsQ0FBQTtJQUNqQiw4QkFBYSxDQUFBO0lBQ2IsOEJBQWEsQ0FBQTtJQUNiLHNDQUFxQixDQUFBO0FBQ3RCLENBQUMsRUFmVyxhQUFhLEtBQWIsYUFBYSxRQWV4QjtBQUVELE1BQU0sQ0FBTixJQUFZLG9CQU1YO0FBTkQsV0FBWSxvQkFBb0I7SUFDL0IscUNBQWEsQ0FBQTtJQUNiLDJDQUFtQixDQUFBO0lBQ25CLHFDQUFhLENBQUE7SUFDYiwyQ0FBbUIsQ0FBQTtJQUNuQixxQ0FBYSxDQUFBO0FBQ2QsQ0FBQyxFQU5XLG9CQUFvQixLQUFwQixvQkFBb0IsUUFNL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dFNpZ25hbCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgQXBwcyB9IGZyb20gJ2FyaWwvYm9vdC9jb25maWcvYXBwcyc7XHJcblxyXG4vKipcclxuICogYGV4cG9ydExhYmVsYCBkb3N5YSBpc21pXHJcbiAqXHJcbiAqIGByb3V0ZWAgc2VydmljZSBwYXRoXHJcbiAqXHJcbiAqIGBwYXJhbXNgIHNlcnZpY2UgcGF5bG9hZFxyXG4gKlxyXG4gKiBgZGF0ZUNvbHVtbkZvcm1hdE1hcGAgY29sdW1uIHZhbHVlIERhdGUgaXNlIGZvcm1hdCB2ZXJpbG1lbGkge0BsaW5rIERhdGVGb3JtYXR9XHJcbiAqXHJcbiAqIGBjb21wdXRlZENvbHVtbk1hcGAganNvblBhdGggKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vanNvbi1wYXRoL0pzb25QYXRofSkgZm9ybWF0xLFuZGEgeWVuaSBmaWVsZCB0YW7EsW1sYW1hayBpw6dpbiBrdWxsYW7EsWzEsXIuXHJcbiAqXHJcbiAqIGBleGNsdWRlZEZpZWxkc2AgZXhwb3J0IGVkaWxtZW1lc2kgaXN0ZW5lbiBmaWVsZCdsYXJcclxuICpcclxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9hcmlsLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvTlREL3BhZ2VzLzg0MjIwMzEzOS9CYXRjaCtFeGNlbCtDU1YrRXhwb3J0K0Zyb20rQ29udHJvbGxlcnN9XHJcbiAqXHJcbiAqIEB1c2FnZU5vdGVzXHJcbiAqICMjIyBLdWxsYW7EsW0gw5ZybmXEn2lcclxuICpcclxuICogYGBgXHJcbiAqIDxpIHJvbGU9XCJidXR0b25cIiBjbGFzcz1cInBpIHBpLWZpbGUtZXhwb3J0XCIgKGNsaWNrKT1cInRhYmxlUmVmLnRvZ2dsZUV4cG9ydCgkZXZlbnQpXCI+PC9pPlxyXG4gKlxyXG4gKiA8YXJpbC10YWJsZVxyXG4gKiAgICAgICN0YWJsZVJlZlxyXG4gKiAgICAgIFtleHBvcnRDb25maWddPVwie1xyXG4gKlx0XHRcdGV4cG9ydExhYmVsOiAnVMO8a2V0aW0gTGlzdGVzaScsXHJcbiAqXHRcdFx0cm91dGU6ICdjb25zdW1wdGlvbnMvc2VhcmNoJyxcclxuICpcdFx0XHRwYXJhbXM6IFtmb3JtLnZhbHVlXSxcclxuICpcdFx0XHRleGNsdWRlZEZpZWxkczogWydpZCddXHJcbiAqXHRcdFx0ZGF0ZUNvbHVtbkZvcm1hdE1hcDogeyBzdGFydERhdGU6IERhdGVGb3JtYXQuWWVhciwgZW5kRGF0ZTogRGF0ZUZvcm1hdC5Ib3VyIH0sXHJcbiAqXHRcdFx0Y29sdW1uRmllbGRWYWx1ZU1hcDogeyBzdGF0dXM6IHsgZ3JvdXBOYW1lOiAnSW52b2ljZVN0YXR1cycgfSB9XHJcbiAqICAgICAgfVwiPlxyXG4gKiBgYGBcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0T3B0aW9ucyBleHRlbmRzIE9taXQ8RXhwb3J0UmVxdWVzdCwgJ2V4cG9ydFR5cGUnPiB7XHJcblx0ZXhjbHVkZWRGaWVsZHM/OiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRGF0ZUZvcm1hdCB7XHJcblx0SG91ciA9ICdISDptbScsXHJcblx0VGltZSA9ICdkZC9NTU1NL3l5eXkgSEg6bW0nLFxyXG5cdFNlY29uZCA9ICdkZC9NTU1NL3l5eXkgSEg6bW06c3MnLFxyXG5cdE1pbnV0ZSA9ICdkZC9NTU1NL3l5eXkgSEg6bW0nLFxyXG5cdERheSA9ICdkZC9NTU1NL3l5eXknLFxyXG5cdE9ubHlEYXkgPSAnZGQnLFxyXG5cdE1vbnRoID0gJ01NTU0veXl5eScsXHJcblx0TW9udGhJbnQgPSAnTU0veXl5eScsXHJcblx0T25seU1vbnRoID0gJ01NTU0nLFxyXG5cdFllYXIgPSAneXl5eSdcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRXhwb3J0VHlwZSB7XHJcblx0Q3N2ID0gJ0NTVicsXHJcblx0RXhjZWwgPSAnRVhDRUwnXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0UmVxdWVzdCB7XHJcblx0Y3VzdG9tUmVxVXJsPzogQXBwczsgLy9pcyBhZGRlZCBleHRlcm5hbGx5XHJcblx0ZXhwb3J0VHlwZTogRXhwb3J0VHlwZTtcclxuXHRleHBvcnRMYWJlbDogc3RyaW5nO1xyXG5cdHJvdXRlOiBzdHJpbmc7XHJcblx0dHJlZUNoaWxkTmFtZT86IHN0cmluZztcclxuXHRwYWdlU2l6ZT86IG51bWJlcjtcclxuXHRwYXJhbXM6IEFycmF5PGFueT47XHJcblx0aGVhZGVyTmFtZXM6IHN0cmluZ1tdO1xyXG5cdG91dHB1dEZpZWxkczogc3RyaW5nW107XHJcblx0Y29sdW1uRmllbGRWYWx1ZU1hcD86IENvbHVtbkZpZWxkVmFsdWVNYXA7XHJcblx0ZGF0ZUNvbHVtbkZvcm1hdE1hcD86IERhdGVDb2x1bW5Gb3JtYXRNYXA7XHJcblx0Y29tcHV0ZWRDb2x1bW5NYXA/OiBDb21wdXRlZENvbHVtbk1hcDtcclxuXHRudW1iZXJDb2x1bW5TY2FsZU1hcD86IE51bWJlckNvbHVtblNjYWxlVmFsdWU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0Rm9ybSB7XHJcblx0ZXhwb3J0VHlwZTogRm9ybUNvbnRyb2w8RXhwb3J0VHlwZT47XHJcblx0ZXhwb3J0TGFiZWw6IEZvcm1Db250cm9sPHN0cmluZz47XHJcblx0Y29sdW1uczogRm9ybUFycmF5PEZvcm1Hcm91cDxDb2xGb3JtPj47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sRm9ybSB7XHJcblx0Y2hlY2tlZDogRm9ybUNvbnRyb2w8Ym9vbGVhbj47XHJcblx0dGl0bGU6IEZvcm1Db250cm9sPHN0cmluZz47XHJcblx0ZGF0YUtleTogRm9ybUNvbnRyb2w8c3RyaW5nPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5GaWVsZFZhbHVlTWFwIHtcclxuXHRba2V5OiBzdHJpbmddOiBDb2x1bW5GaWVsZFZhbHVlTWFwVmFsdWU7XHJcbn1cclxuXHJcbmludGVyZmFjZSBDb2x1bW5GaWVsZFZhbHVlTWFwVmFsdWUge1xyXG5cdGdyb3VwTmFtZTogc3RyaW5nO1xyXG5cdHBhcmVudFNlbGVjdGlvbktleT86IHN0cmluZztcclxufVxyXG5cclxuaW50ZXJmYWNlIENvbXB1dGVkQ29sdW1uTWFwIHtcclxuXHRba2V5OiBzdHJpbmddOiBzdHJpbmc7XHJcbn1cclxuXHJcbmludGVyZmFjZSBEYXRlQ29sdW1uRm9ybWF0TWFwIHtcclxuXHRba2V5OiBzdHJpbmddOiBEYXRlRm9ybWF0O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE51bWJlckNvbHVtblNjYWxlVmFsdWUge1xyXG5cdFtrZXk6IHN0cmluZ106IE51bWJlckNvbHVtblNjYWxlTWFwVmFsdWU7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBOdW1iZXJDb2x1bW5TY2FsZU1hcFZhbHVlIHtcclxuXHRyb3VuZGluZ01vZGU6ICdVUCcgfCAnRE9XTicgfCAnQ0VJTElORycgfCAnRkxPT1InIHwgJ0hBTEZfVVAnIHwgJ0hBTEZfRE9XTicgfCAnSEFMRl9FVkVOJzsgLy8gcm91bmRpbmdNb2RlIGRlxJ9lcmxlcmlcclxuXHRzY2FsZTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFyaWxmaWVsZEZpbHRlciB7XHJcblx0ZmllbGRJZDogbnVtYmVyIHwgc3RyaW5nO1xyXG5cdG9wZXJhbmQ6IEZpbHRlck9wZXJhbmQ7XHJcblx0dmFsdWU6IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRmlsdGVyT3BlcmFuZCB7XHJcblx0RVEgPSAnRVEnLFxyXG5cdE5PVF9FUSA9ICdOT1RfRVEnLFxyXG5cdElTX05VTEwgPSAnSVNfTlVMTCcsXHJcblx0SVNfTk9UX05VTEwgPSAnSVNfTk9UX05VTEwnLFxyXG5cdElOID0gJ0lOJyxcclxuXHROT1RfSU4gPSAnTk9UX0lOJyxcclxuXHRMVCA9ICdMVCcsXHJcblx0R1QgPSAnR1QnLFxyXG5cdExURSA9ICdMVEUnLFxyXG5cdEdURSA9ICdHVEUnLFxyXG5cdFNUQVJUUyA9ICdTVEFSVFMnLFxyXG5cdEVORFMgPSAnRU5EUycsXHJcblx0TElLRSA9ICdMSUtFJyxcclxuXHROT1RfTElLRSA9ICdOT1RfTElLRSdcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQ29sdW1uRmlsdGVyVHlwZUVudW0ge1xyXG5cdFRFWFQgPSAndGV4dCcsXHJcblx0TlVNRVJJQyA9ICdudW1lcmljJyxcclxuXHREQVRFID0gJ2RhdGUnLFxyXG5cdEJPT0xFQU4gPSAnYm9vbGVhbicsXHJcblx0RU5VTSA9ICdlbnVtJ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1ucyB7XHJcblx0W3g6IHN0cmluZ106IGFueTtcclxuXHRfcmVzdWx0czogQXJyYXk8VGFibGVDb2x1bW4+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1uIHtcclxuXHRmaWVsZDogSW5wdXRTaWduYWw8c3RyaW5nPjtcclxuXHRoZWFkZXI6IElucHV0U2lnbmFsPHN0cmluZz47XHJcblx0dHlwZTogSW5wdXRTaWduYWw8VmFsdWVUeXBlcz47XHJcblx0aXNPcGVyYXRpb24/OiBib29sZWFuO1xyXG5cdGlzU2hvd0hlYWRlclRvb2x0aXA/OiBib29sZWFuO1xyXG5cdHRvb2x0aXBUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcblx0dGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblx0d2lkdGg/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFZhbHVlVHlwZXMgPSAndGV4dCcgfCAnbnVtZXJpYycgfCAnZGF0ZScgfCAnYm9vbGVhbicgfCAnY3VzdG9tJyB8ICdvcGVyYXRpb25zJyB8ICdqc29uJyB8ICdsb25nLXRleHQnO1xyXG5leHBvcnQgdHlwZSBBbGlnblR5cGVzID0gJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdjZW50ZXInO1xyXG4iXX0=
|