@taiga-ui/kit 3.48.0 → 3.49.0

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 (76) hide show
  1. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-input-copy.umd.js +2 -1
  4. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +4 -2
  6. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +4 -2
  8. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-input-date.umd.js +4 -2
  10. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +2 -1
  12. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-input-month.umd.js +2 -1
  14. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-number.umd.js +2 -1
  16. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-input-password.umd.js +2 -1
  18. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
  20. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
  22. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-time.umd.js +3 -2
  24. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-multi-select.umd.js +1 -1
  26. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-tabs.umd.js +2 -2
  28. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-textarea.umd.js +2 -2
  30. package/esm2015/components/calendar-month/calendar-month.component.js +1 -1
  31. package/esm2015/components/input-copy/input-copy.component.js +3 -2
  32. package/esm2015/components/input-date/input-date.component.js +5 -3
  33. package/esm2015/components/input-date-range/input-date-range.component.js +5 -3
  34. package/esm2015/components/input-date-time/input-date-time.component.js +5 -3
  35. package/esm2015/components/input-month/input-month.component.js +3 -2
  36. package/esm2015/components/input-month-range/input-month-range.component.js +3 -2
  37. package/esm2015/components/input-number/input-number.component.js +3 -2
  38. package/esm2015/components/input-password/input-password.component.js +3 -2
  39. package/esm2015/components/input-slider/input-slider.component.js +1 -1
  40. package/esm2015/components/input-tag/input-tag.component.js +2 -2
  41. package/esm2015/components/input-time/input-time.component.js +3 -2
  42. package/esm2015/components/multi-select/multi-select.component.js +2 -2
  43. package/esm2015/components/tabs/tabs/tabs.component.js +1 -1
  44. package/esm2015/components/tabs/underline/underline.component.js +1 -1
  45. package/esm2015/components/textarea/deprecated.js +1 -1
  46. package/esm2015/components/textarea/textarea.component.js +1 -1
  47. package/fesm2015/taiga-ui-kit-components-calendar-month.js +1 -1
  48. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  49. package/fesm2015/taiga-ui-kit-components-input-copy.js +2 -1
  50. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  51. package/fesm2015/taiga-ui-kit-components-input-date-range.js +4 -2
  52. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  53. package/fesm2015/taiga-ui-kit-components-input-date-time.js +4 -2
  54. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  55. package/fesm2015/taiga-ui-kit-components-input-date.js +4 -2
  56. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  57. package/fesm2015/taiga-ui-kit-components-input-month-range.js +2 -1
  58. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  59. package/fesm2015/taiga-ui-kit-components-input-month.js +2 -1
  60. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  61. package/fesm2015/taiga-ui-kit-components-input-number.js +2 -1
  62. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  63. package/fesm2015/taiga-ui-kit-components-input-password.js +2 -1
  64. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  65. package/fesm2015/taiga-ui-kit-components-input-slider.js +1 -1
  66. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  67. package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
  68. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  69. package/fesm2015/taiga-ui-kit-components-input-time.js +2 -1
  70. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  71. package/fesm2015/taiga-ui-kit-components-multi-select.js +1 -1
  72. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  73. package/fesm2015/taiga-ui-kit-components-tabs.js +2 -2
  74. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  75. package/fesm2015/taiga-ui-kit-components-textarea.js +2 -2
  76. package/package.json +4 -4
@@ -61,7 +61,8 @@ export class TuiInputDateTimeComponent extends AbstractTuiControl {
61
61
  return this.textfield ? this.textfield.nativeFocusableElement : null;
62
62
  }
63
63
  get focused() {
64
- return !!this.textfield && this.textfield.focused;
64
+ var _a;
65
+ return !!((_a = this.textfield) === null || _a === void 0 ? void 0 : _a.focused);
65
66
  }
66
67
  get calendarIcon() {
67
68
  return this.options.icon;
@@ -99,7 +100,8 @@ export class TuiInputDateTimeComponent extends AbstractTuiControl {
99
100
  tuiDateClamp(this.defaultActiveYearMonth, Array.isArray(computedMin) ? computedMin[0] : computedMin, Array.isArray(computedMax) ? computedMax[0] : computedMax));
100
101
  }
101
102
  get nativeValue() {
102
- return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';
103
+ var _a;
104
+ return ((_a = this.nativeFocusableElement) === null || _a === void 0 ? void 0 : _a.value) || '';
103
105
  }
104
106
  set nativeValue(value) {
105
107
  if (!this.nativeFocusableElement) {
@@ -322,4 +324,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
322
324
  type: HostListener,
323
325
  args: ['click']
324
326
  }], calculateMask: [], getDateTimeString: [] } });
