@taiga-ui/kit 4.3.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/components/calendar-range/calendar-range.component.d.ts +16 -6
  2. package/components/preview/preview.component.d.ts +1 -1
  3. package/directives/button-close/index.d.ts +0 -1
  4. package/directives/icon-badge/icon-badge.directive.d.ts +9 -0
  5. package/directives/icon-badge/index.d.ts +1 -0
  6. package/directives/index.d.ts +1 -0
  7. package/esm2022/components/calendar-range/calendar-range.component.mjs +37 -41
  8. package/esm2022/components/carousel/carousel.component.mjs +3 -3
  9. package/esm2022/components/checkbox/checkbox.component.mjs +2 -2
  10. package/esm2022/components/files/input-files/input-files.directive.mjs +6 -3
  11. package/esm2022/components/items-with-more/items-with-more.service.mjs +3 -3
  12. package/esm2022/components/pagination/pagination.component.mjs +2 -2
  13. package/esm2022/components/preview/preview.component.mjs +4 -6
  14. package/esm2022/components/push/push-alert.component.mjs +3 -3
  15. package/esm2022/components/radio/radio.component.mjs +2 -2
  16. package/esm2022/components/range/range-change.directive.mjs +5 -5
  17. package/esm2022/components/range/range.component.mjs +3 -3
  18. package/esm2022/components/slider/helpers/key-steps.mjs +3 -2
  19. package/esm2022/components/slider/helpers/slider-key-steps.directive.mjs +2 -2
  20. package/esm2022/components/switch/switch.component.mjs +3 -3
  21. package/esm2022/components/tabs/tabs-with-more.component.mjs +7 -6
  22. package/esm2022/components/tiles/tiles.component.mjs +3 -3
  23. package/esm2022/directives/button-close/button-close.directive.mjs +5 -6
  24. package/esm2022/directives/button-close/index.mjs +1 -2
  25. package/esm2022/directives/icon-badge/icon-badge.directive.mjs +41 -0
  26. package/esm2022/directives/icon-badge/index.mjs +2 -0
  27. package/esm2022/directives/icon-badge/taiga-ui-kit-directives-icon-badge.mjs +5 -0
  28. package/esm2022/directives/index.mjs +2 -1
  29. package/esm2022/directives/lazy-loading/lazy-loading.service.mjs +2 -2
  30. package/esm2022/directives/sensitive/sensitive.directive.mjs +5 -5
  31. package/esm2022/directives/skeleton/skeleton.directive.mjs +2 -2
  32. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +36 -40
  33. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-kit-components-carousel.mjs +2 -2
  35. package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
  36. package/fesm2022/taiga-ui-kit-components-checkbox.mjs +1 -1
  37. package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-kit-components-files.mjs +5 -2
  39. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +2 -2
  41. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-kit-components-pagination.mjs +1 -1
  43. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-kit-components-preview.mjs +3 -5
  45. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-kit-components-push.mjs +2 -2
  47. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-kit-components-radio.mjs +1 -1
  49. package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-kit-components-range.mjs +6 -6
  51. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-kit-components-slider.mjs +3 -2
  53. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-kit-components-switch.mjs +2 -2
  55. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-kit-components-tabs.mjs +6 -5
  57. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-kit-components-tiles.mjs +2 -2
  59. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-kit-directives-button-close.mjs +5 -8
  61. package/fesm2022/taiga-ui-kit-directives-button-close.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-kit-directives-icon-badge.mjs +47 -0
  63. package/fesm2022/taiga-ui-kit-directives-icon-badge.mjs.map +1 -0
  64. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs +1 -1
  65. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +4 -4
  67. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +1 -1
  69. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-kit-directives.mjs +1 -0
  71. package/fesm2022/taiga-ui-kit-directives.mjs.map +1 -1
  72. package/package.json +10 -4
  73. package/directives/button-close/button-close.options.d.ts +0 -1
  74. package/esm2022/directives/button-close/button-close.options.mjs +0 -3
