@c8y/ngx-components 1018.0.176 → 1018.0.183

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 (38) hide show
  1. package/core/bootstrap/cookie-banner/cookie-banner.service.d.ts +1 -1
  2. package/core/common/ApplicationOptions.d.ts +2 -0
  3. package/core/date-time-picker/close-date-picker.directive.d.ts +14 -0
  4. package/core/date-time-picker/date-time-picker.component.d.ts +7 -2
  5. package/core/date-time-picker/date-time-picker.module.d.ts +8 -7
  6. package/core/product-experience/gainsight.service.d.ts +86 -28
  7. package/core/product-experience/index.d.ts +1 -0
  8. package/core/product-experience/product-experience.module.d.ts +18 -5
  9. package/core/product-experience/user-engagements.service.d.ts +109 -0
  10. package/core/user/user-edit-modal.component.d.ts +33 -6
  11. package/core/user/user-edit.component.d.ts +6 -11
  12. package/esm2020/context-dashboard/widget-config.component.mjs +3 -3
  13. package/esm2020/core/bootstrap/cookie-banner/cookie-banner.service.mjs +2 -2
  14. package/esm2020/core/common/ApplicationOptions.mjs +1 -1
  15. package/esm2020/core/date-time-picker/close-date-picker.directive.mjs +36 -0
  16. package/esm2020/core/date-time-picker/date-time-picker.component.mjs +28 -8
  17. package/esm2020/core/date-time-picker/date-time-picker.module.mjs +4 -3
  18. package/esm2020/core/product-experience/gainsight.service.mjs +170 -81
  19. package/esm2020/core/product-experience/index.mjs +2 -1
  20. package/esm2020/core/product-experience/product-experience.module.mjs +42 -24
  21. package/esm2020/core/product-experience/user-engagements.service.mjs +174 -0
  22. package/esm2020/core/user/user-edit-modal.component.mjs +68 -33
  23. package/esm2020/core/user/user-edit.component.mjs +30 -39
  24. package/esm2020/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.mjs +3 -3
  25. package/fesm2015/c8y-ngx-components-context-dashboard.mjs +2 -2
  26. package/fesm2015/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  27. package/fesm2015/c8y-ngx-components-datapoint-selector.mjs +2 -2
  28. package/fesm2015/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  29. package/fesm2015/c8y-ngx-components.mjs +516 -167
  30. package/fesm2015/c8y-ngx-components.mjs.map +1 -1
  31. package/fesm2020/c8y-ngx-components-context-dashboard.mjs +2 -2
  32. package/fesm2020/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  33. package/fesm2020/c8y-ngx-components-datapoint-selector.mjs +2 -2
  34. package/fesm2020/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  35. package/fesm2020/c8y-ngx-components.mjs +511 -161
  36. package/fesm2020/c8y-ngx-components.mjs.map +1 -1
  37. package/locales/locales.pot +2 -2
  38. package/package.json +1 -1
@@ -1,15 +1,18 @@
1
- import { Component, forwardRef, Input } from '@angular/core';
1
+ import { Component, forwardRef, Input, ViewChild, ChangeDetectorRef } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR, FormGroup, FormControl, NG_VALIDATORS } from '@angular/forms';
3
3
  import { first, takeUntil } from 'rxjs/operators';
4
4
  import { Subject } from 'rxjs';
5
5
  import { gettext } from '../i18n';
6
+ import { BsDatepickerDirective } from 'ngx-bootstrap/datepicker';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/forms";
8
9
  import * as i2 from "ngx-bootstrap/datepicker";
9
10
  import * as i3 from "../time-picker/time-picker.component";
