@alauda/ui 6.4.6-beta.2 → 6.4.6-beta.3

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 (102) hide show
  1. package/alauda-ui.d.ts +0 -3
  2. package/button/button.types.d.ts +0 -9
  3. package/esm2020/accordion/accordion-item/accordion-item.component.mjs +1 -3
  4. package/esm2020/alauda-ui.mjs +1 -4
  5. package/esm2020/anchor/anchor.component.mjs +1 -2
  6. package/esm2020/back-top/back-top.component.mjs +2 -4
  7. package/esm2020/button/button.component.mjs +1 -2
  8. package/esm2020/button/button.types.mjs +1 -10
  9. package/esm2020/date-picker/calendar/constant.mjs +1 -2
  10. package/esm2020/date-picker/calendar/header/component.mjs +1 -5
  11. package/esm2020/date-picker/calendar/panel/picker-panel.mjs +1 -5
  12. package/esm2020/date-picker/calendar/range-picker-panel/component.mjs +1 -3
  13. package/esm2020/date-picker/calendar/util.mjs +1 -2
  14. package/esm2020/dialog/dialog-content/dialog-content.component.mjs +1 -2
  15. package/esm2020/dialog/dialog.component.mjs +2 -2
  16. package/esm2020/dialog/dialog.service.mjs +1 -2
  17. package/esm2020/drawer/component/drawer.component.mjs +1 -4
  18. package/esm2020/drawer/component/helper-directives.mjs +1 -5
  19. package/esm2020/form/common-form.mjs +1 -8
  20. package/esm2020/icon/icon-register.service.mjs +1 -2
  21. package/esm2020/input/autosize.directive.mjs +2 -7
  22. package/esm2020/input/input.component.mjs +1 -5
  23. package/esm2020/input/tags-input/tags-input.component.mjs +2 -7
  24. package/esm2020/message/message.config.mjs +1 -6
  25. package/esm2020/notification/notification.component.mjs +1 -5
  26. package/esm2020/paginator/paginator-intl.mjs +1 -12
  27. package/esm2020/paginator/paginator.component.mjs +1 -9
  28. package/esm2020/radio/radio-button/radio-button.component.mjs +1 -2
  29. package/esm2020/radio/radio-group/radio-group.component.mjs +1 -4
  30. package/esm2020/radio/radio.component.mjs +1 -2
  31. package/esm2020/scrolling/fixed-size-table-virtual-scroll-strategy.mjs +1 -3
  32. package/esm2020/scrolling/fixed-size-table-virtual-scroll.directive.mjs +1 -3
  33. package/esm2020/scrolling/fixed-size-virtual-scroll.directive.mjs +1 -2
  34. package/esm2020/select/base-select.mjs +2 -5
  35. package/esm2020/select/multi-select/multi-select.component.mjs +2 -4
  36. package/esm2020/select/select.component.mjs +1 -2
  37. package/esm2020/select/validators.mjs +2 -6
  38. package/esm2020/sort/sort-errors.mjs +1 -5
  39. package/esm2020/sort/sort-header.component.mjs +1 -5
  40. package/esm2020/sort/sort.directive.mjs +1 -2
  41. package/esm2020/steps/steps.component.mjs +1 -5
  42. package/esm2020/table/table-cell-def.directive.mjs +1 -5
  43. package/esm2020/table/table-cell.directive.mjs +1 -3
  44. package/esm2020/table/table-column-def.directive.mjs +1 -7
  45. package/esm2020/table/table-header-cell-def.directive.mjs +1 -5
  46. package/esm2020/table/table-header-cell.directive.mjs +1 -3
  47. package/esm2020/table/table-header-row-def.directive.mjs +1 -5
  48. package/esm2020/table/table-header-row.component.mjs +1 -2
  49. package/esm2020/table/table-row-def.directive.mjs +1 -6
  50. package/esm2020/table/table-row.component.mjs +1 -2
  51. package/esm2020/table/table-scroll.directive.mjs +3 -4
  52. package/esm2020/table/table.component.mjs +1 -4
  53. package/esm2020/tabs/tab-body.component.mjs +1 -19
  54. package/esm2020/tabs/tab-context.service.mjs +1 -4
  55. package/esm2020/tabs/tab-group.component.mjs +1 -46
  56. package/esm2020/tabs/tab-header-active-indicator.component.mjs +1 -10
  57. package/esm2020/tabs/tab-header.component.mjs +3 -106
  58. package/esm2020/tabs/tab.component.mjs +1 -15
  59. package/esm2020/tabs/tabs.types.mjs +1 -4
  60. package/esm2020/tag/tag.component.mjs +1 -2
  61. package/esm2020/time-picker/panel/panel.component.mjs +1 -3
  62. package/esm2020/tooltip/tooltip-intl.mjs +1 -7
  63. package/esm2020/tree-select/tree-select.component.mjs +1 -2
  64. package/esm2020/types.mjs +1 -4
  65. package/esm2020/utils/bem.mjs +1 -2
  66. package/esm2020/utils/coercion.mjs +1 -5
  67. package/fesm2015/alauda-ui.mjs +11 -376
  68. package/fesm2015/alauda-ui.mjs.map +1 -1
  69. package/fesm2020/alauda-ui.mjs +11 -376
  70. package/fesm2020/alauda-ui.mjs.map +1 -1
  71. package/form/common-form.d.ts +0 -7
  72. package/input/autosize.directive.d.ts +0 -3
  73. package/input/input.component.d.ts +0 -3
  74. package/message/message.config.d.ts +0 -20
  75. package/notification/notification.component.d.ts +0 -4
  76. package/package.json +3 -2
  77. package/paginator/paginator-intl.d.ts +0 -9
  78. package/paginator/paginator.component.d.ts +0 -14
  79. package/radio/radio-group/radio-group.component.d.ts +0 -3
  80. package/select/base-select.d.ts +0 -3
  81. package/sort/sort-errors.d.ts +0 -4
  82. package/steps/steps.component.d.ts +0 -3
  83. package/steps/types.d.ts +0 -3
  84. package/table/table-cell-def.directive.d.ts +0 -4
  85. package/table/table-cell.directive.d.ts +0 -1
  86. package/table/table-column-def.directive.d.ts +0 -4
  87. package/table/table-header-cell-def.directive.d.ts +0 -4
  88. package/table/table-header-cell.directive.d.ts +0 -1
  89. package/table/table-header-row-def.directive.d.ts +0 -4
  90. package/table/table-header-row.component.d.ts +0 -1
  91. package/table/table-row-def.directive.d.ts +0 -5
  92. package/table/table-row.component.d.ts +0 -1
  93. package/table/table-scroll.directive.d.ts +2 -2
  94. package/tabs/tab-body.component.d.ts +0 -16
  95. package/tabs/tab-context.service.d.ts +0 -3
  96. package/tabs/tab-group.component.d.ts +0 -28
  97. package/tabs/tab-header-active-indicator.component.d.ts +0 -9
  98. package/tabs/tab-header.component.d.ts +0 -83
  99. package/tabs/tab.component.d.ts +0 -18
  100. package/tabs/tabs.types.d.ts +0 -3
  101. package/tooltip/tooltip-intl.d.ts +0 -4
  102. package/types.d.ts +0 -3
