@alauda/ui 6.3.1-beta.8 → 6.3.2-beta

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 (89) hide show
  1. package/checkbox/checkbox-group/checkbox-group.component.d.ts +0 -1
  2. package/checkbox/checkbox.component.d.ts +0 -1
  3. package/color-picker/color-picker.component.d.ts +0 -1
  4. package/esm2020/accordion/accordion-item/accordion-item.component.mjs +3 -3
  5. package/esm2020/accordion/accordion.component.mjs +2 -2
  6. package/esm2020/anchor/anchor.component.mjs +3 -3
  7. package/esm2020/autocomplete/autocomplete.component.mjs +2 -2
  8. package/esm2020/autocomplete/suggestion/suggestion.component.mjs +2 -2
  9. package/esm2020/autocomplete/suggestion-group/suggestion-group.component.mjs +2 -2
  10. package/esm2020/back-top/back-top.component.mjs +2 -2
  11. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +2 -2
  12. package/esm2020/breadcrumb/breadcrumb.component.mjs +2 -2
  13. package/esm2020/button/button-group/button-group.component.mjs +2 -2
  14. package/esm2020/button/button.component.mjs +2 -2
  15. package/esm2020/card/card.component.mjs +2 -2
  16. package/esm2020/card/section.component.mjs +2 -2
  17. package/esm2020/checkbox/checkbox-group/checkbox-group.component.mjs +3 -6
  18. package/esm2020/checkbox/checkbox.component.mjs +13 -15
  19. package/esm2020/color-picker/color-picker.component.mjs +4 -8
  20. package/esm2020/date-picker/calendar/date-picker-panel/component.mjs +5 -5
  21. package/esm2020/date-picker/calendar/footer/component.mjs +2 -2
  22. package/esm2020/date-picker/calendar/header/component.mjs +2 -2
  23. package/esm2020/date-picker/calendar/panel/picker-panel.mjs +2 -2
  24. package/esm2020/date-picker/calendar/range-picker-panel/component.mjs +5 -5
  25. package/esm2020/date-picker/calendar/util.mjs +5 -2
  26. package/esm2020/date-picker/date-picker/date-picker.component.mjs +4 -4
  27. package/esm2020/date-picker/range-picker/range-picker.component.mjs +4 -4
  28. package/esm2020/date-picker/trigger/trigger.component.mjs +2 -2
  29. package/esm2020/dialog/confirm-dialog/confirm-dialog.component.mjs +2 -2
  30. package/esm2020/dialog/dialog.component.mjs +2 -2
  31. package/esm2020/drawer/component/drawer.component.mjs +2 -2
  32. package/esm2020/dropdown/dropdown-button/dropdown-button.component.mjs +2 -2
  33. package/esm2020/dropdown/menu/menu.component.mjs +2 -2
  34. package/esm2020/dropdown/menu-group/menu-group.component.mjs +2 -2
  35. package/esm2020/dropdown/menu-item/menu-item.component.mjs +2 -2
  36. package/esm2020/dropdown/submenu/submenu.component.mjs +2 -2
  37. package/esm2020/form/common-form.mjs +15 -15
  38. package/esm2020/form/form-item/form-item.component.mjs +2 -2
  39. package/esm2020/icon/icon.component.mjs +2 -2
  40. package/esm2020/inline-alert/inline-alert.component.mjs +2 -2
  41. package/esm2020/input/input-group/input-group.component.mjs +2 -2
  42. package/esm2020/input/input.component.mjs +2 -2
  43. package/esm2020/input/number-input/number-input.component.mjs +8 -8
  44. package/esm2020/input/search/search.component.mjs +2 -2
  45. package/esm2020/input/tags-input/tags-input.component.mjs +16 -21
  46. package/esm2020/message/message-wrapper.component.mjs +2 -2
  47. package/esm2020/message/message.component.mjs +3 -3
  48. package/esm2020/notification/notification-wrapper.component.mjs +2 -2
  49. package/esm2020/notification/notification.component.mjs +3 -3
  50. package/esm2020/paginator/paginator.component.mjs +2 -2
  51. package/esm2020/radio/base-radio.mjs +2 -2
  52. package/esm2020/radio/radio-button/radio-button.component.mjs +2 -2
  53. package/esm2020/radio/radio-group/radio-group.component.mjs +2 -5
  54. package/esm2020/radio/radio.component.mjs +2 -2
  55. package/esm2020/select/multi-select/multi-select.component.mjs +33 -30
  56. package/esm2020/select/option/option.component.mjs +2 -2
  57. package/esm2020/select/option-group/option-group.component.mjs +2 -2
  58. package/esm2020/select/select.component.mjs +9 -9
  59. package/esm2020/sort/sort-header.component.mjs +2 -2
  60. package/esm2020/status-bar/status-bar.component.mjs +2 -2
  61. package/esm2020/steps/steps.component.mjs +2 -2
  62. package/esm2020/switch/switch.component.mjs +4 -7
  63. package/esm2020/table/table.component.mjs +2 -2
  64. package/esm2020/tabs/tab-group.component.mjs +2 -2
  65. package/esm2020/tabs/tab-header.component.mjs +2 -2
  66. package/esm2020/tag/check-tag/check-tag.component.mjs +2 -2
  67. package/esm2020/tag/tag.component.mjs +2 -2
  68. package/esm2020/time-picker/component.mjs +4 -4
  69. package/esm2020/time-picker/panel/panel.component.mjs +8 -8
  70. package/esm2020/time-picker/time-picker.type.mjs +3 -3
  71. package/esm2020/tooltip/tooltip.component.mjs +2 -2
  72. package/esm2020/tree-select/tree-select.component.mjs +11 -11
  73. package/fesm2015/alauda-ui.mjs +236 -247
  74. package/fesm2015/alauda-ui.mjs.map +1 -1
  75. package/fesm2020/alauda-ui.mjs +236 -247
  76. package/fesm2020/alauda-ui.mjs.map +1 -1
  77. package/form/common-form.d.ts +13 -16
  78. package/input/number-input/number-input.component.d.ts +1 -1
  79. package/input/tags-input/tags-input.component.d.ts +2 -6
  80. package/package.json +1 -1
  81. package/radio/radio-group/radio-group.component.d.ts +0 -1
  82. package/select/multi-select/multi-select.component.d.ts +4 -3
  83. package/select/select.component.d.ts +1 -1
  84. package/switch/switch.component.d.ts +0 -1
  85. package/theme/_base-var.scss +1 -112
  86. package/theme/_mixin.scss +5 -5
  87. package/theme/_var.scss +23 -295
  88. package/theme/style.css +0 -16
  89. package/tree-select/tree-select.component.d.ts +1 -1
@@ -65,7 +65,7 @@ export class DatePickerPanelComponent extends CommonFormControl {
65
65
  }
66
66
  }
67
67
  confirmValue(value, closeAfterConfirm = true) {
68
- this.emitValueChange(value ? dayjs(value) : this.selectedDate);
68
+ this.emitValue(value ? dayjs(value) : this.selectedDate);
69
69
  closeAfterConfirm && this.confirm.next(null);
70
70
  }
71
71
  timeDateChange(time) {
@@ -73,7 +73,7 @@ export class DatePickerPanelComponent extends CommonFormControl {
73
73
  return;
74
74
  }
75
75
  this.selectedDate = updateDateByTimeModel(this.selectedDate, time);
76
- this.emitValueChange(this.selectedDate);
76
+ this.emitValue(this.selectedDate);
77
77
  }
78
78
  setToday() {
79
79
  this.confirmValue(dayjs(), true);
@@ -86,7 +86,7 @@ DatePickerPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
86
86
  useExisting: forwardRef(() => DatePickerPanelComponent),
87
87
  multi: true,
88
88
  },