325
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUtdGltZS9pbnB1dC1kYXRlLXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS10aW1lL2lucHV0LWRhdGUtdGltZS50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUNILGtCQUFrQixFQUVsQixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLFVBQVUsRUFDVixhQUFhLEVBRWIsWUFBWSxFQUNaLDBCQUEwQixFQUUxQixRQUFRLEVBRVIsWUFBWSxFQUVaLE1BQU0sRUFFTixRQUFRLEVBQ1IsZUFBZSxFQUNmLE9BQU8sRUFDUCxPQUFPLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGtCQUFrQixFQUNsQiw4QkFBOEIsR0FLakMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLDZCQUE2QixHQUNoQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFDSCxjQUFjLEVBQ2QsK0JBQStCLEVBQy9CLHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsNEJB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QVhyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFdBQVcsRUFBRSxpQ0FBaUM7b0JBQzlDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO29CQUMzQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNQLDBCQUEwQiwyQkFBMkI7d0JBQ3JELFlBQVksMkJBQTJCO3dCQUN2Qyw0QkFBNEIsQ0FBQywrQkFBK0IsQ0FBQztxQkFDaEU7aUJBQ0o7OzBCQXlDUSxRQUFROzswQkFDUixJQUFJOzswQkFDSixNQUFNOzJCQUFDLFNBQVM7OzBCQUVoQixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLE1BQU07MkJBQUMsa0JBQWtCOzswQkFDekIsTUFBTTsyQkFBQyxjQUFjOzswQkFFckIsTUFBTTsyQkFBQyxjQUFjOzswQkFFckIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQywrQkFBK0I7OzBCQUl0QyxNQUFNOzJCQUFDLHNCQUFzQjs7MEJBQzdCLE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsa0JBQWtCOzRDQXBEYixTQUFTO3NCQUR6QixTQUFTO3VCQUFDLDhCQUE4QjtnQkFNekMsR0FBRztzQkFERixLQUFLO2dCQUlOLEdBQUc7c0JBREYsS0FBSztnQkFJTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBSU4sc0JBQXNCO3NCQURyQixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkEyQ0YsSUFBSTtzQkFEUCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFzRzdCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPO2dCQXVHYixhQUFhLE1BaUJiLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWFza2l0b09wdGlvbnN9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHttYXNraXRvRGF0ZVRpbWVPcHRpb25zR2VuZXJhdG9yfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUNvbnRyb2wsXG4gICAgQWJzdHJhY3RUdWlWYWx1ZVRyYW5zZm9ybWVyLFxuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIGNoYW5nZURhdGVTZXBhcmF0b3IsXG4gICAgREFURV9GSUxMRVJfTEVOR1RILFxuICAgIFRVSV9EQVRFX0ZPUk1BVCxcbiAgICBUVUlfREFURV9TRVBBUkFUT1IsXG4gICAgVFVJX0lTX0lPUyxcbiAgICBUVUlfSVNfTU9CSUxFLFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgdHVpQXNDb250cm9sLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIHR1aUNsYW1wLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGF0ZUNsYW1wLFxuICAgIFR1aURhdGVNb2RlLFxuICAgIFR1aURheSxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTW9udGgsXG4gICAgdHVpTnVsbGFibGVTYW1lLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpVGltZSxcbiAgICBUdWlUaW1lTW9kZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfU0laRSxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7XG4gICAgREFURV9USU1FX1NFUEFSQVRPUixcbiAgICBUVUlfREFURV9NT0RFX01BU0tJVE9fQURBUFRFUixcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBUVUlfREFURV9URVhUUyxcbiAgICBUVUlfREFURV9USU1FX1ZBTFVFX1RSQU5TRk9STUVSLFxuICAgIFRVSV9JTlBVVF9EQVRFX09QVElPTlMsXG4gICAgVFVJX1RJTUVfVEVYVFMsXG4gICAgdHVpRGF0ZVN0cmVhbVdpdGhUcmFuc2Zvcm1lcixcbiAgICBUdWlJbnB1dERhdGVPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtZGF0ZS10aW1lJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZGF0ZS10aW1lLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LWRhdGUtdGltZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0RGF0ZVRpbWVDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXREYXRlVGltZUNvbXBvbmVudCksXG4gICAgICAgIHR1aURhdGVTdHJlYW1XaXRoVHJhbnNmb3JtZXIoVFVJX0RBVEVfVElNRV9WQUxVRV9UUkFOU0ZPUk1FUiksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXREYXRlVGltZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlDb250cm9sPFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0+XG4gICAgaW1wbGVtZW50c1xuICAgICAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpRGF5IHwgW1R1aURheSB8IG51bGwsIFR1aVRpbWUgfCBudWxsXSB8IG51bGw+LFxuICAgICAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgbW9udGg6IFR1aU1vbnRoIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIG1pbjogVHVpRGF5IHwgW1R1aURheSB8IG51bGwsIFR1aVRpbWUgfCBudWxsXSB8IG51bGwgPSB0aGlzLm9wdGlvbnMubWluO1xuXG4gICAgQElucHV0KClcbiAgICBtYXg6IFR1aURheSB8IFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0gfCBudWxsID0gdGhpcy5vcHRpb25zLm1heDtcblxuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBkZWZhdWx0QWN0aXZlWWVhck1vbnRoID0gVHVpTW9udGguY3VycmVudExvY2FsKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHRpbWVNb2RlOiBUdWlUaW1lTW9kZSA9ICdISDpNTSc7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICByZWFkb25seSB0eXBlITogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPjtcblxuICAgIHJlYWRvbmx5IGZpbGxlciQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmRhdGVUZXh0cyQucGlwZShcbiAgICAgICAgICAgIG1hcChkYXRlVGV4dHMgPT5cbiAgICAgICAgICAgICAgICBjaGFuZ2VEYXRlU2VwYXJhdG9yKGRhdGVUZXh0c1t0aGlzLmRhdGVGb3JtYXRdLCB0aGlzLmRhdGVTZXBhcmF0b3IpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy50aW1lVGV4dHMkLnBpcGUobWFwKHRleHRzID0+IHRleHRzW3RoaXMudGltZU1vZGVdKSksXG4gICAgXSkucGlwZShtYXAoZmlsbGVycyA9PiB0aGlzLmdldERhdGVUaW1lU3RyaW5nKC4uLmZpbGxlcnMpKSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfREFURV9GT1JNQVQpIHJlYWRvbmx5IGRhdGVGb3JtYXQ6IFR1aURhdGVNb2RlLFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX1NFUEFSQVRPUikgcmVhZG9ubHkgZGF0ZVNlcGFyYXRvcjogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFRVSV9USU1FX1RFWFRTKVxuICAgICAgICByZWFkb25seSB0aW1lVGV4dHMkOiBPYnNlcnZhYmxlPFJlY29yZDxUdWlUaW1lTW9kZSwgc3RyaW5nPj4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGRhdGVUZXh0cyQ6IE9ic2VydmFibGU8UmVjb3JkPFR1aURhdGVNb2RlLCBzdHJpbmc+PixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfREFURV9USU1FX1ZBTFVFX1RSQU5TRk9STUVSKVxuICAgICAgICBvdmVycmlkZSByZWFkb25seSB2YWx1ZVRyYW5zZm9ybWVyOiBBYnN0cmFjdFR1aVZhbHVlVHJhbnNmb3JtZXI8XG4gICAgICAgICAgICBbVHVpRGF5IHwgbnVsbCwgVHVpVGltZSB8IG51bGxdXG4gICAgICAgID4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9EQVRFX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpSW5wdXREYXRlT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKSByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKSByZWFkb25seSBpc0lvczogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1NJWkUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkU2l6ZTogVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2RyLCB2YWx1ZVRyYW5zZm9ybWVyKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkU2l6ZS5zaXplO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZE1pbigpOiBUdWlEYXkgfCBbVHVpRGF5LCBUdWlUaW1lXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvVHVpRGF5KHRoaXMubWluLCB0aGlzLm9wdGlvbnMubWluKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNYXgoKTogVHVpRGF5IHwgW1R1aURheSwgVHVpVGltZV0ge1xuICAgICAgICByZXR1cm4gdGhpcy50b1R1aURheSh0aGlzLm1heCwgdGhpcy5vcHRpb25zLm1heCk7XG4gICAgfVxuXG4gICAgZ2V0IGZpbGxlckxlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gREFURV9GSUxMRVJfTEVOR1RIICsgREFURV9USU1FX1NFUEFSQVRPUi5sZW5ndGggKyB0aGlzLnRpbWVNb2RlLmxlbmd0aDtcbiAgICB9XG5cbiAgICBnZXQgbWFza09wdGlvbnMoKTogTWFza2l0b09wdGlvbnMge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVNYXNrKFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZE1pbixcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRNYXgsXG4gICAgICAgICAgICB0aGlzLnRpbWVNb2RlLFxuICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0LFxuICAgICAgICAgICAgdGhpcy5kYXRlU2VwYXJhdG9yLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkID8gdGhpcy50ZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkICYmIHRoaXMudGV4dGZpZWxkLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFySWNvbigpOiBUdWlJbnB1dERhdGVPcHRpb25zWydpY29uJ10ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmljb247XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbmF0aXZlUGlja2VyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLm9wdGlvbnMubmF0aXZlUGlja2VyICYmIHRoaXMuaXNNb2JpbGU7XG4gICAgfVxuXG4gICAgZ2V0IHNob3dOYXRpdmVQaWNrZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZVBpY2tlciAmJiB0aGlzLnRpbWVNb2RlID09PSAnSEg6TU0nO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgbmF0aXZlVmFsdWUsIHRpbWVNb2RlfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IFtkYXRlLCB0aW1lXSA9IHZhbHVlO1xuICAgICAgICBjb25zdCBoYXNUaW1lSW5wdXRDaGFycyA9IG5hdGl2ZVZhbHVlLmxlbmd0aCA+IERBVEVfRklMTEVSX0xFTkdUSDtcblxuICAgICAgICBpZiAoIWRhdGUgfHwgKCF0aW1lICYmIGhhc1RpbWVJbnB1dENoYXJzKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5hdGl2ZVZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGF0ZVRpbWVTdHJpbmcoZGF0ZSwgdGltZSwgdGltZU1vZGUpO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhclZhbHVlKCk6IFR1aURheSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZVswXTtcbiAgICB9XG5cbiAgICBnZXQgY2FsZW5kYXJNaW5EYXkoKTogVHVpRGF5IHtcbiAgICAgICAgY29uc3QgbWluID0gdGhpcy5jb21wdXRlZE1pbjtcblxuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShtaW4pID8gbWluWzBdIDogbWluO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhck1heERheSgpOiBUdWlEYXkge1xuICAgICAgICBjb25zdCBtYXggPSB0aGlzLmNvbXB1dGVkTWF4O1xuXG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KG1heCkgPyBtYXhbMF0gOiBtYXg7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkQWN0aXZlWWVhck1vbnRoKCk6IFR1aU1vbnRoIHtcbiAgICAgICAgY29uc3Qge2NvbXB1dGVkTWluLCBjb21wdXRlZE1heH0gPSB0aGlzO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLm1vbnRoIHx8XG4gICAgICAgICAgICB0aGlzLnZhbHVlWzBdIHx8XG4gICAgICAgICAgICB0dWlEYXRlQ2xhbXAoXG4gICAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0QWN0aXZlWWVhck1vbnRoLFxuICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoY29tcHV0ZWRNaW4pID8gY29tcHV0ZWRNaW5bMF0gOiBjb21wdXRlZE1pbixcbiAgICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KGNvbXB1dGVkTWF4KSA/IGNvbXB1dGVkTWF4WzBdIDogY29tcHV0ZWRNYXgsXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBzZXQgbmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMub25PcGVuQ2hhbmdlKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA8IERBVEVfRklMTEVSX0xFTkdUSCkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IFtudWxsLCBudWxsXTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW2RhdGUsIHRpbWVdID0gdmFsdWUuc3BsaXQoREFURV9USU1FX1NFUEFSQVRPUik7XG4gICAgICAgIGNvbnN0IHBhcnNlZERhdGUgPSBUdWlEYXkubm9ybWFsaXplUGFyc2UoZGF0ZSwgdGhpcy5kYXRlRm9ybWF0KTtcbiAgICAgICAgY29uc3QgcGFyc2VkVGltZSA9XG4gICAgICAgICAgICB0aW1lICYmIHRpbWUubGVuZ3RoID09PSB0aGlzLnRpbWVNb2RlLmxlbmd0aFxuICAgICAgICAgICAgICAgID8gVHVpVGltZS5mcm9tU3RyaW5nKHRpbWUpXG4gICAgICAgICAgICAgICAgOiBudWxsO1xuXG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnZhbHVlID0gW3BhcnNlZERhdGUsIHBhcnNlZFRpbWVdO1xuICAgIH1cblxuICAgIG9uRGF5Q2xpY2soZGF5OiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbW9kaWZpZWRUaW1lID0gdGhpcy52YWx1ZVsxXSAmJiB0aGlzLmNsYW1wVGltZSh0aGlzLnZhbHVlWzFdLCBkYXkpO1xuICAgICAgICBjb25zdCBuZXdDYXJldEluZGV4ID0gREFURV9GSUxMRVJfTEVOR1RIICsgREFURV9USU1FX1NFUEFSQVRPUi5sZW5ndGg7XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IFtkYXksIG1vZGlmaWVkVGltZV07XG4gICAgICAgIHRoaXMudXBkYXRlTmF0aXZlVmFsdWUoZGF5KTtcbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50Py5zZXRTZWxlY3Rpb25SYW5nZShuZXdDYXJldEluZGV4LCBuZXdDYXJldEluZGV4KTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgb25Nb250aENoYW5nZShtb250aDogVHVpTW9udGgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb250aCA9IG1vbnRoO1xuICAgIH1cblxuICAgIG9uT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGlmIChmb2N1c2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLnRyaW1UcmFpbGluZ1NlcGFyYXRvcih0aGlzLm5hdGl2ZVZhbHVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy52YWx1ZVswXSA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgdGhpcy52YWx1ZVsxXSAhPT0gbnVsbCB8fFxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZS5sZW5ndGggPD0gdGhpcy5maWxsZXJMZW5ndGggKyBEQVRFX1RJTUVfU0VQQVJBVE9SLmxlbmd0aCB8fFxuICAgICAgICAgICAgdGhpcy50aW1lTW9kZSA9PT0gJ0hIOk1NJ1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFssIHRpbWVdID0gdGhpcy5uYXRpdmVWYWx1ZS5zcGxpdChEQVRFX1RJTUVfU0VQQVJBVE9SKTtcblxuICAgICAgICBpZiAoIXRpbWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcnNlZFRpbWUgPSBUdWlUaW1lLmZyb21TdHJpbmcodGltZSk7XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IFt0aGlzLnZhbHVlWzBdLCBwYXJzZWRUaW1lXTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBzZXREaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5zZXREaXNhYmxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0gfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuXG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPVxuICAgICAgICAgICAgdGhpcy52YWx1ZSAmJiAodGhpcy52YWx1ZVswXSB8fCB0aGlzLnZhbHVlWzFdKSA/IHRoaXMuY29tcHV0ZWRWYWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGYWxsYmFja1ZhbHVlKCk6IFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0ge1xuICAgICAgICByZXR1cm4gW251bGwsIG51bGxdO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSB2YWx1ZUlkZW50aWNhbENvbXBhcmF0b3IoXG4gICAgICAgIG9sZFZhbHVlOiBbVHVpRGF5IHwgbnVsbCwgVHVpVGltZSB8IG51bGxdLFxuICAgICAgICBuZXdWYWx1ZTogW1R1aURheSB8IG51bGwsIFR1aVRpbWUgfCBudWxsXSxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHR1aU51bGxhYmxlU2FtZShvbGRWYWx1ZVswXSwgbmV3VmFsdWVbMF0sIChhLCBiKSA9PiBhLmRheVNhbWUoYikpICYmXG4gICAgICAgICAgICB0dWlOdWxsYWJsZVNhbWUob2xkVmFsdWVbMV0sIG5ld1ZhbHVlWzFdLCAoYSwgYikgPT4gU3RyaW5nKGEpID09PSBTdHJpbmcoYikpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZU1hc2soXG4gICAgICAgIG1pbjogVHVpRGF5IHwgW1R1aURheSwgVHVpVGltZV0sXG4gICAgICAgIG1heDogVHVpRGF5IHwgW1R1aURheSwgVHVpVGltZV0sXG4gICAgICAgIHRpbWVNb2RlOiBUdWlUaW1lTW9kZSxcbiAgICAgICAgZGF0ZUZvcm1hdDogVHVpRGF0ZU1vZGUsXG4gICAgICAgIGRhdGVTZXBhcmF0b3I6IHN0cmluZyxcbiAgICApOiBNYXNraXRvT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiBtYXNraXRvRGF0ZVRpbWVPcHRpb25zR2VuZXJhdG9yKHtcbiAgICAgICAgICAgIHRpbWVNb2RlLFxuICAgICAgICAgICAgZGF0ZVNlcGFyYXRvcixcbiAgICAgICAgICAgIGRhdGVNb2RlOiBUVUlfREFURV9NT0RFX01BU0tJVE9fQURBUFRFUltkYXRlRm9ybWF0XSxcbiAgICAgICAgICAgIG1pbjogdGhpcy50b05hdGl2ZURhdGUobWluKSxcbiAgICAgICAgICAgIG1heDogdGhpcy50b05hdGl2ZURhdGUobWF4KSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldERhdGVUaW1lU3RyaW5nKFxuICAgICAgICBkYXRlOiBUdWlEYXkgfCBzdHJpbmcsXG4gICAgICAgIHRpbWU6IFR1aVRpbWUgfCBzdHJpbmcgfCBudWxsLFxuICAgICAgICB0aW1lTW9kZTogVHVpVGltZU1vZGUgPSAnSEg6TU0nLFxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGVTdHJpbmcgPVxuICAgICAgICAgICAgZGF0ZSBpbnN0YW5jZW9mIFR1aURheVxuICAgICAgICAgICAgICAgID8gZGF0ZS50b1N0cmluZyh0aGlzLmRhdGVGb3JtYXQsIHRoaXMuZGF0ZVNlcGFyYXRvcilcbiAgICAgICAgICAgICAgICA6IGRhdGU7XG4gICAgICAgIGNvbnN0IHRpbWVTdHJpbmcgPSB0aW1lIGluc3RhbmNlb2YgVHVpVGltZSA/IHRpbWUudG9TdHJpbmcodGltZU1vZGUpIDogdGltZSB8fCAnJztcblxuICAgICAgICByZXR1cm4gdGltZVN0cmluZ1xuICAgICAgICAgICAgPyBgJHtkYXRlU3RyaW5nfSR7REFURV9USU1FX1NFUEFSQVRPUn0ke3RpbWVTdHJpbmd9YFxuICAgICAgICAgICAgOiBkYXRlU3RyaW5nO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTmF0aXZlVmFsdWUoZGF5OiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGltZSA9IHRoaXMubmF0aXZlVmFsdWUuc3BsaXQoREFURV9USU1FX1NFUEFSQVRPUilbMV0gfHwgJyc7XG5cbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZ2V0RGF0ZVRpbWVTdHJpbmcoZGF5LCB0aW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsYW1wVGltZSh0aW1lOiBUdWlUaW1lLCBkYXk6IFR1aURheSk6IFR1aVRpbWUge1xuICAgICAgICBjb25zdCB7Y29tcHV0ZWRNaW4sIGNvbXB1dGVkTWF4fSA9IHRoaXM7XG5cbiAgICAgICAgY29uc3QgbXMgPSB0aW1lLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKTtcbiAgICAgICAgY29uc3QgbWluID1cbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoY29tcHV0ZWRNaW4pICYmIGRheS5kYXlTYW1lKHRoaXMuY2FsZW5kYXJNaW5EYXkpXG4gICAgICAgICAgICAgICAgPyBjb21wdXRlZE1pblsxXS50b0Fic29sdXRlTWlsbGlzZWNvbmRzKClcbiAgICAgICAgICAgICAgICA6IC1JbmZpbml0eTtcbiAgICAgICAgY29uc3QgbWF4ID1cbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoY29tcHV0ZWRNYXgpICYmIGRheS5kYXlTYW1lKHRoaXMuY2FsZW5kYXJNYXhEYXkpXG4gICAgICAgICAgICAgICAgPyBjb21wdXRlZE1heFsxXS50b0Fic29sdXRlTWlsbGlzZWNvbmRzKClcbiAgICAgICAgICAgICAgICA6IEluZmluaXR5O1xuXG4gICAgICAgIHJldHVybiBUdWlUaW1lLmZyb21BYnNvbHV0ZU1pbGxpc2Vjb25kcyh0dWlDbGFtcChtcywgbWluLCBtYXgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyaW1UcmFpbGluZ1NlcGFyYXRvcih2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoXG4gICAgICAgICAgICBuZXcgUmVnRXhwKGAoXFxcXCR7dGhpcy5kYXRlU2VwYXJhdG9yfXwke0RBVEVfVElNRV9TRVBBUkFUT1J9fFxcXFwuKSRgKSxcbiAgICAgICAgICAgICcnLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdG9OYXRpdmVEYXRlKHZhbHVlOiBUdWlEYXkgfCBbVHVpRGF5LCBUdWlUaW1lXSk6IERhdGUge1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUudG9Mb2NhbE5hdGl2ZURhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFt7eWVhciwgbW9udGgsIGRheX0sIHtob3VycywgbWludXRlcywgc2Vjb25kcywgbXN9XSA9IHZhbHVlO1xuXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF5LCBob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdG9UdWlEYXkoXG4gICAgICAgIHZhbHVlOiBUdWlEYXkgfCBbVHVpRGF5IHwgbnVsbCwgVHVpVGltZSB8IG51bGxdIHwgbnVsbCxcbiAgICAgICAgZmFsbGJhY2s6IFR1aURheSxcbiAgICApOiBUdWlEYXkgfCBbVHVpRGF5LCBUdWlUaW1lXSB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxsYmFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFt0dWlEYXksIHR1aVRpbWVdID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKCF0dWlEYXkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxsYmFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdHVpVGltZSkge1xuICAgICAgICAgICAgcmV0dXJuIHR1aURheTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbdHVpRGF5LCB0dWlUaW1lXTtcbiAgICB9XG59XG4iLCI8dHVpLWhvc3RlZC1kcm9wZG93blxuICAgIGNsYXNzPVwidC1ob3N0ZWRcIlxuICAgIFtjYW5PcGVuXT1cImludGVyYWN0aXZlICYmICFzaG93TmF0aXZlUGlja2VyXCJcbiAgICBbY29udGVudF09XCJkcm9wZG93blwiXG4gICAgW29wZW5dPVwib3BlbiAmJiBpbnRlcmFjdGl2ZVwiXG4gICAgKG9wZW5DaGFuZ2UpPVwib25PcGVuQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LWRhdGUtdGltZV9fdGV4dGZpZWxkXCJcbiAgICAgICAgdHVpVmFsdWVBY2Nlc3NvclxuICAgICAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgICAgICBbbWFza2l0b109XCJtYXNrT3B0aW9uc1wiXG4gICAgICAgIFtuYXRpdmVJZF09XCJuYXRpdmVJZFwiXG4gICAgICAgIFtwc2V1ZG9Gb2N1c109XCJwc2V1ZG9Gb2N1c1wiXG4gICAgICAgIFtwc2V1ZG9Ib3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgIFt0dWlUZXh0ZmllbGRGaWxsZXJdPVwiKGZpbGxlciQgfCBhc3luYykgfHwgJydcIlxuICAgICAgICBbdHVpVGV4dGZpZWxkSWNvbl09XCJjYWxlbmRhckljb24gJiYgaWNvbkNvbnRlbnRcIlxuICAgICAgICBbdmFsdWVdPVwiY29tcHV0ZWRWYWx1ZVwiXG4gICAgICAgIChmb2N1c2VkQ2hhbmdlKT1cIm9uRm9jdXNlZCgkZXZlbnQpXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50XG4gICAgICAgICAgICBuZ1Byb2plY3RBcz1cImlucHV0XCJcbiAgICAgICAgICAgIHNlbGVjdD1cImlucHV0XCJcbiAgICAgICAgPjwvbmctY29udGVudD5cbiAgICA8L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuXG4gICAgPG5nLXRlbXBsYXRlICNpY29uQ29udGVudD5cbiAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjYWxlbmRhckljb24gYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBzaXplfVwiXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICB0dWlXcmFwcGVyXG4gICAgICAgICAgICBbY2xhc3MudC1pY29uXT1cIiFjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgICAgIFtzcmNdPVwic3JjXCJcbiAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAqbmdJZj1cInNob3dOYXRpdmVQaWNrZXJcIlxuICAgICAgICAgICAgdHVpRGF0ZVRpbWVcbiAgICAgICAgICAgIGNsYXNzPVwidC1uYXRpdmUtaW5wdXRcIlxuICAgICAgICAvPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgI2Ryb3Bkb3duPVwicG9seW1vcnBoZXVzXCJcbiAgICAgICAgW3BvbHltb3JwaGV1c109XCJ0eXBlXCJcbiAgICA+XG4gICAgICAgIDx0dWktY2FsZW5kYXJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtZGF0ZS10aW1lX19jYWxlbmRhclwiXG4gICAgICAgICAgICB0dWlQcmV2ZW50RGVmYXVsdD1cIm1vdXNlZG93blwiXG4gICAgICAgICAgICBbZGlzYWJsZWRJdGVtSGFuZGxlcl09XCJkaXNhYmxlZEl0ZW1IYW5kbGVyXCJcbiAgICAgICAgICAgIFttYXhdPVwiY2FsZW5kYXJNYXhEYXlcIlxuICAgICAgICAgICAgW21pbl09XCJjYWxlbmRhck1pbkRheVwiXG4gICAgICAgICAgICBbbW9udGhdPVwiY29tcHV0ZWRBY3RpdmVZZWFyTW9udGhcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cImNhbGVuZGFyVmFsdWVcIlxuICAgICAgICAgICAgKGRheUNsaWNrKT1cIm9uRGF5Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAobW9udGhDaGFuZ2UpPVwib25Nb250aENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgPjwvdHVpLWNhbGVuZGFyPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L3R1aS1ob3N0ZWQtZHJvcGRvd24+XG4iXX0=
327
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUtdGltZS9pbnB1dC1kYXRlLXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS10aW1lL2lucHV0LWRhdGUtdGltZS50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUNILGtCQUFrQixFQUVsQixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLFVBQVUsRUFDVixhQUFhLEVBRWIsWUFBWSxFQUNaLDBCQUEwQixFQUUxQixRQUFRLEVBRVIsWUFBWSxFQUVaLE1BQU0sRUFFTixRQUFRLEVBQ1IsZUFBZSxFQUNmLE9BQU8sRUFDUCxPQUFPLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGtCQUFrQixFQUNsQiw4QkFBOEIsR0FLakMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLDZCQUE2QixHQUNoQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFDSCxjQUFjLEVBQ2QsK0JBQStCLEVBQy9CLHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsNEJB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QkFBcUI7b0JBQy9CLFdBQVcsRUFBRSxpQ0FBaUM7b0JBQzlDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO29CQUMzQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNQLDBCQUEwQiwyQkFBMkI7d0JBQ3JELFlBQVksMkJBQTJCO3dCQUN2Qyw0QkFBNEIsQ0FBQywrQkFBK0IsQ0FBQztxQkFDaEU7aUJBQ0o7OzBCQXlDUSxRQUFROzswQkFDUixJQUFJOzswQkFDSixNQUFNOzJCQUFDLFNBQVM7OzBCQUVoQixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLE1BQU07MkJBQUMsa0JBQWtCOzswQkFDekIsTUFBTTsyQkFBQyxjQUFjOzswQkFFckIsTUFBTTsyQkFBQyxjQUFjOzswQkFFckIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQywrQkFBK0I7OzBCQUl0QyxNQUFNOzJCQUFDLHNCQUFzQjs7MEJBQzdCLE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsa0JBQWtCOzRDQXBEYixTQUFTO3NCQUR6QixTQUFTO3VCQUFDLDhCQUE4QjtnQkFNekMsR0FBRztzQkFERixLQUFLO2dCQUlOLEdBQUc7c0JBREYsS0FBSztnQkFJTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBSU4sc0JBQXNCO3NCQURyQixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkEyQ0YsSUFBSTtzQkFEUCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFzRzdCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPO2dCQXVHYixhQUFhLE1BaUJiLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWFza2l0b09wdGlvbnN9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHttYXNraXRvRGF0ZVRpbWVPcHRpb25zR2VuZXJhdG9yfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUNvbnRyb2wsXG4gICAgQWJzdHJhY3RUdWlWYWx1ZVRyYW5zZm9ybWVyLFxuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIGNoYW5nZURhdGVTZXBhcmF0b3IsXG4gICAgREFURV9GSUxMRVJfTEVOR1RILFxuICAgIFRVSV9EQVRFX0ZPUk1BVCxcbiAgICBUVUlfREFURV9TRVBBUkFUT1IsXG4gICAgVFVJX0lTX0lPUyxcbiAgICBUVUlfSVNfTU9CSUxFLFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgdHVpQXNDb250cm9sLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIHR1aUNsYW1wLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGF0ZUNsYW1wLFxuICAgIFR1aURhdGVNb2RlLFxuICAgIFR1aURheSxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTW9udGgsXG4gICAgdHVpTnVsbGFibGVTYW1lLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpVGltZSxcbiAgICBUdWlUaW1lTW9kZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfU0laRSxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7XG4gICAgREFURV9USU1FX1NFUEFSQVRPUixcbiAgICBUVUlfREFURV9NT0RFX01BU0tJVE9fQURBUFRFUixcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBUVUlfREFURV9URVhUUyxcbiAgICBUVUlfREFURV9USU1FX1ZBTFVFX1RSQU5TRk9STUVSLFxuICAgIFRVSV9JTlBVVF9EQVRFX09QVElPTlMsXG4gICAgVFVJX1RJTUVfVEVYVFMsXG4gICAgdHVpRGF0ZVN0cmVhbVdpdGhUcmFuc2Zvcm1lcixcbiAgICBUdWlJbnB1dERhdGVPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtZGF0ZS10aW1lJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZGF0ZS10aW1lLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LWRhdGUtdGltZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0RGF0ZVRpbWVDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXREYXRlVGltZUNvbXBvbmVudCksXG4gICAgICAgIHR1aURhdGVTdHJlYW1XaXRoVHJhbnNmb3JtZXIoVFVJX0RBVEVfVElNRV9WQUxVRV9UUkFOU0ZPUk1FUiksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXREYXRlVGltZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlDb250cm9sPFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0+XG4gICAgaW1wbGVtZW50c1xuICAgICAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpRGF5IHwgW1R1aURheSB8IG51bGwsIFR1aVRpbWUgfCBudWxsXSB8IG51bGw+LFxuICAgICAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgbW9udGg6IFR1aU1vbnRoIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIG1pbjogVHVpRGF5IHwgW1R1aURheSB8IG51bGwsIFR1aVRpbWUgfCBudWxsXSB8IG51bGwgPSB0aGlzLm9wdGlvbnMubWluO1xuXG4gICAgQElucHV0KClcbiAgICBtYXg6IFR1aURheSB8IFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0gfCBudWxsID0gdGhpcy5vcHRpb25zLm1heDtcblxuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBkZWZhdWx0QWN0aXZlWWVhck1vbnRoID0gVHVpTW9udGguY3VycmVudExvY2FsKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHRpbWVNb2RlOiBUdWlUaW1lTW9kZSA9ICdISDpNTSc7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICByZWFkb25seSB0eXBlITogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPjtcblxuICAgIHJlYWRvbmx5IGZpbGxlciQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmRhdGVUZXh0cyQucGlwZShcbiAgICAgICAgICAgIG1hcChkYXRlVGV4dHMgPT5cbiAgICAgICAgICAgICAgICBjaGFuZ2VEYXRlU2VwYXJhdG9yKGRhdGVUZXh0c1t0aGlzLmRhdGVGb3JtYXRdLCB0aGlzLmRhdGVTZXBhcmF0b3IpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy50aW1lVGV4dHMkLnBpcGUobWFwKHRleHRzID0+IHRleHRzW3RoaXMudGltZU1vZGVdKSksXG4gICAgXSkucGlwZShtYXAoZmlsbGVycyA9PiB0aGlzLmdldERhdGVUaW1lU3RyaW5nKC4uLmZpbGxlcnMpKSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfREFURV9GT1JNQVQpIHJlYWRvbmx5IGRhdGVGb3JtYXQ6IFR1aURhdGVNb2RlLFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX1NFUEFSQVRPUikgcmVhZG9ubHkgZGF0ZVNlcGFyYXRvcjogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFRVSV9USU1FX1RFWFRTKVxuICAgICAgICByZWFkb25seSB0aW1lVGV4dHMkOiBPYnNlcnZhYmxlPFJlY29yZDxUdWlUaW1lTW9kZSwgc3RyaW5nPj4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGRhdGVUZXh0cyQ6IE9ic2VydmFibGU8UmVjb3JkPFR1aURhdGVNb2RlLCBzdHJpbmc+PixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfREFURV9USU1FX1ZBTFVFX1RSQU5TRk9STUVSKVxuICAgICAgICBvdmVycmlkZSByZWFkb25seSB2YWx1ZVRyYW5zZm9ybWVyOiBBYnN0cmFjdFR1aVZhbHVlVHJhbnNmb3JtZXI8XG4gICAgICAgICAgICBbVHVpRGF5IHwgbnVsbCwgVHVpVGltZSB8IG51bGxdXG4gICAgICAgID4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9EQVRFX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpSW5wdXREYXRlT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKSByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKSByZWFkb25seSBpc0lvczogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1NJWkUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkU2l6ZTogVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2RyLCB2YWx1ZVRyYW5zZm9ybWVyKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkU2l6ZS5zaXplO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZE1pbigpOiBUdWlEYXkgfCBbVHVpRGF5LCBUdWlUaW1lXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvVHVpRGF5KHRoaXMubWluLCB0aGlzLm9wdGlvbnMubWluKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNYXgoKTogVHVpRGF5IHwgW1R1aURheSwgVHVpVGltZV0ge1xuICAgICAgICByZXR1cm4gdGhpcy50b1R1aURheSh0aGlzLm1heCwgdGhpcy5vcHRpb25zLm1heCk7XG4gICAgfVxuXG4gICAgZ2V0IGZpbGxlckxlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gREFURV9GSUxMRVJfTEVOR1RIICsgREFURV9USU1FX1NFUEFSQVRPUi5sZW5ndGggKyB0aGlzLnRpbWVNb2RlLmxlbmd0aDtcbiAgICB9XG5cbiAgICBnZXQgbWFza09wdGlvbnMoKTogTWFza2l0b09wdGlvbnMge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVNYXNrKFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZE1pbixcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRNYXgsXG4gICAgICAgICAgICB0aGlzLnRpbWVNb2RlLFxuICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0LFxuICAgICAgICAgICAgdGhpcy5kYXRlU2VwYXJhdG9yLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkID8gdGhpcy50ZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkPy5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhckljb24oKTogVHVpSW5wdXREYXRlT3B0aW9uc1snaWNvbiddIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5pY29uO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG5hdGl2ZVBpY2tlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5vcHRpb25zLm5hdGl2ZVBpY2tlciAmJiB0aGlzLmlzTW9iaWxlO1xuICAgIH1cblxuICAgIGdldCBzaG93TmF0aXZlUGlja2VyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVQaWNrZXIgJiYgdGhpcy50aW1lTW9kZSA9PT0gJ0hIOk1NJztcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7dmFsdWUsIG5hdGl2ZVZhbHVlLCB0aW1lTW9kZX0gPSB0aGlzO1xuICAgICAgICBjb25zdCBbZGF0ZSwgdGltZV0gPSB2YWx1ZTtcbiAgICAgICAgY29uc3QgaGFzVGltZUlucHV0Q2hhcnMgPSBuYXRpdmVWYWx1ZS5sZW5ndGggPiBEQVRFX0ZJTExFUl9MRU5HVEg7XG5cbiAgICAgICAgaWYgKCFkYXRlIHx8ICghdGltZSAmJiBoYXNUaW1lSW5wdXRDaGFycykpIHtcbiAgICAgICAgICAgIHJldHVybiBuYXRpdmVWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmdldERhdGVUaW1lU3RyaW5nKGRhdGUsIHRpbWUsIHRpbWVNb2RlKTtcbiAgICB9XG5cbiAgICBnZXQgY2FsZW5kYXJWYWx1ZSgpOiBUdWlEYXkgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVbMF07XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFyTWluRGF5KCk6IFR1aURheSB7XG4gICAgICAgIGNvbnN0IG1pbiA9IHRoaXMuY29tcHV0ZWRNaW47XG5cbiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkobWluKSA/IG1pblswXSA6IG1pbjtcbiAgICB9XG5cbiAgICBnZXQgY2FsZW5kYXJNYXhEYXkoKTogVHVpRGF5IHtcbiAgICAgICAgY29uc3QgbWF4ID0gdGhpcy5jb21wdXRlZE1heDtcblxuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShtYXgpID8gbWF4WzBdIDogbWF4O1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZEFjdGl2ZVllYXJNb250aCgpOiBUdWlNb250aCB7XG4gICAgICAgIGNvbnN0IHtjb21wdXRlZE1pbiwgY29tcHV0ZWRNYXh9ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5tb250aCB8fFxuICAgICAgICAgICAgdGhpcy52YWx1ZVswXSB8fFxuICAgICAgICAgICAgdHVpRGF0ZUNsYW1wKFxuICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdEFjdGl2ZVllYXJNb250aCxcbiAgICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KGNvbXB1dGVkTWluKSA/IGNvbXB1dGVkTWluWzBdIDogY29tcHV0ZWRNaW4sXG4gICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShjb21wdXRlZE1heCkgPyBjb21wdXRlZE1heFswXSA6IGNvbXB1dGVkTWF4LFxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50Py52YWx1ZSB8fCAnJztcbiAgICB9XG5cbiAgICBzZXQgbmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMub25PcGVuQ2hhbmdlKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA8IERBVEVfRklMTEVSX0xFTkdUSCkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IFtudWxsLCBudWxsXTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW2RhdGUsIHRpbWVdID0gdmFsdWUuc3BsaXQoREFURV9USU1FX1NFUEFSQVRPUik7XG4gICAgICAgIGNvbnN0IHBhcnNlZERhdGUgPSBUdWlEYXkubm9ybWFsaXplUGFyc2UoZGF0ZSwgdGhpcy5kYXRlRm9ybWF0KTtcbiAgICAgICAgY29uc3QgcGFyc2VkVGltZSA9XG4gICAgICAgICAgICB0aW1lICYmIHRpbWUubGVuZ3RoID09PSB0aGlzLnRpbWVNb2RlLmxlbmd0aFxuICAgICAgICAgICAgICAgID8gVHVpVGltZS5mcm9tU3RyaW5nKHRpbWUpXG4gICAgICAgICAgICAgICAgOiBudWxsO1xuXG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnZhbHVlID0gW3BhcnNlZERhdGUsIHBhcnNlZFRpbWVdO1xuICAgIH1cblxuICAgIG9uRGF5Q2xpY2soZGF5OiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbW9kaWZpZWRUaW1lID0gdGhpcy52YWx1ZVsxXSAmJiB0aGlzLmNsYW1wVGltZSh0aGlzLnZhbHVlWzFdLCBkYXkpO1xuICAgICAgICBjb25zdCBuZXdDYXJldEluZGV4ID0gREFURV9GSUxMRVJfTEVOR1RIICsgREFURV9USU1FX1NFUEFSQVRPUi5sZW5ndGg7XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IFtkYXksIG1vZGlmaWVkVGltZV07XG4gICAgICAgIHRoaXMudXBkYXRlTmF0aXZlVmFsdWUoZGF5KTtcbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50Py5zZXRTZWxlY3Rpb25SYW5nZShuZXdDYXJldEluZGV4LCBuZXdDYXJldEluZGV4KTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgb25Nb250aENoYW5nZShtb250aDogVHVpTW9udGgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb250aCA9IG1vbnRoO1xuICAgIH1cblxuICAgIG9uT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGlmIChmb2N1c2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLnRyaW1UcmFpbGluZ1NlcGFyYXRvcih0aGlzLm5hdGl2ZVZhbHVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy52YWx1ZVswXSA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgdGhpcy52YWx1ZVsxXSAhPT0gbnVsbCB8fFxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZS5sZW5ndGggPD0gdGhpcy5maWxsZXJMZW5ndGggKyBEQVRFX1RJTUVfU0VQQVJBVE9SLmxlbmd0aCB8fFxuICAgICAgICAgICAgdGhpcy50aW1lTW9kZSA9PT0gJ0hIOk1NJ1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFssIHRpbWVdID0gdGhpcy5uYXRpdmVWYWx1ZS5zcGxpdChEQVRFX1RJTUVfU0VQQVJBVE9SKTtcblxuICAgICAgICBpZiAoIXRpbWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcnNlZFRpbWUgPSBUdWlUaW1lLmZyb21TdHJpbmcodGltZSk7XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IFt0aGlzLnZhbHVlWzBdLCBwYXJzZWRUaW1lXTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBzZXREaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5zZXREaXNhYmxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0gfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuXG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPVxuICAgICAgICAgICAgdGhpcy52YWx1ZSAmJiAodGhpcy52YWx1ZVswXSB8fCB0aGlzLnZhbHVlWzFdKSA/IHRoaXMuY29tcHV0ZWRWYWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGYWxsYmFja1ZhbHVlKCk6IFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0ge1xuICAgICAgICByZXR1cm4gW251bGwsIG51bGxdO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSB2YWx1ZUlkZW50aWNhbENvbXBhcmF0b3IoXG4gICAgICAgIG9sZFZhbHVlOiBbVHVpRGF5IHwgbnVsbCwgVHVpVGltZSB8IG51bGxdLFxuICAgICAgICBuZXdWYWx1ZTogW1R1aURheSB8IG51bGwsIFR1aVRpbWUgfCBudWxsXSxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHR1aU51bGxhYmxlU2FtZShvbGRWYWx1ZVswXSwgbmV3VmFsdWVbMF0sIChhLCBiKSA9PiBhLmRheVNhbWUoYikpICYmXG4gICAgICAgICAgICB0dWlOdWxsYWJsZVNhbWUob2xkVmFsdWVbMV0sIG5ld1ZhbHVlWzFdLCAoYSwgYikgPT4gU3RyaW5nKGEpID09PSBTdHJpbmcoYikpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZU1hc2soXG4gICAgICAgIG1pbjogVHVpRGF5IHwgW1R1aURheSwgVHVpVGltZV0sXG4gICAgICAgIG1heDogVHVpRGF5IHwgW1R1aURheSwgVHVpVGltZV0sXG4gICAgICAgIHRpbWVNb2RlOiBUdWlUaW1lTW9kZSxcbiAgICAgICAgZGF0ZUZvcm1hdDogVHVpRGF0ZU1vZGUsXG4gICAgICAgIGRhdGVTZXBhcmF0b3I6IHN0cmluZyxcbiAgICApOiBNYXNraXRvT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiBtYXNraXRvRGF0ZVRpbWVPcHRpb25zR2VuZXJhdG9yKHtcbiAgICAgICAgICAgIHRpbWVNb2RlLFxuICAgICAgICAgICAgZGF0ZVNlcGFyYXRvcixcbiAgICAgICAgICAgIGRhdGVNb2RlOiBUVUlfREFURV9NT0RFX01BU0tJVE9fQURBUFRFUltkYXRlRm9ybWF0XSxcbiAgICAgICAgICAgIG1pbjogdGhpcy50b05hdGl2ZURhdGUobWluKSxcbiAgICAgICAgICAgIG1heDogdGhpcy50b05hdGl2ZURhdGUobWF4KSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldERhdGVUaW1lU3RyaW5nKFxuICAgICAgICBkYXRlOiBUdWlEYXkgfCBzdHJpbmcsXG4gICAgICAgIHRpbWU6IFR1aVRpbWUgfCBzdHJpbmcgfCBudWxsLFxuICAgICAgICB0aW1lTW9kZTogVHVpVGltZU1vZGUgPSAnSEg6TU0nLFxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGVTdHJpbmcgPVxuICAgICAgICAgICAgZGF0ZSBpbnN0YW5jZW9mIFR1aURheVxuICAgICAgICAgICAgICAgID8gZGF0ZS50b1N0cmluZyh0aGlzLmRhdGVGb3JtYXQsIHRoaXMuZGF0ZVNlcGFyYXRvcilcbiAgICAgICAgICAgICAgICA6IGRhdGU7XG4gICAgICAgIGNvbnN0IHRpbWVTdHJpbmcgPSB0aW1lIGluc3RhbmNlb2YgVHVpVGltZSA/IHRpbWUudG9TdHJpbmcodGltZU1vZGUpIDogdGltZSB8fCAnJztcblxuICAgICAgICByZXR1cm4gdGltZVN0cmluZ1xuICAgICAgICAgICAgPyBgJHtkYXRlU3RyaW5nfSR7REFURV9USU1FX1NFUEFSQVRPUn0ke3RpbWVTdHJpbmd9YFxuICAgICAgICAgICAgOiBkYXRlU3RyaW5nO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTmF0aXZlVmFsdWUoZGF5OiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGltZSA9IHRoaXMubmF0aXZlVmFsdWUuc3BsaXQoREFURV9USU1FX1NFUEFSQVRPUilbMV0gfHwgJyc7XG5cbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZ2V0RGF0ZVRpbWVTdHJpbmcoZGF5LCB0aW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsYW1wVGltZSh0aW1lOiBUdWlUaW1lLCBkYXk6IFR1aURheSk6IFR1aVRpbWUge1xuICAgICAgICBjb25zdCB7Y29tcHV0ZWRNaW4sIGNvbXB1dGVkTWF4fSA9IHRoaXM7XG5cbiAgICAgICAgY29uc3QgbXMgPSB0aW1lLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKTtcbiAgICAgICAgY29uc3QgbWluID1cbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoY29tcHV0ZWRNaW4pICYmIGRheS5kYXlTYW1lKHRoaXMuY2FsZW5kYXJNaW5EYXkpXG4gICAgICAgICAgICAgICAgPyBjb21wdXRlZE1pblsxXS50b0Fic29sdXRlTWlsbGlzZWNvbmRzKClcbiAgICAgICAgICAgICAgICA6IC1JbmZpbml0eTtcbiAgICAgICAgY29uc3QgbWF4ID1cbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoY29tcHV0ZWRNYXgpICYmIGRheS5kYXlTYW1lKHRoaXMuY2FsZW5kYXJNYXhEYXkpXG4gICAgICAgICAgICAgICAgPyBjb21wdXRlZE1heFsxXS50b0Fic29sdXRlTWlsbGlzZWNvbmRzKClcbiAgICAgICAgICAgICAgICA6IEluZmluaXR5O1xuXG4gICAgICAgIHJldHVybiBUdWlUaW1lLmZyb21BYnNvbHV0ZU1pbGxpc2Vjb25kcyh0dWlDbGFtcChtcywgbWluLCBtYXgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyaW1UcmFpbGluZ1NlcGFyYXRvcih2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoXG4gICAgICAgICAgICBuZXcgUmVnRXhwKGAoXFxcXCR7dGhpcy5kYXRlU2VwYXJhdG9yfXwke0RBVEVfVElNRV9TRVBBUkFUT1J9fFxcXFwuKSRgKSxcbiAgICAgICAgICAgICcnLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdG9OYXRpdmVEYXRlKHZhbHVlOiBUdWlEYXkgfCBbVHVpRGF5LCBUdWlUaW1lXSk6IERhdGUge1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUudG9Mb2NhbE5hdGl2ZURhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFt7eWVhciwgbW9udGgsIGRheX0sIHtob3VycywgbWludXRlcywgc2Vjb25kcywgbXN9XSA9IHZhbHVlO1xuXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF5LCBob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdG9UdWlEYXkoXG4gICAgICAgIHZhbHVlOiBUdWlEYXkgfCBbVHVpRGF5IHwgbnVsbCwgVHVpVGltZSB8IG51bGxdIHwgbnVsbCxcbiAgICAgICAgZmFsbGJhY2s6IFR1aURheSxcbiAgICApOiBUdWlEYXkgfCBbVHVpRGF5LCBUdWlUaW1lXSB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxsYmFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFt0dWlEYXksIHR1aVRpbWVdID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKCF0dWlEYXkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxsYmFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdHVpVGltZSkge1xuICAgICAgICAgICAgcmV0dXJuIHR1aURheTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbdHVpRGF5LCB0dWlUaW1lXTtcbiAgICB9XG59XG4iLCI8dHVpLWhvc3RlZC1kcm9wZG93blxuICAgIGNsYXNzPVwidC1ob3N0ZWRcIlxuICAgIFtjYW5PcGVuXT1cImludGVyYWN0aXZlICYmICFzaG93TmF0aXZlUGlja2VyXCJcbiAgICBbY29udGVudF09XCJkcm9wZG93blwiXG4gICAgW29wZW5dPVwib3BlbiAmJiBpbnRlcmFjdGl2ZVwiXG4gICAgKG9wZW5DaGFuZ2UpPVwib25PcGVuQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LWRhdGUtdGltZV9fdGV4dGZpZWxkXCJcbiAgICAgICAgdHVpVmFsdWVBY2Nlc3NvclxuICAgICAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgICAgICBbbWFza2l0b109XCJtYXNrT3B0aW9uc1wiXG4gICAgICAgIFtuYXRpdmVJZF09XCJuYXRpdmVJZFwiXG4gICAgICAgIFtwc2V1ZG9Gb2N1c109XCJwc2V1ZG9Gb2N1c1wiXG4gICAgICAgIFtwc2V1ZG9Ib3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgIFt0dWlUZXh0ZmllbGRGaWxsZXJdPVwiKGZpbGxlciQgfCBhc3luYykgfHwgJydcIlxuICAgICAgICBbdHVpVGV4dGZpZWxkSWNvbl09XCJjYWxlbmRhckljb24gJiYgaWNvbkNvbnRlbnRcIlxuICAgICAgICBbdmFsdWVdPVwiY29tcHV0ZWRWYWx1ZVwiXG4gICAgICAgIChmb2N1c2VkQ2hhbmdlKT1cIm9uRm9jdXNlZCgkZXZlbnQpXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50XG4gICAgICAgICAgICBuZ1Byb2plY3RBcz1cImlucHV0XCJcbiAgICAgICAgICAgIHNlbGVjdD1cImlucHV0XCJcbiAgICAgICAgPjwvbmctY29udGVudD5cbiAgICA8L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuXG4gICAgPG5nLXRlbXBsYXRlICNpY29uQ29udGVudD5cbiAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjYWxlbmRhckljb24gYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBzaXplfVwiXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICB0dWlXcmFwcGVyXG4gICAgICAgICAgICBbY2xhc3MudC1pY29uXT1cIiFjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgICAgIFtzcmNdPVwic3JjXCJcbiAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAqbmdJZj1cInNob3dOYXRpdmVQaWNrZXJcIlxuICAgICAgICAgICAgdHVpRGF0ZVRpbWVcbiAgICAgICAgICAgIGNsYXNzPVwidC1uYXRpdmUtaW5wdXRcIlxuICAgICAgICAvPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgI2Ryb3Bkb3duPVwicG9seW1vcnBoZXVzXCJcbiAgICAgICAgW3BvbHltb3JwaGV1c109XCJ0eXBlXCJcbiAgICA+XG4gICAgICAgIDx0dWktY2FsZW5kYXJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtZGF0ZS10aW1lX19jYWxlbmRhclwiXG4gICAgICAgICAgICB0dWlQcmV2ZW50RGVmYXVsdD1cIm1vdXNlZG93blwiXG4gICAgICAgICAgICBbZGlzYWJsZWRJdGVtSGFuZGxlcl09XCJkaXNhYmxlZEl0ZW1IYW5kbGVyXCJcbiAgICAgICAgICAgIFttYXhdPVwiY2FsZW5kYXJNYXhEYXlcIlxuICAgICAgICAgICAgW21pbl09XCJjYWxlbmRhck1pbkRheVwiXG4gICAgICAgICAgICBbbW9udGhdPVwiY29tcHV0ZWRBY3RpdmVZZWFyTW9udGhcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cImNhbGVuZGFyVmFsdWVcIlxuICAgICAgICAgICAgKGRheUNsaWNrKT1cIm9uRGF5Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAobW9udGhDaGFuZ2UpPVwib25Nb250aENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgPjwvdHVpLWNhbGVuZGFyPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L3R1aS1ob3N0ZWQtZHJvcGRvd24+XG4iXX0=
@@ -44,7 +44,8 @@ export class TuiInputMonthComponent extends AbstractTuiNullableControl {
44
44
  tuiDateClamp(this.defaultActiveYear, this.computedMin, this.computedMax));
