nira-falcon 0.1.66 → 0.1.68

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.
@@ -37,13 +37,22 @@ export class CoreTableComponent {
37
37
  this.onItemSelected = new EventEmitter();
38
38
  this.ACTIVE_OPTIONS = ACTIVE_OPTIONS;
39
39
  this.YES_NO_OPTIONS = YES_NO_OPTIONS;
40
+ this.selectedItem = undefined;
40
41
  this.sortedTableData = [];
41
42
  this.index = 0;
43
+ this.salt = this.randomString(5);
42
44
  this.selectedItemIndex = 0;
43
45
  }
44
46
  ngOnInit() {
45
47
  this.tableData.subscribe((val) => {
46
48
  this.sortedTableData = val;
49
+ if (this.canSelectFirstItem &&
50
+ this.sortedTableData.length > 0 &&
51
+ this.selectedItem === undefined) {
52
+ this.selectedItem = this.sortedTableData[0];
53
+ this.selectedItemIndex = 0;
54
+ this.table.nativeElement.focus();
55
+ }
47
56
  });
48
57
  if (this.key) {
49
58
  this.dbService
@@ -57,9 +66,9 @@ export class CoreTableComponent {
57
66
  }
58
67
  }
59
68
  ngAfterViewInit() {
69
+ this.table.nativeElement.focus();
60
70
  if (this.canSelectFirstItem && this.sortedTableData.length > 0) {
61
71
  this.selectedItem = this.sortedTableData[0];
62
- this.table.nativeElement.focus();
63
72
  }
64
73
  }
65
74
  setTableFilter() {
@@ -82,6 +91,9 @@ export class CoreTableComponent {
82
91
  this.selectedItemIndex++;
83
92
  this.selectedItem = this.sortedTableData[this.selectedItemIndex];
84
93
  this.onItemSelected.emit(this.selectedItem);
94
+ document
95
+ .getElementById('tableRow_' + this.salt + '_' + this.selectedItemIndex)
96
+ ?.scrollIntoView({ behavior: 'smooth', block: 'center' });
85
97
  }
86
98
  event.preventDefault();
87
99
  return;
@@ -93,6 +105,9 @@ export class CoreTableComponent {
93
105
  this.selectedItemIndex--;
94
106
  this.selectedItem = this.sortedTableData[this.selectedItemIndex];
95
107
  this.onItemSelected.emit(this.selectedItem);
108
+ document
109
+ .getElementById('tableRow_' + this.salt + '_' + this.selectedItemIndex)
110
+ ?.scrollIntoView({ behavior: 'smooth', block: 'center' });
96
111
  }
97
112
  event.preventDefault();
98
113
  return;
@@ -196,12 +211,17 @@ export class CoreTableComponent {
196
211
  });
197
212
  });
198
213
  }
214
+ randomString(length) {
215
+ return Math.random()
216
+ .toString(36)
217
+ .substring(2, 2 + length);
218
+ }
199
219
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableComponent, deps: [{ token: i1.NgxIndexedDBService }], target: i0.ɵɵFactoryTarget.Component }); }
200
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableComponent, selector: "core-table", inputs: { key: "key", columnsSchema: "columnsSchema", tableData: "tableData", responsive: "responsive", canSelectFirstItem: "canSelectFirstItem", loading: "loading", canFilter: "canFilter", styleFilter: "styleFilter", rowSelector: "rowSelector" }, outputs: { onColumnClicked: "onColumnClicked", onColumnValueChanged: "onColumnValueChanged", onItemSelected: "onItemSelected" }, host: { listeners: { "document:keydown": "handleEnter($event)" } }, viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }], ngImport: i0, template: "<div class=\"p-2 overflow-x-auto\">\r\n <table\r\n #table\r\n tabindex=\"0\"\r\n *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\"\r\n >\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [ngStyle]=\"{ width: column?.width + 'px' }\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : ''\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"canFilter && column.type == columnsTypes.SHAMSI_DATE\"\r\n [canSelectToday]=\"true\"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n >\r\n </core-column-date-picker>\r\n <core-column-input\r\n *ngIf=\"\r\n canFilter &&\r\n column.type !== columnsTypes.ACTION &&\r\n column.type !== columnsTypes.COLOR &&\r\n column.type !== columnsTypes.STATUS &&\r\n column.type !== columnsTypes.SHAMSI_DATE &&\r\n column.type !== columnsTypes.ROW_SELECTOR &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr\r\n *ngFor=\"let data of sortedTableData; let i = index\"\r\n [ngClass]=\"{ 'select-item': data.id === selectedItem?.id }\"\r\n (click)=\"onItemSelect(data, index, $event)\"\r\n >\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n <ng-template #smallDeviceCard>\r\n <div>\r\n <core-card\r\n *ngFor=\"let data of sortedTableData\"\r\n [cardClass]=\"'background-card m-4 p-4 relative'\"\r\n >\r\n <div\r\n class=\"leading-8\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'actionButtons'\r\n : column.type === columnsTypes.ROW_SELECTOR\r\n ? 'selectRow'\r\n : ''\r\n \"\r\n >\r\n <span\r\n *ngIf=\"\r\n column.type !== columnsTypes.ACTION_BUTTONS &&\r\n column.type !== columnsTypes.ROW_SELECTOR\r\n \"\r\n class=\"secondary-text-color\"\r\n >\r\n {{ column.label }} :\r\n </span>\r\n <span class=\"primary-text-color font-semibold\">\r\n <app-core-table-card-manager\r\n *ngIf=\"\r\n column.type != columnsTypes.MULTI_COLUMN;\r\n else cardManagerElseBlock\r\n \"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-card-manager>\r\n\r\n <ng-template #cardManagerElseBlock>\r\n <app-core-table-card-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-card-manager>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </core-card>\r\n </div>\r\n </ng-template>\r\n <core-table-no-content\r\n *ngIf=\"!loading\"\r\n [tableData]=\"sortedTableData\"\r\n [loading]=\"loading\"\r\n ></core-table-no-content>\r\n</div>\r\n", styles: ["table{border-collapse:collapse;width:100%;text-align:start}table:focus{outline:none}.select-item{background-color:#e3f2fd!important}table td,table th{padding-top:12px;padding-bottom:12px;padding-inline-start:8px}table td{font-size:small;color:var(--default-table-td-text-color)}table tr:nth-child(2n){background-color:var(--default-table-tr-child-background-color)}table tr:hover{background-color:var(--default-table-tr-hover-background-color)}table th{background-color:var(--default-table-th-background-color);text-align:start;color:#1d1d1d}.actionButtons{position:absolute;bottom:0;background:var(--default-table-action-buttons-background-color);left:0;right:0;text-align:left;border-radius:.5rem;border-top-right-radius:0;border-top-left-radius:0;padding-top:4px;padding-left:16px}.selectRow{position:absolute;left:0;top:18px}.desc-sort-icon{transform:rotate(180deg)}.sort-icon{fill:var(--default-table-sort-icon-color)}.background-card{background-color:var(--default-table-background-card-color)}.secondary-text-color{color:var(--default-table-secondary-text-color)}.primary-text-color{color:var(--default-table-primary-text-color)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.CoreCardComponent, selector: "core-card", inputs: ["cardClass"] }, { kind: "component", type: i4.CoreColumnDatePickerComponent, selector: "core-column-date-picker", inputs: ["canSelectToday", "defaultDate", "inputFormControl"], outputs: ["onChange"] }, { kind: "component", type: i5.CoreColumnInputComponent, selector: "core-column-input", inputs: ["showRemoveIcon", "placeholder", "value", "type", "isDatePicker", "maxLength"], outputs: ["onChange"] }, { kind: "component", type: i6.CoreColumnSelectorComponent, selector: "core-column-selector", inputs: ["items", "titleKey", "valueKey", "label", "inputFormControl"], outputs: ["onItemSelected"] }, { kind: "component", type: i7.CoreTableCardManagerComponent, selector: "app-core-table-card-manager", inputs: ["data", "column", "allTableData", "rowSelector"], outputs: ["onColumnClicked"] }, { kind: "component", type: i8.CoreTableColumnManagerComponent, selector: "app-core-table-column-manager", inputs: ["data", "column", "allTableData", "rowSelector"], outputs: ["onColumnClicked", "onColumnValueChanged"] }, { kind: "component", type: i9.CoreTableNoContentComponent, selector: "core-table-no-content", inputs: ["tableData", "loading"] }, { kind: "component", type: i10.SortDownIconComponent, selector: "app-sort-down-icon" }, { kind: "component", type: i11.SortSolidIconComponent, selector: "app-sort-solid-icon" }, { kind: "component", type: i12.SortUpIconComponent, selector: "app-sort-up-icon" }] }); }
220
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableComponent, selector: "core-table", inputs: { key: "key", columnsSchema: "columnsSchema", tableData: "tableData", responsive: "responsive", canSelectFirstItem: "canSelectFirstItem", loading: "loading", canFilter: "canFilter", styleFilter: "styleFilter", rowSelector: "rowSelector" }, outputs: { onColumnClicked: "onColumnClicked", onColumnValueChanged: "onColumnValueChanged", onItemSelected: "onItemSelected" }, host: { listeners: { "document:keydown": "handleEnter($event)" } }, viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }], ngImport: i0, template: "<div class=\"p-2 overflow-x-auto\">\r\n <table\r\n #table\r\n tabindex=\"0\"\r\n *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\"\r\n >\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [ngStyle]=\"{ width: column?.width + 'px' }\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : ''\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"canFilter && column.type == columnsTypes.SHAMSI_DATE\"\r\n [canSelectToday]=\"true\"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n >\r\n </core-column-date-picker>\r\n <core-column-input\r\n *ngIf=\"\r\n canFilter &&\r\n column.type !== columnsTypes.ACTION &&\r\n column.type !== columnsTypes.COLOR &&\r\n column.type !== columnsTypes.STATUS &&\r\n column.type !== columnsTypes.SHAMSI_DATE &&\r\n column.type !== columnsTypes.ROW_SELECTOR &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr\r\n *ngFor=\"let data of sortedTableData; let i = index\"\r\n [id]=\"'tableRow_' + salt + '_' + i\"\r\n [ngClass]=\"{ 'select-item': data.id === selectedItem?.id }\"\r\n (click)=\"onItemSelect(data, i, $event)\"\r\n >\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n <ng-template #smallDeviceCard>\r\n <div>\r\n <core-card\r\n *ngFor=\"let data of sortedTableData\"\r\n [cardClass]=\"'background-card m-4 p-4 relative'\"\r\n >\r\n <div\r\n class=\"leading-8\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'actionButtons'\r\n : column.type === columnsTypes.ROW_SELECTOR\r\n ? 'selectRow'\r\n : ''\r\n \"\r\n >\r\n <span\r\n *ngIf=\"\r\n column.type !== columnsTypes.ACTION_BUTTONS &&\r\n column.type !== columnsTypes.ROW_SELECTOR\r\n \"\r\n class=\"secondary-text-color\"\r\n >\r\n {{ column.label }} :\r\n </span>\r\n <span class=\"primary-text-color font-semibold\">\r\n <app-core-table-card-manager\r\n *ngIf=\"\r\n column.type != columnsTypes.MULTI_COLUMN;\r\n else cardManagerElseBlock\r\n \"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-card-manager>\r\n\r\n <ng-template #cardManagerElseBlock>\r\n <app-core-table-card-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-card-manager>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </core-card>\r\n </div>\r\n </ng-template>\r\n <core-table-no-content\r\n *ngIf=\"!loading\"\r\n [tableData]=\"sortedTableData\"\r\n [loading]=\"loading\"\r\n ></core-table-no-content>\r\n</div>\r\n", styles: ["table{border-collapse:collapse;width:100%;text-align:start}table:focus{outline:none}.select-item{background-color:#e3f2fd!important}table td,table th{padding-top:12px;padding-bottom:12px;padding-inline-start:8px}table td{font-size:small;color:var(--default-table-td-text-color)}table tr:nth-child(2n){background-color:var(--default-table-tr-child-background-color)}table tr:hover{background-color:var(--default-table-tr-hover-background-color)}table th{background-color:var(--default-table-th-background-color);text-align:start;color:#1d1d1d}.actionButtons{position:absolute;bottom:0;background:var(--default-table-action-buttons-background-color);left:0;right:0;text-align:left;border-radius:.5rem;border-top-right-radius:0;border-top-left-radius:0;padding-top:4px;padding-left:16px}.selectRow{position:absolute;left:0;top:18px}.desc-sort-icon{transform:rotate(180deg)}.sort-icon{fill:var(--default-table-sort-icon-color)}.background-card{background-color:var(--default-table-background-card-color)}.secondary-text-color{color:var(--default-table-secondary-text-color)}.primary-text-color{color:var(--default-table-primary-text-color)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.CoreCardComponent, selector: "core-card", inputs: ["cardClass"] }, { kind: "component", type: i4.CoreColumnDatePickerComponent, selector: "core-column-date-picker", inputs: ["canSelectToday", "defaultDate", "inputFormControl"], outputs: ["onChange"] }, { kind: "component", type: i5.CoreColumnInputComponent, selector: "core-column-input", inputs: ["showRemoveIcon", "placeholder", "value", "type", "isDatePicker", "maxLength"], outputs: ["onChange"] }, { kind: "component", type: i6.CoreColumnSelectorComponent, selector: "core-column-selector", inputs: ["items", "titleKey", "valueKey", "label", "inputFormControl"], outputs: ["onItemSelected"] }, { kind: "component", type: i7.CoreTableCardManagerComponent, selector: "app-core-table-card-manager", inputs: ["data", "column", "allTableData", "rowSelector"], outputs: ["onColumnClicked"] }, { kind: "component", type: i8.CoreTableColumnManagerComponent, selector: "app-core-table-column-manager", inputs: ["data", "column", "allTableData", "rowSelector"], outputs: ["onColumnClicked", "onColumnValueChanged"] }, { kind: "component", type: i9.CoreTableNoContentComponent, selector: "core-table-no-content", inputs: ["tableData", "loading"] }, { kind: "component", type: i10.SortDownIconComponent, selector: "app-sort-down-icon" }, { kind: "component", type: i11.SortSolidIconComponent, selector: "app-sort-solid-icon" }, { kind: "component", type: i12.SortUpIconComponent, selector: "app-sort-up-icon" }] }); }
201
221
  }
