@taiga-ui/core 3.29.2-dev.main-54c8177 → 3.29.2-dev.main-2a207b6

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 (77) hide show
  1. package/bundles/taiga-ui-core-animations.umd.js +2 -10
  2. package/bundles/taiga-ui-core-animations.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-alert.umd.js +10 -15
  4. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-error.umd.js +2 -3
  6. package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-hints-host.umd.js +28 -7
  8. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +34 -62
  10. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  11. package/bundles/taiga-ui-core-directives-dropdown.umd.js +21 -24
  12. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  13. package/bundles/taiga-ui-core-directives-hint.umd.js +18 -22
  14. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  15. package/bundles/taiga-ui-core-enums.umd.js +1 -0
  16. package/bundles/taiga-ui-core-enums.umd.js.map +1 -1
  17. package/bundles/taiga-ui-core-services.umd.js +4 -3
  18. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-tokens.umd.js +4 -1
  20. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  21. package/bundles/taiga-ui-core-utils-format.umd.js +10 -0
  22. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  23. package/bundles/taiga-ui-core-utils-mask.umd.js +4 -0
  24. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  25. package/components/alert/alert.component.d.ts +2 -9
  26. package/components/error/error.component.d.ts +2 -9
  27. package/components/hints-host/hints-host.component.d.ts +9 -4
  28. package/components/scroll-controls/scroll-controls.component.d.ts +3 -11
  29. package/components/scroll-controls/scrollbar.directive.d.ts +3 -6
  30. package/directives/dropdown/dropdown.component.d.ts +3 -11
  31. package/directives/dropdown/dropdown.directive.d.ts +2 -2
  32. package/directives/hint/hint.component.d.ts +4 -12
  33. package/enums/dropdown-animation.d.ts +1 -0
  34. package/esm2015/animations/animations.js +3 -11
  35. package/esm2015/components/alert/alert.component.js +12 -17
  36. package/esm2015/components/error/error.component.js +3 -4
  37. package/esm2015/components/hints-host/hints-host.component.js +27 -6
  38. package/esm2015/components/scroll-controls/scroll-controls.component.js +6 -16
  39. package/esm2015/components/scroll-controls/scrollbar.directive.js +19 -39
  40. package/esm2015/directives/dropdown/dropdown.component.js +24 -27
  41. package/esm2015/directives/dropdown/dropdown.directive.js +4 -4
  42. package/esm2015/directives/hint/hint.component.js +19 -23
  43. package/esm2015/enums/dropdown-animation.js +2 -1
  44. package/esm2015/services/position.service.js +5 -3
  45. package/esm2015/tokens/animation-options.js +2 -1
  46. package/esm2015/tokens/scroll-ref.js +6 -3
  47. package/esm2015/utils/format/format-phone.js +11 -1
  48. package/esm2015/utils/mask/create-correction-mask.js +5 -1
  49. package/fesm2015/taiga-ui-core-animations.js +2 -10
  50. package/fesm2015/taiga-ui-core-animations.js.map +1 -1
  51. package/fesm2015/taiga-ui-core-components-alert.js +11 -16
  52. package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
  53. package/fesm2015/taiga-ui-core-components-error.js +2 -3
  54. package/fesm2015/taiga-ui-core-components-error.js.map +1 -1
  55. package/fesm2015/taiga-ui-core-components-hints-host.js +26 -5
  56. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  57. package/fesm2015/taiga-ui-core-components-scroll-controls.js +23 -51
  58. package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
  59. package/fesm2015/taiga-ui-core-directives-dropdown.js +19 -22
  60. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  61. package/fesm2015/taiga-ui-core-directives-hint.js +18 -22
  62. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  63. package/fesm2015/taiga-ui-core-enums.js +1 -0
  64. package/fesm2015/taiga-ui-core-enums.js.map +1 -1
  65. package/fesm2015/taiga-ui-core-services.js +4 -2
  66. package/fesm2015/taiga-ui-core-services.js.map +1 -1
  67. package/fesm2015/taiga-ui-core-tokens.js +5 -2
  68. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  69. package/fesm2015/taiga-ui-core-utils-format.js +10 -0
  70. package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
  71. package/fesm2015/taiga-ui-core-utils-mask.js +4 -0
  72. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  73. package/package.json +1 -1
  74. package/services/position.service.d.ts +1 -1
  75. package/styles/theme/wrapper/textfield.less +8 -8
  76. package/utils/format/format-phone.d.ts +10 -0
  77. package/utils/mask/create-correction-mask.d.ts +4 -0
@@ -1,28 +1,25 @@
1
- import { DOCUMENT, ViewportScroller } from '@angular/common';
2
- import { Directive, ElementRef, Inject, Input, NgZone, Optional, Renderer2, Self, } from '@angular/core';
3
- import { ANIMATION_FRAME, WINDOW } from '@ng-web-apis/common';
4
- import { POLLING_TIME, TuiDestroyService, tuiPreventDefault, tuiStopPropagation, tuiTypedFromEvent, tuiZonefree, } from '@taiga-ui/cdk';
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Directive, ElementRef, Inject, Input, NgZone, Renderer2, Self, } from '@angular/core';
3
+ import { ANIMATION_FRAME } from '@ng-web-apis/common';
4
+ import { POLLING_TIME, TuiDestroyService, tuiPreventDefault, tuiScrollFrom, tuiStopPropagation, tuiTypedFromEvent, tuiZonefree, } from '@taiga-ui/cdk';
5
5
  import { TUI_ELEMENT_REF, TUI_SCROLL_REF } from '@taiga-ui/core/tokens';
6
- import { fromEvent, merge } from 'rxjs';
6
+ import { merge } from 'rxjs';
7
7
  import { map, switchMap, takeUntil, throttleTime } from 'rxjs/operators';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "rxjs";
10
- import * as i2 from "@angular/common";
11
10
  const MIN_WIDTH = 24;
12
11
  export class TuiScrollbarDirective {
13
- constructor(ngZone, renderer, destroy$, animationFrame$, wrapper, container, doc, win, el, viewportScroller) {
12
+ constructor(ngZone, renderer, destroy$, animationFrame$, wrapper, container, doc, el) {
14
13
  this.wrapper = wrapper;
15
14
  this.container = container;
16
15
  this.doc = doc;
17
- this.win = win;
18
16
  this.el = el;
19
- this.viewportScroller = viewportScroller;
20
17
  this.tuiScrollbar = 'vertical';
21
18
  const { nativeElement } = this.el;
22
19
  const mousedown$ = tuiTypedFromEvent(nativeElement, 'mousedown');
23
20
  const mousemove$ = tuiTypedFromEvent(this.doc, 'mousemove');
24
21
  const mouseup$ = tuiTypedFromEvent(this.doc, 'mouseup');
25
- const mousedownWrapper$ = tuiTypedFromEvent(wrapper.nativeElement, 'mousedown');
22
+ const mousedownWrapper$ = tuiTypedFromEvent(this.wrapper.nativeElement, 'mousedown');
26
23
  merge(mousedownWrapper$.pipe(tuiPreventDefault(), map(event => this.getScrolled(event, 0.5, 0.5))), mousedown$.pipe(tuiPreventDefault(), tuiStopPropagation(), switchMap(event => {
27
24
  const rect = nativeElement.getBoundingClientRect();
28
25
  const vertical = getOffsetVertical(event, rect);
@@ -31,22 +28,14 @@ export class TuiScrollbarDirective {
31
28
  })))
32
29
  .pipe(tuiZonefree(ngZone), takeUntil(destroy$))
33
30
  .subscribe(([scrollTop, scrollLeft]) => {
34
- const [x, y] = this.viewportScroller.getScrollPosition();
35
- if (!this.container) {
36
- this.viewportScroller.scrollToPosition([
37
- this.tuiScrollbar === 'vertical' ? x : scrollLeft,
38
- this.tuiScrollbar === 'vertical' ? scrollTop : y,
39
- ]);
40
- return;
41
- }
42
31
  if (this.tuiScrollbar === 'vertical') {
43
- renderer.setProperty(this.container.nativeElement, 'scrollTop', scrollTop);
32
+ renderer.setProperty(this.element, 'scrollTop', scrollTop);
44
33
  }
45
34
  else {
46
- renderer.setProperty(this.container.nativeElement, 'scrollLeft', scrollLeft);
35
+ renderer.setProperty(this.element, 'scrollLeft', scrollLeft);
47
36
  }
48
37
  });
49
- merge(fromEvent(this.container ? this.container.nativeElement : this.win, 'scroll'), animationFrame$.pipe(throttleTime(POLLING_TIME)))
38
+ merge(animationFrame$.pipe(throttleTime(POLLING_TIME)), tuiScrollFrom(this.element))
50
39
  .pipe(tuiZonefree(ngZone), takeUntil(destroy$))
51
40
  .subscribe(() => {
52
41
  if (this.tuiScrollbar === 'vertical') {
@@ -60,13 +49,13 @@ export class TuiScrollbarDirective {
60
49
  });
61
50
  }
62
51
  get scrolled() {
63
- const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth, } = this.computedContainer;
52
+ const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth, } = this.element;
64
53
  return this.tuiScrollbar === 'vertical'
65
54
  ? scrollTop / (scrollHeight - clientHeight)
66
55
  : scrollLeft / (scrollWidth - clientWidth);
67
56
  }
68
57
  get compensation() {
69
- const { clientHeight, scrollHeight, clientWidth, scrollWidth } = this.computedContainer;
58
+ const { clientHeight, scrollHeight, clientWidth, scrollWidth } = this.element;
70
59
  if (((clientHeight * clientHeight) / scrollHeight > MIN_WIDTH &&
71
60
  this.tuiScrollbar === 'vertical') ||
72
61
  ((clientWidth * clientWidth) / scrollWidth > MIN_WIDTH &&
@@ -82,26 +71,25 @@ export class TuiScrollbarDirective {
82
71
  return this.scrolled * (1 - compensation);
83
72
  }
84
73
  get view() {
85
- const { clientHeight, scrollHeight, clientWidth, scrollWidth } = this.computedContainer;
74
+ const { clientHeight, scrollHeight, clientWidth, scrollWidth } = this.element;
86
75
  return this.tuiScrollbar === 'vertical'
87
76
  ? Math.ceil((clientHeight / scrollHeight) * 100) / 100
88
77
  : Math.ceil((clientWidth / scrollWidth) * 100) / 100;
89
78
  }
90
- get computedContainer() {
91
- var _a;
92
- return ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement) || this.doc.documentElement;
79
+ get element() {
80
+ return this.container.nativeElement;
93
81
  }
94
82
  getScrolled({ clientY, clientX }, offsetVertical, offsetHorizontal) {
95
83
  const { offsetHeight, offsetWidth } = this.el.nativeElement;
96
84
  const { top, left, width, height } = this.wrapper.nativeElement.getBoundingClientRect();
97
- const maxTop = this.computedContainer.scrollHeight - height;
98
- const maxLeft = this.computedContainer.scrollWidth - width;
85
+ const maxTop = this.element.scrollHeight - height;
86
+ const maxLeft = this.element.scrollWidth - width;
99
87
  const scrolledTop = (clientY - top - offsetHeight * offsetVertical) / (height - offsetHeight);
100
88
  const scrolledLeft = (clientX - left - offsetWidth * offsetHorizontal) / (width - offsetWidth);
101
89
  return [maxTop * scrolledTop, maxLeft * scrolledLeft];
102
90
  }
103
91
  }
104
- TuiScrollbarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiScrollbarDirective, deps: [{ token: NgZone }, { token: Renderer2 }, { token: TuiDestroyService, self: true }, { token: ANIMATION_FRAME }, { token: TUI_ELEMENT_REF }, { token: TUI_SCROLL_REF, optional: true }, { token: DOCUMENT }, { token: WINDOW }, { token: ElementRef }, { token: ViewportScroller }], target: i0.ɵɵFactoryTarget.Directive });
92
+ TuiScrollbarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiScrollbarDirective, deps: [{ token: NgZone }, { token: Renderer2 }, { token: TuiDestroyService, self: true }, { token: ANIMATION_FRAME }, { token: TUI_ELEMENT_REF }, { token: TUI_SCROLL_REF }, { token: DOCUMENT }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
105
93
  TuiScrollbarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiScrollbarDirective, selector: "[tuiScrollbar]", inputs: { tuiScrollbar: "tuiScrollbar" }, providers: [TuiDestroyService], ngImport: i0 });
106
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiScrollbarDirective, decorators: [{
107
95
  type: Directive,
@@ -127,22 +115,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
127
115
  type: Inject,
128
116
  args: [TUI_ELEMENT_REF]
129
117
  }] }, { type: i0.ElementRef, decorators: [{
130
- type: Optional
131
- }, {
132
118
  type: Inject,
133
119
  args: [TUI_SCROLL_REF]
134
120
  }] }, { type: Document, decorators: [{
135
121
  type: Inject,
136
122
  args: [DOCUMENT]
137
- }] }, { type: Window, decorators: [{
138
- type: Inject,
139
- args: [WINDOW]
140
123
  }] }, { type: i0.ElementRef, decorators: [{
141
124
  type: Inject,
142
125
  args: [ElementRef]
143
- }] }, { type: i2.ViewportScroller, decorators: [{
144
- type: Inject,
145
- args: [ViewportScroller]
146
126
  }] }]; }, propDecorators: { tuiScrollbar: [{
147
127
  type: Input
148
128
  }] } });
