@syncfusion/ej2-angular-gantt 24.2.6 → 24.2.7-ngcc

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 (41) hide show
  1. package/@syncfusion/ej2-angular-gantt.es5.js +812 -0
  2. package/@syncfusion/ej2-angular-gantt.es5.js.map +1 -0
  3. package/@syncfusion/ej2-angular-gantt.js +764 -0
  4. package/@syncfusion/ej2-angular-gantt.js.map +1 -0
  5. package/CHANGELOG.md +2205 -0
  6. package/dist/ej2-angular-gantt.umd.js +925 -0
  7. package/dist/ej2-angular-gantt.umd.js.map +1 -0
  8. package/dist/ej2-angular-gantt.umd.min.js +11 -0
  9. package/dist/ej2-angular-gantt.umd.min.js.map +1 -0
  10. package/{syncfusion-ej2-angular-gantt.d.ts → ej2-angular-gantt.d.ts} +1 -1
  11. package/ej2-angular-gantt.metadata.json +1 -0
  12. package/package.json +14 -28
  13. package/postinstall/tagchange.js +18 -0
  14. package/schematics/utils/lib-details.d.ts +2 -2
  15. package/schematics/utils/lib-details.js +2 -2
  16. package/schematics/utils/lib-details.ts +2 -2
  17. package/src/gantt/adddialogfields.directive.d.ts +0 -5
  18. package/src/gantt/columns.directive.d.ts +0 -5
  19. package/src/gantt/dayworkingtime.directive.d.ts +0 -5
  20. package/src/gantt/editdialogfields.directive.d.ts +0 -5
  21. package/src/gantt/eventmarkers.directive.d.ts +0 -5
  22. package/src/gantt/gantt-all.module.d.ts +0 -6
  23. package/src/gantt/gantt.component.d.ts +0 -3
  24. package/src/gantt/gantt.module.d.ts +0 -12
  25. package/src/gantt/holidays.directive.d.ts +0 -5
  26. package/esm2020/public_api.mjs +0 -3
  27. package/esm2020/src/gantt/adddialogfields.directive.mjs +0 -58
  28. package/esm2020/src/gantt/columns.directive.mjs +0 -72
  29. package/esm2020/src/gantt/dayworkingtime.directive.mjs +0 -58
  30. package/esm2020/src/gantt/editdialogfields.directive.mjs +0 -58
  31. package/esm2020/src/gantt/eventmarkers.directive.mjs +0 -57
  32. package/esm2020/src/gantt/gantt-all.module.mjs +0 -71
  33. package/esm2020/src/gantt/gantt.component.mjs +0 -255
  34. package/esm2020/src/gantt/gantt.module.mjs +0 -79
  35. package/esm2020/src/gantt/holidays.directive.mjs +0 -58
  36. package/esm2020/src/index.mjs +0 -11
  37. package/esm2020/syncfusion-ej2-angular-gantt.mjs +0 -5
  38. package/fesm2015/syncfusion-ej2-angular-gantt.mjs +0 -734
  39. package/fesm2015/syncfusion-ej2-angular-gantt.mjs.map +0 -1
  40. package/fesm2020/syncfusion-ej2-angular-gantt.mjs +0 -734
  41. package/fesm2020/syncfusion-ej2-angular-gantt.mjs.map +0 -1
