raise-common-lib-new 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +24 -0
  2. package/esm2022/lib/common-grid/index.component.mjs +439 -0
  3. package/esm2022/lib/constant/index.mjs +11 -0
  4. package/esm2022/lib/float-box/index.component.mjs +217 -0
  5. package/esm2022/lib/form/checkbox-group/index.component.mjs +57 -0
  6. package/esm2022/lib/form/radio-group/index.component.mjs +42 -0
  7. package/esm2022/lib/form/switch-input/index.component.mjs +42 -0
  8. package/esm2022/lib/form/tag-input/index.component.mjs +62 -0
  9. package/esm2022/lib/layout/common-list/index.component.mjs +43 -0
  10. package/esm2022/lib/layout/main-container/index.component.mjs +18 -0
  11. package/esm2022/lib/layout/rs-aside/index.component.mjs +31 -0
  12. package/esm2022/lib/layout/rs-footer/index.component.mjs +16 -0
  13. package/esm2022/lib/layout/rs-header/index.component.mjs +47 -0
  14. package/esm2022/lib/raise-common-lib.module.mjs +385 -0
  15. package/esm2022/lib/service/common-function.service.mjs +17 -0
  16. package/esm2022/lib/service/icon-loader.service.mjs +20 -0
  17. package/esm2022/public-api.mjs +18 -0
  18. package/esm2022/raise-common-lib-new.mjs +5 -0
  19. package/fesm2022/raise-common-lib-new.mjs +1391 -0
  20. package/fesm2022/raise-common-lib-new.mjs.map +1 -0
  21. package/index.d.ts +5 -0
  22. package/lib/common-grid/index.component.d.ts +119 -0
  23. package/lib/constant/index.d.ts +54 -0
  24. package/lib/float-box/index.component.d.ts +33 -0
  25. package/lib/form/checkbox-group/index.component.d.ts +22 -0
  26. package/lib/form/radio-group/index.component.d.ts +19 -0
  27. package/lib/form/switch-input/index.component.d.ts +15 -0
  28. package/lib/form/tag-input/index.component.d.ts +19 -0
  29. package/lib/layout/common-list/index.component.d.ts +15 -0
  30. package/lib/layout/main-container/index.component.d.ts +8 -0
  31. package/lib/layout/rs-aside/index.component.d.ts +14 -0
  32. package/lib/layout/rs-footer/index.component.d.ts +8 -0
  33. package/lib/layout/rs-header/index.component.d.ts +21 -0
  34. package/lib/raise-common-lib.module.d.ts +35 -0
  35. package/lib/service/common-function.service.d.ts +7 -0
  36. package/lib/service/icon-loader.service.d.ts +9 -0
  37. package/package.json +25 -0
  38. package/public-api.d.ts +14 -0
  39. package/src/assets/img/arrow_right.svg +4 -0
  40. package/src/assets/img/calendar.svg +6 -0
  41. package/src/assets/img/calendar_arrow_left.svg +3 -0
  42. package/src/assets/img/calendar_arrow_right.svg +3 -0
  43. package/src/assets/img/checked-vector.svg +3 -0
  44. package/src/assets/img/delete.svg +14 -0
  45. package/src/assets/img/dropdown-arrow-disabled.svg +3 -0
  46. package/src/assets/img/dropdown-arrow.svg +3 -0
  47. package/src/assets/img/export.svg +5 -0
  48. package/src/assets/img/notification-close.svg +4 -0
  49. package/src/assets/img/notification-collapse.svg +14 -0
  50. package/src/assets/img/notification-status-error.svg +5 -0
  51. package/src/assets/img/notification-status-loading.svg +9 -0
  52. package/src/assets/img/notification-status-success.svg +4 -0
  53. package/src/assets/img/notification-status-warning.svg +5 -0
  54. package/src/assets/img/plus.svg +4 -0
  55. package/src/assets/img/raise_logo_main.svg +13 -0
  56. package/src/assets/img/search.svg +4 -0
  57. package/src/assets/img/tag-remove.svg +4 -0
  58. package/src/assets/img/toggle-menu-icon.svg +3 -0
  59. package/src/assets/style/reset/button.scss +119 -0
  60. package/src/assets/style/reset/dropdown.scss +514 -0
  61. package/src/assets/style/reset/input.scss +32 -0
  62. package/src/assets/style/style.scss +29 -0
  63. package/src/assets/style/syncfusion.min.css +1 -0
  64. package/src/assets/style/variables.scss +58 -0