202
222
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableComponent, decorators: [{
203
223
  type: Component,
204
- args: [{ selector: 'core-table', template: "<div class=\"p-2 overflow-x-auto\">\r\n <table\r\n #table\r\n tabindex=\"0\"\r\n *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\"\r\n >\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [ngStyle]=\"{ width: column?.width + 'px' }\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : ''\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"canFilter && column.type == columnsTypes.SHAMSI_DATE\"\r\n [canSelectToday]=\"true\"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n >\r\n </core-column-date-picker>\r\n <core-column-input\r\n *ngIf=\"\r\n canFilter &&\r\n column.type !== columnsTypes.ACTION &&\r\n column.type !== columnsTypes.COLOR &&\r\n column.type !== columnsTypes.STATUS &&\r\n column.type !== columnsTypes.SHAMSI_DATE &&\r\n column.type !== columnsTypes.ROW_SELECTOR &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr\r\n *ngFor=\"let data of sortedTableData; let i = index\"\r\n [ngClass]=\"{ 'select-item': data.id === selectedItem?.id }\"\r\n (click)=\"onItemSelect(data, index, $event)\"\r\n >\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n <ng-template #smallDeviceCard>\r\n <div>\r\n <core-card\r\n *ngFor=\"let data of sortedTableData\"\r\n [cardClass]=\"'background-card m-4 p-4 relative'\"\r\n >\r\n <div\r\n class=\"leading-8\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'actionButtons'\r\n : column.type === columnsTypes.ROW_SELECTOR\r\n ? 'selectRow'\r\n : ''\r\n \"\r\n >\r\n <span\r\n *ngIf=\"\r\n column.type !== columnsTypes.ACTION_BUTTONS &&\r\n column.type !== columnsTypes.ROW_SELECTOR\r\n \"\r\n class=\"secondary-text-color\"\r\n >\r\n {{ column.label }} :\r\n </span>\r\n <span class=\"primary-text-color font-semibold\">\r\n <app-core-table-card-manager\r\n *ngIf=\"\r\n column.type != columnsTypes.MULTI_COLUMN;\r\n else cardManagerElseBlock\r\n \"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-card-manager>\r\n\r\n <ng-template #cardManagerElseBlock>\r\n <app-core-table-card-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-card-manager>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </core-card>\r\n </div>\r\n </ng-template>\r\n <core-table-no-content\r\n *ngIf=\"!loading\"\r\n [tableData]=\"sortedTableData\"\r\n [loading]=\"loading\"\r\n ></core-table-no-content>\r\n</div>\r\n", styles: ["table{border-collapse:collapse;width:100%;text-align:start}table:focus{outline:none}.select-item{background-color:#e3f2fd!important}table td,table th{padding-top:12px;padding-bottom:12px;padding-inline-start:8px}table td{font-size:small;color:var(--default-table-td-text-color)}table tr:nth-child(2n){background-color:var(--default-table-tr-child-background-color)}table tr:hover{background-color:var(--default-table-tr-hover-background-color)}table th{background-color:var(--default-table-th-background-color);text-align:start;color:#1d1d1d}.actionButtons{position:absolute;bottom:0;background:var(--default-table-action-buttons-background-color);left:0;right:0;text-align:left;border-radius:.5rem;border-top-right-radius:0;border-top-left-radius:0;padding-top:4px;padding-left:16px}.selectRow{position:absolute;left:0;top:18px}.desc-sort-icon{transform:rotate(180deg)}.sort-icon{fill:var(--default-table-sort-icon-color)}.background-card{background-color:var(--default-table-background-card-color)}.secondary-text-color{color:var(--default-table-secondary-text-color)}.primary-text-color{color:var(--default-table-primary-text-color)}\n"] }]
224
+ args: [{ selector: 'core-table', template: "<div class=\"p-2 overflow-x-auto\">\r\n <table\r\n #table\r\n tabindex=\"0\"\r\n *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\"\r\n >\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [ngStyle]=\"{ width: column?.width + 'px' }\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : ''\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"canFilter && column.type == columnsTypes.SHAMSI_DATE\"\r\n [canSelectToday]=\"true\"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n >\r\n </core-column-date-picker>\r\n <core-column-input\r\n *ngIf=\"\r\n canFilter &&\r\n column.type !== columnsTypes.ACTION &&\r\n column.type !== columnsTypes.COLOR &&\r\n column.type !== columnsTypes.STATUS &&\r\n column.type !== columnsTypes.SHAMSI_DATE &&\r\n column.type !== columnsTypes.ROW_SELECTOR &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr\r\n *ngFor=\"let data of sortedTableData; let i = index\"\r\n [id]=\"'tableRow_' + salt + '_' + i\"\r\n [ngClass]=\"{ 'select-item': data.id === selectedItem?.id }\"\r\n (click)=\"onItemSelect(data, i, $event)\"\r\n >\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n <ng-template #smallDeviceCard>\r\n <div>\r\n <core-card\r\n *ngFor=\"let data of sortedTableData\"\r\n [cardClass]=\"'background-card m-4 p-4 relative'\"\r\n >\r\n <div\r\n class=\"leading-8\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'actionButtons'\r\n : column.type === columnsTypes.ROW_SELECTOR\r\n ? 'selectRow'\r\n : ''\r\n \"\r\n >\r\n <span\r\n *ngIf=\"\r\n column.type !== columnsTypes.ACTION_BUTTONS &&\r\n column.type !== columnsTypes.ROW_SELECTOR\r\n \"\r\n class=\"secondary-text-color\"\r\n >\r\n {{ column.label }} :\r\n </span>\r\n <span class=\"primary-text-color font-semibold\">\r\n <app-core-table-card-manager\r\n *ngIf=\"\r\n column.type != columnsTypes.MULTI_COLUMN;\r\n else cardManagerElseBlock\r\n \"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-card-manager>\r\n\r\n <ng-template #cardManagerElseBlock>\r\n <app-core-table-card-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-card-manager>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </core-card>\r\n </div>\r\n </ng-template>\r\n <core-table-no-content\r\n *ngIf=\"!loading\"\r\n [tableData]=\"sortedTableData\"\r\n [loading]=\"loading\"\r\n ></core-table-no-content>\r\n</div>\r\n", styles: ["table{border-collapse:collapse;width:100%;text-align:start}table:focus{outline:none}.select-item{background-color:#e3f2fd!important}table td,table th{padding-top:12px;padding-bottom:12px;padding-inline-start:8px}table td{font-size:small;color:var(--default-table-td-text-color)}table tr:nth-child(2n){background-color:var(--default-table-tr-child-background-color)}table tr:hover{background-color:var(--default-table-tr-hover-background-color)}table th{background-color:var(--default-table-th-background-color);text-align:start;color:#1d1d1d}.actionButtons{position:absolute;bottom:0;background:var(--default-table-action-buttons-background-color);left:0;right:0;text-align:left;border-radius:.5rem;border-top-right-radius:0;border-top-left-radius:0;padding-top:4px;padding-left:16px}.selectRow{position:absolute;left:0;top:18px}.desc-sort-icon{transform:rotate(180deg)}.sort-icon{fill:var(--default-table-sort-icon-color)}.background-card{background-color:var(--default-table-background-card-color)}.secondary-text-color{color:var(--default-table-secondary-text-color)}.primary-text-color{color:var(--default-table-primary-text-color)}\n"] }]
205
225
  }], ctorParameters: function () { return [{ type: i1.NgxIndexedDBService }]; }, propDecorators: { key: [{
206
226
  type: Input,
207
227
  args: [{ required: false }]
@@ -241,4 +261,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
241
261
  type: HostListener,
242
262
  args: ['document:keydown', ['$event']]
243
263
  }] } });
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbGliL3NyYy9saWIvY29yZS10YWJsZS9jb3JlLXRhYmxlL2NvcmUtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS9jb3JlLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3ZDLE9BQU8sRUFBUSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU9sRCxNQUFNLE9BQU8sa0JBQWtCO0lBd0I3QixJQUFJLFlBQVk7UUFDZCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsWUFBb0IsU0FBOEI7UUFBOUIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUE1QnZCLGtCQUFhLEdBQW9CLEVBQUUsQ0FBQztRQUNwQyxjQUFTLEdBQ2xDLElBQUksZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ0wsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQix1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFFdkQsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUVSLGdCQUFXLEdBQ3JDLFNBQVMsQ0FBQztRQUNGLG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEQseUJBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0QsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRSxtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQUdoQyxvQkFBZSxHQUFVLEVBQUUsQ0FBQztRQUU1QixVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ1Ysc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO0lBTytCLENBQUM7SUFFdEQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsU0FBUztpQkFDWCxVQUFVLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDO2lCQUMxQyxTQUFTLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtvQkFDdEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2lCQUN2QjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM5RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FDbEQsQ0FBQyxlQUFvQixFQUFFLEVBQUU7Z0JBQ3ZCLElBQUksZUFBZSxDQUFDLEdBQUcsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFO29CQUN0QyxNQUFNLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUM7aUJBQ3hDO1lBQ0gsQ0FBQyxDQUNGLENBQUM7WUFDRixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFHRCxXQUFXLENBQUMsS0FBWTtRQUN0QixNQUFNLEVBQUUsR0FBRyxLQUFzQixDQUFDO1FBQ2xDLElBQUksUUFBUSxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUN2RCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFO2dCQUMxQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDO29CQUFFLE9BQU87Z0JBQ3ZFLElBQUksSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDNUQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztvQkFDakUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUM3QztnQkFDRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLE9BQU87YUFDUjtpQkFBTSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFO2dCQUMvQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxDQUFDO29CQUFFLE9BQU87Z0JBQ3pDLElBQUksSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsRUFBRTtvQkFDOUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztvQkFDakUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUM3QztnQkFDRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLE9BQU87YUFDUjtTQUNGO0lBQ0gsQ0FBQztJQUNELFlBQVksQ0FBQyxJQUFTLEVBQUUsS0FBYSxFQUFFLEtBQVk7UUFDakQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBUTtRQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsR0FBUTtRQUN6QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxZQUFZLENBQUMsTUFBVztRQUN0QixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUN4RCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLE1BQU0sRUFBRTtnQkFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQzthQUNwRDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2FBQ3JEO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7U0FDcEQ7UUFDRCxJQUNFLE1BQU0sQ0FBQyxJQUFJLElBQUksYUFBYSxDQUFDLElBQUk7WUFDakMsTUFBTSxDQUFDLElBQUksSUFBSSxhQUFhLENBQUMsTUFBTSxFQUNuQztZQUNBLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUM1QixJQUFJLENBQUMsZUFBZSxFQUNwQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFDWixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQ3ZCLENBQUM7U0FDSDthQUFNLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQ2hELElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUM1QixJQUFJLENBQUMsZUFBZSxFQUNwQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDdkMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUN2QixDQUFDO1NBQ0g7YUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksYUFBYSxDQUFDLFdBQVcsRUFBRTtZQUNuRCxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FDNUIsSUFBSSxDQUFDLGVBQWUsRUFDcEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQzFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FDdkIsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUM5QixDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FDOUQsQ0FBQztJQUNKLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUFzQixFQUFFLE1BQVc7UUFDbkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFpQixFQUFFLEVBQUU7WUFDM0MsSUFBSSxZQUFZLENBQUMsR0FBRyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUU7Z0JBQ25DLFlBQVksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2FBQ2xDO1lBQ0QsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUNwRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBaUIsRUFBRSxFQUFFO29CQUMvQyxJQUNFLFlBQVksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZO3dCQUNwRCxZQUFZLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTTt3QkFDOUMsWUFBWSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWM7d0JBQ3RELFlBQVksQ0FBQyxZQUFZLEtBQUssU0FBUzt3QkFDdkMsQ0FBQyxNQUFNLEVBQ1A7d0JBQ0EsT0FBTztxQkFDUjtvQkFDRCxJQUFJLFlBQVksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7d0JBQ3BELE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDOzZCQUNuRCxXQUFXLEVBQUU7NkJBQ2IsUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztxQkFDakU7eUJBQU0sSUFBSSxZQUFZLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO3dCQUM5RCxJQUFJLFlBQVksQ0FBQyxZQUFZLEtBQUssRUFBRSxFQUFFOzRCQUNwQyxNQUFNLEdBQUcsSUFBSSxDQUFDO3lCQUNmOzZCQUFNOzRCQUNMLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQztpQ0FDNUIsV0FBVyxFQUFFO2lDQUNiLFFBQVEsQ0FDUCxJQUFJLENBQUMsY0FBYyxDQUNqQixZQUFZLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUNwQyxZQUFZLENBQ2IsQ0FDRixDQUFDO3lCQUNMO3FCQUNGO3lCQUFNLElBQUksWUFBWSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRTt3QkFDL0QsTUFBTSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7NEJBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztpQ0FDakMsV0FBVyxFQUFFO2lDQUNiLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7d0JBQ3BFLENBQUMsQ0FBQyxDQUFDO3FCQUNKO3lCQUFNLElBQUksWUFBWSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRTt3QkFDekQsSUFBSSxZQUFZLENBQUMsWUFBWSxLQUFLLEVBQUUsRUFBRTs0QkFDcEMsTUFBTSxHQUFHLElBQUksQ0FBQzt5QkFDZjs2QkFBTTs0QkFDTCxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxZQUFZLENBQUMsWUFBWSxDQUFDO3lCQUMvRDtxQkFDRjt5QkFBTTt3QkFDTCxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUM7NkJBQzVCLFFBQVEsRUFBRTs2QkFDVixXQUFXLEVBQUU7NkJBQ2IsUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztxQkFDbkU7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTyxNQUFNLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBN01VLGtCQUFrQjttR0FBbEIsa0JBQWtCLCtrQkN4Qi9CLDh3TkFtTEE7OzRGRDNKYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsWUFBWTswR0FLTSxHQUFHO3NCQUE5QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtnQkFDQyxhQUFhO3NCQUF2QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxTQUFTO3NCQUFuQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFFRyxVQUFVO3NCQUFyQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtnQkFDRSxrQkFBa0I7c0JBQTdDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO2dCQUNDLE9BQU87c0JBQWpDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixTQUFTO3NCQUFqQixLQUFLO2dCQUNzQixXQUFXO3NCQUF0QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtnQkFDRSxXQUFXO3NCQUF0QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtnQkFFaEIsZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDYSxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBc0RsQixXQUFXO3NCQURWLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IE5neEluZGV4ZWREQlNlcnZpY2UgfSBmcm9tICduZ3gtaW5kZXhlZC1kYic7XHJcbmltcG9ydCB7IGZpbmQsIG9yZGVyQnkgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBBQ1RJVkVfT1BUSU9OUywgWUVTX05PX09QVElPTlMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XHJcbmltcG9ydCB7IENvbHVtbnNTY2hlbWEgfSBmcm9tICcuL2NvcmUtdGFibGUudHlwZSc7XHJcbmltcG9ydCB7IENPTFVNTlNfVFlQRVMgfSBmcm9tICcuLi8uLi9mYWxjb25UeXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3JlLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb3JlLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlVGFibGVDb21wb25lbnQge1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBrZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb2x1bW5zU2NoZW1hOiBDb2x1bW5zU2NoZW1hW10gPSBbXTtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB0YWJsZURhdGE6IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4gPVxyXG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSByZXNwb25zaXZlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgY2FuU2VsZWN0Rmlyc3RJdGVtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgbG9hZGluZzogYW55O1xyXG4gIEBJbnB1dCgpIGNhbkZpbHRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBzdHlsZUZpbHRlcjogKChkYXRhOiBhbnkpID0+IHN0cmluZykgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIHJvd1NlbGVjdG9yOiBCZWhhdmlvclN1YmplY3Q8YW55PiB8IHVuZGVmaW5lZCA9XHJcbiAgICB1bmRlZmluZWQ7XHJcbiAgQE91dHB1dCgpIG9uQ29sdW1uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uQ29sdW1uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25JdGVtU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlJykgdGFibGUhOiBFbGVtZW50UmVmPEhUTUxUYWJsZUVsZW1lbnQ+O1xyXG4gIEFDVElWRV9PUFRJT05TID0gQUNUSVZFX09QVElPTlM7XHJcbiAgWUVTX05PX09QVElPTlMgPSBZRVNfTk9fT1BUSU9OUztcclxuICBzb3J0RGV0YWlsOiB7IGtleTogc3RyaW5nOyBzb3J0OiAnYXNjJyB8ICdkZXNjJyB9IHwgdW5kZWZpbmVkO1xyXG4gIHNlbGVjdGVkSXRlbTogYW55O1xyXG4gIHNvcnRlZFRhYmxlRGF0YTogYW55W10gPSBbXTtcclxuICBkYlRhYmxlRmlsdGVyOiBhbnk7XHJcbiAgaW5kZXggPSAwO1xyXG4gIHNlbGVjdGVkSXRlbUluZGV4ID0gMDtcclxuICBnZXQgY29sdW1uc1R5cGVzKCkge1xyXG4gICAgcmV0dXJuIENPTFVNTlNfVFlQRVM7XHJcbiAgfVxyXG4gIGdldCBpc1J1bm5pbmdPblNtYWxsU2NyZWVuKCkge1xyXG4gICAgcmV0dXJuIFV0aWwuaXNSdW5uaW5nT25TbWFsbFNjcmVlbigpO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRiU2VydmljZTogTmd4SW5kZXhlZERCU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRhYmxlRGF0YS5zdWJzY3JpYmUoKHZhbDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuc29ydGVkVGFibGVEYXRhID0gdmFsO1xyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5rZXkpIHtcclxuICAgICAgdGhpcy5kYlNlcnZpY2VcclxuICAgICAgICAuZ2V0QnlJbmRleCgndGFibGVGaWx0ZXInLCAna2V5JywgdGhpcy5rZXkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRiVGFibGVGaWx0ZXIgPSBkYXRhO1xyXG4gICAgICAgICAgaWYgKHRoaXMuZGJUYWJsZUZpbHRlcikge1xyXG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlRmlsdGVyKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jYW5TZWxlY3RGaXJzdEl0ZW0gJiYgdGhpcy5zb3J0ZWRUYWJsZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuc29ydGVkVGFibGVEYXRhWzBdO1xyXG4gICAgICB0aGlzLnRhYmxlLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFRhYmxlRmlsdGVyKCkge1xyXG4gICAgdGhpcy5jb2x1bW5zU2NoZW1hLm1hcCgoY29sdW1uOiBhbnkpID0+IHtcclxuICAgICAgSlNPTi5wYXJzZSh0aGlzLmRiVGFibGVGaWx0ZXIuY29sdW1uc1NjaGVtYSkuZm9yRWFjaChcclxuICAgICAgICAoZGJDb2x1bW5zU2NoZW1hOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChkYkNvbHVtbnNTY2hlbWEua2V5ID09PSBjb2x1bW4ua2V5KSB7XHJcbiAgICAgICAgICAgIGNvbHVtbi5hY3RpdmUgPSBkYkNvbHVtbnNTY2hlbWEuYWN0aXZlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIGNvbHVtbjtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlRW50ZXIoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCBrZSA9IGV2ZW50IGFzIEtleWJvYXJkRXZlbnQ7XHJcbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy50YWJsZS5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIGlmIChrZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtSW5kZXggPT09IHRoaXMuc29ydGVkVGFibGVEYXRhLmxlbmd0aCAtIDEpIHJldHVybjtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1JbmRleCA8IHRoaXMuc29ydGVkVGFibGVEYXRhLmxlbmd0aCAtIDEpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtSW5kZXgrKztcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5zb3J0ZWRUYWJsZURhdGFbdGhpcy5zZWxlY3RlZEl0ZW1JbmRleF07XHJcbiAgICAgICAgICB0aGlzLm9uSXRlbVNlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfSBlbHNlIGlmIChrZS5rZXkgPT09ICdBcnJvd1VwJykge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbUluZGV4ID09PSAwKSByZXR1cm47XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtSW5kZXggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbUluZGV4LS07XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuc29ydGVkVGFibGVEYXRhW3RoaXMuc2VsZWN0ZWRJdGVtSW5kZXhdO1xyXG4gICAgICAgICAgdGhpcy5vbkl0ZW1TZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgb25JdGVtU2VsZWN0KGRhdGE6IGFueSwgaW5kZXg6IG51bWJlciwgZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1JbmRleCA9IGluZGV4O1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBkYXRhO1xyXG4gICAgdGhpcy5vbkl0ZW1TZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcclxuICB9XHJcblxyXG4gIGNvbHVtbkNsaWNrZWQodmFsOiBhbnkpIHtcclxuICAgIHRoaXMub25Db2x1bW5DbGlja2VkLmVtaXQodmFsKTtcclxuICB9XHJcbiAgY29sdW1uVmFsdWVDaGFuZ2VkKHZhbDogYW55KSB7XHJcbiAgICB0aGlzLm9uQ29sdW1uVmFsdWVDaGFuZ2VkLmVtaXQodmFsKTtcclxuICB9XHJcbiAgc29ydEJ5SGVhZGVyKGNvbHVtbjogYW55KSB7XHJcbiAgICBpZiAodGhpcy5zb3J0RGV0YWlsICYmIHRoaXMuc29ydERldGFpbC5rZXkgPT0gY29sdW1uLmtleSkge1xyXG4gICAgICBpZiAodGhpcy5zb3J0RGV0YWlsLnNvcnQgPT0gJ2Rlc2MnKSB7XHJcbiAgICAgICAgdGhpcy5zb3J0RGV0YWlsID0geyBrZXk6IGNvbHVtbi5rZXksIHNvcnQ6ICdhc2MnIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zb3J0RGV0YWlsID0geyBrZXk6IGNvbHVtbi5rZXksIHNvcnQ6ICdkZXNjJyB9O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNvcnREZXRhaWwgPSB7IGtleTogY29sdW1uLmtleSwgc29ydDogJ2FzYycgfTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgY29sdW1uLnR5cGUgPT0gQ09MVU1OU19UWVBFUy5URVhUIHx8XHJcbiAgICAgIGNvbHVtbi50eXBlID09IENPTFVNTlNfVFlQRVMuTlVNQkVSXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEgPSBvcmRlckJ5KFxyXG4gICAgICAgIHRoaXMuc29ydGVkVGFibGVEYXRhLFxyXG4gICAgICAgIFtjb2x1bW4ua2V5XSxcclxuICAgICAgICBbdGhpcy5zb3J0RGV0YWlsLnNvcnRdXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKGNvbHVtbi50eXBlID09IENPTFVNTlNfVFlQRVMuU0VMRUNUT1IpIHtcclxuICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEgPSBvcmRlckJ5KFxyXG4gICAgICAgIHRoaXMuc29ydGVkVGFibGVEYXRhLFxyXG4gICAgICAgIFsoYykgPT4gY1tjb2x1bW4ua2V5XVtjb2x1bW4uZGF0YS5rZXldXSxcclxuICAgICAgICBbdGhpcy5zb3J0RGV0YWlsLnNvcnRdXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKGNvbHVtbi50eXBlID09IENPTFVNTlNfVFlQRVMuU0hBTVNJX0RBVEUpIHtcclxuICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEgPSBvcmRlckJ5KFxyXG4gICAgICAgIHRoaXMuc29ydGVkVGFibGVEYXRhLFxyXG4gICAgICAgIFsoYykgPT4gbmV3IERhdGUoY1tjb2x1bW4ua2V5XSkuZ2V0VGltZSgpXSxcclxuICAgICAgICBbdGhpcy5zb3J0RGV0YWlsLnNvcnRdXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhY3RpdmVDb2x1bW5zU2NoZW1hKCk6IGFueVtdIHtcclxuICAgIHJldHVybiB0aGlzLmNvbHVtbnNTY2hlbWEuZmlsdGVyKFxyXG4gICAgICAoY29sdW1uOiBhbnkpID0+IGNvbHVtbi5hY3RpdmUgPT09IHVuZGVmaW5lZCB8fCBjb2x1bW4uYWN0aXZlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgdGFibGVEYXRhRmlsdGVyZWQodGV4dDogU3RyaW5nIHwgYm9vbGVhbiwgY29sdW1uOiBhbnkpIHtcclxuICAgIHRoaXMuY29sdW1uc1NjaGVtYS5tYXAoKGNvbHVtblNjaGVtYTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChjb2x1bW5TY2hlbWEua2V5ID09PSBjb2x1bW4ua2V5KSB7XHJcbiAgICAgICAgY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlciA9IHRleHQ7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGNvbHVtblNjaGVtYTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy50YWJsZURhdGEuc3Vic2NyaWJlKCh0YWJsZURhdGEpID0+IHtcclxuICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEgPSB0YWJsZURhdGEuZmlsdGVyKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNvbHVtbnNTY2hlbWEuZm9yRWFjaCgoY29sdW1uU2NoZW1hOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgY29sdW1uU2NoZW1hLnR5cGUgPT09IHRoaXMuY29sdW1uc1R5cGVzLlJPV19TRUxFQ1RPUiB8fFxyXG4gICAgICAgICAgICBjb2x1bW5TY2hlbWEudHlwZSA9PT0gdGhpcy5jb2x1bW5zVHlwZXMuQUNUSU9OIHx8XHJcbiAgICAgICAgICAgIGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5BQ1RJT05fQlVUVE9OUyB8fFxyXG4gICAgICAgICAgICBjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyID09PSB1bmRlZmluZWQgfHxcclxuICAgICAgICAgICAgIXJlc3VsdFxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChjb2x1bW5TY2hlbWEudHlwZSA9PT0gdGhpcy5jb2x1bW5zVHlwZXMuU0VMRUNUT1IpIHtcclxuICAgICAgICAgICAgcmVzdWx0ID0gZGF0YVtjb2x1bW5TY2hlbWEua2V5XVtjb2x1bW5TY2hlbWEuZGF0YS5rZXldXHJcbiAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgICAuaW5jbHVkZXMoY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChjb2x1bW5TY2hlbWEudHlwZSA9PT0gdGhpcy5jb2x1bW5zVHlwZXMuU0hBTVNJX0RBVEUpIHtcclxuICAgICAgICAgICAgaWYgKGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXIgPT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICByZXN1bHQgPSBkYXRhW2NvbHVtblNjaGVtYS5rZXldXHJcbiAgICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICAgICAgICAgLmluY2x1ZGVzKFxyXG4gICAgICAgICAgICAgICAgICBVdGlsLnNoYW1zaVRvTWlsYWRpKFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXIudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgICAgICAgICAnWVlZWS1NTS1ERCdcclxuICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIGlmIChjb2x1bW5TY2hlbWEudHlwZSA9PT0gdGhpcy5jb2x1bW5zVHlwZXMuTVVMVElfQ09MVU1OKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGNvbHVtblNjaGVtYS5jb2x1bW5zLnNvbWUoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiBkYXRhW2l0ZW0ua2V5XVtpdGVtLmRhdGEua2V5XVxyXG4gICAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgICAgIC5pbmNsdWRlcyhjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyPy50b1N0cmluZygpPy50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5TVEFUVVMpIHtcclxuICAgICAgICAgICAgaWYgKGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXIgPT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICByZXN1bHQgPSBkYXRhW2NvbHVtblNjaGVtYS5rZXldID09PSBjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXN1bHQgPSBkYXRhW2NvbHVtblNjaGVtYS5rZXldXHJcbiAgICAgICAgICAgICAgLnRvU3RyaW5nKClcclxuICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICAgICAgIC5pbmNsdWRlcyhjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyPy50b1N0cmluZygpPy50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicC0yIG92ZXJmbG93LXgtYXV0b1wiPlxyXG4gIDx0YWJsZVxyXG4gICAgI3RhYmxlXHJcbiAgICB0YWJpbmRleD1cIjBcIlxyXG4gICAgKm5nSWY9XCIhaXNSdW5uaW5nT25TbWFsbFNjcmVlbiB8fCAhcmVzcG9uc2l2ZTsgZWxzZSBzbWFsbERldmljZUNhcmRcIlxyXG4gID5cclxuICAgIDx0cj5cclxuICAgICAgPHRoXHJcbiAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciB0ZXh0LWNlbnRlclwiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBhY3RpdmVDb2x1bW5zU2NoZW1hKClcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgd2lkdGg6IGNvbHVtbj8ud2lkdGggKyAncHgnIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJncmlkXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cIltjYW5GaWx0ZXIgPyAnZ3JpZC1yb3dzLTInIDogJ2dyaWQtcm93cy0xJ11cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicC0yIHJlbGF0aXZlXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNvcnRCeUhlYWRlcihjb2x1bW4pXCJcclxuICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgIG1pbldpZHRoOlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLnR5cGUgPT09IGNvbHVtbnNUeXBlcy5BQ1RJT05fQlVUVE9OU1xyXG4gICAgICAgICAgICAgICAgICA/IGNvbHVtbi5kYXRhLmxlbmd0aCAqIDMwICsgJ3B4J1xyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIGRpc3BsYXk6XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4udHlwZSA9PT0gY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TXHJcbiAgICAgICAgICAgICAgICAgID8gJ2lubGluZS1ibG9jaydcclxuICAgICAgICAgICAgICAgICAgOiAnJ1xyXG4gICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgPnt7IGNvbHVtbi5sYWJlbCB9fVxyXG4gICAgICAgICAgICA8YXBwLXNvcnQtZG93bi1pY29uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzb3J0LWljb24gdy0yIGgtMiBpbmxpbmUtYmxvY2sgYWJzb2x1dGUgdG9wLTMgcmlnaHQtWy0zcHhdXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgc29ydERldGFpbD8ua2V5ID09IGNvbHVtbi5rZXkgJiYgc29ydERldGFpbD8uc29ydCA9PT0gJ2FzYydcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICA+PC9hcHAtc29ydC1kb3duLWljb24+XHJcbiAgICAgICAgICAgIDxhcHAtc29ydC11cC1pY29uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzb3J0LWljb24gdy0yIGgtMiBpbmxpbmUtYmxvY2sgYWJzb2x1dGUgdG9wLTMgcmlnaHQtWy0zcHhdXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgc29ydERldGFpbD8ua2V5ID09IGNvbHVtbi5rZXkgJiYgc29ydERldGFpbD8uc29ydCA9PT0gJ2Rlc2MnXHJcbiAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgPjwvYXBwLXNvcnQtdXAtaWNvbj5cclxuICAgICAgICAgICAgPGFwcC1zb3J0LXNvbGlkLWljb25cclxuICAgICAgICAgICAgICBjbGFzcz1cInNvcnQtaWNvbiB3LTIgaC0yIGlubGluZS1ibG9jayBhYnNvbHV0ZSB0b3AtMyByaWdodC1bLTNweF1cIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwic29ydERldGFpbD8ua2V5ICE9PSBjb2x1bW4ua2V5XCJcclxuICAgICAgICAgICAgPjwvYXBwLXNvcnQtc29saWQtaWNvbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxjb3JlLWNvbHVtbi1kYXRlLXBpY2tlclxyXG4gICAgICAgICAgICAqbmdJZj1cImNhbkZpbHRlciAmJiBjb2x1bW4udHlwZSA9PSBjb2x1bW5zVHlwZXMuU0hBTVNJX0RBVEVcIlxyXG4gICAgICAgICAgICBbY2FuU2VsZWN0VG9kYXldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIChvbkNoYW5nZSk9XCJ0YWJsZURhdGFGaWx0ZXJlZCgkZXZlbnQsIGNvbHVtbilcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9jb3JlLWNvbHVtbi1kYXRlLXBpY2tlcj5cclxuICAgICAgICAgIDxjb3JlLWNvbHVtbi1pbnB1dFxyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgIGNhbkZpbHRlciAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuQUNUSU9OICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5DT0xPUiAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuU1RBVFVTICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5TSEFNU0lfREFURSAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuUk9XX1NFTEVDVE9SICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5TVEFUVVNfQUNUSVZFICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5BQ1RJT05fQlVUVE9OU1xyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAob25DaGFuZ2UpPVwidGFibGVEYXRhRmlsdGVyZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICAgID48L2NvcmUtY29sdW1uLWlucHV0PlxyXG4gICAgICAgICAgPGNvcmUtY29sdW1uLXNlbGVjdG9yXHJcbiAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgKGNhbkZpbHRlciAmJiBjb2x1bW4udHlwZSA9PSBjb2x1bW5zVHlwZXMuU1RBVFVTKSB8fFxyXG4gICAgICAgICAgICAgIChjYW5GaWx0ZXIgJiYgY29sdW1uLnR5cGUgPT0gY29sdW1uc1R5cGVzLlNUQVRVU19BQ1RJVkUpXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFt0aXRsZUtleV09XCIndGl0bGUnXCJcclxuICAgICAgICAgICAgW3ZhbHVlS2V5XT1cIid2YWx1ZSdcIlxyXG4gICAgICAgICAgICBbaXRlbXNdPVwiXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgPT0gY29sdW1uc1R5cGVzLlNUQVRVU1xyXG4gICAgICAgICAgICAgICAgPyBBQ1RJVkVfT1BUSU9OU1xyXG4gICAgICAgICAgICAgICAgOiBZRVNfTk9fT1BUSU9OU1xyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAob25JdGVtU2VsZWN0ZWQpPVwidGFibGVEYXRhRmlsdGVyZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICAgID48L2NvcmUtY29sdW1uLXNlbGVjdG9yPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3RoPlxyXG4gICAgPC90cj5cclxuICAgIDx0clxyXG4gICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBzb3J0ZWRUYWJsZURhdGE7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7ICdzZWxlY3QtaXRlbSc6IGRhdGEuaWQgPT09IHNlbGVjdGVkSXRlbT8uaWQgfVwiXHJcbiAgICAgIChjbGljayk9XCJvbkl0ZW1TZWxlY3QoZGF0YSwgaW5kZXgsICRldmVudClcIlxyXG4gICAgPlxyXG4gICAgICA8dGRcclxuICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGFjdGl2ZUNvbHVtbnNTY2hlbWEoKVwiXHJcbiAgICAgICAgW2NsYXNzXT1cInN0eWxlRmlsdGVyID8gc3R5bGVGaWx0ZXIoZGF0YSkgOiAnJ1wiXHJcbiAgICAgID5cclxuICAgICAgICA8YXBwLWNvcmUtdGFibGUtY29sdW1uLW1hbmFnZXJcclxuICAgICAgICAgICpuZ0lmPVwiY29sdW1uLnR5cGUgIT0gY29sdW1uc1R5cGVzLk1VTFRJX0NPTFVNTjsgZWxzZSBlbHNlQmxvY2tcIlxyXG4gICAgICAgICAgW3Jvd1NlbGVjdG9yXT1cInJvd1NlbGVjdG9yXCJcclxuICAgICAgICAgIChvbkNvbHVtbkNsaWNrZWQpPVwiY29sdW1uQ2xpY2tlZCgkZXZlbnQpXCJcclxuICAgICAgICAgIChvbkNvbHVtblZhbHVlQ2hhbmdlZCk9XCJjb2x1bW5WYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbYWxsVGFibGVEYXRhXT1cInNvcnRlZFRhYmxlRGF0YVwiXHJcbiAgICAgICAgICBbZGF0YV09XCJkYXRhXCJcclxuICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcclxuICAgICAgICA+PC9hcHAtY29yZS10YWJsZS1jb2x1bW4tbWFuYWdlcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz5cclxuICAgICAgICAgIDxhcHAtY29yZS10YWJsZS1jb2x1bW4tbWFuYWdlclxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2hpbGRDb2x1bW4gb2YgY29sdW1uLmNvbHVtbnM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICBbcm93U2VsZWN0b3JdPVwicm93U2VsZWN0b3JcIlxyXG4gICAgICAgICAgICAob25Db2x1bW5DbGlja2VkKT1cImNvbHVtbkNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgICAgICAgICBbYWxsVGFibGVEYXRhXT1cInNvcnRlZFRhYmxlRGF0YVwiXHJcbiAgICAgICAgICAgIFtjb2x1bW5dPVwiY2hpbGRDb2x1bW5cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImkgPiAwXCI+LTwvc3Bhbj5cclxuICAgICAgICAgIDwvYXBwLWNvcmUtdGFibGUtY29sdW1uLW1hbmFnZXI+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC90ZD5cclxuICAgIDwvdHI+XHJcbiAgPC90YWJsZT5cclxuICA8bmctdGVtcGxhdGUgI3NtYWxsRGV2aWNlQ2FyZD5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxjb3JlLWNhcmRcclxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBzb3J0ZWRUYWJsZURhdGFcIlxyXG4gICAgICAgIFtjYXJkQ2xhc3NdPVwiJ2JhY2tncm91bmQtY2FyZCBtLTQgcC00IHJlbGF0aXZlJ1wiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImxlYWRpbmctOFwiXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGFjdGl2ZUNvbHVtbnNTY2hlbWEoKVwiXHJcbiAgICAgICAgICBbY2xhc3NdPVwiXHJcbiAgICAgICAgICAgIGNvbHVtbi50eXBlID09PSBjb2x1bW5zVHlwZXMuQUNUSU9OX0JVVFRPTlNcclxuICAgICAgICAgICAgICA/ICdhY3Rpb25CdXR0b25zJ1xyXG4gICAgICAgICAgICAgIDogY29sdW1uLnR5cGUgPT09IGNvbHVtbnNUeXBlcy5ST1dfU0VMRUNUT1JcclxuICAgICAgICAgICAgICA/ICdzZWxlY3RSb3cnXHJcbiAgICAgICAgICAgICAgOiAnJ1xyXG4gICAgICAgICAgXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuQUNUSU9OX0JVVFRPTlMgJiZcclxuICAgICAgICAgICAgICBjb2x1bW4udHlwZSAhPT0gY29sdW1uc1R5cGVzLlJPV19TRUxFQ1RPUlxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInNlY29uZGFyeS10ZXh0LWNvbG9yXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgY29sdW1uLmxhYmVsIH19IDpcclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbWFyeS10ZXh0LWNvbG9yIGZvbnQtc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgPGFwcC1jb3JlLXRhYmxlLWNhcmQtbWFuYWdlclxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICBjb2x1bW4udHlwZSAhPSBjb2x1bW5zVHlwZXMuTVVMVElfQ09MVU1OO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBjYXJkTWFuYWdlckVsc2VCbG9ja1xyXG4gICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgW3Jvd1NlbGVjdG9yXT1cInJvd1NlbGVjdG9yXCJcclxuICAgICAgICAgICAgICAob25Db2x1bW5DbGlja2VkKT1cImNvbHVtbkNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICAgW2FsbFRhYmxlRGF0YV09XCJzb3J0ZWRUYWJsZURhdGFcIlxyXG4gICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2FwcC1jb3JlLXRhYmxlLWNhcmQtbWFuYWdlcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2FyZE1hbmFnZXJFbHNlQmxvY2s+XHJcbiAgICAgICAgICAgICAgPGFwcC1jb3JlLXRhYmxlLWNhcmQtbWFuYWdlclxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNoaWxkQ29sdW1uIG9mIGNvbHVtbi5jb2x1bW5zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgIFtyb3dTZWxlY3Rvcl09XCJyb3dTZWxlY3RvclwiXHJcbiAgICAgICAgICAgICAgICAob25Db2x1bW5DbGlja2VkKT1cImNvbHVtbkNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhXCJcclxuICAgICAgICAgICAgICAgIFthbGxUYWJsZURhdGFdPVwic29ydGVkVGFibGVEYXRhXCJcclxuICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY2hpbGRDb2x1bW5cIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaSA+IDBcIj4tPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvYXBwLWNvcmUtdGFibGUtY2FyZC1tYW5hZ2VyPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2NvcmUtY2FyZD5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPGNvcmUtdGFibGUtbm8tY29udGVudFxyXG4gICAgKm5nSWY9XCIhbG9hZGluZ1wiXHJcbiAgICBbdGFibGVEYXRhXT1cInNvcnRlZFRhYmxlRGF0YVwiXHJcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcclxuICA+PC9jb3JlLXRhYmxlLW5vLWNvbnRlbnQ+XHJcbjwvZGl2PlxyXG4iXX0=
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbGliL3NyYy9saWIvY29yZS10YWJsZS9jb3JlLXRhYmxlL2NvcmUtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS9jb3JlLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3ZDLE9BQU8sRUFBUSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU9sRCxNQUFNLE9BQU8sa0JBQWtCO0lBeUI3QixJQUFJLFlBQVk7UUFDZCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsWUFBb0IsU0FBOEI7UUFBOUIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUE3QnZCLGtCQUFhLEdBQW9CLEVBQUUsQ0FBQztRQUNwQyxjQUFTLEdBQ2xDLElBQUksZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ0wsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQix1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LEtBQUs7Z0JBQ3NCLFdBQVc7c0JBQXRDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO2dCQUNFLFdBQVc7c0JBQXRDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO2dCQUVoQixlQUFlO3NCQUF4QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNhLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFnRWxCLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTmd4SW5kZXhlZERCU2VydmljZSB9IGZyb20gJ25neC1pbmRleGVkLWRiJztcclxuaW1wb3J0IHsgZmluZCwgb3JkZXJCeSB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IEFDVElWRV9PUFRJT05TLCBZRVNfTk9fT1BUSU9OUyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlsJztcclxuaW1wb3J0IHsgQ29sdW1uc1NjaGVtYSB9IGZyb20gJy4vY29yZS10YWJsZS50eXBlJztcclxuaW1wb3J0IHsgQ09MVU1OU19UWVBFUyB9IGZyb20gJy4uLy4uL2ZhbGNvblR5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29yZS10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvcmUtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvcmVUYWJsZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIGtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbHVtbnNTY2hlbWE6IENvbHVtbnNTY2hlbWFbXSA9IFtdO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRhYmxlRGF0YTogQmVoYXZpb3JTdWJqZWN0PGFueVtdPiA9XHJcbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihbXSk7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIHJlc3BvbnNpdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBjYW5TZWxlY3RGaXJzdEl0ZW06IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBsb2FkaW5nOiBhbnk7XHJcbiAgQElucHV0KCkgY2FuRmlsdGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIHN0eWxlRmlsdGVyOiAoKGRhdGE6IGFueSkgPT4gc3RyaW5nKSB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgcm93U2VsZWN0b3I6IEJlaGF2aW9yU3ViamVjdDxhbnk+IHwgdW5kZWZpbmVkID1cclxuICAgIHVuZGVmaW5lZDtcclxuICBAT3V0cHV0KCkgb25Db2x1bW5DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25Db2x1bW5WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkl0ZW1TZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQFZpZXdDaGlsZCgndGFibGUnKSB0YWJsZSE6IEVsZW1lbnRSZWY8SFRNTFRhYmxlRWxlbWVudD47XHJcbiAgQUNUSVZFX09QVElPTlMgPSBBQ1RJVkVfT1BUSU9OUztcclxuICBZRVNfTk9fT1BUSU9OUyA9IFlFU19OT19PUFRJT05TO1xyXG4gIHNvcnREZXRhaWw6IHsga2V5OiBzdHJpbmc7IHNvcnQ6ICdhc2MnIHwgJ2Rlc2MnIH0gfCB1bmRlZmluZWQ7XHJcbiAgc2VsZWN0ZWRJdGVtOiBhbnkgPSB1bmRlZmluZWQ7XHJcbiAgc29ydGVkVGFibGVEYXRhOiBhbnlbXSA9IFtdO1xyXG4gIGRiVGFibGVGaWx0ZXI6IGFueTtcclxuICBpbmRleCA9IDA7XHJcbiAgc2FsdCA9IHRoaXMucmFuZG9tU3RyaW5nKDUpO1xyXG4gIHNlbGVjdGVkSXRlbUluZGV4ID0gMDtcclxuICBnZXQgY29sdW1uc1R5cGVzKCkge1xyXG4gICAgcmV0dXJuIENPTFVNTlNfVFlQRVM7XHJcbiAgfVxyXG4gIGdldCBpc1J1bm5pbmdPblNtYWxsU2NyZWVuKCkge1xyXG4gICAgcmV0dXJuIFV0aWwuaXNSdW5uaW5nT25TbWFsbFNjcmVlbigpO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRiU2VydmljZTogTmd4SW5kZXhlZERCU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRhYmxlRGF0YS5zdWJzY3JpYmUoKHZhbDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuc29ydGVkVGFibGVEYXRhID0gdmFsO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5jYW5TZWxlY3RGaXJzdEl0ZW0gJiZcclxuICAgICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YS5sZW5ndGggPiAwICYmXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPT09IHVuZGVmaW5lZFxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuc29ydGVkVGFibGVEYXRhWzBdO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtSW5kZXggPSAwO1xyXG4gICAgICAgIHRoaXMudGFibGUubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLmtleSkge1xyXG4gICAgICB0aGlzLmRiU2VydmljZVxyXG4gICAgICAgIC5nZXRCeUluZGV4KCd0YWJsZUZpbHRlcicsICdrZXknLCB0aGlzLmtleSlcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGJUYWJsZUZpbHRlciA9IGRhdGE7XHJcbiAgICAgICAgICBpZiAodGhpcy5kYlRhYmxlRmlsdGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVGaWx0ZXIoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGFibGUubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgaWYgKHRoaXMuY2FuU2VsZWN0Rmlyc3RJdGVtICYmIHRoaXMuc29ydGVkVGFibGVEYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0aGlzLnNvcnRlZFRhYmxlRGF0YVswXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFRhYmxlRmlsdGVyKCkge1xyXG4gICAgdGhpcy5jb2x1bW5zU2NoZW1hLm1hcCgoY29sdW1uOiBhbnkpID0+IHtcclxuICAgICAgSlNPTi5wYXJzZSh0aGlzLmRiVGFibGVGaWx0ZXIuY29sdW1uc1NjaGVtYSkuZm9yRWFjaChcclxuICAgICAgICAoZGJDb2x1bW5zU2NoZW1hOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChkYkNvbHVtbnNTY2hlbWEua2V5ID09PSBjb2x1bW4ua2V5KSB7XHJcbiAgICAgICAgICAgIGNvbHVtbi5hY3RpdmUgPSBkYkNvbHVtbnNTY2hlbWEuYWN0aXZlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIGNvbHVtbjtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlRW50ZXIoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCBrZSA9IGV2ZW50IGFzIEtleWJvYXJkRXZlbnQ7XHJcbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy50YWJsZS5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIGlmIChrZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtSW5kZXggPT09IHRoaXMuc29ydGVkVGFibGVEYXRhLmxlbmd0aCAtIDEpIHJldHVybjtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1JbmRleCA8IHRoaXMuc29ydGVkVGFibGVEYXRhLmxlbmd0aCAtIDEpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtSW5kZXgrKztcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5zb3J0ZWRUYWJsZURhdGFbdGhpcy5zZWxlY3RlZEl0ZW1JbmRleF07XHJcbiAgICAgICAgICB0aGlzLm9uSXRlbVNlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW0pO1xyXG4gICAgICAgICAgZG9jdW1lbnRcclxuICAgICAgICAgICAgLmdldEVsZW1lbnRCeUlkKFxyXG4gICAgICAgICAgICAgICd0YWJsZVJvd18nICsgdGhpcy5zYWx0ICsgJ18nICsgdGhpcy5zZWxlY3RlZEl0ZW1JbmRleFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgID8uc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnY2VudGVyJyB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH0gZWxzZSBpZiAoa2Uua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1JbmRleCA9PT0gMCkgcmV0dXJuO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbUluZGV4ID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1JbmRleC0tO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0aGlzLnNvcnRlZFRhYmxlRGF0YVt0aGlzLnNlbGVjdGVkSXRlbUluZGV4XTtcclxuICAgICAgICAgIHRoaXMub25JdGVtU2VsZWN0ZWQuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbSk7XHJcbiAgICAgICAgICBkb2N1bWVudFxyXG4gICAgICAgICAgICAuZ2V0RWxlbWVudEJ5SWQoXHJcbiAgICAgICAgICAgICAgJ3RhYmxlUm93XycgKyB0aGlzLnNhbHQgKyAnXycgKyB0aGlzLnNlbGVjdGVkSXRlbUluZGV4XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgPy5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdjZW50ZXInIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBvbkl0ZW1TZWxlY3QoZGF0YTogYW55LCBpbmRleDogbnVtYmVyLCBldmVudDogRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbUluZGV4ID0gaW5kZXg7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGRhdGE7XHJcbiAgICB0aGlzLm9uSXRlbVNlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgY29sdW1uQ2xpY2tlZCh2YWw6IGFueSkge1xyXG4gICAgdGhpcy5vbkNvbHVtbkNsaWNrZWQuZW1pdCh2YWwpO1xyXG4gIH1cclxuICBjb2x1bW5WYWx1ZUNoYW5nZWQodmFsOiBhbnkpIHtcclxuICAgIHRoaXMub25Db2x1bW5WYWx1ZUNoYW5nZWQuZW1pdCh2YWwpO1xyXG4gIH1cclxuICBzb3J0QnlIZWFkZXIoY29sdW1uOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNvcnREZXRhaWwgJiYgdGhpcy5zb3J0RGV0YWlsLmtleSA9PSBjb2x1bW4ua2V5KSB7XHJcbiAgICAgIGlmICh0aGlzLnNvcnREZXRhaWwuc29ydCA9PSAnZGVzYycpIHtcclxuICAgICAgICB0aGlzLnNvcnREZXRhaWwgPSB7IGtleTogY29sdW1uLmtleSwgc29ydDogJ2FzYycgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNvcnREZXRhaWwgPSB7IGtleTogY29sdW1uLmtleSwgc29ydDogJ2Rlc2MnIH07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc29ydERldGFpbCA9IHsga2V5OiBjb2x1bW4ua2V5LCBzb3J0OiAnYXNjJyB9O1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBjb2x1bW4udHlwZSA9PSBDT0xVTU5TX1RZUEVTLlRFWFQgfHxcclxuICAgICAgY29sdW1uLnR5cGUgPT0gQ09MVU1OU19UWVBFUy5OVU1CRVJcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YSA9IG9yZGVyQnkoXHJcbiAgICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEsXHJcbiAgICAgICAgW2NvbHVtbi5rZXldLFxyXG4gICAgICAgIFt0aGlzLnNvcnREZXRhaWwuc29ydF1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSBpZiAoY29sdW1uLnR5cGUgPT0gQ09MVU1OU19UWVBFUy5TRUxFQ1RPUikge1xyXG4gICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YSA9IG9yZGVyQnkoXHJcbiAgICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEsXHJcbiAgICAgICAgWyhjKSA9PiBjW2NvbHVtbi5rZXldW2NvbHVtbi5kYXRhLmtleV1dLFxyXG4gICAgICAgIFt0aGlzLnNvcnREZXRhaWwuc29ydF1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSBpZiAoY29sdW1uLnR5cGUgPT0gQ09MVU1OU19UWVBFUy5TSEFNU0lfREFURSkge1xyXG4gICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YSA9IG9yZGVyQnkoXHJcbiAgICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEsXHJcbiAgICAgICAgWyhjKSA9PiBuZXcgRGF0ZShjW2NvbHVtbi5rZXldKS5nZXRUaW1lKCldLFxyXG4gICAgICAgIFt0aGlzLnNvcnREZXRhaWwuc29ydF1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFjdGl2ZUNvbHVtbnNTY2hlbWEoKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29sdW1uc1NjaGVtYS5maWx0ZXIoXHJcbiAgICAgIChjb2x1bW46IGFueSkgPT4gY29sdW1uLmFjdGl2ZSA9PT0gdW5kZWZpbmVkIHx8IGNvbHVtbi5hY3RpdmVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB0YWJsZURhdGFGaWx0ZXJlZCh0ZXh0OiBTdHJpbmcgfCBib29sZWFuLCBjb2x1bW46IGFueSkge1xyXG4gICAgdGhpcy5jb2x1bW5zU2NoZW1hLm1hcCgoY29sdW1uU2NoZW1hOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGNvbHVtblNjaGVtYS5rZXkgPT09IGNvbHVtbi5rZXkpIHtcclxuICAgICAgICBjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyID0gdGV4dDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gY29sdW1uU2NoZW1hO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnRhYmxlRGF0YS5zdWJzY3JpYmUoKHRhYmxlRGF0YSkgPT4ge1xyXG4gICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YSA9IHRhYmxlRGF0YS5maWx0ZXIoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY29sdW1uc1NjaGVtYS5mb3JFYWNoKChjb2x1bW5TY2hlbWE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBjb2x1bW5TY2hlbWEudHlwZSA9PT0gdGhpcy5jb2x1bW5zVHlwZXMuUk9XX1NFTEVDVE9SIHx8XHJcbiAgICAgICAgICAgIGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5BQ1RJT04gfHxcclxuICAgICAgICAgICAgY29sdW1uU2NoZW1hLnR5cGUgPT09IHRoaXMuY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TIHx8XHJcbiAgICAgICAgICAgIGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXIgPT09IHVuZGVmaW5lZCB8fFxyXG4gICAgICAgICAgICAhcmVzdWx0XHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5TRUxFQ1RPUikge1xyXG4gICAgICAgICAgICByZXN1bHQgPSBkYXRhW2NvbHVtblNjaGVtYS5rZXldW2NvbHVtblNjaGVtYS5kYXRhLmtleV1cclxuICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICAgICAgIC5pbmNsdWRlcyhjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5TSEFNU0lfREFURSkge1xyXG4gICAgICAgICAgICBpZiAoY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlciA9PT0gJycpIHtcclxuICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHJlc3VsdCA9IGRhdGFbY29sdW1uU2NoZW1hLmtleV1cclxuICAgICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgICAgICAgICAuaW5jbHVkZXMoXHJcbiAgICAgICAgICAgICAgICAgIFV0aWwuc2hhbXNpVG9NaWxhZGkoXHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlci50b1N0cmluZygpLFxyXG4gICAgICAgICAgICAgICAgICAgICdZWVlZLU1NLUREJ1xyXG4gICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5NVUxUSV9DT0xVTU4pIHtcclxuICAgICAgICAgICAgcmVzdWx0ID0gY29sdW1uU2NoZW1hLmNvbHVtbnMuc29tZSgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGRhdGFbaXRlbS5rZXldW2l0ZW0uZGF0YS5rZXldXHJcbiAgICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICAgICAgICAgLmluY2x1ZGVzKGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXI/LnRvU3RyaW5nKCk/LnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoY29sdW1uU2NoZW1hLnR5cGUgPT09IHRoaXMuY29sdW1uc1R5cGVzLlNUQVRVUykge1xyXG4gICAgICAgICAgICBpZiAoY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlciA9PT0gJycpIHtcclxuICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHJlc3VsdCA9IGRhdGFbY29sdW1uU2NoZW1hLmtleV0gPT09IGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGRhdGFbY29sdW1uU2NoZW1hLmtleV1cclxuICAgICAgICAgICAgICAudG9TdHJpbmcoKVxyXG4gICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgICAgICAgLmluY2x1ZGVzKGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXI/LnRvU3RyaW5nKCk/LnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByYW5kb21TdHJpbmcobGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIE1hdGgucmFuZG9tKClcclxuICAgICAgLnRvU3RyaW5nKDM2KVxyXG4gICAgICAuc3Vic3RyaW5nKDIsIDIgKyBsZW5ndGgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicC0yIG92ZXJmbG93LXgtYXV0b1wiPlxyXG4gIDx0YWJsZVxyXG4gICAgI3RhYmxlXHJcbiAgICB0YWJpbmRleD1cIjBcIlxyXG4gICAgKm5nSWY9XCIhaXNSdW5uaW5nT25TbWFsbFNjcmVlbiB8fCAhcmVzcG9uc2l2ZTsgZWxzZSBzbWFsbERldmljZUNhcmRcIlxyXG4gID5cclxuICAgIDx0cj5cclxuICAgICAgPHRoXHJcbiAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciB0ZXh0LWNlbnRlclwiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBhY3RpdmVDb2x1bW5zU2NoZW1hKClcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgd2lkdGg6IGNvbHVtbj8ud2lkdGggKyAncHgnIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJncmlkXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cIltjYW5GaWx0ZXIgPyAnZ3JpZC1yb3dzLTInIDogJ2dyaWQtcm93cy0xJ11cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicC0yIHJlbGF0aXZlXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNvcnRCeUhlYWRlcihjb2x1bW4pXCJcclxuICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgIG1pbldpZHRoOlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLnR5cGUgPT09IGNvbHVtbnNUeXBlcy5BQ1RJT05fQlVUVE9OU1xyXG4gICAgICAgICAgICAgICAgICA/IGNvbHVtbi5kYXRhLmxlbmd0aCAqIDMwICsgJ3B4J1xyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIGRpc3BsYXk6XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4udHlwZSA9PT0gY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TXHJcbiAgICAgICAgICAgICAgICAgID8gJ2lubGluZS1ibG9jaydcclxuICAgICAgICAgICAgICAgICAgOiAnJ1xyXG4gICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgPnt7IGNvbHVtbi5sYWJlbCB9fVxyXG4gICAgICAgICAgICA8YXBwLXNvcnQtZG93bi1pY29uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzb3J0LWljb24gdy0yIGgtMiBpbmxpbmUtYmxvY2sgYWJzb2x1dGUgdG9wLTMgcmlnaHQtWy0zcHhdXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgc29ydERldGFpbD8ua2V5ID09IGNvbHVtbi5rZXkgJiYgc29ydERldGFpbD8uc29ydCA9PT0gJ2FzYydcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICA+PC9hcHAtc29ydC1kb3duLWljb24+XHJcbiAgICAgICAgICAgIDxhcHAtc29ydC11cC1pY29uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzb3J0LWljb24gdy0yIGgtMiBpbmxpbmUtYmxvY2sgYWJzb2x1dGUgdG9wLTMgcmlnaHQtWy0zcHhdXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgc29ydERldGFpbD8ua2V5ID09IGNvbHVtbi5rZXkgJiYgc29ydERldGFpbD8uc29ydCA9PT0gJ2Rlc2MnXHJcbiAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgPjwvYXBwLXNvcnQtdXAtaWNvbj5cclxuICAgICAgICAgICAgPGFwcC1zb3J0LXNvbGlkLWljb25cclxuICAgICAgICAgICAgICBjbGFzcz1cInNvcnQtaWNvbiB3LTIgaC0yIGlubGluZS1ibG9jayBhYnNvbHV0ZSB0b3AtMyByaWdodC1bLTNweF1cIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwic29ydERldGFpbD8ua2V5ICE9PSBjb2x1bW4ua2V5XCJcclxuICAgICAgICAgICAgPjwvYXBwLXNvcnQtc29saWQtaWNvbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxjb3JlLWNvbHVtbi1kYXRlLXBpY2tlclxyXG4gICAgICAgICAgICAqbmdJZj1cImNhbkZpbHRlciAmJiBjb2x1bW4udHlwZSA9PSBjb2x1bW5zVHlwZXMuU0hBTVNJX0RBVEVcIlxyXG4gICAgICAgICAgICBbY2FuU2VsZWN0VG9kYXldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIChvbkNoYW5nZSk9XCJ0YWJsZURhdGFGaWx0ZXJlZCgkZXZlbnQsIGNvbHVtbilcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9jb3JlLWNvbHVtbi1kYXRlLXBpY2tlcj5cclxuICAgICAgICAgIDxjb3JlLWNvbHVtbi1pbnB1dFxyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgIGNhbkZpbHRlciAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuQUNUSU9OICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5DT0xPUiAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuU1RBVFVTICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5TSEFNU0lfREFURSAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuUk9XX1NFTEVDVE9SICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5TVEFUVVNfQUNUSVZFICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5BQ1RJT05fQlVUVE9OU1xyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAob25DaGFuZ2UpPVwidGFibGVEYXRhRmlsdGVyZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICAgID48L2NvcmUtY29sdW1uLWlucHV0PlxyXG4gICAgICAgICAgPGNvcmUtY29sdW1uLXNlbGVjdG9yXHJcbiAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgKGNhbkZpbHRlciAmJiBjb2x1bW4udHlwZSA9PSBjb2x1bW5zVHlwZXMuU1RBVFVTKSB8fFxyXG4gICAgICAgICAgICAgIChjYW5GaWx0ZXIgJiYgY29sdW1uLnR5cGUgPT0gY29sdW1uc1R5cGVzLlNUQVRVU19BQ1RJVkUpXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFt0aXRsZUtleV09XCIndGl0bGUnXCJcclxuICAgICAgICAgICAgW3ZhbHVlS2V5XT1cIid2YWx1ZSdcIlxyXG4gICAgICAgICAgICBbaXRlbXNdPVwiXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgPT0gY29sdW1uc1R5cGVzLlNUQVRVU1xyXG4gICAgICAgICAgICAgICAgPyBBQ1RJVkVfT1BUSU9OU1xyXG4gICAgICAgICAgICAgICAgOiBZRVNfTk9fT1BUSU9OU1xyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAob25JdGVtU2VsZWN0ZWQpPVwidGFibGVEYXRhRmlsdGVyZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICAgID48L2NvcmUtY29sdW1uLXNlbGVjdG9yPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3RoPlxyXG4gICAgPC90cj5cclxuICAgIDx0clxyXG4gICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBzb3J0ZWRUYWJsZURhdGE7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICBbaWRdPVwiJ3RhYmxlUm93XycgKyBzYWx0ICsgJ18nICsgaVwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdC1pdGVtJzogZGF0YS5pZCA9PT0gc2VsZWN0ZWRJdGVtPy5pZCB9XCJcclxuICAgICAgKGNsaWNrKT1cIm9uSXRlbVNlbGVjdChkYXRhLCBpLCAkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPHRkXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBhY3RpdmVDb2x1bW5zU2NoZW1hKClcIlxyXG4gICAgICAgIFtjbGFzc109XCJzdHlsZUZpbHRlciA/IHN0eWxlRmlsdGVyKGRhdGEpIDogJydcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGFwcC1jb3JlLXRhYmxlLWNvbHVtbi1tYW5hZ2VyXHJcbiAgICAgICAgICAqbmdJZj1cImNvbHVtbi50eXBlICE9IGNvbHVtbnNUeXBlcy5NVUxUSV9DT0xVTU47IGVsc2UgZWxzZUJsb2NrXCJcclxuICAgICAgICAgIFtyb3dTZWxlY3Rvcl09XCJyb3dTZWxlY3RvclwiXHJcbiAgICAgICAgICAob25Db2x1bW5DbGlja2VkKT1cImNvbHVtbkNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAob25Db2x1bW5WYWx1ZUNoYW5nZWQpPVwiY29sdW1uVmFsdWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgW2FsbFRhYmxlRGF0YV09XCJzb3J0ZWRUYWJsZURhdGFcIlxyXG4gICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgICAgICAgPjwvYXBwLWNvcmUtdGFibGUtY29sdW1uLW1hbmFnZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlQmxvY2s+XHJcbiAgICAgICAgICA8YXBwLWNvcmUtdGFibGUtY29sdW1uLW1hbmFnZXJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNoaWxkQ29sdW1uIG9mIGNvbHVtbi5jb2x1bW5zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgW3Jvd1NlbGVjdG9yXT1cInJvd1NlbGVjdG9yXCJcclxuICAgICAgICAgICAgKG9uQ29sdW1uQ2xpY2tlZCk9XCJjb2x1bW5DbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZGF0YV09XCJkYXRhXCJcclxuICAgICAgICAgICAgW2FsbFRhYmxlRGF0YV09XCJzb3J0ZWRUYWJsZURhdGFcIlxyXG4gICAgICAgICAgICBbY29sdW1uXT1cImNoaWxkQ29sdW1uXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpID4gMFwiPi08L3NwYW4+XHJcbiAgICAgICAgICA8L2FwcC1jb3JlLXRhYmxlLWNvbHVtbi1tYW5hZ2VyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L3RyPlxyXG4gIDwvdGFibGU+XHJcbiAgPG5nLXRlbXBsYXRlICNzbWFsbERldmljZUNhcmQ+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8Y29yZS1jYXJkXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGRhdGEgb2Ygc29ydGVkVGFibGVEYXRhXCJcclxuICAgICAgICBbY2FyZENsYXNzXT1cIidiYWNrZ3JvdW5kLWNhcmQgbS00IHAtNCByZWxhdGl2ZSdcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJsZWFkaW5nLThcIlxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBhY3RpdmVDb2x1bW5zU2NoZW1hKClcIlxyXG4gICAgICAgICAgW2NsYXNzXT1cIlxyXG4gICAgICAgICAgICBjb2x1bW4udHlwZSA9PT0gY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TXHJcbiAgICAgICAgICAgICAgPyAnYWN0aW9uQnV0dG9ucydcclxuICAgICAgICAgICAgICA6IGNvbHVtbi50eXBlID09PSBjb2x1bW5zVHlwZXMuUk9XX1NFTEVDVE9SXHJcbiAgICAgICAgICAgICAgPyAnc2VsZWN0Um93J1xyXG4gICAgICAgICAgICAgIDogJydcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgICBjb2x1bW4udHlwZSAhPT0gY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5ST1dfU0VMRUNUT1JcclxuICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJzZWNvbmRhcnktdGV4dC1jb2xvclwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IGNvbHVtbi5sYWJlbCB9fSA6XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW1hcnktdGV4dC1jb2xvciBmb250LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgIDxhcHAtY29yZS10YWJsZS1jYXJkLW1hbmFnZXJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT0gY29sdW1uc1R5cGVzLk1VTFRJX0NPTFVNTjtcclxuICAgICAgICAgICAgICAgIGVsc2UgY2FyZE1hbmFnZXJFbHNlQmxvY2tcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgIFtyb3dTZWxlY3Rvcl09XCJyb3dTZWxlY3RvclwiXHJcbiAgICAgICAgICAgICAgKG9uQ29sdW1uQ2xpY2tlZCk9XCJjb2x1bW5DbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgICAgICAgICAgIFthbGxUYWJsZURhdGFdPVwic29ydGVkVGFibGVEYXRhXCJcclxuICAgICAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9hcHAtY29yZS10YWJsZS1jYXJkLW1hbmFnZXI+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2NhcmRNYW5hZ2VyRWxzZUJsb2NrPlxyXG4gICAgICAgICAgICAgIDxhcHAtY29yZS10YWJsZS1jYXJkLW1hbmFnZXJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZENvbHVtbiBvZiBjb2x1bW4uY29sdW1uczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICBbcm93U2VsZWN0b3JdPVwicm93U2VsZWN0b3JcIlxyXG4gICAgICAgICAgICAgICAgKG9uQ29sdW1uQ2xpY2tlZCk9XCJjb2x1bW5DbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICAgICBbYWxsVGFibGVEYXRhXT1cInNvcnRlZFRhYmxlRGF0YVwiXHJcbiAgICAgICAgICAgICAgICBbY29sdW1uXT1cImNoaWxkQ29sdW1uXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImkgPiAwXCI+LTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2FwcC1jb3JlLXRhYmxlLWNhcmQtbWFuYWdlcj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9jb3JlLWNhcmQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxjb3JlLXRhYmxlLW5vLWNvbnRlbnRcclxuICAgICpuZ0lmPVwiIWxvYWRpbmdcIlxyXG4gICAgW3RhYmxlRGF0YV09XCJzb3J0ZWRUYWJsZURhdGFcIlxyXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgPjwvY29yZS10YWJsZS1uby1jb250ZW50PlxyXG48L2Rpdj5cclxuIl19
@@ -31,11 +31,11 @@ export class CoreTableColorColumnComponent {
31
31
  }