@@ -1,58 +0,0 @@
1
- import { Directive, ContentChildren } from '@angular/core';
2
- import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
3
- import * as i0 from "@angular/core";
4
- let input = ['fields', 'headerText', 'type'];
5
- let outputs = [];
6
- /**
7
- * `e-edit-dialog-field` directive represent a edit dialog fields collection in Gantt task add dialog.
8
- * It must be contained in a Gantt component(`ejs-gantt`).
9
- * ```html
10
- * <ejs-gantt [dataSource]='data' allowSelection='true' allowSorting='true'>
11
- * <e-edit-dialog-fields>
12
- * <e-edit-dialog-field type='General' headerText='General'></e-edit-dialog-field>
13
- * <e-edit-dialog-field type='Dependency' headerText='Dependency'></e-edit-dialog-field>
14
- * </e-edit-dialog-fields>
15
- * </ejs-gantt>
16
- * ```
17
- */
18
- export class EditDialogFieldDirective extends ComplexBase {
19
- constructor(viewContainerRef) {
20
- super();
21
- this.viewContainerRef = viewContainerRef;
22
- setValue('currentInstance', this, this.viewContainerRef);
23
- this.registerEvents(outputs);
24
- this.directivePropList = input;
25
- }
26
- }
27
- EditDialogFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EditDialogFieldDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
28
- EditDialogFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: EditDialogFieldDirective, selector: "ejs-gantt>e-edit-dialog-fields>e-edit-dialog-field", inputs: { fields: "fields", headerText: "headerText", type: "type" }, usesInheritance: true, ngImport: i0 });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EditDialogFieldDirective, decorators: [{
30
- type: Directive,
31
- args: [{
32
- selector: 'ejs-gantt>e-edit-dialog-fields>e-edit-dialog-field',
33
- inputs: input,
34
- outputs: outputs,
35
- queries: {}
36
- }]
37
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
38
- /**
39
- * EditDialogField Array Directive
40
- * @private
41
- */
42
- export class EditDialogFieldsDirective extends ArrayBase {
43
- constructor() {
44
- super('editdialogfields');
45
- }
46
- }
47
- EditDialogFieldsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EditDialogFieldsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
48
- EditDialogFieldsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: EditDialogFieldsDirective, selector: "ejs-gantt>e-edit-dialog-fields", queries: [{ propertyName: "children", predicate: EditDialogFieldDirective }], usesInheritance: true, ngImport: i0 });
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EditDialogFieldsDirective, decorators: [{
50
- type: Directive,
51
- args: [{
52
- selector: 'ejs-gantt>e-edit-dialog-fields',
53
- queries: {
54
- children: new ContentChildren(EditDialogFieldDirective)
55
- },
56
- }]
57
- }], ctorParameters: function () { return []; } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGRpYWxvZ2ZpZWxkcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ2FudHQvZWRpdGRpYWxvZ2ZpZWxkcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUloRixJQUFJLEtBQUssR0FBYSxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDdkQsSUFBSSxPQUFPLEdBQWEsRUFBRSxDQUFDO0FBQzNCOzs7Ozs7Ozs7OztHQVdHO0FBU0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLFdBQXFDO0lBMEIvRSxZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBRWpELFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7O3FIQS9CUSx3QkFBd0I7eUdBQXhCLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQVJwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvREFBb0Q7b0JBQzlELE1BQU0sRUFBRSxLQUFLO29CQUNiLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUUsRUFFUjtpQkFDSjs7QUFtQ0Q7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFNBQW9DO0lBQy9FO1FBQ0ksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDOUIsQ0FBQzs7c0hBSFEseUJBQXlCOzBHQUF6Qix5QkFBeUIsK0ZBSEEsd0JBQXdCOzJGQUdqRCx5QkFBeUI7a0JBTnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsT0FBTyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDMUQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYsIENvbnRlbnRDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGxleEJhc2UsIEFycmF5QmFzZSwgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcblxuXG5cbmxldCBpbnB1dDogc3RyaW5nW10gPSBbJ2ZpZWxkcycsICdoZWFkZXJUZXh0JywgJ3R5cGUnXTtcbmxldCBvdXRwdXRzOiBzdHJpbmdbXSA9IFtdO1xuLyoqXG4gKiBgZS1lZGl0LWRpYWxvZy1maWVsZGAgZGlyZWN0aXZlIHJlcHJlc2VudCBhIGVkaXQgZGlhbG9nIGZpZWxkcyBjb2xsZWN0aW9uIGluIEdhbnR0IHRhc2sgYWRkIGRpYWxvZy4gXG4gKiBJdCBtdXN0IGJlIGNvbnRhaW5lZCBpbiBhIEdhbnR0IGNvbXBvbmVudChgZWpzLWdhbnR0YCkuIFxuICogYGBgaHRtbFxuICogPGVqcy1nYW50dCBbZGF0YVNvdXJjZV09J2RhdGEnIGFsbG93U2VsZWN0aW9uPSd0cnVlJyBhbGxvd1NvcnRpbmc9J3RydWUnPiBcbiAqICAgPGUtZWRpdC1kaWFsb2ctZmllbGRzPlxuICogICAgIDxlLWVkaXQtZGlhbG9nLWZpZWxkIHR5cGU9J0dlbmVyYWwnIGhlYWRlclRleHQ9J0dlbmVyYWwnPjwvZS1lZGl0LWRpYWxvZy1maWVsZD5cbiAqICAgICA8ZS1lZGl0LWRpYWxvZy1maWVsZCB0eXBlPSdEZXBlbmRlbmN5JyBoZWFkZXJUZXh0PSdEZXBlbmRlbmN5Jz48L2UtZWRpdC1kaWFsb2ctZmllbGQ+XG4gKiAgIDwvZS1lZGl0LWRpYWxvZy1maWVsZHM+XG4gKiA8L2Vqcy1nYW50dD5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Vqcy1nYW50dD5lLWVkaXQtZGlhbG9nLWZpZWxkcz5lLWVkaXQtZGlhbG9nLWZpZWxkJyxcbiAgICBpbnB1dHM6IGlucHV0LFxuICAgIG91dHB1dHM6IG91dHB1dHMsICAgIFxuICAgIHF1ZXJpZXM6IHtcblxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgRWRpdERpYWxvZ0ZpZWxkRGlyZWN0aXZlIGV4dGVuZHMgQ29tcGxleEJhc2U8RWRpdERpYWxvZ0ZpZWxkRGlyZWN0aXZlPiB7XG4gICAgcHVibGljIGRpcmVjdGl2ZVByb3BMaXN0OiBhbnk7XG5cdFxuXG5cbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0eXBlcyBvZiB0YWIgd2hpY2ggY29udGFpbnMgZWRpdG9yIGZvciBjb2x1bW5zLiBcbiAgICAgKiAqIGBHZW5lcmFsYCAtIERlZmluZXMgdGFiIGNvbnRhaW5lciB0eXBlIGFzIGdlbmVyYWwuIFxuICAgICAqICogYERlcGVuZGVuY3lgIC0gRGVmaW5lcyB0YWIgYXMgZGVwZW5kZW5jeSBlZGl0b3IuIFxuICAgICAqICogYFJlc291cmNlc2AgLSBEZWZpbmVzIHRhYiBhcyByZXNvdXJjZXMgZWRpdG9yLiBcbiAgICAgKiAqIGBOb3Rlc2AgLSBEZWZpbmVzIHRhYiBhcyBub3RlcyBlZGl0b3IuIFxuICAgICAqICogYEN1c3RvbWAgLSBEZWZpbmVzIHRhYiBhcyBjdXN0b20gY29sdW1uIGVkaXRvci5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHR5cGU6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyBlZGl0ZWQgY29sdW1uIGZpZWxkcyBwbGFjZWQgaW5zaWRlIHRoZSB0YWIuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBmaWVsZHM6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyBoZWFkZXIgdGV4dCBvZiB0YWIgaXRlbS5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGhlYWRlclRleHQ6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjpWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHNldFZhbHVlKCdjdXJyZW50SW5zdGFuY2UnLCB0aGlzLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmRpcmVjdGl2ZVByb3BMaXN0ID0gaW5wdXQ7XG4gICAgfVxufVxuXG4vKipcbiAqIEVkaXREaWFsb2dGaWVsZCBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLWdhbnR0PmUtZWRpdC1kaWFsb2ctZmllbGRzJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKEVkaXREaWFsb2dGaWVsZERpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0RGlhbG9nRmllbGRzRGlyZWN0aXZlIGV4dGVuZHMgQXJyYXlCYXNlPEVkaXREaWFsb2dGaWVsZHNEaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ2VkaXRkaWFsb2dmaWVsZHMnKTtcbiAgICB9XG59Il19
@@ -1,57 +0,0 @@
1
- import { Directive, ContentChildren } from '@angular/core';
2
- import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
3
- import * as i0 from "@angular/core";
4
- let input = ['cssClass', 'day', 'label'];
5
- let outputs = [];
6
- /**
7
- * `e-event-markers` directive represent a event marker collection in Gantt.
8
- * It must be contained in a Gantt component(`ejs-gantt`).
9
- * ```html
10
- * <ejs-gantt [dataSource]='data' allowSelection='true' allowSorting='true'>
11
- * <e-event-markers>
12
- * <e-event-marker day='02/10/2018' label='Project Starts'></e-event-marker>
13
- * </e-event-markers>
14
- * </ejs-gantt>
15
- * ```
16
- */
17
- export class EventMarkerDirective extends ComplexBase {
18
- constructor(viewContainerRef) {
19
- super();
20
- this.viewContainerRef = viewContainerRef;
21
- setValue('currentInstance', this, this.viewContainerRef);
22
- this.registerEvents(outputs);
23
- this.directivePropList = input;
24
- }
25
- }
26
- EventMarkerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EventMarkerDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
27
- EventMarkerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: EventMarkerDirective, selector: "ejs-gantt>e-event-markers>e-event-marker", inputs: { cssClass: "cssClass", day: "day", label: "label" }, usesInheritance: true, ngImport: i0 });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EventMarkerDirective, decorators: [{
29
- type: Directive,
30
- args: [{
31
- selector: 'ejs-gantt>e-event-markers>e-event-marker',
32
- inputs: input,
33
- outputs: outputs,
34
- queries: {}
35
- }]
36
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
37
- /**
38
- * EventMarker Array Directive
39
- * @private
40
- */
41
- export class EventMarkersDirective extends ArrayBase {
42
- constructor() {
43
- super('eventmarkers');
44
- }
45
- }
46
- EventMarkersDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EventMarkersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
47
- EventMarkersDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: EventMarkersDirective, selector: "ejs-gantt>e-event-markers", queries: [{ propertyName: "children", predicate: EventMarkerDirective }], usesInheritance: true, ngImport: i0 });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EventMarkersDirective, decorators: [{
49
- type: Directive,
50
- args: [{
51
- selector: 'ejs-gantt>e-event-markers',
52
- queries: {
53
- children: new ContentChildren(EventMarkerDirective)
54
- },
55
- }]
56
- }], ctorParameters: function () { return []; } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRtYXJrZXJzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nYW50dC9ldmVudG1hcmtlcnMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFJaEYsSUFBSSxLQUFLLEdBQWEsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ25ELElBQUksT0FBTyxHQUFhLEVBQUUsQ0FBQztBQUMzQjs7Ozs7Ozs7OztHQVVHO0FBU0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFdBQWlDO0lBcUJ2RSxZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBRWpELFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7O2lIQTFCUSxvQkFBb0I7cUdBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQVJoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQ0FBMEM7b0JBQ3BELE1BQU0sRUFBRSxLQUFLO29CQUNiLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUUsRUFFUjtpQkFDSjs7QUE4QkQ7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFNBQWdDO0lBQ3ZFO1FBQ0ksS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7O2tIQUhRLHFCQUFxQjtzR0FBckIscUJBQXFCLDBGQUhJLG9CQUFvQjsyRkFHN0MscUJBQXFCO2tCQU5qQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE9BQU8sRUFBRTt3QkFDTCxRQUFRLEVBQUUsSUFBSSxlQUFlLENBQUMsb0JBQW9CLENBQUM7cUJBQ3REO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBDb250ZW50Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBsZXhCYXNlLCBBcnJheUJhc2UsIHNldFZhbHVlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5cblxuXG5sZXQgaW5wdXQ6IHN0cmluZ1tdID0gWydjc3NDbGFzcycsICdkYXknLCAnbGFiZWwnXTtcbmxldCBvdXRwdXRzOiBzdHJpbmdbXSA9IFtdO1xuLyoqXG4gKiBgZS1ldmVudC1tYXJrZXJzYCBkaXJlY3RpdmUgcmVwcmVzZW50IGEgZXZlbnQgbWFya2VyIGNvbGxlY3Rpb24gaW4gR2FudHQuIFxuICogSXQgbXVzdCBiZSBjb250YWluZWQgaW4gYSBHYW50dCBjb21wb25lbnQoYGVqcy1nYW50dGApLiBcbiAqIGBgYGh0bWxcbiAqIDxlanMtZ2FudHQgW2RhdGFTb3VyY2VdPSdkYXRhJyBhbGxvd1NlbGVjdGlvbj0ndHJ1ZScgYWxsb3dTb3J0aW5nPSd0cnVlJz4gXG4gKiAgIDxlLWV2ZW50LW1hcmtlcnM+XG4gKiAgICAgPGUtZXZlbnQtbWFya2VyIGRheT0nMDIvMTAvMjAxOCcgbGFiZWw9J1Byb2plY3QgU3RhcnRzJz48L2UtZXZlbnQtbWFya2VyPlxuICogICA8L2UtZXZlbnQtbWFya2Vycz5cbiAqIDwvZWpzLWdhbnR0PlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLWdhbnR0PmUtZXZlbnQtbWFya2Vycz5lLWV2ZW50LW1hcmtlcicsXG4gICAgaW5wdXRzOiBpbnB1dCxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLCAgICBcbiAgICBxdWVyaWVzOiB7XG5cbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEV2ZW50TWFya2VyRGlyZWN0aXZlIGV4dGVuZHMgQ29tcGxleEJhc2U8RXZlbnRNYXJrZXJEaXJlY3RpdmU+IHtcbiAgICBwdWJsaWMgZGlyZWN0aXZlUHJvcExpc3Q6IGFueTtcblx0XG5cblxuICAgIC8qKiBcbiAgICAgKiBEZWZpbmUgY3VzdG9tIGNzcyBjbGFzcyBmb3IgZXZlbnQgbWFya2VyIHRvIGN1c3RvbWl6ZSBsaW5lIGFuZCBsYWJlbC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGNzc0NsYXNzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgZGF5IG9mIGV2ZW50IG1hcmtlci5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGRheTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIGxhYmVsIG9mIGV2ZW50IG1hcmtlci5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGxhYmVsOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5kaXJlY3RpdmVQcm9wTGlzdCA9IGlucHV0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBFdmVudE1hcmtlciBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLWdhbnR0PmUtZXZlbnQtbWFya2VycycsXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZHJlbjogbmV3IENvbnRlbnRDaGlsZHJlbihFdmVudE1hcmtlckRpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBFdmVudE1hcmtlcnNEaXJlY3RpdmUgZXh0ZW5kcyBBcnJheUJhc2U8RXZlbnRNYXJrZXJzRGlyZWN0aXZlPiB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCdldmVudG1hcmtlcnMnKTtcbiAgICB9XG59Il19
@@ -1,71 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { GanttModule } from './gantt.module';
4
- import { Filter, Selection, Sort, Reorder, Resize, Edit, DayMarkers, Toolbar, ContextMenu, ExcelExport, RowDD, ColumnMenu, PdfExport, VirtualScroll, CriticalPath } from '@syncfusion/ej2-gantt';
5
- import * as i0 from "@angular/core";
6
- export const FilterService = { provide: 'GanttFilter', useValue: Filter };
7
- export const SelectionService = { provide: 'GanttSelection', useValue: Selection };
8
- export const SortService = { provide: 'GanttSort', useValue: Sort };
9
- export const ReorderService = { provide: 'GanttReorder', useValue: Reorder };
10
- export const ResizeService = { provide: 'GanttResize', useValue: Resize };
11
- export const EditService = { provide: 'GanttEdit', useValue: Edit };
12
- export const DayMarkersService = { provide: 'GanttDayMarkers', useValue: DayMarkers };
13
- export const ToolbarService = { provide: 'GanttToolbar', useValue: Toolbar };
14
- export const ContextMenuService = { provide: 'GanttContextMenu', useValue: ContextMenu };
15
- export const ExcelExportService = { provide: 'GanttExcelExport', useValue: ExcelExport };
16
- export const RowDDService = { provide: 'GanttRowDD', useValue: RowDD };
17
- export const ColumnMenuService = { provide: 'GanttColumnMenu', useValue: ColumnMenu };
18
- export const PdfExportService = { provide: 'GanttPdfExport', useValue: PdfExport };
19
- export const VirtualScrollService = { provide: 'GanttVirtualScroll', useValue: VirtualScroll };
20
- export const CriticalPathService = { provide: 'GanttCriticalPath', useValue: CriticalPath };
21
- /**
22
- * NgModule definition for the Gantt component with providers.
23
- */
24
- export class GanttAllModule {
25
- }
26
- GanttAllModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttAllModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
27
- GanttAllModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttAllModule, imports: [CommonModule, GanttModule], exports: [GanttModule] });
28
- GanttAllModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttAllModule, providers: [
29
- FilterService,
30
- SelectionService,
31
- SortService,
32
- ReorderService,
33
- ResizeService,
34
- EditService,
35
- DayMarkersService,
36
- ToolbarService,
37
- ContextMenuService,
38
- ExcelExportService,
39
- RowDDService,
40
- ColumnMenuService,
41
- PdfExportService,
42
- VirtualScrollService,
43
- CriticalPathService
44
- ], imports: [[CommonModule, GanttModule], GanttModule] });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttAllModule, decorators: [{
46
- type: NgModule,
47
- args: [{
48
- imports: [CommonModule, GanttModule],
49
- exports: [
50
- GanttModule
51
- ],
52
- providers: [
53
- FilterService,
54
- SelectionService,
55
- SortService,
56
- ReorderService,
57
- ResizeService,
58
- EditService,
59
- DayMarkersService,
60
- ToolbarService,
61
- ContextMenuService,
62
- ExcelExportService,
63
- RowDDService,
64
- ColumnMenuService,
65
- PdfExportService,
66
- VirtualScrollService,
67
- CriticalPathService
68
- ]
69
- }]
70
- }] });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQtYWxsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nYW50dC9nYW50dC1hbGwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVEvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFDLE1BQU0sdUJBQXVCLENBQUE7O0FBRzlMLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBa0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUMsQ0FBQztBQUN4RixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBa0IsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQyxDQUFDO0FBQ2pHLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBa0IsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQztBQUNsRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWtCLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFDLENBQUM7QUFDM0YsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFrQixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQyxDQUFDO0FBQ3hGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBa0IsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQztBQUNsRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBa0IsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBQyxDQUFDO0FBQ3BHLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBa0IsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUMsQ0FBQztBQUMzRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBa0IsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBQyxDQUFDO0FBQ3ZHLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFrQixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFDLENBQUM7QUFDdkcsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFrQixFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBQyxDQUFDO0FBQ3JGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFrQixFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFDLENBQUM7QUFDcEcsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQWtCLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsQ0FBQztBQUNqRyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBa0IsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBQyxDQUFDO0FBQzdHLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFrQixFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFDLENBQUM7QUFFMUc7O0dBRUc7QUF3QkgsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7NEdBQWQsY0FBYyxZQXRCYixZQUFZLEVBQUUsV0FBVyxhQUUvQixXQUFXOzRHQW9CTixjQUFjLGFBbEJiO1FBQ04sYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsY0FBYztRQUNkLGFBQWE7UUFDYixXQUFXO1FBQ1gsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLFlBQVk7UUFDWixpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLG9CQUFvQjtRQUNwQixtQkFBbUI7S0FDdEIsWUFwQlEsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLEVBRWhDLFdBQVc7MkZBb0JOLGNBQWM7a0JBdkIxQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7b0JBQ3BDLE9BQU8sRUFBRTt3QkFDTCxXQUFXO3FCQUNkO29CQUNELFNBQVMsRUFBQzt3QkFDTixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3FCQUN0QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29sdW1uRGlyZWN0aXZlLCBDb2x1bW5zRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2x1bW5zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBZGREaWFsb2dGaWVsZERpcmVjdGl2ZSwgQWRkRGlhbG9nRmllbGRzRGlyZWN0aXZlIH0gZnJvbSAnLi9hZGRkaWFsb2dmaWVsZHMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVkaXREaWFsb2dGaWVsZERpcmVjdGl2ZSwgRWRpdERpYWxvZ0ZpZWxkc0RpcmVjdGl2ZSB9IGZyb20gJy4vZWRpdGRpYWxvZ2ZpZWxkcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGF5V29ya2luZ1RpbWVEaXJlY3RpdmUsIERheVdvcmtpbmdUaW1lQ29sbGVjdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGF5d29ya2luZ3RpbWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEhvbGlkYXlEaXJlY3RpdmUsIEhvbGlkYXlzRGlyZWN0aXZlIH0gZnJvbSAnLi9ob2xpZGF5cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRXZlbnRNYXJrZXJEaXJlY3RpdmUsIEV2ZW50TWFya2Vyc0RpcmVjdGl2ZSB9IGZyb20gJy4vZXZlbnRtYXJrZXJzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBHYW50dENvbXBvbmVudCB9IGZyb20gJy4vZ2FudHQuY29tcG9uZW50JztcbmltcG9ydCB7IEdhbnR0TW9kdWxlIH0gZnJvbSAnLi9nYW50dC5tb2R1bGUnO1xuaW1wb3J0IHtGaWx0ZXIsIFNlbGVjdGlvbiwgU29ydCwgUmVvcmRlciwgUmVzaXplLCBFZGl0LCBEYXlNYXJrZXJzLCBUb29sYmFyLCBDb250ZXh0TWVudSwgRXhjZWxFeHBvcnQsIFJvd0RELCBDb2x1bW5NZW51LCBQZGZFeHBvcnQsIFZpcnR1YWxTY3JvbGwsIENyaXRpY2FsUGF0aH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWdhbnR0J1xuXG5cbmV4cG9ydCBjb25zdCBGaWx0ZXJTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR2FudHRGaWx0ZXInLCB1c2VWYWx1ZTogRmlsdGVyfTtcbmV4cG9ydCBjb25zdCBTZWxlY3Rpb25TZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR2FudHRTZWxlY3Rpb24nLCB1c2VWYWx1ZTogU2VsZWN0aW9ufTtcbmV4cG9ydCBjb25zdCBTb3J0U2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dhbnR0U29ydCcsIHVzZVZhbHVlOiBTb3J0fTtcbmV4cG9ydCBjb25zdCBSZW9yZGVyU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dhbnR0UmVvcmRlcicsIHVzZVZhbHVlOiBSZW9yZGVyfTtcbmV4cG9ydCBjb25zdCBSZXNpemVTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR2FudHRSZXNpemUnLCB1c2VWYWx1ZTogUmVzaXplfTtcbmV4cG9ydCBjb25zdCBFZGl0U2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dhbnR0RWRpdCcsIHVzZVZhbHVlOiBFZGl0fTtcbmV4cG9ydCBjb25zdCBEYXlNYXJrZXJzU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dhbnR0RGF5TWFya2VycycsIHVzZVZhbHVlOiBEYXlNYXJrZXJzfTtcbmV4cG9ydCBjb25zdCBUb29sYmFyU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dhbnR0VG9vbGJhcicsIHVzZVZhbHVlOiBUb29sYmFyfTtcbmV4cG9ydCBjb25zdCBDb250ZXh0TWVudVNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHYW50dENvbnRleHRNZW51JywgdXNlVmFsdWU6IENvbnRleHRNZW51fTtcbmV4cG9ydCBjb25zdCBFeGNlbEV4cG9ydFNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHYW50dEV4Y2VsRXhwb3J0JywgdXNlVmFsdWU6IEV4Y2VsRXhwb3J0fTtcbmV4cG9ydCBjb25zdCBSb3dERFNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHYW50dFJvd0REJywgdXNlVmFsdWU6IFJvd0REfTtcbmV4cG9ydCBjb25zdCBDb2x1bW5NZW51U2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dhbnR0Q29sdW1uTWVudScsIHVzZVZhbHVlOiBDb2x1bW5NZW51fTtcbmV4cG9ydCBjb25zdCBQZGZFeHBvcnRTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR2FudHRQZGZFeHBvcnQnLCB1c2VWYWx1ZTogUGRmRXhwb3J0fTtcbmV4cG9ydCBjb25zdCBWaXJ0dWFsU2Nyb2xsU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dhbnR0VmlydHVhbFNjcm9sbCcsIHVzZVZhbHVlOiBWaXJ0dWFsU2Nyb2xsfTtcbmV4cG9ydCBjb25zdCBDcml0aWNhbFBhdGhTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR2FudHRDcml0aWNhbFBhdGgnLCB1c2VWYWx1ZTogQ3JpdGljYWxQYXRofTtcblxuLyoqXG4gKiBOZ01vZHVsZSBkZWZpbml0aW9uIGZvciB0aGUgR2FudHQgY29tcG9uZW50IHdpdGggcHJvdmlkZXJzLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEdhbnR0TW9kdWxlXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEdhbnR0TW9kdWxlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6W1xuICAgICAgICBGaWx0ZXJTZXJ2aWNlLFxuICAgICAgICBTZWxlY3Rpb25TZXJ2aWNlLFxuICAgICAgICBTb3J0U2VydmljZSxcbiAgICAgICAgUmVvcmRlclNlcnZpY2UsXG4gICAgICAgIFJlc2l6ZVNlcnZpY2UsXG4gICAgICAgIEVkaXRTZXJ2aWNlLFxuICAgICAgICBEYXlNYXJrZXJzU2VydmljZSxcbiAgICAgICAgVG9vbGJhclNlcnZpY2UsXG4gICAgICAgIENvbnRleHRNZW51U2VydmljZSxcbiAgICAgICAgRXhjZWxFeHBvcnRTZXJ2aWNlLFxuICAgICAgICBSb3dERFNlcnZpY2UsXG4gICAgICAgIENvbHVtbk1lbnVTZXJ2aWNlLFxuICAgICAgICBQZGZFeHBvcnRTZXJ2aWNlLFxuICAgICAgICBWaXJ0dWFsU2Nyb2xsU2VydmljZSxcbiAgICAgICAgQ3JpdGljYWxQYXRoU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgR2FudHRBbGxNb2R1bGUgeyB9Il19
@@ -1,255 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, ChangeDetectionStrategy, ContentChild } from '@angular/core';
3
- import { ComponentBase, ComponentMixins, setValue } from '@syncfusion/ej2-angular-base';
4
- import { Gantt } from '@syncfusion/ej2-gantt';
5
- import { Template } from '@syncfusion/ej2-angular-base';
6
- import { ColumnsDirective } from './columns.directive';
7
- import { AddDialogFieldsDirective } from './adddialogfields.directive';
8
- import { EditDialogFieldsDirective } from './editdialogfields.directive';
9
- import { DayWorkingTimeCollectionDirective } from './dayworkingtime.directive';
10
- import { HolidaysDirective } from './holidays.directive';
11
- import { EventMarkersDirective } from './eventmarkers.directive';
12
- import * as i0 from "@angular/core";
13
- export const inputs = ['UpdateOffsetOnTaskbarEdit', 'addDialogFields', 'allowExcelExport', 'allowFiltering', 'allowKeyboard', 'allowParentDependency', 'allowPdfExport', 'allowReordering', 'allowResizing', 'allowRowDragAndDrop', 'allowSelection', 'allowSorting', 'allowTaskbarDragAndDrop', 'allowTaskbarOverlap', 'allowUnscheduledTasks', 'autoCalculateDateScheduling', 'autoFocusTasks', 'baselineColor', 'collapseAllParentTasks', 'columnMenuItems', 'columns', 'connectorLineBackground', 'connectorLineWidth', 'contextMenuItems', 'dataSource', 'dateFormat', 'dayWorkingTime', 'disableHtmlEncode', 'durationUnit', 'editDialogFields', 'editSettings', 'enableContextMenu', 'enableCriticalPath', 'enableHtmlSanitizer', 'enableImmutableMode', 'enableMultiTaskbar', 'enablePersistence', 'enablePredecessorValidation', 'enableRtl', 'enableTimelineVirtualization', 'enableVirtualMaskRow', 'enableVirtualization', 'eventMarkers', 'filterSettings', 'gridLines', 'height', 'highlightWeekends', 'holidays', 'includeWeekend', 'labelSettings', 'loadChildOnDemand', 'loadingIndicator', 'locale', 'milestoneTemplate', 'parentTaskbarTemplate', 'projectEndDate', 'projectStartDate', 'query', 'readOnly', 'renderBaseline', 'resourceFields', 'resourceIDMapping', 'resourceNameMapping', 'resources', 'rowHeight', 'searchSettings', 'segmentData', 'selectedRowIndex', 'selectionSettings', 'showColumnMenu', 'showInlineNotes', 'showOverAllocation', 'sortSettings', 'splitterSettings', 'taskFields', 'taskMode', 'taskType', 'taskbarHeight', 'taskbarTemplate', 'timelineSettings', 'timezone', 'toolbar', 'tooltipSettings', 'treeColumnIndex', 'validateManualTasksOnLinking', 'viewType', 'width', 'workUnit', 'workWeek', 'zoomingLevels'];
14
- export const outputs = ['actionBegin', 'actionComplete', 'actionFailure', 'beforeExcelExport', 'beforePdfExport', 'beforeTooltipRender', 'cellDeselected', 'cellDeselecting', 'cellEdit', 'cellSelected', 'cellSelecting', 'collapsed', 'collapsing', 'columnDrag', 'columnDragStart', 'columnDrop', 'columnMenuClick', 'columnMenuOpen', 'contextMenuClick', 'contextMenuOpen', 'created', 'dataBound', 'dataStateChange', 'destroyed', 'endEdit', 'excelExportComplete', 'excelHeaderQueryCellInfo', 'excelQueryCellInfo', 'expanded', 'expanding', 'headerCellInfo', 'load', 'onMouseMove', 'onTaskbarClick', 'pdfColumnHeaderQueryCellInfo', 'pdfExportComplete', 'pdfQueryCellInfo', 'pdfQueryTaskbarInfo', 'pdfQueryTimelineCellInfo', 'queryCellInfo', 'queryTaskbarInfo', 'recordDoubleClick', 'resizeStart', 'resizeStop', 'resizing', 'rowDataBound', 'rowDeselected', 'rowDeselecting', 'rowDrag', 'rowDragStart', 'rowDragStartHelper', 'rowDrop', 'rowSelected', 'rowSelecting', 'splitterResizeStart', 'splitterResized', 'splitterResizing', 'taskbarEdited', 'taskbarEditing', 'toolbarClick', 'dataSourceChange'];
15
- export const twoWays = ['dataSource'];
16
- /**
17
- * `ejs-gantt` represents the Angular Gantt Component.
18
- * ```html
19
- * <ejs-gantt [dataSource]='data' allowSelection='true' allowSorting='true'></ejs-gantt>
20
- * ```
21
- */
22
- let GanttComponent = class GanttComponent extends Gantt {
23
- constructor(ngEle, srenderer, viewContainerRef, injector) {
24
- super();
25
- this.ngEle = ngEle;
26
- this.srenderer = srenderer;
27
- this.viewContainerRef = viewContainerRef;
28
- this.injector = injector;
29
- this.tags = ['columns', 'addDialogFields', 'editDialogFields', 'dayWorkingTime', 'holidays', 'eventMarkers'];
30
- this.element = this.ngEle.nativeElement;
31
- this.injectedModules = this.injectedModules || [];
32
- try {
33
- let mod = this.injector.get('GanttFilter');
34
- if (this.injectedModules.indexOf(mod) === -1) {
35
- this.injectedModules.push(mod);
36
- }
37
- }
38
- catch { }
39
- try {
40
- let mod = this.injector.get('GanttSelection');
41
- if (this.injectedModules.indexOf(mod) === -1) {
42
- this.injectedModules.push(mod);
43
- }
44
- }
45
- catch { }
46
- try {
47
- let mod = this.injector.get('GanttSort');
48
- if (this.injectedModules.indexOf(mod) === -1) {
49
- this.injectedModules.push(mod);
50
- }
51
- }
52
- catch { }
53
- try {
54
- let mod = this.injector.get('GanttReorder');
55
- if (this.injectedModules.indexOf(mod) === -1) {
56
- this.injectedModules.push(mod);
57
- }
58
- }
59
- catch { }
60
- try {
61
- let mod = this.injector.get('GanttResize');
62
- if (this.injectedModules.indexOf(mod) === -1) {
63
- this.injectedModules.push(mod);
64
- }
65
- }
66
- catch { }
67
- try {
68
- let mod = this.injector.get('GanttEdit');
69
- if (this.injectedModules.indexOf(mod) === -1) {
70
- this.injectedModules.push(mod);
71
- }
72
- }
73
- catch { }
74
- try {
75
- let mod = this.injector.get('GanttDayMarkers');
76
- if (this.injectedModules.indexOf(mod) === -1) {
77
- this.injectedModules.push(mod);
78
- }
79
- }
80
- catch { }
81
- try {
82
- let mod = this.injector.get('GanttToolbar');
83
- if (this.injectedModules.indexOf(mod) === -1) {
84
- this.injectedModules.push(mod);
85
- }
86
- }
87
- catch { }
88
- try {
89
- let mod = this.injector.get('GanttContextMenu');
90
- if (this.injectedModules.indexOf(mod) === -1) {
91
- this.injectedModules.push(mod);
92
- }
93
- }
94
- catch { }
95
- try {
96
- let mod = this.injector.get('GanttExcelExport');
97
- if (this.injectedModules.indexOf(mod) === -1) {
98
- this.injectedModules.push(mod);
99
- }
100
- }
101
- catch { }
102
- try {
103
- let mod = this.injector.get('GanttRowDD');
104
- if (this.injectedModules.indexOf(mod) === -1) {
105
- this.injectedModules.push(mod);
106
- }
107
- }
108
- catch { }
109
- try {
110
- let mod = this.injector.get('GanttColumnMenu');
111
- if (this.injectedModules.indexOf(mod) === -1) {
112
- this.injectedModules.push(mod);
113
- }
114
- }
115
- catch { }
116
- try {
117
- let mod = this.injector.get('GanttPdfExport');
118
- if (this.injectedModules.indexOf(mod) === -1) {
119
- this.injectedModules.push(mod);
120
- }
121
- }
122
- catch { }
123
- try {
124
- let mod = this.injector.get('GanttVirtualScroll');
125
- if (this.injectedModules.indexOf(mod) === -1) {
126
- this.injectedModules.push(mod);
127
- }
128
- }
129
- catch { }
130
- try {
131
- let mod = this.injector.get('GanttCriticalPath');
132
- if (this.injectedModules.indexOf(mod) === -1) {
133
- this.injectedModules.push(mod);
134
- }
135
- }
136
- catch { }
137
- this.registerEvents(outputs);
138
- this.addTwoWay.call(this, twoWays);
139
- setValue('currentInstance', this, this.viewContainerRef);
140
- this.context = new ComponentBase();
141
- }
142
- ngOnInit() {
143
- this.context.ngOnInit(this);
144
- }
145
- ngAfterViewInit() {
146
- this.context.ngAfterViewInit(this);
147
- }
148
- ngOnDestroy() {
149
- this.context.ngOnDestroy(this);
150
- }
151
- ngAfterContentChecked() {
152
- this.tagObjects[0].instance = this.childColumns;
153
- if (this.childAddDialogFields) {
154
- this.tagObjects[1].instance = this.childAddDialogFields;
155
- }
156
- if (this.childEditDialogFields) {
157
- this.tagObjects[2].instance = this.childEditDialogFields;
158
- }
159
- if (this.childDayWorkingTime) {
160
- this.tagObjects[3].instance = this.childDayWorkingTime;
161
- }
162
- if (this.childHolidays) {
163
- this.tagObjects[4].instance = this.childHolidays;
164
- }
165
- if (this.childEventMarkers) {
166
- this.tagObjects[5].instance = this.childEventMarkers;
167
- }
168
- this.context.ngAfterContentChecked(this);
169
- }
170
- };
171
- GanttComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
172
- GanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: GanttComponent, selector: "ejs-gantt", inputs: { UpdateOffsetOnTaskbarEdit: "UpdateOffsetOnTaskbarEdit", addDialogFields: "addDialogFields", allowExcelExport: "allowExcelExport", allowFiltering: "allowFiltering", allowKeyboard: "allowKeyboard", allowParentDependency: "allowParentDependency", allowPdfExport: "allowPdfExport", allowReordering: "allowReordering", allowResizing: "allowResizing", allowRowDragAndDrop: "allowRowDragAndDrop", allowSelection: "allowSelection", allowSorting: "allowSorting", allowTaskbarDragAndDrop: "allowTaskbarDragAndDrop", allowTaskbarOverlap: "allowTaskbarOverlap", allowUnscheduledTasks: "allowUnscheduledTasks", autoCalculateDateScheduling: "autoCalculateDateScheduling", autoFocusTasks: "autoFocusTasks", baselineColor: "baselineColor", collapseAllParentTasks: "collapseAllParentTasks", columnMenuItems: "columnMenuItems", columns: "columns", connectorLineBackground: "connectorLineBackground", connectorLineWidth: "connectorLineWidth", contextMenuItems: "contextMenuItems", dataSource: "dataSource", dateFormat: "dateFormat", dayWorkingTime: "dayWorkingTime", disableHtmlEncode: "disableHtmlEncode", durationUnit: "durationUnit", editDialogFields: "editDialogFields", editSettings: "editSettings", enableContextMenu: "enableContextMenu", enableCriticalPath: "enableCriticalPath", enableHtmlSanitizer: "enableHtmlSanitizer", enableImmutableMode: "enableImmutableMode", enableMultiTaskbar: "enableMultiTaskbar", enablePersistence: "enablePersistence", enablePredecessorValidation: "enablePredecessorValidation", enableRtl: "enableRtl", enableTimelineVirtualization: "enableTimelineVirtualization", enableVirtualMaskRow: "enableVirtualMaskRow", enableVirtualization: "enableVirtualization", eventMarkers: "eventMarkers", filterSettings: "filterSettings", gridLines: "gridLines", height: "height", highlightWeekends: "highlightWeekends", holidays: "holidays", includeWeekend: "includeWeekend", labelSettings: "labelSettings", loadChildOnDemand: "loadChildOnDemand", loadingIndicator: "loadingIndicator", locale: "locale", milestoneTemplate: "milestoneTemplate", parentTaskbarTemplate: "parentTaskbarTemplate", projectEndDate: "projectEndDate", projectStartDate: "projectStartDate", query: "query", readOnly: "readOnly", renderBaseline: "renderBaseline", resourceFields: "resourceFields", resourceIDMapping: "resourceIDMapping", resourceNameMapping: "resourceNameMapping", resources: "resources", rowHeight: "rowHeight", searchSettings: "searchSettings", segmentData: "segmentData", selectedRowIndex: "selectedRowIndex", selectionSettings: "selectionSettings", showColumnMenu: "showColumnMenu", showInlineNotes: "showInlineNotes", showOverAllocation: "showOverAllocation", sortSettings: "sortSettings", splitterSettings: "splitterSettings", taskFields: "taskFields", taskMode: "taskMode", taskType: "taskType", taskbarHeight: "taskbarHeight", taskbarTemplate: "taskbarTemplate", timelineSettings: "timelineSettings", timezone: "timezone", toolbar: "toolbar", tooltipSettings: "tooltipSettings", treeColumnIndex: "treeColumnIndex", validateManualTasksOnLinking: "validateManualTasksOnLinking", viewType: "viewType", width: "width", workUnit: "workUnit", workWeek: "workWeek", zoomingLevels: "zoomingLevels" }, outputs: { actionBegin: "actionBegin", actionComplete: "actionComplete", actionFailure: "actionFailure", beforeExcelExport: "beforeExcelExport", beforePdfExport: "beforePdfExport", beforeTooltipRender: "beforeTooltipRender", cellDeselected: "cellDeselected", cellDeselecting: "cellDeselecting", cellEdit: "cellEdit", cellSelected: "cellSelected", cellSelecting: "cellSelecting", collapsed: "collapsed", collapsing: "collapsing", columnDrag: "columnDrag", columnDragStart: "columnDragStart", columnDrop: "columnDrop", columnMenuClick: "columnMenuClick", columnMenuOpen: "columnMenuOpen", contextMenuClick: "contextMenuClick", contextMenuOpen: "contextMenuOpen", created: "created", dataBound: "dataBound", dataStateChange: "dataStateChange", destroyed: "destroyed", endEdit: "endEdit", excelExportComplete: "excelExportComplete", excelHeaderQueryCellInfo: "excelHeaderQueryCellInfo", excelQueryCellInfo: "excelQueryCellInfo", expanded: "expanded", expanding: "expanding", headerCellInfo: "headerCellInfo", load: "load", onMouseMove: "onMouseMove", onTaskbarClick: "onTaskbarClick", pdfColumnHeaderQueryCellInfo: "pdfColumnHeaderQueryCellInfo", pdfExportComplete: "pdfExportComplete", pdfQueryCellInfo: "pdfQueryCellInfo", pdfQueryTaskbarInfo: "pdfQueryTaskbarInfo", pdfQueryTimelineCellInfo: "pdfQueryTimelineCellInfo", queryCellInfo: "queryCellInfo", queryTaskbarInfo: "queryTaskbarInfo", recordDoubleClick: "recordDoubleClick", resizeStart: "resizeStart", resizeStop: "resizeStop", resizing: "resizing", rowDataBound: "rowDataBound", rowDeselected: "rowDeselected", rowDeselecting: "rowDeselecting", rowDrag: "rowDrag", rowDragStart: "rowDragStart", rowDragStartHelper: "rowDragStartHelper", rowDrop: "rowDrop", rowSelected: "rowSelected", rowSelecting: "rowSelecting", splitterResizeStart: "splitterResizeStart", splitterResized: "splitterResized", splitterResizing: "splitterResizing", taskbarEdited: "taskbarEdited", taskbarEditing: "taskbarEditing", toolbarClick: "toolbarClick", dataSourceChange: "dataSourceChange" }, queries: [{ propertyName: "parentTaskbarTemplate", first: true, predicate: ["parentTaskbarTemplate"], descendants: true }, { propertyName: "milestoneTemplate", first: true, predicate: ["milestoneTemplate"], descendants: true }, { propertyName: "taskbarTemplate", first: true, predicate: ["taskbarTemplate"], descendants: true }, { propertyName: "labelSettings_rightLabel", first: true, predicate: ["labelSettingsRightLabel"], descendants: true }, { propertyName: "labelSettings_leftLabel", first: true, predicate: ["labelSettingsLeftLabel"], descendants: true }, { propertyName: "labelSettings_taskLabel", first: true, predicate: ["labelSettingsTaskLabel"], descendants: true }, { propertyName: "tooltipSettings_taskbar", first: true, predicate: ["tooltipSettingsTaskbar"], descendants: true }, { propertyName: "tooltipSettings_baseline", first: true, predicate: ["tooltipSettingsBaseline"], descendants: true }, { propertyName: "tooltipSettings_connectorLine", first: true, predicate: ["tooltipSettingsConnectorLine"], descendants: true }, { propertyName: "tooltipSettings_editing", first: true, predicate: ["tooltipSettingsEditing"], descendants: true }, { propertyName: "childColumns", first: true, predicate: ColumnsDirective, descendants: true }, { propertyName: "childAddDialogFields", first: true, predicate: AddDialogFieldsDirective, descendants: true }, { propertyName: "childEditDialogFields", first: true, predicate: EditDialogFieldsDirective, descendants: true }, { propertyName: "childDayWorkingTime", first: true, predicate: DayWorkingTimeCollectionDirective, descendants: true }, { propertyName: "childHolidays", first: true, predicate: HolidaysDirective, descendants: true }, { propertyName: "childEventMarkers", first: true, predicate: EventMarkersDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
173
- __decorate([
174
- Template()
175
- ], GanttComponent.prototype, "parentTaskbarTemplate", void 0);
176
- __decorate([
177
- Template()
178
- ], GanttComponent.prototype, "milestoneTemplate", void 0);
179
- __decorate([
180
- Template()
181
- ], GanttComponent.prototype, "taskbarTemplate", void 0);
182
- __decorate([
183
- Template()
184
- ], GanttComponent.prototype, "labelSettings_rightLabel", void 0);
185
- __decorate([
186
- Template()
187
- ], GanttComponent.prototype, "labelSettings_leftLabel", void 0);
188
- __decorate([
189
- Template()
190
- ], GanttComponent.prototype, "labelSettings_taskLabel", void 0);
191
- __decorate([
192
- Template()
193
- ], GanttComponent.prototype, "tooltipSettings_taskbar", void 0);
194
- __decorate([
195
- Template()
196
- ], GanttComponent.prototype, "tooltipSettings_baseline", void 0);
197
- __decorate([
198
- Template()
199
- ], GanttComponent.prototype, "tooltipSettings_connectorLine", void 0);
200
- __decorate([
201
- Template()
202
- ], GanttComponent.prototype, "tooltipSettings_editing", void 0);
203
- GanttComponent = __decorate([
204
- ComponentMixins([ComponentBase])
205
- ], GanttComponent);
206
- export { GanttComponent };
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttComponent, decorators: [{
208
- type: Component,
209
- args: [{
210
- selector: 'ejs-gantt',
211
- inputs: inputs,
212
- outputs: outputs,
213
- template: '',
214
- changeDetection: ChangeDetectionStrategy.OnPush,
215
- queries: {
216
- childColumns: new ContentChild(ColumnsDirective),
217
- childAddDialogFields: new ContentChild(AddDialogFieldsDirective),
218
- childEditDialogFields: new ContentChild(EditDialogFieldsDirective),
219
- childDayWorkingTime: new ContentChild(DayWorkingTimeCollectionDirective),
220
- childHolidays: new ContentChild(HolidaysDirective),
221
- childEventMarkers: new ContentChild(EventMarkersDirective)
222
- }
223
- }]
224
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.Injector }]; }, propDecorators: { parentTaskbarTemplate: [{
225
- type: ContentChild,
226
- args: ['parentTaskbarTemplate']
227
- }], milestoneTemplate: [{
228
- type: ContentChild,
229
- args: ['milestoneTemplate']
230
- }], taskbarTemplate: [{
231
- type: ContentChild,
232
- args: ['taskbarTemplate']
233
- }], labelSettings_rightLabel: [{
234
- type: ContentChild,
235
- args: ['labelSettingsRightLabel']
236
- }], labelSettings_leftLabel: [{
237
- type: ContentChild,
238
- args: ['labelSettingsLeftLabel']
239
- }], labelSettings_taskLabel: [{
240
- type: ContentChild,
241
- args: ['labelSettingsTaskLabel']
242
- }], tooltipSettings_taskbar: [{
243
- type: ContentChild,
244
- args: ['tooltipSettingsTaskbar']
245
- }], tooltipSettings_baseline: [{
246
- type: ContentChild,
247
- args: ['tooltipSettingsBaseline']
248
- }], tooltipSettings_connectorLine: [{
249
- type: ContentChild,
250
- args: ['tooltipSettingsConnectorLine']
251
- }], tooltipSettings_editing: [{
252
- type: ContentChild,
253
- args: ['tooltipSettingsEditing']
254
- }] } });
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dhbnR0L2dhbnR0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsdUJBQXVCLEVBQWlELFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SixPQUFPLEVBQUUsYUFBYSxFQUErQixlQUFlLEVBQTBCLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdJLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRWpFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBYSxDQUFDLDJCQUEyQixFQUFDLGlCQUFpQixFQUFDLGtCQUFrQixFQUFDLGdCQUFnQixFQUFDLGVBQWUsRUFBQyx1QkFBdUIsRUFBQyxnQkFBZ0IsRUFBQyxpQkFBaUIsRUFBQyxlQUFlLEVBQUMscUJBQXFCLEVBQUMsZ0JBQWdCLEVBQUMsY0FBYyxFQUFDLHlCQUF5QixFQUFDLHFCQUFxQixFQUFDLHVCQUF1QixFQUFDLDZCQUE2QixFQUFDLGdCQUFnQixFQUFDLGVBQWUsRUFBQyx3QkFBd0IsRUFBQyxpQkFBaUIsRUFBQyxTQUFTLEVBQUMs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QUFJLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQzt3QkFDaEUscUJBQXFCLEVBQUUsSUFBSSxZQUFZLENBQUMseUJBQXlCLENBQUM7d0JBQ2xFLG1CQUFtQixFQUFFLElBQUksWUFBWSxDQUFDLGlDQUFpQyxDQUFDO3dCQUN4RSxhQUFhLEVBQUUsSUFBSSxZQUFZLENBQUMsaUJBQWlCLENBQUM7d0JBQ2xELGlCQUFpQixFQUFFLElBQUksWUFBWSxDQUFDLHFCQUFxQixDQUFDO3FCQUM3RDtpQkFDSjsrS0FnRlUscUJBQXFCO3NCQUYzQixZQUFZO3VCQUFDLHVCQUF1QjtnQkFVOUIsaUJBQWlCO3NCQUZ2QixZQUFZO3VCQUFDLG1CQUFtQjtnQkFVMUIsZUFBZTtzQkFGckIsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBS3hCLHdCQUF3QjtzQkFGOUIsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBS2hDLHVCQUF1QjtzQkFGN0IsWUFBWTt1QkFBQyx3QkFBd0I7Z0JBSy9CLHVCQUF1QjtzQkFGN0IsWUFBWTt1QkFBQyx3QkFBd0I7Z0JBSy9CLHVCQUF1QjtzQkFGN0IsWUFBWTt1QkFBQyx3QkFBd0I7Z0JBSy9CLHdCQUF3QjtzQkFGOUIsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBS2hDLDZCQUE2QjtzQkFGbkMsWUFBWTt1QkFBQyw4QkFBOEI7Z0JBS3JDLHVCQUF1QjtzQkFGN0IsWUFBWTt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBRdWVyeUxpc3QsIFJlbmRlcmVyMiwgSW5qZWN0b3IsIFZhbHVlUHJvdmlkZXIsIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSwgSUNvbXBvbmVudEJhc2UsIGFwcGx5TWl4aW5zLCBDb21wb25lbnRNaXhpbnMsIFByb3BlcnR5Q29sbGVjdGlvbkluZm8sIHNldFZhbHVlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5pbXBvcnQgeyBHYW50dCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1nYW50dCc7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgQ29sdW1uc0RpcmVjdGl2ZSB9IGZyb20gJy4vY29sdW1ucy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQWRkRGlhbG9nRmllbGRzRGlyZWN0aXZlIH0gZnJvbSAnLi9hZGRkaWFsb2dmaWVsZHMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVkaXREaWFsb2dGaWVsZHNEaXJlY3RpdmUgfSBmcm9tICcuL2VkaXRkaWFsb2dmaWVsZHMuZGlyZWN0aXZlJztcbmltcG9ydCB7IERheVdvcmtpbmdUaW1lQ29sbGVjdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGF5d29ya2luZ3RpbWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEhvbGlkYXlzRGlyZWN0aXZlIH0gZnJvbSAnLi9ob2xpZGF5cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRXZlbnRNYXJrZXJzRGlyZWN0aXZlIH0gZnJvbSAnLi9ldmVudG1hcmtlcnMuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IGlucHV0czogc3RyaW5nW10gPSBbJ1VwZGF0ZU9mZnNldE9uVGFza2JhckVkaXQnLCdhZGREaWFsb2dGaWVsZHMnLCdhbGxvd0V4Y2VsRXhwb3J0JywnYWxsb3dGaWx0ZXJpbmcnLCdhbGxvd0tleWJvYXJkJywnYWxsb3dQYXJlbnREZXBlbmRlbmN5JywnYWxsb3dQZGZFeHBvcnQnLCdhbGxvd1Jlb3JkZXJpbmcnLCdhbGxvd1Jlc2l6aW5nJywnYWxsb3dSb3dEcmFnQW5kRHJvcCcsJ2FsbG93U2VsZWN0aW9uJywnYWxsb3dTb3J0aW5nJywnYWxsb3dUYXNrYmFyRHJhZ0FuZERyb3AnLCdhbGxvd1Rhc2tiYXJPdmVybGFwJywnYWxsb3dVbnNjaGVkdWxlZFRhc2tzJywnYXV0b0NhbGN1bGF0ZURhdGVTY2hlZHVsaW5nJywnYXV0b0ZvY3VzVGFza3MnLCdiYXNlbGluZUNvbG9yJywnY29sbGFwc2VBbGxQYXJlbnRUYXNrcycsJ2NvbHVtbk1lbnVJdGVtcycsJ2NvbHVtbnMnLCdjb25uZWN0b3JMaW5lQmFja2dyb3VuZCcsJ2Nvbm5lY3RvckxpbmVXaWR0aCcsJ2NvbnRleHRNZW51SXRlbXMnLCdkYXRhU291cmNlJywnZGF0ZUZvcm1hdCcsJ2RheVdvcmtpbmdUaW1lJywnZGlzYWJsZUh0bWxFbmNvZGUnLCdkdXJhdGlvblVuaXQnLCdlZGl0RGlhbG9nRmllbGRzJywnZWRpdFNldHRpbmdzJywnZW5hYmxlQ29udGV4dE1lbnUnLCdlbmFibGVDcml0aWNhbFBhdGgnLCdlbmFibGVIdG1sU2FuaXRpemVyJywnZW5hYmxlSW1tdXRhYmxlTW9kZScsJ2VuYWJsZU11bHRpVGFza2JhcicsJ2VuYWJsZVBlcnNpc3RlbmNlJywnZW5hYmxlUHJlZGVjZXNzb3JWYWxpZGF0aW9uJywnZW5hYmxlUnRsJywnZW5hYmxlVGltZWxpbmVWaXJ0dWFsaXphdGlvbicsJ2VuYWJsZVZpcnR1YWxNYXNrUm93JywnZW5hYmxlVmlydHVhbGl6YXRpb24nLCdldmVudE1hcmtlcnMnLCdmaWx0ZXJTZXR0aW5ncycsJ2dyaWRMaW5lcycsJ2hlaWdodCcsJ2hpZ2hsaWdodFdlZWtlbmRzJywnaG9saWRheXMnLCdpbmNsdWRlV2Vla2VuZCcsJ2xhYmVsU2V0dGluZ3MnLCdsb2FkQ2hpbGRPbkRlbWFuZCcsJ2xvYWRpbmdJbmRpY2F0b3InLCdsb2NhbGUnLCdtaWxlc3RvbmVUZW1wbGF0ZScsJ3BhcmVudFRhc2tiYXJUZW1wbGF0ZScsJ3Byb2plY3RFbmREYXRlJywncHJvamVjdFN0YXJ0RGF0ZScsJ3F1ZXJ5JywncmVhZE9ubHknLCdyZW5kZXJCYXNlbGluZScsJ3Jlc291cmNlRmllbGRzJywncmVzb3VyY2VJRE1hcHBpbmcnLCdyZXNvdXJjZU5hbWVNYXBwaW5nJywncmVzb3VyY2VzJywncm93SGVpZ2h0Jywnc2VhcmNoU2V0dGluZ3MnLCdzZWdtZW50RGF0YScsJ3NlbGVjdGVkUm93SW5kZXgnLCdzZWxlY3Rpb25TZXR0aW5ncycsJ3Nob3dDb2x1bW5NZW51Jywnc2hvd0lubGluZU5vdGVzJywnc2hvd092ZXJBbGxvY2F0aW9uJywnc29ydFNldHRpbmdzJywnc3BsaXR0ZXJTZXR0aW5ncycsJ3Rhc2tGaWVsZHMnLCd0YXNrTW9kZScsJ3Rhc2tUeXBlJywndGFza2JhckhlaWdodCcsJ3Rhc2tiYXJUZW1wbGF0ZScsJ3RpbWVsaW5lU2V0dGluZ3MnLCd0aW1lem9uZScsJ3Rvb2xiYXInLCd0b29sdGlwU2V0dGluZ3MnLCd0cmVlQ29sdW1uSW5kZXgnLCd2YWxpZGF0ZU1hbnVhbFRhc2tzT25MaW5raW5nJywndmlld1R5cGUnLCd3aWR0aCcsJ3dvcmtVbml0Jywnd29ya1dlZWsnLCd6b29taW5nTGV2ZWxzJ107XG5leHBvcnQgY29uc3Qgb3V0cHV0czogc3RyaW5nW10gPSBbJ2FjdGlvbkJlZ2luJywnYWN0aW9uQ29tcGxldGUnLCdhY3Rpb25GYWlsdXJlJywnYmVmb3JlRXhjZWxFeHBvcnQnLCdiZWZvcmVQZGZFeHBvcnQnLCdiZWZvcmVUb29sdGlwUmVuZGVyJywnY2VsbERlc2VsZWN0ZWQnLCdjZWxsRGVzZWxlY3RpbmcnLCdjZWxsRWRpdCcsJ2NlbGxTZWxlY3RlZCcsJ2NlbGxTZWxlY3RpbmcnLCdjb2xsYXBzZWQnLCdjb2xsYXBzaW5nJywnY29sdW1uRHJhZycsJ2NvbHVtbkRyYWdTdGFydCcsJ2NvbHVtbkRyb3AnLCdjb2x1bW5NZW51Q2xpY2snLCdjb2x1bW5NZW51T3BlbicsJ2NvbnRleHRNZW51Q2xpY2snLCdjb250ZXh0TWVudU9wZW4nLCdjcmVhdGVkJywnZGF0YUJvdW5kJywnZGF0YVN0YXRlQ2hhbmdlJywnZGVzdHJveWVkJywnZW5kRWRpdCcsJ2V4Y2VsRXhwb3J0Q29tcGxldGUnLCdleGNlbEhlYWRlclF1ZXJ5Q2VsbEluZm8nLCdleGNlbFF1ZXJ5Q2VsbEluZm8nLCdleHBhbmRlZCcsJ2V4cGFuZGluZycsJ2hlYWRlckNlbGxJbmZvJywnbG9hZCcsJ29uTW91c2VNb3ZlJywnb25UYXNrYmFyQ2xpY2snLCdwZGZDb2x1bW5IZWFkZXJRdWVyeUNlbGxJbmZvJywncGRmRXhwb3J0Q29tcGxldGUnLCdwZGZRdWVyeUNlbGxJbmZvJywncGRmUXVlcnlUYXNrYmFySW5mbycsJ3BkZlF1ZXJ5VGltZWxpbmVDZWxsSW5mbycsJ3F1ZXJ5Q2VsbEluZm8nLCdxdWVyeVRhc2tiYXJJbmZvJywncmVjb3JkRG91YmxlQ2xpY2snLCdyZXNpemVTdGFydCcsJ3Jlc2l6ZVN0b3AnLCdyZXNpemluZycsJ3Jvd0RhdGFCb3VuZCcsJ3Jvd0Rlc2VsZWN0ZWQnLCdyb3dEZXNlbGVjdGluZycsJ3Jvd0RyYWcnLCdyb3dEcmFnU3RhcnQnLCdyb3dEcmFnU3RhcnRIZWxwZXInLCdyb3dEcm9wJywncm93U2VsZWN0ZWQnLCdyb3dTZWxlY3RpbmcnLCdzcGxpdHRlclJlc2l6ZVN0YXJ0Jywnc3BsaXR0ZXJSZXNpemVkJywnc3BsaXR0ZXJSZXNpemluZycsJ3Rhc2tiYXJFZGl0ZWQnLCd0YXNrYmFyRWRpdGluZycsJ3Rvb2xiYXJDbGljaycsJ2RhdGFTb3VyY2VDaGFuZ2UnXTtcbmV4cG9ydCBjb25zdCB0d29XYXlzOiBzdHJpbmdbXSA9IFsnZGF0YVNvdXJjZSddO1xuXG4vKipcbiAqIGBlanMtZ2FudHRgIHJlcHJlc2VudHMgdGhlIEFuZ3VsYXIgR2FudHQgQ29tcG9uZW50LlxuICogYGBgaHRtbFxuICogPGVqcy1nYW50dCBbZGF0YVNvdXJjZV09J2RhdGEnIGFsbG93U2VsZWN0aW9uPSd0cnVlJyBhbGxvd1NvcnRpbmc9J3RydWUnPjwvZWpzLWdhbnR0PlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWpzLWdhbnR0JyxcbiAgICBpbnB1dHM6IGlucHV0cyxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkQ29sdW1uczogbmV3IENvbnRlbnRDaGlsZChDb2x1bW5zRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkQWRkRGlhbG9nRmllbGRzOiBuZXcgQ29udGVudENoaWxkKEFkZERpYWxvZ0ZpZWxkc0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZEVkaXREaWFsb2dGaWVsZHM6IG5ldyBDb250ZW50Q2hpbGQoRWRpdERpYWxvZ0ZpZWxkc0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZERheVdvcmtpbmdUaW1lOiBuZXcgQ29udGVudENoaWxkKERheVdvcmtpbmdUaW1lQ29sbGVjdGlvbkRpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZEhvbGlkYXlzOiBuZXcgQ29udGVudENoaWxkKEhvbGlkYXlzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkRXZlbnRNYXJrZXJzOiBuZXcgQ29udGVudENoaWxkKEV2ZW50TWFya2Vyc0RpcmVjdGl2ZSlcbiAgICB9XG59KVxuQENvbXBvbmVudE1peGlucyhbQ29tcG9uZW50QmFzZV0pXG5leHBvcnQgY2xhc3MgR2FudHRDb21wb25lbnQgZXh0ZW5kcyBHYW50dCBpbXBsZW1lbnRzIElDb21wb25lbnRCYXNlIHtcbiAgICBwdWJsaWMgY29udGV4dCA6IGFueTtcbiAgICBwdWJsaWMgdGFnT2JqZWN0czogYW55O1xuXHRhY3Rpb25CZWdpbjogYW55O1xuXHRhY3Rpb25Db21wbGV0ZTogYW55O1xuXHRhY3Rpb25GYWlsdXJlOiBhbnk7XG5cdGJlZm9yZUV4Y2VsRXhwb3J0OiBhbnk7XG5cdGJlZm9yZVBkZkV4cG9ydDogYW55O1xuXHRiZWZvcmVUb29sdGlwUmVuZGVyOiBhbnk7XG5cdGNlbGxEZXNlbGVjdGVkOiBhbnk7XG5cdGNlbGxEZXNlbGVjdGluZzogYW55O1xuXHRjZWxsRWRpdDogYW55O1xuXHRjZWxsU2VsZWN0ZWQ6IGFueTtcblx0Y2VsbFNlbGVjdGluZzogYW55O1xuXHRjb2xsYXBzZWQ6IGFueTtcblx0Y29sbGFwc2luZzogYW55O1xuXHRjb2x1bW5EcmFnOiBhbnk7XG5cdGNvbHVtbkRyYWdTdGFydDogYW55O1xuXHRjb2x1bW5Ecm9wOiBhbnk7XG5cdGNvbHVtbk1lbnVDbGljazogYW55O1xuXHRjb2x1bW5NZW51T3BlbjogYW55O1xuXHRjb250ZXh0TWVudUNsaWNrOiBhbnk7XG5cdGNvbnRleHRNZW51T3BlbjogYW55O1xuXHRjcmVhdGVkOiBhbnk7XG5cdGRhdGFCb3VuZDogYW55O1xuXHRkYXRhU3RhdGVDaGFuZ2U6IGFueTtcblx0ZGVzdHJveWVkOiBhbnk7XG5cdGVuZEVkaXQ6IGFueTtcblx0ZXhjZWxFeHBvcnRDb21wbGV0ZTogYW55O1xuXHRleGNlbEhlYWRlclF1ZXJ5Q2VsbEluZm86IGFueTtcblx0ZXhjZWxRdWVyeUNlbGxJbmZvOiBhbnk7XG5cdGV4cGFuZGVkOiBhbnk7XG5cdGV4cGFuZGluZzogYW55O1xuXHRoZWFkZXJDZWxsSW5mbzogYW55O1xuXHRsb2FkOiBhbnk7XG5cdG9uTW91c2VNb3ZlOiBhbnk7XG5cdG9uVGFza2JhckNsaWNrOiBhbnk7XG5cdHBkZkNvbHVtbkhlYWRlclF1ZXJ5Q2VsbEluZm86IGFueTtcblx0cGRmRXhwb3J0Q29tcGxldGU6IGFueTtcblx0cGRmUXVlcnlDZWxsSW5mbzogYW55O1xuXHRwZGZRdWVyeVRhc2tiYXJJbmZvOiBhbnk7XG5cdHBkZlF1ZXJ5VGltZWxpbmVDZWxsSW5mbzogYW55O1xuXHRxdWVyeUNlbGxJbmZvOiBhbnk7XG5cdHF1ZXJ5VGFza2JhckluZm86IGFueTtcblx0cmVjb3JkRG91YmxlQ2xpY2s6IGFueTtcblx0cmVzaXplU3RhcnQ6IGFueTtcblx0cmVzaXplU3RvcDogYW55O1xuXHRyZXNpemluZzogYW55O1xuXHRyb3dEYXRhQm91bmQ6IGFueTtcblx0cm93RGVzZWxlY3RlZDogYW55O1xuXHRyb3dEZXNlbGVjdGluZzogYW55O1xuXHRyb3dEcmFnOiBhbnk7XG5cdHJvd0RyYWdTdGFydDogYW55O1xuXHRyb3dEcmFnU3RhcnRIZWxwZXI6IGFueTtcblx0cm93RHJvcDogYW55O1xuXHRyb3dTZWxlY3RlZDogYW55O1xuXHRyb3dTZWxlY3Rpbmc6IGFueTtcblx0c3BsaXR0ZXJSZXNpemVTdGFydDogYW55O1xuXHRzcGxpdHRlclJlc2l6ZWQ6IGFueTtcblx0c3BsaXR0ZXJSZXNpemluZzogYW55O1xuXHR0YXNrYmFyRWRpdGVkOiBhbnk7XG5cdHRhc2tiYXJFZGl0aW5nOiBhbnk7XG5cdHRvb2xiYXJDbGljazogYW55O1xuXHRwdWJsaWMgZGF0YVNvdXJjZUNoYW5nZTogYW55O1xuICAgIHB1YmxpYyBjaGlsZENvbHVtbnM6IFF1ZXJ5TGlzdDxDb2x1bW5zRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRBZGREaWFsb2dGaWVsZHM6IFF1ZXJ5TGlzdDxBZGREaWFsb2dGaWVsZHNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZEVkaXREaWFsb2dGaWVsZHM6IFF1ZXJ5TGlzdDxFZGl0RGlhbG9nRmllbGRzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGREYXlXb3JraW5nVGltZTogUXVlcnlMaXN0PERheVdvcmtpbmdUaW1lQ29sbGVjdGlvbkRpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkSG9saWRheXM6IFF1ZXJ5TGlzdDxIb2xpZGF5c0RpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkRXZlbnRNYXJrZXJzOiBRdWVyeUxpc3Q8RXZlbnRNYXJrZXJzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgdGFnczogc3RyaW5nW10gPSBbJ2NvbHVtbnMnLCAnYWRkRGlhbG9nRmllbGRzJywgJ2VkaXREaWFsb2dGaWVsZHMnLCAnZGF5V29ya2luZ1RpbWUnLCAnaG9saWRheXMnLCAnZXZlbnRNYXJrZXJzJ107XG4gICAgLyoqIFxuICAgICAqIFRoZSBwYXJlbnQgdGFzayBiYXIgdGVtcGxhdGUgdGhhdCByZW5kZXJzIGN1c3RvbWl6ZWQgcGFyZW50IHRhc2sgYmFycyBmcm9tIHRoZSBnaXZlbiB0ZW1wbGF0ZS5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgncGFyZW50VGFza2JhclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBwYXJlbnRUYXNrYmFyVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIG1pbGVzdG9uZSB0ZW1wbGF0ZSB0aGF0IHJlbmRlcnMgY3VzdG9taXplZCBtaWxlc3RvbmUgdGFzayBmcm9tIHRoZSBnaXZlbiB0ZW1wbGF0ZS5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnbWlsZXN0b25lVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIG1pbGVzdG9uZVRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSB0YXNrIGJhciB0ZW1wbGF0ZSB0aGF0IHJlbmRlcnMgY3VzdG9taXplZCBjaGlsZCB0YXNrIGJhcnMgZnJvbSB0aGUgZ2l2ZW4gdGVtcGxhdGUuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3Rhc2tiYXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdGFza2JhclRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnbGFiZWxTZXR0aW5nc1JpZ2h0TGFiZWwnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGxhYmVsU2V0dGluZ3NfcmlnaHRMYWJlbDogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ2xhYmVsU2V0dGluZ3NMZWZ0TGFiZWwnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGxhYmVsU2V0dGluZ3NfbGVmdExhYmVsOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnbGFiZWxTZXR0aW5nc1Rhc2tMYWJlbCcpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgbGFiZWxTZXR0aW5nc190YXNrTGFiZWw6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCd0b29sdGlwU2V0dGluZ3NUYXNrYmFyJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyB0b29sdGlwU2V0dGluZ3NfdGFza2JhcjogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3Rvb2x0aXBTZXR0aW5nc0Jhc2VsaW5lJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyB0b29sdGlwU2V0dGluZ3NfYmFzZWxpbmU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCd0b29sdGlwU2V0dGluZ3NDb25uZWN0b3JMaW5lJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyB0b29sdGlwU2V0dGluZ3NfY29ubmVjdG9yTGluZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3Rvb2x0aXBTZXR0aW5nc0VkaXRpbmcnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRvb2x0aXBTZXR0aW5nc19lZGl0aW5nOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nRWxlOiBFbGVtZW50UmVmLCBwcml2YXRlIHNyZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lbGVtZW50ID0gdGhpcy5uZ0VsZS5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcyA9IHRoaXMuaW5qZWN0ZWRNb2R1bGVzIHx8IFtdO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRGaWx0ZXInKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0U2VsZWN0aW9uJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdHYW50dFNvcnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0UmVvcmRlcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRSZXNpemUnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0RWRpdCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHREYXlNYXJrZXJzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdHYW50dFRvb2xiYXInKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0Q29udGV4dE1lbnUnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0RXhjZWxFeHBvcnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0Um93REQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0Q29sdW1uTWVudScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRQZGZFeHBvcnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0VmlydHVhbFNjcm9sbCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRDcml0aWNhbFBhdGgnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cclxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmFkZFR3b1dheS5jYWxsKHRoaXMsIHR3b1dheXMpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5jb250ZXh0ICA9IG5ldyBDb21wb25lbnRCYXNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdPbkluaXQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nQWZ0ZXJWaWV3SW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ09uRGVzdHJveSh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhZ09iamVjdHNbMF0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkQ29sdW1ucztcbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZEFkZERpYWxvZ0ZpZWxkcykge1xuICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzFdLmluc3RhbmNlID0gdGhpcy5jaGlsZEFkZERpYWxvZ0ZpZWxkcztcbiAgICAgICAgfVxuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkRWRpdERpYWxvZ0ZpZWxkcykge1xuICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzJdLmluc3RhbmNlID0gdGhpcy5jaGlsZEVkaXREaWFsb2dGaWVsZHM7XG4gICAgICAgIH1cbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZERheVdvcmtpbmdUaW1lKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbM10uaW5zdGFuY2UgPSB0aGlzLmNoaWxkRGF5V29ya2luZ1RpbWU7XG4gICAgICAgIH1cbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZEhvbGlkYXlzKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbNF0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkSG9saWRheXM7XG4gICAgICAgIH1cbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZEV2ZW50TWFya2Vycykge1xuICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzVdLmluc3RhbmNlID0gdGhpcy5jaGlsZEV2ZW50TWFya2VycztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRleHQubmdBZnRlckNvbnRlbnRDaGVja2VkKHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3RlckV2ZW50czogKGV2ZW50TGlzdDogc3RyaW5nW10pID0+IHZvaWQ7XG4gICAgcHVibGljIGFkZFR3b1dheTogKHByb3BMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbn1cblxuIl19