10
- import * as i4 from "../i18n/c8y-translate.pipe";
11
+ import * as i4 from "./close-date-picker.directive";
12
+ import * as i5 from "../i18n/c8y-translate.pipe";
11
13
  export class DateTimePickerComponent {
12
- constructor() {
14
+ constructor(cd) {
15
+ this.cd = cd;
13
16
  this.defaultPlaceholder = gettext('Select a date…');
14
17
  this.destroy$ = new Subject();
15
18
  this.form = new FormGroup({});
@@ -36,6 +39,9 @@ export class DateTimePickerComponent {
36
39
  this.destroy$.next();
37
40
  this.destroy$.complete();
38
41
  }
42
+ ngAfterViewInit() {
43
+ this.cd.detectChanges();
44
+ }
39
45
  /**
40
46
  * Control Value Accessor - If form value changes by external factor, update date property and internal form with new value.
41
47
  */
@@ -79,12 +85,23 @@ export class DateTimePickerComponent {
79
85
  }
80
86
  }
81
87
  previousDay() {
88
+ const isOpen = this.datepicker.isOpen;
82
89
  this.date.setDate(this.date.getDate() - 1);
83
90
  this.setDatetime({ date: this.date, time: this.form.get('time').value });
91
+ if (isOpen) {
92
+ this.datepicker.show();
93
+ }
84
94
  }
85
95
  nextDay() {
96
+ const isOpen = this.datepicker.isOpen;
86
97
  this.date.setDate(this.date.getDate() + 1);
87
98
  this.setDatetime({ date: this.date, time: this.form.get('time').value });
99
+ if (isOpen) {
100
+ this.datepicker.show();
101
+ }
102
+ }
103
+ hide() {
104
+ this.datepicker.hide();
88
105
  }
89
106
  /**
90
107
  * If internal form changes its value, then combine date and time into one Date and pass its ISO string value to onChange method
@@ -112,7 +129,7 @@ export class DateTimePickerComponent {
112
129
  this.onChange(this.date.toISOString());
113
130
  }
114
131
  }
115
- DateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
132
+ DateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
116
133
  DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: DateTimePickerComponent, selector: "c8y-date-time-picker", inputs: { _minDate: ["minDate", "_minDate"], _maxDate: ["maxDate", "_maxDate"], placeholder: "placeholder" }, providers: [
117
134
  {
118
135
  provide: NG_VALUE_ACCESSOR,
@@ -124,7 +141,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
124
141
  useExisting: forwardRef(() => DateTimePickerComponent),
125
142
  multi: true
126
143
  }
127
- ], ngImport: i0, template: "<div class=\"datetime-picker\">\n <div class=\"form-group datepicker\">\n <input\n class=\"form-control\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', dateInputFormat: 'YYYY-MM-DD' }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n <c8y-time-picker\n [formControl]=\"form.get('time')\"\n (dayBackward)=\"previousDay()\"\n (dayForward)=\"nextDay()\"\n ></c8y-time-picker>\n</div>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.BsDatepickerDirective, selector: "[bsDatepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isDisabled", "minDate", "maxDate", "minMode", "daysDisabled", "datesDisabled", "datesEnabled", "dateCustomClasses", "dateTooltipTexts", "isOpen", "bsValue", "bsConfig"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDatepicker"] }, { kind: "directive", type: i2.BsDatepickerInputDirective, selector: "input[bsDatepicker]" }, { kind: "component", type: i3.TimePickerComponent, selector: "c8y-time-picker", inputs: ["minDate", "maxDate", "placeholder"], outputs: ["dayForward", "dayBackward"] }, { kind: "pipe", type: i4.C8yTranslatePipe, name: "translate" }] });
144
+ ], viewQueries: [{ propertyName: "datepicker", first: true, predicate: BsDatepickerDirective, descendants: true }], ngImport: i0, template: "<div class=\"datetime-picker\" [closeDatepicker]=\"datepicker\">\n <div class=\"form-group datepicker\">\n <input\n class=\"form-control\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [outsideClick]=\"false\"\n [bsConfig]=\"{ customTodayClass: 'today', dateInputFormat: 'YYYY-MM-DD' }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n <c8y-time-picker\n [formControl]=\"form.get('time')\"\n (dayBackward)=\"previousDay()\"\n (dayForward)=\"nextDay()\"\n ></c8y-time-picker>\n</div>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.BsDatepickerDirective, selector: "[bsDatepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isDisabled", "minDate", "maxDate", "minMode", "daysDisabled", "datesDisabled", "datesEnabled", "dateCustomClasses", "dateTooltipTexts", "isOpen", "bsValue", "bsConfig"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDatepicker"] }, { kind: "directive", type: i2.BsDatepickerInputDirective, selector: "input[bsDatepicker]" }, { kind: "component", type: i3.TimePickerComponent, selector: "c8y-time-picker", inputs: ["minDate", "maxDate", "placeholder"], outputs: ["dayForward", "dayBackward"] }, { kind: "directive", type: i4.CloseDatePickerDirective, selector: "[closeDatepicker]", inputs: ["closeDatepicker"] }, { kind: "pipe", type: i5.C8yTranslatePipe, name: "translate" }] });
128
145
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerComponent, decorators: [{
129
146
  type: Component,
130
147
  args: [{ selector: 'c8y-date-time-picker', providers: [
@@ -138,8 +155,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
138
155
  useExisting: forwardRef(() => DateTimePickerComponent),
139
156
  multi: true
140
157
  }
141
- ], template: "<div class=\"datetime-picker\">\n <div class=\"form-group datepicker\">\n <input\n class=\"form-control\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', dateInputFormat: 'YYYY-MM-DD' }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n <c8y-time-picker\n [formControl]=\"form.get('time')\"\n (dayBackward)=\"previousDay()\"\n (dayForward)=\"nextDay()\"\n ></c8y-time-picker>\n</div>\n" }]
142
- }], ctorParameters: function () { return []; }, propDecorators: { _minDate: [{
158
+ ], template: "<div class=\"datetime-picker\" [closeDatepicker]=\"datepicker\">\n <div class=\"form-group datepicker\">\n <input\n class=\"form-control\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [outsideClick]=\"false\"\n [bsConfig]=\"{ customTodayClass: 'today', dateInputFormat: 'YYYY-MM-DD' }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n <c8y-time-picker\n [formControl]=\"form.get('time')\"\n (dayBackward)=\"previousDay()\"\n (dayForward)=\"nextDay()\"\n ></c8y-time-picker>\n</div>\n" }]
159
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { _minDate: [{
143
160
  type: Input,
144
161
  args: ['minDate']
145
162
  }], _maxDate: [{
@@ -147,5 +164,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
147
164
  args: ['maxDate']
148
165
  }], placeholder: [{
149
166
  type: Input
167
+ }], datepicker: [{
168
+ type: ViewChild,
169
+ args: [BsDatepickerDirective]
150
170
  }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUNMLGlCQUFpQixFQUVqQixTQUFTLEVBQ1QsV0FBVyxFQUlYLGFBQWEsRUFDZCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7Ozs7QUF1QmxDLE1BQU0sT0FBTyx1QkFBdUI7SUE2QmxDO1FBUkEsdUJBQWtCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFNdkMsYUFBUSxHQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJ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RUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM3RixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1lBQ2xCLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM3QjtRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBDLElBQ0UsT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksS0FBSyxXQUFXO1lBQzFDLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLEtBQUssV0FBVyxFQUM1QztZQUNBLFFBQVEsQ0FBQyxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ3JFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7O29IQXZJVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw2SkFidkI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztZQUN0RCxLQUFLLEVBQUUsSUFBSTtTQUNaO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsYUFBYTtZQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO1lBQ3RELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNsQ0gsd2xCQW1CQTsyRkRpQmEsdUJBQXVCO2tCQWhCbkMsU0FBUzsrQkFDRSxzQkFBc0IsYUFFckI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUM7NEJBQ3RELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7MEVBTUcsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLFNBQVM7Z0JBUVosUUFBUTtzQkFEWCxLQUFLO3VCQUFDLFNBQVM7Z0JBTWhCLFdBQVc7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3JtR3JvdXAsXG4gIEZvcm1Db250cm9sLFxuICBWYWxpZGF0b3IsXG4gIEFic3RyYWN0Q29udHJvbCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgTkdfVkFMSURBVE9SU1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmaXJzdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uL2kxOG4nO1xuXG5pbnRlcmZhY2UgRGF0ZUFuZFRpbWUge1xuICBkYXRlOiBEYXRlO1xuICB0aW1lOiB7IGhvdXI6IG51bWJlcjsgbWludXRlOiBudW1iZXIgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWRhdGUtdGltZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlVGltZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uRGVzdHJveSB7XG4gIG1pbkRhdGU6IERhdGU7XG5cbiAgQElucHV0KCdtaW5EYXRlJylcbiAgc2V0IF9taW5EYXRlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1pbkRhdGUgPSB2YWx1ZSA/IG5ldyBEYXRlKHZhbHVlKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIG1heERhdGU6IERhdGU7XG5cbiAgQElucHV0KCdtYXhEYXRlJylcbiAgc2V0IF9tYXhEYXRlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1heERhdGUgPSB2YWx1ZSA/IG5ldyBEYXRlKHZhbHVlKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgZGF0ZTogRGF0ZTtcbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRQbGFjZWhvbGRlciA9IGdldHRleHQoJ1NlbGVjdCBhIGRhdGXigKYnKTtcblxuICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZDtcblxuICBwcml2YXRlIHByZXZpb3VzVmFsdWU6IERhdGVBbmRUaW1lO1xuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdkYXRlJywgbmV3IEZvcm1Db250cm9sKG51bGwpKTtcbiAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCgndGltZScsIG5ldyBGb3JtQ29udHJvbChudWxsKSk7XG4gICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh2YWx1ZTogRGF0ZUFuZFRpbWUpID0+IHtcbiAgICAgIHRoaXMuc2V0RGF0ZXRpbWUodmFsdWUpO1xuICAgICAgdGhpcy5wcmV2aW91c1ZhbHVlID0gdmFsdWU7XG4gICAgfSk7XG4gICAgdGhpcy5mb3JtLnN0YXR1c0NoYW5nZXNcbiAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnRyb2wgVmFsdWUgQWNjZXNzb3IgLSBJZiBmb3JtIHZhbHVlIGNoYW5nZXMgYnkgZXh0ZXJuYWwgZmFjdG9yLCB1cGRhdGUgZGF0ZSBwcm9wZXJ0eSBhbmQgaW50ZXJuYWwgZm9ybSB3aXRoIG5ldyB2YWx1ZS5cbiAgICovXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmxlbmd0aCkge1xuICAgICAgdGhpcy5kYXRlID0gbmV3IERhdGUodmFsdWUpO1xuICAgICAgdGhpcy5mb3JtLnNldFZhbHVlKFxuICAgICAgICB7XG4gICAgICAgICAgZGF0ZTogbmV3IERhdGUodmFsdWUpLFxuICAgICAgICAgIHRpbWU6IHtcbiAgICAgICAgICAgIGhvdXI6IHRoaXMuZGF0ZS5nZXRIb3VycygpLFxuICAgICAgICAgICAgbWludXRlOiB0aGlzLmRhdGUuZ2V0TWludXRlcygpXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7IGVtaXRFdmVudDogZmFsc2UgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtLnNldFZhbHVlKHsgZGF0ZTogbnVsbCwgdGltZTogbnVsbCB9LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfVxuICAgIHRoaXMucHJldmlvdXNWYWx1ZSA9IHRoaXMuZm9ybS52YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogYW55KSB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgZGlzYWJsZWQgPyB0aGlzLmZvcm0uZGlzYWJsZSgpIDogdGhpcy5mb3JtLmVuYWJsZSgpO1xuICB9XG5cbiAgdmFsaWRhdGUoX2NvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAodGhpcy5kYXRlPy5nZXRUaW1lKCkgPCBuZXcgRGF0ZSh0aGlzLm1pbkRhdGUpLmdldFRpbWUoKSkge1xuICAgICAgcmV0dXJuIHsgZGF0ZUJlZm9yZVJhbmdlTWluOiB0cnVlIH07XG4gICAgfSBlbHNlIGlmICh0aGlzLmRhdGU/LmdldFRpbWUoKSA+IG5ldyBEYXRlKHRoaXMubWF4RGF0ZSkuZ2V0VGltZSgpKSB7XG4gICAgICByZXR1cm4geyBkYXRlQWZ0ZXJSYW5nZU1heDogdHJ1ZSB9O1xuICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcbiAgICAgIHJldHVybiB7IGludmFsaWREYXRlVGltZTogdHJ1ZSB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcmV2aW91c0RheSgpIHtcbiAgICB0aGlzLmRhdGUuc2V0RGF0ZSh0aGlzLmRhdGUuZ2V0RGF0ZSgpIC0gMSk7XG4gICAgdGhpcy5zZXREYXRldGltZSh7IGRhdGU6IHRoaXMuZGF0ZSwgdGltZTogdGhpcy5mb3JtLmdldCgndGltZScpLnZhbHVlIH0pO1xuICB9XG5cbiAgbmV4dERheSgpIHtcbiAgICB0aGlzLmRhdGUuc2V0RGF0ZSh0aGlzLmRhdGUuZ2V0RGF0ZSgpICsgMSk7XG4gICAgdGhpcy5zZXREYXRldGltZSh7IGRhdGU6IHRoaXMuZGF0ZSwgdGltZTogdGhpcy5mb3JtLmdldCgndGltZScpLnZhbHVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIGludGVybmFsIGZvcm0gY2hhbmdlcyBpdHMgdmFsdWUsIHRoZW4gY29tYmluZSBkYXRlIGFuZCB0aW1lIGludG8gb25lIERhdGUgYW5kIHBhc3MgaXRzIElTTyBzdHJpbmcgdmFsdWUgdG8gb25DaGFuZ2UgbWV0aG9kXG4gICAqIEBwYXJhbSBkYXRlVGltZVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXREYXRldGltZShkYXRlVGltZTogRGF0ZUFuZFRpbWUpIHtcbiAgICBpZiAoIWRhdGVUaW1lLmRhdGUgJiYgdGhpcy5wcmV2aW91c1ZhbHVlPy5kYXRlKSB7XG4gICAgICB0aGlzLmZvcm0uZ2V0KCd0aW1lJykuc2V0VmFsdWUoeyBob3VyOiB1bmRlZmluZWQsIG1pbnV0ZTogdW5kZWZpbmVkIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFkYXRlVGltZS5kYXRlKSB7XG4gICAgICBkYXRlVGltZS5kYXRlID0gbmV3IERhdGUoKTtcbiAgICAgIGRhdGVUaW1lLmRhdGUuc2V0U2Vjb25kcygwKTtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGUgPSBuZXcgRGF0ZShkYXRlVGltZS5kYXRlKTtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBkYXRlVGltZS50aW1lPy5ob3VyID09PSAndW5kZWZpbmVkJyB8fFxuICAgICAgdHlwZW9mIGRhdGVUaW1lLnRpbWU/Lm1pbnV0ZSA9PT0gJ3VuZGVmaW5lZCdcbiAgICApIHtcbiAgICAgIGRhdGVUaW1lLnRpbWUgPSB7IGhvdXI6IDAsIG1pbnV0ZTogMCB9O1xuICAgICAgdGhpcy5mb3JtLmdldCgndGltZScpLnNldFZhbHVlKGRhdGVUaW1lLnRpbWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG4gICAgdGhpcy5kYXRlLnNldEhvdXJzKGRhdGVUaW1lLnRpbWUuaG91ciwgZGF0ZVRpbWUudGltZS5taW51dGUpO1xuICAgIHRoaXMuZm9ybS5nZXQoJ2RhdGUnKS5zZXRWYWx1ZShkYXRlVGltZS5kYXRlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmRhdGUudG9JU09TdHJpbmcoKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYXRldGltZS1waWNrZXJcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZGF0ZXBpY2tlclwiPlxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHx8IGRlZmF1bHRQbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgICBic0RhdGVwaWNrZXJcbiAgICAgIFtic0NvbmZpZ109XCJ7IGN1c3RvbVRvZGF5Q2xhc3M6ICd0b2RheScsIGRhdGVJbnB1dEZvcm1hdDogJ1lZWVktTU0tREQnIH1cIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm0uZ2V0KCdkYXRlJylcIlxuICAgICAgKGJsdXIpPVwib25Ub3VjaGVkKClcIlxuICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAvPlxuICA8L2Rpdj5cbiAgPGM4eS10aW1lLXBpY2tlclxuICAgIFtmb3JtQ29udHJvbF09XCJmb3JtLmdldCgndGltZScpXCJcbiAgICAoZGF5QmFja3dhcmQpPVwicHJldmlvdXNEYXkoKVwiXG4gICAgKGRheUZvcndhcmQpPVwibmV4dERheSgpXCJcbiAgPjwvYzh5LXRpbWUtcGlja2VyPlxuPC9kaXY+XG4iXX0=
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsaUJBQWlCLEVBRWpCLFNBQVMsRUFDVCxXQUFXLEVBSVgsYUFBYSxFQUNkLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUF1QmpFLE1BQU0sT0FBTyx1QkFBdUI7SUE4QmxDLFlBQW9CLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBVHpDLHVCQUFrQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBT3ZDLGFBQVEsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUc3QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsVUFB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RUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7d0dBTUcsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLFNBQVM7Z0JBUVosUUFBUTtzQkFEWCxLQUFLO3VCQUFDLFNBQVM7Z0JBTWhCLFdBQVc7c0JBRFYsS0FBSztnQkFVNEIsVUFBVTtzQkFBM0MsU0FBUzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFZpZXdDaGlsZCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Hcm91cCxcbiAgRm9ybUNvbnRyb2wsXG4gIFZhbGlkYXRvcixcbiAgQWJzdHJhY3RDb250cm9sLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBOR19WQUxJREFUT1JTXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZpcnN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBnZXR0ZXh0IH0gZnJvbSAnLi4vaTE4bic7XG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJEaXJlY3RpdmUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXInO1xuXG5pbnRlcmZhY2UgRGF0ZUFuZFRpbWUge1xuICBkYXRlOiBEYXRlO1xuICB0aW1lOiB7IGhvdXI6IG51bWJlcjsgbWludXRlOiBudW1iZXIgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWRhdGUtdGltZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlVGltZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uRGVzdHJveSB7XG4gIG1pbkRhdGU6IERhdGU7XG5cbiAgQElucHV0KCdtaW5EYXRlJylcbiAgc2V0IF9taW5EYXRlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1pbkRhdGUgPSB2YWx1ZSA/IG5ldyBEYXRlKHZhbHVlKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIG1heERhdGU6IERhdGU7XG5cbiAgQElucHV0KCdtYXhEYXRlJylcbiAgc2V0IF9tYXhEYXRlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1heERhdGUgPSB2YWx1ZSA/IG5ldyBEYXRlKHZhbHVlKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgZGF0ZTogRGF0ZTtcbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRQbGFjZWhvbGRlciA9IGdldHRleHQoJ1NlbGVjdCBhIGRhdGXigKYnKTtcblxuICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZDtcbiAgQFZpZXdDaGlsZChCc0RhdGVwaWNrZXJEaXJlY3RpdmUpIGRhdGVwaWNrZXI6IEJzRGF0ZXBpY2tlckRpcmVjdGl2ZTtcblxuICBwcml2YXRlIHByZXZpb3VzVmFsdWU6IERhdGVBbmRUaW1lO1xuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ2RhdGUnLCBuZXcgRm9ybUNvbnRyb2wobnVsbCkpO1xuICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCd0aW1lJywgbmV3IEZvcm1Db250cm9sKG51bGwpKTtcbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHZhbHVlOiBEYXRlQW5kVGltZSkgPT4ge1xuICAgICAgdGhpcy5zZXREYXRldGltZSh2YWx1ZSk7XG4gICAgICB0aGlzLnByZXZpb3VzVmFsdWUgPSB2YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmZvcm0uc3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udHJvbCBWYWx1ZSBBY2Nlc3NvciAtIElmIGZvcm0gdmFsdWUgY2hhbmdlcyBieSBleHRlcm5hbCBmYWN0b3IsIHVwZGF0ZSBkYXRlIHByb3BlcnR5IGFuZCBpbnRlcm5hbCBmb3JtIHdpdGggbmV3IHZhbHVlLlxuICAgKi9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoKSB7XG4gICAgICB0aGlzLmRhdGUgPSBuZXcgRGF0ZSh2YWx1ZSk7XG4gICAgICB0aGlzLmZvcm0uc2V0VmFsdWUoXG4gICAgICAgIHtcbiAgICAgICAgICBkYXRlOiBuZXcgRGF0ZSh2YWx1ZSksXG4gICAgICAgICAgdGltZToge1xuICAgICAgICAgICAgaG91cjogdGhpcy5kYXRlLmdldEhvdXJzKCksXG4gICAgICAgICAgICBtaW51dGU6IHRoaXMuZGF0ZS5nZXRNaW51dGVzKClcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgZW1pdEV2ZW50OiBmYWxzZSB9XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm0uc2V0VmFsdWUoeyBkYXRlOiBudWxsLCB0aW1lOiBudWxsIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG4gICAgdGhpcy5wcmV2aW91c1ZhbHVlID0gdGhpcy5mb3JtLnZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICBkaXNhYmxlZCA/IHRoaXMuZm9ybS5kaXNhYmxlKCkgOiB0aGlzLmZvcm0uZW5hYmxlKCk7XG4gIH1cblxuICB2YWxpZGF0ZShfY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICh0aGlzLmRhdGU/LmdldFRpbWUoKSA8IG5ldyBEYXRlKHRoaXMubWluRGF0ZSkuZ2V0VGltZSgpKSB7XG4gICAgICByZXR1cm4geyBkYXRlQmVmb3JlUmFuZ2VNaW46IHRydWUgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0ZT8uZ2V0VGltZSgpID4gbmV3IERhdGUodGhpcy5tYXhEYXRlKS5nZXRUaW1lKCkpIHtcbiAgICAgIHJldHVybiB7IGRhdGVBZnRlclJhbmdlTWF4OiB0cnVlIH07XG4gICAgfSBlbHNlIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xuICAgICAgcmV0dXJuIHsgaW52YWxpZERhdGVUaW1lOiB0cnVlIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByZXZpb3VzRGF5KCkge1xuICAgIGNvbnN0IGlzT3BlbiA9IHRoaXMuZGF0ZXBpY2tlci5pc09wZW47XG4gICAgdGhpcy5kYXRlLnNldERhdGUodGhpcy5kYXRlLmdldERhdGUoKSAtIDEpO1xuICAgIHRoaXMuc2V0RGF0ZXRpbWUoeyBkYXRlOiB0aGlzLmRhdGUsIHRpbWU6IHRoaXMuZm9ybS5nZXQoJ3RpbWUnKS52YWx1ZSB9KTtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICB0aGlzLmRhdGVwaWNrZXIuc2hvdygpO1xuICAgIH1cbiAgfVxuXG4gIG5leHREYXkoKSB7XG4gICAgY29uc3QgaXNPcGVuID0gdGhpcy5kYXRlcGlja2VyLmlzT3BlbjtcbiAgICB0aGlzLmRhdGUuc2V0RGF0ZSh0aGlzLmRhdGUuZ2V0RGF0ZSgpICsgMSk7XG4gICAgdGhpcy5zZXREYXRldGltZSh7IGRhdGU6IHRoaXMuZGF0ZSwgdGltZTogdGhpcy5mb3JtLmdldCgndGltZScpLnZhbHVlIH0pO1xuICAgIGlmIChpc09wZW4pIHtcbiAgICAgIHRoaXMuZGF0ZXBpY2tlci5zaG93KCk7XG4gICAgfVxuICB9XG5cbiAgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGVwaWNrZXIuaGlkZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIGludGVybmFsIGZvcm0gY2hhbmdlcyBpdHMgdmFsdWUsIHRoZW4gY29tYmluZSBkYXRlIGFuZCB0aW1lIGludG8gb25lIERhdGUgYW5kIHBhc3MgaXRzIElTTyBzdHJpbmcgdmFsdWUgdG8gb25DaGFuZ2UgbWV0aG9kXG4gICAqIEBwYXJhbSBkYXRlVGltZVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXREYXRldGltZShkYXRlVGltZTogRGF0ZUFuZFRpbWUpIHtcbiAgICBpZiAoIWRhdGVUaW1lLmRhdGUgJiYgdGhpcy5wcmV2aW91c1ZhbHVlPy5kYXRlKSB7XG4gICAgICB0aGlzLmZvcm0uZ2V0KCd0aW1lJykuc2V0VmFsdWUoeyBob3VyOiB1bmRlZmluZWQsIG1pbnV0ZTogdW5kZWZpbmVkIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFkYXRlVGltZS5kYXRlKSB7XG4gICAgICBkYXRlVGltZS5kYXRlID0gbmV3IERhdGUoKTtcbiAgICAgIGRhdGVUaW1lLmRhdGUuc2V0U2Vjb25kcygwKTtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGUgPSBuZXcgRGF0ZShkYXRlVGltZS5kYXRlKTtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBkYXRlVGltZS50aW1lPy5ob3VyID09PSAndW5kZWZpbmVkJyB8fFxuICAgICAgdHlwZW9mIGRhdGVUaW1lLnRpbWU/Lm1pbnV0ZSA9PT0gJ3VuZGVmaW5lZCdcbiAgICApIHtcbiAgICAgIGRhdGVUaW1lLnRpbWUgPSB7IGhvdXI6IDAsIG1pbnV0ZTogMCB9O1xuICAgICAgdGhpcy5mb3JtLmdldCgndGltZScpLnNldFZhbHVlKGRhdGVUaW1lLnRpbWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG4gICAgdGhpcy5kYXRlLnNldEhvdXJzKGRhdGVUaW1lLnRpbWUuaG91ciwgZGF0ZVRpbWUudGltZS5taW51dGUpO1xuICAgIHRoaXMuZm9ybS5nZXQoJ2RhdGUnKS5zZXRWYWx1ZShkYXRlVGltZS5kYXRlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmRhdGUudG9JU09TdHJpbmcoKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYXRldGltZS1waWNrZXJcIiBbY2xvc2VEYXRlcGlja2VyXT1cImRhdGVwaWNrZXJcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZGF0ZXBpY2tlclwiPlxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHx8IGRlZmF1bHRQbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgICBic0RhdGVwaWNrZXJcbiAgICAgIFtvdXRzaWRlQ2xpY2tdPVwiZmFsc2VcIlxuICAgICAgW2JzQ29uZmlnXT1cInsgY3VzdG9tVG9kYXlDbGFzczogJ3RvZGF5JywgZGF0ZUlucHV0Rm9ybWF0OiAnWVlZWS1NTS1ERCcgfVwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybS5nZXQoJ2RhdGUnKVwiXG4gICAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiXG4gICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8Yzh5LXRpbWUtcGlja2VyXG4gICAgW2Zvcm1Db250cm9sXT1cImZvcm0uZ2V0KCd0aW1lJylcIlxuICAgIChkYXlCYWNrd2FyZCk9XCJwcmV2aW91c0RheSgpXCJcbiAgICAoZGF5Rm9yd2FyZCk9XCJuZXh0RGF5KClcIlxuICA+PC9jOHktdGltZS1waWNrZXI+XG48L2Rpdj5cbiJdfQ==
@@ -7,6 +7,7 @@ import { FormsModule as C8yFormsModule } from '../forms/index';
7
7
  import { BsDatepickerModule } from 'ngx-bootstrap/datepicker';
8
8
  import { DateTimePickerComponent } from './date-time-picker.component';
9
9
  import { TimePickerModule } from '../time-picker/time-picker.module';
10
+ import { CloseDatePickerDirective } from './close-date-picker.directive';
10
11
  import * as i0 from "@angular/core";
11
12
  import * as i1 from "ngx-bootstrap/datepicker";
12
13
  /**
@@ -16,7 +17,7 @@ import * as i1 from "ngx-bootstrap/datepicker";
16
17
  export class DateTimePickerModule {
17
18
  }
18
19
  DateTimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- DateTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerModule, declarations: [DateTimePickerComponent], imports: [C8yFormsModule,
20
+ DateTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerModule, declarations: [DateTimePickerComponent, CloseDatePickerDirective], imports: [C8yFormsModule,
20
21
  CommonModule,
21
22
  FormsModule,
22
23
  ReactiveFormsModule, i1.BsDatepickerModule, C8yCommonModule,
@@ -41,7 +42,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
41
42
  TimePickerModule
42
43
  ],
43
44
  exports: [DateTimePickerComponent],
44
- declarations: [DateTimePickerComponent]
45
+ declarations: [DateTimePickerComponent, CloseDatePickerDirective]
45
46
  }]
46
47
  }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxJQUFJLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsSUFBSSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBRXJFOzs7R0FHRztBQWNILE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQixpQkFGaEIsdUJBQXVCLGFBVHBDLGNBQWM7UUFDZCxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQix5QkFFbkIsZUFBZTtRQUNmLGdCQUFnQixhQUVSLHVCQUF1QjtrSEFHdEIsb0JBQW9CLFlBWDdCLGNBQWM7UUFDZCxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7UUFDNUIsZUFBZTtRQUNmLGdCQUFnQjsyRkFLUCxvQkFBb0I7a0JBYmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsa0JBQWtCLENBQUMsT0FBTyxFQUFFO3dCQUM1QixlQUFlO3dCQUNmLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ2xDLFlBQVksRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIGFzIEM4eUNvbW1vbk1vZHVsZSB9IGZyb20gJy4uL2NvbW1vbi9jb21tb24ubW9kdWxlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIGFzIEM4eUZvcm1zTW9kdWxlIH0gZnJvbSAnLi4vZm9ybXMvaW5kZXgnO1xuaW1wb3J0IHsgQnNEYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyJztcbmltcG9ydCB7IERhdGVUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSAnLi4vdGltZS1waWNrZXIvdGltZS1waWNrZXIubW9kdWxlJztcblxuLyoqXG4gKiBUaGUgYW5ndWxhciBtb2R1bGUgZGVmaW5pdGlvbiBmb3IgYSBkYXRlLXRpbWUgcGlja2VyIC0gaXQgcHJvdmlkZXMgRm9ybUNvbnRyb2wgdGhhdCBoYW5kbGVzIGRhdGUgYW5kIHRpbWUuXG4gKiBAZXhwb3J0cyBEYXRlVGltZVBpY2tlckNvbXBvbmVudFxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQzh5Rm9ybXNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQnNEYXRlcGlja2VyTW9kdWxlLmZvclJvb3QoKSxcbiAgICBDOHlDb21tb25Nb2R1bGUsXG4gICAgVGltZVBpY2tlck1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbRGF0ZVRpbWVQaWNrZXJDb21wb25lbnRdLFxuICBkZWNsYXJhdGlvbnM6IFtEYXRlVGltZVBpY2tlckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVQaWNrZXJNb2R1bGUge31cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxJQUFJLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsSUFBSSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBRXpFOzs7R0FHRztBQWNILE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQixpQkFGaEIsdUJBQXVCLEVBQUUsd0JBQXdCLGFBVDlELGNBQWM7UUFDZCxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQix5QkFFbkIsZUFBZTtRQUNmLGdCQUFnQixhQUVSLHVCQUF1QjtrSEFHdEIsb0JBQW9CLFlBWDdCLGNBQWM7UUFDZCxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7UUFDNUIsZUFBZTtRQUNmLGdCQUFnQjsyRkFLUCxvQkFBb0I7a0JBYmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsa0JBQWtCLENBQUMsT0FBTyxFQUFFO3dCQUM1QixlQUFlO3dCQUNmLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ2xDLFlBQVksRUFBRSxDQUFDLHVCQUF1QixFQUFFLHdCQUF3QixDQUFDO2lCQUNsRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIGFzIEM4eUNvbW1vbk1vZHVsZSB9IGZyb20gJy4uL2NvbW1vbi9jb21tb24ubW9kdWxlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIGFzIEM4eUZvcm1zTW9kdWxlIH0gZnJvbSAnLi4vZm9ybXMvaW5kZXgnO1xuaW1wb3J0IHsgQnNEYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyJztcbmltcG9ydCB7IERhdGVUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSAnLi4vdGltZS1waWNrZXIvdGltZS1waWNrZXIubW9kdWxlJztcbmltcG9ydCB7IENsb3NlRGF0ZVBpY2tlckRpcmVjdGl2ZSB9IGZyb20gJy4vY2xvc2UtZGF0ZS1waWNrZXIuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBUaGUgYW5ndWxhciBtb2R1bGUgZGVmaW5pdGlvbiBmb3IgYSBkYXRlLXRpbWUgcGlja2VyIC0gaXQgcHJvdmlkZXMgRm9ybUNvbnRyb2wgdGhhdCBoYW5kbGVzIGRhdGUgYW5kIHRpbWUuXG4gKiBAZXhwb3J0cyBEYXRlVGltZVBpY2tlckNvbXBvbmVudFxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQzh5Rm9ybXNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQnNEYXRlcGlja2VyTW9kdWxlLmZvclJvb3QoKSxcbiAgICBDOHlDb21tb25Nb2R1bGUsXG4gICAgVGltZVBpY2tlck1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbRGF0ZVRpbWVQaWNrZXJDb21wb25lbnRdLFxuICBkZWNsYXJhdGlvbnM6IFtEYXRlVGltZVBpY2tlckNvbXBvbmVudCwgQ2xvc2VEYXRlUGlja2VyRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlVGltZVBpY2tlck1vZHVsZSB7fVxuIl19