89
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"aui-date-picker-panel__wrapper\">\n <aui-calendar-header\n [dateNavRange]=\"navRange\"\n [anchor]=\"anchor\"\n [minAvail]=\"minDate\"\n [maxAvail]=\"maxDate\"\n [style.margin-inline.px]=\"4\"\n (navRangeChange)=\"navRange = $event\"\n (anchorChange)=\"anchor = $event\"\n ></aui-calendar-header>\n\n <aui-picker-panel\n [style.margin]=\"'16px 0'\"\n [anchor]=\"anchor\"\n [navRange]=\"navRange\"\n [disabledDate]=\"disabledDate\"\n [weekStartDay]=\"weekStartDay\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [type]=\"type\"\n [matchDates]=\"[selectedDate]\"\n (select)=\"panelValueChange($event)\"\n ></aui-picker-panel>\n\n <ng-container\n *ngIf=\"extraFooter\"\n [ngTemplateOutlet]=\"extraFooter\"\n [ngTemplateOutletContext]=\"{ context: this }\"\n ></ng-container>\n\n <ng-container *ngIf=\"showFooter\">\n <aui-calendar-footer\n (clear)=\"clear.next()\"\n (confirm)=\"confirmValue()\"\n [clearable]=\"clearable\"\n [clearText]=\"clearText\"\n *ngIf=\"showTime; else today\"\n >\n <ng-container\n *ngIf=\"footerTemplate; else default\"\n [ngTemplateOutlet]=\"footerTemplate\"\n [ngTemplateOutletContext]=\"{ context: this }\"\n ></ng-container>\n\n <ng-template #default>\n <aui-time-picker\n *ngIf=\"currentNavType === DatePickerType.Day && showTime\"\n [showIcon]=\"false\"\n size=\"small\"\n [(ngModel)]=\"selectedTime\"\n [disableHours]=\"getDisabledTimeFn(selectedDate, 'hours')\"\n [disableMinutes]=\"getDisabledTimeFn(selectedDate, 'minutes')\"\n [disableSeconds]=\"getDisabledTimeFn(selectedDate, 'seconds')\"\n tooltipPosition=\"top start\"\n (ngModelChange)=\"timeDateChange($event)\"\n [placeholder]=\"'select_time' | auiI18n\"\n ></aui-time-picker>\n </ng-template>\n </aui-calendar-footer>\n\n <ng-template #today>\n <aui-calendar-footer\n *ngIf=\"type === DatePickerType.Day\"\n [clearable]=\"false\"\n [customAction]=\"todayBtn\"\n >\n </aui-calendar-footer>\n <ng-template #todayBtn>\n <button aui-button=\"inline\" (click)=\"setToday()\">\n {{ 'today' | auiI18n }}\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n</div>\n", styles: ["@charset \"UTF-8\";.aui-date-picker-panel__wrapper{display:flex;flex-direction:column;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m)}.aui-date-picker-panel__wrapper .aui-time-picker{width:88px}\n"], components: [{ type: i1.CalendarHeaderComponent, selector: "aui-calendar-header", inputs: ["dateNavRange", "anchor", "maxAvail", "minAvail"], outputs: ["navRangeChange", "anchorChange"] }, { type: i2.PickerPanelComponent, selector: "aui-picker-panel", inputs: ["navRange", "type", "anchor", "matchDates", "disabledDate", "weekStartDay", "minDate", "maxDate"], outputs: ["select", "hovered"] }, { type: i3.CalendarFooterComponent, selector: "aui-calendar-footer", inputs: ["clearable", "clearText", "customAction"], outputs: ["confirm", "clear"] }, { type: i4.TimePickerComponent, selector: "aui-time-picker", inputs: ["format", "size", "placeholder", "clearable", "showIcon", "disableHours", "disableMinutes", "disableSeconds", "hourStep", "minuteStep", "secondStep", "footerTemplate"], outputs: ["open", "close"] }, { type: i5.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "auiI18n": i8.I18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
89
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"aui-date-picker-panel__wrapper\">\n <aui-calendar-header\n [dateNavRange]=\"navRange\"\n [anchor]=\"anchor\"\n [minAvail]=\"minDate\"\n [maxAvail]=\"maxDate\"\n [style.margin-inline.px]=\"4\"\n (navRangeChange)=\"navRange = $event\"\n (anchorChange)=\"anchor = $event\"\n ></aui-calendar-header>\n\n <aui-picker-panel\n [style.margin]=\"'16px 0'\"\n [anchor]=\"anchor\"\n [navRange]=\"navRange\"\n [disabledDate]=\"disabledDate\"\n [weekStartDay]=\"weekStartDay\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [type]=\"type\"\n [matchDates]=\"[selectedDate]\"\n (select)=\"panelValueChange($event)\"\n ></aui-picker-panel>\n\n <ng-container\n *ngIf=\"extraFooter\"\n [ngTemplateOutlet]=\"extraFooter\"\n [ngTemplateOutletContext]=\"{ context: this }\"\n ></ng-container>\n\n <ng-container *ngIf=\"showFooter\">\n <aui-calendar-footer\n (clear)=\"clear.next()\"\n (confirm)=\"confirmValue()\"\n [clearable]=\"clearable\"\n [clearText]=\"clearText\"\n *ngIf=\"showTime; else today\"\n >\n <ng-container\n *ngIf=\"footerTemplate; else default\"\n [ngTemplateOutlet]=\"footerTemplate\"\n [ngTemplateOutletContext]=\"{ context: this }\"\n ></ng-container>\n\n <ng-template #default>\n <aui-time-picker\n *ngIf=\"currentNavType === DatePickerType.Day && showTime\"\n [showIcon]=\"false\"\n size=\"small\"\n [(ngModel)]=\"selectedTime\"\n [disableHours]=\"getDisabledTimeFn(selectedDate, 'hours')\"\n [disableMinutes]=\"getDisabledTimeFn(selectedDate, 'minutes')\"\n [disableSeconds]=\"getDisabledTimeFn(selectedDate, 'seconds')\"\n tooltipPosition=\"top start\"\n (ngModelChange)=\"timeDateChange($event)\"\n [placeholder]=\"'select_time' | auiI18n\"\n ></aui-time-picker>\n </ng-template>\n </aui-calendar-footer>\n\n <ng-template #today>\n <aui-calendar-footer\n *ngIf=\"type === DatePickerType.Day\"\n [clearable]=\"false\"\n [customAction]=\"todayBtn\"\n >\n </aui-calendar-footer>\n <ng-template #todayBtn>\n <button aui-button=\"inline\" (click)=\"setToday()\">\n {{ 'today' | auiI18n }}\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n</div>\n", styles: [".aui-date-picker-panel__wrapper{display:flex;flex-direction:column;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m)}.aui-date-picker-panel__wrapper .aui-time-picker{width:88px}\n"], components: [{ type: i1.CalendarHeaderComponent, selector: "aui-calendar-header", inputs: ["dateNavRange", "anchor", "maxAvail", "minAvail"], outputs: ["navRangeChange", "anchorChange"] }, { type: i2.PickerPanelComponent, selector: "aui-picker-panel", inputs: ["navRange", "type", "anchor", "matchDates", "disabledDate", "weekStartDay", "minDate", "maxDate"], outputs: ["select", "hovered"] }, { type: i3.CalendarFooterComponent, selector: "aui-calendar-footer", inputs: ["clearable", "clearText", "customAction"], outputs: ["confirm", "clear"] }, { type: i4.TimePickerComponent, selector: "aui-time-picker", inputs: ["format", "size", "placeholder", "clearable", "showIcon", "disableHours", "disableMinutes", "disableSeconds", "hourStep", "minuteStep", "secondStep", "footerTemplate"], outputs: ["open", "close"] }, { type: i5.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "auiI18n": i8.I18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
90
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DatePickerPanelComponent, decorators: [{
91
91
  type: Component,
92
92
  args: [{ selector: 'aui-date-picker-panel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
@@ -95,7 +95,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
95
95
  useExisting: forwardRef(() => DatePickerPanelComponent),
96
96
  multi: true,
97
97
  },
98
- ], template: "<div class=\"aui-date-picker-panel__wrapper\">\n <aui-calendar-header\n [dateNavRange]=\"navRange\"\n [anchor]=\"anchor\"\n [minAvail]=\"minDate\"\n [maxAvail]=\"maxDate\"\n [style.margin-inline.px]=\"4\"\n (navRangeChange)=\"navRange = $event\"\n (anchorChange)=\"anchor = $event\"\n ></aui-calendar-header>\n\n <aui-picker-panel\n [style.margin]=\"'16px 0'\"\n [anchor]=\"anchor\"\n [navRange]=\"navRange\"\n [disabledDate]=\"disabledDate\"\n [weekStartDay]=\"weekStartDay\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [type]=\"type\"\n [matchDates]=\"[selectedDate]\"\n (select)=\"panelValueChange($event)\"\n ></aui-picker-panel>\n\n <ng-container\n *ngIf=\"extraFooter\"\n [ngTemplateOutlet]=\"extraFooter\"\n [ngTemplateOutletContext]=\"{ context: this }\"\n ></ng-container>\n\n <ng-container *ngIf=\"showFooter\">\n <aui-calendar-footer\n (clear)=\"clear.next()\"\n (confirm)=\"confirmValue()\"\n [clearable]=\"clearable\"\n [clearText]=\"clearText\"\n *ngIf=\"showTime; else today\"\n >\n <ng-container\n *ngIf=\"footerTemplate; else default\"\n [ngTemplateOutlet]=\"footerTemplate\"\n [ngTemplateOutletContext]=\"{ context: this }\"\n ></ng-container>\n\n <ng-template #default>\n <aui-time-picker\n *ngIf=\"currentNavType === DatePickerType.Day && showTime\"\n [showIcon]=\"false\"\n size=\"small\"\n [(ngModel)]=\"selectedTime\"\n [disableHours]=\"getDisabledTimeFn(selectedDate, 'hours')\"\n [disableMinutes]=\"getDisabledTimeFn(selectedDate, 'minutes')\"\n [disableSeconds]=\"getDisabledTimeFn(selectedDate, 'seconds')\"\n tooltipPosition=\"top start\"\n (ngModelChange)=\"timeDateChange($event)\"\n [placeholder]=\"'select_time' | auiI18n\"\n ></aui-time-picker>\n </ng-template>\n </aui-calendar-footer>\n\n <ng-template #today>\n <aui-calendar-footer\n *ngIf=\"type === DatePickerType.Day\"\n [clearable]=\"false\"\n [customAction]=\"todayBtn\"\n >\n </aui-calendar-footer>\n <ng-template #todayBtn>\n <button aui-button=\"inline\" (click)=\"setToday()\">\n {{ 'today' | auiI18n }}\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n</div>\n", styles: ["@charset \"UTF-8\";.aui-date-picker-panel__wrapper{display:flex;flex-direction:column;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m)}.aui-date-picker-panel__wrapper .aui-time-picker{width:88px}\n"] }]
98
+ ], template: "<div class=\"aui-date-picker-panel__wrapper\">\n <aui-calendar-header\n [dateNavRange]=\"navRange\"\n [anchor]=\"anchor\"\n [minAvail]=\"minDate\"\n [maxAvail]=\"maxDate\"\n [style.margin-inline.px]=\"4\"\n (navRangeChange)=\"navRange = $event\"\n (anchorChange)=\"anchor = $event\"\n ></aui-calendar-header>\n\n <aui-picker-panel\n [style.margin]=\"'16px 0'\"\n [anchor]=\"anchor\"\n [navRange]=\"navRange\"\n [disabledDate]=\"disabledDate\"\n [weekStartDay]=\"weekStartDay\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [type]=\"type\"\n [matchDates]=\"[selectedDate]\"\n (select)=\"panelValueChange($event)\"\n ></aui-picker-panel>\n\n <ng-container\n *ngIf=\"extraFooter\"\n [ngTemplateOutlet]=\"extraFooter\"\n [ngTemplateOutletContext]=\"{ context: this }\"\n ></ng-container>\n\n <ng-container *ngIf=\"showFooter\">\n <aui-calendar-footer\n (clear)=\"clear.next()\"\n (confirm)=\"confirmValue()\"\n [clearable]=\"clearable\"\n [clearText]=\"clearText\"\n *ngIf=\"showTime; else today\"\n >\n <ng-container\n *ngIf=\"footerTemplate; else default\"\n [ngTemplateOutlet]=\"footerTemplate\"\n [ngTemplateOutletContext]=\"{ context: this }\"\n ></ng-container>\n\n <ng-template #default>\n <aui-time-picker\n *ngIf=\"currentNavType === DatePickerType.Day && showTime\"\n [showIcon]=\"false\"\n size=\"small\"\n [(ngModel)]=\"selectedTime\"\n [disableHours]=\"getDisabledTimeFn(selectedDate, 'hours')\"\n [disableMinutes]=\"getDisabledTimeFn(selectedDate, 'minutes')\"\n [disableSeconds]=\"getDisabledTimeFn(selectedDate, 'seconds')\"\n tooltipPosition=\"top start\"\n (ngModelChange)=\"timeDateChange($event)\"\n [placeholder]=\"'select_time' | auiI18n\"\n ></aui-time-picker>\n </ng-template>\n </aui-calendar-footer>\n\n <ng-template #today>\n <aui-calendar-footer\n *ngIf=\"type === DatePickerType.Day\"\n [clearable]=\"false\"\n [customAction]=\"todayBtn\"\n >\n </aui-calendar-footer>\n <ng-template #todayBtn>\n <button aui-button=\"inline\" (click)=\"setToday()\">\n {{ 'today' | auiI18n }}\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n</div>\n", styles: [".aui-date-picker-panel__wrapper{display:flex;flex-direction:column;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m)}.aui-date-picker-panel__wrapper .aui-time-picker{width:88px}\n"] }]
99
99
  }], propDecorators: { clearable: [{
100
100
  type: Input
101
101
  }], clearText: [{
@@ -125,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
125
125
  }], clear: [{
126
126
  type: Output
127
127
  }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2NhbGVuZGFyL2RhdGUtcGlja2VyLXBhbmVsL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9jYWxlbmRhci9kYXRlLXBpY2tlci1wYW5lbC90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLGlCQUFpQixFQUNqQixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxLQUE0QixNQUFNLE9BQU8sQ0FBQztBQUVqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsWUFBWSxFQUFrQixNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YscUJBQXFCLEdBQ3RCLE1BQU0sU0FBUyxDQUFDOzs7Ozs7Ozs7O0FBZ0JqQixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsaUJBQXdCO0lBZHRFOztRQWdCRSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBa0JqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLGlCQUFZLEdBQWlELEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUd6RSxpQkFBWSxHQUFtQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFHMUMsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFHakIsZUFBVSxHQUFHLElBQUksQ0FBQztRQWVs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dHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBkYXlqcywgeyBDb25maWdUeXBlLCBEYXlqcyB9IGZyb20gJ2RheWpzJztcblxuaW1wb3J0IHsgQ29tbW9uRm9ybUNvbnRyb2wgfSBmcm9tICcuLi8uLi8uLi9mb3JtL2NvbW1vbi1mb3JtJztcbmltcG9ydCB7IFRpbWVQaWNrZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLnR5cGUnO1xuaW1wb3J0IHsgRGF0ZU5hdlJhbmdlLCBEaXNhYmxlZFRpbWVGbiB9IGZyb20gJy4uLy4uL2RhdGUtcGlja2VyLnR5cGUnO1xuaW1wb3J0IHsgRGF0ZVBpY2tlclR5cGUgfSBmcm9tICcuLi9jb25zdGFudCc7XG5pbXBvcnQge1xuICBnZXROYXZSYW5nZUJ5VHlwZSxcbiAgZ2V0VGltZVBpY2tlck1vZGVsLFxuICBnZXRUeXBlQnlOYXZSYW5nZSxcbiAgbmV4dE5hdlJhbmdlVHlwZSxcbiAgdXBkYXRlRGF0ZSxcbiAgdXBkYXRlRGF0ZUJ5VGltZU1vZGVsLFxufSBmcm9tICcuLi91dGlsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLWRhdGUtcGlja2VyLXBhbmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVQaWNrZXJQYW5lbENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBDb21tb25Gb3JtQ29udHJvbDxEYXlqcz4ge1xuICBASW5wdXQoKVxuICBjbGVhcmFibGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGNsZWFyVGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB0eXBlKHR5cGU6IERhdGVQaWNrZXJUeXBlKSB7XG4gICAgdGhpcy5uYXZSYW5nZSA9IGdldE5hdlJhbmdlQnlUeXBlKHR5cGUpO1xuICAgIHRoaXMuX3R5cGUgPSB0eXBlO1xuICB9XG5cbiAgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cblxuICBwcml2YXRlIF90eXBlOiBEYXRlUGlja2VyVHlwZTtcblxuICBASW5wdXQoKVxuICBzaG93VGltZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkRGF0ZTogKGRhdGU6IERheWpzLCB0eXBlOiBEYXRlTmF2UmFuZ2UpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZFRpbWU6IERpc2FibGVkVGltZUZuID0gKCkgPT4gbnVsbDtcblxuICBASW5wdXQoKVxuICB3ZWVrU3RhcnREYXkgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dGb290ZXIgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKVxuICBleHRyYUZvb3RlcjogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgbWluRGF0ZTogRGF5anM7XG5cbiAgQElucHV0KClcbiAgbWF4RGF0ZTogRGF5anM7XG5cbiAgQE91dHB1dCgpXG4gIGNvbmZpcm0gPSBuZXcgRXZlbnRFbWl0dGVyPERheWpzPigpO1xuXG4gIEBPdXRwdXQoKVxuICBjbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcml2YXRlIF9jYWNoZVNlbGVjdGVkRGF0ZTogRGF5anM7XG4gIHByaXZhdGUgX2NhY2hlRGlzYWJsZWRUaW1lRm46IFJldHVyblR5cGU8RGlzYWJsZWRUaW1lRm4+O1xuXG4gIGdldERpc2FibGVkVGltZUZuKFxuICAgIHNlbGVjdGVkRGF0ZTogRGF5anMsXG4gICAgdHlwZToga2V5b2YgUmV0dXJuVHlwZTxEaXNhYmxlZFRpbWVGbj4sXG4gICkge1xuICAgIGlmIChzZWxlY3RlZERhdGUgIT09IHRoaXMuX2NhY2hlU2VsZWN0ZWREYXRlKSB7XG4gICAgICB0aGlzLl9jYWNoZURpc2FibGVkVGltZUZuID0gdGhpcy5kaXNhYmxlZFRpbWUoc2VsZWN0ZWREYXRlKTtcbiAgICAgIHRoaXMuX2NhY2hlU2VsZWN0ZWREYXRlID0gc2VsZWN0ZWREYXRlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY2FjaGVEaXNhYmxlZFRpbWVGbj8uW3R5cGVdO1xuICB9XG5cbiAgbmF2UmFuZ2U6IERhdGVOYXZSYW5nZTtcblxuICBnZXQgY3VycmVudE5hdlR5cGUoKSB7XG4gICAgcmV0dXJuIGdldFR5cGVCeU5hdlJhbmdlKHRoaXMubmF2UmFuZ2UpO1xuICB9XG5cbiAgYW5jaG9yOiBEYXlqcztcblxuICBzZWxlY3RlZERhdGU6IERheWpzO1xuXG4gIHNlbGVjdGVkVGltZTogVGltZVBpY2tlck1vZGVsO1xuXG4gIERhdGVOYXZSYW5nZSA9IERhdGVOYXZSYW5nZTtcbiAgRGF0ZVBpY2tlclR5cGUgPSBEYXRlUGlja2VyVHlwZTtcblxuICBvdmVycmlkZSB3cml0ZVZhbHVlKG9iajogRGF5anMpIHtcbiAgICBzdXBlci53cml0ZVZhbHVlKG9iaik7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBvYmo7XG4gICAgdGhpcy5zZWxlY3RlZFRpbWUgPSBnZXRUaW1lUGlja2VyTW9kZWwob2JqKTtcbiAgICB0aGlzLmFuY2hvciA9IG9iaiB8fCBkYXlqcygpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcGFuZWxWYWx1ZUNoYW5nZSh2YWx1ZTogRGF5anMpIHtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHVwZGF0ZURhdGUoXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSB8fCBkYXlqcygpLFxuICAgICAgdmFsdWUsXG4gICAgICB0aGlzLmN1cnJlbnROYXZUeXBlLFxuICAgICk7XG4gICAgdGhpcy5hbmNob3IgPSB0aGlzLnNlbGVjdGVkRGF0ZTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHVwZGF0ZURhdGVCeVRpbWVNb2RlbChcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLFxuICAgICAgdGhpcy5zZWxlY3RlZFRpbWUsXG4gICAgKTtcbiAgICBpZiAodGhpcy50eXBlID09PSB0aGlzLmN1cnJlbnROYXZUeXBlKSB7XG4gICAgICB0aGlzLmNvbmZpcm1WYWx1ZSh0aGlzLnNlbGVjdGVkRGF0ZSwgIXRoaXMuc2hvd1RpbWUpO1xuICAgIH1cbiAgICBjb25zdCBuZXh0TmF2UmFuZ2UgPSBuZXh0TmF2UmFuZ2VUeXBlKFxuICAgICAgdGhpcy5uYXZSYW5nZSxcbiAgICAgIGdldE5hdlJhbmdlQnlUeXBlKHRoaXMudHlwZSksXG4gICAgKTtcbiAgICBpZiAodGhpcy5uYXZSYW5nZSAhPT0gbmV4dE5hdlJhbmdlKSB7XG4gICAgICB0aGlzLm5hdlJhbmdlID0gbmV4dE5hdlJhbmdlO1xuICAgIH1cbiAgfVxuXG4gIGNvbmZpcm1WYWx1ZSh2YWx1ZT86IENvbmZpZ1R5cGUsIGNsb3NlQWZ0ZXJDb25maXJtID0gdHJ1ZSkge1xuICAgIHRoaXMuZW1pdFZhbHVlQ2hhbmdlKHZhbHVlID8gZGF5anModmFsdWUpIDogdGhpcy5zZWxlY3RlZERhdGUpO1xuICAgIGNsb3NlQWZ0ZXJDb25maXJtICYmIHRoaXMuY29uZmlybS5uZXh0KG51bGwpO1xuICB9XG5cbiAgdGltZURhdGVDaGFuZ2UodGltZTogVGltZVBpY2tlck1vZGVsKSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRGF0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHVwZGF0ZURhdGVCeVRpbWVNb2RlbCh0aGlzLnNlbGVjdGVkRGF0ZSwgdGltZSk7XG4gICAgdGhpcy5lbWl0VmFsdWVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGUpO1xuICB9XG5cbiAgc2V0VG9kYXkoKSB7XG4gICAgdGhpcy5jb25maXJtVmFsdWUoZGF5anMoKSwgdHJ1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhdWktZGF0ZS1waWNrZXItcGFuZWxfX3dyYXBwZXJcIj5cbiAgPGF1aS1jYWxlbmRhci1oZWFkZXJcbiAgICBbZGF0ZU5hdlJhbmdlXT1cIm5hdlJhbmdlXCJcbiAgICBbYW5jaG9yXT1cImFuY2hvclwiXG4gICAgW21pbkF2YWlsXT1cIm1pbkRhdGVcIlxuICAgIFttYXhBdmFpbF09XCJtYXhEYXRlXCJcbiAgICBbc3R5bGUubWFyZ2luLWlubGluZS5weF09XCI0XCJcbiAgICAobmF2UmFuZ2VDaGFuZ2UpPVwibmF2UmFuZ2UgPSAkZXZlbnRcIlxuICAgIChhbmNob3JDaGFuZ2UpPVwiYW5jaG9yID0gJGV2ZW50XCJcbiAgPjwvYXVpLWNhbGVuZGFyLWhlYWRlcj5cblxuICA8YXVpLXBpY2tlci1wYW5lbFxuICAgIFtzdHlsZS5tYXJnaW5dPVwiJzE2cHggMCdcIlxuICAgIFthbmNob3JdPVwiYW5jaG9yXCJcbiAgICBbbmF2UmFuZ2VdPVwibmF2UmFuZ2VcIlxuICAgIFtkaXNhYmxlZERhdGVdPVwiZGlzYWJsZWREYXRlXCJcbiAgICBbd2Vla1N0YXJ0RGF5XT1cIndlZWtTdGFydERheVwiXG4gICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgW3R5cGVdPVwidHlwZVwiXG4gICAgW21hdGNoRGF0ZXNdPVwiW3NlbGVjdGVkRGF0ZV1cIlxuICAgIChzZWxlY3QpPVwicGFuZWxWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgPjwvYXVpLXBpY2tlci1wYW5lbD5cblxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJleHRyYUZvb3RlclwiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZXh0cmFGb290ZXJcIlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGNvbnRleHQ6IHRoaXMgfVwiXG4gID48L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0Zvb3RlclwiPlxuICAgIDxhdWktY2FsZW5kYXItZm9vdGVyXG4gICAgICAoY2xlYXIpPVwiY2xlYXIubmV4dCgpXCJcbiAgICAgIChjb25maXJtKT1cImNvbmZpcm1WYWx1ZSgpXCJcbiAgICAgIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcbiAgICAgIFtjbGVhclRleHRdPVwiY2xlYXJUZXh0XCJcbiAgICAgICpuZ0lmPVwic2hvd1RpbWU7IGVsc2UgdG9kYXlcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJmb290ZXJUZW1wbGF0ZTsgZWxzZSBkZWZhdWx0XCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyVGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBjb250ZXh0OiB0aGlzIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHQ+XG4gICAgICAgIDxhdWktdGltZS1waWNrZXJcbiAgICAgICAgICAqbmdJZj1cImN1cnJlbnROYXZUeXBlID09PSBEYXRlUGlja2VyVHlwZS5EYXkgJiYgc2hvd1RpbWVcIlxuICAgICAgICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkVGltZVwiXG4gICAgICAgICAgW2Rpc2FibGVIb3Vyc109XCJnZXREaXNhYmxlZFRpbWVGbihzZWxlY3RlZERhdGUsICdob3VycycpXCJcbiAgICAgICAgICBbZGlzYWJsZU1pbnV0ZXNdPVwiZ2V0RGlzYWJsZWRUaW1lRm4oc2VsZWN0ZWREYXRlLCAnbWludXRlcycpXCJcbiAgICAgICAgICBbZGlzYWJsZVNlY29uZHNdPVwiZ2V0RGlzYWJsZWRUaW1lRm4oc2VsZWN0ZWREYXRlLCAnc2Vjb25kcycpXCJcbiAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3Agc3RhcnRcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInRpbWVEYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VsZWN0X3RpbWUnIHwgYXVpSTE4blwiXG4gICAgICAgID48L2F1aS10aW1lLXBpY2tlcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9hdWktY2FsZW5kYXItZm9vdGVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICN0b2RheT5cbiAgICAgIDxhdWktY2FsZW5kYXItZm9vdGVyXG4gICAgICAgICpuZ0lmPVwidHlwZSA9PT0gRGF0ZVBpY2tlclR5cGUuRGF5XCJcbiAgICAgICAgW2NsZWFyYWJsZV09XCJmYWxzZVwiXG4gICAgICAgIFtjdXN0b21BY3Rpb25dPVwidG9kYXlCdG5cIlxuICAgICAgPlxuICAgICAgPC9hdWktY2FsZW5kYXItZm9vdGVyPlxuICAgICAgPG5nLXRlbXBsYXRlICN0b2RheUJ0bj5cbiAgICAgICAgPGJ1dHRvbiBhdWktYnV0dG9uPVwiaW5saW5lXCIgKGNsaWNrKT1cInNldFRvZGF5KClcIj5cbiAgICAgICAgICB7eyAndG9kYXknIHwgYXVpSTE4biB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2NhbGVuZGFyL2RhdGUtcGlja2VyLXBhbmVsL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9jYWxlbmRhci9kYXRlLXBpY2tlci1wYW5lbC90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLGlCQUFpQixFQUNqQixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxLQUE0QixNQUFNLE9BQU8sQ0FBQztBQUVqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsWUFBWSxFQUFrQixNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YscUJBQXFCLEdBQ3RCLE1BQU0sU0FBUyxDQUFDOzs7Ozs7Ozs7O0FBZ0JqQixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsaUJBQXdCO0lBZHRFOztRQWdCRSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBa0JqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLGlCQUFZLEdBQWlELEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUd6RSxpQkFBWSxHQUFtQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFHMUMsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFHakIsZUFBVSxHQUFHLElBQUksQ0FBQztRQWVs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dHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBkYXlqcywgeyBDb25maWdUeXBlLCBEYXlqcyB9IGZyb20gJ2RheWpzJztcblxuaW1wb3J0IHsgQ29tbW9uRm9ybUNvbnRyb2wgfSBmcm9tICcuLi8uLi8uLi9mb3JtL2NvbW1vbi1mb3JtJztcbmltcG9ydCB7IFRpbWVQaWNrZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLnR5cGUnO1xuaW1wb3J0IHsgRGF0ZU5hdlJhbmdlLCBEaXNhYmxlZFRpbWVGbiB9IGZyb20gJy4uLy4uL2RhdGUtcGlja2VyLnR5cGUnO1xuaW1wb3J0IHsgRGF0ZVBpY2tlclR5cGUgfSBmcm9tICcuLi9jb25zdGFudCc7XG5pbXBvcnQge1xuICBnZXROYXZSYW5nZUJ5VHlwZSxcbiAgZ2V0VGltZVBpY2tlck1vZGVsLFxuICBnZXRUeXBlQnlOYXZSYW5nZSxcbiAgbmV4dE5hdlJhbmdlVHlwZSxcbiAgdXBkYXRlRGF0ZSxcbiAgdXBkYXRlRGF0ZUJ5VGltZU1vZGVsLFxufSBmcm9tICcuLi91dGlsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLWRhdGUtcGlja2VyLXBhbmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVQaWNrZXJQYW5lbENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBDb21tb25Gb3JtQ29udHJvbDxEYXlqcz4ge1xuICBASW5wdXQoKVxuICBjbGVhcmFibGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGNsZWFyVGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB0eXBlKHR5cGU6IERhdGVQaWNrZXJUeXBlKSB7XG4gICAgdGhpcy5uYXZSYW5nZSA9IGdldE5hdlJhbmdlQnlUeXBlKHR5cGUpO1xuICAgIHRoaXMuX3R5cGUgPSB0eXBlO1xuICB9XG5cbiAgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cblxuICBwcml2YXRlIF90eXBlOiBEYXRlUGlja2VyVHlwZTtcblxuICBASW5wdXQoKVxuICBzaG93VGltZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkRGF0ZTogKGRhdGU6IERheWpzLCB0eXBlOiBEYXRlTmF2UmFuZ2UpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZFRpbWU6IERpc2FibGVkVGltZUZuID0gKCkgPT4gbnVsbDtcblxuICBASW5wdXQoKVxuICB3ZWVrU3RhcnREYXkgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dGb290ZXIgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKVxuICBleHRyYUZvb3RlcjogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgbWluRGF0ZTogRGF5anM7XG5cbiAgQElucHV0KClcbiAgbWF4RGF0ZTogRGF5anM7XG5cbiAgQE91dHB1dCgpXG4gIGNvbmZpcm0gPSBuZXcgRXZlbnRFbWl0dGVyPERheWpzPigpO1xuXG4gIEBPdXRwdXQoKVxuICBjbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcml2YXRlIF9jYWNoZVNlbGVjdGVkRGF0ZTogRGF5anM7XG4gIHByaXZhdGUgX2NhY2hlRGlzYWJsZWRUaW1lRm46IFJldHVyblR5cGU8RGlzYWJsZWRUaW1lRm4+O1xuXG4gIGdldERpc2FibGVkVGltZUZuKFxuICAgIHNlbGVjdGVkRGF0ZTogRGF5anMsXG4gICAgdHlwZToga2V5b2YgUmV0dXJuVHlwZTxEaXNhYmxlZFRpbWVGbj4sXG4gICkge1xuICAgIGlmIChzZWxlY3RlZERhdGUgIT09IHRoaXMuX2NhY2hlU2VsZWN0ZWREYXRlKSB7XG4gICAgICB0aGlzLl9jYWNoZURpc2FibGVkVGltZUZuID0gdGhpcy5kaXNhYmxlZFRpbWUoc2VsZWN0ZWREYXRlKTtcbiAgICAgIHRoaXMuX2NhY2hlU2VsZWN0ZWREYXRlID0gc2VsZWN0ZWREYXRlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY2FjaGVEaXNhYmxlZFRpbWVGbj8uW3R5cGVdO1xuICB9XG5cbiAgbmF2UmFuZ2U6IERhdGVOYXZSYW5nZTtcblxuICBnZXQgY3VycmVudE5hdlR5cGUoKSB7XG4gICAgcmV0dXJuIGdldFR5cGVCeU5hdlJhbmdlKHRoaXMubmF2UmFuZ2UpO1xuICB9XG5cbiAgYW5jaG9yOiBEYXlqcztcblxuICBzZWxlY3RlZERhdGU6IERheWpzO1xuXG4gIHNlbGVjdGVkVGltZTogVGltZVBpY2tlck1vZGVsO1xuXG4gIERhdGVOYXZSYW5nZSA9IERhdGVOYXZSYW5nZTtcbiAgRGF0ZVBpY2tlclR5cGUgPSBEYXRlUGlja2VyVHlwZTtcblxuICBvdmVycmlkZSB3cml0ZVZhbHVlKG9iajogRGF5anMpIHtcbiAgICBzdXBlci53cml0ZVZhbHVlKG9iaik7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBvYmo7XG4gICAgdGhpcy5zZWxlY3RlZFRpbWUgPSBnZXRUaW1lUGlja2VyTW9kZWwob2JqKTtcbiAgICB0aGlzLmFuY2hvciA9IG9iaiB8fCBkYXlqcygpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcGFuZWxWYWx1ZUNoYW5nZSh2YWx1ZTogRGF5anMpIHtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHVwZGF0ZURhdGUoXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSB8fCBkYXlqcygpLFxuICAgICAgdmFsdWUsXG4gICAgICB0aGlzLmN1cnJlbnROYXZUeXBlLFxuICAgICk7XG4gICAgdGhpcy5hbmNob3IgPSB0aGlzLnNlbGVjdGVkRGF0ZTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHVwZGF0ZURhdGVCeVRpbWVNb2RlbChcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLFxuICAgICAgdGhpcy5zZWxlY3RlZFRpbWUsXG4gICAgKTtcbiAgICBpZiAodGhpcy50eXBlID09PSB0aGlzLmN1cnJlbnROYXZUeXBlKSB7XG4gICAgICB0aGlzLmNvbmZpcm1WYWx1ZSh0aGlzLnNlbGVjdGVkRGF0ZSwgIXRoaXMuc2hvd1RpbWUpO1xuICAgIH1cbiAgICBjb25zdCBuZXh0TmF2UmFuZ2UgPSBuZXh0TmF2UmFuZ2VUeXBlKFxuICAgICAgdGhpcy5uYXZSYW5nZSxcbiAgICAgIGdldE5hdlJhbmdlQnlUeXBlKHRoaXMudHlwZSksXG4gICAgKTtcbiAgICBpZiAodGhpcy5uYXZSYW5nZSAhPT0gbmV4dE5hdlJhbmdlKSB7XG4gICAgICB0aGlzLm5hdlJhbmdlID0gbmV4dE5hdlJhbmdlO1xuICAgIH1cbiAgfVxuXG4gIGNvbmZpcm1WYWx1ZSh2YWx1ZT86IENvbmZpZ1R5cGUsIGNsb3NlQWZ0ZXJDb25maXJtID0gdHJ1ZSkge1xuICAgIHRoaXMuZW1pdFZhbHVlKHZhbHVlID8gZGF5anModmFsdWUpIDogdGhpcy5zZWxlY3RlZERhdGUpO1xuICAgIGNsb3NlQWZ0ZXJDb25maXJtICYmIHRoaXMuY29uZmlybS5uZXh0KG51bGwpO1xuICB9XG5cbiAgdGltZURhdGVDaGFuZ2UodGltZTogVGltZVBpY2tlck1vZGVsKSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRGF0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHVwZGF0ZURhdGVCeVRpbWVNb2RlbCh0aGlzLnNlbGVjdGVkRGF0ZSwgdGltZSk7XG4gICAgdGhpcy5lbWl0VmFsdWUodGhpcy5zZWxlY3RlZERhdGUpO1xuICB9XG5cbiAgc2V0VG9kYXkoKSB7XG4gICAgdGhpcy5jb25maXJtVmFsdWUoZGF5anMoKSwgdHJ1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhdWktZGF0ZS1waWNrZXItcGFuZWxfX3dyYXBwZXJcIj5cbiAgPGF1aS1jYWxlbmRhci1oZWFkZXJcbiAgICBbZGF0ZU5hdlJhbmdlXT1cIm5hdlJhbmdlXCJcbiAgICBbYW5jaG9yXT1cImFuY2hvclwiXG4gICAgW21pbkF2YWlsXT1cIm1pbkRhdGVcIlxuICAgIFttYXhBdmFpbF09XCJtYXhEYXRlXCJcbiAgICBbc3R5bGUubWFyZ2luLWlubGluZS5weF09XCI0XCJcbiAgICAobmF2UmFuZ2VDaGFuZ2UpPVwibmF2UmFuZ2UgPSAkZXZlbnRcIlxuICAgIChhbmNob3JDaGFuZ2UpPVwiYW5jaG9yID0gJGV2ZW50XCJcbiAgPjwvYXVpLWNhbGVuZGFyLWhlYWRlcj5cblxuICA8YXVpLXBpY2tlci1wYW5lbFxuICAgIFtzdHlsZS5tYXJnaW5dPVwiJzE2cHggMCdcIlxuICAgIFthbmNob3JdPVwiYW5jaG9yXCJcbiAgICBbbmF2UmFuZ2VdPVwibmF2UmFuZ2VcIlxuICAgIFtkaXNhYmxlZERhdGVdPVwiZGlzYWJsZWREYXRlXCJcbiAgICBbd2Vla1N0YXJ0RGF5XT1cIndlZWtTdGFydERheVwiXG4gICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgW3R5cGVdPVwidHlwZVwiXG4gICAgW21hdGNoRGF0ZXNdPVwiW3NlbGVjdGVkRGF0ZV1cIlxuICAgIChzZWxlY3QpPVwicGFuZWxWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgPjwvYXVpLXBpY2tlci1wYW5lbD5cblxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJleHRyYUZvb3RlclwiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZXh0cmFGb290ZXJcIlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGNvbnRleHQ6IHRoaXMgfVwiXG4gID48L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0Zvb3RlclwiPlxuICAgIDxhdWktY2FsZW5kYXItZm9vdGVyXG4gICAgICAoY2xlYXIpPVwiY2xlYXIubmV4dCgpXCJcbiAgICAgIChjb25maXJtKT1cImNvbmZpcm1WYWx1ZSgpXCJcbiAgICAgIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcbiAgICAgIFtjbGVhclRleHRdPVwiY2xlYXJUZXh0XCJcbiAgICAgICpuZ0lmPVwic2hvd1RpbWU7IGVsc2UgdG9kYXlcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJmb290ZXJUZW1wbGF0ZTsgZWxzZSBkZWZhdWx0XCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyVGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBjb250ZXh0OiB0aGlzIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHQ+XG4gICAgICAgIDxhdWktdGltZS1waWNrZXJcbiAgICAgICAgICAqbmdJZj1cImN1cnJlbnROYXZUeXBlID09PSBEYXRlUGlja2VyVHlwZS5EYXkgJiYgc2hvd1RpbWVcIlxuICAgICAgICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkVGltZVwiXG4gICAgICAgICAgW2Rpc2FibGVIb3Vyc109XCJnZXREaXNhYmxlZFRpbWVGbihzZWxlY3RlZERhdGUsICdob3VycycpXCJcbiAgICAgICAgICBbZGlzYWJsZU1pbnV0ZXNdPVwiZ2V0RGlzYWJsZWRUaW1lRm4oc2VsZWN0ZWREYXRlLCAnbWludXRlcycpXCJcbiAgICAgICAgICBbZGlzYWJsZVNlY29uZHNdPVwiZ2V0RGlzYWJsZWRUaW1lRm4oc2VsZWN0ZWREYXRlLCAnc2Vjb25kcycpXCJcbiAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3Agc3RhcnRcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInRpbWVEYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VsZWN0X3RpbWUnIHwgYXVpSTE4blwiXG4gICAgICAgID48L2F1aS10aW1lLXBpY2tlcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9hdWktY2FsZW5kYXItZm9vdGVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICN0b2RheT5cbiAgICAgIDxhdWktY2FsZW5kYXItZm9vdGVyXG4gICAgICAgICpuZ0lmPVwidHlwZSA9PT0gRGF0ZVBpY2tlclR5cGUuRGF5XCJcbiAgICAgICAgW2NsZWFyYWJsZV09XCJmYWxzZVwiXG4gICAgICAgIFtjdXN0b21BY3Rpb25dPVwidG9kYXlCdG5cIlxuICAgICAgPlxuICAgICAgPC9hdWktY2FsZW5kYXItZm9vdGVyPlxuICAgICAgPG5nLXRlbXBsYXRlICN0b2RheUJ0bj5cbiAgICAgICAgPGJ1dHRvbiBhdWktYnV0dG9uPVwiaW5saW5lXCIgKGNsaWNrKT1cInNldFRvZGF5KClcIj5cbiAgICAgICAgICB7eyAndG9kYXknIHwgYXVpSTE4biB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
@@ -11,10 +11,10 @@ export class CalendarFooterComponent {
11
11
  }
12
12
  }
13
13
  CalendarFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CalendarFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- CalendarFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: CalendarFooterComponent, selector: "aui-calendar-footer", inputs: { clearable: "clearable", clearText: "clearText", customAction: "customAction" }, outputs: { confirm: "confirm", clear: "clear" }, ngImport: i0, template: "<div class=\"aui-calendar-footer__wrapper\">\n <div style=\"flex: 1\">\n <ng-content></ng-content>\n </div>\n <div>\n <ng-container\n *ngIf=\"customAction; else default\"\n [ngTemplateOutlet]=\"customAction\"\n >\n </ng-container>\n <ng-template #default>\n <button\n aui-button=\"text\"\n *ngIf=\"clearable\"\n (click)=\"clear.emit()\"\n size=\"small\"\n >\n {{ clearText || ('clear' | auiI18n) }}\n </button>\n <button aui-button=\"primary\" (click)=\"confirm.emit()\" size=\"small\">\n {{ 'confirm' | auiI18n }}\n </button>\n </ng-template>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.aui-calendar-footer__wrapper{display:flex;flex-direction:row;justify-content:space-between;border-top:1px solid rgb(var(--aui-color-n-8));padding:8px 0 0}\n"], components: [{ type: i1.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "auiI18n": i3.I18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
14
+ CalendarFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: CalendarFooterComponent, selector: "aui-calendar-footer", inputs: { clearable: "clearable", clearText: "clearText", customAction: "customAction" }, outputs: { confirm: "confirm", clear: "clear" }, ngImport: i0, template: "<div class=\"aui-calendar-footer__wrapper\">\n <div style=\"flex: 1\">\n <ng-content></ng-content>\n </div>\n <div>\n <ng-container\n *ngIf=\"customAction; else default\"\n [ngTemplateOutlet]=\"customAction\"\n >\n </ng-container>\n <ng-template #default>\n <button\n aui-button=\"text\"\n *ngIf=\"clearable\"\n (click)=\"clear.emit()\"\n size=\"small\"\n >\n {{ clearText || ('clear' | auiI18n) }}\n </button>\n <button aui-button=\"primary\" (click)=\"confirm.emit()\" size=\"small\">\n {{ 'confirm' | auiI18n }}\n </button>\n </ng-template>\n </div>\n</div>\n", styles: [".aui-calendar-footer__wrapper{display:flex;flex-direction:row;justify-content:space-between;border-top:1px solid rgb(var(--aui-color-n-8));padding:8px 0 0}\n"], components: [{ type: i1.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "auiI18n": i3.I18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CalendarFooterComponent, decorators: [{
16
16
  type: Component,
17
- args: [{ selector: 'aui-calendar-footer', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"aui-calendar-footer__wrapper\">\n <div style=\"flex: 1\">\n <ng-content></ng-content>\n </div>\n <div>\n <ng-container\n *ngIf=\"customAction; else default\"\n [ngTemplateOutlet]=\"customAction\"\n >\n </ng-container>\n <ng-template #default>\n <button\n aui-button=\"text\"\n *ngIf=\"clearable\"\n (click)=\"clear.emit()\"\n size=\"small\"\n >\n {{ clearText || ('clear' | auiI18n) }}\n </button>\n <button aui-button=\"primary\" (click)=\"confirm.emit()\" size=\"small\">\n {{ 'confirm' | auiI18n }}\n </button>\n </ng-template>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.aui-calendar-footer__wrapper{display:flex;flex-direction:row;justify-content:space-between;border-top:1px solid rgb(var(--aui-color-n-8));padding:8px 0 0}\n"] }]
17
+ args: [{ selector: 'aui-calendar-footer', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"aui-calendar-footer__wrapper\">\n <div style=\"flex: 1\">\n <ng-content></ng-content>\n </div>\n <div>\n <ng-container\n *ngIf=\"customAction; else default\"\n [ngTemplateOutlet]=\"customAction\"\n >\n </ng-container>\n <ng-template #default>\n <button\n aui-button=\"text\"\n *ngIf=\"clearable\"\n (click)=\"clear.emit()\"\n size=\"small\"\n >\n {{ clearText || ('clear' | auiI18n) }}\n </button>\n <button aui-button=\"primary\" (click)=\"confirm.emit()\" size=\"small\">\n {{ 'confirm' | auiI18n }}\n </button>\n </ng-template>\n </div>\n</div>\n", styles: [".aui-calendar-footer__wrapper{display:flex;flex-direction:row;justify-content:space-between;border-top:1px solid rgb(var(--aui-color-n-8));padding:8px 0 0}\n"] }]
18
18
  }], propDecorators: { clearable: [{
19
19
  type: Input
20
20
  }], clearText: [{
@@ -85,10 +85,10 @@ export class CalendarHeaderComponent {
85
85
  }
86
86
  }
87
87
  CalendarHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CalendarHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
88
- CalendarHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: CalendarHeaderComponent, selector: "aui-calendar-header", inputs: { dateNavRange: "dateNavRange", anchor: "anchor", maxAvail: "maxAvail", minAvail: "minAvail" }, outputs: { navRangeChange: "navRangeChange", anchorChange: "anchorChange" }, ngImport: i0, template: "<div [class]=\"bem.element('container')\">\n <div>\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n </div>\n <!-- \u5185\u5BB9\u533A -->\n <span\n *ngIf=\"dateNavRange === DateNavRange.Month\"\n [class]=\"bem.element('nav-content')\"\n >\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Year)\">\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </a>\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Month)\">\n {{ headerRange?.start?.month() + 1 }}{{ 'month_suffix' | auiI18n }}\n </a>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Year\"\n [class]=\"bem.element('nav-content')\"\n >\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Year)\">\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </a>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [class]=\"bem.element('nav-content')\"\n >\n {{ headerRange?.start.year() }} - {{ headerRange?.end?.year() }}\n </span>\n\n <div [class]=\"bem.element('nav-action')\">\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n </div>\n</div>\n\n<ng-template #yearControl let-side=\"side\">\n <span class=\"action-bar\">\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'right'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, 1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Year, side === 'left' ? -1 : 1)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Year, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angle_double_left' : 'angle_double_right'\"\n ></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'left'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, -1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n </span>\n</ng-template>\n\n<ng-template #decadeControl let-side=\"side\">\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Decade, side === 'left' ? -10 : 10)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Decade, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angle_double_left' : 'angle_double_right'\"\n ></aui-icon>\n </button>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.aui-calendar-header__container{height:24px;display:flex;align-items:center;justify-content:space-between}.aui-calendar-header__nav-content{flex:1;display:flex;justify-content:center;align-items:center;font-size:16px;color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-bold)}.aui-calendar-header__nav-content a{color:rgb(var(--aui-color-main-text))}.aui-calendar-header__nav-content a:hover{color:rgb(var(--aui-color-primary));text-decoration:none!important}.aui-calendar-header__nav-content a+a{margin-left:5px}.action-bar{width:52px;display:flex}.action-bar .hidden{opacity:0;pointer-events:none}\n"], components: [{ type: i1.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { type: i2.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "auiI18n": i4.I18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
88
+ CalendarHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: CalendarHeaderComponent, selector: "aui-calendar-header", inputs: { dateNavRange: "dateNavRange", anchor: "anchor", maxAvail: "maxAvail", minAvail: "minAvail" }, outputs: { navRangeChange: "navRangeChange", anchorChange: "anchorChange" }, ngImport: i0, template: "<div [class]=\"bem.element('container')\">\n <div>\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n </div>\n <!-- \u5185\u5BB9\u533A -->\n <span\n *ngIf=\"dateNavRange === DateNavRange.Month\"\n [class]=\"bem.element('nav-content')\"\n >\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Year)\">\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </a>\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Month)\">\n {{ headerRange?.start?.month() + 1 }}{{ 'month_suffix' | auiI18n }}\n </a>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Year\"\n [class]=\"bem.element('nav-content')\"\n >\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Year)\">\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </a>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [class]=\"bem.element('nav-content')\"\n >\n {{ headerRange?.start.year() }} - {{ headerRange?.end?.year() }}\n </span>\n\n <div [class]=\"bem.element('nav-action')\">\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n </div>\n</div>\n\n<ng-template #yearControl let-side=\"side\">\n <span class=\"action-bar\">\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'right'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, 1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Year, side === 'left' ? -1 : 1)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Year, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angle_double_left' : 'angle_double_right'\"\n ></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'left'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, -1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n </span>\n</ng-template>\n\n<ng-template #decadeControl let-side=\"side\">\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Decade, side === 'left' ? -10 : 10)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Decade, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angle_double_left' : 'angle_double_right'\"\n ></aui-icon>\n </button>\n</ng-template>\n", styles: [".aui-calendar-header__container{height:24px;display:flex;align-items:center;justify-content:space-between}.aui-calendar-header__nav-content{flex:1;display:flex;justify-content:center;align-items:center;font-size:16px;color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-bold)}.aui-calendar-header__nav-content a{color:rgb(var(--aui-color-main-text))}.aui-calendar-header__nav-content a:hover{color:rgb(var(--aui-color-primary));text-decoration:none!important}.aui-calendar-header__nav-content a+a{margin-left:5px}.action-bar{width:52px;display:flex}.action-bar .hidden{opacity:0;pointer-events:none}\n"], components: [{ type: i1.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { type: i2.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "auiI18n": i4.I18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
89
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CalendarHeaderComponent, decorators: [{
90
90
  type: Component,
91
- args: [{ selector: 'aui-calendar-header', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"bem.element('container')\">\n <div>\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n </div>\n <!-- \u5185\u5BB9\u533A -->\n <span\n *ngIf=\"dateNavRange === DateNavRange.Month\"\n [class]=\"bem.element('nav-content')\"\n >\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Year)\">\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </a>\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Month)\">\n {{ headerRange?.start?.month() + 1 }}{{ 'month_suffix' | auiI18n }}\n </a>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Year\"\n [class]=\"bem.element('nav-content')\"\n >\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Year)\">\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </a>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [class]=\"bem.element('nav-content')\"\n >\n {{ headerRange?.start.year() }} - {{ headerRange?.end?.year() }}\n </span>\n\n <div [class]=\"bem.element('nav-action')\">\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n </div>\n</div>\n\n<ng-template #yearControl let-side=\"side\">\n <span class=\"action-bar\">\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'right'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, 1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Year, side === 'left' ? -1 : 1)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Year, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angle_double_left' : 'angle_double_right'\"\n ></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'left'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, -1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n </span>\n</ng-template>\n\n<ng-template #decadeControl let-side=\"side\">\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Decade, side === 'left' ? -10 : 10)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Decade, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angle_double_left' : 'angle_double_right'\"\n ></aui-icon>\n </button>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.aui-calendar-header__container{height:24px;display:flex;align-items:center;justify-content:space-between}.aui-calendar-header__nav-content{flex:1;display:flex;justify-content:center;align-items:center;font-size:16px;color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-bold)}.aui-calendar-header__nav-content a{color:rgb(var(--aui-color-main-text))}.aui-calendar-header__nav-content a:hover{color:rgb(var(--aui-color-primary));text-decoration:none!important}.aui-calendar-header__nav-content a+a{margin-left:5px}.action-bar{width:52px;display:flex}.action-bar .hidden{opacity:0;pointer-events:none}\n"] }]
91
+ args: [{ selector: 'aui-calendar-header', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"bem.element('container')\">\n <div>\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n </div>\n <!-- \u5185\u5BB9\u533A -->\n <span\n *ngIf=\"dateNavRange === DateNavRange.Month\"\n [class]=\"bem.element('nav-content')\"\n >\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Year)\">\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </a>\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Month)\">\n {{ headerRange?.start?.month() + 1 }}{{ 'month_suffix' | auiI18n }}\n </a>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Year\"\n [class]=\"bem.element('nav-content')\"\n >\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Year)\">\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </a>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [class]=\"bem.element('nav-content')\"\n >\n {{ headerRange?.start.year() }} - {{ headerRange?.end?.year() }}\n </span>\n\n <div [class]=\"bem.element('nav-action')\">\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n </div>\n</div>\n\n<ng-template #yearControl let-side=\"side\">\n <span class=\"action-bar\">\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'right'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, 1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Year, side === 'left' ? -1 : 1)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Year, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angle_double_left' : 'angle_double_right'\"\n ></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'left'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, -1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n </span>\n</ng-template>\n\n<ng-template #decadeControl let-side=\"side\">\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Decade, side === 'left' ? -10 : 10)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Decade, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angle_double_left' : 'angle_double_right'\"\n ></aui-icon>\n </button>\n</ng-template>\n", styles: [".aui-calendar-header__container{height:24px;display:flex;align-items:center;justify-content:space-between}.aui-calendar-header__nav-content{flex:1;display:flex;justify-content:center;align-items:center;font-size:16px;color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-bold)}.aui-calendar-header__nav-content a{color:rgb(var(--aui-color-main-text))}.aui-calendar-header__nav-content a:hover{color:rgb(var(--aui-color-primary));text-decoration:none!important}.aui-calendar-header__nav-content a+a{margin-left:5px}.action-bar{width:52px;display:flex}.action-bar .hidden{opacity:0;pointer-events:none}\n"] }]
92
92
  }], propDecorators: { dateNavRange: [{
93
93
  type: Input
94
94
  }], anchor: [{
@@ -121,10 +121,10 @@ export class PickerPanelComponent {
121
121
  }
122
122
  }
123
123
  PickerPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: PickerPanelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
124
- PickerPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: PickerPanelComponent, selector: "aui-picker-panel", inputs: { navRange: "navRange", type: "type", anchor: "anchor", matchDates: "matchDates", disabledDate: "disabledDate", weekStartDay: "weekStartDay", minDate: "minDate", maxDate: "maxDate" }, outputs: { select: "select", hovered: "hovered" }, usesOnChanges: true, ngImport: i0, template: "<div\n [class]=\"bem.element('container')\"\n [ngClass]=\"{\n 'day-panel-container': navRange === DateNavRange.Month,\n 'month-panel-container': navRange === DateNavRange.Year,\n 'year-panel-container': navRange === DateNavRange.Decade\n }\"\n>\n <div\n [class]=\"[bem.element('row'), 'week-header'].join(' ')\"\n *ngIf=\"navRange === DateNavRange.Month\"\n >\n <span *ngFor=\"let item of weekDefs\" [class]=\"bem.element('cell')\">\n {{ item | auiI18n }}\n </span>\n </div>\n <div\n [class]=\"bem.element('row')\"\n *ngFor=\"let row of panelData; trackBy: trackByFn\"\n >\n <span\n *ngFor=\"let item of row; trackBy: trackByFn\"\n [class]=\"bem.element('cell')\"\n [ngClass]=\"{\n inRange: item.inRange && !item.isDisabled,\n isActive: match(item.value),\n isBackground: item.isBackground && !item.isDisabled,\n isRangeStart: item.isRangeStart,\n isRangeEnd: item.isRangeEnd,\n isToday: matchToday(item.value) && !item.isBackground,\n isDisabled: item.isDisabled\n }\"\n ><button\n aui-button=\"text\"\n [plain]=\"true\"\n [size]=\"navRange === DateNavRange.Month ? 'mini' : 'small'\"\n [disabled]=\"item.isDisabled\"\n (click)=\"selectValue(item.value)\"\n (mouseenter)=\"hovered.next(item.value)\"\n >\n {{ item.label\n }}<ng-container *ngIf=\"navRange === DateNavRange.Year\">{{\n 'month_suffix' | auiI18n\n }}</ng-container>\n </button>\n </span>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.aui-picker-panel__container{height:min-content;box-sizing:border-box;justify-content:stretch;display:flex;flex-direction:column;margin:12px 9px;align-items:center}.aui-picker-panel__container .aui-button{box-sizing:border-box}.aui-picker-panel__container.month-panel-container button,.aui-picker-panel__container.year-panel-container button{width:56px;height:28px!important}.aui-picker-panel__container.day-panel-container{height:min-content;padding:0;margin:0}.aui-picker-panel__container.day-panel-container button{height:24px!important;width:24px!important}.aui-picker-panel__container.day-panel-container .aui-picker-panel__row+.aui-picker-panel__row{margin-top:8px}.aui-picker-panel__row+.aui-picker-panel__row{margin-top:20px}.aui-picker-panel__row{flex:1;display:flex;align-items:center;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);width:100%}.aui-picker-panel__row.week-header{color:rgb(var(--aui-color-help-text));margin-bottom:8px}.aui-picker-panel__row.week-header span{display:inline-block;margin:0;width:36px;text-align:center}.aui-picker-panel__cell{display:inline-flex;position:relative;align-items:center;justify-content:center;margin-inline:6px}.aui-picker-panel__cell button{box-sizing:content-box;transition:color .3s ease,background-color .3s ease}.aui-picker-panel__cell.inRange{background-color:rgb(var(--aui-color-p-6));box-shadow:-6px 0 0 0 rgb(var(--aui-color-p-6)),6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isRangeEnd{box-shadow:-6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isRangeStart{box-shadow:6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isDisabled{background-color:rgb(var(--aui-color-n-8));box-shadow:-6px 0 0 0 rgb(var(--aui-color-n-8)),6px 0 0 0 rgb(var(--aui-color-n-8))}.aui-picker-panel__cell.isDisabled button{color:rgb(var(--aui-color-disabled-text))!important;border-color:rgb(var(--aui-color-disabled-text))!important}.aui-picker-panel__cell.isDisabled+.aui-picker-panel__cell:not(.isDisabled):not(.isRangeStart){box-shadow:-12px 0 0 0 rgb(var(--aui-color-popper-bg))}.aui-picker-panel__cell.isDisabled+.aui-picker-panel__cell:not(.isDisabled).isRangeStart{box-shadow:-12px 0 0 0 rgb(var(--aui-color-popper-bg)),6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell:not(.isDisabled)+.aui-picker-panel__cell.isDisabled{box-shadow:6px 0 0 0 rgb(var(--aui-color-n-8))}.aui-picker-panel__cell.isToday button{border:rgb(var(--aui-color-primary)) 1px solid;color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-7))}.aui-picker-panel__cell.isActive button{color:#fff;background-color:rgb(var(--aui-color-primary))}.aui-picker-panel__cell.isBackground button{background-color:initial!important;color:rgb(var(--aui-color-disabled-text))}\n"], components: [{ type: i1.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "auiI18n": i3.I18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
124
+ PickerPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: PickerPanelComponent, selector: "aui-picker-panel", inputs: { navRange: "navRange", type: "type", anchor: "anchor", matchDates: "matchDates", disabledDate: "disabledDate", weekStartDay: "weekStartDay", minDate: "minDate", maxDate: "maxDate" }, outputs: { select: "select", hovered: "hovered" }, usesOnChanges: true, ngImport: i0, template: "<div\n [class]=\"bem.element('container')\"\n [ngClass]=\"{\n 'day-panel-container': navRange === DateNavRange.Month,\n 'month-panel-container': navRange === DateNavRange.Year,\n 'year-panel-container': navRange === DateNavRange.Decade\n }\"\n>\n <div\n [class]=\"[bem.element('row'), 'week-header'].join(' ')\"\n *ngIf=\"navRange === DateNavRange.Month\"\n >\n <span *ngFor=\"let item of weekDefs\" [class]=\"bem.element('cell')\">\n {{ item | auiI18n }}\n </span>\n </div>\n <div\n [class]=\"bem.element('row')\"\n *ngFor=\"let row of panelData; trackBy: trackByFn\"\n >\n <span\n *ngFor=\"let item of row; trackBy: trackByFn\"\n [class]=\"bem.element('cell')\"\n [ngClass]=\"{\n inRange: item.inRange && !item.isDisabled,\n isActive: match(item.value),\n isBackground: item.isBackground && !item.isDisabled,\n isRangeStart: item.isRangeStart,\n isRangeEnd: item.isRangeEnd,\n isToday: matchToday(item.value) && !item.isBackground,\n isDisabled: item.isDisabled\n }\"\n ><button\n aui-button=\"text\"\n [plain]=\"true\"\n [size]=\"navRange === DateNavRange.Month ? 'mini' : 'small'\"\n [disabled]=\"item.isDisabled\"\n (click)=\"selectValue(item.value)\"\n (mouseenter)=\"hovered.next(item.value)\"\n >\n {{ item.label\n }}<ng-container *ngIf=\"navRange === DateNavRange.Year\">{{\n 'month_suffix' | auiI18n\n }}</ng-container>\n </button>\n </span>\n </div>\n</div>\n", styles: [".aui-picker-panel__container{height:min-content;box-sizing:border-box;justify-content:stretch;display:flex;flex-direction:column;margin:12px 9px;align-items:center}.aui-picker-panel__container .aui-button{box-sizing:border-box}.aui-picker-panel__container.month-panel-container button,.aui-picker-panel__container.year-panel-container button{width:56px;height:28px!important}.aui-picker-panel__container.day-panel-container{height:min-content;padding:0;margin:0}.aui-picker-panel__container.day-panel-container button{height:24px!important;width:24px!important}.aui-picker-panel__container.day-panel-container .aui-picker-panel__row+.aui-picker-panel__row{margin-top:8px}.aui-picker-panel__row+.aui-picker-panel__row{margin-top:20px}.aui-picker-panel__row{flex:1;display:flex;align-items:center;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);width:100%}.aui-picker-panel__row.week-header{color:rgb(var(--aui-color-help-text));margin-bottom:8px}.aui-picker-panel__row.week-header span{display:inline-block;margin:0;width:36px;text-align:center}.aui-picker-panel__cell{display:inline-flex;position:relative;align-items:center;justify-content:center;margin-inline:6px}.aui-picker-panel__cell button{box-sizing:content-box;transition:color .3s ease,background-color .3s ease}.aui-picker-panel__cell.inRange{background-color:rgb(var(--aui-color-p-6));box-shadow:-6px 0 0 0 rgb(var(--aui-color-p-6)),6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isRangeEnd{box-shadow:-6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isRangeStart{box-shadow:6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isDisabled{background-color:rgb(var(--aui-color-n-8));box-shadow:-6px 0 0 0 rgb(var(--aui-color-n-8)),6px 0 0 0 rgb(var(--aui-color-n-8))}.aui-picker-panel__cell.isDisabled button{color:rgb(var(--aui-color-disabled-text))!important;border-color:rgb(var(--aui-color-disabled-text))!important}.aui-picker-panel__cell.isDisabled+.aui-picker-panel__cell:not(.isDisabled):not(.isRangeStart){box-shadow:-12px 0 0 0 rgb(var(--aui-color-popper-bg))}.aui-picker-panel__cell.isDisabled+.aui-picker-panel__cell:not(.isDisabled).isRangeStart{box-shadow:-12px 0 0 0 rgb(var(--aui-color-popper-bg)),6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell:not(.isDisabled)+.aui-picker-panel__cell.isDisabled{box-shadow:6px 0 0 0 rgb(var(--aui-color-n-8))}.aui-picker-panel__cell.isToday button{border:rgb(var(--aui-color-primary)) 1px solid;color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-7))}.aui-picker-panel__cell.isActive button{color:#fff;background-color:rgb(var(--aui-color-primary))}.aui-picker-panel__cell.isBackground button{background-color:initial!important;color:rgb(var(--aui-color-disabled-text))}\n"], components: [{ type: i1.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "auiI18n": i3.I18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
125
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: PickerPanelComponent, decorators: [{
126
126
  type: Component,
127
- args: [{ selector: 'aui-picker-panel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class]=\"bem.element('container')\"\n [ngClass]=\"{\n 'day-panel-container': navRange === DateNavRange.Month,\n 'month-panel-container': navRange === DateNavRange.Year,\n 'year-panel-container': navRange === DateNavRange.Decade\n }\"\n>\n <div\n [class]=\"[bem.element('row'), 'week-header'].join(' ')\"\n *ngIf=\"navRange === DateNavRange.Month\"\n >\n <span *ngFor=\"let item of weekDefs\" [class]=\"bem.element('cell')\">\n {{ item | auiI18n }}\n </span>\n </div>\n <div\n [class]=\"bem.element('row')\"\n *ngFor=\"let row of panelData; trackBy: trackByFn\"\n >\n <span\n *ngFor=\"let item of row; trackBy: trackByFn\"\n [class]=\"bem.element('cell')\"\n [ngClass]=\"{\n inRange: item.inRange && !item.isDisabled,\n isActive: match(item.value),\n isBackground: item.isBackground && !item.isDisabled,\n isRangeStart: item.isRangeStart,\n isRangeEnd: item.isRangeEnd,\n isToday: matchToday(item.value) && !item.isBackground,\n isDisabled: item.isDisabled\n }\"\n ><button\n aui-button=\"text\"\n [plain]=\"true\"\n [size]=\"navRange === DateNavRange.Month ? 'mini' : 'small'\"\n [disabled]=\"item.isDisabled\"\n (click)=\"selectValue(item.value)\"\n (mouseenter)=\"hovered.next(item.value)\"\n >\n {{ item.label\n }}<ng-container *ngIf=\"navRange === DateNavRange.Year\">{{\n 'month_suffix' | auiI18n\n }}</ng-container>\n </button>\n </span>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.aui-picker-panel__container{height:min-content;box-sizing:border-box;justify-content:stretch;display:flex;flex-direction:column;margin:12px 9px;align-items:center}.aui-picker-panel__container .aui-button{box-sizing:border-box}.aui-picker-panel__container.month-panel-container button,.aui-picker-panel__container.year-panel-container button{width:56px;height:28px!important}.aui-picker-panel__container.day-panel-container{height:min-content;padding:0;margin:0}.aui-picker-panel__container.day-panel-container button{height:24px!important;width:24px!important}.aui-picker-panel__container.day-panel-container .aui-picker-panel__row+.aui-picker-panel__row{margin-top:8px}.aui-picker-panel__row+.aui-picker-panel__row{margin-top:20px}.aui-picker-panel__row{flex:1;display:flex;align-items:center;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);width:100%}.aui-picker-panel__row.week-header{color:rgb(var(--aui-color-help-text));margin-bottom:8px}.aui-picker-panel__row.week-header span{display:inline-block;margin:0;width:36px;text-align:center}.aui-picker-panel__cell{display:inline-flex;position:relative;align-items:center;justify-content:center;margin-inline:6px}.aui-picker-panel__cell button{box-sizing:content-box;transition:color .3s ease,background-color .3s ease}.aui-picker-panel__cell.inRange{background-color:rgb(var(--aui-color-p-6));box-shadow:-6px 0 0 0 rgb(var(--aui-color-p-6)),6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isRangeEnd{box-shadow:-6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isRangeStart{box-shadow:6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isDisabled{background-color:rgb(var(--aui-color-n-8));box-shadow:-6px 0 0 0 rgb(var(--aui-color-n-8)),6px 0 0 0 rgb(var(--aui-color-n-8))}.aui-picker-panel__cell.isDisabled button{color:rgb(var(--aui-color-disabled-text))!important;border-color:rgb(var(--aui-color-disabled-text))!important}.aui-picker-panel__cell.isDisabled+.aui-picker-panel__cell:not(.isDisabled):not(.isRangeStart){box-shadow:-12px 0 0 0 rgb(var(--aui-color-popper-bg))}.aui-picker-panel__cell.isDisabled+.aui-picker-panel__cell:not(.isDisabled).isRangeStart{box-shadow:-12px 0 0 0 rgb(var(--aui-color-popper-bg)),6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell:not(.isDisabled)+.aui-picker-panel__cell.isDisabled{box-shadow:6px 0 0 0 rgb(var(--aui-color-n-8))}.aui-picker-panel__cell.isToday button{border:rgb(var(--aui-color-primary)) 1px solid;color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-7))}.aui-picker-panel__cell.isActive button{color:#fff;background-color:rgb(var(--aui-color-primary))}.aui-picker-panel__cell.isBackground button{background-color:initial!important;color:rgb(var(--aui-color-disabled-text))}\n"] }]
127
+ args: [{ selector: 'aui-picker-panel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class]=\"bem.element('container')\"\n [ngClass]=\"{\n 'day-panel-container': navRange === DateNavRange.Month,\n 'month-panel-container': navRange === DateNavRange.Year,\n 'year-panel-container': navRange === DateNavRange.Decade\n }\"\n>\n <div\n [class]=\"[bem.element('row'), 'week-header'].join(' ')\"\n *ngIf=\"navRange === DateNavRange.Month\"\n >\n <span *ngFor=\"let item of weekDefs\" [class]=\"bem.element('cell')\">\n {{ item | auiI18n }}\n </span>\n </div>\n <div\n [class]=\"bem.element('row')\"\n *ngFor=\"let row of panelData; trackBy: trackByFn\"\n >\n <span\n *ngFor=\"let item of row; trackBy: trackByFn\"\n [class]=\"bem.element('cell')\"\n [ngClass]=\"{\n inRange: item.inRange && !item.isDisabled,\n isActive: match(item.value),\n isBackground: item.isBackground && !item.isDisabled,\n isRangeStart: item.isRangeStart,\n isRangeEnd: item.isRangeEnd,\n isToday: matchToday(item.value) && !item.isBackground,\n isDisabled: item.isDisabled\n }\"\n ><button\n aui-button=\"text\"\n [plain]=\"true\"\n [size]=\"navRange === DateNavRange.Month ? 'mini' : 'small'\"\n [disabled]=\"item.isDisabled\"\n (click)=\"selectValue(item.value)\"\n (mouseenter)=\"hovered.next(item.value)\"\n >\n {{ item.label\n }}<ng-container *ngIf=\"navRange === DateNavRange.Year\">{{\n 'month_suffix' | auiI18n\n }}</ng-container>\n </button>\n </span>\n </div>\n</div>\n", styles: [".aui-picker-panel__container{height:min-content;box-sizing:border-box;justify-content:stretch;display:flex;flex-direction:column;margin:12px 9px;align-items:center}.aui-picker-panel__container .aui-button{box-sizing:border-box}.aui-picker-panel__container.month-panel-container button,.aui-picker-panel__container.year-panel-container button{width:56px;height:28px!important}.aui-picker-panel__container.day-panel-container{height:min-content;padding:0;margin:0}.aui-picker-panel__container.day-panel-container button{height:24px!important;width:24px!important}.aui-picker-panel__container.day-panel-container .aui-picker-panel__row+.aui-picker-panel__row{margin-top:8px}.aui-picker-panel__row+.aui-picker-panel__row{margin-top:20px}.aui-picker-panel__row{flex:1;display:flex;align-items:center;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);width:100%}.aui-picker-panel__row.week-header{color:rgb(var(--aui-color-help-text));margin-bottom:8px}.aui-picker-panel__row.week-header span{display:inline-block;margin:0;width:36px;text-align:center}.aui-picker-panel__cell{display:inline-flex;position:relative;align-items:center;justify-content:center;margin-inline:6px}.aui-picker-panel__cell button{box-sizing:content-box;transition:color .3s ease,background-color .3s ease}.aui-picker-panel__cell.inRange{background-color:rgb(var(--aui-color-p-6));box-shadow:-6px 0 0 0 rgb(var(--aui-color-p-6)),6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isRangeEnd{box-shadow:-6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isRangeStart{box-shadow:6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isDisabled{background-color:rgb(var(--aui-color-n-8));box-shadow:-6px 0 0 0 rgb(var(--aui-color-n-8)),6px 0 0 0 rgb(var(--aui-color-n-8))}.aui-picker-panel__cell.isDisabled button{color:rgb(var(--aui-color-disabled-text))!important;border-color:rgb(var(--aui-color-disabled-text))!important}.aui-picker-panel__cell.isDisabled+.aui-picker-panel__cell:not(.isDisabled):not(.isRangeStart){box-shadow:-12px 0 0 0 rgb(var(--aui-color-popper-bg))}.aui-picker-panel__cell.isDisabled+.aui-picker-panel__cell:not(.isDisabled).isRangeStart{box-shadow:-12px 0 0 0 rgb(var(--aui-color-popper-bg)),6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell:not(.isDisabled)+.aui-picker-panel__cell.isDisabled{box-shadow:6px 0 0 0 rgb(var(--aui-color-n-8))}.aui-picker-panel__cell.isToday button{border:rgb(var(--aui-color-primary)) 1px solid;color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-7))}.aui-picker-panel__cell.isActive button{color:#fff;background-color:rgb(var(--aui-color-primary))}.aui-picker-panel__cell.isBackground button{background-color:initial!important;color:rgb(var(--aui-color-disabled-text))}\n"] }]
128
128
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { navRange: [{
129
129
  type: Input
130
130
  }], type: [{
@@ -132,7 +132,7 @@ export class DateRangePickerPanelComponent extends CommonFormControl {
132
132
  }
133
133
  }
134
134
  confirmValue(value, closeThen = true) {
135
- this.emitValueChange(value);
135
+ this.emitValue(value);
136
136
  closeThen && this.confirm.next();
137
137
  }
138
138
  timeChange(time) {
@@ -146,7 +146,7 @@ export class DateRangePickerPanelComponent extends CommonFormControl {
146
146
  this.matchValues = [...this.rangeValue];
147
147
  this.startTime = this.endTime = time;
148
148
  }
149
- this.emitValueChange(this.rangeValue);
149
+ this.emitValue(this.rangeValue);
150
150
  }
151
151
  syncTime() {
152
152
  if (this.showTime && !!this.rangeValue?.length) {
@@ -173,7 +173,7 @@ DateRangePickerPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
173
173
  useExisting: forwardRef(() => DateRangePickerPanelComponent),
174
174
  multi: true,
175
175
  },
176
- ], usesInheritance: true, ngImport: i0, template: "<div [class]=\"bem.element('container')\">\n <div [class]=\"bem.element('header')\">\n <aui-calendar-header\n [dateNavRange]=\"leftDateRange\"\n [anchor]=\"leftAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Left)\"\n (anchorChange)=\"leftAnchor = $event\"\n [maxAvail]=\"maxHeaderAvail\"\n [minAvail]=\"minDate\"\n ></aui-calendar-header>\n <aui-calendar-header\n [dateNavRange]=\"rightDateRange\"\n [anchor]=\"rightAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Right)\"\n (anchorChange)=\"rightAnchor = $event\"\n [minAvail]=\"minHeaderAvail\"\n [maxAvail]=\"maxDate\"\n ></aui-calendar-header>\n </div>\n <div [class]=\"bem.element('body')\">\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"leftDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"leftAnchor\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Left, rightAnchor)\"\n [weekStartDay]=\"weekStartDay\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Left)\"\n ></aui-picker-panel>\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"rightDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"rightAnchor\"\n [weekStartDay]=\"weekStartDay\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Right, leftAnchor)\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Right)\"\n ></aui-picker-panel>\n </div>\n\n <aui-calendar-footer\n [class]=\"bem.element('footer')\"\n [clearable]=\"clearable\"\n [clearText]=\"clearText\"\n (clear)=\"clear.next()\"\n (confirm)=\"confirmValue(rangeValue)\"\n *ngIf=\"showFooter && showTime\"\n >\n <div [class]=\"bem.element('footer-content')\" *ngIf=\"showTime\">\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'start_date' | auiI18n,\n value: rangeValue[0]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n [(ngModel)]=\"startTime\"\n size=\"small\"\n (ngModelChange)=\"timeChange($event)\"\n [disableHours]=\"leftDisabledTimeFn(rangeValue[0], 'hours')\"\n [disableMinutes]=\"leftDisabledTimeFn(rangeValue[0], 'minutes')\"\n [disableSeconds]=\"leftDisabledTimeFn(rangeValue[0], 'seconds')\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n\n <span class=\"placeholder separator\">{{ 'to' | auiI18n }}</span>\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'end_date' | auiI18n,\n value: rangeValue[1]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n size=\"small\"\n [(ngModel)]=\"endTime\"\n [disableHours]=\"rightDisabledTimeFn(rangeValue[1], 'hours')\"\n [disableMinutes]=\"rightDisabledTimeFn(rangeValue[1], 'minutes')\"\n [disableSeconds]=\"rightDisabledTimeFn(rangeValue[1], 'seconds')\"\n (ngModelChange)=\"timeChange($event)\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n </div>\n </aui-calendar-footer>\n</div>\n\n<ng-template #datePlaceholder let-placeholder=\"placeholder\" let-value=\"value\">\n <span *ngIf=\"!value\" class=\"placeholder date-holder\">{{ placeholder }}</span>\n <span *ngIf=\"value\" class=\"date-value date-holder\">{{\n value | date: FOOTER_DATE_FORMAT\n }}</span>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.aui-date-range-picker-panel__container{display:flex;flex-direction:column;width:524px;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m)}.aui-date-range-picker-panel__container .placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-date-range-picker-panel__container .placeholder.separator{margin-inline:12px}.aui-date-range-picker-panel__container .date-value{color:rgb(var(--aui-color-main-text))}.aui-date-range-picker-panel__container .date-holder{display:inline-block;margin-right:8px;width:82px}.aui-date-range-picker-panel__container .panel__wrapper{width:246px;display:flex;justify-content:center}.aui-date-range-picker-panel__header{display:flex;justify-content:space-between}.aui-date-range-picker-panel__header aui-calendar-header{flex:0 0 246px}.aui-date-range-picker-panel__body{display:flex;justify-content:space-between;margin:16px 0}.aui-date-range-picker-panel__footer .aui-time-picker{width:88px}.aui-date-range-picker-panel__footer-content{display:flex;align-items:center;height:100%}\n"], components: [{ type: i1.CalendarHeaderComponent, selector: "aui-calendar-header", inputs: ["dateNavRange", "anchor", "maxAvail", "minAvail"], outputs: ["navRangeChange", "anchorChange"] }, { type: i2.PickerPanelComponent, selector: "aui-picker-panel", inputs: ["navRange", "type", "anchor", "matchDates", "disabledDate", "weekStartDay", "minDate", "maxDate"], outputs: ["select", "hovered"] }, { type: i3.CalendarFooterComponent, selector: "aui-calendar-footer", inputs: ["clearable", "clearText", "customAction"], outputs: ["confirm", "clear"] }, { type: i4.TimePickerComponent, selector: "aui-time-picker", inputs: ["format", "size", "placeholder", "clearable", "showIcon", "disableHours", "disableMinutes", "disableSeconds", "hourStep", "minuteStep", "secondStep", "footerTemplate"], outputs: ["open", "close"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "auiI18n": i7.I18nPipe, "date": i5.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
176
+ ], usesInheritance: true, ngImport: i0, template: "<div [class]=\"bem.element('container')\">\n <div [class]=\"bem.element('header')\">\n <aui-calendar-header\n [dateNavRange]=\"leftDateRange\"\n [anchor]=\"leftAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Left)\"\n (anchorChange)=\"leftAnchor = $event\"\n [maxAvail]=\"maxHeaderAvail\"\n [minAvail]=\"minDate\"\n ></aui-calendar-header>\n <aui-calendar-header\n [dateNavRange]=\"rightDateRange\"\n [anchor]=\"rightAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Right)\"\n (anchorChange)=\"rightAnchor = $event\"\n [minAvail]=\"minHeaderAvail\"\n [maxAvail]=\"maxDate\"\n ></aui-calendar-header>\n </div>\n <div [class]=\"bem.element('body')\">\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"leftDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"leftAnchor\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Left, rightAnchor)\"\n [weekStartDay]=\"weekStartDay\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Left)\"\n ></aui-picker-panel>\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"rightDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"rightAnchor\"\n [weekStartDay]=\"weekStartDay\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Right, leftAnchor)\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Right)\"\n ></aui-picker-panel>\n </div>\n\n <aui-calendar-footer\n [class]=\"bem.element('footer')\"\n [clearable]=\"clearable\"\n [clearText]=\"clearText\"\n (clear)=\"clear.next()\"\n (confirm)=\"confirmValue(rangeValue)\"\n *ngIf=\"showFooter && showTime\"\n >\n <div [class]=\"bem.element('footer-content')\" *ngIf=\"showTime\">\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'start_date' | auiI18n,\n value: rangeValue[0]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n [(ngModel)]=\"startTime\"\n size=\"small\"\n (ngModelChange)=\"timeChange($event)\"\n [disableHours]=\"leftDisabledTimeFn(rangeValue[0], 'hours')\"\n [disableMinutes]=\"leftDisabledTimeFn(rangeValue[0], 'minutes')\"\n [disableSeconds]=\"leftDisabledTimeFn(rangeValue[0], 'seconds')\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n\n <span class=\"placeholder separator\">{{ 'to' | auiI18n }}</span>\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'end_date' | auiI18n,\n value: rangeValue[1]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n size=\"small\"\n [(ngModel)]=\"endTime\"\n [disableHours]=\"rightDisabledTimeFn(rangeValue[1], 'hours')\"\n [disableMinutes]=\"rightDisabledTimeFn(rangeValue[1], 'minutes')\"\n [disableSeconds]=\"rightDisabledTimeFn(rangeValue[1], 'seconds')\"\n (ngModelChange)=\"timeChange($event)\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n </div>\n </aui-calendar-footer>\n</div>\n\n<ng-template #datePlaceholder let-placeholder=\"placeholder\" let-value=\"value\">\n <span *ngIf=\"!value\" class=\"placeholder date-holder\">{{ placeholder }}</span>\n <span *ngIf=\"value\" class=\"date-value date-holder\">{{\n value | date: FOOTER_DATE_FORMAT\n }}</span>\n</ng-template>\n", styles: [".aui-date-range-picker-panel__container{display:flex;flex-direction:column;width:524px;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m)}.aui-date-range-picker-panel__container .placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-date-range-picker-panel__container .placeholder.separator{margin-inline:12px}.aui-date-range-picker-panel__container .date-value{color:rgb(var(--aui-color-main-text))}.aui-date-range-picker-panel__container .date-holder{display:inline-block;margin-right:8px;width:82px}.aui-date-range-picker-panel__container .panel__wrapper{width:246px;display:flex;justify-content:center}.aui-date-range-picker-panel__header{display:flex;justify-content:space-between}.aui-date-range-picker-panel__header aui-calendar-header{flex:0 0 246px}.aui-date-range-picker-panel__body{display:flex;justify-content:space-between;margin:16px 0}.aui-date-range-picker-panel__footer .aui-time-picker{width:88px}.aui-date-range-picker-panel__footer-content{display:flex;align-items:center;height:100%}\n"], components: [{ type: i1.CalendarHeaderComponent, selector: "aui-calendar-header", inputs: ["dateNavRange", "anchor", "maxAvail", "minAvail"], outputs: ["navRangeChange", "anchorChange"] }, { type: i2.PickerPanelComponent, selector: "aui-picker-panel", inputs: ["navRange", "type", "anchor", "matchDates", "disabledDate", "weekStartDay", "minDate", "maxDate"], outputs: ["select", "hovered"] }, { type: i3.CalendarFooterComponent, selector: "aui-calendar-footer", inputs: ["clearable", "clearText", "customAction"], outputs: ["confirm", "clear"] }, { type: i4.TimePickerComponent, selector: "aui-time-picker", inputs: ["format", "size", "placeholder", "clearable", "showIcon", "disableHours", "disableMinutes", "disableSeconds", "hourStep", "minuteStep", "secondStep", "footerTemplate"], outputs: ["open", "close"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "auiI18n": i7.I18nPipe, "date": i5.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
177
177
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DateRangePickerPanelComponent, decorators: [{
178
178
  type: Component,
179
179
  args: [{ selector: 'aui-date-range-picker-panel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
@@ -182,7 +182,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
182
182
  useExisting: forwardRef(() => DateRangePickerPanelComponent),
183
183
  multi: true,
184
184
  },
185
- ], template: "<div [class]=\"bem.element('container')\">\n <div [class]=\"bem.element('header')\">\n <aui-calendar-header\n [dateNavRange]=\"leftDateRange\"\n [anchor]=\"leftAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Left)\"\n (anchorChange)=\"leftAnchor = $event\"\n [maxAvail]=\"maxHeaderAvail\"\n [minAvail]=\"minDate\"\n ></aui-calendar-header>\n <aui-calendar-header\n [dateNavRange]=\"rightDateRange\"\n [anchor]=\"rightAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Right)\"\n (anchorChange)=\"rightAnchor = $event\"\n [minAvail]=\"minHeaderAvail\"\n [maxAvail]=\"maxDate\"\n ></aui-calendar-header>\n </div>\n <div [class]=\"bem.element('body')\">\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"leftDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"leftAnchor\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Left, rightAnchor)\"\n [weekStartDay]=\"weekStartDay\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Left)\"\n ></aui-picker-panel>\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"rightDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"rightAnchor\"\n [weekStartDay]=\"weekStartDay\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Right, leftAnchor)\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Right)\"\n ></aui-picker-panel>\n </div>\n\n <aui-calendar-footer\n [class]=\"bem.element('footer')\"\n [clearable]=\"clearable\"\n [clearText]=\"clearText\"\n (clear)=\"clear.next()\"\n (confirm)=\"confirmValue(rangeValue)\"\n *ngIf=\"showFooter && showTime\"\n >\n <div [class]=\"bem.element('footer-content')\" *ngIf=\"showTime\">\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'start_date' | auiI18n,\n value: rangeValue[0]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n [(ngModel)]=\"startTime\"\n size=\"small\"\n (ngModelChange)=\"timeChange($event)\"\n [disableHours]=\"leftDisabledTimeFn(rangeValue[0], 'hours')\"\n [disableMinutes]=\"leftDisabledTimeFn(rangeValue[0], 'minutes')\"\n [disableSeconds]=\"leftDisabledTimeFn(rangeValue[0], 'seconds')\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n\n <span class=\"placeholder separator\">{{ 'to' | auiI18n }}</span>\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'end_date' | auiI18n,\n value: rangeValue[1]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n size=\"small\"\n [(ngModel)]=\"endTime\"\n [disableHours]=\"rightDisabledTimeFn(rangeValue[1], 'hours')\"\n [disableMinutes]=\"rightDisabledTimeFn(rangeValue[1], 'minutes')\"\n [disableSeconds]=\"rightDisabledTimeFn(rangeValue[1], 'seconds')\"\n (ngModelChange)=\"timeChange($event)\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n </div>\n </aui-calendar-footer>\n</div>\n\n<ng-template #datePlaceholder let-placeholder=\"placeholder\" let-value=\"value\">\n <span *ngIf=\"!value\" class=\"placeholder date-holder\">{{ placeholder }}</span>\n <span *ngIf=\"value\" class=\"date-value date-holder\">{{\n value | date: FOOTER_DATE_FORMAT\n }}</span>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.aui-date-range-picker-panel__container{display:flex;flex-direction:column;width:524px;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m)}.aui-date-range-picker-panel__container .placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-date-range-picker-panel__container .placeholder.separator{margin-inline:12px}.aui-date-range-picker-panel__container .date-value{color:rgb(var(--aui-color-main-text))}.aui-date-range-picker-panel__container .date-holder{display:inline-block;margin-right:8px;width:82px}.aui-date-range-picker-panel__container .panel__wrapper{width:246px;display:flex;justify-content:center}.aui-date-range-picker-panel__header{display:flex;justify-content:space-between}.aui-date-range-picker-panel__header aui-calendar-header{flex:0 0 246px}.aui-date-range-picker-panel__body{display:flex;justify-content:space-between;margin:16px 0}.aui-date-range-picker-panel__footer .aui-time-picker{width:88px}.aui-date-range-picker-panel__footer-content{display:flex;align-items:center;height:100%}\n"] }]
185
+ ], template: "<div [class]=\"bem.element('container')\">\n <div [class]=\"bem.element('header')\">\n <aui-calendar-header\n [dateNavRange]=\"leftDateRange\"\n [anchor]=\"leftAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Left)\"\n (anchorChange)=\"leftAnchor = $event\"\n [maxAvail]=\"maxHeaderAvail\"\n [minAvail]=\"minDate\"\n ></aui-calendar-header>\n <aui-calendar-header\n [dateNavRange]=\"rightDateRange\"\n [anchor]=\"rightAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Right)\"\n (anchorChange)=\"rightAnchor = $event\"\n [minAvail]=\"minHeaderAvail\"\n [maxAvail]=\"maxDate\"\n ></aui-calendar-header>\n </div>\n <div [class]=\"bem.element('body')\">\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"leftDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"leftAnchor\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Left, rightAnchor)\"\n [weekStartDay]=\"weekStartDay\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Left)\"\n ></aui-picker-panel>\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"rightDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"rightAnchor\"\n [weekStartDay]=\"weekStartDay\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Right, leftAnchor)\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Right)\"\n ></aui-picker-panel>\n </div>\n\n <aui-calendar-footer\n [class]=\"bem.element('footer')\"\n [clearable]=\"clearable\"\n [clearText]=\"clearText\"\n (clear)=\"clear.next()\"\n (confirm)=\"confirmValue(rangeValue)\"\n *ngIf=\"showFooter && showTime\"\n >\n <div [class]=\"bem.element('footer-content')\" *ngIf=\"showTime\">\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'start_date' | auiI18n,\n value: rangeValue[0]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n [(ngModel)]=\"startTime\"\n size=\"small\"\n (ngModelChange)=\"timeChange($event)\"\n [disableHours]=\"leftDisabledTimeFn(rangeValue[0], 'hours')\"\n [disableMinutes]=\"leftDisabledTimeFn(rangeValue[0], 'minutes')\"\n [disableSeconds]=\"leftDisabledTimeFn(rangeValue[0], 'seconds')\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n\n <span class=\"placeholder separator\">{{ 'to' | auiI18n }}</span>\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'end_date' | auiI18n,\n value: rangeValue[1]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n size=\"small\"\n [(ngModel)]=\"endTime\"\n [disableHours]=\"rightDisabledTimeFn(rangeValue[1], 'hours')\"\n [disableMinutes]=\"rightDisabledTimeFn(rangeValue[1], 'minutes')\"\n [disableSeconds]=\"rightDisabledTimeFn(rangeValue[1], 'seconds')\"\n (ngModelChange)=\"timeChange($event)\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n </div>\n </aui-calendar-footer>\n</div>\n\n<ng-template #datePlaceholder let-placeholder=\"placeholder\" let-value=\"value\">\n <span *ngIf=\"!value\" class=\"placeholder date-holder\">{{ placeholder }}</span>\n <span *ngIf=\"value\" class=\"date-value date-holder\">{{\n value | date: FOOTER_DATE_FORMAT\n }}</span>\n</ng-template>\n", styles: [".aui-date-range-picker-panel__container{display:flex;flex-direction:column;width:524px;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m)}.aui-date-range-picker-panel__container .placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-date-range-picker-panel__container .placeholder.separator{margin-inline:12px}.aui-date-range-picker-panel__container .date-value{color:rgb(var(--aui-color-main-text))}.aui-date-range-picker-panel__container .date-holder{display:inline-block;margin-right:8px;width:82px}.aui-date-range-picker-panel__container .panel__wrapper{width:246px;display:flex;justify-content:center}.aui-date-range-picker-panel__header{display:flex;justify-content:space-between}.aui-date-range-picker-panel__header aui-calendar-header{flex:0 0 246px}.aui-date-range-picker-panel__body{display:flex;justify-content:space-between;margin:16px 0}.aui-date-range-picker-panel__footer .aui-time-picker{width:88px}.aui-date-range-picker-panel__footer-content{display:flex;align-items:center;height:100%}\n"] }]
186
186
  }], propDecorators: { clearable: [{
187
187
  type: Input
188
188
  }], clearText: [{
@@ -206,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
206
206
  }], confirm: [{
207
207
  type: Output
208
208
  }] } });
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2NhbGVuZGFyL3JhbmdlLXBpY2tlci1wYW5lbC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZS1waWNrZXIvY2FsZW5kYXIvcmFuZ2UtcGlja2VyLXBhbmVsL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFrQixJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YscUJBQXFCLEdBQ3RCLE1BQU0sU0FBUyxDQUFDOzs7Ozs7Ozs7QUFFakIsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFnQnBELE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxpQkFBMEI7SUFkN0U7O1FBZ0JFLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFNakIsYUFBUSxHQUFHLElB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VUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdkQ7WUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6RDtJQUNILENBQUM7OzBIQXhOVSw2QkFBNkI7OEdBQTdCLDZCQUE2QixxVkFSN0I7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztZQUM1RCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsaURDM0NILDQwSEF5R0E7MkZENURhLDZCQUE2QjtrQkFkekMsU0FBUzsrQkFDRSw2QkFBNkIsaUJBR3hCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsOEJBQThCLENBQUM7NEJBQzVELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUlELFNBQVM7c0JBRFIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQU9OLFlBQVk7c0JBRFgsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLEtBQUs7c0JBREosTUFBTTtnQkFJUCxPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xuXG5pbXBvcnQgeyBDb21tb25Gb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uLy4uL2Zvcm0vY29tbW9uLWZvcm0nO1xuaW1wb3J0IHsgVGltZVBpY2tlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vdGltZS1waWNrZXIvdGltZS1waWNrZXIudHlwZSc7XG5pbXBvcnQgeyBidWlsZEJlbSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IERhdGVOYXZSYW5nZSwgRGlzYWJsZWRUaW1lRm4sIFNpZGUgfSBmcm9tICcuLi8uLi9kYXRlLXBpY2tlci50eXBlJztcbmltcG9ydCB7IERhdGVQaWNrZXJUeXBlLCBNT05USCwgWUVBUiB9IGZyb20gJy4uL2NvbnN0YW50JztcbmltcG9ydCB7XG4gIGNvbXBvc2VEaXNhYmxlZERhdGVGbixcbiAgZ2V0VGltZVBpY2tlck1vZGVsLFxuICBnZXRUeXBlQnlOYXZSYW5nZSxcbiAgbWF4RGF0ZSxcbiAgbWluRGF0ZSxcbiAgbmV4dE5hdlJhbmdlVHlwZSxcbiAgc29ydERhdGVzLFxuICB1cGRhdGVEYXRlLFxuICB1cGRhdGVEYXRlQnlUaW1lTW9kZWwsXG59IGZyb20gJy4uL3V0aWwnO1xuXG5jb25zdCBiZW0gPSBidWlsZEJlbSgnYXVpLWRhdGUtcmFuZ2UtcGlja2VyLXBhbmVsJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1kYXRlLXJhbmdlLXBpY2tlci1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlUmFuZ2VQaWNrZXJQYW5lbENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VQaWNrZXJQYW5lbENvbXBvbmVudCBleHRlbmRzIENvbW1vbkZvcm1Db250cm9sPERheWpzW10+IHtcbiAgQElucHV0KClcbiAgY2xlYXJhYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBjbGVhclRleHQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzaG93VGltZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgc2hvd0Zvb3RlciA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWREYXRlOiAoZGF0ZTogRGF5anMsIG5hdlJhbmdlOiBEYXRlTmF2UmFuZ2UpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZFRpbWU6IHsgbGVmdDogRGlzYWJsZWRUaW1lRm47IHJpZ2h0OiBEaXNhYmxlZFRpbWVGbiB9ID0ge1xuICAgIGxlZnQ6ICgpID0+IG51bGwsXG4gICAgcmlnaHQ6ICgpID0+IG51bGwsXG4gIH07XG5cbiAgQElucHV0KClcbiAgd2Vla1N0YXJ0RGF5ID0gMDtcblxuICBASW5wdXQoKVxuICBtaW5EYXRlOiBEYXlqcztcblxuICBASW5wdXQoKVxuICBtYXhEYXRlOiBEYXlqcztcblxuICBAT3V0cHV0KClcbiAgY2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGNvbmZpcm0gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgYmVtID0gYmVtO1xuICBTaWRlID0gU2lkZTtcbiAgRGF0ZVBpY2tlclR5cGUgPSBEYXRlUGlja2VyVHlwZTtcbiAgbGVmdERhdGVSYW5nZSA9IERhdGVOYXZSYW5nZS5Nb250aDtcbiAgcmlnaHREYXRlUmFuZ2UgPSBEYXRlTmF2UmFuZ2UuTW9udGg7XG5cbiAgRk9PVEVSX0RBVEVfRk9STUFUID0gJ1lZWVktTU0tZGQnO1xuXG4gIGxlZnRBbmNob3IgPSBkYXlqcygpO1xuICByaWdodEFuY2hvciA9IGRheWpzKCkuYWRkKDEsIE1PTlRIKTtcblxuICBnZXQgbWF4SGVhZGVyQXZhaWwoKSB7XG4gICAgcmV0dXJuIG1pbkRhdGUodGhpcy5yaWdodEFuY2hvciwgdGhpcy5tYXhEYXRlKTtcbiAgfVxuXG4gIGdldCBtaW5IZWFkZXJBdmFpbCgpIHtcbiAgICByZXR1cm4gbWF4RGF0ZSh0aGlzLm1pbkRhdGUsIHRoaXMubGVmdEFuY2hvcik7XG4gIH1cblxuICAvLyDnlKjkuo7lrZjmlL4gcmFuZ2UgZGF0YSDluo/liJfvvIzmlbDph4/kuLogMiDml7bmuIXpmaRcbiAgcmFuZ2VWYWx1ZTogRGF5anNbXSA9IFtdO1xuXG4gIC8vIOeUqOS6jue7hOijheWMuemFjeaXpeacn+W6j+WIl1xuICBtYXRjaFZhbHVlczogRGF5anNbXTtcblxuICBzdGFydFRpbWU6IFRpbWVQaWNrZXJNb2RlbDtcbiAgZW5kVGltZTogVGltZVBpY2tlck1vZGVsO1xuXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUob2JqOiBEYXlqc1tdKSB7XG4gICAgc3VwZXIud3JpdGVWYWx1ZShvYmopO1xuICAgIHRoaXMucmFuZ2VWYWx1ZSA9IG9iaiB8fCBbXTtcbiAgICB0aGlzLm1hdGNoVmFsdWVzID0gWy4uLnRoaXMucmFuZ2VWYWx1ZV07XG4gICAgdGhpcy5zdGFydFRpbWUgPSBnZXRUaW1lUGlja2VyTW9kZWwob2JqPy5bMF0pO1xuICAgIHRoaXMuZW5kVGltZSA9IGdldFRpbWVQaWNrZXJNb2RlbChvYmo/LlsxXSk7XG4gICAgaWYgKG9iaj8ubGVuZ3RoID09PSAyKSB7XG4gICAgICB0aGlzLnJlb3JkZXIoc29ydERhdGVzKG9iaikpO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGNhbGVuZGFyUmFuZ2VDaGFuZ2UodHlwZTogRGF0ZU5hdlJhbmdlLCBzaWRlOiBTaWRlKSB7XG4gICAgaWYgKHNpZGUgPT09IFNpZGUuTGVmdCkge1xuICAgICAgdGhpcy5sZWZ0RGF0ZVJhbmdlID0gdHlwZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yaWdodERhdGVSYW5nZSA9IHR5cGU7XG4gICAgfVxuICB9XG5cbiAgLy8gcmFuZ2Ug57uE5Lu26IyD5Zu05Y+X5o6nXG4gIGdldERhdGVEaXNhYmxlZEZuKHNpZGU6IFNpZGUsIGNvbnN0cmFpblZhbHVlOiBEYXlqcykge1xuICAgIHJldHVybiBjb21wb3NlRGlzYWJsZWREYXRlRm4oKGRhdGU6IERheWpzLCBuYXZSYW5nZTogRGF0ZU5hdlJhbmdlKSA9PiB7XG4gICAgICBpZiAobmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5Nb250aCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAobmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5EZWNhZGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGVbc2lkZSA9PT0gU2lkZS5MZWZ0ID8gJ2lzQWZ0ZXInIDogJ2lzQmVmb3JlJ10oXG4gICAgICAgICAgY29uc3RyYWluVmFsdWUsXG4gICAgICAgICAgWUVBUixcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAhZGF0ZVtzaWRlID09PSBTaWRlLkxlZnQgPyAnaXNCZWZvcmUnIDogJ2lzQWZ0ZXInXShcbiAgICAgICAgY29uc3RyYWluVmFsdWUsXG4gICAgICAgIE1PTlRILFxuICAgICAgKTtcbiAgICB9LCB0aGlzLmRpc2FibGVkRGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldERpc2FibGVkVGltZUNhY2hlZEZuKHNpZGU6IFNpZGUpIHtcbiAgICBsZXQgY2FjaGVTZWxlY3RlZERhdGU6IERheWpzO1xuICAgIGxldCBjYWNoZURpc2FibGVkVGltZUZuOiBSZXR1cm5UeXBlPERpc2FibGVkVGltZUZuPjtcbiAgICByZXR1cm4gKHZhbHVlOiBEYXlqcywga2V5OiBrZXlvZiBSZXR1cm5UeXBlPERpc2FibGVkVGltZUZuPikgPT4ge1xuICAgICAgaWYgKHZhbHVlICE9PSBjYWNoZVNlbGVjdGVkRGF0ZSkge1xuICAgICAgICBjYWNoZURpc2FibGVkVGltZUZuID0gKHRoaXMuZGlzYWJsZWRUaW1lPy5bc2lkZV0gfHwgKCgpID0+IG51bGwpKShcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgKTtcbiAgICAgICAgY2FjaGVTZWxlY3RlZERhdGUgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjYWNoZURpc2FibGVkVGltZUZuPy5ba2V5XTtcbiAgICB9O1xuICB9XG5cbiAgbGVmdERpc2FibGVkVGltZUZuID0gdGhpcy5nZXREaXNhYmxlZFRpbWVDYWNoZWRGbihTaWRlLkxlZnQpO1xuICByaWdodERpc2FibGVkVGltZUZuID0gdGhpcy5nZXREaXNhYmxlZFRpbWVDYWNoZWRGbihTaWRlLlJpZ2h0KTtcblxuICBzZWxlY3RQaWNrZXJQYW5lbCh2YWx1ZTogRGF5anMsIHNpZGU6IFNpZGUpIHtcbiAgICBjb25zdCBuYXZSYW5nZSA9XG4gICAgICBzaWRlID09PSBTaWRlLkxlZnQgPyB0aGlzLmxlZnREYXRlUmFuZ2UgOiB0aGlzLnJpZ2h0RGF0ZVJhbmdlO1xuICAgIGNvbnN0IHR5cGUgPSBnZXRUeXBlQnlOYXZSYW5nZShuYXZSYW5nZSk7XG4gICAgY29uc3QgZGF0ZVZhbHVlID0gdXBkYXRlRGF0ZShcbiAgICAgIHNpZGUgPT09IFNpZGUuTGVmdCA/IHRoaXMubGVmdEFuY2hvciA6IHRoaXMucmlnaHRBbmNob3IsXG4gICAgICB2YWx1ZSxcbiAgICAgIHR5cGUsXG4gICAgKTtcbiAgICBjb25zdCBuZXh0UmFuZ2UgPSBuZXh0TmF2UmFuZ2VUeXBlKG5hdlJhbmdlLCBEYXRlTmF2UmFuZ2UuTW9udGgpO1xuXG4gICAgaWYgKHNpZGUgPT09IFNpZGUuTGVmdCkge1xuICAgICAgdGhpcy5sZWZ0QW5jaG9yID0gZGF0ZVZhbHVlO1xuICAgICAgdGhpcy5sZWZ0RGF0ZVJhbmdlID0gbmV4dFJhbmdlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJpZ2h0QW5jaG9yID0gZGF0ZVZhbHVlO1xuICAgICAgdGhpcy5yaWdodERhdGVSYW5nZSA9IG5leHRSYW5nZTtcbiAgICB9XG5cbiAgICBpZiAobmF2UmFuZ2UgIT09IERhdGVOYXZSYW5nZS5Nb250aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxlZnRBbmNob3IuaXNTYW1lKHRoaXMucmlnaHRBbmNob3IsIE1PTlRIKSkge1xuICAgICAgdGhpcy5yaWdodEFuY2hvciA9IHRoaXMucmlnaHRBbmNob3IuYWRkKDEsIE1PTlRIKTtcbiAgICB9XG5cbiAgICB0aGlzLnJhbmdlVmFsdWUgPVxuICAgICAgdGhpcy5yYW5nZVZhbHVlLmxlbmd0aCA9PT0gMlxuICAgICAgICA/IFtkYXRlVmFsdWVdXG4gICAgICAgIDogc29ydERhdGVzKFsuLi50aGlzLnJhbmdlVmFsdWUsIGRhdGVWYWx1ZV0pO1xuICAgIHRoaXMubWF0Y2hWYWx1ZXMgPSBbLi4udGhpcy5yYW5nZVZhbHVlXTtcbiAgICB0aGlzLnN5bmNUaW1lKCk7XG4gICAgaWYgKHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPT09IDIpIHtcbiAgICAgIHRoaXMucmVvcmRlcih0aGlzLnJhbmdlVmFsdWUpO1xuICAgICAgdGhpcy5jb25maXJtVmFsdWUodGhpcy5yYW5nZVZhbHVlLCAhdGhpcy5zaG93VGltZSk7XG4gICAgfVxuICB9XG5cbiAgcmVvcmRlcihzb3J0ZWREYXRlOiBEYXlqc1tdKSB7XG4gICAgaWYgKCFzb3J0ZWREYXRlWzBdLmlzU2FtZShzb3J0ZWREYXRlWzFdLCBNT05USCkpIHtcbiAgICAgIHRoaXMubGVmdEFuY2hvciA9IHVwZGF0ZURhdGUoXG4gICAgICAgIHRoaXMubGVmdEFuY2hvcixcbiAgICAgICAgc29ydGVkRGF0ZVswXSxcbiAgICAgICAgRGF0ZVBpY2tlclR5cGUuRGF5LFxuICAgICAgKTtcbiAgICAgIHRoaXMucmlnaHRBbmNob3IgPSB1cGRhdGVEYXRlKFxuICAgICAgICB0aGlzLmxlZnRBbmNob3IsXG4gICAgICAgIHNvcnRlZERhdGVbMV0sXG4gICAgICAgIERhdGVQaWNrZXJUeXBlLkRheSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaG92ZXJJdGVtKGRhdGU6IERheWpzKSB7XG4gICAgaWYgKHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMubWF0Y2hWYWx1ZXNbMV0gPSBkYXRlO1xuICAgIH1cbiAgfVxuXG4gIGNvbmZpcm1WYWx1ZSh2YWx1ZTogRGF5anNbXSwgY2xvc2VUaGVuID0gdHJ1ZSkge1xuICAgIHRoaXMuZW1pdFZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICBjbG9zZVRoZW4gJiYgdGhpcy5jb25maXJtLm5leHQoKTtcbiAgfVxuXG4gIHRpbWVDaGFuZ2UodGltZTogVGltZVBpY2tlck1vZGVsKSB7XG4gICAgaWYgKCF0aW1lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3luY1RpbWUoKTtcbiAgICBpZiAoIXRoaXMucmFuZ2VWYWx1ZT8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCBkYXRlID0gdXBkYXRlRGF0ZUJ5VGltZU1vZGVsKGRheWpzKCksIHRpbWUpO1xuICAgICAgdGhpcy5yYW5nZVZhbHVlID0gW2RhdGUsIGRhdGVdO1xuICAgICAgdGhpcy5tYXRjaFZhbHVlcyA9IFsuLi50aGlzLnJhbmdlVmFsdWVdO1xuICAgICAgdGhpcy5zdGFydFRpbWUgPSB0aGlzLmVuZFRpbWUgPSB0aW1lO1xuICAgIH1cbiAgICB0aGlzLmVtaXRWYWx1ZUNoYW5nZSh0aGlzLnJhbmdlVmFsdWUpO1xuICB9XG5cbiAgc3luY1RpbWUoKSB7XG4gICAgaWYgKHRoaXMuc2hvd1RpbWUgJiYgISF0aGlzLnJhbmdlVmFsdWU/Lmxlbmd0aCkge1xuICAgICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5yYW5nZVZhbHVlWzBdXG4gICAgICAgID8gdXBkYXRlRGF0ZUJ5VGltZU1vZGVsKHRoaXMucmFuZ2VWYWx1ZVswXSwgdGhpcy5zdGFydFRpbWUpXG4gICAgICAgIDogbnVsbDtcbiAgICAgIGNvbnN0IGVuZERhdGUgPSB0aGlzLnJhbmdlVmFsdWVbMV1cbiAgICAgICAgPyB1cGRhdGVEYXRlQnlUaW1lTW9kZWwodGhpcy5yYW5nZVZhbHVlWzFdLCB0aGlzLmVuZFRpbWUpXG4gICAgICAgIDogbnVsbDtcbiAgICAgIGlmICghdGhpcy5zdGFydFRpbWUgJiYgc3RhcnREYXRlKSB7XG4gICAgICAgIHRoaXMuc3RhcnRUaW1lID0gZ2V0VGltZVBpY2tlck1vZGVsKHRoaXMucmFuZ2VWYWx1ZVswXSk7XG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMuZW5kVGltZSAmJiBlbmREYXRlKSB7XG4gICAgICAgIHRoaXMuZW5kVGltZSA9IGdldFRpbWVQaWNrZXJNb2RlbCh0aGlzLnJhbmdlVmFsdWVbMV0pO1xuICAgICAgfVxuICAgICAgdGhpcy5yYW5nZVZhbHVlID0gW3N0YXJ0RGF0ZSwgZW5kRGF0ZV0uZmlsdGVyKGkgPT4gISFpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdjb250YWluZXInKVwiPlxuICA8ZGl2IFtjbGFzc109XCJiZW0uZWxlbWVudCgnaGVhZGVyJylcIj5cbiAgICA8YXVpLWNhbGVuZGFyLWhlYWRlclxuICAgICAgW2RhdGVOYXZSYW5nZV09XCJsZWZ0RGF0ZVJhbmdlXCJcbiAgICAgIFthbmNob3JdPVwibGVmdEFuY2hvclwiXG4gICAgICAobmF2UmFuZ2VDaGFuZ2UpPVwiY2FsZW5kYXJSYW5nZUNoYW5nZSgkZXZlbnQsIFNpZGUuTGVmdClcIlxuICAgICAgKGFuY2hvckNoYW5nZSk9XCJsZWZ0QW5jaG9yID0gJGV2ZW50XCJcbiAgICAgIFttYXhBdmFpbF09XCJtYXhIZWFkZXJBdmFpbFwiXG4gICAgICBbbWluQXZhaWxdPVwibWluRGF0ZVwiXG4gICAgPjwvYXVpLWNhbGVuZGFyLWhlYWRlcj5cbiAgICA8YXVpLWNhbGVuZGFyLWhlYWRlclxuICAgICAgW2RhdGVOYXZSYW5nZV09XCJyaWdodERhdGVSYW5nZVwiXG4gICAgICBbYW5jaG9yXT1cInJpZ2h0QW5jaG9yXCJcbiAgICAgIChuYXZSYW5nZUNoYW5nZSk9XCJjYWxlbmRhclJhbmdlQ2hhbmdlKCRldmVudCwgU2lkZS5SaWdodClcIlxuICAgICAgKGFuY2hvckNoYW5nZSk9XCJyaWdodEFuY2hvciA9ICRldmVudFwiXG4gICAgICBbbWluQXZhaWxdPVwibWluSGVhZGVyQXZhaWxcIlxuICAgICAgW21heEF2YWlsXT1cIm1heERhdGVcIlxuICAgID48L2F1aS1jYWxlbmRhci1oZWFkZXI+XG4gIDwvZGl2PlxuICA8ZGl2IFtjbGFzc109XCJiZW0uZWxlbWVudCgnYm9keScpXCI+XG4gICAgPGF1aS1waWNrZXItcGFuZWxcbiAgICAgIGNsYXNzPVwicGFuZWxfX3dyYXBwZXJcIlxuICAgICAgW25hdlJhbmdlXT1cImxlZnREYXRlUmFuZ2VcIlxuICAgICAgW3R5cGVdPVwiRGF0ZVBpY2tlclR5cGUuRGF5XCJcbiAgICAgIFthbmNob3JdPVwibGVmdEFuY2hvclwiXG4gICAgICBbbWF0Y2hEYXRlc109XCJtYXRjaFZhbHVlc1wiXG4gICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgW2Rpc2FibGVkRGF0ZV09XCJnZXREYXRlRGlzYWJsZWRGbihTaWRlLkxlZnQsIHJpZ2h0QW5jaG9yKVwiXG4gICAgICBbd2Vla1N0YXJ0RGF5XT1cIndlZWtTdGFydERheVwiXG4gICAgICAoaG92ZXJlZCk9XCJob3Zlckl0ZW0oJGV2ZW50KVwiXG4gICAgICAoc2VsZWN0KT1cInNlbGVjdFBpY2tlclBhbmVsKCRldmVudCwgU2lkZS5MZWZ0KVwiXG4gICAgPjwvYXVpLXBpY2tlci1wYW5lbD5cbiAgICA8YXVpLXBpY2tlci1wYW5lbFxuICAgICAgY2xhc3M9XCJwYW5lbF9fd3JhcHBlclwiXG4gICAgICBbbmF2UmFuZ2VdPVwicmlnaHREYXRlUmFuZ2VcIlxuICAgICAgW3R5cGVdPVwiRGF0ZVBpY2tlclR5cGUuRGF5XCJcbiAgICAgIFthbmNob3JdPVwicmlnaHRBbmNob3JcIlxuICAgICAgW3dlZWtTdGFydERheV09XCJ3ZWVrU3RhcnREYXlcIlxuICAgICAgW21hdGNoRGF0ZXNdPVwibWF0Y2hWYWx1ZXNcIlxuICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgIFtkaXNhYmxlZERhdGVdPVwiZ2V0RGF0ZURpc2FibGVkRm4oU2lkZS5SaWdodCwgbGVmdEFuY2hvcilcIlxuICAgICAgKGhvdmVyZWQpPVwiaG92ZXJJdGVtKCRldmVudClcIlxuICAgICAgKHNlbGVjdCk9XCJzZWxlY3RQaWNrZXJQYW5lbCgkZXZlbnQsIFNpZGUuUmlnaHQpXCJcbiAgICA+PC9hdWktcGlja2VyLXBhbmVsPlxuICA8L2Rpdj5cblxuICA8YXVpLWNhbGVuZGFyLWZvb3RlclxuICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnZm9vdGVyJylcIlxuICAgIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcbiAgICBbY2xlYXJUZXh0XT1cImNsZWFyVGV4dFwiXG4gICAgKGNsZWFyKT1cImNsZWFyLm5leHQoKVwiXG4gICAgKGNvbmZpcm0pPVwiY29uZmlybVZhbHVlKHJhbmdlVmFsdWUpXCJcbiAgICAqbmdJZj1cInNob3dGb290ZXIgJiYgc2hvd1RpbWVcIlxuICA+XG4gICAgPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2Zvb3Rlci1jb250ZW50JylcIiAqbmdJZj1cInNob3dUaW1lXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRhdGVQbGFjZWhvbGRlclwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgcGxhY2Vob2xkZXI6ICdzdGFydF9kYXRlJyB8IGF1aUkxOG4sXG4gICAgICAgICAgdmFsdWU6IHJhbmdlVmFsdWVbMF1cbiAgICAgICAgfVwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8YXVpLXRpbWUtcGlja2VyXG4gICAgICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic3RhcnRUaW1lXCJcbiAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidGltZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2Rpc2FibGVIb3Vyc109XCJsZWZ0RGlzYWJsZWRUaW1lRm4ocmFuZ2VWYWx1ZVswXSwgJ2hvdXJzJylcIlxuICAgICAgICBbZGlzYWJsZU1pbnV0ZXNdPVwibGVmdERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMF0sICdtaW51dGVzJylcIlxuICAgICAgICBbZGlzYWJsZVNlY29uZHNdPVwibGVmdERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMF0sICdzZWNvbmRzJylcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlbGVjdF90aW1lJyB8IGF1aUkxOG5cIlxuICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3Agc3RhcnRcIlxuICAgICAgPjwvYXVpLXRpbWUtcGlja2VyPlxuXG4gICAgICA8c3BhbiBjbGFzcz1cInBsYWNlaG9sZGVyIHNlcGFyYXRvclwiPnt7ICd0bycgfCBhdWlJMThuIH19PC9zcGFuPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkYXRlUGxhY2Vob2xkZXJcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgIHBsYWNlaG9sZGVyOiAnZW5kX2RhdGUnIHwgYXVpSTE4bixcbiAgICAgICAgICB2YWx1ZTogcmFuZ2VWYWx1ZVsxXVxuICAgICAgICB9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxhdWktdGltZS1waWNrZXJcbiAgICAgICAgW3Nob3dJY29uXT1cImZhbHNlXCJcbiAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJlbmRUaW1lXCJcbiAgICAgICAgW2Rpc2FibGVIb3Vyc109XCJyaWdodERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMV0sICdob3VycycpXCJcbiAgICAgICAgW2Rpc2FibGVNaW51dGVzXT1cInJpZ2h0RGlzYWJsZWRUaW1lRm4ocmFuZ2VWYWx1ZVsxXSwgJ21pbnV0ZXMnKVwiXG4gICAgICAgIFtkaXNhYmxlU2Vjb25kc109XCJyaWdodERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMV0sICdzZWNvbmRzJylcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0aW1lQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlbGVjdF90aW1lJyB8IGF1aUkxOG5cIlxuICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3Agc3RhcnRcIlxuICAgICAgPjwvYXVpLXRpbWUtcGlja2VyPlxuICAgIDwvZGl2PlxuICA8L2F1aS1jYWxlbmRhci1mb290ZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNkYXRlUGxhY2Vob2xkZXIgbGV0LXBsYWNlaG9sZGVyPVwicGxhY2Vob2xkZXJcIiBsZXQtdmFsdWU9XCJ2YWx1ZVwiPlxuICA8c3BhbiAqbmdJZj1cIiF2YWx1ZVwiIGNsYXNzPVwicGxhY2Vob2xkZXIgZGF0ZS1ob2xkZXJcIj57eyBwbGFjZWhvbGRlciB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJ2YWx1ZVwiIGNsYXNzPVwiZGF0ZS12YWx1ZSBkYXRlLWhvbGRlclwiPnt7XG4gICAgdmFsdWUgfCBkYXRlOiBGT09URVJfREFURV9GT1JNQVRcbiAgfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2NhbGVuZGFyL3JhbmdlLXBpY2tlci1wYW5lbC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZS1waWNrZXIvY2FsZW5kYXIvcmFuZ2UtcGlja2VyLXBhbmVsL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFrQixJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YscUJBQXFCLEdBQ3RCLE1BQU0sU0FBUyxDQUFDOzs7Ozs7Ozs7QUFFakIsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFnQnBELE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxpQkFBMEI7SUFkN0U7O1FBZ0JFLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFNakIsYUFBUSxHQUFHLElB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VUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdkQ7WUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6RDtJQUNILENBQUM7OzBIQXhOVSw2QkFBNkI7OEdBQTdCLDZCQUE2QixxVkFSN0I7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztZQUM1RCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsaURDM0NILDQwSEF5R0E7MkZENURhLDZCQUE2QjtrQkFkekMsU0FBUzsrQkFDRSw2QkFBNkIsaUJBR3hCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsOEJBQThCLENBQUM7NEJBQzVELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUlELFNBQVM7c0JBRFIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQU9OLFlBQVk7c0JBRFgsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLEtBQUs7c0JBREosTUFBTTtnQkFJUCxPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xuXG5pbXBvcnQgeyBDb21tb25Gb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uLy4uL2Zvcm0vY29tbW9uLWZvcm0nO1xuaW1wb3J0IHsgVGltZVBpY2tlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vdGltZS1waWNrZXIvdGltZS1waWNrZXIudHlwZSc7XG5pbXBvcnQgeyBidWlsZEJlbSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IERhdGVOYXZSYW5nZSwgRGlzYWJsZWRUaW1lRm4sIFNpZGUgfSBmcm9tICcuLi8uLi9kYXRlLXBpY2tlci50eXBlJztcbmltcG9ydCB7IERhdGVQaWNrZXJUeXBlLCBNT05USCwgWUVBUiB9IGZyb20gJy4uL2NvbnN0YW50JztcbmltcG9ydCB7XG4gIGNvbXBvc2VEaXNhYmxlZERhdGVGbixcbiAgZ2V0VGltZVBpY2tlck1vZGVsLFxuICBnZXRUeXBlQnlOYXZSYW5nZSxcbiAgbWF4RGF0ZSxcbiAgbWluRGF0ZSxcbiAgbmV4dE5hdlJhbmdlVHlwZSxcbiAgc29ydERhdGVzLFxuICB1cGRhdGVEYXRlLFxuICB1cGRhdGVEYXRlQnlUaW1lTW9kZWwsXG59IGZyb20gJy4uL3V0aWwnO1xuXG5jb25zdCBiZW0gPSBidWlsZEJlbSgnYXVpLWRhdGUtcmFuZ2UtcGlja2VyLXBhbmVsJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1kYXRlLXJhbmdlLXBpY2tlci1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlUmFuZ2VQaWNrZXJQYW5lbENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VQaWNrZXJQYW5lbENvbXBvbmVudCBleHRlbmRzIENvbW1vbkZvcm1Db250cm9sPERheWpzW10+IHtcbiAgQElucHV0KClcbiAgY2xlYXJhYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBjbGVhclRleHQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzaG93VGltZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgc2hvd0Zvb3RlciA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWREYXRlOiAoZGF0ZTogRGF5anMsIG5hdlJhbmdlOiBEYXRlTmF2UmFuZ2UpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZFRpbWU6IHsgbGVmdDogRGlzYWJsZWRUaW1lRm47IHJpZ2h0OiBEaXNhYmxlZFRpbWVGbiB9ID0ge1xuICAgIGxlZnQ6ICgpID0+IG51bGwsXG4gICAgcmlnaHQ6ICgpID0+IG51bGwsXG4gIH07XG5cbiAgQElucHV0KClcbiAgd2Vla1N0YXJ0RGF5ID0gMDtcblxuICBASW5wdXQoKVxuICBtaW5EYXRlOiBEYXlqcztcblxuICBASW5wdXQoKVxuICBtYXhEYXRlOiBEYXlqcztcblxuICBAT3V0cHV0KClcbiAgY2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGNvbmZpcm0gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgYmVtID0gYmVtO1xuICBTaWRlID0gU2lkZTtcbiAgRGF0ZVBpY2tlclR5cGUgPSBEYXRlUGlja2VyVHlwZTtcbiAgbGVmdERhdGVSYW5nZSA9IERhdGVOYXZSYW5nZS5Nb250aDtcbiAgcmlnaHREYXRlUmFuZ2UgPSBEYXRlTmF2UmFuZ2UuTW9udGg7XG5cbiAgRk9PVEVSX0RBVEVfRk9STUFUID0gJ1lZWVktTU0tZGQnO1xuXG4gIGxlZnRBbmNob3IgPSBkYXlqcygpO1xuICByaWdodEFuY2hvciA9IGRheWpzKCkuYWRkKDEsIE1PTlRIKTtcblxuICBnZXQgbWF4SGVhZGVyQXZhaWwoKSB7XG4gICAgcmV0dXJuIG1pbkRhdGUodGhpcy5yaWdodEFuY2hvciwgdGhpcy5tYXhEYXRlKTtcbiAgfVxuXG4gIGdldCBtaW5IZWFkZXJBdmFpbCgpIHtcbiAgICByZXR1cm4gbWF4RGF0ZSh0aGlzLm1pbkRhdGUsIHRoaXMubGVmdEFuY2hvcik7XG4gIH1cblxuICAvLyDnlKjkuo7lrZjmlL4gcmFuZ2UgZGF0YSDluo/liJfvvIzmlbDph4/kuLogMiDml7bmuIXpmaRcbiAgcmFuZ2VWYWx1ZTogRGF5anNbXSA9IFtdO1xuXG4gIC8vIOeUqOS6jue7hOijheWMuemFjeaXpeacn+W6j+WIl1xuICBtYXRjaFZhbHVlczogRGF5anNbXTtcblxuICBzdGFydFRpbWU6IFRpbWVQaWNrZXJNb2RlbDtcbiAgZW5kVGltZTogVGltZVBpY2tlck1vZGVsO1xuXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUob2JqOiBEYXlqc1tdKSB7XG4gICAgc3VwZXIud3JpdGVWYWx1ZShvYmopO1xuICAgIHRoaXMucmFuZ2VWYWx1ZSA9IG9iaiB8fCBbXTtcbiAgICB0aGlzLm1hdGNoVmFsdWVzID0gWy4uLnRoaXMucmFuZ2VWYWx1ZV07XG4gICAgdGhpcy5zdGFydFRpbWUgPSBnZXRUaW1lUGlja2VyTW9kZWwob2JqPy5bMF0pO1xuICAgIHRoaXMuZW5kVGltZSA9IGdldFRpbWVQaWNrZXJNb2RlbChvYmo/LlsxXSk7XG4gICAgaWYgKG9iaj8ubGVuZ3RoID09PSAyKSB7XG4gICAgICB0aGlzLnJlb3JkZXIoc29ydERhdGVzKG9iaikpO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGNhbGVuZGFyUmFuZ2VDaGFuZ2UodHlwZTogRGF0ZU5hdlJhbmdlLCBzaWRlOiBTaWRlKSB7XG4gICAgaWYgKHNpZGUgPT09IFNpZGUuTGVmdCkge1xuICAgICAgdGhpcy5sZWZ0RGF0ZVJhbmdlID0gdHlwZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yaWdodERhdGVSYW5nZSA9IHR5cGU7XG4gICAgfVxuICB9XG5cbiAgLy8gcmFuZ2Ug57uE5Lu26IyD5Zu05Y+X5o6nXG4gIGdldERhdGVEaXNhYmxlZEZuKHNpZGU6IFNpZGUsIGNvbnN0cmFpblZhbHVlOiBEYXlqcykge1xuICAgIHJldHVybiBjb21wb3NlRGlzYWJsZWREYXRlRm4oKGRhdGU6IERheWpzLCBuYXZSYW5nZTogRGF0ZU5hdlJhbmdlKSA9PiB7XG4gICAgICBpZiAobmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5Nb250aCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAobmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5EZWNhZGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGVbc2lkZSA9PT0gU2lkZS5MZWZ0ID8gJ2lzQWZ0ZXInIDogJ2lzQmVmb3JlJ10oXG4gICAgICAgICAgY29uc3RyYWluVmFsdWUsXG4gICAgICAgICAgWUVBUixcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAhZGF0ZVtzaWRlID09PSBTaWRlLkxlZnQgPyAnaXNCZWZvcmUnIDogJ2lzQWZ0ZXInXShcbiAgICAgICAgY29uc3RyYWluVmFsdWUsXG4gICAgICAgIE1PTlRILFxuICAgICAgKTtcbiAgICB9LCB0aGlzLmRpc2FibGVkRGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldERpc2FibGVkVGltZUNhY2hlZEZuKHNpZGU6IFNpZGUpIHtcbiAgICBsZXQgY2FjaGVTZWxlY3RlZERhdGU6IERheWpzO1xuICAgIGxldCBjYWNoZURpc2FibGVkVGltZUZuOiBSZXR1cm5UeXBlPERpc2FibGVkVGltZUZuPjtcbiAgICByZXR1cm4gKHZhbHVlOiBEYXlqcywga2V5OiBrZXlvZiBSZXR1cm5UeXBlPERpc2FibGVkVGltZUZuPikgPT4ge1xuICAgICAgaWYgKHZhbHVlICE9PSBjYWNoZVNlbGVjdGVkRGF0ZSkge1xuICAgICAgICBjYWNoZURpc2FibGVkVGltZUZuID0gKHRoaXMuZGlzYWJsZWRUaW1lPy5bc2lkZV0gfHwgKCgpID0+IG51bGwpKShcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgKTtcbiAgICAgICAgY2FjaGVTZWxlY3RlZERhdGUgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjYWNoZURpc2FibGVkVGltZUZuPy5ba2V5XTtcbiAgICB9O1xuICB9XG5cbiAgbGVmdERpc2FibGVkVGltZUZuID0gdGhpcy5nZXREaXNhYmxlZFRpbWVDYWNoZWRGbihTaWRlLkxlZnQpO1xuICByaWdodERpc2FibGVkVGltZUZuID0gdGhpcy5nZXREaXNhYmxlZFRpbWVDYWNoZWRGbihTaWRlLlJpZ2h0KTtcblxuICBzZWxlY3RQaWNrZXJQYW5lbCh2YWx1ZTogRGF5anMsIHNpZGU6IFNpZGUpIHtcbiAgICBjb25zdCBuYXZSYW5nZSA9XG4gICAgICBzaWRlID09PSBTaWRlLkxlZnQgPyB0aGlzLmxlZnREYXRlUmFuZ2UgOiB0aGlzLnJpZ2h0RGF0ZVJhbmdlO1xuICAgIGNvbnN0IHR5cGUgPSBnZXRUeXBlQnlOYXZSYW5nZShuYXZSYW5nZSk7XG4gICAgY29uc3QgZGF0ZVZhbHVlID0gdXBkYXRlRGF0ZShcbiAgICAgIHNpZGUgPT09IFNpZGUuTGVmdCA/IHRoaXMubGVmdEFuY2hvciA6IHRoaXMucmlnaHRBbmNob3IsXG4gICAgICB2YWx1ZSxcbiAgICAgIHR5cGUsXG4gICAgKTtcbiAgICBjb25zdCBuZXh0UmFuZ2UgPSBuZXh0TmF2UmFuZ2VUeXBlKG5hdlJhbmdlLCBEYXRlTmF2UmFuZ2UuTW9udGgpO1xuXG4gICAgaWYgKHNpZGUgPT09IFNpZGUuTGVmdCkge1xuICAgICAgdGhpcy5sZWZ0QW5jaG9yID0gZGF0ZVZhbHVlO1xuICAgICAgdGhpcy5sZWZ0RGF0ZVJhbmdlID0gbmV4dFJhbmdlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJpZ2h0QW5jaG9yID0gZGF0ZVZhbHVlO1xuICAgICAgdGhpcy5yaWdodERhdGVSYW5nZSA9IG5leHRSYW5nZTtcbiAgICB9XG5cbiAgICBpZiAobmF2UmFuZ2UgIT09IERhdGVOYXZSYW5nZS5Nb250aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxlZnRBbmNob3IuaXNTYW1lKHRoaXMucmlnaHRBbmNob3IsIE1PTlRIKSkge1xuICAgICAgdGhpcy5yaWdodEFuY2hvciA9IHRoaXMucmlnaHRBbmNob3IuYWRkKDEsIE1PTlRIKTtcbiAgICB9XG5cbiAgICB0aGlzLnJhbmdlVmFsdWUgPVxuICAgICAgdGhpcy5yYW5nZVZhbHVlLmxlbmd0aCA9PT0gMlxuICAgICAgICA/IFtkYXRlVmFsdWVdXG4gICAgICAgIDogc29ydERhdGVzKFsuLi50aGlzLnJhbmdlVmFsdWUsIGRhdGVWYWx1ZV0pO1xuICAgIHRoaXMubWF0Y2hWYWx1ZXMgPSBbLi4udGhpcy5yYW5nZVZhbHVlXTtcbiAgICB0aGlzLnN5bmNUaW1lKCk7XG4gICAgaWYgKHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPT09IDIpIHtcbiAgICAgIHRoaXMucmVvcmRlcih0aGlzLnJhbmdlVmFsdWUpO1xuICAgICAgdGhpcy5jb25maXJtVmFsdWUodGhpcy5yYW5nZVZhbHVlLCAhdGhpcy5zaG93VGltZSk7XG4gICAgfVxuICB9XG5cbiAgcmVvcmRlcihzb3J0ZWREYXRlOiBEYXlqc1tdKSB7XG4gICAgaWYgKCFzb3J0ZWREYXRlWzBdLmlzU2FtZShzb3J0ZWREYXRlWzFdLCBNT05USCkpIHtcbiAgICAgIHRoaXMubGVmdEFuY2hvciA9IHVwZGF0ZURhdGUoXG4gICAgICAgIHRoaXMubGVmdEFuY2hvcixcbiAgICAgICAgc29ydGVkRGF0ZVswXSxcbiAgICAgICAgRGF0ZVBpY2tlclR5cGUuRGF5LFxuICAgICAgKTtcbiAgICAgIHRoaXMucmlnaHRBbmNob3IgPSB1cGRhdGVEYXRlKFxuICAgICAgICB0aGlzLmxlZnRBbmNob3IsXG4gICAgICAgIHNvcnRlZERhdGVbMV0sXG4gICAgICAgIERhdGVQaWNrZXJUeXBlLkRheSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaG92ZXJJdGVtKGRhdGU6IERheWpzKSB7XG4gICAgaWYgKHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMubWF0Y2hWYWx1ZXNbMV0gPSBkYXRlO1xuICAgIH1cbiAgfVxuXG4gIGNvbmZpcm1WYWx1ZSh2YWx1ZTogRGF5anNbXSwgY2xvc2VUaGVuID0gdHJ1ZSkge1xuICAgIHRoaXMuZW1pdFZhbHVlKHZhbHVlKTtcbiAgICBjbG9zZVRoZW4gJiYgdGhpcy5jb25maXJtLm5leHQoKTtcbiAgfVxuXG4gIHRpbWVDaGFuZ2UodGltZTogVGltZVBpY2tlck1vZGVsKSB7XG4gICAgaWYgKCF0aW1lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3luY1RpbWUoKTtcbiAgICBpZiAoIXRoaXMucmFuZ2VWYWx1ZT8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCBkYXRlID0gdXBkYXRlRGF0ZUJ5VGltZU1vZGVsKGRheWpzKCksIHRpbWUpO1xuICAgICAgdGhpcy5yYW5nZVZhbHVlID0gW2RhdGUsIGRhdGVdO1xuICAgICAgdGhpcy5tYXRjaFZhbHVlcyA9IFsuLi50aGlzLnJhbmdlVmFsdWVdO1xuICAgICAgdGhpcy5zdGFydFRpbWUgPSB0aGlzLmVuZFRpbWUgPSB0aW1lO1xuICAgIH1cbiAgICB0aGlzLmVtaXRWYWx1ZSh0aGlzLnJhbmdlVmFsdWUpO1xuICB9XG5cbiAgc3luY1RpbWUoKSB7XG4gICAgaWYgKHRoaXMuc2hvd1RpbWUgJiYgISF0aGlzLnJhbmdlVmFsdWU/Lmxlbmd0aCkge1xuICAgICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5yYW5nZVZhbHVlWzBdXG4gICAgICAgID8gdXBkYXRlRGF0ZUJ5VGltZU1vZGVsKHRoaXMucmFuZ2VWYWx1ZVswXSwgdGhpcy5zdGFydFRpbWUpXG4gICAgICAgIDogbnVsbDtcbiAgICAgIGNvbnN0IGVuZERhdGUgPSB0aGlzLnJhbmdlVmFsdWVbMV1cbiAgICAgICAgPyB1cGRhdGVEYXRlQnlUaW1lTW9kZWwodGhpcy5yYW5nZVZhbHVlWzFdLCB0aGlzLmVuZFRpbWUpXG4gICAgICAgIDogbnVsbDtcbiAgICAgIGlmICghdGhpcy5zdGFydFRpbWUgJiYgc3RhcnREYXRlKSB7XG4gICAgICAgIHRoaXMuc3RhcnRUaW1lID0gZ2V0VGltZVBpY2tlck1vZGVsKHRoaXMucmFuZ2VWYWx1ZVswXSk7XG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMuZW5kVGltZSAmJiBlbmREYXRlKSB7XG4gICAgICAgIHRoaXMuZW5kVGltZSA9IGdldFRpbWVQaWNrZXJNb2RlbCh0aGlzLnJhbmdlVmFsdWVbMV0pO1xuICAgICAgfVxuICAgICAgdGhpcy5yYW5nZVZhbHVlID0gW3N0YXJ0RGF0ZSwgZW5kRGF0ZV0uZmlsdGVyKGkgPT4gISFpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdjb250YWluZXInKVwiPlxuICA8ZGl2IFtjbGFzc109XCJiZW0uZWxlbWVudCgnaGVhZGVyJylcIj5cbiAgICA8YXVpLWNhbGVuZGFyLWhlYWRlclxuICAgICAgW2RhdGVOYXZSYW5nZV09XCJsZWZ0RGF0ZVJhbmdlXCJcbiAgICAgIFthbmNob3JdPVwibGVmdEFuY2hvclwiXG4gICAgICAobmF2UmFuZ2VDaGFuZ2UpPVwiY2FsZW5kYXJSYW5nZUNoYW5nZSgkZXZlbnQsIFNpZGUuTGVmdClcIlxuICAgICAgKGFuY2hvckNoYW5nZSk9XCJsZWZ0QW5jaG9yID0gJGV2ZW50XCJcbiAgICAgIFttYXhBdmFpbF09XCJtYXhIZWFkZXJBdmFpbFwiXG4gICAgICBbbWluQXZhaWxdPVwibWluRGF0ZVwiXG4gICAgPjwvYXVpLWNhbGVuZGFyLWhlYWRlcj5cbiAgICA8YXVpLWNhbGVuZGFyLWhlYWRlclxuICAgICAgW2RhdGVOYXZSYW5nZV09XCJyaWdodERhdGVSYW5nZVwiXG4gICAgICBbYW5jaG9yXT1cInJpZ2h0QW5jaG9yXCJcbiAgICAgIChuYXZSYW5nZUNoYW5nZSk9XCJjYWxlbmRhclJhbmdlQ2hhbmdlKCRldmVudCwgU2lkZS5SaWdodClcIlxuICAgICAgKGFuY2hvckNoYW5nZSk9XCJyaWdodEFuY2hvciA9ICRldmVudFwiXG4gICAgICBbbWluQXZhaWxdPVwibWluSGVhZGVyQXZhaWxcIlxuICAgICAgW21heEF2YWlsXT1cIm1heERhdGVcIlxuICAgID48L2F1aS1jYWxlbmRhci1oZWFkZXI+XG4gIDwvZGl2PlxuICA8ZGl2IFtjbGFzc109XCJiZW0uZWxlbWVudCgnYm9keScpXCI+XG4gICAgPGF1aS1waWNrZXItcGFuZWxcbiAgICAgIGNsYXNzPVwicGFuZWxfX3dyYXBwZXJcIlxuICAgICAgW25hdlJhbmdlXT1cImxlZnREYXRlUmFuZ2VcIlxuICAgICAgW3R5cGVdPVwiRGF0ZVBpY2tlclR5cGUuRGF5XCJcbiAgICAgIFthbmNob3JdPVwibGVmdEFuY2hvclwiXG4gICAgICBbbWF0Y2hEYXRlc109XCJtYXRjaFZhbHVlc1wiXG4gICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgW2Rpc2FibGVkRGF0ZV09XCJnZXREYXRlRGlzYWJsZWRGbihTaWRlLkxlZnQsIHJpZ2h0QW5jaG9yKVwiXG4gICAgICBbd2Vla1N0YXJ0RGF5XT1cIndlZWtTdGFydERheVwiXG4gICAgICAoaG92ZXJlZCk9XCJob3Zlckl0ZW0oJGV2ZW50KVwiXG4gICAgICAoc2VsZWN0KT1cInNlbGVjdFBpY2tlclBhbmVsKCRldmVudCwgU2lkZS5MZWZ0KVwiXG4gICAgPjwvYXVpLXBpY2tlci1wYW5lbD5cbiAgICA8YXVpLXBpY2tlci1wYW5lbFxuICAgICAgY2xhc3M9XCJwYW5lbF9fd3JhcHBlclwiXG4gICAgICBbbmF2UmFuZ2VdPVwicmlnaHREYXRlUmFuZ2VcIlxuICAgICAgW3R5cGVdPVwiRGF0ZVBpY2tlclR5cGUuRGF5XCJcbiAgICAgIFthbmNob3JdPVwicmlnaHRBbmNob3JcIlxuICAgICAgW3dlZWtTdGFydERheV09XCJ3ZWVrU3RhcnREYXlcIlxuICAgICAgW21hdGNoRGF0ZXNdPVwibWF0Y2hWYWx1ZXNcIlxuICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgIFtkaXNhYmxlZERhdGVdPVwiZ2V0RGF0ZURpc2FibGVkRm4oU2lkZS5SaWdodCwgbGVmdEFuY2hvcilcIlxuICAgICAgKGhvdmVyZWQpPVwiaG92ZXJJdGVtKCRldmVudClcIlxuICAgICAgKHNlbGVjdCk9XCJzZWxlY3RQaWNrZXJQYW5lbCgkZXZlbnQsIFNpZGUuUmlnaHQpXCJcbiAgICA+PC9hdWktcGlja2VyLXBhbmVsPlxuICA8L2Rpdj5cblxuICA8YXVpLWNhbGVuZGFyLWZvb3RlclxuICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnZm9vdGVyJylcIlxuICAgIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcbiAgICBbY2xlYXJUZXh0XT1cImNsZWFyVGV4dFwiXG4gICAgKGNsZWFyKT1cImNsZWFyLm5leHQoKVwiXG4gICAgKGNvbmZpcm0pPVwiY29uZmlybVZhbHVlKHJhbmdlVmFsdWUpXCJcbiAgICAqbmdJZj1cInNob3dGb290ZXIgJiYgc2hvd1RpbWVcIlxuICA+XG4gICAgPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2Zvb3Rlci1jb250ZW50JylcIiAqbmdJZj1cInNob3dUaW1lXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRhdGVQbGFjZWhvbGRlclwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgcGxhY2Vob2xkZXI6ICdzdGFydF9kYXRlJyB8IGF1aUkxOG4sXG4gICAgICAgICAgdmFsdWU6IHJhbmdlVmFsdWVbMF1cbiAgICAgICAgfVwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8YXVpLXRpbWUtcGlja2VyXG4gICAgICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic3RhcnRUaW1lXCJcbiAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidGltZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2Rpc2FibGVIb3Vyc109XCJsZWZ0RGlzYWJsZWRUaW1lRm4ocmFuZ2VWYWx1ZVswXSwgJ2hvdXJzJylcIlxuICAgICAgICBbZGlzYWJsZU1pbnV0ZXNdPVwibGVmdERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMF0sICdtaW51dGVzJylcIlxuICAgICAgICBbZGlzYWJsZVNlY29uZHNdPVwibGVmdERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMF0sICdzZWNvbmRzJylcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlbGVjdF90aW1lJyB8IGF1aUkxOG5cIlxuICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3Agc3RhcnRcIlxuICAgICAgPjwvYXVpLXRpbWUtcGlja2VyPlxuXG4gICAgICA8c3BhbiBjbGFzcz1cInBsYWNlaG9sZGVyIHNlcGFyYXRvclwiPnt7ICd0bycgfCBhdWlJMThuIH19PC9zcGFuPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkYXRlUGxhY2Vob2xkZXJcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgIHBsYWNlaG9sZGVyOiAnZW5kX2RhdGUnIHwgYXVpSTE4bixcbiAgICAgICAgICB2YWx1ZTogcmFuZ2VWYWx1ZVsxXVxuICAgICAgICB9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxhdWktdGltZS1waWNrZXJcbiAgICAgICAgW3Nob3dJY29uXT1cImZhbHNlXCJcbiAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJlbmRUaW1lXCJcbiAgICAgICAgW2Rpc2FibGVIb3Vyc109XCJyaWdodERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMV0sICdob3VycycpXCJcbiAgICAgICAgW2Rpc2FibGVNaW51dGVzXT1cInJpZ2h0RGlzYWJsZWRUaW1lRm4ocmFuZ2VWYWx1ZVsxXSwgJ21pbnV0ZXMnKVwiXG4gICAgICAgIFtkaXNhYmxlU2Vjb25kc109XCJyaWdodERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMV0sICdzZWNvbmRzJylcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0aW1lQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlbGVjdF90aW1lJyB8IGF1aUkxOG5cIlxuICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3Agc3RhcnRcIlxuICAgICAgPjwvYXVpLXRpbWUtcGlja2VyPlxuICAgIDwvZGl2PlxuICA8L2F1aS1jYWxlbmRhci1mb290ZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNkYXRlUGxhY2Vob2xkZXIgbGV0LXBsYWNlaG9sZGVyPVwicGxhY2Vob2xkZXJcIiBsZXQtdmFsdWU9XCJ2YWx1ZVwiPlxuICA8c3BhbiAqbmdJZj1cIiF2YWx1ZVwiIGNsYXNzPVwicGxhY2Vob2xkZXIgZGF0ZS1ob2xkZXJcIj57eyBwbGFjZWhvbGRlciB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJ2YWx1ZVwiIGNsYXNzPVwiZGF0ZS12YWx1ZSBkYXRlLWhvbGRlclwiPnt7XG4gICAgdmFsdWUgfCBkYXRlOiBGT09URVJfREFURV9GT1JNQVRcbiAgfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -124,7 +124,10 @@ export function getTimePickerModel(date) {
124
124
  }
125
125
  export function updateDateByTimeModel(date, time) {
126
126
  return time
127
- ? date.hour(time.hour).minute(time.minute).second(time.second)
127
+ ? date
128
+ .set('hour', time.hour || 0)
129
+ .set('minute', time.minute || 0)
130
+ .set('second', time.second || 0)
128
131
  : date;
129
132
  }
130
133
  export const composeDisabledDateFn = (...fns) => (date, navRange) => !fns.filter(i => !!i).every(fn => !fn(date, navRange));
@@ -134,4 +137,4 @@ export function minDate(a, b, unit = 'date') {
134
137
  export function maxDate(a, b, unit = 'date') {
135
138
  return !a ? b : !b ? a : a.isAfter(b, unit) ? a : b;
136
139
  }
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9jYWxlbmRhci91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxZQUFZLEVBQWtCLE1BQU0scUJBQXFCLENBQUM7QUFFbkUsT0FBTyxFQUNMLGVBQWUsRUFDZixVQUFVLEVBQ1YsR0FBRyxFQUNILHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLEtBQUssRUFDTCx3QkFBd0IsRUFDeEIscUJBQXFCLEVBQ3JCLElBQUksRUFDSix1QkFBdUIsRUFDdkIsb0JBQW9CLEdBQ3JCLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE1BQU0sT0FBTyxRQUFRO0lBT25CLFlBQW1CLEtBQVksRUFBUyxLQUFzQjtRQUEzQyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBaUI7SUFBRyxDQUFDO0NBQ25FO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxJQUFXLEVBQ1gsUUFBc0IsRUFDdEIsWUFBb0I7SUFFcEIsSUFBSSxTQUFnQixDQUFDO0lBQ3JCLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNmLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEIsSUFBSSxRQUFRLEtBQUssWUFBWSxDQUFDLEtBQUssRUFBRTtRQUNuQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1QyxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDM0IsU0FBUyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzNDO1FBQ0QsTUFBTSxHQUFHLHNCQUFzQixHQUFHLG1CQUFtQixDQUFDO0tBQ3ZEO1NBQU0sSUFBSSxRQUFR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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERheWpzLCBVbml0VHlwZSB9IGZyb20gJ2RheWpzJztcblxuaW1wb3J0IHsgVGltZVBpY2tlck1vZGVsIH0gZnJvbSAnLi4vLi4vdGltZS1waWNrZXIvdGltZS1waWNrZXIudHlwZSc7XG5pbXBvcnQgeyBEYXRlTmF2UmFuZ2UsIERpc2FibGVkRGF0ZUZuIH0gZnJvbSAnLi4vZGF0ZS1waWNrZXIudHlwZSc7XG5cbmltcG9ydCB7XG4gIERBVEVfTkFWX1JBTkdFUyxcbiAgREFURV9UWVBFUyxcbiAgREFZLFxuICBEQVlfUEFORUxfQ09MVU1OX0NPVU5ULFxuICBEQVlfUEFORUxfUk9XX0NPVU5ULFxuICBEYXRlUGlja2VyVHlwZSxcbiAgTU9OVEgsXG4gIE1PTlRIX1BBTkVMX0NPTFVNTl9DT1VOVCxcbiAgTU9OVEhfUEFORUxfUk9XX0NPVU5ULFxuICBZRUFSLFxuICBZRUFSX1BBTkVMX0NPTFVNTl9DT1VOVCxcbiAgWUVBUl9QQU5FTF9ST1dfQ09VTlQsXG59IGZyb20gJy4vY29uc3RhbnQnO1xuXG5leHBvcnQgY2xhc3MgRGF0ZUNlbGwge1xuICBpc0JhY2tncm91bmQ/OiBib29sZWFuOyAvLyDpnaLmnb/kuK3pnZ7mnKzmnIjml6XmnJ9cbiAgaW5SYW5nZT86IGJvb2xlYW47IC8vIOWcqOiMg+WbtOe7hOS7tueahOiMg+WbtOWGhVxuICBpc1JhbmdlU3RhcnQ/OiBib29sZWFuOyAvLyDojIPlm7Tnu4Tku7bnmoTojIPlm7TlvIDlp4vml6XmnJ9cbiAgaXNSYW5nZUVuZD86IGJvb2xlYW47IC8vIOiMg+WbtOe7hOS7tueahOiMg+WbtOe7k+adn+aXpeacn1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdmFsdWU6IERheWpzLCBwdWJsaWMgbGFiZWw6IHN0cmluZyB8IG51bWJlcikge31cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGVQYW5lbEl0ZXJhYmxlKFxuICBkYXRlOiBEYXlqcyxcbiAgbmF2UmFuZ2U6IERhdGVOYXZSYW5nZSxcbiAgd2Vla1N0YXJ0RGF5OiBudW1iZXIsXG4pOiBJdGVyYWJsZTxEYXlqcz4gJiBJdGVyYXRvcjxEYXlqcz4ge1xuICBsZXQgZmlyc3REYXRhOiBEYXlqcztcbiAgbGV0IGNvdW50cyA9IDA7XG4gIGRhdGUgPSBkYXRlLmNsb25lKCk7XG4gIGlmIChuYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLk1vbnRoKSB7XG4gICAgZmlyc3REYXRhID0gZGF0ZS5kYXRlKC0xKS5kYXkod2Vla1N0YXJ0RGF5KTtcbiAgICBpZiAoZmlyc3REYXRhLmlzQWZ0ZXIoZGF0ZSkpIHtcbiAgICAgIGZpcnN0RGF0YSA9IGZpcnN0RGF0YS5zdWJ0cmFjdCgxLCAnd2VlaycpO1xuICAgIH1cbiAgICBjb3VudHMgPSBEQVlfUEFORUxfQ09MVU1OX0NPVU5UICogREFZX1BBTkVMX1JPV19DT1VOVDtcbiAgfSBlbHNlIGlmIChuYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLlllYXIpIHtcbiAgICBmaXJzdERhdGEgPSBkYXRlLm1vbnRoKDApO1xuICAgIGNvdW50cyA9IE1PTlRIX1BBTkVMX0NPTFVNTl9DT1VOVCAqIE1PTlRIX1BBTkVMX1JPV19DT1VOVDtcbiAgfSBlbHNlIGlmIChuYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLkRlY2FkZSkge1xuICAgIGZpcnN0RGF0YSA9IGRhdGUuc3VidHJhY3QoMSwgWUVBUik7XG4gICAgY291bnRzID0gWUVBUl9QQU5FTF9DT0xVTU5fQ09VTlQgKiBZRUFSX1BBTkVMX1JPV19DT1VOVDtcbiAgfVxuICBsZXQgaSA9IDA7XG4gIHJldHVybiB7XG4gICAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9LFxuICAgIG5leHQ6ICgpID0+IHtcbiAgICAgIGlmIChpIDwgY291bnRzKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdmFsdWU6IGZpcnN0RGF0YS5hZGQoXG4gICAgICAgICAgICBpKyssXG4gICAgICAgICAgICBuYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLk1vbnRoXG4gICAgICAgICAgICAgID8gREFZXG4gICAgICAgICAgICAgIDogbmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5ZZWFyXG4gICAgICAgICAgICAgID8gTU9OVEhcbiAgICAgICAgICAgICAgOiBZRUFSLFxuICAgICAgICAgICksXG4gICAgICAgICAgZG9uZTogZmFsc2UsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkb25lOiB0cnVlLFxuICAgICAgICB2YWx1ZTogbnVsbCxcbiAgICAgIH07XG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdERhdGUodHlwZTogRGF0ZU5hdlJhbmdlLCBkYXRlVmFsdWU6IERheWpzLCBkYXRlOiBEYXlqcykge1xuICBpZiAoIWRhdGVWYWx1ZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGxhYmVsID1cbiAgICB0eXBlID09PSBEYXRlTmF2UmFuZ2UuRGVjYWRlXG4gICAgICA/IGRhdGVWYWx1ZS55ZWFyKClcbiAgICAgIDogdHlwZSA9PT0gRGF0ZU5hdlJhbmdlLlllYXJcbiAgICAgID8gZGF0ZVZhbHVlLm1vbnRoKCkgKyAxXG4gICAgICA6IGRhdGVWYWx1ZS5kYXRlKCk7XG4gIGNvbnN0IGNlbGwgPSBuZXcgRGF0ZUNlbGwoZGF0ZVZhbHVlLCBsYWJlbCk7XG4gIGlmICh0eXBlID09PSBEYXRlTmF2UmFuZ2UuTW9udGggJiYgZGF0ZS5tb250aCgpICE9PSBkYXRlVmFsdWUubW9udGgoKSkge1xuICAgIGNlbGwuaXNCYWNrZ3JvdW5kID0gdHJ1ZTtcbiAgfVxuICByZXR1cm4gY2VsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5leHREYXRlUGlja2VyVHlwZShcbiAgY3VycmVudDogRGF0ZVBpY2tlclR5cGUsXG4gIGd1YXJkPzogRGF0ZVBpY2tlclR5cGUsXG4pIHtcbiAgY29uc3QgZ3VhcmRJbmRleCA9IGd1YXJkID8gREFURV9UWVBFUy5pbmRleE9mKGd1YXJkKSA6IERBVEVfVFlQRVMubGVuZ3RoIC0gMTtcbiAgY29uc3QgY3VycmVudEluZGV4ID0gREFURV9UWVBFUy5pbmRleE9mKGN1cnJlbnQpO1xuICBpZiAoY3VycmVudEluZGV4IDwgZ3VhcmRJbmRleCkge1xuICAgIHJldHVybiBEQVRFX1RZUEVTW2N1cnJlbnRJbmRleCArIDFdO1xuICB9XG4gIHJldHVybiBjdXJyZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbmV4dE5hdlJhbmdlVHlwZShjdXJyZW50OiBEYXRlTmF2UmFuZ2UsIGd1YXJkPzogRGF0ZU5hdlJhbmdlKSB7XG4gIGNvbnN0IGd1YXJkSW5kZXggPSBndWFyZFxuICAgID8gREFURV9OQVZfUkFOR0VTLmluZGV4T2YoZ3VhcmQpXG4gICAgOiBEQVRFX05BVl9SQU5HRVMubGVuZ3RoIC0gMTtcbiAgY29uc3QgY3VycmVudEluZGV4ID0gREFURV9OQVZfUkFOR0VTLmluZGV4T2YoY3VycmVudCk7XG4gIGlmIChjdXJyZW50SW5kZXggPCBndWFyZEluZGV4KSB7XG4gICAgcmV0dXJuIERBVEVfTkFWX1JBTkdFU1tjdXJyZW50SW5kZXggKyAxXTtcbiAgfVxuICByZXR1cm4gY3VycmVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZURhdGUoXG4gIHNvdXJjZVZhbHVlOiBEYXlqcyxcbiAgbmV3VmFsdWU6IERheWpzLFxuICB0eXBlOiBEYXRlUGlja2VyVHlwZSxcbikge1xuICBjb25zdCB1cGRhdGVUeXBlcyA9IERBVEVfVFlQRVMuc2xpY2UoMCwgREFURV9UWVBFUy5pbmRleE9mKHR5cGUpICsgMSk7XG4gIHJldHVybiB1cGRhdGVUeXBlcy5yZWR1Y2UoXG4gICAgKGFjYywgY3VycikgPT4gYWNjLnNldChjdXJyLCBuZXdWYWx1ZS5nZXQoY3VycikpLFxuICAgIHNvdXJjZVZhbHVlLmNsb25lKCksXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxjUmFuZ2VWYWx1ZSh0eXBlOiBEYXRlTmF2UmFuZ2UsIGRhdGU6IERheWpzKSB7XG4gIGRhdGUgPSBkYXRlLmNsb25lKCk7XG4gIHJldHVybiBbRGF0ZU5hdlJhbmdlLk1vbnRoLCBEYXRlUGlja2VyVHlwZS5ZZWFyXS5pbmNsdWRlcyh0eXBlKVxuICAgID8ge1xuICAgICAgICBzdGFydDogZGF0ZSxcbiAgICAgIH1cbiAgICA6IHtcbiAgICAgICAgc3RhcnQ6IGRhdGUuc3VidHJhY3QoZGF0ZS55ZWFyKCkgJSAxMCwgWUVBUiksXG4gICAgICAgIGVuZDogZGF0ZS5hZGQoOSAtIChkYXRlLnllYXIoKSAlIDEwKSwgWUVBUiksXG4gICAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc29ydERhdGVzKGRhdGVzOiBEYXlqc1tdKSB7XG4gIHJldHVybiBbLi4uKGRhdGVzIHx8IFtdKV0uc29ydCgoYSwgYikgPT5cbiAgICBhLmlzQmVmb3JlKGIpID8gLTEgOiBhLmlzU2FtZShiKSA/IDAgOiAxLFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmF2UmFuZ2VCeVR5cGUodHlwZTogRGF0ZVBpY2tlclR5cGUpIHtcbiAgcmV0dXJuIHtcbiAgICBbRGF0ZVBpY2tlclR5cGUuRGF5XTogRGF0ZU5hdlJhbmdlLk1vbnRoLFxuICAgIFtEYXRlUGlja2VyVHlwZS5Nb250aF06IERhdGVOYXZSYW5nZS5ZZWFyLFxuICAgIFtEYXRlUGlja2VyVHlwZS5ZZWFyXTogRGF0ZU5hdlJhbmdlLkRlY2FkZSxcbiAgfVt0eXBlXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFR5cGVCeU5hdlJhbmdlKG5hdlJhbmdlOiBEYXRlTmF2UmFuZ2UpIHtcbiAgcmV0dXJuIHtcbiAgICBbRGF0ZU5hdlJhbmdlLk1vbnRoXTogRGF0ZVBpY2tlclR5cGUuRGF5LFxuICAgIFtEYXRlTmF2UmFuZ2UuWWVhcl06IERhdGVQaWNrZXJUeXBlLk1vbnRoLFxuICAgIFtEYXRlTmF2UmFuZ2UuRGVjYWRlXTogRGF0ZVBpY2tlclR5cGUuWWVhcixcbiAgfVtuYXZSYW5nZV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUaW1lUGlja2VyTW9kZWwoZGF0ZTogRGF5anMpOiBUaW1lUGlja2VyTW9kZWwge1xuICByZXR1cm4gZGF0ZVxuICAgID8ge1xuICAgICAgICBzZWNvbmQ6IGRhdGUuc2Vjb25kKCksXG4gICAgICAgIG1pbnV0ZTogZGF0ZS5taW51dGUoKSxcbiAgICAgICAgaG91cjogZGF0ZS5ob3VyKCksXG4gICAgICB9XG4gICAgOiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlRGF0ZUJ5VGltZU1vZGVsKGRhdGU6IERheWpzLCB0aW1lOiBUaW1lUGlja2VyTW9kZWwpIHtcbiAgcmV0dXJuIHRpbWVcbiAgICA/IGRhdGUuaG91cih0aW1lLmhvdXIpLm1pbnV0ZSh0aW1lLm1pbnV0ZSkuc2Vjb25kKHRpbWUuc2Vjb25kKVxuICAgIDogZGF0ZTtcbn1cblxuZXhwb3J0IGNvbnN0IGNvbXBvc2VEaXNhYmxlZERhdGVGbiA9ICguLi5mbnM6IERpc2FibGVkRGF0ZUZuW10pID0+IChcbiAgZGF0ZTogRGF5anMsXG4gIG5hdlJhbmdlOiBEYXRlTmF2UmFuZ2UsXG4pID0+ICFmbnMuZmlsdGVyKGkgPT4gISFpKS5ldmVyeShmbiA9PiAhZm4oZGF0ZSwgbmF2UmFuZ2UpKTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1pbkRhdGUoYTogRGF5anMsIGI6IERheWpzLCB1bml0OiBVbml0VHlwZSA9ICdkYXRlJykge1xuICByZXR1cm4gIWEgPyBiIDogIWIgPyBhIDogYS5pc0JlZm9yZShiLCB1bml0KSA/IGEgOiBiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF4RGF0ZShhOiBEYXlqcywgYjogRGF5anMsIHVuaXQ6IFVuaXRUeXBlID0gJ2RhdGUnKSB7XG4gIHJldHVybiAhYSA/IGIgOiAhYiA/IGEgOiBhLmlzQWZ0ZXIoYiwgdW5pdCkgPyBhIDogYjtcbn1cbiJdfQ==
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9jYWxlbmRhci91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxZQUFZLEVBQWtCLE1BQU0scUJBQXFCLENBQUM7QUFFbkUsT0FBTyxFQUNMLGVBQWUsRUFDZixVQUFVLEVBQ1YsR0FBRyxFQUNILHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLEtBQUssRUFDTCx3QkFBd0IsRUFDeEIscUJBQXFCLEVBQ3JCLElBQUksRUFDSix1QkFBdUIsRUFDdkIsb0JBQW9CLEdBQ3JCLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE1BQU0sT0FBTyxRQUFRO0lBT25CLFlBQW1CLEtBQVksRUFBUyxLQUFzQjtRQUEzQyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBaUI7SUFBRyxDQUFDO0NBQ25FO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxJQUFXLEVBQ1gsUUFBc0IsRUFDdEIsWUFBb0I7SUFFcEIsSUFBSSxTQUFnQixDQUFDO0lBQ3JCLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNmLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEIsSUFBSSxRQUFRLEtBQUssWUFBWSxDQUFDLEtBQUssRUFBRTtRQUNuQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1QyxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDM0IsU0FBUyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzNDO1FBQ0QsTUFBTSxHQUFHLHNCQUFzQixHQUFHLG1CQUFtQixDQUFDO0tBQ3ZEO1NBQU0sSUFBSSxRQUFRLEtBQUssWUFBWSxDQUFDLElBQUksRUFBRTtRQUN6QyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLEdBQUcsd0JBQXdCLEdBQUcscUJBQXFCLENBQUM7S0FDM0Q7U0FBTSxJQUFJLFFBQVEsS0FBSyxZQUFZLENBQUMsTUFBTSxFQUFFO1FBQzNDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuQyxNQUFNLEdBQUcsdUJBQXVCLEdBQUcsb0JBQW9CLENBQUM7S0FDekQ7SUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDVixPQUFPO1FBQ0wsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1lBQ2YsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxFQUFFLEdBQUcsRUFBRTtZQUNULElBQUksQ0FBQyxHQUFHLE1BQU0sRUFBRTtnQkFDZCxPQUFPO29CQUNMLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUNsQixDQUFDLEVBQUUsRUFDSCxRQUFRLEtBQUssWUFBWSxDQUFDLEtBQUs7d0JBQzdCLENBQUMsQ0FBQyxHQUFHO3dCQUNMLENBQUMsQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLElBQUk7NEJBQ2hDLENBQUMsQ0FBQyxLQUFLOzRCQUNQLENBQUMsQ0FBQyxJQUFJLENBQ1Q7b0JBQ0QsSUFBSSxFQUFFLEtBQUs7aUJBQ1osQ0FBQzthQUNIO1lBQ0QsT0FBTztnQkFDTCxJQUFJLEVBQUUsSUFBSTtnQkFDVixLQUFLLEVBQUUsSUFBSTthQUNaLENBQUM7UUFDSixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQWtCLEVBQUUsU0FBZ0IsRUFBRSxJQUFXO0lBQzFFLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDZCxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsTUFBTSxLQUFLLEdBQ1QsSUFBSSxLQUFLLFlBQVksQ0FBQyxNQUFNO1FBQzFCLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO1FBQ2xCLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLElBQUk7WUFDNUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVDLElBQUksSUFBSSxLQUFLLFlBQVksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNyRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztLQUMxQjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsT0FBdUIsRUFDdkIsS0FBc0I7SUFFdEIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUM3RSxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELElBQUksWUFBWSxHQUFHLFVBQVUsRUFBRTtRQUM3QixPQUFPLFVBQVUsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDckM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE9BQXFCLEVBQUUsS0FBb0I7SUFDMUUsTUFBTSxVQUFVLEdBQUcsS0FBSztRQUN0QixDQUFDLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDaEMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsSUFBSSxZQUFZLEdBQUcsVUFBVSxFQUFFO1FBQzdCLE9BQU8sZUFBZSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztLQUMxQztJQUNELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUN4QixXQUFrQixFQUNsQixRQUFlLEVBQ2YsSUFBb0I7SUFFcEIsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RSxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQ3ZCLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUNoRCxXQUFXLENBQUMsS0FBSyxFQUFFLENBQ3BCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxJQUFrQixFQUFFLElBQVc7SUFDNUQsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNwQixPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUM3RCxDQUFDLENBQUM7WUFDRSxLQUFLLEVBQUUsSUFBSTtTQUNaO1FBQ0gsQ0FBQyxDQUFDO1lBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUM7WUFDNUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQztTQUM1QyxDQUFDO0FBQ1IsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBYztJQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUN0QyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3pDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQW9CO0lBQ3BELE9BQU87UUFDTCxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxZQUFZLENBQUMsS0FBSztRQUN4QyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRSxZQUFZLENBQUMsSUFBSTtRQUN6QyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZLENBQUMsTUFBTTtLQUMzQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ1YsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxRQUFzQjtJQUN0RCxPQUFPO1FBQ0wsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsY0FBYyxDQUFDLEdBQUc7UUFDeEMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYyxDQUFDLEtBQUs7UUFDekMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsY0FBYyxDQUFDLElBQUk7S0FDM0MsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsSUFBVztJQUM1QyxPQUFPLElBQUk7UUFDVCxDQUFDLENBQUM7WUFDRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtTQUNsQjtRQUNILENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDWCxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFDLElBQVcsRUFBRSxJQUFxQjtJQUN0RSxPQUFPLElBQUk7UUFDVCxDQUFDLENBQUMsSUFBSTthQUNELEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7YUFDM0IsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQzthQUMvQixHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDWCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxHQUFHLEdBQXFCLEVBQUUsRUFBRSxDQUFDLENBQ2pFLElBQVcsRUFDWCxRQUFzQixFQUN0QixFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBRTVELE1BQU0sVUFBVSxPQUFPLENBQUMsQ0FBUSxFQUFFLENBQVEsRUFBRSxPQUFpQixNQUFNO0lBQ2pFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLENBQVEsRUFBRSxDQUFRLEVBQUUsT0FBaUIsTUFBTTtJQUNqRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF5anMsIFVuaXRUeXBlIH0gZnJvbSAnZGF5anMnO1xuXG5pbXBvcnQgeyBUaW1lUGlja2VyTW9kZWwgfSBmcm9tICcuLi8uLi90aW1lLXBpY2tlci90aW1lLXBpY2tlci50eXBlJztcbmltcG9ydCB7IERhdGVOYXZSYW5nZSwgRGlzYWJsZWREYXRlRm4gfSBmcm9tICcuLi9kYXRlLXBpY2tlci50eXBlJztcblxuaW1wb3J0IHtcbiAgREFURV9OQVZfUkFOR0VTLFxuICBEQVRFX1RZUEVTLFxuICBEQVksXG4gIERBWV9QQU5FTF9DT0xVTU5fQ09VTlQsXG4gIERBWV9QQU5FTF9ST1dfQ09VTlQsXG4gIERhdGVQaWNrZXJUeXBlLFxuICBNT05USCxcbiAgTU9OVEhfUEFORUxfQ09MVU1OX0NPVU5ULFxuICBNT05USF9QQU5FTF9ST1dfQ09VTlQsXG4gIFlFQVIsXG4gIFlFQVJfUEFORUxfQ09MVU1OX0NPVU5ULFxuICBZRUFSX1BBTkVMX1JPV19DT1VOVCxcbn0gZnJvbSAnLi9jb25zdGFudCc7XG5cbmV4cG9ydCBjbGFzcyBEYXRlQ2VsbCB7XG4gIGlzQmFja2dyb3VuZD86IGJvb2xlYW47IC8vIOmdouadv+S4remdnuacrOaciOaXpeacn1xuICBpblJhbmdlPzogYm9vbGVhbjsgLy8g5Zyo6IyD5Zu057uE5Lu255qE6IyD5Zu05YaFXG4gIGlzUmFuZ2VTdGFydD86IGJvb2xlYW47IC8vIOiMg+WbtOe7hOS7tueahOiMg+WbtOW8gOWni+aXpeacn1xuICBpc1JhbmdlRW5kPzogYm9vbGVhbjsgLy8g6IyD5Zu057uE5Lu255qE6IyD5Zu057uT5p2f5pel5pyfXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2YWx1ZTogRGF5anMsIHB1YmxpYyBsYWJlbDogc3RyaW5nIHwgbnVtYmVyKSB7fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGF0ZVBhbmVsSXRlcmFibGUoXG4gIGRhdGU6IERheWpzLFxuICBuYXZSYW5nZTogRGF0ZU5hdlJhbmdlLFxuICB3ZWVrU3RhcnREYXk6IG51bWJlcixcbik6IEl0ZXJhYmxlPERheWpzPiAmIEl0ZXJhdG9yPERheWpzPiB7XG4gIGxldCBmaXJzdERhdGE6IERheWpzO1xuICBsZXQgY291bnRzID0gMDtcbiAgZGF0ZSA9IGRhdGUuY2xvbmUoKTtcbiAgaWYgKG5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuTW9udGgpIHtcbiAgICBmaXJzdERhdGEgPSBkYXRlLmRhdGUoLTEpLmRheSh3ZWVrU3RhcnREYXkpO1xuICAgIGlmIChmaXJzdERhdGEuaXNBZnRlcihkYXRlKSkge1xuICAgICAgZmlyc3REYXRhID0gZmlyc3REYXRhLnN1YnRyYWN0KDEsICd3ZWVrJyk7XG4gICAgfVxuICAgIGNvdW50cyA9IERBWV9QQU5FTF9DT0xVTU5fQ09VTlQgKiBEQVlfUEFORUxfUk9XX0NPVU5UO1xuICB9IGVsc2UgaWYgKG5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuWWVhcikge1xuICAgIGZpcnN0RGF0YSA9IGRhdGUubW9udGgoMCk7XG4gICAgY291bnRzID0gTU9OVEhfUEFORUxfQ09MVU1OX0NPVU5UICogTU9OVEhfUEFORUxfUk9XX0NPVU5UO1xuICB9IGVsc2UgaWYgKG5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuRGVjYWRlKSB7XG4gICAgZmlyc3REYXRhID0gZGF0ZS5zdWJ0cmFjdCgxLCBZRUFSKTtcbiAgICBjb3VudHMgPSBZRUFSX1BBTkVMX0NPTFVNTl9DT1VOVCAqIFlFQVJfUEFORUxfUk9XX0NPVU5UO1xuICB9XG4gIGxldCBpID0gMDtcbiAgcmV0dXJuIHtcbiAgICBbU3ltYm9sLml0ZXJhdG9yXSgpIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH0sXG4gICAgbmV4dDogKCkgPT4ge1xuICAgICAgaWYgKGkgPCBjb3VudHMpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB2YWx1ZTogZmlyc3REYXRhLmFkZChcbiAgICAgICAgICAgIGkrKyxcbiAgICAgICAgICAgIG5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuTW9udGhcbiAgICAgICAgICAgICAgPyBEQVlcbiAgICAgICAgICAgICAgOiBuYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLlllYXJcbiAgICAgICAgICAgICAgPyBNT05USFxuICAgICAgICAgICAgICA6IFlFQVIsXG4gICAgICAgICAgKSxcbiAgICAgICAgICBkb25lOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRvbmU6IHRydWUsXG4gICAgICAgIHZhbHVlOiBudWxsLFxuICAgICAgfTtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RGF0ZSh0eXBlOiBEYXRlTmF2UmFuZ2UsIGRhdGVWYWx1ZTogRGF5anMsIGRhdGU6IERheWpzKSB7XG4gIGlmICghZGF0ZVZhbHVlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgbGFiZWwgPVxuICAgIHR5cGUgPT09IERhdGVOYXZSYW5nZS5EZWNhZGVcbiAgICAgID8gZGF0ZVZhbHVlLnllYXIoKVxuICAgICAgOiB0eXBlID09PSBEYXRlTmF2UmFuZ2UuWWVhclxuICAgICAgPyBkYXRlVmFsdWUubW9udGgoKSArIDFcbiAgICAgIDogZGF0ZVZhbHVlLmRhdGUoKTtcbiAgY29uc3QgY2VsbCA9IG5ldyBEYXRlQ2VsbChkYXRlVmFsdWUsIGxhYmVsKTtcbiAgaWYgKHR5cGUgPT09IERhdGVOYXZSYW5nZS5Nb250aCAmJiBkYXRlLm1vbnRoKCkgIT09IGRhdGVWYWx1ZS5tb250aCgpKSB7XG4gICAgY2VsbC5pc0JhY2tncm91bmQgPSB0cnVlO1xuICB9XG4gIHJldHVybiBjZWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbmV4dERhdGVQaWNrZXJUeXBlKFxuICBjdXJyZW50OiBEYXRlUGlja2VyVHlwZSxcbiAgZ3VhcmQ/OiBEYXRlUGlja2VyVHlwZSxcbikge1xuICBjb25zdCBndWFyZEluZGV4ID0gZ3VhcmQgPyBEQVRFX1RZUEVTLmluZGV4T2YoZ3VhcmQpIDogREFURV9UWVBFUy5sZW5ndGggLSAxO1xuICBjb25zdCBjdXJyZW50SW5kZXggPSBEQVRFX1RZUEVTLmluZGV4T2YoY3VycmVudCk7XG4gIGlmIChjdXJyZW50SW5kZXggPCBndWFyZEluZGV4KSB7XG4gICAgcmV0dXJuIERBVEVfVFlQRVNbY3VycmVudEluZGV4ICsgMV07XG4gIH1cbiAgcmV0dXJuIGN1cnJlbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXh0TmF2UmFuZ2VUeXBlKGN1cnJlbnQ6IERhdGVOYXZSYW5nZSwgZ3VhcmQ/OiBEYXRlTmF2UmFuZ2UpIHtcbiAgY29uc3QgZ3VhcmRJbmRleCA9IGd1YXJkXG4gICAgPyBEQVRFX05BVl9SQU5HRVMuaW5kZXhPZihndWFyZClcbiAgICA6IERBVEVfTkFWX1JBTkdFUy5sZW5ndGggLSAxO1xuICBjb25zdCBjdXJyZW50SW5kZXggPSBEQVRFX05BVl9SQU5HRVMuaW5kZXhPZihjdXJyZW50KTtcbiAgaWYgKGN1cnJlbnRJbmRleCA8IGd1YXJkSW5kZXgpIHtcbiAgICByZXR1cm4gREFURV9OQVZfUkFOR0VTW2N1cnJlbnRJbmRleCArIDFdO1xuICB9XG4gIHJldHVybiBjdXJyZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlRGF0ZShcbiAgc291cmNlVmFsdWU6IERheWpzLFxuICBuZXdWYWx1ZTogRGF5anMsXG4gIHR5cGU6IERhdGVQaWNrZXJUeXBlLFxuKSB7XG4gIGNvbnN0IHVwZGF0ZVR5cGVzID0gREFURV9UWVBFUy5zbGljZSgwLCBEQVRFX1RZUEVTLmluZGV4T2YodHlwZSkgKyAxKTtcbiAgcmV0dXJuIHVwZGF0ZVR5cGVzLnJlZHVjZShcbiAgICAoYWNjLCBjdXJyKSA9PiBhY2Muc2V0KGN1cnIsIG5ld1ZhbHVlLmdldChjdXJyKSksXG4gICAgc291cmNlVmFsdWUuY2xvbmUoKSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGNSYW5nZVZhbHVlKHR5cGU6IERhdGVOYXZSYW5nZSwgZGF0ZTogRGF5anMpIHtcbiAgZGF0ZSA9IGRhdGUuY2xvbmUoKTtcbiAgcmV0dXJuIFtEYXRlTmF2UmFuZ2UuTW9udGgsIERhdGVQaWNrZXJUeXBlLlllYXJdLmluY2x1ZGVzKHR5cGUpXG4gICAgPyB7XG4gICAgICAgIHN0YXJ0OiBkYXRlLFxuICAgICAgfVxuICAgIDoge1xuICAgICAgICBzdGFydDogZGF0ZS5zdWJ0cmFjdChkYXRlLnllYXIoKSAlIDEwLCBZRUFSKSxcbiAgICAgICAgZW5kOiBkYXRlLmFkZCg5IC0gKGRhdGUueWVhcigpICUgMTApLCBZRUFSKSxcbiAgICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0RGF0ZXMoZGF0ZXM6IERheWpzW10pIHtcbiAgcmV0dXJuIFsuLi4oZGF0ZXMgfHwgW10pXS5zb3J0KChhLCBiKSA9PlxuICAgIGEuaXNCZWZvcmUoYikgPyAtMSA6IGEuaXNTYW1lKGIpID8gMCA6IDEsXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROYXZSYW5nZUJ5VHlwZSh0eXBlOiBEYXRlUGlja2VyVHlwZSkge1xuICByZXR1cm4ge1xuICAgIFtEYXRlUGlja2VyVHlwZS5EYXldOiBEYXRlTmF2UmFuZ2UuTW9udGgsXG4gICAgW0RhdGVQaWNrZXJUeXBlLk1vbnRoXTogRGF0ZU5hdlJhbmdlLlllYXIsXG4gICAgW0RhdGVQaWNrZXJUeXBlLlllYXJdOiBEYXRlTmF2UmFuZ2UuRGVjYWRlLFxuICB9W3R5cGVdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHlwZUJ5TmF2UmFuZ2UobmF2UmFuZ2U6IERhdGVOYXZSYW5nZSkge1xuICByZXR1cm4ge1xuICAgIFtEYXRlTmF2UmFuZ2UuTW9udGhdOiBEYXRlUGlja2VyVHlwZS5EYXksXG4gICAgW0RhdGVOYXZSYW5nZS5ZZWFyXTogRGF0ZVBpY2tlclR5cGUuTW9udGgsXG4gICAgW0RhdGVOYXZSYW5nZS5EZWNhZGVdOiBEYXRlUGlja2VyVHlwZS5ZZWFyLFxuICB9W25hdlJhbmdlXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWVQaWNrZXJNb2RlbChkYXRlOiBEYXlqcyk6IFRpbWVQaWNrZXJNb2RlbCB7XG4gIHJldHVybiBkYXRlXG4gICAgPyB7XG4gICAgICAgIHNlY29uZDogZGF0ZS5zZWNvbmQoKSxcbiAgICAgICAgbWludXRlOiBkYXRlLm1pbnV0ZSgpLFxuICAgICAgICBob3VyOiBkYXRlLmhvdXIoKSxcbiAgICAgIH1cbiAgICA6IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVEYXRlQnlUaW1lTW9kZWwoZGF0ZTogRGF5anMsIHRpbWU6IFRpbWVQaWNrZXJNb2RlbCkge1xuICByZXR1cm4gdGltZVxuICAgID8gZGF0ZVxuICAgICAgICAuc2V0KCdob3VyJywgdGltZS5ob3VyIHx8IDApXG4gICAgICAgIC5zZXQoJ21pbnV0ZScsIHRpbWUubWludXRlIHx8IDApXG4gICAgICAgIC5zZXQoJ3NlY29uZCcsIHRpbWUuc2Vjb25kIHx8IDApXG4gICAgOiBkYXRlO1xufVxuXG5leHBvcnQgY29uc3QgY29tcG9zZURpc2FibGVkRGF0ZUZuID0gKC4uLmZuczogRGlzYWJsZWREYXRlRm5bXSkgPT4gKFxuICBkYXRlOiBEYXlqcyxcbiAgbmF2UmFuZ2U6IERhdGVOYXZSYW5nZSxcbikgPT4gIWZucy5maWx0ZXIoaSA9PiAhIWkpLmV2ZXJ5KGZuID0+ICFmbihkYXRlLCBuYXZSYW5nZSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gbWluRGF0ZShhOiBEYXlqcywgYjogRGF5anMsIHVuaXQ6IFVuaXRUeXBlID0gJ2RhdGUnKSB7XG4gIHJldHVybiAhYSA/IGIgOiAhYiA/IGEgOiBhLmlzQmVmb3JlKGIsIHVuaXQpID8gYSA6IGI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXhEYXRlKGE6IERheWpzLCBiOiBEYXlqcywgdW5pdDogVW5pdFR5cGUgPSAnZGF0ZScpIHtcbiAgcmV0dXJuICFhID8gYiA6ICFiID8gYSA6IGEuaXNBZnRlcihiLCB1bml0KSA/IGEgOiBiO1xufVxuIl19