@syncfusion/ej2-angular-treegrid 34.1.29-ngcc → 34.1.29

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 (37) hide show
  1. package/CHANGELOG.md +194 -0
  2. package/esm2020/public_api.mjs +2 -0
  3. package/esm2020/src/index.mjs +9 -0
  4. package/esm2020/src/treegrid/aggregate-columns.directive.mjs +72 -0
  5. package/esm2020/src/treegrid/aggregates.directive.mjs +69 -0
  6. package/esm2020/src/treegrid/columns.directive.mjs +100 -0
  7. package/esm2020/src/treegrid/stacked-column.directive.mjs +100 -0
  8. package/esm2020/src/treegrid/treegrid-all.module.mjs +89 -0
  9. package/esm2020/src/treegrid/treegrid.component.mjs +271 -0
  10. package/esm2020/src/treegrid/treegrid.module.mjs +61 -0
  11. package/esm2020/syncfusion-ej2-angular-treegrid.mjs +5 -0
  12. package/fesm2015/syncfusion-ej2-angular-treegrid.mjs +734 -0
  13. package/fesm2015/syncfusion-ej2-angular-treegrid.mjs.map +1 -0
  14. package/fesm2020/syncfusion-ej2-angular-treegrid.mjs +734 -0
  15. package/fesm2020/syncfusion-ej2-angular-treegrid.mjs.map +1 -0
  16. package/package.json +20 -7
  17. package/public_api.d.ts +1 -1
  18. package/src/index.d.ts +8 -8
  19. package/src/treegrid/aggregate-columns.directive.d.ts +91 -86
  20. package/src/treegrid/aggregates.directive.d.ts +49 -44
  21. package/src/treegrid/columns.directive.d.ts +338 -333
  22. package/src/treegrid/stacked-column.directive.d.ts +340 -335
  23. package/src/treegrid/treegrid-all.module.d.ts +33 -27
  24. package/src/treegrid/treegrid.component.d.ts +143 -140
  25. package/src/treegrid/treegrid.module.d.ts +15 -5
  26. package/syncfusion-ej2-angular-treegrid.d.ts +5 -0
  27. package/@syncfusion/ej2-angular-treegrid.es5.js +0 -818
  28. package/@syncfusion/ej2-angular-treegrid.es5.js.map +0 -1
  29. package/@syncfusion/ej2-angular-treegrid.js +0 -768
  30. package/@syncfusion/ej2-angular-treegrid.js.map +0 -1
  31. package/LICENSE +0 -10
  32. package/dist/ej2-angular-treegrid.umd.js +0 -999
  33. package/dist/ej2-angular-treegrid.umd.js.map +0 -1
  34. package/dist/ej2-angular-treegrid.umd.min.js +0 -11
  35. package/dist/ej2-angular-treegrid.umd.min.js.map +0 -1
  36. package/ej2-angular-treegrid.d.ts +0 -5
  37. package/ej2-angular-treegrid.metadata.json +0 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,194 @@
