ng-virtual-list 16.12.3 → 16.12.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/esm2022/lib/components/ng-list-item/const/index.mjs +2 -1
  2. package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +1 -4
  3. package/esm2022/lib/components/ng-prerender-container/core/prerender-track-box.mjs +3 -1
  4. package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +5 -15
  5. package/esm2022/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +16 -2
  6. package/esm2022/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +19 -9
  7. package/esm2022/lib/components/ng-scroller/ng-scroller.component.mjs +7 -11
  8. package/esm2022/lib/core/interfaces/metrics.mjs +1 -1
  9. package/esm2022/lib/core/interfaces/recalculate-metrics-options.mjs +1 -1
  10. package/esm2022/lib/core/track-box.mjs +16 -8
  11. package/esm2022/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +6 -6
  12. package/esm2022/lib/models/render-item-config.model.mjs +1 -1
  13. package/esm2022/lib/models/render-item-measures.model.mjs +1 -1
  14. package/esm2022/lib/ng-virtual-list.component.mjs +89 -85
  15. package/esm2022/lib/utils/animator/animator.mjs +23 -15
  16. package/esm2022/lib/utils/animator/interfaces/animator-params.mjs +1 -1
  17. package/esm2022/lib/utils/animator/interfaces/animator-update-data.mjs +1 -1
  18. package/esm2022/lib/utils/animator/types/easing.mjs +1 -1
  19. package/esm2022/lib/utils/event-emitter/event-emitter.mjs +2 -2
  20. package/esm2022/lib/utils/event-emitter/interfaces/event-emitter.mjs +1 -1
  21. package/fesm2022/ng-virtual-list.mjs +178 -146
  22. package/fesm2022/ng-virtual-list.mjs.map +1 -1
  23. package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.d.ts +0 -3
  24. package/lib/components/ng-scroll-bar/ng-scroll-bar.component.d.ts +1 -6
  25. package/lib/components/ng-scroll-view/base/base-scroll-view.component.d.ts +7 -1
  26. package/lib/components/ng-scroll-view/ng-scroll-view.component.d.ts +4 -0
  27. package/lib/components/ng-scroller/ng-scroller.component.d.ts +1 -3
  28. package/lib/core/interfaces/metrics.d.ts +2 -0
  29. package/lib/core/interfaces/recalculate-metrics-options.d.ts +1 -0
  30. package/lib/directives/locale-sensitive/locale-sensitive.directive.d.ts +2 -2
  31. package/lib/models/render-item-config.model.d.ts +4 -0
  32. package/lib/models/render-item-measures.model.d.ts +4 -0
  33. package/lib/ng-virtual-list.component.d.ts +0 -1
  34. package/lib/utils/animator/animator.d.ts +3 -2
  35. package/lib/utils/animator/interfaces/animator-params.d.ts +1 -1
  36. package/lib/utils/animator/interfaces/animator-update-data.d.ts +1 -1
  37. package/lib/utils/animator/types/easing.d.ts +1 -1
  38. package/lib/utils/event-emitter/event-emitter.d.ts +1 -1
  39. package/lib/utils/event-emitter/interfaces/event-emitter.d.ts +1 -1
  40. package/package.json +1 -1