45
45
  }
46
46
  get focused() {
47
- return !!this.textfield && this.textfield.focused;
47
+ var _a;
48
+ return !!((_a = this.textfield) === null || _a === void 0 ? void 0 : _a.focused);
48
49
  }
49
50
  get calendarIcon() {
50
51
  return this.options.icon;
@@ -154,4 +155,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
154
155
  type: HostBinding,
155
156
  args: ['attr.data-size']
156
157
  }] } });
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgvaW5wdXQtbW9udGguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgvaW5wdXQtbW9udGgudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixZQUFZLEVBQ1osMEJBQTBCLEVBRTFCLFlBQVksRUFDWixNQUFNLEVBR04sUUFBUSxHQUVYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLDhCQUE4QixHQUtqQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsbUJBQW1CLEdBRXRCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFlOUIsTUFBTSxPQUFPLHNCQUNULFNBQVEsMEJBQW9DO0lBc0I1QyxZQUlJLE9BQXlCLEVBQ0UsR0FBc0IsRUFFeEMsU0FBMEQsRUFDM0IsUUFBaUIsRUFDUixPQUE0QixFQUU1RCxhQUF3QztRQUV6RCxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBTlgsY0FBUyxHQUFULFNBQVMsQ0FBaUQ7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Q1IsSUFBSTs7MEJBQ0osTUFBTTsyQkFBQyxTQUFTOzswQkFFaEIsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLG1CQUFtQjs7MEJBRTFCLE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BCLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDN0IsTUFBTTsyQkFBQyxrQkFBa0I7NENBNUJiLFNBQVM7c0JBRHpCLFNBQVM7dUJBQUMsOEJBQThCO2dCQUl6QyxHQUFHO3NCQURGLEtBQUs7Z0JBSU4sR0FBRztzQkFERixLQUFLO2dCQUlOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBd0JGLElBQUk7c0JBRFAsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgdHVpRGF0ZUNsYW1wLFxuICAgIFR1aURheSxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpSGFuZGxlcixcbiAgICBUdWlNb250aCxcbiAgICBUdWlZZWFyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVFVJX1RFWFRGSUVMRF9TSVpFLFxuICAgIFR1aU1vbnRoUGlwZSxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX01PTlRIX0ZPUk1BVFRFUl9QUk9WSURFUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9wcm92aWRlcnMnO1xuaW1wb3J0IHtcbiAgICBUVUlfSU5QVVRfREFURV9PUFRJT05TLFxuICAgIFRVSV9NT05USF9GT1JNQVRURVIsXG4gICAgVHVpSW5wdXREYXRlT3B0aW9ucyxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtbW9udGgnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1tb250aC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1tb250aC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0TW9udGhDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXRNb250aENvbXBvbmVudCksXG4gICAgICAgIFRVSV9NT05USF9GT1JNQVRURVJfUFJPVklERVIsXG4gICAgICAgIFR1aU1vbnRoUGlwZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE1vbnRoQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUdWlNb250aD5cbiAgICBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxUdWlNb250aD4sIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBtaW46IFR1aU1vbnRoIHwgbnVsbCA9IHRoaXMub3B0aW9ucy5taW47XG5cbiAgICBASW5wdXQoKVxuICAgIG1heDogVHVpTW9udGggfCBudWxsID0gdGhpcy5vcHRpb25zLm1heDtcblxuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpTW9udGg+ID0gQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIGRlZmF1bHRBY3RpdmVZZWFyOiBUdWlZZWFyID0gVHVpRGF5LmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgYWN0aXZlWWVhcj86IFR1aVllYXI7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfTU9OVEhfRk9STUFUVEVSKVxuICAgICAgICByZWFkb25seSBmb3JtYXR0ZXI6IFR1aUhhbmRsZXI8VHVpTW9udGggfCBudWxsLCBPYnNlcnZhYmxlPHN0cmluZz4+LFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX0RBVEVfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlJbnB1dERhdGVPcHRpb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfU0laRSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRTaXplOiBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjZHIpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIGdldCBzaXplKCk6IFR1aVNpemVMIHwgVHVpU2l6ZVMge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGRTaXplLnNpemU7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTWluKCk6IFR1aU1vbnRoIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluID8/IHRoaXMub3B0aW9ucy5taW47XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTWF4KCk6IFR1aU1vbnRoIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4ID8/IHRoaXMub3B0aW9ucy5tYXg7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGQ/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWREZWZhdWx0QWN0aXZlWWVhcigpOiBUdWlZZWFyIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlWWVhciB8fFxuICAgICAgICAgICAgdGhpcy52YWx1ZSB8fFxuICAgICAgICAgICAgdHVpRGF0ZUNsYW1wKHRoaXMuZGVmYXVsdEFjdGl2ZVllYXIsIHRoaXMuY29tcHV0ZWRNaW4sIHRoaXMuY29tcHV0ZWRNYXgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkICYmIHRoaXMudGV4dGZpZWxkLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFySWNvbigpOiBUdWlJbnB1dERhdGVPcHRpb25zWydpY29uJ10ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmljb247XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVBpY2tlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgJiYgdGhpcy5vcHRpb25zLm5hdGl2ZVBpY2tlcjtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlUGlja2VyTWluKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkTWluLnRvSlNPTigpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVQaWNrZXJNYXgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWRNYXgudG9KU09OKCk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy50b0pTT04oKSB8fCAnJztcbiAgICB9XG5cbiAgICBvbk5hdGl2ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IFt5ZWFyLCBtb250aF0gPSB2YWx1ZS5zcGxpdCgnLScpLm1hcChOdW1iZXIpO1xuXG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZVxuICAgICAgICAgICAgPyB0dWlEYXRlQ2xhbXAoXG4gICAgICAgICAgICAgICAgICBuZXcgVHVpTW9udGgoeWVhciwgbW9udGggLSAxKSxcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRNaW4sXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbXB1dGVkTWF4LFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgIHRoaXMub25PcGVuQ2hhbmdlKCF0aGlzLm5hdGl2ZVBpY2tlcik7XG4gICAgfVxuXG4gICAgb25Nb250aENsaWNrKG1vbnRoOiBUdWlNb250aCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gbW9udGg7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgb25PcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKG9wZW4gJiYgdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVZZWFyID0gdGhpcy52YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgc2V0RGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxufVxuIiwiPHR1aS1ob3N0ZWQtZHJvcGRvd25cbiAgICBjbGFzcz1cInQtaG9zdGVkXCJcbiAgICBbY2FuT3Blbl09XCJpbnRlcmFjdGl2ZSAmJiAhbmF0aXZlUGlja2VyXCJcbiAgICBbY29udGVudF09XCJkcm9wZG93blwiXG4gICAgW29wZW5dPVwib3BlbiAmJiBpbnRlcmFjdGl2ZVwiXG4gICAgKG9wZW5DaGFuZ2UpPVwib25PcGVuQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICBbZWRpdGFibGVdPVwiZmFsc2VcIlxuICAgICAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgICAgICBbbmF0aXZlSWRdPVwibmF0aXZlSWRcIlxuICAgICAgICBbcHNldWRvRm9jdXNdPVwicHNldWRvRm9jdXNcIlxuICAgICAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICBbdHVpVGV4dGZpZWxkSWNvbl09XCJjYWxlbmRhckljb25cIlxuICAgICAgICBbdmFsdWVdPVwiKHZhbHVlIHwgdHVpTWFwcGVyOiBmb3JtYXR0ZXIgfCBhc3luYykgfHwgJydcIlxuICAgICAgICAoZm9jdXNlZENoYW5nZSk9XCJvbkZvY3VzZWQoJGV2ZW50KVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgICAgbmdQcm9qZWN0QXM9XCJpbnB1dFwiXG4gICAgICAgICAgICBzZWxlY3Q9XCJpbnB1dFwiXG4gICAgICAgID48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgKm5nSWY9XCJuYXRpdmVQaWNrZXJcIlxuICAgICAgICAgICAgdHlwZT1cIm1vbnRoXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1tb2JpbGVcIlxuICAgICAgICAgICAgW21heF09XCJuYXRpdmVQaWNrZXJNYXhcIlxuICAgICAgICAgICAgW21pbl09XCJuYXRpdmVQaWNrZXJNaW5cIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwibmF0aXZlVmFsdWVcIlxuICAgICAgICAgICAgKGNsaWNrLnN0b3Auc2lsZW50KT1cIigwKVwiXG4gICAgICAgICAgICAobW91c2Vkb3duLnN0b3Auc2lsZW50KT1cIigwKVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbk5hdGl2ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICA8L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuXG4gICAgPG5nLXRlbXBsYXRlICNkcm9wZG93bj5cbiAgICAgICAgPHR1aS1jYWxlbmRhci1tb250aFxuICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQ9XCJtb3VzZWRvd25cIlxuICAgICAgICAgICAgW2Rpc2FibGVkSXRlbUhhbmRsZXJdPVwiZGlzYWJsZWRJdGVtSGFuZGxlclwiXG4gICAgICAgICAgICBbbWF4XT1cImNvbXB1dGVkTWF4XCJcbiAgICAgICAgICAgIFttaW5dPVwiY29tcHV0ZWRNaW5cIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgIFt5ZWFyXT1cImNvbXB1dGVkRGVmYXVsdEFjdGl2ZVllYXJcIlxuICAgICAgICAgICAgKG1vbnRoQ2xpY2spPVwib25Nb250aENsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgKHllYXJDaGFuZ2UpPVwiYWN0aXZlWWVhciA9ICRldmVudFwiXG4gICAgICAgID48L3R1aS1jYWxlbmRhci1tb250aD5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC90dWktaG9zdGVkLWRyb3Bkb3duPlxuIl19
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgvaW5wdXQtbW9udGguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgvaW5wdXQtbW9udGgudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixZQUFZLEVBQ1osMEJBQTBCLEVBRTFCLFlBQVksRUFDWixNQUFNLEVBR04sUUFBUSxHQUVYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLDhCQUE4QixHQUtqQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsbUJBQW1CLEdBRXRCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFlOUIsTUFBTSxPQUFPLHNCQUNULFNBQVEsMEJBQW9DO0lBc0I1QyxZQUlJLE9BQXlCLEVBQ0UsR0FBc0IsRUFFeEMsU0FBMEQsRUFDM0IsUUFBaUIsRUFDUixPQUE0QixFQUU1RCxhQUF3QztRQUV6RCxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBTlgsY0FBUyxHQUFULFNBQVMsQ0FBaUQ7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SUFBSTs7MEJBQ0osTUFBTTsyQkFBQyxTQUFTOzswQkFFaEIsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLG1CQUFtQjs7MEJBRTFCLE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BCLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDN0IsTUFBTTsyQkFBQyxrQkFBa0I7NENBNUJiLFNBQVM7c0JBRHpCLFNBQVM7dUJBQUMsOEJBQThCO2dCQUl6QyxHQUFHO3NCQURGLEtBQUs7Z0JBSU4sR0FBRztzQkFERixLQUFLO2dCQUlOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBd0JGLElBQUk7c0JBRFAsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgdHVpRGF0ZUNsYW1wLFxuICAgIFR1aURheSxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpSGFuZGxlcixcbiAgICBUdWlNb250aCxcbiAgICBUdWlZZWFyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVFVJX1RFWFRGSUVMRF9TSVpFLFxuICAgIFR1aU1vbnRoUGlwZSxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX01PTlRIX0ZPUk1BVFRFUl9QUk9WSURFUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9wcm92aWRlcnMnO1xuaW1wb3J0IHtcbiAgICBUVUlfSU5QVVRfREFURV9PUFRJT05TLFxuICAgIFRVSV9NT05USF9GT1JNQVRURVIsXG4gICAgVHVpSW5wdXREYXRlT3B0aW9ucyxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtbW9udGgnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1tb250aC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1tb250aC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0TW9udGhDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXRNb250aENvbXBvbmVudCksXG4gICAgICAgIFRVSV9NT05USF9GT1JNQVRURVJfUFJPVklERVIsXG4gICAgICAgIFR1aU1vbnRoUGlwZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE1vbnRoQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUdWlNb250aD5cbiAgICBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxUdWlNb250aD4sIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBtaW46IFR1aU1vbnRoIHwgbnVsbCA9IHRoaXMub3B0aW9ucy5taW47XG5cbiAgICBASW5wdXQoKVxuICAgIG1heDogVHVpTW9udGggfCBudWxsID0gdGhpcy5vcHRpb25zLm1heDtcblxuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpTW9udGg+ID0gQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIGRlZmF1bHRBY3RpdmVZZWFyOiBUdWlZZWFyID0gVHVpRGF5LmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgYWN0aXZlWWVhcj86IFR1aVllYXI7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfTU9OVEhfRk9STUFUVEVSKVxuICAgICAgICByZWFkb25seSBmb3JtYXR0ZXI6IFR1aUhhbmRsZXI8VHVpTW9udGggfCBudWxsLCBPYnNlcnZhYmxlPHN0cmluZz4+LFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX0RBVEVfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlJbnB1dERhdGVPcHRpb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfU0laRSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRTaXplOiBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjZHIpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIGdldCBzaXplKCk6IFR1aVNpemVMIHwgVHVpU2l6ZVMge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGRTaXplLnNpemU7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTWluKCk6IFR1aU1vbnRoIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluID8/IHRoaXMub3B0aW9ucy5taW47XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTWF4KCk6IFR1aU1vbnRoIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4ID8/IHRoaXMub3B0aW9ucy5tYXg7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGQ/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWREZWZhdWx0QWN0aXZlWWVhcigpOiBUdWlZZWFyIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlWWVhciB8fFxuICAgICAgICAgICAgdGhpcy52YWx1ZSB8fFxuICAgICAgICAgICAgdHVpRGF0ZUNsYW1wKHRoaXMuZGVmYXVsdEFjdGl2ZVllYXIsIHRoaXMuY29tcHV0ZWRNaW4sIHRoaXMuY29tcHV0ZWRNYXgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkPy5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhckljb24oKTogVHVpSW5wdXREYXRlT3B0aW9uc1snaWNvbiddIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5pY29uO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVQaWNrZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTW9iaWxlICYmIHRoaXMub3B0aW9ucy5uYXRpdmVQaWNrZXI7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVBpY2tlck1pbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlZE1pbi50b0pTT04oKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlUGlja2VyTWF4KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkTWF4LnRvSlNPTigpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8udG9KU09OKCkgfHwgJyc7XG4gICAgfVxuXG4gICAgb25OYXRpdmVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBbeWVhciwgbW9udGhdID0gdmFsdWUuc3BsaXQoJy0nKS5tYXAoTnVtYmVyKTtcblxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWVcbiAgICAgICAgICAgID8gdHVpRGF0ZUNsYW1wKFxuICAgICAgICAgICAgICAgICAgbmV3IFR1aU1vbnRoKHllYXIsIG1vbnRoIC0gMSksXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbXB1dGVkTWluLFxuICAgICAgICAgICAgICAgICAgdGhpcy5jb21wdXRlZE1heCxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgICB0aGlzLm9uT3BlbkNoYW5nZSghdGhpcy5uYXRpdmVQaWNrZXIpO1xuICAgIH1cblxuICAgIG9uTW9udGhDbGljayhtb250aDogVHVpTW9udGgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IG1vbnRoO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuICAgIH1cblxuICAgIG9uT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChvcGVuICYmIHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlWWVhciA9IHRoaXMudmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHNldERpc2FibGVkU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cbn1cbiIsIjx0dWktaG9zdGVkLWRyb3Bkb3duXG4gICAgY2xhc3M9XCJ0LWhvc3RlZFwiXG4gICAgW2Nhbk9wZW5dPVwiaW50ZXJhY3RpdmUgJiYgIW5hdGl2ZVBpY2tlclwiXG4gICAgW2NvbnRlbnRdPVwiZHJvcGRvd25cIlxuICAgIFtvcGVuXT1cIm9wZW4gJiYgaW50ZXJhY3RpdmVcIlxuICAgIChvcGVuQ2hhbmdlKT1cIm9uT3BlbkNoYW5nZSgkZXZlbnQpXCJcbj5cbiAgICA8dHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRcbiAgICAgICAgY2xhc3M9XCJ0LXRleHRmaWVsZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgW2VkaXRhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICAgICAgW25hdGl2ZUlkXT1cIm5hdGl2ZUlkXCJcbiAgICAgICAgW3BzZXVkb0ZvY3VzXT1cInBzZXVkb0ZvY3VzXCJcbiAgICAgICAgW3BzZXVkb0hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgICAgW3R1aVRleHRmaWVsZEljb25dPVwiY2FsZW5kYXJJY29uXCJcbiAgICAgICAgW3ZhbHVlXT1cIih2YWx1ZSB8IHR1aU1hcHBlcjogZm9ybWF0dGVyIHwgYXN5bmMpIHx8ICcnXCJcbiAgICAgICAgKGZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnRcbiAgICAgICAgICAgIG5nUHJvamVjdEFzPVwiaW5wdXRcIlxuICAgICAgICAgICAgc2VsZWN0PVwiaW5wdXRcIlxuICAgICAgICA+PC9uZy1jb250ZW50PlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICpuZ0lmPVwibmF0aXZlUGlja2VyXCJcbiAgICAgICAgICAgIHR5cGU9XCJtb250aFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtbW9iaWxlXCJcbiAgICAgICAgICAgIFttYXhdPVwibmF0aXZlUGlja2VyTWF4XCJcbiAgICAgICAgICAgIFttaW5dPVwibmF0aXZlUGlja2VyTWluXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cIm5hdGl2ZVZhbHVlXCJcbiAgICAgICAgICAgIChjbGljay5zdG9wLnNpbGVudCk9XCIoMClcIlxuICAgICAgICAgICAgKG1vdXNlZG93bi5zdG9wLnNpbGVudCk9XCIoMClcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25OYXRpdmVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgPC90dWktcHJpbWl0aXZlLXRleHRmaWVsZD5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd24+XG4gICAgICAgIDx0dWktY2FsZW5kYXItbW9udGhcbiAgICAgICAgICAgIHR1aVByZXZlbnREZWZhdWx0PVwibW91c2Vkb3duXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZEl0ZW1IYW5kbGVyXT1cImRpc2FibGVkSXRlbUhhbmRsZXJcIlxuICAgICAgICAgICAgW21heF09XCJjb21wdXRlZE1heFwiXG4gICAgICAgICAgICBbbWluXT1cImNvbXB1dGVkTWluXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICBbeWVhcl09XCJjb21wdXRlZERlZmF1bHRBY3RpdmVZZWFyXCJcbiAgICAgICAgICAgIChtb250aENsaWNrKT1cIm9uTW9udGhDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICh5ZWFyQ2hhbmdlKT1cImFjdGl2ZVllYXIgPSAkZXZlbnRcIlxuICAgICAgICA+PC90dWktY2FsZW5kYXItbW9udGg+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvdHVpLWhvc3RlZC1kcm9wZG93bj5cbiJdfQ==
@@ -33,7 +33,8 @@ export class TuiInputMonthRangeComponent extends AbstractTuiNullableControl {
33
33
  return (((_a = this.value) === null || _a === void 0 ? void 0 : _a.from) || tuiDateClamp(this.defaultActiveYear, this.min, this.max));
34
34
  }