1
+ # Changelog
2
+
3
+ ## [Unreleased]
4
+
5
+ ### Tree Grid
6
+
7
+ #### Features
8
+
9
+ - The virtual scrolling has been significantly enhanced for smoothness. This ensures fluid vertical and horizontal transitions, providing a much smoother and more responsive experience during fast scrolling when `virtualization` is enabled.
10
+
11
+ #### Breaking changes
12
+
13
+ - Hover effects on selected rows are now consistent across all themes. The hover and selected colours are aligned, making hovered selected rows easier to recognize and improving visual feedback, usability, and consistency.
14
+
15
+ ## 20.2.36 (2022-06-30)
16
+
17
+ ### Tree Grid
18
+
19
+ #### Features
20
+
21
+ - Provided support for inline editing with virtualization enabled. Please find the demo [here](https://ej2.syncfusion.com/demos/#/bootstrap5/tree-grid/virtual-scrolling.html).
22
+ - `#I323425`, `#I332700`, `#I344742`, `#I375307` - Provided support for frozen column with virtualization enabled.
23
+
24
+ - `#I334966`, `#I373929`, `#I332693`, `#I342835`, `#F172606`, `#F171250`, `#F171248` - Provided row drag and drop support with virtualization feature enabled.
25
+ - `#I367483` - Provided support for row indent and outdent functionality. Please find the demo link [here](https://ej2.syncfusion.com/angular/demos/#/bootstrap5/treegrid/inlineediting).
26
+
27
+ ## 19.2.44 (2021-06-30)
28
+
29
+ ### Tree Grid
30
+
31
+ #### Bug Fixes
32
+
33
+ - `#332604` - Resolved white space issue while using less number of records with Virtualization.
34
+
35
+ - `#I329350` - Immutable mode works fine for date values and row reordering.
36
+ - `#I329988`, `#I331155` - Editing a newly added child record works fine with self referential data.
37
+
38
+ ## 18.4.30 (2020-12-17)
39
+
40
+ ### Tree Grid
41
+
42
+ #### New Features
43
+
44
+ - `#294082` - Provided Immutable Support to refresh specific rows while perform Tree Grid actions.
45
+ - `#283491` - Provided error handling support to easily rectify errors in sample side.
46
+ - `#298682`, `#299561` - Added getVisibleRecords API to get the visible records based on collapsed rows state.
47
+
48
+ #### Bug Fixes
49
+
50
+ - `#F157882`- After editing the row using `updateRow` method, `getCurrentViewRecords` method updated properly.
51
+ - `#F157882`- When editing with a double click, it works fine when we only have one record.
52
+ - `#289600` - Records get expanded properly after collapsing all records using `collapseAtLevel` method in observable binding.
53
+ - `#F157099` - Virtualization with Aggregates works fine with large number of records.
54
+ - `#296233` - Row Drag and Drop within treegrid works fine.
55
+ - `#297986` - Row Drag and drop within treegrid works fine with checkbox enabled.
56
+ - `#F158886` - Cell editing with frozen columns works fine.
57
+ - `#299761` - Treegrid column width renders fine in Internet Explorer when Virtualization is enabled.
58
+ - `#301861` - Tree Grid dataSource updated properly while using setCellValue method.
59
+ - `#F159697` - Order of child records are displayed correctly after editing in remote data binding.
60
+ - `292453` - Treegrid refresh method works fine after updating the data.
61
+
62
+ - `#289600` - Records get expanded properly after collapsing all records using `collapseAtLevel` method in observable binding.
63
+ - `#F157099` - Virtualization with Aggregates works fine with large number of records.
64
+ - `#297986` - Row Drag and drop within treegrid works fine with checkbox enabled.
65
+ - `#F158886` - Cell editing with frozen columns works fine.
66
+ - `#F159697` - Order of child records are displayed correctly after editing in remote data binding.
67
+
68
+ ## 18.3.35 (2020-10-01)
69
+
70
+ ### TreeGrid
71
+
72
+ #### Bug Fixes
73
+
74
+ - `#F157258` - `updateRow` method works fine for updating collapsed data.
75
+ - `#292933` - checkbox rendered properly while using the template column.
76
+ - `#289685` - Aggregate Column Formatting is working fine
77
+ - `#288542` - The Expand / Collapse icon has been rendered properly while enabling expand state mapping and adding a new record.
78
+ - `#287235` - While enabling expand state mapping the Expand / Collapse icon works fine at nested child levels.
79
+ - `#285434`- Column SortComparer function works fine with null values for RemoteSaveAdaptor datasource.
80
+ - `#284987`- Records rendered properly while using remote save adaptor in created event.
81
+ - `#285434`- Column SortComparer function works fine with null values in datasource.
82
+ - `#F155077`- Records rendered properly while using remote data with jQuery unobtrusive library.
83
+
84
+ - `#F157258` - `updateRow` method works fine for updating collapsed data.
85
+
86
+ ## 18.2.44 (2020-07-07)
87
+
88
+ ### TreeGrid
89
+
90
+ #### Bug Fixes
91
+
92
+ - `#279109` - Checkbox checked properly for child records in remote data.
93
+ - `#277364`, `#279732` - Checkbox with `allowRowDragAndDrop` property rendered properly after editing and cancelling in cell edit mode.
94
+ - `#277364` - Checkbox with `autoCheckHierarchy` property rendered properly after editing and cancelling in cell edit mode.
95
+ - `#278266` - Edit type `dropdownedit` is working properly in cell edit mode when enter key is pressed.
96
+ - `#272026` - `updateRow` method works fine for updating treegrid data source.
97
+ - `#273309` - Editing the zeroth level added record works fine in Batch mode.
98
+ - `#277361` - Auto generated columns work fine when two treegrids are rendered on the same page.
99
+
100
+ - `F153495` - Sorting after editing is working fine with cell edit mode.
101
+ - `#266963`- Drag and drop works fine in unordered list of data.
102
+ - `#F151795` - Localization support works fine in Add row, Above, Below Context Menu Items.
103
+ - `#F151795`- In Drag and drop, while dropping at first row, its border color is changed properly.
104
+
105
+ #### New Features
106
+
107
+ - `#258863`, `#271677` - Expand & Collapse child rows support has been provided in Excel Export.
108
+ - Columnchooser support has been provided that allows user to show or hide columns dynamically.
109
+ - Provided support for Editing with Virtualization feature.
110
+
111
+ #### Breaking Changes
112
+
113
+ - Now `data`, `row` these Tree Grid selection event arguments are get array values only when we perform multi selection. Please find modified event arguments and it types from the below table,
114
+
115
+ `Properties` |`Type`
116
+ -----|-----
117
+ `data` | `Object or Object[]`
118
+ `rowIndex` | `number`
119
+ `rowIndexes` | `number[]`
120
+ `row` | `Element or Element[]`
121
+
122
+ ## 17.4.39 (2019-12-17)
123
+
124
+ ### TreeGrid
125
+
126
+ #### New Features
127
+
128
+ - AutoFill support has been provided that allows users to copy the data of selected cells and paste it to another cells by dragging.
129
+
130
+ #### Breaking Changes
131
+
132
+ - Default value of column's `disableHtmlEncode` is set to true, so the HTML tags can be displayed in the Grid header and content by default. To display it as html content `disableHtmlEncode` need to be set as false.
133
+
134
+ #### Bug Fixes
135
+
136
+ - `#148913` - Expand icon displays properly for the nested records in Custom Data Binding.
137
+
138
+ ## 17.2.48-beta (2019-08-28)
139
+
140
+ ### TreeGrid
141
+
142
+ #### New Features
143
+
144
+ - Checkbox selection support has been provided that allows users to select rows using checkbox.
145
+ - Checkbox Column support has been provided that allows users to check rows using checkbox in treegrid column.
146
+
147
+ #### Bug Fixes
148
+
149
+ - Change detection for properties `dataSource` and `query` were handled for remote data.
150
+ - Edited records can be searched/filtered.
151
+ - Inner level records will be collapsed/expanded after filtering/searching actions.
152
+
153
+ ## 17.1.1-beta (2019-01-29)
154
+
155
+ ### TreeGrid
156
+
157
+ #### Bug Fixes
158
+
159
+ - `Query` maintenance support provided for `refresh` method after expanding any child rows.
160
+ - Property change support for `height` property has been provided.
161
+ - Expand icon is prevented from displaying for the root/zeroth level record which has `hasChildMapping` field as false.
162
+ - Child records of third level or its successor displays properly based on their hierarchy relation in self reference data binding.
163
+
164
+ - Expand icon is prevented from displaying for the root/zeroth level record which has `hasChildMapping` field as false.
165
+
166
+ #### New Features
167
+
168
+ - `Excel-Like Filtering` support is provided that allows users to create complex filter criteria for a column by allowing users to select possible filter values from a checkbox list. The advanced filter can be used to build complex filter criteria.
169
+
170
+ ## 16.4.45 (2019-01-02)
171
+
172
+ ### TreeGrid
173
+
174
+ #### Bug Fixes
175
+
176
+ - Added events for the column menu feature and added `columnMenuItems` API to modify the column menu items in column menu.
177
+ - Added `sortComparer` API to perform custom sorting in TreeGrid.
178
+
179
+ ## 16.4.44 (2018-12-24)
180
+
181
+ ### TreeGrid
182
+
183
+ #### Bug Fixes
184
+
185
+ - Expanding and Collapsing records is working fine when `pageSizeMode` is set as `All`.
186
+ - `expandAtLevel`, `collapseAtLevel`, `expandAll` and `collapseAll` methods are working fine when `pageSizeMode` is set as `All`.- `actionBegin`, `actionComplete` and `actionFailure` events are triggered properly.
187
+ - Additional parameters that are added using the `query` property of TreeGrid are passed to the server side when a parent record is expanded.## 19.1.54 (2021-03-30)
188
+
189
+ ### Tree Grid
190
+
191
+ #### Bug Fixes
192
+
193
+ - `#332604` - Resolved white space issue while using less number of records with Virtualization.
194
+
@@ -0,0 +1,2 @@
1
+ export * from './src/index';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9pbmRleCc7Il19
@@ -0,0 +1,9 @@
1
+ export { StackedColumnDirective, StackedColumnsDirective } from './treegrid/stacked-column.directive';
2
+ export { ColumnDirective, ColumnsDirective } from './treegrid/columns.directive';
3
+ export { AggregateColumnDirective, AggregateColumnsDirective } from './treegrid/aggregate-columns.directive';
4
+ export { AggregateDirective, AggregatesDirective } from './treegrid/aggregates.directive';
5
+ export { TreeGridComponent } from './treegrid/treegrid.component';
6
+ export { TreeGridModule } from './treegrid/treegrid.module';
7
+ export { TreeGridAllModule, FilterService, PageService, SortService, ReorderService, ToolbarService, AggregateService, ResizeService, ColumnMenuService, ExcelExportService, PdfExportService, CommandColumnService, ContextMenuService, EditService, SelectionService, VirtualScrollService, DetailRowService, RowDDService, FreezeService, ColumnChooserService, LoggerService, InfiniteScrollService } from './treegrid/treegrid-all.module';
8
+ export * from '@syncfusion/ej2-treegrid';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHNCQUFzQixFQUFDLHVCQUF1QixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDbkcsT0FBTyxFQUFDLGVBQWUsRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzFHLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaGIsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7U3RhY2tlZENvbHVtbkRpcmVjdGl2ZSxTdGFja2VkQ29sdW1uc0RpcmVjdGl2ZX0gZnJvbSAnLi90cmVlZ3JpZC9zdGFja2VkLWNvbHVtbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHtDb2x1bW5EaXJlY3RpdmUsQ29sdW1uc0RpcmVjdGl2ZX0gZnJvbSAnLi90cmVlZ3JpZC9jb2x1bW5zLmRpcmVjdGl2ZSc7XG5leHBvcnQge0FnZ3JlZ2F0ZUNvbHVtbkRpcmVjdGl2ZSxBZ2dyZWdhdGVDb2x1bW5zRGlyZWN0aXZlfSBmcm9tICcuL3RyZWVncmlkL2FnZ3JlZ2F0ZS1jb2x1bW5zLmRpcmVjdGl2ZSc7XG5leHBvcnQge0FnZ3JlZ2F0ZURpcmVjdGl2ZSxBZ2dyZWdhdGVzRGlyZWN0aXZlfSBmcm9tICcuL3RyZWVncmlkL2FnZ3JlZ2F0ZXMuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFRyZWVHcmlkQ29tcG9uZW50fSBmcm9tICcuL3RyZWVncmlkL3RyZWVncmlkLmNvbXBvbmVudCc7XG5leHBvcnQgeyBUcmVlR3JpZE1vZHVsZSB9IGZyb20gJy4vdHJlZWdyaWQvdHJlZWdyaWQubW9kdWxlJztcbmV4cG9ydCB7IFRyZWVHcmlkQWxsTW9kdWxlLCBGaWx0ZXJTZXJ2aWNlLCBQYWdlU2VydmljZSwgU29ydFNlcnZpY2UsIFJlb3JkZXJTZXJ2aWNlLCBUb29sYmFyU2VydmljZSwgQWdncmVnYXRlU2VydmljZSwgUmVzaXplU2VydmljZSwgQ29sdW1uTWVudVNlcnZpY2UsIEV4Y2VsRXhwb3J0U2VydmljZSwgUGRmRXhwb3J0U2VydmljZSwgQ29tbWFuZENvbHVtblNlcnZpY2UsIENvbnRleHRNZW51U2VydmljZSwgRWRpdFNlcnZpY2UsIFNlbGVjdGlvblNlcnZpY2UsIFZpcnR1YWxTY3JvbGxTZXJ2aWNlLCBEZXRhaWxSb3dTZXJ2aWNlLCBSb3dERFNlcnZpY2UsIEZyZWV6ZVNlcnZpY2UsIENvbHVtbkNob29zZXJTZXJ2aWNlLCBMb2dnZXJTZXJ2aWNlLCBJbmZpbml0ZVNjcm9sbFNlcnZpY2UgfSBmcm9tICcuL3RyZWVncmlkL3RyZWVncmlkLWFsbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnQHN5bmNmdXNpb24vZWoyLXRyZWVncmlkJzsiXX0=
@@ -0,0 +1,72 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, ContentChildren, ContentChild } from '@angular/core';
3
+ import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
4
+ import { Template } from '@syncfusion/ej2-angular-base';
5
+ import * as i0 from "@angular/core";
6
+ let input = ['columnName', 'customAggregate', 'field', 'footerTemplate', 'format', 'type'];
7
+ let outputs = [];
8
+ /**
9
+ * `e-aggregate->e-column` directive represent a aggregate column of the Angular TreeGrid.
10
+ * ```html
11
+ * <ejs-treegrid [dataSource]='data' allowPaging='true' allowSorting='true'>
12
+ * <e-columns>
13
+ * <e-column field='ID' width='100'></e-column>
14
+ * <e-column field='name' headerText='Name' width='100'></e-column>
15
+ * </e-columns>
16
+ * <e-aggregates>
17
+ * <e-aggregate>
18
+ * <e-columns>
19
+ * <e-column field='ID' type='Min'></e-column>
20
+ * </e-columns>
21
+ * </e-aggregate>
22
+ * </e-aggregates>
23
+ * </ejs-treegrid>
24
+ * ```
25
+ */
26
+ export class AggregateColumnDirective extends ComplexBase {
27
+ constructor(viewContainerRef) {
28
+ super();
29
+ this.viewContainerRef = viewContainerRef;
30
+ setValue('currentInstance', this, this.viewContainerRef);
31
+ this.registerEvents(outputs);
32
+ this.directivePropList = input;
33
+ }
34
+ }
35
+ AggregateColumnDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregateColumnDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
36
+ AggregateColumnDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: AggregateColumnDirective, selector: "ejs-treegrid>e-aggregates>e-aggregate>e-columns>e-column", inputs: { columnName: "columnName", customAggregate: "customAggregate", field: "field", footerTemplate: "footerTemplate", format: "format", type: "type" }, queries: [{ propertyName: "footerTemplate", first: true, predicate: ["footerTemplate"], descendants: true }], usesInheritance: true, ngImport: i0 });
37
+ __decorate([
38
+ Template()
39
+ ], AggregateColumnDirective.prototype, "footerTemplate", void 0);
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregateColumnDirective, decorators: [{
41
+ type: Directive,
42
+ args: [{
43
+ selector: 'ejs-treegrid>e-aggregates>e-aggregate>e-columns>e-column',
44
+ inputs: input,
45
+ outputs: outputs,
46
+ queries: {}
47
+ }]
48
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { footerTemplate: [{
49
+ type: ContentChild,
50
+ args: ['footerTemplate']
51
+ }] } });
52
+ /**
53
+ * AggregateColumn Array Directive
54
+ * @private
55
+ */
56
+ export class AggregateColumnsDirective extends ArrayBase {
57
+ constructor() {
58
+ super('columns');
59
+ }
60
+ }
61
+ AggregateColumnsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregateColumnsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
62
+ AggregateColumnsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: AggregateColumnsDirective, selector: "ejs-treegrid>e-aggregates>e-aggregate>e-columns", queries: [{ propertyName: "children", predicate: AggregateColumnDirective }], usesInheritance: true, ngImport: i0 });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregateColumnsDirective, decorators: [{
64
+ type: Directive,
65
+ args: [{
66
+ selector: 'ejs-treegrid>e-aggregates>e-aggregate>e-columns',
67
+ queries: {
68
+ children: new ContentChildren(AggregateColumnDirective)
69
+ },
70
+ }]
71
+ }], ctorParameters: function () { return []; } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRlLWNvbHVtbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyZWVncmlkL2FnZ3JlZ2F0ZS1jb2x1bW5zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBR3hELElBQUksS0FBSyxHQUFhLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDckcsSUFBSSxPQUFPLEdBQWEsRUFBRSxDQUFDO0FBQzNCOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQVNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxXQUFxQztJQThEL0UsWUFBb0IsZ0JBQWlDO1FBQ2pELEtBQUssRUFBRSxDQUFDO1FBRFEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUVqRCxRQUFRLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDOztxSEFuRVEsd0JBQXdCO3lHQUF4Qix3QkFBd0I7QUE0RGpDO0lBREMsUUFBUSxFQUFFO2dFQUNnQjsyRkE1RGxCLHdCQUF3QjtrQkFScEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMERBQTBEO29CQUNwRSxNQUFNLEVBQUUsS0FBSztvQkFDYixPQUFPLEVBQUUsT0FBTztvQkFDaEIsT0FBTyxFQUFFLEVBRVI7aUJBQ0o7dUdBNkRVLGNBQWM7c0JBRnBCLFlBQVk7dUJBQUMsZ0JBQWdCOztBQVlsQzs7O0dBR0c7QUFPSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsU0FBb0M7SUFDL0U7UUFDSSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckIsQ0FBQzs7c0hBSFEseUJBQXlCOzBHQUF6Qix5QkFBeUIsZ0hBSEEsd0JBQXdCOzJGQUdqRCx5QkFBeUI7a0JBTnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlEQUFpRDtvQkFDM0QsT0FBTyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDMUQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYsIENvbnRlbnRDaGlsZHJlbiwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wbGV4QmFzZSwgQXJyYXlCYXNlLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcblxuXG5sZXQgaW5wdXQ6IHN0cmluZ1tdID0gWydjb2x1bW5OYW1lJywgJ2N1c3RvbUFnZ3JlZ2F0ZScsICdmaWVsZCcsICdmb290ZXJUZW1wbGF0ZScsICdmb3JtYXQnLCAndHlwZSddO1xubGV0IG91dHB1dHM6IHN0cmluZ1tdID0gW107XG4vKipcbiAqIGBlLWFnZ3JlZ2F0ZS0+ZS1jb2x1bW5gIGRpcmVjdGl2ZSByZXByZXNlbnQgYSBhZ2dyZWdhdGUgY29sdW1uIG9mIHRoZSBBbmd1bGFyIFRyZWVHcmlkLiBcbiAqIGBgYGh0bWxcbiAqIDxlanMtdHJlZWdyaWQgW2RhdGFTb3VyY2VdPSdkYXRhJyBhbGxvd1BhZ2luZz0ndHJ1ZScgYWxsb3dTb3J0aW5nPSd0cnVlJz4gXG4gKiAgIDxlLWNvbHVtbnM+XG4gKiAgICAgPGUtY29sdW1uIGZpZWxkPSdJRCcgd2lkdGg9JzEwMCc+PC9lLWNvbHVtbj5cbiAqICAgICA8ZS1jb2x1bW4gZmllbGQ9J25hbWUnIGhlYWRlclRleHQ9J05hbWUnIHdpZHRoPScxMDAnPjwvZS1jb2x1bW4+XG4gKiAgIDwvZS1jb2x1bW5zPlxuICogICA8ZS1hZ2dyZWdhdGVzPlxuICogICAgIDxlLWFnZ3JlZ2F0ZT5cbiAqICAgICAgIDxlLWNvbHVtbnM+XG4gKiAgICAgICAgIDxlLWNvbHVtbiBmaWVsZD0nSUQnIHR5cGU9J01pbic+PC9lLWNvbHVtbj5cbiAqICAgICAgIDwvZS1jb2x1bW5zPlxuICogICAgICA8L2UtYWdncmVnYXRlPlxuICogICAgPC9lLWFnZ3JlZ2F0ZXM+XG4gKiA8L2Vqcy10cmVlZ3JpZD5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Vqcy10cmVlZ3JpZD5lLWFnZ3JlZ2F0ZXM+ZS1hZ2dyZWdhdGU+ZS1jb2x1bW5zPmUtY29sdW1uJyxcbiAgICBpbnB1dHM6IGlucHV0LFxuICAgIG91dHB1dHM6IG91dHB1dHMsICAgIFxuICAgIHF1ZXJpZXM6IHtcblxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQWdncmVnYXRlQ29sdW1uRGlyZWN0aXZlIGV4dGVuZHMgQ29tcGxleEJhc2U8QWdncmVnYXRlQ29sdW1uRGlyZWN0aXZlPiB7XG4gICAgcHVibGljIGRpcmVjdGl2ZVByb3BMaXN0OiBhbnk7XG5cdFxuXG5cbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgYWdncmVnYXRlIHR5cGUocykgZm9yIGEgcGFydGljdWxhciBjb2x1bW4uIFxuICAgICAqIFRvIGFwcGx5IG11bHRpcGxlIGFnZ3JlZ2F0ZXMgdG8gYSBzaW5nbGUgY29sdW1uLCBzcGVjaWZ5IHRoZSBgdHlwZWAgYXMgYW4gYXJyYXkuIFxuICAgICAqIEF2YWlsYWJsZSBhZ2dyZWdhdGUgdHlwZXMgaW5jbHVkZTogXG4gICAgICogKiBgc3VtYDogQ2FsY3VsYXRlcyB0aGUgc3VtIG9mIGFsbCB2YWx1ZXMgaW4gYSBjb2x1bW4uIFxuICAgICAqICogYGF2ZXJhZ2VgOiBDb21wdXRlcyB0aGUgYXZlcmFnZSBvZiB0aGUgY29sdW1uIHZhbHVlcy4gXG4gICAgICogKiBgbWF4YDogRmluZHMgdGhlIG1heGltdW0gdmFsdWUgaW4gYSBjb2x1bW4uIFxuICAgICAqICogYG1pbmA6IEZpbmRzIHRoZSBtaW5pbXVtIHZhbHVlIGluIGEgY29sdW1uLiBcbiAgICAgKiAqIGBjb3VudGA6IENvdW50cyB0aGUgbnVtYmVyIG9mIHJlY29yZHMuIFxuICAgICAqICogYGZhbHNlY291bnRgOiBDb3VudHMgdGhlIG51bWJlciBvZiBmYWxzZSB2YWx1ZXMuIFxuICAgICAqICogYHRydWVjb3VudGA6IENvdW50cyB0aGUgbnVtYmVyIG9mIHRydWUgdmFsdWVzLiBcbiAgICAgKiAqIGBjdXN0b21gOiBBbGxvd3MgZm9yIGEgY3VzdG9tIGFnZ3JlZ2F0ZSBmdW5jdGlvbi5cbiAgICAgKiBcbiAgICAgKiBVc2UgYGN1c3RvbWAgdG8gc3BlY2lmeSBhIGN1c3RvbSBhZ2dyZWdhdGlvbi5cbiAgICAgKiAgICAgXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyB0eXBlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgY29sdW1uIG5hbWUgdG8gZGlzcGxheSB0aGUgYWdncmVnYXRlIHZhbHVlLiBJZiBub3QgZGVmaW5lZCwgdGhlIGBmaWVsZGAgbmFtZSBpcyB1c2VkIGJ5IGRlZmF1bHQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBjb2x1bW5OYW1lOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgYSBjdXN0b20gZnVuY3Rpb24gdG8gY2FsY3VsYXRlIHRoZSBhZ2dyZWdhdGUgdmFsdWUuIFRoZSBgdHlwZWAgbXVzdCBiZSBzZXQgdG8gYGN1c3RvbWAuIFxuICAgICAqIFVzZSB0aGUgY3VzdG9tIHZhbHVlIGFzIGAke2N1c3RvbX1gIGluIHRlbXBsYXRlcy4gXG4gICAgICogKiBgVG90YWwgYWdncmVnYXRpb25gOiBUaGUgY3VzdG9tIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRoIHRoZSBlbnRpcmUgZGF0YXNldCBhbmQgdGhlIGN1cnJlbnQgYEFnZ3JlZ2F0ZUNvbHVtbmAgb2JqZWN0LiBcbiAgICAgKiAqIGBHcm91cCBhZ2dyZWdhdGlvbmA6IEl0IGlzIGNhbGxlZCB3aXRoIHRoZSBjdXJyZW50IGdyb3VwIGRldGFpbHMgYW5kIHRoZSBgQWdncmVnYXRlQ29sdW1uYCBvYmplY3QuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBjdXN0b21BZ2dyZWdhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBjb2x1bW4gbmFtZSBvbiB3aGljaCB0byBwZXJmb3JtIHRoZSBhZ2dyZWdhdGlvbi5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGZpZWxkOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgZm9ybWF0IHRvIGJlIGFwcGxpZWQgdG8gdGhlIGNhbGN1bGF0ZWQgYWdncmVnYXRlIHZhbHVlIGJlZm9yZSBkaXNwbGF5LiBcbiAgICAgKiBTdXBwb3J0cyBib3RoIHN0YW5kYXJkIGFuZCBjdXN0b20gZm9ybWF0cyBmb3IgbnVtYmVycyBhbmQgZGF0ZXMuIFxuICAgICAqIFJlZmVyIHRvIHRoZSBTeW5jZnVzaW9uIGRvY3VtZW50YXRpb24gZm9yIFtudW1iZXJdKGh0dHBzOi8vZWoyLnN5bmNmdXNpb24uY29tL2RvY3VtZW50YXRpb24vY29tbW9uL2ludGVybmF0aW9uYWxpemF0aW9uLyNzdXBwb3J0ZWQtZm9ybWF0LXN0cmluZykgXG4gICAgICogYW5kIFtkYXRlXShodHRwczovL2VqMi5zeW5jZnVzaW9uLmNvbS9kb2N1bWVudGF0aW9uL2NvbW1vbi9pbnRlcm5hdGlvbmFsaXphdGlvbiNkYXRlLWZvcm1hdHRpbmcpIGZvcm1hdHMuXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBmb3JtYXQ6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyBhIHRlbXBsYXRlIGZvciB0aGUgZm9vdGVyIGNlbGwgb2YgdGhlIGFnZ3JlZ2F0ZSBjb2x1bW4uIFxuICAgICAqIFVzZSB0aGUgYWdncmVnYXRlIGB0eXBlYCBuYW1lcyB3aXRoaW4gdGhlIHRlbXBsYXRlIHRvIGFjY2VzcyBhZ2dyZWdhdGUgdmFsdWVzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcblxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2Zvb3RlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBmb290ZXJUZW1wbGF0ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuZGlyZWN0aXZlUHJvcExpc3QgPSBpbnB1dDtcbiAgICB9XG59XG5cbi8qKlxuICogQWdncmVnYXRlQ29sdW1uIEFycmF5IERpcmVjdGl2ZVxuICogQHByaXZhdGVcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlanMtdHJlZWdyaWQ+ZS1hZ2dyZWdhdGVzPmUtYWdncmVnYXRlPmUtY29sdW1ucycsXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZHJlbjogbmV3IENvbnRlbnRDaGlsZHJlbihBZ2dyZWdhdGVDb2x1bW5EaXJlY3RpdmUpXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQWdncmVnYXRlQ29sdW1uc0RpcmVjdGl2ZSBleHRlbmRzIEFycmF5QmFzZTxBZ2dyZWdhdGVDb2x1bW5zRGlyZWN0aXZlPiB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCdjb2x1bW5zJyk7XG4gICAgfVxufSJdfQ==
@@ -0,0 +1,69 @@
1
+ import { Directive, ContentChildren, ContentChild } from '@angular/core';
2
+ import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
3
+ import { AggregateColumnsDirective } from './aggregate-columns.directive';
4
+ import * as i0 from "@angular/core";
5
+ let input = ['columns', 'showChildSummary'];
6
+ let outputs = [];
7
+ /**
8
+ * `e-aggregate` directive represent a aggregate row of the Angular TreeGrid.
9
+ * It must be contained in a TreeGrid component(`ejs-treegrid`).
10
+ * ```html
11
+ * <ejs-treegrid [dataSource]='data' allowPaging='true' allowSorting='true'>
12
+ * <e-columns>
13
+ * <e-column field='ID' width='100'></e-column>
14
+ * <e-column field='name' headerText='Name' width='100'></e-column>
15
+ * </e-columns>
16
+ * <e-aggregates>
17
+ * <e-aggregate>
18
+ * <e-columns>
19
+ * <e-column field='ID' type='Min'></e-column>
20
+ * </e-columns>
21
+ * </e-aggregate>
22
+ * </e-aggregates>
23
+ * </ejs-treegrid>
24
+ * ```
25
+ */
26
+ export class AggregateDirective extends ComplexBase {
27
+ constructor(viewContainerRef) {
28
+ super();
29
+ this.viewContainerRef = viewContainerRef;
30
+ this.tags = ['columns'];
31
+ setValue('currentInstance', this, this.viewContainerRef);
32
+ this.registerEvents(outputs);
33
+ this.directivePropList = input;
34
+ }
35
+ }
36
+ AggregateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregateDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
37
+ AggregateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: AggregateDirective, selector: "ejs-treegrid>e-aggregates>e-aggregate", inputs: { columns: "columns", showChildSummary: "showChildSummary" }, queries: [{ propertyName: "childColumns", first: true, predicate: AggregateColumnsDirective, descendants: true }], usesInheritance: true, ngImport: i0 });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregateDirective, decorators: [{
39
+ type: Directive,
40
+ args: [{
41
+ selector: 'ejs-treegrid>e-aggregates>e-aggregate',
42
+ inputs: input,
43
+ outputs: outputs,
44
+ queries: {
45
+ childColumns: new ContentChild(AggregateColumnsDirective)
46
+ }
47
+ }]
48
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
49
+ /**
50
+ * Aggregate Array Directive
51
+ * @private
52
+ */
53
+ export class AggregatesDirective extends ArrayBase {
54
+ constructor() {
55
+ super('aggregates');
56
+ }
57
+ }
58
+ AggregatesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregatesDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
59
+ AggregatesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: AggregatesDirective, selector: "ejs-treegrid>e-aggregates", queries: [{ propertyName: "children", predicate: AggregateDirective }], usesInheritance: true, ngImport: i0 });
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregatesDirective, decorators: [{
61
+ type: Directive,
62
+ args: [{
63
+ selector: 'ejs-treegrid>e-aggregates',
64
+ queries: {
65
+ children: new ContentChildren(AggregateDirective)
66
+ },
67
+ }]
68
+ }], ctorParameters: function () { return []; } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRlcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHJlZWdyaWQvYWdncmVnYXRlcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFFMUUsSUFBSSxLQUFLLEdBQWEsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztBQUN0RCxJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7QUFDM0I7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQVNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxXQUErQjtJQWVuRSxZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBWDlDLFNBQUksR0FBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBYWhDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7OytHQXBCUSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw2TEFIUSx5QkFBeUI7MkZBR25ELGtCQUFrQjtrQkFSOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUNBQXVDO29CQUNqRCxNQUFNLEVBQUUsS0FBSztvQkFDYixPQUFPLEVBQUUsT0FBTztvQkFDaEIsT0FBTyxFQUFFO3dCQUNMLFlBQVksRUFBRSxJQUFJLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQztxQkFDNUQ7aUJBQ0o7O0FBd0JEOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxTQUE4QjtJQUNuRTtRQUNJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QixDQUFDOztnSEFIUSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwwRkFITSxrQkFBa0I7MkZBRzNDLG1CQUFtQjtrQkFOL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxPQUFPLEVBQUU7d0JBQ0wsUUFBUSxFQUFFLElBQUksZUFBZSxDQUFDLGtCQUFrQixDQUFDO3FCQUNwRDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiwgQ29udGVudENoaWxkcmVuLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBsZXhCYXNlLCBBcnJheUJhc2UsIHNldFZhbHVlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5cbmltcG9ydCB7IEFnZ3JlZ2F0ZUNvbHVtbnNEaXJlY3RpdmUgfSBmcm9tICcuL2FnZ3JlZ2F0ZS1jb2x1bW5zLmRpcmVjdGl2ZSc7XG5cbmxldCBpbnB1dDogc3RyaW5nW10gPSBbJ2NvbHVtbnMnLCAnc2hvd0NoaWxkU3VtbWFyeSddO1xubGV0IG91dHB1dHM6IHN0cmluZ1tdID0gW107XG4vKipcbiAqIGBlLWFnZ3JlZ2F0ZWAgZGlyZWN0aXZlIHJlcHJlc2VudCBhIGFnZ3JlZ2F0ZSByb3cgb2YgdGhlIEFuZ3VsYXIgVHJlZUdyaWQuIFxuICogSXQgbXVzdCBiZSBjb250YWluZWQgaW4gYSBUcmVlR3JpZCBjb21wb25lbnQoYGVqcy10cmVlZ3JpZGApLiBcbiAqIGBgYGh0bWxcbiAqIDxlanMtdHJlZWdyaWQgW2RhdGFTb3VyY2VdPSdkYXRhJyBhbGxvd1BhZ2luZz0ndHJ1ZScgYWxsb3dTb3J0aW5nPSd0cnVlJz4gXG4gKiAgIDxlLWNvbHVtbnM+XG4gKiAgICAgPGUtY29sdW1uIGZpZWxkPSdJRCcgd2lkdGg9JzEwMCc+PC9lLWNvbHVtbj5cbiAqICAgICA8ZS1jb2x1bW4gZmllbGQ9J25hbWUnIGhlYWRlclRleHQ9J05hbWUnIHdpZHRoPScxMDAnPjwvZS1jb2x1bW4+XG4gKiAgIDwvZS1jb2x1bW5zPlxuICogICA8ZS1hZ2dyZWdhdGVzPlxuICogICAgIDxlLWFnZ3JlZ2F0ZT5cbiAqICAgICAgIDxlLWNvbHVtbnM+XG4gKiAgICAgICAgIDxlLWNvbHVtbiBmaWVsZD0nSUQnIHR5cGU9J01pbic+PC9lLWNvbHVtbj5cbiAqICAgICAgIDwvZS1jb2x1bW5zPlxuICogICAgICA8L2UtYWdncmVnYXRlPlxuICogICAgPC9lLWFnZ3JlZ2F0ZXM+XG4gKiA8L2Vqcy10cmVlZ3JpZD5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Vqcy10cmVlZ3JpZD5lLWFnZ3JlZ2F0ZXM+ZS1hZ2dyZWdhdGUnLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZENvbHVtbnM6IG5ldyBDb250ZW50Q2hpbGQoQWdncmVnYXRlQ29sdW1uc0RpcmVjdGl2ZSlcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEFnZ3JlZ2F0ZURpcmVjdGl2ZSBleHRlbmRzIENvbXBsZXhCYXNlPEFnZ3JlZ2F0ZURpcmVjdGl2ZT4ge1xuICAgIHB1YmxpYyBkaXJlY3RpdmVQcm9wTGlzdDogYW55O1xuXHRcbiAgICBwdWJsaWMgY2hpbGRDb2x1bW5zOiBhbnk7XG4gICAgcHVibGljIHRhZ3M6IHN0cmluZ1tdID0gWydjb2x1bW5zJ107XG4gICAgLyoqIFxuICAgICAqIENvbmZpZ3VyZXMgdGhlIGNvbGxlY3Rpb24gb2YgYWdncmVnYXRlIGNvbHVtbnMuXG4gICAgICogQGRlZmF1bHQgW11cbiAgICAgKi9cbiAgICBwdWJsaWMgY29sdW1uczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdG8gZGlzcGxheSBjaGlsZCBzdW1tYXJpZXMgZm9yIGVhY2ggcGFyZW50IHJvdy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd0NoaWxkU3VtbWFyeTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuZGlyZWN0aXZlUHJvcExpc3QgPSBpbnB1dDtcbiAgICB9XG59XG5cbi8qKlxuICogQWdncmVnYXRlIEFycmF5IERpcmVjdGl2ZVxuICogQHByaXZhdGVcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlanMtdHJlZWdyaWQ+ZS1hZ2dyZWdhdGVzJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKEFnZ3JlZ2F0ZURpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBBZ2dyZWdhdGVzRGlyZWN0aXZlIGV4dGVuZHMgQXJyYXlCYXNlPEFnZ3JlZ2F0ZXNEaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ2FnZ3JlZ2F0ZXMnKTtcbiAgICB9XG59Il19
@@ -0,0 +1,100 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, ContentChildren, ContentChild } from '@angular/core';
3
+ import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
4
+ import { Template } from '@syncfusion/ej2-angular-base';
5
+ import { StackedColumnsDirective } from './stacked-column.directive';
6
+ import * as i0 from "@angular/core";
7
+ let input = ['allowEditing', 'allowFiltering', 'allowReordering', 'allowResizing', 'allowSorting', 'clipMode', 'columns', 'commands', 'customAttributes', 'defaultValue', 'disableHtmlEncode', 'displayAsCheckBox', 'edit', 'editTemplate', 'editType', 'enableColumnSpan', 'enableRowSpan', 'field', 'filter', 'filterBarTemplate', 'filterTemplate', 'format', 'formatter', 'freeze', 'headerTemplate', 'headerText', 'headerTextAlign', 'hideAtMedia', 'isFrozen', 'isIdentity', 'isPrimaryKey', 'lockColumn', 'maxWidth', 'minWidth', 'showCheckbox', 'showColumnMenu', 'showInColumnChooser', 'sortComparer', 'template', 'textAlign', 'type', 'uid', 'validationRules', 'valueAccessor', 'visible', 'width'];
8
+ let outputs = [];
9
+ /**
10
+ * `e-column` directive represent a column of the Angular TreeGrid.
11
+ * It must be contained in a TreeGrid component(`ejs-treegrid`).
12
+ * ```html
13
+ * <ejs-treegrid [dataSource]='data' allowPaging='true' allowSorting='true'>
14
+ * <e-columns>
15
+ * <e-column field='ID' width='100'></e-column>
16
+ * <e-column field='name' headerText='Name' width='100'></e-column>
17
+ * </e-columns>
18
+ * </ejs-treegrid>
19
+ * ```
20
+ */
21
+ export class ColumnDirective extends ComplexBase {
22
+ constructor(viewContainerRef) {
23
+ super();
24
+ this.viewContainerRef = viewContainerRef;
25
+ this.tags = ['columns'];
26
+ setValue('currentInstance', this, this.viewContainerRef);
27
+ this.registerEvents(outputs);
28
+ this.directivePropList = input;
29
+ }
30
+ }
31
+ ColumnDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ColumnDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
32
+ ColumnDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ColumnDirective, selector: "ejs-treegrid>e-columns>e-column", inputs: { allowEditing: "allowEditing", allowFiltering: "allowFiltering", allowReordering: "allowReordering", allowResizing: "allowResizing", allowSorting: "allowSorting", clipMode: "clipMode", columns: "columns", commands: "commands", customAttributes: "customAttributes", defaultValue: "defaultValue", disableHtmlEncode: "disableHtmlEncode", displayAsCheckBox: "displayAsCheckBox", edit: "edit", editTemplate: "editTemplate", editType: "editType", enableColumnSpan: "enableColumnSpan", enableRowSpan: "enableRowSpan", field: "field", filter: "filter", filterBarTemplate: "filterBarTemplate", filterTemplate: "filterTemplate", format: "format", formatter: "formatter", freeze: "freeze", headerTemplate: "headerTemplate", headerText: "headerText", headerTextAlign: "headerTextAlign", hideAtMedia: "hideAtMedia", isFrozen: "isFrozen", isIdentity: "isIdentity", isPrimaryKey: "isPrimaryKey", lockColumn: "lockColumn", maxWidth: "maxWidth", minWidth: "minWidth", showCheckbox: "showCheckbox", showColumnMenu: "showColumnMenu", showInColumnChooser: "showInColumnChooser", sortComparer: "sortComparer", template: "template", textAlign: "textAlign", type: "type", uid: "uid", validationRules: "validationRules", valueAccessor: "valueAccessor", visible: "visible", width: "width" }, queries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ["headerTemplate"], descendants: true }, { propertyName: "filter_itemTemplate", first: true, predicate: ["filterItemTemplate"], descendants: true }, { propertyName: "filterTemplate", first: true, predicate: ["filterTemplate"], descendants: true }, { propertyName: "commandsTemplate", first: true, predicate: ["commandsTemplate"], descendants: true }, { propertyName: "editTemplate", first: true, predicate: ["editTemplate"], descendants: true }, { propertyName: "childColumns", first: true, predicate: StackedColumnsDirective, descendants: true }], usesInheritance: true, ngImport: i0 });
33
+ __decorate([
34
+ Template()
35
+ ], ColumnDirective.prototype, "template", void 0);
36
+ __decorate([
37
+ Template()
38
+ ], ColumnDirective.prototype, "headerTemplate", void 0);
39
+ __decorate([
40
+ Template()
41
+ ], ColumnDirective.prototype, "filter_itemTemplate", void 0);
42
+ __decorate([
43
+ Template()
44
+ ], ColumnDirective.prototype, "filterTemplate", void 0);
45
+ __decorate([
46
+ Template()
47
+ ], ColumnDirective.prototype, "commandsTemplate", void 0);
48
+ __decorate([
49
+ Template()
50
+ ], ColumnDirective.prototype, "editTemplate", void 0);
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ColumnDirective, decorators: [{
52
+ type: Directive,
53
+ args: [{
54
+ selector: 'ejs-treegrid>e-columns>e-column',
55
+ inputs: input,
56
+ outputs: outputs,
57
+ queries: {
58
+ childColumns: new ContentChild(StackedColumnsDirective)
59
+ }
60
+ }]
61
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { template: [{
62
+ type: ContentChild,
63
+ args: ['template']
64
+ }], headerTemplate: [{
65
+ type: ContentChild,
66
+ args: ['headerTemplate']
67
+ }], filter_itemTemplate: [{
68
+ type: ContentChild,
69
+ args: ['filterItemTemplate']
70
+ }], filterTemplate: [{
71
+ type: ContentChild,
72
+ args: ['filterTemplate']
73
+ }], commandsTemplate: [{
74
+ type: ContentChild,
75
+ args: ['commandsTemplate']
76
+ }], editTemplate: [{
77
+ type: ContentChild,
78
+ args: ['editTemplate']
79
+ }] } });
80
+ /**
81
+ * Column Array Directive
82
+ * @private
83
+ */
84
+ export class ColumnsDirective extends ArrayBase {
85
+ constructor() {
86
+ super('columns');
87
+ }
88
+ }
89
+ ColumnsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ColumnsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
90
+ ColumnsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ColumnsDirective, selector: "ejs-treegrid>e-columns", queries: [{ propertyName: "children", predicate: ColumnDirective }], usesInheritance: true, ngImport: i0 });
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ColumnsDirective, decorators: [{
92
+ type: Directive,
93
+ args: [{
94
+ selector: 'ejs-treegrid>e-columns',
95
+ queries: {
96
+ children: new ContentChildren(ColumnDirective)
97
+ },
98
+ }]
99
+ }], ctorParameters: function () { return []; } });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHJlZWdyaWQvY29sdW1ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVyRSxJQUFJLEtBQUssR0FBYSxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDN3JCLElBQUksT0FBTyxHQUFhLEVBQUUsQ0FBQztBQUMzQjs7Ozs7Ozs7Ozs7R0FXRztBQVNILE1BQU0sT0FBTyxlQUFnQixTQUFRLFdBQTRCO0lBbVU3RCxZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBL1Q5QyxTQUFJLEdBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQWlVaEMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQzs7NEdBeFVRLGVBQWU7Z0dBQWYsZUFBZSw0N0RBSFcsdUJBQXVCO0FBd1MxRDtJQURDLFFBQVEsRUFBRTtpREFDVTtBQVFyQjtJQURDLFFBQVEsRUFBRTt1REFDZ0I7QUFHM0I7SUFEQyxRQUFRLEVBQUU7NERBQ3FCO0FBT2hDO0lBREMsUUFBUSxFQUFFO3VEQUNnQjtBQUczQjtJQURDLFFBQVEsRUFBRTt5REFDa0I7QUFPN0I7SUFEQyxRQUFRLEVBQUU7cURBQ2M7MkZBalVoQixlQUFlO2tCQVIzQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLE1BQU0sRUFBRSxLQUFLO29CQUNiLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUU7d0JBQ0wsWUFBWSxFQUFFLElBQUksWUFBWSxDQUFDLHVCQUF1QixDQUFDO3FCQUMxRDtpQkFDSjt1R0FzU1UsUUFBUTtzQkFGZCxZQUFZO3VCQUFDLFVBQVU7Z0JBVWpCLGNBQWM7c0JBRnBCLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUt2QixtQkFBbUI7c0JBRnpCLFlBQVk7dUJBQUMsb0JBQW9CO2dCQVMzQixjQUFjO3NCQUZwQixZQUFZO3VCQUFDLGdCQUFnQjtnQkFLdkIsZ0JBQWdCO3NCQUZ0QixZQUFZO3VCQUFDLGtCQUFrQjtnQkFTekIsWUFBWTtzQkFGbEIsWUFBWTt1QkFBQyxjQUFjOztBQVloQzs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsU0FBMkI7SUFDN0Q7UUFDSSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckIsQ0FBQzs7NkdBSFEsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsdUZBSFMsZUFBZTsyRkFHeEMsZ0JBQWdCO2tCQU41QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLE9BQU8sRUFBRTt3QkFDTCxRQUFRLEVBQUUsSUFBSSxlQUFlLENBQUMsZUFBZSxDQUFDO3FCQUNqRDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiwgQ29udGVudENoaWxkcmVuLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBsZXhCYXNlLCBBcnJheUJhc2UsIHNldFZhbHVlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgU3RhY2tlZENvbHVtbnNEaXJlY3RpdmUgfSBmcm9tICcuL3N0YWNrZWQtY29sdW1uLmRpcmVjdGl2ZSc7XG5cbmxldCBpbnB1dDogc3RyaW5nW10gPSBbJ2FsbG93RWRpdGluZycsICdhbGxvd0ZpbHRlcmluZycsICdhbGxvd1Jlb3JkZXJpbmcnLCAnYWxsb3dSZXNpemluZycsICdhbGxvd1NvcnRpbmcnLCAnY2xpcE1vZGUnLCAnY29sdW1ucycsICdjb21tYW5kcycsICdjdXN0b21BdHRyaWJ1dGVzJywgJ2RlZmF1bHRWYWx1ZScsICdkaXNhYmxlSHRtbEVuY29kZScsICdkaXNwbGF5QXNDaGVja0JveCcsICdlZGl0JywgJ2VkaXRUZW1wbGF0ZScsICdlZGl0VHlwZScsICdlbmFibGVDb2x1bW5TcGFuJywgJ2VuYWJsZVJvd1NwYW4nLCAnZmllbGQnLCAnZmlsdGVyJywgJ2ZpbHRlckJhclRlbXBsYXRlJywgJ2ZpbHRlclRlbXBsYXRlJywgJ2Zvcm1hdCcsICdmb3JtYXR0ZXInLCAnZnJlZXplJywgJ2hlYWRlclRlbXBsYXRlJywgJ2hlYWRlclRleHQnLCAnaGVhZGVyVGV4dEFsaWduJywgJ2hpZGVBdE1lZGlhJywgJ2lzRnJvemVuJywgJ2lzSWRlbnRpdHknLCAnaXNQcmltYXJ5S2V5JywgJ2xvY2tDb2x1bW4nLCAnbWF4V2lkdGgnLCAnbWluV2lkdGgnLCAnc2hvd0NoZWNrYm94JywgJ3Nob3dDb2x1bW5NZW51JywgJ3Nob3dJbkNvbHVtbkNob29zZXInLCAnc29ydENvbXBhcmVyJywgJ3RlbXBsYXRlJywgJ3RleHRBbGlnbicsICd0eXBlJywgJ3VpZCcsICd2YWxpZGF0aW9uUnVsZXMnLCAndmFsdWVBY2Nlc3NvcicsICd2aXNpYmxlJywgJ3dpZHRoJ107XG5sZXQgb3V0cHV0czogc3RyaW5nW10gPSBbXTtcbi8qKlxuICogYGUtY29sdW1uYCBkaXJlY3RpdmUgcmVwcmVzZW50IGEgY29sdW1uIG9mIHRoZSBBbmd1bGFyIFRyZWVHcmlkLiBcbiAqIEl0IG11c3QgYmUgY29udGFpbmVkIGluIGEgVHJlZUdyaWQgY29tcG9uZW50KGBlanMtdHJlZWdyaWRgKS4gXG4gKiBgYGBodG1sXG4gKiA8ZWpzLXRyZWVncmlkIFtkYXRhU291cmNlXT0nZGF0YScgYWxsb3dQYWdpbmc9J3RydWUnIGFsbG93U29ydGluZz0ndHJ1ZSc+IFxuICogICA8ZS1jb2x1bW5zPlxuICogICAgPGUtY29sdW1uIGZpZWxkPSdJRCcgd2lkdGg9JzEwMCc+PC9lLWNvbHVtbj5cbiAqICAgIDxlLWNvbHVtbiBmaWVsZD0nbmFtZScgaGVhZGVyVGV4dD0nTmFtZScgd2lkdGg9JzEwMCc+PC9lLWNvbHVtbj5cbiAqICAgPC9lLWNvbHVtbnM+XG4gKiA8L2Vqcy10cmVlZ3JpZD5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Vqcy10cmVlZ3JpZD5lLWNvbHVtbnM+ZS1jb2x1bW4nLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZENvbHVtbnM6IG5ldyBDb250ZW50Q2hpbGQoU3RhY2tlZENvbHVtbnNEaXJlY3RpdmUpXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5EaXJlY3RpdmUgZXh0ZW5kcyBDb21wbGV4QmFzZTxDb2x1bW5EaXJlY3RpdmU+IHtcbiAgICBwdWJsaWMgZGlyZWN0aXZlUHJvcExpc3Q6IGFueTtcblx0XG4gICAgcHVibGljIGNoaWxkQ29sdW1uczogYW55O1xuICAgIHB1YmxpYyB0YWdzOiBzdHJpbmdbXSA9IFsnY29sdW1ucyddO1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSB0eXBlIG9mIGRhdGEgc3RvcmVkIGluIHRoZSBjb2x1bW4sIHdoaWNoIG1heSBiZSBzdHJpbmcsIG51bWJlciwgZGF0ZSwgb3Igb3RoZXIgdHlwZXMuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyB0eXBlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIENvbnRyb2xzIHdoZXRoZXIgZWRpdGluZyBpcyBwZXJtaXR0ZWQgZm9yIHRoZSBjb2x1bW4uIEJ5IGRlZmF1bHQsIGFsbCBjb2x1bW5zIGFyZSBlZGl0YWJsZS5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIGFsbG93RWRpdGluZzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBDb250cm9scyB3aGV0aGVyIHRoZSBjb2x1bW4gc3VwcG9ydHMgZmlsdGVyaW5nLiBJZiBzZXQgdG8gZmFsc2UsIHVzZXJzIGNhbm5vdCBmaWx0ZXIgZGF0YSBieSB0aGlzIGNvbHVtbi5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIGFsbG93RmlsdGVyaW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIHJlb3JkZXJpbmcgb2YgdGhpcyBjb2x1bW4gdmlhIGRyYWctYW5kLWRyb3AuIEFsbG93cyBmb3IgZHluYW1pYyBjb2x1bW4gYWRqdXN0bWVudHMuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBhbGxvd1Jlb3JkZXJpbmc6IGFueTtcbiAgICAvKiogXG4gICAgICogRGV0ZXJtaW5lcyBpZiB0aGlzIGNvbHVtbiBjYW4gYmUgcmVzaXplZC4gSWYgZmFsc2UsIHRoZSBjb2x1bW4gc2l6ZSBpcyBmaXhlZC5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIGFsbG93UmVzaXppbmc6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHdoZXRoZXIgc29ydGluZyBpcyBlbmFibGVkIGZvciB0aGlzIGNvbHVtbi4gU2V0IHRvIGZhbHNlIHRvIHByZXZlbnQgc29ydCBhY3Rpb25zLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWxsb3dTb3J0aW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERldGVybWluZXMgaG93IG92ZXJmbG93IGNvbnRlbnQgaXMgaGFuZGxlZCB3aXRoaW4gYSBjZWxsLiBPcHRpb25zIGluY2x1ZGU6IFxuICAgICAqICogYENsaXBgOiBUcnVuY2F0ZXMgdGhlIGNvbnRlbnQuIFxuICAgICAqICogYEVsbGlwc2lzYDogU2hvd3MgZWxsaXBzaXMgZm9yIG92ZXJmbG93LiBcbiAgICAgKiAqIGBFbGxpcHNpc1dpdGhUb29sdGlwYDogU2hvd3MgZWxsaXBzaXMgYW5kIHRvb2x0aXAgb24gaG92ZXIuXG4gICAgICogQGRlZmF1bHQgU3luY2Z1c2lvbi5FSjIuR3JpZHMuQ2xpcE1vZGUuRWxsaXBzaXNcbiAgICAgKiBAaXNlbnVtZXJhdGlvbiB0cnVlXG4gICAgICogQGFzcHR5cGUgU3luY2Z1c2lvbi5FSjIuR3JpZHMuQ2xpcE1vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgY2xpcE1vZGU6IGFueTtcbiAgICAvKiogXG4gICAgICogQWxsb3dzIGZvciB0aGUgY3JlYXRpb24gb2Ygc3RhY2tlZCBoZWFkZXJzIGJ5IHVzaW5nIG11bHRpcGxlIHJvd3MgaW4gdGhlIGdyaWQncyBoZWFkZXIuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBjb2x1bW5zOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFByb3ZpZGVzIGJ1aWx0LWluIGNvbW1hbmQgYnV0dG9uIG9wdGlvbnMgZm9yIGNlbGxzLiBPcHRpb25zIGluY2x1ZGUgRWRpdCwgRGVsZXRlLCBTYXZlLCBhbmQgQ2FuY2VsLiBcbiAgICAgKiBDdXN0b20gY29tbWFuZCBidXR0b24gaW1wbGVtZW50YXRpb25zIGFyZSBwb3NzaWJsZS5cbiAgICAgKiBcbiAgICAgKiBUaGUgZm9sbG93aW5nIGNvZGUgZXhhbXBsZSBpbXBsZW1lbnRzIHRoZSBjdXN0b20gY29tbWFuZCBjb2x1bW4uXG4gICAgICpgYGBodG1sXG4gICAgICo8c3R5bGUgdHlwZT1cInRleHQvY3NzXCIgY2xhc3M9XCJjc3NTdHlsZXNcIj5cbiAgICAgKi5kZXRhaWxzLWljb246YmVmb3JlXG4gICAgICp7XG4gICAgICogICBjb250ZW50OlwiXFxlNzRkXCI7XG4gICAgICp9XG4gICAgICo8L3N0eWxlPlxuICAgICAqPGRpdiBpZD1cIlRyZWVHcmlkXCI+PC9kaXY+XG4gICAgICpgYGBcbiAgICAgKmBgYHR5cGVzY3JpcHRcbiAgICAgKnZhciBncmlkT2JqID0gbmV3IFRyZWVHcmlkKHtcbiAgICAgKmRhdGFzb3VyY2U6IHdpbmRvdy5ncmlkRGF0YSxcbiAgICAgKmNvbHVtbnMgOiBbXG4gICAgICogeyBmaWVsZDogJ0N1c3RvbWVySUQnLCBoZWFkZXJUZXh0OiAnQ3VzdG9tZXIgSUQnIH0sXG4gICAgICogeyBmaWVsZDogJ0N1c3RvbWVyTmFtZScsIGhlYWRlclRleHQ6ICdDdXN0b21lciBOYW1lJyB9LFxuICAgICAqIHtjb21tYW5kczogW3tidXR0b25PcHRpb246e2NvbnRlbnQ6ICdEZXRhaWxzJywgY2xpY2s6IG9uQ2xpY2ssIGNzc0NsYXNzOiBkZXRhaWxzLWljb259fV0sIGhlYWRlclRleHQ6ICdDdXN0b21lciBEZXRhaWxzJ31cbiAgICAgKl1cbiAgICAgKmdyaWRPYmouYXBwZW5kVG8oXCIjVHJlZUdyaWRcIik7XG4gICAgICpgYGBcbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBjb21tYW5kczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBFbmFibGVzIHRoZSBhZGRpdGlvbiBvZiBDU1Mgc3R5bGVzIGFuZCBhdHRyaWJ1dGVzIGZvciB0aGUgY29udGVudCBjZWxscyBpbiBhIHBhcnRpY3VsYXIgY29sdW1uLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgY3VzdG9tQXR0cmlidXRlczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTZXRzIGRlZmF1bHQgdmFsdWVzIHdoZW4gbmV3IHJlY29yZHMgYXJlIGFkZGVkIHRvIHRoZSBUcmVlR3JpZCBpbnZvbHZpbmcgdGhpcyBjb2x1bW4uXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBkZWZhdWx0VmFsdWU6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgc2V0IHRvIGB0cnVlYCwgdGhlIEhUTUwgY29udGVudCB3aXRoaW4gaGVhZGVyIGFuZCBjb250ZW50IGNlbGxzIGlzIGVuY29kZWQgdG8gcHJldmVudCBpbmplY3Rpb24gYXR0YWNrcy5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIGRpc2FibGVIdG1sRW5jb2RlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERpc3BsYXlzIHRoZSBjb2x1bW4gdmFsdWUgYXMgYSBjaGVja2JveCBpbnN0ZWFkIG9mIGEgQm9vbGVhbiB2YWx1ZSB3aGVuIHNldCB0byBgdHJ1ZWAuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzcGxheUFzQ2hlY2tCb3g6IGFueTtcbiAgICAvKiogXG4gICAgICogQWxsb3dzIGN1c3RvbWl6aW5nIHRoZSBkZWZhdWx0IGVkaXQgY2VsbCB0aHJvdWdoIHRoZSBgSUVkaXRDZWxsYCBvYmplY3QgZm9yIG1vcmUgY29udHJvbCBvdmVyIGVkaXRpbmcuXG4gICAgICogQGRlZmF1bHQge31cbiAgICAgKi9cbiAgICBwdWJsaWMgZWRpdDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGNvbXBvbmVudCB0eXBlIHVzZWQgZm9yIGVkaXRpbmcgY2VsbHMgd2l0aGluIHRoaXMgY29sdW1uLlxuICAgICAqIEBkZWZhdWx0ICdzdHJpbmdlZGl0J1xuICAgICAqL1xuICAgIHB1YmxpYyBlZGl0VHlwZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBBbGxvd3MgdHJlZWdyaWQgdG8gcGVyZm9ybSBjb2x1bW4gc3Bhbm5pbmcgb24gdGhlIHNwZWNpZmllZCBjb2x1bW4uXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBlbmFibGVDb2x1bW5TcGFuOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEFsbG93cyB0cmVlZ3JpZCB0byBwZXJmb3JtIHJvdyBzcGFubmluZyBvbiB0aGUgc3BlY2lmaWVkIGNvbHVtbi5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIGVuYWJsZVJvd1NwYW46IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBmaWVsZCBuYW1lIGluIHRoZSBkYXRhIHNvdXJjZSB0byB3aGljaCB0aGUgY29sdW1uIGlzIGJvdW5kLiBUaGlzIGZpZWxkIGlzIHVzZWQgZm9yIG9wZXJhdGlvbnMgbGlrZSBzb3J0aW5nIGFuZCBmaWx0ZXJpbmcuIFxuICAgICAqIFRoZSBmaWVsZCBuYW1lIG11c3QgYmUgYSB2YWxpZCBKYXZhU2NyaXB0IGlkZW50aWZpZXIsIGJlZ2lubmluZyB3aXRoIGEgbGV0dGVyIGFuZCBhdm9pZGluZyBzcGFjZXMgYW5kIHNwZWNpYWwgY2hhcmFjdGVycy5cbiAgICAgKiBAZGVmYXVsdCAndW5kZWZpbmVkJ1xuICAgICAqL1xuICAgIHB1YmxpYyBmaWVsZDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBDdXN0b21pemVzIGZpbHRlciBvcHRpb25zIGZvciB0aGUgY29sdW1uLCBlbmFibGluZyBzcGVjaWFsaXplZCBmaWx0ZXJpbmcgZnVuY3Rpb25hbGl0eS5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGZpbHRlcjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBBbGxvd3MgZm9yIGEgY3VzdG9tIGNvbXBvbmVudCB3aXRoaW4gdGhlIGZpbHRlciBiYXIsIGZhY2lsaXRhdGluZyBhZHZhbmNlZCBmaWx0ZXIgaW50ZXJmYWNlcy4gXG4gICAgICogSW5jbHVkZXMgY3JlYXRlIGFuZCByZWFkIGZ1bmN0aW9ucyBmb3IgY3VzdG9tIGNvbXBvbmVudCBtYW5hZ2VtZW50LlxuICAgICAqIFxuICAgICAqIGBgYGh0bWxcbiAgICAgKjxkaXYgaWQ9XCJUcmVlR3JpZFwiPjwvZGl2PlxuICAgICAqYGBgXG4gICAgICpgYGB0eXBlc2NyaXB0XG4gICAgICpsZXQgZ3JpZE9iajogVHJlZUdyaWQgPSBuZXcgVHJlZUdyaWQoe1xuICAgICAqZGF0YVNvdXJjZTogZmlsdGVyRGF0YSxcbiAgICAgKmNvbHVtbnM6IFtcbiAgICAgKiAgeyBmaWVsZDogJ09yZGVySUQnLCBoZWFkZXJUZXh0OiAnT3JkZXIgSUQnIH0sXG4gICAgICogIHtcbiAgICAgKiAgICAgZmllbGQ6ICdFbXBsb3llZUlEJywgZmlsdGVyQmFyVGVtcGxhdGU6IHtcbiAgICAgKiAgICAgICAgY3JlYXRlOiAoYXJnczogeyBlbGVtZW50OiBFbGVtZW50LCBjb2x1bW46IENvbHVtbiB9KSA9PiB7XG4gICAgICogICAgICAgICAgICAgbGV0IGlucHV0OiBIVE1MSW5wdXRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgKiAgICAgICAgICAgICBpbnB1dC5pZCA9ICdFbXBsb3llZUlEJztcbiAgICAgKiAgICAgICAgICAgICBpbnB1dC50eXBlID0gJ3RleHQnO1xuICAgICAqICAgICAgICAgICAgIHJldHVybiBpbnB1dDtcbiAgICAgKiAgICAgICAgfSxcbiAgICAgKiAgICAgICAgd3JpdGU6IChhcmdzOiB7IGVsZW1lbnQ6IEVsZW1lbnQsIGNvbHVtbjogQ29sdW1uIH0pID0+IHtcbiAgICAgKiAgICAgICAgICAgIGFyZ3MuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIGFyZ3MuY29sdW1uLmZpbHRlckJhclRlbXBsYXRlLnJlYWQgYXMgRXZlbnRMaXN0ZW5lcik7XG4gICAgICogICAgICAgIH0sXG4gICAgICogICAgICAgIHJlYWQ6IChhcmdzOiB7IGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQsIGNvbHVtbkluZGV4OiBudW1iZXIsIGNvbHVtbjogQ29sdW1uIH0pID0+IHtcbiAgICAgKiAgICAgICAgICAgIGdyaWRPYmouZmlsdGVyQnlDb2x1bW4oYXJncy5lbGVtZW50LmlkLCAnZXF1YWwnLCBhcmdzLmVsZW1lbnQudmFsdWUpO1xuICAgICAqICAgICAgIH1cbiAgICAgKiAgICB9XG4gICAgICp9XSxcbiAgICAgKiAgYWxsb3dGaWx0ZXJpbmc6IHRydWVcbiAgICAgKn0pO1xuICAgICAqZ3JpZE9iai5hcHBlbmRUbygnI1RyZWVHcmlkJyk7XG4gICAgICpgYGBcbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBmaWx0ZXJCYXJUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBGb3JtYXRzIHRoZSBkaXNwbGF5ZWQgdmFsdWUgb2YgdGhlIGNvbHVtbiB3aXRob3V0IGFmZmVjdGluZyB0aGUgdW5kZXJseWluZyBkYXRhLiBTdXBwb3J0cyBzdGFuZGFyZCBhbmQgY3VzdG9tIGZvcm1hdHMgZm9yIG51bWJlcnMgYW5kIGRhdGVzLlxuICAgICAqIFxuICAgICAqIFJlZmVyZW5jZXMgZm9yIFtudW1iZXJdKGh0dHBzOi8vZWoyLnN5bmNmdXNpb24uY29tL2RvY3VtZW50YXRpb24vY29tbW9uL2ludGVybmF0aW9uYWxpemF0aW9uLyNzdXBwb3J0ZWQtZm9ybWF0LXN0cmluZylcbiAgICAgKmFuZCBbZGF0ZV0oaHR0cHM6Ly9lajIuc3luY2Z1c2lvbi5jb20vZG9jdW1lbnRhdGlvbi9jb21tb24vaW50ZXJuYXRpb25hbGl6YXRpb24jZGF0ZS1mb3JtYXR0aW5nKSBmb3JtYXRzLiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBmb3JtYXQ6IGFueTtcbiAgICAvKiogXG4gICAgICogQWxsb3dzIGZvciBjdXN0b20gY2VsbCBjb250ZW50IGZvcm1hdHRpbmcgdXNpbmcgYW4gZXh0ZXJuYWwgbWV0aG9kLCBleGVjdXRlZCBwcmlvciB0byByZW5kZXJpbmcuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBmb3JtYXR0ZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogRGV0ZXJtaW5lcyB3aGljaCBzaWRlIChsZWZ0LCByaWdodCwgb3IgY2VudGVyKSB0aGUgY29sdW1uIHNob3VsZCBiZSBmcm96ZW4gb24uXG4gICAgICogQGRlZmF1bHQgU3luY2Z1c2lvbi5FSjIuR3JpZHMuRnJlZXplRGlyZWN0aW9uLk5vbmVcbiAgICAgKiBAaXNlbnVtZXJhdGlvbiB0cnVlXG4gICAgICogQGFzcHR5cGUgU3luY2Z1c2lvbi5FSjIuR3JpZHMuRnJlZXplRGlyZWN0aW9uXG4gICAgICovXG4gICAgcHVibGljIGZyZWV6ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHRleHQgZGlzcGxheWVkIGluIHRoZSBjb2x1bW4gaGVhZGVyLiBJZiBvbWl0dGVkLCB0aGUgYGZpZWxkYCB2YWx1ZSBpcyB1c2VkIGFzIHRoZSBoZWFkZXIgdGV4dC5cbiAgICAgKiBAZGVmYXVsdCAndW5kZWZpbmVkJ1xuICAgICAqL1xuICAgIHB1YmxpYyBoZWFkZXJUZXh0OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEFsaWducyB0aGUgdGV4dCBpbiB0aGUgY29sdW1uIGhlYWRlci4gQnkgZGVmYXVsdCwgdGhlIGFsaWdubWVudCBjb3JyZXNwb25kcyB0byBvdGhlciBjb250ZW50IGFsaWdubWVudHMuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3BkZWZhdWx0dmFsdWVpZ25vcmUgXG4gICAgICogQGlzZW51bWVyYXRpb24gdHJ1ZVxuICAgICAqIEBhc3B0eXBlIFN5bmNmdXNpb24uRUoyLkdyaWRzLlRleHRBbGlnblxuICAgICAqL1xuICAgIHB1YmxpYyBoZWFkZXJUZXh0QWxpZ246IGFueTtcbiAgICAvKiogXG4gICAgICogQWRqdXN0cyBjb2x1bW4gdmlzaWJpbGl0eSBiYXNlZCBvbiBbTWVkaWEgUXVlcmllc10oaHR0cDovL2Nzc21lZGlhcXVlcmllcy5jb20vd2hhdC1hcmUtY3NzLW1lZGlhLXF1ZXJpZXMuaHRtbCkuIEFjY2VwdHMgdmFsaWQgQ1NTIG1lZGlhIHF1ZXJ5IHN0cmluZ3MgZm9yIHJlc3BvbnNpdmUgYWRqdXN0bWVudHMuXG4gICAgICogQGRlZmF1bHQgJ3VuZGVmaW5lZCdcbiAgICAgKi9cbiAgICBwdWJsaWMgaGlkZUF0TWVkaWE6IGFueTtcbiAgICAvKiogXG4gICAgICogQWxsb3dzIHRoZSBjb2x1bW4gdG8gYmUgZnJvemVuLCBrZWVwaW5nIGl0IHN0YXRpb25hcnkgd2hpbGUgc2Nyb2xsaW5nIGhvcml6b250YWxseSB0aHJvdWdoIHRoZSBncmlkLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGlzRnJvemVuOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIElkZW50aWZpZXMgdGhlIGNvbHVtbiBhcyBhbiBpZGVudGl0eSBjb2x1bW4gaW4gZGF0YWJhc2UgdGVybXMsIGlmIHNldCB0byBgdHJ1ZWAuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNJZGVudGl0eTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZGVudGlmaWVzIHRoZSBjb2x1bW4gYXMgYSBwcmltYXJ5IGtleSBpZiBzZXQgdG8gYHRydWVgLCBlbmZvcmNpbmcgdW5pcXVlbmVzcy5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBpc1ByaW1hcnlLZXk6IGFueTtcbiAgICAvKiogXG4gICAgICogUHJldmVudHMgY29sdW1uIHJlb3JkZXJpbmcgd2hlbiBzZXQgdG8gdHJ1ZSwgbG9ja2luZyB0aGUgY29sdW1uIGludG8gYSBzZXQgcG9zaXRpb24uXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgbG9ja0NvbHVtbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBtYXhpbXVtIGFsbG93YWJsZSB3aWR0aCBvZiB0aGUgY29sdW1uIGluIHBpeGVscyBvciBhcyBhIHBlcmNlbnRhZ2UsIHByZXZlbnRpbmcgcmVzaXppbmcgYmV5b25kIHRoaXMgbGltaXQuXG4gICAgICogQGRlZmF1bHQgJ3VuZGVmaW5lZCdcbiAgICAgKi9cbiAgICBwdWJsaWMgbWF4V2lkdGg6IGFueTtcbiAgICAvKiogXG4gICAgICogRGV0ZXJtaW5lcyB0aGUgbWluaW11bSB3aWR0aCBvZiB0aGUgY29sdW1uIGluIHBpeGVscyBvciBwZXJjZW50YWdlLiBUaGlzIGVuc3VyZXMgdGhlIGNvbHVtbiBkb2VzIG5vdCBzaHJpbmsgYmVsb3cgdGhpcyBzaXplLlxuICAgICAqIEBkZWZhdWx0ICd1bmRlZmluZWQnXG4gICAgICovXG4gICAgcHVibGljIG1pbldpZHRoOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERpc3BsYXlzIGNoZWNrYm94ZXMgaW4gdGhlIGNvbHVtbiB3aGVuIGVuYWJsZWQsIGFsbG93aW5nIGZvciBzZWxlY3Rpb25zIGFuZCBjZXJ0YWluIG9wZXJhdGlvbnMuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd0NoZWNrYm94OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlY2lkZXMgaWYgdGhlIGNvbHVtbiBtZW51IHNob3VsZCBiZSBhdmFpbGFibGUsIHByb3ZpZGluZyBvcHRpb25zIGZvciBjb2x1bW4gY3VzdG9taXphdGlvbi5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIHNob3dDb2x1bW5NZW51OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERldGVybWluZXMgd2hldGhlciB0aGUgY29sdW1uIHNob3VsZCBhcHBlYXIgaW4gdGhlIENvbHVtbiBDaG9vc2VyLiBTZXQgdG8gZmFsc2UgdG8gZXhjbHVkZSBpdC5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIHNob3dJbkNvbHVtbkNob29zZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogUHJvdmlkZXMgYSBjdXN0b20gc29ydCBjb21wYXJlciBwcm9wZXJ0eSB0byBjb250cm9sIGhvdyBzb3J0aW5nIGlzIGhhbmRsZWQgZm9yIHRoaXMgY29sdW1uJ3MgZGF0YS5cbiAgICAgKiBAZGVmYXVsdCAndW5kZWZpbmVkJ1xuICAgICAqL1xuICAgIHB1YmxpYyBzb3J0Q29tcGFyZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBob3Jpem9udGFsIGFsaWdubWVudCBmb3IgdGhlIGNvbHVtbiBjb250ZW50IGFuZCBoZWFkZXIuIE9wdGlvbnMgaW5jbHVkZSBhbGlnbm1lbnQgdG8gdGhlIGxlZnQsIGNlbnRlciwgb3IgcmlnaHQuXG4gICAgICogQGRlZmF1bHQgU3luY2Z1c2lvbi5FSjIuR3JpZHMuVGV4dEFsaWduLkxlZnRcbiAgICAgKiBAaXNlbnVtZXJhdGlvbiB0cnVlXG4gICAgICogQGFzcHR5cGUgU3luY2Z1c2lvbi5FSjIuR3JpZHMuVGV4dEFsaWduXG4gICAgICovXG4gICAgcHVibGljIHRleHRBbGlnbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgY29sdW1uLiBUaGlzIFVJRCBpcyB1c2VkIGludGVybmFsbHkgdG8gcmVmZXJlbmNlIGFuZCBtYW5pcHVsYXRlIHRoZSBjb2x1bW4uXG4gICAgICogQGRlZmF1bHQgJ3VuZGVmaW5lZCdcbiAgICAgKi9cbiAgICBwdWJsaWMgdWlkOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEVzdGFibGlzaGVzIHZhbGlkYXRpb24gcnVsZXMgdG8gZW5zdXJlIGRhdGEgaW50ZWdyaXR5IGR1cmluZyBjcmVhdGlvbiBhbmQgdXBkYXRlcy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRpb25SdWxlczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBBcHBsaWVzIGN1c3RvbSBjZWxsIHZhbHVlcyB1c2luZyBhbiBleHRlcm5hbCBmdW5jdGlvbiwgYWxsb3dpbmcgZm9yIGR5bmFtaWMgZGlzcGxheSBhZGp1c3RtZW50cy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHZhbHVlQWNjZXNzb3I6IGFueTtcbiAgICAvKiogXG4gICAgICogVG9nZ2xlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgY29sdW1uLiBTZXQgdG8gZmFsc2UgdG8gaGlkZSB0aGUgY29sdW1uIGZyb20gdmlldy4gQ29sdW1ucyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgdmlzaWJsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTZXRzIHRoZSBjb2x1bW4ncyB3aWR0aCBpbiBwaXhlbHMgb3IgYXMgYSBwZXJjZW50YWdlLiBUaGlzIGRlZmluZXMgaG93IHRoZSBjb2x1bW4gd2lsbCBvY2N1cHkgc3BhY2UgaW4gdGhlIGdyaWQuXG4gICAgICogQGRlZmF1bHQgJ3VuZGVmaW5lZCdcbiAgICAgKi9cbiAgICBwdWJsaWMgd2lkdGg6IGFueTtcbiAgICAvKiogXG4gICAgICogQ3VzdG9taXplcyB0aGUgcmVuZGVyaW5nIG9mIGNlbGwgY29udGVudCB1c2luZyBlaXRoZXIgYSB0ZW1wbGF0ZSBzdHJpbmcgb3IgSFRNTCBlbGVtZW50IElELlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCd0ZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogQ3VzdG9taXplcyB0aGUgaGVhZGVyIGNvbnRlbnQgd2l0aCBhIHRlbXBsYXRlLCBkZWZpbmVkIGFzIGEgc3RyaW5nIG9yIGFuIEhUTUwgZWxlbWVudCBJRC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnaGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnZmlsdGVySXRlbVRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBmaWx0ZXJfaXRlbVRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyBhIGN1c3RvbSB0ZW1wbGF0ZSBvciBVSSBmb3IgZmlsdGVyaW5nIHdpdGhpbiB0aGlzIGNvbHVtbiwgdXRpbGl6aW5nIGVpdGhlciBzdHJpbmcgdGVtcGxhdGVzIG9yIEhUTUwgZWxlbWVudCBJRHMuXG4gICAgICogQGFzcGlnbm9yZSBcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdmaWx0ZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZmlsdGVyVGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdjb21tYW5kc1RlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBjb21tYW5kc1RlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFByb3ZpZGVzIGEgdGVtcGxhdGUgZm9yIGVkaXRpbmcgY2VsbHMgaW4gdGhpcyBjb2x1bW4sIHN1cHBvcnRpbmcgZWl0aGVyIGEgdGVtcGxhdGUgc3RyaW5nIG9yIGFuIEhUTUwgZWxlbWVudCBJRC5cbiAgICAgKiBAYXNwaWdub3JlIFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2VkaXRUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZWRpdFRlbXBsYXRlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5kaXJlY3RpdmVQcm9wTGlzdCA9IGlucHV0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBDb2x1bW4gQXJyYXkgRGlyZWN0aXZlXG4gKiBAcHJpdmF0ZVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Vqcy10cmVlZ3JpZD5lLWNvbHVtbnMnLFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2hpbGRyZW46IG5ldyBDb250ZW50Q2hpbGRyZW4oQ29sdW1uRGlyZWN0aXZlKVxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtbnNEaXJlY3RpdmUgZXh0ZW5kcyBBcnJheUJhc2U8Q29sdW1uc0RpcmVjdGl2ZT4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcignY29sdW1ucycpO1xuICAgIH1cbn0iXX0=