@@ -2,7 +2,7 @@ import { ANIMATOR_MIN_TIMESTAMP, DEFAULT_ANIMATION_DURATION, DEFAULT_WITH_DELTA
2
2
  import { easeLinear } from './ease';
3
3
  /**
4
4
  * Animator
5
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/main/library/src/utils/animator/animator.ts
5
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/16.x/library/src/utils/animator/animator.ts
6
6
  * @author Evgenii Alexandrovich Grebennikov
7
7
  * @email djonnyx@gmail.com
8
8
  */
@@ -20,10 +20,15 @@ export class Animator {
20
20
  _diff = 0;
21
21
  _startValue = 0;
22
22
  _endValue = 0;
23
- updateTo(value) {
24
- this._endValue = value;
25
- this._diff = this._endValue - this._startValue;
26
- return this.hasAnimation();
23
+ _prevPos = 0;
24
+ updateTo(end) {
25
+ if (this.hasAnimation()) {
26
+ this._startValue = this._prevPos;
27
+ this._endValue = end;
28
+ this._diff = this._endValue - this._startValue;
29
+ return true;
30
+ }
31
+ return false;
27
32
  }
28
33
  animate(params) {
29
34
  this.stop();
@@ -33,7 +38,8 @@ export class Animator {
33
38
  this._startValue = startValue;
34
39
  this._endValue = endValue;
35
40
  const startTime = performance.now();
36
- let isCanceled = false, prevPos = startValue, startPosDelta = 0, delta = 0, prevTime = startTime, isFinished = false;
41
+ let isCanceled = false, startPosDelta = 0, delta = 0, prevTime = startTime, isFinished = false;
42
+ this._prevPos = startValue;
37
43
  this._diff = this._endValue - this._startValue;
38
44
  const step = (currentTime) => {
39
45
  if (id !== this._currentId) {
@@ -44,34 +50,36 @@ export class Animator {
44
50
  }
45
51
  const cPos = getPropValue?.() || 0;
46
52
  let startDelta = 0;
47
- if (cPos !== prevPos) {
48
- startDelta = cPos - prevPos;
53
+ if (cPos !== this._prevPos) {
54
+ startDelta = cPos - this._prevPos;
49
55
  startPosDelta += startDelta;
50
56
  }
51
- const elapsed = currentTime - startTime, progress = this._startValue === endValue ? 1 : Math.min(duration > 0 ? elapsed / duration : 0, 1), easedProgress = easingFunction(progress), val = (withDelta ? startPosDelta : 0) + this._startValue + this._diff * easedProgress, currentValue = val, t = performance.now();
57
+ const elapsed = currentTime - startTime, progress = this._startValue === this._endValue ? 1 : Math.min(duration > 0 ? elapsed / duration : 0, 1), easedProgress = easingFunction(progress), val = (withDelta ? startPosDelta : 0) + this._startValue + this._diff * easedProgress, currentValue = val, t = performance.now();
52
58
  isFinished = progress === 1;
53
- delta = currentValue - startDelta - prevPos;
59
+ delta = currentValue - startDelta - this._prevPos;
54
60
  const frameTimestamp = t - prevTime, actualFrameTimestamp = frameTimestamp < ANIMATOR_MIN_TIMESTAMP ? ANIMATOR_MIN_TIMESTAMP : frameTimestamp;
55
61
  prevTime = t;
56
- prevPos = currentValue;
62
+ this._prevPos = currentValue;
63
+ if (isFinished) {
64
+ this._animationId = -1;
65
+ }
57
66
  if (onUpdate !== undefined) {
58
67
  const data = {
59
68
  id,
60
69
  delta,
61
70
  elapsed,
62
- value: !withDelta && isFinished ? endValue : currentValue,
71
+ value: currentValue,
63
72
  timestamp: actualFrameTimestamp,
64
73
  };
65
74
  onUpdate(data);
66
75
  }
67
76
  if (isFinished) {
68
- this._animationId = -1;
69
77
  if (onComplete !== undefined) {
70
78
  const data = {
71
79
  id,
72
80
  delta,
73
81
  elapsed,
74
- value: withDelta ? currentValue : endValue,
82
+ value: currentValue,
75
83
  timestamp: actualFrameTimestamp,
76
84
  };
77
85
  onComplete(data);
@@ -98,4 +106,4 @@ export class Animator {
98
106
  this.stop();
99
107
  }
100
108
  }
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9hbmltYXRvci9hbmltYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUdwQzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxRQUFRO0lBQ1gsTUFBTSxDQUFDLE9BQU8sR0FBVyxDQUFDLENBQUM7SUFFM0IsWUFBWSxHQUFXLENBQUMsQ0FBQztJQUVqQyxJQUFJLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWpELElBQUksVUFBVSxLQUFLLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXZELFVBQVUsR0FBVyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBRTlDLElBQUksRUFBRSxLQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFNUIsVUFBVTtRQUNoQixPQUFPLFFBQVEsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsZ0JBQWdCO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTyxLQUFLLEdBQVcsQ0FBQyxDQUFDO0lBRWxCLFdBQVcsR0FBVyxDQUFDLENBQUM7SUFFeEIsU0FBUyxHQUFXLENBQUMsQ0FBQztJQUU5QixRQUFRLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FB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LElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQU5JTUFUT1JfTUlOX1RJTUVTVEFNUCwgREVGQVVMVF9BTklNQVRJT05fRFVSQVRJT04sIERFRkFVTFRfV0lUSF9ERUxUQSB9IGZyb20gJy4vY29uc3QnO1xyXG5pbXBvcnQgeyBlYXNlTGluZWFyIH0gZnJvbSAnLi9lYXNlJztcclxuaW1wb3J0IHsgSUFuaW1hdG9yUGFyYW1zLCBJQW5pbWF0b3JVcGRhdGVEYXRhIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBBbmltYXRvclxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi9tYWluL2xpYnJhcnkvc3JjL3V0aWxzL2FuaW1hdG9yL2FuaW1hdG9yLnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEFuaW1hdG9yIHtcclxuICBwcml2YXRlIHN0YXRpYyBfbmV4dElkOiBudW1iZXIgPSAwO1xyXG5cclxuICBwcml2YXRlIF9hbmltYXRpb25JZDogbnVtYmVyID0gMDtcclxuXHJcbiAgZ2V0IGFuaW1hdGVkKCkgeyByZXR1cm4gdGhpcy5fYW5pbWF0aW9uSWQgPiAtMTsgfVxyXG5cclxuICBnZXQgaXNBbmltYXRlZCgpIHsgcmV0dXJuIHRoaXMuaGFzQW5pbWF0aW9uKHRoaXMuX2N1cnJlbnRJZCk7IH1cclxuXHJcbiAgcHJpdmF0ZSBfY3VycmVudElkOiBudW1iZXIgPSBBbmltYXRvci5fbmV4dElkO1xyXG5cclxuICBnZXQgaWQoKSB7IHJldHVybiB0aGlzLl9jdXJyZW50SWQ7IH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZUlkKCkge1xyXG4gICAgcmV0dXJuIEFuaW1hdG9yLl9uZXh0SWQgPSBBbmltYXRvci5fbmV4dElkID09PSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxyXG4gICAgICA/IDAgOiBBbmltYXRvci5fbmV4dElkICsgMTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RpZmY6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgX3N0YXJ0VmFsdWU6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgX2VuZFZhbHVlOiBudW1iZXIgPSAwO1xyXG5cclxuICB1cGRhdGVUbyh2YWx1ZTogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLl9lbmRWYWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fZGlmZiA9IHRoaXMuX2VuZFZhbHVlIC0gdGhpcy5fc3RhcnRWYWx1ZTtcclxuICAgIHJldHVybiB0aGlzLmhhc0FuaW1hdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgYW5pbWF0ZShwYXJhbXM6IElBbmltYXRvclBhcmFtcykge1xyXG4gICAgdGhpcy5zdG9wKCk7XHJcblxyXG4gICAgY29uc3QgaWQgPSB0aGlzLmdlbmVyYXRlSWQoKTtcclxuICAgIHRoaXMuX2N1cnJlbnRJZCA9IGlkO1xyXG5cclxuICAgIGNvbnN0IHtcclxuICAgICAgd2l0aERlbHRhID0gREVGQVVMVF9XSVRIX0RFTFRBLCBzdGFydFZhbHVlLCBlbmRWYWx1ZSwgZHVyYXRpb24gPSBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTixcclxuICAgICAgZ2V0UHJvcFZhbHVlLCBlYXNpbmdGdW5jdGlvbiA9IGVhc2VMaW5lYXIsIG9uVXBkYXRlLCBvbkNvbXBsZXRlLFxyXG4gICAgfSA9IHBhcmFtcztcclxuXHJcbiAgICB0aGlzLl9zdGFydFZhbHVlID0gc3RhcnRWYWx1ZTtcclxuICAgIHRoaXMuX2VuZFZhbHVlID0gZW5kVmFsdWU7XHJcblxyXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XHJcbiAgICBsZXQgaXNDYW5jZWxlZCA9IGZhbHNlLCBwcmV2UG9zID0gc3RhcnRWYWx1ZSwgc3RhcnRQb3NEZWx0YSA9IDAsIGRlbHRhID0gMCwgcHJldlRpbWUgPSBzdGFydFRpbWUsIGlzRmluaXNoZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuX2RpZmYgPSB0aGlzLl9lbmRWYWx1ZSAtIHRoaXMuX3N0YXJ0VmFsdWU7XHJcblxyXG4gICAgY29uc3Qgc3RlcCA9IChjdXJyZW50VGltZTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGlmIChpZCAhPT0gdGhpcy5fY3VycmVudElkKSB7XHJcbiAgICAgICAgaXNDYW5jZWxlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghIWlzQ2FuY2VsZWQpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGNQb3MgPSBnZXRQcm9wVmFsdWU/LigpIHx8IDA7XHJcbiAgICAgIGxldCBzdGFydERlbHRhID0gMDtcclxuICAgICAgaWYgKGNQb3MgIT09IHByZXZQb3MpIHtcclxuICAgICAgICBzdGFydERlbHRhID0gY1BvcyAtIHByZXZQb3M7XHJcbiAgICAgICAgc3RhcnRQb3NEZWx0YSArPSBzdGFydERlbHRhO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBlbGFwc2VkID0gY3VycmVudFRpbWUgLSBzdGFydFRpbWUsXHJcbiAgICAgICAgcHJvZ3Jlc3MgPSB0aGlzLl9zdGFydFZhbHVlID09PSBlbmRWYWx1ZSA/IDEgOiBNYXRoLm1pbihkdXJhdGlvbiA+IDAgPyBlbGFwc2VkIC8gZHVyYXRpb24gOiAwLCAxKSxcclxuICAgICAgICBlYXNlZFByb2dyZXNzID0gZWFzaW5nRnVuY3Rpb24ocHJvZ3Jlc3MpLFxyXG4gICAgICAgIHZhbCA9ICh3aXRoRGVsdGEgPyBzdGFydFBvc0RlbHRhIDogMCkgKyB0aGlzLl9zdGFydFZhbHVlICsgdGhpcy5fZGlmZiAqIGVhc2VkUHJvZ3Jlc3MsXHJcbiAgICAgICAgY3VycmVudFZhbHVlID0gdmFsLFxyXG4gICAgICAgIHQgPSBwZXJmb3JtYW5jZS5ub3coKTtcclxuXHJcbiAgICAgIGlzRmluaXNoZWQgPSBwcm9ncmVzcyA9PT0gMTtcclxuXHJcbiAgICAgIGRlbHRhID0gY3VycmVudFZhbHVlIC0gc3RhcnREZWx0YSAtIHByZXZQb3M7XHJcblxyXG4gICAgICBjb25zdCBmcmFtZVRpbWVzdGFtcCA9IHQgLSBwcmV2VGltZSxcclxuICAgICAgICBhY3R1YWxGcmFtZVRpbWVzdGFtcCA9IGZyYW1lVGltZXN0YW1wIDwgQU5JTUFUT1JfTUlOX1RJTUVTVEFNUCA/IEFOSU1BVE9SX01JTl9USU1FU1RBTVAgOiBmcmFtZVRpbWVzdGFtcDtcclxuXHJcbiAgICAgIHByZXZUaW1lID0gdDtcclxuICAgICAgcHJldlBvcyA9IGN1cnJlbnRWYWx1ZTtcclxuXHJcbiAgICAgIGlmIChvblVwZGF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YTogSUFuaW1hdG9yVXBkYXRlRGF0YSA9IHtcclxuICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgZGVsdGEsXHJcbiAgICAgICAgICBlbGFwc2VkLFxyXG4gICAgICAgICAgdmFsdWU6ICF3aXRoRGVsdGEgJiYgaXNGaW5pc2hlZCA/IGVuZFZhbHVlIDogY3VycmVudFZhbHVlLFxyXG4gICAgICAgICAgdGltZXN0YW1wOiBhY3R1YWxGcmFtZVRpbWVzdGFtcCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIG9uVXBkYXRlKGRhdGEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaXNGaW5pc2hlZCkge1xyXG4gICAgICAgIHRoaXMuX2FuaW1hdGlvbklkID0gLTE7XHJcbiAgICAgICAgaWYgKG9uQ29tcGxldGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgY29uc3QgZGF0YTogSUFuaW1hdG9yVXBkYXRlRGF0YSA9IHtcclxuICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgIGRlbHRhLFxyXG4gICAgICAgICAgICBlbGFwc2VkLFxyXG4gICAgICAgICAgICB2YWx1ZTogd2l0aERlbHRhID8gY3VycmVudFZhbHVlIDogZW5kVmFsdWUsXHJcbiAgICAgICAgICAgIHRpbWVzdGFtcDogYWN0dWFsRnJhbWVUaW1lc3RhbXAsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgb25Db21wbGV0ZShkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fYW5pbWF0aW9uSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc3RlcCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9hbmltYXRpb25JZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGVwKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudElkO1xyXG4gIH1cclxuXHJcbiAgaGFzQW5pbWF0aW9uKGlkOiBudW1iZXIgPSAtMSkge1xyXG4gICAgaWYgKCh0aGlzLl9jdXJyZW50SWQgPT09IGlkIHx8IGlkID09PSAtMSkgJiYgdGhpcy5hbmltYXRlZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHN0b3AoaWQ6IG51bWJlciA9IC0xKSB7XHJcbiAgICBjYW5jZWxBbmltYXRpb25GcmFtZShpZCA9PT0gLTEgPyB0aGlzLl9hbmltYXRpb25JZCA6IGlkKTtcclxuICAgIHRoaXMuX2FuaW1hdGlvbklkID0gLTE7XHJcbiAgfVxyXG5cclxuICBkaXNwb3NlKCkge1xyXG4gICAgdGhpcy5zdG9wKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9hbmltYXRvci9hbmltYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUdwQzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxRQUFRO0lBQ1gsTUFBTSxDQUFDLE9BQU8sR0FBVyxDQUFDLENBQUM7SUFFM0IsWUFBWSxHQUFXLENBQUMsQ0FBQztJQUVqQyxJQUFJLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWpELElBQUksVUFBVSxLQUFLLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXZELFVBQVUsR0FBVyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBRTlDLElBQUksRUFBRSxLQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFNUIsVUFBVTtRQUNoQixPQUFPLFFBQVEsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsZ0JBQWdCO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTyxLQUFLLEdBQVcsQ0FBQyxDQUFDO0lBRWxCLFdBQVcsR0FBVyxDQUFDLENBQUM7SUFFeEIsU0FBUyxHQUFXLENBQUMsQ0FBQztJQUV0QixRQUFRLEdBQVcsQ0FBQyxDQUFDO0lBRTdCLFFBQVEsQ0FBQyxHQUFXO1FBQ2xCLElB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O1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQWEsQ0FBQyxDQUFDO1FBQ2xCLG9CQUFvQixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBTklNQVRPUl9NSU5fVElNRVNUQU1QLCBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTiwgREVGQVVMVF9XSVRIX0RFTFRBIH0gZnJvbSAnLi9jb25zdCc7XHJcbmltcG9ydCB7IGVhc2VMaW5lYXIgfSBmcm9tICcuL2Vhc2UnO1xyXG5pbXBvcnQgeyBJQW5pbWF0b3JQYXJhbXMsIElBbmltYXRvclVwZGF0ZURhdGEgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xyXG5cclxuLyoqXHJcbiAqIEFuaW1hdG9yXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE2LngvbGlicmFyeS9zcmMvdXRpbHMvYW5pbWF0b3IvYW5pbWF0b3IudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQW5pbWF0b3Ige1xyXG4gIHByaXZhdGUgc3RhdGljIF9uZXh0SWQ6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgX2FuaW1hdGlvbklkOiBudW1iZXIgPSAwO1xyXG5cclxuICBnZXQgYW5pbWF0ZWQoKSB7IHJldHVybiB0aGlzLl9hbmltYXRpb25JZCA+IC0xOyB9XHJcblxyXG4gIGdldCBpc0FuaW1hdGVkKCkgeyByZXR1cm4gdGhpcy5oYXNBbmltYXRpb24odGhpcy5fY3VycmVudElkKTsgfVxyXG5cclxuICBwcml2YXRlIF9jdXJyZW50SWQ6IG51bWJlciA9IEFuaW1hdG9yLl9uZXh0SWQ7XHJcblxyXG4gIGdldCBpZCgpIHsgcmV0dXJuIHRoaXMuX2N1cnJlbnRJZDsgfVxyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlSWQoKSB7XHJcbiAgICByZXR1cm4gQW5pbWF0b3IuX25leHRJZCA9IEFuaW1hdG9yLl9uZXh0SWQgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXHJcbiAgICAgID8gMCA6IEFuaW1hdG9yLl9uZXh0SWQgKyAxO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZGlmZjogbnVtYmVyID0gMDtcclxuXHJcbiAgcHJpdmF0ZSBfc3RhcnRWYWx1ZTogbnVtYmVyID0gMDtcclxuXHJcbiAgcHJpdmF0ZSBfZW5kVmFsdWU6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgX3ByZXZQb3M6IG51bWJlciA9IDA7XHJcblxyXG4gIHVwZGF0ZVRvKGVuZDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5oYXNBbmltYXRpb24oKSkge1xyXG4gICAgICB0aGlzLl9zdGFydFZhbHVlID0gdGhpcy5fcHJldlBvcztcclxuICAgICAgdGhpcy5fZW5kVmFsdWUgPSBlbmQ7XHJcbiAgICAgIHRoaXMuX2RpZmYgPSB0aGlzLl9lbmRWYWx1ZSAtIHRoaXMuX3N0YXJ0VmFsdWU7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgYW5pbWF0ZShwYXJhbXM6IElBbmltYXRvclBhcmFtcykge1xyXG4gICAgdGhpcy5zdG9wKCk7XHJcblxyXG4gICAgY29uc3QgaWQgPSB0aGlzLmdlbmVyYXRlSWQoKTtcclxuICAgIHRoaXMuX2N1cnJlbnRJZCA9IGlkO1xyXG5cclxuICAgIGNvbnN0IHtcclxuICAgICAgd2l0aERlbHRhID0gREVGQVVMVF9XSVRIX0RFTFRBLCBzdGFydFZhbHVlLCBlbmRWYWx1ZSwgZHVyYXRpb24gPSBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTixcclxuICAgICAgZ2V0UHJvcFZhbHVlLCBlYXNpbmdGdW5jdGlvbiA9IGVhc2VMaW5lYXIsIG9uVXBkYXRlLCBvbkNvbXBsZXRlLFxyXG4gICAgfSA9IHBhcmFtcztcclxuXHJcbiAgICB0aGlzLl9zdGFydFZhbHVlID0gc3RhcnRWYWx1ZTtcclxuICAgIHRoaXMuX2VuZFZhbHVlID0gZW5kVmFsdWU7XHJcblxyXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XHJcbiAgICBsZXQgaXNDYW5jZWxlZCA9IGZhbHNlLCBzdGFydFBvc0RlbHRhID0gMCwgZGVsdGEgPSAwLCBwcmV2VGltZSA9IHN0YXJ0VGltZSwgaXNGaW5pc2hlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5fcHJldlBvcyA9IHN0YXJ0VmFsdWU7XHJcbiAgICB0aGlzLl9kaWZmID0gdGhpcy5fZW5kVmFsdWUgLSB0aGlzLl9zdGFydFZhbHVlO1xyXG5cclxuICAgIGNvbnN0IHN0ZXAgPSAoY3VycmVudFRpbWU6IG51bWJlcikgPT4ge1xyXG4gICAgICBpZiAoaWQgIT09IHRoaXMuX2N1cnJlbnRJZCkge1xyXG4gICAgICAgIGlzQ2FuY2VsZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoISFpc0NhbmNlbGVkKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBjUG9zID0gZ2V0UHJvcFZhbHVlPy4oKSB8fCAwO1xyXG4gICAgICBsZXQgc3RhcnREZWx0YSA9IDA7XHJcbiAgICAgIGlmIChjUG9zICE9PSB0aGlzLl9wcmV2UG9zKSB7XHJcbiAgICAgICAgc3RhcnREZWx0YSA9IGNQb3MgLSB0aGlzLl9wcmV2UG9zO1xyXG4gICAgICAgIHN0YXJ0UG9zRGVsdGEgKz0gc3RhcnREZWx0YTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgZWxhcHNlZCA9IGN1cnJlbnRUaW1lIC0gc3RhcnRUaW1lLFxyXG4gICAgICAgIHByb2dyZXNzID0gdGhpcy5fc3RhcnRWYWx1ZSA9PT0gdGhpcy5fZW5kVmFsdWUgPyAxIDogTWF0aC5taW4oZHVyYXRpb24gPiAwID8gZWxhcHNlZCAvIGR1cmF0aW9uIDogMCwgMSksXHJcbiAgICAgICAgZWFzZWRQcm9ncmVzcyA9IGVhc2luZ0Z1bmN0aW9uKHByb2dyZXNzKSxcclxuICAgICAgICB2YWwgPSAod2l0aERlbHRhID8gc3RhcnRQb3NEZWx0YSA6IDApICsgdGhpcy5fc3RhcnRWYWx1ZSArIHRoaXMuX2RpZmYgKiBlYXNlZFByb2dyZXNzLFxyXG4gICAgICAgIGN1cnJlbnRWYWx1ZSA9IHZhbCxcclxuICAgICAgICB0ID0gcGVyZm9ybWFuY2Uubm93KCk7XHJcblxyXG4gICAgICBpc0ZpbmlzaGVkID0gcHJvZ3Jlc3MgPT09IDE7XHJcblxyXG4gICAgICBkZWx0YSA9IGN1cnJlbnRWYWx1ZSAtIHN0YXJ0RGVsdGEgLSB0aGlzLl9wcmV2UG9zO1xyXG5cclxuICAgICAgY29uc3QgZnJhbWVUaW1lc3RhbXAgPSB0IC0gcHJldlRpbWUsXHJcbiAgICAgICAgYWN0dWFsRnJhbWVUaW1lc3RhbXAgPSBmcmFtZVRpbWVzdGFtcCA8IEFOSU1BVE9SX01JTl9USU1FU1RBTVAgPyBBTklNQVRPUl9NSU5fVElNRVNUQU1QIDogZnJhbWVUaW1lc3RhbXA7XHJcblxyXG4gICAgICBwcmV2VGltZSA9IHQ7XHJcbiAgICAgIHRoaXMuX3ByZXZQb3MgPSBjdXJyZW50VmFsdWU7XHJcblxyXG4gICAgICBpZiAoaXNGaW5pc2hlZCkge1xyXG4gICAgICAgIHRoaXMuX2FuaW1hdGlvbklkID0gLTE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChvblVwZGF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YTogSUFuaW1hdG9yVXBkYXRlRGF0YSA9IHtcclxuICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgZGVsdGEsXHJcbiAgICAgICAgICBlbGFwc2VkLFxyXG4gICAgICAgICAgdmFsdWU6IGN1cnJlbnRWYWx1ZSxcclxuICAgICAgICAgIHRpbWVzdGFtcDogYWN0dWFsRnJhbWVUaW1lc3RhbXAsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBvblVwZGF0ZShkYXRhKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGlzRmluaXNoZWQpIHtcclxuICAgICAgICBpZiAob25Db21wbGV0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBjb25zdCBkYXRhOiBJQW5pbWF0b3JVcGRhdGVEYXRhID0ge1xyXG4gICAgICAgICAgICBpZCxcclxuICAgICAgICAgICAgZGVsdGEsXHJcbiAgICAgICAgICAgIGVsYXBzZWQsXHJcbiAgICAgICAgICAgIHZhbHVlOiBjdXJyZW50VmFsdWUsXHJcbiAgICAgICAgICAgIHRpbWVzdGFtcDogYWN0dWFsRnJhbWVUaW1lc3RhbXAsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgb25Db21wbGV0ZShkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fYW5pbWF0aW9uSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc3RlcCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9hbmltYXRpb25JZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGVwKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudElkO1xyXG4gIH1cclxuXHJcbiAgaGFzQW5pbWF0aW9uKGlkOiBudW1iZXIgPSAtMSkge1xyXG4gICAgaWYgKCh0aGlzLl9jdXJyZW50SWQgPT09IGlkIHx8IGlkID09PSAtMSkgJiYgdGhpcy5hbmltYXRlZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHN0b3AoaWQ6IG51bWJlciA9IC0xKSB7XHJcbiAgICBjYW5jZWxBbmltYXRpb25GcmFtZShpZCA9PT0gLTEgPyB0aGlzLl9hbmltYXRpb25JZCA6IGlkKTtcclxuICAgIHRoaXMuX2FuaW1hdGlvbklkID0gLTE7XHJcbiAgfVxyXG5cclxuICBkaXNwb3NlKCkge1xyXG4gICAgdGhpcy5zdG9wKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0b3ItcGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvYW5pbWF0b3IvaW50ZXJmYWNlcy9hbmltYXRvci1wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVhc2luZyB9IGZyb20gXCIuLi90eXBlc1wiO1xyXG5pbXBvcnQgeyBJQW5pbWF0b3JVcGRhdGVEYXRhIH0gZnJvbSBcIi4vYW5pbWF0b3ItdXBkYXRlLWRhdGFcIjtcclxuXHJcbi8qKlxyXG4gKiBJQW5pbWF0b3JQYXJhbXNcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvbWFpbi9saWJyYXJ5L3NyYy91dGlscy9hbmltYXRvci9pbnRlcmZhY2VzL2FuaW1hdG9yLXBhcmFtcy50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFuaW1hdG9yUGFyYW1zIHtcclxuICAgIHN0YXJ0VmFsdWU6IG51bWJlcjtcclxuICAgIGVuZFZhbHVlOiBudW1iZXI7XHJcbiAgICBkdXJhdGlvbj86IG51bWJlcjtcclxuICAgIHdpdGhEZWx0YT86IGJvb2xlYW47XHJcbiAgICBnZXRQcm9wVmFsdWU/OiAoKSA9PiBudW1iZXI7XHJcbiAgICBlYXNpbmdGdW5jdGlvbj86IEVhc2luZztcclxuICAgIG9uVXBkYXRlPzogKGRhdGE6IElBbmltYXRvclVwZGF0ZURhdGEpID0+IHZvaWQ7XHJcbiAgICBvbkNvbXBsZXRlPzogKGRhdGE6IElBbmltYXRvclVwZGF0ZURhdGEpID0+IHZvaWQ7XHJcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0b3ItcGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvYW5pbWF0b3IvaW50ZXJmYWNlcy9hbmltYXRvci1wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVhc2luZyB9IGZyb20gXCIuLi90eXBlc1wiO1xyXG5pbXBvcnQgeyBJQW5pbWF0b3JVcGRhdGVEYXRhIH0gZnJvbSBcIi4vYW5pbWF0b3ItdXBkYXRlLWRhdGFcIjtcclxuXHJcbi8qKlxyXG4gKiBJQW5pbWF0b3JQYXJhbXNcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTYueC9saWJyYXJ5L3NyYy91dGlscy9hbmltYXRvci9pbnRlcmZhY2VzL2FuaW1hdG9yLXBhcmFtcy50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFuaW1hdG9yUGFyYW1zIHtcclxuICAgIHN0YXJ0VmFsdWU6IG51bWJlcjtcclxuICAgIGVuZFZhbHVlOiBudW1iZXI7XHJcbiAgICBkdXJhdGlvbj86IG51bWJlcjtcclxuICAgIHdpdGhEZWx0YT86IGJvb2xlYW47XHJcbiAgICBnZXRQcm9wVmFsdWU/OiAoKSA9PiBudW1iZXI7XHJcbiAgICBlYXNpbmdGdW5jdGlvbj86IEVhc2luZztcclxuICAgIG9uVXBkYXRlPzogKGRhdGE6IElBbmltYXRvclVwZGF0ZURhdGEpID0+IHZvaWQ7XHJcbiAgICBvbkNvbXBsZXRlPzogKGRhdGE6IElBbmltYXRvclVwZGF0ZURhdGEpID0+IHZvaWQ7XHJcbn0iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0b3ItdXBkYXRlLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9hbmltYXRvci9pbnRlcmZhY2VzL2FuaW1hdG9yLXVwZGF0ZS1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogSUFuaW1hdG9yVXBkYXRlRGF0YVxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi9tYWluL2xpYnJhcnkvc3JjL3V0aWxzL2FuaW1hdG9yL2ludGVyZmFjZXMvYW5pbWF0b3ItdXBkYXRlLWRhdGEudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElBbmltYXRvclVwZGF0ZURhdGEge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIHRpbWVzdGFtcDogbnVtYmVyO1xyXG4gICAgZWxhcHNlZDogbnVtYmVyO1xyXG4gICAgZGVsdGE6IG51bWJlcjtcclxuICAgIHZhbHVlOiBudW1iZXI7XHJcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0b3ItdXBkYXRlLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9hbmltYXRvci9pbnRlcmZhY2VzL2FuaW1hdG9yLXVwZGF0ZS1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogSUFuaW1hdG9yVXBkYXRlRGF0YVxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNi54L2xpYnJhcnkvc3JjL3V0aWxzL2FuaW1hdG9yL2ludGVyZmFjZXMvYW5pbWF0b3ItdXBkYXRlLWRhdGEudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElBbmltYXRvclVwZGF0ZURhdGEge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIHRpbWVzdGFtcDogbnVtYmVyO1xyXG4gICAgZWxhcHNlZDogbnVtYmVyO1xyXG4gICAgZGVsdGE6IG51bWJlcjtcclxuICAgIHZhbHVlOiBudW1iZXI7XHJcbn0iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFzaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvYW5pbWF0b3IvdHlwZXMvZWFzaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogRWFzaW5nXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iL21haW4vbGlicmFyeS9zcmMvdXRpbHMvYW5pbWF0b3IvdHlwZXMvZWFzaW5nLnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgRWFzaW5nID0gKHY6IG51bWJlcikgPT4gbnVtYmVyO1xyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFzaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvYW5pbWF0b3IvdHlwZXMvZWFzaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogRWFzaW5nXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE2LngvbGlicmFyeS9zcmMvdXRpbHMvYW5pbWF0b3IvdHlwZXMvZWFzaW5nLnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgRWFzaW5nID0gKHY6IG51bWJlcikgPT4gbnVtYmVyO1xyXG4iXX0=
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Event emitter
3
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/main/library/src/utils/event-emitter/event-emitter.ts
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/16.x/library/src/utils/event-emitter/event-emitter.ts
4
4
  * @author Evgenii Alexandrovich Grebennikov
5
5
  * @email djonnyx@gmail.com
6
6
  */
@@ -102,4 +102,4 @@ export class EventEmitter {
102
102
  this.removeAllListeners();
103
103
  }
104
104
  }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2V2ZW50LWVtaXR0ZXIvZXZlbnQtZW1pdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBQ1gsVUFBVSxHQUVoQixFQUFFLENBQUM7SUFFRyxTQUFTLEdBQVksS0FBSyxDQUFDO0lBRXJDLGdCQUFnQixDQUFDO0lBRWpCOztPQUVHO0lBQ0gsUUFBUSxDQUFDLEtBQVEsRUFBRSxHQUFHLElBQWdCO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQztRQUNqQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQTBCLENBQUMsQ0FBQztRQUM5RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDMUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDOUMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM5QixJQUFJLFFBQVEsRUFBRTtvQkFDVixRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDN0I7YUFDSjtTQUNKO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLEtBQVEsRUFBRSxHQUFHLElBQWdCO1FBQ3ZDLGNBQWMsQ0FBQyxHQUFHLEVBQUU7WUFDaEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNoQixPQUFPO2FBQ1Y7WUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMs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cmdzOiBBcnJheTxhbnk+KSA9PiB2b2lkO1xyXG5cclxuLyoqXHJcbiAqIEV2ZW50IGVtaXR0ZXJcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvbWFpbi9saWJyYXJ5L3NyYy91dGlscy9ldmVudC1lbWl0dGVyL2V2ZW50LWVtaXR0ZXIudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRXZlbnRFbWl0dGVyPEUgPSBzdHJpbmcsIEggPSBURXZlbnRIYW5kbGVyPiB7XHJcbiAgICBwcm90ZWN0ZWQgX2xpc3RlbmVyczoge1xyXG4gICAgICAgIFtldmVudE5hbWU6IHN0cmluZ106IEFycmF5PFRFdmVudEhhbmRsZXI+LFxyXG4gICAgfSA9IHt9O1xyXG5cclxuICAgIHByb3RlY3RlZCBfZGlzcG9zZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRW1pdHMgdGhlIGV2ZW50XHJcbiAgICAgKi9cclxuICAgIGRpc3BhdGNoKGV2ZW50OiBFLCAuLi5hcmdzOiBBcnJheTxhbnk+KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY3R4ID0gdGhpcztcclxuICAgICAgICBjb25zdCBsaXN0ZW5lcnMgPSB0aGlzLl9saXN0ZW5lcnNbZXZlbnQgYXMgdW5rbm93biBhcyBzdHJpbmddO1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxpc3RlbmVycykpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSBsaXN0ZW5lcnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBsaXN0ZW5lciA9IGxpc3RlbmVyc1tpXTtcclxuICAgICAgICAgICAgICAgIGlmIChsaXN0ZW5lcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpc3RlbmVyLmFwcGx5KGN0eCwgYXJncyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFbWl0cyB0aGUgZXZlbnQgYXN5bmNcclxuICAgICAqL1xyXG4gICAgZGlzcGF0Y2hBc3luYyhldmVudDogRSwgLi4uYXJnczogQXJyYXk8YW55Pik6IHZvaWQge1xyXG4gICAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2Rpc3Bvc2VkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5kaXNwYXRjaChldmVudCwgLi4uYXJncyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGV2ZW50IGxpc3RlbmVyIGlzIGFscmVhZHkgc3Vic2NyaWJlZC5cclxuICAgICAqL1xyXG4gICAgaGFzRXZlbnRMaXN0ZW5lcihldmVudE5hbWU6IEUsIGhhbmRsZXI6IEgpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBldmVudCA9IGV2ZW50TmFtZSBhcyB1bmtub3duIGFzIHN0cmluZztcclxuICAgICAgICBpZiAodGhpcy5fbGlzdGVuZXJzW2V2ZW50XSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVycyA9IHRoaXMuX2xpc3RlbmVyc1tldmVudF07XHJcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gbGlzdGVuZXJzLmZpbmRJbmRleCh2ID0+IHYgPT09IChoYW5kbGVyIGFzIGFueSkpO1xyXG4gICAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGQgZXZlbnQgbGlzdGVuZXJcclxuICAgICAqL1xyXG4gICAgYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWU6IEUsIGhhbmRsZXI6IEgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBldmVudCA9IGV2ZW50TmFtZSBhcyB1bmtub3duIGFzIHN0cmluZztcclxuICAgICAgICBpZiAoIXRoaXMuX2xpc3RlbmVycy5oYXNPd25Qcm9wZXJ0eShldmVudCkpIHtcclxuICAgICAgICAgICAgdGhpcy5fbGlzdGVuZXJzW2V2ZW50XSA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9saXN0ZW5lcnNbZXZlbnRdLnB1c2goaGFuZGxlciBhcyB1bmtub3duIGFzIFRFdmVudEhhbmRsZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlIGV2ZW50IGxpc3RlbmVyXHJcbiAgICAgKi9cclxuICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lOiBFLCBoYW5kbGVyOiBIKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZXZlbnQgPSBldmVudE5hbWUgYXMgdW5rbm93biBhcyBzdHJpbmc7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9saXN0ZW5lcnMuaGFzT3duUHJvcGVydHkoZXZlbnQpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgbGlzdGVuZXJzID0gdGhpcy5fbGlzdGVuZXJzW2V2ZW50XSwgaW5kZXggPSBsaXN0ZW5lcnMuZmluZEluZGV4KHYgPT4gdiA9PT0gaGFuZGxlciBhcyBhbnkpO1xyXG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICAgIGxpc3RlbmVycy5zcGxpY2UoaW5kZXgsIDEpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGxpc3RlbmVycy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9saXN0ZW5lcnNbZXZlbnRdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlIGFsbCBsaXN0ZW5lcnNcclxuICAgICAqL1xyXG4gICAgcmVtb3ZlQWxsTGlzdGVuZXJzKCkge1xyXG4gICAgICAgIGNvbnN0IGV2ZW50cyA9IE9iamVjdC5rZXlzKHRoaXMuX2xpc3RlbmVycyk7XHJcbiAgICAgICAgd2hpbGUgKGV2ZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gZXZlbnRzLnBvcCgpO1xyXG4gICAgICAgICAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVycyA9IHRoaXMuX2xpc3RlbmVyc1tldmVudF07XHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsaXN0ZW5lcnMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGxpc3RlbmVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gbGlzdGVuZXJzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGlzdGVuZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCBhcyB1bmtub3duIGFzIEUsIGxpc3RlbmVyIGFzIHVua25vd24gYXMgSCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNZXRob2Qgb2YgZGVzdHJveWluZyBoYW5kbGVyc1xyXG4gICAgICovXHJcbiAgICBkaXNwb3NlKCkge1xyXG4gICAgICAgIHRoaXMuX2Rpc3Bvc2VkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtcclxuICAgIH1cclxufSJdfQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2V2ZW50LWVtaXR0ZXIvZXZlbnQtZW1pdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBQ1gsVUFBVSxHQUVoQixFQUFFLENBQUM7SUFFRyxTQUFTLEdBQVksS0FBSyxDQUFDO0lBRXJDLGdCQUFnQixDQUFDO0lBRWpCOztPQUVHO0lBQ0gsUUFBUSxDQUFDLEtBQVEsRUFBRSxHQUFHLElBQWdCO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQztRQUNqQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQTBCLENBQUMsQ0FBQztRQUM5RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDMUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDOUMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM5QixJQUFJLFFBQVEsRUFBRTtvQkFDVixRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDN0I7YUFDSjtTQUNKO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLEtBQVEsRUFBRSxHQUFHLElBQWdCO1FBQ3ZDLGNBQWMsQ0FBQyxHQUFHLEVBQUU7WUFDaEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNoQixPQUFPO2FBQ1Y7WUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMs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cmdzOiBBcnJheTxhbnk+KSA9PiB2b2lkO1xyXG5cclxuLyoqXHJcbiAqIEV2ZW50IGVtaXR0ZXJcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTYueC9saWJyYXJ5L3NyYy91dGlscy9ldmVudC1lbWl0dGVyL2V2ZW50LWVtaXR0ZXIudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRXZlbnRFbWl0dGVyPEUgPSBzdHJpbmcsIEggPSBURXZlbnRIYW5kbGVyPiB7XHJcbiAgICBwcm90ZWN0ZWQgX2xpc3RlbmVyczoge1xyXG4gICAgICAgIFtldmVudE5hbWU6IHN0cmluZ106IEFycmF5PFRFdmVudEhhbmRsZXI+LFxyXG4gICAgfSA9IHt9O1xyXG5cclxuICAgIHByb3RlY3RlZCBfZGlzcG9zZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRW1pdHMgdGhlIGV2ZW50XHJcbiAgICAgKi9cclxuICAgIGRpc3BhdGNoKGV2ZW50OiBFLCAuLi5hcmdzOiBBcnJheTxhbnk+KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY3R4ID0gdGhpcztcclxuICAgICAgICBjb25zdCBsaXN0ZW5lcnMgPSB0aGlzLl9saXN0ZW5lcnNbZXZlbnQgYXMgdW5rbm93biBhcyBzdHJpbmddO1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxpc3RlbmVycykpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSBsaXN0ZW5lcnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBsaXN0ZW5lciA9IGxpc3RlbmVyc1tpXTtcclxuICAgICAgICAgICAgICAgIGlmIChsaXN0ZW5lcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpc3RlbmVyLmFwcGx5KGN0eCwgYXJncyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFbWl0cyB0aGUgZXZlbnQgYXN5bmNcclxuICAgICAqL1xyXG4gICAgZGlzcGF0Y2hBc3luYyhldmVudDogRSwgLi4uYXJnczogQXJyYXk8YW55Pik6IHZvaWQge1xyXG4gICAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2Rpc3Bvc2VkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5kaXNwYXRjaChldmVudCwgLi4uYXJncyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGV2ZW50IGxpc3RlbmVyIGlzIGFscmVhZHkgc3Vic2NyaWJlZC5cclxuICAgICAqL1xyXG4gICAgaGFzRXZlbnRMaXN0ZW5lcihldmVudE5hbWU6IEUsIGhhbmRsZXI6IEgpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBldmVudCA9IGV2ZW50TmFtZSBhcyB1bmtub3duIGFzIHN0cmluZztcclxuICAgICAgICBpZiAodGhpcy5fbGlzdGVuZXJzW2V2ZW50XSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVycyA9IHRoaXMuX2xpc3RlbmVyc1tldmVudF07XHJcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gbGlzdGVuZXJzLmZpbmRJbmRleCh2ID0+IHYgPT09IChoYW5kbGVyIGFzIGFueSkpO1xyXG4gICAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGQgZXZlbnQgbGlzdGVuZXJcclxuICAgICAqL1xyXG4gICAgYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWU6IEUsIGhhbmRsZXI6IEgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBldmVudCA9IGV2ZW50TmFtZSBhcyB1bmtub3duIGFzIHN0cmluZztcclxuICAgICAgICBpZiAoIXRoaXMuX2xpc3RlbmVycy5oYXNPd25Qcm9wZXJ0eShldmVudCkpIHtcclxuICAgICAgICAgICAgdGhpcy5fbGlzdGVuZXJzW2V2ZW50XSA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9saXN0ZW5lcnNbZXZlbnRdLnB1c2goaGFuZGxlciBhcyB1bmtub3duIGFzIFRFdmVudEhhbmRsZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlIGV2ZW50IGxpc3RlbmVyXHJcbiAgICAgKi9cclxuICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lOiBFLCBoYW5kbGVyOiBIKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZXZlbnQgPSBldmVudE5hbWUgYXMgdW5rbm93biBhcyBzdHJpbmc7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9saXN0ZW5lcnMuaGFzT3duUHJvcGVydHkoZXZlbnQpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgbGlzdGVuZXJzID0gdGhpcy5fbGlzdGVuZXJzW2V2ZW50XSwgaW5kZXggPSBsaXN0ZW5lcnMuZmluZEluZGV4KHYgPT4gdiA9PT0gaGFuZGxlciBhcyBhbnkpO1xyXG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICAgIGxpc3RlbmVycy5zcGxpY2UoaW5kZXgsIDEpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGxpc3RlbmVycy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9saXN0ZW5lcnNbZXZlbnRdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlIGFsbCBsaXN0ZW5lcnNcclxuICAgICAqL1xyXG4gICAgcmVtb3ZlQWxsTGlzdGVuZXJzKCkge1xyXG4gICAgICAgIGNvbnN0IGV2ZW50cyA9IE9iamVjdC5rZXlzKHRoaXMuX2xpc3RlbmVycyk7XHJcbiAgICAgICAgd2hpbGUgKGV2ZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gZXZlbnRzLnBvcCgpO1xyXG4gICAgICAgICAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVycyA9IHRoaXMuX2xpc3RlbmVyc1tldmVudF07XHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsaXN0ZW5lcnMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGxpc3RlbmVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVyID0gbGlzdGVuZXJzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGlzdGVuZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCBhcyB1bmtub3duIGFzIEUsIGxpc3RlbmVyIGFzIHVua25vd24gYXMgSCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNZXRob2Qgb2YgZGVzdHJveWluZyBoYW5kbGVyc1xyXG4gICAgICovXHJcbiAgICBkaXNwb3NlKCkge1xyXG4gICAgICAgIHRoaXMuX2Rpc3Bvc2VkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtcclxuICAgIH1cclxufSJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2V2ZW50LWVtaXR0ZXIvaW50ZXJmYWNlcy9ldmVudC1lbWl0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBURXZlbnRIYW5kbGVyID0gKC4uLmFyZ3M6IEFycmF5PGFueT4pID0+IHZvaWQ7XHJcblxyXG4vKipcclxuICogRXZlbnQgZW1pdHRlciBpbnRlcmZhY2VcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvbWFpbi9saWJyYXJ5L3NyYy91dGlscy9ldmVudC1lbWl0dGVyL2ludGVyZmFjZXMvSUV2ZW50RW1pdHRlci50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUV2ZW50RW1pdHRlcjxFID0gc3RyaW5nLCBIID0gVEV2ZW50SGFuZGxlcj4ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBFbWl0cyB0aGUgZXZlbnRcclxuICAgICAqL1xyXG4gICAgZGlzcGF0Y2g6IChldmVudDogRSwgLi4uYXJnczogQXJyYXk8YW55PikgPT4gdm9pZDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEVtaXRzIHRoZSBldmVudCBhc3luY1xyXG4gICAgICovXHJcbiAgICBkaXNwYXRjaEFzeW5jOiAoZXZlbnQ6IEUsIC4uLmFyZ3M6IEFycmF5PGFueT4pID0+IHZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGV2ZW50IGxpc3RlbmVyIGlzIGFscmVhZHkgc3Vic2NyaWJlZC5cclxuICAgICAqL1xyXG4gICAgaGFzRXZlbnRMaXN0ZW5lcjogKGV2ZW50TmFtZTogRSwgaGFuZGxlcjogSCkgPT4gYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZCBldmVudCBsaXN0ZW5lclxyXG4gICAgICovXHJcbiAgICBhZGRFdmVudExpc3RlbmVyOiAoZXZlbnROYW1lOiBFLCBoYW5kbGVyOiBIKSA9PiB2b2lkO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlIGV2ZW50IGxpc3RlbmVyXHJcbiAgICAgKi9cclxuICAgIHJlbW92ZUV2ZW50TGlzdGVuZXI6IChldmVudE5hbWU6IEUsIGhhbmRsZXI6IEgpID0+IHZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmUgYWxsIGxpc3RlbmVyc1xyXG4gICAgICovXHJcbiAgICByZW1vdmVBbGxMaXN0ZW5lcnM6ICgpID0+IHZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNZXRob2Qgb2YgZGVzdHJveWluZyBoYW5kbGVyc1xyXG4gICAgICovXHJcbiAgICBkaXNwb3NlOiAoKSA9PiB2b2lkO1xyXG59Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2V2ZW50LWVtaXR0ZXIvaW50ZXJmYWNlcy9ldmVudC1lbWl0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBURXZlbnRIYW5kbGVyID0gKC4uLmFyZ3M6IEFycmF5PGFueT4pID0+IHZvaWQ7XHJcblxyXG4vKipcclxuICogRXZlbnQgZW1pdHRlciBpbnRlcmZhY2VcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTYueC9saWJyYXJ5L3NyYy91dGlscy9ldmVudC1lbWl0dGVyL2ludGVyZmFjZXMvSUV2ZW50RW1pdHRlci50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUV2ZW50RW1pdHRlcjxFID0gc3RyaW5nLCBIID0gVEV2ZW50SGFuZGxlcj4ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBFbWl0cyB0aGUgZXZlbnRcclxuICAgICAqL1xyXG4gICAgZGlzcGF0Y2g6IChldmVudDogRSwgLi4uYXJnczogQXJyYXk8YW55PikgPT4gdm9pZDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEVtaXRzIHRoZSBldmVudCBhc3luY1xyXG4gICAgICovXHJcbiAgICBkaXNwYXRjaEFzeW5jOiAoZXZlbnQ6IEUsIC4uLmFyZ3M6IEFycmF5PGFueT4pID0+IHZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGV2ZW50IGxpc3RlbmVyIGlzIGFscmVhZHkgc3Vic2NyaWJlZC5cclxuICAgICAqL1xyXG4gICAgaGFzRXZlbnRMaXN0ZW5lcjogKGV2ZW50TmFtZTogRSwgaGFuZGxlcjogSCkgPT4gYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZCBldmVudCBsaXN0ZW5lclxyXG4gICAgICovXHJcbiAgICBhZGRFdmVudExpc3RlbmVyOiAoZXZlbnROYW1lOiBFLCBoYW5kbGVyOiBIKSA9PiB2b2lkO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlIGV2ZW50IGxpc3RlbmVyXHJcbiAgICAgKi9cclxuICAgIHJlbW92ZUV2ZW50TGlzdGVuZXI6IChldmVudE5hbWU6IEUsIGhhbmRsZXI6IEgpID0+IHZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmUgYWxsIGxpc3RlbmVyc1xyXG4gICAgICovXHJcbiAgICByZW1vdmVBbGxMaXN0ZW5lcnM6ICgpID0+IHZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNZXRob2Qgb2YgZGVzdHJveWluZyBoYW5kbGVyc1xyXG4gICAgICovXHJcbiAgICBkaXNwb3NlOiAoKSA9PiB2b2lkO1xyXG59Il19