@@ -24,14 +24,14 @@ class TuiItemsWithMoreService extends Observable {
24
24
  const items = Array.from(children, ({ clientWidth }) => clientWidth);
25
25
  const first = this.directive.required === -1 ? 0 : this.directive.required;
26
26
  const last = items.length - 1;
27
- const more = children[last]?.tagName === 'SPAN' ? items[last] : 0;
27
+ const more = children[last]?.tagName === 'SPAN' ? (items[last] ?? 0) : 0;
28
28
  items.unshift(...items.splice(first, 1));
29
29
  let total = items.reduce((sum, width) => sum + width, 0) - more;
30
30
  if (total <= clientWidth && this.directive.itemsLimit >= items.length) {
31
31
  return this.maxItems;
32
32
  }
33
33
  for (let i = last - 1; i > 0; i--) {
34
- total -= items[i];
34
+ total -= items[i] ?? 0;
35
35
  if (total + more <= clientWidth) {
36
36
  return tuiClamp(i > this.directive.required ? i - 1 : i - 2, -1, this.maxItems);
37
37
  }
@@ -45,4 +45,4 @@ export { TuiItemsWithMoreService };
45
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiItemsWithMoreService, decorators: [{
46
46
  type: Injectable
47
47
  }], ctorParameters: function () { return []; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMtd2l0aC1tb3JlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pdGVtcy13aXRoLW1vcmUvaXRlbXMtd2l0aC1tb3JlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV2RixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFdEUsTUFDYSx1QkFBd0IsU0FBUSxVQUFrQjtJQWdCM0Q7UUFDSSxLQUFLLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFoQjdDLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLGNBQVMsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUU1QyxZQUFPLEdBQUcsS0FBSyxDQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFDdEIsTUFBTSxDQUFDLHVCQUF1QixFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxDQUFDLEVBQzdDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUM5QyxDQUFDLElBQUksQ0FDRixZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQ2YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQ2xDLG9CQUFvQixFQUFFLEVBQ3RCLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUNoQyxLQUFLLEVBQUUsQ0FDVixDQUFDO0lBSUYsQ0FBQztJQUVELElBQVksUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUTtZQUN0RCxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsQ0FBQztZQUMvQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsTUFBTSxFQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDM0UsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDOUIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWxFLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXpDLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUVoRSxJQUFJLEtBQUssSUFBSSxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNuRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDeEI7UUFFRCxLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMvQixLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWxCLElBQUksS0FBSyxHQUFHLElBQUksSUFBSSxXQUFXLEVBQUU7Z0JBQzdCLE9BQU8sUUFBUSxDQUNYLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDM0MsQ0FBQyxDQUFDLEVBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FDaEIsQ0FBQzthQUNMO1NBQ0o7UUFFRCxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2QsQ0FBQzsrR0F0RFEsdUJBQXVCO21IQUF2Qix1QkFBdUI7O1NBQXZCLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGFibGUsIE5nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge011dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlfSBmcm9tICdAbmctd2ViLWFwaXMvbXV0YXRpb24tb2JzZXJ2ZXInO1xuaW1wb3J0IHtSZXNpemVPYnNlcnZlclNlcnZpY2V9IGZyb20gJ0BuZy13ZWItYXBpcy9yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHt0dWlab25lT3B0aW1pemVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlDbGFtcH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgbWVyZ2UsIE9ic2VydmFibGUsIHNoYXJlLCB0aHJvdHRsZVRpbWV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aUl0ZW1zV2l0aE1vcmVEaXJlY3RpdmV9IGZyb20gJy4vaXRlbXMtd2l0aC1tb3JlLmRpcmVjdGl2ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUdWlJdGVtc1dpdGhNb3JlU2VydmljZSBleHRlbmRzIE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpcmVjdGl2ZSA9IGluamVjdChUdWlJdGVtc1dpdGhNb3JlRGlyZWN0aXZlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdHJlYW0kID0gbWVyZ2UoXG4gICAgICAgIHRoaXMuZGlyZWN0aXZlLmNoYW5nZSQsXG4gICAgICAgIGluamVjdChNdXRhdGlvbk9ic2VydmVyU2VydmljZSwge3NlbGY6IHRydWV9KSxcbiAgICAgICAgaW5qZWN0KFJlc2l6ZU9ic2VydmVyU2VydmljZSwge3NlbGY6IHRydWV9KSxcbiAgICApLnBpcGUoXG4gICAgICAgIHRocm90dGxlVGltZSgwKSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuZ2V0T3ZlcmZsb3dJbmRleCgpKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgdHVpWm9uZU9wdGltaXplZChpbmplY3QoTmdab25lKSksXG4gICAgICAgIHNoYXJlKCksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigoc3Vic2NyaWJlcikgPT4gdGhpcy5zdHJlYW0kLnN1YnNjcmliZShzdWJzY3JpYmVyKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbWF4SXRlbXMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlyZWN0aXZlLml0ZW1zTGltaXQgPiB0aGlzLmRpcmVjdGl2ZS5yZXF1aXJlZFxuICAgICAgICAgICAgPyB0aGlzLmRpcmVjdGl2ZS5pdGVtc0xpbWl0IC0gMVxuICAgICAgICAgICAgOiB0aGlzLmRpcmVjdGl2ZS5pdGVtc0xpbWl0IC0gMjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE92ZXJmbG93SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge2NsaWVudFdpZHRoLCBjaGlsZHJlbn0gPSB0aGlzLmVsO1xuICAgICAgICBjb25zdCBpdGVtcyA9IEFycmF5LmZyb20oY2hpbGRyZW4sICh7Y2xpZW50V2lkdGh9KSA9PiBjbGllbnRXaWR0aCk7XG4gICAgICAgIGNvbnN0IGZpcnN0ID0gdGhpcy5kaXJlY3RpdmUucmVxdWlyZWQgPT09IC0xID8gMCA6IHRoaXMuZGlyZWN0aXZlLnJlcXVpcmVkO1xuICAgICAgICBjb25zdCBsYXN0ID0gaXRlbXMubGVuZ3RoIC0gMTtcbiAgICAgICAgY29uc3QgbW9yZSA9IGNoaWxkcmVuW2xhc3RdPy50YWdOYW1lID09PSAnU1BBTicgPyBpdGVtc1tsYXN0XSA6IDA7XG5cbiAgICAgICAgaXRlbXMudW5zaGlmdCguLi5pdGVtcy5zcGxpY2UoZmlyc3QsIDEpKTtcblxuICAgICAgICBsZXQgdG90YWwgPSBpdGVtcy5yZWR1Y2UoKHN1bSwgd2lkdGgpID0+IHN1bSArIHdpZHRoLCAwKSAtIG1vcmU7XG5cbiAgICAgICAgaWYgKHRvdGFsIDw9IGNsaWVudFdpZHRoICYmIHRoaXMuZGlyZWN0aXZlLml0ZW1zTGltaXQgPj0gaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tYXhJdGVtcztcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSBsYXN0IC0gMTsgaSA+IDA7IGktLSkge1xuICAgICAgICAgICAgdG90YWwgLT0gaXRlbXNbaV07XG5cbiAgICAgICAgICAgIGlmICh0b3RhbCArIG1vcmUgPD0gY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHVpQ2xhbXAoXG4gICAgICAgICAgICAgICAgICAgIGkgPiB0aGlzLmRpcmVjdGl2ZS5yZXF1aXJlZCA/IGkgLSAxIDogaSAtIDIsXG4gICAgICAgICAgICAgICAgICAgIC0xLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1heEl0ZW1zLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxufVxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMtd2l0aC1tb3JlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pdGVtcy13aXRoLW1vcmUvaXRlbXMtd2l0aC1tb3JlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV2RixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFdEUsTUFDYSx1QkFBd0IsU0FBUSxVQUFrQjtJQWdCM0Q7UUFDSSxLQUFLLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFoQjdDLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLGNBQVMsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUU1QyxZQUFPLEdBQUcsS0FBSyxDQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFDdEIsTUFBTSxDQUFDLHVCQUF1QixFQUFFLEVBQUMsSUFBSSxF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YXIvY29yZSc7XG5pbXBvcnQge011dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlfSBmcm9tICdAbmctd2ViLWFwaXMvbXV0YXRpb24tb2JzZXJ2ZXInO1xuaW1wb3J0IHtSZXNpemVPYnNlcnZlclNlcnZpY2V9IGZyb20gJ0BuZy13ZWItYXBpcy9yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHt0dWlab25lT3B0aW1pemVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlDbGFtcH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgbWVyZ2UsIE9ic2VydmFibGUsIHNoYXJlLCB0aHJvdHRsZVRpbWV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aUl0ZW1zV2l0aE1vcmVEaXJlY3RpdmV9IGZyb20gJy4vaXRlbXMtd2l0aC1tb3JlLmRpcmVjdGl2ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUdWlJdGVtc1dpdGhNb3JlU2VydmljZSBleHRlbmRzIE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpcmVjdGl2ZSA9IGluamVjdChUdWlJdGVtc1dpdGhNb3JlRGlyZWN0aXZlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdHJlYW0kID0gbWVyZ2UoXG4gICAgICAgIHRoaXMuZGlyZWN0aXZlLmNoYW5nZSQsXG4gICAgICAgIGluamVjdChNdXRhdGlvbk9ic2VydmVyU2VydmljZSwge3NlbGY6IHRydWV9KSxcbiAgICAgICAgaW5qZWN0KFJlc2l6ZU9ic2VydmVyU2VydmljZSwge3NlbGY6IHRydWV9KSxcbiAgICApLnBpcGUoXG4gICAgICAgIHRocm90dGxlVGltZSgwKSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuZ2V0T3ZlcmZsb3dJbmRleCgpKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgdHVpWm9uZU9wdGltaXplZChpbmplY3QoTmdab25lKSksXG4gICAgICAgIHNoYXJlKCksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigoc3Vic2NyaWJlcikgPT4gdGhpcy5zdHJlYW0kLnN1YnNjcmliZShzdWJzY3JpYmVyKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbWF4SXRlbXMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlyZWN0aXZlLml0ZW1zTGltaXQgPiB0aGlzLmRpcmVjdGl2ZS5yZXF1aXJlZFxuICAgICAgICAgICAgPyB0aGlzLmRpcmVjdGl2ZS5pdGVtc0xpbWl0IC0gMVxuICAgICAgICAgICAgOiB0aGlzLmRpcmVjdGl2ZS5pdGVtc0xpbWl0IC0gMjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE92ZXJmbG93SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge2NsaWVudFdpZHRoLCBjaGlsZHJlbn0gPSB0aGlzLmVsO1xuICAgICAgICBjb25zdCBpdGVtcyA9IEFycmF5LmZyb20oY2hpbGRyZW4sICh7Y2xpZW50V2lkdGh9KSA9PiBjbGllbnRXaWR0aCk7XG4gICAgICAgIGNvbnN0IGZpcnN0ID0gdGhpcy5kaXJlY3RpdmUucmVxdWlyZWQgPT09IC0xID8gMCA6IHRoaXMuZGlyZWN0aXZlLnJlcXVpcmVkO1xuICAgICAgICBjb25zdCBsYXN0ID0gaXRlbXMubGVuZ3RoIC0gMTtcbiAgICAgICAgY29uc3QgbW9yZSA9IGNoaWxkcmVuW2xhc3RdPy50YWdOYW1lID09PSAnU1BBTicgPyAoaXRlbXNbbGFzdF0gPz8gMCkgOiAwO1xuXG4gICAgICAgIGl0ZW1zLnVuc2hpZnQoLi4uaXRlbXMuc3BsaWNlKGZpcnN0LCAxKSk7XG5cbiAgICAgICAgbGV0IHRvdGFsID0gaXRlbXMucmVkdWNlKChzdW0sIHdpZHRoKSA9PiBzdW0gKyB3aWR0aCwgMCkgLSBtb3JlO1xuXG4gICAgICAgIGlmICh0b3RhbCA8PSBjbGllbnRXaWR0aCAmJiB0aGlzLmRpcmVjdGl2ZS5pdGVtc0xpbWl0ID49IGl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubWF4SXRlbXM7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGxldCBpID0gbGFzdCAtIDE7IGkgPiAwOyBpLS0pIHtcbiAgICAgICAgICAgIHRvdGFsIC09IGl0ZW1zW2ldID8/IDA7XG5cbiAgICAgICAgICAgIGlmICh0b3RhbCArIG1vcmUgPD0gY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHVpQ2xhbXAoXG4gICAgICAgICAgICAgICAgICAgIGkgPiB0aGlzLmRpcmVjdGl2ZS5yZXF1aXJlZCA/IGkgLSAxIDogaSAtIDIsXG4gICAgICAgICAgICAgICAgICAgIC0xLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1heEl0ZW1zLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxufVxuIl19
@@ -113,7 +113,7 @@ class TuiPagination {
113
113
  if (element === this.els.first.nativeElement) {
114
114
  return;
115
115
  }
116
- const previous = this.els.find((_, index, array) => array[index + 1].nativeElement === element);
116
+ const previous = this.els.find((_, index, array) => array[index + 1]?.nativeElement === element);
117
117
  previous?.nativeElement.focus();
118
118
  }
119
119
  onElementKeyDownArrowRight(element) {
@@ -210,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
210
210
  }], indexChange: [{
211
211
  type: Output
212
212
  }] } });
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUVyRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQU9yRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFMUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO0FBRTdCLE1BUWEsYUFBYTtJQVIxQjtRQVVxQixRQUFHLEdBQXVDLFdBQVcsQ0FBQztRQUV0RCxPQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUV0QixXQUFNLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdEMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUczQyxXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBR1gsY0FBUyxHQUFHLElBQUksQ0FBQztRQUdqQixTQUFJLEdBQXdCLEdBQUcsQ0FBQztRQUd2QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpDOztXQUVHO1FBRUksa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFFekI7O1dBRUc7UUFFSSxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQVF2Qjs7V0FFRztRQUVJLFVBQUssR0FBRyxDQUFDLENBQUM7UUFHRCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0F5TTVEO0lBdk1HLElBQVcsc0JBQXNCO1FBQzdCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUMsY0FBYyxFQUFDLEdBQUcsSUFBSSxDQUFDO1FBRTlCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxjQUFjLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDckMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXJELElBQUksU0FBUyxFQUFFO2dCQUNYLGtCQUFrQixFQUFFLENBQUM7YUFDeEI7WUFFRCxJQUFJLFNBQVMsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUMxQixNQUFNO2FBQ1Q7U0FDSjtRQUVELE9BQU8sQ0FDSCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxrQkFBa0IsQ0FBQyxFQUFFLGFBQWE7WUFDeEUsSUFBSSxDQUNQLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQVcsbUJBQW1CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsb0JBQW9CO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBYyxjQUFjO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hFLENBQUM7SUFFRCxJQUFjLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDMUMsQ0FBQztJQUVTLGtCQUFrQixDQUFDLEtBQWE7UUFDdEMsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7O09BSUc7SUFDTywwQkFBMEIsQ0FBQyxZQUFvQjtRQUNyRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxFQUFFO1lBQ25CLE9BQU8sWUFBWSxDQUFDO1NBQ3ZCO1FBRUQsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNqQyxPQUFPLFlBQVksQ0FBQztTQUN2QjtRQUVELElBQUksWUFBWSxLQUFLLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6RSxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDO1FBRWpFLElBQ0ksbUJBQW1CLEtBQUssSUFBSSxDQUFDLFdBQVc7WUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFDM0M7WUFDRSxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsSUFBSSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQztTQUMvQztRQUVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7UUFFckUsT0FBTyxRQUFRLENBQ1gsYUFBYSxFQUNiLFlBQVksRUFDWixJQUFJLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUN2QyxDQUFDO0lBQ04sQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFhO1FBQ2xDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUUxRCxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN2RCxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQWE7UUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRVMseUJBQXlCLENBQUMsT0FBb0I7UUFDcEQsSUFBSSxPQUFPLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFO1lBQzFDLE9BQU87U0FDVjtRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUMxQixDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLGFBQWEsS0FBSyxPQUFPLENBQ2xFLENBQUM7UUFFRixRQUFRLEVBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFUywwQkFBMEIsQ0FBQyxPQUFvQjtRQUNyRCxJQUFJLE9BQU8sS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDekMsT0FBTztTQUNWO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQ3RCLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsYUFBYSxLQUFLLE9BQU8sQ0FDbkUsQ0FBQztRQUVGLElBQUksRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVTLFlBQVksQ0FBQyxTQUFpQztRQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFZLFlBQVk7UUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBWSxhQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFZLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFZLGlCQUFpQjtRQUN6QixPQUFPLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLGtCQUFrQixDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFZLFNBQVM7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBWSxnQkFBZ0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGlCQUFpQixDQUFDLEtBQWE7UUFDbkMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDeEQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxTQUFpQztRQUNqRCxJQUFJLENBQUMsV0FBVyxDQUNaLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsU0FBUyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzdFLENBQUM7SUFDTixDQUFDO0lBRU8sV0FBVztRQUNmLE1BQU0sRUFBQyxzQkFBc0IsRUFBQyxHQUFHLElBQUksQ0FBQztRQUV0QyxJQUFJLHNCQUFzQixFQUFFO1lBQ3hCLHNCQUFzQixDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFhO1FBQzdCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7WUFDdEIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzsrR0F0UFEsYUFBYTttR0FBYixhQUFhLDJXQUNVLFVBQVUsNkJDM0M5Qyx1eUdBK0VBLDQyQkQxQ2MsSUFBSSx3RkFBRSxTQUFTLDhDQUFFLFNBQVMsb0lBQUUsY0FBYyw2R0FBRSxNQUFNLHlFQUFFLGtCQUFrQjs7U0FLdkUsYUFBYTs0RkFBYixhQUFhO2tCQVJ6QixTQUFTO2lDQUNNLElBQUksWUFDTixnQkFBZ0IsV0FDakIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixDQUFDLG1CQUdoRSx1QkFBdUIsQ0FBQyxNQUFNOzhCQUk5QixHQUFHO3NCQURuQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBU3BDLE1BQU07c0JBRFosS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlVLFFBQVE7c0JBRHZCLEtBQUs7Z0JBT0MsYUFBYTtzQkFEbkIsS0FBSztnQkFPQyxXQUFXO3NCQURqQixLQUFLO2dCQU9DLE9BQU87c0JBRGIsS0FBSztnQkFPQyxLQUFLO3NCQURYLEtBQUs7Z0JBSVUsV0FBVztzQkFEMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXN5bmNQaXBlLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge1F1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUxldH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2xldCc7XG5pbXBvcnQge1R1aVJlcGVhdFRpbWVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcmVwZWF0LXRpbWVzJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlJc05hdGl2ZUZvY3VzZWRJbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cyc7XG5pbXBvcnQge3R1aUNsYW1wfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7VFVJX1NQSU5fSUNPTlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7XG4gICAgVHVpSG9yaXpvbnRhbERpcmVjdGlvbixcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlTaXplWFMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7VFVJX1BBR0lOQVRJT05fVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuY29uc3QgRE9UU19MRU5HVEggPSAxO1xuY29uc3QgQUNUSVZFX0lURU1fTEVOR1RIID0gMTtcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1wYWdpbmF0aW9uJyxcbiAgICBpbXBvcnRzOiBbTmdJZiwgQXN5bmNQaXBlLCBUdWlCdXR0b24sIFR1aVJlcGVhdFRpbWVzLCBUdWlMZXQsIFBvbHltb3JwaGV1c091dGxldF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVBhZ2luYXRpb24ge1xuICAgIEBWaWV3Q2hpbGRyZW4oJ2VsZW1lbnQnLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbHM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGV4dHMkID0gaW5qZWN0KFRVSV9QQUdJTkFUSU9OX1RFWFRTKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbnMgPSBpbmplY3QoVFVJX1NQSU5fSUNPTlMpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbGVuZ3RoID0gMTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZvY3VzYWJsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplTCB8IFR1aVNpemVTID0gJ2wnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEFtb3VudCBvZiB2aXNpYmxlIHBhZ2VzIGFyb3VuZCBhY3RpdmUgcGFnZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFjdGl2ZVBhZGRpbmcgPSAxO1xuXG4gICAgLyoqXG4gICAgICogQW1vdW50IG9mIHZpc2libGUgcGFnZXMgYXQgdGhlIGVkZ2VzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2lkZVBhZGRpbmcgPSAxO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9taXphdGlvbiBmb3IgcGFnZSBudW1iZXIgZGlzcGxheS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHQ8bnVtYmVyPj47XG5cbiAgICAvKipcbiAgICAgKiBBY3RpdmUgcGFnZSBpbmRleFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGluZGV4ID0gMDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBpbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgcHVibGljIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBhY3RpdmVFbGVtZW50SW5kZXggPSAwO1xuICAgICAgICBjb25zdCB7ZWxlbWVudHNMZW5ndGh9ID0gdGhpcztcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnRzTGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1JbmRleCA9IHRoaXMuZ2V0SXRlbUluZGV4QnlFbGVtZW50SW5kZXgoaSk7XG5cbiAgICAgICAgICAgIGlmIChpdGVtSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBhY3RpdmVFbGVtZW50SW5kZXgrKztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW1JbmRleCA9PT0gdGhpcy5pbmRleCkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZWxzLmZpbmQoKF8sIGluZGV4KSA9PiBpbmRleCA9PT0gYWN0aXZlRWxlbWVudEluZGV4KT8ubmF0aXZlRWxlbWVudCA/P1xuICAgICAgICAgICAgbnVsbFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYXJyb3dJc0Rpc2FibGVkTGVmdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggPT09IDA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhcnJvd0lzRGlzYWJsZWRSaWdodCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmV2ZXJzZUluZGV4ID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBpdGVtcyBpbiBhIGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0IGVsZW1lbnRzTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zRml0ID8gdGhpcy5sZW5ndGggOiB0aGlzLm1heEVsZW1lbnRzTGVuZ3RoO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgYnV0dG9uU2l6ZSgpOiBUdWlTaXplWFMge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplID09PSAnbScgPyAneHMnIDogJ3MnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbGVtZW50SXNGb2N1c2FibGUoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gaW5kZXggJiYgIXRoaXMuZm9jdXNlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgaW5kZXggYnkgZWxlbWVudCBpbmRleFxuICAgICAqIEBwYXJhbSBlbGVtZW50SW5kZXhcbiAgICAgKiBAcmV0dXJucyBpbmRleCBvciBudWxsIChmb3IgJ+KApicpXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldEl0ZW1JbmRleEJ5RWxlbWVudEluZGV4KGVsZW1lbnRJbmRleDogbnVtYmVyKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLnNpemUgPT09ICdzJykge1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRJbmRleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlbGVtZW50SW5kZXggPCB0aGlzLnNpZGVQYWRkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudEluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVsZW1lbnRJbmRleCA9PT0gdGhpcy5zaWRlUGFkZGluZyAmJiB0aGlzLmhhc0NvbGxhcHNlZEl0ZW1zKHRoaXMuaW5kZXgpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJldmVyc2VFbGVtZW50SW5kZXggPSB0aGlzLmxhc3RFbGVtZW50SW5kZXggLSBlbGVtZW50SW5kZXg7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgcmV2ZXJzZUVsZW1lbnRJbmRleCA9PT0gdGhpcy5zaWRlUGFkZGluZyAmJlxuICAgICAgICAgICAgdGhpcy5oYXNDb2xsYXBzZWRJdGVtcyh0aGlzLnJldmVyc2VJbmRleClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXZlcnNlRWxlbWVudEluZGV4IDwgdGhpcy5zaWRlUGFkZGluZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubGFzdEluZGV4IC0gcmV2ZXJzZUVsZW1lbnRJbmRleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbXB1dGVkSW5kZXggPSB0aGlzLmluZGV4IC0gdGhpcy5tYXhIYWxmTGVuZ3RoICsgZWxlbWVudEluZGV4O1xuXG4gICAgICAgIHJldHVybiB0dWlDbGFtcChcbiAgICAgICAgICAgIGNvbXB1dGVkSW5kZXgsXG4gICAgICAgICAgICBlbGVtZW50SW5kZXgsXG4gICAgICAgICAgICB0aGlzLmxhc3RJbmRleCAtIHJldmVyc2VFbGVtZW50SW5kZXgsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEVsZW1lbnRNb2RlKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBmYWxsYmFjayA9IHRoaXMuc2l6ZSA9PT0gJ3MnID8gJ3NlY29uZGFyeScgOiAnZmxhdCc7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggPT09IGluZGV4ID8gJ3ByaW1hcnknIDogZmFsbGJhY2s7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRWxlbWVudENsaWNrKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVJbmRleChpbmRleCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRWxlbWVudEtleURvd25BcnJvd0xlZnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgPT09IHRoaXMuZWxzLmZpcnN0Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5lbHMuZmluZChcbiAgICAgICAgICAgIChfLCBpbmRleCwgYXJyYXkpID0+IGFycmF5W2luZGV4ICsgMV0ubmF0aXZlRWxlbWVudCA9PT0gZWxlbWVudCxcbiAgICAgICAgKTtcblxuICAgICAgICBwcmV2aW91cz8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkVsZW1lbnRLZXlEb3duQXJyb3dSaWdodChlbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZWxlbWVudCA9PT0gdGhpcy5lbHMubGFzdC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXh0ID0gdGhpcy5lbHMuZmluZChcbiAgICAgICAgICAgIChfLCBpbmRleCwgYXJyYXkpID0+IGFycmF5W2luZGV4IC0gMV0/Lm5hdGl2ZUVsZW1lbnQgPT09IGVsZW1lbnQsXG4gICAgICAgICk7XG5cbiAgICAgICAgbmV4dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkFycm93Q2xpY2soZGlyZWN0aW9uOiBUdWlIb3Jpem9udGFsRGlyZWN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJ5Q2hhbmdlVG8oZGlyZWN0aW9uKTtcbiAgICAgICAgdGhpcy5mb2N1c0FjdGl2ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFjdGl2ZSBpbmRleCBmcm9tIHRoZSBlbmRcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldCByZXZlcnNlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdEluZGV4IC0gdGhpcy5pbmRleDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYXggbnVtYmVyIG9mIGVsZW1lbnRzIGluIGhhbGYgKG5vdCBjb3VudGluZyB0aGUgbWlkZGxlIG9uZSkuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgbWF4SGFsZkxlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zaWRlUGFkZGluZyArIERPVFNfTEVOR1RIICsgdGhpcy5hY3RpdmVQYWRkaW5nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElzIHRoZXJlICcuLi4nIGFueXdoZXJlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgaXRlbXNGaXQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxlbmd0aCA8PSB0aGlzLm1heEVsZW1lbnRzTGVuZ3RoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1heCBudW1iZXIgb2YgZWxlbWVudHNcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldCBtYXhFbGVtZW50c0xlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXhIYWxmTGVuZ3RoICogMiArIEFDVElWRV9JVEVNX0xFTkdUSDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBsYXN0SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGVuZ3RoIC0gMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBsYXN0RWxlbWVudEluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRzTGVuZ3RoIC0gMTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBcmUgdGhlcmUgY29sbGFwc2VkIGl0ZW1zIGF0IHRoYXQgaW5kZXhcbiAgICAgKiBAcGFyYW0gaW5kZXhcbiAgICAgKiBAcmV0dXJucyB0aGVyZSBhcmUgY29sbGFwc2VkIGl0ZW1zXG4gICAgICovXG4gICAgcHJpdmF0ZSBoYXNDb2xsYXBzZWRJdGVtcyhpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pdGVtc0ZpdCAmJiBpbmRleCA+IHRoaXMubWF4SGFsZkxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyeUNoYW5nZVRvKGRpcmVjdGlvbjogVHVpSG9yaXpvbnRhbERpcmVjdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUluZGV4KFxuICAgICAgICAgICAgdHVpQ2xhbXAodGhpcy5pbmRleCArIChkaXJlY3Rpb24gPT09ICdyaWdodCcgPyAxIDogLTEpLCAwLCB0aGlzLmxhc3RJbmRleCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0FjdGl2ZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge25hdGl2ZUZvY3VzYWJsZUVsZW1lbnR9ID0gdGhpcztcblxuICAgICAgICBpZiAobmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVJbmRleChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmluZGV4ID09PSBpbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLmluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0LWNvbnRlbnRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2l6ZSAhPT0gJ3MnOyBlbHNlIHNtYWxsQnV0dG9uc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGV4dHMkIHwgYXN5bmMgYXMgdGV4dHNcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgdGFiSW5kZXg9XCItMVwiXG4gICAgICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhcnJvd0lzRGlzYWJsZWRMZWZ0XCJcbiAgICAgICAgICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLmRlY3JlbWVudFwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiYnV0dG9uU2l6ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQXJyb3dDbGljaygnbGVmdCcpXCJcbiAgICAgICAgICAgICAgICAobW91c2Vkb3duLnNpbGVudC5wcmV2ZW50KT1cIigwKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdGV4dHNbMF0gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqdHVpUmVwZWF0VGltZXM9XCJsZXQgZWxlbWVudEluZGV4IG9mIGVsZW1lbnRzTGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqdHVpTGV0PVwiZ2V0SXRlbUluZGV4QnlFbGVtZW50SW5kZXgoZWxlbWVudEluZGV4KSBhcyBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImluZGV4ICE9PSBudWxsOyBlbHNlIGRvdHNUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAjZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wYWdpbmF0aW9uX19lbGVtZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImdldEVsZW1lbnRNb2RlKGluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwiYnV0dG9uU2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGFiSW5kZXhdPVwiZWxlbWVudElzRm9jdXNhYmxlKGluZGV4KSA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25FbGVtZW50Q2xpY2soaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93TGVmdC5wcmV2ZW50KT1cIm9uRWxlbWVudEtleURvd25BcnJvd0xlZnQoZWxlbWVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3dSaWdodC5wcmV2ZW50KT1cIm9uRWxlbWVudEtleURvd25BcnJvd1JpZ2h0KGVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGVudCB8fCBpbmRleCArIDEgYXMgdGV4dDsgY29udGV4dDogeyRpbXBsaWNpdDogaW5kZXh9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgIHRhYkluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYXJyb3dJc0Rpc2FibGVkUmlnaHRcIlxuICAgICAgICAgICAgICAgIFtpY29uU3RhcnRdPVwiaWNvbnMuaW5jcmVtZW50XCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCJidXR0b25TaXplXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BcnJvd0NsaWNrKCdyaWdodCcpXCJcbiAgICAgICAgICAgICAgICAobW91c2Vkb3duLnNpbGVudC5wcmV2ZW50KT1cIigwKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdGV4dHNbMV0gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI3NtYWxsQnV0dG9ucz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKnR1aVJlcGVhdFRpbWVzPVwibGV0IGluZGV4SXRlbSBvZiBsZW5ndGhcIlxuICAgICAgICAgICAgI2VsZW1lbnRcbiAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uIHQtYnV0dG9uX3NtYWxsXCJcbiAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImdldEVsZW1lbnRNb2RlKGluZGV4SXRlbSlcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFt0YWJJbmRleF09XCJlbGVtZW50SXNGb2N1c2FibGUoaW5kZXhJdGVtKSA/IDAgOiAtMVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25FbGVtZW50Q2xpY2soaW5kZXhJdGVtKVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5hcnJvd0xlZnQucHJldmVudCk9XCJvbkVsZW1lbnRLZXlEb3duQXJyb3dMZWZ0KGVsZW1lbnQpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmFycm93UmlnaHQucHJldmVudCk9XCJvbkVsZW1lbnRLZXlEb3duQXJyb3dSaWdodChlbGVtZW50KVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjZG90c1RlbXBsYXRlPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXBhZ2luYXRpb25fX2VsZW1lbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWRvdHNcIlxuICAgICAgICAgICAgW2NsYXNzLnQtZG90c19zbWFsbF09XCJzaXplID09PSAnbSdcIlxuICAgICAgICA+PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUVyRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQU9yRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFMUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sa0JB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LElBQUksWUFDTixnQkFBZ0IsV0FDakIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixDQUFDLG1CQUdoRSx1QkFBdUIsQ0FBQyxNQUFNOzhCQUk5QixHQUFHO3NCQURuQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBU3BDLE1BQU07c0JBRFosS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlVLFFBQVE7c0JBRHZCLEtBQUs7Z0JBT0MsYUFBYTtzQkFEbkIsS0FBSztnQkFPQyxXQUFXO3NCQURqQixLQUFLO2dCQU9DLE9BQU87c0JBRGIsS0FBSztnQkFPQyxLQUFLO3NCQURYLEtBQUs7Z0JBSVUsV0FBVztzQkFEMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXN5bmNQaXBlLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge1F1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUxldH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2xldCc7XG5pbXBvcnQge1R1aVJlcGVhdFRpbWVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcmVwZWF0LXRpbWVzJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlJc05hdGl2ZUZvY3VzZWRJbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cyc7XG5pbXBvcnQge3R1aUNsYW1wfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7VFVJX1NQSU5fSUNPTlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7XG4gICAgVHVpSG9yaXpvbnRhbERpcmVjdGlvbixcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlTaXplWFMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7VFVJX1BBR0lOQVRJT05fVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuY29uc3QgRE9UU19MRU5HVEggPSAxO1xuY29uc3QgQUNUSVZFX0lURU1fTEVOR1RIID0gMTtcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1wYWdpbmF0aW9uJyxcbiAgICBpbXBvcnRzOiBbTmdJZiwgQXN5bmNQaXBlLCBUdWlCdXR0b24sIFR1aVJlcGVhdFRpbWVzLCBUdWlMZXQsIFBvbHltb3JwaGV1c091dGxldF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVBhZ2luYXRpb24ge1xuICAgIEBWaWV3Q2hpbGRyZW4oJ2VsZW1lbnQnLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbHM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGV4dHMkID0gaW5qZWN0KFRVSV9QQUdJTkFUSU9OX1RFWFRTKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbnMgPSBpbmplY3QoVFVJX1NQSU5fSUNPTlMpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbGVuZ3RoID0gMTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZvY3VzYWJsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplTCB8IFR1aVNpemVTID0gJ2wnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEFtb3VudCBvZiB2aXNpYmxlIHBhZ2VzIGFyb3VuZCBhY3RpdmUgcGFnZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFjdGl2ZVBhZGRpbmcgPSAxO1xuXG4gICAgLyoqXG4gICAgICogQW1vdW50IG9mIHZpc2libGUgcGFnZXMgYXQgdGhlIGVkZ2VzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2lkZVBhZGRpbmcgPSAxO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9taXphdGlvbiBmb3IgcGFnZSBudW1iZXIgZGlzcGxheS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHQ8bnVtYmVyPj47XG5cbiAgICAvKipcbiAgICAgKiBBY3RpdmUgcGFnZSBpbmRleFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGluZGV4ID0gMDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBpbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgcHVibGljIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBhY3RpdmVFbGVtZW50SW5kZXggPSAwO1xuICAgICAgICBjb25zdCB7ZWxlbWVudHNMZW5ndGh9ID0gdGhpcztcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnRzTGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1JbmRleCA9IHRoaXMuZ2V0SXRlbUluZGV4QnlFbGVtZW50SW5kZXgoaSk7XG5cbiAgICAgICAgICAgIGlmIChpdGVtSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBhY3RpdmVFbGVtZW50SW5kZXgrKztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW1JbmRleCA9PT0gdGhpcy5pbmRleCkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZWxzLmZpbmQoKF8sIGluZGV4KSA9PiBpbmRleCA9PT0gYWN0aXZlRWxlbWVudEluZGV4KT8ubmF0aXZlRWxlbWVudCA/P1xuICAgICAgICAgICAgbnVsbFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYXJyb3dJc0Rpc2FibGVkTGVmdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggPT09IDA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhcnJvd0lzRGlzYWJsZWRSaWdodCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmV2ZXJzZUluZGV4ID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBpdGVtcyBpbiBhIGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0IGVsZW1lbnRzTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zRml0ID8gdGhpcy5sZW5ndGggOiB0aGlzLm1heEVsZW1lbnRzTGVuZ3RoO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgYnV0dG9uU2l6ZSgpOiBUdWlTaXplWFMge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplID09PSAnbScgPyAneHMnIDogJ3MnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbGVtZW50SXNGb2N1c2FibGUoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gaW5kZXggJiYgIXRoaXMuZm9jdXNlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgaW5kZXggYnkgZWxlbWVudCBpbmRleFxuICAgICAqIEBwYXJhbSBlbGVtZW50SW5kZXhcbiAgICAgKiBAcmV0dXJucyBpbmRleCBvciBudWxsIChmb3IgJ+KApicpXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldEl0ZW1JbmRleEJ5RWxlbWVudEluZGV4KGVsZW1lbnRJbmRleDogbnVtYmVyKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLnNpemUgPT09ICdzJykge1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRJbmRleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlbGVtZW50SW5kZXggPCB0aGlzLnNpZGVQYWRkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudEluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVsZW1lbnRJbmRleCA9PT0gdGhpcy5zaWRlUGFkZGluZyAmJiB0aGlzLmhhc0NvbGxhcHNlZEl0ZW1zKHRoaXMuaW5kZXgpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJldmVyc2VFbGVtZW50SW5kZXggPSB0aGlzLmxhc3RFbGVtZW50SW5kZXggLSBlbGVtZW50SW5kZXg7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgcmV2ZXJzZUVsZW1lbnRJbmRleCA9PT0gdGhpcy5zaWRlUGFkZGluZyAmJlxuICAgICAgICAgICAgdGhpcy5oYXNDb2xsYXBzZWRJdGVtcyh0aGlzLnJldmVyc2VJbmRleClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXZlcnNlRWxlbWVudEluZGV4IDwgdGhpcy5zaWRlUGFkZGluZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubGFzdEluZGV4IC0gcmV2ZXJzZUVsZW1lbnRJbmRleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbXB1dGVkSW5kZXggPSB0aGlzLmluZGV4IC0gdGhpcy5tYXhIYWxmTGVuZ3RoICsgZWxlbWVudEluZGV4O1xuXG4gICAgICAgIHJldHVybiB0dWlDbGFtcChcbiAgICAgICAgICAgIGNvbXB1dGVkSW5kZXgsXG4gICAgICAgICAgICBlbGVtZW50SW5kZXgsXG4gICAgICAgICAgICB0aGlzLmxhc3RJbmRleCAtIHJldmVyc2VFbGVtZW50SW5kZXgsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEVsZW1lbnRNb2RlKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBmYWxsYmFjayA9IHRoaXMuc2l6ZSA9PT0gJ3MnID8gJ3NlY29uZGFyeScgOiAnZmxhdCc7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggPT09IGluZGV4ID8gJ3ByaW1hcnknIDogZmFsbGJhY2s7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRWxlbWVudENsaWNrKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVJbmRleChpbmRleCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRWxlbWVudEtleURvd25BcnJvd0xlZnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgPT09IHRoaXMuZWxzLmZpcnN0Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5lbHMuZmluZChcbiAgICAgICAgICAgIChfLCBpbmRleCwgYXJyYXkpID0+IGFycmF5W2luZGV4ICsgMV0/Lm5hdGl2ZUVsZW1lbnQgPT09IGVsZW1lbnQsXG4gICAgICAgICk7XG5cbiAgICAgICAgcHJldmlvdXM/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25FbGVtZW50S2V5RG93bkFycm93UmlnaHQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgPT09IHRoaXMuZWxzLmxhc3QubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV4dCA9IHRoaXMuZWxzLmZpbmQoXG4gICAgICAgICAgICAoXywgaW5kZXgsIGFycmF5KSA9PiBhcnJheVtpbmRleCAtIDFdPy5uYXRpdmVFbGVtZW50ID09PSBlbGVtZW50LFxuICAgICAgICApO1xuXG4gICAgICAgIG5leHQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25BcnJvd0NsaWNrKGRpcmVjdGlvbjogVHVpSG9yaXpvbnRhbERpcmVjdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLnRyeUNoYW5nZVRvKGRpcmVjdGlvbik7XG4gICAgICAgIHRoaXMuZm9jdXNBY3RpdmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBY3RpdmUgaW5kZXggZnJvbSB0aGUgZW5kXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgcmV2ZXJzZUluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhc3RJbmRleCAtIHRoaXMuaW5kZXg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWF4IG51bWJlciBvZiBlbGVtZW50cyBpbiBoYWxmIChub3QgY291bnRpbmcgdGhlIG1pZGRsZSBvbmUpLlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IG1heEhhbGZMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lkZVBhZGRpbmcgKyBET1RTX0xFTkdUSCArIHRoaXMuYWN0aXZlUGFkZGluZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJcyB0aGVyZSAnLi4uJyBhbnl3aGVyZVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IGl0ZW1zRml0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sZW5ndGggPD0gdGhpcy5tYXhFbGVtZW50c0xlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYXggbnVtYmVyIG9mIGVsZW1lbnRzXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgbWF4RWxlbWVudHNMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4SGFsZkxlbmd0aCAqIDIgKyBBQ1RJVkVfSVRFTV9MRU5HVEg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbGFzdEluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmxlbmd0aCAtIDE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbGFzdEVsZW1lbnRJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50c0xlbmd0aCAtIDE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXJlIHRoZXJlIGNvbGxhcHNlZCBpdGVtcyBhdCB0aGF0IGluZGV4XG4gICAgICogQHBhcmFtIGluZGV4XG4gICAgICogQHJldHVybnMgdGhlcmUgYXJlIGNvbGxhcHNlZCBpdGVtc1xuICAgICAqL1xuICAgIHByaXZhdGUgaGFzQ29sbGFwc2VkSXRlbXMoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXRlbXNGaXQgJiYgaW5kZXggPiB0aGlzLm1heEhhbGZMZW5ndGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cnlDaGFuZ2VUbyhkaXJlY3Rpb246IFR1aUhvcml6b250YWxEaXJlY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVJbmRleChcbiAgICAgICAgICAgIHR1aUNsYW1wKHRoaXMuaW5kZXggKyAoZGlyZWN0aW9uID09PSAncmlnaHQnID8gMSA6IC0xKSwgMCwgdGhpcy5sYXN0SW5kZXgpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNBY3RpdmUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVGb2N1c2FibGVFbGVtZW50fSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSW5kZXgoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbmRleCA9PT0gaW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5pbmRleENoYW5nZS5lbWl0KGluZGV4KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNpemUgIT09ICdzJzsgZWxzZSBzbWFsbEJ1dHRvbnNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRleHRzJCB8IGFzeW5jIGFzIHRleHRzXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgIHRhYkluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYXJyb3dJc0Rpc2FibGVkTGVmdFwiXG4gICAgICAgICAgICAgICAgW2ljb25TdGFydF09XCJpY29ucy5kZWNyZW1lbnRcIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cImJ1dHRvblNpemVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkFycm93Q2xpY2soJ2xlZnQnKVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bi5zaWxlbnQucHJldmVudCk9XCIoMClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHRleHRzWzBdIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnR1aVJlcGVhdFRpbWVzPVwibGV0IGVsZW1lbnRJbmRleCBvZiBlbGVtZW50c0xlbmd0aFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnR1aUxldD1cImdldEl0ZW1JbmRleEJ5RWxlbWVudEluZGV4KGVsZW1lbnRJbmRleCkgYXMgaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpbmRleCAhPT0gbnVsbDsgZWxzZSBkb3RzVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgI2VsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcGFnaW5hdGlvbl9fZWxlbWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJnZXRFbGVtZW50TW9kZShpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cImJ1dHRvblNpemVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RhYkluZGV4XT1cImVsZW1lbnRJc0ZvY3VzYWJsZShpbmRleCkgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRWxlbWVudENsaWNrKGluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd0xlZnQucHJldmVudCk9XCJvbkVsZW1lbnRLZXlEb3duQXJyb3dMZWZ0KGVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93UmlnaHQucHJldmVudCk9XCJvbkVsZW1lbnRLZXlEb3duQXJyb3dSaWdodChlbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRlbnQgfHwgaW5kZXggKyAxIGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGluZGV4fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgICAgICAgICB0YWJJbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFycm93SXNEaXNhYmxlZFJpZ2h0XCJcbiAgICAgICAgICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLmluY3JlbWVudFwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiYnV0dG9uU2l6ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQXJyb3dDbGljaygncmlnaHQnKVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bi5zaWxlbnQucHJldmVudCk9XCIoMClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHRleHRzWzFdIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNzbWFsbEJ1dHRvbnM+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCBpbmRleEl0ZW0gb2YgbGVuZ3RoXCJcbiAgICAgICAgICAgICNlbGVtZW50XG4gICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvbiB0LWJ1dHRvbl9zbWFsbFwiXG4gICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJnZXRFbGVtZW50TW9kZShpbmRleEl0ZW0pXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbdGFiSW5kZXhdPVwiZWxlbWVudElzRm9jdXNhYmxlKGluZGV4SXRlbSkgPyAwIDogLTFcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRWxlbWVudENsaWNrKGluZGV4SXRlbSlcIlxuICAgICAgICAgICAgKGtleWRvd24uYXJyb3dMZWZ0LnByZXZlbnQpPVwib25FbGVtZW50S2V5RG93bkFycm93TGVmdChlbGVtZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5hcnJvd1JpZ2h0LnByZXZlbnQpPVwib25FbGVtZW50S2V5RG93bkFycm93UmlnaHQoZWxlbWVudClcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2RvdHNUZW1wbGF0ZT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wYWdpbmF0aW9uX19lbGVtZW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1kb3RzXCJcbiAgICAgICAgICAgIFtjbGFzcy50LWRvdHNfc21hbGxdPVwic2l6ZSA9PT0gJ20nXCJcbiAgICAgICAgPjwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
@@ -59,12 +59,10 @@ class TuiPreviewComponent {
59
59
  this.processZoom(clientX, clientY, delta);
60
60
  }