@@ -29,7 +29,6 @@ export class TimePickerPanelComponent extends CommonFormControl {
29
29
  this.ComponentSize = ComponentSize;
30
30
  this.bem = bem;
31
31
  this.enabledColumns = 0;
32
- // 用于控制初次滚动,是否展示滚动动画效果
33
32
  this.firstScrolled = false;
34
33
  this.model$.subscribe(_ => {
35
34
  this.cdr.markForCheck();
@@ -147,7 +146,6 @@ export class TimePickerPanelComponent extends CommonFormControl {
147
146
  }
148
147
  else {
149
148
  const difference = targetOffset - currentTop;
150
- // 每个tick滚动距离
151
149
  const perTick = (difference / duration) * 10;
152
150
  requestAnimationFrame(() => {
153
151
  element.scrollTop = currentTop + perTick;
@@ -223,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
223
221
  type: ViewChild,
224
222
  args: ['secondRef', { static: false }]
225
223
  }] } });
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RpbWUtcGlja2VyL3BhbmVsL3BhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy90aW1lLXBpY2tlci9wYW5lbC9wYW5lbC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdOLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sS0FBZ0IsTUFBTSxPQUFPLENBQUM7QUFFckMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEdBQ2IsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBRTVELE1BQU0sd0JBQXdCLEdBQUcsRUFBRSxDQUFDO0FBQ3BDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBbUI5QyxNQUFNLE9BQU8sd0JBQ1gsU0FBUSxpQkFBd0I7SUFnRmhDLFlBQStCLEdBQXNCO1FBQ25ELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURrQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWxEckQsYUFBUSxHQUFH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LENBQUM7WUFDdkQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLDRWQzdDSCx3akdBcUdBOzJGRG5EYSx3QkFBd0I7a0JBakJwQyxTQUFTOytCQUNFLHVCQUF1QixpQkFHbEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsUUFDSzt3QkFDSixTQUFTLEVBQUUseUJBQXlCO3FCQUNyQzt3R0FPRyxNQUFNO3NCQURULEtBQUs7Z0JBMkJOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixPQUFPO3NCQUROLE1BQU07Z0JBSVAsWUFBWTtzQkFEWCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBaUJOLE9BQU87c0JBRE4sU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUl2QyxTQUFTO3NCQURSLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJekMsU0FBUztzQkFEUixTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xuXG5pbXBvcnQgeyB1cGRhdGVEYXRlQnlUaW1lTW9kZWwgfSBmcm9tICcuLi8uLi9kYXRlLXBpY2tlci9jYWxlbmRhci91dGlsJztcbmltcG9ydCB7IENvbW1vbkZvcm1Db250cm9sIH0gZnJvbSAnLi4vLi4vZm9ybS9jb21tb24tZm9ybSc7XG5pbXBvcnQgeyBDb21wb25lbnRTaXplIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgYnVpbGRCZW0gfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQge1xuICBDT05UUk9MX0lURU1fSEVJR0hULFxuICBIT1VSX0lURU1TLFxuICBNSU5VVEVfSVRFTVMsXG4gIFNFQ09ORF9JVEVNUyxcbn0gZnJvbSAnLi4vY29uc3RhbnQnO1xuaW1wb3J0IHsgVGltZVBpY2tlckNvbnRyb2xUeXBlIH0gZnJvbSAnLi4vdGltZS1waWNrZXIudHlwZSc7XG5cbmNvbnN0IFRJTUVfUElDS0VSX0NPTFVNTl9XSURUSCA9IDgwO1xuY29uc3QgYmVtID0gYnVpbGRCZW0oJ2F1aS10aW1lLXBpY2tlci1wYW5lbCcpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdGltZS1waWNrZXItcGFuZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFuZWwudGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhbmVsLnN0eWxlLnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGltZVBpY2tlclBhbmVsQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICBtb3VzZWRvd246ICckZXZlbnQucHJldmVudERlZmF1bHQoKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVQaWNrZXJQYW5lbENvbXBvbmVudFxuICBleHRlbmRzIENvbW1vbkZvcm1Db250cm9sPERheWpzPlxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlc1xue1xuICBASW5wdXQoKVxuICBzZXQgZm9ybWF0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgdGhpcy5fZm9ybWF0ID0gdmFsdWU7XG4gICAgICBjb25zdCBjaGFyU2V0ID0gbmV3IFNldCh2YWx1ZSk7XG4gICAgICB0aGlzLmhvdXJFbmFibGVkID0gY2hhclNldC5oYXMoJ0gnKSB8fCBjaGFyU2V0LmhhcygnaCcpO1xuICAgICAgdGhpcy5taW51dGVFbmFibGVkID0gY2hhclNldC5oYXMoJ20nKTtcbiAgICAgIHRoaXMuc2Vjb25kRW5hYmxlZCA9IGNoYXJTZXQuaGFzKCdzJyk7XG4gICAgICB0aGlzLmVuYWJsZWRDb2x1bW5zID0gW1xuICAgICAgICB0aGlzLmhvdXJFbmFibGVkLFxuICAgICAgICB0aGlzLm1pbnV0ZUVuYWJsZWQsXG4gICAgICAgIHRoaXMuc2Vjb25kRW5hYmxlZCxcbiAgICAgIF0uZmlsdGVyKEJvb2xlYW4pLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICBnZXQgZm9ybWF0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1hdDtcbiAgfVxuXG4gIHByaXZhdGUgX2Zvcm1hdDogc3RyaW5nO1xuXG4gIGdldCB0b3RhbFdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZWRDb2x1bW5zICogVElNRV9QSUNLRVJfQ09MVU1OX1dJRFRIO1xuICB9XG5cbiAgQElucHV0KClcbiAgaG91clN0ZXAgPSAxO1xuXG4gIEBJbnB1dCgpXG4gIG1pbnV0ZVN0ZXAgPSAxO1xuXG4gIEBJbnB1dCgpXG4gIHNlY29uZFN0ZXAgPSAxO1xuXG4gIEBJbnB1dCgpXG4gIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICBAT3V0cHV0KClcbiAgY29uZmlybSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlSG91cnM6ICgpID0+IG51bWJlcltdO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVNaW51dGVzOiAoaG91cj86IG51bWJlcikgPT4gbnVtYmVyW107XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZVNlY29uZHM6IChob3VyPzogbnVtYmVyLCBtaW51dGU/OiBudW1iZXIpID0+IG51bWJlcltdO1xuXG4gIGhvdXJFbmFibGVkOiBib29sZWFuO1xuICBtaW51dGVFbmFibGVkOiBib29sZWFuO1xuICBzZWNvbmRFbmFibGVkOiBib29sZWFuO1xuXG4gIFRpbWVQaWNrZXJDb250cm9sVHlwZSA9IFRpbWVQaWNrZXJDb250cm9sVHlwZTtcbiAgSE9VUl9JVEVNX0NPTkZJRyA9IEhPVVJfSVRFTVM7XG4gIE1JTlVURV9JVEVNX0NPTkZJRyA9IE1JTlVURV9JVEVNUztcbiAgU0VDT05EX0lURU1fQ09ORklHID0gU0VDT05EX0lURU1TO1xuXG4gIENPTlRST0xfSVRFTV9IRUlHSFQgPSBDT05UUk9MX0lURU1fSEVJR0hUO1xuICBDb21wb25lbnRTaXplID0gQ29tcG9uZW50U2l6ZTtcbiAgYmVtID0gYmVtO1xuXG4gIEBWaWV3Q2hpbGQoJ2hvdXJSZWYnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgaG91clJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnbWludXRlUmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1pbnV0ZVJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnc2Vjb25kUmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHNlY29uZFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgZW5hYmxlZENvbHVtbnMgPSAwO1xuXG4gIC8vIOeUqOS6juaOp+WItuWIneasoea7muWKqO+8jOaYr+WQpuWxleekuua7muWKqOWKqOeUu+aViOaenFxuICBmaXJzdFNjcm9sbGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIG92ZXJyaWRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihjZHIpO1xuICAgIHRoaXMubW9kZWwkLnN1YnNjcmliZShfID0+IHtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgaXNEaXNhYmxlZCh2YWx1ZTogbnVtYmVyLCB0eXBlOiBUaW1lUGlja2VyQ29udHJvbFR5cGUpIHtcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLm1vZGVsO1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09IFRpbWVQaWNrZXJDb250cm9sVHlwZS5Ib3VyKSB7XG4gICAgICByZXR1cm4gKCF0aGlzLmRpc2FibGVIb3VycyA/IFtdIDogdGhpcy5kaXNhYmxlSG91cnMoKSkuaW5jbHVkZXModmFsdWUpO1xuICAgIH1cbiAgICBpZiAodHlwZSA9PT0gVGltZVBpY2tlckNvbnRyb2xUeXBlLk1pbnV0ZSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgIXRoaXMuZGlzYWJsZU1pbnV0ZXMgPyBbXSA6IHRoaXMuZGlzYWJsZU1pbnV0ZXMoY3VycmVudFZhbHVlPy5ob3VyKCkpXG4gICAgICApLmluY2x1ZGVzKHZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09IFRpbWVQaWNrZXJDb250cm9sVHlwZS5TZWNvbmQpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgICF0aGlzLmRpc2FibGVTZWNvbmRzXG4gICAgICAgICAgPyBbXVxuICAgICAgICAgIDogdGhpcy5kaXNhYmxlU2Vjb25kcyhjdXJyZW50VmFsdWU/LmhvdXIoKSwgY3VycmVudFZhbHVlPy5taW51dGUoKSlcbiAgICAgICkuaW5jbHVkZXModmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgaG91clN0ZXAsIG1pbnV0ZVN0ZXAsIHNlY29uZFN0ZXAgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChob3VyU3RlcD8uY3VycmVudFZhbHVlID4gMCkge1xuICAgICAgdGhpcy5IT1VSX0lURU1fQ09ORklHID0gSE9VUl9JVEVNUy5maWx0ZXIoXG4gICAgICAgIGkgPT4gaSAlIGhvdXJTdGVwLmN1cnJlbnRWYWx1ZSA9PT0gMCxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChtaW51dGVTdGVwPy5jdXJyZW50VmFsdWUgPiAwKSB7XG4gICAgICB0aGlzLk1JTlVURV9JVEVNX0NPTkZJRyA9IE1JTlVURV9JVEVNUy5maWx0ZXIoXG4gICAgICAgIGkgPT4gaSAlIG1pbnV0ZVN0ZXAuY3VycmVudFZhbHVlID09PSAwLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHNlY29uZFN0ZXA/LmN1cnJlbnRWYWx1ZSA+IDApIHtcbiAgICAgIHRoaXMuU0VDT05EX0lURU1fQ09ORklHID0gU0VDT05EX0lURU1TLmZpbHRlcihcbiAgICAgICAgaSA9PiBpICUgc2Vjb25kU3RlcC5jdXJyZW50VmFsdWUgPT09IDAsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IERheWpzKSB7XG4gICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5zeW5jU2Nyb2xsT2Zmc2V0KCF0aGlzLmZpcnN0U2Nyb2xsZWQgPyAwIDogMTIwLCB2YWx1ZSk7XG4gIH1cblxuICBzZWxlY3RWYWx1ZSh2YWx1ZTogbnVtYmVyLCB0eXBlOiBUaW1lUGlja2VyQ29udHJvbFR5cGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKHZhbHVlLCB0eXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmZpcnN0U2Nyb2xsZWQgPSB0cnVlO1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuc3luY1ZhbHVlKHZhbHVlLCB0eXBlLCB0aGlzLm1vZGVsKTtcbiAgICB0aGlzLnN5bmNTY3JvbGxPZmZzZXQoMTIwLCByZXN1bHQpO1xuICB9XG5cbiAgc3luY1ZhbHVlKHZhbHVlOiBudW1iZXIsIHR5cGU6IFRpbWVQaWNrZXJDb250cm9sVHlwZSwgY3VycmVudFZhbHVlOiBEYXlqcykge1xuICAgIGlmICghdHlwZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSAoXG4gICAgICBjdXJyZW50VmFsdWUgfHxcbiAgICAgIHVwZGF0ZURhdGVCeVRpbWVNb2RlbChkYXlqcygpLCB7IGhvdXI6IDAsIG1pbnV0ZTogMCwgc2Vjb25kOiAwIH0pXG4gICAgKS5zZXQodHlwZSwgdmFsdWUpO1xuICAgIHRoaXMuZW1pdE1vZGVsKHJlc3VsdCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHN5bmNTY3JvbGxPZmZzZXQoZHVyYXRpb246IG51bWJlciwgdmFsdWU6IERheWpzKSB7XG4gICAgY29uc3QgZW1wdHkgPSAhdmFsdWU7XG4gICAgY29uc3QgY29uZmlnID0gW1xuICAgICAge1xuICAgICAgICByZWY6IHRoaXMuaG91clJlZixcbiAgICAgICAgZW5hYmxlZDogdGhpcy5ob3VyRW5hYmxlZCxcbiAgICAgICAgc3RlcDogdGhpcy5ob3VyU3RlcCxcbiAgICAgICAgdHlwZTogJ2hvdXInLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcmVmOiB0aGlzLm1pbnV0ZVJlZixcbiAgICAgICAgZW5hYmxlZDogdGhpcy5taW51dGVFbmFibGVkLFxuICAgICAgICBzdGVwOiB0aGlzLm1pbnV0ZVN0ZXAsXG4gICAgICAgIHR5cGU6ICdtaW51dGUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcmVmOiB0aGlzLnNlY29uZFJlZixcbiAgICAgICAgZW5hYmxlZDogdGhpcy5zZWNvbmRFbmFibGVkLFxuICAgICAgICBzdGVwOiB0aGlzLnNlY29uZFN0ZXAsXG4gICAgICAgIHR5cGU6ICdzZWNvbmQnLFxuICAgICAgfSxcbiAgICBdIGFzIGNvbnN0O1xuXG4gICAgY29uZmlnLmZvckVhY2goY2YgPT4ge1xuICAgICAgaWYgKGNmLmVuYWJsZWQgJiYgY2YucmVmKSB7XG4gICAgICAgIHRoaXMuc2Nyb2xsQnlWYWx1ZShcbiAgICAgICAgICBjZi5yZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICBlbXB0eSA/IDAgOiB2YWx1ZS5nZXQoY2YudHlwZSksXG4gICAgICAgICAgY2Yuc3RlcCxcbiAgICAgICAgICBlbXB0eSA/IDAgOiBkdXJhdGlvbixcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoIWVtcHR5KSB7XG4gICAgICB0aGlzLmZpcnN0U2Nyb2xsZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsQnlWYWx1ZShcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgICB2YWx1ZTogbnVtYmVyLFxuICAgIGRpdmlkZUJ5OiBudW1iZXIsXG4gICAgZHVyYXRpb246IG51bWJlcixcbiAgKSB7XG4gICAgY29uc3QgdGFyZ2V0T2Zmc2V0ID0gKHZhbHVlICogQ09OVFJPTF9JVEVNX0hFSUdIVCkgLyBkaXZpZGVCeTtcbiAgICBjb25zdCBjdXJyZW50VG9wID0gZWxlbWVudC5zY3JvbGxUb3A7XG4gICAgaWYgKGN1cnJlbnRUb3AgPT09IHRhcmdldE9mZnNldCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWR1cmF0aW9uKSB7XG4gICAgICBlbGVtZW50LnNjcm9sbFRvcCA9IHRhcmdldE9mZnNldDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZGlmZmVyZW5jZSA9IHRhcmdldE9mZnNldCAtIGN1cnJlbnRUb3A7XG4gICAgICAvLyDmr4/kuKp0aWNr5rua5Yqo6Led56a7XG4gICAgICBjb25zdCBwZXJUaWNrID0gKGRpZmZlcmVuY2UgLyBkdXJhdGlvbikgKiAxMDtcblxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgZWxlbWVudC5zY3JvbGxUb3AgPSBjdXJyZW50VG9wICsgcGVyVGljaztcbiAgICAgICAgaWYgKGVsZW1lbnQuc2Nyb2xsVG9wID09PSB0YXJnZXRPZmZzZXQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zY3JvbGxCeVZhbHVlKGVsZW1lbnQsIHZhbHVlLCBkaXZpZGVCeSwgZHVyYXRpb24gLSAxMCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBtYXRjaFZhbHVlKFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgdHlwZTogVGltZVBpY2tlckNvbnRyb2xUeXBlLFxuICAgIGN1cnJEYXRlOiBEYXlqcyxcbiAgKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGN1cnJEYXRlPy5nZXQodHlwZSkgPT09IHZhbHVlO1xuICB9XG5cbiAgZ2V0Q29udHJvbFR5cGVDb25maWcodHlwZTogVGltZVBpY2tlckNvbnRyb2xUeXBlKTogbnVtYmVyW10ge1xuICAgIHJldHVybiB7XG4gICAgICBbVGltZVBpY2tlckNvbnRyb2xUeXBlLkhvdXJdOiB0aGlzLkhPVVJfSVRFTV9DT05GSUcsXG4gICAgICBbVGltZVBpY2tlckNvbnRyb2xUeXBlLk1pbnV0ZV06IHRoaXMuTUlOVVRFX0lURU1fQ09ORklHLFxuICAgICAgW1RpbWVQaWNrZXJDb250cm9sVHlwZS5TZWNvbmRdOiB0aGlzLlNFQ09ORF9JVEVNX0NPTkZJRyxcbiAgICB9W3R5cGVdO1xuICB9XG5cbiAgc2VsZWN0Tm93KCkge1xuICAgIHRoaXMuZmlyc3RTY3JvbGxlZCA9IHRydWU7XG4gICAgdGhpcy5lbWl0TW9kZWwoZGF5anMoKSk7XG4gIH1cblxuICB0cmFja0J5KF9pbmRleDogbnVtYmVyLCBjb250ZW50OiBudW1iZXIpIHtcbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxufVxuIiwiPGRpdlxuICAqbmdJZj1cImVuYWJsZWRDb2x1bW5zXCJcbiAgW2NsYXNzXT1cImJlbS5ibG9jaygpXCJcbiAgW3N0eWxlLndpZHRoLnB4XT1cInRvdGFsV2lkdGhcIlxuPlxuICA8ZGl2IFtjbGFzc109XCJiZW0uZWxlbWVudCgnY29udGVudCcpXCI+XG4gICAgPGRpdlxuICAgICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdjb2x1bW4nKVwiXG4gICAgICAjaG91clJlZlxuICAgICAgKm5nSWY9XCJob3VyRW5hYmxlZFwiXG4gICAgPlxuICAgICAgPHVsPlxuICAgICAgICA8bGlcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRDb250cm9sVHlwZUNvbmZpZyhUaW1lUGlja2VyQ29udHJvbFR5cGUuSG91cilcIlxuICAgICAgICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnY2VsbCcpXCJcbiAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cIkNPTlRST0xfSVRFTV9IRUlHSFRcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgIGRpc2FibGVkOiBpc0Rpc2FibGVkKGl0ZW0sIFRpbWVQaWNrZXJDb250cm9sVHlwZS5Ib3VyKSxcbiAgICAgICAgICAgIHNlbGVjdGVkOiBtYXRjaFZhbHVlKGl0ZW0sIFRpbWVQaWNrZXJDb250cm9sVHlwZS5Ib3VyLCBtb2RlbClcbiAgICAgICAgICB9XCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VmFsdWUoaXRlbSwgVGltZVBpY2tlckNvbnRyb2xUeXBlLkhvdXIpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGl0ZW0gfCBudW1iZXI6ICcyLjAtMCcgfX1cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgICA8ZGl2IFtjbGFzc109XCJiZW0uZWxlbWVudCgnY29sdW1uLXN0cnV0JylcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NvbHVtbicpXCJcbiAgICAgICNtaW51dGVSZWZcbiAgICAgICpuZ0lmPVwibWludXRlRW5hYmxlZFwiXG4gICAgPlxuICAgICAgPHVsPlxuICAgICAgICA8bGlcbiAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgIGxldCBpdGVtIG9mIGdldENvbnRyb2xUeXBlQ29uZmlnKFRpbWVQaWNrZXJDb250cm9sVHlwZS5NaW51dGUpO1xuICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeVxuICAgICAgICAgIFwiXG4gICAgICAgICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdjZWxsJylcIlxuICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiQ09OVFJPTF9JVEVNX0hFSUdIVFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgZGlzYWJsZWQ6IGlzRGlzYWJsZWQoaXRlbSwgVGltZVBpY2tlckNvbnRyb2xUeXBlLk1pbnV0ZSksXG4gICAgICAgICAgICBzZWxlY3RlZDogbWF0Y2hWYWx1ZShpdGVtLCBUaW1lUGlja2VyQ29udHJvbFR5cGUuTWludXRlLCBtb2RlbClcbiAgICAgICAgICB9XCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VmFsdWUoaXRlbSwgVGltZVBpY2tlckNvbnRyb2xUeXBlLk1pbnV0ZSlcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgaXRlbSB8IG51bWJlcjogJzIuMC0wJyB9fVxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICAgIDxkaXYgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdjb2x1bW4tc3RydXQnKVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnY29sdW1uJylcIlxuICAgICAgI3NlY29uZFJlZlxuICAgICAgKm5nSWY9XCJzZWNvbmRFbmFibGVkXCJcbiAgICA+XG4gICAgICA8dWw+XG4gICAgICAgIDxsaVxuICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgbGV0IGl0ZW0gb2YgZ2V0Q29udHJvbFR5cGVDb25maWcoVGltZVBpY2tlckNvbnRyb2xUeXBlLlNlY29uZClcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnY2VsbCcpXCJcbiAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cIkNPTlRST0xfSVRFTV9IRUlHSFRcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgIGRpc2FibGVkOiBpc0Rpc2FibGVkKGl0ZW0sIFRpbWVQaWNrZXJDb250cm9sVHlwZS5TZWNvbmQpLFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IG1hdGNoVmFsdWUoaXRlbSwgVGltZVBpY2tlckNvbnRyb2xUeXBlLlNlY29uZCwgbW9kZWwpXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFZhbHVlKGl0ZW0sIFRpbWVQaWNrZXJDb250cm9sVHlwZS5TZWNvbmQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGl0ZW0gfCBudW1iZXI6ICcyLjAtMCcgfX1cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgICA8ZGl2IFtjbGFzc109XCJiZW0uZWxlbWVudCgnY29sdW1uLXN0cnV0JylcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFmb290ZXJUZW1wbGF0ZTsgZWxzZSBjdXN0b21Gb290ZXJcIj5cbiAgICA8ZGl2IFtjbGFzc109XCJiZW0uZWxlbWVudCgnZm9vdGVyJylcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgYXVpLWJ1dHRvbj1cImlubGluZVwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3ROb3coKVwiXG4gICAgICAgIFtzaXplXT1cIkNvbXBvbmVudFNpemUuU21hbGxcIlxuICAgICAgPlxuICAgICAgICB7eyAnbm93JyB8IGF1aUkxOG4gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBhdWktYnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgIFtzaXplXT1cIkNvbXBvbmVudFNpemUuU21hbGxcIlxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOyBjb25maXJtLm5leHQoKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdjb25maXJtJyB8IGF1aUkxOG4gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNjdXN0b21Gb290ZXI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyVGVtcGxhdGVcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiB0aGlzIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RpbWUtcGlja2VyL3BhbmVsL3BhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy90aW1lLXBpY2tlci9wYW5lbC9wYW5lbC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdOLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sS0FBZ0IsTUFBTSxPQUFPLENBQUM7QUFFckMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEdBQ2IsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBRTVELE1BQU0sd0JBQXdCLEdBQUcsRUFBRSxDQUFDO0FBQ3BDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBbUI5QyxNQUFNLE9BQU8sd0JBQ1gsU0FBUSxpQkFBd0I7SUFnRmhDLFlBQStCLEdBQXNCO1FBQ25ELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURrQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWxEckQsYUFBUSxHQUFH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QUFJO1NBQ1o7S0FDRiw0VkM3Q0gsd2pHQXFHQTsyRkRuRGEsd0JBQXdCO2tCQWpCcEMsU0FBUzsrQkFDRSx1QkFBdUIsaUJBR2xCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUM7NEJBQ3ZELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLFFBQ0s7d0JBQ0osU0FBUyxFQUFFLHlCQUF5QjtxQkFDckM7d0dBT0csTUFBTTtzQkFEVCxLQUFLO2dCQTJCTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sT0FBTztzQkFETixNQUFNO2dCQUlQLFlBQVk7c0JBRFgsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQWlCTixPQUFPO3NCQUROLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJdkMsU0FBUztzQkFEUixTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSXpDLFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBkYXlqcywgeyBEYXlqcyB9IGZyb20gJ2RheWpzJztcblxuaW1wb3J0IHsgdXBkYXRlRGF0ZUJ5VGltZU1vZGVsIH0gZnJvbSAnLi4vLi4vZGF0ZS1waWNrZXIvY2FsZW5kYXIvdXRpbCc7XG5pbXBvcnQgeyBDb21tb25Gb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uL2Zvcm0vY29tbW9uLWZvcm0nO1xuaW1wb3J0IHsgQ29tcG9uZW50U2l6ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGJ1aWxkQmVtIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgQ09OVFJPTF9JVEVNX0hFSUdIVCxcbiAgSE9VUl9JVEVNUyxcbiAgTUlOVVRFX0lURU1TLFxuICBTRUNPTkRfSVRFTVMsXG59IGZyb20gJy4uL2NvbnN0YW50JztcbmltcG9ydCB7IFRpbWVQaWNrZXJDb250cm9sVHlwZSB9IGZyb20gJy4uL3RpbWUtcGlja2VyLnR5cGUnO1xuXG5jb25zdCBUSU1FX1BJQ0tFUl9DT0xVTU5fV0lEVEggPSA4MDtcbmNvbnN0IGJlbSA9IGJ1aWxkQmVtKCdhdWktdGltZS1waWNrZXItcGFuZWwnKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLXRpbWUtcGlja2VyLXBhbmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhbmVsLnRlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYW5lbC5zdHlsZS5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRpbWVQaWNrZXJQYW5lbENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBob3N0OiB7XG4gICAgbW91c2Vkb3duOiAnJGV2ZW50LnByZXZlbnREZWZhdWx0KCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUaW1lUGlja2VyUGFuZWxDb21wb25lbnRcbiAgZXh0ZW5kcyBDb21tb25Gb3JtQ29udHJvbDxEYXlqcz5cbiAgaW1wbGVtZW50cyBPbkNoYW5nZXNcbntcbiAgQElucHV0KClcbiAgc2V0IGZvcm1hdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIHRoaXMuX2Zvcm1hdCA9IHZhbHVlO1xuICAgICAgY29uc3QgY2hhclNldCA9IG5ldyBTZXQodmFsdWUpO1xuICAgICAgdGhpcy5ob3VyRW5hYmxlZCA9IGNoYXJTZXQuaGFzKCdIJykgfHwgY2hhclNldC5oYXMoJ2gnKTtcbiAgICAgIHRoaXMubWludXRlRW5hYmxlZCA9IGNoYXJTZXQuaGFzKCdtJyk7XG4gICAgICB0aGlzLnNlY29uZEVuYWJsZWQgPSBjaGFyU2V0LmhhcygncycpO1xuICAgICAgdGhpcy5lbmFibGVkQ29sdW1ucyA9IFtcbiAgICAgICAgdGhpcy5ob3VyRW5hYmxlZCxcbiAgICAgICAgdGhpcy5taW51dGVFbmFibGVkLFxuICAgICAgICB0aGlzLnNlY29uZEVuYWJsZWQsXG4gICAgICBdLmZpbHRlcihCb29sZWFuKS5sZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGZvcm1hdCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mb3JtYXQ7XG4gIH1cblxuICBwcml2YXRlIF9mb3JtYXQ6IHN0cmluZztcblxuICBnZXQgdG90YWxXaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkQ29sdW1ucyAqIFRJTUVfUElDS0VSX0NPTFVNTl9XSURUSDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGhvdXJTdGVwID0gMTtcblxuICBASW5wdXQoKVxuICBtaW51dGVTdGVwID0gMTtcblxuICBASW5wdXQoKVxuICBzZWNvbmRTdGVwID0gMTtcblxuICBASW5wdXQoKVxuICBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgQE91dHB1dCgpXG4gIGNvbmZpcm0gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZUhvdXJzOiAoKSA9PiBudW1iZXJbXTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlTWludXRlczogKGhvdXI/OiBudW1iZXIpID0+IG51bWJlcltdO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVTZWNvbmRzOiAoaG91cj86IG51bWJlciwgbWludXRlPzogbnVtYmVyKSA9PiBudW1iZXJbXTtcblxuICBob3VyRW5hYmxlZDogYm9vbGVhbjtcbiAgbWludXRlRW5hYmxlZDogYm9vbGVhbjtcbiAgc2Vjb25kRW5hYmxlZDogYm9vbGVhbjtcblxuICBUaW1lUGlja2VyQ29udHJvbFR5cGUgPSBUaW1lUGlja2VyQ29udHJvbFR5cGU7XG4gIEhPVVJfSVRFTV9DT05GSUcgPSBIT1VSX0lURU1TO1xuICBNSU5VVEVfSVRFTV9DT05GSUcgPSBNSU5VVEVfSVRFTVM7XG4gIFNFQ09ORF9JVEVNX0NPTkZJRyA9IFNFQ09ORF9JVEVNUztcblxuICBDT05UUk9MX0lURU1fSEVJR0hUID0gQ09OVFJPTF9JVEVNX0hFSUdIVDtcbiAgQ29tcG9uZW50U2l6ZSA9IENvbXBvbmVudFNpemU7XG4gIGJlbSA9IGJlbTtcblxuICBAVmlld0NoaWxkKCdob3VyUmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGhvdXJSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ21pbnV0ZVJlZicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBtaW51dGVSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3NlY29uZFJlZicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBzZWNvbmRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIGVuYWJsZWRDb2x1bW5zID0gMDtcblxuICAvLyDnlKjkuo7mjqfliLbliJ3mrKHmu5rliqjvvIzmmK/lkKblsZXnpLrmu5rliqjliqjnlLvmlYjmnpxcbiAgZmlyc3RTY3JvbGxlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBvdmVycmlkZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoY2RyKTtcbiAgICB0aGlzLm1vZGVsJC5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIGlzRGlzYWJsZWQodmFsdWU6IG51bWJlciwgdHlwZTogVGltZVBpY2tlckNvbnRyb2xUeXBlKSB7XG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy5tb2RlbDtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICh0eXBlID09PSBUaW1lUGlja2VyQ29udHJvbFR5cGUuSG91cikge1xuICAgICAgcmV0dXJuICghdGhpcy5kaXNhYmxlSG91cnMgPyBbXSA6IHRoaXMuZGlzYWJsZUhvdXJzKCkpLmluY2x1ZGVzKHZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09IFRpbWVQaWNrZXJDb250cm9sVHlwZS5NaW51dGUpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgICF0aGlzLmRpc2FibGVNaW51dGVzID8gW10gOiB0aGlzLmRpc2FibGVNaW51dGVzKGN1cnJlbnRWYWx1ZT8uaG91cigpKVxuICAgICAgKS5pbmNsdWRlcyh2YWx1ZSk7XG4gICAgfVxuICAgIGlmICh0eXBlID09PSBUaW1lUGlja2VyQ29udHJvbFR5cGUuU2Vjb25kKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAhdGhpcy5kaXNhYmxlU2Vjb25kc1xuICAgICAgICAgID8gW11cbiAgICAgICAgICA6IHRoaXMuZGlzYWJsZVNlY29uZHMoY3VycmVudFZhbHVlPy5ob3VyKCksIGN1cnJlbnRWYWx1ZT8ubWludXRlKCkpXG4gICAgICApLmluY2x1ZGVzKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7IGhvdXJTdGVwLCBtaW51dGVTdGVwLCBzZWNvbmRTdGVwIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoaG91clN0ZXA/LmN1cnJlbnRWYWx1ZSA+IDApIHtcbiAgICAgIHRoaXMuSE9VUl9JVEVNX0NPTkZJRyA9IEhPVVJfSVRFTVMuZmlsdGVyKFxuICAgICAgICBpID0+IGkgJSBob3VyU3RlcC5jdXJyZW50VmFsdWUgPT09IDAsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAobWludXRlU3RlcD8uY3VycmVudFZhbHVlID4gMCkge1xuICAgICAgdGhpcy5NSU5VVEVfSVRFTV9DT05GSUcgPSBNSU5VVEVfSVRFTVMuZmlsdGVyKFxuICAgICAgICBpID0+IGkgJSBtaW51dGVTdGVwLmN1cnJlbnRWYWx1ZSA9PT0gMCxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChzZWNvbmRTdGVwPy5jdXJyZW50VmFsdWUgPiAwKSB7XG4gICAgICB0aGlzLlNFQ09ORF9JVEVNX0NPTkZJRyA9IFNFQ09ORF9JVEVNUy5maWx0ZXIoXG4gICAgICAgIGkgPT4gaSAlIHNlY29uZFN0ZXAuY3VycmVudFZhbHVlID09PSAwLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBEYXlqcykge1xuICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgIHRoaXMuc3luY1Njcm9sbE9mZnNldCghdGhpcy5maXJzdFNjcm9sbGVkID8gMCA6IDEyMCwgdmFsdWUpO1xuICB9XG5cbiAgc2VsZWN0VmFsdWUodmFsdWU6IG51bWJlciwgdHlwZTogVGltZVBpY2tlckNvbnRyb2xUeXBlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZCh2YWx1ZSwgdHlwZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5maXJzdFNjcm9sbGVkID0gdHJ1ZTtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnN5bmNWYWx1ZSh2YWx1ZSwgdHlwZSwgdGhpcy5tb2RlbCk7XG4gICAgdGhpcy5zeW5jU2Nyb2xsT2Zmc2V0KDEyMCwgcmVzdWx0KTtcbiAgfVxuXG4gIHN5bmNWYWx1ZSh2YWx1ZTogbnVtYmVyLCB0eXBlOiBUaW1lUGlja2VyQ29udHJvbFR5cGUsIGN1cnJlbnRWYWx1ZTogRGF5anMpIHtcbiAgICBpZiAoIXR5cGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gKFxuICAgICAgY3VycmVudFZhbHVlIHx8XG4gICAgICB1cGRhdGVEYXRlQnlUaW1lTW9kZWwoZGF5anMoKSwgeyBob3VyOiAwLCBtaW51dGU6IDAsIHNlY29uZDogMCB9KVxuICAgICkuc2V0KHR5cGUsIHZhbHVlKTtcbiAgICB0aGlzLmVtaXRNb2RlbChyZXN1bHQpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBzeW5jU2Nyb2xsT2Zmc2V0KGR1cmF0aW9uOiBudW1iZXIsIHZhbHVlOiBEYXlqcykge1xuICAgIGNvbnN0IGVtcHR5ID0gIXZhbHVlO1xuICAgIGNvbnN0IGNvbmZpZyA9IFtcbiAgICAgIHtcbiAgICAgICAgcmVmOiB0aGlzLmhvdXJSZWYsXG4gICAgICAgIGVuYWJsZWQ6IHRoaXMuaG91ckVuYWJsZWQsXG4gICAgICAgIHN0ZXA6IHRoaXMuaG91clN0ZXAsXG4gICAgICAgIHR5cGU6ICdob3VyJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJlZjogdGhpcy5taW51dGVSZWYsXG4gICAgICAgIGVuYWJsZWQ6IHRoaXMubWludXRlRW5hYmxlZCxcbiAgICAgICAgc3RlcDogdGhpcy5taW51dGVTdGVwLFxuICAgICAgICB0eXBlOiAnbWludXRlJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJlZjogdGhpcy5zZWNvbmRSZWYsXG4gICAgICAgIGVuYWJsZWQ6IHRoaXMuc2Vjb25kRW5hYmxlZCxcbiAgICAgICAgc3RlcDogdGhpcy5zZWNvbmRTdGVwLFxuICAgICAgICB0eXBlOiAnc2Vjb25kJyxcbiAgICAgIH0sXG4gICAgXSBhcyBjb25zdDtcblxuICAgIGNvbmZpZy5mb3JFYWNoKGNmID0+IHtcbiAgICAgIGlmIChjZi5lbmFibGVkICYmIGNmLnJlZikge1xuICAgICAgICB0aGlzLnNjcm9sbEJ5VmFsdWUoXG4gICAgICAgICAgY2YucmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgZW1wdHkgPyAwIDogdmFsdWUuZ2V0KGNmLnR5cGUpLFxuICAgICAgICAgIGNmLnN0ZXAsXG4gICAgICAgICAgZW1wdHkgPyAwIDogZHVyYXRpb24sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKCFlbXB0eSkge1xuICAgICAgdGhpcy5maXJzdFNjcm9sbGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbEJ5VmFsdWUoXG4gICAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICAgdmFsdWU6IG51bWJlcixcbiAgICBkaXZpZGVCeTogbnVtYmVyLFxuICAgIGR1cmF0aW9uOiBudW1iZXIsXG4gICkge1xuICAgIGNvbnN0IHRhcmdldE9mZnNldCA9ICh2YWx1ZSAqIENPTlRST0xfSVRFTV9IRUlHSFQpIC8gZGl2aWRlQnk7XG4gICAgY29uc3QgY3VycmVudFRvcCA9IGVsZW1lbnQuc2Nyb2xsVG9wO1xuICAgIGlmIChjdXJyZW50VG9wID09PSB0YXJnZXRPZmZzZXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFkdXJhdGlvbikge1xuICAgICAgZWxlbWVudC5zY3JvbGxUb3AgPSB0YXJnZXRPZmZzZXQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGRpZmZlcmVuY2UgPSB0YXJnZXRPZmZzZXQgLSBjdXJyZW50VG9wO1xuICAgICAgLy8g5q+P5LiqdGlja+a7muWKqOi3neemu1xuICAgICAgY29uc3QgcGVyVGljayA9IChkaWZmZXJlbmNlIC8gZHVyYXRpb24pICogMTA7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsVG9wID0gY3VycmVudFRvcCArIHBlclRpY2s7XG4gICAgICAgIGlmIChlbGVtZW50LnNjcm9sbFRvcCA9PT0gdGFyZ2V0T2Zmc2V0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2Nyb2xsQnlWYWx1ZShlbGVtZW50LCB2YWx1ZSwgZGl2aWRlQnksIGR1cmF0aW9uIC0gMTApO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbWF0Y2hWYWx1ZShcbiAgICB2YWx1ZTogbnVtYmVyLFxuICAgIHR5cGU6IFRpbWVQaWNrZXJDb250cm9sVHlwZSxcbiAgICBjdXJyRGF0ZTogRGF5anMsXG4gICk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjdXJyRGF0ZT8uZ2V0KHR5cGUpID09PSB2YWx1ZTtcbiAgfVxuXG4gIGdldENvbnRyb2xUeXBlQ29uZmlnKHR5cGU6IFRpbWVQaWNrZXJDb250cm9sVHlwZSk6IG51bWJlcltdIHtcbiAgICByZXR1cm4ge1xuICAgICAgW1RpbWVQaWNrZXJDb250cm9sVHlwZS5Ib3VyXTogdGhpcy5IT1VSX0lURU1fQ09ORklHLFxuICAgICAgW1RpbWVQaWNrZXJDb250cm9sVHlwZS5NaW51dGVdOiB0aGlzLk1JTlVURV9JVEVNX0NPTkZJRyxcbiAgICAgIFtUaW1lUGlja2VyQ29udHJvbFR5cGUuU2Vjb25kXTogdGhpcy5TRUNPTkRfSVRFTV9DT05GSUcsXG4gICAgfVt0eXBlXTtcbiAgfVxuXG4gIHNlbGVjdE5vdygpIHtcbiAgICB0aGlzLmZpcnN0U2Nyb2xsZWQgPSB0cnVlO1xuICAgIHRoaXMuZW1pdE1vZGVsKGRheWpzKCkpO1xuICB9XG5cbiAgdHJhY2tCeShfaW5kZXg6IG51bWJlciwgY29udGVudDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJlbmFibGVkQ29sdW1uc1wiXG4gIFtjbGFzc109XCJiZW0uYmxvY2soKVwiXG4gIFtzdHlsZS53aWR0aC5weF09XCJ0b3RhbFdpZHRoXCJcbj5cbiAgPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NvbnRlbnQnKVwiPlxuICAgIDxkaXZcbiAgICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnY29sdW1uJylcIlxuICAgICAgI2hvdXJSZWZcbiAgICAgICpuZ0lmPVwiaG91ckVuYWJsZWRcIlxuICAgID5cbiAgICAgIDx1bD5cbiAgICAgICAgPGxpXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0Q29udHJvbFR5cGVDb25maWcoVGltZVBpY2tlckNvbnRyb2xUeXBlLkhvdXIpXCJcbiAgICAgICAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NlbGwnKVwiXG4gICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJDT05UUk9MX0lURU1fSEVJR0hUXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICBkaXNhYmxlZDogaXNEaXNhYmxlZChpdGVtLCBUaW1lUGlja2VyQ29udHJvbFR5cGUuSG91ciksXG4gICAgICAgICAgICBzZWxlY3RlZDogbWF0Y2hWYWx1ZShpdGVtLCBUaW1lUGlja2VyQ29udHJvbFR5cGUuSG91ciwgbW9kZWwpXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFZhbHVlKGl0ZW0sIFRpbWVQaWNrZXJDb250cm9sVHlwZS5Ib3VyKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBpdGVtIHwgbnVtYmVyOiAnMi4wLTAnIH19XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgICAgPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NvbHVtbi1zdHJ1dCcpXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdjb2x1bW4nKVwiXG4gICAgICAjbWludXRlUmVmXG4gICAgICAqbmdJZj1cIm1pbnV0ZUVuYWJsZWRcIlxuICAgID5cbiAgICAgIDx1bD5cbiAgICAgICAgPGxpXG4gICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICBsZXQgaXRlbSBvZiBnZXRDb250cm9sVHlwZUNvbmZpZyhUaW1lUGlja2VyQ29udHJvbFR5cGUuTWludXRlKTtcbiAgICAgICAgICAgIHRyYWNrQnk6IHRyYWNrQnlcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnY2VsbCcpXCJcbiAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cIkNPTlRST0xfSVRFTV9IRUlHSFRcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgIGRpc2FibGVkOiBpc0Rpc2FibGVkKGl0ZW0sIFRpbWVQaWNrZXJDb250cm9sVHlwZS5NaW51dGUpLFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IG1hdGNoVmFsdWUoaXRlbSwgVGltZVBpY2tlckNvbnRyb2xUeXBlLk1pbnV0ZSwgbW9kZWwpXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFZhbHVlKGl0ZW0sIFRpbWVQaWNrZXJDb250cm9sVHlwZS5NaW51dGUpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGl0ZW0gfCBudW1iZXI6ICcyLjAtMCcgfX1cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgICA8ZGl2IFtjbGFzc109XCJiZW0uZWxlbWVudCgnY29sdW1uLXN0cnV0JylcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NvbHVtbicpXCJcbiAgICAgICNzZWNvbmRSZWZcbiAgICAgICpuZ0lmPVwic2Vjb25kRW5hYmxlZFwiXG4gICAgPlxuICAgICAgPHVsPlxuICAgICAgICA8bGlcbiAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgIGxldCBpdGVtIG9mIGdldENvbnRyb2xUeXBlQ29uZmlnKFRpbWVQaWNrZXJDb250cm9sVHlwZS5TZWNvbmQpXG4gICAgICAgICAgXCJcbiAgICAgICAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NlbGwnKVwiXG4gICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJDT05UUk9MX0lURU1fSEVJR0hUXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICBkaXNhYmxlZDogaXNEaXNhYmxlZChpdGVtLCBUaW1lUGlja2VyQ29udHJvbFR5cGUuU2Vjb25kKSxcbiAgICAgICAgICAgIHNlbGVjdGVkOiBtYXRjaFZhbHVlKGl0ZW0sIFRpbWVQaWNrZXJDb250cm9sVHlwZS5TZWNvbmQsIG1vZGVsKVxuICAgICAgICAgIH1cIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RWYWx1ZShpdGVtLCBUaW1lUGlja2VyQ29udHJvbFR5cGUuU2Vjb25kKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBpdGVtIHwgbnVtYmVyOiAnMi4wLTAnIH19XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgICAgPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NvbHVtbi1zdHJ1dCcpXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZm9vdGVyVGVtcGxhdGU7IGVsc2UgY3VzdG9tRm9vdGVyXCI+XG4gICAgPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2Zvb3RlcicpXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGF1aS1idXR0b249XCJpbmxpbmVcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0Tm93KClcIlxuICAgICAgICBbc2l6ZV09XCJDb21wb25lbnRTaXplLlNtYWxsXCJcbiAgICAgID5cbiAgICAgICAge3sgJ25vdycgfCBhdWlJMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgYXVpLWJ1dHRvbj1cInByaW1hcnlcIlxuICAgICAgICBbc2l6ZV09XCJDb21wb25lbnRTaXplLlNtYWxsXCJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsgY29uZmlybS5uZXh0KClcIlxuICAgICAgPlxuICAgICAgICB7eyAnY29uZmlybScgfCBhdWlJMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjY3VzdG9tRm9vdGVyPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvb3RlclRlbXBsYXRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogdGhpcyB9XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
@@ -1,8 +1,5 @@
1
1
  import { Injectable, Optional, SkipSelf } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- /**
4
- * Texts to render on the code editor.
5
- */
6
3
  export class TooltipCopyIntl {
7
4
  constructor() {
8
5
  this.copyTip = 'Click to copy';
@@ -15,15 +12,12 @@ TooltipCopyIntl.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", vers
15
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TooltipCopyIntl, decorators: [{
16
13
  type: Injectable
17
14
  }] });
18
- // eslint-disable-next-line sonar/function-name
19
15
  export function TOOLTIP_COPY_INTL_PROVIDER_FACTORY(parentIntl) {
20
16
  return parentIntl || new TooltipCopyIntl();
21
17
  }
22
- /** @docs-private */
23
18
  export const TOOLTIP_COPY_INTL_INTL_PROVIDER = {
24
- // If there is already an CodeEditorIntl available, use that. Otherwise, provide a new one.
25
19
  provide: TooltipCopyIntl,
26
20
  deps: [[new Optional(), new SkipSelf(), TooltipCopyIntl]],
27
21
  useFactory: TOOLTIP_COPY_INTL_PROVIDER_FACTORY,
28
22
  };
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1pbnRsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rvb2x0aXAvdG9vbHRpcC1pbnRsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFL0Q7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUVFLFlBQU8sR0FBRyxlQUFlLENBQUM7UUFFMUIsbUJBQWMsR0FBRyxxQkFBcUIsQ0FBQztRQUV2QyxnQkFBVyxHQUFHLGFBQWEsQ0FBQztLQUM3Qjs7NEdBTlksZUFBZTtnSEFBZixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVU7O0FBU1gsK0NBQStDO0FBQy9DLE1BQU0sVUFBVSxrQ0FBa0MsQ0FDaEQsVUFBMkI7SUFFM0IsT0FBTyxVQUFVLElBQUksSUFBSSxlQUFlLEVBQUUsQ0FBQztBQUM3QyxDQUFDO0FBRUQsb0JBQW9CO0FBQ3BCLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHO0lBQzdDLDJGQUEyRjtJQUMzRixPQUFPLEVBQUUsZUFBZTtJQUN4QixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN6RCxVQUFVLEVBQUUsa0NBQWtDO0NBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBUZXh0cyB0byByZW5kZXIgb24gdGhlIGNvZGUgZWRpdG9yLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvcHlJbnRsIHtcbiAgY29weVRpcCA9ICdDbGljayB0byBjb3B5JztcblxuICBjb3B5U3VjY2Vzc1RpcCA9ICdDb3BpZWQgdG8gY2xpcGJvYXJkJztcblxuICBjb3B5RmFpbFRpcCA9ICdDb3B5IGZhaWxlZCc7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hci9mdW5jdGlvbi1uYW1lXG5leHBvcnQgZnVuY3Rpb24gVE9PTFRJUF9DT1BZX0lOVExfUFJPVklERVJfRkFDVE9SWShcbiAgcGFyZW50SW50bDogVG9vbHRpcENvcHlJbnRsLFxuKSB7XG4gIHJldHVybiBwYXJlbnRJbnRsIHx8IG5ldyBUb29sdGlwQ29weUludGwoKTtcbn1cblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBjb25zdCBUT09MVElQX0NPUFlfSU5UTF9JTlRMX1BST1ZJREVSID0ge1xuICAvLyBJZiB0aGVyZSBpcyBhbHJlYWR5IGFuIENvZGVFZGl0b3JJbnRsIGF2YWlsYWJsZSwgdXNlIHRoYXQuIE90aGVyd2lzZSwgcHJvdmlkZSBhIG5ldyBvbmUuXG4gIHByb3ZpZGU6IFRvb2x0aXBDb3B5SW50bCxcbiAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIFRvb2x0aXBDb3B5SW50bF1dLFxuICB1c2VGYWN0b3J5OiBUT09MVElQX0NPUFlfSU5UTF9QUk9WSURFUl9GQUNUT1JZLFxufTtcbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1pbnRsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rvb2x0aXAvdG9vbHRpcC1pbnRsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNL0QsTUFBTSxPQUFPLGVBQWU7SUFENUI7UUFFRSxZQUFPLEdBQUcsZUFBZSxDQUFDO1FBRTFCLG1CQUFjLEdBQUcscUJBQXFCLENBQUM7UUFFdkMsZ0JBQVcsR0FBRyxhQUFhLENBQUM7S0FDN0I7OzRHQU5ZLGVBQWU7Z0hBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVOztBQVVYLE1BQU0sVUFBVSxrQ0FBa0MsQ0FDaEQsVUFBMkI7SUFFM0IsT0FBTyxVQUFVLElBQUksSUFBSSxlQUFlLEVBQUUsQ0FBQztBQUM3QyxDQUFDO0FBR0QsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUc7SUFFN0MsT0FBTyxFQUFFLGVBQWU7SUFDeEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDekQsVUFBVSxFQUFFLGtDQUFrQztDQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogVGV4dHMgdG8gcmVuZGVyIG9uIHRoZSBjb2RlIGVkaXRvci5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBDb3B5SW50bCB7XG4gIGNvcHlUaXAgPSAnQ2xpY2sgdG8gY29weSc7XG5cbiAgY29weVN1Y2Nlc3NUaXAgPSAnQ29waWVkIHRvIGNsaXBib2FyZCc7XG5cbiAgY29weUZhaWxUaXAgPSAnQ29weSBmYWlsZWQnO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXIvZnVuY3Rpb24tbmFtZVxuZXhwb3J0IGZ1bmN0aW9uIFRPT0xUSVBfQ09QWV9JTlRMX1BST1ZJREVSX0ZBQ1RPUlkoXG4gIHBhcmVudEludGw6IFRvb2x0aXBDb3B5SW50bCxcbikge1xuICByZXR1cm4gcGFyZW50SW50bCB8fCBuZXcgVG9vbHRpcENvcHlJbnRsKCk7XG59XG5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5leHBvcnQgY29uc3QgVE9PTFRJUF9DT1BZX0lOVExfSU5UTF9QUk9WSURFUiA9IHtcbiAgLy8gSWYgdGhlcmUgaXMgYWxyZWFkeSBhbiBDb2RlRWRpdG9ySW50bCBhdmFpbGFibGUsIHVzZSB0aGF0LiBPdGhlcndpc2UsIHByb3ZpZGUgYSBuZXcgb25lLlxuICBwcm92aWRlOiBUb29sdGlwQ29weUludGwsXG4gIGRlcHM6IFtbbmV3IE9wdGlvbmFsKCksIG5ldyBTa2lwU2VsZigpLCBUb29sdGlwQ29weUludGxdXSxcbiAgdXNlRmFjdG9yeTogVE9PTFRJUF9DT1BZX0lOVExfUFJPVklERVJfRkFDVE9SWSxcbn07XG4iXX0=
@@ -29,7 +29,6 @@ export class TreeSelectComponent extends CommonFormControl {
29
29
  this.filterString$ = this.filterString$$.asObservable();
30
30
  this.displayText = '';
31
31
  this.flattedNodes = [];
32
- // `this` is not available in `trackBy`...
33
32
  this.trackByLabel = (_, node) => this.getLabelFromNode(node);
34
33
  }
35
34
  get nodesData() {
@@ -337,4 +336,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
337
336
  type: ViewChildren,
338
337
  args: [TreeNodeComponent]
339
338
  }] } });