@@ -152,4 +132,4 @@ function getOffsetVertical({ clientY }, { top, height }) {
152
132
  function getOffsetHorizontal({ clientX }, { left, width }) {
153
133
  return (clientX - left) / width;
154
134
  }
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zY3JvbGwtY29udHJvbHMvc2Nyb2xsYmFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFFdkUsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO0FBTXJCLE1BQU0sT0FBTyxxQkFBcUI7SUFJOUIsWUFDb0IsTUFBYyxFQUNYLFFBQW1CLEVBQ0gsUUFBMEIsRUFDcEMsZUFBbUMsRUFDbEIsT0FBZ0MsRUFHekQsU0FBeUMsRUFDdkIsR0FBYSxFQUNmLEdBQVcsRUFDUCxFQUEyQixFQUNyQixnQkFBa0M7UUFQbkMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFHekQsY0FBUyxHQUFULFNBQVMsQ0FBZ0M7UUFDdkIsUUFBRyxHQUFILEdBQUcsQ0FBVTtRQUNmLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDUCxPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUNyQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBZGpGLGlCQUFZLEdBQW1CLFVBQVUsQ0FBQztRQWdCdEMsTUFBTSxFQUFDLGFBQWEsRUFBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDaEMsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDNUQsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxNQUFNLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFaEYsS0FBSyxDQUNELGlCQUFpQixDQUFDLElBQUksQ0FDbEIsaUJBQWlCLEVBQUUsRUFDbkIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQ2xELEVBQ0QsVUFBVSxDQUFDLElBQUksQ0FDWCxpQkFBaUIsRUFBRSxFQUNuQixrQkFBa0IsRUFBRSxFQUNwQixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDZCxNQUFNLElBQUksR0FBRyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNuRCxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDaEQsTUFBTSxVQUFVLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRXBELE9BQU8sVUFBVSxDQUFDLElBQUksQ0FDbEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQzNELFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FDdEIsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNMLENBQ0o7YUFDSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFO1lBQ25DLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFFekQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLFlBQVksS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVTtvQkFDakQsSUFBSSxDQUFDLFlBQVksS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDbkQsQ0FBQyxDQUFDO2dCQUVILE9BQU87YUFDVjtZQUVELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxVQUFVLEVBQUU7Z0JBQ2xDLFFBQVEsQ0FBQyxXQUFXLENBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUM1QixXQUFXLEVBQ1gsU0FBUyxDQUNaLENBQUM7YUFDTDtpQkFBTTtnQkFDSCxRQUFRLENBQUMsV0FBVyxDQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFDNUIsWUFBWSxFQUNaLFVBQVUsQ0FDYixDQUFDO2FBQ0w7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVQLEtBQUssQ0FDRCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQzdFLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQ25EO2FBQ0ksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxVQUFVLEVBQUU7Z0JBQ2xDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztnQkFDaEUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO2FBQ3JFO2lCQUFNO2dCQUNILFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztnQkFDakUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO2FBQ3BFO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2hCLE1BQU0sRUFDRixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFdBQVcsR0FDZCxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUUzQixPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssVUFBVTtZQUNuQyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztZQUMzQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFZLFlBQVk7UUFDcEIsTUFBTSxFQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBQyxHQUN4RCxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFFM0IsSUFDSSxDQUFDLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxHQUFHLFlBQVksR0FBRyxTQUFTO1lBQ3JELElBQUksQ0FBQyxZQUFZLEtBQUssVUFBVSxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLEdBQUcsV0FBVyxHQUFHLFNBQVM7Z0JBQ2xELElBQUksQ0FBQyxZQUFZLEtBQUssWUFBWSxDQUFDLEVBQ3pDO1lBQ0UsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxVQUFVO1lBQ25DLENBQUMsQ0FBQyxTQUFTLEdBQUcsWUFBWTtZQUMxQixDQUFDLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBWSxLQUFLO1FBQ2IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRXBELE9BQU8sSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBWSxJQUFJO1FBQ1osTUFBTSxFQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBQyxHQUN4RCxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFFM0IsT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLFVBQVU7WUFDbkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRztZQUN0RCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQVksaUJBQWlCOztRQUN6QixPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxhQUFhLEtBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUM7SUFDckUsQ0FBQztJQUVPLFdBQVcsQ0FDZixFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQWEsRUFDOUIsY0FBc0IsRUFDdEIsZ0JBQXdCO1FBRXhCLE1BQU0sRUFBQyxZQUFZLEVBQUUsV0FBVyxFQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDMUQsTUFBTSxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxHQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXZELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBQzVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQzNELE1BQU0sV0FBVyxHQUNiLENBQUMsT0FBTyxHQUFHLEdBQUcsR0FBRyxZQUFZLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFDOUUsTUFBTSxZQUFZLEdBQ2QsQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxDQUFDO1FBRTlFLE9BQU8sQ0FBQyxNQUFNLEdBQUcsV0FBVyxFQUFFLE9BQU8sR0FBRyxZQUFZLENBQUMsQ0FBQztJQUMxRCxDQUFDOzttSEE3SlEscUJBQXFCLGtCQUtsQixNQUFNLGFBQ04sU0FBUyxhQUNELGlCQUFpQix5QkFDekIsZUFBZSxhQUNmLGVBQWUsYUFFZixjQUFjLDZCQUVkLFFBQVEsYUFDUixNQUFNLGFBQ04sVUFBVSxhQUNWLGdCQUFnQjt1R0FoQm5CLHFCQUFxQixtRkFGbkIsQ0FBQyxpQkFBaUIsQ0FBQzs0RkFFckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUNqQzs7MEJBTVEsTUFBTTsyQkFBQyxNQUFNOzswQkFDYixNQUFNOzJCQUFDLFNBQVM7OzBCQUNoQixJQUFJOzswQkFBSSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ2hDLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsY0FBYzs4QkFFa0IsUUFBUTswQkFBL0MsTUFBTTsyQkFBQyxRQUFROzhCQUNzQixNQUFNOzBCQUEzQyxNQUFNOzJCQUFDLE1BQU07OzBCQUNiLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsZ0JBQWdCOzRDQWQ1QixZQUFZO3NCQURYLEtBQUs7O0FBK0pWLFNBQVMsaUJBQWlCLENBQUMsRUFBQyxPQUFPLEVBQWEsRUFBRSxFQUFDLEdBQUcsRUFBRSxNQUFNLEVBQWE7SUFDdkUsT0FBTyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUM7QUFDcEMsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsRUFBQyxPQUFPLEVBQWEsRUFBRSxFQUFDLElBQUksRUFBRSxLQUFLLEVBQWE7SUFDekUsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlQsIFZpZXdwb3J0U2Nyb2xsZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBTklNQVRJT05fRlJBTUUsIFdJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIFBPTExJTkdfVElNRSxcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB0dWlQcmV2ZW50RGVmYXVsdCxcbiAgICB0dWlTdG9wUHJvcGFnYXRpb24sXG4gICAgdHVpVHlwZWRGcm9tRXZlbnQsXG4gICAgdHVpWm9uZWZyZWUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfRUxFTUVOVF9SRUYsIFRVSV9TQ1JPTExfUkVGfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlPcmllbnRhdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IE1JTl9XSURUSCA9IDI0O1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlTY3JvbGxiYXJdJyxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNjcm9sbGJhckRpcmVjdGl2ZSB7XG4gICAgQElucHV0KClcbiAgICB0dWlTY3JvbGxiYXI6IFR1aU9yaWVudGF0aW9uID0gJ3ZlcnRpY2FsJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KE5nWm9uZSkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoUmVuZGVyZXIyKSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBAU2VsZigpIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9GUkFNRSkgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgICAgIEBJbmplY3QoVFVJX0VMRU1FTlRfUkVGKSBwcml2YXRlIHJlYWRvbmx5IHdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9TQ1JPTExfUkVGKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvYzogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbjogV2luZG93LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFZpZXdwb3J0U2Nyb2xsZXIpIHByaXZhdGUgcmVhZG9ubHkgdmlld3BvcnRTY3JvbGxlcjogVmlld3BvcnRTY3JvbGxlcixcbiAgICApIHtcbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5lbDtcbiAgICAgICAgY29uc3QgbW91c2Vkb3duJCA9IHR1aVR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICdtb3VzZWRvd24nKTtcbiAgICAgICAgY29uc3QgbW91c2Vtb3ZlJCA9IHR1aVR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jLCAnbW91c2Vtb3ZlJyk7XG4gICAgICAgIGNvbnN0IG1vdXNldXAkID0gdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5kb2MsICdtb3VzZXVwJyk7XG4gICAgICAgIGNvbnN0IG1vdXNlZG93bldyYXBwZXIkID0gdHVpVHlwZWRGcm9tRXZlbnQod3JhcHBlci5uYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJyk7XG5cbiAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICBtb3VzZWRvd25XcmFwcGVyJC5waXBlKFxuICAgICAgICAgICAgICAgIHR1aVByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHRoaXMuZ2V0U2Nyb2xsZWQoZXZlbnQsIDAuNSwgMC41KSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbW91c2Vkb3duJC5waXBlKFxuICAgICAgICAgICAgICAgIHR1aVByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICAgICAgdHVpU3RvcFByb3BhZ2F0aW9uKCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjdCA9IG5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZlcnRpY2FsID0gZ2V0T2Zmc2V0VmVydGljYWwoZXZlbnQsIHJlY3QpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBob3Jpem9udGFsID0gZ2V0T2Zmc2V0SG9yaXpvbnRhbChldmVudCwgcmVjdCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vdXNlbW92ZSQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiB0aGlzLmdldFNjcm9sbGVkKGV2ZW50LCB2ZXJ0aWNhbCwgaG9yaXpvbnRhbCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKG1vdXNldXAkKSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKG5nWm9uZSksIHRha2VVbnRpbChkZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbc2Nyb2xsVG9wLCBzY3JvbGxMZWZ0XSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IFt4LCB5XSA9IHRoaXMudmlld3BvcnRTY3JvbGxlci5nZXRTY3JvbGxQb3NpdGlvbigpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpZXdwb3J0U2Nyb2xsZXIuc2Nyb2xsVG9Qb3NpdGlvbihbXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJyA/IHggOiBzY3JvbGxMZWZ0LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50dWlTY3JvbGxiYXIgPT09ICd2ZXJ0aWNhbCcgPyBzY3JvbGxUb3AgOiB5LFxuICAgICAgICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHVpU2Nyb2xsYmFyID09PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzY3JvbGxUb3AnLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9wLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzY3JvbGxMZWZ0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbExlZnQsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICBmcm9tRXZlbnQodGhpcy5jb250YWluZXIgPyB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50IDogdGhpcy53aW4sICdzY3JvbGwnKSxcbiAgICAgICAgICAgIGFuaW1hdGlvbkZyYW1lJC5waXBlKHRocm90dGxlVGltZShQT0xMSU5HX1RJTUUpKSxcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodHVpWm9uZWZyZWUobmdab25lKSwgdGFrZVVudGlsKGRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShuYXRpdmVFbGVtZW50LCAndG9wJywgYCR7dGhpcy50aHVtYiAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHt0aGlzLnZpZXcgKiAxMDB9JWApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgYCR7dGhpcy50aHVtYiAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3RoaXMudmlldyAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgc2Nyb2xsZWQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgc2Nyb2xsVG9wLFxuICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0LFxuICAgICAgICAgICAgY2xpZW50SGVpZ2h0LFxuICAgICAgICAgICAgc2Nyb2xsTGVmdCxcbiAgICAgICAgICAgIHNjcm9sbFdpZHRoLFxuICAgICAgICAgICAgY2xpZW50V2lkdGgsXG4gICAgICAgIH0gPSB0aGlzLmNvbXB1dGVkQ29udGFpbmVyO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJ1xuICAgICAgICAgICAgPyBzY3JvbGxUb3AgLyAoc2Nyb2xsSGVpZ2h0IC0gY2xpZW50SGVpZ2h0KVxuICAgICAgICAgICAgOiBzY3JvbGxMZWZ0IC8gKHNjcm9sbFdpZHRoIC0gY2xpZW50V2lkdGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbXBlbnNhdGlvbigpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB7Y2xpZW50SGVpZ2h0LCBzY3JvbGxIZWlnaHQsIGNsaWVudFdpZHRoLCBzY3JvbGxXaWR0aH0gPVxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZENvbnRhaW5lcjtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoKGNsaWVudEhlaWdodCAqIGNsaWVudEhlaWdodCkgLyBzY3JvbGxIZWlnaHQgPiBNSU5fV0lEVEggJiZcbiAgICAgICAgICAgICAgICB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJykgfHxcbiAgICAgICAgICAgICgoY2xpZW50V2lkdGggKiBjbGllbnRXaWR0aCkgLyBzY3JvbGxXaWR0aCA+IE1JTl9XSURUSCAmJlxuICAgICAgICAgICAgICAgIHRoaXMudHVpU2Nyb2xsYmFyID09PSAnaG9yaXpvbnRhbCcpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50dWlTY3JvbGxiYXIgPT09ICd2ZXJ0aWNhbCdcbiAgICAgICAgICAgID8gTUlOX1dJRFRIIC8gY2xpZW50SGVpZ2h0XG4gICAgICAgICAgICA6IE1JTl9XSURUSCAvIGNsaWVudFdpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRodW1iKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGNvbXBlbnNhdGlvbiA9IHRoaXMuY29tcGVuc2F0aW9uIHx8IHRoaXMudmlldztcblxuICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGxlZCAqICgxIC0gY29tcGVuc2F0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB2aWV3KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHtjbGllbnRIZWlnaHQsIHNjcm9sbEhlaWdodCwgY2xpZW50V2lkdGgsIHNjcm9sbFdpZHRofSA9XG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkQ29udGFpbmVyO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJ1xuICAgICAgICAgICAgPyBNYXRoLmNlaWwoKGNsaWVudEhlaWdodCAvIHNjcm9sbEhlaWdodCkgKiAxMDApIC8gMTAwXG4gICAgICAgICAgICA6IE1hdGguY2VpbCgoY2xpZW50V2lkdGggLyBzY3JvbGxXaWR0aCkgKiAxMDApIC8gMTAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbXB1dGVkQ29udGFpbmVyKCk6IEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQgfHwgdGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2Nyb2xsZWQoXG4gICAgICAgIHtjbGllbnRZLCBjbGllbnRYfTogTW91c2VFdmVudCxcbiAgICAgICAgb2Zmc2V0VmVydGljYWw6IG51bWJlcixcbiAgICAgICAgb2Zmc2V0SG9yaXpvbnRhbDogbnVtYmVyLFxuICAgICk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgICAgICBjb25zdCB7b2Zmc2V0SGVpZ2h0LCBvZmZzZXRXaWR0aH0gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHt0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHR9ID1cbiAgICAgICAgICAgIHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGNvbnN0IG1heFRvcCA9IHRoaXMuY29tcHV0ZWRDb250YWluZXIuc2Nyb2xsSGVpZ2h0IC0gaGVpZ2h0O1xuICAgICAgICBjb25zdCBtYXhMZWZ0ID0gdGhpcy5jb21wdXRlZENvbnRhaW5lci5zY3JvbGxXaWR0aCAtIHdpZHRoO1xuICAgICAgICBjb25zdCBzY3JvbGxlZFRvcCA9XG4gICAgICAgICAgICAoY2xpZW50WSAtIHRvcCAtIG9mZnNldEhlaWdodCAqIG9mZnNldFZlcnRpY2FsKSAvIChoZWlnaHQgLSBvZmZzZXRIZWlnaHQpO1xuICAgICAgICBjb25zdCBzY3JvbGxlZExlZnQgPVxuICAgICAgICAgICAgKGNsaWVudFggLSBsZWZ0IC0gb2Zmc2V0V2lkdGggKiBvZmZzZXRIb3Jpem9udGFsKSAvICh3aWR0aCAtIG9mZnNldFdpZHRoKTtcblxuICAgICAgICByZXR1cm4gW21heFRvcCAqIHNjcm9sbGVkVG9wLCBtYXhMZWZ0ICogc2Nyb2xsZWRMZWZ0XTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGdldE9mZnNldFZlcnRpY2FsKHtjbGllbnRZfTogTW91c2VFdmVudCwge3RvcCwgaGVpZ2h0fTogQ2xpZW50UmVjdCk6IG51bWJlciB7XG4gICAgcmV0dXJuIChjbGllbnRZIC0gdG9wKSAvIGhlaWdodDtcbn1cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0SG9yaXpvbnRhbCh7Y2xpZW50WH06IE1vdXNlRXZlbnQsIHtsZWZ0LCB3aWR0aH06IENsaWVudFJlY3QpOiBudW1iZXIge1xuICAgIHJldHVybiAoY2xpZW50WCAtIGxlZnQpIC8gd2lkdGg7XG59XG4iXX0=
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zY3JvbGwtY29udHJvbHMvc2Nyb2xsYmFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULElBQUksR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUNILFlBQVksRUFDWixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRXRFLE9BQU8sRUFBQyxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFFdkUsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO0FBTXJCLE1BQU0sT0FBTyxxQkFBcUI7SUFJOUIsWUFDb0IsTUFBYyxFQUNYLFFBQW1CLEVBQ0gsUUFBMEIsRUFDcEMsZUFBbUMsRUFDbEIsT0FBZ0MsRUFDakMsU0FBa0MsRUFDeEMsR0FBYSxFQUNYLEVBQTJCO1FBSHRCLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBQ2pDLGNBQVMsR0FBVCxTQUFTLENBQXlCO1FBQ3hDLFFBQUcsR0FBSCxHQUFHLENBQVU7UUFDWCxPQUFFLEdBQUYsRUFBRSxDQUF5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QUMsR0FBRyxLQUFLLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBTklNQVRJT05fRlJBTUV9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBQT0xMSU5HX1RJTUUsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgdHVpUHJldmVudERlZmF1bHQsXG4gICAgdHVpU2Nyb2xsRnJvbSxcbiAgICB0dWlTdG9wUHJvcGFnYXRpb24sXG4gICAgdHVpVHlwZWRGcm9tRXZlbnQsXG4gICAgdHVpWm9uZWZyZWUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfRUxFTUVOVF9SRUYsIFRVSV9TQ1JPTExfUkVGfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlPcmllbnRhdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHttZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRocm90dGxlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCBNSU5fV0lEVEggPSAyNDtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpU2Nyb2xsYmFyXScsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxiYXJEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpXG4gICAgdHVpU2Nyb2xsYmFyOiBUdWlPcmllbnRhdGlvbiA9ICd2ZXJ0aWNhbCc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFJlbmRlcmVyMikgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgQFNlbGYoKSBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICAgICBASW5qZWN0KFRVSV9FTEVNRU5UX1JFRikgcHJpdmF0ZSByZWFkb25seSB3cmFwcGVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfU0NST0xMX1JFRikgcHJpdmF0ZSByZWFkb25seSBjb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvYzogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVFbGVtZW50fSA9IHRoaXMuZWw7XG4gICAgICAgIGNvbnN0IG1vdXNlZG93biQgPSB0dWlUeXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJyk7XG4gICAgICAgIGNvbnN0IG1vdXNlbW92ZSQgPSB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmRvYywgJ21vdXNlbW92ZScpO1xuICAgICAgICBjb25zdCBtb3VzZXVwJCA9IHR1aVR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jLCAnbW91c2V1cCcpO1xuICAgICAgICBjb25zdCBtb3VzZWRvd25XcmFwcGVyJCA9IHR1aVR5cGVkRnJvbUV2ZW50KFxuICAgICAgICAgICAgdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAnbW91c2Vkb3duJyxcbiAgICAgICAgKTtcblxuICAgICAgICBtZXJnZShcbiAgICAgICAgICAgIG1vdXNlZG93bldyYXBwZXIkLnBpcGUoXG4gICAgICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQoKSxcbiAgICAgICAgICAgICAgICBtYXAoZXZlbnQgPT4gdGhpcy5nZXRTY3JvbGxlZChldmVudCwgMC41LCAwLjUpKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBtb3VzZWRvd24kLnBpcGUoXG4gICAgICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQoKSxcbiAgICAgICAgICAgICAgICB0dWlTdG9wUHJvcGFnYXRpb24oKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZWN0ID0gbmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmVydGljYWwgPSBnZXRPZmZzZXRWZXJ0aWNhbChldmVudCwgcmVjdCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhvcml6b250YWwgPSBnZXRPZmZzZXRIb3Jpem9udGFsKGV2ZW50LCByZWN0KTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbW91c2Vtb3ZlJC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHRoaXMuZ2V0U2Nyb2xsZWQoZXZlbnQsIHZlcnRpY2FsLCBob3Jpem9udGFsKSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwobW91c2V1cCQpLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodHVpWm9uZWZyZWUobmdab25lKSwgdGFrZVVudGlsKGRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKFtzY3JvbGxUb3AsIHNjcm9sbExlZnRdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHVpU2Nyb2xsYmFyID09PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudCwgJ3Njcm9sbFRvcCcsIHNjcm9sbFRvcCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50LCAnc2Nyb2xsTGVmdCcsIHNjcm9sbExlZnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgYW5pbWF0aW9uRnJhbWUkLnBpcGUodGhyb3R0bGVUaW1lKFBPTExJTkdfVElNRSkpLFxuICAgICAgICAgICAgdHVpU2Nyb2xsRnJvbSh0aGlzLmVsZW1lbnQpLFxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0dWlab25lZnJlZShuZ1pvbmUpLCB0YWtlVW50aWwoZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHVpU2Nyb2xsYmFyID09PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICd0b3AnLCBgJHt0aGlzLnRodW1iICogMTAwfSVgKTtcbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke3RoaXMudmlldyAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ2xlZnQnLCBgJHt0aGlzLnRodW1iICogMTAwfSVgKTtcbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7dGhpcy52aWV3ICogMTAwfSVgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBzY3JvbGxlZCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBzY3JvbGxUb3AsXG4gICAgICAgICAgICBzY3JvbGxIZWlnaHQsXG4gICAgICAgICAgICBjbGllbnRIZWlnaHQsXG4gICAgICAgICAgICBzY3JvbGxMZWZ0LFxuICAgICAgICAgICAgc2Nyb2xsV2lkdGgsXG4gICAgICAgICAgICBjbGllbnRXaWR0aCxcbiAgICAgICAgfSA9IHRoaXMuZWxlbWVudDtcblxuICAgICAgICByZXR1cm4gdGhpcy50dWlTY3JvbGxiYXIgPT09ICd2ZXJ0aWNhbCdcbiAgICAgICAgICAgID8gc2Nyb2xsVG9wIC8gKHNjcm9sbEhlaWdodCAtIGNsaWVudEhlaWdodClcbiAgICAgICAgICAgIDogc2Nyb2xsTGVmdCAvIChzY3JvbGxXaWR0aCAtIGNsaWVudFdpZHRoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjb21wZW5zYXRpb24oKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge2NsaWVudEhlaWdodCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRXaWR0aCwgc2Nyb2xsV2lkdGh9ID0gdGhpcy5lbGVtZW50O1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICgoY2xpZW50SGVpZ2h0ICogY2xpZW50SGVpZ2h0KSAvIHNjcm9sbEhlaWdodCA+IE1JTl9XSURUSCAmJlxuICAgICAgICAgICAgICAgIHRoaXMudHVpU2Nyb2xsYmFyID09PSAndmVydGljYWwnKSB8fFxuICAgICAgICAgICAgKChjbGllbnRXaWR0aCAqIGNsaWVudFdpZHRoKSAvIHNjcm9sbFdpZHRoID4gTUlOX1dJRFRIICYmXG4gICAgICAgICAgICAgICAgdGhpcy50dWlTY3JvbGxiYXIgPT09ICdob3Jpem9udGFsJylcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJ1xuICAgICAgICAgICAgPyBNSU5fV0lEVEggLyBjbGllbnRIZWlnaHRcbiAgICAgICAgICAgIDogTUlOX1dJRFRIIC8gY2xpZW50V2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgdGh1bWIoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgY29tcGVuc2F0aW9uID0gdGhpcy5jb21wZW5zYXRpb24gfHwgdGhpcy52aWV3O1xuXG4gICAgICAgIHJldHVybiB0aGlzLnNjcm9sbGVkICogKDEgLSBjb21wZW5zYXRpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHZpZXcoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge2NsaWVudEhlaWdodCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRXaWR0aCwgc2Nyb2xsV2lkdGh9ID0gdGhpcy5lbGVtZW50O1xuXG4gICAgICAgIHJldHVybiB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJ1xuICAgICAgICAgICAgPyBNYXRoLmNlaWwoKGNsaWVudEhlaWdodCAvIHNjcm9sbEhlaWdodCkgKiAxMDApIC8gMTAwXG4gICAgICAgICAgICA6IE1hdGguY2VpbCgoY2xpZW50V2lkdGggLyBzY3JvbGxXaWR0aCkgKiAxMDApIC8gMTAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGVsZW1lbnQoKTogRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2Nyb2xsZWQoXG4gICAgICAgIHtjbGllbnRZLCBjbGllbnRYfTogTW91c2VFdmVudCxcbiAgICAgICAgb2Zmc2V0VmVydGljYWw6IG51bWJlcixcbiAgICAgICAgb2Zmc2V0SG9yaXpvbnRhbDogbnVtYmVyLFxuICAgICk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgICAgICBjb25zdCB7b2Zmc2V0SGVpZ2h0LCBvZmZzZXRXaWR0aH0gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHt0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHR9ID1cbiAgICAgICAgICAgIHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGNvbnN0IG1heFRvcCA9IHRoaXMuZWxlbWVudC5zY3JvbGxIZWlnaHQgLSBoZWlnaHQ7XG4gICAgICAgIGNvbnN0IG1heExlZnQgPSB0aGlzLmVsZW1lbnQuc2Nyb2xsV2lkdGggLSB3aWR0aDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsZWRUb3AgPVxuICAgICAgICAgICAgKGNsaWVudFkgLSB0b3AgLSBvZmZzZXRIZWlnaHQgKiBvZmZzZXRWZXJ0aWNhbCkgLyAoaGVpZ2h0IC0gb2Zmc2V0SGVpZ2h0KTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsZWRMZWZ0ID1cbiAgICAgICAgICAgIChjbGllbnRYIC0gbGVmdCAtIG9mZnNldFdpZHRoICogb2Zmc2V0SG9yaXpvbnRhbCkgLyAod2lkdGggLSBvZmZzZXRXaWR0aCk7XG5cbiAgICAgICAgcmV0dXJuIFttYXhUb3AgKiBzY3JvbGxlZFRvcCwgbWF4TGVmdCAqIHNjcm9sbGVkTGVmdF07XG4gICAgfVxufVxuXG5mdW5jdGlvbiBnZXRPZmZzZXRWZXJ0aWNhbCh7Y2xpZW50WX06IE1vdXNlRXZlbnQsIHt0b3AsIGhlaWdodH06IENsaWVudFJlY3QpOiBudW1iZXIge1xuICAgIHJldHVybiAoY2xpZW50WSAtIHRvcCkgLyBoZWlnaHQ7XG59XG5cbmZ1bmN0aW9uIGdldE9mZnNldEhvcml6b250YWwoe2NsaWVudFh9OiBNb3VzZUV2ZW50LCB7bGVmdCwgd2lkdGh9OiBDbGllbnRSZWN0KTogbnVtYmVyIHtcbiAgICByZXR1cm4gKGNsaWVudFggLSBsZWZ0KSAvIHdpZHRoO1xufVxuIl19
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Inject, Optional, Self, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ElementRef, Inject, Optional, Self, } from '@angular/core';
2
2
  import { WINDOW } from '@ng-web-apis/common';
