@annalib/anna-core 18.0.9 → 18.0.10

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.
@@ -63,7 +63,6 @@ export class AnnaColumnTimeFilterComponent {
63
63
  }
64
64
  getTimeFilterData(header) {
65
65
  this.startTimeHourErr = this.startTimeMinErr = this.endTimeHourErr = this.endTimeMinErr = false;
66
- console.log("first ", this.clonedTableData);
67
66
  if (this.isSortAndFilterPresent) {
68
67
  this.selectedFromTime = this.clonedTableData[0].time;
69
68
  this.selectedToTime = this.clonedTableData[1].time;
@@ -73,7 +72,6 @@ export class AnnaColumnTimeFilterComponent {
73
72
  else {
74
73
  [this.selectedFromTime, this.selectedToTime] = this.annaFilterService.getSelectedTimeRange(header, this.clonedTableData);
75
74
  }
76
- console.log("After:", this.selectedFromTime, this.selectedToTime);
77
75
  this.clonedSelectedFromTime = cloneDeep(this.selectedFromTime);
78
76
  this.clonedSelectedToTime = cloneDeep(this.selectedToTime);
79
77
  let optionsData = this.annaFilterService.getFilterOptionsData(this.tableData, this.clonedTableData);
@@ -277,4 +275,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
277
275
  }], closeTooltip: [{
278
276
  type: Output
279
277
  }] } });