35
35
  get focused() {
36
- return !!this.textfield && this.textfield.focused;
36
+ var _a;
37
+ return !!((_a = this.textfield) === null || _a === void 0 ? void 0 : _a.focused);
37
38
  }
38
39
  get calendarIcon() {
39
40
  return this.options.icon;
@@ -133,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
133
134
  type: HostBinding,
134
135
  args: ['attr.data-size']
135
136
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGgtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgtcmFuZ2UvaW5wdXQtbW9udGgtcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgtcmFuZ2UvaW5wdXQtbW9udGgtcmFuZ2UudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLFlBQVksRUFDWixZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLFlBQVksRUFDWixNQUFNLEVBSU4sYUFBYSxHQUVoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWiw4QkFBOEIsR0FLakMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRSxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUV0QixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBZ0I5QixNQUFNLE9BQU8sMkJBQ1QsU0FBUSwwQkFBeUM7SUFxQmpELFlBSUksT0FBeUIsRUFDRSxHQUFzQixFQUV4QyxTQUEwRCxFQUVsRCxPQUE0QixFQUU1QixhQUF3QztRQUV6RCxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBTlgs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QUFJO3NCQURQLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIENIQVJfRU5fREFTSCxcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgdHVpRGF0ZUNsYW1wLFxuICAgIFR1aURheSxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpSGFuZGxlcixcbiAgICBUdWlNb250aCxcbiAgICBUdWlNb250aFJhbmdlLFxuICAgIFR1aVllYXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUVUlfVEVYVEZJRUxEX1NJWkUsXG4gICAgVHVpTW9udGhQaXBlLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlNb250aENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9NT05USF9GT1JNQVRURVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7XG4gICAgVFVJX0lOUFVUX0RBVEVfT1BUSU9OUyxcbiAgICBUVUlfTU9OVEhfRk9STUFUVEVSLFxuICAgIFR1aUlucHV0RGF0ZU9wdGlvbnMsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7VHVpQm9vbGVhbkhhbmRsZXJXaXRoQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1tb250aC1yYW5nZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LW1vbnRoLXJhbmdlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LW1vbnRoLXJhbmdlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSW5wdXRNb250aFJhbmdlQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0TW9udGhSYW5nZUNvbXBvbmVudCksXG4gICAgICAgIFRVSV9NT05USF9GT1JNQVRURVJfUFJPVklERVIsXG4gICAgICAgIFR1aU1vbnRoUGlwZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE1vbnRoUmFuZ2VDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aU1vbnRoUmFuZ2U+XG4gICAgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpTW9udGg+LCBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgbWluOiBUdWlNb250aCA9IHRoaXMub3B0aW9ucy5taW47XG5cbiAgICBASW5wdXQoKVxuICAgIG1heDogVHVpTW9udGggPSB0aGlzLm9wdGlvbnMubWF4O1xuXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcldpdGhDb250ZXh0PFR1aU1vbnRoLCBUdWlNb250aENvbnRleHQ+ID1cbiAgICAgICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIGRlZmF1bHRBY3RpdmVZZWFyOiBUdWlZZWFyID0gVHVpRGF5LmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX01PTlRIX0ZPUk1BVFRFUilcbiAgICAgICAgcmVhZG9ubHkgZm9ybWF0dGVyOiBUdWlIYW5kbGVyPFR1aU1vbnRoIHwgbnVsbCwgT2JzZXJ2YWJsZTxzdHJpbmc+PixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfREFURV9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0RGF0ZU9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemU6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNkcik7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZFNpemUuc2l6ZTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZCA/IHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZERlZmF1bHRBY3RpdmVZZWFyKCk6IFR1aVllYXIge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy52YWx1ZT8uZnJvbSB8fCB0dWlEYXRlQ2xhbXAodGhpcy5kZWZhdWx0QWN0aXZlWWVhciwgdGhpcy5taW4sIHRoaXMubWF4KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRleHRmaWVsZCAmJiB0aGlzLnRleHRmaWVsZC5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhckljb24oKTogVHVpSW5wdXREYXRlT3B0aW9uc1snaWNvbiddIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5pY29uO1xuICAgIH1cblxuICAgIGNvbXB1dGVWYWx1ZShmcm9tOiBzdHJpbmcgfCBudWxsLCB0bzogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZFRvID0gZnJvbSA9PT0gdG8gJiYgdGhpcy5mb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5ID8gJycgOiB0bztcblxuICAgICAgICByZXR1cm4gYCR7ZnJvbX0gJHtDSEFSX0VOX0RBU0h9ICR7Zm9ybWF0dGVkVG99YDtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgdGhpcy5vbk9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgfVxuXG4gICAgb25Nb250aENsaWNrKG1vbnRoOiBUdWlNb250aCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy52YWx1ZSA9PT0gbnVsbCB8fCAhdGhpcy52YWx1ZS5pc1NpbmdsZU1vbnRoKSB7XG4gICAgICAgICAgICB0aGlzLndyaXRlVmFsdWUobmV3IFR1aU1vbnRoUmFuZ2UobW9udGgsIG1vbnRoKSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSBUdWlNb250aFJhbmdlLnNvcnQodGhpcy52YWx1ZS5mcm9tLCBtb250aCk7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbk9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcblxuICAgICAgICBpZiAoZm9jdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWU/LmlzU2luZ2xlTW9udGgpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXcgVHVpTW9udGhSYW5nZSh0aGlzLnZhbHVlLmZyb20sIHRoaXMudmFsdWUuZnJvbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvdmVycmlkZSBzZXREaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5zZXREaXNhYmxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG59XG4iLCI8dHVpLWhvc3RlZC1kcm9wZG93blxuICAgIGNsYXNzPVwidC1ob3N0ZWRcIlxuICAgIFtjYW5PcGVuXT1cImludGVyYWN0aXZlXCJcbiAgICBbY29udGVudF09XCJkcm9wZG93blwiXG4gICAgW29wZW5dPVwib3BlbiAmJiBpbnRlcmFjdGl2ZVwiXG4gICAgKG9wZW5DaGFuZ2UpPVwib25PcGVuQ2hhbmdlKCRldmVudClcIlxuICAgICh0dWlBY3RpdmVab25lQ2hhbmdlKT1cIm9uQWN0aXZlWm9uZSgkZXZlbnQpXCJcbj5cbiAgICA8dHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRcbiAgICAgICAgY2xhc3M9XCJ0LXRleHRmaWVsZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgW2VkaXRhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICAgICAgW25hdGl2ZUlkXT1cIm5hdGl2ZUlkXCJcbiAgICAgICAgW3BzZXVkb0ZvY3VzXT1cInBzZXVkb0ZvY3VzXCJcbiAgICAgICAgW3BzZXVkb0hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgICAgW3R1aVRleHRmaWVsZEljb25dPVwiY2FsZW5kYXJJY29uXCJcbiAgICAgICAgW3ZhbHVlXT1cIlxuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgICAgICA/IGNvbXB1dGVWYWx1ZSh2YWx1ZS5mcm9tIHwgdHVpTWFwcGVyOiBmb3JtYXR0ZXIgfCBhc3luYywgdmFsdWUudG8gfCB0dWlNYXBwZXI6IGZvcm1hdHRlciB8IGFzeW5jKVxuICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50XG4gICAgICAgICAgICBuZ1Byb2plY3RBcz1cImlucHV0XCJcbiAgICAgICAgICAgIHNlbGVjdD1cImlucHV0XCJcbiAgICAgICAgPjwvbmctY29udGVudD5cbiAgICA8L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuXG4gICAgPG5nLXRlbXBsYXRlICNkcm9wZG93bj5cbiAgICAgICAgPHR1aS1jYWxlbmRhci1tb250aFxuICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQ9XCJtb3VzZWRvd25cIlxuICAgICAgICAgICAgW2Rpc2FibGVkSXRlbUhhbmRsZXJdPVwiZGlzYWJsZWRJdGVtSGFuZGxlclwiXG4gICAgICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgW3llYXJdPVwiY29tcHV0ZWREZWZhdWx0QWN0aXZlWWVhclwiXG4gICAgICAgICAgICAobW9udGhDbGljayk9XCJvbk1vbnRoQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgID48L3R1aS1jYWxlbmRhci1tb250aD5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC90dWktaG9zdGVkLWRyb3Bkb3duPlxuIl19
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGgtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgtcmFuZ2UvaW5wdXQtbW9udGgtcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgtcmFuZ2UvaW5wdXQtbW9udGgtcmFuZ2UudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLFlBQVksRUFDWixZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLFlBQVksRUFDWixNQUFNLEVBSU4sYUFBYSxHQUVoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWiw4QkFBOEIsR0FLakMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRSxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUV0QixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBZ0I5QixNQUFNLE9BQU8sMkJBQ1QsU0FBUSwwQkFBeUM7SUFxQmpELFlBSUksT0FBeUIsRUFDRSxHQUFzQixFQUV4QyxTQUEwRCxFQUVsRCxPQUE0QixFQUU1QixhQUF3QztRQUV6RCxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBTlgs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O3NCQURQLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIENIQVJfRU5fREFTSCxcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgdHVpRGF0ZUNsYW1wLFxuICAgIFR1aURheSxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpSGFuZGxlcixcbiAgICBUdWlNb250aCxcbiAgICBUdWlNb250aFJhbmdlLFxuICAgIFR1aVllYXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUVUlfVEVYVEZJRUxEX1NJWkUsXG4gICAgVHVpTW9udGhQaXBlLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlNb250aENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9NT05USF9GT1JNQVRURVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7XG4gICAgVFVJX0lOUFVUX0RBVEVfT1BUSU9OUyxcbiAgICBUVUlfTU9OVEhfRk9STUFUVEVSLFxuICAgIFR1aUlucHV0RGF0ZU9wdGlvbnMsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7VHVpQm9vbGVhbkhhbmRsZXJXaXRoQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1tb250aC1yYW5nZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LW1vbnRoLXJhbmdlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LW1vbnRoLXJhbmdlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSW5wdXRNb250aFJhbmdlQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0TW9udGhSYW5nZUNvbXBvbmVudCksXG4gICAgICAgIFRVSV9NT05USF9GT1JNQVRURVJfUFJPVklERVIsXG4gICAgICAgIFR1aU1vbnRoUGlwZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE1vbnRoUmFuZ2VDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aU1vbnRoUmFuZ2U+XG4gICAgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpTW9udGg+LCBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgbWluOiBUdWlNb250aCA9IHRoaXMub3B0aW9ucy5taW47XG5cbiAgICBASW5wdXQoKVxuICAgIG1heDogVHVpTW9udGggPSB0aGlzLm9wdGlvbnMubWF4O1xuXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcldpdGhDb250ZXh0PFR1aU1vbnRoLCBUdWlNb250aENvbnRleHQ+ID1cbiAgICAgICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIGRlZmF1bHRBY3RpdmVZZWFyOiBUdWlZZWFyID0gVHVpRGF5LmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX01PTlRIX0ZPUk1BVFRFUilcbiAgICAgICAgcmVhZG9ubHkgZm9ybWF0dGVyOiBUdWlIYW5kbGVyPFR1aU1vbnRoIHwgbnVsbCwgT2JzZXJ2YWJsZTxzdHJpbmc+PixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfREFURV9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0RGF0ZU9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemU6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNkcik7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZFNpemUuc2l6ZTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZCA/IHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZERlZmF1bHRBY3RpdmVZZWFyKCk6IFR1aVllYXIge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy52YWx1ZT8uZnJvbSB8fCB0dWlEYXRlQ2xhbXAodGhpcy5kZWZhdWx0QWN0aXZlWWVhciwgdGhpcy5taW4sIHRoaXMubWF4KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRleHRmaWVsZD8uZm9jdXNlZDtcbiAgICB9XG5cbiAgICBnZXQgY2FsZW5kYXJJY29uKCk6IFR1aUlucHV0RGF0ZU9wdGlvbnNbJ2ljb24nXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuaWNvbjtcbiAgICB9XG5cbiAgICBjb21wdXRlVmFsdWUoZnJvbTogc3RyaW5nIHwgbnVsbCwgdG86IHN0cmluZyB8IG51bGwpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRUbyA9IGZyb20gPT09IHRvICYmIHRoaXMuZm9jdXNlZCAmJiAhdGhpcy5yZWFkT25seSA/ICcnIDogdG87XG5cbiAgICAgICAgcmV0dXJuIGAke2Zyb219ICR7Q0hBUl9FTl9EQVNIfSAke2Zvcm1hdHRlZFRvfWA7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgIHRoaXMub25PcGVuQ2hhbmdlKHRydWUpO1xuICAgIH1cblxuICAgIG9uTW9udGhDbGljayhtb250aDogVHVpTW9udGgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgPT09IG51bGwgfHwgIXRoaXMudmFsdWUuaXNTaW5nbGVNb250aCkge1xuICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKG5ldyBUdWlNb250aFJhbmdlKG1vbnRoLCBtb250aCkpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gVHVpTW9udGhSYW5nZS5zb3J0KHRoaXMudmFsdWUuZnJvbSwgbW9udGgpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25PcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG5cbiAgICAgICAgaWYgKGZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlPy5pc1NpbmdsZU1vbnRoKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbmV3IFR1aU1vbnRoUmFuZ2UodGhpcy52YWx1ZS5mcm9tLCB0aGlzLnZhbHVlLmZyb20pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgc2V0RGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxufVxuIiwiPHR1aS1ob3N0ZWQtZHJvcGRvd25cbiAgICBjbGFzcz1cInQtaG9zdGVkXCJcbiAgICBbY2FuT3Blbl09XCJpbnRlcmFjdGl2ZVwiXG4gICAgW2NvbnRlbnRdPVwiZHJvcGRvd25cIlxuICAgIFtvcGVuXT1cIm9wZW4gJiYgaW50ZXJhY3RpdmVcIlxuICAgIChvcGVuQ2hhbmdlKT1cIm9uT3BlbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAodHVpQWN0aXZlWm9uZUNoYW5nZSk9XCJvbkFjdGl2ZVpvbmUoJGV2ZW50KVwiXG4+XG4gICAgPHR1aS1wcmltaXRpdmUtdGV4dGZpZWxkXG4gICAgICAgIGNsYXNzPVwidC10ZXh0ZmllbGRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgIFtlZGl0YWJsZV09XCJmYWxzZVwiXG4gICAgICAgIFtpbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgICAgIFtuYXRpdmVJZF09XCJuYXRpdmVJZFwiXG4gICAgICAgIFtwc2V1ZG9Gb2N1c109XCJwc2V1ZG9Gb2N1c1wiXG4gICAgICAgIFtwc2V1ZG9Ib3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgIFt0dWlUZXh0ZmllbGRJY29uXT1cImNhbGVuZGFySWNvblwiXG4gICAgICAgIFt2YWx1ZV09XCJcbiAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICAgICAgPyBjb21wdXRlVmFsdWUodmFsdWUuZnJvbSB8IHR1aU1hcHBlcjogZm9ybWF0dGVyIHwgYXN5bmMsIHZhbHVlLnRvIHwgdHVpTWFwcGVyOiBmb3JtYXR0ZXIgfCBhc3luYylcbiAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgIFwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgICAgbmdQcm9qZWN0QXM9XCJpbnB1dFwiXG4gICAgICAgICAgICBzZWxlY3Q9XCJpbnB1dFwiXG4gICAgICAgID48L25nLWNvbnRlbnQ+XG4gICAgPC90dWktcHJpbWl0aXZlLXRleHRmaWVsZD5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd24+XG4gICAgICAgIDx0dWktY2FsZW5kYXItbW9udGhcbiAgICAgICAgICAgIHR1aVByZXZlbnREZWZhdWx0PVwibW91c2Vkb3duXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZEl0ZW1IYW5kbGVyXT1cImRpc2FibGVkSXRlbUhhbmRsZXJcIlxuICAgICAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICAgICAgW21pbl09XCJtaW5cIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgIFt5ZWFyXT1cImNvbXB1dGVkRGVmYXVsdEFjdGl2ZVllYXJcIlxuICAgICAgICAgICAgKG1vbnRoQ2xpY2spPVwib25Nb250aENsaWNrKCRldmVudClcIlxuICAgICAgICA+PC90dWktY2FsZW5kYXItbW9udGg+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvdHVpLWhvc3RlZC1kcm9wZG93bj5cbiJdfQ==
@@ -155,7 +155,8 @@ export class TuiInputNumberComponent extends AbstractTuiNullableControl {
155
155
  : nativeNumberValue < this.computedMin;
156
156
  }
157
157
  get nativeValue() {
158
- return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';
158
+ var _a;
159
+ return ((_a = this.nativeFocusableElement) === null || _a === void 0 ? void 0 : _a.value) || '';
159
160
  }
160
161
  set nativeValue(value) {
161
162
  if (!this.textfield || !this.nativeFocusableElement) {
@@ -287,4 +288,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
287
288
  type: HostListener,
288
289
  args: ['keydown.arrowUp', ['step']]
289
290
  }], computeMin: [], computeMax: [], calculateMask: [] } });