61
61
  }
62
- onResize(contentResizeEntries) {
63
- if (contentResizeEntries.length === 0) {
64
- return;
62
+ onResize([entry]) {
63
+ if (entry?.contentRect) {
64
+ this.refresh(entry.contentRect.width, entry.contentRect.height);
65
65
  }
66
- const { width, height } = contentResizeEntries[0].contentRect;
67
- this.refresh(width, height);
68
66
  }
69
67
  reset() {
70
68
  this.zoom$.next(this.minZoom);
@@ -138,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
138
136
  }], rotatable: [{
139
137
  type: Input
140
138
  }] } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRXBELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxnQ0FB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aEMsd3FEQXdEQSx5dkJEM0JRLE9BQU8sNEVBQ1Asa0JBQWtCLG9RQUNsQixnQkFBZ0IsK0dBQ2hCLElBQUksd0ZBQ0osU0FBUyw4Q0FDVCxNQUFNLDBFQUNOLFNBQVMseVpBRVQsZ0JBQWdCLCtEQUNoQixjQUFjLG1IQUtOLENBQUMsYUFBYSxDQUFDOztTQUVsQixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFwQi9CLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGFBQWEsV0FDZDt3QkFDTCxPQUFPO3dCQUNQLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixJQUFJO3dCQUNKLFNBQVM7d0JBQ1QsTUFBTTt3QkFDTixTQUFTO3dCQUNULE9BQU87d0JBQ1AsZ0JBQWdCO3dCQUNoQixjQUFjO3FCQUNqQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLGFBQWEsQ0FBQzs4QkF5Q3BCLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZSwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dhTXV0YXRpb25PYnNlcnZlcn0gZnJvbSAnQG5nLXdlYi1hcGlzL211dGF0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7V2FSZXNpemVPYnNlcnZlcn0gZnJvbSAnQG5nLXdlYi1hcGlzL3Jlc2l6ZS1vYnNlcnZlcic7XG5pbXBvcnQge1RVSV9GQUxTRV9IQU5ETEVSfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aVBhbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3Bhbic7XG5pbXBvcnQgdHlwZSB7VHVpWm9vbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvem9vbSc7XG5pbXBvcnQge1R1aVpvb219IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy96b29tJztcbmltcG9ydCB7dHVpRHJhZ0FuZERyb3BGcm9tLCB0dWlUeXBlZEZyb21FdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpQ2xhbXAsIHR1aVJvdW5kfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlQeH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7dHVpU2xpZGVJblRvcH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1R1aUJ1dHRvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtUdWlIaW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2hpbnQnO1xuaW1wb3J0IHtUVUlfUFJFVklFV19JQ09OUywgVFVJX1BSRVZJRVdfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIG1lcmdlLCBzdGFydFdpdGh9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aVByZXZpZXdBY3Rpb259IGZyb20gJy4vcHJldmlldy1hY3Rpb24vcHJldmlldy1hY3Rpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpUHJldmlld1pvb219IGZyb20gJy4vem9vbS9wcmV2aWV3LXpvb20uY29tcG9uZW50JztcblxuY29uc3QgSU5JVElBTF9TQ0FMRV9DT0VGID0gMC44O1xuY29uc3QgRU1QVFlfQ09PUkRJTkFURVM6IFtudW1iZXIsIG51bWJlcl0gPSBbMCwgMF07XG5jb25zdCBST1RBVElPTl9BTkdMRSA9IDkwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLXByZXZpZXcnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgVHVpWm9vbSxcbiAgICAgICAgV2FNdXRhdGlvbk9ic2VydmVyLFxuICAgICAgICBXYVJlc2l6ZU9ic2VydmVyLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIFR1aVBhbixcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBUdWlIaW50LFxuICAgICAgICBUdWlQcmV2aWV3QWN0aW9uLFxuICAgICAgICBUdWlQcmV2aWV3Wm9vbSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcmV2aWV3LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3ByZXZpZXcuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlTbGlkZUluVG9wXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUHJldmlld0NvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcblxuICAgIHByb3RlY3RlZCBtaW5ab29tID0gMTtcbiAgICBwcm90ZWN0ZWQgd2lkdGggPSAwO1xuICAgIHByb3RlY3RlZCBoZWlnaHQgPSAwO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0cyQgPSBpbmplY3QoVFVJX1BSRVZJRVdfVEVYVFMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IGluamVjdChUVUlfUFJFVklFV19JQ09OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHpvb20kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KHRoaXMubWluWm9vbSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdGF0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29vcmRpbmF0ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxyZWFkb25seSBbbnVtYmVyLCBudW1iZXJdPihcbiAgICAgICAgRU1QVFlfQ09PUkRJTkFURVMsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2l0aW9uZWQkID0gbWVyZ2UoXG4gICAgICAgIHR1aURyYWdBbmREcm9wRnJvbSh0aGlzLmVsKS5waXBlKG1hcCgoe3N0YWdlfSkgPT4gc3RhZ2UgIT09ICdjb250aW51ZXMnKSksXG4gICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KHRoaXMuZWwsICd0b3VjaG1vdmUnLCB7XG4gICAgICAgICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgICB9KS5waXBlKG1hcChUVUlfRkFMU0VfSEFORExFUikpLFxuICAgICAgICB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmVsLCAnd2hlZWwnLCB7cGFzc2l2ZTogdHJ1ZX0pLnBpcGUobWFwKFRVSV9GQUxTRV9IQU5ETEVSKSksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjdXJzb3IkID0gdHVpRHJhZ0FuZERyb3BGcm9tKHRoaXMuZWwpLnBpcGUoXG4gICAgICAgIG1hcCgoe3N0YWdlfSkgPT4gKHN0YWdlID09PSAnY29udGludWVzJyA/ICdncmFiYmluZycgOiAnaW5pdGlhbCcpKSxcbiAgICAgICAgc3RhcnRXaXRoKCdpbml0aWFsJyksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB3cmFwcGVyVHJhbnNmb3JtJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmNvb3JkaW5hdGVzJC5waXBlKG1hcCgoW3gsIHldKSA9PiBgJHt0dWlQeCh4KX0sICR7dHVpUHgoeSl9YCkpLFxuICAgICAgICB0aGlzLnpvb20kLFxuICAgICAgICB0aGlzLnJvdGF0aW9uJCxcbiAgICBdKS5waXBlKFxuICAgICAgICBtYXAoXG4gICAgICAgICAgICAoW3RyYW5zbGF0ZSwgem9vbSwgcm90YXRpb25dKSA9PlxuICAgICAgICAgICAgICAgIGB0cmFuc2xhdGUoJHt0cmFuc2xhdGV9KSBzY2FsZSgke3pvb219KSByb3RhdGUoJHtyb3RhdGlvbn1kZWcpYCxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgem9vbWFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcm90YXRhYmxlID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgcm90YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdGF0aW9uJC5uZXh0KHRoaXMucm90YXRpb24kLnZhbHVlIC0gUk9UQVRJT05fQU5HTEUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblBhbihkZWx0YTogcmVhZG9ubHkgW251bWJlciwgbnVtYmVyXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvb3JkaW5hdGVzJC5uZXh0KFxuICAgICAgICAgICAgdGhpcy5nZXRHdWFyZGVkQ29vcmRpbmF0ZXMoXG4gICAgICAgICAgICAgICAgdGhpcy5jb29yZGluYXRlcyQudmFsdWVbMF0gKyBkZWx0YVswXSxcbiAgICAgICAgICAgICAgICB0aGlzLmNvb3JkaW5hdGVzJC52YWx1ZVsxXSArIGRlbHRhWzFdLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25NdXRhdGlvbihjb250ZW50V3JhcHBlcjogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2NsaWVudFdpZHRoLCBjbGllbnRIZWlnaHR9ID0gY29udGVudFdyYXBwZXI7XG5cbiAgICAgICAgdGhpcy5yZWZyZXNoKGNsaWVudFdpZHRoLCBjbGllbnRIZWlnaHQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblpvb20oe2NsaWVudFgsIGNsaWVudFksIGRlbHRhfTogVHVpWm9vbUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnpvb21hYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3Nab29tKGNsaWVudFgsIGNsaWVudFksIGRlbHRhKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblJlc2l6ZShjb250ZW50UmVzaXplRW50cmllczogcmVhZG9ubHkgUmVzaXplT2JzZXJ2ZXJFbnRyeVtdKTogdm9pZCB7XG4gICAgICAgIGlmIChjb250ZW50UmVzaXplRW50cmllcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHt3aWR0aCwgaGVpZ2h0fSA9IGNvbnRlbnRSZXNpemVFbnRyaWVzWzBdLmNvbnRlbnRSZWN0O1xuXG4gICAgICAgIHRoaXMucmVmcmVzaCh3aWR0aCwgaGVpZ2h0KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuem9vbSQubmV4dCh0aGlzLm1pblpvb20pO1xuICAgICAgICB0aGlzLmNvb3JkaW5hdGVzJC5uZXh0KEVNUFRZX0NPT1JESU5BVEVTKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0Wm9vbSh6b29tOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy56b29tJC5uZXh0KHpvb20pO1xuICAgICAgICBjb25zdCBbeCwgeV0gPSB0aGlzLmNvb3JkaW5hdGVzJC52YWx1ZTtcblxuICAgICAgICB0aGlzLmNvb3JkaW5hdGVzJC5uZXh0KHRoaXMuZ2V0R3VhcmRlZENvb3JkaW5hdGVzKHgsIHkpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBvZmZzZXRzKCk6IHtvZmZzZXRYOiBudW1iZXI7IG9mZnNldFk6IG51bWJlcn0ge1xuICAgICAgICBjb25zdCBvZmZzZXRYID0gKCh0aGlzLnpvb20kLnZhbHVlIC0gdGhpcy5taW5ab29tKSAqIHRoaXMud2lkdGgpIC8gMjtcbiAgICAgICAgY29uc3Qgb2Zmc2V0WSA9ICgodGhpcy56b29tJC52YWx1ZSAtIHRoaXMubWluWm9vbSkgKiB0aGlzLmhlaWdodCkgLyAyO1xuXG4gICAgICAgIHJldHVybiB7b2Zmc2V0WCwgb2Zmc2V0WX07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVNaW5ab29tKFxuICAgICAgICBjb250ZW50SGVpZ2h0OiBudW1iZXIsXG4gICAgICAgIGNvbnRlbnRXaWR0aDogbnVtYmVyLFxuICAgICAgICBib3hIZWlnaHQ6IG51bWJlcixcbiAgICAgICAgYm94V2lkdGg6IG51bWJlcixcbiAgICApOiBudW1iZXIge1xuICAgICAgICBjb25zdCBiaWdTaXplID1cbiAgICAgICAgICAgIGNvbnRlbnRIZWlnaHQgPiBib3hIZWlnaHQgKiBJTklUSUFMX1NDQUxFX0NPRUYgfHxcbiAgICAgICAgICAgIGNvbnRlbnRXaWR0aCA+IGJveFdpZHRoICogSU5JVElBTF9TQ0FMRV9DT0VGO1xuICAgICAgICBjb25zdCB7Y2xpZW50SGVpZ2h0LCBjbGllbnRXaWR0aH0gPSB0aGlzLmVsO1xuXG4gICAgICAgIHJldHVybiBiaWdTaXplXG4gICAgICAgICAgICA/IHR1aVJvdW5kKFxuICAgICAgICAgICAgICAgICAgTWF0aC5taW4oXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWVudEhlaWdodCAqIElOSVRJQUxfU0NBTEVfQ09FRikgLyBjb250ZW50SGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgIChjbGllbnRXaWR0aCAqIElOSVRJQUxfU0NBTEVfQ09FRikgLyBjb250ZW50V2lkdGgsXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgMixcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiAxO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVmcmVzaCh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLndpZHRoID0gd2lkdGg7XG4gICAgICAgIHRoaXMuaGVpZ2h0ID0gaGVpZ2h0O1xuICAgICAgICB0aGlzLm1pblpvb20gPSB0aGlzLmNhbGN1bGF0ZU1pblpvb20oXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIHRoaXMuZWwuY2xpZW50SGVpZ2h0LFxuICAgICAgICAgICAgdGhpcy5lbC5jbGllbnRXaWR0aCxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy56b29tJC5uZXh0KHRoaXMubWluWm9vbSk7XG4gICAgICAgIHRoaXMuY29vcmRpbmF0ZXMkLm5leHQoRU1QVFlfQ09PUkRJTkFURVMpO1xuICAgICAgICB0aGlzLnJvdGF0aW9uJC5uZXh0KDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1pvb20oY2xpZW50WDogbnVtYmVyLCBjbGllbnRZOiBudW1iZXIsIGRlbHRhOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb2xkU2NhbGUgPSB0aGlzLnpvb20kLnZhbHVlO1xuICAgICAgICBjb25zdCBuZXdTY2FsZSA9IHR1aUNsYW1wKG9sZFNjYWxlICsgZGVsdGEsIHRoaXMubWluWm9vbSwgMik7XG5cbiAgICAgICAgY29uc3QgY2VudGVyID0gdGhpcy5nZXRTY2FsZUNlbnRlcihcbiAgICAgICAgICAgIHtjbGllbnRYLCBjbGllbnRZfSxcbiAgICAgICAgICAgIHRoaXMuY29vcmRpbmF0ZXMkLnZhbHVlLFxuICAgICAgICAgICAgdGhpcy56b29tJC52YWx1ZSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBtb3ZlWCA9IGNlbnRlclswXSAqIG9sZFNjYWxlIC0gY2VudGVyWzBdICogbmV3U2NhbGU7XG4gICAgICAgIGNvbnN0IG1vdmVZID0gY2VudGVyWzFdICogb2xkU2NhbGUgLSBjZW50ZXJbMV0gKiBuZXdTY2FsZTtcblxuICAgICAgICB0aGlzLnpvb20kLm5leHQobmV3U2NhbGUpO1xuICAgICAgICB0aGlzLmNvb3JkaW5hdGVzJC5uZXh0KFxuICAgICAgICAgICAgdGhpcy5nZXRHdWFyZGVkQ29vcmRpbmF0ZXMoXG4gICAgICAgICAgICAgICAgdGhpcy5jb29yZGluYXRlcyQudmFsdWVbMF0gKyBtb3ZlWCxcbiAgICAgICAgICAgICAgICB0aGlzLmNvb3JkaW5hdGVzJC52YWx1ZVsxXSArIG1vdmVZLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEd1YXJkZWRDb29yZGluYXRlcyh4OiBudW1iZXIsIHk6IG51bWJlcik6IHJlYWRvbmx5IFtudW1iZXIsIG51bWJlcl0ge1xuICAgICAgICBjb25zdCB7b2Zmc2V0WCwgb2Zmc2V0WX0gPSB0aGlzLm9mZnNldHM7XG5cbiAgICAgICAgcmV0dXJuIFt0dWlDbGFtcCh4LCAtb2Zmc2V0WCwgb2Zmc2V0WCksIHR1aUNsYW1wKHksIC1vZmZzZXRZLCBvZmZzZXRZKV07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTY2FsZUNlbnRlcihcbiAgICAgICAge2NsaWVudFgsIGNsaWVudFl9OiB7Y2xpZW50WDogbnVtYmVyOyBjbGllbnRZOiBudW1iZXJ9LFxuICAgICAgICBbeCwgeV06IHJlYWRvbmx5IFtudW1iZXIsIG51bWJlcl0sXG4gICAgICAgIHNjYWxlOiBudW1iZXIsXG4gICAgKTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAoY2xpZW50WCAtIHggLSB0aGlzLmVsLm9mZnNldFdpZHRoIC8gMikgLyBzY2FsZSxcbiAgICAgICAgICAgIChjbGllbnRZIC0geSAtIHRoaXMuZWwub2Zmc2V0SGVpZ2h0IC8gMikgLyBzY2FsZSxcbiAgICAgICAgXTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidGV4dHMkIHwgYXN5bmMgYXMgdGV4dHNcIj5cbiAgICA8c2VjdGlvblxuICAgICAgICAjY29udGVudFdyYXBwZXJcbiAgICAgICAgYXR0cmlidXRlRmlsdGVyPVwic3JjXCJcbiAgICAgICAgY2hhcmFjdGVyRGF0YVxuICAgICAgICBjaGlsZExpc3RcbiAgICAgICAgc3VidHJlZVxuICAgICAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4gICAgICAgIFtjbGFzcy50LW5vdC1pbnRlcmFjdGl2ZS1jb250ZW50XT1cInpvb21hYmxlXCJcbiAgICAgICAgW2NsYXNzLnQtdHJhbnNpdGl2ZV09XCJ0cmFuc2l0aW9uZWQkIHwgYXN5bmNcIlxuICAgICAgICBbc3R5bGUuY3Vyc29yXT1cImN1cnNvciQgfCBhc3luY1wiXG4gICAgICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwid3JhcHBlclRyYW5zZm9ybSQgfCBhc3luY1wiXG4gICAgICAgICh0dWlQYW4pPVwib25QYW4oJGV2ZW50KVwiXG4gICAgICAgICh0dWlab29tKT1cIm9uWm9vbSgkZXZlbnQpXCJcbiAgICAgICAgKHdhTXV0YXRpb25PYnNlcnZlcik9XCJvbk11dGF0aW9uKGNvbnRlbnRXcmFwcGVyKVwiXG4gICAgICAgICh3YVJlc2l6ZU9ic2VydmVyKT1cIm9uUmVzaXplKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L3NlY3Rpb24+XG5cbiAgICA8aGVhZGVyIGNsYXNzPVwidC1oZWFkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInQtdGl0bGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInR1aS1wcmV2aWV3LXRpdGxlXCIgLz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpLXByZXZpZXctcGFnaW5hdGlvblwiIC8+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInQtYWN0aW9uc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3R1aVByZXZpZXdBY3Rpb25dXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG5cbiAgICA8Zm9vdGVyIGNsYXNzPVwidC1mb290ZXJcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJyb3RhdGFibGVcIlxuICAgICAgICAgICAgdHVpSGludEFwcGVhcmFuY2U9XCJkYXJrXCJcbiAgICAgICAgICAgIHR1aUhpbnREZXNjcmliZVxuICAgICAgICAgICAgdHVpSGludERpcmVjdGlvbj1cInRvcC1yaWdodFwiXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICB0dWlQcmV2aWV3QWN0aW9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1yb3RhdGUtYnV0dG9uXCJcbiAgICAgICAgICAgIFtpY29uU3RhcnRdPVwiaWNvbnMucm90YXRlXCJcbiAgICAgICAgICAgIFt0dWlIaW50XT1cInRleHRzLnJvdGF0ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwicm90YXRlKClcIlxuICAgICAgICA+PC9idXR0b24+XG5cbiAgICAgICAgPHR1aS1wcmV2aWV3LXpvb21cbiAgICAgICAgICAgICpuZ0lmPVwiem9vbWFibGVcIlxuICAgICAgICAgICAgW21pbl09XCJtaW5ab29tXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCIoem9vbSQgfCBhc3luYykgfHwgMVwiXG4gICAgICAgICAgICAocmVzZXQpPVwicmVzZXQoKVwiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwic2V0Wm9vbSgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICA8L2Zvb3Rlcj5cbjwvbmctY29udGFpbmVyPlxuIl19
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRXBELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxnQ0FB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K0dBQ2hCLElBQUksd0ZBQ0osU0FBUyw4Q0FDVCxNQUFNLDBFQUNOLFNBQVMseVpBRVQsZ0JBQWdCLCtEQUNoQixjQUFjLG1IQUtOLENBQUMsYUFBYSxDQUFDOztTQUVsQixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFwQi9CLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGFBQWEsV0FDZDt3QkFDTCxPQUFPO3dCQUNQLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixJQUFJO3dCQUNKLFNBQVM7d0JBQ1QsTUFBTTt3QkFDTixTQUFTO3dCQUNULE9BQU87d0JBQ1AsZ0JBQWdCO3dCQUNoQixjQUFjO3FCQUNqQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLGFBQWEsQ0FBQzs4QkF5Q3BCLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZSwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dhTXV0YXRpb25PYnNlcnZlcn0gZnJvbSAnQG5nLXdlYi1hcGlzL211dGF0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7V2FSZXNpemVPYnNlcnZlcn0gZnJvbSAnQG5nLXdlYi1hcGlzL3Jlc2l6ZS1vYnNlcnZlcic7XG5pbXBvcnQge1RVSV9GQUxTRV9IQU5ETEVSfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aVBhbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3Bhbic7XG5pbXBvcnQgdHlwZSB7VHVpWm9vbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvem9vbSc7XG5pbXBvcnQge1R1aVpvb219IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy96b29tJztcbmltcG9ydCB7dHVpRHJhZ0FuZERyb3BGcm9tLCB0dWlUeXBlZEZyb21FdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpQ2xhbXAsIHR1aVJvdW5kfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlQeH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7dHVpU2xpZGVJblRvcH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1R1aUJ1dHRvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtUdWlIaW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2hpbnQnO1xuaW1wb3J0IHtUVUlfUFJFVklFV19JQ09OUywgVFVJX1BSRVZJRVdfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIG1lcmdlLCBzdGFydFdpdGh9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aVByZXZpZXdBY3Rpb259IGZyb20gJy4vcHJldmlldy1hY3Rpb24vcHJldmlldy1hY3Rpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpUHJldmlld1pvb219IGZyb20gJy4vem9vbS9wcmV2aWV3LXpvb20uY29tcG9uZW50JztcblxuY29uc3QgSU5JVElBTF9TQ0FMRV9DT0VGID0gMC44O1xuY29uc3QgRU1QVFlfQ09PUkRJTkFURVM6IFtudW1iZXIsIG51bWJlcl0gPSBbMCwgMF07XG5jb25zdCBST1RBVElPTl9BTkdMRSA9IDkwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLXByZXZpZXcnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgVHVpWm9vbSxcbiAgICAgICAgV2FNdXRhdGlvbk9ic2VydmVyLFxuICAgICAgICBXYVJlc2l6ZU9ic2VydmVyLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIFR1aVBhbixcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBUdWlIaW50LFxuICAgICAgICBUdWlQcmV2aWV3QWN0aW9uLFxuICAgICAgICBUdWlQcmV2aWV3Wm9vbSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcmV2aWV3LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3ByZXZpZXcuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlTbGlkZUluVG9wXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUHJldmlld0NvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcblxuICAgIHByb3RlY3RlZCBtaW5ab29tID0gMTtcbiAgICBwcm90ZWN0ZWQgd2lkdGggPSAwO1xuICAgIHByb3RlY3RlZCBoZWlnaHQgPSAwO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0cyQgPSBpbmplY3QoVFVJX1BSRVZJRVdfVEVYVFMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IGluamVjdChUVUlfUFJFVklFV19JQ09OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHpvb20kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KHRoaXMubWluWm9vbSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdGF0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29vcmRpbmF0ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxyZWFkb25seSBbbnVtYmVyLCBudW1iZXJdPihcbiAgICAgICAgRU1QVFlfQ09PUkRJTkFURVMsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2l0aW9uZWQkID0gbWVyZ2UoXG4gICAgICAgIHR1aURyYWdBbmREcm9wRnJvbSh0aGlzLmVsKS5waXBlKG1hcCgoe3N0YWdlfSkgPT4gc3RhZ2UgIT09ICdjb250aW51ZXMnKSksXG4gICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KHRoaXMuZWwsICd0b3VjaG1vdmUnLCB7XG4gICAgICAgICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgICB9KS5waXBlKG1hcChUVUlfRkFMU0VfSEFORExFUikpLFxuICAgICAgICB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmVsLCAnd2hlZWwnLCB7cGFzc2l2ZTogdHJ1ZX0pLnBpcGUobWFwKFRVSV9GQUxTRV9IQU5ETEVSKSksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjdXJzb3IkID0gdHVpRHJhZ0FuZERyb3BGcm9tKHRoaXMuZWwpLnBpcGUoXG4gICAgICAgIG1hcCgoe3N0YWdlfSkgPT4gKHN0YWdlID09PSAnY29udGludWVzJyA/ICdncmFiYmluZycgOiAnaW5pdGlhbCcpKSxcbiAgICAgICAgc3RhcnRXaXRoKCdpbml0aWFsJyksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB3cmFwcGVyVHJhbnNmb3JtJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmNvb3JkaW5hdGVzJC5waXBlKG1hcCgoW3gsIHldKSA9PiBgJHt0dWlQeCh4KX0sICR7dHVpUHgoeSl9YCkpLFxuICAgICAgICB0aGlzLnpvb20kLFxuICAgICAgICB0aGlzLnJvdGF0aW9uJCxcbiAgICBdKS5waXBlKFxuICAgICAgICBtYXAoXG4gICAgICAgICAgICAoW3RyYW5zbGF0ZSwgem9vbSwgcm90YXRpb25dKSA9PlxuICAgICAgICAgICAgICAgIGB0cmFuc2xhdGUoJHt0cmFuc2xhdGV9KSBzY2FsZSgke3pvb219KSByb3RhdGUoJHtyb3RhdGlvbn1kZWcpYCxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgem9vbWFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcm90YXRhYmxlID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgcm90YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdGF0aW9uJC5uZXh0KHRoaXMucm90YXRpb24kLnZhbHVlIC0gUk9UQVRJT05fQU5HTEUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblBhbihkZWx0YTogcmVhZG9ubHkgW251bWJlciwgbnVtYmVyXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvb3JkaW5hdGVzJC5uZXh0KFxuICAgICAgICAgICAgdGhpcy5nZXRHdWFyZGVkQ29vcmRpbmF0ZXMoXG4gICAgICAgICAgICAgICAgdGhpcy5jb29yZGluYXRlcyQudmFsdWVbMF0gKyBkZWx0YVswXSxcbiAgICAgICAgICAgICAgICB0aGlzLmNvb3JkaW5hdGVzJC52YWx1ZVsxXSArIGRlbHRhWzFdLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25NdXRhdGlvbihjb250ZW50V3JhcHBlcjogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2NsaWVudFdpZHRoLCBjbGllbnRIZWlnaHR9ID0gY29udGVudFdyYXBwZXI7XG5cbiAgICAgICAgdGhpcy5yZWZyZXNoKGNsaWVudFdpZHRoLCBjbGllbnRIZWlnaHQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblpvb20oe2NsaWVudFgsIGNsaWVudFksIGRlbHRhfTogVHVpWm9vbUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnpvb21hYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3Nab29tKGNsaWVudFgsIGNsaWVudFksIGRlbHRhKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblJlc2l6ZShbZW50cnldOiByZWFkb25seSBSZXNpemVPYnNlcnZlckVudHJ5W10pOiB2b2lkIHtcbiAgICAgICAgaWYgKGVudHJ5Py5jb250ZW50UmVjdCkge1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoKGVudHJ5LmNvbnRlbnRSZWN0LndpZHRoLCBlbnRyeS5jb250ZW50UmVjdC5oZWlnaHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnpvb20kLm5leHQodGhpcy5taW5ab29tKTtcbiAgICAgICAgdGhpcy5jb29yZGluYXRlcyQubmV4dChFTVBUWV9DT09SRElOQVRFUyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldFpvb20oem9vbTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuem9vbSQubmV4dCh6b29tKTtcbiAgICAgICAgY29uc3QgW3gsIHldID0gdGhpcy5jb29yZGluYXRlcyQudmFsdWU7XG5cbiAgICAgICAgdGhpcy5jb29yZGluYXRlcyQubmV4dCh0aGlzLmdldEd1YXJkZWRDb29yZGluYXRlcyh4LCB5KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgb2Zmc2V0cygpOiB7b2Zmc2V0WDogbnVtYmVyOyBvZmZzZXRZOiBudW1iZXJ9IHtcbiAgICAgICAgY29uc3Qgb2Zmc2V0WCA9ICgodGhpcy56b29tJC52YWx1ZSAtIHRoaXMubWluWm9vbSkgKiB0aGlzLndpZHRoKSAvIDI7XG4gICAgICAgIGNvbnN0IG9mZnNldFkgPSAoKHRoaXMuem9vbSQudmFsdWUgLSB0aGlzLm1pblpvb20pICogdGhpcy5oZWlnaHQpIC8gMjtcblxuICAgICAgICByZXR1cm4ge29mZnNldFgsIG9mZnNldFl9O1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlTWluWm9vbShcbiAgICAgICAgY29udGVudEhlaWdodDogbnVtYmVyLFxuICAgICAgICBjb250ZW50V2lkdGg6IG51bWJlcixcbiAgICAgICAgYm94SGVpZ2h0OiBudW1iZXIsXG4gICAgICAgIGJveFdpZHRoOiBudW1iZXIsXG4gICAgKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgYmlnU2l6ZSA9XG4gICAgICAgICAgICBjb250ZW50SGVpZ2h0ID4gYm94SGVpZ2h0ICogSU5JVElBTF9TQ0FMRV9DT0VGIHx8XG4gICAgICAgICAgICBjb250ZW50V2lkdGggPiBib3hXaWR0aCAqIElOSVRJQUxfU0NBTEVfQ09FRjtcbiAgICAgICAgY29uc3Qge2NsaWVudEhlaWdodCwgY2xpZW50V2lkdGh9ID0gdGhpcy5lbDtcblxuICAgICAgICByZXR1cm4gYmlnU2l6ZVxuICAgICAgICAgICAgPyB0dWlSb3VuZChcbiAgICAgICAgICAgICAgICAgIE1hdGgubWluKFxuICAgICAgICAgICAgICAgICAgICAgIChjbGllbnRIZWlnaHQgKiBJTklUSUFMX1NDQUxFX0NPRUYpIC8gY29udGVudEhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpZW50V2lkdGggKiBJTklUSUFMX1NDQUxFX0NPRUYpIC8gY29udGVudFdpZHRoLFxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIDIsXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZnJlc2god2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53aWR0aCA9IHdpZHRoO1xuICAgICAgICB0aGlzLmhlaWdodCA9IGhlaWdodDtcbiAgICAgICAgdGhpcy5taW5ab29tID0gdGhpcy5jYWxjdWxhdGVNaW5ab29tKFxuICAgICAgICAgICAgaGVpZ2h0LFxuICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICB0aGlzLmVsLmNsaWVudEhlaWdodCxcbiAgICAgICAgICAgIHRoaXMuZWwuY2xpZW50V2lkdGgsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuem9vbSQubmV4dCh0aGlzLm1pblpvb20pO1xuICAgICAgICB0aGlzLmNvb3JkaW5hdGVzJC5uZXh0KEVNUFRZX0NPT1JESU5BVEVTKTtcbiAgICAgICAgdGhpcy5yb3RhdGlvbiQubmV4dCgwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3Nab29tKGNsaWVudFg6IG51bWJlciwgY2xpZW50WTogbnVtYmVyLCBkZWx0YTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG9sZFNjYWxlID0gdGhpcy56b29tJC52YWx1ZTtcbiAgICAgICAgY29uc3QgbmV3U2NhbGUgPSB0dWlDbGFtcChvbGRTY2FsZSArIGRlbHRhLCB0aGlzLm1pblpvb20sIDIpO1xuXG4gICAgICAgIGNvbnN0IGNlbnRlciA9IHRoaXMuZ2V0U2NhbGVDZW50ZXIoXG4gICAgICAgICAgICB7Y2xpZW50WCwgY2xpZW50WX0sXG4gICAgICAgICAgICB0aGlzLmNvb3JkaW5hdGVzJC52YWx1ZSxcbiAgICAgICAgICAgIHRoaXMuem9vbSQudmFsdWUsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgbW92ZVggPSBjZW50ZXJbMF0gKiBvbGRTY2FsZSAtIGNlbnRlclswXSAqIG5ld1NjYWxlO1xuICAgICAgICBjb25zdCBtb3ZlWSA9IGNlbnRlclsxXSAqIG9sZFNjYWxlIC0gY2VudGVyWzFdICogbmV3U2NhbGU7XG5cbiAgICAgICAgdGhpcy56b29tJC5uZXh0KG5ld1NjYWxlKTtcbiAgICAgICAgdGhpcy5jb29yZGluYXRlcyQubmV4dChcbiAgICAgICAgICAgIHRoaXMuZ2V0R3VhcmRlZENvb3JkaW5hdGVzKFxuICAgICAgICAgICAgICAgIHRoaXMuY29vcmRpbmF0ZXMkLnZhbHVlWzBdICsgbW92ZVgsXG4gICAgICAgICAgICAgICAgdGhpcy5jb29yZGluYXRlcyQudmFsdWVbMV0gKyBtb3ZlWSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRHdWFyZGVkQ29vcmRpbmF0ZXMoeDogbnVtYmVyLCB5OiBudW1iZXIpOiByZWFkb25seSBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICAgICAgY29uc3Qge29mZnNldFgsIG9mZnNldFl9ID0gdGhpcy5vZmZzZXRzO1xuXG4gICAgICAgIHJldHVybiBbdHVpQ2xhbXAoeCwgLW9mZnNldFgsIG9mZnNldFgpLCB0dWlDbGFtcCh5LCAtb2Zmc2V0WSwgb2Zmc2V0WSldO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2NhbGVDZW50ZXIoXG4gICAgICAgIHtjbGllbnRYLCBjbGllbnRZfToge2NsaWVudFg6IG51bWJlcjsgY2xpZW50WTogbnVtYmVyfSxcbiAgICAgICAgW3gsIHldOiByZWFkb25seSBbbnVtYmVyLCBudW1iZXJdLFxuICAgICAgICBzY2FsZTogbnVtYmVyLFxuICAgICk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgKGNsaWVudFggLSB4IC0gdGhpcy5lbC5vZmZzZXRXaWR0aCAvIDIpIC8gc2NhbGUsXG4gICAgICAgICAgICAoY2xpZW50WSAtIHkgLSB0aGlzLmVsLm9mZnNldEhlaWdodCAvIDIpIC8gc2NhbGUsXG4gICAgICAgIF07XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInRleHRzJCB8IGFzeW5jIGFzIHRleHRzXCI+XG4gICAgPHNlY3Rpb25cbiAgICAgICAgI2NvbnRlbnRXcmFwcGVyXG4gICAgICAgIGF0dHJpYnV0ZUZpbHRlcj1cInNyY1wiXG4gICAgICAgIGNoYXJhY3RlckRhdGFcbiAgICAgICAgY2hpbGRMaXN0XG4gICAgICAgIHN1YnRyZWVcbiAgICAgICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuICAgICAgICBbY2xhc3MudC1ub3QtaW50ZXJhY3RpdmUtY29udGVudF09XCJ6b29tYWJsZVwiXG4gICAgICAgIFtjbGFzcy50LXRyYW5zaXRpdmVdPVwidHJhbnNpdGlvbmVkJCB8IGFzeW5jXCJcbiAgICAgICAgW3N0eWxlLmN1cnNvcl09XCJjdXJzb3IkIHwgYXN5bmNcIlxuICAgICAgICBbc3R5bGUudHJhbnNmb3JtXT1cIndyYXBwZXJUcmFuc2Zvcm0kIHwgYXN5bmNcIlxuICAgICAgICAodHVpUGFuKT1cIm9uUGFuKCRldmVudClcIlxuICAgICAgICAodHVpWm9vbSk9XCJvblpvb20oJGV2ZW50KVwiXG4gICAgICAgICh3YU11dGF0aW9uT2JzZXJ2ZXIpPVwib25NdXRhdGlvbihjb250ZW50V3JhcHBlcilcIlxuICAgICAgICAod2FSZXNpemVPYnNlcnZlcik9XCJvblJlc2l6ZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgPC9zZWN0aW9uPlxuXG4gICAgPGhlYWRlciBjbGFzcz1cInQtaGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0LXRpdGxlXCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWktcHJldmlldy10aXRsZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInR1aS1wcmV2aWV3LXBhZ2luYXRpb25cIiAvPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0LWFjdGlvbnNcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0dWlQcmV2aWV3QWN0aW9uXVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvaGVhZGVyPlxuXG4gICAgPGZvb3RlciBjbGFzcz1cInQtZm9vdGVyXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwicm90YXRhYmxlXCJcbiAgICAgICAgICAgIHR1aUhpbnRBcHBlYXJhbmNlPVwiZGFya1wiXG4gICAgICAgICAgICB0dWlIaW50RGVzY3JpYmVcbiAgICAgICAgICAgIHR1aUhpbnREaXJlY3Rpb249XCJ0b3AtcmlnaHRcIlxuICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgdHVpUHJldmlld0FjdGlvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInQtcm90YXRlLWJ1dHRvblwiXG4gICAgICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLnJvdGF0ZVwiXG4gICAgICAgICAgICBbdHVpSGludF09XCJ0ZXh0cy5yb3RhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInJvdGF0ZSgpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuXG4gICAgICAgIDx0dWktcHJldmlldy16b29tXG4gICAgICAgICAgICAqbmdJZj1cInpvb21hYmxlXCJcbiAgICAgICAgICAgIFttaW5dPVwibWluWm9vbVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiKHpvb20kIHwgYXN5bmMpIHx8IDFcIlxuICAgICAgICAgICAgKHJlc2V0KT1cInJlc2V0KClcIlxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInNldFpvb20oJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgPC9mb290ZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -19,7 +19,7 @@ class TuiPushAlert {
19
19
  return this.context.content instanceof TuiPushDirective;
20
20
  }