280
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jb2x1bW4tdGltZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtY29sdW1uLWZpbHRlcnMvYW5uYS1jb2x1bW4tdGltZS1maWx0ZXIvYW5uYS1jb2x1bW4tdGltZS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtY29sdW1uLWZpbHRlcnMvYW5uYS1jb2x1bW4tdGltZS1maWx0ZXIvYW5uYS1jb2x1bW4tdGltZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFbEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDOzs7Ozs7Ozs7QUFTcEgsTUFBTSxPQUFPLDZCQUE2QjtJQTZDeEMsWUFDVSxlQUFnQyxFQUNqQyx5QkFBb0QsRUFDcEQsaUJBQW9DO1FBRm5DLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNqQyw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ3BELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUF2Q3BDLHVCQUFrQixHQUFVLElBQUksQ0FBQztRQUNqQyxrQkFBYSxHQUFRLE1BQU0sQ0FBQztRQUM1QixjQUFTLEdBQVMsSUFBSSxDQUFDO1FBQ3ZCLDJCQUFzQixHQUFTLEtBQUssQ0FBQztRQUN0QyxnQkFBVyxHQUFFLElBQUksWUFBWSxFQUFFLENBQUM7UUFDOUIseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxQywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHNUMsa0JBQWEsR0FBYSxJQUFJLENBQUM7UUFFL0Isc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBQ25DLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUNyQyw2QkFBd0IsR0FBWSxJQUFJLENBQUM7UUFXekMsaUJBQVksR0FBYSxFQUFFLENBQUM7UUFDNUIsb0JBQWUsR0FBYSxJQUFJLENBQUM7SUFZZ0IsQ0FBQztJQUVsRCxRQUFRO1FBQ04sSUFBSSxDQUFDLHVDQUF1QyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsdUNBQXVDLENBQUMsU0FBMkIsRUFBRSxNQUFlO1FBQ2xGLElBQUksTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUM7UUFFM0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxjQUFjLENBQUM7UUFDbEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUV0RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUUzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUM5QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLDhCQUE4QixFQUFFLENBQUM7UUFFeEYsSUFBRyxNQUFNLEVBQUM7WUFDUixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbEQsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ1Q7YUFBSTtZQUNILElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDO0lBRUQsdUJBQXVCLENBQUMsU0FBMkIsRUFBRSxNQUFjO1FBQ2pFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUMsY0FBYyxDQUFDO1FBQ2xELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7UUFFdEQsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztRQUV0QyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDaEM7SUFFSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBYztRQUU5QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ2hHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM1QyxJQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBQztZQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7WUFDbEQsSUFBSSxDQUFDLGNBQWMsR0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtZQUMxQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcseUJBQXlCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2pHLElBQUksQ0FBQyxjQUFjLEdBQUcseUJBQXlCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUM5RjthQUNHO1lBQ0YsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQzFIO1FBR0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUM1RCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTNELElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVwRyxJQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFdEcsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDO1FBQ3RFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztRQUNwRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsa0JBQWtCLENBQUMscUJBQXFCLENBQUM7UUFDdEUsSUFBSSxDQUFDLHdCQUF3QixHQUFHLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDO1FBQzVFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQztRQUMxRSxJQUFJLENBQUMsd0JBQXdCLEdBQUcsa0JBQWtCLENBQUMsd0JBQXdCLENBQUM7SUFDOUUsQ0FBQztJQUVELGlDQUFpQztRQUMvQixJQUFJLENBQUMsd0JBQXdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUM7UUFDL0QsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELGdDQUFnQztRQUM5QixJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUM7UUFDN0QsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELGlDQUFpQztRQUMvQixJQUFJLENBQUMsd0JBQXdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUM7UUFDL0QsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELDRCQUE0QjtRQUMxQixJQUFJLDBCQUEwQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQ3hGLElBQUkseUJBQXlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFFNU4sSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3ZGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsNEJBQTRCO1FBQzFCLElBQUksSUFBSSxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN0RCxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztZQUMxRCxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLENBQUMsYUFBYSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDMUc7YUFDSSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUNqQyxJQUFJLENBQUMseUJBQXlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1NBQzFHO2FBQ0ksSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDL0IsSUFBSSxDQUFDLHlCQUF5QixHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7U0FDaEU7SUFFSCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0RixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUM5RixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztZQUNoRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztZQUM1RCxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFO1lBQ2hFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUlELGdCQUFnQjtRQUNkLElBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFDO1lBQzdCLElBQUksWUFBWSxHQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTtZQUM1RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtTQUNwQzthQUNHO1lBQ0YsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDckYsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzlDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2hEO2FBQU0sSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQy9CLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2hEO2FBQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxTQUFrQjtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDbEYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLFNBQWtCO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDM0Q7SUFDSCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsU0FBa0I7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDL0UsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxTQUFrQjtRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ2pGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUM5RDtJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxHQUFXO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELGtCQUFrQixDQUFDLEdBQVc7UUFDNUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELGlCQUFpQixDQUFDLEdBQVc7UUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEdBQVc7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELDBCQUEwQjtRQUN4QixJQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBQztZQUN4QixJQUFHLElBQUksQ0FBQyxhQUFhLEVBQUM7Z0JBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDdEg7aUJBQ0ksSUFBRyxJQUFJLENBQUMsZUFBZSxFQUFDO2dCQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQzthQUMxRztTQUNGO2FBQ0ksSUFBRyxJQUFJLENBQUMsZUFBZSxFQUFDO1lBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQzFHO0lBQ0gsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3BELElBQUkseUJBQXlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFFNU4sSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUseUJBQXlCLENBQUMsQ0FBQztZQUNwSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUseUJBQXlCLENBQUMsQ0FBQztZQUMvRyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUU3RSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNmLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ3hGO1lBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBRXZFO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMzRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN6RyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsMkJBQTJCLENBQUMsS0FBZTtRQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzsySEE1U1UsNkJBQTZCOytHQUE3Qiw2QkFBNkIsc3NCQ2pCMUMsc2lPQXVJTTs0RkR0SE8sNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLG1DQUFtQzs4S0FLcEMsU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNFLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0ssb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgY2xvbmVEZWVwLCBpc0VxdWFsIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xyXG5cclxuaW1wb3J0IHsgcmFkaW9CdXR0b25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL21vZGVscy9hbm5hLXRvb2x0aXAubW9kZWwnO1xyXG5pbXBvcnQgeyBTb3J0VHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL21vZGVscy9hbm5hLXNvcnQubW9kZWwnO1xyXG5pbXBvcnQgeyBBbm5hU29ydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLXNvcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEFubmFGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1maWx0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZSc7XHJcbmltcG9ydCB7IElHdEdlbmVyYWxDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9tb2RlbHMvYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FubmEtY29yZS1hbm5hLWNvbHVtbi10aW1lLWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FubmEtY29sdW1uLXRpbWUtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hbm5hLWNvbHVtbi10aW1lLWZpbHRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hQ29sdW1uVGltZUZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgdGFibGVEYXRhOiBhbnlbXTtcclxuICBASW5wdXQoKSBjbG9uZWRUYWJsZURhdGE6IGFueVtdO1xyXG4gIEBJbnB1dCgpIGZpbHRlclRhYk9iamVjdHM6IGFueVtdO1xyXG4gIEBJbnB1dCgpIHNob3dGaWx0ZXJIZWFkZXJUYWJzOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHNob3dBbGxUaW1lUmFuZ2VDaGVja2JveGVzOiBib29sZWFuOyBcclxuICBASW5wdXQoKSBpc0x1ckFuZENzckNvbXBvbmVudDogYm9vbGVhbjsgXHJcblxyXG4gIEBJbnB1dCgpIGd0R2VuZXJhbENvbmZpZzogSUd0R2VuZXJhbENvbmZpZztcclxuICBASW5wdXQoKSBzaG93Q2xlYXJBbGxGaWx0ZXI6Ym9vbGVhbiA9dHJ1ZTtcclxuICBASW5wdXQoKSBzdGFydEZyb21UZXh0OnN0cmluZz1cIkZyb21cIjtcclxuICBASW5wdXQoKSBlbmRUb1RleHQ6c3RyaW5nID1cIlRvXCI7XHJcbiAgQElucHV0KCkgaXNTb3J0QW5kRmlsdGVyUHJlc2VudDpib29sZWFuPWZhbHNlO1xyXG5AT3V0cHV0KCkgdGltZUNoYW5nZXM9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZmlsdGVyQXBwbGllZFRvVGFibGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNvcnRpbmdBcHBsaWVkVG9UYWJsZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZ2V0U29ydFR5cGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlVG9vbHRpcCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgaXNGaWx0ZXJDaGFuZ2VkOiBib29sZWFuO1xyXG4gIHRlbXBTb3J0T3JkZXI6IFNvcnRUeXBlID0gbnVsbDtcclxuICBpc1NvcnRDaGFuZ2VkOiBib29sZWFuO1xyXG4gIHNob3dTb3J0Q29tcG9uZW50OiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd0ZpbHRlckNvbXBvbmVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRpc2FibGVDb2x1bW5DbGVhckFsbEJ0bjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHN0YXJ0VGltZUhvdXJFcnI6IGJvb2xlYW47XHJcbiAgc3RhcnRUaW1lTWluRXJyOiBib29sZWFuO1xyXG4gIGVuZFRpbWVIb3VyRXJyOiBib29sZWFuO1xyXG4gIGVuZFRpbWVNaW5FcnI6IGJvb2xlYW47XHJcbiAgc2VsZWN0ZWRGcm9tVGltZTogYW55W107XHJcbiAgc2VsZWN0ZWRUb1RpbWU6IGFueVtdO1xyXG4gIGNsb25lZFNlbGVjdGVkRnJvbVRpbWU6IGFueTtcclxuICBjbG9uZWRTZWxlY3RlZFRvVGltZTogYW55O1xyXG4gIGRpc2FibGVUaW1lRmlsdGVyQXBwbHlCdG46IGJvb2xlYW47XHJcbiAgdGFibGVDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHRvdGFsUm93Q29sdW1uczogc3RyaW5nW10gPSBudWxsO1xyXG4gIHNob3dNdWx0aVRpbWVDaGVja2JveDogYm9vbGVhbjtcclxuICBzaG93WmVyb1RpbWVDaGVja2JveDogYm9vbGVhbjtcclxuICBzaG93RW50ZXJUaW1lQ2hlY2tib3g6IGJvb2xlYW47XHJcbiAgbXVsdGlUaW1lQ2hlY2tib3hDaGVja2VkOiBib29sZWFuO1xyXG4gIHplcm9UaW1lQ2hlY2tib3hDaGVja2VkOiBib29sZWFuO1xyXG4gIGVudGVyVGltZUNoZWNrYm94Q2hlY2tlZDogYm9vbGVhbjtcclxuICBiaW5kVmFsdWVGdW5jQ2FsbGVkOiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYW5uYVNvcnRTZXJ2aWNlOiBBbm5hU29ydFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZTogQW5uYURhdGVUaW1lRm9ybWF0U2VydmljZSxcclxuICAgIHB1YmxpYyBhbm5hRmlsdGVyU2VydmljZTogQW5uYUZpbHRlclNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucG9wdWxhdGVUb29sdGlwRGF0YUJhc2VkT25TZWxlY3RlZFJhZGlvKHRoaXMuZmlsdGVyVGFiT2JqZWN0c1swXSwgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVUb29sdGlwRGF0YUJhc2VkT25TZWxlY3RlZFJhZGlvKGFjdGl2ZVRhYjogcmFkaW9CdXR0b25Nb2RlbCwgcmVsb2FkOiBib29sZWFuKSB7XHJcbiAgICBsZXQgaGVhZGVyID0gYWN0aXZlVGFiLmtleTtcclxuICAgIFxyXG4gICAgdGhpcy5zaG93U29ydENvbXBvbmVudCA9IGFjdGl2ZVRhYi5pc1NvcnRSZXF1aXJlZDtcclxuICAgIHRoaXMuc2hvd0ZpbHRlckNvbXBvbmVudCA9IGFjdGl2ZVRhYi5pc0ZpbHRlclJlcXVpcmVkO1xyXG4gICAgXHJcbiAgICB0aGlzLnRlbXBTb3J0T3JkZXIgPSBudWxsO1xyXG4gICAgdGhpcy5pc0ZpbHRlckNoYW5nZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNTb3J0Q2hhbmdlZCA9IGZhbHNlO1xyXG5cclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2Uuc2VsZWN0ZWRSYWRpbyA9IGhlYWRlcjtcclxuICAgIHRoaXMuZGlzYWJsZUNvbHVtbkNsZWFyQWxsQnRuID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5kaXNhYmxlQWN0aXZlRmlsdGVyQ2xlYXJCdXR0b24oKTtcclxuXHJcbiAgICBpZihyZWxvYWQpe1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNyZWF0ZUZpbHRlclRvb2x0aXBEYXRhKGFjdGl2ZVRhYiwgaGVhZGVyKTtcclxuICAgICAgfSwgMTAwKTsgIFxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuY3JlYXRlRmlsdGVyVG9vbHRpcERhdGEoYWN0aXZlVGFiLCBoZWFkZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlRmlsdGVyVG9vbHRpcERhdGEoYWN0aXZlVGFiOiByYWRpb0J1dHRvbk1vZGVsLCBoZWFkZXI6IHN0cmluZykge1xyXG4gICAgdGhpcy5zaG93U29ydENvbXBvbmVudCA9IGFjdGl2ZVRhYi5pc1NvcnRSZXF1aXJlZDtcclxuICAgIHRoaXMuc2hvd0ZpbHRlckNvbXBvbmVudCA9IGFjdGl2ZVRhYi5pc0ZpbHRlclJlcXVpcmVkO1xyXG4gICAgXHJcbiAgICB0aGlzLmRpc2FibGVUaW1lRmlsdGVyQXBwbHlCdG4gPSB0cnVlO1xyXG4gICAgICBcclxuICAgIGlmICh0aGlzLnNob3dGaWx0ZXJDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5nZXRUaW1lRmlsdGVyRGF0YShoZWFkZXIpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG5cclxuICBnZXRUaW1lRmlsdGVyRGF0YShoZWFkZXI6IHN0cmluZyk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMuc3RhcnRUaW1lSG91ckVyciA9IHRoaXMuc3RhcnRUaW1lTWluRXJyID0gdGhpcy5lbmRUaW1lSG91ckVyciA9IHRoaXMuZW5kVGltZU1pbkVyciA9IGZhbHNlO1xyXG4gICAgY29uc29sZS5sb2coXCJmaXJzdCBcIiwgdGhpcy5jbG9uZWRUYWJsZURhdGEpO1xyXG4gICAgaWYodGhpcy5pc1NvcnRBbmRGaWx0ZXJQcmVzZW50KXtcclxudGhpcy5zZWxlY3RlZEZyb21UaW1lPXRoaXMuY2xvbmVkVGFibGVEYXRhWzBdLnRpbWVcclxudGhpcy5zZWxlY3RlZFRvVGltZT10aGlzLmNsb25lZFRhYmxlRGF0YVsxXS50aW1lXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGcm9tVGltZSA9IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuZm9ybWF0VG9Ud2VsdmVIcnModGhpcy5zZWxlY3RlZEZyb21UaW1lLCB0cnVlKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRvVGltZSA9IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuZm9ybWF0VG9Ud2VsdmVIcnModGhpcy5zZWxlY3RlZFRvVGltZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBlbHNle1xyXG4gICAgICBbdGhpcy5zZWxlY3RlZEZyb21UaW1lLCB0aGlzLnNlbGVjdGVkVG9UaW1lXSA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuZ2V0U2VsZWN0ZWRUaW1lUmFuZ2UoaGVhZGVyLCB0aGlzLmNsb25lZFRhYmxlRGF0YSk7XHJcbiAgICB9XHJcbiBcclxuICAgIFxyXG5jb25zb2xlLmxvZyhcIkFmdGVyOlwiLHRoaXMuc2VsZWN0ZWRGcm9tVGltZSwgdGhpcy5zZWxlY3RlZFRvVGltZSlcclxuICAgIHRoaXMuY2xvbmVkU2VsZWN0ZWRGcm9tVGltZSA9IGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkRnJvbVRpbWUpO1xyXG4gICAgdGhpcy5jbG9uZWRTZWxlY3RlZFRvVGltZSA9IGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkVG9UaW1lKTtcclxuICAgIFxyXG4gICAgbGV0IG9wdGlvbnNEYXRhID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5nZXRGaWx0ZXJPcHRpb25zRGF0YSh0aGlzLnRhYmxlRGF0YSwgdGhpcy5jbG9uZWRUYWJsZURhdGEpO1xyXG4gICAgXHJcbiAgICBsZXQgY2hlY2tlZFNlbGVjdGVkT2JqID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5zZWxlY3RVbnNlbGVjdFRpbWVGaWx0ZXJDaGVja2JveChoZWFkZXIsIG9wdGlvbnNEYXRhKTtcclxuXHJcbiAgICB0aGlzLnNob3dNdWx0aVRpbWVDaGVja2JveCA9IGNoZWNrZWRTZWxlY3RlZE9iai5zaG93TXVsdGlUaW1lQ2hlY2tib3g7XHJcbiAgICB0aGlzLnNob3daZXJvVGltZUNoZWNrYm94ID0gY2hlY2tlZFNlbGVjdGVkT2JqLnNob3daZXJvVGltZUNoZWNrYm94O1xyXG4gICAgdGhpcy5zaG93RW50ZXJUaW1lQ2hlY2tib3ggPSBjaGVja2VkU2VsZWN0ZWRPYmouc2hvd0VudGVyVGltZUNoZWNrYm94O1xyXG4gICAgdGhpcy5tdWx0aVRpbWVDaGVja2JveENoZWNrZWQgPSBjaGVja2VkU2VsZWN0ZWRPYmoubXVsdGlUaW1lQ2hlY2tib3hDaGVja2VkO1xyXG4gICAgdGhpcy56ZXJvVGltZUNoZWNrYm94Q2hlY2tlZCA9IGNoZWNrZWRTZWxlY3RlZE9iai56ZXJvVGltZUNoZWNrYm94Q2hlY2tlZDtcclxuICAgIHRoaXMuZW50ZXJUaW1lQ2hlY2tib3hDaGVja2VkID0gY2hlY2tlZFNlbGVjdGVkT2JqLmVudGVyVGltZUNoZWNrYm94Q2hlY2tlZDsgICAgXHJcbiAgfVxyXG4gIFxyXG4gIHNlbGVjdE9yVW5zZWxlY3RNdWx0aVRpbWVDaGVja2JveCgpIHtcclxuICAgIHRoaXMubXVsdGlUaW1lQ2hlY2tib3hDaGVja2VkID0gIXRoaXMubXVsdGlUaW1lQ2hlY2tib3hDaGVja2VkO1xyXG4gICAgdGhpcy5kaXNhYmxlVGltZUZpbHRlckFwcGx5QnV0dG9uKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RPclVuc2VsZWN0WmVyb1RpbWVDaGVja2JveCgpIHtcclxuICAgIHRoaXMuemVyb1RpbWVDaGVja2JveENoZWNrZWQgPSAhdGhpcy56ZXJvVGltZUNoZWNrYm94Q2hlY2tlZDtcclxuICAgIHRoaXMuZGlzYWJsZVRpbWVGaWx0ZXJBcHBseUJ1dHRvbigpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0T3JVbnNlbGVjdEVudGVyVGltZUNoZWNrYm94KCkge1xyXG4gICAgdGhpcy5lbnRlclRpbWVDaGVja2JveENoZWNrZWQgPSAhdGhpcy5lbnRlclRpbWVDaGVja2JveENoZWNrZWQ7XHJcbiAgICB0aGlzLmRpc2FibGVUaW1lRmlsdGVyQXBwbHlCdXR0b24oKTtcclxuICB9XHJcblxyXG4gIGNoZWNrSWZUaW1lVG9vbHRpcElzRmlsdGVyZWQoKSB7XHJcbiAgICBsZXQgcHJldmlvdXNTZWxlY3RlZFRpbWVGaWx0ZXIgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmdldFByZXZpb3VzU2VsZWN0ZWRUaW1lRmlsdGVyKCk7XHJcbiAgICBsZXQgY3VycmVudFNlbGVjdGVkVGltZUZpbHRlciA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuZ2V0Q3VycmVudFNlbGVjdGVkVGltZUZpbHRlcih0aGlzLnNlbGVjdGVkRnJvbVRpbWUsIHRoaXMuc2VsZWN0ZWRUb1RpbWUsIHRoaXMubXVsdGlUaW1lQ2hlY2tib3hDaGVja2VkLCB0aGlzLnplcm9UaW1lQ2hlY2tib3hDaGVja2VkLCB0aGlzLmVudGVyVGltZUNoZWNrYm94Q2hlY2tlZCk7XHJcblxyXG4gICAgdGhpcy5pc0ZpbHRlckNoYW5nZWQgPSAhaXNFcXVhbChwcmV2aW91c1NlbGVjdGVkVGltZUZpbHRlciwgY3VycmVudFNlbGVjdGVkVGltZUZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5pc0ZpbHRlckNoYW5nZWQ7XHJcbiAgfVxyXG5cclxuICBkaXNhYmxlVGltZUZpbHRlckFwcGx5QnV0dG9uKCkge1xyXG4gICAgaWYgKHRoaXMuc2hvd0ZpbHRlckNvbXBvbmVudCAmJiB0aGlzLnNob3dTb3J0Q29tcG9uZW50KSB7XHJcbiAgICAgIGxldCBpc0ZpbHRlckNoYW5nZWQgPSB0aGlzLmNoZWNrSWZUaW1lVG9vbHRpcElzRmlsdGVyZWQoKTtcclxuICAgICAgbGV0IGlzU29ydENoYW5nZWQgPSB0aGlzLmNoZWNrSWZTb3J0aW5nQ2hhbmdlZCgpO1xyXG4gICAgICB0aGlzLmRpc2FibGVUaW1lRmlsdGVyQXBwbHlCdG4gPSAhdGhpcy52YWxpZGF0ZVRpbWVGaWx0ZXJJbnB1dCgpIHx8ICghaXNTb3J0Q2hhbmdlZCAmJiAhaXNGaWx0ZXJDaGFuZ2VkKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuc2hvd0ZpbHRlckNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLmRpc2FibGVUaW1lRmlsdGVyQXBwbHlCdG4gPSAhdGhpcy52YWxpZGF0ZVRpbWVGaWx0ZXJJbnB1dCgpIHx8ICF0aGlzLmNoZWNrSWZUaW1lVG9vbHRpcElzRmlsdGVyZWQoKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuc2hvd1NvcnRDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5kaXNhYmxlVGltZUZpbHRlckFwcGx5QnRuID0gIXRoaXMuY2hlY2tJZlNvcnRpbmdDaGFuZ2VkKCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgY2hlY2tJZlNvcnRpbmdDaGFuZ2VkKCl7XHJcbiAgICB0aGlzLmlzU29ydENoYW5nZWQgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmNoZWNrSWZTb3J0aW5nQ2hhbmdlZCh0aGlzLnRlbXBTb3J0T3JkZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuaXNTb3J0Q2hhbmdlZDtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlVGltZUZpbHRlcklucHV0KCkge1xyXG4gICAgaWYgKHRoaXMuc3RhcnRUaW1lSG91ckVyciB8fCB0aGlzLnN0YXJ0VGltZU1pbkVyciB8fCB0aGlzLmVuZFRpbWVIb3VyRXJyIHx8IHRoaXMuZW5kVGltZU1pbkVycikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCh0aGlzLnNob3dNdWx0aVRpbWVDaGVja2JveCAmJiAhdGhpcy5tdWx0aVRpbWVDaGVja2JveENoZWNrZWQpICYmXHJcbiAgICAgICh0aGlzLnNob3daZXJvVGltZUNoZWNrYm94ICYmICF0aGlzLnplcm9UaW1lQ2hlY2tib3hDaGVja2VkKSAmJlxyXG4gICAgICAodGhpcy5zaG93RW50ZXJUaW1lQ2hlY2tib3ggJiYgIXRoaXMuZW50ZXJUaW1lQ2hlY2tib3hDaGVja2VkKSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICF0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmNoZWNrSWZTdGFydFRpbWVJc0FmdGVyRW5kVGltZSh0aGlzLnNlbGVjdGVkRnJvbVRpbWUsIHRoaXMuc2VsZWN0ZWRUb1RpbWUpO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBhcHBseVRpbWVGaWx0ZXJzKCkge1xyXG4gICAgaWYodGhpcy5pc1NvcnRBbmRGaWx0ZXJQcmVzZW50KXtcclxuICAgICAgbGV0IHRpbWVTZWxlY3RlZD1bdGhpcy5zZWxlY3RlZEZyb21UaW1lLHRoaXMuc2VsZWN0ZWRUb1RpbWVdXHJcbiAgICAgIHRoaXMudGltZUNoYW5nZXMuZW1pdCh0aW1lU2VsZWN0ZWQpXHJcbiAgICB9XHJcbiAgICBlbHNle1xyXG4gICAgICB0aGlzLmFwcGx5VGltZUZpbHRlck9uRGF0YSgpO1xyXG4gICAgICB0aGlzLmFwcGx5U29ydGluZ09uRmlsdGVyZWREYXRhKCk7XHJcbiAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudXBkYXRlU3RhdGVPZkFsbFRoZUtleXModGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlKTtcclxuICAgICAgdGhpcy5lbWl0RGF0YSgpO1xyXG4gICAgfVxyXG4gICBcclxuICAgIHRoaXMuY2xvc2VUb29sdGlwLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGVtaXREYXRhKCkge1xyXG4gICAgaWYgKHRoaXMuaXNGaWx0ZXJDaGFuZ2VkICYmIHRoaXMuaXNTb3J0Q2hhbmdlZCkge1xyXG4gICAgICB0aGlzLmZpbHRlckFwcGxpZWRUb1RhYmxlLmVtaXQodGhpcy50YWJsZURhdGEpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmlzRmlsdGVyQ2hhbmdlZCkge1xyXG4gICAgICB0aGlzLmZpbHRlckFwcGxpZWRUb1RhYmxlLmVtaXQodGhpcy50YWJsZURhdGEpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmlzU29ydENoYW5nZWQpIHtcclxuICAgICAgdGhpcy5nZXRTb3J0VHlwZS5lbWl0KHRoaXMudGVtcFNvcnRPcmRlcik7XHJcbiAgICAgIHRoaXMuc29ydGluZ0FwcGxpZWRUb1RhYmxlLmVtaXQodGhpcy50YWJsZURhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hhbmdlU3RhcnRUaW1lSG91cihpbmNyZW1lbnQ6IGJvb2xlYW4pIHtcclxuICAgIGlmICghdGhpcy5zdGFydFRpbWVIb3VyRXJyKSB7XHJcbiAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuaW5jcmVtZW50T3JEZWNyZW1lbnRIb3VyKGluY3JlbWVudCwgdGhpcy5zZWxlY3RlZEZyb21UaW1lKTtcclxuICAgICAgdGhpcy5zdGFydFRpbWVIb3VyQ2hhbmdlKHRoaXMuc2VsZWN0ZWRGcm9tVGltZVswXS50b1N0cmluZygpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoYW5nZUVuZFRpbWVIb3VyKGluY3JlbWVudDogYm9vbGVhbikge1xyXG4gICAgaWYgKCF0aGlzLmVuZFRpbWVIb3VyRXJyKSB7XHJcbiAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuaW5jcmVtZW50T3JEZWNyZW1lbnRIb3VyKGluY3JlbWVudCwgdGhpcy5zZWxlY3RlZFRvVGltZSk7XHJcbiAgICAgIHRoaXMuZW5kVGltZUhvdXJDaGFuZ2UodGhpcy5zZWxlY3RlZFRvVGltZVswXS50b1N0cmluZygpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoYW5nZUVuZFRpbWVNaW51dGUoaW5jcmVtZW50OiBib29sZWFuKSB7XHJcbiAgICBpZiAoIXRoaXMuZW5kVGltZU1pbkVycikge1xyXG4gICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmluY3JlbWVudE9yRGVjcmVtZW50TWluKGluY3JlbWVudCwgdGhpcy5zZWxlY3RlZFRvVGltZSk7XHJcbiAgICAgIHRoaXMuZW5kVGltZU1pbkNoYW5nZSh0aGlzLnNlbGVjdGVkVG9UaW1lWzFdLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hhbmdlU3RhcnRUaW1lTWludXRlKGluY3JlbWVudDogYm9vbGVhbikge1xyXG4gICAgaWYgKCF0aGlzLnN0YXJ0VGltZU1pbkVycikge1xyXG4gICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmluY3JlbWVudE9yRGVjcmVtZW50TWluKGluY3JlbWVudCwgdGhpcy5zZWxlY3RlZEZyb21UaW1lKTtcclxuICAgICAgdGhpcy5zdGFydFRpbWVNaW5DaGFuZ2UodGhpcy5zZWxlY3RlZEZyb21UaW1lWzFdLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhcnRUaW1lSG91ckNoYW5nZSh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5zdGFydFRpbWVIb3VyRXJyID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5pc0hvdXJWYWx1ZUludmFsaWQodmFsKTtcclxuICAgIHRoaXMuZGlzYWJsZVRpbWVGaWx0ZXJBcHBseUJ1dHRvbigpO1xyXG4gIH1cclxuXHJcbiAgc3RhcnRUaW1lTWluQ2hhbmdlKHZhbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnN0YXJ0VGltZU1pbkVyciA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuaXNNaW51dGVWYWx1ZUludmFsaWQodmFsKTtcclxuICAgIHRoaXMuZGlzYWJsZVRpbWVGaWx0ZXJBcHBseUJ1dHRvbigpO1xyXG4gIH1cclxuXHJcbiAgZW5kVGltZUhvdXJDaGFuZ2UodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZW5kVGltZUhvdXJFcnIgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmlzSG91clZhbHVlSW52YWxpZCh2YWwpO1xyXG4gICAgdGhpcy5kaXNhYmxlVGltZUZpbHRlckFwcGx5QnV0dG9uKCk7XHJcbiAgfVxyXG5cclxuICBlbmRUaW1lTWluQ2hhbmdlKHZhbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmVuZFRpbWVNaW5FcnIgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmlzTWludXRlVmFsdWVJbnZhbGlkKHZhbCk7XHJcbiAgICB0aGlzLmRpc2FibGVUaW1lRmlsdGVyQXBwbHlCdXR0b24oKTtcclxuICB9XHJcblxyXG4gIGFwcGx5U29ydGluZ09uRmlsdGVyZWREYXRhKCl7XHJcbiAgICBpZih0aGlzLnNob3dTb3J0Q29tcG9uZW50KXtcclxuICAgICAgaWYodGhpcy5pc1NvcnRDaGFuZ2VkKXtcclxuICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudXBkYXRlU29ydE1hcCh0aGlzLnRlbXBTb3J0T3JkZXIsIHRoaXMudGFibGVEYXRhLCB0aGlzLmlzTHVyQW5kQ3NyQ29tcG9uZW50KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmKHRoaXMuaXNGaWx0ZXJDaGFuZ2VkKXtcclxuICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNoZWNrSWZTb3J0aW5nSXNBcHBsaWVkKHRoaXMudGFibGVEYXRhLCB0aGlzLmlzTHVyQW5kQ3NyQ29tcG9uZW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZih0aGlzLmlzRmlsdGVyQ2hhbmdlZCl7XHJcbiAgICAgIHRoaXMudGFibGVEYXRhID0gdGhpcy5hbm5hU29ydFNlcnZpY2UuY2hlY2tJZlNvcnRpbmdJc0FwcGxpZWQodGhpcy50YWJsZURhdGEsIHRoaXMuaXNMdXJBbmRDc3JDb21wb25lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXBwbHlUaW1lRmlsdGVyT25EYXRhKCkge1xyXG4gICAgaWYgKHRoaXMuc2hvd0ZpbHRlckNvbXBvbmVudCAmJiB0aGlzLmlzRmlsdGVyQ2hhbmdlZCkge1xyXG4gICAgICBsZXQgY3VycmVudFNlbGVjdGVkVGltZUZpbHRlciA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuZ2V0Q3VycmVudFNlbGVjdGVkVGltZUZpbHRlcih0aGlzLnNlbGVjdGVkRnJvbVRpbWUsIHRoaXMuc2VsZWN0ZWRUb1RpbWUsIHRoaXMubXVsdGlUaW1lQ2hlY2tib3hDaGVja2VkLCB0aGlzLnplcm9UaW1lQ2hlY2tib3hDaGVja2VkLCB0aGlzLmVudGVyVGltZUNoZWNrYm94Q2hlY2tlZCk7XHJcbiBcclxuICAgICAgbGV0IGlzRmlsdGVyZWQgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnJlT3JkZXJBcHBsaWVkRmlsdGVyc1N0YXRlKHRoaXMuY2xvbmVkVGFibGVEYXRhLCBjdXJyZW50U2VsZWN0ZWRUaW1lRmlsdGVyKTtcclxuICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAuc2V0KHRoaXMuYW5uYUZpbHRlclNlcnZpY2Uuc2VsZWN0ZWRSYWRpbywgY3VycmVudFNlbGVjdGVkVGltZUZpbHRlcik7XHJcbiAgICAgIHRoaXMudGFibGVEYXRhID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5maWx0ZXJEYXRhKHRoaXMuY2xvbmVkVGFibGVEYXRhLCBcIlwiKTtcclxuXHJcbiAgICAgIGlmICghaXNGaWx0ZXJlZCkge1xyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwLmRlbGV0ZSh0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnNlbGVjdGVkUmFkaW8pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gY2xvbmVEZWVwKHRoaXMudGFibGVEYXRhKTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZVRpbWVGaWx0ZXIoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRnJvbVRpbWUgPSBjbG9uZURlZXAodGhpcy5jbG9uZWRTZWxlY3RlZEZyb21UaW1lKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUb1RpbWUgPSBjbG9uZURlZXAodGhpcy5jbG9uZWRTZWxlY3RlZFRvVGltZSk7XHJcbiAgICB0aGlzLmNsb3NlVG9vbHRpcC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBjbGVhckNvbHVtbkZpbHRlcigpIHtcclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuY2xlYXJDb2x1bW5GaWx0ZXIoKTtcclxuICAgIHRoaXMudGFibGVEYXRhID0gY2xvbmVEZWVwKHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuZmlsdGVyRGF0YSh0aGlzLmNsb25lZFRhYmxlRGF0YSwgXCJcIikpO1xyXG4gICAgdGhpcy5hbm5hU29ydFNlcnZpY2Uubm9Tb3J0aW5nQXBwbGllZERhdGEgPSB0aGlzLnRhYmxlRGF0YTtcclxuICAgIHRoaXMudGFibGVEYXRhID0gdGhpcy5hbm5hU29ydFNlcnZpY2UuY2hlY2tJZlNvcnRpbmdJc0FwcGxpZWQodGhpcy50YWJsZURhdGEsIHRoaXMuaXNMdXJBbmRDc3JDb21wb25lbnQpO1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS51cGRhdGVTdGF0ZU9mVGhlQ3VycmVudEZpbHRlclRhYih0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUpO1xyXG4gICAgdGhpcy5maWx0ZXJBcHBsaWVkVG9UYWJsZS5lbWl0KHRoaXMudGFibGVEYXRhKTtcclxuICB9XHJcblxyXG4gIHN0b3JlU29ydFR5cGVJblRlbXBWYXJpYWJsZShldmVudDogU29ydFR5cGUpIHtcclxuICAgIHRoaXMudGVtcFNvcnRPcmRlciA9IGV2ZW50O1xyXG4gICAgdGhpcy5kaXNhYmxlVGltZUZpbHRlckFwcGx5QnV0dG9uKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicmFkaW8tY29udGFpbmVyXCIgKm5nSWY9XCJzaG93RmlsdGVySGVhZGVyVGFic1wiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBmaWx0ZXJUYWJPYmplY3RzXCI+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJmaWx0ZXItdGFiXCIgW3RpdGxlXT1cImRhdGEubGFiZWxcIiAoY2xpY2spPVwicG9wdWxhdGVUb29sdGlwRGF0YUJhc2VkT25TZWxlY3RlZFJhZGlvKGRhdGEsIHRydWUpXCIgW25nQ2xhc3NdPVwieydhY3RpdmUnOiBhbm5hRmlsdGVyU2VydmljZS5zZWxlY3RlZFJhZGlvID09IGRhdGEua2V5fVwiICpuZ0lmPVwiZmlsdGVyVGFiT2JqZWN0cy5sZW5ndGggPiAwXCI+e3sgZGF0YS5sYWJlbCB9fTwvcD5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxhbm5hLWNvcmUtc29ydC1saWIgKm5nSWY9XCJzaG93U29ydENvbXBvbmVudFwiIFtuZ0NsYXNzXT1cInsnbm8tYm90dG9tLWJvcmRlcic6ICFzaG93RmlsdGVyQ29tcG9uZW50fVwiXHJcbihzb3J0T3B0aW9uQ2xpY2tlZCk9XCJzdG9yZVNvcnRUeXBlSW5UZW1wVmFyaWFibGUoJGV2ZW50KVwiIFtzb3J0T2JqZWN0S2V5XT1cImFubmFGaWx0ZXJTZXJ2aWNlLnNlbGVjdGVkUmFkaW9cIj48L2FubmEtY29yZS1zb3J0LWxpYj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93RmlsdGVyQ29tcG9uZW50XCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiY29sdW1uLWNsZWFyLWFsbFwiICpuZ0lmPVwic2hvd0NsZWFyQWxsRmlsdGVyXCIgIFtkaXNhYmxlZF09XCJkaXNhYmxlQ29sdW1uQ2xlYXJBbGxCdG5cIiAoY2xpY2spPVwiY2xlYXJDb2x1bW5GaWx0ZXIoKVwiPkNsZWFyIGZpbHRlcjwvYnV0dG9uPlxyXG4gICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwidGltZS1maWx0ZXItY2hlY2tib3hlc1wiXHJcbiAgICAgICAgKm5nSWY9XCJzaG93QWxsVGltZVJhbmdlQ2hlY2tib3hlc1wiXHJcbiAgICA+XHJcbiAgICAgICAgPCEtLSBNdWx0aSB0aW1lIG9wdGlvbiBjaGVja2JveCAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPVwicGFkZGluZzogMC41cmVtIDAgMC41cmVtIDAuNXJlbVwiICpuZ0lmPVwic2hvd011bHRpVGltZUNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm11bHRpVGltZUNoZWNrYm94Q2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGN1c3RvbS1jb2x1bW4tY2hlY2tib3gtY2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0T3JVbnNlbGVjdE11bHRpVGltZUNoZWNrYm94KClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBjaGVja19ib3hcclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhbXVsdGlUaW1lQ2hlY2tib3hDaGVja2VkXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgY3VzdG9tLWNvbHVtbi1jaGVja2JveC11bmNoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE9yVW5zZWxlY3RNdWx0aVRpbWVDaGVja2JveCgpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgY2hlY2tfYm94X291dGxpbmVfYmxhbmtcclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8cCBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAycHhcIj5JbmNsdWRlIE11bHRpPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gWmVybyB0aW1lIG9wdGlvbiBjaGVja2JveCAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPVwicGFkZGluZzogMC41cmVtIDAgMC41cmVtIDAuNXJlbVwiICpuZ0lmPVwic2hvd1plcm9UaW1lQ2hlY2tib3hcIj5cclxuICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiemVyb1RpbWVDaGVja2JveENoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBjdXN0b20tY29sdW1uLWNoZWNrYm94LWNoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE9yVW5zZWxlY3RaZXJvVGltZUNoZWNrYm94KClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBjaGVja19ib3hcclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhemVyb1RpbWVDaGVja2JveENoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBjdXN0b20tY29sdW1uLWNoZWNrYm94LXVuY2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0T3JVbnNlbGVjdFplcm9UaW1lQ2hlY2tib3goKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIGNoZWNrX2JveF9vdXRsaW5lX2JsYW5rXHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHAgc3R5bGU9XCJtYXJnaW4tbGVmdDogMnB4XCI+SW5jbHVkZSBaZXJvPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gRW50ZXIgdGltZSByYW5nZSBvcHRpb24gY2hlY2tib3ggLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT1cInBhZGRpbmc6IDAuNXJlbSAwIDAuNXJlbSAwLjVyZW1cIiAqbmdJZj1cInNob3dFbnRlclRpbWVDaGVja2JveFwiPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJlbnRlclRpbWVDaGVja2JveENoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBjdXN0b20tY29sdW1uLWNoZWNrYm94LWNoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE9yVW5zZWxlY3RFbnRlclRpbWVDaGVja2JveCgpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgY2hlY2tfYm94XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWVudGVyVGltZUNoZWNrYm94Q2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGN1c3RvbS1jb2x1bW4tY2hlY2tib3gtdW5jaGVja2VkXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RPclVuc2VsZWN0RW50ZXJUaW1lQ2hlY2tib3goKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIGNoZWNrX2JveF9vdXRsaW5lX2JsYW5rXHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHAgc3R5bGU9XCJtYXJnaW4tbGVmdDogMnB4XCI+RW50ZXIgdGltZSByYW5nZTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRpbWUtbGFiZWwtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGxhYmVsPnt7c3RhcnRGcm9tVGV4dH19PC9sYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRpbWUtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIG51bWJlcklucHV0XCIgW25nQ2xhc3NdPVwieydlcnJvci1ib3JkZXInOiBzdGFydFRpbWVIb3VyRXJyfVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRGcm9tVGltZVswXVwiIHR5cGU9XCJ0ZXh0XCIgcGF0dGVybj1cIlsxLTEyXSpcIiAobmdNb2RlbENoYW5nZSk9XCJzdGFydFRpbWVIb3VyQ2hhbmdlKCRldmVudClcIiAvPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcnJvdy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJtZGkgbWRpLW1lbnUtdXAgdXB3YXJkXCIgKGNsaWNrKT1cImNoYW5nZVN0YXJ0VGltZUhvdXIodHJ1ZSlcIj48L2k+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwibWRpIG1kaS1tZW51LWRvd24gZG93bndhcmRcIiAoY2xpY2spPVwiY2hhbmdlU3RhcnRUaW1lSG91cihmYWxzZSlcIj48L2k+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkb3RcIj46PC9zcGFuPlxyXG4gICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBudW1iZXJJbnB1dFwiIFtuZ0NsYXNzXT1cInsnZXJyb3ItYm9yZGVyJzogc3RhcnRUaW1lTWluRXJyfVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRGcm9tVGltZVsxXVwiIHR5cGU9XCJ0ZXh0XCIgcGF0dGVybj1cIlswLTU5XSpcIiAobmdNb2RlbENoYW5nZSk9XCJzdGFydFRpbWVNaW5DaGFuZ2UoJGV2ZW50KVwiLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJyb3ctY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwibWRpIG1kaS1tZW51LXVwIHVwd2FyZFwiIChjbGljayk9XCJjaGFuZ2VTdGFydFRpbWVNaW51dGUodHJ1ZSlcIj48L2k+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwibWRpIG1kaS1tZW51LWRvd24gZG93bndhcmRcIiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTtsZWZ0OiAuMjVweDtcIiAoY2xpY2spPVwiY2hhbmdlU3RhcnRUaW1lTWludXRlKGZhbHNlKVwiPjwvaT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEZyb21UaW1lWzJdXCIgKG5nTW9kZWxDaGFuZ2UpPVwiZGlzYWJsZVRpbWVGaWx0ZXJBcHBseUJ1dHRvbigpXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJBTVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPkFNPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cclxuICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cIlBNXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+UE08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxyXG4gICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInRpbWUtbGFiZWwtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGxhYmVsPnt7ZW5kVG9UZXh0fX08L2xhYmVsPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGltZS1jb250YWluZXJcIj5cclxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbnVtYmVySW5wdXRcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkVG9UaW1lWzBdXCIgW25nQ2xhc3NdPVwieydlcnJvci1ib3JkZXInOiBlbmRUaW1lSG91ckVycn1cIiAobmdNb2RlbENoYW5nZSk9XCJlbmRUaW1lSG91ckNoYW5nZSgkZXZlbnQpXCIgdHlwZT1cInRleHRcInBhdHRlcm49XCJbMS0xMl0qXCIgLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJyb3ctY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwibWRpIG1kaS1tZW51LXVwIHVwd2FyZFwiIChjbGljayk9XCJjaGFuZ2VFbmRUaW1lSG91cih0cnVlKVwiPjwvaT5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJtZGkgbWRpLW1lbnUtZG93biBkb3dud2FyZFwiIChjbGljayk9XCJjaGFuZ2VFbmRUaW1lSG91cihmYWxzZSlcIj48L2k+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkb3RcIj46PC9zcGFuPlxyXG4gICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBudW1iZXJJbnB1dFwiIFtuZ0NsYXNzXT1cInsnZXJyb3ItYm9yZGVyJzogZW5kVGltZU1pbkVycn1cIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkVG9UaW1lWzFdXCIgKG5nTW9kZWxDaGFuZ2UpPVwiZW5kVGltZU1pbkNoYW5nZSgkZXZlbnQpXCIgdHlwZT1cInRleHRcInBhdHRlcm49XCJbMC01OV0qXCIgLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJyb3ctY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwibWRpIG1kaS1tZW51LXVwIHVwd2FyZFwiIChjbGljayk9XCJjaGFuZ2VFbmRUaW1lTWludXRlKHRydWUpXCI+PC9pPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cIm1kaSBtZGktbWVudS1kb3duIGRvd253YXJkXCIgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7bGVmdDogLjI1cHg7XCIgKGNsaWNrKT1cImNoYW5nZUVuZFRpbWVNaW51dGUoZmFsc2UpXCI+PC9pPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkVG9UaW1lWzJdXCIgKG5nTW9kZWxDaGFuZ2UpPVwiZGlzYWJsZVRpbWVGaWx0ZXJBcHBseUJ1dHRvbigpXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJBTVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPkFNPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cclxuICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cIlBNXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+UE08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxyXG4gICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGRpdiBjbGFzcz1cImJ1dHRvbnMtY29udGFpbmVyXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNsb3NlVGltZUZpbHRlcigpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJidXR0b25cIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVUaW1lRmlsdGVyQXBwbHlCdG4gfVwiXHJcbiAgICAgICAgKGNsaWNrKT1cImFwcGx5VGltZUZpbHRlcnMoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVUaW1lRmlsdGVyQXBwbHlCdG5cIlxyXG4gICAgPlxyXG4gICAgICAgIEFwcGx5XHJcbiAgICA8L2J1dHRvbj5cclxuPC9kaXY+Il19
278
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jb2x1bW4tdGltZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtY29sdW1uLWZpbHRlcnMvYW5uYS1jb2x1bW4tdGltZS1maWx0ZXIvYW5uYS1jb2x1bW4tdGltZS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtY29sdW1uLWZpbHRlcnMvYW5uYS1jb2x1bW4tdGltZS1maWx0ZXIvYW5uYS1jb2x1bW4tdGltZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFbEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDOzs7Ozs7Ozs7QUFTcEgsTUFBTSxPQUFPLDZCQUE2QjtJQTZDeEMsWUFDVSxlQUFnQyxFQUNqQyx5QkFBb0QsRUFDcEQsaUJBQW9DO1FBRm5DLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNqQyw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ3BELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUF2Q3BDLHVCQUFrQixHQUFVLElBQUksQ0FBQztR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QUF2QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNFLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0ssb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgY2xvbmVEZWVwLCBpc0VxdWFsIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xyXG5cclxuaW1wb3J0IHsgcmFkaW9CdXR0b25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL21vZGVscy9hbm5hLXRvb2x0aXAubW9kZWwnO1xyXG5pbXBvcnQgeyBTb3J0VHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL21vZGVscy9hbm5hLXNvcnQubW9kZWwnO1xyXG5pbXBvcnQgeyBBbm5hU29ydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLXNvcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEFubmFGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1maWx0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZSc7XHJcbmltcG9ydCB7IElHdEdlbmVyYWxDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9tb2RlbHMvYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FubmEtY29yZS1hbm5hLWNvbHVtbi10aW1lLWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FubmEtY29sdW1uLXRpbWUtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hbm5hLWNvbHVtbi10aW1lLWZpbHRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hQ29sdW1uVGltZUZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgdGFibGVEYXRhOiBhbnlbXTtcclxuICBASW5wdXQoKSBjbG9uZWRUYWJsZURhdGE6IGFueVtdO1xyXG4gIEBJbnB1dCgpIGZpbHRlclRhYk9iamVjdHM6IGFueVtdO1xyXG4gIEBJbnB1dCgpIHNob3dGaWx0ZXJIZWFkZXJUYWJzOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHNob3dBbGxUaW1lUmFuZ2VDaGVja2JveGVzOiBib29sZWFuOyBcclxuICBASW5wdXQoKSBpc0x1ckFuZENzckNvbXBvbmVudDogYm9vbGVhbjsgXHJcblxyXG4gIEBJbnB1dCgpIGd0R2VuZXJhbENvbmZpZzogSUd0R2VuZXJhbENvbmZpZztcclxuICBASW5wdXQoKSBzaG93Q2xlYXJBbGxGaWx0ZXI6Ym9vbGVhbiA9dHJ1ZTtcclxuICBASW5wdXQoKSBzdGFydEZyb21UZXh0OnN0cmluZz1cIkZyb21cIjtcclxuICBASW5wdXQoKSBlbmRUb1RleHQ6c3RyaW5nID1cIlRvXCI7XHJcbiAgQElucHV0KCkgaXNTb3J0QW5kRmlsdGVyUHJlc2VudDpib29sZWFuPWZhbHNlO1xyXG5AT3V0cHV0KCkgdGltZUNoYW5nZXM9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZmlsdGVyQXBwbGllZFRvVGFibGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNvcnRpbmdBcHBsaWVkVG9UYWJsZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZ2V0U29ydFR5cGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlVG9vbHRpcCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgaXNGaWx0ZXJDaGFuZ2VkOiBib29sZWFuO1xyXG4gIHRlbXBTb3J0T3JkZXI6IFNvcnRUeXBlID0gbnVsbDtcclxuICBpc1NvcnRDaGFuZ2VkOiBib29sZWFuO1xyXG4gIHNob3dTb3J0Q29tcG9uZW50OiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd0ZpbHRlckNvbXBvbmVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRpc2FibGVDb2x1bW5DbGVhckFsbEJ0bjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHN0YXJ0VGltZUhvdXJFcnI6IGJvb2xlYW47XHJcbiAgc3RhcnRUaW1lTWluRXJyOiBib29sZWFuO1xyXG4gIGVuZFRpbWVIb3VyRXJyOiBib29sZWFuO1xyXG4gIGVuZFRpbWVNaW5FcnI6IGJvb2xlYW47XHJcbiAgc2VsZWN0ZWRGcm9tVGltZTogYW55W107XHJcbiAgc2VsZWN0ZWRUb1RpbWU6IGFueVtdO1xyXG4gIGNsb25lZFNlbGVjdGVkRnJvbVRpbWU6IGFueTtcclxuICBjbG9uZWRTZWxlY3RlZFRvVGltZTogYW55O1xyXG4gIGRpc2FibGVUaW1lRmlsdGVyQXBwbHlCdG46IGJvb2xlYW47XHJcbiAgdGFibGVDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHRvdGFsUm93Q29sdW1uczogc3RyaW5nW10gPSBudWxsO1xyXG4gIHNob3dNdWx0aVRpbWVDaGVja2JveDogYm9vbGVhbjtcclxuICBzaG93WmVyb1RpbWVDaGVja2JveDogYm9vbGVhbjtcclxuICBzaG93RW50ZXJUaW1lQ2hlY2tib3g6IGJvb2xlYW47XHJcbiAgbXVsdGlUaW1lQ2hlY2tib3hDaGVja2VkOiBib29sZWFuO1xyXG4gIHplcm9UaW1lQ2hlY2tib3hDaGVja2VkOiBib29sZWFuO1xyXG4gIGVudGVyVGltZUNoZWNrYm94Q2hlY2tlZDogYm9vbGVhbjtcclxuICBiaW5kVmFsdWVGdW5jQ2FsbGVkOiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYW5uYVNvcnRTZXJ2aWNlOiBBbm5hU29ydFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZTogQW5uYURhdGVUaW1lRm9ybWF0U2VydmljZSxcclxuICAgIHB1YmxpYyBhbm5hRmlsdGVyU2VydmljZTogQW5uYUZpbHRlclNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucG9wdWxhdGVUb29sdGlwRGF0YUJhc2VkT25TZWxlY3RlZFJhZGlvKHRoaXMuZmlsdGVyVGFiT2JqZWN0c1swXSwgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVUb29sdGlwRGF0YUJhc2VkT25TZWxlY3RlZFJhZGlvKGFjdGl2ZVRhYjogcmFkaW9CdXR0b25Nb2RlbCwgcmVsb2FkOiBib29sZWFuKSB7XHJcbiAgICBsZXQgaGVhZGVyID0gYWN0aXZlVGFiLmtleTtcclxuICAgIFxyXG4gICAgdGhpcy5zaG93U29ydENvbXBvbmVudCA9IGFjdGl2ZVRhYi5pc1NvcnRSZXF1aXJlZDtcclxuICAgIHRoaXMuc2hvd0ZpbHRlckNvbXBvbmVudCA9IGFjdGl2ZVRhYi5pc0ZpbHRlclJlcXVpcmVkO1xyXG4gICAgXHJcbiAgICB0aGlzLnRlbXBTb3J0T3JkZXIgPSBudWxsO1xyXG4gICAgdGhpcy5pc0ZpbHRlckNoYW5nZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNTb3J0Q2hhbmdlZCA9IGZhbHNlO1xyXG5cclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2Uuc2VsZWN0ZWRSYWRpbyA9IGhlYWRlcjtcclxuICAgIHRoaXMuZGlzYWJsZUNvbHVtbkNsZWFyQWxsQnRuID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5kaXNhYmxlQWN0aXZlRmlsdGVyQ2xlYXJCdXR0b24oKTtcclxuXHJcbiAgICBpZihyZWxvYWQpe1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNyZWF0ZUZpbHRlclRvb2x0aXBEYXRhKGFjdGl2ZVRhYiwgaGVhZGVyKTtcclxuICAgICAgfSwgMTAwKTsgIFxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuY3JlYXRlRmlsdGVyVG9vbHRpcERhdGEoYWN0aXZlVGFiLCBoZWFkZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlRmlsdGVyVG9vbHRpcERhdGEoYWN0aXZlVGFiOiByYWRpb0J1dHRvbk1vZGVsLCBoZWFkZXI6IHN0cmluZykge1xyXG4gICAgdGhpcy5zaG93U29ydENvbXBvbmVudCA9IGFjdGl2ZVRhYi5pc1NvcnRSZXF1aXJlZDtcclxuICAgIHRoaXMuc2hvd0ZpbHRlckNvbXBvbmVudCA9IGFjdGl2ZVRhYi5pc0ZpbHRlclJlcXVpcmVkO1xyXG4gICAgXHJcbiAgICB0aGlzLmRpc2FibGVUaW1lRmlsdGVyQXBwbHlCdG4gPSB0cnVlO1xyXG4gICAgICBcclxuICAgIGlmICh0aGlzLnNob3dGaWx0ZXJDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5nZXRUaW1lRmlsdGVyRGF0YShoZWFkZXIpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG5cclxuICBnZXRUaW1lRmlsdGVyRGF0YShoZWFkZXI6IHN0cmluZyk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMuc3RhcnRUaW1lSG91ckVyciA9IHRoaXMuc3RhcnRUaW1lTWluRXJyID0gdGhpcy5lbmRUaW1lSG91ckVyciA9IHRoaXMuZW5kVGltZU1pbkVyciA9IGZhbHNlO1xyXG4gICAgXHJcbiAgICBpZih0aGlzLmlzU29ydEFuZEZpbHRlclByZXNlbnQpe1xyXG50aGlzLnNlbGVjdGVkRnJvbVRpbWU9dGhpcy5jbG9uZWRUYWJsZURhdGFbMF0udGltZVxyXG50aGlzLnNlbGVjdGVkVG9UaW1lPXRoaXMuY2xvbmVkVGFibGVEYXRhWzFdLnRpbWVcclxuICAgICAgdGhpcy5zZWxlY3RlZEZyb21UaW1lID0gQW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5mb3JtYXRUb1R3ZWx2ZUhycyh0aGlzLnNlbGVjdGVkRnJvbVRpbWUsIHRydWUpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVG9UaW1lID0gQW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5mb3JtYXRUb1R3ZWx2ZUhycyh0aGlzLnNlbGVjdGVkVG9UaW1lLCB0cnVlKTtcclxuICAgIH1cclxuICAgIGVsc2V7XHJcbiAgICAgIFt0aGlzLnNlbGVjdGVkRnJvbVRpbWUsIHRoaXMuc2VsZWN0ZWRUb1RpbWVdID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5nZXRTZWxlY3RlZFRpbWVSYW5nZShoZWFkZXIsIHRoaXMuY2xvbmVkVGFibGVEYXRhKTtcclxuICAgIH1cclxuIFxyXG4gICAgXHJcblxyXG4gICAgdGhpcy5jbG9uZWRTZWxlY3RlZEZyb21UaW1lID0gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRGcm9tVGltZSk7XHJcbiAgICB0aGlzLmNsb25lZFNlbGVjdGVkVG9UaW1lID0gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRUb1RpbWUpO1xyXG4gICAgXHJcbiAgICBsZXQgb3B0aW9uc0RhdGEgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmdldEZpbHRlck9wdGlvbnNEYXRhKHRoaXMudGFibGVEYXRhLCB0aGlzLmNsb25lZFRhYmxlRGF0YSk7XHJcbiAgICBcclxuICAgIGxldCBjaGVja2VkU2VsZWN0ZWRPYmogPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnNlbGVjdFVuc2VsZWN0VGltZUZpbHRlckNoZWNrYm94KGhlYWRlciwgb3B0aW9uc0RhdGEpO1xyXG5cclxuICAgIHRoaXMuc2hvd011bHRpVGltZUNoZWNrYm94ID0gY2hlY2tlZFNlbGVjdGVkT2JqLnNob3dNdWx0aVRpbWVDaGVja2JveDtcclxuICAgIHRoaXMuc2hvd1plcm9UaW1lQ2hlY2tib3ggPSBjaGVja2VkU2VsZWN0ZWRPYmouc2hvd1plcm9UaW1lQ2hlY2tib3g7XHJcbiAgICB0aGlzLnNob3dFbnRlclRpbWVDaGVja2JveCA9IGNoZWNrZWRTZWxlY3RlZE9iai5zaG93RW50ZXJUaW1lQ2hlY2tib3g7XHJcbiAgICB0aGlzLm11bHRpVGltZUNoZWNrYm94Q2hlY2tlZCA9IGNoZWNrZWRTZWxlY3RlZE9iai5tdWx0aVRpbWVDaGVja2JveENoZWNrZWQ7XHJcbiAgICB0aGlzLnplcm9UaW1lQ2hlY2tib3hDaGVja2VkID0gY2hlY2tlZFNlbGVjdGVkT2JqLnplcm9UaW1lQ2hlY2tib3hDaGVja2VkO1xyXG4gICAgdGhpcy5lbnRlclRpbWVDaGVja2JveENoZWNrZWQgPSBjaGVja2VkU2VsZWN0ZWRPYmouZW50ZXJUaW1lQ2hlY2tib3hDaGVja2VkOyAgICBcclxuICB9XHJcbiAgXHJcbiAgc2VsZWN0T3JVbnNlbGVjdE11bHRpVGltZUNoZWNrYm94KCkge1xyXG4gICAgdGhpcy5tdWx0aVRpbWVDaGVja2JveENoZWNrZWQgPSAhdGhpcy5tdWx0aVRpbWVDaGVja2JveENoZWNrZWQ7XHJcbiAgICB0aGlzLmRpc2FibGVUaW1lRmlsdGVyQXBwbHlCdXR0b24oKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdE9yVW5zZWxlY3RaZXJvVGltZUNoZWNrYm94KCkge1xyXG4gICAgdGhpcy56ZXJvVGltZUNoZWNrYm94Q2hlY2tlZCA9ICF0aGlzLnplcm9UaW1lQ2hlY2tib3hDaGVja2VkO1xyXG4gICAgdGhpcy5kaXNhYmxlVGltZUZpbHRlckFwcGx5QnV0dG9uKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RPclVuc2VsZWN0RW50ZXJUaW1lQ2hlY2tib3goKSB7XHJcbiAgICB0aGlzLmVudGVyVGltZUNoZWNrYm94Q2hlY2tlZCA9ICF0aGlzLmVudGVyVGltZUNoZWNrYm94Q2hlY2tlZDtcclxuICAgIHRoaXMuZGlzYWJsZVRpbWVGaWx0ZXJBcHBseUJ1dHRvbigpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tJZlRpbWVUb29sdGlwSXNGaWx0ZXJlZCgpIHtcclxuICAgIGxldCBwcmV2aW91c1NlbGVjdGVkVGltZUZpbHRlciA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuZ2V0UHJldmlvdXNTZWxlY3RlZFRpbWVGaWx0ZXIoKTtcclxuICAgIGxldCBjdXJyZW50U2VsZWN0ZWRUaW1lRmlsdGVyID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5nZXRDdXJyZW50U2VsZWN0ZWRUaW1lRmlsdGVyKHRoaXMuc2VsZWN0ZWRGcm9tVGltZSwgdGhpcy5zZWxlY3RlZFRvVGltZSwgdGhpcy5tdWx0aVRpbWVDaGVja2JveENoZWNrZWQsIHRoaXMuemVyb1RpbWVDaGVja2JveENoZWNrZWQsIHRoaXMuZW50ZXJUaW1lQ2hlY2tib3hDaGVja2VkKTtcclxuXHJcbiAgICB0aGlzLmlzRmlsdGVyQ2hhbmdlZCA9ICFpc0VxdWFsKHByZXZpb3VzU2VsZWN0ZWRUaW1lRmlsdGVyLCBjdXJyZW50U2VsZWN0ZWRUaW1lRmlsdGVyKTtcclxuICAgIHJldHVybiB0aGlzLmlzRmlsdGVyQ2hhbmdlZDtcclxuICB9XHJcblxyXG4gIGRpc2FibGVUaW1lRmlsdGVyQXBwbHlCdXR0b24oKSB7XHJcbiAgICBpZiAodGhpcy5zaG93RmlsdGVyQ29tcG9uZW50ICYmIHRoaXMuc2hvd1NvcnRDb21wb25lbnQpIHtcclxuICAgICAgbGV0IGlzRmlsdGVyQ2hhbmdlZCA9IHRoaXMuY2hlY2tJZlRpbWVUb29sdGlwSXNGaWx0ZXJlZCgpO1xyXG4gICAgICBsZXQgaXNTb3J0Q2hhbmdlZCA9IHRoaXMuY2hlY2tJZlNvcnRpbmdDaGFuZ2VkKCk7XHJcbiAgICAgIHRoaXMuZGlzYWJsZVRpbWVGaWx0ZXJBcHBseUJ0biA9ICF0aGlzLnZhbGlkYXRlVGltZUZpbHRlcklucHV0KCkgfHwgKCFpc1NvcnRDaGFuZ2VkICYmICFpc0ZpbHRlckNoYW5nZWQpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5zaG93RmlsdGVyQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMuZGlzYWJsZVRpbWVGaWx0ZXJBcHBseUJ0biA9ICF0aGlzLnZhbGlkYXRlVGltZUZpbHRlcklucHV0KCkgfHwgIXRoaXMuY2hlY2tJZlRpbWVUb29sdGlwSXNGaWx0ZXJlZCgpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5zaG93U29ydENvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLmRpc2FibGVUaW1lRmlsdGVyQXBwbHlCdG4gPSAhdGhpcy5jaGVja0lmU29ydGluZ0NoYW5nZWQoKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBjaGVja0lmU29ydGluZ0NoYW5nZWQoKXtcclxuICAgIHRoaXMuaXNTb3J0Q2hhbmdlZCA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuY2hlY2tJZlNvcnRpbmdDaGFuZ2VkKHRoaXMudGVtcFNvcnRPcmRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5pc1NvcnRDaGFuZ2VkO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVUaW1lRmlsdGVySW5wdXQoKSB7XHJcbiAgICBpZiAodGhpcy5zdGFydFRpbWVIb3VyRXJyIHx8IHRoaXMuc3RhcnRUaW1lTWluRXJyIHx8IHRoaXMuZW5kVGltZUhvdXJFcnIgfHwgdGhpcy5lbmRUaW1lTWluRXJyKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoKHRoaXMuc2hvd011bHRpVGltZUNoZWNrYm94ICYmICF0aGlzLm11bHRpVGltZUNoZWNrYm94Q2hlY2tlZCkgJiZcclxuICAgICAgKHRoaXMuc2hvd1plcm9UaW1lQ2hlY2tib3ggJiYgIXRoaXMuemVyb1RpbWVDaGVja2JveENoZWNrZWQpICYmXHJcbiAgICAgICh0aGlzLnNob3dFbnRlclRpbWVDaGVja2JveCAmJiAhdGhpcy5lbnRlclRpbWVDaGVja2JveENoZWNrZWQpKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gIXRoaXMuYW5uYUZpbHRlclNlcnZpY2UuY2hlY2tJZlN0YXJ0VGltZUlzQWZ0ZXJFbmRUaW1lKHRoaXMuc2VsZWN0ZWRGcm9tVGltZSwgdGhpcy5zZWxlY3RlZFRvVGltZSk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGFwcGx5VGltZUZpbHRlcnMoKSB7XHJcbiAgICBpZih0aGlzLmlzU29ydEFuZEZpbHRlclByZXNlbnQpe1xyXG4gICAgICBsZXQgdGltZVNlbGVjdGVkPVt0aGlzLnNlbGVjdGVkRnJvbVRpbWUsdGhpcy5zZWxlY3RlZFRvVGltZV1cclxuICAgICAgdGhpcy50aW1lQ2hhbmdlcy5lbWl0KHRpbWVTZWxlY3RlZClcclxuICAgIH1cclxuICAgIGVsc2V7XHJcbiAgICAgIHRoaXMuYXBwbHlUaW1lRmlsdGVyT25EYXRhKCk7XHJcbiAgICAgIHRoaXMuYXBwbHlTb3J0aW5nT25GaWx0ZXJlZERhdGEoKTtcclxuICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS51cGRhdGVTdGF0ZU9mQWxsVGhlS2V5cyh0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUpO1xyXG4gICAgICB0aGlzLmVtaXREYXRhKCk7XHJcbiAgICB9XHJcbiAgIFxyXG4gICAgdGhpcy5jbG9zZVRvb2x0aXAuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgZW1pdERhdGEoKSB7XHJcbiAgICBpZiAodGhpcy5pc0ZpbHRlckNoYW5nZWQgJiYgdGhpcy5pc1NvcnRDaGFuZ2VkKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyQXBwbGllZFRvVGFibGUuZW1pdCh0aGlzLnRhYmxlRGF0YSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNGaWx0ZXJDaGFuZ2VkKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyQXBwbGllZFRvVGFibGUuZW1pdCh0aGlzLnRhYmxlRGF0YSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNTb3J0Q2hhbmdlZCkge1xyXG4gICAgICB0aGlzLmdldFNvcnRUeXBlLmVtaXQodGhpcy50ZW1wU29ydE9yZGVyKTtcclxuICAgICAgdGhpcy5zb3J0aW5nQXBwbGllZFRvVGFibGUuZW1pdCh0aGlzLnRhYmxlRGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTdGFydFRpbWVIb3VyKGluY3JlbWVudDogYm9vbGVhbikge1xyXG4gICAgaWYgKCF0aGlzLnN0YXJ0VGltZUhvdXJFcnIpIHtcclxuICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5pbmNyZW1lbnRPckRlY3JlbWVudEhvdXIoaW5jcmVtZW50LCB0aGlzLnNlbGVjdGVkRnJvbVRpbWUpO1xyXG4gICAgICB0aGlzLnN0YXJ0VGltZUhvdXJDaGFuZ2UodGhpcy5zZWxlY3RlZEZyb21UaW1lWzBdLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hhbmdlRW5kVGltZUhvdXIoaW5jcmVtZW50OiBib29sZWFuKSB7XHJcbiAgICBpZiAoIXRoaXMuZW5kVGltZUhvdXJFcnIpIHtcclxuICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5pbmNyZW1lbnRPckRlY3JlbWVudEhvdXIoaW5jcmVtZW50LCB0aGlzLnNlbGVjdGVkVG9UaW1lKTtcclxuICAgICAgdGhpcy5lbmRUaW1lSG91ckNoYW5nZSh0aGlzLnNlbGVjdGVkVG9UaW1lWzBdLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hhbmdlRW5kVGltZU1pbnV0ZShpbmNyZW1lbnQ6IGJvb2xlYW4pIHtcclxuICAgIGlmICghdGhpcy5lbmRUaW1lTWluRXJyKSB7XHJcbiAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuaW5jcmVtZW50T3JEZWNyZW1lbnRNaW4oaW5jcmVtZW50LCB0aGlzLnNlbGVjdGVkVG9UaW1lKTtcclxuICAgICAgdGhpcy5lbmRUaW1lTWluQ2hhbmdlKHRoaXMuc2VsZWN0ZWRUb1RpbWVbMV0udG9TdHJpbmcoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTdGFydFRpbWVNaW51dGUoaW5jcmVtZW50OiBib29sZWFuKSB7XHJcbiAgICBpZiAoIXRoaXMuc3RhcnRUaW1lTWluRXJyKSB7XHJcbiAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuaW5jcmVtZW50T3JEZWNyZW1lbnRNaW4oaW5jcmVtZW50LCB0aGlzLnNlbGVjdGVkRnJvbVRpbWUpO1xyXG4gICAgICB0aGlzLnN0YXJ0VGltZU1pbkNoYW5nZSh0aGlzLnNlbGVjdGVkRnJvbVRpbWVbMV0udG9TdHJpbmcoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGFydFRpbWVIb3VyQ2hhbmdlKHZhbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnN0YXJ0VGltZUhvdXJFcnIgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmlzSG91clZhbHVlSW52YWxpZCh2YWwpO1xyXG4gICAgdGhpcy5kaXNhYmxlVGltZUZpbHRlckFwcGx5QnV0dG9uKCk7XHJcbiAgfVxyXG5cclxuICBzdGFydFRpbWVNaW5DaGFuZ2UodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc3RhcnRUaW1lTWluRXJyID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5pc01pbnV0ZVZhbHVlSW52YWxpZCh2YWwpO1xyXG4gICAgdGhpcy5kaXNhYmxlVGltZUZpbHRlckFwcGx5QnV0dG9uKCk7XHJcbiAgfVxyXG5cclxuICBlbmRUaW1lSG91ckNoYW5nZSh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5lbmRUaW1lSG91ckVyciA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuaXNIb3VyVmFsdWVJbnZhbGlkKHZhbCk7XHJcbiAgICB0aGlzLmRpc2FibGVUaW1lRmlsdGVyQXBwbHlCdXR0b24oKTtcclxuICB9XHJcblxyXG4gIGVuZFRpbWVNaW5DaGFuZ2UodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZW5kVGltZU1pbkVyciA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuaXNNaW51dGVWYWx1ZUludmFsaWQodmFsKTtcclxuICAgIHRoaXMuZGlzYWJsZVRpbWVGaWx0ZXJBcHBseUJ1dHRvbigpO1xyXG4gIH1cclxuXHJcbiAgYXBwbHlTb3J0aW5nT25GaWx0ZXJlZERhdGEoKXtcclxuICAgIGlmKHRoaXMuc2hvd1NvcnRDb21wb25lbnQpe1xyXG4gICAgICBpZih0aGlzLmlzU29ydENoYW5nZWQpe1xyXG4gICAgICAgIHRoaXMudGFibGVEYXRhID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS51cGRhdGVTb3J0TWFwKHRoaXMudGVtcFNvcnRPcmRlciwgdGhpcy50YWJsZURhdGEsIHRoaXMuaXNMdXJBbmRDc3JDb21wb25lbnQpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYodGhpcy5pc0ZpbHRlckNoYW5nZWQpe1xyXG4gICAgICAgIHRoaXMudGFibGVEYXRhID0gdGhpcy5hbm5hU29ydFNlcnZpY2UuY2hlY2tJZlNvcnRpbmdJc0FwcGxpZWQodGhpcy50YWJsZURhdGEsIHRoaXMuaXNMdXJBbmRDc3JDb21wb25lbnQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmKHRoaXMuaXNGaWx0ZXJDaGFuZ2VkKXtcclxuICAgICAgdGhpcy50YWJsZURhdGEgPSB0aGlzLmFubmFTb3J0U2VydmljZS5jaGVja0lmU29ydGluZ0lzQXBwbGllZCh0aGlzLnRhYmxlRGF0YSwgdGhpcy5pc0x1ckFuZENzckNvbXBvbmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhcHBseVRpbWVGaWx0ZXJPbkRhdGEoKSB7XHJcbiAgICBpZiAodGhpcy5zaG93RmlsdGVyQ29tcG9uZW50ICYmIHRoaXMuaXNGaWx0ZXJDaGFuZ2VkKSB7XHJcbiAgICAgIGxldCBjdXJyZW50U2VsZWN0ZWRUaW1lRmlsdGVyID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5nZXRDdXJyZW50U2VsZWN0ZWRUaW1lRmlsdGVyKHRoaXMuc2VsZWN0ZWRGcm9tVGltZSwgdGhpcy5zZWxlY3RlZFRvVGltZSwgdGhpcy5tdWx0aVRpbWVDaGVja2JveENoZWNrZWQsIHRoaXMuemVyb1RpbWVDaGVja2JveENoZWNrZWQsIHRoaXMuZW50ZXJUaW1lQ2hlY2tib3hDaGVja2VkKTtcclxuIFxyXG4gICAgICBsZXQgaXNGaWx0ZXJlZCA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UucmVPcmRlckFwcGxpZWRGaWx0ZXJzU3RhdGUodGhpcy5jbG9uZWRUYWJsZURhdGEsIGN1cnJlbnRTZWxlY3RlZFRpbWVGaWx0ZXIpO1xyXG4gICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnRvb2x0aXBTZWxlY3RlZE1hcC5zZXQodGhpcy5hbm5hRmlsdGVyU2VydmljZS5zZWxlY3RlZFJhZGlvLCBjdXJyZW50U2VsZWN0ZWRUaW1lRmlsdGVyKTtcclxuICAgICAgdGhpcy50YWJsZURhdGEgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmZpbHRlckRhdGEodGhpcy5jbG9uZWRUYWJsZURhdGEsIFwiXCIpO1xyXG5cclxuICAgICAgaWYgKCFpc0ZpbHRlcmVkKSB7XHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAuZGVsZXRlKHRoaXMuYW5uYUZpbHRlclNlcnZpY2Uuc2VsZWN0ZWRSYWRpbyk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2Uubm9Tb3J0aW5nQXBwbGllZERhdGEgPSBjbG9uZURlZXAodGhpcy50YWJsZURhdGEpO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlVGltZUZpbHRlcigpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGcm9tVGltZSA9IGNsb25lRGVlcCh0aGlzLmNsb25lZFNlbGVjdGVkRnJvbVRpbWUpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFRvVGltZSA9IGNsb25lRGVlcCh0aGlzLmNsb25lZFNlbGVjdGVkVG9UaW1lKTtcclxuICAgIHRoaXMuY2xvc2VUb29sdGlwLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGNsZWFyQ29sdW1uRmlsdGVyKCkge1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5jbGVhckNvbHVtbkZpbHRlcigpO1xyXG4gICAgdGhpcy50YWJsZURhdGEgPSBjbG9uZURlZXAodGhpcy5hbm5hRmlsdGVyU2VydmljZS5maWx0ZXJEYXRhKHRoaXMuY2xvbmVkVGFibGVEYXRhLCBcIlwiKSk7XHJcbiAgICB0aGlzLmFubmFTb3J0U2VydmljZS5ub1NvcnRpbmdBcHBsaWVkRGF0YSA9IHRoaXMudGFibGVEYXRhO1xyXG4gICAgdGhpcy50YWJsZURhdGEgPSB0aGlzLmFubmFTb3J0U2VydmljZS5jaGVja0lmU29ydGluZ0lzQXBwbGllZCh0aGlzLnRhYmxlRGF0YSwgdGhpcy5pc0x1ckFuZENzckNvbXBvbmVudCk7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnVwZGF0ZVN0YXRlT2ZUaGVDdXJyZW50RmlsdGVyVGFiKHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSk7XHJcbiAgICB0aGlzLmZpbHRlckFwcGxpZWRUb1RhYmxlLmVtaXQodGhpcy50YWJsZURhdGEpO1xyXG4gIH1cclxuXHJcbiAgc3RvcmVTb3J0VHlwZUluVGVtcFZhcmlhYmxlKGV2ZW50OiBTb3J0VHlwZSkge1xyXG4gICAgdGhpcy50ZW1wU29ydE9yZGVyID0gZXZlbnQ7XHJcbiAgICB0aGlzLmRpc2FibGVUaW1lRmlsdGVyQXBwbHlCdXR0b24oKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyYWRpby1jb250YWluZXJcIiAqbmdJZj1cInNob3dGaWx0ZXJIZWFkZXJUYWJzXCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkYXRhIG9mIGZpbHRlclRhYk9iamVjdHNcIj5cclxuICAgICAgICA8cCBjbGFzcz1cImZpbHRlci10YWJcIiBbdGl0bGVdPVwiZGF0YS5sYWJlbFwiIChjbGljayk9XCJwb3B1bGF0ZVRvb2x0aXBEYXRhQmFzZWRPblNlbGVjdGVkUmFkaW8oZGF0YSwgdHJ1ZSlcIiBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IGFubmFGaWx0ZXJTZXJ2aWNlLnNlbGVjdGVkUmFkaW8gPT0gZGF0YS5rZXl9XCIgKm5nSWY9XCJmaWx0ZXJUYWJPYmplY3RzLmxlbmd0aCA+IDBcIj57eyBkYXRhLmxhYmVsIH19PC9wPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGFubmEtY29yZS1zb3J0LWxpYiAqbmdJZj1cInNob3dTb3J0Q29tcG9uZW50XCIgW25nQ2xhc3NdPVwieyduby1ib3R0b20tYm9yZGVyJzogIXNob3dGaWx0ZXJDb21wb25lbnR9XCJcclxuKHNvcnRPcHRpb25DbGlja2VkKT1cInN0b3JlU29ydFR5cGVJblRlbXBWYXJpYWJsZSgkZXZlbnQpXCIgW3NvcnRPYmplY3RLZXldPVwiYW5uYUZpbHRlclNlcnZpY2Uuc2VsZWN0ZWRSYWRpb1wiPjwvYW5uYS1jb3JlLXNvcnQtbGliPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGaWx0ZXJDb21wb25lbnRcIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJjb2x1bW4tY2xlYXItYWxsXCIgKm5nSWY9XCJzaG93Q2xlYXJBbGxGaWx0ZXJcIiAgW2Rpc2FibGVkXT1cImRpc2FibGVDb2x1bW5DbGVhckFsbEJ0blwiIChjbGljayk9XCJjbGVhckNvbHVtbkZpbHRlcigpXCI+Q2xlYXIgZmlsdGVyPC9idXR0b24+XHJcbiAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJ0aW1lLWZpbHRlci1jaGVja2JveGVzXCJcclxuICAgICAgICAqbmdJZj1cInNob3dBbGxUaW1lUmFuZ2VDaGVja2JveGVzXCJcclxuICAgID5cclxuICAgICAgICA8IS0tIE11bHRpIHRpbWUgb3B0aW9uIGNoZWNrYm94IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9XCJwYWRkaW5nOiAwLjVyZW0gMCAwLjVyZW0gMC41cmVtXCIgKm5nSWY9XCJzaG93TXVsdGlUaW1lQ2hlY2tib3hcIj5cclxuICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICpuZ0lmPVwibXVsdGlUaW1lQ2hlY2tib3hDaGVja2VkXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgY3VzdG9tLWNvbHVtbi1jaGVja2JveC1jaGVja2VkXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RPclVuc2VsZWN0TXVsdGlUaW1lQ2hlY2tib3goKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIGNoZWNrX2JveFxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFtdWx0aVRpbWVDaGVja2JveENoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBjdXN0b20tY29sdW1uLWNoZWNrYm94LXVuY2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0T3JVbnNlbGVjdE11bHRpVGltZUNoZWNrYm94KClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBjaGVja19ib3hfb3V0bGluZV9ibGFua1xyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxwIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDJweFwiPkluY2x1ZGUgTXVsdGk8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSBaZXJvIHRpbWUgb3B0aW9uIGNoZWNrYm94IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9XCJwYWRkaW5nOiAwLjVyZW0gMCAwLjVyZW0gMC41cmVtXCIgKm5nSWY9XCJzaG93WmVyb1RpbWVDaGVja2JveFwiPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ6ZXJvVGltZUNoZWNrYm94Q2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGN1c3RvbS1jb2x1bW4tY2hlY2tib3gtY2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0T3JVbnNlbGVjdFplcm9UaW1lQ2hlY2tib3goKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIGNoZWNrX2JveFxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiF6ZXJvVGltZUNoZWNrYm94Q2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGN1c3RvbS1jb2x1bW4tY2hlY2tib3gtdW5jaGVja2VkXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RPclVuc2VsZWN0WmVyb1RpbWVDaGVja2JveCgpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgY2hlY2tfYm94X291dGxpbmVfYmxhbmtcclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8cCBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAycHhcIj5JbmNsdWRlIFplcm88L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSBFbnRlciB0aW1lIHJhbmdlIG9wdGlvbiBjaGVja2JveCAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPVwicGFkZGluZzogMC41cmVtIDAgMC41cmVtIDAuNXJlbVwiICpuZ0lmPVwic2hvd0VudGVyVGltZUNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImVudGVyVGltZUNoZWNrYm94Q2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGN1c3RvbS1jb2x1bW4tY2hlY2tib3gtY2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0T3JVbnNlbGVjdEVudGVyVGltZUNoZWNrYm94KClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBjaGVja19ib3hcclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhZW50ZXJUaW1lQ2hlY2tib3hDaGVja2VkXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgY3VzdG9tLWNvbHVtbi1jaGVja2JveC11bmNoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE9yVW5zZWxlY3RFbnRlclRpbWVDaGVja2JveCgpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgY2hlY2tfYm94X291dGxpbmVfYmxhbmtcclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8cCBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAycHhcIj5FbnRlciB0aW1lIHJhbmdlPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGltZS1sYWJlbC1jb250YWluZXJcIj5cclxuICAgICAgICA8bGFiZWw+e3tzdGFydEZyb21UZXh0fX08L2xhYmVsPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGltZS1jb250YWluZXJcIj5cclxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbnVtYmVySW5wdXRcIiBbbmdDbGFzc109XCJ7J2Vycm9yLWJvcmRlcic6IHN0YXJ0VGltZUhvdXJFcnJ9XCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEZyb21UaW1lWzBdXCIgdHlwZT1cInRleHRcIiBwYXR0ZXJuPVwiWzEtMTJdKlwiIChuZ01vZGVsQ2hhbmdlKT1cInN0YXJ0VGltZUhvdXJDaGFuZ2UoJGV2ZW50KVwiIC8+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFycm93LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cIm1kaSBtZGktbWVudS11cCB1cHdhcmRcIiAoY2xpY2spPVwiY2hhbmdlU3RhcnRUaW1lSG91cih0cnVlKVwiPjwvaT5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJtZGkgbWRpLW1lbnUtZG93biBkb3dud2FyZFwiIChjbGljayk9XCJjaGFuZ2VTdGFydFRpbWVIb3VyKGZhbHNlKVwiPjwvaT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImRvdFwiPjo8L3NwYW4+XHJcbiAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIG51bWJlcklucHV0XCIgW25nQ2xhc3NdPVwieydlcnJvci1ib3JkZXInOiBzdGFydFRpbWVNaW5FcnJ9XCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEZyb21UaW1lWzFdXCIgdHlwZT1cInRleHRcIiBwYXR0ZXJuPVwiWzAtNTldKlwiIChuZ01vZGVsQ2hhbmdlKT1cInN0YXJ0VGltZU1pbkNoYW5nZSgkZXZlbnQpXCIvPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcnJvdy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJtZGkgbWRpLW1lbnUtdXAgdXB3YXJkXCIgKGNsaWNrKT1cImNoYW5nZVN0YXJ0VGltZU1pbnV0ZSh0cnVlKVwiPjwvaT5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJtZGkgbWRpLW1lbnUtZG93biBkb3dud2FyZFwiIHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlO2xlZnQ6IC4yNXB4O1wiIChjbGljayk9XCJjaGFuZ2VTdGFydFRpbWVNaW51dGUoZmFsc2UpXCI+PC9pPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRnJvbVRpbWVbMl1cIiAobmdNb2RlbENoYW5nZSk9XCJkaXNhYmxlVGltZUZpbHRlckFwcGx5QnV0dG9uKClcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cIkFNXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+QU08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwiUE1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5QTTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XHJcbiAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwidGltZS1sYWJlbC1jb250YWluZXJcIj5cclxuICAgICAgICA8bGFiZWw+e3tlbmRUb1RleHR9fTwvbGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBudW1iZXJJbnB1dFwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRUb1RpbWVbMF1cIiBbbmdDbGFzc109XCJ7J2Vycm9yLWJvcmRlcic6IGVuZFRpbWVIb3VyRXJyfVwiIChuZ01vZGVsQ2hhbmdlKT1cImVuZFRpbWVIb3VyQ2hhbmdlKCRldmVudClcIiB0eXBlPVwidGV4dFwicGF0dGVybj1cIlsxLTEyXSpcIiAvPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcnJvdy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJtZGkgbWRpLW1lbnUtdXAgdXB3YXJkXCIgKGNsaWNrKT1cImNoYW5nZUVuZFRpbWVIb3VyKHRydWUpXCI+PC9pPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cIm1kaSBtZGktbWVudS1kb3duIGRvd253YXJkXCIgKGNsaWNrKT1cImNoYW5nZUVuZFRpbWVIb3VyKGZhbHNlKVwiPjwvaT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImRvdFwiPjo8L3NwYW4+XHJcbiAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIG51bWJlcklucHV0XCIgW25nQ2xhc3NdPVwieydlcnJvci1ib3JkZXInOiBlbmRUaW1lTWluRXJyfVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRUb1RpbWVbMV1cIiAobmdNb2RlbENoYW5nZSk9XCJlbmRUaW1lTWluQ2hhbmdlKCRldmVudClcIiB0eXBlPVwidGV4dFwicGF0dGVybj1cIlswLTU5XSpcIiAvPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcnJvdy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJtZGkgbWRpLW1lbnUtdXAgdXB3YXJkXCIgKGNsaWNrKT1cImNoYW5nZUVuZFRpbWVNaW51dGUodHJ1ZSlcIj48L2k+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwibWRpIG1kaS1tZW51LWRvd24gZG93bndhcmRcIiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTtsZWZ0OiAuMjVweDtcIiAoY2xpY2spPVwiY2hhbmdlRW5kVGltZU1pbnV0ZShmYWxzZSlcIj48L2k+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIFsobmdNb2RlbCldPVwic2VsZWN0ZWRUb1RpbWVbMl1cIiAobmdNb2RlbENoYW5nZSk9XCJkaXNhYmxlVGltZUZpbHRlckFwcGx5QnV0dG9uKClcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cIkFNXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+QU08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwiUE1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5QTTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XHJcbiAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48ZGl2IGNsYXNzPVwiYnV0dG9ucy1jb250YWluZXJcIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJidXR0b25cIiAoY2xpY2spPVwiY2xvc2VUaW1lRmlsdGVyKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgIDxidXR0b25cclxuICAgICAgICBjbGFzcz1cImJ1dHRvblwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZVRpbWVGaWx0ZXJBcHBseUJ0biB9XCJcclxuICAgICAgICAoY2xpY2spPVwiYXBwbHlUaW1lRmlsdGVycygpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZVRpbWVGaWx0ZXJBcHBseUJ0blwiXHJcbiAgICA+XHJcbiAgICAgICAgQXBwbHlcclxuICAgIDwvYnV0dG9uPlxyXG48L2Rpdj4iXX0=
@@ -2639,7 +2639,6 @@ class AnnaColumnTimeFilterComponent {
2639
2639
  }
2640
2640
  getTimeFilterData(header) {
2641
2641
  this.startTimeHourErr = this.startTimeMinErr = this.endTimeHourErr = this.endTimeMinErr = false;
2642
- console.log("first ", this.clonedTableData);
2643
2642
  if (this.isSortAndFilterPresent) {
2644
2643
  this.selectedFromTime = this.clonedTableData[0].time;
2645
2644
  this.selectedToTime = this.clonedTableData[1].time;
@@ -2649,7 +2648,6 @@ class AnnaColumnTimeFilterComponent {
2649
2648
  else {
2650
2649
  [this.selectedFromTime, this.selectedToTime] = this.annaFilterService.getSelectedTimeRange(header, this.clonedTableData);
2651
2650
  }
2652
- console.log("After:", this.selectedFromTime, this.selectedToTime);
2653
2651
  this.clonedSelectedFromTime = cloneDeep(this.selectedFromTime);
2654
2652
  this.clonedSelectedToTime = cloneDeep(this.selectedToTime);
2655
2653
  let optionsData = this.annaFilterService.getFilterOptionsData(this.tableData, this.clonedTableData);