32
32
  }
33
33
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableColorColumnComponent, deps: [{ token: i1.NiraSnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableColorColumnComponent, selector: "core-table-color-column", inputs: { data: "data", column: "column" }, outputs: { onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<span\n *ngIf=\"!canEdit\"\n class=\"shadow-md inline-block rounded-full\"\n [ngClass]=\"{ 'mouse-edit-cursor': column.editable }\"\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\n style=\"width: 25px; height: 25px\"\n [style]=\"{ background: color }\"\n></span>\n<div class=\"flex\" *ngIf=\"canEdit\">\n <input\n [(ngModel)]=\"value\"\n class=\"rounded-sm h-7 px-2 border-slate-700\"\n type=\"color\"\n />\n <check-icon\n (click)=\"setValue()\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></check-icon>\n <close-icon\n (click)=\"canEdit = false\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></close-icon>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.CheckIconComponent, selector: "check-icon" }, { kind: "component", type: i5.CloseIconComponent, selector: "close-icon" }] }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableColorColumnComponent, selector: "core-table-color-column", inputs: { data: "data", column: "column" }, outputs: { onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<span\r\n *ngIf=\"!canEdit\"\r\n class=\"shadow-md inline-block rounded-full\"\r\n [ngClass]=\"{ 'mouse-edit-cursor': column.editable }\"\r\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\r\n style=\"width: 25px; height: 25px\"\r\n [style]=\"{ background: color }\"\r\n></span>\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <input\r\n [(ngModel)]=\"value\"\r\n class=\"rounded-sm h-7 px-2 border-slate-700\"\r\n type=\"color\"\r\n />\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.CheckIconComponent, selector: "check-icon" }, { kind: "component", type: i5.CloseIconComponent, selector: "close-icon" }] }); }
35
35
  }
36
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableColorColumnComponent, decorators: [{
37
37
  type: Component,
38
- args: [{ selector: 'core-table-color-column', template: "<span\n *ngIf=\"!canEdit\"\n class=\"shadow-md inline-block rounded-full\"\n [ngClass]=\"{ 'mouse-edit-cursor': column.editable }\"\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\n style=\"width: 25px; height: 25px\"\n [style]=\"{ background: color }\"\n></span>\n<div class=\"flex\" *ngIf=\"canEdit\">\n <input\n [(ngModel)]=\"value\"\n class=\"rounded-sm h-7 px-2 border-slate-700\"\n type=\"color\"\n />\n <check-icon\n (click)=\"setValue()\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></check-icon>\n <close-icon\n (click)=\"canEdit = false\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></close-icon>\n</div>\n" }]
38
+ args: [{ selector: 'core-table-color-column', template: "<span\r\n *ngIf=\"!canEdit\"\r\n class=\"shadow-md inline-block rounded-full\"\r\n [ngClass]=\"{ 'mouse-edit-cursor': column.editable }\"\r\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\r\n style=\"width: 25px; height: 25px\"\r\n [style]=\"{ background: color }\"\r\n></span>\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <input\r\n [(ngModel)]=\"value\"\r\n class=\"rounded-sm h-7 px-2 border-slate-700\"\r\n type=\"color\"\r\n />\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n" }]
39
39
  }], ctorParameters: function () { return [{ type: i1.NiraSnackBarService }]; }, propDecorators: { data: [{
40
40
  type: Input,
41
41
  args: [{ required: true }]
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
45
45
  }], onColumnValueChanged: [{
46
46
  type: Output
47
47
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS1jb2xvci1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1jb2xvci1jb2x1bW4vY29yZS10YWJsZS1jb2xvci1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1jb2xvci1jb2x1bW4vY29yZS10YWJsZS1jb2xvci1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7Ozs7O0FBUW5DLE1BQU0sT0FBTyw2QkFBNkI7SUFNeEMsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztZQUMvQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUM1QixDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBUjNDLHlCQUFvQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZFLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQU02QyxDQUFDO0lBRXpELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQVcsRUFBRSxJQUFZLEVBQUUsS0FBaUI7UUFDMUQsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDckI7SUFDSCxDQUFDOytHQXpCVSw2QkFBNkI7bUdBQTdCLDZCQUE2QixzS0NUMUMsaXJCQXVCQTs7NEZEZGEsNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLHlCQUF5QjswR0FLUixJQUFJO3NCQUE5QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDZixvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE5pcmFTbmFja0JhclNlcnZpY2UgfSBmcm9tICduaXJhLXNuYWNrLWJhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvcmUtdGFibGUtY29sb3ItY29sdW1uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtdGFibGUtY29sb3ItY29sdW1uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29yZS10YWJsZS1jb2xvci1jb2x1bW4uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb3JlVGFibGVDb2xvckNvbHVtbkNvbXBvbmVudCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGRhdGE6IGFueTtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29sdW1uITogYW55O1xuICBAT3V0cHV0KCkgb25Db2x1bW5WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBjYW5FZGl0ID0gZmFsc2U7XG4gIHZhbHVlID0gJyc7XG4gIGdldCBjb2xvcigpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhW3RoaXMuY29sdW1uLmtleV0uc3RhcnRzV2l0aCgnIycpXG4gICAgICA/IHRoaXMuZGF0YVt0aGlzLmNvbHVtbi5rZXldXG4gICAgICA6ICcjJyArIHRoaXMuZGF0YVt0aGlzLmNvbHVtbi5rZXldO1xuICB9XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmlyYVNuYWNrQmFyOiBOaXJhU25hY2tCYXJTZXJ2aWNlKSB7fVxuXG4gIHNldFZhbHVlKCkge1xuICAgIGNvbnN0IG5ld0RhdGEgPSBjbG9uZURlZXAodGhpcy5kYXRhKTtcbiAgICBuZXdEYXRhW3RoaXMuY29sdW1uLmtleV0gPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMub25Db2x1bW5WYWx1ZUNoYW5nZWQuZW1pdChuZXdEYXRhKTtcbiAgICB0aGlzLmNhbkVkaXQgPSBmYWxzZTtcbiAgfVxuXG4gIG9uQ29sdW1uQ2xpY2tlZChjb2x1bW46IGFueSwgZGF0YTogc3RyaW5nLCBldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmIChldmVudC5jdHJsS2V5ICYmIGNvbHVtbi5lZGl0YWJsZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IGRhdGE7XG4gICAgICB0aGlzLmNhbkVkaXQgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuIiwiPHNwYW5cbiAgKm5nSWY9XCIhY2FuRWRpdFwiXG4gIGNsYXNzPVwic2hhZG93LW1kIGlubGluZS1ibG9jayByb3VuZGVkLWZ1bGxcIlxuICBbbmdDbGFzc109XCJ7ICdtb3VzZS1lZGl0LWN1cnNvcic6IGNvbHVtbi5lZGl0YWJsZSB9XCJcbiAgKGNsaWNrKT1cIm9uQ29sdW1uQ2xpY2tlZChjb2x1bW4sIGRhdGFbY29sdW1uLmtleV0sICRldmVudClcIlxuICBzdHlsZT1cIndpZHRoOiAyNXB4OyBoZWlnaHQ6IDI1cHhcIlxuICBbc3R5bGVdPVwieyBiYWNrZ3JvdW5kOiBjb2xvciB9XCJcbj48L3NwYW4+XG48ZGl2IGNsYXNzPVwiZmxleFwiICpuZ0lmPVwiY2FuRWRpdFwiPlxuICA8aW5wdXRcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICBjbGFzcz1cInJvdW5kZWQtc20gaC03IHB4LTIgYm9yZGVyLXNsYXRlLTcwMFwiXG4gICAgdHlwZT1cImNvbG9yXCJcbiAgLz5cbiAgPGNoZWNrLWljb25cbiAgICAoY2xpY2spPVwic2V0VmFsdWUoKVwiXG4gICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBpbmxpbmUtYmxvY2sgdy01IGgtNSBtLTFcIlxuICA+PC9jaGVjay1pY29uPlxuICA8Y2xvc2UtaWNvblxuICAgIChjbGljayk9XCJjYW5FZGl0ID0gZmFsc2VcIlxuICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgaW5saW5lLWJsb2NrIHctNSBoLTUgbS0xXCJcbiAgPjwvY2xvc2UtaWNvbj5cbjwvZGl2PlxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS1jb2xvci1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1jb2xvci1jb2x1bW4vY29yZS10YWJsZS1jb2xvci1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1jb2xvci1jb2x1bW4vY29yZS10YWJsZS1jb2xvci1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7Ozs7O0FBUW5DLE1BQU0sT0FBTyw2QkFBNkI7SUFNeEMsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztZQUMvQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUM1QixDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBUjNDLHlCQUFvQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZFLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQU02QyxDQUFDO0lBRXpELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQVcsRUFBRSxJQUFZLEVBQUUsS0FBaUI7UUFDMUQsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDckI7SUFDSCxDQUFDOytHQXpCVSw2QkFBNkI7bUdBQTdCLDZCQUE2QixzS0NUMUMsK3RCQXVCQTs7NEZEZGEsNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLHlCQUF5QjswR0FLUixJQUFJO3NCQUE5QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDZixvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBOaXJhU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnbmlyYS1zbmFjay1iYXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb3JlLXRhYmxlLWNvbG9yLWNvbHVtbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtdGFibGUtY29sb3ItY29sdW1uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb3JlLXRhYmxlLWNvbG9yLWNvbHVtbi5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlVGFibGVDb2xvckNvbHVtbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZGF0YTogYW55O1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbHVtbiE6IGFueTtcclxuICBAT3V0cHV0KCkgb25Db2x1bW5WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGNhbkVkaXQgPSBmYWxzZTtcclxuICB2YWx1ZSA9ICcnO1xyXG4gIGdldCBjb2xvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFbdGhpcy5jb2x1bW4ua2V5XS5zdGFydHNXaXRoKCcjJylcclxuICAgICAgPyB0aGlzLmRhdGFbdGhpcy5jb2x1bW4ua2V5XVxyXG4gICAgICA6ICcjJyArIHRoaXMuZGF0YVt0aGlzLmNvbHVtbi5rZXldO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5pcmFTbmFja0JhcjogTmlyYVNuYWNrQmFyU2VydmljZSkge31cclxuXHJcbiAgc2V0VmFsdWUoKSB7XHJcbiAgICBjb25zdCBuZXdEYXRhID0gY2xvbmVEZWVwKHRoaXMuZGF0YSk7XHJcbiAgICBuZXdEYXRhW3RoaXMuY29sdW1uLmtleV0gPSB0aGlzLnZhbHVlO1xyXG4gICAgdGhpcy5vbkNvbHVtblZhbHVlQ2hhbmdlZC5lbWl0KG5ld0RhdGEpO1xyXG4gICAgdGhpcy5jYW5FZGl0ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvbkNvbHVtbkNsaWNrZWQoY29sdW1uOiBhbnksIGRhdGE6IHN0cmluZywgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5jdHJsS2V5ICYmIGNvbHVtbi5lZGl0YWJsZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gZGF0YTtcclxuICAgICAgdGhpcy5jYW5FZGl0ID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHNwYW5cclxuICAqbmdJZj1cIiFjYW5FZGl0XCJcclxuICBjbGFzcz1cInNoYWRvdy1tZCBpbmxpbmUtYmxvY2sgcm91bmRlZC1mdWxsXCJcclxuICBbbmdDbGFzc109XCJ7ICdtb3VzZS1lZGl0LWN1cnNvcic6IGNvbHVtbi5lZGl0YWJsZSB9XCJcclxuICAoY2xpY2spPVwib25Db2x1bW5DbGlja2VkKGNvbHVtbiwgZGF0YVtjb2x1bW4ua2V5XSwgJGV2ZW50KVwiXHJcbiAgc3R5bGU9XCJ3aWR0aDogMjVweDsgaGVpZ2h0OiAyNXB4XCJcclxuICBbc3R5bGVdPVwieyBiYWNrZ3JvdW5kOiBjb2xvciB9XCJcclxuPjwvc3Bhbj5cclxuPGRpdiBjbGFzcz1cImZsZXhcIiAqbmdJZj1cImNhbkVkaXRcIj5cclxuICA8aW5wdXRcclxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgY2xhc3M9XCJyb3VuZGVkLXNtIGgtNyBweC0yIGJvcmRlci1zbGF0ZS03MDBcIlxyXG4gICAgdHlwZT1cImNvbG9yXCJcclxuICAvPlxyXG4gIDxjaGVjay1pY29uXHJcbiAgICAoY2xpY2spPVwic2V0VmFsdWUoKVwiXHJcbiAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGlubGluZS1ibG9jayB3LTUgaC01IG0tMVwiXHJcbiAgPjwvY2hlY2staWNvbj5cclxuICA8Y2xvc2UtaWNvblxyXG4gICAgKGNsaWNrKT1cImNhbkVkaXQgPSBmYWxzZVwiXHJcbiAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGlubGluZS1ibG9jayB3LTUgaC01IG0tMVwiXHJcbiAgPjwvY2xvc2UtaWNvbj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -38,11 +38,11 @@ export class CoreTableNumberColumnComponent {
38
38
  }
39
39
  }
40
40
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableNumberColumnComponent, deps: [{ token: i1.NiraSnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableNumberColumnComponent, selector: "core-table-number-column", inputs: { data: "data", column: "column" }, outputs: { onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<span\n *ngIf=\"!canEdit\"\n [ngClass]=\"{\n 'cursor-pointer': column.copyToClipboard,\n green: data[column.key] > 0 && column.canColorfulNumber,\n red: data[column.key] < 0 && column.canColorfulNumber,\n 'mouse-edit-cursor': column.editable\n }\"\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\n>\n <app-core-number\n [number]=\"data[column.key]\"\n [type]=\"'number'\"\n [canShowTomanInToolTip]=\"\n column?.data && column?.data?.canShowTomanInToolTip === false\n ? false\n : true\n \"\n [enDigitsToFa]=\"\n column?.data && column?.data?.enDigitsToFa === false ? false : true\n \"\n [canShowIRR]=\"\n column?.data && column?.data?.canShowIRR === true ? true : false\n \"\n [canSplitNumbers]=\"\n column?.data && column?.data?.canSplitNumbers === false ? false : true\n \"\n [canShowWordInToolTip]=\"\n column?.data && column?.data?.canShowWordInToolTip === false\n ? false\n : true\n \"\n >\n </app-core-number>\n</span>\n<div class=\"flex\" *ngIf=\"canEdit\">\n <input\n [(ngModel)]=\"value\"\n class=\"rounded-sm h-7 px-2 border-slate-700\"\n type=\"text\"\n />\n <check-icon\n (click)=\"setValue()\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></check-icon>\n <close-icon\n (click)=\"canEdit = false\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></close-icon>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.CoreNumberComponent, selector: "app-core-number", inputs: ["number", "type", "canSplitNumbers", "canShowWordInToolTip", "canShowTomanInToolTip", "enDigitsToFa", "canShowIRR"] }, { kind: "component", type: i5.CheckIconComponent, selector: "check-icon" }, { kind: "component", type: i6.CloseIconComponent, selector: "close-icon" }] }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableNumberColumnComponent, selector: "core-table-number-column", inputs: { data: "data", column: "column" }, outputs: { onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<span\r\n *ngIf=\"!canEdit\"\r\n [ngClass]=\"{\r\n 'cursor-pointer': column.copyToClipboard,\r\n green: data[column.key] > 0 && column.canColorfulNumber,\r\n red: data[column.key] < 0 && column.canColorfulNumber,\r\n 'mouse-edit-cursor': column.editable\r\n }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\r\n>\r\n <app-core-number\r\n [number]=\"data[column.key]\"\r\n [type]=\"'number'\"\r\n [canShowTomanInToolTip]=\"\r\n column?.data && column?.data?.canShowTomanInToolTip === false\r\n ? false\r\n : true\r\n \"\r\n [enDigitsToFa]=\"\r\n column?.data && column?.data?.enDigitsToFa === false ? false : true\r\n \"\r\n [canShowIRR]=\"\r\n column?.data && column?.data?.canShowIRR === true ? true : false\r\n \"\r\n [canSplitNumbers]=\"\r\n column?.data && column?.data?.canSplitNumbers === false ? false : true\r\n \"\r\n [canShowWordInToolTip]=\"\r\n column?.data && column?.data?.canShowWordInToolTip === false\r\n ? false\r\n : true\r\n \"\r\n >\r\n </app-core-number>\r\n</span>\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <input\r\n [(ngModel)]=\"value\"\r\n class=\"rounded-sm h-7 px-2 border-slate-700\"\r\n type=\"text\"\r\n />\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.CoreNumberComponent, selector: "app-core-number", inputs: ["number", "type", "canSplitNumbers", "canShowWordInToolTip", "canShowTomanInToolTip", "enDigitsToFa", "canShowIRR"] }, { kind: "component", type: i5.CheckIconComponent, selector: "check-icon" }, { kind: "component", type: i6.CloseIconComponent, selector: "close-icon" }] }); }
42
42
  }
43
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableNumberColumnComponent, decorators: [{
44
44
  type: Component,
45
- args: [{ selector: 'core-table-number-column', template: "<span\n *ngIf=\"!canEdit\"\n [ngClass]=\"{\n 'cursor-pointer': column.copyToClipboard,\n green: data[column.key] > 0 && column.canColorfulNumber,\n red: data[column.key] < 0 && column.canColorfulNumber,\n 'mouse-edit-cursor': column.editable\n }\"\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\n>\n <app-core-number\n [number]=\"data[column.key]\"\n [type]=\"'number'\"\n [canShowTomanInToolTip]=\"\n column?.data && column?.data?.canShowTomanInToolTip === false\n ? false\n : true\n \"\n [enDigitsToFa]=\"\n column?.data && column?.data?.enDigitsToFa === false ? false : true\n \"\n [canShowIRR]=\"\n column?.data && column?.data?.canShowIRR === true ? true : false\n \"\n [canSplitNumbers]=\"\n column?.data && column?.data?.canSplitNumbers === false ? false : true\n \"\n [canShowWordInToolTip]=\"\n column?.data && column?.data?.canShowWordInToolTip === false\n ? false\n : true\n \"\n >\n </app-core-number>\n</span>\n<div class=\"flex\" *ngIf=\"canEdit\">\n <input\n [(ngModel)]=\"value\"\n class=\"rounded-sm h-7 px-2 border-slate-700\"\n type=\"text\"\n />\n <check-icon\n (click)=\"setValue()\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></check-icon>\n <close-icon\n (click)=\"canEdit = false\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></close-icon>\n</div>\n" }]
45
+ args: [{ selector: 'core-table-number-column', template: "<span\r\n *ngIf=\"!canEdit\"\r\n [ngClass]=\"{\r\n 'cursor-pointer': column.copyToClipboard,\r\n green: data[column.key] > 0 && column.canColorfulNumber,\r\n red: data[column.key] < 0 && column.canColorfulNumber,\r\n 'mouse-edit-cursor': column.editable\r\n }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\r\n>\r\n <app-core-number\r\n [number]=\"data[column.key]\"\r\n [type]=\"'number'\"\r\n [canShowTomanInToolTip]=\"\r\n column?.data && column?.data?.canShowTomanInToolTip === false\r\n ? false\r\n : true\r\n \"\r\n [enDigitsToFa]=\"\r\n column?.data && column?.data?.enDigitsToFa === false ? false : true\r\n \"\r\n [canShowIRR]=\"\r\n column?.data && column?.data?.canShowIRR === true ? true : false\r\n \"\r\n [canSplitNumbers]=\"\r\n column?.data && column?.data?.canSplitNumbers === false ? false : true\r\n \"\r\n [canShowWordInToolTip]=\"\r\n column?.data && column?.data?.canShowWordInToolTip === false\r\n ? false\r\n : true\r\n \"\r\n >\r\n </app-core-number>\r\n</span>\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <input\r\n [(ngModel)]=\"value\"\r\n class=\"rounded-sm h-7 px-2 border-slate-700\"\r\n type=\"text\"\r\n />\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n" }]
46
46
  }], ctorParameters: function () { return [{ type: i1.NiraSnackBarService }]; }, propDecorators: { data: [{
47
47
  type: Input,
48
48
  args: [{ required: true }]
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
52
52
  }], onColumnValueChanged: [{
53
53
  type: Output
54
54
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS1udW1iZXItY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLXRhYmxlL2NvcmUtdGFibGUtbnVtYmVyLWNvbHVtbi9jb3JlLXRhYmxlLW51bWJlci1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1udW1iZXItY29sdW1uL2NvcmUtdGFibGUtbnVtYmVyLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7O0FBUW5DLE1BQU0sT0FBTyw4QkFBOEI7SUFRekMsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBTDNDLHlCQUFvQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXZFLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQUU2QyxDQUFDO0lBRXpELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBVyxFQUFFLElBQVksRUFBRSxLQUFpQjtRQUM5RCxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNyQjthQUFNLElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRTtZQUNqQyxTQUFTLENBQUMsU0FBUztpQkFDaEIsU0FBUyxDQUFDLElBQUksQ0FBQztpQkFDZixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDVixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtvQkFDekMsV0FBVyxFQUFFLFNBQVM7b0JBQ3RCLFFBQVEsRUFBRSxJQUFJO2lCQUNmLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7K0dBaENVLDhCQUE4QjttR0FBOUIsOEJBQThCLHVLQ1QzQyw4NkNBa0RBOzs0RkR6Q2EsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLDBCQUEwQjswR0FLVCxJQUFJO3NCQUE5QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDZixvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE5pcmFTbmFja0JhclNlcnZpY2UgfSBmcm9tICduaXJhLXNuYWNrLWJhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvcmUtdGFibGUtbnVtYmVyLWNvbHVtbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3JlLXRhYmxlLW51bWJlci1jb2x1bW4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb3JlLXRhYmxlLW51bWJlci1jb2x1bW4uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb3JlVGFibGVOdW1iZXJDb2x1bW5Db21wb25lbnQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBkYXRhITogYW55O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb2x1bW4hOiBhbnk7XG4gIEBPdXRwdXQoKSBvbkNvbHVtblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY2FuRWRpdCA9IGZhbHNlO1xuICB2YWx1ZSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmlyYVNuYWNrQmFyOiBOaXJhU25hY2tCYXJTZXJ2aWNlKSB7fVxuXG4gIHNldFZhbHVlKCkge1xuICAgIGNvbnN0IG5ld0RhdGEgPSBjbG9uZURlZXAodGhpcy5kYXRhKTtcbiAgICBuZXdEYXRhW3RoaXMuY29sdW1uLmtleV0gPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMub25Db2x1bW5WYWx1ZUNoYW5nZWQuZW1pdChuZXdEYXRhKTtcbiAgICB0aGlzLmNhbkVkaXQgPSBmYWxzZTtcbiAgfVxuXG4gIG9uVGV4dENvbHVtbkNsaWNrZWQoY29sdW1uOiBhbnksIGRhdGE6IHN0cmluZywgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuY3RybEtleSAmJiBjb2x1bW4uZWRpdGFibGUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBkYXRhO1xuICAgICAgdGhpcy5jYW5FZGl0ID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGNvbHVtbi5jb3B5VG9DbGlwYm9hcmQpIHtcbiAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmRcbiAgICAgICAgLndyaXRlVGV4dChkYXRhKVxuICAgICAgICAudGhlbigoZSkgPT4ge1xuICAgICAgICAgIHRoaXMubmlyYVNuYWNrQmFyLnNob3coJ9io2Kcg2YXZiNmB2YLbjNiqINqp2b7bjCDYtNivJywge1xuICAgICAgICAgICAgc3RhdHVzQ2xhc3M6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGUpID0+IGNvbnNvbGUuZXJyb3IoZSkpO1xuICAgIH1cbiAgfVxufVxuIiwiPHNwYW5cbiAgKm5nSWY9XCIhY2FuRWRpdFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnY3Vyc29yLXBvaW50ZXInOiBjb2x1bW4uY29weVRvQ2xpcGJvYXJkLFxuICAgIGdyZWVuOiBkYXRhW2NvbHVtbi5rZXldID4gMCAmJiBjb2x1bW4uY2FuQ29sb3JmdWxOdW1iZXIsXG4gICAgcmVkOiBkYXRhW2NvbHVtbi5rZXldIDwgMCAmJiBjb2x1bW4uY2FuQ29sb3JmdWxOdW1iZXIsXG4gICAgJ21vdXNlLWVkaXQtY3Vyc29yJzogY29sdW1uLmVkaXRhYmxlXG4gIH1cIlxuICAoY2xpY2spPVwib25UZXh0Q29sdW1uQ2xpY2tlZChjb2x1bW4sIGRhdGFbY29sdW1uLmtleV0sICRldmVudClcIlxuPlxuICA8YXBwLWNvcmUtbnVtYmVyXG4gICAgW251bWJlcl09XCJkYXRhW2NvbHVtbi5rZXldXCJcbiAgICBbdHlwZV09XCInbnVtYmVyJ1wiXG4gICAgW2NhblNob3dUb21hbkluVG9vbFRpcF09XCJcbiAgICAgIGNvbHVtbj8uZGF0YSAmJiBjb2x1bW4/LmRhdGE/LmNhblNob3dUb21hbkluVG9vbFRpcCA9PT0gZmFsc2VcbiAgICAgICAgPyBmYWxzZVxuICAgICAgICA6IHRydWVcbiAgICBcIlxuICAgIFtlbkRpZ2l0c1RvRmFdPVwiXG4gICAgICBjb2x1bW4/LmRhdGEgJiYgY29sdW1uPy5kYXRhPy5lbkRpZ2l0c1RvRmEgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlXG4gICAgXCJcbiAgICBbY2FuU2hvd0lSUl09XCJcbiAgICAgIGNvbHVtbj8uZGF0YSAmJiBjb2x1bW4/LmRhdGE/LmNhblNob3dJUlIgPT09IHRydWUgPyB0cnVlIDogZmFsc2VcbiAgICBcIlxuICAgIFtjYW5TcGxpdE51bWJlcnNdPVwiXG4gICAgICBjb2x1bW4/LmRhdGEgJiYgY29sdW1uPy5kYXRhPy5jYW5TcGxpdE51bWJlcnMgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlXG4gICAgXCJcbiAgICBbY2FuU2hvd1dvcmRJblRvb2xUaXBdPVwiXG4gICAgICBjb2x1bW4/LmRhdGEgJiYgY29sdW1uPy5kYXRhPy5jYW5TaG93V29yZEluVG9vbFRpcCA9PT0gZmFsc2VcbiAgICAgICAgPyBmYWxzZVxuICAgICAgICA6IHRydWVcbiAgICBcIlxuICA+XG4gIDwvYXBwLWNvcmUtbnVtYmVyPlxuPC9zcGFuPlxuPGRpdiBjbGFzcz1cImZsZXhcIiAqbmdJZj1cImNhbkVkaXRcIj5cbiAgPGlucHV0XG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgY2xhc3M9XCJyb3VuZGVkLXNtIGgtNyBweC0yIGJvcmRlci1zbGF0ZS03MDBcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgLz5cbiAgPGNoZWNrLWljb25cbiAgICAoY2xpY2spPVwic2V0VmFsdWUoKVwiXG4gICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBpbmxpbmUtYmxvY2sgdy01IGgtNSBtLTFcIlxuICA+PC9jaGVjay1pY29uPlxuICA8Y2xvc2UtaWNvblxuICAgIChjbGljayk9XCJjYW5FZGl0ID0gZmFsc2VcIlxuICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgaW5saW5lLWJsb2NrIHctNSBoLTUgbS0xXCJcbiAgPjwvY2xvc2UtaWNvbj5cbjwvZGl2PlxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS1udW1iZXItY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLXRhYmxlL2NvcmUtdGFibGUtbnVtYmVyLWNvbHVtbi9jb3JlLXRhYmxlLW51bWJlci1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1udW1iZXItY29sdW1uL2NvcmUtdGFibGUtbnVtYmVyLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7O0FBUW5DLE1BQU0sT0FBTyw4QkFBOEI7SUFRekMsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBTDNDLHlCQUFvQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXZFLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQUU2QyxDQUFDO0lBRXpELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBVyxFQUFFLElBQVksRUFBRSxLQUFpQjtRQUM5RCxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNyQjthQUFNLElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRTtZQUNqQyxTQUFTLENBQUMsU0FBUztpQkFDaEIsU0FBUyxDQUFDLElBQUksQ0FBQztpQkFDZixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDVixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtvQkFDekMsV0FBVyxFQUFFLFNBQVM7b0JBQ3RCLFFBQVEsRUFBRSxJQUFJO2lCQUNmLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7K0dBaENVLDhCQUE4QjttR0FBOUIsOEJBQThCLHVLQ1QzQyxraERBa0RBOzs0RkR6Q2EsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLDBCQUEwQjswR0FLVCxJQUFJO3NCQUE5QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDZixvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBOaXJhU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnbmlyYS1zbmFjay1iYXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb3JlLXRhYmxlLW51bWJlci1jb2x1bW4nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3JlLXRhYmxlLW51bWJlci1jb2x1bW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvcmUtdGFibGUtbnVtYmVyLWNvbHVtbi5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlVGFibGVOdW1iZXJDb2x1bW5Db21wb25lbnQge1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGRhdGEhOiBhbnk7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29sdW1uITogYW55O1xyXG4gIEBPdXRwdXQoKSBvbkNvbHVtblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNhbkVkaXQgPSBmYWxzZTtcclxuICB2YWx1ZSA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5pcmFTbmFja0JhcjogTmlyYVNuYWNrQmFyU2VydmljZSkge31cclxuXHJcbiAgc2V0VmFsdWUoKSB7XHJcbiAgICBjb25zdCBuZXdEYXRhID0gY2xvbmVEZWVwKHRoaXMuZGF0YSk7XHJcbiAgICBuZXdEYXRhW3RoaXMuY29sdW1uLmtleV0gPSB0aGlzLnZhbHVlO1xyXG4gICAgdGhpcy5vbkNvbHVtblZhbHVlQ2hhbmdlZC5lbWl0KG5ld0RhdGEpO1xyXG4gICAgdGhpcy5jYW5FZGl0ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvblRleHRDb2x1bW5DbGlja2VkKGNvbHVtbjogYW55LCBkYXRhOiBzdHJpbmcsIGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQuY3RybEtleSAmJiBjb2x1bW4uZWRpdGFibGUpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IGRhdGE7XHJcbiAgICAgIHRoaXMuY2FuRWRpdCA9IHRydWU7XHJcbiAgICB9IGVsc2UgaWYgKGNvbHVtbi5jb3B5VG9DbGlwYm9hcmQpIHtcclxuICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZFxyXG4gICAgICAgIC53cml0ZVRleHQoZGF0YSlcclxuICAgICAgICAudGhlbigoZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5uaXJhU25hY2tCYXIuc2hvdygn2KjYpyDZhdmI2YHZgtuM2Kog2qnZvtuMINi02K8nLCB7XHJcbiAgICAgICAgICAgIHN0YXR1c0NsYXNzOiAnc3VjY2VzcycsXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goKGUpID0+IGNvbnNvbGUuZXJyb3IoZSkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8c3BhblxyXG4gICpuZ0lmPVwiIWNhbkVkaXRcIlxyXG4gIFtuZ0NsYXNzXT1cIntcclxuICAgICdjdXJzb3ItcG9pbnRlcic6IGNvbHVtbi5jb3B5VG9DbGlwYm9hcmQsXHJcbiAgICBncmVlbjogZGF0YVtjb2x1bW4ua2V5XSA+IDAgJiYgY29sdW1uLmNhbkNvbG9yZnVsTnVtYmVyLFxyXG4gICAgcmVkOiBkYXRhW2NvbHVtbi5rZXldIDwgMCAmJiBjb2x1bW4uY2FuQ29sb3JmdWxOdW1iZXIsXHJcbiAgICAnbW91c2UtZWRpdC1jdXJzb3InOiBjb2x1bW4uZWRpdGFibGVcclxuICB9XCJcclxuICAoY2xpY2spPVwib25UZXh0Q29sdW1uQ2xpY2tlZChjb2x1bW4sIGRhdGFbY29sdW1uLmtleV0sICRldmVudClcIlxyXG4+XHJcbiAgPGFwcC1jb3JlLW51bWJlclxyXG4gICAgW251bWJlcl09XCJkYXRhW2NvbHVtbi5rZXldXCJcclxuICAgIFt0eXBlXT1cIidudW1iZXInXCJcclxuICAgIFtjYW5TaG93VG9tYW5JblRvb2xUaXBdPVwiXHJcbiAgICAgIGNvbHVtbj8uZGF0YSAmJiBjb2x1bW4/LmRhdGE/LmNhblNob3dUb21hbkluVG9vbFRpcCA9PT0gZmFsc2VcclxuICAgICAgICA/IGZhbHNlXHJcbiAgICAgICAgOiB0cnVlXHJcbiAgICBcIlxyXG4gICAgW2VuRGlnaXRzVG9GYV09XCJcclxuICAgICAgY29sdW1uPy5kYXRhICYmIGNvbHVtbj8uZGF0YT8uZW5EaWdpdHNUb0ZhID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZVxyXG4gICAgXCJcclxuICAgIFtjYW5TaG93SVJSXT1cIlxyXG4gICAgICBjb2x1bW4/LmRhdGEgJiYgY29sdW1uPy5kYXRhPy5jYW5TaG93SVJSID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlXHJcbiAgICBcIlxyXG4gICAgW2NhblNwbGl0TnVtYmVyc109XCJcclxuICAgICAgY29sdW1uPy5kYXRhICYmIGNvbHVtbj8uZGF0YT8uY2FuU3BsaXROdW1iZXJzID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZVxyXG4gICAgXCJcclxuICAgIFtjYW5TaG93V29yZEluVG9vbFRpcF09XCJcclxuICAgICAgY29sdW1uPy5kYXRhICYmIGNvbHVtbj8uZGF0YT8uY2FuU2hvd1dvcmRJblRvb2xUaXAgPT09IGZhbHNlXHJcbiAgICAgICAgPyBmYWxzZVxyXG4gICAgICAgIDogdHJ1ZVxyXG4gICAgXCJcclxuICA+XHJcbiAgPC9hcHAtY29yZS1udW1iZXI+XHJcbjwvc3Bhbj5cclxuPGRpdiBjbGFzcz1cImZsZXhcIiAqbmdJZj1cImNhbkVkaXRcIj5cclxuICA8aW5wdXRcclxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgY2xhc3M9XCJyb3VuZGVkLXNtIGgtNyBweC0yIGJvcmRlci1zbGF0ZS03MDBcIlxyXG4gICAgdHlwZT1cInRleHRcIlxyXG4gIC8+XHJcbiAgPGNoZWNrLWljb25cclxuICAgIChjbGljayk9XCJzZXRWYWx1ZSgpXCJcclxuICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgaW5saW5lLWJsb2NrIHctNSBoLTUgbS0xXCJcclxuICA+PC9jaGVjay1pY29uPlxyXG4gIDxjbG9zZS1pY29uXHJcbiAgICAoY2xpY2spPVwiY2FuRWRpdCA9IGZhbHNlXCJcclxuICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgaW5saW5lLWJsb2NrIHctNSBoLTUgbS0xXCJcclxuICA+PC9jbG9zZS1pY29uPlxyXG48L2Rpdj5cclxuIl19
@@ -56,11 +56,11 @@ export class CoreTableSelectorColumnComponent {
56
56
  }
57
57
  }
58
58
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableSelectorColumnComponent, deps: [{ token: i1.NiraSnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableSelectorColumnComponent, selector: "core-table-selector-column", inputs: { data: "data", column: "column" }, outputs: { onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<span\n *ngIf=\"!canEdit && data[column.key.split('.')[0]]\"\n [ngClass]=\"{ 'mouse-edit-cursor': column.editable }\"\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\n >{{\n getSelectorData(data[column.key.split(\".\")[0]], column.data.key)\n | persianDigits\n }}</span\n>\n\n<div class=\"flex\" *ngIf=\"canEdit\">\n <core-select\n class=\"block mx-4 w-80\"\n [titleKey]=\"column.data.key\"\n [valueKey]=\"column.data.value\"\n [items]=\"column.data.editableData | async\"\n (onItemSelected)=\"onChange($event)\"\n ></core-select>\n\n <check-icon\n (click)=\"setValue()\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></check-icon>\n <close-icon\n (click)=\"canEdit = false\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></close-icon>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.CoreSelectComponent, selector: "core-select", inputs: ["titleKey", "valueKey", "size", "canHighlightBackground", "items", "defaultValue", "label", "disabled", "inputFormControl"], outputs: ["onItemSelected"] }, { kind: "component", type: i4.CheckIconComponent, selector: "check-icon" }, { kind: "component", type: i5.CloseIconComponent, selector: "close-icon" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.PersianDigitsPipe, name: "persianDigits" }] }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableSelectorColumnComponent, selector: "core-table-selector-column", inputs: { data: "data", column: "column" }, outputs: { onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<span\r\n *ngIf=\"!canEdit && data[column.key.split('.')[0]]\"\r\n [ngClass]=\"{ 'mouse-edit-cursor': column.editable }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\r\n >{{\r\n getSelectorData(data[column.key.split(\".\")[0]], column.data.key)\r\n | persianDigits\r\n }}</span\r\n>\r\n\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <core-select\r\n class=\"block mx-4 w-80\"\r\n [titleKey]=\"column.data.key\"\r\n [valueKey]=\"column.data.value\"\r\n [items]=\"column.data.editableData | async\"\r\n (onItemSelected)=\"onChange($event)\"\r\n ></core-select>\r\n\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.CoreSelectComponent, selector: "core-select", inputs: ["titleKey", "valueKey", "size", "canHighlightBackground", "items", "defaultValue", "label", "disabled", "inputFormControl"], outputs: ["onItemSelected"] }, { kind: "component", type: i4.CheckIconComponent, selector: "check-icon" }, { kind: "component", type: i5.CloseIconComponent, selector: "close-icon" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.PersianDigitsPipe, name: "persianDigits" }] }); }
60
60
  }
61
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableSelectorColumnComponent, decorators: [{
62
62
  type: Component,
63
- args: [{ selector: 'core-table-selector-column', template: "<span\n *ngIf=\"!canEdit && data[column.key.split('.')[0]]\"\n [ngClass]=\"{ 'mouse-edit-cursor': column.editable }\"\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\n >{{\n getSelectorData(data[column.key.split(\".\")[0]], column.data.key)\n | persianDigits\n }}</span\n>\n\n<div class=\"flex\" *ngIf=\"canEdit\">\n <core-select\n class=\"block mx-4 w-80\"\n [titleKey]=\"column.data.key\"\n [valueKey]=\"column.data.value\"\n [items]=\"column.data.editableData | async\"\n (onItemSelected)=\"onChange($event)\"\n ></core-select>\n\n <check-icon\n (click)=\"setValue()\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></check-icon>\n <close-icon\n (click)=\"canEdit = false\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></close-icon>\n</div>\n" }]
63
+ args: [{ selector: 'core-table-selector-column', template: "<span\r\n *ngIf=\"!canEdit && data[column.key.split('.')[0]]\"\r\n [ngClass]=\"{ 'mouse-edit-cursor': column.editable }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\r\n >{{\r\n getSelectorData(data[column.key.split(\".\")[0]], column.data.key)\r\n | persianDigits\r\n }}</span\r\n>\r\n\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <core-select\r\n class=\"block mx-4 w-80\"\r\n [titleKey]=\"column.data.key\"\r\n [valueKey]=\"column.data.value\"\r\n [items]=\"column.data.editableData | async\"\r\n (onItemSelected)=\"onChange($event)\"\r\n ></core-select>\r\n\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n" }]
64
64
  }], ctorParameters: function () { return [{ type: i1.NiraSnackBarService }]; }, propDecorators: { data: [{
65
65
  type: Input,
66
66
  args: [{ required: true }]
@@ -70,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
70
70
  }], onColumnValueChanged: [{
71
71
  type: Output
72
72
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4vY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4vY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7Ozs7OztBQVFuQyxNQUFNLE9BQU8sZ0NBQWdDO0lBUTNDLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUwzQyx5QkFBb0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV2RSxZQUFPLEdBQUcsS0FBSyxDQUFDO0lBR3dDLENBQUM7SUFFekQsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBVyxFQUFFLElBQVksRUFBRSxLQUFpQjtRQUM5RCxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNyQjthQUFNLElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRTtZQUNqQyxTQUFTLENBQUMsU0FBUztpQkFDaEIsU0FBUyxDQUFDLElBQUksQ0FBQztpQkFDZixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDVixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtvQkFDekMsV0FBVyxFQUFFLFNBQVM7b0JBQ3RCLFFBQVEsRUFBRSxJQUFJO2lCQUNmLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsSUFBUyxFQUFFLEdBQVc7UUFDcEMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbEI7YUFBTTtZQUNMLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztZQUNuQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3ZCLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLE9BQU8sQ0FBQztTQUNoQjtJQUNILENBQUM7K0dBckRVLGdDQUFnQzttR0FBaEMsZ0NBQWdDLHlLQ1Q3QywrekJBNEJBOzs0RkRuQmEsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLDRCQUE0QjswR0FLWCxJQUFJO3NCQUE5QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDZixvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE5pcmFTbmFja0JhclNlcnZpY2UgfSBmcm9tICduaXJhLXNuYWNrLWJhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvcmUtdGFibGUtc2VsZWN0b3ItY29sdW1uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtdGFibGUtc2VsZWN0b3ItY29sdW1uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb3JlVGFibGVTZWxlY3RvckNvbHVtbkNvbXBvbmVudCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGRhdGEhOiBhbnk7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbHVtbiE6IGFueTtcbiAgQE91dHB1dCgpIG9uQ29sdW1uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjYW5FZGl0ID0gZmFsc2U7XG4gIHZhbHVlOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuaXJhU25hY2tCYXI6IE5pcmFTbmFja0JhclNlcnZpY2UpIHt9XG5cbiAgb25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSBldmVudDtcbiAgfVxuXG4gIHNldFZhbHVlKCkge1xuICAgIGNvbnN0IG5ld0RhdGEgPSBjbG9uZURlZXAodGhpcy5kYXRhKTtcbiAgICBuZXdEYXRhW3RoaXMuY29sdW1uLmtleV0gPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMub25Db2x1bW5WYWx1ZUNoYW5nZWQuZW1pdChuZXdEYXRhKTtcbiAgICB0aGlzLmNhbkVkaXQgPSBmYWxzZTtcbiAgfVxuXG4gIG9uVGV4dENvbHVtbkNsaWNrZWQoY29sdW1uOiBhbnksIGRhdGE6IHN0cmluZywgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuY3RybEtleSAmJiBjb2x1bW4uZWRpdGFibGUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBkYXRhO1xuICAgICAgdGhpcy5jYW5FZGl0ID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGNvbHVtbi5jb3B5VG9DbGlwYm9hcmQpIHtcbiAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmRcbiAgICAgICAgLndyaXRlVGV4dChkYXRhKVxuICAgICAgICAudGhlbigoZSkgPT4ge1xuICAgICAgICAgIHRoaXMubmlyYVNuYWNrQmFyLnNob3coJ9io2Kcg2YXZiNmB2YLbjNiqINqp2b7bjCDYtNivJywge1xuICAgICAgICAgICAgc3RhdHVzQ2xhc3M6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGUpID0+IGNvbnNvbGUuZXJyb3IoZSkpO1xuICAgIH1cbiAgfVxuXG4gIGdldFNlbGVjdG9yRGF0YShkYXRhOiBhbnksIGtleTogc3RyaW5nKSB7XG4gICAgaWYgKCFrZXkpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3Qgc3BsaXQgPSBrZXkuc3BsaXQoJy4nKTtcbiAgICBpZiAoc3BsaXQubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4gZGF0YVtrZXldO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgbmV3RGF0YSA9IGRhdGE7XG4gICAgICBzcGxpdC5mb3JFYWNoKChuZXdLZXkpID0+IHtcbiAgICAgICAgbmV3RGF0YSA9IG5ld0RhdGFbbmV3S2V5XTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gbmV3RGF0YTtcbiAgICB9XG4gIH1cbn1cbiIsIjxzcGFuXG4gICpuZ0lmPVwiIWNhbkVkaXQgJiYgZGF0YVtjb2x1bW4ua2V5LnNwbGl0KCcuJylbMF1dXCJcbiAgW25nQ2xhc3NdPVwieyAnbW91c2UtZWRpdC1jdXJzb3InOiBjb2x1bW4uZWRpdGFibGUgfVwiXG4gIChjbGljayk9XCJvblRleHRDb2x1bW5DbGlja2VkKGNvbHVtbiwgZGF0YVtjb2x1bW4ua2V5XSwgJGV2ZW50KVwiXG4gID57e1xuICAgIGdldFNlbGVjdG9yRGF0YShkYXRhW2NvbHVtbi5rZXkuc3BsaXQoXCIuXCIpWzBdXSwgY29sdW1uLmRhdGEua2V5KVxuICAgICAgfCBwZXJzaWFuRGlnaXRzXG4gIH19PC9zcGFuXG4+XG5cbjxkaXYgY2xhc3M9XCJmbGV4XCIgKm5nSWY9XCJjYW5FZGl0XCI+XG4gIDxjb3JlLXNlbGVjdFxuICAgIGNsYXNzPVwiYmxvY2sgbXgtNCB3LTgwXCJcbiAgICBbdGl0bGVLZXldPVwiY29sdW1uLmRhdGEua2V5XCJcbiAgICBbdmFsdWVLZXldPVwiY29sdW1uLmRhdGEudmFsdWVcIlxuICAgIFtpdGVtc109XCJjb2x1bW4uZGF0YS5lZGl0YWJsZURhdGEgfCBhc3luY1wiXG4gICAgKG9uSXRlbVNlbGVjdGVkKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICA+PC9jb3JlLXNlbGVjdD5cblxuICA8Y2hlY2staWNvblxuICAgIChjbGljayk9XCJzZXRWYWx1ZSgpXCJcbiAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGlubGluZS1ibG9jayB3LTUgaC01IG0tMVwiXG4gID48L2NoZWNrLWljb24+XG4gIDxjbG9zZS1pY29uXG4gICAgKGNsaWNrKT1cImNhbkVkaXQgPSBmYWxzZVwiXG4gICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBpbmxpbmUtYmxvY2sgdy01IGgtNSBtLTFcIlxuICA+PC9jbG9zZS1pY29uPlxuPC9kaXY+XG4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4vY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4vY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7Ozs7OztBQVFuQyxNQUFNLE9BQU8sZ0NBQWdDO0lBUTNDLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUwzQyx5QkFBb0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV2RSxZQUFPLEdBQUcsS0FBSyxDQUFDO0lBR3dDLENBQUM7SUFFekQsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBVyxFQUFFLElBQVksRUFBRSxLQUFpQjtRQUM5RCxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNyQjthQUFNLElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRTtZQUNqQyxTQUFTLENBQUMsU0FBUztpQkFDaEIsU0FBUyxDQUFDLElBQUksQ0FBQztpQkFDZixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDVixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtvQkFDekMsV0FBVyxFQUFFLFNBQVM7b0JBQ3RCLFFBQVEsRUFBRSxJQUFJO2lCQUNmLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsSUFBUyxFQUFFLEdBQVc7UUFDcEMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbEI7YUFBTTtZQUNMLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztZQUNuQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3ZCLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLE9BQU8sQ0FBQztTQUNoQjtJQUNILENBQUM7K0dBckRVLGdDQUFnQzttR0FBaEMsZ0NBQWdDLHlLQ1Q3Qyx1M0JBNEJBOzs0RkRuQmEsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLDRCQUE0QjswR0FLWCxJQUFJO3NCQUE5QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDZixvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBOaXJhU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnbmlyYS1zbmFjay1iYXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb3JlLXRhYmxlLXNlbGVjdG9yLWNvbHVtbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtdGFibGUtc2VsZWN0b3ItY29sdW1uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb3JlLXRhYmxlLXNlbGVjdG9yLWNvbHVtbi5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlVGFibGVTZWxlY3RvckNvbHVtbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZGF0YSE6IGFueTtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb2x1bW4hOiBhbnk7XHJcbiAgQE91dHB1dCgpIG9uQ29sdW1uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY2FuRWRpdCA9IGZhbHNlO1xyXG4gIHZhbHVlOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmlyYVNuYWNrQmFyOiBOaXJhU25hY2tCYXJTZXJ2aWNlKSB7fVxyXG5cclxuICBvbkNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnZhbHVlID0gZXZlbnQ7XHJcbiAgfVxyXG5cclxuICBzZXRWYWx1ZSgpIHtcclxuICAgIGNvbnN0IG5ld0RhdGEgPSBjbG9uZURlZXAodGhpcy5kYXRhKTtcclxuICAgIG5ld0RhdGFbdGhpcy5jb2x1bW4ua2V5XSA9IHRoaXMudmFsdWU7XHJcbiAgICB0aGlzLm9uQ29sdW1uVmFsdWVDaGFuZ2VkLmVtaXQobmV3RGF0YSk7XHJcbiAgICB0aGlzLmNhbkVkaXQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uVGV4dENvbHVtbkNsaWNrZWQoY29sdW1uOiBhbnksIGRhdGE6IHN0cmluZywgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5jdHJsS2V5ICYmIGNvbHVtbi5lZGl0YWJsZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gZGF0YTtcclxuICAgICAgdGhpcy5jYW5FZGl0ID0gdHJ1ZTtcclxuICAgIH0gZWxzZSBpZiAoY29sdW1uLmNvcHlUb0NsaXBib2FyZCkge1xyXG4gICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkXHJcbiAgICAgICAgLndyaXRlVGV4dChkYXRhKVxyXG4gICAgICAgIC50aGVuKChlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm5pcmFTbmFja0Jhci5zaG93KCfYqNinINmF2YjZgdmC24zYqiDaqdm+24wg2LTYrycsIHtcclxuICAgICAgICAgICAgc3RhdHVzQ2xhc3M6ICdzdWNjZXNzJyxcclxuICAgICAgICAgICAgZHVyYXRpb246IDMwMDAsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaCgoZSkgPT4gY29uc29sZS5lcnJvcihlKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RvckRhdGEoZGF0YTogYW55LCBrZXk6IHN0cmluZykge1xyXG4gICAgaWYgKCFrZXkpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc3BsaXQgPSBrZXkuc3BsaXQoJy4nKTtcclxuICAgIGlmIChzcGxpdC5sZW5ndGggPT09IDEpIHtcclxuICAgICAgcmV0dXJuIGRhdGFba2V5XTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBuZXdEYXRhID0gZGF0YTtcclxuICAgICAgc3BsaXQuZm9yRWFjaCgobmV3S2V5KSA9PiB7XHJcbiAgICAgICAgbmV3RGF0YSA9IG5ld0RhdGFbbmV3S2V5XTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICByZXR1cm4gbmV3RGF0YTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHNwYW5cclxuICAqbmdJZj1cIiFjYW5FZGl0ICYmIGRhdGFbY29sdW1uLmtleS5zcGxpdCgnLicpWzBdXVwiXHJcbiAgW25nQ2xhc3NdPVwieyAnbW91c2UtZWRpdC1jdXJzb3InOiBjb2x1bW4uZWRpdGFibGUgfVwiXHJcbiAgKGNsaWNrKT1cIm9uVGV4dENvbHVtbkNsaWNrZWQoY29sdW1uLCBkYXRhW2NvbHVtbi5rZXldLCAkZXZlbnQpXCJcclxuICA+e3tcclxuICAgIGdldFNlbGVjdG9yRGF0YShkYXRhW2NvbHVtbi5rZXkuc3BsaXQoXCIuXCIpWzBdXSwgY29sdW1uLmRhdGEua2V5KVxyXG4gICAgICB8IHBlcnNpYW5EaWdpdHNcclxuICB9fTwvc3BhblxyXG4+XHJcblxyXG48ZGl2IGNsYXNzPVwiZmxleFwiICpuZ0lmPVwiY2FuRWRpdFwiPlxyXG4gIDxjb3JlLXNlbGVjdFxyXG4gICAgY2xhc3M9XCJibG9jayBteC00IHctODBcIlxyXG4gICAgW3RpdGxlS2V5XT1cImNvbHVtbi5kYXRhLmtleVwiXHJcbiAgICBbdmFsdWVLZXldPVwiY29sdW1uLmRhdGEudmFsdWVcIlxyXG4gICAgW2l0ZW1zXT1cImNvbHVtbi5kYXRhLmVkaXRhYmxlRGF0YSB8IGFzeW5jXCJcclxuICAgIChvbkl0ZW1TZWxlY3RlZCk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICA+PC9jb3JlLXNlbGVjdD5cclxuXHJcbiAgPGNoZWNrLWljb25cclxuICAgIChjbGljayk9XCJzZXRWYWx1ZSgpXCJcclxuICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgaW5saW5lLWJsb2NrIHctNSBoLTUgbS0xXCJcclxuICA+PC9jaGVjay1pY29uPlxyXG4gIDxjbG9zZS1pY29uXHJcbiAgICAoY2xpY2spPVwiY2FuRWRpdCA9IGZhbHNlXCJcclxuICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgaW5saW5lLWJsb2NrIHctNSBoLTUgbS0xXCJcclxuICA+PC9jbG9zZS1pY29uPlxyXG48L2Rpdj5cclxuIl19
@@ -31,11 +31,11 @@ export class CoreTableStatusColumnComponent {
31
31
  }
32
32
  }
33
33
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableStatusColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableStatusColumnComponent, selector: "app-core-table-status-column", inputs: { data: "data", column: "column" }, outputs: { onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<b\n [ngClass]=\"{\n active: data[column.key],\n deActive: !data[column.key],\n 'mouse-edit-cursor': column.editable\n }\"\n *ngIf=\"!canEdit\"\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\n>\n {{ data[column.key] ? \"\u0641\u0639\u0627\u0644\" : \"\u063A\u06CC\u0631 \u0641\u0639\u0627\u0644\" }}\n</b>\n\n<div class=\"flex\" *ngIf=\"canEdit\">\n <core-radio-buttons\n class=\"flex-1 min-width-radio\"\n [titleKey]=\"'title'\"\n [valueKey]=\"'value'\"\n [layout]=\"'row'\"\n [name]=\"'r1'\"\n [defaultValue]=\"data[column.key]\"\n [items]=\"radioButtonData\"\n (onChange)=\"onChange($event)\"\n >\n </core-radio-buttons>\n <check-icon\n (click)=\"setValue()\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></check-icon>\n <close-icon\n (click)=\"canEdit = false\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></close-icon>\n</div>\n", styles: [".active{background:var(--default-table-status-column-active-background-color);color:var(--default-table-status-column-active-text-color);border-radius:16px;padding:2px 12px;font-size:smaller}.deActive{color:var(--default-table-status-column-deActive-text-color);background:var(--default-table-status-column-deActive-background-color);border-radius:16px;padding:2px 12px;font-size:smaller}.min-width-radio{min-width:132px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CoreRadioButtonsComponent, selector: "core-radio-buttons", inputs: ["items", "defaultValue", "titleKey", "valueKey", "layout", "name"], outputs: ["onChange"] }, { kind: "component", type: i3.CheckIconComponent, selector: "check-icon" }, { kind: "component", type: i4.CloseIconComponent, selector: "close-icon" }] }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableStatusColumnComponent, selector: "app-core-table-status-column", inputs: { data: "data", column: "column" }, outputs: { onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<b\r\n [ngClass]=\"{\r\n active: data[column.key],\r\n deActive: !data[column.key],\r\n 'mouse-edit-cursor': column.editable\r\n }\"\r\n *ngIf=\"!canEdit\"\r\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\r\n>\r\n {{ data[column.key] ? \"\u0641\u0639\u0627\u0644\" : \"\u063A\u06CC\u0631 \u0641\u0639\u0627\u0644\" }}\r\n</b>\r\n\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <core-radio-buttons\r\n class=\"flex-1 min-width-radio\"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [layout]=\"'row'\"\r\n [name]=\"'r1'\"\r\n [defaultValue]=\"data[column.key]\"\r\n [items]=\"radioButtonData\"\r\n (onChange)=\"onChange($event)\"\r\n >\r\n </core-radio-buttons>\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n", styles: [".active{background:var(--default-table-status-column-active-background-color);color:var(--default-table-status-column-active-text-color);border-radius:16px;padding:2px 12px;font-size:smaller}.deActive{color:var(--default-table-status-column-deActive-text-color);background:var(--default-table-status-column-deActive-background-color);border-radius:16px;padding:2px 12px;font-size:smaller}.min-width-radio{min-width:132px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CoreRadioButtonsComponent, selector: "core-radio-buttons", inputs: ["items", "defaultValue", "titleKey", "valueKey", "layout", "name"], outputs: ["onChange"] }, { kind: "component", type: i3.CheckIconComponent, selector: "check-icon" }, { kind: "component", type: i4.CloseIconComponent, selector: "close-icon" }] }); }
35
35
  }
36
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableStatusColumnComponent, decorators: [{
37
37
  type: Component,
38
- args: [{ selector: 'app-core-table-status-column', template: "<b\n [ngClass]=\"{\n active: data[column.key],\n deActive: !data[column.key],\n 'mouse-edit-cursor': column.editable\n }\"\n *ngIf=\"!canEdit\"\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\n>\n {{ data[column.key] ? \"\u0641\u0639\u0627\u0644\" : \"\u063A\u06CC\u0631 \u0641\u0639\u0627\u0644\" }}\n</b>\n\n<div class=\"flex\" *ngIf=\"canEdit\">\n <core-radio-buttons\n class=\"flex-1 min-width-radio\"\n [titleKey]=\"'title'\"\n [valueKey]=\"'value'\"\n [layout]=\"'row'\"\n [name]=\"'r1'\"\n [defaultValue]=\"data[column.key]\"\n [items]=\"radioButtonData\"\n (onChange)=\"onChange($event)\"\n >\n </core-radio-buttons>\n <check-icon\n (click)=\"setValue()\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></check-icon>\n <close-icon\n (click)=\"canEdit = false\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></close-icon>\n</div>\n", styles: [".active{background:var(--default-table-status-column-active-background-color);color:var(--default-table-status-column-active-text-color);border-radius:16px;padding:2px 12px;font-size:smaller}.deActive{color:var(--default-table-status-column-deActive-text-color);background:var(--default-table-status-column-deActive-background-color);border-radius:16px;padding:2px 12px;font-size:smaller}.min-width-radio{min-width:132px}\n"] }]
38
+ args: [{ selector: 'app-core-table-status-column', template: "<b\r\n [ngClass]=\"{\r\n active: data[column.key],\r\n deActive: !data[column.key],\r\n 'mouse-edit-cursor': column.editable\r\n }\"\r\n *ngIf=\"!canEdit\"\r\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\r\n>\r\n {{ data[column.key] ? \"\u0641\u0639\u0627\u0644\" : \"\u063A\u06CC\u0631 \u0641\u0639\u0627\u0644\" }}\r\n</b>\r\n\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <core-radio-buttons\r\n class=\"flex-1 min-width-radio\"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [layout]=\"'row'\"\r\n [name]=\"'r1'\"\r\n [defaultValue]=\"data[column.key]\"\r\n [items]=\"radioButtonData\"\r\n (onChange)=\"onChange($event)\"\r\n >\r\n </core-radio-buttons>\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n", styles: [".active{background:var(--default-table-status-column-active-background-color);color:var(--default-table-status-column-active-text-color);border-radius:16px;padding:2px 12px;font-size:smaller}.deActive{color:var(--default-table-status-column-deActive-text-color);background:var(--default-table-status-column-deActive-background-color);border-radius:16px;padding:2px 12px;font-size:smaller}.min-width-radio{min-width:132px}\n"] }]
39
39
  }], propDecorators: { data: [{
40
40
  type: Input,
41
41
  args: [{ required: true }]
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
45
45
  }], onColumnValueChanged: [{
46
46
  type: Output
47
47
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS1zdGF0dXMtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLXRhYmxlL2NvcmUtdGFibGUtc3RhdHVzLWNvbHVtbi9jb3JlLXRhYmxlLXN0YXR1cy1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1zdGF0dXMtY29sdW1uL2NvcmUtdGFibGUtc3RhdHVzLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7OztBQU9uQyxNQUFNLE9BQU8sOEJBQThCO0lBTDNDO1FBUVkseUJBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkUsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLG9CQUFlLEdBQUc7WUFDaEIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDOUIsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7U0FDcEMsQ0FBQztLQWtCSDtJQWhCQyxRQUFRLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQy9DLENBQUM7SUFDRCxRQUFRO1FBQ04sTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFXLEVBQUUsSUFBYSxFQUFFLEtBQWlCO1FBQzNELElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQzsrR0EzQlUsOEJBQThCO21HQUE5Qiw4QkFBOEIsMktDUjNDLGs2QkFpQ0E7OzRGRHpCYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsOEJBQThCOzhCQUtiLElBQUk7c0JBQTlCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNmLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29yZS10YWJsZS1zdGF0dXMtY29sdW1uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtdGFibGUtc3RhdHVzLWNvbHVtbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvcmUtdGFibGUtc3RhdHVzLWNvbHVtbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb3JlVGFibGVTdGF0dXNDb2x1bW5Db21wb25lbnQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBkYXRhITogYW55O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb2x1bW4hOiBhbnk7XG4gIEBPdXRwdXQoKSBvbkNvbHVtblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY2FuRWRpdCA9IGZhbHNlO1xuICB2YWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuICByYWRpb0J1dHRvbkRhdGEgPSBbXG4gICAgeyB2YWx1ZTogdHJ1ZSwgdGl0bGU6ICfZgdi52KfZhCcgfSxcbiAgICB7IHZhbHVlOiBmYWxzZSwgdGl0bGU6ICfYutuM2LEg2YHYudin2YQnIH0sXG4gIF07XG5cbiAgb25DaGFuZ2UoZXZlbnQ6IHN0cmluZykge1xuICAgIHRoaXMudmFsdWUgPSBldmVudCA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG4gIHNldFZhbHVlKCkge1xuICAgIGNvbnN0IG5ld0RhdGEgPSBjbG9uZURlZXAodGhpcy5kYXRhKTtcbiAgICBuZXdEYXRhW3RoaXMuY29sdW1uLmtleV0gPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMub25Db2x1bW5WYWx1ZUNoYW5nZWQuZW1pdChuZXdEYXRhKTtcbiAgICB0aGlzLmNhbkVkaXQgPSBmYWxzZTtcbiAgfVxuXG4gIG9uQ29sdW1uQ2xpY2tlZChjb2x1bW46IGFueSwgZGF0YTogYm9vbGVhbiwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuY3RybEtleSAmJiBjb2x1bW4uZWRpdGFibGUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBkYXRhO1xuICAgICAgdGhpcy5jYW5FZGl0ID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICBhY3RpdmU6IGRhdGFbY29sdW1uLmtleV0sXG4gICAgZGVBY3RpdmU6ICFkYXRhW2NvbHVtbi5rZXldLFxuICAgICdtb3VzZS1lZGl0LWN1cnNvcic6IGNvbHVtbi5lZGl0YWJsZVxuICB9XCJcbiAgKm5nSWY9XCIhY2FuRWRpdFwiXG4gIChjbGljayk9XCJvbkNvbHVtbkNsaWNrZWQoY29sdW1uLCBkYXRhW2NvbHVtbi5rZXldLCAkZXZlbnQpXCJcbj5cbiAge3sgZGF0YVtjb2x1bW4ua2V5XSA/IFwi2YHYudin2YRcIiA6IFwi2LrbjNixINmB2LnYp9mEXCIgfX1cbjwvYj5cblxuPGRpdiBjbGFzcz1cImZsZXhcIiAqbmdJZj1cImNhbkVkaXRcIj5cbiAgPGNvcmUtcmFkaW8tYnV0dG9uc1xuICAgIGNsYXNzPVwiZmxleC0xIG1pbi13aWR0aC1yYWRpb1wiXG4gICAgW3RpdGxlS2V5XT1cIid0aXRsZSdcIlxuICAgIFt2YWx1ZUtleV09XCIndmFsdWUnXCJcbiAgICBbbGF5b3V0XT1cIidyb3cnXCJcbiAgICBbbmFtZV09XCIncjEnXCJcbiAgICBbZGVmYXVsdFZhbHVlXT1cImRhdGFbY29sdW1uLmtleV1cIlxuICAgIFtpdGVtc109XCJyYWRpb0J1dHRvbkRhdGFcIlxuICAgIChvbkNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICA8L2NvcmUtcmFkaW8tYnV0dG9ucz5cbiAgPGNoZWNrLWljb25cbiAgICAoY2xpY2spPVwic2V0VmFsdWUoKVwiXG4gICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBpbmxpbmUtYmxvY2sgdy01IGgtNSBtLTFcIlxuICA+PC9jaGVjay1pY29uPlxuICA8Y2xvc2UtaWNvblxuICAgIChjbGljayk9XCJjYW5FZGl0ID0gZmFsc2VcIlxuICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgaW5saW5lLWJsb2NrIHctNSBoLTUgbS0xXCJcbiAgPjwvY2xvc2UtaWNvbj5cbjwvZGl2PlxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS1zdGF0dXMtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLXRhYmxlL2NvcmUtdGFibGUtc3RhdHVzLWNvbHVtbi9jb3JlLXRhYmxlLXN0YXR1cy1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1zdGF0dXMtY29sdW1uL2NvcmUtdGFibGUtc3RhdHVzLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7OztBQU9uQyxNQUFNLE9BQU8sOEJBQThCO0lBTDNDO1FBUVkseUJBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkUsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLG9CQUFlLEdBQUc7WUFDaEIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDOUIsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7U0FDcEMsQ0FBQztLQWtCSDtJQWhCQyxRQUFRLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQy9DLENBQUM7SUFDRCxRQUFRO1FBQ04sTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFXLEVBQUUsSUFBYSxFQUFFLEtBQWlCO1FBQzNELElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQzsrR0EzQlUsOEJBQThCO21HQUE5Qiw4QkFBOEIsMktDUjNDLG8rQkFpQ0E7OzRGRHpCYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsOEJBQThCOzhCQUtiLElBQUk7c0JBQTlCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNmLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jb3JlLXRhYmxlLXN0YXR1cy1jb2x1bW4nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3JlLXRhYmxlLXN0YXR1cy1jb2x1bW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvcmUtdGFibGUtc3RhdHVzLWNvbHVtbi5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZVRhYmxlU3RhdHVzQ29sdW1uQ29tcG9uZW50IHtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBkYXRhITogYW55O1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbHVtbiE6IGFueTtcclxuICBAT3V0cHV0KCkgb25Db2x1bW5WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjYW5FZGl0ID0gZmFsc2U7XHJcbiAgdmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICByYWRpb0J1dHRvbkRhdGEgPSBbXHJcbiAgICB7IHZhbHVlOiB0cnVlLCB0aXRsZTogJ9mB2LnYp9mEJyB9LFxyXG4gICAgeyB2YWx1ZTogZmFsc2UsIHRpdGxlOiAn2LrbjNixINmB2LnYp9mEJyB9LFxyXG4gIF07XHJcblxyXG4gIG9uQ2hhbmdlKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIHRoaXMudmFsdWUgPSBldmVudCA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuICBzZXRWYWx1ZSgpIHtcclxuICAgIGNvbnN0IG5ld0RhdGEgPSBjbG9uZURlZXAodGhpcy5kYXRhKTtcclxuICAgIG5ld0RhdGFbdGhpcy5jb2x1bW4ua2V5XSA9IHRoaXMudmFsdWU7XHJcbiAgICB0aGlzLm9uQ29sdW1uVmFsdWVDaGFuZ2VkLmVtaXQobmV3RGF0YSk7XHJcbiAgICB0aGlzLmNhbkVkaXQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uQ29sdW1uQ2xpY2tlZChjb2x1bW46IGFueSwgZGF0YTogYm9vbGVhbiwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5jdHJsS2V5ICYmIGNvbHVtbi5lZGl0YWJsZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gZGF0YTtcclxuICAgICAgdGhpcy5jYW5FZGl0ID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGJcclxuICBbbmdDbGFzc109XCJ7XHJcbiAgICBhY3RpdmU6IGRhdGFbY29sdW1uLmtleV0sXHJcbiAgICBkZUFjdGl2ZTogIWRhdGFbY29sdW1uLmtleV0sXHJcbiAgICAnbW91c2UtZWRpdC1jdXJzb3InOiBjb2x1bW4uZWRpdGFibGVcclxuICB9XCJcclxuICAqbmdJZj1cIiFjYW5FZGl0XCJcclxuICAoY2xpY2spPVwib25Db2x1bW5DbGlja2VkKGNvbHVtbiwgZGF0YVtjb2x1bW4ua2V5XSwgJGV2ZW50KVwiXHJcbj5cclxuICB7eyBkYXRhW2NvbHVtbi5rZXldID8gXCLZgdi52KfZhFwiIDogXCLYutuM2LEg2YHYudin2YRcIiB9fVxyXG48L2I+XHJcblxyXG48ZGl2IGNsYXNzPVwiZmxleFwiICpuZ0lmPVwiY2FuRWRpdFwiPlxyXG4gIDxjb3JlLXJhZGlvLWJ1dHRvbnNcclxuICAgIGNsYXNzPVwiZmxleC0xIG1pbi13aWR0aC1yYWRpb1wiXHJcbiAgICBbdGl0bGVLZXldPVwiJ3RpdGxlJ1wiXHJcbiAgICBbdmFsdWVLZXldPVwiJ3ZhbHVlJ1wiXHJcbiAgICBbbGF5b3V0XT1cIidyb3cnXCJcclxuICAgIFtuYW1lXT1cIidyMSdcIlxyXG4gICAgW2RlZmF1bHRWYWx1ZV09XCJkYXRhW2NvbHVtbi5rZXldXCJcclxuICAgIFtpdGVtc109XCJyYWRpb0J1dHRvbkRhdGFcIlxyXG4gICAgKG9uQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gID5cclxuICA8L2NvcmUtcmFkaW8tYnV0dG9ucz5cclxuICA8Y2hlY2staWNvblxyXG4gICAgKGNsaWNrKT1cInNldFZhbHVlKClcIlxyXG4gICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBpbmxpbmUtYmxvY2sgdy01IGgtNSBtLTFcIlxyXG4gID48L2NoZWNrLWljb24+XHJcbiAgPGNsb3NlLWljb25cclxuICAgIChjbGljayk9XCJjYW5FZGl0ID0gZmFsc2VcIlxyXG4gICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBpbmxpbmUtYmxvY2sgdy01IGgtNSBtLTFcIlxyXG4gID48L2Nsb3NlLWljb24+XHJcbjwvZGl2PlxyXG4iXX0=