21
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPushAlert, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiPushAlert, isStandalone: true, selector: "ng-component", host: { attributes: { "role": "alert" }, properties: { "@tuiFadeIn": "options", "@tuiSlideInRight": "options", "@tuiHeightCollapse": "options" } }, ngImport: i0, template: "<tui-push\n *ngIf=\"!isDirective; else directive\"\n [heading]=\"context.heading\"\n [timestamp]=\"context.timestamp\"\n [type]=\"context.type\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-icon\n *ngIf=\"context.icon\"\n [icon]=\"context.icon\"\n [style.color]=\"context.iconColor\"\n />\n <div\n *polymorpheusOutlet=\"context.content as text; context: context\"\n [innerHTML]=\"text\"\n ></div>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[0])\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1])\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #directive>\n <ng-container *polymorpheusOutlet=\"context.content\" />\n</ng-template>\n", styles: [":host{max-width:calc(100% - 2rem);margin:0 1rem 1rem auto}:host:first-child{margin-top:auto}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }], animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiPushAlert, isStandalone: true, selector: "ng-component", host: { attributes: { "role": "alert" }, properties: { "@tuiFadeIn": "options", "@tuiSlideInRight": "options", "@tuiHeightCollapse": "options" } }, ngImport: i0, template: "<tui-push\n *ngIf=\"!isDirective; else directive\"\n [heading]=\"context.heading\"\n [timestamp]=\"context.timestamp\"\n [type]=\"context.type\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-icon\n *ngIf=\"context.icon\"\n [icon]=\"context.icon\"\n [style.color]=\"context.iconColor\"\n />\n <div\n *polymorpheusOutlet=\"context.content as text; context: context\"\n [innerHTML]=\"text\"\n ></div>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[0] || '')\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1] || '')\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #directive>\n <ng-container *polymorpheusOutlet=\"context.content\" />\n</ng-template>\n", styles: [":host{max-width:calc(100% - 2rem);margin:0 1rem 1rem auto}:host:first-child{margin-top:auto}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }], animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
23
  }
24
24
  export { TuiPushAlert };
25
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPushAlert, decorators: [{
@@ -37,6 +37,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
37
37
  '[@tuiFadeIn]': 'options',
38
38
  '[@tuiSlideInRight]': 'options',
39
39
  '[@tuiHeightCollapse]': 'options',
40
- }, template: "<tui-push\n *ngIf=\"!isDirective; else directive\"\n [heading]=\"context.heading\"\n [timestamp]=\"context.timestamp\"\n [type]=\"context.type\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-icon\n *ngIf=\"context.icon\"\n [icon]=\"context.icon\"\n [style.color]=\"context.iconColor\"\n />\n <div\n *polymorpheusOutlet=\"context.content as text; context: context\"\n [innerHTML]=\"text\"\n ></div>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[0])\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1])\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #directive>\n <ng-container *polymorpheusOutlet=\"context.content\" />\n</ng-template>\n", styles: [":host{max-width:calc(100% - 2rem);margin:0 1rem 1rem auto}:host:first-child{margin-top:auto}\n"] }]
40
+ }, template: "<tui-push\n *ngIf=\"!isDirective; else directive\"\n [heading]=\"context.heading\"\n [timestamp]=\"context.timestamp\"\n [type]=\"context.type\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-icon\n *ngIf=\"context.icon\"\n [icon]=\"context.icon\"\n [style.color]=\"context.iconColor\"\n />\n <div\n *polymorpheusOutlet=\"context.content as text; context: context\"\n [innerHTML]=\"text\"\n ></div>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[0] || '')\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1] || '')\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #directive>\n <ng-container *polymorpheusOutlet=\"context.content\" />\n</ng-template>\n", styles: [":host{max-width:calc(100% - 2rem);margin:0 1rem 1rem auto}:host:first-child{margin-top:auto}\n"] }]
41
41
  }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC1hbGVydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wdXNoL3B1c2gtYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcHVzaC9wdXNoLWFsZXJ0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUNILG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsb0JBQW9CLEdBQ3ZCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7O0FBR2xELE1Bc0JhLFlBQVk7SUF0QnpCO1FBdUJ1QixZQUFPLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUM5RCxZQUFPLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUd2RCxDQUFDO0tBS0w7SUFIRyxJQUFjLFdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sWUFBWSxnQkFBZ0IsQ0FBQztJQUM1RCxDQUFDOytHQVRRLFlBQVk7bUdBQVosWUFBWSw0TkN6Q3pCLDJwQ0F5Q0Esd0pEbkJRLElBQUksNkZBQ0osa0JBQWtCLDhIQUVsQixnQkFBZ0IsbUhBQ2hCLE9BQU8scUZBQ1AsU0FBUyxvSUFDVCxPQUFPLDhFQUtDLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQzs7U0FRbEQsWUFBWTs0RkFBWixZQUFZO2tCQXRCeEIsU0FBUztpQ0FDTSxJQUFJLFdBQ1A7d0JBQ0wsSUFBSTt3QkFDSixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsT0FBTztxQkFDVixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUMsUUFDckQ7d0JBQ0YsSUFBSSxFQUFFLE9BQU87d0JBQ2IsY0FBYyxFQUFFLFNBQVM7d0JBQ3pCLG9CQUFvQixFQUFFLFNBQVM7d0JBQy9CLHNCQUFzQixFQUFFLFNBQVM7cUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1R1aVBvcG92ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvc2VydmljZXMnO1xuaW1wb3J0IHt0dWlGYWRlSW4sIHR1aUhlaWdodENvbGxhcHNlLCB0dWlTbGlkZUluUmlnaHR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7VHVpSWNvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7VHVpTGlua30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9saW5rJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTlNfU1BFRUR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aVRvQW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIFBPTFlNT1JQSEVVU19DT05URVhULFxuICAgIFBvbHltb3JwaGV1c091dGxldCxcbiAgICBQb2x5bW9ycGhldXNUZW1wbGF0ZSxcbn0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpUHVzaENvbXBvbmVudH0gZnJvbSAnLi9wdXNoLmNvbXBvbmVudCc7XG5pbXBvcnQge1R1aVB1c2hEaXJlY3RpdmV9IGZyb20gJy4vcHVzaC5kaXJlY3RpdmUnO1xuaW1wb3J0IHR5cGUge1R1aVB1c2hPcHRpb25zfSBmcm9tICcuL3B1c2gub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBQb2x5bW9ycGhldXNPdXRsZXQsXG4gICAgICAgIFBvbHltb3JwaGV1c1RlbXBsYXRlLFxuICAgICAgICBUdWlQdXNoQ29tcG9uZW50LFxuICAgICAgICBUdWlJY29uLFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aUxpbmssXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVzaC1hbGVydC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wdXNoLWFsZXJ0LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBbdHVpRmFkZUluLCB0dWlTbGlkZUluUmlnaHQsIHR1aUhlaWdodENvbGxhcHNlXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdhbGVydCcsXG4gICAgICAgICdbQHR1aUZhZGVJbl0nOiAnb3B0aW9ucycsXG4gICAgICAgICdbQHR1aVNsaWRlSW5SaWdodF0nOiAnb3B0aW9ucycsXG4gICAgICAgICdbQHR1aUhlaWdodENvbGxhcHNlXSc6ICdvcHRpb25zJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQdXNoQWxlcnQge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gdHVpVG9BbmltYXRpb25PcHRpb25zKGluamVjdChUVUlfQU5JTUFUSU9OU19TUEVFRCkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250ZXh0ID0gaW5qZWN0KFBPTFlNT1JQSEVVU19DT05URVhUKSBhcyBUdWlQb3BvdmVyPFxuICAgICAgICBUdWlQdXNoT3B0aW9ucyxcbiAgICAgICAgc3RyaW5nXG4gICAgPjtcblxuICAgIHByb3RlY3RlZCBnZXQgaXNEaXJlY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQuY29udGVudCBpbnN0YW5jZW9mIFR1aVB1c2hEaXJlY3RpdmU7XG4gICAgfVxufVxuIiwiPHR1aS1wdXNoXG4gICAgKm5nSWY9XCIhaXNEaXJlY3RpdmU7IGVsc2UgZGlyZWN0aXZlXCJcbiAgICBbaGVhZGluZ109XCJjb250ZXh0LmhlYWRpbmdcIlxuICAgIFt0aW1lc3RhbXBdPVwiY29udGV4dC50aW1lc3RhbXBcIlxuICAgIFt0eXBlXT1cImNvbnRleHQudHlwZVwiXG4gICAgKGNsb3NlKT1cImNvbnRleHQuJGltcGxpY2l0LmNvbXBsZXRlKClcIlxuPlxuICAgIDxpbWdcbiAgICAgICAgKm5nSWY9XCJjb250ZXh0LmltYWdlXCJcbiAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgW3NyY109XCJjb250ZXh0LmltYWdlXCJcbiAgICAvPlxuICAgIDx0dWktaWNvblxuICAgICAgICAqbmdJZj1cImNvbnRleHQuaWNvblwiXG4gICAgICAgIFtpY29uXT1cImNvbnRleHQuaWNvblwiXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCJjb250ZXh0Lmljb25Db2xvclwiXG4gICAgLz5cbiAgICA8ZGl2XG4gICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZXh0LmNvbnRlbnQgYXMgdGV4dDsgY29udGV4dDogY29udGV4dFwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwidGV4dFwiXG4gICAgPjwvZGl2PlxuICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJjb250ZXh0LmJ1dHRvbnMubGVuZ3RoID4gMVwiXG4gICAgICAgIHR1aUJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cImNvbnRleHQuJGltcGxpY2l0Lm5leHQoY29udGV4dC5idXR0b25zWzBdKVwiXG4gICAgPlxuICAgICAgICB7eyBjb250ZXh0LmJ1dHRvbnNbMF0gfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5idXR0b25zLmxlbmd0aFwiXG4gICAgICAgIHR1aUxpbmtcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJjb250ZXh0LiRpbXBsaWNpdC5uZXh0KGNvbnRleHQuYnV0dG9uc1tjb250ZXh0LmJ1dHRvbnMubGVuZ3RoIC0gMV0pXCJcbiAgICA+XG4gICAgICAgIHt7IGNvbnRleHQuYnV0dG9uc1tjb250ZXh0LmJ1dHRvbnMubGVuZ3RoIC0gMV0gfX1cbiAgICA8L2J1dHRvbj5cbjwvdHVpLXB1c2g+XG48bmctdGVtcGxhdGUgI2RpcmVjdGl2ZT5cbiAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZXh0LmNvbnRlbnRcIiAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC1hbGVydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wdXNoL3B1c2gtYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcHVzaC9wdXNoLWFsZXJ0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUNILG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsb0JBQW9CLEdBQ3ZCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7O0FBR2xELE1Bc0JhLFlBQVk7SUF0QnpCO1FBdUJ1QixZQUFPLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUM5RCxZQUFPLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUd2RCxDQUFDO0tBS0w7SUFIRyxJQUFjLFdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sWUFBWSxnQkFBZ0IsQ0FBQztJQUM1RCxDQUFDOytHQVRRLFlBQVk7bUdBQVosWUFBWSw0TkN6Q3pCLHVxQ0F5Q0Esd0pEbkJRLElBQUksNkZBQ0osa0JBQWtCLDhIQUVsQixnQkFBZ0IsbUhBQ2hCLE9BQU8scUZBQ1AsU0FBUyxvSUFDVCxPQUFPLDhFQUtDLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQzs7U0FRbEQsWUFBWTs0RkFBWixZQUFZO2tCQXRCeEIsU0FBUztpQ0FDTSxJQUFJLFdBQ1A7d0JBQ0wsSUFBSTt3QkFDSixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsT0FBTztxQkFDVixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUMsUUFDckQ7d0JBQ0YsSUFBSSxFQUFFLE9BQU87d0JBQ2IsY0FBYyxFQUFFLFNBQVM7d0JBQ3pCLG9CQUFvQixFQUFFLFNBQVM7d0JBQy9CLHNCQUFzQixFQUFFLFNBQVM7cUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1R1aVBvcG92ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvc2VydmljZXMnO1xuaW1wb3J0IHt0dWlGYWRlSW4sIHR1aUhlaWdodENvbGxhcHNlLCB0dWlTbGlkZUluUmlnaHR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7VHVpSWNvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7VHVpTGlua30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9saW5rJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTlNfU1BFRUR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aVRvQW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIFBPTFlNT1JQSEVVU19DT05URVhULFxuICAgIFBvbHltb3JwaGV1c091dGxldCxcbiAgICBQb2x5bW9ycGhldXNUZW1wbGF0ZSxcbn0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpUHVzaENvbXBvbmVudH0gZnJvbSAnLi9wdXNoLmNvbXBvbmVudCc7XG5pbXBvcnQge1R1aVB1c2hEaXJlY3RpdmV9IGZyb20gJy4vcHVzaC5kaXJlY3RpdmUnO1xuaW1wb3J0IHR5cGUge1R1aVB1c2hPcHRpb25zfSBmcm9tICcuL3B1c2gub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBQb2x5bW9ycGhldXNPdXRsZXQsXG4gICAgICAgIFBvbHltb3JwaGV1c1RlbXBsYXRlLFxuICAgICAgICBUdWlQdXNoQ29tcG9uZW50LFxuICAgICAgICBUdWlJY29uLFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aUxpbmssXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVzaC1hbGVydC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wdXNoLWFsZXJ0LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBbdHVpRmFkZUluLCB0dWlTbGlkZUluUmlnaHQsIHR1aUhlaWdodENvbGxhcHNlXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdhbGVydCcsXG4gICAgICAgICdbQHR1aUZhZGVJbl0nOiAnb3B0aW9ucycsXG4gICAgICAgICdbQHR1aVNsaWRlSW5SaWdodF0nOiAnb3B0aW9ucycsXG4gICAgICAgICdbQHR1aUhlaWdodENvbGxhcHNlXSc6ICdvcHRpb25zJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQdXNoQWxlcnQge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gdHVpVG9BbmltYXRpb25PcHRpb25zKGluamVjdChUVUlfQU5JTUFUSU9OU19TUEVFRCkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250ZXh0ID0gaW5qZWN0KFBPTFlNT1JQSEVVU19DT05URVhUKSBhcyBUdWlQb3BvdmVyPFxuICAgICAgICBUdWlQdXNoT3B0aW9ucyxcbiAgICAgICAgc3RyaW5nXG4gICAgPjtcblxuICAgIHByb3RlY3RlZCBnZXQgaXNEaXJlY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQuY29udGVudCBpbnN0YW5jZW9mIFR1aVB1c2hEaXJlY3RpdmU7XG4gICAgfVxufVxuIiwiPHR1aS1wdXNoXG4gICAgKm5nSWY9XCIhaXNEaXJlY3RpdmU7IGVsc2UgZGlyZWN0aXZlXCJcbiAgICBbaGVhZGluZ109XCJjb250ZXh0LmhlYWRpbmdcIlxuICAgIFt0aW1lc3RhbXBdPVwiY29udGV4dC50aW1lc3RhbXBcIlxuICAgIFt0eXBlXT1cImNvbnRleHQudHlwZVwiXG4gICAgKGNsb3NlKT1cImNvbnRleHQuJGltcGxpY2l0LmNvbXBsZXRlKClcIlxuPlxuICAgIDxpbWdcbiAgICAgICAgKm5nSWY9XCJjb250ZXh0LmltYWdlXCJcbiAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgW3NyY109XCJjb250ZXh0LmltYWdlXCJcbiAgICAvPlxuICAgIDx0dWktaWNvblxuICAgICAgICAqbmdJZj1cImNvbnRleHQuaWNvblwiXG4gICAgICAgIFtpY29uXT1cImNvbnRleHQuaWNvblwiXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCJjb250ZXh0Lmljb25Db2xvclwiXG4gICAgLz5cbiAgICA8ZGl2XG4gICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZXh0LmNvbnRlbnQgYXMgdGV4dDsgY29udGV4dDogY29udGV4dFwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwidGV4dFwiXG4gICAgPjwvZGl2PlxuICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJjb250ZXh0LmJ1dHRvbnMubGVuZ3RoID4gMVwiXG4gICAgICAgIHR1aUJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cImNvbnRleHQuJGltcGxpY2l0Lm5leHQoY29udGV4dC5idXR0b25zWzBdIHx8ICcnKVwiXG4gICAgPlxuICAgICAgICB7eyBjb250ZXh0LmJ1dHRvbnNbMF0gfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5idXR0b25zLmxlbmd0aFwiXG4gICAgICAgIHR1aUxpbmtcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJjb250ZXh0LiRpbXBsaWNpdC5uZXh0KGNvbnRleHQuYnV0dG9uc1tjb250ZXh0LmJ1dHRvbnMubGVuZ3RoIC0gMV0gfHwgJycpXCJcbiAgICA+XG4gICAgICAgIHt7IGNvbnRleHQuYnV0dG9uc1tjb250ZXh0LmJ1dHRvbnMubGVuZ3RoIC0gMV0gfX1cbiAgICA8L2J1dHRvbj5cbjwvdHVpLXB1c2g+XG48bmctdGVtcGxhdGUgI2RpcmVjdGl2ZT5cbiAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZXh0LmNvbnRlbnRcIiAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -12,7 +12,7 @@ class TuiRadioComponent {
12
12
  this.appearance = inject(TuiAppearance);
13
13
  this.options = inject(TUI_RADIO_OPTIONS);
14
14
  this.el = tuiInjectElement();
15
- this.control = inject(NgControl, { optional: true, self: true });
15
+ this.control = inject(NgControl, { self: true, optional: true });
16
16
  this.size = this.options.size;
17
17
  }