3
3
  import { AbstractTuiPortalHostComponent, TuiDestroyService, tuiGetClosestFocusable, tuiPx, } from '@taiga-ui/cdk';
4
4
  import { tuiPositionAccessorFor, TuiRectAccessor, tuiRectAccessorFor, } from '@taiga-ui/core/abstract';
@@ -16,27 +16,26 @@ import * as i1 from "@taiga-ui/core/components/scrollbar";
16
16
  import * as i2 from "@taiga-ui/cdk";
17
17
  import * as i3 from "@taiga-ui/core/directives/mode";
18
18
  import * as i4 from "@tinkoff/ng-polymorpheus";
19
- import * as i5 from "rxjs";
20
- import * as i6 from "./dropdown.directive";
21
- import * as i7 from "@taiga-ui/core/abstract";
22
- import * as i8 from "./dropdown-hover.directive";
23
- import * as i9 from "@taiga-ui/core/services";
19
+ import * as i5 from "@taiga-ui/core/services";
20
+ import * as i6 from "rxjs";
21
+ import * as i7 from "./dropdown.directive";
22
+ import * as i8 from "@taiga-ui/core/abstract";
23
+ import * as i9 from "./dropdown-hover.directive";
24
24
  /**
25
25
  * @description:
26
26
  * This component is used to show template in a portal
27
27
  * using default style of white rounded box with a shadow
28
28
  */
