@ng-nest/ui 15.0.6 → 15.0.8

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 (174) hide show
  1. package/core/config/config.d.ts +1 -0
  2. package/core/functions/date.d.ts +1 -0
  3. package/date-picker/date-picker.property.d.ts +129 -3
  4. package/date-picker/date-range-portal.component.d.ts +9 -8
  5. package/date-picker/date-range.component.d.ts +12 -10
  6. package/date-picker/picker-date.component.d.ts +15 -6
  7. package/esm2020/core/config/config.mjs +1 -1
  8. package/esm2020/core/functions/date.mjs +20 -29
  9. package/esm2020/date-picker/date-picker.property.mjs +23 -2
  10. package/esm2020/date-picker/date-range-portal.component.mjs +36 -33
  11. package/esm2020/date-picker/date-range.component.mjs +75 -53
  12. package/esm2020/date-picker/picker-date.component.mjs +133 -17
  13. package/esm2020/input/input.component.mjs +2 -2
  14. package/esm2020/loading/loading.component.mjs +13 -6
  15. package/esm2020/loading/loading.property.mjs +1 -1
  16. package/esm2020/switch/switch.component.mjs +13 -6
  17. package/esm2020/switch/switch.module.mjs +6 -4
  18. package/esm2020/switch/switch.property.mjs +39 -4
  19. package/esm2020/table/drag.directive.mjs +13 -5
  20. package/esm2020/table/table-head.component.mjs +22 -6
  21. package/esm2020/table/table.property.mjs +23 -2
  22. package/fesm2015/ng-nest-ui-anchor.mjs +1 -0
  23. package/fesm2015/ng-nest-ui-api.mjs +1 -0
  24. package/fesm2015/ng-nest-ui-auto-complete.mjs +1 -0
  25. package/fesm2015/ng-nest-ui-avatar.mjs +1 -0
  26. package/fesm2015/ng-nest-ui-back-top.mjs +1 -0
  27. package/fesm2015/ng-nest-ui-badge.mjs +1 -0
  28. package/fesm2015/ng-nest-ui-base-form.mjs +1 -0
  29. package/fesm2015/ng-nest-ui-border.mjs +1 -0
  30. package/fesm2015/ng-nest-ui-button.mjs +1 -0
  31. package/fesm2015/ng-nest-ui-calendar.mjs +1 -0
  32. package/fesm2015/ng-nest-ui-card.mjs +1 -0
  33. package/fesm2015/ng-nest-ui-carousel.mjs +1 -0
  34. package/fesm2015/ng-nest-ui-cascade.mjs +1 -0
  35. package/fesm2015/ng-nest-ui-checkbox.mjs +1 -0
  36. package/fesm2015/ng-nest-ui-collapse.mjs +1 -0
  37. package/fesm2015/ng-nest-ui-color-picker.mjs +1 -0
  38. package/fesm2015/ng-nest-ui-color.mjs +1 -0
  39. package/fesm2015/ng-nest-ui-comment.mjs +1 -0
  40. package/fesm2015/ng-nest-ui-container.mjs +1 -0
  41. package/fesm2015/ng-nest-ui-core.mjs +20 -29
  42. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  43. package/fesm2015/ng-nest-ui-date-picker.mjs +263 -99
  44. package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
  45. package/fesm2015/ng-nest-ui-dialog.mjs +1 -0
  46. package/fesm2015/ng-nest-ui-drawer.mjs +1 -0
  47. package/fesm2015/ng-nest-ui-dropdown.mjs +1 -0
  48. package/fesm2015/ng-nest-ui-find.mjs +1 -0
  49. package/fesm2015/ng-nest-ui-form.mjs +1 -0
  50. package/fesm2015/ng-nest-ui-highlight.mjs +1 -0
  51. package/fesm2015/ng-nest-ui-i18n.mjs +1 -0
  52. package/fesm2015/ng-nest-ui-icon.mjs +1 -0
  53. package/fesm2015/ng-nest-ui-image.mjs +1 -0
  54. package/fesm2015/ng-nest-ui-inner.mjs +1 -0
  55. package/fesm2015/ng-nest-ui-input-number.mjs +1 -0
  56. package/fesm2015/ng-nest-ui-input.mjs +2 -1
  57. package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
  58. package/fesm2015/ng-nest-ui-link.mjs +1 -0
  59. package/fesm2015/ng-nest-ui-list.mjs +1 -0
  60. package/fesm2015/ng-nest-ui-loading.mjs +13 -5
  61. package/fesm2015/ng-nest-ui-loading.mjs.map +1 -1
  62. package/fesm2015/ng-nest-ui-menu.mjs +1 -0
  63. package/fesm2015/ng-nest-ui-message-box.mjs +1 -0
  64. package/fesm2015/ng-nest-ui-message.mjs +1 -0
  65. package/fesm2015/ng-nest-ui-notification.mjs +1 -0
  66. package/fesm2015/ng-nest-ui-pagination.mjs +1 -0
  67. package/fesm2015/ng-nest-ui-popconfirm.mjs +1 -0
  68. package/fesm2015/ng-nest-ui-popover.mjs +1 -0
  69. package/fesm2015/ng-nest-ui-progress.mjs +1 -0
  70. package/fesm2015/ng-nest-ui-radio.mjs +1 -0
  71. package/fesm2015/ng-nest-ui-rate.mjs +1 -0
  72. package/fesm2015/ng-nest-ui-result.mjs +1 -0
  73. package/fesm2015/ng-nest-ui-select.mjs +1 -0
  74. package/fesm2015/ng-nest-ui-skeleton.mjs +1 -0
  75. package/fesm2015/ng-nest-ui-slider-select.mjs +1 -0
  76. package/fesm2015/ng-nest-ui-slider.mjs +1 -0
  77. package/fesm2015/ng-nest-ui-steps.mjs +1 -0
  78. package/fesm2015/ng-nest-ui-switch.mjs +54 -11
  79. package/fesm2015/ng-nest-ui-switch.mjs.map +1 -1
  80. package/fesm2015/ng-nest-ui-table.mjs +55 -10
  81. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  82. package/fesm2015/ng-nest-ui-tabs.mjs +1 -0
  83. package/fesm2015/ng-nest-ui-tag.mjs +1 -0
  84. package/fesm2015/ng-nest-ui-text-retract.mjs +1 -0
  85. package/fesm2015/ng-nest-ui-textarea.mjs +1 -0
  86. package/fesm2015/ng-nest-ui-time-picker.mjs +1 -0
  87. package/fesm2015/ng-nest-ui-timeline.mjs +1 -0
  88. package/fesm2015/ng-nest-ui-tooltip.mjs +1 -0
  89. package/fesm2015/ng-nest-ui-transfer.mjs +1 -0
  90. package/fesm2015/ng-nest-ui-tree-file.mjs +1 -0
  91. package/fesm2015/ng-nest-ui-tree-select.mjs +1 -0
  92. package/fesm2015/ng-nest-ui-tree.mjs +1 -0
  93. package/fesm2015/ng-nest-ui-upload.mjs +1 -0
  94. package/fesm2020/ng-nest-ui-anchor.mjs +1 -0
  95. package/fesm2020/ng-nest-ui-api.mjs +1 -0
  96. package/fesm2020/ng-nest-ui-auto-complete.mjs +1 -0
  97. package/fesm2020/ng-nest-ui-avatar.mjs +1 -0
  98. package/fesm2020/ng-nest-ui-back-top.mjs +1 -0
  99. package/fesm2020/ng-nest-ui-badge.mjs +1 -0
  100. package/fesm2020/ng-nest-ui-base-form.mjs +1 -0
  101. package/fesm2020/ng-nest-ui-border.mjs +1 -0
  102. package/fesm2020/ng-nest-ui-button.mjs +1 -0
  103. package/fesm2020/ng-nest-ui-calendar.mjs +1 -0
  104. package/fesm2020/ng-nest-ui-card.mjs +1 -0
  105. package/fesm2020/ng-nest-ui-carousel.mjs +1 -0
  106. package/fesm2020/ng-nest-ui-cascade.mjs +1 -0
  107. package/fesm2020/ng-nest-ui-checkbox.mjs +1 -0
  108. package/fesm2020/ng-nest-ui-collapse.mjs +1 -0
  109. package/fesm2020/ng-nest-ui-color-picker.mjs +1 -0
  110. package/fesm2020/ng-nest-ui-color.mjs +1 -0
  111. package/fesm2020/ng-nest-ui-comment.mjs +1 -0
  112. package/fesm2020/ng-nest-ui-container.mjs +1 -0
  113. package/fesm2020/ng-nest-ui-core.mjs +20 -29
  114. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  115. package/fesm2020/ng-nest-ui-date-picker.mjs +262 -99
  116. package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
  117. package/fesm2020/ng-nest-ui-dialog.mjs +1 -0
  118. package/fesm2020/ng-nest-ui-drawer.mjs +1 -0
  119. package/fesm2020/ng-nest-ui-dropdown.mjs +1 -0
  120. package/fesm2020/ng-nest-ui-find.mjs +1 -0
  121. package/fesm2020/ng-nest-ui-form.mjs +1 -0
  122. package/fesm2020/ng-nest-ui-highlight.mjs +1 -0
  123. package/fesm2020/ng-nest-ui-i18n.mjs +1 -0
  124. package/fesm2020/ng-nest-ui-icon.mjs +1 -0
  125. package/fesm2020/ng-nest-ui-image.mjs +1 -0
  126. package/fesm2020/ng-nest-ui-inner.mjs +1 -0
  127. package/fesm2020/ng-nest-ui-input-number.mjs +1 -0
  128. package/fesm2020/ng-nest-ui-input.mjs +2 -1
  129. package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
  130. package/fesm2020/ng-nest-ui-link.mjs +1 -0
  131. package/fesm2020/ng-nest-ui-list.mjs +1 -0
  132. package/fesm2020/ng-nest-ui-loading.mjs +13 -5
  133. package/fesm2020/ng-nest-ui-loading.mjs.map +1 -1
  134. package/fesm2020/ng-nest-ui-menu.mjs +1 -0
  135. package/fesm2020/ng-nest-ui-message-box.mjs +1 -0
  136. package/fesm2020/ng-nest-ui-message.mjs +1 -0
  137. package/fesm2020/ng-nest-ui-notification.mjs +1 -0
  138. package/fesm2020/ng-nest-ui-pagination.mjs +1 -0
  139. package/fesm2020/ng-nest-ui-popconfirm.mjs +1 -0
  140. package/fesm2020/ng-nest-ui-popover.mjs +1 -0
  141. package/fesm2020/ng-nest-ui-progress.mjs +1 -0
  142. package/fesm2020/ng-nest-ui-radio.mjs +1 -0
  143. package/fesm2020/ng-nest-ui-rate.mjs +1 -0
  144. package/fesm2020/ng-nest-ui-result.mjs +1 -0
  145. package/fesm2020/ng-nest-ui-select.mjs +1 -0
  146. package/fesm2020/ng-nest-ui-skeleton.mjs +1 -0
  147. package/fesm2020/ng-nest-ui-slider-select.mjs +1 -0
  148. package/fesm2020/ng-nest-ui-slider.mjs +1 -0
  149. package/fesm2020/ng-nest-ui-steps.mjs +1 -0
  150. package/fesm2020/ng-nest-ui-switch.mjs +54 -11
  151. package/fesm2020/ng-nest-ui-switch.mjs.map +1 -1
  152. package/fesm2020/ng-nest-ui-table.mjs +55 -10
  153. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  154. package/fesm2020/ng-nest-ui-tabs.mjs +1 -0
  155. package/fesm2020/ng-nest-ui-tag.mjs +1 -0
  156. package/fesm2020/ng-nest-ui-text-retract.mjs +1 -0
  157. package/fesm2020/ng-nest-ui-textarea.mjs +1 -0
  158. package/fesm2020/ng-nest-ui-time-picker.mjs +1 -0
  159. package/fesm2020/ng-nest-ui-timeline.mjs +1 -0
  160. package/fesm2020/ng-nest-ui-tooltip.mjs +1 -0
  161. package/fesm2020/ng-nest-ui-transfer.mjs +1 -0
  162. package/fesm2020/ng-nest-ui-tree-file.mjs +1 -0
  163. package/fesm2020/ng-nest-ui-tree-select.mjs +1 -0
  164. package/fesm2020/ng-nest-ui-tree.mjs +1 -0
  165. package/fesm2020/ng-nest-ui-upload.mjs +1 -0
  166. package/loading/loading.component.d.ts +1 -0
  167. package/loading/loading.property.d.ts +1 -1
  168. package/package.json +1 -1
  169. package/switch/switch.component.d.ts +2 -1
  170. package/switch/switch.module.d.ts +3 -1
  171. package/switch/switch.property.d.ts +47 -1
  172. package/table/drag.directive.d.ts +12 -2
  173. package/table/table-head.component.d.ts +11 -1
  174. package/table/table.property.d.ts +55 -1