18
18
  ngDoCheck() {
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
32
32
  }], propDecorators: { size: [{
33
33
  type: Input
34
34
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcmFkaW8vcmFkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFHdEYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFbEQsTUFjYSxpQkFBaUI7SUFkOUI7UUFlcUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuQyxZQUFPLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDcEMsT0FBRSxHQUFHLGdCQUFnQixFQUFvQixDQUFDO1FBRXhDLFlBQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUd0RSxTQUFJLEdBQWEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7S0FLN0M7SUFIVSxTQUFTO1FBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7K0dBWlEsaUJBQWlCO21HQUFqQixpQkFBaUIsaVZBWGhCLEVBQUU7O1NBV0gsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBZDdCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLCtCQUErQixZQUMvQixFQUFFLGlCQUVHLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUMsUUFDakQ7d0JBQ0YsWUFBWSxFQUFFLDhCQUE4Qjt3QkFDNUMsa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsbUJBQW1CLEVBQUUsVUFBVTtxQkFDbEM7OEJBVU0sSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0RvQ2hlY2t9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1R1aU5hdGl2ZVZhbGlkYXRvcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL25hdGl2ZS12YWxpZGF0b3InO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge1R1aUFwcGVhcmFuY2UsIFR1aVdpdGhBcHBlYXJhbmNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2FwcGVhcmFuY2UnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbmltcG9ydCB7VFVJX1JBRElPX09QVElPTlN9IGZyb20gJy4vcmFkaW8ub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0eXBlPVwicmFkaW9cIl1bdHVpUmFkaW9dJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgc3R5bGVzOiBbJ0BpbXBvcnQgXCJAdGFpZ2EtdWkva2l0L3N0eWxlcy9jb21wb25lbnRzL3JhZGlvLmxlc3NcIjsnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpV2l0aEFwcGVhcmFuY2UsIFR1aU5hdGl2ZVZhbGlkYXRvcl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2Rpc2FibGVkXSc6ICchY29udHJvbCB8fCBjb250cm9sLmRpc2FibGVkJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnc2l6ZScsXG4gICAgICAgICdbY2xhc3MuX3JlYWRvbmx5XSc6ICchY29udHJvbCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUmFkaW9Db21wb25lbnQgaW1wbGVtZW50cyBEb0NoZWNrIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcGVhcmFuY2UgPSBpbmplY3QoVHVpQXBwZWFyYW5jZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9SQURJT19PUFRJT05TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PigpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7b3B0aW9uYWw6IHRydWUsIHNlbGY6IHRydWV9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNpemU6IFR1aVNpemVTID0gdGhpcy5vcHRpb25zLnNpemU7XG5cbiAgICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFwcGVhcmFuY2UudHVpQXBwZWFyYW5jZSA9IHRoaXMub3B0aW9ucy5hcHBlYXJhbmNlKHRoaXMuZWwpO1xuICAgIH1cbn1cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcmFkaW8vcmFkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFHdEYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFbEQsTUFjYSxpQkFBaUI7SUFkOUI7UUFlcUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuQyxZQUFPLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDcEMsT0FBRSxHQUFHLGdCQUFnQixFQUFvQixDQUFDO1FBRXhDLFlBQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUd0RSxTQUFJLEdBQWEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7S0FLN0M7SUFIVSxTQUFTO1FBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7K0dBWlEsaUJBQWlCO21HQUFqQixpQkFBaUIsaVZBWGhCLEVBQUU7O1NBV0gsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBZDdCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLCtCQUErQixZQUMvQixFQUFFLGlCQUVHLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUMsUUFDakQ7d0JBQ0YsWUFBWSxFQUFFLDhCQUE4Qjt3QkFDNUMsa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsbUJBQW1CLEVBQUUsVUFBVTtxQkFDbEM7OEJBVU0sSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0RvQ2hlY2t9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1R1aU5hdGl2ZVZhbGlkYXRvcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL25hdGl2ZS12YWxpZGF0b3InO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge1R1aUFwcGVhcmFuY2UsIFR1aVdpdGhBcHBlYXJhbmNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2FwcGVhcmFuY2UnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbmltcG9ydCB7VFVJX1JBRElPX09QVElPTlN9IGZyb20gJy4vcmFkaW8ub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0eXBlPVwicmFkaW9cIl1bdHVpUmFkaW9dJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgc3R5bGVzOiBbJ0BpbXBvcnQgXCJAdGFpZ2EtdWkva2l0L3N0eWxlcy9jb21wb25lbnRzL3JhZGlvLmxlc3NcIjsnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpV2l0aEFwcGVhcmFuY2UsIFR1aU5hdGl2ZVZhbGlkYXRvcl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2Rpc2FibGVkXSc6ICchY29udHJvbCB8fCBjb250cm9sLmRpc2FibGVkJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnc2l6ZScsXG4gICAgICAgICdbY2xhc3MuX3JlYWRvbmx5XSc6ICchY29udHJvbCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUmFkaW9Db21wb25lbnQgaW1wbGVtZW50cyBEb0NoZWNrIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcGVhcmFuY2UgPSBpbmplY3QoVHVpQXBwZWFyYW5jZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9SQURJT19PUFRJT05TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PigpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7c2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWV9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNpemU6IFR1aVNpemVTID0gdGhpcy5vcHRpb25zLnNpemU7XG5cbiAgICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFwcGVhcmFuY2UudHVpQXBwZWFyYW5jZSA9IHRoaXMub3B0aW9ucy5hcHBlYXJhbmNlKHRoaXMuZWwpO1xuICAgIH1cbn1cbiJdfQ==
@@ -21,7 +21,7 @@ class TuiRangeChange {
21
21
  passive: true,
22
22
  capture: true,
23
23
  });
24
- this.pointerMove$ = merge(tuiTypedFromEvent(this.doc, 'touchmove').pipe(filter(({ touches }) => touches.length === 1), map(({ touches }) => touches[0])), tuiTypedFromEvent(this.doc, 'mousemove'));
24
+ this.pointerMove$ = merge(tuiTypedFromEvent(this.doc, 'touchmove').pipe(filter(({ touches }) => touches.length === 1), map(({ touches }) => touches[0]), filter((event) => !!event)), tuiTypedFromEvent(this.doc, 'mousemove'));
25
25
  this.pointerUp$ = merge(tuiTypedFromEvent(this.doc, 'touchend', { passive: true }), tuiTypedFromEvent(this.doc, 'mouseup', { passive: true }));
26
26
  this.activeThumbChange = new EventEmitter();
27
27
  let activeThumb;
@@ -32,7 +32,7 @@ class TuiRangeChange {
32
32
  if (this.range.focusable) {
33
33
  this.el.focus();
34
34
  }
35
- }), switchMap((event) => this.pointerMove$.pipe(startWith(event))), map(({ clientX }) => this.getFractionFromEvents(clientX)), takeUntil(this.pointerUp$), repeat(), takeUntilDestroyed())
35
+ }), switchMap((event) => this.pointerMove$.pipe(startWith(event))), map(({ clientX }) => this.getFractionFromEvents(clientX ?? 0)), takeUntil(this.pointerUp$), repeat(), takeUntilDestroyed())
36
36
  .subscribe((fraction) => {
37
37
  const value = this.range.toValue(fraction);
38
38
  this.range.processValue(value, activeThumb === 'right');
@@ -47,9 +47,9 @@ class TuiRangeChange {
47
47
  detectActiveThumb(clientX, target) {
48
48
  const [leftSliderRef, rightSliderRef] = this.range.slidersRefs;
49
49
  switch (target) {
50
- case leftSliderRef.nativeElement:
50
+ case leftSliderRef?.nativeElement:
51
51
  return 'left';
52
- case rightSliderRef.nativeElement:
52
+ case rightSliderRef?.nativeElement:
53
53
  return 'right';
54
54
  default:
55
55
  return this.findNearestActiveThumb(clientX);
@@ -77,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
77
77
  }], ctorParameters: function () { return []; }, propDecorators: { activeThumbChange: [{
78
78
  type: Output
79
79
  }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtY2hhbmdlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3JhbmdlL3JhbmdlLWNoYW5nZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV0RixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7O0FBRTNDLE1BR2EsY0FBYztJQThCdkI7UUE3QmlCLFFBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkIsT0FBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUxQzs7O1dBR0c7UUFDYyxpQkFBWSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFO1lBQ3RFLE9BQU8sRUFBRSxJ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QUFNLENBQUM7WUFDbEIsS0FBSyxjQUFjLENBQUMsYUFBYTtnQkFDN0IsT0FBTyxPQUFPLENBQUM7WUFDbkI7Z0JBQ0ksT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbkQ7SUFDTCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBZTtRQUMxQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsTUFBTSxTQUFTLEdBQUcsUUFBUSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JELE1BQU0sVUFBVSxHQUFHLFFBQVEsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFN0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO1lBQzdDLFVBQVUsR0FBRyxDQUFDO1lBQ2QsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQztZQUN2RCxDQUFDLENBQUMsT0FBTztZQUNULENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDakIsQ0FBQzsrR0ExRlEsY0FBYzttR0FBZCxjQUFjOztTQUFkLGNBQWM7NEZBQWQsY0FBYztrQkFIMUIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7MEVBNkJtQixpQkFBaUI7c0JBRGhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7dHVpVHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUNsYW1wLCB0dWlSb3VuZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7VFVJX0ZMT0FUSU5HX1BSRUNJU0lPTn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NsaWRlcic7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBtZXJnZSwgcmVwZWF0LCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aVJhbmdlfSBmcm9tICcuL3JhbmdlLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVJhbmdlQ2hhbmdlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvYyA9IGluamVjdChET0NVTUVOVCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhbmdlID0gaW5qZWN0KFR1aVJhbmdlKTtcblxuICAgIC8qKlxuICAgICAqIFRPRE8gcmVwbGFjZSB3aXRoIHBvaW50ZXIgZXZlbnRzICh3aGVuIGFsbCBzdXBwb3J0ZWQgYnJvd3NlcnMgY2FuIGhhbmRsZSB0aGVtKS5cbiAgICAgKiBEb24ndCBmb3JnZXQgdG8gdXNlIHNldFBvaW50ZXJDYXB0dXJlIGluc3RlYWQgb2YgbGlzdGVuaW5nIGFsbCBkb2MgZXZlbnRzXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb2ludGVyRG93biQgPSB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmVsLCAncG9pbnRlcmRvd24nLCB7XG4gICAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvaW50ZXJNb3ZlJCA9IG1lcmdlKFxuICAgICAgICB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmRvYywgJ3RvdWNobW92ZScpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKHt0b3VjaGVzfSkgPT4gdG91Y2hlcy5sZW5ndGggPT09IDEpLFxuICAgICAgICAgICAgbWFwKCh7dG91Y2hlc30pID0+IHRvdWNoZXNbMF0pLFxuICAgICAgICApLFxuICAgICAgICB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmRvYywgJ21vdXNlbW92ZScpLFxuICAgICk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvaW50ZXJVcCQgPSBtZXJnZShcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5kb2MsICd0b3VjaGVuZCcsIHtwYXNzaXZlOiB0cnVlfSksXG4gICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jLCAnbW91c2V1cCcsIHtwYXNzaXZlOiB0cnVlfSksXG4gICAgKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBhY3RpdmVUaHVtYkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8J2xlZnQnIHwgJ3JpZ2h0Jz4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBsZXQgYWN0aXZlVGh1bWI6ICdsZWZ0JyB8ICdyaWdodCc7XG5cbiAgICAgICAgdGhpcy5wb2ludGVyRG93biRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoe2NsaWVudFgsIHRhcmdldH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlVGh1bWIgPSB0aGlzLmRldGVjdEFjdGl2ZVRodW1iKGNsaWVudFgsIHRhcmdldCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlVGh1bWJDaGFuZ2UuZW1pdChhY3RpdmVUaHVtYik7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucmFuZ2UuZm9jdXNhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGV2ZW50KSA9PiB0aGlzLnBvaW50ZXJNb3ZlJC5waXBlKHN0YXJ0V2l0aChldmVudCkpKSxcbiAgICAgICAgICAgICAgICBtYXAoKHtjbGllbnRYfSkgPT4gdGhpcy5nZXRGcmFjdGlvbkZyb21FdmVudHMoY2xpZW50WCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLnBvaW50ZXJVcCQpLFxuICAgICAgICAgICAgICAgIHJlcGVhdCgpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZnJhY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucmFuZ2UudG9WYWx1ZShmcmFjdGlvbik7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnJhbmdlLnByb2Nlc3NWYWx1ZSh2YWx1ZSwgYWN0aXZlVGh1bWIgPT09ICdyaWdodCcpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGcmFjdGlvbkZyb21FdmVudHMoY2xpY2tDbGllbnRYOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBob3N0UmVjdCA9IHRoaXMuZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gY2xpY2tDbGllbnRYIC0gaG9zdFJlY3QubGVmdDtcbiAgICAgICAgY29uc3QgdG90YWwgPSBob3N0UmVjdC53aWR0aDtcblxuICAgICAgICByZXR1cm4gdHVpQ2xhbXAodHVpUm91bmQodmFsdWUgLyB0b3RhbCwgVFVJX0ZMT0FUSU5HX1BSRUNJU0lPTiksIDAsIDEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGV0ZWN0QWN0aXZlVGh1bWIoXG4gICAgICAgIGNsaWVudFg6IG51bWJlcixcbiAgICAgICAgdGFyZ2V0OiBFdmVudFRhcmdldCB8IG51bGwsXG4gICAgKTogJ2xlZnQnIHwgJ3JpZ2h0JyB7XG4gICAgICAgIGNvbnN0IFtsZWZ0U2xpZGVyUmVmLCByaWdodFNsaWRlclJlZl0gPSB0aGlzLnJhbmdlLnNsaWRlcnNSZWZzO1xuXG4gICAgICAgIHN3aXRjaCAodGFyZ2V0KSB7XG4gICAgICAgICAgICBjYXNlIGxlZnRTbGlkZXJSZWYubmF0aXZlRWxlbWVudDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2xlZnQnO1xuICAgICAgICAgICAgY2FzZSByaWdodFNsaWRlclJlZi5uYXRpdmVFbGVtZW50OlxuICAgICAgICAgICAgICAgIHJldHVybiAncmlnaHQnO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5maW5kTmVhcmVzdEFjdGl2ZVRodW1iKGNsaWVudFgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kTmVhcmVzdEFjdGl2ZVRodW1iKGNsaWVudFg6IG51bWJlcik6ICdsZWZ0JyB8ICdyaWdodCcge1xuICAgICAgICBjb25zdCBmcmFjdGlvbiA9IHRoaXMuZ2V0RnJhY3Rpb25Gcm9tRXZlbnRzKGNsaWVudFgpO1xuICAgICAgICBjb25zdCBkZWx0YUxlZnQgPSBmcmFjdGlvbiAqIDEwMCAtIHRoaXMucmFuZ2UubGVmdCgpO1xuICAgICAgICBjb25zdCBkZWx0YVJpZ2h0ID0gZnJhY3Rpb24gKiAxMDAgLSAxMDAgKyB0aGlzLnJhbmdlLnJpZ2h0KCk7XG5cbiAgICAgICAgcmV0dXJuIE1hdGguYWJzKGRlbHRhTGVmdCkgPiBNYXRoLmFicyhkZWx0YVJpZ2h0KSB8fFxuICAgICAgICAgICAgZGVsdGFSaWdodCA+IDAgfHxcbiAgICAgICAgICAgICh0aGlzLnJhbmdlLmxlZnQoKSA9PT0gMCAmJiB0aGlzLnJhbmdlLnJpZ2h0KCkgPT09IDEwMClcbiAgICAgICAgICAgID8gJ3JpZ2h0J1xuICAgICAgICAgICAgOiAnbGVmdCc7XG4gICAgfVxufVxuIl19
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtY2hhbmdlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3JhbmdlL3JhbmdlLWNoYW5nZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV0RixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7O0FBRTNDLE1BR2EsY0FBYztJQStCdkI7UUE5QmlCLFFBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkIsT0FBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUxQzs7O1dBR0c7UUFDYyxpQkFBWSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFO1lBQ3RFLE9BQU8sRUFBRSxJ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QUMsV0FBVyxDQUFDO1FBRS9ELFFBQVEsTUFBTSxFQUFFO1lBQ1osS0FBSyxhQUFhLEVBQUUsYUFBYTtnQkFDN0IsT0FBTyxNQUFNLENBQUM7WUFDbEIsS0FBSyxjQUFjLEVBQUUsYUFBYTtnQkFDOUIsT0FBTyxPQUFPLENBQUM7WUFDbkI7Z0JBQ0ksT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbkQ7SUFDTCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBZTtRQUMxQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsTUFBTSxTQUFTLEdBQUcsUUFBUSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JELE1BQU0sVUFBVSxHQUFHLFFBQVEsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFN0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO1lBQzdDLFVBQVUsR0FBRyxDQUFDO1lBQ2QsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQztZQUN2RCxDQUFDLENBQUMsT0FBTztZQUNULENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDakIsQ0FBQzsrR0EzRlEsY0FBYzttR0FBZCxjQUFjOztTQUFkLGNBQWM7NEZBQWQsY0FBYztrQkFIMUIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7MEVBOEJtQixpQkFBaUI7c0JBRGhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7dHVpVHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUNsYW1wLCB0dWlSb3VuZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7VFVJX0ZMT0FUSU5HX1BSRUNJU0lPTn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NsaWRlcic7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBtZXJnZSwgcmVwZWF0LCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aVJhbmdlfSBmcm9tICcuL3JhbmdlLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVJhbmdlQ2hhbmdlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvYyA9IGluamVjdChET0NVTUVOVCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhbmdlID0gaW5qZWN0KFR1aVJhbmdlKTtcblxuICAgIC8qKlxuICAgICAqIFRPRE8gcmVwbGFjZSB3aXRoIHBvaW50ZXIgZXZlbnRzICh3aGVuIGFsbCBzdXBwb3J0ZWQgYnJvd3NlcnMgY2FuIGhhbmRsZSB0aGVtKS5cbiAgICAgKiBEb24ndCBmb3JnZXQgdG8gdXNlIHNldFBvaW50ZXJDYXB0dXJlIGluc3RlYWQgb2YgbGlzdGVuaW5nIGFsbCBkb2MgZXZlbnRzXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb2ludGVyRG93biQgPSB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmVsLCAncG9pbnRlcmRvd24nLCB7XG4gICAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvaW50ZXJNb3ZlJCA9IG1lcmdlKFxuICAgICAgICB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmRvYywgJ3RvdWNobW92ZScpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKHt0b3VjaGVzfSkgPT4gdG91Y2hlcy5sZW5ndGggPT09IDEpLFxuICAgICAgICAgICAgbWFwKCh7dG91Y2hlc30pID0+IHRvdWNoZXNbMF0pLFxuICAgICAgICAgICAgZmlsdGVyKChldmVudCk6IGV2ZW50IGlzIFRvdWNoID0+ICEhZXZlbnQpLFxuICAgICAgICApLFxuICAgICAgICB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmRvYywgJ21vdXNlbW92ZScpLFxuICAgICk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvaW50ZXJVcCQgPSBtZXJnZShcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5kb2MsICd0b3VjaGVuZCcsIHtwYXNzaXZlOiB0cnVlfSksXG4gICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jLCAnbW91c2V1cCcsIHtwYXNzaXZlOiB0cnVlfSksXG4gICAgKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBhY3RpdmVUaHVtYkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8J2xlZnQnIHwgJ3JpZ2h0Jz4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBsZXQgYWN0aXZlVGh1bWI6ICdsZWZ0JyB8ICdyaWdodCc7XG5cbiAgICAgICAgdGhpcy5wb2ludGVyRG93biRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoe2NsaWVudFgsIHRhcmdldH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlVGh1bWIgPSB0aGlzLmRldGVjdEFjdGl2ZVRodW1iKGNsaWVudFgsIHRhcmdldCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlVGh1bWJDaGFuZ2UuZW1pdChhY3RpdmVUaHVtYik7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucmFuZ2UuZm9jdXNhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGV2ZW50KSA9PiB0aGlzLnBvaW50ZXJNb3ZlJC5waXBlKHN0YXJ0V2l0aChldmVudCkpKSxcbiAgICAgICAgICAgICAgICBtYXAoKHtjbGllbnRYfSkgPT4gdGhpcy5nZXRGcmFjdGlvbkZyb21FdmVudHMoY2xpZW50WCA/PyAwKSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMucG9pbnRlclVwJCksXG4gICAgICAgICAgICAgICAgcmVwZWF0KCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChmcmFjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5yYW5nZS50b1ZhbHVlKGZyYWN0aW9uKTtcblxuICAgICAgICAgICAgICAgIHRoaXMucmFuZ2UucHJvY2Vzc1ZhbHVlKHZhbHVlLCBhY3RpdmVUaHVtYiA9PT0gJ3JpZ2h0Jyk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZyYWN0aW9uRnJvbUV2ZW50cyhjbGlja0NsaWVudFg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5lbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBjbGlja0NsaWVudFggLSBob3N0UmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCB0b3RhbCA9IGhvc3RSZWN0LndpZHRoO1xuXG4gICAgICAgIHJldHVybiB0dWlDbGFtcCh0dWlSb3VuZCh2YWx1ZSAvIHRvdGFsLCBUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OKSwgMCwgMSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXRlY3RBY3RpdmVUaHVtYihcbiAgICAgICAgY2xpZW50WDogbnVtYmVyLFxuICAgICAgICB0YXJnZXQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCxcbiAgICApOiAnbGVmdCcgfCAncmlnaHQnIHtcbiAgICAgICAgY29uc3QgW2xlZnRTbGlkZXJSZWYsIHJpZ2h0U2xpZGVyUmVmXSA9IHRoaXMucmFuZ2Uuc2xpZGVyc1JlZnM7XG5cbiAgICAgICAgc3dpdGNoICh0YXJnZXQpIHtcbiAgICAgICAgICAgIGNhc2UgbGVmdFNsaWRlclJlZj8ubmF0aXZlRWxlbWVudDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2xlZnQnO1xuICAgICAgICAgICAgY2FzZSByaWdodFNsaWRlclJlZj8ubmF0aXZlRWxlbWVudDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3JpZ2h0JztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmluZE5lYXJlc3RBY3RpdmVUaHVtYihjbGllbnRYKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZmluZE5lYXJlc3RBY3RpdmVUaHVtYihjbGllbnRYOiBudW1iZXIpOiAnbGVmdCcgfCAncmlnaHQnIHtcbiAgICAgICAgY29uc3QgZnJhY3Rpb24gPSB0aGlzLmdldEZyYWN0aW9uRnJvbUV2ZW50cyhjbGllbnRYKTtcbiAgICAgICAgY29uc3QgZGVsdGFMZWZ0ID0gZnJhY3Rpb24gKiAxMDAgLSB0aGlzLnJhbmdlLmxlZnQoKTtcbiAgICAgICAgY29uc3QgZGVsdGFSaWdodCA9IGZyYWN0aW9uICogMTAwIC0gMTAwICsgdGhpcy5yYW5nZS5yaWdodCgpO1xuXG4gICAgICAgIHJldHVybiBNYXRoLmFicyhkZWx0YUxlZnQpID4gTWF0aC5hYnMoZGVsdGFSaWdodCkgfHxcbiAgICAgICAgICAgIGRlbHRhUmlnaHQgPiAwIHx8XG4gICAgICAgICAgICAodGhpcy5yYW5nZS5sZWZ0KCkgPT09IDAgJiYgdGhpcy5yYW5nZS5yaWdodCgpID09PSAxMDApXG4gICAgICAgICAgICA/ICdyaWdodCdcbiAgICAgICAgICAgIDogJ2xlZnQnO1xuICAgIH1cbn1cbiJdfQ==
@@ -60,8 +60,8 @@ class TuiRange extends TuiControl {
60
60
  }
61
61
  changeByStep(coefficient, target) {
62
62
  const [sliderLeftRef, sliderRightRef] = this.slidersRefs;
63
- const leftThumbElement = sliderLeftRef.nativeElement;
64
- const rightThumbElement = sliderRightRef.nativeElement;
63
+ const leftThumbElement = sliderLeftRef?.nativeElement;
64
+ const rightThumbElement = sliderRightRef?.nativeElement;
65
65
  const isRightThumb = target === this.el
66
66
  ? this.lastActiveThumb === 'right'
67
67
  : target === rightThumbElement;
@@ -151,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
151
151
  type: ViewChildren,
152
152
  args: [TuiSliderComponent, { read: ElementRef }]
153
153
  }], computePureKeySteps: [] } });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFHMUQsT0FBTyxFQUNILGtCQUFrQixFQUNsQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLFNBQVMsRUFDVCxrQkFBa0IsR0FDckIsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBRXhELE1BNkJhLFFBQVMsU0FBUSxVQUE0QjtJQTdCMUQ7O1FBOEJJLHVEQUF1RDtRQUN0QyxZQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLE9BQUUsR0FB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LENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUM3Qjt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsY0FBYzs0QkFDekIsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7eUJBQ2pDO3FCQUNKLFFBQ0s7d0JBQ0Ysa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsaUJBQWlCLEVBQUUsSUFBSTt3QkFDdkIsc0JBQXNCLEVBQUUsWUFBWTt3QkFDcEMsa0JBQWtCLEVBQUUsUUFBUTt3QkFDNUIsbUJBQW1CLEVBQUUsU0FBUzt3QkFDOUIsb0JBQW9CLEVBQUUsb0JBQW9CO3dCQUMxQyxtQkFBbUIsRUFBRSxZQUFZO3dCQUNqQyxZQUFZLEVBQUUsYUFBYTt3QkFDM0IsMkJBQTJCLEVBQUUsZ0NBQWdDO3dCQUM3RCw4QkFBOEIsRUFBRSxnQ0FBZ0M7d0JBQ2hFLDZCQUE2QixFQUFFLGlDQUFpQzt3QkFDaEUsNkJBQTZCLEVBQUUsaUNBQWlDO3FCQUNuRTs4QkFXTSxHQUFHO3NCQURULEtBQUs7Z0JBSUMsR0FBRztzQkFEVCxLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJVSxXQUFXO3NCQUQxQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQztnQkFpRTVDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtPbkNoYW5nZXMsIFF1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHVpQ29udHJvbH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7RU1QVFlfUVVFUll9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpQ2xhbXAsIHR1aVF1YW50aXplfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQgdHlwZSB7VHVpS2V5U3RlcHN9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXInO1xuaW1wb3J0IHtcbiAgICBUVUlfU0xJREVSX09QVElPTlMsXG4gICAgdHVpS2V5U3RlcFZhbHVlVG9QZXJjZW50YWdlLFxuICAgIHR1aVBlcmNlbnRhZ2VUb0tleVN0ZXBWYWx1ZSxcbiAgICBUdWlTbGlkZXIsXG4gICAgVHVpU2xpZGVyQ29tcG9uZW50LFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcblxuaW1wb3J0IHtUdWlSYW5nZUNoYW5nZX0gZnJvbSAnLi9yYW5nZS1jaGFuZ2UuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1yYW5nZScsXG4gICAgaW1wb3J0czogW1R1aVNsaWRlciwgRm9ybXNNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYW5nZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yYW5nZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyKFswLCAwXSldLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogVHVpUmFuZ2VDaGFuZ2UsXG4gICAgICAgICAgICBvdXRwdXRzOiBbJ2FjdGl2ZVRodW1iQ2hhbmdlJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUnLFxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJy0xJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnW3N0eWxlLi0tbGVmdC4lXSc6ICdsZWZ0KCknLFxuICAgICAgICAnW3N0eWxlLi0tcmlnaHQuJV0nOiAncmlnaHQoKScsXG4gICAgICAgICdbc3R5bGUuYmFja2dyb3VuZF0nOiAnb3B0aW9ucy50cmFja0NvbG9yJyxcbiAgICAgICAgJ1tjbGFzcy5fZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdvblRvdWNoZWQoKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1VwLnByZXZlbnQpJzogJ2NoYW5nZUJ5U3RlcCgxLCAkZXZlbnQudGFyZ2V0KScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1JpZ2h0LnByZXZlbnQpJzogJ2NoYW5nZUJ5U3RlcCgxLCAkZXZlbnQudGFyZ2V0KScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0xlZnQucHJldmVudCknOiAnY2hhbmdlQnlTdGVwKC0xLCAkZXZlbnQudGFyZ2V0KScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudCknOiAnY2hhbmdlQnlTdGVwKC0xLCAkZXZlbnQudGFyZ2V0KScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUmFuZ2UgZXh0ZW5kcyBUdWlDb250cm9sPFtudW1iZXIsIG51bWJlcl0+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICAvLyBUT0RPOiByZWZhY3RvciB0byBzaWduYWwgaW5wdXRzIGFmdGVyIEFuZ3VsYXIgdXBkYXRlXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VzID0gc2lnbmFsKDEpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfU0xJREVSX09QVElPTlMpO1xuICAgIHByb3RlY3RlZCBsYXN0QWN0aXZlVGh1bWI6ICdsZWZ0JyB8ICdyaWdodCcgPSAncmlnaHQnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWluID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1heCA9IDEwMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHN0ZXAgPSAxO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2l6ZTogVHVpU2l6ZVMgPSB0aGlzLm9wdGlvbnMuc2l6ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlZ21lbnRzID0gMTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9jdXNhYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1hcmdpbiA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsaW1pdCA9IEluZmluaXR5O1xuXG4gICAgQFZpZXdDaGlsZHJlbihUdWlTbGlkZXJDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2xpZGVyc1JlZnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGxlZnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRvUGVyY2VudCh0aGlzLnZhbHVlKClbMF0pKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmlnaHQgPSBjb21wdXRlZCgoKSA9PiAxMDAgLSB0aGlzLnRvUGVyY2VudCh0aGlzLnZhbHVlKClbMV0pKTtcblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VzLnNldCh0aGlzLmNoYW5nZXMoKSArIDEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBwcm9jZXNzVmFsdWUodmFsdWU6IG51bWJlciwgcmlnaHQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHJpZ2h0KSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUVuZCh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXJ0KHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGFzdEFjdGl2ZVRodW1iID0gcmlnaHQgPyAncmlnaHQnIDogJ2xlZnQnO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b1ZhbHVlKGZyYWN0aW9uOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdHVpUGVyY2VudGFnZVRvS2V5U3RlcFZhbHVlKFxuICAgICAgICAgICAgdHVpQ2xhbXAodHVpUXVhbnRpemUoZnJhY3Rpb24sIHRoaXMuZnJhY3Rpb25TdGVwKSwgMCwgMSkgKiAxMDAsXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkS2V5U3RlcHMsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBmcmFjdGlvblN0ZXAoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RlcCAvICh0aGlzLm1heCAtIHRoaXMubWluKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNvbXB1dGVkS2V5U3RlcHMoKTogVHVpS2V5U3RlcHMge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlUHVyZUtleVN0ZXBzKHRoaXMua2V5U3RlcHMsIHRoaXMubWluLCB0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBzZWdtZW50V2lkdGhSYXRpbygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gMSAvIHRoaXMuc2VnbWVudHM7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNoYW5nZUJ5U3RlcChjb2VmZmljaWVudDogbnVtYmVyLCB0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IFtzbGlkZXJMZWZ0UmVmLCBzbGlkZXJSaWdodFJlZl0gPSB0aGlzLnNsaWRlcnNSZWZzO1xuICAgICAgICBjb25zdCBsZWZ0VGh1bWJFbGVtZW50ID0gc2xpZGVyTGVmdFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCByaWdodFRodW1iRWxlbWVudCA9IHNsaWRlclJpZ2h0UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgY29uc3QgaXNSaWdodFRodW1iID1cbiAgICAgICAgICAgIHRhcmdldCA9PT0gdGhpcy5lbFxuICAgICAgICAgICAgICAgID8gdGhpcy5sYXN0QWN0aXZlVGh1bWIgPT09ICdyaWdodCdcbiAgICAgICAgICAgICAgICA6IHRhcmdldCA9PT0gcmlnaHRUaHVtYkVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVRodW1iRWxlbWVudCA9IGlzUmlnaHRUaHVtYiA/IHJpZ2h0VGh1bWJFbGVtZW50IDogbGVmdFRodW1iRWxlbWVudDtcbiAgICAgICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IGlzUmlnaHRUaHVtYiA/IHRoaXMudmFsdWUoKVsxXSA6IHRoaXMudmFsdWUoKVswXTtcbiAgICAgICAgLyoqIEBiYWQgVE9ETyB0aGluayBhYm91dCBhIHNvbHV0aW9uIHdpdGhvdXQgdHdpY2UgY29udmVyc2lvbiAqL1xuICAgICAgICBjb25zdCBwcmV2aW91c0ZyYWN0aW9uID0gdGhpcy50b1BlcmNlbnQocHJldmlvdXNWYWx1ZSkgLyAxMDA7XG4gICAgICAgIGNvbnN0IG5ld0ZyYWN0aW9uVmFsdWUgPSBwcmV2aW91c0ZyYWN0aW9uICsgY29lZmZpY2llbnQgKiB0aGlzLmZyYWN0aW9uU3RlcDtcblxuICAgICAgICB0aGlzLnByb2Nlc3NWYWx1ZSh0aGlzLnRvVmFsdWUobmV3RnJhY3Rpb25WYWx1ZSksIGlzUmlnaHRUaHVtYik7XG4gICAgICAgIGFjdGl2ZVRodW1iRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdG9QZXJjZW50KHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VzKCkgJiYgdHVpS2V5U3RlcFZhbHVlVG9QZXJjZW50YWdlKHZhbHVlLCB0aGlzLmNvbXB1dGVkS2V5U3RlcHMpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNvbXB1dGVQdXJlS2V5U3RlcHMoXG4gICAgICAgIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyB8IG51bGwsXG4gICAgICAgIG1pbjogbnVtYmVyLFxuICAgICAgICBtYXg6IG51bWJlcixcbiAgICApOiBUdWlLZXlTdGVwcyB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBrZXlTdGVwcyB8fCBbXG4gICAgICAgICAgICAgICAgWzAsIG1pbl0sXG4gICAgICAgICAgICAgICAgWzEwMCwgbWF4XSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVN0YXJ0KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBNYXRoLm1pbih2YWx1ZSwgdGhpcy52YWx1ZSgpWzFdKTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2UgPSB0aGlzLnZhbHVlKClbMV0gLSBuZXdWYWx1ZTtcblxuICAgICAgICBpZiAoIXRoaXMuY2hlY2tEaXN0YW5jZShkaXN0YW5jZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25DaGFuZ2UoW25ld1ZhbHVlLCB0aGlzLnZhbHVlKClbMV1dKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUVuZCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gTWF0aC5tYXgodmFsdWUsIHRoaXMudmFsdWUoKVswXSk7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlID0gbmV3VmFsdWUgLSB0aGlzLnZhbHVlKClbMF07XG5cbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrRGlzdGFuY2UoZGlzdGFuY2UpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uQ2hhbmdlKFt0aGlzLnZhbHVlKClbMF0sIG5ld1ZhbHVlXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0Rpc3RhbmNlKGRpc3RhbmNlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUNsYW1wKGRpc3RhbmNlLCB0aGlzLm1hcmdpbiwgdGhpcy5saW1pdCkgPT09IGRpc3RhbmNlO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInQtdHJhY2tcIlxuICAgIFtzdHlsZS4tLWJnLXNpemUtcmF0aW9dPVwiMSAtIHNlZ21lbnRXaWR0aFJhdGlvXCJcbiAgICBbc3R5bGUuLS1zZWdtZW50LXdpZHRoLiVdPVwic2VnbWVudFdpZHRoUmF0aW8gKiAxMDBcIlxuPlxuICAgIDxpbnB1dFxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXJhbmdlX19sZWZ0XCJcbiAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgc3RlcD1cImFueVwiXG4gICAgICAgIHR1aVNsaWRlclxuICAgICAgICB0eXBlPVwicmFuZ2VcIlxuICAgICAgICBjbGFzcz1cInQtdGh1bWJcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgIFtrZXlTdGVwc109XCJjb21wdXRlZEtleVN0ZXBzXCJcbiAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgIFtuZ01vZGVsXT1cInZhbHVlKClbMF1cIlxuICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcbiAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgIFt0YWJJbmRleF09XCJmb2N1c2FibGUgPyAwIDogLTFcIlxuICAgIC8+XG4gICAgPGlucHV0XG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcmFuZ2VfX3JpZ2h0XCJcbiAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgc3RlcD1cImFueVwiXG4gICAgICAgIHR1aVNsaWRlclxuICAgICAgICB0eXBlPVwicmFuZ2VcIlxuICAgICAgICBjbGFzcz1cInQtdGh1bWJcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgIFtrZXlTdGVwc109XCJjb21wdXRlZEtleVN0ZXBzXCJcbiAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgIFtuZ01vZGVsXT1cInZhbHVlKClbMV1cIlxuICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcbiAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgIFt0YWJJbmRleF09XCJmb2N1c2FibGUgPyAwIDogLTFcIlxuICAgIC8+XG48L2Rpdj5cbiJdfQ==
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFHMUQsT0FBTyxFQUNILGtCQUFrQixFQUNsQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLFNBQVMsRUFDVCxrQkFBa0IsR0FDckIsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBRXhELE1BNkJhLFFBQVMsU0FBUSxVQUE0QjtJQTdCMUQ7O1FBOEJJLHVEQUF1RDtRQUN0QyxZQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLE9BQUUsR0FB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LENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUM3Qjt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsY0FBYzs0QkFDekIsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7eUJBQ2pDO3FCQUNKLFFBQ0s7d0JBQ0Ysa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsaUJBQWlCLEVBQUUsSUFBSTt3QkFDdkIsc0JBQXNCLEVBQUUsWUFBWTt3QkFDcEMsa0JBQWtCLEVBQUUsUUFBUTt3QkFDNUIsbUJBQW1CLEVBQUUsU0FBUzt3QkFDOUIsb0JBQW9CLEVBQUUsb0JBQW9CO3dCQUMxQyxtQkFBbUIsRUFBRSxZQUFZO3dCQUNqQyxZQUFZLEVBQUUsYUFBYTt3QkFDM0IsMkJBQTJCLEVBQUUsZ0NBQWdDO3dCQUM3RCw4QkFBOEIsRUFBRSxnQ0FBZ0M7d0JBQ2hFLDZCQUE2QixFQUFFLGlDQUFpQzt3QkFDaEUsNkJBQTZCLEVBQUUsaUNBQWlDO3FCQUNuRTs4QkFXTSxHQUFHO3NCQURULEtBQUs7Z0JBSUMsR0FBRztzQkFEVCxLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJVSxXQUFXO3NCQUQxQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQztnQkFpRTVDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtPbkNoYW5nZXMsIFF1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHVpQ29udHJvbH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7RU1QVFlfUVVFUll9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpQ2xhbXAsIHR1aVF1YW50aXplfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQgdHlwZSB7VHVpS2V5U3RlcHN9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXInO1xuaW1wb3J0IHtcbiAgICBUVUlfU0xJREVSX09QVElPTlMsXG4gICAgdHVpS2V5U3RlcFZhbHVlVG9QZXJjZW50YWdlLFxuICAgIHR1aVBlcmNlbnRhZ2VUb0tleVN0ZXBWYWx1ZSxcbiAgICBUdWlTbGlkZXIsXG4gICAgVHVpU2xpZGVyQ29tcG9uZW50LFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcblxuaW1wb3J0IHtUdWlSYW5nZUNoYW5nZX0gZnJvbSAnLi9yYW5nZS1jaGFuZ2UuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1yYW5nZScsXG4gICAgaW1wb3J0czogW1R1aVNsaWRlciwgRm9ybXNNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYW5nZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yYW5nZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyKFswLCAwXSldLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogVHVpUmFuZ2VDaGFuZ2UsXG4gICAgICAgICAgICBvdXRwdXRzOiBbJ2FjdGl2ZVRodW1iQ2hhbmdlJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUnLFxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJy0xJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnW3N0eWxlLi0tbGVmdC4lXSc6ICdsZWZ0KCknLFxuICAgICAgICAnW3N0eWxlLi0tcmlnaHQuJV0nOiAncmlnaHQoKScsXG4gICAgICAgICdbc3R5bGUuYmFja2dyb3VuZF0nOiAnb3B0aW9ucy50cmFja0NvbG9yJyxcbiAgICAgICAgJ1tjbGFzcy5fZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdvblRvdWNoZWQoKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1VwLnByZXZlbnQpJzogJ2NoYW5nZUJ5U3RlcCgxLCAkZXZlbnQudGFyZ2V0KScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1JpZ2h0LnByZXZlbnQpJzogJ2NoYW5nZUJ5U3RlcCgxLCAkZXZlbnQudGFyZ2V0KScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0xlZnQucHJldmVudCknOiAnY2hhbmdlQnlTdGVwKC0xLCAkZXZlbnQudGFyZ2V0KScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudCknOiAnY2hhbmdlQnlTdGVwKC0xLCAkZXZlbnQudGFyZ2V0KScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUmFuZ2UgZXh0ZW5kcyBUdWlDb250cm9sPFtudW1iZXIsIG51bWJlcl0+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICAvLyBUT0RPOiByZWZhY3RvciB0byBzaWduYWwgaW5wdXRzIGFmdGVyIEFuZ3VsYXIgdXBkYXRlXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VzID0gc2lnbmFsKDEpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfU0xJREVSX09QVElPTlMpO1xuICAgIHByb3RlY3RlZCBsYXN0QWN0aXZlVGh1bWI6ICdsZWZ0JyB8ICdyaWdodCcgPSAncmlnaHQnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWluID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1heCA9IDEwMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHN0ZXAgPSAxO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2l6ZTogVHVpU2l6ZVMgPSB0aGlzLm9wdGlvbnMuc2l6ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlZ21lbnRzID0gMTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9jdXNhYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1hcmdpbiA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsaW1pdCA9IEluZmluaXR5O1xuXG4gICAgQFZpZXdDaGlsZHJlbihUdWlTbGlkZXJDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2xpZGVyc1JlZnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGxlZnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRvUGVyY2VudCh0aGlzLnZhbHVlKClbMF0pKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmlnaHQgPSBjb21wdXRlZCgoKSA9PiAxMDAgLSB0aGlzLnRvUGVyY2VudCh0aGlzLnZhbHVlKClbMV0pKTtcblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VzLnNldCh0aGlzLmNoYW5nZXMoKSArIDEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBwcm9jZXNzVmFsdWUodmFsdWU6IG51bWJlciwgcmlnaHQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHJpZ2h0KSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUVuZCh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXJ0KHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGFzdEFjdGl2ZVRodW1iID0gcmlnaHQgPyAncmlnaHQnIDogJ2xlZnQnO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b1ZhbHVlKGZyYWN0aW9uOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdHVpUGVyY2VudGFnZVRvS2V5U3RlcFZhbHVlKFxuICAgICAgICAgICAgdHVpQ2xhbXAodHVpUXVhbnRpemUoZnJhY3Rpb24sIHRoaXMuZnJhY3Rpb25TdGVwKSwgMCwgMSkgKiAxMDAsXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkS2V5U3RlcHMsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBmcmFjdGlvblN0ZXAoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RlcCAvICh0aGlzLm1heCAtIHRoaXMubWluKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNvbXB1dGVkS2V5U3RlcHMoKTogVHVpS2V5U3RlcHMge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlUHVyZUtleVN0ZXBzKHRoaXMua2V5U3RlcHMsIHRoaXMubWluLCB0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBzZWdtZW50V2lkdGhSYXRpbygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gMSAvIHRoaXMuc2VnbWVudHM7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNoYW5nZUJ5U3RlcChjb2VmZmljaWVudDogbnVtYmVyLCB0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IFtzbGlkZXJMZWZ0UmVmLCBzbGlkZXJSaWdodFJlZl0gPSB0aGlzLnNsaWRlcnNSZWZzO1xuICAgICAgICBjb25zdCBsZWZ0VGh1bWJFbGVtZW50ID0gc2xpZGVyTGVmdFJlZj8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgcmlnaHRUaHVtYkVsZW1lbnQgPSBzbGlkZXJSaWdodFJlZj8ubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBjb25zdCBpc1JpZ2h0VGh1bWIgPVxuICAgICAgICAgICAgdGFyZ2V0ID09PSB0aGlzLmVsXG4gICAgICAgICAgICAgICAgPyB0aGlzLmxhc3RBY3RpdmVUaHVtYiA9PT0gJ3JpZ2h0J1xuICAgICAgICAgICAgICAgIDogdGFyZ2V0ID09PSByaWdodFRodW1iRWxlbWVudDtcbiAgICAgICAgY29uc3QgYWN0aXZlVGh1bWJFbGVtZW50ID0gaXNSaWdodFRodW1iID8gcmlnaHRUaHVtYkVsZW1lbnQgOiBsZWZ0VGh1bWJFbGVtZW50O1xuICAgICAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gaXNSaWdodFRodW1iID8gdGhpcy52YWx1ZSgpWzFdIDogdGhpcy52YWx1ZSgpWzBdO1xuICAgICAgICAvKiogQGJhZCBUT0RPIHRoaW5rIGFib3V0IGEgc29sdXRpb24gd2l0aG91dCB0d2ljZSBjb252ZXJzaW9uICovXG4gICAgICAgIGNvbnN0IHByZXZpb3VzRnJhY3Rpb24gPSB0aGlzLnRvUGVyY2VudChwcmV2aW91c1ZhbHVlKSAvIDEwMDtcbiAgICAgICAgY29uc3QgbmV3RnJhY3Rpb25WYWx1ZSA9IHByZXZpb3VzRnJhY3Rpb24gKyBjb2VmZmljaWVudCAqIHRoaXMuZnJhY3Rpb25TdGVwO1xuXG4gICAgICAgIHRoaXMucHJvY2Vzc1ZhbHVlKHRoaXMudG9WYWx1ZShuZXdGcmFjdGlvblZhbHVlKSwgaXNSaWdodFRodW1iKTtcbiAgICAgICAgYWN0aXZlVGh1bWJFbGVtZW50Py5mb2N1cygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB0b1BlcmNlbnQodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmNoYW5nZXMoKSAmJiB0dWlLZXlTdGVwVmFsdWVUb1BlcmNlbnRhZ2UodmFsdWUsIHRoaXMuY29tcHV0ZWRLZXlTdGVwcylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY29tcHV0ZVB1cmVLZXlTdGVwcyhcbiAgICAgICAga2V5U3RlcHM6IFR1aUtleVN0ZXBzIHwgbnVsbCxcbiAgICAgICAgbWluOiBudW1iZXIsXG4gICAgICAgIG1heDogbnVtYmVyLFxuICAgICk6IFR1aUtleVN0ZXBzIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGtleVN0ZXBzIHx8IFtcbiAgICAgICAgICAgICAgICBbMCwgbWluXSxcbiAgICAgICAgICAgICAgICBbMTAwLCBtYXhdLFxuICAgICAgICAgICAgXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlU3RhcnQodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IE1hdGgubWluKHZhbHVlLCB0aGlzLnZhbHVlKClbMV0pO1xuICAgICAgICBjb25zdCBkaXN0YW5jZSA9IHRoaXMudmFsdWUoKVsxXSAtIG5ld1ZhbHVlO1xuXG4gICAgICAgIGlmICghdGhpcy5jaGVja0Rpc3RhbmNlKGRpc3RhbmNlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZShbbmV3VmFsdWUsIHRoaXMudmFsdWUoKVsxXV0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRW5kKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBNYXRoLm1heCh2YWx1ZSwgdGhpcy52YWx1ZSgpWzBdKTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBuZXdWYWx1ZSAtIHRoaXMudmFsdWUoKVswXTtcblxuICAgICAgICBpZiAoIXRoaXMuY2hlY2tEaXN0YW5jZShkaXN0YW5jZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25DaGFuZ2UoW3RoaXMudmFsdWUoKVswXSwgbmV3VmFsdWVdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrRGlzdGFuY2UoZGlzdGFuY2U6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpQ2xhbXAoZGlzdGFuY2UsIHRoaXMubWFyZ2luLCB0aGlzLmxpbWl0KSA9PT0gZGlzdGFuY2U7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwidC10cmFja1wiXG4gICAgW3N0eWxlLi0tYmctc2l6ZS1yYXRpb109XCIxIC0gc2VnbWVudFdpZHRoUmF0aW9cIlxuICAgIFtzdHlsZS4tLXNlZ21lbnQtd2lkdGguJV09XCJzZWdtZW50V2lkdGhSYXRpbyAqIDEwMFwiXG4+XG4gICAgPGlucHV0XG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcmFuZ2VfX2xlZnRcIlxuICAgICAgICByZWFkb25seVxuICAgICAgICBzdGVwPVwiYW55XCJcbiAgICAgICAgdHVpU2xpZGVyXG4gICAgICAgIHR5cGU9XCJyYW5nZVwiXG4gICAgICAgIGNsYXNzPVwidC10aHVtYlwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgW2tleVN0ZXBzXT1cImNvbXB1dGVkS2V5U3RlcHNcIlxuICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgW25nTW9kZWxdPVwidmFsdWUoKVswXVwiXG4gICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgICAgICBbc2l6ZV09XCJzaXplXCJcbiAgICAgICAgW3RhYkluZGV4XT1cImZvY3VzYWJsZSA/IDAgOiAtMVwiXG4gICAgLz5cbiAgICA8aW5wdXRcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1yYW5nZV9fcmlnaHRcIlxuICAgICAgICByZWFkb25seVxuICAgICAgICBzdGVwPVwiYW55XCJcbiAgICAgICAgdHVpU2xpZGVyXG4gICAgICAgIHR5cGU9XCJyYW5nZVwiXG4gICAgICAgIGNsYXNzPVwidC10aHVtYlwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgW2tleVN0ZXBzXT1cImNvbXB1dGVkS2V5U3RlcHNcIlxuICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgW25nTW9kZWxdPVwidmFsdWUoKVsxXVwiXG4gICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgICAgICBbc2l6ZV09XCJzaXplXCJcbiAgICAgICAgW3RhYkluZGV4XT1cImZvY3VzYWJsZSA/IDAgOiAtMVwiXG4gICAgLz5cbjwvZGl2PlxuIl19