29
29
  export class TuiDropdownComponent {
30
- constructor(position$, destroy$, directive, el, host, accessor, win, animationOptions, options, hoverDirective, visualViewportService) {
30
+ constructor(visualViewportService, position$, destroy$, directive, animation, el, host, accessor, win, options, hoverDirective) {
31
31
  this.directive = directive;
32
+ this.animation = animation;
32
33
  this.el = el;
33
34
  this.host = host;
34
35
  this.accessor = accessor;
35
36
  this.win = win;
36
- this.animationOptions = animationOptions;
37
37
  this.options = options;
38
38
  this.hoverDirective = hoverDirective;
39
- this.dropdownAnimation = Object.assign({ value: "fadeInTop" /* FadeInTop */ }, this.animationOptions);
40
39
  position$
41
40
  .pipe(map(point => this.directive.position === 'fixed'
42
41
  ? visualViewportService.correct(point)
@@ -108,8 +107,8 @@ export class TuiDropdownComponent {
108
107
  focusable === null || focusable === void 0 ? void 0 : focusable.focus();
109
108
  }
110
109
  }
111
- TuiDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDropdownComponent, deps: [{ token: TuiPositionService }, { token: TuiDestroyService, self: true }, { token: TuiDropdownDirective }, { token: ElementRef }, { token: AbstractTuiPortalHostComponent }, { token: TuiRectAccessor }, { token: WINDOW }, { token: TUI_ANIMATION_OPTIONS }, { token: TUI_DROPDOWN_OPTIONS }, { token: TuiDropdownHoverDirective, optional: true }, { token: TuiVisualViewportService }], target: i0.ɵɵFactoryTarget.Component });
112
- TuiDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownComponent, selector: "tui-dropdown", host: { properties: { "@tuiDropdownAnimation": "this.dropdownAnimation" } }, providers: [
110
+ TuiDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDropdownComponent, deps: [{ token: TuiVisualViewportService }, { token: TuiPositionService }, { token: TuiDestroyService, self: true }, { token: TuiDropdownDirective }, { token: TUI_ANIMATION_OPTIONS }, { token: ElementRef }, { token: AbstractTuiPortalHostComponent }, { token: TuiRectAccessor }, { token: WINDOW }, { token: TUI_DROPDOWN_OPTIONS }, { token: TuiDropdownHoverDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
111
+ TuiDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownComponent, selector: "tui-dropdown", host: { properties: { "@tuiDropdownAnimation": "animation" } }, providers: [
113
112
  TuiDestroyService,
114
113
  TuiPositionService,
115
114
  tuiPositionAccessorFor('dropdown'),
@@ -128,49 +127,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
128
127
  tuiRectAccessorFor('dropdown', TuiDropdownDirective),
129
128
  ],
130
129
  animations: [tuiDropdownAnimation],
130
+ host: { '[@tuiDropdownAnimation]': 'animation' },
131
131
  // @bad TODO: OnPush
132
132
  // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection
133
133
  changeDetection: ChangeDetectionStrategy.Default,
134
134
  }]
135
- }], ctorParameters: function () { return [{ type: i5.Observable, decorators: [{
135
+ }], ctorParameters: function () { return [{ type: i5.TuiVisualViewportService, decorators: [{
136
+ type: Inject,
137
+ args: [TuiVisualViewportService]
138
+ }] }, { type: i6.Observable, decorators: [{
136
139
  type: Inject,
137
140
  args: [TuiPositionService]
138
- }] }, { type: i5.Observable, decorators: [{
141
+ }] }, { type: i6.Observable, decorators: [{
139
142
  type: Self
140
143
  }, {
141
144
  type: Inject,
142
145
  args: [TuiDestroyService]
143
- }] }, { type: i6.TuiDropdownDirective, decorators: [{
146
+ }] }, { type: i7.TuiDropdownDirective, decorators: [{
144
147
  type: Inject,
145
148
  args: [TuiDropdownDirective]
149
+ }] }, { type: undefined, decorators: [{
150
+ type: Inject,
151
+ args: [TUI_ANIMATION_OPTIONS]
146
152
  }] }, { type: i0.ElementRef, decorators: [{
147
153
  type: Inject,
148
154
  args: [ElementRef]
149
155
  }] }, { type: i2.AbstractTuiPortalHostComponent, decorators: [{
150
156
  type: Inject,
151
157
  args: [AbstractTuiPortalHostComponent]
152
- }] }, { type: i7.TuiRectAccessor, decorators: [{
158
+ }] }, { type: i8.TuiRectAccessor, decorators: [{
153
159
  type: Inject,
154
160
  args: [TuiRectAccessor]
155
161
  }] }, { type: Window, decorators: [{
156
162
  type: Inject,
157
163
  args: [WINDOW]
158
- }] }, { type: undefined, decorators: [{
159
- type: Inject,
160
- args: [TUI_ANIMATION_OPTIONS]
161
164
  }] }, { type: undefined, decorators: [{
162
165
  type: Inject,
163
166
  args: [TUI_DROPDOWN_OPTIONS]
164
- }] }, { type: i8.TuiDropdownHoverDirective, decorators: [{
167
+ }] }, { type: i9.TuiDropdownHoverDirective, decorators: [{
165
168
  type: Optional
166
169
  }, {
167
170
  type: Inject,
168
171
  args: [TuiDropdownHoverDirective]
169
- }] }, { type: i9.TuiVisualViewportService, decorators: [{
170
- type: Inject,
171
- args: [TuiVisualViewportService]
172
- }] }]; }, propDecorators: { dropdownAnimation: [{
173
- type: HostBinding,
174
- args: ['@tuiDropdownAnimation']
175
- }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bi9kcm9wZG93bi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUVOLFFBQVEsRUFDUixJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHNCQUFzQixFQUN0QixlQUFlLEVBQ2Ysa0JBQWtCLEdBQ3JCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFL0QsT0FBTyxFQUFDLGtCQUFrQixFQUFFLHdCQUF3QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDckYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHNUQsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5Qyw0Q0FBNEM7QUFDNUMsMkNBQTJDO0FBQzNDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxvQkFBb0IsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7QUFFdEY7Ozs7R0FJRztBQWdCSCxNQUFNLE9BQU8sb0JBQW9CO0lBTzdCLFlBQ2dDLFNBQStCLEVBQ3hCLFFBQTBCLEVBQ3RCLFNBQStCLEVBQ2pDLEVBQTJCLEVBRS9DLElBQW9DLEVBQ1gsUUFBeUIsRUFDbEMsR0FBVyxFQUUzQixnQkFBa0MsRUFDSixPQUEyQixFQUd6RCxjQUFnRCxFQUMvQixxQkFBK0M7UUFaMUMsY0FBUyxHQUFULFNBQVMsQ0FBc0I7UUFDakMsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFFL0MsU0FBSSxHQUFKLElBQUksQ0FBZ0M7UUFDWCxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUNsQyxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBRTNCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDSixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUd6RCxtQkFBYyxHQUFkLGNBQWMsQ0FBa0M7UUFuQjVELHNCQUFpQixtQkFDdEIsS0FBSyxpQ0FDRixJQUFJLENBQUMsZ0JBQWdCLEVBQzFCO1FBbUJFLFNBQVM7YUFDSixJQUFJLENBQ0QsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEtBQUssT0FBTztZQUMvQixDQUFDLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN0QyxDQUFDLENBQUMsS0FBSyxDQUNkLEVBQ0QsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFUCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBZ0I7UUFDNUIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVPLE1BQU0sQ0FBQyxHQUFXLEVBQUUsSUFBWTtRQUNwQyxNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxFQUFDLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDOUQsTUFBTSxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3pDLE1BQU0sRUFBQyxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQy9CLE1BQU0sRUFBQyxVQUFVLEVBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQy9CLE1BQU0sRUFBQyxRQUFRLEVBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0MsTUFBTSxPQUFPLEdBQUcsUUFBUSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDNUQsTUFBTSxPQUFPLEdBQUcsUUFBUSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFFM0QsR0FBRyxJQUFJLE9BQU8sQ0FBQztRQUNmLElBQUksSUFBSSxPQUFPLENBQUM7UUFFaEIsTUFBTSxjQUFjLEdBQ2hCLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUcsR0FBRyxPQUFPLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUN6RSxNQUFNLFNBQVMsR0FBRyxjQUFjO1lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxNQUFNO1lBQ3ZCLENBQUMsQ0FBQyxPQUFPLEdBQUcsV0FBVyxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFFM0MsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDMUIsS0FBSyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkQsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN4RCxLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNqQixLQUFLLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUVwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWE7UUFDN0IsTUFBTSxFQUFDLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBRXRDLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDN0IsS0FBSyxLQUFLO2dCQUNOLEtBQUssQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM5QixNQUFNO1lBQ1YsS0FBSyxPQUFPO2dCQUNSLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQixNQUFNO1lBQ1YsS0FBSyxNQUFNO2dCQUNQLE1BQU07U0FDYjtJQUNMLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxRQUFpQjtRQUN0QyxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDMUMsTUFBTSxFQUFDLGFBQWEsRUFBQyxHQUFHLGFBQWEsQ0FBQztRQUN0QyxNQUFNLElBQUksR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUNoRSxJQUFJLFNBQVMsR0FBRyxzQkFBc0IsQ0FBQyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7UUFFakYsT0FBTyxTQUFTLEtBQUssSUFBSSxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDNUQsU0FBUyxHQUFHLHNCQUFzQixDQUFDLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztTQUM1RTtRQUVELFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRSxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDOztrSEFsSFEsb0JBQW9CLGtCQVFqQixrQkFBa0IsYUFDVixpQkFBaUIseUJBQ3pCLG9CQUFvQixhQUNwQixVQUFVLGFBQ1YsOEJBQThCLGFBRTlCLGVBQWUsYUFDZixNQUFNLGFBQ04scUJBQXFCLGFBRXJCLG9CQUFvQixhQUVwQix5QkFBeUIsNkJBRXpCLHdCQUF3QjtzR0F0QjNCLG9CQUFvQixvSEFYbEI7UUFDUCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHNCQUFzQixDQUFDLFVBQVUsQ0FBQztRQUNsQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLENBQUM7S0FDdkQsMEJDbkRMLGlwQkF5QkEsNnpDRDJCZ0IsQ0FBQyxvQkFBb0IsQ0FBQzs0RkFLekIsb0JBQW9CO2tCQWZoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixXQUFXLEVBQUUsMEJBQTBCO29CQUN2QyxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDcEMsU0FBUyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixzQkFBc0IsQ0FBQyxVQUFVLENBQUM7d0JBQ2xDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQztxQkFDdkQ7b0JBQ0QsVUFBVSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ2xDLG9CQUFvQjtvQkFDcEIscUZBQXFGO29CQUNyRixlQUFlLEVBQUUsdUJBQXVCLENBQUMsT0FBTztpQkFDbkQ7OzBCQVNRLE1BQU07MkJBQUMsa0JBQWtCOzswQkFDekIsSUFBSTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUNoQyxNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQzNCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsOEJBQThCOzswQkFFckMsTUFBTTsyQkFBQyxlQUFlOzhCQUNlLE1BQU07MEJBQTNDLE1BQU07MkJBQUMsTUFBTTs7MEJBQ2IsTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUU1QixNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQzNCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMseUJBQXlCOzswQkFFaEMsTUFBTTsyQkFBQyx3QkFBd0I7NENBcEIzQixpQkFBaUI7c0JBRHpCLFdBQVc7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBbmltYXRpb25PcHRpb25zfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlQb3J0YWxIb3N0Q29tcG9uZW50LFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR1aUdldENsb3Nlc3RGb2N1c2FibGUsXG4gICAgdHVpUHgsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICB0dWlQb3NpdGlvbkFjY2Vzc29yRm9yLFxuICAgIFR1aVJlY3RBY2Nlc3NvcixcbiAgICB0dWlSZWN0QWNjZXNzb3JGb3IsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0JztcbmltcG9ydCB7dHVpRHJvcGRvd25BbmltYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkFuaW1hdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZW51bXMnO1xuaW1wb3J0IHtUdWlQb3NpdGlvblNlcnZpY2UsIFR1aVZpc3VhbFZpZXdwb3J0U2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvc2VydmljZXMnO1xuaW1wb3J0IHtUVUlfQU5JTUFUSU9OX09QVElPTlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aVBvaW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBUT0RPOiBmaW5kIHRoZSBiZXN0IHdheSBmb3IgcHJldmVudCBjeWNsZVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkhvdmVyRGlyZWN0aXZlfSBmcm9tICcuL2Ryb3Bkb3duLWhvdmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RVSV9EUk9QRE9XTl9PUFRJT05TLCBUdWlEcm9wZG93bk9wdGlvbnN9IGZyb20gJy4vZHJvcGRvd24tb3B0aW9ucy5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbjpcbiAqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gc2hvdyB0ZW1wbGF0ZSBpbiBhIHBvcnRhbFxuICogdXNpbmcgZGVmYXVsdCBzdHlsZSBvZiB3aGl0ZSByb3VuZGVkIGJveCB3aXRoIGEgc2hhZG93XG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWRyb3Bkb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uc3R5bGUubGVzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgVHVpUG9zaXRpb25TZXJ2aWNlLFxuICAgICAgICB0dWlQb3NpdGlvbkFjY2Vzc29yRm9yKCdkcm9wZG93bicpLFxuICAgICAgICB0dWlSZWN0QWNjZXNzb3JGb3IoJ2Ryb3Bkb3duJywgVHVpRHJvcGRvd25EaXJlY3RpdmUpLFxuICAgIF0sXG4gICAgYW5pbWF0aW9uczogW3R1aURyb3Bkb3duQW5pbWF0aW9uXSxcbiAgICAvLyBAYmFkIFRPRE86IE9uUHVzaFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvcHJlZmVyLW9uLXB1c2gtY29tcG9uZW50LWNoYW5nZS1kZXRlY3Rpb25cbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBASG9zdEJpbmRpbmcoJ0B0dWlEcm9wZG93bkFuaW1hdGlvbicpXG4gICAgcmVhZG9ubHkgZHJvcGRvd25BbmltYXRpb24gPSB7XG4gICAgICAgIHZhbHVlOiBUdWlEcm9wZG93bkFuaW1hdGlvbi5GYWRlSW5Ub3AsXG4gICAgICAgIC4uLnRoaXMuYW5pbWF0aW9uT3B0aW9ucyxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpUG9zaXRpb25TZXJ2aWNlKSBwb3NpdGlvbiQ6IE9ic2VydmFibGU8VHVpUG9pbnQ+LFxuICAgICAgICBAU2VsZigpIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgICAgICBASW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlKSByZWFkb25seSBkaXJlY3RpdmU6IFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KEFic3RyYWN0VHVpUG9ydGFsSG9zdENvbXBvbmVudClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBob3N0OiBBYnN0cmFjdFR1aVBvcnRhbEhvc3RDb21wb25lbnQsXG4gICAgICAgIEBJbmplY3QoVHVpUmVjdEFjY2Vzc29yKSBwcml2YXRlIHJlYWRvbmx5IGFjY2Vzc29yOiBUdWlSZWN0QWNjZXNzb3IsXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbjogV2luZG93LFxuICAgICAgICBASW5qZWN0KFRVSV9BTklNQVRJT05fT1BUSU9OUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25PcHRpb25zOiBBbmltYXRpb25PcHRpb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9EUk9QRE9XTl9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aURyb3Bkb3duT3B0aW9ucyxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlEcm9wZG93bkhvdmVyRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhvdmVyRGlyZWN0aXZlOiBUdWlEcm9wZG93bkhvdmVyRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUdWlWaXN1YWxWaWV3cG9ydFNlcnZpY2UpIHZpc3VhbFZpZXdwb3J0U2VydmljZTogVHVpVmlzdWFsVmlld3BvcnRTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBwb3NpdGlvbiRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChwb2ludCA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZS5wb3NpdGlvbiA9PT0gJ2ZpeGVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyB2aXN1YWxWaWV3cG9ydFNlcnZpY2UuY29ycmVjdChwb2ludClcbiAgICAgICAgICAgICAgICAgICAgICAgIDogcG9pbnQsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwoZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW3RvcCwgbGVmdF0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZSh0b3AsIGxlZnQpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVXaWR0aCh0aGlzLmFjY2Vzc29yLmdldENsaWVudFJlY3QoKS53aWR0aCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ib3ZlcmVkQ2hhbmdlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBvbkhvdmVyZWRDaGFuZ2UoaG92ZXJlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ob3ZlckRpcmVjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5ob3ZlckRpcmVjdGl2ZS50b2dnbGUoaG92ZXJlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRvcEZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdmVGb2N1c091dHNpZGUodHJ1ZSk7XG4gICAgfVxuXG4gICAgb25Cb3R0b21Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3ZlRm9jdXNPdXRzaWRlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZSh0b3A6IG51bWJlciwgbGVmdDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHtyaWdodH0gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHttYXhIZWlnaHQsIG9mZnNldH0gPSB0aGlzLm9wdGlvbnM7XG4gICAgICAgIGNvbnN0IHtpbm5lckhlaWdodH0gPSB0aGlzLndpbjtcbiAgICAgICAgY29uc3Qge2NsaWVudFJlY3R9ID0gdGhpcy5ob3N0O1xuICAgICAgICBjb25zdCB7cG9zaXRpb259ID0gdGhpcy5kaXJlY3RpdmU7XG4gICAgICAgIGNvbnN0IHJlY3QgPSB0aGlzLmFjY2Vzc29yLmdldENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qgb2Zmc2V0WCA9IHBvc2l0aW9uID09PSAnZml4ZWQnID8gMCA6IC1jbGllbnRSZWN0LmxlZnQ7XG4gICAgICAgIGNvbnN0IG9mZnNldFkgPSBwb3NpdGlvbiA9PT0gJ2ZpeGVkJyA/IDAgOiAtY2xpZW50UmVjdC50b3A7XG5cbiAgICAgICAgdG9wICs9IG9mZnNldFk7XG4gICAgICAgIGxlZnQgKz0gb2Zmc2V0WDtcblxuICAgICAgICBjb25zdCBpc0ludGVyc2VjdGluZyA9XG4gICAgICAgICAgICBsZWZ0IDwgcmVjdC5yaWdodCAmJiByaWdodCA+IHJlY3QubGVmdCAmJiB0b3AgPCBvZmZzZXRZICsgMiAqIG9mZnNldDtcbiAgICAgICAgY29uc3QgYXZhaWxhYmxlID0gaXNJbnRlcnNlY3RpbmdcbiAgICAgICAgICAgID8gcmVjdC50b3AgLSAyICogb2Zmc2V0XG4gICAgICAgICAgICA6IG9mZnNldFkgKyBpbm5lckhlaWdodCAtIHRvcCAtIG9mZnNldDtcblxuICAgICAgICBzdHlsZS5wb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgICAgICBzdHlsZS50b3AgPSB0dWlQeChNYXRoLm1heCh0b3AsIG9mZnNldFkgKyBvZmZzZXQpKTtcbiAgICAgICAgc3R5bGUubGVmdCA9IHR1aVB4KGxlZnQpO1xuICAgICAgICBzdHlsZS5tYXhIZWlnaHQgPSB0dWlQeChNYXRoLm1pbihtYXhIZWlnaHQsIGF2YWlsYWJsZSkpO1xuICAgICAgICBzdHlsZS53aWR0aCA9ICcnO1xuICAgICAgICBzdHlsZS5taW5XaWR0aCA9ICcnO1xuXG4gICAgICAgIHRoaXMudXBkYXRlV2lkdGgocmVjdC53aWR0aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVXaWR0aCh3aWR0aDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLm9wdGlvbnMubGltaXRXaWR0aCkge1xuICAgICAgICAgICAgY2FzZSAnbWluJzpcbiAgICAgICAgICAgICAgICBzdHlsZS5taW5XaWR0aCA9IHR1aVB4KHdpZHRoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2ZpeGVkJzpcbiAgICAgICAgICAgICAgICBzdHlsZS53aWR0aCA9IHR1aVB4KHdpZHRoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2F1dG8nOlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3ZlRm9jdXNPdXRzaWRlKHByZXZpb3VzOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVFbGVtZW50fSA9IHRoaXMuZGlyZWN0aXZlLmVsO1xuICAgICAgICBjb25zdCB7b3duZXJEb2N1bWVudH0gPSBuYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCByb290ID0gb3duZXJEb2N1bWVudCA/IG93bmVyRG9jdW1lbnQuYm9keSA6IG5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGxldCBmb2N1c2FibGUgPSB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlKHtpbml0aWFsOiBuYXRpdmVFbGVtZW50LCByb290LCBwcmV2aW91c30pO1xuXG4gICAgICAgIHdoaWxlIChmb2N1c2FibGUgIT09IG51bGwgJiYgbmF0aXZlRWxlbWVudC5jb250YWlucyhmb2N1c2FibGUpKSB7XG4gICAgICAgICAgICBmb2N1c2FibGUgPSB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlKHtpbml0aWFsOiBmb2N1c2FibGUsIHJvb3QsIHByZXZpb3VzfSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb2N1c2FibGU/LmZvY3VzKCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICNhY3RpdmVab25lPVwidHVpQWN0aXZlWm9uZVwiXG4gICAgdHVpQWN0aXZlWm9uZVxuICAgIHR1aU92ZXJzY3JvbGw9XCJhbGxcIlxuICAgIGNsYXNzPVwidC13cmFwcGVyXCJcbiAgICBbdHVpTW9kZV09XCJudWxsXCJcbiAgICAodHVpSG92ZXJlZENoYW5nZSk9XCJvbkhvdmVyZWRDaGFuZ2UoJGV2ZW50KVwiXG4+XG4gICAgPHR1aS1zY3JvbGxiYXIgY2xhc3M9XCJ0LXNjcm9sbFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgKGZvY3VzKT1cIm9uVG9wRm9jdXMoKVwiXG4gICAgICAgID48L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImRpcmVjdGl2ZS5jb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGFjdGl2ZVpvbmV9XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1wcmltaXRpdmVcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgKGZvY3VzKT1cIm9uQm90dG9tRm9jdXMoKVwiXG4gICAgICAgID48L2Rpdj5cbiAgICA8L3R1aS1zY3JvbGxiYXI+XG48L2Rpdj5cbiJdfQ==
172
+ }] }]; } });
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bi9kcm9wZG93bi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBRU4sUUFBUSxFQUNSLElBQUksR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUNILDhCQUE4QixFQUM5QixpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixrQkFBa0IsR0FDckIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUc1RCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLDRDQUE0QztBQUM1QywyQ0FBMkM7QUFDM0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFDLG9CQUFvQixFQUFxQixNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7OztB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aEJoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixXQUFXLEVBQUUsMEJBQTBCO29CQUN2QyxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDcEMsU0FBUyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixzQkFBc0IsQ0FBQyxVQUFVLENBQUM7d0JBQ2xDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQztxQkFDdkQ7b0JBQ0QsVUFBVSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ2xDLElBQUksRUFBRSxFQUFDLHlCQUF5QixFQUFFLFdBQVcsRUFBQztvQkFDOUMsb0JBQW9CO29CQUNwQixxRkFBcUY7b0JBQ3JGLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxPQUFPO2lCQUNuRDs7MEJBR1EsTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUMvQixNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLElBQUk7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDaEMsTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUMzQixNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQzVCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsOEJBQThCOzswQkFFckMsTUFBTTsyQkFBQyxlQUFlOzhCQUNlLE1BQU07MEJBQTNDLE1BQU07MkJBQUMsTUFBTTs7MEJBQ2IsTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUMzQixRQUFROzswQkFDUixNQUFNOzJCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpUG9ydGFsSG9zdENvbXBvbmVudCxcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlLFxuICAgIHR1aVB4LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgdHVpUG9zaXRpb25BY2Nlc3NvckZvcixcbiAgICBUdWlSZWN0QWNjZXNzb3IsXG4gICAgdHVpUmVjdEFjY2Vzc29yRm9yLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hYnN0cmFjdCc7XG5pbXBvcnQge3R1aURyb3Bkb3duQW5pbWF0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hbmltYXRpb25zJztcbmltcG9ydCB7VHVpUG9zaXRpb25TZXJ2aWNlLCBUdWlWaXN1YWxWaWV3cG9ydFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3NlcnZpY2VzJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTl9PUFRJT05TfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlQb2ludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gVE9ETzogZmluZCB0aGUgYmVzdCB3YXkgZm9yIHByZXZlbnQgY3ljbGVcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7VHVpRHJvcGRvd25EaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24uZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpRHJvcGRvd25Ib3ZlckRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi1ob3Zlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUVUlfRFJPUERPV05fT1BUSU9OUywgVHVpRHJvcGRvd25PcHRpb25zfSBmcm9tICcuL2Ryb3Bkb3duLW9wdGlvbnMuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb246XG4gKiBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIHRvIHNob3cgdGVtcGxhdGUgaW4gYSBwb3J0YWxcbiAqIHVzaW5nIGRlZmF1bHQgc3R5bGUgb2Ygd2hpdGUgcm91bmRlZCBib3ggd2l0aCBhIHNoYWRvd1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLnN0eWxlLmxlc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIFR1aVBvc2l0aW9uU2VydmljZSxcbiAgICAgICAgdHVpUG9zaXRpb25BY2Nlc3NvckZvcignZHJvcGRvd24nKSxcbiAgICAgICAgdHVpUmVjdEFjY2Vzc29yRm9yKCdkcm9wZG93bicsIFR1aURyb3Bkb3duRGlyZWN0aXZlKSxcbiAgICBdLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlEcm9wZG93bkFuaW1hdGlvbl0sXG4gICAgaG9zdDogeydbQHR1aURyb3Bkb3duQW5pbWF0aW9uXSc6ICdhbmltYXRpb24nfSxcbiAgICAvLyBAYmFkIFRPRE86IE9uUHVzaFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvcHJlZmVyLW9uLXB1c2gtY29tcG9uZW50LWNoYW5nZS1kZXRlY3Rpb25cbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUdWlWaXN1YWxWaWV3cG9ydFNlcnZpY2UpIHZpc3VhbFZpZXdwb3J0U2VydmljZTogVHVpVmlzdWFsVmlld3BvcnRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFR1aVBvc2l0aW9uU2VydmljZSkgcG9zaXRpb24kOiBPYnNlcnZhYmxlPFR1aVBvaW50PixcbiAgICAgICAgQFNlbGYoKSBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICAgICAgQEluamVjdChUdWlEcm9wZG93bkRpcmVjdGl2ZSkgcmVhZG9ubHkgZGlyZWN0aXZlOiBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OX09QVElPTlMpIHJlYWRvbmx5IGFuaW1hdGlvbjogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChBYnN0cmFjdFR1aVBvcnRhbEhvc3RDb21wb25lbnQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdDogQWJzdHJhY3RUdWlQb3J0YWxIb3N0Q29tcG9uZW50LFxuICAgICAgICBASW5qZWN0KFR1aVJlY3RBY2Nlc3NvcikgcHJpdmF0ZSByZWFkb25seSBhY2Nlc3NvcjogVHVpUmVjdEFjY2Vzc29yLFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW46IFdpbmRvdyxcbiAgICAgICAgQEluamVjdChUVUlfRFJPUERPV05fT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlEcm9wZG93bk9wdGlvbnMsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpRHJvcGRvd25Ib3ZlckRpcmVjdGl2ZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBob3ZlckRpcmVjdGl2ZTogVHVpRHJvcGRvd25Ib3ZlckRpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHBvc2l0aW9uJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHBvaW50ID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlLnBvc2l0aW9uID09PSAnZml4ZWQnXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHZpc3VhbFZpZXdwb3J0U2VydmljZS5jb3JyZWN0KHBvaW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBwb2ludCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbChkZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbdG9wLCBsZWZ0XSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlKHRvcCwgbGVmdCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVdpZHRoKHRoaXMuYWNjZXNzb3IuZ2V0Q2xpZW50UmVjdCgpLndpZHRoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkhvdmVyZWRDaGFuZ2UoZmFsc2UpO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZENoYW5nZShob3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhvdmVyRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLmhvdmVyRGlyZWN0aXZlLnRvZ2dsZShob3ZlcmVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVG9wRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW92ZUZvY3VzT3V0c2lkZSh0cnVlKTtcbiAgICB9XG5cbiAgICBvbkJvdHRvbUZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdmVGb2N1c091dHNpZGUoZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlKHRvcDogbnVtYmVyLCBsZWZ0OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge3JpZ2h0fSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge21heEhlaWdodCwgb2Zmc2V0fSA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgY29uc3Qge2lubmVySGVpZ2h0fSA9IHRoaXMud2luO1xuICAgICAgICBjb25zdCB7Y2xpZW50UmVjdH0gPSB0aGlzLmhvc3Q7XG4gICAgICAgIGNvbnN0IHtwb3NpdGlvbn0gPSB0aGlzLmRpcmVjdGl2ZTtcbiAgICAgICAgY29uc3QgcmVjdCA9IHRoaXMuYWNjZXNzb3IuZ2V0Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBvZmZzZXRYID0gcG9zaXRpb24gPT09ICdmaXhlZCcgPyAwIDogLWNsaWVudFJlY3QubGVmdDtcbiAgICAgICAgY29uc3Qgb2Zmc2V0WSA9IHBvc2l0aW9uID09PSAnZml4ZWQnID8gMCA6IC1jbGllbnRSZWN0LnRvcDtcblxuICAgICAgICB0b3AgKz0gb2Zmc2V0WTtcbiAgICAgICAgbGVmdCArPSBvZmZzZXRYO1xuXG4gICAgICAgIGNvbnN0IGlzSW50ZXJzZWN0aW5nID1cbiAgICAgICAgICAgIGxlZnQgPCByZWN0LnJpZ2h0ICYmIHJpZ2h0ID4gcmVjdC5sZWZ0ICYmIHRvcCA8IG9mZnNldFkgKyAyICogb2Zmc2V0O1xuICAgICAgICBjb25zdCBhdmFpbGFibGUgPSBpc0ludGVyc2VjdGluZ1xuICAgICAgICAgICAgPyByZWN0LnRvcCAtIDIgKiBvZmZzZXRcbiAgICAgICAgICAgIDogb2Zmc2V0WSArIGlubmVySGVpZ2h0IC0gdG9wIC0gb2Zmc2V0O1xuXG4gICAgICAgIHN0eWxlLnBvc2l0aW9uID0gcG9zaXRpb247XG4gICAgICAgIHN0eWxlLnRvcCA9IHR1aVB4KE1hdGgubWF4KHRvcCwgb2Zmc2V0WSArIG9mZnNldCkpO1xuICAgICAgICBzdHlsZS5sZWZ0ID0gdHVpUHgobGVmdCk7XG4gICAgICAgIHN0eWxlLm1heEhlaWdodCA9IHR1aVB4KE1hdGgubWluKG1heEhlaWdodCwgYXZhaWxhYmxlKSk7XG4gICAgICAgIHN0eWxlLndpZHRoID0gJyc7XG4gICAgICAgIHN0eWxlLm1pbldpZHRoID0gJyc7XG5cbiAgICAgICAgdGhpcy51cGRhdGVXaWR0aChyZWN0LndpZHRoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVdpZHRoKHdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMub3B0aW9ucy5saW1pdFdpZHRoKSB7XG4gICAgICAgICAgICBjYXNlICdtaW4nOlxuICAgICAgICAgICAgICAgIHN0eWxlLm1pbldpZHRoID0gdHVpUHgod2lkdGgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZml4ZWQnOlxuICAgICAgICAgICAgICAgIHN0eWxlLndpZHRoID0gdHVpUHgod2lkdGgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnYXV0byc6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmVGb2N1c091dHNpZGUocHJldmlvdXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5kaXJlY3RpdmUuZWw7XG4gICAgICAgIGNvbnN0IHtvd25lckRvY3VtZW50fSA9IG5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBvd25lckRvY3VtZW50ID8gb3duZXJEb2N1bWVudC5ib2R5IDogbmF0aXZlRWxlbWVudDtcbiAgICAgICAgbGV0IGZvY3VzYWJsZSA9IHR1aUdldENsb3Nlc3RGb2N1c2FibGUoe2luaXRpYWw6IG5hdGl2ZUVsZW1lbnQsIHJvb3QsIHByZXZpb3VzfSk7XG5cbiAgICAgICAgd2hpbGUgKGZvY3VzYWJsZSAhPT0gbnVsbCAmJiBuYXRpdmVFbGVtZW50LmNvbnRhaW5zKGZvY3VzYWJsZSkpIHtcbiAgICAgICAgICAgIGZvY3VzYWJsZSA9IHR1aUdldENsb3Nlc3RGb2N1c2FibGUoe2luaXRpYWw6IGZvY3VzYWJsZSwgcm9vdCwgcHJldmlvdXN9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvY3VzYWJsZT8uZm9jdXMoKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgI2FjdGl2ZVpvbmU9XCJ0dWlBY3RpdmVab25lXCJcbiAgICB0dWlBY3RpdmVab25lXG4gICAgdHVpT3ZlcnNjcm9sbD1cImFsbFwiXG4gICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuICAgIFt0dWlNb2RlXT1cIm51bGxcIlxuICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cIm9uSG92ZXJlZENoYW5nZSgkZXZlbnQpXCJcbj5cbiAgICA8dHVpLXNjcm9sbGJhciBjbGFzcz1cInQtc2Nyb2xsXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAoZm9jdXMpPVwib25Ub3BGb2N1cygpXCJcbiAgICAgICAgPjwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiZGlyZWN0aXZlLmNvbnRlbnQgYXMgdGV4dDsgY29udGV4dDogeyRpbXBsaWNpdDogYWN0aXZlWm9uZX1cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXByaW1pdGl2ZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAoZm9jdXMpPVwib25Cb3R0b21Gb2N1cygpXCJcbiAgICAgICAgPjwvZGl2PlxuICAgIDwvdHVpLXNjcm9sbGJhcj5cbjwvZGl2PlxuIl19
@@ -10,14 +10,14 @@ import { TUI_DROPDOWN_COMPONENT } from './dropdown.providers';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "@taiga-ui/cdk";
12
12
  export class TuiDropdownDirective {
13
- constructor(el, hapica, injector, dropdownService) {
13
+ constructor(el, dropdown, injector, dropdownService) {
14
14
  this.el = el;
15
- this.hapica = hapica;
15
+ this.dropdown = dropdown;
16
16
  this.injector = injector;
17
17
  this.dropdownService = dropdownService;
18
18
  this.dropdownBoxRef = null;
19
19
  this.type = 'dropdown';
20
- this.component = new PolymorpheusComponent(this.hapica, this.injector);
20
+ this.component = new PolymorpheusComponent(this.dropdown, this.injector);
21
21
  }
22
22
  get position() {
23
23
  return tuiCheckFixedPosition(this.el.nativeElement) ? 'fixed' : 'absolute';
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
82
82
  type: Input,
83
83
  args: ['tuiDropdown']
84
84
  }], position: [] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdILFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFFUixLQUFLLEdBSVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdILHdCQUF3QixFQUN4QixPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGlCQUFpQixFQUNqQixZQUFZLEdBR2YsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMscUJBQXFCLEVBQXNCLE1BQU0sMEJBQTBCLENBQUM7QUFFcEYsNENBQTRDO0FBQzVDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBVTVELE1BQU0sT0FBTyxvQkFBb0I7SUFrQjdCLFlBQ2lDLEVBQTJCLEVBQ1AsTUFBcUIsRUFDbkMsUUFBa0IsRUFFcEMsZUFBeUM7UUFKN0IsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFDUCxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ25DLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFcEMsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBWDlELG1CQUFjLEdBQWlDLElBQUksQ0FBQztRQUUzQyxTQUFJLEdBQUcsVUFBVSxDQUFDO1FBRWxCLGNBQVMsR0FBRyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBUXhFLENBQUM7SUFHSixJQUFJLFFBQVE7UUFDUixPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQy9FLENBQUM7SUFFRCxrQkFBa0I7O1FBQ2QsTUFBQSxJQUFJLENBQUMsY0FBYywwQ0FBRSxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2RCxNQUFBLElBQUksQ0FBQyxjQUFjLDBDQUFFLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxhQUFhO1FBQ1QsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNLENBQUMsSUFBYTtRQUNoQixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNsRTthQUFNLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7U0FDOUI7SUFDTCxDQUFDOztrSEF6RFEsb0JBQW9CLGtCQW1CakIsVUFBVSxhQUNWLHNCQUFzQixhQUN0QixRQUFRLGFBQ1Isd0JBQXdCO3NHQXRCM0Isb0JBQW9CLDJHQUxsQjtRQUNQLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDO1FBQ3ZDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQztLQUNyQztBQTZCRDtJQURDLE9BQU87b0RBR1A7NEZBN0JRLG9CQUFvQjtrQkFSaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUNBQWlDO29CQUMzQyxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsU0FBUyxFQUFFO3dCQUNQLGlCQUFpQixzQkFBc0I7d0JBQ3ZDLFlBQVksc0JBQXNCO3FCQUNyQztpQkFDSjs7MEJBb0JRLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDN0IsTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLHdCQUF3Qjs0Q0FacEMsT0FBTztzQkFETixLQUFLO3VCQUFDLGFBQWE7Z0JBa0JoQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIENvbXBvbmVudFJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSU5KRUNUT1IsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBUeXBlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIFR1aURyb3Bkb3duUG9ydGFsU2VydmljZSxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgdHVpQXNSZWN0QWNjZXNzb3IsXG4gICAgdHVpQXNWZWhpY2xlLFxuICAgIFR1aVJlY3RBY2Nlc3NvcixcbiAgICBUdWlWZWhpY2xlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hYnN0cmFjdCc7XG5pbXBvcnQge1R1aVBvcnRhbEl0ZW19IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHt0dWlDaGVja0ZpeGVkUG9zaXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29tcG9uZW50LCBQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG4vLyBUT0RPOiBmaW5kIHRoZSBiZXN0IHdheSBmb3IgcHJldmVudCBjeWNsZVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHtUVUlfRFJPUERPV05fQ09NUE9ORU5UfSBmcm9tICcuL2Ryb3Bkb3duLnByb3ZpZGVycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aURyb3Bkb3duXTpub3QobmctY29udGFpbmVyKScsXG4gICAgZXhwb3J0QXM6ICd0dWlEcm9wZG93bicsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzUmVjdEFjY2Vzc29yKFR1aURyb3Bkb3duRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpQXNWZWhpY2xlKFR1aURyb3Bkb3duRGlyZWN0aXZlKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93bkRpcmVjdGl2ZVxuICAgIGltcGxlbWVudHNcbiAgICAgICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICAgICAgT25EZXN0cm95LFxuICAgICAgICBPbkNoYW5nZXMsXG4gICAgICAgIFR1aVBvcnRhbEl0ZW0sXG4gICAgICAgIFR1aVJlY3RBY2Nlc3NvcixcbiAgICAgICAgVHVpVmVoaWNsZVxue1xuICAgIEBJbnB1dCgndHVpRHJvcGRvd24nKVxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPj47XG5cbiAgICBkcm9wZG93bkJveFJlZjogQ29tcG9uZW50UmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XG5cbiAgICByZWFkb25seSB0eXBlID0gJ2Ryb3Bkb3duJztcblxuICAgIHJlYWRvbmx5IGNvbXBvbmVudCA9IG5ldyBQb2x5bW9ycGhldXNDb21wb25lbnQodGhpcy5oYXBpY2EsIHRoaXMuaW5qZWN0b3IpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9EUk9QRE9XTl9DT01QT05FTlQpIHByaXZhdGUgcmVhZG9ubHkgaGFwaWNhOiBUeXBlPHVua25vd24+LFxuICAgICAgICBASW5qZWN0KElOSkVDVE9SKSBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgQEluamVjdChUdWlEcm9wZG93blBvcnRhbFNlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25TZXJ2aWNlOiBUdWlEcm9wZG93blBvcnRhbFNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgcG9zaXRpb24oKTogJ2Fic29sdXRlJyB8ICdmaXhlZCcge1xuICAgICAgICByZXR1cm4gdHVpQ2hlY2tGaXhlZFBvc2l0aW9uKHRoaXMuZWwubmF0aXZlRWxlbWVudCkgPyAnZml4ZWQnIDogJ2Fic29sdXRlJztcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25Cb3hSZWY/LmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5kcm9wZG93bkJveFJlZj8uY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jb250ZW50KSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZShmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b2dnbGUoZmFsc2UpO1xuICAgIH1cblxuICAgIGdldENsaWVudFJlY3QoKTogQ2xpZW50UmVjdCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlKHNob3c6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHNob3cgJiYgdGhpcy5jb250ZW50ICYmICF0aGlzLmRyb3Bkb3duQm94UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duQm94UmVmID0gdGhpcy5kcm9wZG93blNlcnZpY2UuYWRkKHRoaXMuY29tcG9uZW50KTtcbiAgICAgICAgfSBlbHNlIGlmICghc2hvdyAmJiB0aGlzLmRyb3Bkb3duQm94UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duU2VydmljZS5yZW1vdmUodGhpcy5kcm9wZG93bkJveFJlZik7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duQm94UmVmID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdILFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFFUixLQUFLLEdBSVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdILHdCQUF3QixFQUN4QixPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGlCQUFpQixFQUNqQixZQUFZLEdBR2YsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMscUJBQXFCLEVBQXNCLE1BQU0sMEJBQTBCLENBQUM7QUFFcEYsNENBQTRDO0FBQzVDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBVTVELE1BQU0sT0FBTyxvQkFBb0I7SUFrQjdCLFlBQ2lDLEVBQTJCLEVBQ1AsUUFBdUIsRUFDckMsUUFBa0IsRUFFcEMsZUFBeUM7UUFKN0IsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFDUCxhQUFRLEdBQVIsUUFBUSxDQUFlO1FBQ3JDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFcEMsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBWDlELG1CQUFjLEdBQWlDLElBQUksQ0FBQztRQUUzQyxTQUFJLEdBQUcsVUFBVSxDQUFDO1FBRWxCLGNBQVMsR0FBRyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBUTFFLENBQUM7SUFHSixJQUFJLFFBQVE7UUFDUixPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQy9FLENBQUM7SUFFRCxrQkFBa0I7O1FBQ2QsTUFBQSxJQUFJLENBQUMsY0FBYywwQ0FBRSxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2RCxNQUFBLElBQUksQ0FBQyxjQUFjLDBDQUFFLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxhQUFhO1FBQ1QsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNLENBQUMsSUFBYTtRQUNoQixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNsRTthQUFNLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7U0FDOUI7SUFDTCxDQUFDOztrSEF6RFEsb0JBQW9CLGtCQW1CakIsVUFBVSxhQUNWLHNCQUFzQixhQUN0QixRQUFRLGFBQ1Isd0JBQXdCO3NHQXRCM0Isb0JBQW9CLDJHQUxsQjtRQUNQLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDO1FBQ3ZDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQztLQUNyQztBQTZCRDtJQURDLE9BQU87b0RBR1A7NEZBN0JRLG9CQUFvQjtrQkFSaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUNBQWlDO29CQUMzQyxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsU0FBUyxFQUFFO3dCQUNQLGlCQUFpQixzQkFBc0I7d0JBQ3ZDLFlBQVksc0JBQXNCO3FCQUNyQztpQkFDSjs7MEJBb0JRLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDN0IsTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLHdCQUF3Qjs0Q0FacEMsT0FBTztzQkFETixLQUFLO3VCQUFDLGFBQWE7Z0JBa0JoQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIENvbXBvbmVudFJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSU5KRUNUT1IsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBUeXBlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIFR1aURyb3Bkb3duUG9ydGFsU2VydmljZSxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgdHVpQXNSZWN0QWNjZXNzb3IsXG4gICAgdHVpQXNWZWhpY2xlLFxuICAgIFR1aVJlY3RBY2Nlc3NvcixcbiAgICBUdWlWZWhpY2xlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hYnN0cmFjdCc7XG5pbXBvcnQge1R1aVBvcnRhbEl0ZW19IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHt0dWlDaGVja0ZpeGVkUG9zaXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29tcG9uZW50LCBQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG4vLyBUT0RPOiBmaW5kIHRoZSBiZXN0IHdheSBmb3IgcHJldmVudCBjeWNsZVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHtUVUlfRFJPUERPV05fQ09NUE9ORU5UfSBmcm9tICcuL2Ryb3Bkb3duLnByb3ZpZGVycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aURyb3Bkb3duXTpub3QobmctY29udGFpbmVyKScsXG4gICAgZXhwb3J0QXM6ICd0dWlEcm9wZG93bicsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzUmVjdEFjY2Vzc29yKFR1aURyb3Bkb3duRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpQXNWZWhpY2xlKFR1aURyb3Bkb3duRGlyZWN0aXZlKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93bkRpcmVjdGl2ZVxuICAgIGltcGxlbWVudHNcbiAgICAgICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICAgICAgT25EZXN0cm95LFxuICAgICAgICBPbkNoYW5nZXMsXG4gICAgICAgIFR1aVBvcnRhbEl0ZW0sXG4gICAgICAgIFR1aVJlY3RBY2Nlc3NvcixcbiAgICAgICAgVHVpVmVoaWNsZVxue1xuICAgIEBJbnB1dCgndHVpRHJvcGRvd24nKVxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPj47XG5cbiAgICBkcm9wZG93bkJveFJlZjogQ29tcG9uZW50UmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XG5cbiAgICByZWFkb25seSB0eXBlID0gJ2Ryb3Bkb3duJztcblxuICAgIHJlYWRvbmx5IGNvbXBvbmVudCA9IG5ldyBQb2x5bW9ycGhldXNDb21wb25lbnQodGhpcy5kcm9wZG93biwgdGhpcy5pbmplY3Rvcik7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSByZWFkb25seSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RST1BET1dOX0NPTVBPTkVOVCkgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93bjogVHlwZTx1bmtub3duPixcbiAgICAgICAgQEluamVjdChJTkpFQ1RPUikgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIEBJbmplY3QoVHVpRHJvcGRvd25Qb3J0YWxTZXJ2aWNlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duU2VydmljZTogVHVpRHJvcGRvd25Qb3J0YWxTZXJ2aWNlLFxuICAgICkge31cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IHBvc2l0aW9uKCk6ICdhYnNvbHV0ZScgfCAnZml4ZWQnIHtcbiAgICAgICAgcmV0dXJuIHR1aUNoZWNrRml4ZWRQb3NpdGlvbih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpID8gJ2ZpeGVkJyA6ICdhYnNvbHV0ZSc7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRyb3Bkb3duQm94UmVmPy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuZHJvcGRvd25Cb3hSZWY/LmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29udGVudCkge1xuICAgICAgICAgICAgdGhpcy50b2dnbGUoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9nZ2xlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXRDbGllbnRSZWN0KCk6IENsaWVudFJlY3Qge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIH1cblxuICAgIHRvZ2dsZShzaG93OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChzaG93ICYmIHRoaXMuY29udGVudCAmJiAhdGhpcy5kcm9wZG93bkJveFJlZikge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkJveFJlZiA9IHRoaXMuZHJvcGRvd25TZXJ2aWNlLmFkZCh0aGlzLmNvbXBvbmVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXNob3cgJiYgdGhpcy5kcm9wZG93bkJveFJlZikge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93blNlcnZpY2UucmVtb3ZlKHRoaXMuZHJvcGRvd25Cb3hSZWYpO1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkJveFJlZiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -20,19 +20,17 @@ import * as i4 from "./hint-hover.directive";
20
20
  import * as i5 from "@taiga-ui/core/directives/mode";
21
21
  import * as i6 from "@taiga-ui/core/services";
22
22
  export class TuiHintComponent {
23
- constructor(hovered$, position$, destroy$, accessor, el, options, polymorpheus, hover, pointer, mode, visualViewportService) {
23
+ constructor(hovered$, position$, destroy$, animation, pointer, accessor, el, polymorpheus, hover, mode, visualViewportService) {
24
24
  var _a;
25
+ this.animation = animation;
26
+ this.pointer = pointer;
25
27
  this.accessor = accessor;
26
28
  this.el = el;
27
- this.options = options;
28
29
  this.polymorpheus = polymorpheus;
29
30
  this.hover = hover;
30
- this.pointer = pointer;
31
31
  this.mode = mode;
32
32
  this.visualViewportService = visualViewportService;
33
- this.animation = Object.assign({ value: '' }, this.options);
34
33
  this.appearance = this.polymorpheus.$implicit.appearance || ((_a = this.mode) === null || _a === void 0 ? void 0 : _a.mode);
35
- this.untouchable = !!this.pointer;
36
34
  position$
37
35
  .pipe(map(point => this.visualViewportService.correct(point)), takeUntil(destroy$))
38
36
  .subscribe(([top, left]) => {
@@ -67,8 +65,8 @@ export class TuiHintComponent {
67
65
  style.setProperty('--left', tuiPx(tuiClamp(beakLeft, 0.5, width - 1)));
68
66
  }
69
67
  }
70
- TuiHintComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiHintComponent, deps: [{ token: TuiHoveredService }, { token: TuiPositionService }, { token: TuiDestroyService, self: true }, { token: TuiRectAccessor }, { token: ElementRef }, { token: TUI_ANIMATION_OPTIONS }, { token: POLYMORPHEUS_CONTEXT }, { token: TuiHintHoverDirective }, { token: TuiHintPointerDirective, optional: true }, { token: TuiModeDirective, optional: true }, { token: TuiVisualViewportService }], target: i0.ɵɵFactoryTarget.Component });
71
- TuiHintComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiHintComponent, selector: "tui-hint", host: { listeners: { "document:click": "onClick($event.target)" }, properties: { "@tuiFadeIn": "this.animation", "attr.data-appearance": "this.appearance", "class._untouchable": "this.untouchable" } }, providers: [
68
+ TuiHintComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiHintComponent, deps: [{ token: TuiHoveredService }, { token: TuiPositionService }, { token: TuiDestroyService, self: true }, { token: TUI_ANIMATION_OPTIONS }, { token: TuiHintPointerDirective, optional: true }, { token: TuiRectAccessor }, { token: ElementRef }, { token: POLYMORPHEUS_CONTEXT }, { token: TuiHintHoverDirective }, { token: TuiModeDirective, optional: true }, { token: TuiVisualViewportService }], target: i0.ɵɵFactoryTarget.Component });
69
+ TuiHintComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiHintComponent, selector: "tui-hint", host: { listeners: { "document:click": "onClick($event.target)" }, properties: { "@tuiFadeIn": "animation", "class._untouchable": "pointer", "attr.data-appearance": "this.appearance" } }, providers: [
72
70
  TuiDestroyService,
73
71
  TuiPositionService,
74
72
  TuiHoveredService,
@@ -103,6 +101,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
103
101
  tuiRectAccessorFor('hint', TuiHintDirective),
104
102
  ],
105
103
  animations: [tuiFadeIn],
104
+ host: {
105
+ '[@tuiFadeIn]': 'animation',
106
+ '[class._untouchable]': 'pointer',
107
+ },
106
108
  }]
