@syncfusion/ej2-angular-grids 32.1.25-ngcc → 32.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2853 -0
- package/README.md +16 -8
- package/esm2020/public_api.mjs +2 -0
- package/esm2020/src/grid/aggregate-columns.directive.mjs +84 -0
- package/esm2020/src/grid/aggregates.directive.mjs +69 -0
- package/esm2020/src/grid/columns.directive.mjs +100 -0
- package/esm2020/src/grid/grid-all.module.mjs +98 -0
- package/esm2020/src/grid/grid.component.mjs +298 -0
- package/esm2020/src/grid/grid.module.mjs +61 -0
- package/esm2020/src/grid/stacked-column.directive.mjs +100 -0
- package/esm2020/src/index.mjs +12 -0
- package/esm2020/src/pager/pager-all.module.mjs +23 -0
- package/esm2020/src/pager/pager.component.mjs +66 -0
- package/esm2020/src/pager/pager.module.mjs +25 -0
- package/esm2020/syncfusion-ej2-angular-grids.mjs +5 -0
- package/fesm2015/syncfusion-ej2-angular-grids.mjs +881 -0
- package/fesm2015/syncfusion-ej2-angular-grids.mjs.map +1 -0
- package/fesm2020/syncfusion-ej2-angular-grids.mjs +881 -0
- package/fesm2020/syncfusion-ej2-angular-grids.mjs.map +1 -0
- package/package.json +28 -46
- package/public_api.d.ts +1 -1
- package/src/grid/aggregate-columns.directive.d.ts +119 -114
- package/src/grid/aggregates.directive.d.ts +45 -40
- package/src/grid/columns.directive.d.ts +484 -479
- package/src/grid/grid-all.module.d.ts +36 -30
- package/src/grid/grid.component.d.ts +168 -163
- package/src/grid/grid.module.d.ts +15 -5
- package/src/grid/stacked-column.directive.d.ts +486 -481
- package/src/index.d.ts +11 -11
- package/src/pager/pager-all.module.d.ts +11 -5
- package/src/pager/pager.component.d.ts +43 -40
- package/src/pager/pager.module.d.ts +11 -5
- package/styles/bds-lite.scss +1 -1
- package/styles/bds.scss +2 -2
- package/styles/bootstrap-dark-lite.scss +1 -1
- package/styles/bootstrap-dark.scss +2 -2
- package/styles/bootstrap-lite.scss +1 -1
- package/styles/bootstrap.scss +2 -2
- package/styles/bootstrap4-lite.scss +1 -1
- package/styles/bootstrap4.scss +2 -2
- package/styles/bootstrap5-dark-lite.scss +1 -1
- package/styles/bootstrap5-dark.scss +2 -2
- package/styles/bootstrap5-lite.scss +1 -1
- package/styles/bootstrap5.3-lite.scss +1 -1
- package/styles/bootstrap5.3.scss +2 -2
- package/styles/bootstrap5.scss +2 -2
- package/styles/excel-filter/bds.scss +1 -1
- package/styles/excel-filter/bootstrap-dark.scss +1 -1
- package/styles/excel-filter/bootstrap.scss +1 -1
- package/styles/excel-filter/bootstrap4.scss +1 -1
- package/styles/excel-filter/bootstrap5-dark.scss +1 -1
- package/styles/excel-filter/bootstrap5.3.scss +1 -1
- package/styles/excel-filter/bootstrap5.scss +1 -1
- package/styles/excel-filter/fabric-dark.scss +1 -1
- package/styles/excel-filter/fabric.scss +1 -1
- package/styles/excel-filter/fluent-dark.scss +1 -1
- package/styles/excel-filter/fluent.scss +1 -1
- package/styles/excel-filter/fluent2.scss +1 -1
- package/styles/excel-filter/highcontrast-light.scss +1 -1
- package/styles/excel-filter/highcontrast.scss +1 -1
- package/styles/excel-filter/material-dark.scss +1 -1
- package/styles/excel-filter/material.scss +1 -1
- package/styles/excel-filter/material3-dark.scss +1 -2
- package/styles/excel-filter/material3.scss +1 -2
- package/styles/excel-filter/tailwind-dark.scss +1 -1
- package/styles/excel-filter/tailwind.scss +1 -1
- package/styles/excel-filter/tailwind3.scss +1 -1
- package/styles/fabric-dark-lite.scss +1 -1
- package/styles/fabric-dark.scss +2 -2
- package/styles/fabric-lite.scss +1 -1
- package/styles/fabric.scss +2 -2
- package/styles/fluent-dark-lite.scss +1 -1
- package/styles/fluent-dark.scss +2 -2
- package/styles/fluent-lite.scss +1 -1
- package/styles/fluent.scss +2 -2
- package/styles/fluent2-lite.scss +1 -1
- package/styles/fluent2.scss +2 -2
- package/styles/grid/bds.scss +1 -1
- package/styles/grid/bootstrap-dark.scss +1 -1
- package/styles/grid/bootstrap.scss +1 -1
- package/styles/grid/bootstrap4.scss +1 -1
- package/styles/grid/bootstrap5-dark.scss +1 -1
- package/styles/grid/bootstrap5.3.scss +1 -1
- package/styles/grid/bootstrap5.scss +1 -1
- package/styles/grid/fabric-dark.scss +1 -1
- package/styles/grid/fabric.scss +1 -1
- package/styles/grid/fluent-dark.scss +1 -1
- package/styles/grid/fluent.scss +1 -1
- package/styles/grid/fluent2.scss +1 -1
- package/styles/grid/highcontrast-light.scss +1 -1
- package/styles/grid/highcontrast.scss +1 -1
- package/styles/grid/material-dark.scss +1 -1
- package/styles/grid/material.scss +1 -1
- package/styles/grid/material3-dark.scss +1 -2
- package/styles/grid/material3.scss +1 -2
- package/styles/grid/tailwind-dark.scss +1 -1
- package/styles/grid/tailwind.scss +1 -1
- package/styles/grid/tailwind3.scss +1 -1
- package/styles/highcontrast-light-lite.scss +1 -1
- package/styles/highcontrast-light.scss +2 -2
- package/styles/highcontrast-lite.scss +1 -1
- package/styles/highcontrast.scss +2 -2
- package/styles/material-dark-lite.scss +1 -1
- package/styles/material-dark.scss +2 -2
- package/styles/material-lite.scss +1 -1
- package/styles/material.scss +2 -2
- package/styles/material3-dark-lite.scss +1 -1
- package/styles/material3-dark.scss +2 -3
- package/styles/material3-lite.scss +1 -1
- package/styles/material3.scss +2 -3
- package/styles/tailwind-dark-lite.scss +1 -1
- package/styles/tailwind-dark.scss +2 -2
- package/styles/tailwind-lite.scss +1 -1
- package/styles/tailwind.scss +2 -2
- package/styles/tailwind3-lite.scss +1 -1
- package/styles/tailwind3.scss +2 -2
- package/syncfusion-ej2-angular-grids.d.ts +5 -0
- package/@syncfusion/ej2-angular-grids.es5.js +0 -1008
- package/@syncfusion/ej2-angular-grids.es5.js.map +0 -1
- package/@syncfusion/ej2-angular-grids.js +0 -947
- package/@syncfusion/ej2-angular-grids.js.map +0 -1
- package/LICENSE +0 -10
- package/dist/ej2-angular-grids.umd.js +0 -1634
- package/dist/ej2-angular-grids.umd.js.map +0 -1
- package/dist/ej2-angular-grids.umd.min.js +0 -11
- package/dist/ej2-angular-grids.umd.min.js.map +0 -1
- package/ej2-angular-grids.d.ts +0 -6
- package/ej2-angular-grids.metadata.json +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Angular Data Grid Component
|
|
2
2
|
|
|
3
|
-
The [Angular Data Grid](https://www.syncfusion.com/angular-ui-components/angular-grid?utm_source=npm&utm_medium=listing&utm_campaign=angular-grid-npm) component is a powerful and flexible tool for displaying and manipulating tabular data. Angular Data Grid component is its ability to bind to a wide range of data sources, including arrays of JSON objects, `OData web services`, and the Syncfusion [DataManager](https://ej2.syncfusion.com/angular/documentation/data/data-binding/?utm_source=npm&utm_medium=listing&utm_campaign=angular-grid-npm). This makes it easy to integrate the grid into your application and display data from a variety of sources. In addition to its data binding capabilities, the Angular Data Grid also offers support for features such as sorting, filtering, paging, grouping, editing, frozen rows and columns, virtualization, and more. These features allow you to easily manipulate and present large datasets in an efficient and user-friendly way.
|
|
3
|
+
The [Angular Data Grid](https://www.syncfusion.com/angular-ui-components/angular-grid?utm_source=npm&utm_medium=listing&utm_campaign=angular-grid-npm) component is a powerful and flexible tool for displaying and manipulating tabular data. Angular Data Grid component is its ability to bind to a wide range of data sources, including arrays of JSON objects, `OData web services`, and the Syncfusion<sup>®</sup> [DataManager](https://ej2.syncfusion.com/angular/documentation/data/data-binding/?utm_source=npm&utm_medium=listing&utm_campaign=angular-grid-npm). This makes it easy to integrate the grid into your application and display data from a variety of sources. In addition to its data binding capabilities, the Angular Data Grid also offers support for features such as sorting, filtering, paging, grouping, editing, frozen rows and columns, virtualization, and more. These features allow you to easily manipulate and present large datasets in an efficient and user-friendly way.
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
6
|
<a href="https://ej2.syncfusion.com/angular/documentation/grid/getting-started/?utm_source=npm&utm_medium=listing&utm_campaign=angular-grid-npm">Getting Started</a> .
|
|
@@ -13,7 +13,7 @@ The [Angular Data Grid](https://www.syncfusion.com/angular-ui-components/angular
|
|
|
13
13
|
<p align="center">
|
|
14
14
|
Trusted by the world's leading companies
|
|
15
15
|
<a href="https://www.syncfusion.com">
|
|
16
|
-
<img src="https://
|
|
16
|
+
<img src="https://ej2.syncfusion.com/home/images/trusted_companies.png" alt="Bootstrap logo">
|
|
17
17
|
</a>
|
|
18
18
|
</p>
|
|
19
19
|
|
|
@@ -34,9 +34,9 @@ ng new my-app
|
|
|
34
34
|
cd my-app
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
### Adding Syncfusion Grid package
|
|
37
|
+
### Adding Syncfusion<sup>®</sup> Grid package
|
|
38
38
|
|
|
39
|
-
All Syncfusion Angular packages are available in [npmjs.com](https://www.npmjs.com/~syncfusionorg). To install the Angular grid package, use the following command.
|
|
39
|
+
All Syncfusion<sup>®</sup> Angular packages are available in [npmjs.com](https://www.npmjs.com/~syncfusionorg). To install the Angular grid package, use the following command.
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
42
|
ng add @syncfusion/ej2-angular-grids
|
|
@@ -46,13 +46,13 @@ The above command does the below configuration to your Angular app.
|
|
|
46
46
|
|
|
47
47
|
* Adds `@syncfusion/ej2-angular-grids` package and its peer dependencies to your `package.json` file.
|
|
48
48
|
* Imports the `GridModule` in your application module `app.module.ts`.
|
|
49
|
-
* Registers the Syncfusion
|
|
49
|
+
* Registers the Syncfusion<sup>®</sup> UI default theme (material) in the `angular.json` file.
|
|
50
50
|
|
|
51
|
-
This makes it easy to add the Syncfusion Angular Grids module to your project and start using it in your application.
|
|
51
|
+
This makes it easy to add the Syncfusion<sup>®</sup> Angular Grids module to your project and start using it in your application.
|
|
52
52
|
|
|
53
53
|
### Add Grid component
|
|
54
54
|
|
|
55
|
-
In **src/app/app.component.ts**, use `<ejs-grid>` selector in the `template` attribute of the `@Component` directive to render the Syncfusion
|
|
55
|
+
In **src/app/app.component.ts**, use `<ejs-grid>` selector in the `template` attribute of the `@Component` directive to render the Syncfusion<sup>®</sup> Angular Grid component.
|
|
56
56
|
|
|
57
57
|
```typescript
|
|
58
58
|
import { Component, OnInit } from '@angular/core';
|
|
@@ -123,6 +123,14 @@ Grid component is also offered in the following list of frameworks.
|
|
|
123
123
|
* [Accessibility](https://ej2.syncfusion.com/angular/documentation/grid/accessibility/?utm_source=npm&utm_medium=listing&utm_campaign=angular-grid-npm#wai-aria): Designed to be accessible to users with disabilities, with features such as WAI-ARIA standard compliance and keyboard navigation to ensure that the grid can be effectively used with assistive technologies such as screen readers.
|
|
124
124
|
* [Localization](https://ej2.syncfusion.com/angular/documentation/grid/global-local/?utm_source=npm&utm_medium=listing&utm_campaign=angular-grid-npm#localization): The Localization library enables you to adapt the default text content of the grid to fit the language and cultural preferences of your target audience.
|
|
125
125
|
|
|
126
|
+
## Resources
|
|
127
|
+
|
|
128
|
+
* [Documentation](https://ej2.syncfusion.com/angular/documentation/grid/getting-started)
|
|
129
|
+
* [Theme Studio](https://ej2.syncfusion.com/themestudio/)
|
|
130
|
+
* [What's New](https://www.syncfusion.com/products/whatsnew/angular?utm_medium=listing&utm_source=github)
|
|
131
|
+
* [Road Map](https://www.syncfusion.com/products/roadmap/angular)
|
|
132
|
+
* [E-Books](https://www.syncfusion.com/succinctly-free-ebooks?searchkey=angular&type=all)
|
|
133
|
+
|
|
126
134
|
## Support
|
|
127
135
|
|
|
128
136
|
Product support is available through the following mediums.
|
|
@@ -139,7 +147,7 @@ Check the changelog [here](https://github.com/syncfusion/ej2-angular-ui-componen
|
|
|
139
147
|
|
|
140
148
|
## License and copyright
|
|
141
149
|
|
|
142
|
-
> This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's [EULA](https://www.syncfusion.com/eula/es/). To acquire a license for
|
|
150
|
+
> This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's [EULA](https://www.syncfusion.com/eula/es/). To acquire a license for 140+ [Angular UI components](https://www.syncfusion.com/angular-components), you can [purchase](https://www.syncfusion.com/sales/products) or [start a free 30-day trial](https://www.syncfusion.com/account/manage-trials/start-trials).
|
|
143
151
|
|
|
144
152
|
> A free community [license](https://www.syncfusion.com/products/communitylicense) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
|
|
145
153
|
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './src/index';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9pbmRleCc7Il19
|
|
@@ -0,0 +1,84 @@
|
|
|
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', 'groupCaptionTemplate', 'groupFooterTemplate', 'type'];
|
|
7
|
+
let outputs = [];
|
|
8
|
+
/**
|
|
9
|
+
* `e-aggregate->e-column` directive represent a aggregate column of the Angular Grid.
|
|
10
|
+
* ```html
|
|
11
|
+
* <ejs-grid [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-grid>
|
|
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-grid>e-aggregates>e-aggregate>e-columns>e-column", inputs: { columnName: "columnName", customAggregate: "customAggregate", field: "field", footerTemplate: "footerTemplate", format: "format", groupCaptionTemplate: "groupCaptionTemplate", groupFooterTemplate: "groupFooterTemplate", type: "type" }, queries: [{ propertyName: "footerTemplate", first: true, predicate: ["footerTemplate"], descendants: true }, { propertyName: "groupFooterTemplate", first: true, predicate: ["groupFooterTemplate"], descendants: true }, { propertyName: "groupCaptionTemplate", first: true, predicate: ["groupCaptionTemplate"], descendants: true }], usesInheritance: true, ngImport: i0 });
|
|
37
|
+
__decorate([
|
|
38
|
+
Template()
|
|
39
|
+
], AggregateColumnDirective.prototype, "footerTemplate", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
Template()
|
|
42
|
+
], AggregateColumnDirective.prototype, "groupFooterTemplate", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
Template()
|
|
45
|
+
], AggregateColumnDirective.prototype, "groupCaptionTemplate", void 0);
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregateColumnDirective, decorators: [{
|
|
47
|
+
type: Directive,
|
|
48
|
+
args: [{
|
|
49
|
+
selector: 'ejs-grid>e-aggregates>e-aggregate>e-columns>e-column',
|
|
50
|
+
inputs: input,
|
|
51
|
+
outputs: outputs,
|
|
52
|
+
queries: {}
|
|
53
|
+
}]
|
|
54
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { footerTemplate: [{
|
|
55
|
+
type: ContentChild,
|
|
56
|
+
args: ['footerTemplate']
|
|
57
|
+
}], groupFooterTemplate: [{
|
|
58
|
+
type: ContentChild,
|
|
59
|
+
args: ['groupFooterTemplate']
|
|
60
|
+
}], groupCaptionTemplate: [{
|
|
61
|
+
type: ContentChild,
|
|
62
|
+
args: ['groupCaptionTemplate']
|
|
63
|
+
}] } });
|
|
64
|
+
/**
|
|
65
|
+
* AggregateColumn Array Directive
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
68
|
+
export class AggregateColumnsDirective extends ArrayBase {
|
|
69
|
+
constructor() {
|
|
70
|
+
super('columns');
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
AggregateColumnsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregateColumnsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
74
|
+
AggregateColumnsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: AggregateColumnsDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns", queries: [{ propertyName: "children", predicate: AggregateColumnDirective }], usesInheritance: true, ngImport: i0 });
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregateColumnsDirective, decorators: [{
|
|
76
|
+
type: Directive,
|
|
77
|
+
args: [{
|
|
78
|
+
selector: 'ejs-grid>e-aggregates>e-aggregate>e-columns',
|
|
79
|
+
queries: {
|
|
80
|
+
children: new ContentChildren(AggregateColumnDirective)
|
|
81
|
+
},
|
|
82
|
+
}]
|
|
83
|
+
}], ctorParameters: function () { return []; } });
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRlLWNvbHVtbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dyaWQvYWdncmVnYXRlLWNvbHVtbnMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQixlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFHeEQsSUFBSSxLQUFLLEdBQWEsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNwSixJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7QUFDM0I7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBU0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLFdBQXFDO0lBOEYvRSxZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBRWpELFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7O3FIQW5HUSx3QkFBd0I7eUdBQXhCLHdCQUF3QjtBQThEakM7SUFEQyxRQUFRLEVBQUU7Z0VBQ2dCO0FBZTNCO0lBREMsUUFBUSxFQUFFO3FFQUNxQjtBQWVoQztJQURDLFFBQVEsRUFBRTtzRUFDc0I7MkZBNUZ4Qix3QkFBd0I7a0JBUnBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNEQUFzRDtvQkFDaEUsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRSxFQUVSO2lCQUNKO3VHQStEVSxjQUFjO3NCQUZwQixZQUFZO3VCQUFDLGdCQUFnQjtnQkFpQnZCLG1CQUFtQjtzQkFGekIsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBaUI1QixvQkFBb0I7c0JBRjFCLFlBQVk7dUJBQUMsc0JBQXNCOztBQVl4Qzs7O0dBR0c7QUFPSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsU0FBb0M7SUFDL0U7UUFDSSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckIsQ0FBQzs7c0hBSFEseUJBQXlCOzBHQUF6Qix5QkFBeUIsNEdBSEEsd0JBQXdCOzJGQUdqRCx5QkFBeUI7a0JBTnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDZDQUE2QztvQkFDdkQsT0FBTyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDMUQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYsIENvbnRlbnRDaGlsZHJlbiwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wbGV4QmFzZSwgQXJyYXlCYXNlLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcblxuXG5sZXQgaW5wdXQ6IHN0cmluZ1tdID0gWydjb2x1bW5OYW1lJywgJ2N1c3RvbUFnZ3JlZ2F0ZScsICdmaWVsZCcsICdmb290ZXJUZW1wbGF0ZScsICdmb3JtYXQnLCAnZ3JvdXBDYXB0aW9uVGVtcGxhdGUnLCAnZ3JvdXBGb290ZXJUZW1wbGF0ZScsICd0eXBlJ107XG5sZXQgb3V0cHV0czogc3RyaW5nW10gPSBbXTtcbi8qKlxuICogYGUtYWdncmVnYXRlLT5lLWNvbHVtbmAgZGlyZWN0aXZlIHJlcHJlc2VudCBhIGFnZ3JlZ2F0ZSBjb2x1bW4gb2YgdGhlIEFuZ3VsYXIgR3JpZC4gXG4gKiBgYGBodG1sXG4gKiA8ZWpzLWdyaWQgW2RhdGFTb3VyY2VdPSdkYXRhJyBhbGxvd1BhZ2luZz0ndHJ1ZScgYWxsb3dTb3J0aW5nPSd0cnVlJz4gXG4gKiAgIDxlLWNvbHVtbnM+XG4gKiAgICAgPGUtY29sdW1uIGZpZWxkPSdJRCcgd2lkdGg9JzEwMCc+PC9lLWNvbHVtbj5cbiAqICAgICA8ZS1jb2x1bW4gZmllbGQ9J25hbWUnIGhlYWRlclRleHQ9J05hbWUnIHdpZHRoPScxMDAnPjwvZS1jb2x1bW4+XG4gKiAgIDwvZS1jb2x1bW5zPlxuICogICA8ZS1hZ2dyZWdhdGVzPlxuICogICAgIDxlLWFnZ3JlZ2F0ZT5cbiAqICAgICAgIDxlLWNvbHVtbnM+XG4gKiAgICAgICAgIDxlLWNvbHVtbiBmaWVsZD0nSUQnIHR5cGU9J01pbic+PC9lLWNvbHVtbj5cbiAqICAgICAgIDwvZS1jb2x1bW5zPlxuICogICAgICA8L2UtYWdncmVnYXRlPlxuICogICAgPC9lLWFnZ3JlZ2F0ZXM+XG4gKiA8L2Vqcy1ncmlkPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLWdyaWQ+ZS1hZ2dyZWdhdGVzPmUtYWdncmVnYXRlPmUtY29sdW1ucz5lLWNvbHVtbicsXG4gICAgaW5wdXRzOiBpbnB1dCxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLCAgICBcbiAgICBxdWVyaWVzOiB7XG5cbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEFnZ3JlZ2F0ZUNvbHVtbkRpcmVjdGl2ZSBleHRlbmRzIENvbXBsZXhCYXNlPEFnZ3JlZ2F0ZUNvbHVtbkRpcmVjdGl2ZT4ge1xuICAgIHB1YmxpYyBkaXJlY3RpdmVQcm9wTGlzdDogYW55O1xuXHRcblxuXG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIGFnZ3JlZ2F0ZSB0eXBlIG9mIGEgcGFydGljdWxhciBjb2x1bW4uIFxuICAgICAqIFRvIHVzZSBtdWx0aXBsZSBhZ2dyZWdhdGVzIGZvciBzaW5nbGUgY29sdW1uLCBzcGVjaWZ5IHRoZSBgdHlwZWAgYXMgYXJyYXkuIFxuICAgICAqIFR5cGVzIG9mIGFnZ3JlZ2F0ZSBhcmUsIFxuICAgICAqICogc3VtIFxuICAgICAqICogYXZlcmFnZSBcbiAgICAgKiAqIG1heCBcbiAgICAgKiAqIG1pbiBcbiAgICAgKiAqIGNvdW50IFxuICAgICAqICogdHJ1ZWNvdW50IFxuICAgICAqICogZmFsc2Vjb3VudCBcbiAgICAgKiAqIGN1c3RvbSBcbiAgICAgKiA+IFNwZWNpZnkgdGhlIGB0eXBlYCB2YWx1ZSBhcyBgY3VzdG9tYCB0byB1c2UgY3VzdG9tIGFnZ3JlZ2F0aW9uLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgdHlwZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBjb2x1bW4gbmFtZSB0byBkaXNwbGF5IHRoZSBhZ2dyZWdhdGUgdmFsdWUuIElmIGBjb2x1bW5OYW1lYCBpcyBub3QgZGVmaW5lZCwgXG4gICAgICogdGhlbiBgZmllbGRgIG5hbWUgdmFsdWUgd2lsbCBiZSBhc3NpZ25lZCB0byB0aGUgYGNvbHVtbk5hbWVgIHByb3BlcnR5LlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgY29sdW1uTmFtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIGEgZnVuY3Rpb24gdG8gY2FsY3VsYXRlIGN1c3RvbSBhZ2dyZWdhdGUgdmFsdWUuIFRoZSBgdHlwZWAgdmFsdWUgc2hvdWxkIGJlIHNldCB0byBgY3VzdG9tYC4gXG4gICAgICogVG8gdXNlIGN1c3RvbSBhZ2dyZWdhdGUgdmFsdWUgaW4gdGhlIHRlbXBsYXRlLCB1c2UgdGhlIGtleSBhcyBgJHtjdXN0b219YC4gXG4gICAgICogKipUb3RhbCBhZ2dyZWdhdGlvbioqOiBUaGUgY3VzdG9tIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlIHdob2xlIGRhdGEgYW5kIHRoZSBjdXJyZW50IGBBZ2dyZWdhdGVDb2x1bW5gIG9iamVjdC4gXG4gICAgICogKipHcm91cCBhZ2dyZWdhdGlvbioqOiBUaGlzIHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlIGN1cnJlbnQgZ3JvdXAgZGV0YWlscyBhbmQgdGhlIGBBZ2dyZWdhdGVDb2x1bW5gIG9iamVjdC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGN1c3RvbUFnZ3JlZ2F0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBjb2x1bW4gbmFtZSB0byBwZXJmb3JtIGFnZ3JlZ2F0aW9uLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgZmllbGQ6IGFueTtcbiAgICAvKiogXG4gICAgICogRm9ybWF0IGlzIGFwcGxpZWQgdG8gYSBjYWxjdWxhdGVkIHZhbHVlIGJlZm9yZSBpdCBpcyBkaXNwbGF5ZWQuIFxuICAgICAqIEdldHMgdGhlIGZvcm1hdCBmcm9tIHRoZSB1c2VyLCB3aGljaCBjYW4gYmUgc3RhbmRhcmQgb3IgY3VzdG9tIFxuICAgICAqIFtgbnVtYmVyYF0oLi4vLi4vY29tbW9uL2ludGVybmF0aW9uYWxpemF0aW9uLyNtYW5pcHVsYXRpbmctbnVtYmVycykgXG4gICAgICogYW5kIFtgZGF0ZWBdKC4uLy4uL2NvbW1vbi9pbnRlcm5hdGlvbmFsaXphdGlvbi8jbWFuaXB1bGF0aW5nLW51bWJlcnMpIGZvcm1hdHMuXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICogQGJsYXpvcnR5cGUgc3RyaW5nXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBmb3JtYXQ6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgZm9vdGVyIGNlbGwgdGVtcGxhdGUgYXMgYSBzdHJpbmcgZm9yIHRoZSBhZ2dyZWdhdGUgY29sdW1uLiBcbiAgICAgKiBUaGUgYHR5cGVgIG5hbWUgc2hvdWxkIGJlIHVzZWQgdG8gYWNjZXNzIGFnZ3JlZ2F0ZSB2YWx1ZXMgaW5zaWRlIHRoZSB0ZW1wbGF0ZS5cbiAgICAgKiBcbiAgICAgKiB7JSBjb2RlQmxvY2sgc3JjPVwiZ3JpZC9mb290ZXItdGVtcGxhdGUtYXBpL2luZGV4LnRzXCIgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2Zvb3RlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBmb290ZXJUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBncm91cCBmb290ZXIgY2VsbCB0ZW1wbGF0ZSBhcyBhIHN0cmluZyBmb3IgdGhlIGFnZ3JlZ2F0ZSBjb2x1bW4uIFxuICAgICAqIFRoZSBgdHlwZWAgbmFtZSBzaG91bGQgYmUgdXNlZCB0byBhY2Nlc3MgYWdncmVnYXRlIHZhbHVlcyBpbnNpZGUgdGhlIHRlbXBsYXRlLiBcbiAgICAgKiBBZGRpdGlvbmFsbHksIHRoZSBmb2xsb3dpbmcgZmllbGRzIGNhbiBiZSBhY2Nlc3NlZCBpbiB0aGUgdGVtcGxhdGUuIFxuICAgICAqICogKipmaWVsZCoqOiBUaGUgY3VycmVudCBncm91cGVkIGZpZWxkLiBcbiAgICAgKiAqICoqa2V5Kio6IFRoZSBjdXJyZW50IGdyb3VwZWQgdmFsdWUuXG4gICAgICogXG4gICAgICogeyUgY29kZUJsb2NrIHNyYz1cImdyaWQvZ3JvdXAtZm9vdGVyLWFwaS9pbmRleC50c1wiICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdncm91cEZvb3RlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBncm91cEZvb3RlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIGdyb3VwIGNhcHRpb24gY2VsbCB0ZW1wbGF0ZSBhcyBhIHN0cmluZyBmb3IgdGhlIGFnZ3JlZ2F0ZSBjb2x1bW4uIFxuICAgICAqIFRoZSBgdHlwZWAgbmFtZSBzaG91bGQgYmUgdXNlZCB0byBhY2Nlc3MgYWdncmVnYXRlIHZhbHVlcyBpbnNpZGUgdGhlIHRlbXBsYXRlLiBcbiAgICAgKiBBZGRpdGlvbmFsbHksIHRoZSBmb2xsb3dpbmcgZmllbGRzIGNhbiBiZSBhY2Nlc3NlZCBpbiB0aGUgdGVtcGxhdGUuIFxuICAgICAqICogKipmaWVsZCoqOiBUaGUgY3VycmVudCBncm91cGVkIGZpZWxkIG5hbWUuIFxuICAgICAqICogKiprZXkqKjogVGhlIGN1cnJlbnQgZ3JvdXBlZCBmaWVsZCB2YWx1ZS5cbiAgICAgKiBcbiAgICAgKiB7JSBjb2RlQmxvY2sgc3JjPVwiZ3JpZC9ncm91cC1jYXB0aW9uLWFwaS9pbmRleC50c1wiICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdncm91cENhcHRpb25UZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZ3JvdXBDYXB0aW9uVGVtcGxhdGU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjpWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHNldFZhbHVlKCdjdXJyZW50SW5zdGFuY2UnLCB0aGlzLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmRpcmVjdGl2ZVByb3BMaXN0ID0gaW5wdXQ7XG4gICAgfVxufVxuXG4vKipcbiAqIEFnZ3JlZ2F0ZUNvbHVtbiBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLWdyaWQ+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'];
|
|
6
|
+
let outputs = [];
|
|
7
|
+
/**
|
|
8
|
+
* `e-aggregate` directive represent a aggregate row of the Angular Grid.
|
|
9
|
+
* It must be contained in a Grid component(`ejs-grid`).
|
|
10
|
+
* ```html
|
|
11
|
+
* <ejs-grid [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-grid>
|
|
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-grid>e-aggregates>e-aggregate", inputs: { columns: "columns" }, 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-grid>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-grid>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-grid>e-aggregates',
|
|
64
|
+
queries: {
|
|
65
|
+
children: new ContentChildren(AggregateDirective)
|
|
66
|
+
},
|
|
67
|
+
}]
|
|
68
|
+
}], ctorParameters: function () { return []; } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRlcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JpZC9hZ2dyZWdhdGVzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQixlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUUxRSxJQUFJLEtBQUssR0FBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2xDLElBQUksT0FBTyxHQUFhLEVBQUUsQ0FBQztBQUMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBU0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQStCO0lBV25FLFlBQW9CLGdCQUFpQztRQUNqRCxLQUFLLEVBQUUsQ0FBQztRQURRLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFQOUMsU0FBSSxHQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFTaEMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQzs7K0dBaEJRLGtCQUFrQjttR0FBbEIsa0JBQWtCLG1KQUhRLHlCQUF5QjsyRkFHbkQsa0JBQWtCO2tCQVI5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQ0FBbUM7b0JBQzdDLE1BQU0sRUFBRSxLQUFLO29CQUNiLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUU7d0JBQ0wsWUFBWSxFQUFFLElBQUksWUFBWSxDQUFDLHlCQUF5QixDQUFDO3FCQUM1RDtpQkFDSjs7QUFvQkQ7OztHQUdHO0FBT0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQThCO0lBQ25FO1FBQ0ksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7O2dIQUhRLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHNGQUhNLGtCQUFrQjsyRkFHM0MsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLE9BQU8sRUFBRTt3QkFDTCxRQUFRLEVBQUUsSUFBSSxlQUFlLENBQUMsa0JBQWtCLENBQUM7cUJBQ3BEO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBDb250ZW50Q2hpbGRyZW4sIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGxleEJhc2UsIEFycmF5QmFzZSwgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcblxuaW1wb3J0IHsgQWdncmVnYXRlQ29sdW1uc0RpcmVjdGl2ZSB9IGZyb20gJy4vYWdncmVnYXRlLWNvbHVtbnMuZGlyZWN0aXZlJztcblxubGV0IGlucHV0OiBzdHJpbmdbXSA9IFsnY29sdW1ucyddO1xubGV0IG91dHB1dHM6IHN0cmluZ1tdID0gW107XG4vKipcbiAqIGBlLWFnZ3JlZ2F0ZWAgZGlyZWN0aXZlIHJlcHJlc2VudCBhIGFnZ3JlZ2F0ZSByb3cgb2YgdGhlIEFuZ3VsYXIgR3JpZC4gXG4gKiBJdCBtdXN0IGJlIGNvbnRhaW5lZCBpbiBhIEdyaWQgY29tcG9uZW50KGBlanMtZ3JpZGApLiBcbiAqIGBgYGh0bWxcbiAqIDxlanMtZ3JpZCBbZGF0YVNvdXJjZV09J2RhdGEnIGFsbG93UGFnaW5nPSd0cnVlJyBhbGxvd1NvcnRpbmc9J3RydWUnPiBcbiAqICAgPGUtY29sdW1ucz5cbiAqICAgICA8ZS1jb2x1bW4gZmllbGQ9J0lEJyB3aWR0aD0nMTAwJz48L2UtY29sdW1uPlxuICogICAgIDxlLWNvbHVtbiBmaWVsZD0nbmFtZScgaGVhZGVyVGV4dD0nTmFtZScgd2lkdGg9JzEwMCc+PC9lLWNvbHVtbj5cbiAqICAgPC9lLWNvbHVtbnM+XG4gKiAgIDxlLWFnZ3JlZ2F0ZXM+XG4gKiAgICAgPGUtYWdncmVnYXRlPlxuICogICAgICAgPGUtY29sdW1ucz5cbiAqICAgICAgICAgPGUtY29sdW1uIGZpZWxkPSdJRCcgdHlwZT0nTWluJz48L2UtY29sdW1uPlxuICogICAgICAgPC9lLWNvbHVtbnM+XG4gKiAgICAgIDwvZS1hZ2dyZWdhdGU+XG4gKiAgICA8L2UtYWdncmVnYXRlcz5cbiAqIDwvZWpzLWdyaWQ+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlanMtZ3JpZD5lLWFnZ3JlZ2F0ZXM+ZS1hZ2dyZWdhdGUnLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZENvbHVtbnM6IG5ldyBDb250ZW50Q2hpbGQoQWdncmVnYXRlQ29sdW1uc0RpcmVjdGl2ZSlcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEFnZ3JlZ2F0ZURpcmVjdGl2ZSBleHRlbmRzIENvbXBsZXhCYXNlPEFnZ3JlZ2F0ZURpcmVjdGl2ZT4ge1xuICAgIHB1YmxpYyBkaXJlY3RpdmVQcm9wTGlzdDogYW55O1xuXHRcbiAgICBwdWJsaWMgY2hpbGRDb2x1bW5zOiBhbnk7XG4gICAgcHVibGljIHRhZ3M6IHN0cmluZ1tdID0gWydjb2x1bW5zJ107XG4gICAgLyoqIFxuICAgICAqIENvbmZpZ3VyZXMgdGhlIGFnZ3JlZ2F0ZSBjb2x1bW5zLlxuICAgICAqIEBkZWZhdWx0IFtdXG4gICAgICovXG4gICAgcHVibGljIGNvbHVtbnM6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjpWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHNldFZhbHVlKCdjdXJyZW50SW5zdGFuY2UnLCB0aGlzLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmRpcmVjdGl2ZVByb3BMaXN0ID0gaW5wdXQ7XG4gICAgfVxufVxuXG4vKipcbiAqIEFnZ3JlZ2F0ZSBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLWdyaWQ+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', 'allowGrouping', 'allowReordering', 'allowResizing', 'allowSearching', 'allowSorting', 'autoFit', 'clipMode', 'columns', 'commands', 'customAttributes', 'dataSource', 'defaultValue', 'disableHtmlEncode', 'displayAsCheckBox', 'edit', 'editTemplate', 'editType', 'enableColumnSpan', 'enableGroupByFormat', 'enableRowSpan', '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', 'templateOptions', 'textAlign', 'type', 'uid', 'validationRules', 'valueAccessor', 'visible', 'width'];
|
|
8
|
+
let outputs = [];
|
|
9
|
+
/**
|
|
10
|
+
* `e-column` directive represent a column of the Angular Grid.
|
|
11
|
+
* It must be contained in a Grid component(`ejs-grid`).
|
|
12
|
+
* ```html
|
|
13
|
+
* <ejs-grid [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-grid>
|
|
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-grid>e-columns>e-column", inputs: { allowEditing: "allowEditing", allowFiltering: "allowFiltering", allowGrouping: "allowGrouping", allowReordering: "allowReordering", allowResizing: "allowResizing", allowSearching: "allowSearching", allowSorting: "allowSorting", autoFit: "autoFit", clipMode: "clipMode", columns: "columns", commands: "commands", customAttributes: "customAttributes", dataSource: "dataSource", defaultValue: "defaultValue", disableHtmlEncode: "disableHtmlEncode", displayAsCheckBox: "displayAsCheckBox", edit: "edit", editTemplate: "editTemplate", editType: "editType", enableColumnSpan: "enableColumnSpan", enableGroupByFormat: "enableGroupByFormat", enableRowSpan: "enableRowSpan", field: "field", filter: "filter", filterBarTemplate: "filterBarTemplate", filterTemplate: "filterTemplate", foreignKeyField: "foreignKeyField", foreignKeyValue: "foreignKeyValue", format: "format", formatter: "formatter", freeze: "freeze", headerTemplate: "headerTemplate", headerText: "headerText", headerTextAlign: "headerTextAlign", headerValueAccessor: "headerValueAccessor", hideAtMedia: "hideAtMedia", index: "index", isFrozen: "isFrozen", isIdentity: "isIdentity", isPrimaryKey: "isPrimaryKey", lockColumn: "lockColumn", maxWidth: "maxWidth", minWidth: "minWidth", showColumnMenu: "showColumnMenu", showInColumnChooser: "showInColumnChooser", sortComparer: "sortComparer", template: "template", templateOptions: "templateOptions", 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: "commandsTemplate", first: true, predicate: ["commandsTemplate"], descendants: true }, { propertyName: "filter_itemTemplate", first: true, predicate: ["filterItemTemplate"], descendants: true }, { propertyName: "editTemplate", first: true, predicate: ["editTemplate"], descendants: true }, { propertyName: "filterTemplate", first: true, predicate: ["filterTemplate"], 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, "commandsTemplate", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
Template()
|
|
44
|
+
], ColumnDirective.prototype, "filter_itemTemplate", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
Template()
|
|
47
|
+
], ColumnDirective.prototype, "editTemplate", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
Template()
|
|
50
|
+
], ColumnDirective.prototype, "filterTemplate", 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-grid>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
|
+
}], commandsTemplate: [{
|
|
68
|
+
type: ContentChild,
|
|
69
|
+
args: ['commandsTemplate']
|
|
70
|
+
}], filter_itemTemplate: [{
|
|
71
|
+
type: ContentChild,
|
|
72
|
+
args: ['filterItemTemplate']
|
|
73
|
+
}], editTemplate: [{
|
|
74
|
+
type: ContentChild,
|
|
75
|
+
args: ['editTemplate']
|
|
76
|
+
}], filterTemplate: [{
|
|
77
|
+
type: ContentChild,
|
|
78
|
+
args: ['filterTemplate']
|
|
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-grid>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-grid>e-columns',
|
|
95
|
+
queries: {
|
|
96
|
+
children: new ContentChildren(ColumnDirective)
|
|
97
|
+
},
|
|
98
|
+
}]
|
|
99
|
+
}], ctorParameters: function () { return []; } });
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JpZC9jb2x1bW5zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRXJFLElBQUksS0FBSyxHQUFhLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN6MUIsSUFBSSxPQUFPLEdBQWEsRUFBRSxDQUFDO0FBQzNCOzs7Ozs7Ozs7OztHQVdHO0FBU0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsV0FBNEI7SUFxZDdELFlBQW9CLGdCQUFpQztRQUNqRCxLQUFLLEVBQUUsQ0FBQztRQURRLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFqZDlDLFNBQUksR0FBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBbWRoQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDOzs0R0ExZFEsZUFBZTtnR0FBZixlQUFlLDh0RUFIVyx1QkFBdUI7QUFzYjFEO0lBREMsUUFBUSxFQUFFO2lEQUNVO0FBUXJCO0lBREMsUUFBUSxFQUFFO3VEQUNnQjtBQUczQjtJQURDLFFBQVEsRUFBRTt5REFDa0I7QUFHN0I7SUFEQyxRQUFRLEVBQUU7NERBQ3FCO0FBU2hDO0lBREMsUUFBUSxFQUFFO3FEQUNjO0FBU3pCO0lBREMsUUFBUSxFQUFFO3VEQUNnQjsyRkFuZGxCLGVBQWU7a0JBUjNCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRTt3QkFDTCxZQUFZLEVBQUUsSUFBSSxZQUFZLENBQUMsdUJBQXVCLENBQUM7cUJBQzFEO2lCQUNKO3VHQW9iVSxRQUFRO3NCQUZkLFlBQVk7dUJBQUMsVUFBVTtnQkFVakIsY0FBYztzQkFGcEIsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBS3ZCLGdCQUFnQjtzQkFGdEIsWUFBWTt1QkFBQyxrQkFBa0I7Z0JBS3pCLG1CQUFtQjtzQkFGekIsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBVzNCLFlBQVk7c0JBRmxCLFlBQVk7dUJBQUMsY0FBYztnQkFXckIsY0FBYztzQkFGcEIsWUFBWTt1QkFBQyxnQkFBZ0I7O0FBWWxDOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxTQUEyQjtJQUM3RDtRQUNJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQixDQUFDOzs2R0FIUSxnQkFBZ0I7aUdBQWhCLGdCQUFnQixtRkFIUyxlQUFlOzJGQUd4QyxnQkFBZ0I7a0JBTjVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsT0FBTyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBQyxlQUFlLENBQUM7cUJBQ2pEO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBDb250ZW50Q2hpbGRyZW4sIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGxleEJhc2UsIEFycmF5QmFzZSwgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5pbXBvcnQgeyBTdGFja2VkQ29sdW1uc0RpcmVjdGl2ZSB9IGZyb20gJy4vc3RhY2tlZC1jb2x1bW4uZGlyZWN0aXZlJztcblxubGV0IGlucHV0OiBzdHJpbmdbXSA9IFsnYWxsb3dFZGl0aW5nJywgJ2FsbG93RmlsdGVyaW5nJywgJ2FsbG93R3JvdXBpbmcnLCAnYWxsb3dSZW9yZGVyaW5nJywgJ2FsbG93UmVzaXppbmcnLCAnYWxsb3dTZWFyY2hpbmcnLCAnYWxsb3dTb3J0aW5nJywgJ2F1dG9GaXQnLCAnY2xpcE1vZGUnLCAnY29sdW1ucycsICdjb21tYW5kcycsICdjdXN0b21BdHRyaWJ1dGVzJywgJ2RhdGFTb3VyY2UnLCAnZGVmYXVsdFZhbHVlJywgJ2Rpc2FibGVIdG1sRW5jb2RlJywgJ2Rpc3BsYXlBc0NoZWNrQm94JywgJ2VkaXQnLCAnZWRpdFRlbXBsYXRlJywgJ2VkaXRUeXBlJywgJ2VuYWJsZUNvbHVtblNwYW4nLCAnZW5hYmxlR3JvdXBCeUZvcm1hdCcsICdlbmFibGVSb3dTcGFuJywgJ2ZpZWxkJywgJ2ZpbHRlcicsICdmaWx0ZXJCYXJUZW1wbGF0ZScsICdmaWx0ZXJUZW1wbGF0ZScsICdmb3JlaWduS2V5RmllbGQnLCAnZm9yZWlnbktleVZhbHVlJywgJ2Zvcm1hdCcsICdmb3JtYXR0ZXInLCAnZnJlZXplJywgJ2hlYWRlclRlbXBsYXRlJywgJ2hlYWRlclRleHQnLCAnaGVhZGVyVGV4dEFsaWduJywgJ2hlYWRlclZhbHVlQWNjZXNzb3InLCAnaGlkZUF0TWVkaWEnLCAnaW5kZXgnLCAnaXNGcm96ZW4nLCAnaXNJZGVudGl0eScsICdpc1ByaW1hcnlLZXknLCAnbG9ja0NvbHVtbicsICdtYXhXaWR0aCcsICdtaW5XaWR0aCcsICdzaG93Q29sdW1uTWVudScsICdzaG93SW5Db2x1bW5DaG9vc2VyJywgJ3NvcnRDb21wYXJlcicsICd0ZW1wbGF0ZScsICd0ZW1wbGF0ZU9wdGlvbnMnLCAndGV4dEFsaWduJywgJ3R5cGUnLCAndWlkJywgJ3ZhbGlkYXRpb25SdWxlcycsICd2YWx1ZUFjY2Vzc29yJywgJ3Zpc2libGUnLCAnd2lkdGgnXTtcbmxldCBvdXRwdXRzOiBzdHJpbmdbXSA9IFtdO1xuLyoqXG4gKiBgZS1jb2x1bW5gIGRpcmVjdGl2ZSByZXByZXNlbnQgYSBjb2x1bW4gb2YgdGhlIEFuZ3VsYXIgR3JpZC4gXG4gKiBJdCBtdXN0IGJlIGNvbnRhaW5lZCBpbiBhIEdyaWQgY29tcG9uZW50KGBlanMtZ3JpZGApLiBcbiAqIGBgYGh0bWxcbiAqIDxlanMtZ3JpZCBbZGF0YVNvdXJjZV09J2RhdGEnIGFsbG93UGFnaW5nPSd0cnVlJyBhbGxvd1NvcnRpbmc9J3RydWUnPiBcbiAqICAgPGUtY29sdW1ucz5cbiAqICAgIDxlLWNvbHVtbiBmaWVsZD0nSUQnIHdpZHRoPScxMDAnPjwvZS1jb2x1bW4+XG4gKiAgICA8ZS1jb2x1bW4gZmllbGQ9J25hbWUnIGhlYWRlclRleHQ9J05hbWUnIHdpZHRoPScxMDAnPjwvZS1jb2x1bW4+XG4gKiAgIDwvZS1jb2x1bW5zPlxuICogPC9lanMtZ3JpZD5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Vqcy1ncmlkPmUtY29sdW1ucz5lLWNvbHVtbicsXG4gICAgaW5wdXRzOiBpbnB1dCxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLCAgICBcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkQ29sdW1uczogbmV3IENvbnRlbnRDaGlsZChTdGFja2VkQ29sdW1uc0RpcmVjdGl2ZSlcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIENvbHVtbkRpcmVjdGl2ZSBleHRlbmRzIENvbXBsZXhCYXNlPENvbHVtbkRpcmVjdGl2ZT4ge1xuICAgIHB1YmxpYyBkaXJlY3RpdmVQcm9wTGlzdDogYW55O1xuXHRcbiAgICBwdWJsaWMgY2hpbGRDb2x1bW5zOiBhbnk7XG4gICAgcHVibGljIHRhZ3M6IHN0cmluZ1tdID0gWydjb2x1bW5zJ107XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIGRhdGEgdHlwZSBvZiB0aGUgY29sdW1uLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgdHlwZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBgYWxsb3dFZGl0aW5nYCBzZXQgdG8gZmFsc2UsIHRoZW4gaXQgZGlzYWJsZXMgZWRpdGluZyBvZiBhIHBhcnRpY3VsYXIgY29sdW1uLiBcbiAgICAgKiBCeSBkZWZhdWx0IGFsbCBjb2x1bW5zIGFyZSBlZGl0YWJsZS5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIGFsbG93RWRpdGluZzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBgYWxsb3dGaWx0ZXJpbmdgIHNldCB0byBmYWxzZSwgdGhlbiBpdCBkaXNhYmxlcyBmaWx0ZXJpbmcgb3B0aW9uIGFuZCBmaWx0ZXIgYmFyIGVsZW1lbnQgb2YgYSBwYXJ0aWN1bGFyIGNvbHVtbi4gXG4gICAgICogQnkgZGVmYXVsdCBhbGwgY29sdW1ucyBhcmUgZmlsdGVyYWJsZS5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIGFsbG93RmlsdGVyaW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIElmIGBhbGxvd0dyb3VwaW5nYCBzZXQgdG8gZmFsc2UsIHRoZW4gaXQgZGlzYWJsZXMgZ3JvdXBpbmcgb2YgYSBwYXJ0aWN1bGFyIGNvbHVtbi4gXG4gICAgICogQnkgZGVmYXVsdCBhbGwgY29sdW1ucyBhcmUgZ3JvdXBhYmxlLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWxsb3dHcm91cGluZzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBgYWxsb3dSZW9yZGVyaW5nYCBzZXQgdG8gZmFsc2UsIHRoZW4gaXQgZGlzYWJsZXMgcmVvcmRlciBvZiBhIHBhcnRpY3VsYXIgY29sdW1uLiBcbiAgICAgKiBCeSBkZWZhdWx0IGFsbCBjb2x1bW5zIGNhbiBiZSByZW9yZGVyLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWxsb3dSZW9yZGVyaW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIElmIGBhbGxvd1Jlc2l6aW5nYCBzZXQgdG8gZmFsc2UsIGl0IGRpc2FibGVzIHJlc2l6ZSBvcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGNvbHVtbi5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIGFsbG93UmVzaXppbmc6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgYGFsbG93U2VhcmNoaW5nYCBzZXQgdG8gZmFsc2UsIHRoZW4gaXQgZGlzYWJsZXMgU2VhcmNoaW5nIG9mIGEgcGFydGljdWxhciBjb2x1bW4uIFxuICAgICAqIEJ5IGRlZmF1bHQgYWxsIGNvbHVtbnMgYWxsb3cgU2VhcmNoaW5nLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWxsb3dTZWFyY2hpbmc6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgYGFsbG93U29ydGluZ2Agc2V0IHRvIGZhbHNlLCB0aGVuIGl0IGRpc2FibGVzIHNvcnRpbmcgb3B0aW9uIG9mIGEgcGFydGljdWxhciBjb2x1bW4uIFxuICAgICAqIEJ5IGRlZmF1bHQgYWxsIGNvbHVtbnMgYXJlIHNvcnRhYmxlLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWxsb3dTb3J0aW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIElmIGBhdXRvRml0YCBzZXQgdG8gdHJ1ZSwgdGhlbiB0aGUgcGFydGljdWxhciBjb2x1bW4gY29udGVudCB3aWR0aCB3aWxsIGJlIFxuICAgICAqIGFkanVzdGVkIGJhc2VkIG9uIGl0cyBjb250ZW50IGluIHRoZSBpbml0aWFsIHJlbmRlcmluZyBpdHNlbGYuIFxuICAgICAqIFNldHRpbmcgdGhpcyBwcm9wZXJ0eSBhcyB0cnVlIGlzIGVxdWl2YWxlbnQgdG8gY2FsbGluZyBgYXV0b0ZpdENvbHVtbnNgIG1ldGhvZCBpbiB0aGUgYGRhdGFCb3VuZGAgZXZlbnQuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgYXV0b0ZpdDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBjZWxsIGNvbnRlbnQncyBvdmVyZmxvdyBtb2RlLiBUaGUgYXZhaWxhYmxlIG1vZGVzIGFyZSBcbiAgICAgKiAqIGBDbGlwYCAtICBUcnVuY2F0ZXMgdGhlIGNlbGwgY29udGVudCB3aGVuIGl0IG92ZXJmbG93cyBpdHMgYXJlYS4gXG4gICAgICogKiBgRWxsaXBzaXNgIC0gIERpc3BsYXlzIGVsbGlwc2lzIHdoZW4gdGhlIGNlbGwgY29udGVudCBvdmVyZmxvd3MgaXRzIGFyZWEuIFxuICAgICAqICogYEVsbGlwc2lzV2l0aFRvb2x0aXBgIC0gRGlzcGxheXMgZWxsaXBzaXMgd2hlbiB0aGUgY2VsbCBjb250ZW50IG92ZXJmbG93cyBpdHMgYXJlYSBcbiAgICAgKiBhbHNvIGl0IHdpbGwgZGlzcGxheSB0b29sdGlwIHdoaWxlIGhvdmVyIG9uIGVsbGlwc2lzIGFwcGxpZWQgY2VsbC5cbiAgICAgKiBAZGVmYXVsdCBFbGxpcHNpc1xuICAgICAqL1xuICAgIHB1YmxpYyBjbGlwTW9kZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBVc2VkIHRvIHJlbmRlciBtdWx0aXBsZSBoZWFkZXIgcm93cyhzdGFja2VkIGhlYWRlcnMpIG9uIHRoZSBHcmlkIGhlYWRlci5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGNvbHVtbnM6IGFueTtcbiAgICAvKiogXG4gICAgICogYGNvbW1hbmRzYCBwcm92aWRlcyBhbiBvcHRpb24gdG8gZGlzcGxheSBjb21tYW5kIGJ1dHRvbnMgaW4gZXZlcnkgY2VsbC4gXG4gICAgICogVGhlIGF2YWlsYWJsZSBidWlsdC1pbiBjb21tYW5kIGJ1dHRvbnMgYXJlIFxuICAgICAqICogRWRpdCAtIEVkaXQgdGhlIHJlY29yZC4gXG4gICAgICogKiBEZWxldGUgLSBEZWxldGUgdGhlIHJlY29yZC4gXG4gICAgICogKiBTYXZlIC0gU2F2ZSB0aGUgcmVjb3JkLiBcbiAgICAgKiAqIENhbmNlbCAtIENhbmNlbCB0aGUgZWRpdCBzdGF0ZS5cbiAgICAgKiBcbiAgICAgKiBUaGUgZm9sbG93aW5nIGNvZGUgZXhhbXBsZSBpbXBsZW1lbnRzIHRoZSBjdXN0b20gY29tbWFuZCBjb2x1bW4uXG4gICAgICpgYGBodG1sXG4gICAgICo8c3R5bGUgdHlwZT1cInRleHQvY3NzXCIgY2xhc3M9XCJjc3NTdHlsZXNcIj5cbiAgICAgKi5kZXRhaWxzLWljb246YmVmb3JlXG4gICAgICp7XG4gICAgICogICBjb250ZW50OlwiXFxlNzRkXCI7XG4gICAgICp9XG4gICAgICo8L3N0eWxlPlxuICAgICAqPGRpdiBpZD1cIkdyaWRcIj48L2Rpdj5cbiAgICAgKmBgYFxuICAgICAqYGBgdHlwZXNjcmlwdFxuICAgICAqdmFyIGdyaWRPYmogPSBuZXcgR3JpZCh7XG4gICAgICpkYXRhc291cmNlOiB3aW5kb3cuZ3JpZERhdGEsXG4gICAgICpjb2x1bW5zIDogW1xuICAgICAqIHsgZmllbGQ6ICdDdXN0b21lcklEJywgaGVhZGVyVGV4dDogJ0N1c3RvbWVyIElEJyB9LFxuICAgICAqIHsgZmllbGQ6ICdDdXN0b21lck5hbWUnLCBoZWFkZXJUZXh0OiAnQ3VzdG9tZXIgTmFtZScgfSxcbiAgICAgKiB7Y29tbWFuZHM6IFt7YnV0dG9uT3B0aW9uOntjb250ZW50OiAnRGV0YWlscycsIGNsaWNrOiBvbkNsaWNrLCBjc3NDbGFzczogZGV0YWlscy1pY29ufX1dLCBoZWFkZXJUZXh0OiAnQ3VzdG9tZXIgRGV0YWlscyd9XG4gICAgICpdXG4gICAgICpncmlkT2JqLmFwcGVuZFRvKFwiI0dyaWRcIik7XG4gICAgICpgYGBcbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBjb21tYW5kczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgQ1NTIHN0eWxlcyBhbmQgYXR0cmlidXRlcyBvZiB0aGUgY29udGVudCBjZWxscyBvZiBhIHBhcnRpY3VsYXIgY29sdW1uIGNhbiBiZSBjdXN0b21pemVkLlxuICAgICAqIFxuICAgICAqIGBgYGh0bWxcbiAgICAgKjxkaXYgaWQ9XCJHcmlkXCI+PC9kaXY+XG4gICAgICpgYGBcbiAgICAgKmBgYHR5cGVzY3JpcHRcbiAgICAgKmxldCBncmlkT2JqOiBHcmlkID0gbmV3IEdyaWQoe1xuICAgICAqZGF0YVNvdXJjZTogZmlsdGVyRGF0YSxcbiAgICAgKmNvbHVtbnM6IFtcbiAgICAgKiAgIHsgZmllbGQ6ICdPcmRlcklEJywgaGVhZGVyVGV4dDogJ09yZGVyIElEJyB9LFxuICAgICAqICAge1xuICAgICAqICAgICAgIGZpZWxkOiAnRW1wbG95ZWVJRCcsIGhlYWRlclRleHQ6ICdFbXBsb3llZSBJRCcsIGN1c3RvbUF0dHJpYnV0ZXM6IHtcbiAgICAgKiAgICAgICAgICBjbGFzczogJ2VtcGxveWVlaWQnLFxuICAgICAqICAgICAgICAgIHR5cGU6ICdlbXBsb3llZS1pZC1jZWxsJ1xuICAgICAqICAgICB9XG4gICAgICogIH1dXG4gICAgICp9KTtcbiAgICAgKmdyaWRPYmouYXBwZW5kVG8oJyNHcmlkJyk7XG4gICAgICpgYGBcbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBjdXN0b21BdHRyaWJ1dGVzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIGNvbHVtbiBkYXRhIHNvdXJjZSAgd2hpY2ggd2lsbCBhY3QgYXMgZm9yZWlnbiBkYXRhIHNvdXJjZS5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGRhdGFTb3VyY2U6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyBkZWZhdWx0IHZhbHVlcyBmb3IgdGhlIGNvbXBvbmVudCB3aGVuIGFkZGluZyBhIG5ldyByZWNvcmQgdG8gdGhlIEdyaWQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIG9iamVjdFxuICAgICAqL1xuICAgIHB1YmxpYyBkZWZhdWx0VmFsdWU6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgYGRpc2FibGVIdG1sRW5jb2RlYCBpcyBzZXQgdG8gdHJ1ZSwgaXQgZW5jb2RlcyB0aGUgSFRNTCBvZiB0aGUgaGVhZGVyIGFuZCBjb250ZW50IGNlbGxzLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzYWJsZUh0bWxFbmNvZGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgYGRpc3BsYXlBc0NoZWNrQm94YCBpcyBzZXQgdG8gdHJ1ZSwgaXQgZGlzcGxheXMgdGhlIGNvbHVtbiB2YWx1ZSBhcyBhIGNoZWNrIGJveCBpbnN0ZWFkIG9mIEJvb2xlYW4gdmFsdWUuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzcGxheUFzQ2hlY2tCb3g6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgYElFZGl0Q2VsbGAoLi4vLi4vZ3JpZC9lZGl0LyNjZWxsLWVkaXQtdGVtcGxhdGUpIG9iamVjdCB0byBjdXN0b21pemUgZGVmYXVsdCBlZGl0IGNlbGwuXG4gICAgICogQGRlZmF1bHQge31cbiAgICAgKi9cbiAgICBwdWJsaWMgZWRpdDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSB0eXBlIG9mIGNvbXBvbmVudCBmb3IgZWRpdGluZy5cbiAgICAgKiBAZGVmYXVsdCAnc3RyaW5nZWRpdCdcbiAgICAgKi9cbiAgICBwdWJsaWMgZWRpdFR5cGU6IGFueTtcbiAgICAvKiogXG4gICAgICogQWxsb3dzIGdyaWQgdG8gcGVyZm9ybSBjb2x1bW4gc3Bhbm5pbmcgb24gdGhlIHNwZWNpZmllZCBjb2x1bW4uXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBlbmFibGVDb2x1bW5TcGFuOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIElmIGBlbmFibGVHcm91cEJ5Rm9ybWF0YCBzZXQgdG8gdHJ1ZSwgdGhlbiBpdCBncm91cHMgdGhlIHBhcnRpY3VsYXIgY29sdW1uIGJ5IGZvcm1hdHRlZCB2YWx1ZXMuIFxuICAgICAqIEJ5IGRlZmF1bHQgbm8gY29sdW1ucyBhcmUgZ3JvdXAgYnkgZm9ybWF0LlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlR3JvdXBCeUZvcm1hdDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBBbGxvd3MgZ3JpZCB0byBwZXJmb3JtIHJvdyBzcGFubmluZyBvbiB0aGUgc3BlY2lmaWVkIGNvbHVtbi5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIGVuYWJsZVJvd1NwYW46IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgZmllbGQgbmFtZSBvZiBjb2x1bW4gd2hpY2ggaXMgbWFwcGVkIHdpdGggbWFwcGluZyBuYW1lIG9mIERhdGFTb3VyY2UuIFxuICAgICAqIFRoZSBib3VuZGVkIGNvbHVtbnMgY2FuIGJlIHNvcnQsIGZpbHRlciBhbmQgZ3JvdXAgZXRjLiwgXG4gICAgICogSWYgdGhlIGBmaWVsZGAgbmFtZSBjb250YWlucyDigJxkb3TigJ0sIHRoZW4gaXQgaXMgY29uc2lkZXJlZCBhcyBjb21wbGV4IGJpbmRpbmcuIFxuICAgICAqIFRoZSBgZmllbGRgIG5hbWUgbXVzdCBiZSBhIHZhbGlkIEphdmFTY3JpcHQgaWRlbnRpZmllciwgXG4gICAgICogdGhlIGZpcnN0IGNoYXJhY3RlciBtdXN0IGJlIGFuIGFscGhhYmV0IGFuZCBzaG91bGQgbm90IGNvbnRhaW4gc3BhY2VzIGFuZCBzcGVjaWFsIGNoYXJhY3RlcnMuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgZmllbGQ6IGFueTtcbiAgICAvKiogXG4gICAgICogIERlZmluZXMgdGhlIGZpbHRlciBvcHRpb25zIHRvIGN1c3RvbWl6ZSBmaWx0ZXJpbmcgZm9yIHRoZSBwYXJ0aWN1bGFyIGNvbHVtbi5cbiAgICAgKiBAZGVmYXVsdCB7fVxuICAgICAqL1xuICAgIHB1YmxpYyBmaWx0ZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIGBmaWx0ZXJCYXJUZW1wbGF0ZWAgaXMgdXNlZCB0byBhZGQgYSBjdXN0b20gY29tcG9uZW50IGluc3RlYWQgb2YgZGVmYXVsdCBpbnB1dCBjb21wb25lbnQgZm9yIGZpbHRlciBiYXIuIFxuICAgICAqIEl0IGhhdmUgY3JlYXRlIGFuZCByZWFkIGZ1bmN0aW9ucy4gXG4gICAgICogKiBjcmVhdGU6IEl0IGlzIHVzZWQgZm9yIGNyZWF0aW5nIGN1c3RvbSBjb21wb25lbnRzLiBcbiAgICAgKiAqIHJlYWQ6IEl0IGlzIHVzZWQgdG8gcGVyZm9ybSBjdXN0b20gZmlsdGVyIGFjdGlvbi5cbiAgICAgKiBcbiAgICAgKiBgYGBodG1sXG4gICAgICo8ZGl2IGlkPVwiR3JpZFwiPjwvZGl2PlxuICAgICAqYGBgXG4gICAgICpgYGB0eXBlc2NyaXB0XG4gICAgICpsZXQgZ3JpZE9iajogR3JpZCA9IG5ldyBHcmlkKHtcbiAgICAgKmRhdGFTb3VyY2U6IGZpbHRlckRhdGEsXG4gICAgICpjb2x1bW5zOiBbXG4gICAgICogIHsgZmllbGQ6ICdPcmRlcklEJywgaGVhZGVyVGV4dDogJ09yZGVyIElEJyB9LFxuICAgICAqICB7XG4gICAgICogICAgIGZpZWxkOiAnRW1wbG95ZWVJRCcsIGZpbHRlckJhclRlbXBsYXRlOiB7XG4gICAgICogICAgICAgIGNyZWF0ZTogKGFyZ3M6IHsgZWxlbWVudDogRWxlbWVudCwgY29sdW1uOiBDb2x1bW4gfSkgPT4ge1xuICAgICAqICAgICAgICAgICAgIGxldCBpbnB1dDogSFRNTElucHV0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICogICAgICAgICAgICAgaW5wdXQuaWQgPSAnRW1wbG95ZWVJRCc7XG4gICAgICogICAgICAgICAgICAgaW5wdXQudHlwZSA9ICd0ZXh0JztcbiAgICAgKiAgICAgICAgICAgICByZXR1cm4gaW5wdXQ7XG4gICAgICogICAgICAgIH0sXG4gICAgICogICAgICAgIHdyaXRlOiAoYXJnczogeyBlbGVtZW50OiBFbGVtZW50LCBjb2x1bW46IENvbHVtbiB9KSA9PiB7XG4gICAgICogICAgICAgICAgICBhcmdzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBhcmdzLmNvbHVtbi5maWx0ZXJCYXJUZW1wbGF0ZS5yZWFkIGFzIEV2ZW50TGlzdGVuZXIpO1xuICAgICAqICAgICAgICB9LFxuICAgICAqICAgICAgICByZWFkOiAoYXJnczogeyBlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50LCBjb2x1bW5JbmRleDogbnVtYmVyLCBjb2x1bW46IENvbHVtbiB9KSA9PiB7XG4gICAgICogICAgICAgICAgICBncmlkT2JqLmZpbHRlckJ5Q29sdW1uKGFyZ3MuZWxlbWVudC5pZCwgJ2VxdWFsJywgYXJncy5lbGVtZW50LnZhbHVlKTtcbiAgICAgKiAgICAgICB9XG4gICAgICogICAgfVxuICAgICAqIH1dLFxuICAgICAqICBhbGxvd0ZpbHRlcmluZzogdHJ1ZVxuICAgICAqfSk7XG4gICAgICpncmlkT2JqLmFwcGVuZFRvKCcjR3JpZCcpO1xuICAgICAqYGBgXG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgZmlsdGVyQmFyVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgbWFwcGluZyBjb2x1bW4gbmFtZSBvZiB0aGUgZm9yZWlnbiBkYXRhIHNvdXJjZS4gXG4gICAgICogSWYgaXQgaXMgbm90IGRlZmluZWQgdGhlbiB0aGUgYGNvbHVtbnMuZmllbGRgIHdpbGwgYmUgY29uc2lkZXJlZCBhcyBtYXBwaW5nIGNvbHVtbiBuYW1lXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBmb3JlaWduS2V5RmllbGQ6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgZGlzcGxheSBjb2x1bW4gbmFtZSBmcm9tIHRoZSBmb3JlaWduIGRhdGEgc291cmNlIHdoaWNoIHdpbGwgYmUgb2J0YWluZWQgZnJvbSBjb21wYXJpbmcgbG9jYWwgYW5kIGZvcmVpZ24gZGF0YVxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgZm9yZWlnbktleVZhbHVlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGlzIHVzZWQgdG8gY2hhbmdlIGRpc3BsYXkgdmFsdWUgd2l0aCB0aGUgZ2l2ZW4gZm9ybWF0IGFuZCBkb2VzIG5vdCBhZmZlY3QgdGhlIG9yaWdpbmFsIGRhdGEuIFxuICAgICAqIEdldHMgdGhlIGZvcm1hdCBmcm9tIHRoZSB1c2VyIHdoaWNoIGNhbiBiZSBzdGFuZGFyZCBvciBjdXN0b20gXG4gICAgICogW2BudW1iZXJgXSguLi8uLi9jb21tb24vaW50ZXJuYXRpb25hbGl6YXRpb24vI21hbmlwdWxhdGluZy1udW1iZXJzKSBcbiAgICAgKiBhbmQgW2BkYXRlYF0oLi4vLi4vY29tbW9uL2ludGVybmF0aW9uYWxpemF0aW9uLyNtYW5pcHVsYXRpbmctZGF0ZXRpbWUpIGZvcm1hdHMuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBmb3JtYXQ6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgbWV0aG9kIHdoaWNoIGlzIHVzZWQgdG8gYWNoaWV2ZSBjdXN0b20gZm9ybWF0dGluZyBmcm9tIGFuIGV4dGVybmFsIGZ1bmN0aW9uLiBcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHRyaWdnZXJzIGJlZm9yZSByZW5kZXJpbmcgb2YgZWFjaCBjZWxsLlxuICAgICAqIFxuICAgICAqIGBgYGh0bWxcbiAgICAgKjxkaXYgaWQ9XCJHcmlkXCI+PC9kaXY+XG4gICAgICpgYGBcbiAgICAgKmBgYHR5cGVzY3JpcHRcbiAgICAgKmNsYXNzIEV4dGVuZGVkRm9ybWF0dGVyIGltcGxlbWVudHMgSUNlbGxGb3JtYXR0ZXIge1xuICAgICAqcHVibGljIGdldFZhbHVlKGNvbHVtbjogQ29sdW1uLCBkYXRhOiBPYmplY3QpOiBPYmplY3Qge1xuICAgICAqICByZXR1cm4gJzxzcGFuIHN0eWxlPVwiY29sb3I6JyArIChkYXRhWydWZXJpZmllZCddID8gJ2dyZWVuJyA6ICdyZWQnKSArICdcIj48aT4nICsgZGF0YVsnVmVyaWZpZWQnXSArICc8L2k+PHNwYW4+JztcbiAgICAgKn1cbiAgICAgKn1cbiAgICAgKmxldCBncmlkT2JqOiBHcmlkID0gbmV3IEdyaWQoe1xuICAgICAqICAgIGRhdGFTb3VyY2U6IGZpbHRlckRhdGEsXG4gICAgICogICAgY29sdW1uczogW1xuICAgICAqICAgICAgICB7IGZpZWxkOiAnU2hpcE5hbWUnLCBoZWFkZXJUZXh0OiAnU2hpcCBOYW1lJyB9LFxuICAgICAqICAgICAgICB7IGZpZWxkOiAnVmVyaWZpZWQnLCBoZWFkZXJUZXh0OiAnVmVyaWZpZWQgU3RhdHVzJywgZm9ybWF0dGVyOiBFeHRlbmRlZEZvcm1hdHRlciB9XVxuICAgICAqfSk7XG4gICAgICpncmlkT2JqLmFwcGVuZFRvKCcjR3JpZCcpO1xuICAgICAqYGBgXG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgZm9ybWF0dGVyOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIGRlZmluZXMgd2hpY2ggc2lkZSB0aGUgY29sdW1uIG5lZWQgdG8gZnJlZXplIFxuICAgICAqIFRoZSBhdmFpbGFibGUgYnVpbHQtaW4gZnJlZXplIGRpcmVjdGlvbnMgYXJlIFxuICAgICAqICogTGVmdCAtIEZyZWV6ZSB0aGUgY29sdW1uIGF0IGxlZnQgc2lkZS4gXG4gICAgICogKiBSaWdodCAtIEZyZWV6ZSB0aGUgY29sdW1uIGF0IHJpZ2h0IHNpZGUuIFxuICAgICAqICogRml4ZWQgLSBGcmVlemUgdGhlIGNvbHVtbiBhdCBDZW50ZXIuIFxuICAgICAqICogTm9uZSAtIERvZXMgbm90IGZyZWV6ZSB0aGUgY29sdW1uLlxuICAgICAqIEBkZWZhdWx0IE5vbmVcbiAgICAgKi9cbiAgICBwdWJsaWMgZnJlZXplOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIGhlYWRlciB0ZXh0IG9mIGNvbHVtbiB3aGljaCBpcyB1c2VkIHRvIGRpc3BsYXkgaW4gY29sdW1uIGhlYWRlci4gXG4gICAgICogSWYgYGhlYWRlclRleHRgIGlzIG5vdCBkZWZpbmVkLCB0aGVuIGZpZWxkIG5hbWUgdmFsdWUgd2lsbCBiZSBhc3NpZ25lZCB0byBoZWFkZXIgdGV4dC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGhlYWRlclRleHQ6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lIHRoZSBhbGlnbm1lbnQgb2YgY29sdW1uIGhlYWRlciB3aGljaCBpcyB1c2VkIHRvIGFsaWduIHRoZSB0ZXh0IG9mIGNvbHVtbiBoZWFkZXIuXG4gICAgICogQGFzcGRlZmF1bHR2YWx1ZWlnbm9yZSBcbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGhlYWRlclRleHRBbGlnbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBtZXRob2QgdXNlZCB0byBhcHBseSBjdXN0b20gaGVhZGVyIGNlbGwgdmFsdWVzIGZyb20gZXh0ZXJuYWwgZnVuY3Rpb24gYW5kIGRpc3BsYXkgdGhpcyBvbiBlYWNoIGNlbGwgcmVuZGVyZWQuXG4gICAgICogXG4gICAgICogYGBgaHRtbFxuICAgICAqPGRpdiBpZD1cIkdyaWRcIj48L2Rpdj5cbiAgICAgKmBgYFxuICAgICAqYGBgdHlwZXNjcmlwdFxuICAgICAqbGV0IGdyaWRPYmo6IEdyaWQgPSBuZXcgR3JpZCh7XG4gICAgICpkYXRhU291cmNlOiBbeyBFbXBsb3llZUlEOiAxLCBFbXBsb3llZU5hbWU6IFsnSm9obicsICdNJ10gfSwgeyBFbXBsb3llZUlEOiAyLCBFbXBsb3llZU5hbWU6IFsnUGV0ZXInLCAnQSddIH1dLFxuICAgICAqY29sdW1uczogW1xuICAgICAqICAgIHsgZmllbGQ6ICdFbXBsb3llZUlEJywgaGVhZGVyVGV4dDogJ0VtcGxveWVlIElEJyB9LFxuICAgICAqICAgIHsgZmllbGQ6ICdFbXBsb3llZU5hbWUnLCBoZWFkZXJUZXh0OiAnRW1wbG95ZWUgRmlyc3QgTmFtZScsXG4gICAgICogICAgICBoZWFkZXJWYWx1ZUFjY2Vzc29yOiAoZmllbGQ6IHN0cmluZyxjb2x1bW46IENvbHVtbikgPT4ge1xuICAgICAqICAgICAgICAgICAgcmV0dXJuIFwibmV3aGVhZGVybmFtZVwiO1xuICAgICAqICAgICAgICB9LFxuICAgICAqICAgIH1dXG4gICAgICp9KTtcbiAgICAgKmBgYFxuICAgICAqICAgICBcbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGhlYWRlclZhbHVlQWNjZXNzb3I6IGFueTtcbiAgICAvKiogXG4gICAgICogY29sdW1uIHZpc2liaWxpdHkgY2FuIGNoYW5nZSBiYXNlZCBvbiBpdHMgW2BNZWRpYSBRdWVyaWVzYF0oaHR0cDovL2Nzc21lZGlhcXVlcmllcy5jb20vd2hhdC1hcmUtY3NzLW1lZGlhLXF1ZXJpZXMuaHRtbCkuIFxuICAgICAqIGBoaWRlQXRNZWRpYWAgYWNjZXB0cyBvbmx5IHZhbGlkIE1lZGlhIFF1ZXJpZXMuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgaGlkZUF0TWVkaWE6IGFueTtcbiAgICAvKiogXG4gICAgICogR2V0cyB0aGUgdW5pcXVlIGlkZW50aWZpZXIgdmFsdWUgb2YgdGhlIGNvbHVtbi4gSXQgaXMgdXNlZCB0byBnZXQgdGhlIG9iamVjdC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGluZGV4OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFlvdSBjYW4gdXNlIHRoaXMgcHJvcGVydHkgdG8gZnJlZXplIHNlbGVjdGVkIGNvbHVtbnMgaW4gZ3JpZC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBpc0Zyb3plbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBgaXNJZGVudGl0eWAgaXMgc2V0IHRvIHRydWUsIHRoZW4gdGhpcyBjb2x1bW4gaXMgY29uc2lkZXJlZCBhcyBpZGVudGl0eSBjb2x1bW4uXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNJZGVudGl0eTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBgaXNQcmltYXJ5S2V5YCBpcyBzZXQgdG8gdHJ1ZSwgY29uc2lkZXJzIHRoaXMgY29sdW1uIGFzIHRoZSBwcmltYXJ5IGtleSBjb25zdHJhaW50LlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGlzUHJpbWFyeUtleTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBtYXBwaW5nIGNvbHVtbiBuYW1lIG9mIHRoZSBmb3JlaWduIGRhdGEgc291cmNlLiBcbiAgICAgKiBJZiBpdCBpcyBub3QgZGVmaW5lZCB0aGVuIHRoZSBgY29sdW1ucy5maWVsZGAgd2lsbCBiZSBjb25zaWRlcmVkIGFzIG1hcHBpbmcgY29sdW1uIG5hbWVcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBsb2NrQ29sdW1uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbHVtbiBpbiBwaXhlbCBvciBwZXJjZW50YWdlLCB3aGljaCB3aWxsIHJlc3RyaWN0IHJlc2l6aW5nIGJleW9uZCB0aGlzIHBpeGVsIG9yIHBlcmNlbnRhZ2UuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgbWF4V2lkdGg6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgbWluaW11bSB3aWR0aCBvZiB0aGUgY29sdW1uIGluIHBpeGVscyBvciBwZXJjZW50YWdlLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIG1pbldpZHRoOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIElmIGBzaG93Q29sdW1uTWVudWAgc2V0IHRvIGZhbHNlLCB0aGVuIGl0IGRpc2FibGUgdGhlIGNvbHVtbiBtZW51IG9mIGEgcGFydGljdWxhciBjb2x1bW4uIFxuICAgICAqIEJ5IGRlZmF1bHQgY29sdW1uIG1lbnUgd2lsbCBzaG93IGZvciBhbGwgY29sdW1uc1xuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd0NvbHVtbk1lbnU6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgYHNob3dJbkNvbHVtbkNob29zZXJgIHNldCB0byBmYWxzZSwgdGhlbiBoaWRlcyB0aGUgcGFydGljdWxhciBjb2x1bW4gaW4gY29sdW1uIGNob29zZXIuIFxuICAgICAqIEJ5IGRlZmF1bHQgYWxsIGNvbHVtbnMgYXJlIGRpc3BsYXllZCBpbiBjb2x1bW4gQ2hvb3Nlci5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIHNob3dJbkNvbHVtbkNob29zZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgZGVmaW5lcyB0aGUgY3VzdG9tIHNvcnQgY29tcGFyZXIgZnVuY3Rpb24uXG4gICAgICovXG4gICAgcHVibGljIHNvcnRDb21wYXJlcjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZXRlcm1pbmVzIHRoZSBiZWhhdmlvciBvZiB0aGUgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSBmb3IgY2VsbHMgaW4gdGVtcGxhdGUgY29sdW1ucy4gXG4gICAgICogSWYgZW5hYmxlQXJpYUxhYmVsIGlzIHNldCB0byBmYWxzZSwgdGhlIGFyaWEtbGFiZWwgYXR0cmlidXRlIGlzIG5vdCBhcHBsaWVkIHRvIHRlbXBsYXRlIGNvbHVtbiBjZWxscywgd2hpY2ggYWZmZWN0cyBzY3JlZW4gcmVhZGVyIGFjY2Vzc2liaWxpdHkuXG4gICAgICogQGRlZmF1bHQge31cbiAgICAgKi9cbiAgICBwdWJsaWMgdGVtcGxhdGVPcHRpb25zOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIGFsaWdubWVudCBvZiB0aGUgY29sdW1uIGluIGJvdGggaGVhZGVyIGFuZCBjb250ZW50IGNlbGxzLlxuICAgICAqIEBkZWZhdWx0IExlZnRcbiAgICAgKi9cbiAgICBwdWJsaWMgdGV4dEFsaWduOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEdldHMgdGhlIHVuaXF1ZSBpZGVudGlmaWVyIHZhbHVlIG9mIHRoZSBjb2x1bW4uIEl0IGlzIHVzZWQgdG8gZ2V0IHRoZSBvYmplY3QuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgdWlkOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIGBlZGl0VHlwZWAoLi4vLi4vZ3JpZC9lZGl0LyNjZWxsLWVkaXQtdHlwZS1hbmQtaXRzLXBhcmFtcykgRGVmaW5lcyBydWxlcyB0byB2YWxpZGF0ZSBkYXRhIGJlZm9yZSBjcmVhdGluZyBhbmQgdXBkYXRpbmcuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyB2YWxpZGF0aW9uUnVsZXM6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgbWV0aG9kIHVzZWQgdG8gYXBwbHkgY3VzdG9tIGNlbGwgdmFsdWVzIGZyb20gZXh0ZXJuYWwgZnVuY3Rpb24gYW5kIGRpc3BsYXkgdGhpcyBvbiBlYWNoIGNlbGwgcmVuZGVyZWQuXG4gICAgICogXG4gICAgICogYGBgaHRtbFxuICAgICAqPGRpdiBpZD1cIkdyaWRcIj48L2Rpdj5cbiAgICAgKmBgYFxuICAgICAqYGBgdHlwZXNjcmlwdFxuICAgICAqbGV0IGdyaWRPYmo6IEdyaWQgPSBuZXcgR3JpZCh7XG4gICAgICpkYXRhU291cmNlOiBbeyBFbXBsb3llZUlEOiAxLCBFbXBsb3llZU5hbWU6IFsnSm9obicsICdNJ10gfSwgeyBFbXBsb3llZUlEOiAyLCBFbXBsb3llZU5hbWU6IFsnUGV0ZXInLCAnQSddIH1dLFxuICAgICAqY29sdW1uczogW1xuICAgICAqICAgIHsgZmllbGQ6ICdFbXBsb3llZUlEJywgaGVhZGVyVGV4dDogJ0VtcGxveWVlIElEJyB9LFxuICAgICAqICAgIHsgZmllbGQ6ICdFbXBsb3llZU5hbWUnLCBoZWFkZXJUZXh0OiAnRW1wbG95ZWUgRmlyc3QgTmFtZScsXG4gICAgICogICAgICB2YWx1ZUFjY2Vzc29yOiAoZmllbGQ6IHN0cmluZywgZGF0YTogT2JqZWN0LCBjb2x1bW46IENvbHVtbikgPT4ge1xuICAgICAqICAgICAgICAgICAgcmV0dXJuIGRhdGFbJ0VtcGxveWVlTmFtZSddWzBdO1xuICAgICAqICAgICAgICB9LFxuICAgICAqICAgIH1dXG4gICAgICp9KTtcbiAgICAgKmBgYFxuICAgICAqICAgICBcbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHZhbHVlQWNjZXNzb3I6IGFueTtcbiAgICAvKiogXG4gICAgICogSWYgYHZpc2libGVgIGlzIHNldCB0byBmYWxzZSwgaGlkZXMgdGhlIHBhcnRpY3VsYXIgY29sdW1uLiBCeSBkZWZhdWx0LCBhbGwgY29sdW1ucyBhcmUgZGlzcGxheWVkLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgdmlzaWJsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGluIHBpeGVscyBvciBwZXJjZW50YWdlLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIHdpZHRoOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIGNvbHVtbiB0ZW1wbGF0ZSB0aGF0IHJlbmRlcnMgY3VzdG9taXplZCBlbGVtZW50IGluIGVhY2ggY2VsbCBvZiB0aGUgY29sdW1uLiBcbiAgICAgKiBJdCBhY2NlcHRzIGVpdGhlciBbdGVtcGxhdGUgc3RyaW5nXSguLi8uLi9jb21tb24vdGVtcGxhdGUvKSBvciBIVE1MIGVsZW1lbnQgSUQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3RlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyB0ZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBjb2x1bW4gdGVtcGxhdGUgYXMgc3RyaW5nIG9yIEhUTUwgZWxlbWVudCBJRCB3aGljaCBpcyB1c2VkIHRvIGFkZCBjdXN0b21pemVkIGVsZW1lbnQgaW4gdGhlIGNvbHVtbiBoZWFkZXIuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2hlYWRlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBoZWFkZXJUZW1wbGF0ZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ2NvbW1hbmRzVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGNvbW1hbmRzVGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdmaWx0ZXJJdGVtVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGZpbHRlcl9pdGVtVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgY2VsbCBlZGl0IHRlbXBsYXRlIHRoYXQgdXNlZCBhcyBlZGl0b3IgZm9yIGEgcGFydGljdWxhciBjb2x1bW4uIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRlbXBsYXRlIHN0cmluZyBvciBIVE1MIGVsZW1lbnQgSUQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2VkaXRUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZWRpdFRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIGZpbHRlciB0ZW1wbGF0ZS9VSSB0aGF0IHVzZWQgYXMgZmlsdGVyIGZvciBhIHBhcnRpY3VsYXIgY29sdW1uLiBcbiAgICAgKiBJdCBhY2NlcHRzIGVpdGhlciB0ZW1wbGF0ZSBzdHJpbmcgb3IgSFRNTCBlbGVtZW50IElELlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdmaWx0ZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZmlsdGVyVGVtcGxhdGU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjpWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHNldFZhbHVlKCdjdXJyZW50SW5zdGFuY2UnLCB0aGlzLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmRpcmVjdGl2ZVByb3BMaXN0ID0gaW5wdXQ7XG4gICAgfVxufVxuXG4vKipcbiAqIENvbHVtbiBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLWdyaWQ+ZS1jb2x1bW5zJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKENvbHVtbkRpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5zRGlyZWN0aXZlIGV4dGVuZHMgQXJyYXlCYXNlPENvbHVtbnNEaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ2NvbHVtbnMnKTtcbiAgICB9XG59Il19
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { GridModule } from './grid.module';
|
|
4
|
+
import { Filter, Page, Selection, Sort, Group, Reorder, RowDD, DetailRow, Toolbar, Aggregate, Search, VirtualScroll, Edit, Resize, ExcelExport, PdfExport, CommandColumn, ContextMenu, Freeze, ColumnMenu, ColumnChooser, ForeignKey, InfiniteScroll, LazyLoadGroup } from '@syncfusion/ej2-grids';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export const FilterService = { provide: 'GridsFilter', useValue: Filter };
|
|
7
|
+
export const PageService = { provide: 'GridsPage', useValue: Page };
|
|
8
|
+
export const SelectionService = { provide: 'GridsSelection', useValue: Selection };
|
|
9
|
+
export const SortService = { provide: 'GridsSort', useValue: Sort };
|
|
10
|
+
export const GroupService = { provide: 'GridsGroup', useValue: Group };
|
|
11
|
+
export const ReorderService = { provide: 'GridsReorder', useValue: Reorder };
|
|
12
|
+
export const RowDDService = { provide: 'GridsRowDD', useValue: RowDD };
|
|
13
|
+
export const DetailRowService = { provide: 'GridsDetailRow', useValue: DetailRow };
|
|
14
|
+
export const ToolbarService = { provide: 'GridsToolbar', useValue: Toolbar };
|
|
15
|
+
export const AggregateService = { provide: 'GridsAggregate', useValue: Aggregate };
|
|
16
|
+
export const SearchService = { provide: 'GridsSearch', useValue: Search };
|
|
17
|
+
export const VirtualScrollService = { provide: 'GridsVirtualScroll', useValue: VirtualScroll };
|
|
18
|
+
export const EditService = { provide: 'GridsEdit', useValue: Edit };
|
|
19
|
+
export const ResizeService = { provide: 'GridsResize', useValue: Resize };
|
|
20
|
+
export const ExcelExportService = { provide: 'GridsExcelExport', useValue: ExcelExport };
|
|
21
|
+
export const PdfExportService = { provide: 'GridsPdfExport', useValue: PdfExport };
|
|
22
|
+
export const CommandColumnService = { provide: 'GridsCommandColumn', useValue: CommandColumn };
|
|
23
|
+
export const ContextMenuService = { provide: 'GridsContextMenu', useValue: ContextMenu };
|
|
24
|
+
export const FreezeService = { provide: 'GridsFreeze', useValue: Freeze };
|
|
25
|
+
export const ColumnMenuService = { provide: 'GridsColumnMenu', useValue: ColumnMenu };
|
|
26
|
+
export const ColumnChooserService = { provide: 'GridsColumnChooser', useValue: ColumnChooser };
|
|
27
|
+
export const ForeignKeyService = { provide: 'GridsForeignKey', useValue: ForeignKey };
|
|
28
|
+
export const InfiniteScrollService = { provide: 'GridsInfiniteScroll', useValue: InfiniteScroll };
|
|
29
|
+
export const LazyLoadGroupService = { provide: 'GridsLazyLoadGroup', useValue: LazyLoadGroup };
|
|
30
|
+
/**
|
|
31
|
+
* NgModule definition for the Grid component with providers.
|
|
32
|
+
*/
|
|
33
|
+
export class GridAllModule {
|
|
34
|
+
}
|
|
35
|
+
GridAllModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GridAllModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
36
|
+
GridAllModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GridAllModule, imports: [CommonModule, GridModule], exports: [GridModule] });
|
|
37
|
+
GridAllModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GridAllModule, providers: [
|
|
38
|
+
FilterService,
|
|
39
|
+
PageService,
|
|
40
|
+
SelectionService,
|
|
41
|
+
SortService,
|
|
42
|
+
GroupService,
|
|
43
|
+
ReorderService,
|
|
44
|
+
RowDDService,
|
|
45
|
+
DetailRowService,
|
|
46
|
+
ToolbarService,
|
|
47
|
+
AggregateService,
|
|
48
|
+
SearchService,
|
|
49
|
+
VirtualScrollService,
|
|
50
|
+
EditService,
|
|
51
|
+
ResizeService,
|
|
52
|
+
ExcelExportService,
|
|
53
|
+
PdfExportService,
|
|
54
|
+
CommandColumnService,
|
|
55
|
+
ContextMenuService,
|
|
56
|
+
FreezeService,
|
|
57
|
+
ColumnMenuService,
|
|
58
|
+
ColumnChooserService,
|
|
59
|
+
ForeignKeyService,
|
|
60
|
+
InfiniteScrollService,
|
|
61
|
+
LazyLoadGroupService
|
|
62
|
+
], imports: [[CommonModule, GridModule], GridModule] });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GridAllModule, decorators: [{
|
|
64
|
+
type: NgModule,
|
|
65
|
+
args: [{
|
|
66
|
+
imports: [CommonModule, GridModule],
|
|
67
|
+
exports: [
|
|
68
|
+
GridModule
|
|
69
|
+
],
|
|
70
|
+
providers: [
|
|
71
|
+
FilterService,
|
|
72
|
+
PageService,
|
|
73
|
+
SelectionService,
|
|
74
|
+
SortService,
|
|
75
|
+
GroupService,
|
|
76
|
+
ReorderService,
|
|
77
|
+
RowDDService,
|
|
78
|
+
DetailRowService,
|
|
79
|
+
ToolbarService,
|
|
80
|
+
AggregateService,
|
|
81
|
+
SearchService,
|
|
82
|
+
VirtualScrollService,
|
|
83
|
+
EditService,
|
|
84
|
+
ResizeService,
|
|
85
|
+
ExcelExportService,
|
|
86
|
+
PdfExportService,
|
|
87
|
+
CommandColumnService,
|
|
88
|
+
ContextMenuService,
|
|
89
|
+
FreezeService,
|
|
90
|
+
ColumnMenuService,
|
|
91
|
+
ColumnChooserService,
|
|
92
|
+
ForeignKeyService,
|
|
93
|
+
InfiniteScrollService,
|
|
94
|
+
LazyLoadGroupService
|
|
95
|
+
]
|
|
96
|
+
}]
|
|
97
|
+
}] });
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1hbGwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dyaWQvZ3JpZC1hbGwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQU0vQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBQyxNQUFNLHVCQUF1QixDQUFBOztBQUdoUyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWtCLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDLENBQUM7QUFDeEYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFrQixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFrQixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFDLENBQUM7QUFDakcsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFrQixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBa0IsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUMsQ0FBQztBQUNyRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWtCLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFDLENBQUM7QUFDM0YsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFrQixFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBQyxDQUFDO0FBQ3JGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFrQixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFDLENBQUM7QUFDakcsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFrQixFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBQyxDQUFDO0FBQzNGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFrQixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFDLENBQUM7QUFDakcsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFrQixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQyxDQUFDO0FBQ3hGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFrQixFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFDLENBQUM7QUFDN0csTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFrQixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBa0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUMsQ0FBQztBQUN4RixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBa0IsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBQyxDQUFDO0FBQ3ZHLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFrQixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFDLENBQUM7QUFDakcsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWtCLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUMsQ0FBQztBQUM3RyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBa0IsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBQyxDQUFDO0FBQ3ZHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBa0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUMsQ0FBQztBQUN4RixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBa0IsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBQyxDQUFDO0FBQ3BHLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFrQixFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFDLENBQUM7QUFDN0csTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQWtCLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUMsQ0FBQztBQUNwRyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBa0IsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBQyxDQUFDO0FBQ2hILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFrQixFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFDLENBQUM7QUFFN0c7O0dBRUc7QUFpQ0gsTUFBTSxPQUFPLGFBQWE7OzBHQUFiLGFBQWE7MkdBQWIsYUFBYSxZQS9CWixZQUFZLEVBQUUsVUFBVSxhQUU5QixVQUFVOzJHQTZCTCxhQUFhLGFBM0JaO1FBQ04sYUFBYTtRQUNiLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLFlBQVk7UUFDWixjQUFjO1FBQ2QsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixvQkFBb0I7UUFDcEIsV0FBVztRQUNYLGFBQWE7UUFDYixrQkFBa0I7UUFDbEIsZ0JBQWdCO1FBQ2hCLG9CQUFvQjtRQUNwQixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsaUJBQWlCO1FBQ2pCLHFCQUFxQjtRQUNyQixvQkFBb0I7S0FDdkIsWUE3QlEsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEVBRS9CLFVBQVU7MkZBNkJMLGFBQWE7a0JBaEN6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7b0JBQ25DLE9BQU8sRUFBRTt3QkFDTCxVQUFVO3FCQUNiO29CQUNELFNBQVMsRUFBQzt3QkFDTixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQixXQUFXO3dCQUNYLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsb0JBQW9CO3FCQUN2QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3RhY2tlZENvbHVtbkRpcmVjdGl2ZSwgU3RhY2tlZENvbHVtbnNEaXJlY3RpdmUgfSBmcm9tICcuL3N0YWNrZWQtY29sdW1uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb2x1bW5EaXJlY3RpdmUsIENvbHVtbnNEaXJlY3RpdmUgfSBmcm9tICcuL2NvbHVtbnMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFnZ3JlZ2F0ZUNvbHVtbkRpcmVjdGl2ZSwgQWdncmVnYXRlQ29sdW1uc0RpcmVjdGl2ZSB9IGZyb20gJy4vYWdncmVnYXRlLWNvbHVtbnMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFnZ3JlZ2F0ZURpcmVjdGl2ZSwgQWdncmVnYXRlc0RpcmVjdGl2ZSB9IGZyb20gJy4vYWdncmVnYXRlcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgR3JpZENvbXBvbmVudCB9IGZyb20gJy4vZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JpZE1vZHVsZSB9IGZyb20gJy4vZ3JpZC5tb2R1bGUnO1xuaW1wb3J0IHtGaWx0ZXIsIFBhZ2UsIFNlbGVjdGlvbiwgU29ydCwgR3JvdXAsIFJlb3JkZXIsIFJvd0RELCBEZXRhaWxSb3csIFRvb2xiYXIsIEFnZ3JlZ2F0ZSwgU2VhcmNoLCBWaXJ0dWFsU2Nyb2xsLCBFZGl0LCBSZXNpemUsIEV4Y2VsRXhwb3J0LCBQZGZFeHBvcnQsIENvbW1hbmRDb2x1bW4sIENvbnRleHRNZW51LCBGcmVlemUsIENvbHVtbk1lbnUsIENvbHVtbkNob29zZXIsIEZvcmVpZ25LZXksIEluZmluaXRlU2Nyb2xsLCBMYXp5TG9hZEdyb3VwfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZ3JpZHMnXG5cblxuZXhwb3J0IGNvbnN0IEZpbHRlclNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHcmlkc0ZpbHRlcicsIHVzZVZhbHVlOiBGaWx0ZXJ9O1xuZXhwb3J0IGNvbnN0IFBhZ2VTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR3JpZHNQYWdlJywgdXNlVmFsdWU6IFBhZ2V9O1xuZXhwb3J0IGNvbnN0IFNlbGVjdGlvblNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHcmlkc1NlbGVjdGlvbicsIHVzZVZhbHVlOiBTZWxlY3Rpb259O1xuZXhwb3J0IGNvbnN0IFNvcnRTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR3JpZHNTb3J0JywgdXNlVmFsdWU6IFNvcnR9O1xuZXhwb3J0IGNvbnN0IEdyb3VwU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dyaWRzR3JvdXAnLCB1c2VWYWx1ZTogR3JvdXB9O1xuZXhwb3J0IGNvbnN0IFJlb3JkZXJTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR3JpZHNSZW9yZGVyJywgdXNlVmFsdWU6IFJlb3JkZXJ9O1xuZXhwb3J0IGNvbnN0IFJvd0REU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dyaWRzUm93REQnLCB1c2VWYWx1ZTogUm93RER9O1xuZXhwb3J0IGNvbnN0IERldGFpbFJvd1NlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHcmlkc0RldGFpbFJvdycsIHVzZVZhbHVlOiBEZXRhaWxSb3d9O1xuZXhwb3J0IGNvbnN0IFRvb2xiYXJTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR3JpZHNUb29sYmFyJywgdXNlVmFsdWU6IFRvb2xiYXJ9O1xuZXhwb3J0IGNvbnN0IEFnZ3JlZ2F0ZVNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHcmlkc0FnZ3JlZ2F0ZScsIHVzZVZhbHVlOiBBZ2dyZWdhdGV9O1xuZXhwb3J0IGNvbnN0IFNlYXJjaFNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHcmlkc1NlYXJjaCcsIHVzZVZhbHVlOiBTZWFyY2h9O1xuZXhwb3J0IGNvbnN0IFZpcnR1YWxTY3JvbGxTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR3JpZHNWaXJ0dWFsU2Nyb2xsJywgdXNlVmFsdWU6IFZpcnR1YWxTY3JvbGx9O1xuZXhwb3J0IGNvbnN0IEVkaXRTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR3JpZHNFZGl0JywgdXNlVmFsdWU6IEVkaXR9O1xuZXhwb3J0IGNvbnN0IFJlc2l6ZVNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHcmlkc1Jlc2l6ZScsIHVzZVZhbHVlOiBSZXNpemV9O1xuZXhwb3J0IGNvbnN0IEV4Y2VsRXhwb3J0U2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dyaWRzRXhjZWxFeHBvcnQnLCB1c2VWYWx1ZTogRXhjZWxFeHBvcnR9O1xuZXhwb3J0IGNvbnN0IFBkZkV4cG9ydFNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHcmlkc1BkZkV4cG9ydCcsIHVzZVZhbHVlOiBQZGZFeHBvcnR9O1xuZXhwb3J0IGNvbnN0IENvbW1hbmRDb2x1bW5TZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR3JpZHNDb21tYW5kQ29sdW1uJywgdXNlVmFsdWU6IENvbW1hbmRDb2x1bW59O1xuZXhwb3J0IGNvbnN0IENvbnRleHRNZW51U2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dyaWRzQ29udGV4dE1lbnUnLCB1c2VWYWx1ZTogQ29udGV4dE1lbnV9O1xuZXhwb3J0IGNvbnN0IEZyZWV6ZVNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHcmlkc0ZyZWV6ZScsIHVzZVZhbHVlOiBGcmVlemV9O1xuZXhwb3J0IGNvbnN0IENvbHVtbk1lbnVTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR3JpZHNDb2x1bW5NZW51JywgdXNlVmFsdWU6IENvbHVtbk1lbnV9O1xuZXhwb3J0IGNvbnN0IENvbHVtbkNob29zZXJTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR3JpZHNDb2x1bW5DaG9vc2VyJywgdXNlVmFsdWU6IENvbHVtbkNob29zZXJ9O1xuZXhwb3J0IGNvbnN0IEZvcmVpZ25LZXlTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR3JpZHNGb3JlaWduS2V5JywgdXNlVmFsdWU6IEZvcmVpZ25LZXl9O1xuZXhwb3J0IGNvbnN0IEluZmluaXRlU2Nyb2xsU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dyaWRzSW5maW5pdGVTY3JvbGwnLCB1c2VWYWx1ZTogSW5maW5pdGVTY3JvbGx9O1xuZXhwb3J0IGNvbnN0IExhenlMb2FkR3JvdXBTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR3JpZHNMYXp5TG9hZEdyb3VwJywgdXNlVmFsdWU6IExhenlMb2FkR3JvdXB9O1xuXG4vKipcbiAqIE5nTW9kdWxlIGRlZmluaXRpb24gZm9yIHRoZSBHcmlkIGNvbXBvbmVudCB3aXRoIHByb3ZpZGVycy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBHcmlkTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEdyaWRNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczpbXG4gICAgICAgIEZpbHRlclNlcnZpY2UsXG4gICAgICAgIFBhZ2VTZXJ2aWNlLFxuICAgICAgICBTZWxlY3Rpb25TZXJ2aWNlLFxuICAgICAgICBTb3J0U2VydmljZSxcbiAgICAgICAgR3JvdXBTZXJ2aWNlLFxuICAgICAgICBSZW9yZGVyU2VydmljZSxcbiAgICAgICAgUm93RERTZXJ2aWNlLFxuICAgICAgICBEZXRhaWxSb3dTZXJ2aWNlLFxuICAgICAgICBUb29sYmFyU2VydmljZSxcbiAgICAgICAgQWdncmVnYXRlU2VydmljZSxcbiAgICAgICAgU2VhcmNoU2VydmljZSxcbiAgICAgICAgVmlydHVhbFNjcm9sbFNlcnZpY2UsXG4gICAgICAgIEVkaXRTZXJ2aWNlLFxuICAgICAgICBSZXNpemVTZXJ2aWNlLFxuICAgICAgICBFeGNlbEV4cG9ydFNlcnZpY2UsXG4gICAgICAgIFBkZkV4cG9ydFNlcnZpY2UsXG4gICAgICAgIENvbW1hbmRDb2x1bW5TZXJ2aWNlLFxuICAgICAgICBDb250ZXh0TWVudVNlcnZpY2UsXG4gICAgICAgIEZyZWV6ZVNlcnZpY2UsXG4gICAgICAgIENvbHVtbk1lbnVTZXJ2aWNlLFxuICAgICAgICBDb2x1bW5DaG9vc2VyU2VydmljZSxcbiAgICAgICAgRm9yZWlnbktleVNlcnZpY2UsXG4gICAgICAgIEluZmluaXRlU2Nyb2xsU2VydmljZSxcbiAgICAgICAgTGF6eUxvYWRHcm91cFNlcnZpY2VcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRBbGxNb2R1bGUgeyB9Il19
|