290
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsUUFBUSxFQUVSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsNkJBQTZCLEVBQzdCLGtCQUFrQixHQUNyQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQ0gsMEJBQTBCLEVBRTFCLFdBQVcsRUFDWCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFVBQVUsRUFDVixZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLFFBQVEsRUFHUixPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLGdDQUFnQyxFQUVoQyxlQUFlLEVBQ2Ysd0JBQXdCLEVBRXhCLDhCQUE4QixHQUtqQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRXJFLE9BQU8sRUFBQyx3QkFBd0IsRUFBd0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7O0FBRXZGLE1BQU0sa0JBQWtCLEdBQUcs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ZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDUCwwQkFBMEIseUJBQXlCO3dCQUNuRCxZQUFZLHlCQUF5Qjt3QkFDckMsNkJBQTZCO3FCQUNoQztpQkFDSjs7MEJBcUNRLFFBQVE7OzBCQUNSLElBQUk7OzBCQUNKLE1BQU07MkJBQUMsU0FBUzs7MEJBRWhCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFFeEIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyw0QkFBNEI7OzBCQUVuQyxNQUFNOzJCQUFDLHdCQUF3Qjs7MEJBQy9CLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUV6QixNQUFNOzJCQUFDLGdDQUFnQzs0Q0E3QzNCLFNBQVM7c0JBRHpCLFNBQVM7dUJBQUMsOEJBQThCO2dCQU16QyxHQUFHO3NCQURGLEtBQUs7Z0JBSU4sR0FBRztzQkFERixLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUtOLE1BQU07c0JBREwsS0FBSztnQkFLTixPQUFPO3NCQUROLEtBQUs7Z0JBSUcsd0JBQXdCO3NCQURoQyxlQUFlO3VCQUFDLDJCQUEyQixFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQztnQkF5QjdELElBQUk7c0JBRFAsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBdUY3QixPQUFPO3NCQUZOLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxPQUFPLENBQUM7O3NCQUMzQyxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDO2dCQXdIakMsVUFBVSxNQVFWLFVBQVUsTUFRVixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hc2tpdG9PcHRpb25zfSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7XG4gICAgbWFza2l0b0NhcmV0R3VhcmQsXG4gICAgbWFza2l0b051bWJlck9wdGlvbnNHZW5lcmF0b3IsXG4gICAgbWFza2l0b1BhcnNlTnVtYmVyLFxufSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBBYnN0cmFjdFR1aVZhbHVlVHJhbnNmb3JtZXIsXG4gICAgQ0hBUl9IWVBIRU4sXG4gICAgQ0hBUl9NSU5VUyxcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBUVUlfSVNfSU9TLFxuICAgIHR1aUFzQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0dWlDbGFtcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpSW5wdXRNb2RlLFxuICAgIHR1aVB1cmUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfTlVNQkVSX0ZPUk1BVCxcbiAgICBUVUlfVEVYVEZJRUxEX1NJWkUsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpRGVjaW1hbCxcbiAgICB0dWlGb3JtYXROdW1iZXIsXG4gICAgdHVpR2V0RnJhY3Rpb25QYXJ0UGFkZGVkLFxuICAgIFR1aU51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgIFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0RGlyZWN0aXZlfSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUywgVHVpSW5wdXROdW1iZXJPcHRpb25zfSBmcm9tICcuL2lucHV0LW51bWJlci5vcHRpb25zJztcblxuY29uc3QgREVGQVVMVF9NQVhfTEVOR1RIID0gMTg7XG5cbmV4cG9ydCBjb25zdCBUVUlfTlVNQkVSX1ZBTFVFX1RSQU5TRk9STUVSID0gbmV3IEluamVjdGlvblRva2VuPFxuICAgIEFic3RyYWN0VHVpVmFsdWVUcmFuc2Zvcm1lcjxudW1iZXIgfCBudWxsPlxuPignJyk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LW51bWJlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LW51bWJlci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1udW1iZXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlJbnB1dE51bWJlckNvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dE51bWJlckNvbXBvbmVudCksXG4gICAgICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0TnVtYmVyQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgdW5maW5pc2hlZFZhbHVlOiBzdHJpbmcgfCBudWxsID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIG1pbjogbnVtYmVyIHwgbnVsbCA9IHRoaXMub3B0aW9ucy5taW47XG5cbiAgICBASW5wdXQoKVxuICAgIG1heDogbnVtYmVyIHwgbnVsbCA9IHRoaXMub3B0aW9ucy5tYXg7XG5cbiAgICBASW5wdXQoKVxuICAgIGRlY2ltYWwgPSB0aGlzLm9wdGlvbnMuZGVjaW1hbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHJlY2lzaW9uID0gdGhpcy5vcHRpb25zLnByZWNpc2lvbjtcblxuICAgIEBJbnB1dCgpXG4gICAgc3RlcCA9IHRoaXMub3B0aW9ucy5zdGVwO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkUHJlZml4YCBmcm9tIHtAbGluayBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlfSBpbnN0ZWFkICovXG4gICAgQElucHV0KClcbiAgICBwcmVmaXggPSAnJztcblxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgYHR1aVRleHRmaWVsZFBvc3RmaXhgIGZyb20ge0BsaW5rIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGV9IGluc3RlYWQgKi9cbiAgICBASW5wdXQoKVxuICAgIHBvc3RmaXggPSAnJztcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUG9seW1vcnBoZXVzT3V0bGV0RGlyZWN0aXZlLCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHJlYWRvbmx5IHBvbHltb3JwaGV1c1ZhbHVlQ29udGVudDogUXVlcnlMaXN0PHVua25vd24+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZilcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfTlVNQkVSX1ZBTFVFX1RSQU5TRk9STUVSKVxuICAgICAgICB0cmFuc2Zvcm1lcjogQWJzdHJhY3RUdWlWYWx1ZVRyYW5zZm9ybWVyPG51bWJlciB8IG51bGw+LFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUykgcmVhZG9ubHkgb3B0aW9uczogVHVpSW5wdXROdW1iZXJPcHRpb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKSBwcml2YXRlIHJlYWRvbmx5IG51bWJlckZvcm1hdDogVHVpTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0lPUykgcHJpdmF0ZSByZWFkb25seSBpc0lPUzogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1NJWkUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkU2l6ZTogVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbGxlcjogVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2RyLCB0cmFuc2Zvcm1lcik7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZFNpemUuc2l6ZTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNaW4oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZU1pbih0aGlzLm1pbiwgdGhpcy5tYXgpO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZE1heCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlTWF4KHRoaXMubWluLCB0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMudGV4dGZpZWxkIHx8IHRoaXMuY29tcHV0ZWREaXNhYmxlZFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkPy5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBpc05lZ2F0aXZlQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWRNaW4gPCAwO1xuICAgIH1cblxuICAgIGdldCBpbnB1dE1vZGUoKTogVHVpSW5wdXRNb2RlIHtcbiAgICAgICAgaWYgKHRoaXMuaXNJT1MgJiYgdGhpcy5pc05lZ2F0aXZlQWxsb3dlZCkge1xuICAgICAgICAgICAgLy8gaVBob25lIGRvZXMgbm90IGhhdmUgbWludXMgc2lnbiBpZiBpbnB1dE1vZGUgaXMgZXF1YWwgdG8gJ251bWVyaWMnIC8gJ2RlY2ltYWwnXG4gICAgICAgICAgICByZXR1cm4gJ3RleHQnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZGVjaW1hbCA9PT0gJ25ldmVyJyA/ICdudW1lcmljJyA6ICdkZWNpbWFsJztcbiAgICB9XG5cbiAgICBnZXQgY2FsY3VsYXRlZE1heExlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBkZWNpbWFsUGFydCA9XG4gICAgICAgICAgICB0aGlzLmRlY2ltYWwgIT09ICduZXZlcicgJiZcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUuaW5jbHVkZXModGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcik7XG4gICAgICAgIGNvbnN0IHByZWNpc2lvbiA9IGRlY2ltYWxQYXJ0ID8gTWF0aC5taW4odGhpcy5wcmVjaXNpb24gKyAxLCAyMCkgOiAwO1xuICAgICAgICBjb25zdCB0YWtlVGhvdXNhbmQgPSB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvci5yZXBlYXQoNSkubGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiBERUZBVUxUX01BWF9MRU5HVEggKyBwcmVjaXNpb24gKyB0YWtlVGhvdXNhbmQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvcm1hdHRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICE9PSBudWxsID8gdGhpcy5nZXRGb3JtYXR0ZWRWYWx1ZSh0aGlzLnZhbHVlIHx8IDApIDogJyc7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNlZCA/IHRoaXMubmF0aXZlVmFsdWUgOiB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIGdldCBjYW5EZWNyZW1lbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVyYWN0aXZlICYmICh0aGlzLnZhbHVlIHx8IDApID4gdGhpcy5jb21wdXRlZE1pbjtcbiAgICB9XG5cbiAgICBnZXQgY2FuSW5jcmVtZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSAmJiAodGhpcy52YWx1ZSB8fCAwKSA8IHRoaXMuY29tcHV0ZWRNYXg7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkUHJlZml4KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZWZpeCB8fCB0aGlzLmNvbnRyb2xsZXIucHJlZml4O1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFBvc3RmaXgoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgcG9zdGZpeCA9IHRoaXMucG9zdGZpeCB8fCB0aGlzLmNvbnRyb2xsZXIucG9zdGZpeDtcblxuICAgICAgICByZXR1cm4gcG9zdGZpeCAmJiBgICR7cG9zdGZpeH1gO1xuICAgIH1cblxuICAgIGdldCBtYXNrKCk6IE1hc2tpdG9PcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlTWFzayhcbiAgICAgICAgICAgIHRoaXMucHJlY2lzaW9uLFxuICAgICAgICAgICAgdGhpcy5kZWNpbWFsLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZE1pbixcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRNYXgsXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkUHJlZml4LFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZFBvc3RmaXgsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd0Rvd24nLCBbJy1zdGVwJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd1VwJywgWydzdGVwJ10pXG4gICAgb25BcnJvdyhzdGVwOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmICghc3RlcCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IHR1aUNsYW1wKFxuICAgICAgICAgICAgKHRoaXMudmFsdWUgfHwgMCkgKyBzdGVwLFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZE1pbixcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRNYXgsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UobmF0aXZlVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IG1hc2tpdG9QYXJzZU51bWJlcihcbiAgICAgICAgICAgIG5hdGl2ZVZhbHVlLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnVuZmluaXNoZWRWYWx1ZSA9IG51bGw7XG5cbiAgICAgICAgaWYgKE51bWJlci5pc05hTihwYXJzZWRWYWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc05hdGl2ZVZhbHVlTm90RmluaXNoZWQpIHtcbiAgICAgICAgICAgIHRoaXMudW5maW5pc2hlZFZhbHVlID0gbmF0aXZlVmFsdWU7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJzZWRWYWx1ZSA8IHRoaXMuY29tcHV0ZWRNaW4gfHwgcGFyc2VkVmFsdWUgPiB0aGlzLmNvbXB1dGVkTWF4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gcGFyc2VkVmFsdWU7XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGNvbnN0IG5hdGl2ZU51bWJlclZhbHVlID0gdGhpcy51bmZpbmlzaGVkVmFsdWVcbiAgICAgICAgICAgID8gbWFza2l0b1BhcnNlTnVtYmVyKHRoaXMudW5maW5pc2hlZFZhbHVlLCB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yKVxuICAgICAgICAgICAgOiB0aGlzLm5hdGl2ZU51bWJlclZhbHVlO1xuXG4gICAgICAgIHRoaXMudW5maW5pc2hlZFZhbHVlID0gbnVsbDtcblxuICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKG5hdGl2ZU51bWJlclZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IGZvY3VzZWQgPyB0aGlzLmNvbXB1dGVkUHJlZml4ICsgdGhpcy5jb21wdXRlZFBvc3RmaXggOiAnJztcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuYXRpdmVOdW1iZXJWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Rm9ybWF0dGVkVmFsdWUodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGFic1ZhbHVlID0gTWF0aC5hYnModmFsdWUpO1xuICAgICAgICBjb25zdCBoYXNGcmFjdGlvbiA9IGFic1ZhbHVlICUgMSA+IDA7XG4gICAgICAgIGxldCBkZWNpbWFsTGltaXQgPVxuICAgICAgICAgICAgdGhpcy5kZWNpbWFsID09PSAnYWx3YXlzJyB8fCAoaGFzRnJhY3Rpb24gJiYgdGhpcy5kZWNpbWFsICE9PSAnbmV2ZXInKVxuICAgICAgICAgICAgICAgID8gdGhpcy5wcmVjaXNpb25cbiAgICAgICAgICAgICAgICA6IDA7XG5cbiAgICAgICAgY29uc3QgZnJhY3Rpb24gPSBoYXNGcmFjdGlvblxuICAgICAgICAgICAgPyB0dWlHZXRGcmFjdGlvblBhcnRQYWRkZWQodmFsdWUsIHRoaXMucHJlY2lzaW9uKVxuICAgICAgICAgICAgOiAnJztcblxuICAgICAgICBpZiAodGhpcy5mb2N1c2VkICYmIHRoaXMuZGVjaW1hbCAhPT0gJ2Fsd2F5cycpIHtcbiAgICAgICAgICAgIGRlY2ltYWxMaW1pdCA9IGZyYWN0aW9uLmxlbmd0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkUHJlZml4ICtcbiAgICAgICAgICAgIHR1aUZvcm1hdE51bWJlcih2YWx1ZSwge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMubnVtYmVyRm9ybWF0LFxuICAgICAgICAgICAgICAgIGRlY2ltYWxMaW1pdCxcbiAgICAgICAgICAgIH0pLnJlcGxhY2UoQ0hBUl9IWVBIRU4sIENIQVJfTUlOVVMpICtcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRQb3N0Zml4XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNOYXRpdmVWYWx1ZU5vdEZpbmlzaGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBuYXRpdmVOdW1iZXJWYWx1ZSA9IHRoaXMubmF0aXZlTnVtYmVyVmFsdWU7XG5cbiAgICAgICAgcmV0dXJuIG5hdGl2ZU51bWJlclZhbHVlIDwgMFxuICAgICAgICAgICAgPyBuYXRpdmVOdW1iZXJWYWx1ZSA+IHRoaXMuY29tcHV0ZWRNYXhcbiAgICAgICAgICAgIDogbmF0aXZlTnVtYmVyVmFsdWUgPCB0aGlzLmNvbXB1dGVkTWluO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50ID8gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgc2V0IG5hdGl2ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRleHRmaWVsZCB8fCAhdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBuYXRpdmVOdW1iZXJWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gbWFza2l0b1BhcnNlTnVtYmVyKHRoaXMubmF0aXZlVmFsdWUsIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjb21wdXRlTWluKG1pbjogbnVtYmVyIHwgbnVsbCwgbWF4OiBudW1iZXIgfCBudWxsKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGgubWluKFxuICAgICAgICAgICAgdGhpcy52YWx1ZVRyYW5zZm9ybWVyPy5mcm9tQ29udHJvbFZhbHVlKG1pbikgPz8gbWluID8/IHRoaXMub3B0aW9ucy5taW4sXG4gICAgICAgICAgICB0aGlzLnZhbHVlVHJhbnNmb3JtZXI/LmZyb21Db250cm9sVmFsdWUobWF4KSA/PyBtYXggPz8gdGhpcy5vcHRpb25zLm1heCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY29tcHV0ZU1heChtaW46IG51bWJlciB8IG51bGwsIG1heDogbnVtYmVyIHwgbnVsbCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLm1heChcbiAgICAgICAgICAgIHRoaXMudmFsdWVUcmFuc2Zvcm1lcj8uZnJvbUNvbnRyb2xWYWx1ZShtaW4pID8/IG1pbiA/PyB0aGlzLm9wdGlvbnMubWluLFxuICAgICAgICAgICAgdGhpcy52YWx1ZVRyYW5zZm9ybWVyPy5mcm9tQ29udHJvbFZhbHVlKG1heCkgPz8gbWF4ID8/IHRoaXMub3B0aW9ucy5tYXgsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZU1hc2soXG4gICAgICAgIHByZWNpc2lvbjogbnVtYmVyLFxuICAgICAgICBkZWNpbWFsTW9kZTogVHVpRGVjaW1hbCxcbiAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogc3RyaW5nLFxuICAgICAgICB0aG91c2FuZFNlcGFyYXRvcjogc3RyaW5nLFxuICAgICAgICBtaW46IG51bWJlcixcbiAgICAgICAgbWF4OiBudW1iZXIsXG4gICAgICAgIHByZWZpeDogc3RyaW5nLFxuICAgICAgICBwb3N0Zml4OiBzdHJpbmcsXG4gICAgKTogTWFza2l0b09wdGlvbnMge1xuICAgICAgICBjb25zdCB7cGx1Z2lucywgLi4ub3B0aW9uc30gPSBtYXNraXRvTnVtYmVyT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICAgICAgICBkZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICAgICBtaW4sXG4gICAgICAgICAgICBtYXgsXG4gICAgICAgICAgICBwcmVmaXgsXG4gICAgICAgICAgICBwb3N0Zml4LFxuICAgICAgICAgICAgcHJlY2lzaW9uOiBkZWNpbWFsTW9kZSA9PT0gJ25ldmVyJyA/IDAgOiBwcmVjaXNpb24sXG4gICAgICAgICAgICBkZWNpbWFsWmVyb1BhZGRpbmc6IGRlY2ltYWxNb2RlID09PSAnYWx3YXlzJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAgICAgICAgLi4ucGx1Z2lucyxcbiAgICAgICAgICAgICAgICBtYXNraXRvQ2FyZXRHdWFyZCh2YWx1ZSA9PiBbXG4gICAgICAgICAgICAgICAgICAgIHByZWZpeC5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLmxlbmd0aCAtIHBvc3RmaXgubGVuZ3RoLFxuICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iLCI8dHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRcbiAgICAjdGV4dGZpZWxkXG4gICAgdHVpVGV4dGZpZWxkUG9zdGZpeD1cIlwiXG4gICAgdHVpVGV4dGZpZWxkUHJlZml4PVwiXCJcbiAgICB0dWlWYWx1ZUFjY2Vzc29yXG4gICAgY2xhc3M9XCJ0LXRleHRmaWVsZFwiXG4gICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgIFtmb2N1c2FibGVdPVwiZm9jdXNhYmxlXCJcbiAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgIFttYXNraXRvXT1cIm1hc2tcIlxuICAgIFtwc2V1ZG9BY3RpdmVdPVwicHNldWRvQWN0aXZlXCJcbiAgICBbcHNldWRvRm9jdXNdPVwiY29tcHV0ZWRGb2N1c2VkXCJcbiAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgW3ZhbHVlXT1cImNvbXB1dGVkVmFsdWVcIlxuICAgIChmb2N1c2VkQ2hhbmdlKT1cIm9uRm9jdXNlZCgkZXZlbnQpXCJcbiAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnRcbiAgICAgICAgbmdQcm9qZWN0QXM9XCJpbnB1dFwiXG4gICAgICAgIHNlbGVjdD1cImlucHV0XCJcbiAgICA+PC9uZy1jb250ZW50PlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJwb2x5bW9ycGhldXNWYWx1ZUNvbnRlbnQubGVuZ3RoXCJcbiAgICAgICAgbmdQcm9qZWN0QXM9XCJ0dWlDb250ZW50XCJcbiAgICAgICAgY2xhc3M9XCJ0LXZhbHVlLWNvbnRlbnRcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwidmFsdWVDb250ZW50IGFzIHRleHRcIj5cbiAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuXG48c2VjdGlvblxuICAgICpuZ0lmPVwic3RlcFwiXG4gICAgY2xhc3M9XCJ0LWJ1dHRvbnNcIlxuPlxuICAgIDxidXR0b25cbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgW2FwcGVhcmFuY2VdPVwidGV4dGZpZWxkLmFwcGVhcmFuY2VcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkluY3JlbWVudFwiXG4gICAgICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICBbaWNvbl09XCJvcHRpb25zLmljb25zLnVwXCJcbiAgICAgICAgKGNsaWNrLnByZXZlbnQpPVwib25BcnJvdyhzdGVwKVwiXG4gICAgICAgIChtb3VzZWRvd24ucHJldmVudCk9XCJuYXRpdmVGb2N1c2FibGVFbGVtZW50Py5mb2N1cygpXCJcbiAgICA+XG4gICAgICAgICtcbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgIFthcHBlYXJhbmNlXT1cInRleHRmaWVsZC5hcHBlYXJhbmNlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5EZWNyZW1lbnRcIlxuICAgICAgICBbZm9jdXNhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgW2ljb25dPVwib3B0aW9ucy5pY29ucy5kb3duXCJcbiAgICAgICAgKGNsaWNrLnByZXZlbnQpPVwib25BcnJvdygtc3RlcClcIlxuICAgICAgICAobW91c2Vkb3duLnByZXZlbnQpPVwibmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uZm9jdXMoKVwiXG4gICAgPlxuICAgICAgICAtXG4gICAgPC9idXR0b24+XG48L3NlY3Rpb24+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJwb2x5bW9ycGhldXNWYWx1ZUNvbnRlbnQuY2hhbmdlcyB8IGFzeW5jXCI+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjdmFsdWVDb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInR1aUNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
291
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsUUFBUSxFQUVSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsNkJBQTZCLEVBQzdCLGtCQUFrQixHQUNyQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQ0gsMEJBQTBCLEVBRTFCLFdBQVcsRUFDWCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFVBQVUsRUFDVixZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLFFBQVEsRUFHUixPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLGdDQUFnQyxFQUVoQyxlQUFlLEVBQ2Ysd0JBQXdCLEVBRXhCLDhCQUE4QixHQUtqQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRXJFLE9BQU8sRUFBQyx3QkFBd0IsRUFBd0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7O0FBRXZGLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLElBQUksY0FBYyxDQUU1RCxFQUFFLENBQUMsQ0FBQztBQWFOLE1BQU0sT0FBTyx1QkFDVCxTQUFRLDBCQUFrQztJQWtDMUMsWUFJSSxPQUF5QixFQUV6QixHQUFzQixFQUd0QixXQUF1RCxFQUNaLE9BQThCLEVBQzdCLFlBQXFDLEVBQzVDLEtBQWMsRUFFbEMsYUFBd0MsRUFFaEQsVUFBa0M7UUFFM0MsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFSVSxZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFDNUMsVUFBSyxHQUFMLEtBQUssQ0FBUztRQUVsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBMkI7UUFFaEQsZUFBVSxHQUFWLFVBQVUsQ0FBd0I7UUE1Q3ZDLG9CQUFlLEdBQWtCLEVBQUUsQ0FBQztRQUc1QyxRQUFHLEdBQWtCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1FBR3RDLFFBQUcsR0FBa0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFHdEMsWUFBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBRy9CLGNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUduQyxTQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFFekIsNkZBQTZGO1FBRTdGLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFFWiw4RkFBOEY7UUFFOUYsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUdKLDZCQUF3QixHQUF1QixXQUFXLENBQUM7SUFxQnBFLENBQUM7SUFFRCxJQUNJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFnQjtZQUMzQyxDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLE9BQU87O1FBQ1AsT0FBTyxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3RDLGlGQUFpRjtZQUNqRixPQUFPLE1BQU0sQ0FBQztTQUNqQjtRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNuQixNQUFNLFdBQVcsR0FDYixJQUFJLENBQUMsT0FBTyxLQUFLLE9BQU87WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUUxRSxPQUFPLGtCQUFrQixHQUFHLFNBQVMsR0FBRyxZQUFZLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDOUUsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDcEUsQ0FBQztJQUVELElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUV4RCxPQUFPLE9BQU8sSUFBSSxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxhQUFhLENBQ3JCLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUNuQyxJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsY0FBYyxFQUNuQixJQUFJLENBQUMsZUFBZSxDQUN2QixDQUFDO0lBQ04sQ0FBQztJQUlELE9BQU8sQ0FBQyxJQUFtQjtRQUN2QixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQ2pCLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQ3hCLElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxXQUFXLENBQ25CLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDM0MsQ0FBQztJQUVELGFBQWEsQ0FBQyxXQUFtQjtRQUM3QixNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FDbEMsV0FBVyxFQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQ3JDLENBQUM7UUFFRixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUU1QixJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFFbEIsT0FBTztTQUNWO1FBRUQsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUM7WUFFbkMsT0FBTztTQUNWO1FBRUQsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsRSxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQztJQUM3QixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQWdCO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZUFBZTtZQUMxQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDO1lBQzlFLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFFN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFFNUIsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQUU7WUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzdFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBRWxCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDVixJQUFJLENBQUMsS0FBSyxHQUFHLGlCQUFpQixDQUFDO1lBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUMxQztJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFhO1FBQzNCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsTUFBTSxXQUFXLEdBQUcsUUFBUSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsSUFBSSxZQUFZLEdBQ1osSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUM7WUFDbEUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFWixNQUFNLFFBQVEsR0FBRyxXQUFXO1lBQ3hCLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNqRCxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRVQsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQzNDLFlBQVksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1NBQ2xDO1FBRUQsT0FBTyxDQUNILElBQUksQ0FBQyxjQUFjO1lBQ25CLGVBQWUsQ0FBQyxLQUFLLGtDQUNkLElBQUksQ0FBQyxZQUFZLEtBQ3BCLFlBQVksSUFDZCxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDO1lBQ25DLElBQUksQ0FBQyxlQUFlLENBQ3ZCLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBWSx3QkFBd0I7UUFDaEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFFakQsT0FBTyxpQkFBaUIsR0FBRyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVztZQUN0QyxDQUFDLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxXQUFXOztRQUNYLE9BQU8sQ0FBQSxNQUFBLElBQUksQ0FBQyxzQkFBc0IsMENBQUUsS0FBSyxLQUFJLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUNqRCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDOUMsQ0FBQztJQUVRLFVBQVUsQ0FBQyxLQUFvQjtRQUNwQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBWSxpQkFBaUI7UUFDekIsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBR08sVUFBVSxDQUFDLEdBQWtCLEVBQUUsR0FBa0I7O1FBQ3JELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FDWCxNQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLDBDQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxtQ0FBSSxHQUFHLG1DQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUN2RSxNQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLDBDQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxtQ0FBSSxHQUFHLG1DQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUMxRSxDQUFDO0lBQ04sQ0FBQztJQUdPLFVBQVUsQ0FBQyxHQUFrQixFQUFFLEdBQWtCOztRQUNyRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQ1gsTUFBQSxNQUFBLE1BQUEsSUFBSSxDQUFDLGdCQUFnQiwwQ0FBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsbUNBQUksR0FBRyxtQ0FBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFDdkUsTUFBQSxNQUFBLE1BQUEsSUFBSSxDQUFDLGdCQUFnQiwwQ0FBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsbUNBQUksR0FBRyxtQ0FBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FDMUUsQ0FBQztJQUNOLENBQUM7SUFHTyxhQUFhLENBQ2pCLFNBQWlCLEVBQ2pCLFdBQXVCLEVBQ3ZCLGdCQUF3QixFQUN4QixpQkFBeUIsRUFDekIsR0FBVyxFQUNYLEdBQVcsRUFDWCxNQUFjLEVBQ2QsT0FBZTtRQUVmLE1BQU0sS0FBd0IsNkJBQTZCLENBQUM7WUFDeEQsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixHQUFHO1lBQ0gsR0FBRztZQUNILE1BQU07WUFDTixPQUFPO1lBQ1AsU0FBUyxFQUFFLFdBQVcsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUNsRCxrQkFBa0IsRUFBRSxXQUFXLEtBQUssUUFBUTtTQUMvQyxDQUFDLEVBVEksRUFBQyxPQUFPLE9BU1osRUFUaUIsT0FBTyxjQUFwQixXQUFxQixDQVN6QixDQUFDO1FBRUgsdUNBQ08sT0FBTyxLQUNWLE9BQU8sRUFBRTtnQkFDTCxHQUFHLE9BQU87Z0JBQ1YsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDdkIsTUFBTSxDQUFDLE1BQU07b0JBQ2IsS0FBSyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTTtpQkFDaEMsQ0FBQzthQUNMLElBQ0g7SUFDTixDQUFDOztxSEFyVFEsdUJBQXVCLGtCQXNDcEIsU0FBUyx5Q0FFVCxpQkFBaUIsYUFHakIsNEJBQTRCLDZCQUU1Qix3QkFBd0IsYUFDeEIsaUJBQWlCLGFBQ2pCLFVBQVUsYUFDVixrQkFBa0IsYUFFbEIsZ0NBQWdDO3lHQWxEbkMsdUJBQXVCLGtVQU5yQjtRQUNQLDBCQUEwQixDQUFDLHVCQUF1QixDQUFDO1FBQ25ELFlBQVksQ0FBQyx1QkFBdUIsQ0FBQztRQUNyQyw2QkFBNkI7S0FDaEMsbUVBa0NnQiwyQkFBMkIsMkZBNUJqQyw4QkFBOEIsdUVDNUU3Qyw0K0RBeUVBO0FEcVFJO0lBREMsT0FBTzt5REFNUDtBQUdEO0lBREMsT0FBTzt5REFNUDtBQUdEO0lBREMsT0FBTzs0REFnQ1A7NEZBclRRLHVCQUF1QjtrQkFYbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixXQUFXLEVBQUUsOEJBQThCO29CQUMzQyxTQUFTLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDeEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDUCwwQkFBMEIseUJBQXlCO3dCQUNuRCxZQUFZLHlCQUF5Qjt3QkFDckMsNkJBQTZCO3FCQUNoQztpQkFDSjs7MEJBcUNRLFFBQVE7OzBCQUNSLElBQUk7OzBCQUNKLE1BQU07MkJBQUMsU0FBUzs7MEJBRWhCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFFeEIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyw0QkFBNEI7OzBCQUVuQyxNQUFNOzJCQUFDLHdCQUF3Qjs7MEJBQy9CLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUV6QixNQUFNOzJCQUFDLGdDQUFnQzs0Q0E3QzNCLFNBQVM7c0JBRHpCLFNBQVM7dUJBQUMsOEJBQThCO2dCQU16QyxHQUFHO3NCQURGLEtBQUs7Z0JBSU4sR0FBRztzQkFERixLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUtOLE1BQU07c0JBREwsS0FBSztnQkFLTixPQUFPO3NCQUROLEtBQUs7Z0JBSUcsd0JBQXdCO3NCQURoQyxlQUFlO3VCQUFDLDJCQUEyQixFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQztnQkF5QjdELElBQUk7c0JBRFAsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBdUY3QixPQUFPO3NCQUZOLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxPQUFPLENBQUM7O3NCQUMzQyxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDO2dCQXdIakMsVUFBVSxNQVFWLFVBQVUsTUFRVixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hc2tpdG9PcHRpb25zfSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7XG4gICAgbWFza2l0b0NhcmV0R3VhcmQsXG4gICAgbWFza2l0b051bWJlck9wdGlvbnNHZW5lcmF0b3IsXG4gICAgbWFza2l0b1BhcnNlTnVtYmVyLFxufSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBBYnN0cmFjdFR1aVZhbHVlVHJhbnNmb3JtZXIsXG4gICAgQ0hBUl9IWVBIRU4sXG4gICAgQ0hBUl9NSU5VUyxcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBUVUlfSVNfSU9TLFxuICAgIHR1aUFzQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0dWlDbGFtcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpSW5wdXRNb2RlLFxuICAgIHR1aVB1cmUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfTlVNQkVSX0ZPUk1BVCxcbiAgICBUVUlfVEVYVEZJRUxEX1NJWkUsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpRGVjaW1hbCxcbiAgICB0dWlGb3JtYXROdW1iZXIsXG4gICAgdHVpR2V0RnJhY3Rpb25QYXJ0UGFkZGVkLFxuICAgIFR1aU51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgIFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0RGlyZWN0aXZlfSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUywgVHVpSW5wdXROdW1iZXJPcHRpb25zfSBmcm9tICcuL2lucHV0LW51bWJlci5vcHRpb25zJztcblxuY29uc3QgREVGQVVMVF9NQVhfTEVOR1RIID0gMTg7XG5cbmV4cG9ydCBjb25zdCBUVUlfTlVNQkVSX1ZBTFVFX1RSQU5TRk9STUVSID0gbmV3IEluamVjdGlvblRva2VuPFxuICAgIEFic3RyYWN0VHVpVmFsdWVUcmFuc2Zvcm1lcjxudW1iZXIgfCBudWxsPlxuPignJyk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LW51bWJlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LW51bWJlci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1udW1iZXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlJbnB1dE51bWJlckNvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dE51bWJlckNvbXBvbmVudCksXG4gICAgICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0TnVtYmVyQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgdW5maW5pc2hlZFZhbHVlOiBzdHJpbmcgfCBudWxsID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIG1pbjogbnVtYmVyIHwgbnVsbCA9IHRoaXMub3B0aW9ucy5taW47XG5cbiAgICBASW5wdXQoKVxuICAgIG1heDogbnVtYmVyIHwgbnVsbCA9IHRoaXMub3B0aW9ucy5tYXg7XG5cbiAgICBASW5wdXQoKVxuICAgIGRlY2ltYWwgPSB0aGlzLm9wdGlvbnMuZGVjaW1hbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHJlY2lzaW9uID0gdGhpcy5vcHRpb25zLnByZWNpc2lvbjtcblxuICAgIEBJbnB1dCgpXG4gICAgc3RlcCA9IHRoaXMub3B0aW9ucy5zdGVwO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkUHJlZml4YCBmcm9tIHtAbGluayBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlfSBpbnN0ZWFkICovXG4gICAgQElucHV0KClcbiAgICBwcmVmaXggPSAnJztcblxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgYHR1aVRleHRmaWVsZFBvc3RmaXhgIGZyb20ge0BsaW5rIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGV9IGluc3RlYWQgKi9cbiAgICBASW5wdXQoKVxuICAgIHBvc3RmaXggPSAnJztcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUG9seW1vcnBoZXVzT3V0bGV0RGlyZWN0aXZlLCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHJlYWRvbmx5IHBvbHltb3JwaGV1c1ZhbHVlQ29udGVudDogUXVlcnlMaXN0PHVua25vd24+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZilcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfTlVNQkVSX1ZBTFVFX1RSQU5TRk9STUVSKVxuICAgICAgICB0cmFuc2Zvcm1lcjogQWJzdHJhY3RUdWlWYWx1ZVRyYW5zZm9ybWVyPG51bWJlciB8IG51bGw+LFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUykgcmVhZG9ubHkgb3B0aW9uczogVHVpSW5wdXROdW1iZXJPcHRpb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKSBwcml2YXRlIHJlYWRvbmx5IG51bWJlckZvcm1hdDogVHVpTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0lPUykgcHJpdmF0ZSByZWFkb25seSBpc0lPUzogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1NJWkUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkU2l6ZTogVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbGxlcjogVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2RyLCB0cmFuc2Zvcm1lcik7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZFNpemUuc2l6ZTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNaW4oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZU1pbih0aGlzLm1pbiwgdGhpcy5tYXgpO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZE1heCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlTWF4KHRoaXMubWluLCB0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMudGV4dGZpZWxkIHx8IHRoaXMuY29tcHV0ZWREaXNhYmxlZFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkPy5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBpc05lZ2F0aXZlQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWRNaW4gPCAwO1xuICAgIH1cblxuICAgIGdldCBpbnB1dE1vZGUoKTogVHVpSW5wdXRNb2RlIHtcbiAgICAgICAgaWYgKHRoaXMuaXNJT1MgJiYgdGhpcy5pc05lZ2F0aXZlQWxsb3dlZCkge1xuICAgICAgICAgICAgLy8gaVBob25lIGRvZXMgbm90IGhhdmUgbWludXMgc2lnbiBpZiBpbnB1dE1vZGUgaXMgZXF1YWwgdG8gJ251bWVyaWMnIC8gJ2RlY2ltYWwnXG4gICAgICAgICAgICByZXR1cm4gJ3RleHQnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZGVjaW1hbCA9PT0gJ25ldmVyJyA/ICdudW1lcmljJyA6ICdkZWNpbWFsJztcbiAgICB9XG5cbiAgICBnZXQgY2FsY3VsYXRlZE1heExlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBkZWNpbWFsUGFydCA9XG4gICAgICAgICAgICB0aGlzLmRlY2ltYWwgIT09ICduZXZlcicgJiZcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUuaW5jbHVkZXModGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcik7XG4gICAgICAgIGNvbnN0IHByZWNpc2lvbiA9IGRlY2ltYWxQYXJ0ID8gTWF0aC5taW4odGhpcy5wcmVjaXNpb24gKyAxLCAyMCkgOiAwO1xuICAgICAgICBjb25zdCB0YWtlVGhvdXNhbmQgPSB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvci5yZXBlYXQoNSkubGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiBERUZBVUxUX01BWF9MRU5HVEggKyBwcmVjaXNpb24gKyB0YWtlVGhvdXNhbmQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvcm1hdHRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICE9PSBudWxsID8gdGhpcy5nZXRGb3JtYXR0ZWRWYWx1ZSh0aGlzLnZhbHVlIHx8IDApIDogJyc7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNlZCA/IHRoaXMubmF0aXZlVmFsdWUgOiB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIGdldCBjYW5EZWNyZW1lbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVyYWN0aXZlICYmICh0aGlzLnZhbHVlIHx8IDApID4gdGhpcy5jb21wdXRlZE1pbjtcbiAgICB9XG5cbiAgICBnZXQgY2FuSW5jcmVtZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSAmJiAodGhpcy52YWx1ZSB8fCAwKSA8IHRoaXMuY29tcHV0ZWRNYXg7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkUHJlZml4KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZWZpeCB8fCB0aGlzLmNvbnRyb2xsZXIucHJlZml4O1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFBvc3RmaXgoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgcG9zdGZpeCA9IHRoaXMucG9zdGZpeCB8fCB0aGlzLmNvbnRyb2xsZXIucG9zdGZpeDtcblxuICAgICAgICByZXR1cm4gcG9zdGZpeCAmJiBgICR7cG9zdGZpeH1gO1xuICAgIH1cblxuICAgIGdldCBtYXNrKCk6IE1hc2tpdG9PcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlTWFzayhcbiAgICAgICAgICAgIHRoaXMucHJlY2lzaW9uLFxuICAgICAgICAgICAgdGhpcy5kZWNpbWFsLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZE1pbixcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRNYXgsXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkUHJlZml4LFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZFBvc3RmaXgsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd0Rvd24nLCBbJy1zdGVwJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd1VwJywgWydzdGVwJ10pXG4gICAgb25BcnJvdyhzdGVwOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmICghc3RlcCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IHR1aUNsYW1wKFxuICAgICAgICAgICAgKHRoaXMudmFsdWUgfHwgMCkgKyBzdGVwLFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZE1pbixcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRNYXgsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UobmF0aXZlVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IG1hc2tpdG9QYXJzZU51bWJlcihcbiAgICAgICAgICAgIG5hdGl2ZVZhbHVlLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnVuZmluaXNoZWRWYWx1ZSA9IG51bGw7XG5cbiAgICAgICAgaWYgKE51bWJlci5pc05hTihwYXJzZWRWYWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc05hdGl2ZVZhbHVlTm90RmluaXNoZWQpIHtcbiAgICAgICAgICAgIHRoaXMudW5maW5pc2hlZFZhbHVlID0gbmF0aXZlVmFsdWU7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJzZWRWYWx1ZSA8IHRoaXMuY29tcHV0ZWRNaW4gfHwgcGFyc2VkVmFsdWUgPiB0aGlzLmNvbXB1dGVkTWF4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gcGFyc2VkVmFsdWU7XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGNvbnN0IG5hdGl2ZU51bWJlclZhbHVlID0gdGhpcy51bmZpbmlzaGVkVmFsdWVcbiAgICAgICAgICAgID8gbWFza2l0b1BhcnNlTnVtYmVyKHRoaXMudW5maW5pc2hlZFZhbHVlLCB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yKVxuICAgICAgICAgICAgOiB0aGlzLm5hdGl2ZU51bWJlclZhbHVlO1xuXG4gICAgICAgIHRoaXMudW5maW5pc2hlZFZhbHVlID0gbnVsbDtcblxuICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKG5hdGl2ZU51bWJlclZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IGZvY3VzZWQgPyB0aGlzLmNvbXB1dGVkUHJlZml4ICsgdGhpcy5jb21wdXRlZFBvc3RmaXggOiAnJztcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuYXRpdmVOdW1iZXJWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Rm9ybWF0dGVkVmFsdWUodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGFic1ZhbHVlID0gTWF0aC5hYnModmFsdWUpO1xuICAgICAgICBjb25zdCBoYXNGcmFjdGlvbiA9IGFic1ZhbHVlICUgMSA+IDA7XG4gICAgICAgIGxldCBkZWNpbWFsTGltaXQgPVxuICAgICAgICAgICAgdGhpcy5kZWNpbWFsID09PSAnYWx3YXlzJyB8fCAoaGFzRnJhY3Rpb24gJiYgdGhpcy5kZWNpbWFsICE9PSAnbmV2ZXInKVxuICAgICAgICAgICAgICAgID8gdGhpcy5wcmVjaXNpb25cbiAgICAgICAgICAgICAgICA6IDA7XG5cbiAgICAgICAgY29uc3QgZnJhY3Rpb24gPSBoYXNGcmFjdGlvblxuICAgICAgICAgICAgPyB0dWlHZXRGcmFjdGlvblBhcnRQYWRkZWQodmFsdWUsIHRoaXMucHJlY2lzaW9uKVxuICAgICAgICAgICAgOiAnJztcblxuICAgICAgICBpZiAodGhpcy5mb2N1c2VkICYmIHRoaXMuZGVjaW1hbCAhPT0gJ2Fsd2F5cycpIHtcbiAgICAgICAgICAgIGRlY2ltYWxMaW1pdCA9IGZyYWN0aW9uLmxlbmd0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkUHJlZml4ICtcbiAgICAgICAgICAgIHR1aUZvcm1hdE51bWJlcih2YWx1ZSwge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMubnVtYmVyRm9ybWF0LFxuICAgICAgICAgICAgICAgIGRlY2ltYWxMaW1pdCxcbiAgICAgICAgICAgIH0pLnJlcGxhY2UoQ0hBUl9IWVBIRU4sIENIQVJfTUlOVVMpICtcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRQb3N0Zml4XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNOYXRpdmVWYWx1ZU5vdEZpbmlzaGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBuYXRpdmVOdW1iZXJWYWx1ZSA9IHRoaXMubmF0aXZlTnVtYmVyVmFsdWU7XG5cbiAgICAgICAgcmV0dXJuIG5hdGl2ZU51bWJlclZhbHVlIDwgMFxuICAgICAgICAgICAgPyBuYXRpdmVOdW1iZXJWYWx1ZSA+IHRoaXMuY29tcHV0ZWRNYXhcbiAgICAgICAgICAgIDogbmF0aXZlTnVtYmVyVmFsdWUgPCB0aGlzLmNvbXB1dGVkTWluO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50Py52YWx1ZSB8fCAnJztcbiAgICB9XG5cbiAgICBzZXQgbmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMudGV4dGZpZWxkIHx8ICF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG5hdGl2ZU51bWJlclZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBtYXNraXRvUGFyc2VOdW1iZXIodGhpcy5uYXRpdmVWYWx1ZSwgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcik7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNvbXB1dGVNaW4obWluOiBudW1iZXIgfCBudWxsLCBtYXg6IG51bWJlciB8IG51bGwpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5taW4oXG4gICAgICAgICAgICB0aGlzLnZhbHVlVHJhbnNmb3JtZXI/LmZyb21Db250cm9sVmFsdWUobWluKSA/PyBtaW4gPz8gdGhpcy5vcHRpb25zLm1pbixcbiAgICAgICAgICAgIHRoaXMudmFsdWVUcmFuc2Zvcm1lcj8uZnJvbUNvbnRyb2xWYWx1ZShtYXgpID8/IG1heCA/PyB0aGlzLm9wdGlvbnMubWF4LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjb21wdXRlTWF4KG1pbjogbnVtYmVyIHwgbnVsbCwgbWF4OiBudW1iZXIgfCBudWxsKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KFxuICAgICAgICAgICAgdGhpcy52YWx1ZVRyYW5zZm9ybWVyPy5mcm9tQ29udHJvbFZhbHVlKG1pbikgPz8gbWluID8/IHRoaXMub3B0aW9ucy5taW4sXG4gICAgICAgICAgICB0aGlzLnZhbHVlVHJhbnNmb3JtZXI/LmZyb21Db250cm9sVmFsdWUobWF4KSA/PyBtYXggPz8gdGhpcy5vcHRpb25zLm1heCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY2FsY3VsYXRlTWFzayhcbiAgICAgICAgcHJlY2lzaW9uOiBudW1iZXIsXG4gICAgICAgIGRlY2ltYWxNb2RlOiBUdWlEZWNpbWFsLFxuICAgICAgICBkZWNpbWFsU2VwYXJhdG9yOiBzdHJpbmcsXG4gICAgICAgIHRob3VzYW5kU2VwYXJhdG9yOiBzdHJpbmcsXG4gICAgICAgIG1pbjogbnVtYmVyLFxuICAgICAgICBtYXg6IG51bWJlcixcbiAgICAgICAgcHJlZml4OiBzdHJpbmcsXG4gICAgICAgIHBvc3RmaXg6IHN0cmluZyxcbiAgICApOiBNYXNraXRvT3B0aW9ucyB7XG4gICAgICAgIGNvbnN0IHtwbHVnaW5zLCAuLi5vcHRpb25zfSA9IG1hc2tpdG9OdW1iZXJPcHRpb25zR2VuZXJhdG9yKHtcbiAgICAgICAgICAgIGRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgIG1pbixcbiAgICAgICAgICAgIG1heCxcbiAgICAgICAgICAgIHByZWZpeCxcbiAgICAgICAgICAgIHBvc3RmaXgsXG4gICAgICAgICAgICBwcmVjaXNpb246IGRlY2ltYWxNb2RlID09PSAnbmV2ZXInID8gMCA6IHByZWNpc2lvbixcbiAgICAgICAgICAgIGRlY2ltYWxaZXJvUGFkZGluZzogZGVjaW1hbE1vZGUgPT09ICdhbHdheXMnLFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAgICAgICAuLi5wbHVnaW5zLFxuICAgICAgICAgICAgICAgIG1hc2tpdG9DYXJldEd1YXJkKHZhbHVlID0+IFtcbiAgICAgICAgICAgICAgICAgICAgcHJlZml4Lmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUubGVuZ3RoIC0gcG9zdGZpeC5sZW5ndGgsXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICBdLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiIsIjx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICN0ZXh0ZmllbGRcbiAgICB0dWlUZXh0ZmllbGRQb3N0Zml4PVwiXCJcbiAgICB0dWlUZXh0ZmllbGRQcmVmaXg9XCJcIlxuICAgIHR1aVZhbHVlQWNjZXNzb3JcbiAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgW2ZvY3VzYWJsZV09XCJmb2N1c2FibGVcIlxuICAgIFtpbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgW21hc2tpdG9dPVwibWFza1wiXG4gICAgW3BzZXVkb0FjdGl2ZV09XCJwc2V1ZG9BY3RpdmVcIlxuICAgIFtwc2V1ZG9Gb2N1c109XCJjb21wdXRlZEZvY3VzZWRcIlxuICAgIFtwc2V1ZG9Ib3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICBbdmFsdWVdPVwiY29tcHV0ZWRWYWx1ZVwiXG4gICAgKGZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudFxuICAgICAgICBuZ1Byb2plY3RBcz1cImlucHV0XCJcbiAgICAgICAgc2VsZWN0PVwiaW5wdXRcIlxuICAgID48L25nLWNvbnRlbnQ+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cInBvbHltb3JwaGV1c1ZhbHVlQ29udGVudC5sZW5ndGhcIlxuICAgICAgICBuZ1Byb2plY3RBcz1cInR1aUNvbnRlbnRcIlxuICAgICAgICBjbGFzcz1cInQtdmFsdWUtY29udGVudFwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJ2YWx1ZUNvbnRlbnQgYXMgdGV4dFwiPlxuICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG5cbjxzZWN0aW9uXG4gICAgKm5nSWY9XCJzdGVwXCJcbiAgICBjbGFzcz1cInQtYnV0dG9uc1wiXG4+XG4gICAgPGJ1dHRvblxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgICAgICBbYXBwZWFyYW5jZV09XCJ0ZXh0ZmllbGQuYXBwZWFyYW5jZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhY2FuSW5jcmVtZW50XCJcbiAgICAgICAgW2ZvY3VzYWJsZV09XCJmYWxzZVwiXG4gICAgICAgIFtpY29uXT1cIm9wdGlvbnMuaWNvbnMudXBcIlxuICAgICAgICAoY2xpY2sucHJldmVudCk9XCJvbkFycm93KHN0ZXApXCJcbiAgICAgICAgKG1vdXNlZG93bi5wcmV2ZW50KT1cIm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LmZvY3VzKClcIlxuICAgID5cbiAgICAgICAgK1xuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgW2FwcGVhcmFuY2VdPVwidGV4dGZpZWxkLmFwcGVhcmFuY2VcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkRlY3JlbWVudFwiXG4gICAgICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICBbaWNvbl09XCJvcHRpb25zLmljb25zLmRvd25cIlxuICAgICAgICAoY2xpY2sucHJldmVudCk9XCJvbkFycm93KC1zdGVwKVwiXG4gICAgICAgIChtb3VzZWRvd24ucHJldmVudCk9XCJuYXRpdmVGb2N1c2FibGVFbGVtZW50Py5mb2N1cygpXCJcbiAgICA+XG4gICAgICAgIC1cbiAgICA8L2J1dHRvbj5cbjwvc2VjdGlvbj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInBvbHltb3JwaGV1c1ZhbHVlQ29udGVudC5jaGFuZ2VzIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICN2YWx1ZUNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpQ29udGVudFwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -37,7 +37,8 @@ export class TuiInputPasswordComponent extends AbstractTuiControl {
37
37
  : this.textfield.nativeFocusableElement;
38
38
  }