@@ -433,6 +433,7 @@ export interface XCountdownConfig {
433
433
  export interface XStepsConfig {
434
434
  }
435
435
  export interface XSwitchConfig {
436
+ size?: XSize;
436
437
  }
437
438
  export interface XTableConfig {
438
439
  index?: number;
@@ -1,5 +1,6 @@
1
1
  export declare type XDate = string | Date | number;
2
2
  export declare function XToDate(date: XDate): Date;
3
+ export declare function XAddMilliseconds(date: XDate, amount: number): Date;
3
4
  export declare function XAddSeconds(date: XDate, amount: number): Date;
4
5
  export declare function XAddMinutes(date: XDate, amount: number): Date;
5
6
  export declare function XAddHours(date: XDate, amount: number): Date;
@@ -227,7 +227,7 @@ export declare class XPickerDateProperty extends XProperty {
227
227
  * @zh_CN 选中的日期
228
228
  * @en_US Selected date
229
229
  */
230
- model?: Date;
230
+ model?: Date | null;
231
231
  /**
232
232
  * @zh_CN 日期显示模板
233
233
  * @en_US Date display template
@@ -267,7 +267,7 @@ export declare class XPickerDateProperty extends XProperty {
267
267
  * @zh_CN 范围日期
268
268
  * @en_US Range date
269
269
  */
270
- rangeValue: number[];
270
+ rangeValue: (number | null)[];
271
271
  /**
272
272
  * @zh_CN 当前选择的是开始/结束日期
273
273
  * @en_US The current choice is the start / end date
@@ -303,8 +303,134 @@ export declare class XPickerDateProperty extends XProperty {
303
303
  * @en_US display date event
304
304
  */
305
305
  displayChange: EventEmitter<Date>;
306
+ /**
307
+ * @zh_CN 范围日期 mouseenter 事件
308
+ * @en_US Date mouseenter event
309
+ */
310
+ rangeTdMouseenter: EventEmitter<XDateCell>;
311
+ /**
312
+ * @zh_CN 范围日期 mouseleave 事件
313
+ * @en_US Date mouseleave event
314
+ */
315
+ rangeTdMouseleave: EventEmitter<XDateCell>;
316
+ /**
317
+ * @zh_CN 范围中的日期点击事件
318
+ * @en_US Range date click event
319
+ */
320
+ rangeDateClick: EventEmitter<XDateCell>;
306
321
  static ɵfac: i0.ɵɵFactoryDeclaration<XPickerDateProperty, never>;
307
- static ɵcmp: i0.ɵɵComponentDeclaration<XPickerDateProperty, "ng-component", never, { "type": "type"; "display": "display"; "model": "model"; "dateTemp": "dateTemp"; "showHeader": "showHeader"; "rangePicker": "rangePicker"; "lastYearBtn": "lastYearBtn"; "lastMonthBtn": "lastMonthBtn"; "nextYearBtn": "nextYearBtn"; "nextMonthBtn": "nextMonthBtn"; "rangeValue": "rangeValue"; "rangeType": "rangeType"; }, { "typeChange": "typeChange"; "modelChange": "modelChange"; "rangeChange": "rangeChange"; "yearChange": "yearChange"; "monthChange": "monthChange"; "displayChange": "displayChange"; }, never, never, false, never>;
322
+ static ɵcmp: i0.ɵɵComponentDeclaration<XPickerDateProperty, "ng-component", never, { "type": "type"; "display": "display"; "model": "model"; "dateTemp": "dateTemp"; "showHeader": "showHeader"; "rangePicker": "rangePicker"; "lastYearBtn": "lastYearBtn"; "lastMonthBtn": "lastMonthBtn"; "nextYearBtn": "nextYearBtn"; "nextMonthBtn": "nextMonthBtn"; "rangeValue": "rangeValue"; "rangeType": "rangeType"; }, { "typeChange": "typeChange"; "modelChange": "modelChange"; "rangeChange": "rangeChange"; "yearChange": "yearChange"; "monthChange": "monthChange"; "displayChange": "displayChange"; "rangeTdMouseenter": "rangeTdMouseenter"; "rangeTdMouseleave": "rangeTdMouseleave"; "rangeDateClick": "rangeDateClick"; }, never, never, false, never>;
323
+ }
324
+ /**
325
+ * @zh_CN 单个日期数据对象
326
+ * @en_US 单个日期数据对象
327
+ */
328
+ export interface XDateCell {
329
+ /**
330
+ * @zh_CN 日期
331
+ * @en_US Date
332
+ */
333
+ date?: Date;
334
+ /**
335
+ * @zh_CN 上个月或下个月的日期
336
+ * @en_US Date of the previous or next month
337
+ */
338
+ isLastOrNext?: boolean;
339
+ /**
340
+ * @zh_CN 当天
341
+ * @en_US Same day
342
+ */
343
+ isNow?: boolean;
344
+ /**
345
+ * @zh_CN 当月第一天
346
+ * @en_US The first day of the month
347
+ */
348
+ isFirstDay?: boolean;
349
+ /**
350
+ * @zh_CN 当月最后一天
351
+ * @en_US The last day of the month
352
+ */
353
+ isLastDay?: boolean;
354
+ /**
355
+ * @zh_CN 范围内日期
356
+ * @en_US 范围内日期
357
+ */
358
+ isInRange?: boolean;
359
+ /**
360
+ * @zh_CN 范围内 hover 选中
361
+ * @en_US 范围内 hover 选中
362
+ */
363
+ isInRangeHover?: boolean;
364
+ /**
365
+ * @zh_CN 范围内 hover 当前日期左边
366
+ * @en_US 范围内 hover 当前日期左边
367
+ */
368
+ isInRangeHoverLeft?: boolean;
369
+ /**
370
+ * @zh_CN 范围内 hover 当前日期右边
371
+ * @en_US 范围内 hover 当前日期右边
372
+ */
373
+ isInRangeHoverRight?: boolean;
374
+ /**
375
+ * @zh_CN 选中开始左边
376
+ * @en_US Range start left
377
+ */
378
+ isRangeStartLeft?: boolean;
379
+ /**
380
+ * @zh_CN 选中开始右边
381
+ * @en_US Range start right
382
+ */
383
+ isRangeStartRight?: boolean;
384
+ /**
385
+ * @zh_CN 选中结束左边
386
+ * @en_US Range start left
387
+ */
388
+ isRangeEndLeft?: boolean;
389
+ /**
390
+ * @zh_CN 选中结束右边
391
+ * @en_US Range start right
392
+ */
393
+ isRangeEndRight?: boolean;
394
+ /**
395
+ * @zh_CN 范围 hover
396
+ * @en_US Range hover
397
+ */
398
+ isRangeHover?: boolean;
399
+ /**
400
+ * @zh_CN hover 当前开始
401
+ * @en_US Range hover start
402
+ */
403
+ isRangeHoverStart?: boolean;
404
+ /**
405
+ * @zh_CN hover 当前结束
406
+ * @en_US End date
407
+ */
408
+ isRangeHoverEnd?: boolean;
409
+ /**
410
+ * @zh_CN hover 开始左边
411
+ * @en_US Range hover start left
412
+ */
413
+ isRangeHoverStartLeft?: boolean;
414
+ /**
415
+ * @zh_CN hover 开始右边
416
+ * @en_US Range hover start right
417
+ */
418
+ isRangeHoverStartRight?: boolean;
419
+ /**
420
+ * @zh_CN hover 结束左边
421
+ * @en_US Range hover end left
422
+ */
423
+ isRangeHoverEndLeft?: boolean;
424
+ /**
425
+ * @zh_CN hover 结束右边
426
+ * @en_US Range hover end right
427
+ */
428
+ isRangeHoverEndRight?: boolean;
429
+ /**
430
+ * @zh_CN 当前选中日期
431
+ * @en_US Current selected date
432
+ */
433
+ isActive?: boolean;
308
434
  }
309
435
  /**
310
436
  * @zh_CN 当前选择的是开始/结束日期
@@ -18,25 +18,26 @@ export declare class XDateRangePortalComponent implements OnInit, OnDestroy, Aft
18
18
  type: XDatePickerType;
19
19
  display: Date;
20
20
  model: Date;
21
- startModel: Date;
22
- endModel: Date;
21
+ startModel: Date | null;
22
+ endModel: Date | null;
23
23
  startYear: number;
24
24
  startDisplay: Date;
25
25
  endDisplay: Date;
26
- value: number[];
26
+ value: (number | null)[];
27
27
  valueChange: Subject<number[]>;
28
28
  positionChange: Subject<any>;
29
- inputActiveChange: Subject<'start' | 'end'>;
29
+ activeTypeChange: Subject<'start' | 'end'>;
30
30
  activeType: 'start' | 'end';
31
31
  animating: Function;
32
32
  closePortal: Function;
33
33
  destroyPortal: Function;
34
- nodeEmit: (date: Date[], sure?: boolean) => void;
35
- startNodeEmit: (date: Date) => void;
36
- endNodeEmit: (date: Date) => void;
34
+ nodeEmit: (date: Date[], close?: boolean) => void;
35
+ startNodeEmit: (date: Date | null, close?: boolean) => void;
36
+ endNodeEmit: (date: Date | null, close?: boolean) => void;
37
37
  locale: XI18nDatePicker;
38
38
  time: number;
39
39
  preset: XDatePickerPreset[];
40
+ nodeClickCount: number;
40
41
  private _type;
41
42
  private _unSubject;
42
43
  constructor(datePipe: DatePipe, lowerCasePipe: LowerCasePipe, cdr: ChangeDetectorRef, i18n: XI18nService);
@@ -47,7 +48,7 @@ export declare class XDateRangePortalComponent implements OnInit, OnDestroy, Aft
47
48
  stopPropagation(event: Event): void;
48
49
  setDefault(): void;
49
50
  setDisplay(date: Date): void;
50
- dateChange(date: Date, type: 'start' | 'end'): void;
51
+ dateChange(date: Date): void;
51
52
  typeChange(type: XDatePickerType): void;
52
53
  monthChange(date: Date): void;
53
54
  yearChange(date: Date): void;
@@ -2,7 +2,7 @@ import { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';
2
2
  import { Subject } from 'rxjs';
3
3
  import { OnInit, ChangeDetectorRef, Renderer2, ElementRef, OnChanges, ViewContainerRef, SimpleChanges } from '@angular/core';
4
4
  import { XDatePickerModelType, XDateRangeProperty } from './date-picker.property';
5
- import { XConfigService, XBoolean } from '@ng-nest/ui/core';
5
+ import { XConfigService } from '@ng-nest/ui/core';
6
6
  import { XInputComponent, XInputGroupComponent } from '@ng-nest/ui/input';
7
7
  import { DatePipe } from '@angular/common';
8
8
  import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
@@ -21,8 +21,9 @@ export declare class XDateRangeComponent extends XDateRangeProperty implements O
21
21
  inputStartCom: XInputComponent;
22
22
  inputEndCom: XInputComponent;
23
23
  modelType: XDatePickerModelType;
24
- numberValue: number[];
24
+ numberValue: (number | null)[];
25
25
  isInput: boolean;
26
+ showClearable: boolean;
26
27
  get getRequired(): boolean | "";
27
28
  writeValue(value: any): void;
28
29
  enter: boolean;
@@ -38,12 +39,10 @@ export declare class XDateRangeComponent extends XDateRangeProperty implements O
38
39
  valueChange: Subject<any>;
39
40
  dataChange: Subject<any>;
40
41
  positionChange: Subject<any>;
41
- inputActiveChange: Subject<string>;
42
42
  closeSubject: Subject<void>;
43
+ activeTypeChange: Subject<"end" | "start">;
43
44
  startDisplay: string | number;
44
45
  endDisplay: string | number;
45
- startActive: XBoolean;
46
- endActive: XBoolean;
47
46
  activeType?: 'start' | 'end';
48
47
  private _unSubject;
49
48
  constructor(renderer: Renderer2, configService: XConfigService, cdr: ChangeDetectorRef, portalService: XPortalService, viewContainerRef: ViewContainerRef, datePipe: DatePipe, overlay: Overlay);
@@ -56,19 +55,22 @@ export declare class XDateRangeComponent extends XDateRangeProperty implements O
56
55
  menter(): void;
57
56
  mleave(): void;
58
57
  clearEmit(): void;
58
+ onIconClick(event: Event): void;
59
59
  modelChange(): void;
60
- getValue(): number[] | Date[] | (string | null)[];
60
+ getValue(): (number | null)[] | Date[] | (string | null)[];
61
+ getNumberValue(): any;
61
62
  portalAttached(): boolean | undefined;
62
63
  closePortal(): boolean;
63
64
  destroyPortal(): void;
64
65
  showPortal($event: Event, type?: 'start' | 'end'): void;
65
66
  setPosition(config: OverlayConfig): void;
66
67
  setInstance(): void;
67
- startNodeClick(node: Date): void;
68
- endNodeClick(node: Date): void;
69
- onNodeClick(dates: Date[], sure?: boolean): void;
68
+ startNodeClick(node?: Date, close?: boolean): void;
69
+ endNodeClick(node?: Date, close?: boolean): void;
70
+ onNodeClick(dates: Date[], close?: boolean): void;
70
71
  onInput(): void;
71
- setDisplayValue(dateNumber: number[]): void;
72
+ onFocus(type: 'start' | 'end'): void;
73
+ setDisplayValue(dateNumber: (number | null)[]): void;
72
74
  setPlacement(): import("@angular/cdk/overlay").PositionStrategy;
73
75
  setPortal(): void;
74
76
  setClassMap(): void;
@@ -1,6 +1,6 @@
1
1
  import { ChangeDetectorRef, Renderer2, OnChanges, SimpleChanges } from '@angular/core';
2
2
  import { XConfigService } from '@ng-nest/ui/core';
3
- import { XDatePickerType, XPickerDateProperty } from './date-picker.property';
3
+ import { XDateCell, XDatePickerType, XPickerDateProperty } from './date-picker.property';
4
4
  import { XI18nDatePicker, XI18nService } from '@ng-nest/ui/i18n';
5
5
  import { DatePipe, LowerCasePipe } from '@angular/common';
6
6
  import * as i0 from "@angular/core";
@@ -13,25 +13,34 @@ export declare class XPickerDateComponent extends XPickerDateProperty implements
13
13
  i18n: XI18nService;
14
14
  titles: string[];
15
15
  now: Date;
16
- dates: Date[][];
16
+ dates: XDateCell[];
17
+ weekDates: XDateCell[][];
18
+ clickCell?: XDateCell;
17
19
  locale: XI18nDatePicker;
18
20
  private _unSubject;
19
- get rangeStart(): number | "";
20
- get rangeEnd(): number | "";
21
+ get rangeStart(): number | "" | null;
22
+ get rangeEnd(): number | "" | null;
21
23
  constructor(renderer: Renderer2, datePipe: DatePipe, lowerCasePipe: LowerCasePipe, cdr: ChangeDetectorRef, configService: XConfigService, i18n: XI18nService);
22
24
  ngOnInit(): void;
23
25
  ngOnChanges(simples: SimpleChanges): void;
24
26
  ngOnDestroy(): void;
25
27
  init(): void;
28
+ isStartDate(date: Date): boolean | undefined;
29
+ isEndDate(date: Date): boolean | undefined;
30
+ setDatesState(cell: XDateCell): void;
31
+ onTdMouseenter(cell: XDateCell, isEmit?: boolean): void;
32
+ onTdMouseleave(cell: XDateCell, isEmit?: boolean): void;
33
+ clearState(...cells: XDateCell[]): void;
26
34
  setDays(date: Date): void;
27
- dateClick(date: Date): void;
35
+ setDayState(cell: XDateCell): XDateCell;
36
+ dateClick(cell: XDateCell): void;
28
37
  getLocaleMonth(date: Date): any;
29
38
  rangeDisabled(date: Date): boolean;
30
39
  setDisplay(date: Date): void;
31
40
  nextMonth(num: number): void;
32
41
  nextYear(num: number): void;
33
42
  typeOnChange(type: XDatePickerType): void;
34
- trackByNode(_index: number, item: string | Date): string | Date;
43
+ trackByNode(_index: number, item: string | Date | XDateCell): string | Date | XDateCell;
35
44
  static ɵfac: i0.ɵɵFactoryDeclaration<XPickerDateComponent, never>;
36
45
  static ɵcmp: i0.ɵɵComponentDeclaration<XPickerDateComponent, "x-picker-date", never, {}, {}, never, never, false, never>;
37
46
  }
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const X_CONFIG = new InjectionToken('x-config');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY29yZS9jb25maWcvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWS9DLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBVSxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWFNpemUsXHJcbiAgWEJvb2xlYW4sXHJcbiAgWFR5cGUsXHJcbiAgWEVmZmVjdCxcclxuICBYTnVtYmVyLFxyXG4gIFhQb3NpdGlvbkxlZnRSaWdodCxcclxuICBYSnVzdGlmeSxcclxuICBYU2hhcGUsXHJcbiAgWEZpdCxcclxuICBYU2hhZG93LFxyXG4gIFhUcmlnZ2VyLFxyXG4gIFhEaXNwbGF5RGlyZWN0aW9uLFxyXG4gIFhDb3JuZXIsXHJcbiAgWERpcmVjdGlvbixcclxuICBYUGxhY2UsXHJcbiAgWFBvc2l0aW9uLFxyXG4gIFhQbGFjZW1lbnQsXHJcbiAgWFBvc2l0aW9uVG9wQm90dG9tLFxyXG4gIFhTdGF0dXMsXHJcbiAgWEFsaWduXHJcbn0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUaGVtZSB9IGZyb20gJy4uL3RoZW1lJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbmZpZyB7XHJcbiAgY29tcG9uZW50cz86IFhDb21wb25lbnRDb25maWc7XHJcbiAgdGhlbWU/OiBYVGhlbWU7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFhDb25maWdLZXkgPSBrZXlvZiBYQ29uZmlnO1xyXG5cclxuZXhwb3J0IHR5cGUgWENvbXBvbmVudENvbmZpZ0tleSA9IGtleW9mIFhDb21wb25lbnRDb25maWc7XHJcblxyXG5leHBvcnQgY29uc3QgWF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48WENvbmZpZz4oJ3gtY29uZmlnJyk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb21wb25lbnRDb25maWcge1xyXG4gIGFmZml4PzogWEFmZml4Q29uZmlnO1xyXG4gIGFsZXJ0PzogWEFsZXJ0Q29uZmlnO1xyXG4gIGFuY2hvcj86IFhBbmNob3JDb25maWc7XHJcbiAgYXZhdGFyPzogWEF2YXRhckNvbmZpZztcclxuICBhdXRvQ29tcGxldGU/OiBYQXV0b0NvbXBsZXRlQ29uZmlnO1xyXG4gIGJhY2tUb3A/OiBYQmFja1RvcENvbmZpZztcclxuICBiYWRnZT86IFhCYWRnZUNvbmZnaWc7XHJcbiAgYnV0dG9uPzogWEJ1dHRvbkNvbmZpZztcclxuICBidXR0b25zPzogWEJ1dHRvbnNDb25maWc7XHJcbiAgY2FsZW5kYXI/OiBYQ2FsZW5kYXJDb25maWc7XHJcbiAgY2FyZD86IFhDYXJkQ29uZmlnO1xyXG4gIGNhcm91c2VsPzogWENhcm91c2VsQ29uZmlnO1xyXG4gIGNhc2NhZGU/OiBYQ2FzY2FkZUNvbmZpZztcclxuICBjaGVja2JveD86IFhDaGVja2JveENvbmZpZztcclxuICBjb2xsYXBzZT86IFhDb2xsYXBzZUNvbmZpZztcclxuICBjb2xvcj86IFhDb2xvckNvbmZpZztcclxuICBjb2xvclBpY2tlcj86IFhDb2xvclBpY2tlckNvbmZpZztcclxuICBjb21tZW50PzogWENvbW1lbnRDb25maWc7XHJcbiAgY29udGFpbmVyPzogWENvbnRhaW5lckNvbmZpZztcclxuICBoZWFkZXI/OiBYSGVhZGVyQ29uZmlnO1xyXG4gIGFzaWRlPzogWEFzaWRlQ29uZmlnO1xyXG4gIGZvb3Rlcj86IFhGb290ZXJDb25maWc7XHJcbiAgY3J1bWI/OiBYQ3J1bWJDb21maWc7XHJcbiAgZGF0ZVBpY2tlcj86IFhEYXRlUGlja2VyQ29uZmlnO1xyXG4gIGRhdGVSYW5nZT86IFhEYXRlUmFuZ2VDb25maWc7XHJcbiAgZGlhbG9nPzogWERpYWxvZ0NvbmZpZztcclxuICBkcmF3ZXI/OiBYRHJhd2VyQ29uZmlnO1xyXG4gIGRyb3Bkb3duPzogWERyb3Bkb3duQ29uZmlnO1xyXG4gIGRlc2NyaXB0aW9uPzogWERlc2NyaXB0aW9uQ29uZmlnO1xyXG4gIGVtcHR5PzogWEVtcHR5Q29uZmlnO1xyXG4gIGZpbmQ/OiBYRmluZENvbmZpZztcclxuICBmb3JtPzogWEZvcm1Db25maWc7XHJcbiAgaGlnaGxpZ2h0PzogWEhpZ2hsaWdodENvbmZpZztcclxuICBpY29uPzogWEljb25Db25maWc7XHJcbiAgaW5uZXI/OiBYSW5uZXJDb25maWc7XHJcbiAgaW5wdXQ/OiBYSW5wdXRDb25maWc7XHJcbiAgaW5wdXRHcm91cD86IFhJbnB1dEdyb3VwQ29uZmlnO1xyXG4gIGlucHV0TnVtYmVyPzogWElucHV0TnVtYmVyQ29uZmlnO1xyXG4gIGltYWdlPzogWEltYWdlQ29uZmlnO1xyXG4gIGNvbD86IFhDb2xDb25maWc7XHJcbiAgcm93PzogWFJvd0NvbmZpZztcclxuICByaXBwbGU/OiBYUmlwcGxlQ29uZmlnO1xyXG4gIGxpbms/OiBYTGlua0NvbmZpZztcclxuICBsaXN0PzogWExpc3RDb25maWc7XHJcbiAgbGlzdE9wdGlvbj86IFhMaXN0T3B0aW9uQ29uZmlnO1xyXG4gIGxvYWRpbmc/OiBYTG9hZGluZ0NvbmZpZztcclxuICBtZW51PzogWE1lbnVDb25maWc7XHJcbiAgbWVzc2FnZT86IFhNZXNzYWdlQ29uZmlnO1xyXG4gIG1lc3NhZ2VCb3g/OiBYTWVzc2FnZUJveENvbmZpZztcclxuICBub3RpZmljYXRpb24/OiBYTm90aWZpY2F0aW9uQ29uZmlnO1xyXG4gIG91dGxldD86IFhPdXRsZXRDb25maWc7XHJcbiAgcGFnZUhlYWRlcj86IFhQYWdlSGVhZGVyQ29uZmlnO1xyXG4gIHBhZ2luYXRpb24/OiBYUGFnaW5hdGlvbkNvbmZpZztcclxuICBwYXR0ZXJuPzogWFBhdHRlcm5Db25maWc7XHJcbiAgcG9wY29uZmlybT86IFhQb3Bjb25maXJtQ29uZmlnO1xyXG4gIHBvcG92ZXI/OiBYUG9wb3ZlckNvbmZpZztcclxuICBwb3J0YWw/OiBYUG9ydGFsQ29uZmlnO1xyXG4gIHByb2dyZXNzPzogWFByb2dyZXNzQ29uZmluZztcclxuICByYWRpbz86IFhSYWRpb0NvbmZpZztcclxuICByYXRlPzogWFJhdGVDb25maWc7XHJcbiAgcmVzdWx0PzogWFJlc3VsdENvbmZpZztcclxuICBzZWxlY3Q/OiBYU2VsZWN0Q29uZmlnO1xyXG4gIHNrZWxldG9uPzogWFNrZWxldG9uQ29uZmlnO1xyXG4gIHNsaWRlcj86IFhTbGlkZXJDb25maWc7XHJcbiAgc2xpZGVyU2VsZWN0PzogWFNsaWRlclNlbGVjdENvbmZpZztcclxuICBzdGF0aXN0aWM/OiBYU3RhdGlzdGljQ29uZmlnO1xyXG4gIGNvdW50ZG93bj86IFhDb3VudGRvd25Db25maWc7XHJcbiAgc3RlcHM/OiBYU3RlcHNDb25maWc7XHJcbiAgc3dpdGNoPzogWFN3aXRjaENvbmZpZztcclxuICB0YWJsZT86IFhUYWJsZUNvbmZpZztcclxuICB0YWJzPzogWFRhYnNDb25maWc7XHJcbiAgdGFnPzogWFRhZ0NvbmZpZztcclxuICB0ZXh0UmV0cmFjdD86IFhUZXh0UmV0cmFjdENvbmZpZztcclxuICB0aGVtZT86IFhUaGVtZUNvbmZpZztcclxuICB0aW1lQWdvPzogWFRpbWVBZ29Db25maWc7XHJcbiAgdGltZVBpY2tlcj86IFhUaW1lUGlja2VyQ29uZmlnO1xyXG4gIHRpbWVSYW5nZT86IFhUaW1lUmFuZ2VDb25maWc7XHJcbiAgdGltZWxpbmU/OiBYVGltZWxpbmVDb25maWc7XHJcbiAgdG9vbHRpcD86IFhUb29sdGlwQ29uZmlnO1xyXG4gIHRyYW5zZmVyPzogWFRyYW5zZmVyQ29uZmlnO1xyXG4gIHRyZWU/OiBYVHJlZUNvbmZpZztcclxuICB0cmVlRmlsZT86IFhUcmVlRmlsZUNvbmZpZztcclxuICB0cmVlU2VsZWN0PzogWFRyZWVTZWxlY3RDb25maWc7XHJcbiAgdGV4dGFyZWE/OiBYVGV4dGFyZWFDb25maWc7XHJcbiAgdXBsb2FkPzogWFVwbG9hZENvbmZpZztcclxuICBrZXl3b3JkPzogWEtleXdvcmRDb25maWc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEFmZml4Q29uZmlnIHtcclxuICB0b3A/OiBzdHJpbmc7XHJcbiAgbGVmdD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQWxlcnRDb25maWcge1xyXG4gIGVmZmVjdD86IFhFZmZlY3Q7XHJcbiAgaGlkZUNsb3NlPzogWEJvb2xlYW47XHJcbiAgc2hvd0ljb24/OiBYQm9vbGVhbjtcclxuICBkaXNhYmxlZEFuaW1hdGlvbj86IFhCb29sZWFuO1xyXG4gIGRyYWdnYWJsZT86IFhCb29sZWFuO1xyXG4gIHJlc2l6YWJsZT86IFhCb29sZWFuO1xyXG4gIGRyYWdIYW5kbGVUaXRsZT86IFhCb29sZWFuO1xyXG4gIGR1cmF0aW9uPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQW5jaG9yQ29uZmlnIHtcclxuICBhZmZpeFRvcD86IHN0cmluZztcclxuICBhZmZpeFdpZHRoPzogc3RyaW5nO1xyXG4gIGxheW91dD86IFhQb3NpdGlvbkxlZnRSaWdodDtcclxuICBqdXN0aWZ5PzogWEp1c3RpZnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEF2YXRhckNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHNoYXBlPzogWFNoYXBlO1xyXG4gIGZpdD86IFhGaXQ7XHJcbiAgZ2FwPzogbnVtYmVyO1xyXG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQXV0b0NvbXBsZXRlQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgZGVib3VuY2VUaW1lPzogbnVtYmVyO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IGJvb2xlYW47XHJcbiAgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XHJcbiAgb25seVNlbGVjdD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJhY2tUb3BDb25maWcge1xyXG4gIHJpZ2h0Pzogc3RyaW5nO1xyXG4gIGJvdHRvbT86IHN0cmluZztcclxuICB2aXNpYmlsaXR5SGVpZ2h0PzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQmFkZ2VDb25mZ2lnIHtcclxuICB0eXBlPzogWFR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJ1dHRvbkNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHR5cGU/OiBYVHlwZTtcclxuICBwbGFpbj86IFhCb29sZWFuO1xyXG4gIHJvdW5kPzogWEJvb2xlYW47XHJcbiAgY2lyY2xlPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJ1dHRvbnNDb25maWcge1xyXG4gIHNwYWNlPzogWE51bWJlcjtcclxuICBoaWRkZW5Cb3JkZXI/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ2FsZW5kYXJDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENhcmRDb25maWcge1xyXG4gIHNoYWRvdz86IFhTaGFkb3c7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENhcm91c2VsQ29uZmlnIHtcclxuICBoZWlnaHQ/OiBzdHJpbmc7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIGFycm93PzogWFNoYWRvdztcclxuICBkaXJlY3Rpb24/OiBYRGlzcGxheURpcmVjdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ2FzY2FkZUNvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xyXG4gIG5vZGVUcmlnZ2VyPzogWFRyaWdnZXI7XHJcbiAgbm9kZUhvdmVyRGVsYXk/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDaGVja2JveENvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb2xsYXBzZUNvbmZpZyB7XHJcbiAgc2hvd0ljb24/OiBCb29sZWFuO1xyXG4gIGdob3N0PzogQm9vbGVhbjtcclxuICBpY29uUG9zaXRpb24/OiAnbGVmdCcgfCAncmlnaHQnO1xyXG4gIGJvcmRlcmVkPzogQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ29sb3JDb25maWcge1xyXG4gIG1lcmdlPzogc3RyaW5nO1xyXG4gIGFtb3VudHM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbG9yUGlja2VyQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb21tZW50Q29uZmlnIHtcclxuICBjb250ZW50TWF4PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb250YWluZXJDb25maWcge1xyXG4gIGRpcmVjdGlvbj86IFhEaXJlY3Rpb247XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEhlYWRlckNvbmZpZyB7XHJcbiAgaGVpZ2h0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhBc2lkZUNvbmZpZyB7XHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZvb3RlckNvbmZpZyB7XHJcbiAgaGVpZ2h0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDcnVtYkNvbWZpZyB7XHJcbiAgc2VwYXJhdG9yPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUGlja2VyQ29uZmlnIHtcclxuICBmb3JtYXQ/OiBzdHJpbmc7XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUmFuZ2VDb25maWcge1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxuICBjbGVhcmFibGU/OiBYQm9vbGVhbjtcclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEaWFsb2dDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZTtcclxuICBvZmZzZXQ/OiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgbWluV2lkdGg/OiBzdHJpbmc7XHJcbiAgbWluSGVpZ2h0Pzogc3RyaW5nO1xyXG4gIGVmZmVjdD86IFhFZmZlY3Q7XHJcbiAgc2hvd0NhbmNlbD86IFhCb29sZWFuO1xyXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgc2hvd0NvbmZpcm0/OiBYQm9vbGVhbjtcclxuICBjb25maXJtVGV4dD86IHN0cmluZztcclxuICBiYWNrZHJvcENsb3NlPzogWEJvb2xlYW47XHJcbiAgZHJhZ2dhYmxlPzogWEJvb2xlYW47XHJcbiAgcmVzaXphYmxlPzogWEJvb2xlYW47XHJcbiAgbWF4aW1pemU/OiBYQm9vbGVhbjtcclxuICBoYXNCYWNrZHJvcD86IFhCb29sZWFuO1xyXG4gIGNsYXNzTmFtZT86IHN0cmluZztcclxuICBidXR0b25zQ2VudGVyPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERyYXdlckNvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBvc2l0aW9uO1xyXG4gIHNpemU/OiBzdHJpbmc7XHJcbiAgYmFja2Ryb3BDbG9zZT86IFhCb29sZWFuO1xyXG4gIGhhc0JhY2tkcm9wPzogWEJvb2xlYW47XHJcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEcm9wZG93bkNvbmZpZyB7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERlc2NyaXB0aW9uQ29uZmlnIHtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRW1wdHlDb25maWcge1xyXG4gIGNvbnRlbnQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZpbmRDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIGNvbHVtbkxhYmVsPzogc3RyaW5nO1xyXG4gIGRpYWxvZ1RpdGxlPzogc3RyaW5nO1xyXG4gIGRpYWxvZ0NoZWNrYm94TGFiZWw/OiBzdHJpbmc7XHJcbiAgZGlhbG9nQ2hlY2tib3hXaWR0aD86IG51bWJlcjtcclxuICBkaWFsb2dFbXB0eUNvbnRlbnQ/OiBzdHJpbmc7XHJcbiAgZGlhbG9nQnV0dG9uc0NlbnRlcj86IFhCb29sZWFuO1xyXG4gIHRhYmxlSW5kZXg/OiBudW1iZXI7XHJcbiAgdGFibGVTaXplPzogbnVtYmVyO1xyXG4gIHRhYmxlTG9hZGluZz86IFhCb29sZWFuO1xyXG4gIHRhYmxlVmlydHVhbFNjcm9sbD86IGJvb2xlYW47XHJcbiAgdGFibGVSb3dIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIHRyZWVFeHBhbmRlZExldmVsPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRm9ybUNvbmZpZyB7XHJcbiAgc3BhY2U/OiBYTnVtYmVyO1xyXG4gIGxhYmVsU3VmZml4Pzogc3RyaW5nO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhIaWdobGlnaHRDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEljb25Db25maWcge1xyXG4gIGhyZWY/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElubmVyQ29uZmlnIHtcclxuICBwYWRkaW5nPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dENvbmZpZyB7XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgaWNvbkxheW91dD86IFhQb3NpdGlvbkxlZnRSaWdodDtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBpbnB1dFBhZGRpbmc/OiBYTnVtYmVyO1xyXG4gIGlucHV0SWNvblBhZGRpbmc/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dEdyb3VwQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBjb21wYWN0PzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElucHV0TnVtYmVyQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSW1hZ2VDb25maWcge1xyXG4gIHByZXZpZXdUZXh0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb2xDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFJvd0NvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmlwcGxlQ29uZmlnIHtcclxuICB0eXBlPzogWFR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWExpbmtDb25maWcge1xyXG4gIHVuZGVybGluZT86IFhCb29sZWFuO1xyXG4gIGljb25SaWdodD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhMaXN0Q29uZmlnIHtcclxuICBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIGxvYWRNb3JlVGV4dD86IHN0cmluZztcclxuICBsb2FkaW5nTW9yZVRleHQ/OiBzdHJpbmc7XHJcbiAgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWExpc3RPcHRpb25Db25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTG9hZGluZ0NvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBjb2xvcj86IHN0cmluZztcclxuICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xyXG4gIHpJbmRleD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTWVudUNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIHRyaWdnZXI/OiBYVHJpZ2dlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTWVzc2FnZUNvbmZpZyB7XHJcbiAgdHlwZT86IFhTdGF0dXM7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgcGxhY2VtZW50PzogWFBsYWNlO1xyXG4gIGRpc3BsYXlUeXBlPzogc3RyaW5nO1xyXG4gIG9mZnNldD86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIGhpZGVDbG9zZT86IGJvb2xlYW47XHJcbiAgc2hvd0ljb24/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhNZXNzYWdlQm94Q29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhOb3RpZmljYXRpb25Db25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWE91dGxldENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUGFnZUhlYWRlckNvbmZpZyB7XHJcbiAgYmFja0ljb24/OiBzdHJpbmc7XHJcbiAgYmFja1RleHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBhZ2luYXRpb25Db25maWcge1xyXG4gIGluZGV4PzogWE51bWJlcjtcclxuICBzaXplPzogWE51bWJlcjtcclxuICBzcGFjZT86IFhOdW1iZXI7XHJcbiAgcGFnZUxpbmtTaXplPzogWE51bWJlcjtcclxuICBoaWRkZW5Cb3JkZXI/OiBib29sZWFuO1xyXG4gIHNob3dFbGxpcHNpcz86IGJvb2xlYW47XHJcbiAgc2hvd1RvdGFsPzogYm9vbGVhbjtcclxuICBzaG93U2l6ZT86IGJvb2xlYW47XHJcbiAgc2l6ZVdpZHRoPzogbnVtYmVyO1xyXG4gIHNpemVEYXRhPzogbnVtYmVyW107XHJcbiAgc2hvd0lucHV0U2l6ZT86IGJvb2xlYW47XHJcbiAgaW5wdXRTaXplV2lkdGg/OiBudW1iZXI7XHJcbiAgc2hvd0p1bXA/OiBib29sZWFuO1xyXG4gIGp1bXBXaWR0aD86IG51bWJlcjtcclxuICBzaW1wbGU/OiBib29sZWFuO1xyXG4gIHNpbXBsZUluZGV4V2lkdGg/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBhdHRlcm5Db25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBvcGNvbmZpcm1Db25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgaWNvbkNvbG9yPzogc3RyaW5nO1xyXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgY29uZmlybVRleHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBvcG92ZXJDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhQb3J0YWxDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFByb2dyZXNzQ29uZmluZyB7XHJcbiAgaGVpZ2h0Pzogc3RyaW5nO1xyXG4gIHN0ZXBXaWR0aD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmFkaW9Db25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmF0ZUNvbmZpZyB7XHJcbiAgY29sb3I/OiBzdHJpbmcgfCB7IFtjb2xvcjogc3RyaW5nXTogKHJhdGU6IG51bWJlcikgPT4gYm9vbGVhbiB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhSZXN1bHRDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNlbGVjdENvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIHBvcnRhbE1heEhlaWdodD86IHN0cmluZztcclxuICBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIHNlYXJjaD86IFhCb29sZWFuO1xyXG4gIGNhc2VTZW5zaXRpdmU/OiBYQm9vbGVhbjtcclxuICBkZWJvdW5jZVRpbWU/OiBudW1iZXI7XHJcbiAgbWF4VGFnQ291bnQ/OiBudW1iZXI7XHJcbiAgdmlydHVhbFNjcm9sbD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhTa2VsZXRvbkNvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU2xpZGVyQ29uZmlnIHtcclxuICBhbmltYXRlZD86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBzaG93RXhwYW5kPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNsaWRlclNlbGVjdENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU3RhdGlzdGljQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb3VudGRvd25Db25maWcge1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU3RlcHNDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFN3aXRjaENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVDb25maWcge1xyXG4gIGluZGV4PzogbnVtYmVyO1xyXG4gIHNpemU/OiBudW1iZXI7XHJcbiAgbG9hZGluZz86IFhCb29sZWFuO1xyXG4gIHNob3dIZWFkZXI/OiBYQm9vbGVhbjtcclxuICB2aXJ0dWFsU2Nyb2xsPzogYm9vbGVhbjtcclxuICByb3dIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIGl0ZW1TaXplPzogWE51bWJlcjtcclxuICBib3JkZXJlZD86IFhOdW1iZXI7XHJcbiAgYWxsb3dTZWxlY3RSb3c/OiBYQm9vbGVhbjtcclxuICBhbGxvd0NoZWNrUm93PzogWEJvb2xlYW47XHJcbiAgcm93U2l6ZT86IFhTaXplO1xyXG4gIHNob3dQYWdpbmF0aW9uPzogWEJvb2xlYW47XHJcbiAgdHJlZVRhYmxlPzogWEJvb2xlYW47XHJcbiAgZXhwYW5kZWRBbGw/OiBYQm9vbGVhbjtcclxuICBleHBhbmRlZExldmVsPzogWE51bWJlcjtcclxuICBoaWRkZW5QYWdpbmF0aW9uQm9yZGVyPzogWEJvb2xlYW47XHJcbiAgaGlkZGVuV3JhcEJvcmRlcj86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJzQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhZ0NvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgY2xvc2FibGU/OiBYQm9vbGVhbjtcclxuICBkYXJrPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRleHRSZXRyYWN0Q29uZmlnIHtcclxuICBtYXg/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUaGVtZUNvbmZpZyB7XHJcbiAgYW1vdW50cz86IFhOdW1iZXJbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGltZUFnb0NvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGltZVBpY2tlckNvbmZpZyB7XHJcbiAgZm9ybWF0Pzogc3RyaW5nO1xyXG4gIHBsYWNlbWVudD86IFhDb3JuZXI7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgdXNlMTJIb3Vycz86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUaW1lUmFuZ2VDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRpbWVsaW5lQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRvb2x0aXBDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRyYW5zZmVyQ29uZmlnIHtcclxuICB0aXRsZXM/OiBzdHJpbmdbXTtcclxuICBkcmFnPzogWEJvb2xlYW47XHJcbiAgdmlydHVhbFNjcm9sbD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUcmVlQ29uZmlnIHtcclxuICBzcGFjaW5nPzogWE51bWJlcjtcclxuICBub2RlSGVpZ2h0PzogWE51bWJlcjtcclxuICBub2RlQWxpZ25JdGVtcz86IFhBbGlnbjtcclxuICB2aXJ0dWFsU2Nyb2xsPzogYm9vbGVhbjtcclxuICBvbmx5TGVhZj86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRleHRhcmVhQ29uZmlnIHtcclxuICBjbGVhcmFibGU/OiBYQm9vbGVhbjtcclxuICBpY29uTGF5b3V0PzogWFBvc2l0aW9uTGVmdFJpZ2h0O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUcmVlRmlsZUNvbmZpZyB7XHJcbiAgbWF4SGVpZ2h0PzogWE51bWJlcjtcclxuICBzcGFjaW5nPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVHJlZVNlbGVjdENvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIHBvcnRhbE1heEhlaWdodD86IHN0cmluZztcclxuICBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIHNlYXJjaD86IFhCb29sZWFuO1xyXG4gIGNhc2VTZW5zaXRpdmU/OiBYQm9vbGVhbjtcclxuICBkZWJvdW5jZVRpbWU/OiBudW1iZXI7XHJcbiAgbWF4VGFnQ291bnQ/OiBudW1iZXI7XHJcbiAgdmlydHVhbFNjcm9sbD86IFhCb29sZWFuO1xyXG4gIHNob3dQYXRoPzogWEJvb2xlYW47XHJcbiAgc2VwYXJhdG9yPzogc3RyaW5nO1xyXG4gIG9ubHlMZWFmPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVXBsb2FkQ29uZmlnIHtcclxuICBkb3dubG9hZD86IFhCb29sZWFuO1xyXG4gIG11bHRpcGxlTW9kZWw/OiAnY292ZXInIHwgJ2FkZCc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEtleXdvcmRDb25maWcge1xyXG4gIHR5cGU/OiBYVHlwZTtcclxuICBjb2xvcj86IHN0cmluZztcclxuICBjYXNlU2Vuc2l0aXZlPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY29yZS9jb25maWcvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWS9DLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBVSxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWFNpemUsXHJcbiAgWEJvb2xlYW4sXHJcbiAgWFR5cGUsXHJcbiAgWEVmZmVjdCxcclxuICBYTnVtYmVyLFxyXG4gIFhQb3NpdGlvbkxlZnRSaWdodCxcclxuICBYSnVzdGlmeSxcclxuICBYU2hhcGUsXHJcbiAgWEZpdCxcclxuICBYU2hhZG93LFxyXG4gIFhUcmlnZ2VyLFxyXG4gIFhEaXNwbGF5RGlyZWN0aW9uLFxyXG4gIFhDb3JuZXIsXHJcbiAgWERpcmVjdGlvbixcclxuICBYUGxhY2UsXHJcbiAgWFBvc2l0aW9uLFxyXG4gIFhQbGFjZW1lbnQsXHJcbiAgWFBvc2l0aW9uVG9wQm90dG9tLFxyXG4gIFhTdGF0dXMsXHJcbiAgWEFsaWduXHJcbn0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUaGVtZSB9IGZyb20gJy4uL3RoZW1lJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbmZpZyB7XHJcbiAgY29tcG9uZW50cz86IFhDb21wb25lbnRDb25maWc7XHJcbiAgdGhlbWU/OiBYVGhlbWU7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFhDb25maWdLZXkgPSBrZXlvZiBYQ29uZmlnO1xyXG5cclxuZXhwb3J0IHR5cGUgWENvbXBvbmVudENvbmZpZ0tleSA9IGtleW9mIFhDb21wb25lbnRDb25maWc7XHJcblxyXG5leHBvcnQgY29uc3QgWF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48WENvbmZpZz4oJ3gtY29uZmlnJyk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb21wb25lbnRDb25maWcge1xyXG4gIGFmZml4PzogWEFmZml4Q29uZmlnO1xyXG4gIGFsZXJ0PzogWEFsZXJ0Q29uZmlnO1xyXG4gIGFuY2hvcj86IFhBbmNob3JDb25maWc7XHJcbiAgYXZhdGFyPzogWEF2YXRhckNvbmZpZztcclxuICBhdXRvQ29tcGxldGU/OiBYQXV0b0NvbXBsZXRlQ29uZmlnO1xyXG4gIGJhY2tUb3A/OiBYQmFja1RvcENvbmZpZztcclxuICBiYWRnZT86IFhCYWRnZUNvbmZnaWc7XHJcbiAgYnV0dG9uPzogWEJ1dHRvbkNvbmZpZztcclxuICBidXR0b25zPzogWEJ1dHRvbnNDb25maWc7XHJcbiAgY2FsZW5kYXI/OiBYQ2FsZW5kYXJDb25maWc7XHJcbiAgY2FyZD86IFhDYXJkQ29uZmlnO1xyXG4gIGNhcm91c2VsPzogWENhcm91c2VsQ29uZmlnO1xyXG4gIGNhc2NhZGU/OiBYQ2FzY2FkZUNvbmZpZztcclxuICBjaGVja2JveD86IFhDaGVja2JveENvbmZpZztcclxuICBjb2xsYXBzZT86IFhDb2xsYXBzZUNvbmZpZztcclxuICBjb2xvcj86IFhDb2xvckNvbmZpZztcclxuICBjb2xvclBpY2tlcj86IFhDb2xvclBpY2tlckNvbmZpZztcclxuICBjb21tZW50PzogWENvbW1lbnRDb25maWc7XHJcbiAgY29udGFpbmVyPzogWENvbnRhaW5lckNvbmZpZztcclxuICBoZWFkZXI/OiBYSGVhZGVyQ29uZmlnO1xyXG4gIGFzaWRlPzogWEFzaWRlQ29uZmlnO1xyXG4gIGZvb3Rlcj86IFhGb290ZXJDb25maWc7XHJcbiAgY3J1bWI/OiBYQ3J1bWJDb21maWc7XHJcbiAgZGF0ZVBpY2tlcj86IFhEYXRlUGlja2VyQ29uZmlnO1xyXG4gIGRhdGVSYW5nZT86IFhEYXRlUmFuZ2VDb25maWc7XHJcbiAgZGlhbG9nPzogWERpYWxvZ0NvbmZpZztcclxuICBkcmF3ZXI/OiBYRHJhd2VyQ29uZmlnO1xyXG4gIGRyb3Bkb3duPzogWERyb3Bkb3duQ29uZmlnO1xyXG4gIGRlc2NyaXB0aW9uPzogWERlc2NyaXB0aW9uQ29uZmlnO1xyXG4gIGVtcHR5PzogWEVtcHR5Q29uZmlnO1xyXG4gIGZpbmQ/OiBYRmluZENvbmZpZztcclxuICBmb3JtPzogWEZvcm1Db25maWc7XHJcbiAgaGlnaGxpZ2h0PzogWEhpZ2hsaWdodENvbmZpZztcclxuICBpY29uPzogWEljb25Db25maWc7XHJcbiAgaW5uZXI/OiBYSW5uZXJDb25maWc7XHJcbiAgaW5wdXQ/OiBYSW5wdXRDb25maWc7XHJcbiAgaW5wdXRHcm91cD86IFhJbnB1dEdyb3VwQ29uZmlnO1xyXG4gIGlucHV0TnVtYmVyPzogWElucHV0TnVtYmVyQ29uZmlnO1xyXG4gIGltYWdlPzogWEltYWdlQ29uZmlnO1xyXG4gIGNvbD86IFhDb2xDb25maWc7XHJcbiAgcm93PzogWFJvd0NvbmZpZztcclxuICByaXBwbGU/OiBYUmlwcGxlQ29uZmlnO1xyXG4gIGxpbms/OiBYTGlua0NvbmZpZztcclxuICBsaXN0PzogWExpc3RDb25maWc7XHJcbiAgbGlzdE9wdGlvbj86IFhMaXN0T3B0aW9uQ29uZmlnO1xyXG4gIGxvYWRpbmc/OiBYTG9hZGluZ0NvbmZpZztcclxuICBtZW51PzogWE1lbnVDb25maWc7XHJcbiAgbWVzc2FnZT86IFhNZXNzYWdlQ29uZmlnO1xyXG4gIG1lc3NhZ2VCb3g/OiBYTWVzc2FnZUJveENvbmZpZztcclxuICBub3RpZmljYXRpb24/OiBYTm90aWZpY2F0aW9uQ29uZmlnO1xyXG4gIG91dGxldD86IFhPdXRsZXRDb25maWc7XHJcbiAgcGFnZUhlYWRlcj86IFhQYWdlSGVhZGVyQ29uZmlnO1xyXG4gIHBhZ2luYXRpb24/OiBYUGFnaW5hdGlvbkNvbmZpZztcclxuICBwYXR0ZXJuPzogWFBhdHRlcm5Db25maWc7XHJcbiAgcG9wY29uZmlybT86IFhQb3Bjb25maXJtQ29uZmlnO1xyXG4gIHBvcG92ZXI/OiBYUG9wb3ZlckNvbmZpZztcclxuICBwb3J0YWw/OiBYUG9ydGFsQ29uZmlnO1xyXG4gIHByb2dyZXNzPzogWFByb2dyZXNzQ29uZmluZztcclxuICByYWRpbz86IFhSYWRpb0NvbmZpZztcclxuICByYXRlPzogWFJhdGVDb25maWc7XHJcbiAgcmVzdWx0PzogWFJlc3VsdENvbmZpZztcclxuICBzZWxlY3Q/OiBYU2VsZWN0Q29uZmlnO1xyXG4gIHNrZWxldG9uPzogWFNrZWxldG9uQ29uZmlnO1xyXG4gIHNsaWRlcj86IFhTbGlkZXJDb25maWc7XHJcbiAgc2xpZGVyU2VsZWN0PzogWFNsaWRlclNlbGVjdENvbmZpZztcclxuICBzdGF0aXN0aWM/OiBYU3RhdGlzdGljQ29uZmlnO1xyXG4gIGNvdW50ZG93bj86IFhDb3VudGRvd25Db25maWc7XHJcbiAgc3RlcHM/OiBYU3RlcHNDb25maWc7XHJcbiAgc3dpdGNoPzogWFN3aXRjaENvbmZpZztcclxuICB0YWJsZT86IFhUYWJsZUNvbmZpZztcclxuICB0YWJzPzogWFRhYnNDb25maWc7XHJcbiAgdGFnPzogWFRhZ0NvbmZpZztcclxuICB0ZXh0UmV0cmFjdD86IFhUZXh0UmV0cmFjdENvbmZpZztcclxuICB0aGVtZT86IFhUaGVtZUNvbmZpZztcclxuICB0aW1lQWdvPzogWFRpbWVBZ29Db25maWc7XHJcbiAgdGltZVBpY2tlcj86IFhUaW1lUGlja2VyQ29uZmlnO1xyXG4gIHRpbWVSYW5nZT86IFhUaW1lUmFuZ2VDb25maWc7XHJcbiAgdGltZWxpbmU/OiBYVGltZWxpbmVDb25maWc7XHJcbiAgdG9vbHRpcD86IFhUb29sdGlwQ29uZmlnO1xyXG4gIHRyYW5zZmVyPzogWFRyYW5zZmVyQ29uZmlnO1xyXG4gIHRyZWU/OiBYVHJlZUNvbmZpZztcclxuICB0cmVlRmlsZT86IFhUcmVlRmlsZUNvbmZpZztcclxuICB0cmVlU2VsZWN0PzogWFRyZWVTZWxlY3RDb25maWc7XHJcbiAgdGV4dGFyZWE/OiBYVGV4dGFyZWFDb25maWc7XHJcbiAgdXBsb2FkPzogWFVwbG9hZENvbmZpZztcclxuICBrZXl3b3JkPzogWEtleXdvcmRDb25maWc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEFmZml4Q29uZmlnIHtcclxuICB0b3A/OiBzdHJpbmc7XHJcbiAgbGVmdD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQWxlcnRDb25maWcge1xyXG4gIGVmZmVjdD86IFhFZmZlY3Q7XHJcbiAgaGlkZUNsb3NlPzogWEJvb2xlYW47XHJcbiAgc2hvd0ljb24/OiBYQm9vbGVhbjtcclxuICBkaXNhYmxlZEFuaW1hdGlvbj86IFhCb29sZWFuO1xyXG4gIGRyYWdnYWJsZT86IFhCb29sZWFuO1xyXG4gIHJlc2l6YWJsZT86IFhCb29sZWFuO1xyXG4gIGRyYWdIYW5kbGVUaXRsZT86IFhCb29sZWFuO1xyXG4gIGR1cmF0aW9uPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQW5jaG9yQ29uZmlnIHtcclxuICBhZmZpeFRvcD86IHN0cmluZztcclxuICBhZmZpeFdpZHRoPzogc3RyaW5nO1xyXG4gIGxheW91dD86IFhQb3NpdGlvbkxlZnRSaWdodDtcclxuICBqdXN0aWZ5PzogWEp1c3RpZnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEF2YXRhckNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHNoYXBlPzogWFNoYXBlO1xyXG4gIGZpdD86IFhGaXQ7XHJcbiAgZ2FwPzogbnVtYmVyO1xyXG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQXV0b0NvbXBsZXRlQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgZGVib3VuY2VUaW1lPzogbnVtYmVyO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IGJvb2xlYW47XHJcbiAgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XHJcbiAgb25seVNlbGVjdD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJhY2tUb3BDb25maWcge1xyXG4gIHJpZ2h0Pzogc3RyaW5nO1xyXG4gIGJvdHRvbT86IHN0cmluZztcclxuICB2aXNpYmlsaXR5SGVpZ2h0PzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQmFkZ2VDb25mZ2lnIHtcclxuICB0eXBlPzogWFR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJ1dHRvbkNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHR5cGU/OiBYVHlwZTtcclxuICBwbGFpbj86IFhCb29sZWFuO1xyXG4gIHJvdW5kPzogWEJvb2xlYW47XHJcbiAgY2lyY2xlPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJ1dHRvbnNDb25maWcge1xyXG4gIHNwYWNlPzogWE51bWJlcjtcclxuICBoaWRkZW5Cb3JkZXI/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ2FsZW5kYXJDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENhcmRDb25maWcge1xyXG4gIHNoYWRvdz86IFhTaGFkb3c7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENhcm91c2VsQ29uZmlnIHtcclxuICBoZWlnaHQ/OiBzdHJpbmc7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIGFycm93PzogWFNoYWRvdztcclxuICBkaXJlY3Rpb24/OiBYRGlzcGxheURpcmVjdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ2FzY2FkZUNvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xyXG4gIG5vZGVUcmlnZ2VyPzogWFRyaWdnZXI7XHJcbiAgbm9kZUhvdmVyRGVsYXk/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDaGVja2JveENvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb2xsYXBzZUNvbmZpZyB7XHJcbiAgc2hvd0ljb24/OiBCb29sZWFuO1xyXG4gIGdob3N0PzogQm9vbGVhbjtcclxuICBpY29uUG9zaXRpb24/OiAnbGVmdCcgfCAncmlnaHQnO1xyXG4gIGJvcmRlcmVkPzogQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ29sb3JDb25maWcge1xyXG4gIG1lcmdlPzogc3RyaW5nO1xyXG4gIGFtb3VudHM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbG9yUGlja2VyQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb21tZW50Q29uZmlnIHtcclxuICBjb250ZW50TWF4PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb250YWluZXJDb25maWcge1xyXG4gIGRpcmVjdGlvbj86IFhEaXJlY3Rpb247XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEhlYWRlckNvbmZpZyB7XHJcbiAgaGVpZ2h0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhBc2lkZUNvbmZpZyB7XHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZvb3RlckNvbmZpZyB7XHJcbiAgaGVpZ2h0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDcnVtYkNvbWZpZyB7XHJcbiAgc2VwYXJhdG9yPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUGlja2VyQ29uZmlnIHtcclxuICBmb3JtYXQ/OiBzdHJpbmc7XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUmFuZ2VDb25maWcge1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxuICBjbGVhcmFibGU/OiBYQm9vbGVhbjtcclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEaWFsb2dDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZTtcclxuICBvZmZzZXQ/OiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgbWluV2lkdGg/OiBzdHJpbmc7XHJcbiAgbWluSGVpZ2h0Pzogc3RyaW5nO1xyXG4gIGVmZmVjdD86IFhFZmZlY3Q7XHJcbiAgc2hvd0NhbmNlbD86IFhCb29sZWFuO1xyXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgc2hvd0NvbmZpcm0/OiBYQm9vbGVhbjtcclxuICBjb25maXJtVGV4dD86IHN0cmluZztcclxuICBiYWNrZHJvcENsb3NlPzogWEJvb2xlYW47XHJcbiAgZHJhZ2dhYmxlPzogWEJvb2xlYW47XHJcbiAgcmVzaXphYmxlPzogWEJvb2xlYW47XHJcbiAgbWF4aW1pemU/OiBYQm9vbGVhbjtcclxuICBoYXNCYWNrZHJvcD86IFhCb29sZWFuO1xyXG4gIGNsYXNzTmFtZT86IHN0cmluZztcclxuICBidXR0b25zQ2VudGVyPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERyYXdlckNvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBvc2l0aW9uO1xyXG4gIHNpemU/OiBzdHJpbmc7XHJcbiAgYmFja2Ryb3BDbG9zZT86IFhCb29sZWFuO1xyXG4gIGhhc0JhY2tkcm9wPzogWEJvb2xlYW47XHJcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEcm9wZG93bkNvbmZpZyB7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERlc2NyaXB0aW9uQ29uZmlnIHtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRW1wdHlDb25maWcge1xyXG4gIGNvbnRlbnQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZpbmRDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIGNvbHVtbkxhYmVsPzogc3RyaW5nO1xyXG4gIGRpYWxvZ1RpdGxlPzogc3RyaW5nO1xyXG4gIGRpYWxvZ0NoZWNrYm94TGFiZWw/OiBzdHJpbmc7XHJcbiAgZGlhbG9nQ2hlY2tib3hXaWR0aD86IG51bWJlcjtcclxuICBkaWFsb2dFbXB0eUNvbnRlbnQ/OiBzdHJpbmc7XHJcbiAgZGlhbG9nQnV0dG9uc0NlbnRlcj86IFhCb29sZWFuO1xyXG4gIHRhYmxlSW5kZXg/OiBudW1iZXI7XHJcbiAgdGFibGVTaXplPzogbnVtYmVyO1xyXG4gIHRhYmxlTG9hZGluZz86IFhCb29sZWFuO1xyXG4gIHRhYmxlVmlydHVhbFNjcm9sbD86IGJvb2xlYW47XHJcbiAgdGFibGVSb3dIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIHRyZWVFeHBhbmRlZExldmVsPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRm9ybUNvbmZpZyB7XHJcbiAgc3BhY2U/OiBYTnVtYmVyO1xyXG4gIGxhYmVsU3VmZml4Pzogc3RyaW5nO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhIaWdobGlnaHRDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEljb25Db25maWcge1xyXG4gIGhyZWY/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElubmVyQ29uZmlnIHtcclxuICBwYWRkaW5nPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dENvbmZpZyB7XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgaWNvbkxheW91dD86IFhQb3NpdGlvbkxlZnRSaWdodDtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBpbnB1dFBhZGRpbmc/OiBYTnVtYmVyO1xyXG4gIGlucHV0SWNvblBhZGRpbmc/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dEdyb3VwQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBjb21wYWN0PzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElucHV0TnVtYmVyQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSW1hZ2VDb25maWcge1xyXG4gIHByZXZpZXdUZXh0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb2xDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFJvd0NvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmlwcGxlQ29uZmlnIHtcclxuICB0eXBlPzogWFR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWExpbmtDb25maWcge1xyXG4gIHVuZGVybGluZT86IFhCb29sZWFuO1xyXG4gIGljb25SaWdodD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhMaXN0Q29uZmlnIHtcclxuICBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIGxvYWRNb3JlVGV4dD86IHN0cmluZztcclxuICBsb2FkaW5nTW9yZVRleHQ/OiBzdHJpbmc7XHJcbiAgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWExpc3RPcHRpb25Db25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTG9hZGluZ0NvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBjb2xvcj86IHN0cmluZztcclxuICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xyXG4gIHpJbmRleD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTWVudUNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIHRyaWdnZXI/OiBYVHJpZ2dlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTWVzc2FnZUNvbmZpZyB7XHJcbiAgdHlwZT86IFhTdGF0dXM7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgcGxhY2VtZW50PzogWFBsYWNlO1xyXG4gIGRpc3BsYXlUeXBlPzogc3RyaW5nO1xyXG4gIG9mZnNldD86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIGhpZGVDbG9zZT86IGJvb2xlYW47XHJcbiAgc2hvd0ljb24/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhNZXNzYWdlQm94Q29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhOb3RpZmljYXRpb25Db25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWE91dGxldENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUGFnZUhlYWRlckNvbmZpZyB7XHJcbiAgYmFja0ljb24/OiBzdHJpbmc7XHJcbiAgYmFja1RleHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBhZ2luYXRpb25Db25maWcge1xyXG4gIGluZGV4PzogWE51bWJlcjtcclxuICBzaXplPzogWE51bWJlcjtcclxuICBzcGFjZT86IFhOdW1iZXI7XHJcbiAgcGFnZUxpbmtTaXplPzogWE51bWJlcjtcclxuICBoaWRkZW5Cb3JkZXI/OiBib29sZWFuO1xyXG4gIHNob3dFbGxpcHNpcz86IGJvb2xlYW47XHJcbiAgc2hvd1RvdGFsPzogYm9vbGVhbjtcclxuICBzaG93U2l6ZT86IGJvb2xlYW47XHJcbiAgc2l6ZVdpZHRoPzogbnVtYmVyO1xyXG4gIHNpemVEYXRhPzogbnVtYmVyW107XHJcbiAgc2hvd0lucHV0U2l6ZT86IGJvb2xlYW47XHJcbiAgaW5wdXRTaXplV2lkdGg/OiBudW1iZXI7XHJcbiAgc2hvd0p1bXA/OiBib29sZWFuO1xyXG4gIGp1bXBXaWR0aD86IG51bWJlcjtcclxuICBzaW1wbGU/OiBib29sZWFuO1xyXG4gIHNpbXBsZUluZGV4V2lkdGg/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBhdHRlcm5Db25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBvcGNvbmZpcm1Db25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgaWNvbkNvbG9yPzogc3RyaW5nO1xyXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgY29uZmlybVRleHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBvcG92ZXJDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhQb3J0YWxDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFByb2dyZXNzQ29uZmluZyB7XHJcbiAgaGVpZ2h0Pzogc3RyaW5nO1xyXG4gIHN0ZXBXaWR0aD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmFkaW9Db25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmF0ZUNvbmZpZyB7XHJcbiAgY29sb3I/OiBzdHJpbmcgfCB7IFtjb2xvcjogc3RyaW5nXTogKHJhdGU6IG51bWJlcikgPT4gYm9vbGVhbiB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhSZXN1bHRDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNlbGVjdENvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIHBvcnRhbE1heEhlaWdodD86IHN0cmluZztcclxuICBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIHNlYXJjaD86IFhCb29sZWFuO1xyXG4gIGNhc2VTZW5zaXRpdmU/OiBYQm9vbGVhbjtcclxuICBkZWJvdW5jZVRpbWU/OiBudW1iZXI7XHJcbiAgbWF4VGFnQ291bnQ/OiBudW1iZXI7XHJcbiAgdmlydHVhbFNjcm9sbD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhTa2VsZXRvbkNvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU2xpZGVyQ29uZmlnIHtcclxuICBhbmltYXRlZD86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBzaG93RXhwYW5kPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNsaWRlclNlbGVjdENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU3RhdGlzdGljQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb3VudGRvd25Db25maWcge1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU3RlcHNDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFN3aXRjaENvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNvbmZpZyB7XHJcbiAgaW5kZXg/OiBudW1iZXI7XHJcbiAgc2l6ZT86IG51bWJlcjtcclxuICBsb2FkaW5nPzogWEJvb2xlYW47XHJcbiAgc2hvd0hlYWRlcj86IFhCb29sZWFuO1xyXG4gIHZpcnR1YWxTY3JvbGw/OiBib29sZWFuO1xyXG4gIHJvd0hlaWdodD86IFhOdW1iZXI7XHJcbiAgaXRlbVNpemU/OiBYTnVtYmVyO1xyXG4gIGJvcmRlcmVkPzogWE51bWJlcjtcclxuICBhbGxvd1NlbGVjdFJvdz86IFhCb29sZWFuO1xyXG4gIGFsbG93Q2hlY2tSb3c/OiBYQm9vbGVhbjtcclxuICByb3dTaXplPzogWFNpemU7XHJcbiAgc2hvd1BhZ2luYXRpb24/OiBYQm9vbGVhbjtcclxuICB0cmVlVGFibGU/OiBYQm9vbGVhbjtcclxuICBleHBhbmRlZEFsbD86IFhCb29sZWFuO1xyXG4gIGV4cGFuZGVkTGV2ZWw/OiBYTnVtYmVyO1xyXG4gIGhpZGRlblBhZ2luYXRpb25Cb3JkZXI/OiBYQm9vbGVhbjtcclxuICBoaWRkZW5XcmFwQm9yZGVyPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhYnNDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGFnQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBjbG9zYWJsZT86IFhCb29sZWFuO1xyXG4gIGRhcms/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGV4dFJldHJhY3RDb25maWcge1xyXG4gIG1heD86IFhOdW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRoZW1lQ29uZmlnIHtcclxuICBhbW91bnRzPzogWE51bWJlcltdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUaW1lQWdvQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUaW1lUGlja2VyQ29uZmlnIHtcclxuICBmb3JtYXQ/OiBzdHJpbmc7XHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICB1c2UxMkhvdXJzPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRpbWVSYW5nZUNvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGltZWxpbmVDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVG9vbHRpcENvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBsYWNlbWVudDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVHJhbnNmZXJDb25maWcge1xyXG4gIHRpdGxlcz86IHN0cmluZ1tdO1xyXG4gIGRyYWc/OiBYQm9vbGVhbjtcclxuICB2aXJ0dWFsU2Nyb2xsPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRyZWVDb25maWcge1xyXG4gIHNwYWNpbmc/OiBYTnVtYmVyO1xyXG4gIG5vZGVIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIG5vZGVBbGlnbkl0ZW1zPzogWEFsaWduO1xyXG4gIHZpcnR1YWxTY3JvbGw/OiBib29sZWFuO1xyXG4gIG9ubHlMZWFmPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGV4dGFyZWFDb25maWcge1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIGljb25MYXlvdXQ/OiBYUG9zaXRpb25MZWZ0UmlnaHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRyZWVGaWxlQ29uZmlnIHtcclxuICBtYXhIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIHNwYWNpbmc/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUcmVlU2VsZWN0Q29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgcG9ydGFsTWF4SGVpZ2h0Pzogc3RyaW5nO1xyXG4gIHNlbGVjdEFsbFRleHQ/OiBzdHJpbmc7XHJcbiAgc2VhcmNoPzogWEJvb2xlYW47XHJcbiAgY2FzZVNlbnNpdGl2ZT86IFhCb29sZWFuO1xyXG4gIGRlYm91bmNlVGltZT86IG51bWJlcjtcclxuICBtYXhUYWdDb3VudD86IG51bWJlcjtcclxuICB2aXJ0dWFsU2Nyb2xsPzogWEJvb2xlYW47XHJcbiAgc2hvd1BhdGg/OiBYQm9vbGVhbjtcclxuICBzZXBhcmF0b3I/OiBzdHJpbmc7XHJcbiAgb25seUxlYWY/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhVcGxvYWRDb25maWcge1xyXG4gIGRvd25sb2FkPzogWEJvb2xlYW47XHJcbiAgbXVsdGlwbGVNb2RlbD86ICdjb3ZlcicgfCAnYWRkJztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYS2V5d29yZENvbmZpZyB7XHJcbiAgdHlwZT86IFhUeXBlO1xyXG4gIGNvbG9yPzogc3RyaW5nO1xyXG4gIGNhc2VTZW5zaXRpdmU/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -7,35 +7,23 @@ export function XToDate(date) {
7
7
  return new Date(Date.parse(date));
8
8
  }
9
9
  }
10
- export function XAddSeconds(date, amount) {
10
+ export function XAddMilliseconds(date, amount) {
11
11
  let dt = XToDate(date);
12
12
  if (!isNaN(dt.valueOf()) && amount) {
13
- dt.setSeconds(dt.getSeconds() + amount);
14
- return dt;
13
+ return new Date(dt.getTime() + amount);
15
14
  }
16
15
  else {
17
16
  return date;
18
17
  }
19
18
  }
19
+ export function XAddSeconds(date, amount) {
20
+ return XAddMilliseconds(date, amount * 1000);
21
+ }
20
22
  export function XAddMinutes(date, amount) {
21
- let dt = XToDate(date);
22
- if (!isNaN(dt.valueOf()) && amount) {
23
- dt.setMinutes(dt.getMinutes() + amount);
24
- return dt;
25
- }
26
- else {
27
- return date;
28
- }
23
+ return XAddMilliseconds(date, amount * 60000);
29
24
  }
30
25
  export function XAddHours(date, amount) {
31
- let dt = XToDate(date);
32
- if (!isNaN(dt.valueOf()) && amount) {
33
- dt.setHours(dt.getHours() + amount);
34
- return dt;
35
- }
36
- else {
37
- return date;
38
- }
26
+ return XAddMilliseconds(date, amount * 3600000);
39
27
  }
40
28
  export function XAddDays(date, amount) {
41
29
  let dt = XToDate(date);
@@ -50,7 +38,17 @@ export function XAddDays(date, amount) {
50
38
  export function XAddMonths(date, amount) {
51
39
  let dt = XToDate(date);
52
40
  if (!isNaN(dt.valueOf()) && amount) {
53
- dt.setMonth(dt.getMonth() + amount);
41
+ const day = dt.getDate();
42
+ const month = dt.getMonth();
43
+ const endMonth = new Date(dt);
44
+ endMonth.setMonth(month + amount + 1, 0);
45
+ const endDay = endMonth.getDate();
46
+ if (day >= endDay) {
47
+ return endMonth;
48
+ }
49
+ else {
50
+ dt.setFullYear(endMonth.getFullYear(), endMonth.getMonth(), day);
51
+ }
54
52
  return dt;
55
53
  }
56
54
  else {
@@ -58,13 +56,6 @@ export function XAddMonths(date, amount) {
58
56
  }
59
57
  }
60
58
  export function XAddYears(date, amount) {
61
- let dt = XToDate(date);
62
- if (!isNaN(dt.valueOf()) && amount) {
63
- dt.setFullYear(dt.getFullYear() + amount);
64
- return dt;
65
- }
66
- else {
67
- return date;
68
- }
59
+ return XAddMonths(date, amount * 12);
69
60
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2NvcmUvZnVuY3Rpb25zL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxJQUFXO0lBQ2pDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNwQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3ZCO1NBQU07UUFDTCxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBYyxDQUFDLENBQUMsQ0FBQztLQUM3QztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQVcsRUFBRSxNQUFjO0lBQ3JELElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLE1BQU0sRUFBRTtRQUNsQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUN4QyxPQUFPLEVBQUUsQ0FBQztLQUNYO1NBQU07UUFDTCxPQUFPLElBQVksQ0FBQztLQUNyQjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQVcsRUFBRSxNQUFjO0lBQ3JELElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLE1BQU0sRUFBRTtRQUNsQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUN4QyxPQUFPLEVBQUUsQ0FBQztLQUNYO1NBQU07UUFDTCxPQUFPLElBQVksQ0FBQztLQUNyQjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLElBQVcsRUFBRSxNQUFjO0lBQ25ELElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLE1BQU0sRUFBRTtRQUNsQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUNwQyxPQUFPLEVBQUUsQ0FBQztLQUNYO1NBQU07UUFDTCxPQUFPLElBQVksQ0FBQztLQUNyQjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQVcsRUFBRSxNQUFjO0lBQ2xELElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLE1BQU0sRUFBRTtRQUNsQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLEVBQUUsQ0FBQztLQUNYO1NBQU07UUFDTCxPQUFPLElBQVksQ0FBQztLQUNyQjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVcsRUFBRSxNQUFjO0lBQ3BELElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLE1BQU0sRUFBRTtRQUNsQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUNwQyxPQUFPLEVBQUUsQ0FBQztLQUNYO1NBQU07UUFDTCxPQUFPLElBQVksQ0FBQztLQUNyQjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLElBQVcsRUFBRSxNQUFjO0lBQ25ELElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLE1BQU0sRUFBRTtRQUNsQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUMxQyxPQUFPLEVBQUUsQ0FBQztLQUNYO1NBQU07UUFDTCxPQUFPLElBQVksQ0FBQztLQUNyQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBYSXNEYXRlLCBYSXNOdW1iZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCB0eXBlIFhEYXRlID0gc3RyaW5nIHwgRGF0ZSB8IG51bWJlcjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBYVG9EYXRlKGRhdGU6IFhEYXRlKTogRGF0ZSB7XHJcbiAgaWYgKFhJc0RhdGUoZGF0ZSkgfHwgWElzTnVtYmVyKGRhdGUpKSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZShEYXRlLnBhcnNlKGRhdGUgYXMgc3RyaW5nKSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gWEFkZFNlY29uZHMoZGF0ZTogWERhdGUsIGFtb3VudDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgbGV0IGR0ID0gWFRvRGF0ZShkYXRlKTtcclxuICBpZiAoIWlzTmFOKGR0LnZhbHVlT2YoKSkgJiYgYW1vdW50KSB7XHJcbiAgICBkdC5zZXRTZWNvbmRzKGR0LmdldFNlY29uZHMoKSArIGFtb3VudCk7XHJcbiAgICByZXR1cm4gZHQ7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBkYXRlIGFzIERhdGU7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gWEFkZE1pbnV0ZXMoZGF0ZTogWERhdGUsIGFtb3VudDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgbGV0IGR0ID0gWFRvRGF0ZShkYXRlKTtcclxuICBpZiAoIWlzTmFOKGR0LnZhbHVlT2YoKSkgJiYgYW1vdW50KSB7XHJcbiAgICBkdC5zZXRNaW51dGVzKGR0LmdldE1pbnV0ZXMoKSArIGFtb3VudCk7XHJcbiAgICByZXR1cm4gZHQ7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBkYXRlIGFzIERhdGU7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gWEFkZEhvdXJzKGRhdGU6IFhEYXRlLCBhbW91bnQ6IG51bWJlcik6IERhdGUge1xyXG4gIGxldCBkdCA9IFhUb0RhdGUoZGF0ZSk7XHJcbiAgaWYgKCFpc05hTihkdC52YWx1ZU9mKCkpICYmIGFtb3VudCkge1xyXG4gICAgZHQuc2V0SG91cnMoZHQuZ2V0SG91cnMoKSArIGFtb3VudCk7XHJcbiAgICByZXR1cm4gZHQ7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBkYXRlIGFzIERhdGU7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gWEFkZERheXMoZGF0ZTogWERhdGUsIGFtb3VudDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgbGV0IGR0ID0gWFRvRGF0ZShkYXRlKTtcclxuICBpZiAoIWlzTmFOKGR0LnZhbHVlT2YoKSkgJiYgYW1vdW50KSB7XHJcbiAgICBkdC5zZXREYXRlKGR0LmdldERhdGUoKSArIGFtb3VudCk7XHJcbiAgICByZXR1cm4gZHQ7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBkYXRlIGFzIERhdGU7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gWEFkZE1vbnRocyhkYXRlOiBYRGF0ZSwgYW1vdW50OiBudW1iZXIpOiBEYXRlIHtcclxuICBsZXQgZHQgPSBYVG9EYXRlKGRhdGUpO1xyXG4gIGlmICghaXNOYU4oZHQudmFsdWVPZigpKSAmJiBhbW91bnQpIHtcclxuICAgIGR0LnNldE1vbnRoKGR0LmdldE1vbnRoKCkgKyBhbW91bnQpO1xyXG4gICAgcmV0dXJuIGR0O1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gZGF0ZSBhcyBEYXRlO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFhBZGRZZWFycyhkYXRlOiBYRGF0ZSwgYW1vdW50OiBudW1iZXIpOiBEYXRlIHtcclxuICBsZXQgZHQgPSBYVG9EYXRlKGRhdGUpO1xyXG4gIGlmICghaXNOYU4oZHQudmFsdWVPZigpKSAmJiBhbW91bnQpIHtcclxuICAgIGR0LnNldEZ1bGxZZWFyKGR0LmdldEZ1bGxZZWFyKCkgKyBhbW91bnQpO1xyXG4gICAgcmV0dXJuIGR0O1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gZGF0ZSBhcyBEYXRlO1xyXG4gIH1cclxufVxyXG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2NvcmUvZnVuY3Rpb25zL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxJQUFXO0lBQ2pDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNwQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3ZCO1NBQU07UUFDTCxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBYyxDQUFDLENBQUMsQ0FBQztLQUM3QztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsSUFBVyxFQUFFLE1BQWM7SUFDMUQsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksTUFBTSxFQUFFO1FBQ2xDLE9BQU8sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0tBQ3hDO1NBQU07UUFDTCxPQUFPLElBQVksQ0FBQztLQUNyQjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQVcsRUFBRSxNQUFjO0lBQ3JELE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxFQUFFLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFXLEVBQUUsTUFBYztJQUNyRCxPQUFPLGdCQUFnQixDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsSUFBVyxFQUFFLE1BQWM7SUFDbkQsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQVcsRUFBRSxNQUFjO0lBQ2xELElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLE1BQU0sRUFBRTtRQUNsQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLEVBQUUsQ0FBQztLQUNYO1NBQU07UUFDTCxPQUFPLElBQVksQ0FBQztLQUNyQjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVcsRUFBRSxNQUFjO0lBQ3BELElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLE1BQU0sRUFBRTtRQUNsQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekIsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xDLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRTtZQUNqQixPQUFPLFFBQVEsQ0FBQztTQUNqQjthQUFNO1lBQ0wsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ2xFO1FBQ0QsT0FBTyxFQUFFLENBQUM7S0FDWDtTQUFNO1FBQ0wsT0FBTyxJQUFZLENBQUM7S0FDckI7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxJQUFXLEVBQUUsTUFBYztJQUNuRCxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBYSXNEYXRlLCBYSXNOdW1iZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCB0eXBlIFhEYXRlID0gc3RyaW5nIHwgRGF0ZSB8IG51bWJlcjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBYVG9EYXRlKGRhdGU6IFhEYXRlKTogRGF0ZSB7XHJcbiAgaWYgKFhJc0RhdGUoZGF0ZSkgfHwgWElzTnVtYmVyKGRhdGUpKSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZShEYXRlLnBhcnNlKGRhdGUgYXMgc3RyaW5nKSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gWEFkZE1pbGxpc2Vjb25kcyhkYXRlOiBYRGF0ZSwgYW1vdW50OiBudW1iZXIpOiBEYXRlIHtcclxuICBsZXQgZHQgPSBYVG9EYXRlKGRhdGUpO1xyXG4gIGlmICghaXNOYU4oZHQudmFsdWVPZigpKSAmJiBhbW91bnQpIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZShkdC5nZXRUaW1lKCkgKyBhbW91bnQpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gZGF0ZSBhcyBEYXRlO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFhBZGRTZWNvbmRzKGRhdGU6IFhEYXRlLCBhbW91bnQ6IG51bWJlcik6IERhdGUge1xyXG4gIHJldHVybiBYQWRkTWlsbGlzZWNvbmRzKGRhdGUsIGFtb3VudCAqIDEwMDApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gWEFkZE1pbnV0ZXMoZGF0ZTogWERhdGUsIGFtb3VudDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgcmV0dXJuIFhBZGRNaWxsaXNlY29uZHMoZGF0ZSwgYW1vdW50ICogNjAwMDApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gWEFkZEhvdXJzKGRhdGU6IFhEYXRlLCBhbW91bnQ6IG51bWJlcik6IERhdGUge1xyXG4gIHJldHVybiBYQWRkTWlsbGlzZWNvbmRzKGRhdGUsIGFtb3VudCAqIDM2MDAwMDApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gWEFkZERheXMoZGF0ZTogWERhdGUsIGFtb3VudDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgbGV0IGR0ID0gWFRvRGF0ZShkYXRlKTtcclxuICBpZiAoIWlzTmFOKGR0LnZhbHVlT2YoKSkgJiYgYW1vdW50KSB7XHJcbiAgICBkdC5zZXREYXRlKGR0LmdldERhdGUoKSArIGFtb3VudCk7XHJcbiAgICByZXR1cm4gZHQ7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBkYXRlIGFzIERhdGU7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gWEFkZE1vbnRocyhkYXRlOiBYRGF0ZSwgYW1vdW50OiBudW1iZXIpOiBEYXRlIHtcclxuICBsZXQgZHQgPSBYVG9EYXRlKGRhdGUpO1xyXG4gIGlmICghaXNOYU4oZHQudmFsdWVPZigpKSAmJiBhbW91bnQpIHtcclxuICAgIGNvbnN0IGRheSA9IGR0LmdldERhdGUoKTtcclxuICAgIGNvbnN0IG1vbnRoID0gZHQuZ2V0TW9udGgoKTtcclxuICAgIGNvbnN0IGVuZE1vbnRoID0gbmV3IERhdGUoZHQpO1xyXG4gICAgZW5kTW9udGguc2V0TW9udGgobW9udGggKyBhbW91bnQgKyAxLCAwKTtcclxuICAgIGNvbnN0IGVuZERheSA9IGVuZE1vbnRoLmdldERhdGUoKTtcclxuICAgIGlmIChkYXkgPj0gZW5kRGF5KSB7XHJcbiAgICAgIHJldHVybiBlbmRNb250aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGR0LnNldEZ1bGxZZWFyKGVuZE1vbnRoLmdldEZ1bGxZZWFyKCksIGVuZE1vbnRoLmdldE1vbnRoKCksIGRheSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZHQ7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBkYXRlIGFzIERhdGU7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gWEFkZFllYXJzKGRhdGU6IFhEYXRlLCBhbW91bnQ6IG51bWJlcik6IERhdGUge1xyXG4gIHJldHVybiBYQWRkTW9udGhzKGRhdGUsIGFtb3VudCAqIDEyKTtcclxufVxyXG4iXX0=