340
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyZWUtc2VsZWN0L3RyZWUtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy90cmVlLXNlbGVjdC90cmVlLXNlbGVjdC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uL3NyYy90cmVlLXNlbGVjdC90cmVlLW5vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDakIsVUFBVSxHQUtYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEdBQUcsRUFFSCxFQUFFLEVBQ0YsU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUk1QyxPQUFPLEVBRUwsUUFBUSxFQUNSLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osVUFBVSxFQUNWLGNBQWMsR0FDZixNQUFNLFVBQVUsQ0FBQzs7Ozs7Ozs7QUFtQmxCLE1BQU0sT0FBTyxtQkFBaUMsU0FBUSxpQkFBb0I7SUFmMUU7O1FBK0JFLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFHaEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUE4QmpCLGFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRzFCLFlBQU8sR0FBZSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBTXBDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUcxQyxTQUFJLEdB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SSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQTBCO1FBQ3JDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDM0IsY0FBYyxDQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQzVCLENBQUM7U0FDSDtJQUNILENBQUM7OzhHQTNKVSxpQkFBaUIsa0JBOENsQixtQkFBbUI7a0dBOUNsQixpQkFBaUIsaVBBZ0NkLGlCQUFpQixnREUvVWpDLCtvQ0EwQ0EsMG5DRnFRYSxpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDRSxlQUFlLG1CQUdSLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksdUJBQ2hCLEtBQUs7MERBZ0RoQixtQkFBbUIsMERBdEN6QixRQUFRO3NCQURYLEtBQUs7Z0JBY0YsUUFBUTtzQkFEWCxLQUFLO2dCQVVOLFFBQVE7c0JBRFAsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl2QyxVQUFVO3NCQURULFlBQVk7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG4gIFF1ZXJ5TGlzdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIEFmdGVyVmlld0luaXQsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc3RhcnRXaXRoLFxuICBTdWJqZWN0LFxuICBzd2l0Y2hNYXAsXG4gIHRha2VVbnRpbCxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ29tbW9uRm9ybUNvbnRyb2wgfSBmcm9tICcuLi9mb3JtJztcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQnO1xuaW1wb3J0IHsgVHJhY2tGbiB9IGZyb20gJy4uL3NlbGVjdC9zZWxlY3QudHlwZXMnO1xuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJy4uL3Rvb2x0aXAnO1xuaW1wb3J0IHtcbiAgQmVtLFxuICBidWlsZEJlbSxcbiAgY29lcmNlQXR0ckJvb2xlYW4sXG4gIGNvZXJjZVN0cmluZyxcbiAgcHVibGlzaFJlZixcbiAgc2Nyb2xsSW50b1ZpZXcsXG59IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgVHJlZU5vZGUgfSBmcm9tICcuL3RyZWUtc2VsZWN0LnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLXRyZWUtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdHJlZS1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRyZWVTZWxlY3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZVNlbGVjdENvbXBvbmVudDxUID0gdW5rbm93bj4gZXh0ZW5kcyBDb21tb25Gb3JtQ29udHJvbDxUPiB7XG4gIEBJbnB1dCgpXG4gIGdldCBub2Rlc0RhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX25vZGVzRGF0YTtcbiAgfVxuXG4gIHNldCBub2Rlc0RhdGEodmFsKSB7XG4gICAgaWYgKCF2YWwgfHwgdmFsID09PSB0aGlzLl9ub2Rlc0RhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fbm9kZXNEYXRhID0gdmFsO1xuICAgIHRoaXMuZmxhdHRlZE5vZGVzID0gdGhpcy5mbGF0Tm9kZXNEYXRhKHZhbCk7XG4gICAgdGhpcy51cGRhdGVTZWxlY3REaXNwbGF5KHRoaXMucHJvcFZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGxvYWRpbmcgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlciA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBmaWx0ZXJhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJhYmxlO1xuICB9XG5cbiAgc2V0IGZpbHRlcmFibGUodmFsOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9maWx0ZXJhYmxlID0gY29lcmNlQXR0ckJvb2xlYW4odmFsKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBjbGVhcmFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NsZWFyYWJsZTtcbiAgfVxuXG4gIHNldCBjbGVhcmFibGUodmFsOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9jbGVhcmFibGUgPSBjb2VyY2VBdHRyQm9vbGVhbih2YWwpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGxlYWZPbmx5KCkge1xuICAgIHJldHVybiB0aGlzLl9sZWFmT25seTtcbiAgfVxuXG4gIHNldCBsZWFmT25seSh2YWw6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2xlYWZPbmx5ID0gY29lcmNlQXR0ckJvb2xlYW4odmFsKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGZpbHRlckZuID0gdGhpcy5fZmlsdGVyRm47XG5cbiAgQElucHV0KClcbiAgdHJhY2tGbjogVHJhY2tGbjxUPiA9IHRoaXMuX3RyYWNrRm47XG5cbiAgQElucHV0KClcbiAgbGFiZWxGbj86ICh2YWx1ZTogVCkgPT4gc3RyaW5nO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KClcbiAgc2hvdyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgaGlkZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAVmlld0NoaWxkKCdzZWxlY3RSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcm90ZWN0ZWQgc2VsZWN0UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCd0b29sdGlwUmVmJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJvdGVjdGVkIHRvb2x0aXBSZWY6IFRvb2x0aXBEaXJlY3RpdmU7XG5cbiAgQFZpZXdDaGlsZCgnbm9kZUxpc3RSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBub2RlTGlzdFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBpbnB1dFJlZjogSW5wdXRDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSBfbm9kZXNEYXRhOiBBcnJheTxUcmVlTm9kZTxUPj4gPSBbXTtcbiAgcHJpdmF0ZSBfZmlsdGVyU3RyaW5nID0gJyc7XG4gIHByaXZhdGUgX2ZpbHRlcmFibGUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY2xlYXJhYmxlID0gZmFsc2U7XG4gIHByaXZhdGUgX2xlYWZPbmx5ID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmlsdGVyU3RyaW5nJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMuZmlsdGVyU3RyaW5nKTtcblxuICBmaWx0ZXJTdHJpbmckOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLmZpbHRlclN0cmluZyQkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnRhaW5lcldpZHRoOiBzdHJpbmc7XG4gIGRpc3BsYXlUZXh0ID0gJyc7XG4gIGZsYXR0ZWROb2RlczogQXJyYXk8VHJlZU5vZGU8VD4+ID0gW107XG5cbiAgZ2V0IGlzQ2xlYXJhYmxlKCkge1xuICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmNsZWFyYWJsZSAmJiB0aGlzLmdldElucHV0VmFsdWUoKTtcbiAgfVxuXG4gIGdldCBvcGVuZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9vbHRpcFJlZi5pc0NyZWF0ZWQ7XG4gIH1cblxuICBnZXQgaW5wdXRSZWFkb25seSgpIHtcbiAgICByZXR1cm4gISh0aGlzLmZpbHRlcmFibGUgJiYgdGhpcy5vcGVuZWQpO1xuICB9XG5cbiAgZ2V0IGZpbHRlclN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyU3RyaW5nO1xuICB9XG5cbiAgc2V0IGZpbHRlclN0cmluZyh2YWwpIHtcbiAgICBpZiAodmFsICE9PSB0aGlzLl9maWx0ZXJTdHJpbmcpIHtcbiAgICAgIHRoaXMuX2ZpbHRlclN0cmluZyA9IHZhbDtcbiAgICAgIHRoaXMuZmlsdGVyU3RyaW5nJCQubmV4dCh2YWwpO1xuICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh2YWwpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5Ob2RlcygpIHtcbiAgICB0aGlzLnRvb2x0aXBSZWYuY3JlYXRlVG9vbHRpcCgpO1xuICB9XG5cbiAgY2xvc2VOb2RlcygpIHtcbiAgICB0aGlzLnRvb2x0aXBSZWYuZGlzcG9zZVRvb2x0aXAoKTtcbiAgfVxuXG4gIHVwZGF0ZVBvc2l0aW9uKCkge1xuICAgIHRoaXMudG9vbHRpcFJlZi51cGRhdGVQb3NpdGlvbigpO1xuICB9XG5cbiAgb25TaG93Tm9kZXMoKSB7XG4gICAgdGhpcy5jb250YWluZXJXaWR0aCA9IHRoaXMuc2VsZWN0UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKyAncHgnO1xuICAgIHRoaXMuc2hvdy5lbWl0KCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25IaWRlTm9kZXMoKSB7XG4gICAgaWYgKHRoaXMub25Ub3VjaGVkKSB7XG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIH1cbiAgICB0aGlzLmZpbHRlclN0cmluZyA9ICcnO1xuICAgIHRoaXMuaGlkZS5lbWl0KCk7XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICB0aGlzLmZpbHRlclN0cmluZyA9IHZhbHVlO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25Ob2RlQ2xpY2sobm9kZTogVHJlZU5vZGVDb21wb25lbnQ8VD4pIHtcbiAgICB0aGlzLnNlbGVjdE5vZGUobm9kZSk7XG4gIH1cblxuICBnZXRWaXNpYmxlTm9kZUNvdW50KCkge1xuICAgIHJldHVybiB0aGlzLmZsYXR0ZWROb2Rlcy5maWx0ZXIobm9kZSA9PlxuICAgICAgdGhpcy5maWx0ZXJGbih0aGlzLmZpbHRlclN0cmluZywgbm9kZSksXG4gICAgKS5sZW5ndGg7XG4gIH1cblxuICBzZWxlY3ROb2RlKG5vZGU6IFRyZWVOb2RlQ29tcG9uZW50PFQ+KSB7XG4gICAgaWYgKCFub2RlLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLmVtaXRWYWx1ZShub2RlLm5vZGVEYXRhLnZhbHVlKTtcbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMuY2xvc2VOb2RlcygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmNsb3NlT3B0aW9uKCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2VPcHRpb24oKSB7XG4gICAgdGhpcy50b29sdGlwUmVmLmRpc3Bvc2VUb29sdGlwKCk7XG4gIH1cblxuICB1cGRhdGVTZWxlY3REaXNwbGF5KHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBwaWNrZWROb2RlID0gdGhpcy5mbGF0dGVkTm9kZXMuZmluZChcbiAgICAgIG5vZGUgPT4gdGhpcy50cmFja0ZuKG5vZGUudmFsdWUpID09PSB0aGlzLnRyYWNrRm4odmFsdWUpLFxuICAgICk7XG4gICAgdGhpcy5kaXNwbGF5VGV4dCA9IHBpY2tlZE5vZGVcbiAgICAgID8gdGhpcy5nZXRMYWJlbEZyb21Ob2RlKHBpY2tlZE5vZGUpLnRvU3RyaW5nKClcbiAgICAgIDogY29lcmNlU3RyaW5nKHRoaXMudHJhY2tGbih2YWx1ZSkpO1xuICB9XG5cbiAgY2xlYXJWYWx1ZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmVtaXRWYWx1ZShudWxsKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbHVlSW4odjogVCk6IFQge1xuICAgIHRoaXMudXBkYXRlU2VsZWN0RGlzcGxheSh2KTtcbiAgICB0aGlzLmNsb3NlTm9kZXMoKTtcbiAgICByZXR1cm4gdjtcbiAgfVxuXG4gIGdldFBsYWNlaG9sZGVyKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcmFibGUgJiYgdGhpcy5vcGVuZWQgPyB0aGlzLmRpc3BsYXlUZXh0IDogdGhpcy5wbGFjZWhvbGRlcjtcbiAgfVxuXG4gIGdldElucHV0VmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyYWJsZSAmJiB0aGlzLm9wZW5lZCA/ICcnIDogdGhpcy5kaXNwbGF5VGV4dDtcbiAgfVxuXG4gIC8vIGB0aGlzYCBpcyBub3QgYXZhaWxhYmxlIGluIGB0cmFja0J5YC4uLlxuICB0cmFja0J5TGFiZWwgPSAoXzogbnVtYmVyLCBub2RlOiBUcmVlTm9kZTxUPikgPT4gdGhpcy5nZXRMYWJlbEZyb21Ob2RlKG5vZGUpO1xuXG4gIHByaXZhdGUgZmxhdE5vZGVzRGF0YShub2RlczogQXJyYXk8VHJlZU5vZGU8VD4+ID0gW10pOiBBcnJheTxUcmVlTm9kZTxUPj4ge1xuICAgIHJldHVybiBub2Rlcy5yZWR1Y2UoXG4gICAgICAocHJldlZhbHVlOiBBcnJheTxUcmVlTm9kZTxUPj4sIGN1cnJlbnROb2RlKSA9PlxuICAgICAgICBwcmV2VmFsdWUuY29uY2F0KGN1cnJlbnROb2RlLCB0aGlzLmZsYXROb2Rlc0RhdGEoY3VycmVudE5vZGUuY2hpbGRyZW4pKSxcbiAgICAgIFtdLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldExhYmVsRnJvbU5vZGUobm9kZTogVHJlZU5vZGU8VD4pIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5sYWJlbEZuPy4obm9kZS52YWx1ZSkgfHxcbiAgICAgIG5vZGUubGFiZWwgfHxcbiAgICAgIGNvZXJjZVN0cmluZyh0aGlzLnRyYWNrRm4obm9kZS52YWx1ZSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbHRlckZuKGZpbHRlclN0cmluZzogc3RyaW5nLCBub2RlOiBUcmVlTm9kZTxUPikge1xuICAgIHJldHVybiB0aGlzLmdldExhYmVsRnJvbU5vZGUobm9kZSk/LmluY2x1ZGVzKGZpbHRlclN0cmluZyA/PyAnJyk7XG4gIH1cblxuICBwcml2YXRlIF90cmFja0ZuPFQ+KHZhbHVlOiBUKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS10cmVlLW5vZGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdHJlZS1ub2RlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZU5vZGVDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBiZW06IEJlbSA9IGJ1aWxkQmVtKCdhdWktdHJlZS1ub2RlJyk7XG5cbiAgcHJpdmF0ZSBfbm9kZURhdGE6IFRyZWVOb2RlPFQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IG5vZGVEYXRhJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRyZWVOb2RlPFQ+Pih0aGlzLm5vZGVEYXRhKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBub2RlRGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbm9kZURhdGE7XG4gIH1cblxuICBzZXQgbm9kZURhdGEodmFsKSB7XG4gICAgaWYgKHZhbCA9PT0gdGhpcy5fbm9kZURhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fbm9kZURhdGEgPSB2YWw7XG4gICAgdGhpcy5ub2RlRGF0YSQkLm5leHQodmFsKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBsZWFmT25seSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbGVhZk9ubHk7XG4gIH1cblxuICBzZXQgbGVhZk9ubHkodmFsOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9sZWFmT25seSA9IGNvZXJjZUF0dHJCb29sZWFuKHZhbCk7XG4gIH1cblxuICBAVmlld0NoaWxkKCd0aXRsZVJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHRpdGxlUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkcmVuKFRyZWVOb2RlQ29tcG9uZW50KVxuICBjaGlsZE5vZGVzOiBRdWVyeUxpc3Q8VHJlZU5vZGVDb21wb25lbnQ8VD4+O1xuXG4gIHNlbGVjdGVkID0gZmFsc2U7XG4gIHZpc2libGUgPSB0cnVlO1xuICBpc0xlYWYgPSBmYWxzZTtcblxuICBwcml2YXRlIF9sZWFmT25seSA9IHRydWU7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VsZWN0OiBUcmVlU2VsZWN0Q29tcG9uZW50PFQ+O1xuICBzZWxlY3RlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHNlbGZWaXNpYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgdmlzaWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2VsZWN0OiBUcmVlU2VsZWN0Q29tcG9uZW50PFQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgdGhpcy5zZWxlY3QgPSBzZWxlY3Q7XG4gICAgdGhpcy5zZWxlY3RlZCQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc2VsZWN0Lm1vZGVsJCxcbiAgICAgIHRoaXMubm9kZURhdGEkJC5waXBlKG1hcChkYXRhID0+IGRhdGEudmFsdWUpKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAoW3NlbGVjdFZhbHVlLCBzZWxmVmFsdWVdKSA9PlxuICAgICAgICAgIHNlbGVjdFZhbHVlICYmXG4gICAgICAgICAgdGhpcy5zZWxlY3QudHJhY2tGbihzZWxlY3RWYWx1ZSkgPT09IHRoaXMuc2VsZWN0LnRyYWNrRm4oc2VsZlZhbHVlKSxcbiAgICAgICksXG4gICAgICB0YXAoc2VsZWN0ZWQgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgICB9KSxcbiAgICAgIHB1Ymxpc2hSZWYoKSxcbiAgICApO1xuICAgIHRoaXMuc2VsZlZpc2libGUkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnNlbGVjdC5maWx0ZXJTdHJpbmckLFxuICAgICAgdGhpcy5ub2RlRGF0YSQkLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtmaWx0ZXJTdHJpbmcsIG5vZGVEYXRhXSkgPT5cbiAgICAgICAgdGhpcy5zZWxlY3QuZmlsdGVyRm4oZmlsdGVyU3RyaW5nLCBub2RlRGF0YSksXG4gICAgICApLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgaGFzVmlzaWJsZUNoaWxkTm9kZXMkID0gdGhpcy5jaGlsZE5vZGVzLmNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmNoaWxkTm9kZXMpLFxuICAgICAgc3dpdGNoTWFwKChub2RlczogUXVlcnlMaXN0PFRyZWVOb2RlQ29tcG9uZW50PFQ+PikgPT5cbiAgICAgICAgbm9kZXMubGVuZ3RoID4gMFxuICAgICAgICAgID8gY29tYmluZUxhdGVzdChub2Rlcy5tYXAobm9kZSA9PiBub2RlLnZpc2libGUkKSlcbiAgICAgICAgICA6IG9mKFtmYWxzZV0pLFxuICAgICAgKSxcbiAgICAgIG1hcCh2aXNpYmxlID0+IHZpc2libGUuc29tZShCb29sZWFuKSksXG4gICAgICB0YXAoaGFzVmlzaWJsZUNoaWxkcmVuID0+ICh0aGlzLmlzTGVhZiA9ICFoYXNWaXNpYmxlQ2hpbGRyZW4pKSxcbiAgICApO1xuICAgIHRoaXMudmlzaWJsZSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc2VsZlZpc2libGUkLFxuICAgICAgaGFzVmlzaWJsZUNoaWxkTm9kZXMkLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAodmlzaWJsZSA9PiB2aXNpYmxlLnNvbWUoQm9vbGVhbikpLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG5cbiAgICB0aGlzLnZpc2libGUkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSkuc3Vic2NyaWJlKHZpc2libGUgPT4ge1xuICAgICAgdGhpcy52aXNpYmxlID0gdmlzaWJsZTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICAgIHRoaXMuc2VsZWN0ZWQkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSkuc3Vic2NyaWJlKHNlbGVjdGVkID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9Ob2RlKHRoaXMpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBvbkNsaWNrKCkge1xuICAgIGlmICh0aGlzLm5vZGVEYXRhLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmxlYWZPbmx5ICYmICF0aGlzLmlzTGVhZikge1xuICAgICAgdGhpcy5zd2l0Y2hFeHBhbmRlZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdC5vbk5vZGVDbGljayh0aGlzKTtcbiAgfVxuXG4gIHN3aXRjaEV4cGFuZGVkKCkge1xuICAgIHRoaXMubm9kZURhdGEuZXhwYW5kZWQgPSAhdGhpcy5ub2RlRGF0YS5leHBhbmRlZDtcbiAgICBpZiAodGhpcy5ub2RlRGF0YS5leHBhbmRlZCAmJiB0aGlzLmNoaWxkTm9kZXMubGFzdCkge1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy5zY3JvbGxUb05vZGUodGhpcy5jaGlsZE5vZGVzLmxhc3QpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdC51cGRhdGVQb3NpdGlvbigpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0SWNvbigpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlRGF0YS5leHBhbmRlZFxuICAgICAgPyB0aGlzLm5vZGVEYXRhLmV4cGFuZGVkSWNvbiB8fCB0aGlzLm5vZGVEYXRhLmljb25cbiAgICAgIDogdGhpcy5ub2RlRGF0YS5pY29uO1xuICB9XG5cbiAgdHJhY2tCeUxhYmVsKF86IG51bWJlciwgZGF0YTogVHJlZU5vZGU8VD4pIHtcbiAgICByZXR1cm4gZGF0YS5sYWJlbDtcbiAgfVxuXG4gIHNjcm9sbFRvTm9kZShub2RlOiBUcmVlTm9kZUNvbXBvbmVudDxUPikge1xuICAgIGlmICh0aGlzLnNlbGVjdC5ub2RlTGlzdFJlZikge1xuICAgICAgc2Nyb2xsSW50b1ZpZXcoXG4gICAgICAgIHRoaXMuc2VsZWN0Lm5vZGVMaXN0UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIG5vZGUudGl0bGVSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYXVpLXRyZWUtc2VsZWN0XCJcbiAgW2NsYXNzLmlzRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbY2xhc3MuaXNDbGVhcmFibGVdPVwiaXNDbGVhcmFibGVcIlxuICAjc2VsZWN0UmVmXG4gICN0b29sdGlwUmVmPVwiYXVpVG9vbHRpcFwiXG4gIFthdWlUb29sdGlwXT1cInRlbXBsYXRlUmVmXCJcbiAgW2F1aVRvb2x0aXBEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIGF1aVRvb2x0aXBUcmlnZ2VyPVwiY2xpY2tcIlxuICBhdWlUb29sdGlwUG9zaXRpb249XCJib3R0b20gc3RhcnRcIlxuICBhdWlUb29sdGlwVHlwZT1cInBsYWluXCJcbiAgKGF1aVRvb2x0aXBTaG93KT1cIm9uU2hvd05vZGVzKClcIlxuICAoYXVpVG9vbHRpcEhpZGUpPVwib25IaWRlTm9kZXMoKVwiXG4+XG4gIDxhdWktaW5wdXQtZ3JvdXA+XG4gICAgPGlucHV0XG4gICAgICAjaW5wdXRSZWZcbiAgICAgIGNsYXNzPVwiYXVpLXRyZWUtc2VsZWN0X19pbnB1dFwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgYXVpLWlucHV0XG4gICAgICBbdmFsdWVdPVwiZ2V0SW5wdXRWYWx1ZSgpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiZ2V0UGxhY2Vob2xkZXIoKVwiXG4gICAgICBbcmVhZG9ubHldPVwiaW5wdXRSZWFkb25seVwiXG4gICAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAgIChibHVyKT1cImNsb3NlTm9kZXMoKVwiXG4gICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8c3BhblxuICAgICAgYXVpSW5wdXRTdWZmaXhcbiAgICAgIGNsYXNzPVwiYXVpLXRyZWUtc2VsZWN0X19pY29uLWNvbnRhaW5lclwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgIGNsYXNzPVwiYXVpLXRyZWUtc2VsZWN0X19pbmRpY2F0b3JcIlxuICAgICAgICBbaWNvbl09XCJsb2FkaW5nID8gJ3NwaW5uZXInIDogJ2NhcmV0X2Rvd25fcydcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgY2xhc3M9XCJhdWktdHJlZS1zZWxlY3RfX2NsZWFyXCJcbiAgICAgICAgaWNvbj1cImNsb3NlX3NtYWxsXCJcbiAgICAgICAgKGNsaWNrKT1cImNsZWFyVmFsdWUoJGV2ZW50KVwiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvYXVpLWlucHV0LWdyb3VwPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVSZWY+XG4gIDxkaXZcbiAgICBjbGFzcz1cImF1aS10cmVlLW5vZGUtY29udGFpbmVyXCJcbiAgICBbc3R5bGUubWluV2lkdGhdPVwiY29udGFpbmVyV2lkdGhcIlxuICAgIChtb3VzZWRvd24pPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICA+XG4gICAgPGRpdlxuICAgICAgI25vZGVMaXN0UmVmXG4gICAgICBjbGFzcz1cImF1aS10cmVlLW5vZGUtY29udGFpbmVyX19jb250ZW50XCJcbiAgICA+XG4gICAgICA8YXVpLXRyZWUtbm9kZVxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBub2Rlc0RhdGE7IHRyYWNrQnk6IHRyYWNrQnlMYWJlbFwiXG4gICAgICAgIFtub2RlRGF0YV09XCJkYXRhXCJcbiAgICAgICAgW2xlYWZPbmx5XT1cImxlYWZPbmx5XCJcbiAgICAgID48L2F1aS10cmVlLW5vZGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCIhZ2V0VmlzaWJsZU5vZGVDb3VudCgpXCJcbiAgICAgIGNsYXNzPVwiYXVpLXRyZWUtbm9kZS1jb250YWluZXJfX3BsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhdWktdHJlZS1ub2RlLXBsYWNlaG9sZGVyXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iLCI8ZGl2XG4gIFtoaWRkZW5dPVwiIXZpc2libGVcIlxuICBjbGFzcz1cImF1aS10cmVlLW5vZGVcIlxuICBbY2xhc3MuaXNEaXNhYmxlZF09XCJub2RlRGF0YS5kaXNhYmxlZFwiXG4gIFtjbGFzcy5pc1NlbGVjdGVkXT1cInNlbGVjdGVkXCJcbiAgW2F0dHIuZGF0YS12YWx1ZV09XCJub2RlRGF0YS52YWx1ZVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhdWktdHJlZS1ub2RlX19jb250ZW50XCI+XG4gICAgPGF1aS1pY29uXG4gICAgICAqbmdJZj1cIm5vZGVEYXRhLmNoaWxkcmVuXCJcbiAgICAgIGNsYXNzPVwiYXVpLXRyZWUtbm9kZV9faW5kaWNhdG9yXCJcbiAgICAgIFtpY29uXT1cIm5vZGVEYXRhLmV4cGFuZGVkID8gJ2FuZ2xlX2Rvd24nIDogJ2FuZ2xlX3JpZ2h0J1wiXG4gICAgICAoY2xpY2spPVwic3dpdGNoRXhwYW5kZWQoKVwiXG4gICAgPjwvYXVpLWljb24+XG4gICAgPHNwYW5cbiAgICAgICN0aXRsZVJlZlxuICAgICAgY2xhc3M9XCJhdWktdHJlZS1ub2RlX190aXRsZVwiXG4gICAgICBbY2xhc3MuaXNEaXNhYmxlZF09XCJub2RlRGF0YS5kaXNhYmxlZFwiXG4gICAgICBbY2xhc3MuaXNTZWxlY3RlZF09XCJzZWxlY3RlZFwiXG4gICAgICBbY2xhc3MudW5zZWxlY3RhYmxlXT1cImxlYWZPbmx5ICYmICFpc0xlYWZcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwibm9kZURhdGEuaWNvblwiXG4gICAgICAgIG1hcmdpbj1cInJpZ2h0XCJcbiAgICAgICAgW2ljb25dPVwiZ2V0SWNvbigpXCJcbiAgICAgID48L2F1aS1pY29uPlxuICAgICAge3sgbm9kZURhdGEubGFiZWwgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgKm5nSWY9XCJub2RlRGF0YS5jaGlsZHJlblwiXG4gICAgW2hpZGRlbl09XCIhbm9kZURhdGEuZXhwYW5kZWRcIlxuICAgIGNsYXNzPVwiYXVpLXRyZWUtbm9kZV9fY2hpbGRyZW5cIlxuICA+XG4gICAgPGF1aS10cmVlLW5vZGVcbiAgICAgICpuZ0Zvcj1cImxldCBkYXRhIG9mIG5vZGVEYXRhLmNoaWxkcmVuOyB0cmFja0J5OiB0cmFja0J5TGFiZWxcIlxuICAgICAgW25vZGVEYXRhXT1cImRhdGFcIlxuICAgICAgW2xlYWZPbmx5XT1cImxlYWZPbmx5XCJcbiAgICA+PC9hdWktdHJlZS1ub2RlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
339
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyZWUtc2VsZWN0L3RyZWUtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy90cmVlLXNlbGVjdC90cmVlLXNlbGVjdC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uL3NyYy90cmVlLXNlbGVjdC90cmVlLW5vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDakIsVUFBVSxHQUtYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEdBQUcsRUFFSCxFQUFFLEVBQ0YsU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUk1QyxPQUFPLEVBRUwsUUFBUSxFQUNSLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osVUFBVSxFQUNWLGNBQWMsR0FDZixNQUFNLFVBQVUsQ0FBQzs7Ozs7Ozs7QUFtQmxCLE1BQU0sT0FBTyxtQkFBaUMsU0FBUSxpQkFBb0I7SUFmMUU7O1FBK0JFLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFHaEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUE4QmpCLGFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRzFCLFlBQU8sR0FBZSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBTXBDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUcxQyxTQUFJLEdB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QUFDO0lBQ3BCLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBMEI7UUFDckMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRTtZQUMzQixjQUFjLENBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FDNUIsQ0FBQztTQUNIO0lBQ0gsQ0FBQzs7OEdBM0pVLGlCQUFpQixrQkE4Q2xCLG1CQUFtQjtrR0E5Q2xCLGlCQUFpQixpUEFnQ2QsaUJBQWlCLGdERS9VakMsK29DQTBDQSwwbkNGcVFhLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQVI3QixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSzswREFnRGhCLG1CQUFtQiwwREF0Q3pCLFFBQVE7c0JBRFgsS0FBSztnQkFjRixRQUFRO3NCQURYLEtBQUs7Z0JBVU4sUUFBUTtzQkFEUCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXZDLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbiAgUXVlcnlMaXN0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDb21tb25Gb3JtQ29udHJvbCB9IGZyb20gJy4uL2Zvcm0nO1xuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dCc7XG5pbXBvcnQgeyBUcmFja0ZuIH0gZnJvbSAnLi4vc2VsZWN0L3NlbGVjdC50eXBlcyc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi4vdG9vbHRpcCc7XG5pbXBvcnQge1xuICBCZW0sXG4gIGJ1aWxkQmVtLFxuICBjb2VyY2VBdHRyQm9vbGVhbixcbiAgY29lcmNlU3RyaW5nLFxuICBwdWJsaXNoUmVmLFxuICBzY3JvbGxJbnRvVmlldyxcbn0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gJy4vdHJlZS1zZWxlY3QudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdHJlZS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90cmVlLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHJlZVNlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlU2VsZWN0Q29tcG9uZW50PFQgPSB1bmtub3duPiBleHRlbmRzIENvbW1vbkZvcm1Db250cm9sPFQ+IHtcbiAgQElucHV0KClcbiAgZ2V0IG5vZGVzRGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbm9kZXNEYXRhO1xuICB9XG5cbiAgc2V0IG5vZGVzRGF0YSh2YWwpIHtcbiAgICBpZiAoIXZhbCB8fCB2YWwgPT09IHRoaXMuX25vZGVzRGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9ub2Rlc0RhdGEgPSB2YWw7XG4gICAgdGhpcy5mbGF0dGVkTm9kZXMgPSB0aGlzLmZsYXROb2Rlc0RhdGEodmFsKTtcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdERpc3BsYXkodGhpcy5wcm9wVmFsdWUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgbG9hZGluZyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgQElucHV0KClcbiAgZ2V0IGZpbHRlcmFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcmFibGU7XG4gIH1cblxuICBzZXQgZmlsdGVyYWJsZSh2YWw6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2ZpbHRlcmFibGUgPSBjb2VyY2VBdHRyQm9vbGVhbih2YWwpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGNsZWFyYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY2xlYXJhYmxlO1xuICB9XG5cbiAgc2V0IGNsZWFyYWJsZSh2YWw6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2NsZWFyYWJsZSA9IGNvZXJjZUF0dHJCb29sZWFuKHZhbCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgbGVhZk9ubHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xlYWZPbmx5O1xuICB9XG5cbiAgc2V0IGxlYWZPbmx5KHZhbDogYm9vbGVhbiB8ICcnKSB7XG4gICAgdGhpcy5fbGVhZk9ubHkgPSBjb2VyY2VBdHRyQm9vbGVhbih2YWwpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZmlsdGVyRm4gPSB0aGlzLl9maWx0ZXJGbjtcblxuICBASW5wdXQoKVxuICB0cmFja0ZuOiBUcmFja0ZuPFQ+ID0gdGhpcy5fdHJhY2tGbjtcblxuICBASW5wdXQoKVxuICBsYWJlbEZuPzogKHZhbHVlOiBUKSA9PiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIGZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBzaG93ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBoaWRlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdFJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByb3RlY3RlZCBzZWxlY3RSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXBSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcm90ZWN0ZWQgdG9vbHRpcFJlZjogVG9vbHRpcERpcmVjdGl2ZTtcblxuICBAVmlld0NoaWxkKCdub2RlTGlzdFJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIG5vZGVMaXN0UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdpbnB1dFJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGlucHV0UmVmOiBJbnB1dENvbXBvbmVudDtcblxuICBwcml2YXRlIF9ub2Rlc0RhdGE6IEFycmF5PFRyZWVOb2RlPFQ+PiA9IFtdO1xuICBwcml2YXRlIF9maWx0ZXJTdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBfZmlsdGVyYWJsZSA9IGZhbHNlO1xuICBwcml2YXRlIF9jbGVhcmFibGUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbGVhZk9ubHkgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJTdHJpbmckJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5maWx0ZXJTdHJpbmcpO1xuXG4gIGZpbHRlclN0cmluZyQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuZmlsdGVyU3RyaW5nJCQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29udGFpbmVyV2lkdGg6IHN0cmluZztcbiAgZGlzcGxheVRleHQgPSAnJztcbiAgZmxhdHRlZE5vZGVzOiBBcnJheTxUcmVlTm9kZTxUPj4gPSBbXTtcblxuICBnZXQgaXNDbGVhcmFibGUoKSB7XG4gICAgcmV0dXJuICF0aGlzLmRpc2FibGVkICYmIHRoaXMuY2xlYXJhYmxlICYmIHRoaXMuZ2V0SW5wdXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IG9wZW5lZCgpIHtcbiAgICByZXR1cm4gdGhpcy50b29sdGlwUmVmLmlzQ3JlYXRlZDtcbiAgfVxuXG4gIGdldCBpbnB1dFJlYWRvbmx5KCkge1xuICAgIHJldHVybiAhKHRoaXMuZmlsdGVyYWJsZSAmJiB0aGlzLm9wZW5lZCk7XG4gIH1cblxuICBnZXQgZmlsdGVyU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJTdHJpbmc7XG4gIH1cblxuICBzZXQgZmlsdGVyU3RyaW5nKHZhbCkge1xuICAgIGlmICh2YWwgIT09IHRoaXMuX2ZpbHRlclN0cmluZykge1xuICAgICAgdGhpcy5fZmlsdGVyU3RyaW5nID0gdmFsO1xuICAgICAgdGhpcy5maWx0ZXJTdHJpbmckJC5uZXh0KHZhbCk7XG4gICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHZhbCk7XG4gICAgfVxuICB9XG5cbiAgb3Blbk5vZGVzKCkge1xuICAgIHRoaXMudG9vbHRpcFJlZi5jcmVhdGVUb29sdGlwKCk7XG4gIH1cblxuICBjbG9zZU5vZGVzKCkge1xuICAgIHRoaXMudG9vbHRpcFJlZi5kaXNwb3NlVG9vbHRpcCgpO1xuICB9XG5cbiAgdXBkYXRlUG9zaXRpb24oKSB7XG4gICAgdGhpcy50b29sdGlwUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gIH1cblxuICBvblNob3dOb2RlcygpIHtcbiAgICB0aGlzLmNvbnRhaW5lcldpZHRoID0gdGhpcy5zZWxlY3RSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCArICdweCc7XG4gICAgdGhpcy5zaG93LmVtaXQoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBvbkhpZGVOb2RlcygpIHtcbiAgICBpZiAodGhpcy5vblRvdWNoZWQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuICAgIHRoaXMuZmlsdGVyU3RyaW5nID0gJyc7XG4gICAgdGhpcy5oaWRlLmVtaXQoKTtcbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgIHRoaXMuZmlsdGVyU3RyaW5nID0gdmFsdWU7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbk5vZGVDbGljayhub2RlOiBUcmVlTm9kZUNvbXBvbmVudDxUPikge1xuICAgIHRoaXMuc2VsZWN0Tm9kZShub2RlKTtcbiAgfVxuXG4gIGdldFZpc2libGVOb2RlQ291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhdHRlZE5vZGVzLmZpbHRlcihub2RlID0+XG4gICAgICB0aGlzLmZpbHRlckZuKHRoaXMuZmlsdGVyU3RyaW5nLCBub2RlKSxcbiAgICApLmxlbmd0aDtcbiAgfVxuXG4gIHNlbGVjdE5vZGUobm9kZTogVHJlZU5vZGVDb21wb25lbnQ8VD4pIHtcbiAgICBpZiAoIW5vZGUuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuZW1pdFZhbHVlKG5vZGUubm9kZURhdGEudmFsdWUpO1xuICAgICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgICAgdGhpcy5jbG9zZU5vZGVzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuY2xvc2VPcHRpb24oKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBjbG9zZU9wdGlvbigpIHtcbiAgICB0aGlzLnRvb2x0aXBSZWYuZGlzcG9zZVRvb2x0aXAoKTtcbiAgfVxuXG4gIHVwZGF0ZVNlbGVjdERpc3BsYXkodmFsdWU6IGFueSkge1xuICAgIGNvbnN0IHBpY2tlZE5vZGUgPSB0aGlzLmZsYXR0ZWROb2Rlcy5maW5kKFxuICAgICAgbm9kZSA9PiB0aGlzLnRyYWNrRm4obm9kZS52YWx1ZSkgPT09IHRoaXMudHJhY2tGbih2YWx1ZSksXG4gICAgKTtcbiAgICB0aGlzLmRpc3BsYXlUZXh0ID0gcGlja2VkTm9kZVxuICAgICAgPyB0aGlzLmdldExhYmVsRnJvbU5vZGUocGlja2VkTm9kZSkudG9TdHJpbmcoKVxuICAgICAgOiBjb2VyY2VTdHJpbmcodGhpcy50cmFja0ZuKHZhbHVlKSk7XG4gIH1cblxuICBjbGVhclZhbHVlKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuZW1pdFZhbHVlKG51bGwpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsdWVJbih2OiBUKTogVCB7XG4gICAgdGhpcy51cGRhdGVTZWxlY3REaXNwbGF5KHYpO1xuICAgIHRoaXMuY2xvc2VOb2RlcygpO1xuICAgIHJldHVybiB2O1xuICB9XG5cbiAgZ2V0UGxhY2Vob2xkZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyYWJsZSAmJiB0aGlzLm9wZW5lZCA/IHRoaXMuZGlzcGxheVRleHQgOiB0aGlzLnBsYWNlaG9sZGVyO1xuICB9XG5cbiAgZ2V0SW5wdXRWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJhYmxlICYmIHRoaXMub3BlbmVkID8gJycgOiB0aGlzLmRpc3BsYXlUZXh0O1xuICB9XG5cbiAgLy8gYHRoaXNgIGlzIG5vdCBhdmFpbGFibGUgaW4gYHRyYWNrQnlgLi4uXG4gIHRyYWNrQnlMYWJlbCA9IChfOiBudW1iZXIsIG5vZGU6IFRyZWVOb2RlPFQ+KSA9PiB0aGlzLmdldExhYmVsRnJvbU5vZGUobm9kZSk7XG5cbiAgcHJpdmF0ZSBmbGF0Tm9kZXNEYXRhKG5vZGVzOiBBcnJheTxUcmVlTm9kZTxUPj4gPSBbXSk6IEFycmF5PFRyZWVOb2RlPFQ+PiB7XG4gICAgcmV0dXJuIG5vZGVzLnJlZHVjZShcbiAgICAgIChwcmV2VmFsdWU6IEFycmF5PFRyZWVOb2RlPFQ+PiwgY3VycmVudE5vZGUpID0+XG4gICAgICAgIHByZXZWYWx1ZS5jb25jYXQoY3VycmVudE5vZGUsIHRoaXMuZmxhdE5vZGVzRGF0YShjdXJyZW50Tm9kZS5jaGlsZHJlbikpLFxuICAgICAgW10sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGFiZWxGcm9tTm9kZShub2RlOiBUcmVlTm9kZTxUPikge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmxhYmVsRm4/Lihub2RlLnZhbHVlKSB8fFxuICAgICAgbm9kZS5sYWJlbCB8fFxuICAgICAgY29lcmNlU3RyaW5nKHRoaXMudHJhY2tGbihub2RlLnZhbHVlKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlsdGVyRm4oZmlsdGVyU3RyaW5nOiBzdHJpbmcsIG5vZGU6IFRyZWVOb2RlPFQ+KSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGFiZWxGcm9tTm9kZShub2RlKT8uaW5jbHVkZXMoZmlsdGVyU3RyaW5nID8/ICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgX3RyYWNrRm48VD4odmFsdWU6IFQpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLXRyZWUtbm9kZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90cmVlLW5vZGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90cmVlLW5vZGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlTm9kZUNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS10cmVlLW5vZGUnKTtcblxuICBwcml2YXRlIF9ub2RlRGF0YTogVHJlZU5vZGU8VD47XG4gIHByaXZhdGUgcmVhZG9ubHkgbm9kZURhdGEkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJlZU5vZGU8VD4+KHRoaXMubm9kZURhdGEpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgQElucHV0KClcbiAgZ2V0IG5vZGVEYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9ub2RlRGF0YTtcbiAgfVxuXG4gIHNldCBub2RlRGF0YSh2YWwpIHtcbiAgICBpZiAodmFsID09PSB0aGlzLl9ub2RlRGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9ub2RlRGF0YSA9IHZhbDtcbiAgICB0aGlzLm5vZGVEYXRhJCQubmV4dCh2YWwpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGxlYWZPbmx5KCkge1xuICAgIHJldHVybiB0aGlzLl9sZWFmT25seTtcbiAgfVxuXG4gIHNldCBsZWFmT25seSh2YWw6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2xlYWZPbmx5ID0gY29lcmNlQXR0ckJvb2xlYW4odmFsKTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RpdGxlUmVmJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgdGl0bGVSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGRyZW4oVHJlZU5vZGVDb21wb25lbnQpXG4gIGNoaWxkTm9kZXM6IFF1ZXJ5TGlzdDxUcmVlTm9kZUNvbXBvbmVudDxUPj47XG5cbiAgc2VsZWN0ZWQgPSBmYWxzZTtcbiAgdmlzaWJsZSA9IHRydWU7XG4gIGlzTGVhZiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2xlYWZPbmx5ID0gdHJ1ZTtcbiAgcHJpdmF0ZSByZWFkb25seSBzZWxlY3Q6IFRyZWVTZWxlY3RDb21wb25lbnQ8VD47XG4gIHNlbGVjdGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgc2VsZlZpc2libGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICB2aXNpYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzZWxlY3Q6IFRyZWVTZWxlY3RDb21wb25lbnQ8VD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICB0aGlzLnNlbGVjdCA9IHNlbGVjdDtcbiAgICB0aGlzLnNlbGVjdGVkJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zZWxlY3QubW9kZWwkLFxuICAgICAgdGhpcy5ub2RlRGF0YSQkLnBpcGUobWFwKGRhdGEgPT4gZGF0YS52YWx1ZSkpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChbc2VsZWN0VmFsdWUsIHNlbGZWYWx1ZV0pID0+XG4gICAgICAgICAgc2VsZWN0VmFsdWUgJiZcbiAgICAgICAgICB0aGlzLnNlbGVjdC50cmFja0ZuKHNlbGVjdFZhbHVlKSA9PT0gdGhpcy5zZWxlY3QudHJhY2tGbihzZWxmVmFsdWUpLFxuICAgICAgKSxcbiAgICAgIHRhcChzZWxlY3RlZCA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgIH0pLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG4gICAgdGhpcy5zZWxmVmlzaWJsZSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc2VsZWN0LmZpbHRlclN0cmluZyQsXG4gICAgICB0aGlzLm5vZGVEYXRhJCQsXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2ZpbHRlclN0cmluZywgbm9kZURhdGFdKSA9PlxuICAgICAgICB0aGlzLnNlbGVjdC5maWx0ZXJGbihmaWx0ZXJTdHJpbmcsIG5vZGVEYXRhKSxcbiAgICAgICksXG4gICAgICBwdWJsaXNoUmVmKCksXG4gICAgKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBoYXNWaXNpYmxlQ2hpbGROb2RlcyQgPSB0aGlzLmNoaWxkTm9kZXMuY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuY2hpbGROb2RlcyksXG4gICAgICBzd2l0Y2hNYXAoKG5vZGVzOiBRdWVyeUxpc3Q8VHJlZU5vZGVDb21wb25lbnQ8VD4+KSA9PlxuICAgICAgICBub2Rlcy5sZW5ndGggPiAwXG4gICAgICAgICAgPyBjb21iaW5lTGF0ZXN0KG5vZGVzLm1hcChub2RlID0+IG5vZGUudmlzaWJsZSQpKVxuICAgICAgICAgIDogb2YoW2ZhbHNlXSksXG4gICAgICApLFxuICAgICAgbWFwKHZpc2libGUgPT4gdmlzaWJsZS5zb21lKEJvb2xlYW4pKSxcbiAgICAgIHRhcChoYXNWaXNpYmxlQ2hpbGRyZW4gPT4gKHRoaXMuaXNMZWFmID0gIWhhc1Zpc2libGVDaGlsZHJlbikpLFxuICAgICk7XG4gICAgdGhpcy52aXNpYmxlJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zZWxmVmlzaWJsZSQsXG4gICAgICBoYXNWaXNpYmxlQ2hpbGROb2RlcyQsXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCh2aXNpYmxlID0+IHZpc2libGUuc29tZShCb29sZWFuKSksXG4gICAgICBwdWJsaXNoUmVmKCksXG4gICAgKTtcblxuICAgIHRoaXMudmlzaWJsZSQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKS5zdWJzY3JpYmUodmlzaWJsZSA9PiB7XG4gICAgICB0aGlzLnZpc2libGUgPSB2aXNpYmxlO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gICAgdGhpcy5zZWxlY3RlZCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKS5zdWJzY3JpYmUoc2VsZWN0ZWQgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy5zY3JvbGxUb05vZGUodGhpcyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG9uQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMubm9kZURhdGEuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMubGVhZk9ubHkgJiYgIXRoaXMuaXNMZWFmKSB7XG4gICAgICB0aGlzLnN3aXRjaEV4cGFuZGVkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0Lm9uTm9kZUNsaWNrKHRoaXMpO1xuICB9XG5cbiAgc3dpdGNoRXhwYW5kZWQoKSB7XG4gICAgdGhpcy5ub2RlRGF0YS5leHBhbmRlZCA9ICF0aGlzLm5vZGVEYXRhLmV4cGFuZGVkO1xuICAgIGlmICh0aGlzLm5vZGVEYXRhLmV4cGFuZGVkICYmIHRoaXMuY2hpbGROb2Rlcy5sYXN0KSB7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNjcm9sbFRvTm9kZSh0aGlzLmNoaWxkTm9kZXMubGFzdCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0LnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRJY29uKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGVEYXRhLmV4cGFuZGVkXG4gICAgICA/IHRoaXMubm9kZURhdGEuZXhwYW5kZWRJY29uIHx8IHRoaXMubm9kZURhdGEuaWNvblxuICAgICAgOiB0aGlzLm5vZGVEYXRhLmljb247XG4gIH1cblxuICB0cmFja0J5TGFiZWwoXzogbnVtYmVyLCBkYXRhOiBUcmVlTm9kZTxUPikge1xuICAgIHJldHVybiBkYXRhLmxhYmVsO1xuICB9XG5cbiAgc2Nyb2xsVG9Ob2RlKG5vZGU6IFRyZWVOb2RlQ29tcG9uZW50PFQ+KSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0Lm5vZGVMaXN0UmVmKSB7XG4gICAgICBzY3JvbGxJbnRvVmlldyhcbiAgICAgICAgdGhpcy5zZWxlY3Qubm9kZUxpc3RSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgbm9kZS50aXRsZVJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJhdWktdHJlZS1zZWxlY3RcIlxuICBbY2xhc3MuaXNEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtjbGFzcy5pc0NsZWFyYWJsZV09XCJpc0NsZWFyYWJsZVwiXG4gICNzZWxlY3RSZWZcbiAgI3Rvb2x0aXBSZWY9XCJhdWlUb29sdGlwXCJcbiAgW2F1aVRvb2x0aXBdPVwidGVtcGxhdGVSZWZcIlxuICBbYXVpVG9vbHRpcERpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgYXVpVG9vbHRpcFRyaWdnZXI9XCJjbGlja1wiXG4gIGF1aVRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbSBzdGFydFwiXG4gIGF1aVRvb2x0aXBUeXBlPVwicGxhaW5cIlxuICAoYXVpVG9vbHRpcFNob3cpPVwib25TaG93Tm9kZXMoKVwiXG4gIChhdWlUb29sdGlwSGlkZSk9XCJvbkhpZGVOb2RlcygpXCJcbj5cbiAgPGF1aS1pbnB1dC1ncm91cD5cbiAgICA8aW5wdXRcbiAgICAgICNpbnB1dFJlZlxuICAgICAgY2xhc3M9XCJhdWktdHJlZS1zZWxlY3RfX2lucHV0XCJcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICBhdWktaW5wdXRcbiAgICAgIFt2YWx1ZV09XCJnZXRJbnB1dFZhbHVlKClcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcbiAgICAgIFtyZWFkb25seV09XCJpbnB1dFJlYWRvbmx5XCJcbiAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAgICAgKGJsdXIpPVwiY2xvc2VOb2RlcygpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxzcGFuXG4gICAgICBhdWlJbnB1dFN1ZmZpeFxuICAgICAgY2xhc3M9XCJhdWktdHJlZS1zZWxlY3RfX2ljb24tY29udGFpbmVyXCJcbiAgICA+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgY2xhc3M9XCJhdWktdHJlZS1zZWxlY3RfX2luZGljYXRvclwiXG4gICAgICAgIFtpY29uXT1cImxvYWRpbmcgPyAnc3Bpbm5lcicgOiAnY2FyZXRfZG93bl9zJ1wiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDxhdWktaWNvblxuICAgICAgICBjbGFzcz1cImF1aS10cmVlLXNlbGVjdF9fY2xlYXJcIlxuICAgICAgICBpY29uPVwiY2xvc2Vfc21hbGxcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgID48L2F1aS1pY29uPlxuICAgIDwvc3Bhbj5cbiAgPC9hdWktaW5wdXQtZ3JvdXA+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZVJlZj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYXVpLXRyZWUtbm9kZS1jb250YWluZXJcIlxuICAgIFtzdHlsZS5taW5XaWR0aF09XCJjb250YWluZXJXaWR0aFwiXG4gICAgKG1vdXNlZG93bik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICAjbm9kZUxpc3RSZWZcbiAgICAgIGNsYXNzPVwiYXVpLXRyZWUtbm9kZS1jb250YWluZXJfX2NvbnRlbnRcIlxuICAgID5cbiAgICAgIDxhdWktdHJlZS1ub2RlXG4gICAgICAgICpuZ0Zvcj1cImxldCBkYXRhIG9mIG5vZGVzRGF0YTsgdHJhY2tCeTogdHJhY2tCeUxhYmVsXCJcbiAgICAgICAgW25vZGVEYXRhXT1cImRhdGFcIlxuICAgICAgICBbbGVhZk9ubHldPVwibGVhZk9ubHlcIlxuICAgICAgPjwvYXVpLXRyZWUtbm9kZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFnZXRWaXNpYmxlTm9kZUNvdW50KClcIlxuICAgICAgY2xhc3M9XCJhdWktdHJlZS1ub2RlLWNvbnRhaW5lcl9fcGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF1aS10cmVlLW5vZGUtcGxhY2Vob2xkZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiIsIjxkaXZcbiAgW2hpZGRlbl09XCIhdmlzaWJsZVwiXG4gIGNsYXNzPVwiYXVpLXRyZWUtbm9kZVwiXG4gIFtjbGFzcy5pc0Rpc2FibGVkXT1cIm5vZGVEYXRhLmRpc2FibGVkXCJcbiAgW2NsYXNzLmlzU2VsZWN0ZWRdPVwic2VsZWN0ZWRcIlxuICBbYXR0ci5kYXRhLXZhbHVlXT1cIm5vZGVEYXRhLnZhbHVlXCJcbj5cbiAgPGRpdiBjbGFzcz1cImF1aS10cmVlLW5vZGVfX2NvbnRlbnRcIj5cbiAgICA8YXVpLWljb25cbiAgICAgICpuZ0lmPVwibm9kZURhdGEuY2hpbGRyZW5cIlxuICAgICAgY2xhc3M9XCJhdWktdHJlZS1ub2RlX19pbmRpY2F0b3JcIlxuICAgICAgW2ljb25dPVwibm9kZURhdGEuZXhwYW5kZWQgPyAnYW5nbGVfZG93bicgOiAnYW5nbGVfcmlnaHQnXCJcbiAgICAgIChjbGljayk9XCJzd2l0Y2hFeHBhbmRlZCgpXCJcbiAgICA+PC9hdWktaWNvbj5cbiAgICA8c3BhblxuICAgICAgI3RpdGxlUmVmXG4gICAgICBjbGFzcz1cImF1aS10cmVlLW5vZGVfX3RpdGxlXCJcbiAgICAgIFtjbGFzcy5pc0Rpc2FibGVkXT1cIm5vZGVEYXRhLmRpc2FibGVkXCJcbiAgICAgIFtjbGFzcy5pc1NlbGVjdGVkXT1cInNlbGVjdGVkXCJcbiAgICAgIFtjbGFzcy51bnNlbGVjdGFibGVdPVwibGVhZk9ubHkgJiYgIWlzTGVhZlwiXG4gICAgICAoY2xpY2spPVwib25DbGljaygpXCJcbiAgICA+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgKm5nSWY9XCJub2RlRGF0YS5pY29uXCJcbiAgICAgICAgbWFyZ2luPVwicmlnaHRcIlxuICAgICAgICBbaWNvbl09XCJnZXRJY29uKClcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICB7eyBub2RlRGF0YS5sYWJlbCB9fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICAqbmdJZj1cIm5vZGVEYXRhLmNoaWxkcmVuXCJcbiAgICBbaGlkZGVuXT1cIiFub2RlRGF0YS5leHBhbmRlZFwiXG4gICAgY2xhc3M9XCJhdWktdHJlZS1ub2RlX19jaGlsZHJlblwiXG4gID5cbiAgICA8YXVpLXRyZWUtbm9kZVxuICAgICAgKm5nRm9yPVwibGV0IGRhdGEgb2Ygbm9kZURhdGEuY2hpbGRyZW47IHRyYWNrQnk6IHRyYWNrQnlMYWJlbFwiXG4gICAgICBbbm9kZURhdGFdPVwiZGF0YVwiXG4gICAgICBbbGVhZk9ubHldPVwibGVhZk9ubHlcIlxuICAgID48L2F1aS10cmVlLW5vZGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
package/esm2020/types.mjs CHANGED
@@ -3,9 +3,6 @@ export const ComponentSize = {
3
3
  Medium: 'medium',
4
4
  Small: 'small',
5
5
  Mini: 'mini',
6
- /**
7
- * represents default internally, @link https://github.com/angular/vscode-ng-language-service/issues/1147
8
- */
9
6
  Empty: '',
10
7
  };
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLEtBQUssRUFBRSxPQUFPO0lBQ2QsTUFBTSxFQUFFLFFBQVE7SUFDaEIsS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsTUFBTTtJQUNaOztPQUVHO0lBQ0gsS0FBSyxFQUFFLEVBQUU7Q0FDRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVmFsdWVPZjxUPiA9IFRba2V5b2YgVF07XG5cbmV4cG9ydCBjb25zdCBDb21wb25lbnRTaXplID0ge1xuICBMYXJnZTogJ2xhcmdlJyxcbiAgTWVkaXVtOiAnbWVkaXVtJyxcbiAgU21hbGw6ICdzbWFsbCcsXG4gIE1pbmk6ICdtaW5pJyxcbiAgLyoqXG4gICAqIHJlcHJlc2VudHMgZGVmYXVsdCBpbnRlcm5hbGx5LCBAbGluayBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci92c2NvZGUtbmctbGFuZ3VhZ2Utc2VydmljZS9pc3N1ZXMvMTE0N1xuICAgKi9cbiAgRW1wdHk6ICcnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQ29tcG9uZW50U2l6ZSA9IFZhbHVlT2Y8dHlwZW9mIENvbXBvbmVudFNpemU+O1xuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLEtBQUssRUFBRSxPQUFPO0lBQ2QsTUFBTSxFQUFFLFFBQVE7SUFDaEIsS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsTUFBTTtJQUlaLEtBQUssRUFBRSxFQUFFO0NBQ0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFZhbHVlT2Y8VD4gPSBUW2tleW9mIFRdO1xuXG5leHBvcnQgY29uc3QgQ29tcG9uZW50U2l6ZSA9IHtcbiAgTGFyZ2U6ICdsYXJnZScsXG4gIE1lZGl1bTogJ21lZGl1bScsXG4gIFNtYWxsOiAnc21hbGwnLFxuICBNaW5pOiAnbWluaScsXG4gIC8qKlxuICAgKiByZXByZXNlbnRzIGRlZmF1bHQgaW50ZXJuYWxseSwgQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvdnNjb2RlLW5nLWxhbmd1YWdlLXNlcnZpY2UvaXNzdWVzLzExNDdcbiAgICovXG4gIEVtcHR5OiAnJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIENvbXBvbmVudFNpemUgPSBWYWx1ZU9mPHR5cGVvZiBDb21wb25lbnRTaXplPjtcbiJdfQ==
@@ -1,4 +1,3 @@
1
- // Experimental bem classname helper
2
1
  export class Bem {
3
2
  constructor(namespace) {
4
3
  this.namespace = namespace;
@@ -41,4 +40,4 @@ function getActivatedModifiersFromObject(modifiers) {
41
40
  export function buildBem(namespace) {
42
41
  return new Bem(namespace);
43
42
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2JlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsTUFBTSxPQUFPLEdBQUc7SUFDZCxZQUE2QixTQUFpQjtRQUFqQixjQUFTLEdBQVQsU0FBUyxDQUFRO0lBQUcsQ0FBQztJQUVsRCxLQUFLLENBQUMsR0FBRyxTQUFzRDtRQUM3RCxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVELElBQUksa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxrQkFBa0I7aUJBQzNDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQztpQkFDakQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7U0FDaEI7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZO1FBQ25CLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxPQUFPLENBQ0wsSUFBWSxFQUNaLEdBQUcsU0FBMkQ7UUFFOUQsTUFBTSxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU1RCxJQUFJLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDakMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLGtCQUFrQjtpQkFDcEQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxRQUFRLENBQUM7aUJBQy9ELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1NBQ2hCO1FBRUQsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDdEMsQ0FBQztDQUNGO0FBRUQsU0FBUyxxQkFBcUIsQ0FDNUIsU0FBMkQ7SUFFM0QsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFXLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFO1FBQ2xELElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixPQUFPLEdBQUcsQ0FBQztTQUNaO1FBQ0QsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUNmLE9BQU8sUUFBUSxLQUFLLFFBQVE7WUFDMUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQ1osQ0FBQyxDQUFDLCtCQUErQixDQUFDLFFBQVEsQ0FBQyxDQUM5QyxDQUFDO0lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQztBQUVELFNBQVMsK0JBQStCLENBQUMsU0FFeEM7SUFDQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsU0FBaUI7SUFDeEMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRXhwZXJpbWVudGFsIGJlbSBjbGFzc25hbWUgaGVscGVyXG5leHBvcnQgY2xhc3MgQmVtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBuYW1lc3BhY2U6IHN0cmluZykge31cblxuICBibG9jayguLi5tb2RpZmllcnM6IEFycmF5PHsgW25hbWU6IHN0cmluZ106IGJvb2xlYW4gfSB8IHN0cmluZz4pIHtcbiAgICBjb25zdCBhY3RpdmF0ZWRNb2RpZmllcnMgPSBnZXRBY3RpdmF0ZWRNb2RpZmllcnMobW9kaWZpZXJzKTtcbiAgICBpZiAoYWN0aXZhdGVkTW9kaWZpZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLm5hbWVzcGFjZX0gJHthY3RpdmF0ZWRNb2RpZmllcnNcbiAgICAgICAgLm1hcChtb2RpZmllciA9PiB0aGlzLm5hbWVzcGFjZSArICctLScgKyBtb2RpZmllcilcbiAgICAgICAgLmpvaW4oJyAnKX1gO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5uYW1lc3BhY2U7XG4gIH1cblxuICBtb2RpZmllcihuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5uYW1lc3BhY2V9LS0ke25hbWV9YDtcbiAgfVxuXG4gIGVsZW1lbnQoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIC4uLm1vZGlmaWVyczogQXJyYXk8eyBbbmFtZTogc3RyaW5nXTogYm9vbGVhbiB8ICcnIH0gfCBzdHJpbmc+XG4gICkge1xuICAgIGNvbnN0IGFjdGl2YXRlZE1vZGlmaWVycyA9IGdldEFjdGl2YXRlZE1vZGlmaWVycyhtb2RpZmllcnMpO1xuXG4gICAgaWYgKGFjdGl2YXRlZE1vZGlmaWVycy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5uYW1lc3BhY2V9X18ke25hbWV9ICR7YWN0aXZhdGVkTW9kaWZpZXJzXG4gICAgICAgIC5tYXAobW9kaWZpZXIgPT4gdGhpcy5uYW1lc3BhY2UgKyAnX18nICsgbmFtZSArICctLScgKyBtb2RpZmllcilcbiAgICAgICAgLmpvaW4oJyAnKX1gO1xuICAgIH1cblxuICAgIHJldHVybiBgJHt0aGlzLm5hbWVzcGFjZX1fXyR7bmFtZX1gO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEFjdGl2YXRlZE1vZGlmaWVycyhcbiAgbW9kaWZpZXJzOiBBcnJheTx7IFtuYW1lOiBzdHJpbmddOiBib29sZWFuIHwgJycgfSB8IHN0cmluZz4sXG4pIHtcbiAgcmV0dXJuIG1vZGlmaWVycy5yZWR1Y2U8c3RyaW5nW10+KChhY2MsIG1vZGlmaWVyKSA9PiB7XG4gICAgaWYgKCFtb2RpZmllcikge1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9XG4gICAgcmV0dXJuIGFjYy5jb25jYXQoXG4gICAgICB0eXBlb2YgbW9kaWZpZXIgPT09ICdzdHJpbmcnXG4gICAgICAgID8gW21vZGlmaWVyXVxuICAgICAgICA6IGdldEFjdGl2YXRlZE1vZGlmaWVyc0Zyb21PYmplY3QobW9kaWZpZXIpLFxuICAgICk7XG4gIH0sIFtdKTtcbn1cblxuZnVuY3Rpb24gZ2V0QWN0aXZhdGVkTW9kaWZpZXJzRnJvbU9iamVjdChtb2RpZmllcnM6IHtcbiAgW25hbWU6IHN0cmluZ106IGJvb2xlYW4gfCAnJztcbn0pIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG1vZGlmaWVycykuZmlsdGVyKGtleSA9PiBtb2RpZmllcnNba2V5XSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEJlbShuYW1lc3BhY2U6IHN0cmluZykge1xuICByZXR1cm4gbmV3IEJlbShuYW1lc3BhY2UpO1xufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2JlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLE9BQU8sR0FBRztJQUNkLFlBQTZCLFNBQWlCO1FBQWpCLGNBQVMsR0FBVCxTQUFTLENBQVE7SUFBRyxDQUFDO0lBRWxELEtBQUssQ0FBQyxHQUFHLFNBQXNEO1FBQzdELE1BQU0sa0JBQWtCLEdBQUcscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUQsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2pDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLGtCQUFrQjtpQkFDM0MsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsUUFBUSxDQUFDO2lCQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztTQUNoQjtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVk7UUFDbkIsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELE9BQU8sQ0FDTCxJQUFZLEVBQ1osR0FBRyxTQUEyRDtRQUU5RCxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVELElBQUksa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLElBQUksa0JBQWtCO2lCQUNwRCxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQztpQkFDL0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7U0FDaEI7UUFFRCxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUFFRCxTQUFTLHFCQUFxQixDQUM1QixTQUEyRDtJQUUzRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQVcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7UUFDbEQsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFDRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQ2YsT0FBTyxRQUFRLEtBQUssUUFBUTtZQUMxQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDWixDQUFDLENBQUMsK0JBQStCLENBQUMsUUFBUSxDQUFDLENBQzlDLENBQUM7SUFDSixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDO0FBRUQsU0FBUywrQkFBK0IsQ0FBQyxTQUV4QztJQUNDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxTQUFpQjtJQUN4QyxPQUFPLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBFeHBlcmltZW50YWwgYmVtIGNsYXNzbmFtZSBoZWxwZXJcbmV4cG9ydCBjbGFzcyBCZW0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG5hbWVzcGFjZTogc3RyaW5nKSB7fVxuXG4gIGJsb2NrKC4uLm1vZGlmaWVyczogQXJyYXk8eyBbbmFtZTogc3RyaW5nXTogYm9vbGVhbiB9IHwgc3RyaW5nPikge1xuICAgIGNvbnN0IGFjdGl2YXRlZE1vZGlmaWVycyA9IGdldEFjdGl2YXRlZE1vZGlmaWVycyhtb2RpZmllcnMpO1xuICAgIGlmIChhY3RpdmF0ZWRNb2RpZmllcnMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMubmFtZXNwYWNlfSAke2FjdGl2YXRlZE1vZGlmaWVyc1xuICAgICAgICAubWFwKG1vZGlmaWVyID0+IHRoaXMubmFtZXNwYWNlICsgJy0tJyArIG1vZGlmaWVyKVxuICAgICAgICAuam9pbignICcpfWA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm5hbWVzcGFjZTtcbiAgfVxuXG4gIG1vZGlmaWVyKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBgJHt0aGlzLm5hbWVzcGFjZX0tLSR7bmFtZX1gO1xuICB9XG5cbiAgZWxlbWVudChcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgLi4ubW9kaWZpZXJzOiBBcnJheTx7IFtuYW1lOiBzdHJpbmddOiBib29sZWFuIHwgJycgfSB8IHN0cmluZz5cbiAgKSB7XG4gICAgY29uc3QgYWN0aXZhdGVkTW9kaWZpZXJzID0gZ2V0QWN0aXZhdGVkTW9kaWZpZXJzKG1vZGlmaWVycyk7XG5cbiAgICBpZiAoYWN0aXZhdGVkTW9kaWZpZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLm5hbWVzcGFjZX1fXyR7bmFtZX0gJHthY3RpdmF0ZWRNb2RpZmllcnNcbiAgICAgICAgLm1hcChtb2RpZmllciA9PiB0aGlzLm5hbWVzcGFjZSArICdfXycgKyBuYW1lICsgJy0tJyArIG1vZGlmaWVyKVxuICAgICAgICAuam9pbignICcpfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3RoaXMubmFtZXNwYWNlfV9fJHtuYW1lfWA7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0QWN0aXZhdGVkTW9kaWZpZXJzKFxuICBtb2RpZmllcnM6IEFycmF5PHsgW25hbWU6IHN0cmluZ106IGJvb2xlYW4gfCAnJyB9IHwgc3RyaW5nPixcbikge1xuICByZXR1cm4gbW9kaWZpZXJzLnJlZHVjZTxzdHJpbmdbXT4oKGFjYywgbW9kaWZpZXIpID0+IHtcbiAgICBpZiAoIW1vZGlmaWVyKSB7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH1cbiAgICByZXR1cm4gYWNjLmNvbmNhdChcbiAgICAgIHR5cGVvZiBtb2RpZmllciA9PT0gJ3N0cmluZydcbiAgICAgICAgPyBbbW9kaWZpZXJdXG4gICAgICAgIDogZ2V0QWN0aXZhdGVkTW9kaWZpZXJzRnJvbU9iamVjdChtb2RpZmllciksXG4gICAgKTtcbiAgfSwgW10pO1xufVxuXG5mdW5jdGlvbiBnZXRBY3RpdmF0ZWRNb2RpZmllcnNGcm9tT2JqZWN0KG1vZGlmaWVyczoge1xuICBbbmFtZTogc3RyaW5nXTogYm9vbGVhbiB8ICcnO1xufSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMobW9kaWZpZXJzKS5maWx0ZXIoa2V5ID0+IG1vZGlmaWVyc1trZXldKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQmVtKG5hbWVzcGFjZTogc3RyaW5nKSB7XG4gIHJldHVybiBuZXcgQmVtKG5hbWVzcGFjZSk7XG59XG4iXX0=
@@ -1,5 +1,4 @@
1
1
  export function coerceString(val) {
2
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
3
2
  return val == null ? '' : val?.toString() ?? '';
4
3
  }
5
4
  export function coerceAttrBoolean(val) {
@@ -9,9 +8,6 @@ export function coerceNumber(val, fallbackValue = 0) {
9
8
  return _isNumberValue(val) ? Number(val) : fallbackValue;
10
9
  }
11
10
  export function _isNumberValue(value) {
12
- // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,
13
- // and other non-number values as NaN, where Number just uses 0) but it considers the string
14
- // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.
15
11
  return !isNaN(parseFloat(value)) && !isNaN(Number(value));
16
12
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lcmNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvY29lcmNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFRO0lBQ25DLDZEQUE2RDtJQUM3RCxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNsRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQVk7SUFDNUMsT0FBTyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDbkMsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBWSxFQUFFLGFBQWEsR0FBRyxDQUFDO0lBQzFELE9BQU8sY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztBQUMzRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxLQUFjO0lBQzNDLGlHQUFpRztJQUNqRyw0RkFBNEY7SUFDNUYsb0ZBQW9GO0lBQ3BGLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDdEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBjb2VyY2VTdHJpbmcodmFsOiBhbnkpOiBzdHJpbmcge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1jYWxsXG4gIHJldHVybiB2YWwgPT0gbnVsbCA/ICcnIDogdmFsPy50b1N0cmluZygpID8/ICcnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29lcmNlQXR0ckJvb2xlYW4odmFsOiB1bmtub3duKTogYm9vbGVhbiB7XG4gIHJldHVybiB2YWwgPT09ICcnID8gdHJ1ZSA6ICEhdmFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29lcmNlTnVtYmVyKHZhbDogdW5rbm93biwgZmFsbGJhY2tWYWx1ZSA9IDApOiBudW1iZXIge1xuICByZXR1cm4gX2lzTnVtYmVyVmFsdWUodmFsKSA/IE51bWJlcih2YWwpIDogZmFsbGJhY2tWYWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9pc051bWJlclZhbHVlKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB7XG4gIC8vIHBhcnNlRmxvYXQodmFsdWUpIGhhbmRsZXMgbW9zdCBvZiB0aGUgY2FzZXMgd2UncmUgaW50ZXJlc3RlZCBpbiAoaXQgdHJlYXRzIG51bGwsIGVtcHR5IHN0cmluZyxcbiAgLy8gYW5kIG90aGVyIG5vbi1udW1iZXIgdmFsdWVzIGFzIE5hTiwgd2hlcmUgTnVtYmVyIGp1c3QgdXNlcyAwKSBidXQgaXQgY29uc2lkZXJzIHRoZSBzdHJpbmdcbiAgLy8gJzEyM2hlbGxvJyB0byBiZSBhIHZhbGlkIG51bWJlci4gVGhlcmVmb3JlIHdlIGFsc28gY2hlY2sgaWYgTnVtYmVyKHZhbHVlKSBpcyBOYU4uXG4gIHJldHVybiAhaXNOYU4ocGFyc2VGbG9hdCh2YWx1ZSBhcyBzdHJpbmcpKSAmJiAhaXNOYU4oTnVtYmVyKHZhbHVlKSk7XG59XG4iXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lcmNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvY29lcmNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFRO0lBRW5DLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ2xELENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsR0FBWTtJQUM1QyxPQUFPLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNuQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFZLEVBQUUsYUFBYSxHQUFHLENBQUM7SUFDMUQsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0FBQzNELENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQWM7SUFJM0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBZSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN0RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGNvZXJjZVN0cmluZyh2YWw6IGFueSk6IHN0cmluZyB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGxcbiAgcmV0dXJuIHZhbCA9PSBudWxsID8gJycgOiB2YWw/LnRvU3RyaW5nKCkgPz8gJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2VyY2VBdHRyQm9vbGVhbih2YWw6IHVua25vd24pOiBib29sZWFuIHtcbiAgcmV0dXJuIHZhbCA9PT0gJycgPyB0cnVlIDogISF2YWw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2VyY2VOdW1iZXIodmFsOiB1bmtub3duLCBmYWxsYmFja1ZhbHVlID0gMCk6IG51bWJlciB7XG4gIHJldHVybiBfaXNOdW1iZXJWYWx1ZSh2YWwpID8gTnVtYmVyKHZhbCkgOiBmYWxsYmFja1ZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX2lzTnVtYmVyVmFsdWUodmFsdWU6IHVua25vd24pOiBib29sZWFuIHtcbiAgLy8gcGFyc2VGbG9hdCh2YWx1ZSkgaGFuZGxlcyBtb3N0IG9mIHRoZSBjYXNlcyB3ZSdyZSBpbnRlcmVzdGVkIGluIChpdCB0cmVhdHMgbnVsbCwgZW1wdHkgc3RyaW5nLFxuICAvLyBhbmQgb3RoZXIgbm9uLW51bWJlciB2YWx1ZXMgYXMgTmFOLCB3aGVyZSBOdW1iZXIganVzdCB1c2VzIDApIGJ1dCBpdCBjb25zaWRlcnMgdGhlIHN0cmluZ1xuICAvLyAnMTIzaGVsbG8nIHRvIGJlIGEgdmFsaWQgbnVtYmVyLiBUaGVyZWZvcmUgd2UgYWxzbyBjaGVjayBpZiBOdW1iZXIodmFsdWUpIGlzIE5hTi5cbiAgcmV0dXJuICFpc05hTihwYXJzZUZsb2F0KHZhbHVlIGFzIHN0cmluZykpICYmICFpc05hTihOdW1iZXIodmFsdWUpKTtcbn1cbiJdfQ==