39
39
  get focused() {
40
- return !!this.textfield && this.textfield.focused;
40
+ var _a;
41
+ return !!((_a = this.textfield) === null || _a === void 0 ? void 0 : _a.focused);
41
42
  }
42
43
  get icon() {
43
44
  return this.isPasswordHidden ? this.options.icons.hide : this.options.icons.show;
@@ -111,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
111
112
  type: HostBinding,
112
113
  args: ['attr.data-size']
113
114
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGFzc3dvcmQvaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGFzc3dvcmQvaW5wdXQtcGFzc3dvcmQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILGtCQUFrQixFQUNsQixZQUFZLEVBQ1osMEJBQTBCLEdBSzdCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2IsUUFBUSxFQUNSLGtCQUFrQixFQUVsQix1QkFBdUIsRUFDdkIsOEJBQThCLEdBSWpDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxFQUFDLGFBQWEsRUFBRSxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQ0gsMEJBQTBCLEdBRTdCLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFhbEMsTUFBTSxPQUFPLHlCQUNULFNBQVEsa0JBQTBCO0lBdUJsQyxZQUlJLE9BQXlCLEVBQ0UsR0FBc0IsRUFFaEMsYUFBd0MsRUFFaEQsY0FBNEMsRUFFNUMsT0FBZ0MsRUFHaEMsV0FBMkMs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O1FBQ3ZDLGFBQWE7S0FDaEIscUVBTVUsOEJBQThCLHVFQ3hEN0MsOCtDQStDQTs0RkRLYSx5QkFBeUI7a0JBWHJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzFDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1AsMEJBQTBCLDJCQUEyQjt3QkFDckQsWUFBWSwyQkFBMkI7d0JBQ3ZDLGFBQWE7cUJBQ2hCO2lCQUNKOzswQkEwQlEsUUFBUTs7MEJBQ1IsSUFBSTs7MEJBQ0osTUFBTTsyQkFBQyxTQUFTOzswQkFFaEIsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLGtCQUFrQjs7MEJBRXpCLE1BQU07MkJBQUMsa0JBQWtCOzswQkFFekIsTUFBTTsyQkFBQywwQkFBMEI7OzBCQUVqQyxRQUFROzswQkFDUixNQUFNOzJCQUFDLHVCQUF1Qjs7MEJBRTlCLE1BQU07MkJBQUMsUUFBUTs0Q0FsQ0gsU0FBUztzQkFEekIsU0FBUzt1QkFBQyw4QkFBOEI7Z0JBMENyQyxJQUFJO3NCQURQLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpSW5wdXRUeXBlLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBNT0RFX1BST1ZJREVSLFxuICAgIFRVSV9NT0RFLFxuICAgIFRVSV9URVhURklFTERfU0laRSxcbiAgICBUdWlCcmlnaHRuZXNzLFxuICAgIFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1RVSV9QQVNTV09SRF9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBFTVBUWSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3RhcnRXaXRofSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gICAgVFVJX0lOUFVUX1BBU1NXT1JEX09QVElPTlMsXG4gICAgVHVpSW5wdXRQYXNzd29yZE9wdGlvbnMsXG59IGZyb20gJy4vaW5wdXQtcGFzc3dvcmQub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXBhc3N3b3JkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcGFzc3dvcmQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcGFzc3dvcmQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlJbnB1dFBhc3N3b3JkQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0UGFzc3dvcmRDb21wb25lbnQpLFxuICAgICAgICBNT0RFX1BST1ZJREVSLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0UGFzc3dvcmRDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbDxzdHJpbmc+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlyZWN0aXZlJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5oaW50T3B0aW9ucz8uY2hhbmdlJCB8fCBFTVBUWTtcblxuICAgIGlzUGFzc3dvcmRIaWRkZW4gPSB0cnVlO1xuXG4gICAgcmVhZG9ubHkgY29tcHV0ZWRBcHBlYXJhbmNlJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMubW9kZSQucGlwZShtYXAodmFsID0+ICh2YWwgPT09ICdvbkRhcmsnID8gJ29uRGFyaycgOiAnJykpKSxcbiAgICAgICAgdGhpcy5kaXJlY3RpdmUkLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5oaW50T3B0aW9ucz8uYXBwZWFyYW5jZSB8fCAnJyksXG4gICAgICAgICksXG4gICAgXSkucGlwZShcbiAgICAgICAgbWFwKChbbW9kZSwgY29udHJvbGxlcl0pID0+IGNvbnRyb2xsZXIgfHwgbW9kZSksXG4gICAgICAgIHN0YXJ0V2l0aCgnJyksXG4gICAgKTtcblxuICAgIHJlYWRvbmx5IHR5cGUhOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aVNpemVMIHwgVHVpU2l6ZVM+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemU6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1BBU1NXT1JEX1RFWFRTKVxuICAgICAgICByZWFkb25seSBwYXNzd29yZFRleHRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfUEFTU1dPUkRfT1BUSU9OUylcbiAgICAgICAgcmVhZG9ubHkgb3B0aW9uczogVHVpSW5wdXRQYXNzd29yZE9wdGlvbnMsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpSGludE9wdGlvbnNEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IGhpbnRPcHRpb25zOiBUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjZHIpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIGdldCBzaXplKCk6IFR1aVNpemVMIHwgVHVpU2l6ZVMge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGRTaXplLnNpemU7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlZERpc2FibGVkIHx8ICF0aGlzLnRleHRmaWVsZFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkICYmIHRoaXMudGV4dGZpZWxkLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGljb24oKTogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aVNpemVMIHwgVHVpU2l6ZVM+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzUGFzc3dvcmRIaWRkZW4gPyB0aGlzLm9wdGlvbnMuaWNvbnMuaGlkZSA6IHRoaXMub3B0aW9ucy5pY29ucy5zaG93O1xuICAgIH1cblxuICAgIGdldCBpbnB1dFR5cGUoKTogVHVpSW5wdXRUeXBlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNQYXNzd29yZEhpZGRlbiB8fCAhdGhpcy5pbnRlcmFjdGl2ZSA/ICdwYXNzd29yZCcgOiAndGV4dCc7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh0ZXh0VmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdGV4dFZhbHVlO1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNQYXNzd29yZEhpZGRlbiA9ICF0aGlzLmlzUGFzc3dvcmRIaWRkZW47XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbn1cbiIsIjx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgIGNsYXNzPVwidC10ZXh0ZmllbGRcIlxuICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICBbZm9jdXNhYmxlXT1cImZvY3VzYWJsZVwiXG4gICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICBbbmF0aXZlSWRdPVwibmF0aXZlSWRcIlxuICAgIFtwc2V1ZG9BY3RpdmVdPVwicHNldWRvQWN0aXZlXCJcbiAgICBbcHNldWRvRm9jdXNdPVwicHNldWRvRm9jdXNcIlxuICAgIFtwc2V1ZG9Ib3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICBbdHVpVGV4dGZpZWxkSWNvbl09XCJpbnRlcmFjdGl2ZSA/IGljb25Db250ZW50IDogJydcIlxuICAgIFsodmFsdWUpXT1cInZhbHVlXCJcbiAgICAoZm9jdXNlZENoYW5nZSk9XCJvbkZvY3VzZWQoJGV2ZW50KVwiXG4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50XG4gICAgICAgIG5nUHJvamVjdEFzPVwiaW5wdXRcIlxuICAgICAgICBzZWxlY3Q9XCJpbnB1dFwiXG4gICAgPjwvbmctY29udGVudD5cbjwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG5cbjxuZy10ZW1wbGF0ZVxuICAgICNpY29uQ29udGVudD1cInBvbHltb3JwaGV1c1wiXG4gICAgW3BvbHltb3JwaGV1c109XCJ0eXBlXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFzc3dvcmRUZXh0cyQgfCBhc3luYyBhcyB0ZXh0c1wiPlxuICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImljb24gYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBzaXplfVwiXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXBhc3N3b3JkX19pY29uXCJcbiAgICAgICAgICAgIHR1aVdyYXBwZXJcbiAgICAgICAgICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICAgICAgICAgIFtzcmNdPVwic3JjXCJcbiAgICAgICAgICAgIFt0dWlIaW50XT1cInRleHRzWzBdICYmIHRleHRzWzFdICYmIGhpbnRDb250ZW50XCJcbiAgICAgICAgICAgIFt0dWlIaW50QXBwZWFyYW5jZV09XCIoY29tcHV0ZWRBcHBlYXJhbmNlJCB8IGFzeW5jKSB8fCAnJ1wiXG4gICAgICAgICAgICBbdHVpSGludERpcmVjdGlvbl09XCJoaW50T3B0aW9ucz8uZGlyZWN0aW9uIHx8ICdib3R0b20tbGVmdCdcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eSgpXCJcbiAgICAgICAgPjwvdHVpLXN2Zz5cblxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICNoaW50Q29udGVudD1cInBvbHltb3JwaGV1c1wiXG4gICAgICAgICAgICBwb2x5bW9ycGhldXNcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgaXNQYXNzd29yZEhpZGRlbiA/IHRleHRzWzBdIDogdGV4dHNbMV0gfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGFzc3dvcmQvaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGFzc3dvcmQvaW5wdXQtcGFzc3dvcmQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILGtCQUFrQixFQUNsQixZQUFZLEVBQ1osMEJBQTBCLEdBSzdCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2IsUUFBUSxFQUNSLGtCQUFrQixFQUVsQix1QkFBdUIsRUFDdkIsOEJBQThCLEdBSWpDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxFQUFDLGFBQWEsRUFBRSxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQ0gsMEJBQTBCLEdBRTdCLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFhbEMsTUFBTSxPQUFPLHlCQUNULFNBQVEsa0JBQTBCO0lBdUJsQyxZQUlJLE9BQXlCLEVBQ0UsR0FBc0IsRUFFaEMsYUFBd0MsRUFFaEQsY0FBNEMsRUFFNUMsT0FBZ0MsRUFHaEMsV0FBMkMs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Q3ZDLGFBQWE7S0FDaEIscUVBTVUsOEJBQThCLHVFQ3hEN0MsOCtDQStDQTs0RkRLYSx5QkFBeUI7a0JBWHJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzFDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1AsMEJBQTBCLDJCQUEyQjt3QkFDckQsWUFBWSwyQkFBMkI7d0JBQ3ZDLGFBQWE7cUJBQ2hCO2lCQUNKOzswQkEwQlEsUUFBUTs7MEJBQ1IsSUFBSTs7MEJBQ0osTUFBTTsyQkFBQyxTQUFTOzswQkFFaEIsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLGtCQUFrQjs7MEJBRXpCLE1BQU07MkJBQUMsa0JBQWtCOzswQkFFekIsTUFBTTsyQkFBQywwQkFBMEI7OzBCQUVqQyxRQUFROzswQkFDUixNQUFNOzJCQUFDLHVCQUF1Qjs7MEJBRTlCLE1BQU07MkJBQUMsUUFBUTs0Q0FsQ0gsU0FBUztzQkFEekIsU0FBUzt1QkFBQyw4QkFBOEI7Z0JBMENyQyxJQUFJO3NCQURQLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpSW5wdXRUeXBlLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBNT0RFX1BST1ZJREVSLFxuICAgIFRVSV9NT0RFLFxuICAgIFRVSV9URVhURklFTERfU0laRSxcbiAgICBUdWlCcmlnaHRuZXNzLFxuICAgIFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1RVSV9QQVNTV09SRF9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBFTVBUWSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3RhcnRXaXRofSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gICAgVFVJX0lOUFVUX1BBU1NXT1JEX09QVElPTlMsXG4gICAgVHVpSW5wdXRQYXNzd29yZE9wdGlvbnMsXG59IGZyb20gJy4vaW5wdXQtcGFzc3dvcmQub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXBhc3N3b3JkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcGFzc3dvcmQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcGFzc3dvcmQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlJbnB1dFBhc3N3b3JkQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0UGFzc3dvcmRDb21wb25lbnQpLFxuICAgICAgICBNT0RFX1BST1ZJREVSLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0UGFzc3dvcmRDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbDxzdHJpbmc+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlyZWN0aXZlJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5oaW50T3B0aW9ucz8uY2hhbmdlJCB8fCBFTVBUWTtcblxuICAgIGlzUGFzc3dvcmRIaWRkZW4gPSB0cnVlO1xuXG4gICAgcmVhZG9ubHkgY29tcHV0ZWRBcHBlYXJhbmNlJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMubW9kZSQucGlwZShtYXAodmFsID0+ICh2YWwgPT09ICdvbkRhcmsnID8gJ29uRGFyaycgOiAnJykpKSxcbiAgICAgICAgdGhpcy5kaXJlY3RpdmUkLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5oaW50T3B0aW9ucz8uYXBwZWFyYW5jZSB8fCAnJyksXG4gICAgICAgICksXG4gICAgXSkucGlwZShcbiAgICAgICAgbWFwKChbbW9kZSwgY29udHJvbGxlcl0pID0+IGNvbnRyb2xsZXIgfHwgbW9kZSksXG4gICAgICAgIHN0YXJ0V2l0aCgnJyksXG4gICAgKTtcblxuICAgIHJlYWRvbmx5IHR5cGUhOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aVNpemVMIHwgVHVpU2l6ZVM+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemU6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1BBU1NXT1JEX1RFWFRTKVxuICAgICAgICByZWFkb25seSBwYXNzd29yZFRleHRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfUEFTU1dPUkRfT1BUSU9OUylcbiAgICAgICAgcmVhZG9ubHkgb3B0aW9uczogVHVpSW5wdXRQYXNzd29yZE9wdGlvbnMsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpSGludE9wdGlvbnNEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IGhpbnRPcHRpb25zOiBUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjZHIpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIGdldCBzaXplKCk6IFR1aVNpemVMIHwgVHVpU2l6ZVMge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGRTaXplLnNpemU7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlZERpc2FibGVkIHx8ICF0aGlzLnRleHRmaWVsZFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkPy5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBpY29uKCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlTaXplTCB8IFR1aVNpemVTPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1Bhc3N3b3JkSGlkZGVuID8gdGhpcy5vcHRpb25zLmljb25zLmhpZGUgOiB0aGlzLm9wdGlvbnMuaWNvbnMuc2hvdztcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRUeXBlKCk6IFR1aUlucHV0VHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzUGFzc3dvcmRIaWRkZW4gfHwgIXRoaXMuaW50ZXJhY3RpdmUgPyAncGFzc3dvcmQnIDogJ3RleHQnO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodGV4dFZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRleHRWYWx1ZTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlUGFzc3dvcmRWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzUGFzc3dvcmRIaWRkZW4gPSAhdGhpcy5pc1Bhc3N3b3JkSGlkZGVuO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGYWxsYmFja1ZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG59XG4iLCI8dHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRcbiAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgW2ZvY3VzYWJsZV09XCJmb2N1c2FibGVcIlxuICAgIFtpbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgW25hdGl2ZUlkXT1cIm5hdGl2ZUlkXCJcbiAgICBbcHNldWRvQWN0aXZlXT1cInBzZXVkb0FjdGl2ZVwiXG4gICAgW3BzZXVkb0ZvY3VzXT1cInBzZXVkb0ZvY3VzXCJcbiAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgW3R1aVRleHRmaWVsZEljb25dPVwiaW50ZXJhY3RpdmUgPyBpY29uQ29udGVudCA6ICcnXCJcbiAgICBbKHZhbHVlKV09XCJ2YWx1ZVwiXG4gICAgKGZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudFxuICAgICAgICBuZ1Byb2plY3RBcz1cImlucHV0XCJcbiAgICAgICAgc2VsZWN0PVwiaW5wdXRcIlxuICAgID48L25nLWNvbnRlbnQ+XG48L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuXG48bmctdGVtcGxhdGVcbiAgICAjaWNvbkNvbnRlbnQ9XCJwb2x5bW9ycGhldXNcIlxuICAgIFtwb2x5bW9ycGhldXNdPVwidHlwZVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhc3N3b3JkVGV4dHMkIHwgYXN5bmMgYXMgdGV4dHNcIj5cbiAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpY29uIGFzIHNyYzsgY29udGV4dDogeyRpbXBsaWNpdDogc2l6ZX1cIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wYXNzd29yZF9faWNvblwiXG4gICAgICAgICAgICB0dWlXcmFwcGVyXG4gICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICBbc3JjXT1cInNyY1wiXG4gICAgICAgICAgICBbdHVpSGludF09XCJ0ZXh0c1swXSAmJiB0ZXh0c1sxXSAmJiBoaW50Q29udGVudFwiXG4gICAgICAgICAgICBbdHVpSGludEFwcGVhcmFuY2VdPVwiKGNvbXB1dGVkQXBwZWFyYW5jZSQgfCBhc3luYykgfHwgJydcIlxuICAgICAgICAgICAgW3R1aUhpbnREaXJlY3Rpb25dPVwiaGludE9wdGlvbnM/LmRpcmVjdGlvbiB8fCAnYm90dG9tLWxlZnQnXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkoKVwiXG4gICAgICAgID48L3R1aS1zdmc+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAjaGludENvbnRlbnQ9XCJwb2x5bW9ycGhldXNcIlxuICAgICAgICAgICAgcG9seW1vcnBoZXVzXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IGlzUGFzc3dvcmRIaWRkZW4gPyB0ZXh0c1swXSA6IHRleHRzWzFdIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -117,7 +117,7 @@ TuiInputSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
117
117
  tuiAsControl(TuiInputSliderComponent),
118
118
  tuiSliderOptionsProvider({ trackColor: 'transparent' }),
119
119
  TEXTFIELD_CONTROLLER_PROVIDER,
120
- ], viewQueries: [{ propertyName: "inputNumberRef", first: true, predicate: TuiInputNumberComponent, descendants: true }, { propertyName: "sliderRef", first: true, predicate: TuiSliderComponent, descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<tui-input-number\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"min\"\n [precision]=\"precision\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"showValueContent ? '' : postfix\"\n [tuiTextfieldPrefix]=\"showValueContent ? '' : prefix\"\n [(ngModel)]=\"textfieldValue\"\n (focusedChange)=\"onFocused($event)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showValueContent\"\n automation-id=\"tui-input-slider__value-content\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n</tui-input-number>\n\n<input\n tuiSlider\n type=\"range\"\n [disabled]=\"readOnly || computedDisabled\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"computedSteps\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n [tuiFocusable]=\"false\"\n (click)=\"focusTextInput()\"\n (ngModelChange)=\"onSliderChange($event)\"\n/>\n", styles: [":host{position:relative;z-index:0;display:block;height:-webkit-max-content;height:max-content}input[type=range]{position:absolute;top:100%;left:0;right:0;box-sizing:border-box;padding-left:calc(var(--tui-radius-m) / 2);height:1rem;margin:-.5625rem 0 0;border-top-left-radius:0;border-bottom-left-radius:calc(var(--tui-radius-m) * 5) calc(var(--tui-radius-m) * 1.5)}\n"], components: [{ type: i1.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "decimal", "precision", "step", "prefix", "postfix"] }, { type: i2.TuiSliderComponent, selector: "input[type=range][tuiSlider]", inputs: ["size", "segments"] }], directives: [{ type: i1.TuiInputNumberDirective, selector: "tui-input-number" }, { type: i3.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { type: i3.TuiTextfieldPrefixDirective, selector: "[tuiTextfieldPrefix]", inputs: ["tuiTextfieldPrefix"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2.TuiSliderKeyStepsDirective, selector: "input[tuiSlider][keySteps]", inputs: ["keySteps"] }, { type: i4.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
120
+ ], viewQueries: [{ propertyName: "inputNumberRef", first: true, predicate: TuiInputNumberComponent, descendants: true }, { propertyName: "sliderRef", first: true, predicate: TuiSliderComponent, descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<tui-input-number\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"min\"\n [precision]=\"precision\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"showValueContent ? '' : postfix\"\n [tuiTextfieldPrefix]=\"showValueContent ? '' : prefix\"\n [(ngModel)]=\"textfieldValue\"\n (focusedChange)=\"onFocused($event)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showValueContent\"\n automation-id=\"tui-input-slider__value-content\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n</tui-input-number>\n\n<input\n tuiSlider\n type=\"range\"\n [disabled]=\"readOnly || computedDisabled\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"computedSteps\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n [tuiFocusable]=\"false\"\n (click)=\"focusTextInput()\"\n (ngModelChange)=\"onSliderChange($event)\"\n/>\n", styles: [":host{position:relative;display:block;height:-webkit-max-content;height:max-content;isolation:isolate}input[type=range]{position:absolute;top:100%;left:0;right:0;box-sizing:border-box;padding-left:calc(var(--tui-radius-m) / 2);height:1rem;margin:-.5625rem 0 0;border-top-left-radius:0;border-bottom-left-radius:calc(var(--tui-radius-m) * 5) calc(var(--tui-radius-m) * 1.5)}\n"], components: [{ type: i1.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "decimal", "precision", "step", "prefix", "postfix"] }, { type: i2.TuiSliderComponent, selector: "input[type=range][tuiSlider]", inputs: ["size", "segments"] }], directives: [{ type: i1.TuiInputNumberDirective, selector: "tui-input-number" }, { type: i3.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { type: i3.TuiTextfieldPrefixDirective, selector: "[tuiTextfieldPrefix]", inputs: ["tuiTextfieldPrefix"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2.TuiSliderKeyStepsDirective, selector: "input[tuiSlider][keySteps]", inputs: ["keySteps"] }, { type: i4.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
121
121
  __decorate([
122
122
  tuiPure
123
123
  ], TuiInputSliderComponent.prototype, "computeKeySteps", null);