package/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # CsLib
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project raise-common-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project raise-common-lib`.
8
+ > Note: Don't forget to add `--project raise-common-lib` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build raise-common-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build raise-common-lib`, go to the dist folder `cd dist/raise-common-lib` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test raise-common-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -0,0 +1,439 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@syncfusion/ej2-angular-grids";
5
+ import * as i3 from "@syncfusion/ej2-angular-charts";
6
+ export class CommonGridComponent {
7
+ ref;
8
+ grid;
9
+ showCheckBox = true;
10
+ loaded = true;
11
+ hiddenLoaded = false;
12
+ authorized = true; // Dataset是否授权,未授权则显示权限错误提示
13
+ // only use for local data pagination
14
+ selectedDiffKey = '';
15
+ gridHeight = '';
16
+ // 这玩意必填,不然filter columnChooser都会报错
17
+ gridId = 'grid';
18
+ resizeSettings = { mode: 'Auto' };
19
+ filterSettings = { type: 'Menu' };
20
+ template;
21
+ fields = [];
22
+ dataSource = [];
23
+ editSettings;
24
+ columnTemplate;
25
+ pageSettings;
26
+ allowPaging = true;
27
+ clipMode = 'EllipsisWithTooltip';
28
+ checkBoxWidth = 32; // col 数量过少的时候,check宽度会拉伸,这时候设置null
29
+ childGrid;
30
+ /**
31
+ * Sample: [
32
+ {
33
+ text: "Preview",
34
+ target: ".e-content",
35
+ id: "preview-icon",
36
+ iconCss: "preview",
37
+ },
38
+ {
39
+ text: "Download",
40
+ target: ".e-content",
41
+ id: "download-icon",
42
+ iconCss: "download",
43
+ }
44
+ ]
45
+ 用于定义row中 点击事件
46
+ */
47
+ contextMenuItems = [];
48
+ // @Input() selectionSettings = { checkboxOnly: true, type: "Multiple" };
49
+ selectionSettings = {
50
+ type: 'Multiple',
51
+ // persistSelection: true,
52
+ checkboxOnly: true,
53
+ };
54
+ alwaysShowCheckbox = false;
55
+ defaultRecord;
56
+ disableSystemRow = false; // 禁用IsSytem = true的整行
57
+ recordDoubleClick = new EventEmitter();
58
+ actionComplete = new EventEmitter();
59
+ rowSelected = new EventEmitter();
60
+ rowDeselected = new EventEmitter();
61
+ onContextMenu = new EventEmitter();
62
+ actionHandler = new EventEmitter();
63
+ queryCellInfo = new EventEmitter();
64
+ recordClick = new EventEmitter();
65
+ actionBegin = new EventEmitter();
66
+ rowDataBound = new EventEmitter();
67
+ dataBound = new EventEmitter();
68
+ exportQueryCellInfo = new EventEmitter();
69
+ rowSelecting = new EventEmitter();
70
+ selectId = [];
71
+ startPaging = false;
72
+ indexList = [];
73
+ className = 'grid-loading';
74
+ translation;
75
+ constructor(ref) {
76
+ this.ref = ref;
77
+ this.translation = JSON.parse(localStorage.getItem('translation'));
78
+ }
79
+ ngOnInit() {
80
+ if (this.hiddenLoaded)
81
+ this.className = '';
82
+ this.ref && this.ref.markForCheck();
83
+ }
84
+ trackByFn(index, item) {
85
+ return index; // or a unique identifier in your object
86
+ }
87
+ ngOnChanges(changes) {
88
+ if (changes.dataSource && changes.dataSource.currentValue) {
89
+ if (this.allowPaging &&
90
+ changes.dataSource.currentValue.length &&
91
+ !this.pageSettings) {
92
+ this.pageSettings =
93
+ changes.dataSource.currentValue.length > 9
94
+ ? {
95
+ pageSizes: ['All', '25', '50', '100'],
96
+ pageSize: 50,
97
+ }
98
+ : null;
99
+ }
100
+ }
101
+ }
102
+ _load() {
103
+ if (!this.authorized) {
104
+ this.grid.localeObj.localeStrings.EmptyRecord =
105
+ this.translation.YOU_DO_NOT_HAVE_THE_DATASET_PERMISSION ||
106
+ "You don't have the dataset permission to view the record.";
107
+ }
108
+ }
109
+ _dataBound(args) {
110
+ // 整个组件加载完成时的回调函数
111
+ var pagerContainer = document.querySelector('.e-pagercontainer');
112
+ if (pagerContainer) {
113
+ var linkElements = pagerContainer.querySelectorAll('.e-link');
114
+ linkElements.forEach(function (element) {
115
+ element.removeAttribute('href'); // SMP2-10310 删除分页器的href属性
116
+ });
117
+ }
118
+ if (this.selectedDiffKey) {
119
+ setTimeout(() => {
120
+ this.chooseRecords();
121
+ });
122
+ }
123
+ this.dataBound.emit(args);
124
+ }
125
+ _exportQueryCellInfo(args) {
126
+ this.exportQueryCellInfo.emit(args);
127
+ }
128
+ _recordDoubleClick($event) {
129
+ this.recordDoubleClick.emit($event);
130
+ }
131
+ /**
132
+ * [selectionSettings]="{ checkboxOnly: true }"
133
+ [showCheckBox]="true"
134
+ 控件使用时,必须配置上面两个属性,否则,全选会失效
135
+ */
136
+ _rowSelected($event) {
137
+ if (this.selectedDiffKey) {
138
+ if ($event.isHeaderCheckboxClicked && Array.isArray($event.data)) {
139
+ if ($event.data && $event.data.length) {
140
+ $event.data.forEach((item) => {
141
+ item.isSelected = true;
142
+ this.selectId.push(item);
143
+ });
144
+ this.dataSource.forEach((data) => {
145
+ $event.data.forEach((_data) => {
146
+ if (_data[this.selectedDiffKey] === data[this.selectedDiffKey]) {
147
+ data.isSelected = true;
148
+ }
149
+ });
150
+ });
151
+ }
152
+ }
153
+ else {
154
+ $event.data.isSelected = true;
155
+ this.selectId.push($event.data);
156
+ this.dataSource.forEach((data) => {
157
+ if (data[this.selectedDiffKey] === $event.data[this.selectedDiffKey]) {
158
+ data.isSelected = true;
159
+ }
160
+ });
161
+ }
162
+ this.ref && this.ref.markForCheck();
163
+ }
164
+ this.rowSelected.emit($event);
165
+ }
166
+ _rowDeselected($event) {
167
+ if (this.selectedDiffKey) {
168
+ if (this.startPaging) {
169
+ return;
170
+ }
171
+ if ($event.isHeaderCheckboxClicked && Array.isArray($event.data)) {
172
+ $event.data.forEach((item) => {
173
+ item.isSelected = false;
174
+ });
175
+ this.selectId = [];
176
+ this.dataSource.forEach((data) => {
177
+ $event.data.forEach((_data) => {
178
+ if (_data[this.selectedDiffKey] === data[this.selectedDiffKey]) {
179
+ data.isSelected = false;
180
+ }
181
+ });
182
+ });
183
+ }
184
+ else {
185
+ $event.data.isSelected = false;
186
+ this.selectId = this.selectId.filter((item) => item[this.selectedDiffKey] !== $event.data[this.selectedDiffKey]);
187
+ this.dataSource.forEach((data) => {
188
+ if (data[this.selectedDiffKey] === $event.data[this.selectedDiffKey]) {
189
+ data.isSelected = false;
190
+ }
191
+ });
192
+ }
193
+ this.ref && this.ref.markForCheck();
194
+ }
195
+ this.rowDeselected.emit($event);
196
+ }
197
+ _onContextMenu(args) {
198
+ this.onContextMenu.emit(args);
199
+ }
200
+ _actionBegin(args) {
201
+ if (this.selectedDiffKey &&
202
+ (args.requestType === 'paging' ||
203
+ args.requestType === 'searching' ||
204
+ args.requestType === 'filtering' ||
205
+ args.requestType === 'sorting')) {
206
+ this.startPaging = true;
207
+ }
208
+ this.actionBegin.emit(args);
209
+ }
210
+ search(keywords) {
211
+ this.grid.search(keywords);
212
+ }
213
+ selectRows(indexList) {
214
+ this.grid.selectRows(indexList);
215
+ }
216
+ selectRow(index) {
217
+ this.grid.selectRow(index);
218
+ }
219
+ getCurrentViewRecords() {
220
+ return this.grid.getCurrentViewRecords();
221
+ }
222
+ customiseCell($event) {
223
+ this.queryCellInfo.emit($event);
224
+ }
225
+ contextMenuOpen(args) {
226
+ const data = args.rowInfo.rowData;
227
+ if (!data) {
228
+ args.cancel = true;
229
+ return;
230
+ }
231
+ let enableItems = [];
232
+ let hideItems = [];
233
+ this.grid.contextMenuModule.contextMenu.refresh(); // 每次点击按钮弹窗前需再次初始化状态 否则不更新;
234
+ this.contextMenuItems.forEach((item) => {
235
+ // 用于处理部分按钮disabled的情况
236
+ if (item.disabled ||
237
+ (data.disableItem && data.disableItem.includes(item.iconCss))) {
238
+ enableItems.push(item.text);
239
+ // this.grid.contextMenuModule.contextMenu.enableItems(
240
+ // [item.text],
241
+ // false
242
+ // );
243
+ }
244
+ // 用于处理部分按钮需要hide的情况
245
+ if (item.isHide ||
246
+ (data.hideItem && data.hideItem.includes(item.iconCss))) {
247
+ hideItems.push(item.text);
248
+ // this.grid.contextMenuModule.contextMenu.hideItems(
249
+ // [item.text],
250
+ // false
251
+ // );
252
+ }
253
+ });
254
+ this.grid.contextMenuModule.contextMenu.enableItems(enableItems, false);
255
+ this.grid.contextMenuModule.contextMenu.hideItems(hideItems, false);
256
+ }
257
+ _actionHandler($event) {
258
+ if (this.selectedDiffKey &&
259
+ ($event.requestType === 'paging' ||
260
+ $event.requestType === 'searching' ||
261
+ $event.requestType === 'filtering' ||
262
+ $event.requestType === 'sorting')) {
263
+ this.indexList = [];
264
+ setTimeout(() => {
265
+ this.chooseRecords();
266
+ this.startPaging = false;
267
+ this.ref && this.ref.detectChanges();
268
+ this.ref && this.ref.markForCheck();
269
+ });
270
+ }
271
+ this.actionHandler.emit($event);
272
+ this.actionComplete.emit($event);
273
+ }
274
+ chooseRecords() {
275
+ this.indexList = [];
276
+ this.dataSource.forEach((data) => {
277
+ this.grid.getCurrentViewRecords().forEach((row, i) => {
278
+ if (row &&
279
+ data[this.selectedDiffKey] === row[this.selectedDiffKey] &&
280
+ data.isSelected) {
281
+ this.indexList.push(i);
282
+ }
283
+ });
284
+ });
285
+ this.grid.selectRows(this.indexList);
286
+ }
287
+ _recordClick($event) {
288
+ this.recordClick.emit($event);
289
+ }
290
+ refresh() {
291
+ this.grid.refresh();
292
+ }
293
+ _rowSelecting(e) {
294
+ this.rowSelecting.emit(e);
295
+ }
296
+ refreshColumns() {
297
+ this.grid.refreshColumns();
298
+ }
299
+ refreshHeader() {
300
+ this.grid.refreshHeader();
301
+ }
302
+ export(excelExportProperties) {
303
+ this.grid.excelExport(excelExportProperties);
304
+ }
305
+ getSelectedRecords() {
306
+ return this.grid.getSelectedRecords();
307
+ }
308
+ _rowDataBound($event) {
309
+ if (this.disableSystemRow && $event.data && $event.data.IsSystem) {
310
+ $event.row.classList.add('e-disabled');
311
+ }
312
+ this.rowDataBound.emit($event);
313
+ }
314
+ clearSelection() {
315
+ this.grid.clearSelection();
316
+ }
317
+ excelExport() {
318
+ this.grid.excelExport();
319
+ }
320
+ addItem() {
321
+ this.grid.addRecord({ ...this.defaultRecord, isNew: true }, 0);
322
+ setTimeout(() => {
323
+ this.grid.selectRow(0);
324
+ this.grid.startEdit();
325
+ }, 30);
326
+ }
327
+ saveItem() {
328
+ this.grid.endEdit();
329
+ }
330
+ editItem(index) {
331
+ setTimeout(() => {
332
+ this.grid.selectRow(Number(index));
333
+ this.grid.startEdit();
334
+ }, 30);
335
+ }
336
+ deleteItem(index) {
337
+ this.grid.selectRow(Number(index));
338
+ var selectedRecord = this.grid.getSelectedRecords()[0];
339
+ this.grid.deleteRecord(selectedRecord);
340
+ }
341
+ cancelItem(index) {
342
+ this.grid.closeEdit();
343
+ this.deleteItem(index);
344
+ }
345
+ showLoading() {
346
+ this.className = 'grid-loading';
347
+ this.ref && this.ref.markForCheck();
348
+ this.ref && this.ref.detectChanges();
349
+ }
350
+ hideLoading() {
351
+ this.className = '';
352
+ this.ref && this.ref.markForCheck();
353
+ this.ref && this.ref.detectChanges();
354
+ }
355
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonGridComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
356
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CommonGridComponent, selector: "rs-common-grid", inputs: { showCheckBox: "showCheckBox", loaded: "loaded", hiddenLoaded: "hiddenLoaded", authorized: "authorized", selectedDiffKey: "selectedDiffKey", gridHeight: "gridHeight", gridId: "gridId", resizeSettings: "resizeSettings", filterSettings: "filterSettings", template: "template", fields: "fields", dataSource: "dataSource", editSettings: "editSettings", columnTemplate: "columnTemplate", pageSettings: "pageSettings", allowPaging: "allowPaging", clipMode: "clipMode", checkBoxWidth: "checkBoxWidth", childGrid: "childGrid", contextMenuItems: "contextMenuItems", selectionSettings: "selectionSettings", alwaysShowCheckbox: "alwaysShowCheckbox", defaultRecord: "defaultRecord", disableSystemRow: "disableSystemRow" }, outputs: { recordDoubleClick: "recordDoubleClick", actionComplete: "actionComplete", rowSelected: "rowSelected", rowDeselected: "rowDeselected", onContextMenu: "onContextMenu", actionHandler: "actionHandler", queryCellInfo: "queryCellInfo", recordClick: "recordClick", actionBegin: "actionBegin", rowDataBound: "rowDataBound", dataBound: "dataBound", exportQueryCellInfo: "exportQueryCellInfo", rowSelecting: "rowSelecting" }, viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ejs-grid\r\n\t#grid\r\n\t[id]=\"gridId\"\r\n\t[ngClass]=\"{\r\n\t\t'hide-Check-box': !alwaysShowCheckbox,\r\n\t\t'grid-loading': className === 'grid-loading'\r\n\t}\"\r\n\t[dataSource]=\"dataSource\"\r\n\t[allowPaging]=\"allowPaging && pageSettings\"\r\n\t[allowResizing]=\"true\"\r\n\t[pageSettings]=\"pageSettings\"\r\n\t[showColumnMenu]=\"true\"\r\n\t[allowSorting]=\"true\"\r\n\t[allowFiltering]=\"true\"\r\n\t[allowExcelExport]=\"true\"\r\n\t[filterSettings]=\"filterSettings\"\r\n\t[resizeSettings]=\"resizeSettings\"\r\n\t[allowSelection]=\"true\"\r\n\t[editSettings]=\"editSettings\"\r\n\t[childGrid]=\"childGrid\"\r\n\t[contextMenuItems]=\"\r\n\t\tdataSource && dataSource.length ? contextMenuItems : null\r\n\t\"\r\n\t[selectionSettings]=\"selectionSettings\"\r\n\t(recordClick)=\"_recordClick($event)\"\r\n\t(recordDoubleClick)=\"_recordDoubleClick($event)\"\r\n\t(actionBegin)=\"_actionBegin($event)\"\r\n\t(actionComplete)=\"_actionHandler($event)\"\r\n\t(rowSelected)=\"_rowSelected($event)\"\r\n\t(rowDeselected)=\"_rowDeselected($event)\"\r\n\tstyle=\"border: none\"\r\n\t(contextMenuClick)=\"_onContextMenu($event)\"\r\n\t(contextMenuOpen)=\"contextMenuOpen($event)\"\r\n\t(queryCellInfo)=\"customiseCell($event)\"\r\n\t(dataBound)=\"_dataBound($event)\"\r\n\t(rowDataBound)=\"_rowDataBound($event)\"\r\n\t(rowSelecting)=\"_rowSelecting($event)\"\r\n\t(excelQueryCellInfo)=\"_exportQueryCellInfo($event)\"\r\n\t(load)=\"_load()\"\r\n>\r\n\t<e-columns>\r\n\t\t<e-column\r\n\t\t\t*ngIf=\"showCheckBox\"\r\n\t\t\ttype=\"checkbox\"\r\n\t\t\t[width]=\"checkBoxWidth\"\r\n\t\t\t[showColumnMenu]=\"false\"\r\n\t\t></e-column>\r\n\t\t<e-column\r\n\t\t\t*ngFor=\"let item of fields; trackBy: trackByFn\"\r\n\t\t\t[field]=\"item.columnName\"\r\n\t\t\t[filter]=\"item.filter ? item.filter : { type: 'CheckBox' }\"\r\n\t\t\t[customAttributes]=\"\r\n\t\t\t\titem.colName === 'entityUserList' ||\r\n\t\t\t\titem.colName === 'kycProgress'\r\n\t\t\t\t\t? { class: 'hideColumnFilterClass' }\r\n\t\t\t\t\t: {}\r\n\t\t\t\"\r\n\t\t\t[headerText]=\"item.columnDisplayName\"\r\n\t\t\t[textAlign]=\"item.textAlign\"\r\n\t\t\t[showColumnMenu]=\"item.showColumnMenu === undefined ? true : false\"\r\n\t\t\t[allowFiltering]=\"item.allowFiltering === undefined ? true : false\"\r\n\t\t\t[allowSorting]=\"item.allowSorting === undefined ? true : false\"\r\n\t\t\t[editType]=\"item.editType\"\r\n\t\t\t[validationRules]=\"item.validationRules\"\r\n\t\t\t[type]=\"item.dataType\"\r\n\t\t\t[width]=\"item.width\"\r\n\t\t\t[minWidth]=\"item.minWidth\"\r\n\t\t\t[format]=\"item.format\"\r\n\t\t\t[visible]=\"item.visible\"\r\n\t\t\t[template]=\"item.showTemplate ? columnTemplate : undefined\"\r\n\t\t\t[clipMode]=\"\r\n\t\t\t\titem.clipMode\r\n\t\t\t\t\t? item.clipMode\r\n\t\t\t\t\t: clipMode || 'EllipsisWithTooltip'\r\n\t\t\t\"\r\n\t\t\t[sortComparer]=\"item.dateComparer\"\r\n\t\t>\r\n\t\t</e-column>\r\n\t</e-columns>\r\n</ejs-grid>\r\n", styles: ["::ng-deep .e-grid{font-family:var(--rs-font-family);height:100%;display:flex;flex-direction:column}::ng-deep .e-grid .e-headercell{height:32px}::ng-deep .e-grid .e-headercell .e-headercelldiv{color:#44566c;font-family:Arial;font-size:var(--rs-grid-header-cell-font-size);font-weight:700;line-height:29px;height:29px}::ng-deep .e-grid .e-headercell .e-rhandler{border-right:0!important}::ng-deep .e-grid .e-headercell .e-icons{color:#929dab!important;margin:-22px}::ng-deep .e-grid .e-headercell .e-checkbox-wrapper .e-icons{margin:0}::ng-deep .e-grid .e-headercell .e-checkbox-wrapper .e-icons.e-check,::ng-deep .e-grid .e-headercell .e-checkbox-wrapper .e-icons.e-stop{color:#fff!important;background-color:var(--rs-active-color);border-color:var(--rs-active-color)}::ng-deep .e-grid .e-gridheader{border-bottom-color:transparent}::ng-deep .e-grid .e-gridheader .e-fltr-icon .e-sortfilterdiv{color:#929dab!important;font-size:13px!important;margin:-31px 10px -29px 0}::ng-deep .e-grid .e-rowcell{padding:2px 8px 3px}::ng-deep .e-grid .e-rowcell:not(.e-editedbatchcell):not(.e-updatedtd){color:var(--rs-text-color);font-family:Arial;font-size:var(--rs-grid-row-cell-font-size);font-weight:400;line-height:23px}::ng-deep .e-grid .e-rowcell.e-active{background:#1f7bff14}::ng-deep .e-grid .e-rowcell .e-checkbox-wrapper .e-icons.e-check{color:#fff!important;background-color:var(--rs-active-color);border-color:var(--rs-active-color)}::ng-deep .e-grid .e-row:not(.e-disable-gridhover):not(.e-editedrow):not(.e-detailrow):hover .e-rowcell:not(.e-cellselectionbackground):not(.e-active):not(.e-updatedtd):not(.e-indentcell){background-color:var(--rs-grid-row-hover-bg)!important}::ng-deep .e-grid .e-row:not(.e-disable-gridhover):not(.e-editedrow):not(.e-detailrow):hover .e-rowcell.e-active:not(.e-cellselectionbackground):not(.e-updatedtd):not(.e-indentcell){background-color:#1f7bff1f!important}::ng-deep .e-grid .e-focused:not(.e-menu-item):not(.e-editedbatchcell){box-shadow:none!important}::ng-deep .e-grid .e-gridcontent{flex:1;height:0}::ng-deep .e-grid .e-gridcontent .e-content{height:100%!important;overflow:auto}::ng-deep .e-pager{padding:12px 0;height:48px;font-family:Arial}::ng-deep .e-pager .e-pp,::ng-deep .e-pager .e-pp:hover,::ng-deep .e-pager .e-np,::ng-deep .e-pager .e-np:hover,::ng-deep .e-pager .e-parentmsgbar{padding:0!important}::ng-deep .e-pager .e-icons{padding:5px!important;min-width:20px!important;border:0!important}::ng-deep .e-pager .e-pagercontainer,::ng-deep .e-pager .e-parentmsgbar{height:24px;line-height:24px;border:0;color:#929dab;font-size:10px}::ng-deep .e-pager .e-numericitem{min-width:24px;width:24px;height:24px;padding:0!important;line-height:24px!important;border:0;color:#6c7c90;font-size:12px}::ng-deep .e-pager .e-numericitem:hover{padding:0!important}::ng-deep .e-pager .e-numericitem.e-active{color:#1f3f5c;border-radius:6px;border:1px solid rgba(31,123,255,.66)}::ng-deep .e-pager .e-numericitem.e-focused{background:#fff!important;box-shadow:none!important}::ng-deep .e-pager .e-numericcontainer div{height:24px}::ng-deep .e-pager .e-numericcontainer .e-currentitem{padding:0;background:#fff}::ng-deep .e-pager .e-pagerconstant{margin:0 0 0 16px;line-height:24px;color:#929dab;font-size:11px}::ng-deep .e-pager div.e-icons.e-pager-default{color:#6b6b6b}::ng-deep .e-pager .e-icons:not(.e-btn-icon){color:#adb5bd}::ng-deep .e-pager .e-currentitem{font-size:11px;font-family:Arial}::ng-deep .e-pager .e-pagerdropdown{height:24px!important;margin-top:-14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GridComponent, selector: "ejs-grid", inputs: ["adaptiveUIMode", "aggregates", "allowExcelExport", "allowFiltering", "allowGrouping", "allowKeyboard", "allowMultiSorting", "allowPaging", "allowPdfExport", "allowReordering", "allowResizing", "allowRowDragAndDrop", "allowSelection", "allowSorting", "allowTextWrap", "autoFit", "childGrid", "clipMode", "columnChooserSettings", "columnMenuItems", "columnQueryMode", "columns", "contextMenuItems", "cssClass", "currencyCode", "currentAction", "currentViewData", "dataSource", "detailTemplate", "editSettings", "ej2StatePersistenceVersion", "emptyRecordTemplate", "enableAdaptiveUI", "enableAltRow", "enableAutoFill", "enableColumnVirtualization", "enableHeaderFocus", "enableHover", "enableHtmlSanitizer", "enableImmutableMode", "enableInfiniteScrolling", "enablePersistence", "enableRtl", "enableStickyHeader", "enableVirtualMaskRow", "enableVirtualization", "exportGrids", "filterSettings", "frozenColumns", "frozenRows", "gridLines", "groupSettings", "height", "hierarchyPrintMode", "infiniteScrollSettings", "loadingIndicator", "locale", "pageSettings", "pagerTemplate", "parentDetails", "printMode", "query", "queryString", "resizeSettings", "rowDropSettings", "rowHeight", "rowRenderingMode", "rowTemplate", "searchSettings", "selectedRowIndex", "selectionSettings", "showColumnChooser", "showColumnMenu", "showHider", "sortSettings", "textWrapSettings", "toolbar", "toolbarTemplate", "width"], outputs: ["actionBegin", "actionComplete", "actionFailure", "batchAdd", "batchCancel", "batchDelete", "beforeAutoFill", "beforeBatchAdd", "beforeBatchDelete", "beforeBatchSave", "beforeCopy", "beforeDataBound", "beforeExcelExport", "beforeOpenAdaptiveDialog", "beforeOpenColumnChooser", "beforePaste", "beforePdfExport", "beforePrint", "beginEdit", "cellDeselected", "cellDeselecting", "cellEdit", "cellSave", "cellSaved", "cellSelected", "cellSelecting", "checkBoxChange", "columnDataStateChange", "columnDeselected", "columnDeselecting", "columnDrag", "columnDragStart", "columnDrop", "columnMenuClick", "columnMenuOpen", "columnSelected", "columnSelecting", "commandClick", "contextMenuClick", "contextMenuOpen", "created", "dataBound", "dataSourceChanged", "dataStateChange", "destroyed", "detailDataBound", "excelAggregateQueryCellInfo", "excelExportComplete", "excelHeaderQueryCellInfo", "excelQueryCellInfo", "exportDetailDataBound", "exportDetailTemplate", "exportGroupCaption", "headerCellInfo", "keyPressed", "lazyLoadGroupCollapse", "lazyLoadGroupExpand", "load", "pdfAggregateQueryCellInfo", "pdfExportComplete", "pdfHeaderQueryCellInfo", "pdfQueryCellInfo", "printComplete", "queryCellInfo", "recordClick", "recordDoubleClick", "resizeStart", "resizeStop", "resizing", "rowDataBound", "rowDeselected", "rowDeselecting", "rowDrag", "rowDragStart", "rowDragStartHelper", "rowDrop", "rowSelected", "rowSelecting", "toolbarClick", "dataSourceChange"] }, { kind: "directive", type: i2.ColumnDirective, selector: "ejs-grid>e-columns>e-column", inputs: ["allowEditing", "allowFiltering", "allowGrouping", "allowReordering", "allowResizing", "allowSearching", "allowSorting", "autoFit", "clipMode", "columns", "commands", "customAttributes", "dataSource", "defaultValue", "disableHtmlEncode", "displayAsCheckBox", "edit", "editTemplate", "editType", "enableGroupByFormat", "field", "filter", "filterBarTemplate", "filterTemplate", "foreignKeyField", "foreignKeyValue", "format", "formatter", "freeze", "headerTemplate", "headerText", "headerTextAlign", "headerValueAccessor", "hideAtMedia", "index", "isFrozen", "isIdentity", "isPrimaryKey", "lockColumn", "maxWidth", "minWidth", "showColumnMenu", "showInColumnChooser", "sortComparer", "template", "textAlign", "type", "uid", "validationRules", "valueAccessor", "visible", "width"] }, { kind: "directive", type: i2.ColumnsDirective, selector: "ejs-grid>e-columns" }, { kind: "directive", type: i2.AggregateColumnDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns>e-column", inputs: ["columnName", "customAggregate", "field", "footerTemplate", "format", "groupCaptionTemplate", "groupFooterTemplate", "type"] }, { kind: "directive", type: i2.AggregateColumnsDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns" }, { kind: "directive", type: i3.ColumnDirective, selector: "e-columns>e-column", inputs: ["border", "width"] }, { kind: "directive", type: i3.ColumnsDirective, selector: "ejs-chart>e-columns" }] });
357
+ }
358
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonGridComponent, decorators: [{
359
+ type: Component,
360
+ args: [{ selector: 'rs-common-grid', template: "<ejs-grid\r\n\t#grid\r\n\t[id]=\"gridId\"\r\n\t[ngClass]=\"{\r\n\t\t'hide-Check-box': !alwaysShowCheckbox,\r\n\t\t'grid-loading': className === 'grid-loading'\r\n\t}\"\r\n\t[dataSource]=\"dataSource\"\r\n\t[allowPaging]=\"allowPaging && pageSettings\"\r\n\t[allowResizing]=\"true\"\r\n\t[pageSettings]=\"pageSettings\"\r\n\t[showColumnMenu]=\"true\"\r\n\t[allowSorting]=\"true\"\r\n\t[allowFiltering]=\"true\"\r\n\t[allowExcelExport]=\"true\"\r\n\t[filterSettings]=\"filterSettings\"\r\n\t[resizeSettings]=\"resizeSettings\"\r\n\t[allowSelection]=\"true\"\r\n\t[editSettings]=\"editSettings\"\r\n\t[childGrid]=\"childGrid\"\r\n\t[contextMenuItems]=\"\r\n\t\tdataSource && dataSource.length ? contextMenuItems : null\r\n\t\"\r\n\t[selectionSettings]=\"selectionSettings\"\r\n\t(recordClick)=\"_recordClick($event)\"\r\n\t(recordDoubleClick)=\"_recordDoubleClick($event)\"\r\n\t(actionBegin)=\"_actionBegin($event)\"\r\n\t(actionComplete)=\"_actionHandler($event)\"\r\n\t(rowSelected)=\"_rowSelected($event)\"\r\n\t(rowDeselected)=\"_rowDeselected($event)\"\r\n\tstyle=\"border: none\"\r\n\t(contextMenuClick)=\"_onContextMenu($event)\"\r\n\t(contextMenuOpen)=\"contextMenuOpen($event)\"\r\n\t(queryCellInfo)=\"customiseCell($event)\"\r\n\t(dataBound)=\"_dataBound($event)\"\r\n\t(rowDataBound)=\"_rowDataBound($event)\"\r\n\t(rowSelecting)=\"_rowSelecting($event)\"\r\n\t(excelQueryCellInfo)=\"_exportQueryCellInfo($event)\"\r\n\t(load)=\"_load()\"\r\n>\r\n\t<e-columns>\r\n\t\t<e-column\r\n\t\t\t*ngIf=\"showCheckBox\"\r\n\t\t\ttype=\"checkbox\"\r\n\t\t\t[width]=\"checkBoxWidth\"\r\n\t\t\t[showColumnMenu]=\"false\"\r\n\t\t></e-column>\r\n\t\t<e-column\r\n\t\t\t*ngFor=\"let item of fields; trackBy: trackByFn\"\r\n\t\t\t[field]=\"item.columnName\"\r\n\t\t\t[filter]=\"item.filter ? item.filter : { type: 'CheckBox' }\"\r\n\t\t\t[customAttributes]=\"\r\n\t\t\t\titem.colName === 'entityUserList' ||\r\n\t\t\t\titem.colName === 'kycProgress'\r\n\t\t\t\t\t? { class: 'hideColumnFilterClass' }\r\n\t\t\t\t\t: {}\r\n\t\t\t\"\r\n\t\t\t[headerText]=\"item.columnDisplayName\"\r\n\t\t\t[textAlign]=\"item.textAlign\"\r\n\t\t\t[showColumnMenu]=\"item.showColumnMenu === undefined ? true : false\"\r\n\t\t\t[allowFiltering]=\"item.allowFiltering === undefined ? true : false\"\r\n\t\t\t[allowSorting]=\"item.allowSorting === undefined ? true : false\"\r\n\t\t\t[editType]=\"item.editType\"\r\n\t\t\t[validationRules]=\"item.validationRules\"\r\n\t\t\t[type]=\"item.dataType\"\r\n\t\t\t[width]=\"item.width\"\r\n\t\t\t[minWidth]=\"item.minWidth\"\r\n\t\t\t[format]=\"item.format\"\r\n\t\t\t[visible]=\"item.visible\"\r\n\t\t\t[template]=\"item.showTemplate ? columnTemplate : undefined\"\r\n\t\t\t[clipMode]=\"\r\n\t\t\t\titem.clipMode\r\n\t\t\t\t\t? item.clipMode\r\n\t\t\t\t\t: clipMode || 'EllipsisWithTooltip'\r\n\t\t\t\"\r\n\t\t\t[sortComparer]=\"item.dateComparer\"\r\n\t\t>\r\n\t\t</e-column>\r\n\t</e-columns>\r\n</ejs-grid>\r\n", styles: ["::ng-deep .e-grid{font-family:var(--rs-font-family);height:100%;display:flex;flex-direction:column}::ng-deep .e-grid .e-headercell{height:32px}::ng-deep .e-grid .e-headercell .e-headercelldiv{color:#44566c;font-family:Arial;font-size:var(--rs-grid-header-cell-font-size);font-weight:700;line-height:29px;height:29px}::ng-deep .e-grid .e-headercell .e-rhandler{border-right:0!important}::ng-deep .e-grid .e-headercell .e-icons{color:#929dab!important;margin:-22px}::ng-deep .e-grid .e-headercell .e-checkbox-wrapper .e-icons{margin:0}::ng-deep .e-grid .e-headercell .e-checkbox-wrapper .e-icons.e-check,::ng-deep .e-grid .e-headercell .e-checkbox-wrapper .e-icons.e-stop{color:#fff!important;background-color:var(--rs-active-color);border-color:var(--rs-active-color)}::ng-deep .e-grid .e-gridheader{border-bottom-color:transparent}::ng-deep .e-grid .e-gridheader .e-fltr-icon .e-sortfilterdiv{color:#929dab!important;font-size:13px!important;margin:-31px 10px -29px 0}::ng-deep .e-grid .e-rowcell{padding:2px 8px 3px}::ng-deep .e-grid .e-rowcell:not(.e-editedbatchcell):not(.e-updatedtd){color:var(--rs-text-color);font-family:Arial;font-size:var(--rs-grid-row-cell-font-size);font-weight:400;line-height:23px}::ng-deep .e-grid .e-rowcell.e-active{background:#1f7bff14}::ng-deep .e-grid .e-rowcell .e-checkbox-wrapper .e-icons.e-check{color:#fff!important;background-color:var(--rs-active-color);border-color:var(--rs-active-color)}::ng-deep .e-grid .e-row:not(.e-disable-gridhover):not(.e-editedrow):not(.e-detailrow):hover .e-rowcell:not(.e-cellselectionbackground):not(.e-active):not(.e-updatedtd):not(.e-indentcell){background-color:var(--rs-grid-row-hover-bg)!important}::ng-deep .e-grid .e-row:not(.e-disable-gridhover):not(.e-editedrow):not(.e-detailrow):hover .e-rowcell.e-active:not(.e-cellselectionbackground):not(.e-updatedtd):not(.e-indentcell){background-color:#1f7bff1f!important}::ng-deep .e-grid .e-focused:not(.e-menu-item):not(.e-editedbatchcell){box-shadow:none!important}::ng-deep .e-grid .e-gridcontent{flex:1;height:0}::ng-deep .e-grid .e-gridcontent .e-content{height:100%!important;overflow:auto}::ng-deep .e-pager{padding:12px 0;height:48px;font-family:Arial}::ng-deep .e-pager .e-pp,::ng-deep .e-pager .e-pp:hover,::ng-deep .e-pager .e-np,::ng-deep .e-pager .e-np:hover,::ng-deep .e-pager .e-parentmsgbar{padding:0!important}::ng-deep .e-pager .e-icons{padding:5px!important;min-width:20px!important;border:0!important}::ng-deep .e-pager .e-pagercontainer,::ng-deep .e-pager .e-parentmsgbar{height:24px;line-height:24px;border:0;color:#929dab;font-size:10px}::ng-deep .e-pager .e-numericitem{min-width:24px;width:24px;height:24px;padding:0!important;line-height:24px!important;border:0;color:#6c7c90;font-size:12px}::ng-deep .e-pager .e-numericitem:hover{padding:0!important}::ng-deep .e-pager .e-numericitem.e-active{color:#1f3f5c;border-radius:6px;border:1px solid rgba(31,123,255,.66)}::ng-deep .e-pager .e-numericitem.e-focused{background:#fff!important;box-shadow:none!important}::ng-deep .e-pager .e-numericcontainer div{height:24px}::ng-deep .e-pager .e-numericcontainer .e-currentitem{padding:0;background:#fff}::ng-deep .e-pager .e-pagerconstant{margin:0 0 0 16px;line-height:24px;color:#929dab;font-size:11px}::ng-deep .e-pager div.e-icons.e-pager-default{color:#6b6b6b}::ng-deep .e-pager .e-icons:not(.e-btn-icon){color:#adb5bd}::ng-deep .e-pager .e-currentitem{font-size:11px;font-family:Arial}::ng-deep .e-pager .e-pagerdropdown{height:24px!important;margin-top:-14px}\n"] }]
361
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { grid: [{
362
+ type: ViewChild,
363
+ args: ['grid', { static: false }]
364
+ }], showCheckBox: [{
365
+ type: Input
366
+ }], loaded: [{
367
+ type: Input
368
+ }], hiddenLoaded: [{
369
+ type: Input
370
+ }], authorized: [{
371
+ type: Input
372
+ }], selectedDiffKey: [{
373
+ type: Input
374
+ }], gridHeight: [{
375
+ type: Input
376
+ }], gridId: [{
377
+ type: Input
378
+ }], resizeSettings: [{
379
+ type: Input
380
+ }], filterSettings: [{
381
+ type: Input
382
+ }], template: [{
383
+ type: Input
384
+ }], fields: [{
385
+ type: Input
386
+ }], dataSource: [{
387
+ type: Input
388
+ }], editSettings: [{
389
+ type: Input
390
+ }], columnTemplate: [{
391
+ type: Input
392
+ }], pageSettings: [{
393
+ type: Input
394
+ }], allowPaging: [{
395
+ type: Input
396
+ }], clipMode: [{
397
+ type: Input
398
+ }], checkBoxWidth: [{
399
+ type: Input
400
+ }], childGrid: [{
401
+ type: Input
402
+ }], contextMenuItems: [{
403
+ type: Input
404
+ }], selectionSettings: [{
405
+ type: Input
406
+ }], alwaysShowCheckbox: [{
407
+ type: Input
408
+ }], defaultRecord: [{
409
+ type: Input
410
+ }], disableSystemRow: [{
411
+ type: Input
412
+ }], recordDoubleClick: [{
413
+ type: Output
414
+ }], actionComplete: [{
415
+ type: Output
416
+ }], rowSelected: [{
417
+ type: Output
418
+ }], rowDeselected: [{
419
+ type: Output
420
+ }], onContextMenu: [{
421
+ type: Output
422
+ }], actionHandler: [{
423
+ type: Output
424
+ }], queryCellInfo: [{
425
+ type: Output
426
+ }], recordClick: [{
427
+ type: Output
428
+ }], actionBegin: [{
429
+ type: Output
430
+ }], rowDataBound: [{
431
+ type: Output
432
+ }], dataBound: [{
433
+ type: Output
434
+ }], exportQueryCellInfo: [{
435
+ type: Output
436
+ }], rowSelecting: [{
437
+ type: Output
438
+ }] } });
439
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmFpc2UtY29tbW9uLWxpYi9zcmMvbGliL2NvbW1vbi1ncmlkL2luZGV4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JhaXNlLWNvbW1vbi1saWIvc3JjL2xpYi9jb21tb24tZ3JpZC9pbmRleC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdOLFNBQVMsR0FHVixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFXdkIsTUFBTSxPQUFPLG1CQUFtQjtJQTBFVjtJQXhFYixJQUFJLENBQWdCO0lBQ2xCLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDcEIsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNkLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDckIsVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLDJCQUEyQjtJQUN2RCxxQ0FBcUM7SUFDNUIsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUNyQixVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLG1DQUFtQztJQUMxQixNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ2hCLGNBQWMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNsQyxjQUFjLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDbEMsUUFBUSxDQUFNO0lBQ2QsTUFBTSxHQUFtQixFQUFFLENBQUM7SUFDNUIsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNoQixZQUFZLENBQUM7SUFDYixjQUFjLENBQW1CO0lBQ2pDLFlBQVksQ0FBQztJQUNiLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDbkIsUUFBUSxHQUFHLHFCQUFxQixDQUFDO0lBQ2pDLGFBQWEsR0FBRyxFQUFFLENBQUMsQ0FBQyxt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QUFsQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQW1CRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUtHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgR3JpZENvbXBvbmVudCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWdyaWRzJztcclxuXHJcbmltcG9ydCB7IEJlZm9yZU9wZW5DbG9zZUV2ZW50QXJncyB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWlucHV0cyc7XHJcbmltcG9ydCB7IElBY3Rpb25NZW51SXRlbSwgSUNvbHVtbkZpZWxkIH0gZnJvbSAnLi4vY29uc3RhbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdycy1jb21tb24tZ3JpZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2luZGV4LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbmRleC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbW9uR3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBAVmlld0NoaWxkKCdncmlkJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIGdyaWQ6IEdyaWRDb21wb25lbnQ7XHJcbiAgQElucHV0KCkgc2hvd0NoZWNrQm94ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBsb2FkZWQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGhpZGRlbkxvYWRlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGF1dGhvcml6ZWQgPSB0cnVlOyAvLyBEYXRhc2V05piv5ZCm5o6I5p2D77yM5pyq5o6I5p2D5YiZ5pi+56S65p2D6ZmQ6ZSZ6K+v5o+Q56S6XHJcbiAgLy8gb25seSB1c2UgZm9yIGxvY2FsIGRhdGEgcGFnaW5hdGlvblxyXG4gIEBJbnB1dCgpIHNlbGVjdGVkRGlmZktleSA9ICcnO1xyXG4gIEBJbnB1dCgpIGdyaWRIZWlnaHQgPSAnJztcclxuICAvLyDov5nnjqnmhI/lv4XloavvvIzkuI3nhLZmaWx0ZXIgY29sdW1uQ2hvb3NlcumDveS8muaKpemUmVxyXG4gIEBJbnB1dCgpIGdyaWRJZCA9ICdncmlkJztcclxuICBASW5wdXQoKSByZXNpemVTZXR0aW5ncyA9IHsgbW9kZTogJ0F1dG8nIH07XHJcbiAgQElucHV0KCkgZmlsdGVyU2V0dGluZ3MgPSB7IHR5cGU6ICdNZW51JyB9O1xyXG4gIEBJbnB1dCgpIHRlbXBsYXRlOiBhbnk7XHJcbiAgQElucHV0KCkgZmllbGRzOiBJQ29sdW1uRmllbGRbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGRhdGFTb3VyY2UgPSBbXTtcclxuICBASW5wdXQoKSBlZGl0U2V0dGluZ3M7XHJcbiAgQElucHV0KCkgY29sdW1uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgcGFnZVNldHRpbmdzO1xyXG4gIEBJbnB1dCgpIGFsbG93UGFnaW5nID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjbGlwTW9kZSA9ICdFbGxpcHNpc1dpdGhUb29sdGlwJztcclxuICBASW5wdXQoKSBjaGVja0JveFdpZHRoID0gMzI7IC8vIGNvbCDmlbDph4/ov4flsJHnmoTml7blgJnvvIxjaGVja+WuveW6puS8muaLieS8uO+8jOi/meaXtuWAmeiuvue9rm51bGxcclxuICBASW5wdXQoKSBjaGlsZEdyaWQ7XHJcblxyXG4gIC8qKlxyXG5cdCAqIFNhbXBsZTogW1xyXG5cdFx0XHR7XHJcblx0XHRcdFx0dGV4dDogXCJQcmV2aWV3XCIsXHJcblx0XHRcdFx0dGFyZ2V0OiBcIi5lLWNvbnRlbnRcIixcclxuXHRcdFx0XHRpZDogXCJwcmV2aWV3LWljb25cIixcclxuXHRcdFx0XHRpY29uQ3NzOiBcInByZXZpZXdcIixcclxuXHRcdFx0fSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHRleHQ6IFwiRG93bmxvYWRcIixcclxuXHRcdFx0XHR0YXJnZXQ6IFwiLmUtY29udGVudFwiLFxyXG5cdFx0XHRcdGlkOiBcImRvd25sb2FkLWljb25cIixcclxuXHRcdFx0XHRpY29uQ3NzOiBcImRvd25sb2FkXCIsXHJcblx0XHRcdH1cclxuXHRcdF1cclxuXHRcdOeUqOS6juWumuS5iXJvd+S4rSDngrnlh7vkuovku7ZcclxuXHQgKi9cclxuICBASW5wdXQoKSBjb250ZXh0TWVudUl0ZW1zOiBJQWN0aW9uTWVudUl0ZW1bXSA9IFtdO1xyXG4gIC8vIEBJbnB1dCgpIHNlbGVjdGlvblNldHRpbmdzID0geyBjaGVja2JveE9ubHk6IHRydWUsIHR5cGU6IFwiTXVsdGlwbGVcIiB9O1xyXG4gIEBJbnB1dCgpIHNlbGVjdGlvblNldHRpbmdzID0ge1xyXG4gICAgdHlwZTogJ011bHRpcGxlJyxcclxuICAgIC8vIHBlcnNpc3RTZWxlY3Rpb246IHRydWUsXHJcbiAgICBjaGVja2JveE9ubHk6IHRydWUsXHJcbiAgfTtcclxuICBASW5wdXQoKSBhbHdheXNTaG93Q2hlY2tib3g6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBkZWZhdWx0UmVjb3JkOiBhbnk7XHJcbiAgQElucHV0KCkgZGlzYWJsZVN5c3RlbVJvdzogYm9vbGVhbiA9IGZhbHNlOyAvLyDnpoHnlKhJc1N5dGVtID0gdHJ1ZeeahOaVtOihjFxyXG5cclxuICBAT3V0cHV0KCkgcmVjb3JkRG91YmxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGFjdGlvbkNvbXBsZXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSByb3dTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcm93RGVzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25Db250ZXh0TWVudSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgYWN0aW9uSGFuZGxlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcXVlcnlDZWxsSW5mbyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcmVjb3JkQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGFjdGlvbkJlZ2luID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSByb3dEYXRhQm91bmQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGRhdGFCb3VuZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZXhwb3J0UXVlcnlDZWxsSW5mbyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcm93U2VsZWN0aW5nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBzZWxlY3RJZCA9IFtdO1xyXG4gIHN0YXJ0UGFnaW5nID0gZmFsc2U7XHJcbiAgaW5kZXhMaXN0ID0gW107XHJcbiAgY2xhc3NOYW1lID0gJ2dyaWQtbG9hZGluZyc7XHJcblxyXG4gIHB1YmxpYyB0cmFuc2xhdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndHJhbnNsYXRpb24nKSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmhpZGRlbkxvYWRlZCkgdGhpcy5jbGFzc05hbWUgPSAnJztcclxuICAgIHRoaXMucmVmICYmIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUZuKGluZGV4LCBpdGVtKSB7XHJcbiAgICByZXR1cm4gaW5kZXg7IC8vIG9yIGEgdW5pcXVlIGlkZW50aWZpZXIgaW4geW91ciBvYmplY3RcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXMuZGF0YVNvdXJjZSAmJiBjaGFuZ2VzLmRhdGFTb3VyY2UuY3VycmVudFZhbHVlKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLmFsbG93UGFnaW5nICYmXHJcbiAgICAgICAgY2hhbmdlcy5kYXRhU291cmNlLmN1cnJlbnRWYWx1ZS5sZW5ndGggJiZcclxuICAgICAgICAhdGhpcy5wYWdlU2V0dGluZ3NcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5wYWdlU2V0dGluZ3MgPVxyXG4gICAgICAgICAgY2hhbmdlcy5kYXRhU291cmNlLmN1cnJlbnRWYWx1ZS5sZW5ndGggPiA5XHJcbiAgICAgICAgICAgID8ge1xyXG4gICAgICAgICAgICAgICAgcGFnZVNpemVzOiBbJ0FsbCcsICcyNScsICc1MCcsICcxMDAnXSxcclxuICAgICAgICAgICAgICAgIHBhZ2VTaXplOiA1MCxcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDogbnVsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2xvYWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuYXV0aG9yaXplZCkge1xyXG4gICAgICAodGhpcy5ncmlkLmxvY2FsZU9iaiBhcyBhbnkpLmxvY2FsZVN0cmluZ3MuRW1wdHlSZWNvcmQgPVxyXG4gICAgICAgIHRoaXMudHJhbnNsYXRpb24uWU9VX0RPX05PVF9IQVZFX1RIRV9EQVRBU0VUX1BFUk1JU1NJT04gfHxcclxuICAgICAgICBcIllvdSBkb24ndCBoYXZlIHRoZSBkYXRhc2V0IHBlcm1pc3Npb24gdG8gdmlldyB0aGUgcmVjb3JkLlwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2RhdGFCb3VuZChhcmdzOiBhbnkpIHtcclxuICAgIC8vIOaVtOS4que7hOS7tuWKoOi9veWujOaIkOaXtueahOWbnuiwg+WHveaVsFxyXG4gICAgdmFyIHBhZ2VyQ29udGFpbmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmUtcGFnZXJjb250YWluZXInKTtcclxuICAgIGlmIChwYWdlckNvbnRhaW5lcikge1xyXG4gICAgICB2YXIgbGlua0VsZW1lbnRzID0gcGFnZXJDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgnLmUtbGluaycpO1xyXG4gICAgICBsaW5rRWxlbWVudHMuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xyXG4gICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdocmVmJyk7IC8vIFNNUDItMTAzMTAg5Yig6Zmk5YiG6aG15Zmo55qEaHJlZuWxnuaAp1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkRGlmZktleSkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNob29zZVJlY29yZHMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGFCb3VuZC5lbWl0KGFyZ3MpO1xyXG4gIH1cclxuXHJcbiAgX2V4cG9ydFF1ZXJ5Q2VsbEluZm8oYXJncykge1xyXG4gICAgdGhpcy5leHBvcnRRdWVyeUNlbGxJbmZvLmVtaXQoYXJncyk7XHJcbiAgfVxyXG5cclxuICBfcmVjb3JkRG91YmxlQ2xpY2soJGV2ZW50KSB7XHJcbiAgICB0aGlzLnJlY29yZERvdWJsZUNsaWNrLmVtaXQoJGV2ZW50KTtcclxuICB9XHJcbiAgLyoqXHJcblx0ICogW3NlbGVjdGlvblNldHRpbmdzXT1cInsgY2hlY2tib3hPbmx5OiB0cnVlIH1cIlxyXG5cdCAgIFtzaG93Q2hlY2tCb3hdPVwidHJ1ZVwiXHJcblx0ICAg5o6n5Lu25L2/55So5pe277yM5b+F6aG76YWN572u5LiK6Z2i5Lik5Liq5bGe5oCn77yM5ZCm5YiZ77yM5YWo6YCJ5Lya5aSx5pWIXHJcblx0ICovXHJcbiAgX3Jvd1NlbGVjdGVkKCRldmVudCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREaWZmS2V5KSB7XHJcbiAgICAgIGlmICgkZXZlbnQuaXNIZWFkZXJDaGVja2JveENsaWNrZWQgJiYgQXJyYXkuaXNBcnJheSgkZXZlbnQuZGF0YSkpIHtcclxuICAgICAgICBpZiAoJGV2ZW50LmRhdGEgJiYgJGV2ZW50LmRhdGEubGVuZ3RoKSB7XHJcbiAgICAgICAgICAkZXZlbnQuZGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNTZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0SWQucHVzaChpdGVtKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLmZvckVhY2goKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgJGV2ZW50LmRhdGEuZm9yRWFjaCgoX2RhdGEpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoX2RhdGFbdGhpcy5zZWxlY3RlZERpZmZLZXldID09PSBkYXRhW3RoaXMuc2VsZWN0ZWREaWZmS2V5XSkge1xyXG4gICAgICAgICAgICAgICAgZGF0YS5pc1NlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgICRldmVudC5kYXRhLmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0SWQucHVzaCgkZXZlbnQuZGF0YSk7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmZvckVhY2goKGRhdGEpID0+IHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgZGF0YVt0aGlzLnNlbGVjdGVkRGlmZktleV0gPT09ICRldmVudC5kYXRhW3RoaXMuc2VsZWN0ZWREaWZmS2V5XVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGRhdGEuaXNTZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZWYgJiYgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJvd1NlbGVjdGVkLmVtaXQoJGV2ZW50KTtcclxuICB9XHJcblxyXG4gIF9yb3dEZXNlbGVjdGVkKCRldmVudCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREaWZmS2V5KSB7XHJcbiAgICAgIGlmICh0aGlzLnN0YXJ0UGFnaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICgkZXZlbnQuaXNIZWFkZXJDaGVja2JveENsaWNrZWQgJiYgQXJyYXkuaXNBcnJheSgkZXZlbnQuZGF0YSkpIHtcclxuICAgICAgICAkZXZlbnQuZGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNlbGVjdElkID0gW107XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmZvckVhY2goKGRhdGEpID0+IHtcclxuICAgICAgICAgICRldmVudC5kYXRhLmZvckVhY2goKF9kYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChfZGF0YVt0aGlzLnNlbGVjdGVkRGlmZktleV0gPT09IGRhdGFbdGhpcy5zZWxlY3RlZERpZmZLZXldKSB7XHJcbiAgICAgICAgICAgICAgZGF0YS5pc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgICRldmVudC5kYXRhLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNlbGVjdElkID0gdGhpcy5zZWxlY3RJZC5maWx0ZXIoXHJcbiAgICAgICAgICAoaXRlbSkgPT5cclxuICAgICAgICAgICAgaXRlbVt0aGlzLnNlbGVjdGVkRGlmZktleV0gIT09ICRldmVudC5kYXRhW3RoaXMuc2VsZWN0ZWREaWZmS2V5XVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmZvckVhY2goKGRhdGEpID0+IHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgZGF0YVt0aGlzLnNlbGVjdGVkRGlmZktleV0gPT09ICRldmVudC5kYXRhW3RoaXMuc2VsZWN0ZWREaWZmS2V5XVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGRhdGEuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVmICYmIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yb3dEZXNlbGVjdGVkLmVtaXQoJGV2ZW50KTtcclxuICB9XHJcblxyXG4gIF9vbkNvbnRleHRNZW51KGFyZ3MpIHtcclxuICAgIHRoaXMub25Db250ZXh0TWVudS5lbWl0KGFyZ3MpO1xyXG4gIH1cclxuXHJcbiAgX2FjdGlvbkJlZ2luKGFyZ3MpIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zZWxlY3RlZERpZmZLZXkgJiZcclxuICAgICAgKGFyZ3MucmVxdWVzdFR5cGUgPT09ICdwYWdpbmcnIHx8XHJcbiAgICAgICAgYXJncy5yZXF1ZXN0VHlwZSA9PT0gJ3NlYXJjaGluZycgfHxcclxuICAgICAgICBhcmdzLnJlcXVlc3RUeXBlID09PSAnZmlsdGVyaW5nJyB8fFxyXG4gICAgICAgIGFyZ3MucmVxdWVzdFR5cGUgPT09ICdzb3J0aW5nJylcclxuICAgICkge1xyXG4gICAgICB0aGlzLnN0YXJ0UGFnaW5nID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuYWN0aW9uQmVnaW4uZW1pdChhcmdzKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaChrZXl3b3Jkcykge1xyXG4gICAgdGhpcy5ncmlkLnNlYXJjaChrZXl3b3Jkcyk7XHJcbiAgfVxyXG4gIHNlbGVjdFJvd3MoaW5kZXhMaXN0OiBudW1iZXJbXSkge1xyXG4gICAgdGhpcy5ncmlkLnNlbGVjdFJvd3MoaW5kZXhMaXN0KTtcclxuICB9XHJcbiAgc2VsZWN0Um93KGluZGV4KSB7XHJcbiAgICB0aGlzLmdyaWQuc2VsZWN0Um93KGluZGV4KTtcclxuICB9XHJcbiAgZ2V0Q3VycmVudFZpZXdSZWNvcmRzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZ3JpZC5nZXRDdXJyZW50Vmlld1JlY29yZHMoKTtcclxuICB9XHJcblxyXG4gIGN1c3RvbWlzZUNlbGwoJGV2ZW50KSB7XHJcbiAgICB0aGlzLnF1ZXJ5Q2VsbEluZm8uZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgY29udGV4dE1lbnVPcGVuKGFyZ3M/OiBCZWZvcmVPcGVuQ2xvc2VFdmVudEFyZ3MpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGEgPSAoYXJncyBhcyBCZWZvcmVPcGVuQ2xvc2VFdmVudEFyZ3MgfCBhbnkpLnJvd0luZm8ucm93RGF0YTtcclxuICAgIGlmICghZGF0YSkge1xyXG4gICAgICBhcmdzLmNhbmNlbCA9IHRydWU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxldCBlbmFibGVJdGVtcyA9IFtdO1xyXG4gICAgbGV0IGhpZGVJdGVtcyA9IFtdO1xyXG4gICAgdGhpcy5ncmlkLmNvbnRleHRNZW51TW9kdWxlLmNvbnRleHRNZW51LnJlZnJlc2goKTsgLy8g5q+P5qyh54K55Ye75oyJ6ZKu5by556qX5YmN6ZyA5YaN5qyh5Yid5aeL5YyW54q25oCBIOWQpuWImeS4jeabtOaWsO+8m1xyXG4gICAgdGhpcy5jb250ZXh0TWVudUl0ZW1zLmZvckVhY2goKGl0ZW06IElBY3Rpb25NZW51SXRlbSkgPT4ge1xyXG4gICAgICAvLyDnlKjkuo7lpITnkIbpg6jliIbmjInpkq5kaXNhYmxlZOeahOaDheWGtVxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXRlbS5kaXNhYmxlZCB8fFxyXG4gICAgICAgIChkYXRhLmRpc2FibGVJdGVtICYmIGRhdGEuZGlzYWJsZUl0ZW0uaW5jbHVkZXMoaXRlbS5pY29uQ3NzKSlcclxuICAgICAgKSB7XHJcbiAgICAgICAgZW5hYmxlSXRlbXMucHVzaChpdGVtLnRleHQpO1xyXG4gICAgICAgIC8vIHRoaXMuZ3JpZC5jb250ZXh0TWVudU1vZHVsZS5jb250ZXh0TWVudS5lbmFibGVJdGVtcyhcclxuICAgICAgICAvLyBcdFtpdGVtLnRleHRdLFxyXG4gICAgICAgIC8vIFx0ZmFsc2VcclxuICAgICAgICAvLyApO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIOeUqOS6juWkhOeQhumDqOWIhuaMiemSrumcgOimgWhpZGXnmoTmg4XlhrVcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGl0ZW0uaXNIaWRlIHx8XHJcbiAgICAgICAgKGRhdGEuaGlkZUl0ZW0gJiYgZGF0YS5oaWRlSXRlbS5pbmNsdWRlcyhpdGVtLmljb25Dc3MpKVxyXG4gICAgICApIHtcclxuICAgICAgICBoaWRlSXRlbXMucHVzaChpdGVtLnRleHQpO1xyXG4gICAgICAgIC8vIHRoaXMuZ3JpZC5jb250ZXh0TWVudU1vZHVsZS5jb250ZXh0TWVudS5oaWRlSXRlbXMoXHJcbiAgICAgICAgLy8gXHRbaXRlbS50ZXh0XSxcclxuICAgICAgICAvLyBcdGZhbHNlXHJcbiAgICAgICAgLy8gKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmdyaWQuY29udGV4dE1lbnVNb2R1bGUuY29udGV4dE1lbnUuZW5hYmxlSXRlbXMoZW5hYmxlSXRlbXMsIGZhbHNlKTtcclxuICAgIHRoaXMuZ3JpZC5jb250ZXh0TWVudU1vZHVsZS5jb250ZXh0TWVudS5oaWRlSXRlbXMoaGlkZUl0ZW1zLCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBfYWN0aW9uSGFuZGxlcigkZXZlbnQpIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zZWxlY3RlZERpZmZLZXkgJiZcclxuICAgICAgKCRldmVudC5yZXF1ZXN0VHlwZSA9PT0gJ3BhZ2luZycgfHxcclxuICAgICAgICAkZXZlbnQucmVxdWVzdFR5cGUgPT09ICdzZWFyY2hpbmcnIHx8XHJcbiAgICAgICAgJGV2ZW50LnJlcXVlc3RUeXBlID09PSAnZmlsdGVyaW5nJyB8fFxyXG4gICAgICAgICRldmVudC5yZXF1ZXN0VHlwZSA9PT0gJ3NvcnRpbmcnKVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuaW5kZXhMaXN0ID0gW107XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2hvb3NlUmVjb3JkcygpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRQYWdpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJlZiAmJiB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgdGhpcy5yZWYgJiYgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3Rpb25IYW5kbGVyLmVtaXQoJGV2ZW50KTtcclxuICAgIHRoaXMuYWN0aW9uQ29tcGxldGUuZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaG9vc2VSZWNvcmRzKCkge1xyXG4gICAgdGhpcy5pbmRleExpc3QgPSBbXTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5mb3JFYWNoKChkYXRhKSA9PiB7XHJcbiAgICAgIHRoaXMuZ3JpZC5nZXRDdXJyZW50Vmlld1JlY29yZHMoKS5mb3JFYWNoKChyb3c6IGFueSwgaSkgPT4ge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHJvdyAmJlxyXG4gICAgICAgICAgZGF0YVt0aGlzLnNlbGVjdGVkRGlmZktleV0gPT09IHJvd1t0aGlzLnNlbGVjdGVkRGlmZktleV0gJiZcclxuICAgICAgICAgIGRhdGEuaXNTZWxlY3RlZFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy5pbmRleExpc3QucHVzaChpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5ncmlkLnNlbGVjdFJvd3ModGhpcy5pbmRleExpc3QpO1xyXG4gIH1cclxuXHJcbiAgX3JlY29yZENsaWNrKCRldmVudCkge1xyXG4gICAgdGhpcy5yZWNvcmRDbGljay5lbWl0KCRldmVudCk7XHJcbiAgfVxyXG4gIHJlZnJlc2goKSB7XHJcbiAgICB0aGlzLmdyaWQucmVmcmVzaCgpO1xyXG4gIH1cclxuICBfcm93U2VsZWN0aW5nKGUpIHtcclxuICAgIHRoaXMucm93U2VsZWN0aW5nLmVtaXQoZSk7XHJcbiAgfVxyXG4gIHJlZnJlc2hDb2x1bW5zKCkge1xyXG4gICAgdGhpcy5ncmlkLnJlZnJlc2hDb2x1bW5zKCk7XHJcbiAgfVxyXG4gIHJlZnJlc2hIZWFkZXIoKSB7XHJcbiAgICB0aGlzLmdyaWQucmVmcmVzaEhlYWRlcigpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0KGV4Y2VsRXhwb3J0UHJvcGVydGllcz8pIHtcclxuICAgIHRoaXMuZ3JpZC5leGNlbEV4cG9ydChleGNlbEV4cG9ydFByb3BlcnRpZXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRSZWNvcmRzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZ3JpZC5nZXRTZWxlY3RlZFJlY29yZHMoKTtcclxuICB9XHJcblxyXG4gIF9yb3dEYXRhQm91bmQoJGV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlU3lzdGVtUm93ICYmICRldmVudC5kYXRhICYmICRldmVudC5kYXRhLklzU3lzdGVtKSB7XHJcbiAgICAgICRldmVudC5yb3cuY2xhc3NMaXN0LmFkZCgnZS1kaXNhYmxlZCcpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yb3dEYXRhQm91bmQuZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJTZWxlY3Rpb24oKSB7XHJcbiAgICB0aGlzLmdyaWQuY2xlYXJTZWxlY3Rpb24oKTtcclxuICB9XHJcblxyXG4gIGV4Y2VsRXhwb3J0KCkge1xyXG4gICAgdGhpcy5ncmlkLmV4Y2VsRXhwb3J0KCk7XHJcbiAgfVxyXG5cclxuICBhZGRJdGVtKCkge1xyXG4gICAgdGhpcy5ncmlkLmFkZFJlY29yZCh7IC4uLnRoaXMuZGVmYXVsdFJlY29yZCwgaXNOZXc6IHRydWUgfSwgMCk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5ncmlkLnNlbGVjdFJvdygwKTtcclxuICAgICAgdGhpcy5ncmlkLnN0YXJ0RWRpdCgpO1xyXG4gICAgfSwgMzApO1xyXG4gIH1cclxuXHJcbiAgc2F2ZUl0ZW0oKSB7XHJcbiAgICB0aGlzLmdyaWQuZW5kRWRpdCgpO1xyXG4gIH1cclxuXHJcbiAgZWRpdEl0ZW0oaW5kZXgpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmdyaWQuc2VsZWN0Um93KE51bWJlcihpbmRleCkpO1xyXG4gICAgICB0aGlzLmdyaWQuc3RhcnRFZGl0KCk7XHJcbiAgICB9LCAzMCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVJdGVtKGluZGV4KSB7XHJcbiAgICB0aGlzLmdyaWQuc2VsZWN0Um93KE51bWJlcihpbmRleCkpO1xyXG4gICAgdmFyIHNlbGVjdGVkUmVjb3JkID0gdGhpcy5ncmlkLmdldFNlbGVjdGVkUmVjb3JkcygpWzBdIGFzIGFueTtcclxuICAgIHRoaXMuZ3JpZC5kZWxldGVSZWNvcmQoc2VsZWN0ZWRSZWNvcmQgYXMgc3RyaW5nKTtcclxuICB9XHJcblxyXG4gIGNhbmNlbEl0ZW0oaW5kZXgpIHtcclxuICAgIHRoaXMuZ3JpZC5jbG9zZUVkaXQoKTtcclxuICAgIHRoaXMuZGVsZXRlSXRlbShpbmRleCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0xvYWRpbmcoKSB7XHJcbiAgICB0aGlzLmNsYXNzTmFtZSA9ICdncmlkLWxvYWRpbmcnO1xyXG4gICAgdGhpcy5yZWYgJiYgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB0aGlzLnJlZiAmJiB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGlkZUxvYWRpbmcoKSB7XHJcbiAgICB0aGlzLmNsYXNzTmFtZSA9ICcnO1xyXG4gICAgdGhpcy5yZWYgJiYgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB0aGlzLnJlZiAmJiB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxlanMtZ3JpZFxyXG5cdCNncmlkXHJcblx0W2lkXT1cImdyaWRJZFwiXHJcblx0W25nQ2xhc3NdPVwie1xyXG5cdFx0J2hpZGUtQ2hlY2stYm94JzogIWFsd2F5c1Nob3dDaGVja2JveCxcclxuXHRcdCdncmlkLWxvYWRpbmcnOiBjbGFzc05hbWUgPT09ICdncmlkLWxvYWRpbmcnXHJcblx0fVwiXHJcblx0W2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXHJcblx0W2FsbG93UGFnaW5nXT1cImFsbG93UGFnaW5nICYmIHBhZ2VTZXR0aW5nc1wiXHJcblx0W2FsbG93UmVzaXppbmddPVwidHJ1ZVwiXHJcblx0W3BhZ2VTZXR0aW5nc109XCJwYWdlU2V0dGluZ3NcIlxyXG5cdFtzaG93Q29sdW1uTWVudV09XCJ0cnVlXCJcclxuXHRbYWxsb3dTb3J0aW5nXT1cInRydWVcIlxyXG5cdFthbGxvd0ZpbHRlcmluZ109XCJ0cnVlXCJcclxuXHRbYWxsb3dFeGNlbEV4cG9ydF09XCJ0cnVlXCJcclxuXHRbZmlsdGVyU2V0dGluZ3NdPVwiZmlsdGVyU2V0dGluZ3NcIlxyXG5cdFtyZXNpemVTZXR0aW5nc109XCJyZXNpemVTZXR0aW5nc1wiXHJcblx0W2FsbG93U2VsZWN0aW9uXT1cInRydWVcIlxyXG5cdFtlZGl0U2V0dGluZ3NdPVwiZWRpdFNldHRpbmdzXCJcclxuXHRbY2hpbGRHcmlkXT1cImNoaWxkR3JpZFwiXHJcblx0W2NvbnRleHRNZW51SXRlbXNdPVwiXHJcblx0XHRkYXRhU291cmNlICYmIGRhdGFTb3VyY2UubGVuZ3RoID8gY29udGV4dE1lbnVJdGVtcyA6IG51bGxcclxuXHRcIlxyXG5cdFtzZWxlY3Rpb25TZXR0aW5nc109XCJzZWxlY3Rpb25TZXR0aW5nc1wiXHJcblx0KHJlY29yZENsaWNrKT1cIl9yZWNvcmRDbGljaygkZXZlbnQpXCJcclxuXHQocmVjb3JkRG91YmxlQ2xpY2spPVwiX3JlY29yZERvdWJsZUNsaWNrKCRldmVudClcIlxyXG5cdChhY3Rpb25CZWdpbik9XCJfYWN0aW9uQmVnaW4oJGV2ZW50KVwiXHJcblx0KGFjdGlvbkNvbXBsZXRlKT1cIl9hY3Rpb25IYW5kbGVyKCRldmVudClcIlxyXG5cdChyb3dTZWxlY3RlZCk9XCJfcm93U2VsZWN0ZWQoJGV2ZW50KVwiXHJcblx0KHJvd0Rlc2VsZWN0ZWQpPVwiX3Jvd0Rlc2VsZWN0ZWQoJGV2ZW50KVwiXHJcblx0c3R5bGU9XCJib3JkZXI6IG5vbmVcIlxyXG5cdChjb250ZXh0TWVudUNsaWNrKT1cIl9vbkNvbnRleHRNZW51KCRldmVudClcIlxyXG5cdChjb250ZXh0TWVudU9wZW4pPVwiY29udGV4dE1lbnVPcGVuKCRldmVudClcIlxyXG5cdChxdWVyeUNlbGxJbmZvKT1cImN1c3RvbWlzZUNlbGwoJGV2ZW50KVwiXHJcblx0KGRhdGFCb3VuZCk9XCJfZGF0YUJvdW5kKCRldmVudClcIlxyXG5cdChyb3dEYXRhQm91bmQpPVwiX3Jvd0RhdGFCb3VuZCgkZXZlbnQpXCJcclxuXHQocm93U2VsZWN0aW5nKT1cIl9yb3dTZWxlY3RpbmcoJGV2ZW50KVwiXHJcblx0KGV4Y2VsUXVlcnlDZWxsSW5mbyk9XCJfZXhwb3J0UXVlcnlDZWxsSW5mbygkZXZlbnQpXCJcclxuXHQobG9hZCk9XCJfbG9hZCgpXCJcclxuPlxyXG5cdDxlLWNvbHVtbnM+XHJcblx0XHQ8ZS1jb2x1bW5cclxuXHRcdFx0Km5nSWY9XCJzaG93Q2hlY2tCb3hcIlxyXG5cdFx0XHR0eXBlPVwiY2hlY2tib3hcIlxyXG5cdFx0XHRbd2lkdGhdPVwiY2hlY2tCb3hXaWR0aFwiXHJcblx0XHRcdFtzaG93Q29sdW1uTWVudV09XCJmYWxzZVwiXHJcblx0XHQ+PC9lLWNvbHVtbj5cclxuXHRcdDxlLWNvbHVtblxyXG5cdFx0XHQqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWVsZHM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcblx0XHRcdFtmaWVsZF09XCJpdGVtLmNvbHVtbk5hbWVcIlxyXG5cdFx0XHRbZmlsdGVyXT1cIml0ZW0uZmlsdGVyID8gaXRlbS5maWx0ZXIgOiB7IHR5cGU6ICdDaGVja0JveCcgfVwiXHJcblx0XHRcdFtjdXN0b21BdHRyaWJ1dGVzXT1cIlxyXG5cdFx0XHRcdGl0ZW0uY29sTmFtZSA9PT0gJ2VudGl0eVVzZXJMaXN0JyB8fFxyXG5cdFx0XHRcdGl0ZW0uY29sTmFtZSA9PT0gJ2t5Y1Byb2dyZXNzJ1xyXG5cdFx0XHRcdFx0PyB7IGNsYXNzOiAnaGlkZUNvbHVtbkZpbHRlckNsYXNzJyB9XHJcblx0XHRcdFx0XHQ6IHt9XHJcblx0XHRcdFwiXHJcblx0XHRcdFtoZWFkZXJUZXh0XT1cIml0ZW0uY29sdW1uRGlzcGxheU5hbWVcIlxyXG5cdFx0XHRbdGV4dEFsaWduXT1cIml0ZW0udGV4dEFsaWduXCJcclxuXHRcdFx0W3Nob3dDb2x1bW5NZW51XT1cIml0ZW0uc2hvd0NvbHVtbk1lbnUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBmYWxzZVwiXHJcblx0XHRcdFthbGxvd0ZpbHRlcmluZ109XCJpdGVtLmFsbG93RmlsdGVyaW5nID09PSB1bmRlZmluZWQgPyB0cnVlIDogZmFsc2VcIlxyXG5cdFx0XHRbYWxsb3dTb3J0aW5nXT1cIml0ZW0uYWxsb3dTb3J0aW5nID09PSB1bmRlZmluZWQgPyB0cnVlIDogZmFsc2VcIlxyXG5cdFx0XHRbZWRpdFR5cGVdPVwiaXRlbS5lZGl0VHlwZVwiXHJcblx0XHRcdFt2YWxpZGF0aW9uUnVsZXNdPVwiaXRlbS52YWxpZGF0aW9uUnVsZXNcIlxyXG5cdFx0XHRbdHlwZV09XCJpdGVtLmRhdGFUeXBlXCJcclxuXHRcdFx0W3dpZHRoXT1cIml0ZW0ud2lkdGhcIlxyXG5cdFx0XHRbbWluV2lkdGhdPVwiaXRlbS5taW5XaWR0aFwiXHJcblx0XHRcdFtmb3JtYXRdPVwiaXRlbS5mb3JtYXRcIlxyXG5cdFx0XHRbdmlzaWJsZV09XCJpdGVtLnZpc2libGVcIlxyXG5cdFx0XHRbdGVtcGxhdGVdPVwiaXRlbS5zaG93VGVtcGxhdGUgPyBjb2x1bW5UZW1wbGF0ZSA6IHVuZGVmaW5lZFwiXHJcblx0XHRcdFtjbGlwTW9kZV09XCJcclxuXHRcdFx0XHRpdGVtLmNsaXBNb2RlXHJcblx0XHRcdFx0XHQ/IGl0ZW0uY2xpcE1vZGVcclxuXHRcdFx0XHRcdDogY2xpcE1vZGUgfHwgJ0VsbGlwc2lzV2l0aFRvb2x0aXAnXHJcblx0XHRcdFwiXHJcblx0XHRcdFtzb3J0Q29tcGFyZXJdPVwiaXRlbS5kYXRlQ29tcGFyZXJcIlxyXG5cdFx0PlxyXG5cdFx0PC9lLWNvbHVtbj5cclxuXHQ8L2UtY29sdW1ucz5cclxuPC9lanMtZ3JpZD5cclxuIl19
@@ -0,0 +1,11 @@
1
+ export var ButtonColorType;
2
+ (function (ButtonColorType) {
3
+ ButtonColorType["PRIMARY"] = "primary";
4
+ ButtonColorType["CANCEL"] = "cancel";
5
+ })(ButtonColorType || (ButtonColorType = {}));
6
+ var IconPosition;
7
+ (function (IconPosition) {
8
+ IconPosition["FRONT"] = "front";
9
+ IconPosition["BEHIND"] = "behind";
10
+ })(IconPosition || (IconPosition = {}));
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yYWlzZS1jb21tb24tbGliL3NyYy9saWIvY29uc3RhbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0NBLE1BQU0sQ0FBTixJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDMUIsc0NBQW1CLENBQUE7SUFDbkIsb0NBQWlCLENBQUE7QUFDbEIsQ0FBQyxFQUhXLGVBQWUsS0FBZixlQUFlLFFBRzFCO0FBRUQsSUFBSyxZQUdKO0FBSEQsV0FBSyxZQUFZO0lBQ2hCLCtCQUFlLENBQUE7SUFDZixpQ0FBaUIsQ0FBQTtBQUNsQixDQUFDLEVBSEksWUFBWSxLQUFaLFlBQVksUUFHaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZXh0TWVudUl0ZW1Nb2RlbCB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1ncmlkc1wiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQ29sdW1uRmllbGQge1xyXG5cdGNvbHVtbk5hbWU6IHN0cmluZztcclxuXHRjb2x1bW5EaXNwbGF5TmFtZTogc3RyaW5nO1xyXG5cdHZpc2libGU6IGJvb2xlYW47XHJcblx0LyoqXHJcblx0ICogc2FtcGxlOiB7IGNsYXNzOiAnaGlkZUNvbHVtbkZpbHRlckNsYXNzJyB9XHJcblx0ICog5Y+v5Lul6ICD6JmR5Zyo6YOo5YiG5oOF5Ya15LiL57uZY29sdW1u5aKe5YqgY2xhc3PnrYlhdHRyaWJ1dGVcclxuXHQgKi9cclxuXHRjdXN0b21BdHRyaWJ1dGVzPzogc3RyaW5nO1xyXG5cdC8vIOS4jeWhq+m7mOiupOaYr0xlZnRcclxuXHR0ZXh0QWxpZ24/OiBcIkxlZnRcIiB8IFwiUmlnaHRcIiB8IFwiQ2VudGVyXCI7XHJcblx0d2lkdGg/OiBudW1iZXI7XHJcblx0ZGF0YVR5cGU/OiBzdHJpbmc7XHJcblx0Zm9ybWF0Pzogc3RyaW5nO1xyXG5cdHRyYW5zbGF0aW9uQ29kZT86IHN0cmluZztcclxuXHRzaG93Q29sdW1uTWVudT86IGJvb2xlYW47XHJcblx0c2hvd1RlbXBsYXRlPzogYm9vbGVhbjtcclxuXHRhbGxvd0ZpbHRlcmluZz86IGJvb2xlYW47XHJcblx0YWxsb3dTb3J0aW5nPzogYm9vbGVhbjtcclxuXHRhbGxvd0VkaXRpbmc/OiBib29sZWFuO1xyXG5cdG1pbldpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xyXG5cdGVkaXRUeXBlPzogc3RyaW5nO1xyXG5cdGRyb3Bkb3duUGFyYW1zPzogYW55O1xyXG5cdGRhdGVDb21wYXJlcj86IGFueTtcclxuXHRzb3J0Q29tcGFyZXI/OiBhbnk7XHJcblx0Y2xpcE1vZGU/OiBzdHJpbmc7XHJcblx0ZmlsdGVyPzogYW55O1xyXG5cdGNvbE5hbWU/OiBzdHJpbmc7XHJcblx0dmFsaWRhdGlvblJ1bGVzPzogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElBY3Rpb25NZW51SXRlbSBleHRlbmRzIENvbnRleHRNZW51SXRlbU1vZGVsIHtcclxuXHRkaXNhYmxlZD86IGJvb2xlYW47XHJcblx0aXNIaWRlPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQnV0dG9uQ29sb3JUeXBlIHtcclxuXHRQUklNQVJZID0gXCJwcmltYXJ5XCIsXHJcblx0Q0FOQ0VMID0gXCJjYW5jZWxcIixcclxufVxyXG5cclxuZW51bSBJY29uUG9zaXRpb24ge1xyXG5cdEZST05UID0gXCJmcm9udFwiLFxyXG5cdEJFSElORCA9IFwiYmVoaW5kXCIsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUJ1dHRvbiB7XHJcblx0bGFiZWw6IHN0cmluZztcclxuXHR0eXBlPzogQnV0dG9uQ29sb3JUeXBlO1xyXG5cdGljb24/OiBzdHJpbmc7XHJcblx0aWNvblBvc2l0aW9uPzogSWNvblBvc2l0aW9uO1xyXG5cdGNhbGxNZXRob2Q/OiBzdHJpbmc7XHJcblx0dHJhbnNsYXRpb25Db2RlPzogc3RyaW5nO1xyXG5cdHZhbHVlPzogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERyYXdlckJ1dHRvbiBleHRlbmRzIEJhc2VCdXR0b24ge31cclxuIl19