107
109
  }], ctorParameters: function () { return [{ type: i2.Observable, decorators: [{
108
110
  type: Inject,
@@ -115,26 +117,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
115
117
  }, {
116
118
  type: Inject,
117
119
  args: [TuiDestroyService]
120
+ }] }, { type: undefined, decorators: [{
121
+ type: Inject,
122
+ args: [TUI_ANIMATION_OPTIONS]
123
+ }] }, { type: undefined, decorators: [{
124
+ type: Optional
125
+ }, {
126
+ type: Inject,
127
+ args: [TuiHintPointerDirective]
118
128
  }] }, { type: i3.TuiRectAccessor, decorators: [{
119
129
  type: Inject,
120
130
  args: [TuiRectAccessor]
121
131
  }] }, { type: i0.ElementRef, decorators: [{
122
132
  type: Inject,
123
133
  args: [ElementRef]
124
- }] }, { type: undefined, decorators: [{
125
- type: Inject,
126
- args: [TUI_ANIMATION_OPTIONS]
127
134
  }] }, { type: undefined, decorators: [{
128
135
  type: Inject,
129
136
  args: [POLYMORPHEUS_CONTEXT]
130
137
  }] }, { type: i4.TuiHintHoverDirective, decorators: [{
131
138
  type: Inject,
132
139
  args: [TuiHintHoverDirective]
133
- }] }, { type: undefined, decorators: [{
134
- type: Optional
135
- }, {
136
- type: Inject,
137
- args: [TuiHintPointerDirective]
138
140
  }] }, { type: i5.TuiModeDirective, decorators: [{
139
141
  type: Optional
140
142
  }, {
@@ -143,17 +145,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
143
145
  }] }, { type: i6.TuiVisualViewportService, decorators: [{
144
146
  type: Inject,
145
147
  args: [TuiVisualViewportService]
146
- }] }]; }, propDecorators: { animation: [{
147
- type: HostBinding,
148
- args: ['@tuiFadeIn']
149
- }], appearance: [{
148
+ }] }]; }, propDecorators: { appearance: [{
150
149
  type: HostBinding,
151
150
  args: ['attr.data-appearance']
152
- }], untouchable: [{
153
- type: HostBinding,
154
- args: ['class._untouchable']
155
151
  }], onClick: [{
156
152
  type: HostListener,
157
153
  args: ['document:click', ['$event.target']]
158
154
  }], update: [] } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvaGludC9oaW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFFBQVEsRUFFUixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHNCQUFzQixFQUN0QixlQUFlLEVBQ2Ysa0JBQWtCLEdBQ3JCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTVELE9BQU8sRUFBQyxvQkFBb0IsRUFBc0IsTUFBTSwwQkFBMEIsQ0FBQztBQUVuRixPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUFxQmpFLE1BQU0sT0FBTyxnQkFBZ0I7SUFVekIs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QyxTQUFTLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsc0JBQXNCLENBQUMsTUFBTSxDQUFDO3dCQUM5QixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUM7cUJBQy9DO29CQUNELFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQztpQkFDMUI7OzBCQVlRLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUN6QixJQUFJOzswQkFBSSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ2hDLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMscUJBQXFCOzswQkFDNUIsTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUUzQixNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQzVCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsdUJBQXVCOzswQkFDMUMsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUV2QixNQUFNOzJCQUFDLHdCQUF3Qjs0Q0F0QjNCLFNBQVM7c0JBRGpCLFdBQVc7dUJBQUMsWUFBWTtnQkFJaEIsVUFBVTtzQkFEbEIsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBSTFCLFdBQVc7c0JBRG5CLFdBQVc7dUJBQUMsb0JBQW9CO2dCQXlDakMsT0FBTztzQkFETixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDO2dCQVd6QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBbmltYXRpb25PcHRpb25zfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgdHVpQ2xhbXAsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICBUdWlIb3ZlcmVkU2VydmljZSxcbiAgICB0dWlQdXJlLFxuICAgIHR1aVB4LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgdHVpUG9zaXRpb25BY2Nlc3NvckZvcixcbiAgICBUdWlSZWN0QWNjZXNzb3IsXG4gICAgdHVpUmVjdEFjY2Vzc29yRm9yLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hYnN0cmFjdCc7XG5pbXBvcnQge3R1aUZhZGVJbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1R1aU1vZGVEaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvbW9kZSc7XG5pbXBvcnQge1R1aVBvcnRhbEl0ZW19IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUdWlQb3NpdGlvblNlcnZpY2UsIFR1aVZpc3VhbFZpZXdwb3J0U2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvc2VydmljZXMnO1xuaW1wb3J0IHtUVUlfQU5JTUFUSU9OX09QVElPTlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aVBvaW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge1BPTFlNT1JQSEVVU19DT05URVhULCBQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHtUdWlIaW50RGlyZWN0aXZlfSBmcm9tICcuL2hpbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpSGludEhvdmVyRGlyZWN0aXZlfSBmcm9tICcuL2hpbnQtaG92ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpSGludFBvaW50ZXJEaXJlY3RpdmV9IGZyb20gJy4vaGludC1wb2ludGVyLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWhpbnQnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwidGV4dFwiXG4gICAgICAgID48L3NwYW4+XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFsnLi9oaW50LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIFR1aVBvc2l0aW9uU2VydmljZSxcbiAgICAgICAgVHVpSG92ZXJlZFNlcnZpY2UsXG4gICAgICAgIHR1aVBvc2l0aW9uQWNjZXNzb3JGb3IoJ2hpbnQnKSxcbiAgICAgICAgdHVpUmVjdEFjY2Vzc29yRm9yKCdoaW50JywgVHVpSGludERpcmVjdGl2ZSksXG4gICAgXSxcbiAgICBhbmltYXRpb25zOiBbdHVpRmFkZUluXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSGludENvbXBvbmVudDxDID0gYW55PiB7XG4gICAgQEhvc3RCaW5kaW5nKCdAdHVpRmFkZUluJylcbiAgICByZWFkb25seSBhbmltYXRpb24gPSB7dmFsdWU6ICcnLCAuLi50aGlzLm9wdGlvbnN9IGFzIGNvbnN0O1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtYXBwZWFyYW5jZScpXG4gICAgcmVhZG9ubHkgYXBwZWFyYW5jZSA9IHRoaXMucG9seW1vcnBoZXVzLiRpbXBsaWNpdC5hcHBlYXJhbmNlIHx8IHRoaXMubW9kZT8ubW9kZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX3VudG91Y2hhYmxlJylcbiAgICByZWFkb25seSB1bnRvdWNoYWJsZSA9ICEhdGhpcy5wb2ludGVyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpSG92ZXJlZFNlcnZpY2UpIGhvdmVyZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICAgICAgICBASW5qZWN0KFR1aVBvc2l0aW9uU2VydmljZSkgcG9zaXRpb24kOiBPYnNlcnZhYmxlPFR1aVBvaW50PixcbiAgICAgICAgQFNlbGYoKSBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICAgICAgQEluamVjdChUdWlSZWN0QWNjZXNzb3IpIHByb3RlY3RlZCByZWFkb25seSBhY2Nlc3NvcjogVHVpUmVjdEFjY2Vzc29yLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9BTklNQVRJT05fT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBBbmltYXRpb25PcHRpb25zLFxuICAgICAgICBASW5qZWN0KFBPTFlNT1JQSEVVU19DT05URVhUKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBvbHltb3JwaGV1czogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlQb3J0YWxJdGVtPEM+PixcbiAgICAgICAgQEluamVjdChUdWlIaW50SG92ZXJEaXJlY3RpdmUpIHByaXZhdGUgcmVhZG9ubHkgaG92ZXI6IFR1aUhpbnRIb3ZlckRpcmVjdGl2ZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChUdWlIaW50UG9pbnRlckRpcmVjdGl2ZSkgcHJpdmF0ZSByZWFkb25seSBwb2ludGVyOiB1bmtub3duLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aU1vZGVEaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kZTogVHVpTW9kZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVHVpVmlzdWFsVmlld3BvcnRTZXJ2aWNlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHZpc3VhbFZpZXdwb3J0U2VydmljZTogVHVpVmlzdWFsVmlld3BvcnRTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBwb3NpdGlvbiRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChwb2ludCA9PiB0aGlzLnZpc3VhbFZpZXdwb3J0U2VydmljZS5jb3JyZWN0KHBvaW50KSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKFt0b3AsIGxlZnRdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGUodG9wLCBsZWZ0KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGhvdmVyZWQkLnBpcGUodGFrZVVudGlsKGRlc3Ryb3kkKSkuc3Vic2NyaWJlKGhvdmVyID0+IHRoaXMuaG92ZXIudG9nZ2xlKGhvdmVyKSk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRlbnQoKTogUG9seW1vcnBoZXVzQ29udGVudDxDPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvbHltb3JwaGV1cy4kaW1wbGljaXQuY29udGVudDtcbiAgICB9XG5cbiAgICBnZXQgY29udGV4dCgpOiBDIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9seW1vcnBoZXVzLiRpbXBsaWNpdC5jb250ZXh0O1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gICAgb25DbGljayh0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSAmJlxuICAgICAgICAgICAgIXRoaXMuaG92ZXIuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5ob3Zlci50b2dnbGUoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIHVwZGF0ZSh0b3A6IG51bWJlciwgbGVmdDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtoZWlnaHQsIHdpZHRofSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgcmVjdCA9IHRoaXMuYWNjZXNzb3IuZ2V0Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBzYWZlTGVmdCA9IE1hdGgubWF4KGxlZnQsIDQpO1xuICAgICAgICBjb25zdCBbYmVha1RvcCwgYmVha0xlZnRdID0gdGhpcy52aXN1YWxWaWV3cG9ydFNlcnZpY2UuY29ycmVjdChbXG4gICAgICAgICAgICByZWN0LnRvcCArIHJlY3QuaGVpZ2h0IC8gMiAtIHRvcCxcbiAgICAgICAgICAgIHJlY3QubGVmdCArIHJlY3Qud2lkdGggLyAyIC0gc2FmZUxlZnQsXG4gICAgICAgIF0pO1xuXG4gICAgICAgIHN0eWxlLnRvcCA9IHR1aVB4KHRvcCk7XG4gICAgICAgIHN0eWxlLmxlZnQgPSB0dWlQeChzYWZlTGVmdCk7XG4gICAgICAgIHN0eWxlLnNldFByb3BlcnR5KCctLXRvcCcsIHR1aVB4KHR1aUNsYW1wKGJlYWtUb3AsIDAuNSwgaGVpZ2h0IC0gMSkpKTtcbiAgICAgICAgc3R5bGUuc2V0UHJvcGVydHkoJy0tbGVmdCcsIHR1aVB4KHR1aUNsYW1wKGJlYWtMZWZ0LCAwLjUsIHdpZHRoIC0gMSkpKTtcbiAgICB9XG59XG4iXX0=
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvaGludC9oaW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFFBQVEsRUFFUixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHNCQUFzQixFQUN0QixlQUFlLEVBQ2Ysa0JBQWtCLEdBQ3JCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTVELE9BQU8sRUFBQyxvQkFBb0IsRUFBc0IsTUFBTSwwQkFBMEIsQ0FBQztBQUVuRixPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUF5QmpFLE1BQU0sT0FBTyxnQkFBZ0I7SUFJekIs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QWdCLENBQUM7cUJBQy9DO29CQUNELFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQztvQkFDdkIsSUFBSSxFQUFFO3dCQUNGLGNBQWMsRUFBRSxXQUFXO3dCQUMzQixzQkFBc0IsRUFBRSxTQUFTO3FCQUNwQztpQkFDSjs7MEJBTVEsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLElBQUk7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDaEMsTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUM1QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHVCQUF1Qjs7MEJBQzFDLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsb0JBQW9COzswQkFFM0IsTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUM1QixRQUFROzswQkFDUixNQUFNOzJCQUFDLGdCQUFnQjs7MEJBRXZCLE1BQU07MkJBQUMsd0JBQXdCOzRDQWhCM0IsVUFBVTtzQkFEbEIsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBeUNuQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBV3pDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FuaW1hdGlvbk9wdGlvbnN9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICB0dWlDbGFtcCxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIFR1aUhvdmVyZWRTZXJ2aWNlLFxuICAgIHR1aVB1cmUsXG4gICAgdHVpUHgsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICB0dWlQb3NpdGlvbkFjY2Vzc29yRm9yLFxuICAgIFR1aVJlY3RBY2Nlc3NvcixcbiAgICB0dWlSZWN0QWNjZXNzb3JGb3IsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0JztcbmltcG9ydCB7dHVpRmFkZUlufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hbmltYXRpb25zJztcbmltcG9ydCB7VHVpTW9kZURpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9tb2RlJztcbmltcG9ydCB7VHVpUG9ydGFsSXRlbX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1R1aVBvc2l0aW9uU2VydmljZSwgVHVpVmlzdWFsVmlld3BvcnRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05fT1BUSU9OU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpUG9pbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7UE9MWU1PUlBIRVVTX0NPTlRFWFQsIFBvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQge1R1aUhpbnREaXJlY3RpdmV9IGZyb20gJy4vaGludC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlIaW50SG92ZXJEaXJlY3RpdmV9IGZyb20gJy4vaGludC1ob3Zlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlIaW50UG9pbnRlckRpcmVjdGl2ZX0gZnJvbSAnLi9oaW50LXBvaW50ZXIuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaGludCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJ0ZXh0XCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICBgLFxuICAgIHN0eWxlVXJsczogWycuL2hpbnQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgVHVpUG9zaXRpb25TZXJ2aWNlLFxuICAgICAgICBUdWlIb3ZlcmVkU2VydmljZSxcbiAgICAgICAgdHVpUG9zaXRpb25BY2Nlc3NvckZvcignaGludCcpLFxuICAgICAgICB0dWlSZWN0QWNjZXNzb3JGb3IoJ2hpbnQnLCBUdWlIaW50RGlyZWN0aXZlKSxcbiAgICBdLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlGYWRlSW5dLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tAdHVpRmFkZUluXSc6ICdhbmltYXRpb24nLFxuICAgICAgICAnW2NsYXNzLl91bnRvdWNoYWJsZV0nOiAncG9pbnRlcicsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSGludENvbXBvbmVudDxDID0gYW55PiB7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtYXBwZWFyYW5jZScpXG4gICAgcmVhZG9ubHkgYXBwZWFyYW5jZSA9IHRoaXMucG9seW1vcnBoZXVzLiRpbXBsaWNpdC5hcHBlYXJhbmNlIHx8IHRoaXMubW9kZT8ubW9kZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aUhvdmVyZWRTZXJ2aWNlKSBob3ZlcmVkJDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICAgICAgQEluamVjdChUdWlQb3NpdGlvblNlcnZpY2UpIHBvc2l0aW9uJDogT2JzZXJ2YWJsZTxUdWlQb2ludD4sXG4gICAgICAgIEBTZWxmKCkgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgZGVzdHJveSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0FOSU1BVElPTl9PUFRJT05TKSByZWFkb25seSBhbmltYXRpb246IEFuaW1hdGlvbk9wdGlvbnMsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVHVpSGludFBvaW50ZXJEaXJlY3RpdmUpIHJlYWRvbmx5IHBvaW50ZXI6IHVua25vd24sXG4gICAgICAgIEBJbmplY3QoVHVpUmVjdEFjY2Vzc29yKSBwcm90ZWN0ZWQgcmVhZG9ubHkgYWNjZXNzb3I6IFR1aVJlY3RBY2Nlc3NvcixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChQT0xZTU9SUEhFVVNfQ09OVEVYVClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwb2x5bW9ycGhldXM6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpUG9ydGFsSXRlbTxDPj4sXG4gICAgICAgIEBJbmplY3QoVHVpSGludEhvdmVyRGlyZWN0aXZlKSBwcml2YXRlIHJlYWRvbmx5IGhvdmVyOiBUdWlIaW50SG92ZXJEaXJlY3RpdmUsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTW9kZURpcmVjdGl2ZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RlOiBUdWlNb2RlRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUdWlWaXN1YWxWaWV3cG9ydFNlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdmlzdWFsVmlld3BvcnRTZXJ2aWNlOiBUdWlWaXN1YWxWaWV3cG9ydFNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHBvc2l0aW9uJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHBvaW50ID0+IHRoaXMudmlzdWFsVmlld3BvcnRTZXJ2aWNlLmNvcnJlY3QocG9pbnQpKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwoZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW3RvcCwgbGVmdF0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZSh0b3AsIGxlZnQpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgaG92ZXJlZCQucGlwZSh0YWtlVW50aWwoZGVzdHJveSQpKS5zdWJzY3JpYmUoaG92ZXIgPT4gdGhpcy5ob3Zlci50b2dnbGUoaG92ZXIpKTtcbiAgICB9XG5cbiAgICBnZXQgY29udGVudCgpOiBQb2x5bW9ycGhldXNDb250ZW50PEM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9seW1vcnBoZXVzLiRpbXBsaWNpdC5jb250ZW50O1xuICAgIH1cblxuICAgIGdldCBjb250ZXh0KCk6IEMgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5wb2x5bW9ycGhldXMuJGltcGxpY2l0LmNvbnRleHQ7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcbiAgICBvbkNsaWNrKHRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpICYmXG4gICAgICAgICAgICAhdGhpcy5ob3Zlci5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmhvdmVyLnRvZ2dsZShmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgdXBkYXRlKHRvcDogbnVtYmVyLCBsZWZ0OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2hlaWdodCwgd2lkdGh9ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB7c3R5bGV9ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCByZWN0ID0gdGhpcy5hY2Nlc3Nvci5nZXRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHNhZmVMZWZ0ID0gTWF0aC5tYXgobGVmdCwgNCk7XG4gICAgICAgIGNvbnN0IFtiZWFrVG9wLCBiZWFrTGVmdF0gPSB0aGlzLnZpc3VhbFZpZXdwb3J0U2VydmljZS5jb3JyZWN0KFtcbiAgICAgICAgICAgIHJlY3QudG9wICsgcmVjdC5oZWlnaHQgLyAyIC0gdG9wLFxuICAgICAgICAgICAgcmVjdC5sZWZ0ICsgcmVjdC53aWR0aCAvIDIgLSBzYWZlTGVmdCxcbiAgICAgICAgXSk7XG5cbiAgICAgICAgc3R5bGUudG9wID0gdHVpUHgodG9wKTtcbiAgICAgICAgc3R5bGUubGVmdCA9IHR1aVB4KHNhZmVMZWZ0KTtcbiAgICAgICAgc3R5bGUuc2V0UHJvcGVydHkoJy0tdG9wJywgdHVpUHgodHVpQ2xhbXAoYmVha1RvcCwgMC41LCBoZWlnaHQgLSAxKSkpO1xuICAgICAgICBzdHlsZS5zZXRQcm9wZXJ0eSgnLS1sZWZ0JywgdHVpUHgodHVpQ2xhbXAoYmVha0xlZnQsIDAuNSwgd2lkdGggLSAxKSkpO1xuICAgIH1cbn1cbiJdfQ==