@taiga-ui/kit 3.15.0 → 3.16.0-dev.main-e7166ca

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 (176) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +3 -3
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-avatar.umd.js +2 -2
  4. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-badge.umd.js +1 -1
  6. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +1 -1
  8. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-carousel.umd.js +4 -4
  10. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-combo-box.umd.js +2 -1
  12. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-elastic-container.umd.js +131 -0
  14. package/bundles/taiga-ui-kit-components-elastic-container.umd.js.map +1 -0
  15. package/bundles/taiga-ui-kit-components-files.umd.js +29 -15
  16. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-input-copy.umd.js +1 -1
  18. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +1 -1
  20. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-input-date.umd.js +8 -0
  22. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +4 -2
  24. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
  26. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-input-tag.umd.js +3 -3
  28. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-items-with-more.umd.js +3 -3
  30. package/bundles/taiga-ui-kit-components-items-with-more.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +18 -21
  32. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +2 -2
  34. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-multi-select.umd.js +20 -16
  36. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +1 -1
  38. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-push.umd.js +2 -2
  40. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-select-option.umd.js +29 -10
  42. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-slider.umd.js +2 -2
  44. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-stepper.umd.js +2 -2
  46. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-tabs.umd.js +15 -5
  48. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-tree.umd.js +3 -3
  50. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components.umd.js +10 -4
  52. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  53. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js +7 -7
  54. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +1 -1
  56. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  57. package/components/elastic-container/elastic-container.component.d.ts +6 -0
  58. package/components/elastic-container/elastic-container.directive.d.ts +12 -0
  59. package/components/elastic-container/elastic-container.module.d.ts +8 -0
  60. package/components/elastic-container/index.d.ts +3 -0
  61. package/components/elastic-container/package.json +10 -0
  62. package/components/elastic-container/taiga-ui-kit-components-elastic-container.d.ts +5 -0
  63. package/components/files/file/file-options.d.ts +6 -0
  64. package/components/files/file/file.component.d.ts +7 -5
  65. package/components/files/index.d.ts +1 -0
  66. package/components/index.d.ts +1 -0
  67. package/components/input-date/input-date.component.d.ts +5 -0
  68. package/components/items-with-more/items-with-more.service.d.ts +1 -1
  69. package/components/line-clamp/line-clamp.component.d.ts +3 -2
  70. package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +1 -1
  71. package/components/multi-select/multi-select.component.d.ts +2 -1
  72. package/components/multi-select-option/multi-select-option.component.d.ts +1 -1
  73. package/components/select-option/select-option.component.d.ts +9 -5
  74. package/components/tabs/tabs.directive.d.ts +1 -1
  75. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +2 -2
  76. package/esm2015/components/accordion/accordion.component.js +5 -5
  77. package/esm2015/components/avatar/avatar.component.js +4 -4
  78. package/esm2015/components/badge/badge.component.js +2 -2
  79. package/esm2015/components/calendar-month/calendar-month.component.js +2 -2
  80. package/esm2015/components/carousel/carousel.component.js +4 -4
  81. package/esm2015/components/carousel/carousel.directive.js +4 -4
  82. package/esm2015/components/combo-box/combo-box.component.js +3 -2
  83. package/esm2015/components/elastic-container/elastic-container.component.js +23 -0
  84. package/esm2015/components/elastic-container/elastic-container.directive.js +58 -0
  85. package/esm2015/components/elastic-container/elastic-container.module.js +17 -0
  86. package/esm2015/components/elastic-container/index.js +4 -0
  87. package/esm2015/components/elastic-container/taiga-ui-kit-components-elastic-container.js +5 -0
  88. package/esm2015/components/files/file/file-options.js +9 -0
  89. package/esm2015/components/files/file/file.component.js +13 -10
  90. package/esm2015/components/files/files.component.js +2 -2
  91. package/esm2015/components/files/index.js +2 -1
  92. package/esm2015/components/index.js +2 -1
  93. package/esm2015/components/input-copy/input-copy.component.js +3 -3
  94. package/esm2015/components/input-date/input-date.component.js +9 -1
  95. package/esm2015/components/input-date-time/input-date-time.component.js +3 -3
  96. package/esm2015/components/input-phone-international/input-phone-international.component.js +3 -2
  97. package/esm2015/components/input-phone-international/tokens/countries-masks.js +3 -2
  98. package/esm2015/components/input-slider/input-slider.component.js +1 -1
  99. package/esm2015/components/input-tag/input-tag.component.js +5 -5
  100. package/esm2015/components/items-with-more/items-with-more.service.js +4 -4
  101. package/esm2015/components/line-clamp/line-clamp.component.js +20 -15
  102. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +6 -6
  103. package/esm2015/components/multi-select/multi-select.component.js +10 -6
  104. package/esm2015/components/multi-select-option/multi-select-option.component.js +3 -3
  105. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
  106. package/esm2015/components/push/push-alert.component.js +2 -2
  107. package/esm2015/components/push/push.component.js +2 -2
  108. package/esm2015/components/select-option/select-option.component.js +23 -8
  109. package/esm2015/components/slider/helpers/slider-readonly.directive.js +4 -4
  110. package/esm2015/components/slider/slider.component.js +1 -1
  111. package/esm2015/components/stepper/stepper.component.js +4 -4
  112. package/esm2015/components/tabs/tab/tab.component.js +11 -2
  113. package/esm2015/components/tabs/tabs.directive.js +5 -4
  114. package/esm2015/components/tabs/underline/underline.component.js +3 -3
  115. package/esm2015/components/tree/components/tree-item/tree-item.component.js +2 -2
  116. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +2 -2
  117. package/esm2015/components/tree/misc/tree.service.js +3 -3
  118. package/esm2015/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.js +7 -7
  119. package/esm2015/directives/lazy-loading/lazy-loading.service.js +3 -3
  120. package/fesm2015/taiga-ui-kit-components-accordion.js +5 -5
  121. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  122. package/fesm2015/taiga-ui-kit-components-avatar.js +3 -3
  123. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  124. package/fesm2015/taiga-ui-kit-components-badge.js +1 -1
  125. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  126. package/fesm2015/taiga-ui-kit-components-calendar-month.js +1 -1
  127. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  128. package/fesm2015/taiga-ui-kit-components-carousel.js +6 -6
  129. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  130. package/fesm2015/taiga-ui-kit-components-combo-box.js +2 -1
  131. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  132. package/fesm2015/taiga-ui-kit-components-elastic-container.js +98 -0
  133. package/fesm2015/taiga-ui-kit-components-elastic-container.js.map +1 -0
  134. package/fesm2015/taiga-ui-kit-components-files.js +24 -13
  135. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  136. package/fesm2015/taiga-ui-kit-components-input-copy.js +2 -2
  137. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  138. package/fesm2015/taiga-ui-kit-components-input-date-time.js +2 -2
  139. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  140. package/fesm2015/taiga-ui-kit-components-input-date.js +8 -0
  141. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  142. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +4 -2
  143. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  144. package/fesm2015/taiga-ui-kit-components-input-slider.js +1 -1
  145. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  146. package/fesm2015/taiga-ui-kit-components-input-tag.js +4 -4
  147. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  148. package/fesm2015/taiga-ui-kit-components-items-with-more.js +3 -3
  149. package/fesm2015/taiga-ui-kit-components-items-with-more.js.map +1 -1
  150. package/fesm2015/taiga-ui-kit-components-line-clamp.js +19 -14
  151. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  152. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +2 -2
  153. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  154. package/fesm2015/taiga-ui-kit-components-multi-select.js +14 -10
  155. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  156. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +1 -1
  157. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  158. package/fesm2015/taiga-ui-kit-components-push.js +2 -2
  159. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  160. package/fesm2015/taiga-ui-kit-components-select-option.js +22 -7
  161. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  162. package/fesm2015/taiga-ui-kit-components-slider.js +4 -4
  163. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  164. package/fesm2015/taiga-ui-kit-components-stepper.js +3 -3
  165. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  166. package/fesm2015/taiga-ui-kit-components-tabs.js +16 -6
  167. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  168. package/fesm2015/taiga-ui-kit-components-tree.js +4 -4
  169. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  170. package/fesm2015/taiga-ui-kit-components.js +1 -0
  171. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  172. package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js +6 -6
  173. package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js.map +1 -1
  174. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +2 -2
  175. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  176. package/package.json +5 -5
@@ -95,7 +95,7 @@ TuiCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
95
95
  provide: INTERSECTION_ROOT,
96
96
  useExisting: ElementRef,
97
97
  },
98
- ], queries: [{ propertyName: "items", predicate: TuiItemDirective, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div\n class=\"t-scroller\"\n (tuiCarouselScroll)=\"onScroll($event)\"\n>\n <div class=\"t-wrapper\">\n <div\n waIntersectionObserver\n waIntersectionThreshold=\"0,1\"\n waIntersectionRootMargin=\"100px 100000px 100px -51%\"\n class=\"t-items\"\n [style.transform]=\"transform\"\n (tuiPan)=\"onPan($event[0])\"\n (tuiSwipe)=\"onSwipe($event.direction)\"\n (tuiCarouselAutoscroll)=\"onAutoscroll()\"\n >\n <fieldset\n *ngFor=\"let item of items; let i = index\"\n class=\"t-item\"\n [disabled]=\"isDisabled(i)\"\n [ngStyle]=\"getStyle(itemsCount)\"\n (waIntersectionObservee)=\"onIntersection($event[0], i)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </fieldset>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden}:host._draggable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host._draggable:hover{cursor:-webkit-grab;cursor:grab}:host._draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.t-items{display:flex}:host._transitioned .t-items{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-item{display:flex;flex-direction:column;justify-content:center;padding:0 1.25rem;flex:1;min-width:100%;max-width:100%;box-sizing:border-box;border:none;margin:0}.t-wrapper{position:-webkit-sticky;position:sticky;left:0;right:0;min-width:100%;overflow:hidden}.t-scroller{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto;overscroll-behavior-x:none;padding-bottom:2rem;margin-bottom:-2rem}.t-scroller::-webkit-scrollbar,.t-scroller::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}.t-scroller:before,.t-scroller:after{content:\"\";display:block;min-width:1rem}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiCarouselScrollDirective, selector: "[tuiCarouselScroll]", outputs: ["tuiCarouselScroll"] }, { type: i3.IntersectionObserverDirective, selector: "[waIntersectionObserver]", exportAs: ["IntersectionObserver"] }, { type: i4.TuiPanDirective, selector: "[tuiPan]", outputs: ["tuiPan"] }, { type: i4.TuiSwipeDirective, selector: "[tuiSwipe]", outputs: ["tuiSwipe"] }, { type: i5.TuiCarouselAutoscrollDirective, selector: "[tuiCarouselAutoscroll]", outputs: ["tuiCarouselAutoscroll"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.IntersectionObserveeDirective, selector: "[waIntersectionObservee]", outputs: ["waIntersectionObservee"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
98
+ ], queries: [{ propertyName: "items", predicate: TuiItemDirective, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div\n class=\"t-scroller\"\n (tuiCarouselScroll)=\"onScroll($event)\"\n>\n <div class=\"t-wrapper\">\n <div\n waIntersectionObserver\n waIntersectionThreshold=\"0,1\"\n waIntersectionRootMargin=\"100px 100000px 100px -51%\"\n class=\"t-items\"\n [style.transform]=\"transform\"\n (tuiPan)=\"onPan($event[0])\"\n (tuiSwipe)=\"onSwipe($event.direction)\"\n (tuiCarouselAutoscroll)=\"onAutoscroll()\"\n >\n <fieldset\n *ngFor=\"let item of items; let i = index\"\n class=\"t-item\"\n [disabled]=\"isDisabled(i)\"\n [ngStyle]=\"getStyle(itemsCount)\"\n (waIntersectionObservee)=\"onIntersection($event[0], i)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </fieldset>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden}:host._draggable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host._draggable:hover{cursor:-webkit-grab;cursor:grab}:host._draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.t-items{display:flex}:host._transitioned .t-items{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-item{display:flex;flex-direction:column;justify-content:center;padding:var(--tui-carousel-padding, 0 1.25rem);flex:1;min-width:100%;max-width:100%;box-sizing:border-box;border:none;margin:0}.t-wrapper{position:-webkit-sticky;position:sticky;left:0;right:0;min-width:100%;overflow:hidden}.t-scroller{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto;overscroll-behavior-x:none;padding-bottom:2rem;margin-bottom:-2rem}.t-scroller::-webkit-scrollbar,.t-scroller::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}.t-scroller:before,.t-scroller:after{content:\"\";display:block;min-width:1rem}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiCarouselScrollDirective, selector: "[tuiCarouselScroll]", outputs: ["tuiCarouselScroll"] }, { type: i3.IntersectionObserverDirective, selector: "[waIntersectionObserver]", exportAs: ["IntersectionObserver"] }, { type: i4.TuiPanDirective, selector: "[tuiPan]", outputs: ["tuiPan"] }, { type: i4.TuiSwipeDirective, selector: "[tuiSwipe]", outputs: ["tuiSwipe"] }, { type: i5.TuiCarouselAutoscrollDirective, selector: "[tuiCarouselAutoscroll]", outputs: ["tuiCarouselAutoscroll"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.IntersectionObserveeDirective, selector: "[waIntersectionObservee]", outputs: ["waIntersectionObservee"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
99
99
  __decorate([
100
100
  tuiDefaultProp()
101
101
  ], TuiCarouselComponent.prototype, "draggable", void 0);
@@ -112,8 +112,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
112
112
  type: Component,
113
113
  args: [{
114
114
  selector: 'tui-carousel',
115
- templateUrl: 'carousel.template.html',
116
- styleUrls: ['carousel.style.less'],
115
+ templateUrl: './carousel.template.html',
116
+ styleUrls: ['./carousel.style.less'],
117
117
  changeDetection: ChangeDetectionStrategy.OnPush,
118
118
  providers: [
119
119
  {
@@ -161,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
161
161
  type: HostListener,
162
162
  args: ['document:mouseup.silent', ['true']]
163
163
  }], getStyle: [] } });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFDSCxXQUFXLEVBQ1gsYUFBYSxFQUNiLFFBQVEsRUFDUixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLE9BQU8sR0FFVixNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQWN2QixNQUFNLE9BQU8sb0JBQW9CO0lBeUI3QixZQUNnRCxpQkFBb0MsRUFDM0MsVUFBbUMsRUFDaEMsUUFBaUI7UUFGYixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQzNDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ2hDLGFBQVEsR0FBUixRQUFRLENBQVM7UUEzQnJELGNBQVMsR0FBRyxDQUFDLENBQUM7UUFLdEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUlsQixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBSWYsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUdELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd6QyxVQUFLLEdBQW9ELFdBQVcsQ0FBQztRQUc5RSxpQkFBWSxHQUFHLElBQUksQ0FBQztJQU1qQixDQUFDO0lB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OzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsYUFBYTs0Q0F0QnpCLFNBQVM7c0JBSFIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTS9CLFVBQVU7c0JBRlQsS0FBSztnQkFNTixLQUFLO3NCQUZKLEtBQUs7Z0JBS0csV0FBVztzQkFEbkIsTUFBTTtnQkFJRSxLQUFLO3NCQURiLGVBQWU7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDO2dCQUl0RCxZQUFZO3NCQURYLFdBQVc7dUJBQUMscUJBQXFCO2dCQW1CbEMsY0FBYztzQkFKYixZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQzs7c0JBQ3BDLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDOztzQkFDakMsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUM7O3NCQUNuQyxZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsTUFBTSxDQUFDO2dCQVVqRCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lOVEVSU0VDVElPTl9ST09UfSBmcm9tICdAbmctd2ViLWFwaXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICB0dWlDbGFtcCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlJdGVtRGlyZWN0aXZlLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpU3dpcGVEaXJlY3Rpb24sXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1jYXJvdXNlbCcsXG4gICAgdGVtcGxhdGVVcmw6ICdjYXJvdXNlbC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnY2Fyb3VzZWwuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBJTlRFUlNFQ1RJT05fUk9PVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBFbGVtZW50UmVmLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNhcm91c2VsQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHRyYW5zbGF0ZSA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2RyYWdnYWJsZScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkcmFnZ2FibGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtc0NvdW50ID0gMTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpbmRleCA9IDA7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBpbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlJdGVtRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGl0ZW1zOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fdHJhbnNpdGlvbmVkJylcbiAgICB0cmFuc2l0aW9uZWQgPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX01PQklMRSkgcHJpdmF0ZSByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICApIHt9XG5cbiAgICBnZXQgdHJhbnNmb3JtKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHggPSB0aGlzLnRyYW5zaXRpb25lZCA/IHRoaXMuY29tcHV0ZWRUcmFuc2xhdGUgOiB0aGlzLnRyYW5zbGF0ZTtcblxuICAgICAgICByZXR1cm4gYHRyYW5zbGF0ZVgoJHsxMDAgKiB4fSUpYDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgWydmYWxzZSddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ3RvdWNoZW5kJywgWyd0cnVlJ10pXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWydmYWxzZSddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNldXAuc2lsZW50JywgWyd0cnVlJ10pXG4gICAgb25UcmFuc2l0aW9uZWQodHJhbnNpdGlvbmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJhbnNpdGlvbmVkID0gdHJhbnNpdGlvbmVkO1xuXG4gICAgICAgIGlmICghdHJhbnNpdGlvbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZSA9IHRoaXMuY29tcHV0ZWRUcmFuc2xhdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldFN0eWxlKGl0ZW1zQ291bnQ6IG51bWJlcik6IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj4ge1xuICAgICAgICBjb25zdCBwZXJjZW50ID0gYCR7MTAwIC8gaXRlbXNDb3VudH0lYDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZmxleEJhc2lzOiBwZXJjZW50LFxuICAgICAgICAgICAgbWluV2lkdGg6IHBlcmNlbnQsXG4gICAgICAgICAgICBtYXhXaWR0aDogcGVyY2VudCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZXh0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUluZGV4KHRoaXMuaW5kZXggKyAxKTtcbiAgICB9XG5cbiAgICBwcmV2KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUluZGV4KHRoaXMuaW5kZXggLSAxKTtcbiAgICB9XG5cbiAgICBpc0Rpc2FibGVkKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGluZGV4IDwgdGhpcy5pbmRleCB8fCBpbmRleCA+IHRoaXMuaW5kZXggKyB0aGlzLml0ZW1zQ291bnQ7XG4gICAgfVxuXG4gICAgb25JbnRlcnNlY3Rpb24oe2ludGVyc2VjdGlvblJhdGlvfTogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeSwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoaW50ZXJzZWN0aW9uUmF0aW8gJiYgaW50ZXJzZWN0aW9uUmF0aW8gIT09IDEgJiYgIXRoaXMudHJhbnNpdGlvbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUluZGV4KGluZGV4IC0gTWF0aC5mbG9vcih0aGlzLml0ZW1zQ291bnQgLyAyKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNjcm9sbChkZWx0YTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVJbmRleCh0aGlzLmluZGV4ICsgZGVsdGEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25QYW4oeDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jb21wdXRlZERyYWdnYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge2NsaWVudFdpZHRofSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBtaW4gPSAxIC0gdGhpcy5pdGVtcy5sZW5ndGggLyB0aGlzLml0ZW1zQ291bnQ7XG5cbiAgICAgICAgdGhpcy50cmFuc2xhdGUgPSB0dWlDbGFtcCh4IC8gY2xpZW50V2lkdGggKyB0aGlzLnRyYW5zbGF0ZSwgbWluLCAwKTtcbiAgICB9XG5cbiAgICBvblN3aXBlKGRpcmVjdGlvbjogVHVpU3dpcGVEaXJlY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKGRpcmVjdGlvbiA9PT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICB0aGlzLm5leHQoKTtcbiAgICAgICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdyaWdodCcpIHtcbiAgICAgICAgICAgIHRoaXMucHJldigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BdXRvc2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUluZGV4KHRoaXMuaW5kZXggPT09IHRoaXMuaXRlbXMubGVuZ3RoIC0gMSA/IDAgOiB0aGlzLmluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY29tcHV0ZWRUcmFuc2xhdGUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIC10aGlzLmluZGV4IC8gdGhpcy5pdGVtc0NvdW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbXB1dGVkRHJhZ2dhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc01vYmlsZSB8fCB0aGlzLmRyYWdnYWJsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUluZGV4KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbmRleCA9IHR1aUNsYW1wKGluZGV4LCAwLCB0aGlzLml0ZW1zLmxlbmd0aCAtIDEpO1xuICAgICAgICB0aGlzLmluZGV4Q2hhbmdlLmVtaXQodGhpcy5pbmRleCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1zLmNoYW5nZXMgfCBhc3luY1wiPjwvbmctY29udGFpbmVyPlxuPGRpdlxuICAgIGNsYXNzPVwidC1zY3JvbGxlclwiXG4gICAgKHR1aUNhcm91c2VsU2Nyb2xsKT1cIm9uU2Nyb2xsKCRldmVudClcIlxuPlxuICAgIDxkaXYgY2xhc3M9XCJ0LXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgd2FJbnRlcnNlY3Rpb25PYnNlcnZlclxuICAgICAgICAgICAgd2FJbnRlcnNlY3Rpb25UaHJlc2hvbGQ9XCIwLDFcIlxuICAgICAgICAgICAgd2FJbnRlcnNlY3Rpb25Sb290TWFyZ2luPVwiMTAwcHggMTAwMDAwcHggMTAwcHggLTUxJVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtaXRlbXNcIlxuICAgICAgICAgICAgW3N0eWxlLnRyYW5zZm9ybV09XCJ0cmFuc2Zvcm1cIlxuICAgICAgICAgICAgKHR1aVBhbik9XCJvblBhbigkZXZlbnRbMF0pXCJcbiAgICAgICAgICAgICh0dWlTd2lwZSk9XCJvblN3aXBlKCRldmVudC5kaXJlY3Rpb24pXCJcbiAgICAgICAgICAgICh0dWlDYXJvdXNlbEF1dG9zY3JvbGwpPVwib25BdXRvc2Nyb2xsKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZmllbGRzZXRcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWl0ZW1cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkKGkpXCJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJnZXRTdHlsZShpdGVtc0NvdW50KVwiXG4gICAgICAgICAgICAgICAgKHdhSW50ZXJzZWN0aW9uT2JzZXJ2ZWUpPVwib25JbnRlcnNlY3Rpb24oJGV2ZW50WzBdLCBpKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFDSCxXQUFXLEVBQ1gsYUFBYSxFQUNiLFFBQVEsRUFDUixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLE9BQU8sR0FFVixNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQWN2QixNQUFNLE9BQU8sb0JBQW9CO0lBeUI3QixZQUNnRCxpQkFBb0MsRUFDM0MsVUFBbUMsRUFDaEMsUUFBaUI7UUFGYixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQzNDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ2hDLGFBQVEsR0FBUixRQUFRLENBQVM7UUEzQnJELGNBQVMsR0FBRyxDQUFDLENBQUM7UUFLdEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUlsQixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBSWYsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUdELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd6QyxVQUFLLEdBQW9ELFdBQVcsQ0FBQztRQUc5RSxpQkFBWSxHQUFHLElBQUksQ0FBQztJQU1qQixDQUFDO0lBRUosSUFBSSxTQUFTO1FBQ1QsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRXRFLE9BQU8sY0FBYyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQU1ELGNBQWMsQ0FBQyxZQUFxQjtRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUVqQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7U0FDM0M7SUFDTCxDQUFDO0lBR0QsUUFBUSxDQUFDLFVBQWtCO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLEdBQUcsR0FBRyxHQUFHLFVBQVUsR0FBRyxDQUFDO1FBRXZDLE9BQU87WUFDSCxTQUFTLEVBQUUsT0FBTztZQUNsQixRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUUsT0FBTztTQUNwQixDQUFDO0lBQ04sQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3BCLE9BQU8sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN0RSxDQUFDO0lBRUQsY0FBYyxDQUFDLEVBQUMsaUJBQWlCLEVBQTRCLEVBQUUsS0FBYTtRQUN4RSxJQUFJLGlCQUFpQixJQUFJLGlCQUFpQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0Q7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDO1NBQ3hDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxDQUFTO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN6QixPQUFPO1NBQ1Y7UUFFRCxNQUFNLEVBQUMsV0FBVyxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDcEQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFFcEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsQ0FBQyxHQUFHLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsT0FBTyxDQUFDLFNBQTRCO1FBQ2hDLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRTtZQUN0QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDZjthQUFNLElBQUksU0FBUyxLQUFLLE9BQU8sRUFBRTtZQUM5QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxJQUFZLGlCQUFpQjtRQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFZLGlCQUFpQjtRQUN6QixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMzQyxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7O2tIQXZIUSxvQkFBb0Isa0JBMEJqQixpQkFBaUIsYUFDakIsVUFBVSxhQUNWLGFBQWE7c0dBNUJoQixvQkFBb0IsNmJBUGxCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVO1NBQzFCO0tBQ0osZ0RBcUJnQixnQkFBZ0IsUUFBUyxXQUFXLDZCQ3pEekQsOC9CQTRCQTtBRGdCSTtJQURDLGNBQWMsRUFBRTt1REFDQztBQUlsQjtJQURDLGNBQWMsRUFBRTt3REFDRjtBQUlmO0lBREMsY0FBYyxFQUFFO21EQUNQO0FBb0NWO0lBREMsT0FBTztvREFTUDs0RkExRFEsb0JBQW9CO2tCQVpoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixXQUFXLEVBQUUsMEJBQTBCO29CQUN2QyxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDcEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVTt5QkFDMUI7cUJBQ0o7aUJBQ0o7OzBCQTJCUSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsYUFBYTs0Q0F0QnpCLFNBQVM7c0JBSFIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTS9CLFVBQVU7c0JBRlQsS0FBSztnQkFNTixLQUFLO3NCQUZKLEtBQUs7Z0JBS0csV0FBVztzQkFEbkIsTUFBTTtnQkFJRSxLQUFLO3NCQURiLGVBQWU7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDO2dCQUl0RCxZQUFZO3NCQURYLFdBQVc7dUJBQUMscUJBQXFCO2dCQW1CbEMsY0FBYztzQkFKYixZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQzs7c0JBQ3BDLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDOztzQkFDakMsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUM7O3NCQUNuQyxZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsTUFBTSxDQUFDO2dCQVVqRCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lOVEVSU0VDVElPTl9ST09UfSBmcm9tICdAbmctd2ViLWFwaXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICB0dWlDbGFtcCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlJdGVtRGlyZWN0aXZlLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpU3dpcGVEaXJlY3Rpb24sXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1jYXJvdXNlbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Nhcm91c2VsLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Nhcm91c2VsLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogSU5URVJTRUNUSU9OX1JPT1QsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogRWxlbWVudFJlZixcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDYXJvdXNlbENvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSB0cmFuc2xhdGUgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9kcmFnZ2FibGUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZHJhZ2dhYmxlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaXRlbXNDb3VudCA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaW5kZXggPSAwO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgaW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpSXRlbURpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICByZWFkb25seSBpdGVtczogUXVlcnlMaXN0PFRlbXBsYXRlUmVmPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX3RyYW5zaXRpb25lZCcpXG4gICAgdHJhbnNpdGlvbmVkID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgKSB7fVxuXG4gICAgZ2V0IHRyYW5zZm9ybSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB4ID0gdGhpcy50cmFuc2l0aW9uZWQgPyB0aGlzLmNvbXB1dGVkVHJhbnNsYXRlIDogdGhpcy50cmFuc2xhdGU7XG5cbiAgICAgICAgcmV0dXJuIGB0cmFuc2xhdGVYKCR7MTAwICogeH0lKWA7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigndG91Y2hzdGFydCcsIFsnZmFsc2UnXSlcbiAgICBASG9zdExpc3RlbmVyKCd0b3VjaGVuZCcsIFsndHJ1ZSddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnZmFsc2UnXSlcbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwLnNpbGVudCcsIFsndHJ1ZSddKVxuICAgIG9uVHJhbnNpdGlvbmVkKHRyYW5zaXRpb25lZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnRyYW5zaXRpb25lZCA9IHRyYW5zaXRpb25lZDtcblxuICAgICAgICBpZiAoIXRyYW5zaXRpb25lZCkge1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUgPSB0aGlzLmNvbXB1dGVkVHJhbnNsYXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRTdHlsZShpdGVtc0NvdW50OiBudW1iZXIpOiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+IHtcbiAgICAgICAgY29uc3QgcGVyY2VudCA9IGAkezEwMCAvIGl0ZW1zQ291bnR9JWA7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZsZXhCYXNpczogcGVyY2VudCxcbiAgICAgICAgICAgIG1pbldpZHRoOiBwZXJjZW50LFxuICAgICAgICAgICAgbWF4V2lkdGg6IHBlcmNlbnQsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmV4dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVJbmRleCh0aGlzLmluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgcHJldigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVJbmRleCh0aGlzLmluZGV4IC0gMSk7XG4gICAgfVxuXG4gICAgaXNEaXNhYmxlZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpbmRleCA8IHRoaXMuaW5kZXggfHwgaW5kZXggPiB0aGlzLmluZGV4ICsgdGhpcy5pdGVtc0NvdW50O1xuICAgIH1cblxuICAgIG9uSW50ZXJzZWN0aW9uKHtpbnRlcnNlY3Rpb25SYXRpb306IEludGVyc2VjdGlvbk9ic2VydmVyRW50cnksIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKGludGVyc2VjdGlvblJhdGlvICYmIGludGVyc2VjdGlvblJhdGlvICE9PSAxICYmICF0aGlzLnRyYW5zaXRpb25lZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVJbmRleChpbmRleCAtIE1hdGguZmxvb3IodGhpcy5pdGVtc0NvdW50IC8gMikpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25TY3JvbGwoZGVsdGE6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlSW5kZXgodGhpcy5pbmRleCArIGRlbHRhKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUGFuKHg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29tcHV0ZWREcmFnZ2FibGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtjbGllbnRXaWR0aH0gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgbWluID0gMSAtIHRoaXMuaXRlbXMubGVuZ3RoIC8gdGhpcy5pdGVtc0NvdW50O1xuXG4gICAgICAgIHRoaXMudHJhbnNsYXRlID0gdHVpQ2xhbXAoeCAvIGNsaWVudFdpZHRoICsgdGhpcy50cmFuc2xhdGUsIG1pbiwgMCk7XG4gICAgfVxuXG4gICAgb25Td2lwZShkaXJlY3Rpb246IFR1aVN3aXBlRGlyZWN0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmIChkaXJlY3Rpb24gPT09ICdsZWZ0Jykge1xuICAgICAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZGlyZWN0aW9uID09PSAncmlnaHQnKSB7XG4gICAgICAgICAgICB0aGlzLnByZXYoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQXV0b3Njcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVJbmRleCh0aGlzLmluZGV4ID09PSB0aGlzLml0ZW1zLmxlbmd0aCAtIDEgPyAwIDogdGhpcy5pbmRleCArIDEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbXB1dGVkVHJhbnNsYXRlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAtdGhpcy5pbmRleCAvIHRoaXMuaXRlbXNDb3VudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjb21wdXRlZERyYWdnYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgfHwgdGhpcy5kcmFnZ2FibGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVJbmRleChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5kZXggPSB0dWlDbGFtcChpbmRleCwgMCwgdGhpcy5pdGVtcy5sZW5ndGggLSAxKTtcbiAgICAgICAgdGhpcy5pbmRleENoYW5nZS5lbWl0KHRoaXMuaW5kZXgpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtcy5jaGFuZ2VzIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbjxkaXZcbiAgICBjbGFzcz1cInQtc2Nyb2xsZXJcIlxuICAgICh0dWlDYXJvdXNlbFNjcm9sbCk9XCJvblNjcm9sbCgkZXZlbnQpXCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwidC13cmFwcGVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIHdhSW50ZXJzZWN0aW9uT2JzZXJ2ZXJcbiAgICAgICAgICAgIHdhSW50ZXJzZWN0aW9uVGhyZXNob2xkPVwiMCwxXCJcbiAgICAgICAgICAgIHdhSW50ZXJzZWN0aW9uUm9vdE1hcmdpbj1cIjEwMHB4IDEwMDAwMHB4IDEwMHB4IC01MSVcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWl0ZW1zXCJcbiAgICAgICAgICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwidHJhbnNmb3JtXCJcbiAgICAgICAgICAgICh0dWlQYW4pPVwib25QYW4oJGV2ZW50WzBdKVwiXG4gICAgICAgICAgICAodHVpU3dpcGUpPVwib25Td2lwZSgkZXZlbnQuZGlyZWN0aW9uKVwiXG4gICAgICAgICAgICAodHVpQ2Fyb3VzZWxBdXRvc2Nyb2xsKT1cIm9uQXV0b3Njcm9sbCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGZpZWxkc2V0XG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1pdGVtXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChpKVwiXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwiZ2V0U3R5bGUoaXRlbXNDb3VudClcIlxuICAgICAgICAgICAgICAgICh3YUludGVyc2VjdGlvbk9ic2VydmVlKT1cIm9uSW50ZXJzZWN0aW9uKCRldmVudFswXSwgaSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9maWVsZHNldD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,8 +1,8 @@
1
1
  import { Directive, ElementRef, Inject, Input } from '@angular/core';
2
2
  import { PAGE_VISIBILITY } from '@ng-web-apis/common';
3
- import { tuiTypedFromEvent } from '@taiga-ui/cdk';
3
+ import { ALWAYS_FALSE_HANDLER, ALWAYS_TRUE_HANDLER, tuiTypedFromEvent, } from '@taiga-ui/cdk';
4
4
  import { BehaviorSubject, combineLatest, EMPTY, interval, merge, Observable } from 'rxjs';
5
- import { mapTo, switchMap } from 'rxjs/operators';
5
+ import { map, switchMap } from 'rxjs/operators';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "rxjs";
8
8
  export class TuiCarouselDirective extends Observable {
@@ -11,7 +11,7 @@ export class TuiCarouselDirective extends Observable {
11
11
  this.elementRef = elementRef;
12
12
  this.visible$ = visible$;
13
13
  this.duration$ = new BehaviorSubject(0);
14
- this.running$ = merge(tuiTypedFromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(mapTo(false)), tuiTypedFromEvent(this.elementRef.nativeElement, 'touchstart').pipe(mapTo(false)), tuiTypedFromEvent(this.elementRef.nativeElement, 'touchend').pipe(mapTo(true)), tuiTypedFromEvent(this.elementRef.nativeElement, 'mouseleave').pipe(mapTo(true)), this.visible$);
14
+ this.running$ = merge(tuiTypedFromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(map(ALWAYS_FALSE_HANDLER)), tuiTypedFromEvent(this.elementRef.nativeElement, 'touchstart').pipe(map(ALWAYS_FALSE_HANDLER)), tuiTypedFromEvent(this.elementRef.nativeElement, 'touchend').pipe(map(ALWAYS_TRUE_HANDLER)), tuiTypedFromEvent(this.elementRef.nativeElement, 'mouseleave').pipe(map(ALWAYS_TRUE_HANDLER)), this.visible$);
15
15
  this.output$ = combineLatest([this.duration$, this.running$]).pipe(switchMap(([duration, running]) => duration && running ? interval(duration) : EMPTY));
16
16
  }
17
17
  set duration(duration) {
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
39
39
  }], index: [{
40
40
  type: Input
41
41
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDeEYsT0FBTyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBS2hELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxVQUFtQjtJQTJCekQsWUFDeUMsVUFBbUMsRUFDOUIsUUFBNkI7UUFFdkUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUhuQixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQTVCMUQsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5DLGFBQVEsR0FBRyxLQUFLLENBQzdCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDakYsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNqRixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQzlFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDaEYsSUFBSSxDQUFDLFFBQVEsQ0FDaEIsQ0FBQztRQUVlLFlBQU8sR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDMUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUM5QixRQUFRLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FDbkQsQ0FDSixDQUFDO0lBaUJGLENBQUM7SUFmRCxJQUNJLFFBQVEsQ0FBQyxRQUFnQjtRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFDSSxLQUFLLENBQUMsQ0FBUztRQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7a0hBekJRLG9CQUFvQixrQkE0QmpCLFVBQVUsYUFDVixlQUFlO3NHQTdCbEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7aUJBQzNCOzswQkE2QlEsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxlQUFlOzRDQVh2QixRQUFRO3NCQURYLEtBQUs7Z0JBTUYsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQQUdFX1ZJU0lCSUxJVFl9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHt0dWlUeXBlZEZyb21FdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgRU1QVFksIGludGVydmFsLCBtZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcFRvLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0dWktY2Fyb3VzZWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDYXJvdXNlbERpcmVjdGl2ZSBleHRlbmRzIE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHVyYXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcnVubmluZyQgPSBtZXJnZShcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWVudGVyJykucGlwZShtYXBUbyhmYWxzZSkpLFxuICAgICAgICB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RvdWNoc3RhcnQnKS5waXBlKG1hcFRvKGZhbHNlKSksXG4gICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndG91Y2hlbmQnKS5waXBlKG1hcFRvKHRydWUpKSxcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWxlYXZlJykucGlwZShtYXBUbyh0cnVlKSksXG4gICAgICAgIHRoaXMudmlzaWJsZSQsXG4gICAgKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3V0cHV0JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuZHVyYXRpb24kLCB0aGlzLnJ1bm5pbmckXSkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChbZHVyYXRpb24sIHJ1bm5pbmddKSA9PlxuICAgICAgICAgICAgZHVyYXRpb24gJiYgcnVubmluZyA/IGludGVydmFsKGR1cmF0aW9uKSA6IEVNUFRZLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBkdXJhdGlvbihkdXJhdGlvbjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZHVyYXRpb24kLm5leHQoZHVyYXRpb24pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGluZGV4KF86IG51bWJlcikge1xuICAgICAgICB0aGlzLmR1cmF0aW9uJC5uZXh0KHRoaXMuZHVyYXRpb24kLnZhbHVlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFBBR0VfVklTSUJJTElUWSkgcHJpdmF0ZSByZWFkb25seSB2aXNpYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoc3Vic2NyaWJlciA9PiB0aGlzLm91dHB1dCQuc3Vic2NyaWJlKHN1YnNjcmliZXIpKTtcbiAgICB9XG59XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDeEYsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSzlDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxVQUFtQjtJQW1DekQsWUFDeUMsVUFBbUMsRUFDOUIsUUFBNkI7UUFFdkUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUhuQixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQXBDMUQsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5DLGFBQVEsR0FBRyxLQUFLLENBQzdCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQzVCLEVBQ0QsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUMvRCxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FDNUIsRUFDRCxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQzdELEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUMzQixFQUNELGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQzNCLEVBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FDaEIsQ0FBQztRQUVlLFlBQU8sR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDMUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUM5QixRQUFRLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FDbkQsQ0FDSixDQUFDO0lBaUJGLENBQUM7SUFmRCxJQUNJLFFBQVEsQ0FBQyxRQUFnQjtRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFDSSxLQUFLLENBQUMsQ0FBUztRQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7a0hBakNRLG9CQUFvQixrQkFvQ2pCLFVBQVUsYUFDVixlQUFlO3NHQXJDbEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7aUJBQzNCOzswQkFxQ1EsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxlQUFlOzRDQVh2QixRQUFRO3NCQURYLEtBQUs7Z0JBTUYsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQQUdFX1ZJU0lCSUxJVFl9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBBTFdBWVNfVFJVRV9IQU5ETEVSLFxuICAgIHR1aVR5cGVkRnJvbUV2ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBFTVBUWSwgaW50ZXJ2YWwsIG1lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0dWktY2Fyb3VzZWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDYXJvdXNlbERpcmVjdGl2ZSBleHRlbmRzIE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHVyYXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcnVubmluZyQgPSBtZXJnZShcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWVudGVyJykucGlwZShcbiAgICAgICAgICAgIG1hcChBTFdBWVNfRkFMU0VfSEFORExFUiksXG4gICAgICAgICksXG4gICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndG91Y2hzdGFydCcpLnBpcGUoXG4gICAgICAgICAgICBtYXAoQUxXQVlTX0ZBTFNFX0hBTkRMRVIpLFxuICAgICAgICApLFxuICAgICAgICB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RvdWNoZW5kJykucGlwZShcbiAgICAgICAgICAgIG1hcChBTFdBWVNfVFJVRV9IQU5ETEVSKSxcbiAgICAgICAgKSxcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWxlYXZlJykucGlwZShcbiAgICAgICAgICAgIG1hcChBTFdBWVNfVFJVRV9IQU5ETEVSKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy52aXNpYmxlJCxcbiAgICApO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBvdXRwdXQkID0gY29tYmluZUxhdGVzdChbdGhpcy5kdXJhdGlvbiQsIHRoaXMucnVubmluZyRdKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKFtkdXJhdGlvbiwgcnVubmluZ10pID0+XG4gICAgICAgICAgICBkdXJhdGlvbiAmJiBydW5uaW5nID8gaW50ZXJ2YWwoZHVyYXRpb24pIDogRU1QVFksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGR1cmF0aW9uKGR1cmF0aW9uOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5kdXJhdGlvbiQubmV4dChkdXJhdGlvbik7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgaW5kZXgoXzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZHVyYXRpb24kLm5leHQodGhpcy5kdXJhdGlvbiQudmFsdWUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoUEFHRV9WSVNJQklMSVRZKSBwcml2YXRlIHJlYWRvbmx5IHZpc2libGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICAgICkge1xuICAgICAgICBzdXBlcihzdWJzY3JpYmVyID0+IHRoaXMub3V0cHV0JC5zdWJzY3JpYmUoc3Vic2NyaWJlcikpO1xuICAgIH1cbn1cbiJdfQ==
@@ -32,7 +32,8 @@ export class TuiComboBoxComponent extends AbstractTuiNullableControl {
32
32
  return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;
33
33
  }
34
34
  get nativeFocusableElement() {
35
- return this.textfield ? this.textfield.nativeFocusableElement : null;
35
+ var _a, _b;
36
+ return (_b = (_a = this.textfield) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) !== null && _b !== void 0 ? _b : null;
36
37
  }
37
38
  get focused() {
38
39
  return (tuiIsNativeFocused(this.nativeFocusableElement) ||
@@ -206,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
206
207
  type: ContentChild,
207
208
  args: [TuiDataListDirective, { read: TemplateRef }]
208
209
  }] } });
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm8tYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2NvbWJvLWJveC9jb21iby1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY29tYm8tYm94L2NvbWJvLWJveC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBRWxCLFlBQVksRUFDWiwwQkFBMEIsRUFFMUIsY0FBYyxFQUVkLGtCQUFrQixFQUNsQixZQUFZLEdBRWYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsa0JBQWtCLEVBRWxCLG9CQUFvQixFQUVwQiwwQkFBMEIsRUFDMUIsOEJBQThCLEdBS2pDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGNBQWMsRUFBZSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzNFLE9BQU8sRUFBQyxrQkFBa0IsRUFBbUIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQWdCMUUsTUFBTSxPQUFPLG9CQUNULFNBQVEsMEJBQTZCO0lBK0NyQyxZQUlJ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RyxZQUFZO3NCQURwQixNQUFNO2dCQUlFLFFBQVE7c0JBRGhCLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIFRVSV9TVFJJQ1RfTUFUQ0hFUixcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aUFzQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG4gICAgdHVpSXNQcmVzZW50LFxuICAgIFR1aVN0cmluZ01hdGNoZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUVUlfREFUQV9MSVNUX0FDQ0VTU09SLFxuICAgIHR1aUFzRGF0YUxpc3RIb3N0LFxuICAgIHR1aUFzT3B0aW9uQ29udGVudCxcbiAgICBUdWlEYXRhTGlzdEFjY2Vzc29yLFxuICAgIFR1aURhdGFMaXN0RGlyZWN0aXZlLFxuICAgIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZU0sXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpVmFsdWVDb250ZW50Q29udGV4dCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfQVJST1dfTU9ERSwgVHVpQXJyb3dNb2RlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYXJyb3cnO1xuaW1wb3J0IHtUVUlfU0VMRUNUX09QVElPTn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NlbGVjdC1vcHRpb24nO1xuaW1wb3J0IHtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9JVEVNU19IQU5ETEVSUywgVHVpSXRlbXNIYW5kbGVyc30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1jb21iby1ib3gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb21iby1ib3gudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29tYm8tYm94LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpQ29tYm9Cb3hDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0RhdGFMaXN0SG9zdChUdWlDb21ib0JveENvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlDb21ib0JveENvbXBvbmVudCksXG4gICAgICAgIHR1aUFzT3B0aW9uQ29udGVudChUVUlfU0VMRUNUX09QVElPTiksXG4gICAgXSxcbiAgICB2aWV3UHJvdmlkZXJzOiBbRklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUl0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNvbWJvQm94Q29tcG9uZW50PFQ+XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8VD5cbntcbiAgICBAQ29udGVudENoaWxkKFRVSV9EQVRBX0xJU1RfQUNDRVNTT1IgYXMgYW55KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWNjZXNzb3I/OiBUdWlEYXRhTGlzdEFjY2Vzc29yPFQ+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RlZERyb3Bkb3duPzogVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdHJpbmdpZnk6IFR1aUl0ZW1zSGFuZGxlcnM8VD5bJ3N0cmluZ2lmeSddID0gdGhpcy5pdGVtc0hhbmRsZXJzLnN0cmluZ2lmeTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdHJpY3RNYXRjaGVyOiBUdWlTdHJpbmdNYXRjaGVyPFQ+ID0gVFVJX1NUUklDVF9NQVRDSEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGlkZW50aXR5TWF0Y2hlcjogVHVpSXRlbXNIYW5kbGVyczxUPlsnaWRlbnRpdHlNYXRjaGVyJ10gPVxuICAgICAgICB0aGlzLml0ZW1zSGFuZGxlcnMuaWRlbnRpdHlNYXRjaGVyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlWYWx1ZUNvbnRlbnRDb250ZXh0PFQ+PiA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0cmljdCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VhcmNoOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHNlYXJjaENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3REaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgZGF0YWxpc3Q6IFBvbHltb3JwaGV1c0NvbnRlbnQ8XG4gICAgICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpQWN0aXZlWm9uZURpcmVjdGl2ZT5cbiAgICA+ID0gJyc7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9BUlJPV19NT0RFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFycm93TW9kZTogVHVpQXJyb3dNb2RlLFxuICAgICAgICBASW5qZWN0KFRVSV9JVEVNU19IQU5ETEVSUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpdGVtc0hhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQ+LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IGFycm93KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8XG4gICAgICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpU2l6ZUwgfCBUdWlTaXplTSB8IFR1aVNpemVTPlxuICAgID4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW50ZXJhY3RpdmUgPyB0aGlzLmFycm93TW9kZS5kaXNhYmxlZCA6IHRoaXMuYXJyb3dNb2RlLmludGVyYWN0aXZlO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkID8gdGhpcy50ZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0dWlJc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB8fFxuICAgICAgICAgICAgKCEhdGhpcy5ob3N0ZWREcm9wZG93biAmJiB0aGlzLmhvc3RlZERyb3Bkb3duLmZvY3VzZWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlID09PSBudWxsID8gdGhpcy5zZWFyY2ggfHwgJycgOiB0aGlzLnN0cmluZ2lmeSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgc2hvd1ZhbHVlVGVtcGxhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc1ByZXNlbnQodGhpcy52YWx1ZSkgJiYgIXRoaXMuZm9jdXNlZDtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRDb250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpVmFsdWVDb250ZW50Q29udGV4dDxUPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZUNvbnRlbnQgfHwgdGhpcy5uYXRpdmVWYWx1ZTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuICAgIH1cblxuICAgIGNoZWNrT3B0aW9uKG9wdGlvbjogVCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNTdHJpY3RNYXRjaChvcHRpb24pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG9wdGlvbik7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKG51bGwpO1xuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihpdGVtOiBUKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TmF0aXZlVmFsdWUodGhpcy5zdHJpbmdpZnkoaXRlbSkpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChudWxsKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShpdGVtKTtcbiAgICB9XG5cbiAgICBvbkZpZWxkS2V5RG93bkVudGVyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5vcGVuKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuYWNjZXNzb3I/LmdldE9wdGlvbnMoKSB8fCBbXTtcblxuICAgICAgICBpZiAob3B0aW9ucy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUob3B0aW9uc1swXSk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKG51bGwpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKHZhbHVlKTtcblxuICAgICAgICBjb25zdCBtYXRjaCA9IHRoaXMuYWNjZXNzb3I/LmdldE9wdGlvbnMoKS5maW5kKGl0ZW0gPT4gdGhpcy5pc1N0cmljdE1hdGNoKGl0ZW0pKTtcblxuICAgICAgICBpZiAobWF0Y2ggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShtYXRjaCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChudWxsKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc3RyaWN0IHx8IHRoaXMuc2VhcmNoID09PSAnJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaG9zdGVkRHJvcGRvd24/LnVwZGF0ZU9wZW4odHJ1ZSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgdXBkYXRlVmFsdWUodmFsdWU6IFQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdGVkRHJvcGRvd24/LnVwZGF0ZU9wZW4oIXRoaXMub3Blbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1N0cmljdE1hdGNoKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RyaWN0TWF0Y2hlcihpdGVtLCB0aGlzLnNlYXJjaCB8fCAnJywgdGhpcy5zdHJpbmdpZnkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdGVkRHJvcGRvd24/LnVwZGF0ZU9wZW4oZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlU2VhcmNoKHNlYXJjaDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZWFyY2ggPT09IHNlYXJjaCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWFyY2ggPSBzZWFyY2g7XG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQoc2VhcmNoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE5hdGl2ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzSW5wdXQocHJldmVudFNjcm9sbDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPHR1aS1ob3N0ZWQtZHJvcGRvd25cbiAgICBjbGFzcz1cInQtaG9zdGVkXCJcbiAgICBbY2FuT3Blbl09XCJpbnRlcmFjdGl2ZVwiXG4gICAgW2NvbnRlbnRdPVwiZGF0YWxpc3QgfHwgJydcIlxuICAgIFsob3BlbildPVwib3BlblwiXG4gICAgKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpPVwib25BY3RpdmVab25lKCRldmVudClcIlxuPlxuICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWNvbWJvLWJveF9fdGV4dGZpZWxkXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRleHRmaWVsZFwiXG4gICAgICAgIFtwc2V1ZG9Gb2N1c109XCJjb21wdXRlZEZvY3VzZWRcIlxuICAgICAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgICAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgICAgICBbbmF0aXZlSWRdPVwibmF0aXZlSWRcIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICBbdHVpVGV4dGZpZWxkSWNvbl09XCJhcnJvdyA/IGljb24gOiAnJ1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgW2ZvY3VzYWJsZV09XCJjb21wdXRlZEZvY3VzYWJsZVwiXG4gICAgICAgIFt2YWx1ZV09XCJuYXRpdmVWYWx1ZVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkZpZWxkS2V5RG93bkVudGVyKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgICAgc2VsZWN0PVwiaW5wdXRcIlxuICAgICAgICAgICAgbmdQcm9qZWN0QXM9XCJpbnB1dFwiXG4gICAgICAgID48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd1ZhbHVlVGVtcGxhdGVcIlxuICAgICAgICAgICAgbmdQcm9qZWN0QXM9XCJ0dWlDb250ZW50XCJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktY29tYm8tYm94X190ZW1wbGF0ZVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtdmFsdWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImNvbXB1dGVkQ29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiB2YWx1ZSEsIGFjdGl2ZTogY29tcHV0ZWRGb2N1c2VkfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG5cbiAgICA8bmctdGVtcGxhdGUgI2ljb24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0LWljb25cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImFycm93XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L3R1aS1ob3N0ZWQtZHJvcGRvd24+XG4iXX0=
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm8tYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2NvbWJvLWJveC9jb21iby1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY29tYm8tYm94L2NvbWJvLWJveC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBRWxCLFlBQVksRUFDWiwwQkFBMEIsRUFFMUIsY0FBYyxFQUVkLGtCQUFrQixFQUNsQixZQUFZLEdBRWYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsa0JBQWtCLEVBRWxCLG9CQUFvQixFQUVwQiwwQkFBMEIsRUFDMUIsOEJBQThCLEdBS2pDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGNBQWMsRUFBZSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzNFLE9BQU8sRUFBQyxrQkFBa0IsRUFBbUIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQWdCMUUsTUFBTSxPQUFPLG9CQUNULFNBQVEsMEJBQTZCO0lBK0NyQyxZQUlJ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QVE7c0JBRGhCLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIFRVSV9TVFJJQ1RfTUFUQ0hFUixcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aUFzQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG4gICAgdHVpSXNQcmVzZW50LFxuICAgIFR1aVN0cmluZ01hdGNoZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUVUlfREFUQV9MSVNUX0FDQ0VTU09SLFxuICAgIHR1aUFzRGF0YUxpc3RIb3N0LFxuICAgIHR1aUFzT3B0aW9uQ29udGVudCxcbiAgICBUdWlEYXRhTGlzdEFjY2Vzc29yLFxuICAgIFR1aURhdGFMaXN0RGlyZWN0aXZlLFxuICAgIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZU0sXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpVmFsdWVDb250ZW50Q29udGV4dCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfQVJST1dfTU9ERSwgVHVpQXJyb3dNb2RlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYXJyb3cnO1xuaW1wb3J0IHtUVUlfU0VMRUNUX09QVElPTn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NlbGVjdC1vcHRpb24nO1xuaW1wb3J0IHtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9JVEVNU19IQU5ETEVSUywgVHVpSXRlbXNIYW5kbGVyc30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1jb21iby1ib3gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb21iby1ib3gudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29tYm8tYm94LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpQ29tYm9Cb3hDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0RhdGFMaXN0SG9zdChUdWlDb21ib0JveENvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlDb21ib0JveENvbXBvbmVudCksXG4gICAgICAgIHR1aUFzT3B0aW9uQ29udGVudChUVUlfU0VMRUNUX09QVElPTiksXG4gICAgXSxcbiAgICB2aWV3UHJvdmlkZXJzOiBbRklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUl0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNvbWJvQm94Q29tcG9uZW50PFQ+XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8VD5cbntcbiAgICBAQ29udGVudENoaWxkKFRVSV9EQVRBX0xJU1RfQUNDRVNTT1IgYXMgYW55KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWNjZXNzb3I/OiBUdWlEYXRhTGlzdEFjY2Vzc29yPFQ+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RlZERyb3Bkb3duPzogVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdHJpbmdpZnk6IFR1aUl0ZW1zSGFuZGxlcnM8VD5bJ3N0cmluZ2lmeSddID0gdGhpcy5pdGVtc0hhbmRsZXJzLnN0cmluZ2lmeTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdHJpY3RNYXRjaGVyOiBUdWlTdHJpbmdNYXRjaGVyPFQ+ID0gVFVJX1NUUklDVF9NQVRDSEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGlkZW50aXR5TWF0Y2hlcjogVHVpSXRlbXNIYW5kbGVyczxUPlsnaWRlbnRpdHlNYXRjaGVyJ10gPVxuICAgICAgICB0aGlzLml0ZW1zSGFuZGxlcnMuaWRlbnRpdHlNYXRjaGVyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlWYWx1ZUNvbnRlbnRDb250ZXh0PFQ+PiA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0cmljdCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VhcmNoOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHNlYXJjaENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3REaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgZGF0YWxpc3Q6IFBvbHltb3JwaGV1c0NvbnRlbnQ8XG4gICAgICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpQWN0aXZlWm9uZURpcmVjdGl2ZT5cbiAgICA+ID0gJyc7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9BUlJPV19NT0RFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFycm93TW9kZTogVHVpQXJyb3dNb2RlLFxuICAgICAgICBASW5qZWN0KFRVSV9JVEVNU19IQU5ETEVSUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpdGVtc0hhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQ+LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IGFycm93KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8XG4gICAgICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpU2l6ZUwgfCBUdWlTaXplTSB8IFR1aVNpemVTPlxuICAgID4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW50ZXJhY3RpdmUgPyB0aGlzLmFycm93TW9kZS5kaXNhYmxlZCA6IHRoaXMuYXJyb3dNb2RlLmludGVyYWN0aXZlO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkPy5uYXRpdmVGb2N1c2FibGVFbGVtZW50ID8/IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0dWlJc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB8fFxuICAgICAgICAgICAgKCEhdGhpcy5ob3N0ZWREcm9wZG93biAmJiB0aGlzLmhvc3RlZERyb3Bkb3duLmZvY3VzZWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlID09PSBudWxsID8gdGhpcy5zZWFyY2ggfHwgJycgOiB0aGlzLnN0cmluZ2lmeSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgc2hvd1ZhbHVlVGVtcGxhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc1ByZXNlbnQodGhpcy52YWx1ZSkgJiYgIXRoaXMuZm9jdXNlZDtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRDb250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpVmFsdWVDb250ZW50Q29udGV4dDxUPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZUNvbnRlbnQgfHwgdGhpcy5uYXRpdmVWYWx1ZTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuICAgIH1cblxuICAgIGNoZWNrT3B0aW9uKG9wdGlvbjogVCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNTdHJpY3RNYXRjaChvcHRpb24pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG9wdGlvbik7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKG51bGwpO1xuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihpdGVtOiBUKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TmF0aXZlVmFsdWUodGhpcy5zdHJpbmdpZnkoaXRlbSkpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChudWxsKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShpdGVtKTtcbiAgICB9XG5cbiAgICBvbkZpZWxkS2V5RG93bkVudGVyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5vcGVuKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuYWNjZXNzb3I/LmdldE9wdGlvbnMoKSB8fCBbXTtcblxuICAgICAgICBpZiAob3B0aW9ucy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUob3B0aW9uc1swXSk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKG51bGwpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKHZhbHVlKTtcblxuICAgICAgICBjb25zdCBtYXRjaCA9IHRoaXMuYWNjZXNzb3I/LmdldE9wdGlvbnMoKS5maW5kKGl0ZW0gPT4gdGhpcy5pc1N0cmljdE1hdGNoKGl0ZW0pKTtcblxuICAgICAgICBpZiAobWF0Y2ggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShtYXRjaCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChudWxsKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc3RyaWN0IHx8IHRoaXMuc2VhcmNoID09PSAnJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaG9zdGVkRHJvcGRvd24/LnVwZGF0ZU9wZW4odHJ1ZSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgdXBkYXRlVmFsdWUodmFsdWU6IFQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdGVkRHJvcGRvd24/LnVwZGF0ZU9wZW4oIXRoaXMub3Blbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1N0cmljdE1hdGNoKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RyaWN0TWF0Y2hlcihpdGVtLCB0aGlzLnNlYXJjaCB8fCAnJywgdGhpcy5zdHJpbmdpZnkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdGVkRHJvcGRvd24/LnVwZGF0ZU9wZW4oZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlU2VhcmNoKHNlYXJjaDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZWFyY2ggPT09IHNlYXJjaCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWFyY2ggPSBzZWFyY2g7XG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQoc2VhcmNoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE5hdGl2ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzSW5wdXQocHJldmVudFNjcm9sbDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPHR1aS1ob3N0ZWQtZHJvcGRvd25cbiAgICBjbGFzcz1cInQtaG9zdGVkXCJcbiAgICBbY2FuT3Blbl09XCJpbnRlcmFjdGl2ZVwiXG4gICAgW2NvbnRlbnRdPVwiZGF0YWxpc3QgfHwgJydcIlxuICAgIFsob3BlbildPVwib3BlblwiXG4gICAgKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpPVwib25BY3RpdmVab25lKCRldmVudClcIlxuPlxuICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWNvbWJvLWJveF9fdGV4dGZpZWxkXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRleHRmaWVsZFwiXG4gICAgICAgIFtwc2V1ZG9Gb2N1c109XCJjb21wdXRlZEZvY3VzZWRcIlxuICAgICAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgICAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgICAgICBbbmF0aXZlSWRdPVwibmF0aXZlSWRcIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICBbdHVpVGV4dGZpZWxkSWNvbl09XCJhcnJvdyA/IGljb24gOiAnJ1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgW2ZvY3VzYWJsZV09XCJjb21wdXRlZEZvY3VzYWJsZVwiXG4gICAgICAgIFt2YWx1ZV09XCJuYXRpdmVWYWx1ZVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkZpZWxkS2V5RG93bkVudGVyKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgICAgc2VsZWN0PVwiaW5wdXRcIlxuICAgICAgICAgICAgbmdQcm9qZWN0QXM9XCJpbnB1dFwiXG4gICAgICAgID48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd1ZhbHVlVGVtcGxhdGVcIlxuICAgICAgICAgICAgbmdQcm9qZWN0QXM9XCJ0dWlDb250ZW50XCJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktY29tYm8tYm94X190ZW1wbGF0ZVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtdmFsdWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImNvbXB1dGVkQ29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiB2YWx1ZSEsIGFjdGl2ZTogY29tcHV0ZWRGb2N1c2VkfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG5cbiAgICA8bmctdGVtcGxhdGUgI2ljb24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0LWljb25cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImFycm93XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L3R1aS1ob3N0ZWQtZHJvcGRvd24+XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./elastic-container.directive";
4
+ export class TuiElasticContainerComponent {
5
+ constructor() {
6
+ this.height = NaN;
7
+ }
8
+ }
9
+ TuiElasticContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElasticContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ TuiElasticContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiElasticContainerComponent, selector: "tui-elastic-container", host: { properties: { "style.height.px": "this.height" } }, ngImport: i0, template: "<div (tuiElasticContainer)=\"height = $event\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{transition-property:height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;overflow:hidden}\n"], directives: [{ type: i1.TuiElasticContainerDirective, selector: "[tuiElasticContainer]", outputs: ["tuiElasticContainer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElasticContainerComponent, decorators: [{
12
+ type: Component,
13
+ args: [{
14
+ selector: 'tui-elastic-container',
15
+ templateUrl: './elastic-container.component.html',
16
+ styleUrls: ['./elastic-container.component.less'],
17
+ changeDetection: ChangeDetectionStrategy.OnPush,
18
+ }]
19
+ }], propDecorators: { height: [{
20
+ type: HostBinding,
21
+ args: ['style.height.px']
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpYy1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZWxhc3RpYy1jb250YWluZXIvZWxhc3RpYy1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZWxhc3RpYy1jb250YWluZXIvZWxhc3RpYy1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQVE5RSxNQUFNLE9BQU8sNEJBQTRCO0lBTnpDO1FBUUksV0FBTSxHQUFHLEdBQUcsQ0FBQztLQUNoQjs7MEhBSFksNEJBQTRCOzhHQUE1Qiw0QkFBNEIseUhDUnpDLDBGQUdBOzRGREthLDRCQUE0QjtrQkFOeEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsb0NBQW9DO29CQUNqRCxTQUFTLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQztvQkFDakQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzhCQUdHLE1BQU07c0JBREwsV0FBVzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZWxhc3RpYy1jb250YWluZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lbGFzdGljLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZWxhc3RpYy1jb250YWluZXIuY29tcG9uZW50Lmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRWxhc3RpY0NvbnRhaW5lckNvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKVxuICAgIGhlaWdodCA9IE5hTjtcbn1cbiIsIjxkaXYgKHR1aUVsYXN0aWNDb250YWluZXIpPVwiaGVpZ2h0ID0gJGV2ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,58 @@
1
+ import { Directive, ElementRef, Inject, Output } from '@angular/core';
2
+ import { MUTATION_OBSERVER_INIT, MutationObserverService, } from '@ng-web-apis/mutation-observer';
3
+ import { ResizeObserverService } from '@ng-web-apis/resize-observer';
4
+ import { merge } from 'rxjs';
5
+ import { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "rxjs";
8
+ export class TuiElasticContainerDirective {
9
+ constructor(elementRef, resize$, mutation$) {
10
+ this.elementRef = elementRef;
11
+ this.resize$ = resize$;
12
+ this.mutation$ = mutation$;
13
+ this.tuiElasticContainer = merge(this.resize$, this.mutation$).pipe(debounceTime(0), map(() => this.elementRef.nativeElement.clientHeight), distinctUntilChanged());
14
+ }
15
+ }
16
+ TuiElasticContainerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElasticContainerDirective, deps: [{ token: ElementRef }, { token: ResizeObserverService }, { token: MutationObserverService }], target: i0.ɵɵFactoryTarget.Directive });
17
+ TuiElasticContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiElasticContainerDirective, selector: "[tuiElasticContainer]", outputs: { tuiElasticContainer: "tuiElasticContainer" }, providers: [
18
+ ResizeObserverService,
19
+ MutationObserverService,
20
+ {
21
+ provide: MUTATION_OBSERVER_INIT,
22
+ useValue: {
23
+ childList: true,
24
+ characterData: true,
25
+ subtree: true,
26
+ },
27
+ },
28
+ ], ngImport: i0 });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElasticContainerDirective, decorators: [{
30
+ type: Directive,
31
+ args: [{
32
+ selector: '[tuiElasticContainer]',
33
+ providers: [
34
+ ResizeObserverService,
35
+ MutationObserverService,
36
+ {
37
+ provide: MUTATION_OBSERVER_INIT,
38
+ useValue: {
39
+ childList: true,
40
+ characterData: true,
41
+ subtree: true,
42
+ },
43
+ },
44
+ ],
45
+ }]
46
+ }], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
47
+ type: Inject,
48
+ args: [ElementRef]
49
+ }] }, { type: i1.Observable, decorators: [{
50
+ type: Inject,
51
+ args: [ResizeObserverService]
52
+ }] }, { type: i1.Observable, decorators: [{
53
+ type: Inject,
54
+ args: [MutationObserverService]
55
+ }] }]; }, propDecorators: { tuiElasticContainer: [{
56
+ type: Output
57
+ }] } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpYy1jb250YWluZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZWxhc3RpYy1jb250YWluZXIvZWxhc3RpYy1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUNILHNCQUFzQixFQUN0Qix1QkFBdUIsR0FDMUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQWlCdkUsTUFBTSxPQUFPLDRCQUE0QjtJQVFyQyxZQUN5QyxVQUFtQyxFQUN4QixPQUE0QixFQUMxQixTQUE4QjtRQUYzQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUMxQixjQUFTLEdBQVQsU0FBUyxDQUFxQjtRQVQzRSx3QkFBbUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUNuRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQ2YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxFQUNyRCxvQkFBb0IsRUFBRSxDQUN6QixDQUFDO0lBTUMsQ0FBQzs7MEhBWkssNEJBQTRCLGtCQVN6QixVQUFVLGFBQ1YscUJBQXFCLGFBQ3JCLHVCQUF1Qjs4R0FYMUIsNEJBQTRCLHlHQWIxQjtRQUNQLHFCQUFxQjtRQUNyQix1QkFBdUI7UUFDdkI7WUFDSSxPQUFPLEVBQUUsc0JBQXNCO1lBQy9CLFFBQVEsRUFBRTtnQkFDTixTQUFTLEVBQUUsSUFBSTtnQkFDZixhQUFhLEVBQUUsSUFBSTtnQkFDbkIsT0FBTyxFQUFFLElBQUk7YUFDaEI7U0FDSjtLQUNKOzRGQUVRLDRCQUE0QjtrQkFmeEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxTQUFTLEVBQUU7d0JBQ1AscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCOzRCQUNJLE9BQU8sRUFBRSxzQkFBc0I7NEJBQy9CLFFBQVEsRUFBRTtnQ0FDTixTQUFTLEVBQUUsSUFBSTtnQ0FDZixhQUFhLEVBQUUsSUFBSTtnQ0FDbkIsT0FBTyxFQUFFLElBQUk7NkJBQ2hCO3lCQUNKO3FCQUNKO2lCQUNKOzswQkFVUSxNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQzVCLE1BQU07MkJBQUMsdUJBQXVCOzRDQVQxQixtQkFBbUI7c0JBRDNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBNVVRBVElPTl9PQlNFUlZFUl9JTklULFxuICAgIE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLFxufSBmcm9tICdAbmctd2ViLWFwaXMvbXV0YXRpb24tb2JzZXJ2ZXInO1xuaW1wb3J0IHtSZXNpemVPYnNlcnZlclNlcnZpY2V9IGZyb20gJ0BuZy13ZWItYXBpcy9yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHttZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlFbGFzdGljQ29udGFpbmVyXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFJlc2l6ZU9ic2VydmVyU2VydmljZSxcbiAgICAgICAgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE1VVEFUSU9OX09CU0VSVkVSX0lOSVQsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxuICAgICAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUVsYXN0aWNDb250YWluZXJEaXJlY3RpdmUge1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHR1aUVsYXN0aWNDb250YWluZXIgPSBtZXJnZSh0aGlzLnJlc2l6ZSQsIHRoaXMubXV0YXRpb24kKS5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMCksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFJlc2l6ZU9ic2VydmVyU2VydmljZSkgcHJpdmF0ZSByZWFkb25seSByZXNpemUkOiBPYnNlcnZhYmxlPHVua25vd24+LFxuICAgICAgICBASW5qZWN0KE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IG11dGF0aW9uJDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICApIHt9XG59XG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { TuiElasticContainerComponent } from './elastic-container.component';
3
+ import { TuiElasticContainerDirective } from './elastic-container.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class TuiElasticContainerModule {
6
+ }
7
+ TuiElasticContainerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElasticContainerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ TuiElasticContainerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElasticContainerModule, declarations: [TuiElasticContainerComponent, TuiElasticContainerDirective], exports: [TuiElasticContainerComponent] });
9
+ TuiElasticContainerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElasticContainerModule });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElasticContainerModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [TuiElasticContainerComponent, TuiElasticContainerDirective],
14
+ exports: [TuiElasticContainerComponent],
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpYy1jb250YWluZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZWxhc3RpYy1jb250YWluZXIvZWxhc3RpYy1jb250YWluZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFdkMsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDM0UsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sK0JBQStCLENBQUM7O0FBTTNFLE1BQU0sT0FBTyx5QkFBeUI7O3VIQUF6Qix5QkFBeUI7d0hBQXpCLHlCQUF5QixpQkFIbkIsNEJBQTRCLEVBQUUsNEJBQTRCLGFBQy9ELDRCQUE0Qjt3SEFFN0IseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBSnJDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsNEJBQTRCLEVBQUUsNEJBQTRCLENBQUM7b0JBQzFFLE9BQU8sRUFBRSxDQUFDLDRCQUE0QixDQUFDO2lCQUMxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1R1aUVsYXN0aWNDb250YWluZXJDb21wb25lbnR9IGZyb20gJy4vZWxhc3RpYy1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7VHVpRWxhc3RpY0NvbnRhaW5lckRpcmVjdGl2ZX0gZnJvbSAnLi9lbGFzdGljLWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1R1aUVsYXN0aWNDb250YWluZXJDb21wb25lbnQsIFR1aUVsYXN0aWNDb250YWluZXJEaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtUdWlFbGFzdGljQ29udGFpbmVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRWxhc3RpY0NvbnRhaW5lck1vZHVsZSB7fVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './elastic-container.component';
2
+ export * from './elastic-container.directive';
3
+ export * from './elastic-container.module';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9lbGFzdGljLWNvbnRhaW5lci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZWxhc3RpYy1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZWxhc3RpYy1jb250YWluZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxhc3RpYy1jb250YWluZXIubW9kdWxlJztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWkta2l0LWNvbXBvbmVudHMtZWxhc3RpYy1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9lbGFzdGljLWNvbnRhaW5lci90YWlnYS11aS1raXQtY29tcG9uZW50cy1lbGFzdGljLWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { tuiFormatSize } from '@taiga-ui/kit/utils';
3
+ export const TUI_FILE_DEFAULT_OPTIONS = {
4
+ formatSize: tuiFormatSize,
5
+ };
6
+ export const TUI_FILE_OPTIONS = new InjectionToken(`[TUI_FILE_OPTIONS]: Default parameters for file component`, {
7
+ factory: () => TUI_FILE_DEFAULT_OPTIONS,
8
+ });
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZmlsZXMvZmlsZS9maWxlLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFTbEQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQW1CO0lBQ3BELFVBQVUsRUFBRSxhQUFhO0NBQzVCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FDOUMsMkRBQTJELEVBQzNEO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLHdCQUF3QjtDQUMxQyxDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRm9ybWF0U2l6ZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpRmlsZU9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGZvcm1hdFNpemU6IChcbiAgICAgICAgdW5pdHM6IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXSxcbiAgICAgICAgc2l6ZT86IG51bWJlcixcbiAgICApID0+IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfRklMRV9ERUZBVUxUX09QVElPTlM6IFR1aUZpbGVPcHRpb25zID0ge1xuICAgIGZvcm1hdFNpemU6IHR1aUZvcm1hdFNpemUsXG59O1xuXG5leHBvcnQgY29uc3QgVFVJX0ZJTEVfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlGaWxlT3B0aW9ucz4oXG4gICAgYFtUVUlfRklMRV9PUFRJT05TXTogRGVmYXVsdCBwYXJhbWV0ZXJzIGZvciBmaWxlIGNvbXBvbmVudGAsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBUVUlfRklMRV9ERUZBVUxUX09QVElPTlMsXG4gICAgfSxcbik7XG4iXX0=
@@ -1,23 +1,23 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Inject, Input, Output, } from '@angular/core';
3
3
  import { DomSanitizer } from '@angular/platform-browser';
4
- import { TUI_IS_MOBILE, tuiDefaultProp, tuiIsObserved, tuiPure } from '@taiga-ui/cdk';
4
+ import { TUI_IS_MOBILE, tuiDefaultProp, tuiIsObserved, tuiPure, } from '@taiga-ui/cdk';
5
5
  import { TUI_DIGITAL_INFORMATION_UNITS, TUI_FILE_TEXTS } from '@taiga-ui/kit/tokens';
6
- import { tuiFormatSize } from '@taiga-ui/kit/utils/files';
7
6
  import { of } from 'rxjs';
8
7
  import { map } from 'rxjs/operators';
8
+ import { TUI_FILE_OPTIONS } from './file-options';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@taiga-ui/core";
11
11
  import * as i2 from "@angular/common";
12
12
  import * as i3 from "@taiga-ui/cdk";
13
13
  import * as i4 from "@tinkoff/ng-polymorpheus";
14
14
  import * as i5 from "@angular/platform-browser";
15
- import * as i6 from "rxjs";
16
15
  export class TuiFileComponent {
17
- constructor(isMobile, sanitizer, fileTexts$, units$) {
16
+ constructor(isMobile, sanitizer, fileTexts$, options, units$) {
18
17
  this.isMobile = isMobile;
19
18
  this.sanitizer = sanitizer;
20
19
  this.fileTexts$ = fileTexts$;
20
+ this.options = options;
21
21
  this.units$ = units$;
22
22
  this.file = { name: '' };
23
23
  this.state = 'normal';
@@ -86,7 +86,7 @@ export class TuiFileComponent {
86
86
  : of(this.file.content || '');
87
87
  }
88
88
  calculateFileSize$(file, units$) {
89
- return units$.pipe(map(units => tuiFormatSize(units, file.size)));
89
+ return units$.pipe(map(units => this.options.formatSize(units, file.size)));
90
90
  }
91
91
  createPreview(file, sanitizer) {
92
92
  if (file.src) {
@@ -105,8 +105,8 @@ export class TuiFileComponent {
105
105
  return `.${file.name.split('.').pop()}` || '';
106
106
  }
107
107
  }
108
- TuiFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFileComponent, deps: [{ token: TUI_IS_MOBILE }, { token: DomSanitizer }, { token: TUI_FILE_TEXTS }, { token: TUI_DIGITAL_INFORMATION_UNITS }], target: i0.ɵɵFactoryTarget.Component });
109
- TuiFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiFileComponent, selector: "tui-file", inputs: { file: "file", state: "state", size: "size", showDelete: "showDelete", showSize: "showSize", leftContent: "leftContent" }, outputs: { removed: "removed" }, host: { properties: { "class._focused": "this.focused", "class._link": "this.src" } }, ngImport: i0, template: "<ng-container\n *ngIf=\"!src; else withLink\"\n [ngTemplateOutlet]=\"fileInfoTemplate\"\n></ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent || defaultLeftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n </div>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n [class.t-remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n\n<ng-template #defaultLeftContent>\n <img\n *ngIf=\"preview; else loader\"\n automation-id=\"tui-file__preview\"\n class=\"t-image\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_deleted]=\"isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n</ng-template>\n", styles: [":host{position:relative;display:flex;align-items:center;font:var(--tui-font-text-m);background:var(--tui-base-01);border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host:not(._link){padding:.5625rem 2.1875rem .5625rem .5625rem}:host:hover .t-remove{opacity:1}:host._focused{border-color:var(--tui-focus);box-shadow:0 0 0 1px inset var(--tui-focus)}.t-link{display:flex;flex:1;padding:.5625rem 2.1875rem .5625rem .5625rem;text-decoration:none;outline:none;cursor:pointer;color:var(--tui-text-01);max-width:calc(100% - 2.75rem)}.t-link:hover{background-color:var(--tui-base-02)}.t-preview{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;margin-right:.75rem;border-radius:var(--tui-radius-m);overflow:hidden;color:var(--tui-base-06)}.t-preview_big{width:4rem;height:4rem;margin-right:1rem}.t-preview_big:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-base-08);opacity:.08}.t-image{max-width:100%;max-height:100%}.t-loader{position:absolute;top:0;left:0;width:100%;height:100%}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-success-fill)}.t-icon_error{color:var(--tui-error-fill)}.t-icon_deleted{color:var(--tui-base-06)}.t-remove{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.625rem;right:.625rem;opacity:0}.t-remove:focus,.t-remove_mobile{opacity:1}.t-wrapper{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.t-text{display:flex}.t-size{flex-shrink:0;opacity:var(--tui-disabled-opacity);margin-left:.5rem}.t-type{flex-shrink:0}.t-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-content{font:var(--tui-font-text-s);color:var(--tui-error-fill)}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
108
+ TuiFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFileComponent, deps: [{ token: TUI_IS_MOBILE }, { token: DomSanitizer }, { token: TUI_FILE_TEXTS }, { token: TUI_FILE_OPTIONS }, { token: TUI_DIGITAL_INFORMATION_UNITS }], target: i0.ɵɵFactoryTarget.Component });
109
+ TuiFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiFileComponent, selector: "tui-file", inputs: { file: "file", state: "state", size: "size", showDelete: "showDelete", showSize: "showSize", leftContent: "leftContent" }, outputs: { removed: "removed" }, host: { properties: { "class._focused": "this.focused", "class._link": "this.src" } }, ngImport: i0, template: "<ng-container\n *ngIf=\"!src; else withLink\"\n [ngTemplateOutlet]=\"fileInfoTemplate\"\n></ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent || defaultLeftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n </div>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n [class.t-remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n\n<ng-template #defaultLeftContent>\n <img\n *ngIf=\"preview; else loader\"\n automation-id=\"tui-file__preview\"\n alt=\"file preview\"\n class=\"t-image\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_deleted]=\"isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n</ng-template>\n", styles: [":host{position:relative;display:flex;align-items:center;font:var(--tui-font-text-m);background:var(--tui-base-01);border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host:not(._link){padding:.5625rem 2.1875rem .5625rem .5625rem}:host:hover .t-remove{opacity:1}:host._focused{border-color:var(--tui-focus);box-shadow:0 0 0 1px inset var(--tui-focus)}.t-link{display:flex;flex:1;padding:.5625rem 2.1875rem .5625rem .5625rem;text-decoration:none;outline:none;cursor:pointer;color:var(--tui-text-01);max-width:calc(100% - 2.75rem)}.t-link:hover{background-color:var(--tui-base-02)}.t-preview{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;margin-right:.75rem;border-radius:var(--tui-radius-m);overflow:hidden;color:var(--tui-base-06)}.t-preview_big{width:4rem;height:4rem;margin-right:1rem}.t-preview_big:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-base-08);opacity:.08}.t-image{max-width:100%;max-height:100%}.t-loader{position:absolute;top:0;left:0;width:100%;height:100%}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-success-fill)}.t-icon_error{color:var(--tui-error-fill)}.t-icon_deleted{color:var(--tui-base-06)}.t-remove{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.625rem;right:.625rem;opacity:0}.t-remove:focus,.t-remove_mobile{opacity:1}.t-wrapper{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.t-text{display:flex}.t-size{flex-shrink:0;opacity:var(--tui-disabled-opacity);margin-left:.5rem}.t-type{flex-shrink:0}.t-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-content{font:var(--tui-font-text-s);color:var(--tui-error-fill)}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
110
110
  __decorate([
111
111
  tuiDefaultProp()
112
112
  ], TuiFileComponent.prototype, "file", void 0);
@@ -154,10 +154,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
154
154
  }] }, { type: i5.DomSanitizer, decorators: [{
155
155
  type: Inject,
156
156
  args: [DomSanitizer]
157
- }] }, { type: i6.Observable, decorators: [{
157
+ }] }, { type: undefined, decorators: [{
158
158
  type: Inject,
159
159
  args: [TUI_FILE_TEXTS]
160
- }] }, { type: i6.Observable, decorators: [{
160
+ }] }, { type: undefined, decorators: [{
161
+ type: Inject,
162
+ args: [TUI_FILE_OPTIONS]
163
+ }] }, { type: undefined, decorators: [{
161
164
  type: Inject,
162
165
  args: [TUI_DIGITAL_INFORMATION_UNITS]
163
166
  }] }]; }, propDecorators: { file: [{
@@ -181,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
181
184
  type: HostBinding,
182
185
  args: ['class._link']
183
186
  }], calculateContent$: [], calculateFileSize$: [], createPreview: [], getName: [], getType: [] } });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9maWxlcy9maWxlL2ZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZmlsZXMvZmlsZS9maWxlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxhQUFhLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHcEYsT0FBTyxFQUFDLDZCQUE2QixFQUFFLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5GLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEVBQWEsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFVbkMsTUFBTSxPQUFPLGdCQUFnQjtJQStCekIsWUFDb0MsUUFBaUIsRUFDVixTQUF1QixFQUVyRCxVQUFpRCxFQUV6QyxNQUE0QztRQUw3QixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ1YsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUVyRCxlQUFVLEdBQVYsVUFBVSxDQUF1QztRQUV6QyxXQUFNLEdBQU4sTUFBTSxDQUFzQztRQWxDakUsU0FBSSxHQUFnQixFQUFDLElBQUksRUFBRSxFQUFFLEVBQUMsQ0FBQztRQUkvQixVQUFLLEdBQWlCLFFBQVEsQ0FB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OytDQUNjO0FBSS9CO0lBREMsY0FBYyxFQUFFOzhDQUNJO0FBSXJCO0lBREMsY0FBYyxFQUFFO29EQUNDO0FBSWxCO0lBREMsY0FBYyxFQUFFO2tEQUNEO0FBSWhCO0lBREMsY0FBYyxFQUFFO3FEQUNxQjtBQXNGdEM7SUFEQyxPQUFPO3lEQVNQO0FBR0Q7SUFEQyxPQUFPOzBEQU1QO0FBR0Q7SUFEQyxPQUFPO3FEQVlQO0FBR0Q7SUFEQyxPQUFPOytDQUdQO0FBR0Q7SUFEQyxPQUFPOytDQUdQOzRGQXJKUSxnQkFBZ0I7a0JBTjVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFdBQVcsRUFBRSxzQkFBc0I7b0JBQ25DLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNoQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQWlDUSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixNQUFNOzJCQUFDLGNBQWM7OzBCQUVyQixNQUFNOzJCQUFDLDZCQUE2Qjs0Q0FqQ3pDLElBQUk7c0JBRkgsS0FBSztnQkFNTixLQUFLO3NCQUZKLEtBQUs7Z0JBTU4sSUFBSTtzQkFGSCxLQUFLO2dCQU1OLFVBQVU7c0JBRlQsS0FBSztnQkFNTixRQUFRO3NCQUZQLEtBQUs7Z0JBTU4sV0FBVztzQkFGVixLQUFLO2dCQUtHLE9BQU87c0JBRGYsTUFBTTtnQkFJUCxPQUFPO3NCQUROLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQW9EekIsR0FBRztzQkFETixXQUFXO3VCQUFDLGFBQWE7Z0JBOEJsQixpQkFBaUIsTUFXakIsa0JBQWtCLE1BUWxCLGFBQWEsTUFjYixPQUFPLE1BS1AsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlVmFsdWV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFLCB0dWlEZWZhdWx0UHJvcCwgdHVpSXNPYnNlcnZlZCwgdHVpUHVyZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVNpemVMfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aUZpbGVMaWtlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfRElHSVRBTF9JTkZPUk1BVElPTl9VTklUUywgVFVJX0ZJTEVfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7VHVpRmlsZVN0YXRlfSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7dHVpRm9ybWF0U2l6ZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscy9maWxlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbnR5cGUgRmlsZVRleHRzID0gJ2xvYWRpbmdFcnJvcicgfCAncHJldmlldycgfCAncmVtb3ZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZmlsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmlsZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUZpbGVDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBmaWxlOiBUdWlGaWxlTGlrZSA9IHtuYW1lOiAnJ307XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RhdGU6IFR1aUZpbGVTdGF0ZSA9ICdub3JtYWwnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVMID0gJ20nO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNob3dEZWxldGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNob3dTaXplID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBsZWZ0Q29udGVudDogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgcmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2ZvY3VzZWQnKVxuICAgIGZvY3VzZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KERvbVNhbml0aXplcikgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgQEluamVjdChUVUlfRklMRV9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgZmlsZVRleHRzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8RmlsZVRleHRzLCBzdHJpbmc+PixcbiAgICAgICAgQEluamVjdChUVUlfRElHSVRBTF9JTkZPUk1BVElPTl9VTklUUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1bml0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nLCBzdHJpbmddPixcbiAgICApIHt9XG5cbiAgICBnZXQgcHJldmlldygpOiBTYWZlVmFsdWUge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0JpZyA/IHRoaXMuY3JlYXRlUHJldmlldyh0aGlzLmZpbGUsIHRoaXMuc2FuaXRpemVyKSA6ICcnO1xuICAgIH1cblxuICAgIGdldCBpc0JpZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ2wnO1xuICAgIH1cblxuICAgIGdldCBpc0xvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlID09PSAnbG9hZGluZyc7XG4gICAgfVxuXG4gICAgZ2V0IGlzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlID09PSAnZXJyb3InO1xuICAgIH1cblxuICAgIGdldCBpc0RlbGV0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlID09PSAnZGVsZXRlZCc7XG4gICAgfVxuXG4gICAgZ2V0IGFsbG93RGVsZXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93RGVsZXRlICYmIHR1aUlzT2JzZXJ2ZWQodGhpcy5yZW1vdmVkKTtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ25vcm1hbCcgJiYgdGhpcy5pc0JpZykge1xuICAgICAgICAgICAgcmV0dXJuICd0dWlJY29uRGVmYXVsdERvY0xhcmdlJztcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAodGhpcy5zdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAnZGVsZXRlZCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd0dWlJY29uVHJhc2hMYXJnZSc7XG4gICAgICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd0dWlJY29uQWxlcnRDaXJjbGVMYXJnZSc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAndHVpSWNvbkNoZWNrQ2lyY2xlTGFyZ2UnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fbGluaycpXG4gICAgZ2V0IHNyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlLnNyYyB8fCAnJztcbiAgICB9XG5cbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXROYW1lKHRoaXMuZmlsZSk7XG4gICAgfVxuXG4gICAgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHlwZSh0aGlzLmZpbGUpO1xuICAgIH1cblxuICAgIGdldCBjb250ZW50JCgpOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlQ29udGVudCQodGhpcy5zdGF0ZSwgdGhpcy5maWxlLCB0aGlzLmZpbGVUZXh0cyQpO1xuICAgIH1cblxuICAgIGdldCBmaWxlU2l6ZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZUZpbGVTaXplJCh0aGlzLmZpbGUsIHRoaXMudW5pdHMkKTtcbiAgICB9XG5cbiAgICBvblJlbW92ZUNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZWQuZW1pdCgpO1xuICAgIH1cblxuICAgIG9uRm9jdXNWaXNpYmxlKGZvY3VzVmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzZWQgPSBmb2N1c1Zpc2libGU7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZUNvbnRlbnQkKFxuICAgICAgICBzdGF0ZTogVHVpRmlsZVN0YXRlLFxuICAgICAgICBmaWxlOiBUdWlGaWxlTGlrZSxcbiAgICAgICAgZmlsZVRleHRzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8J2xvYWRpbmdFcnJvcicgfCAncHJldmlldycgfCAncmVtb3ZlJywgc3RyaW5nPj4sXG4gICAgKTogT2JzZXJ2YWJsZTxQb2x5bW9ycGhldXNDb250ZW50PiB7XG4gICAgICAgIHJldHVybiBzdGF0ZSA9PT0gJ2Vycm9yJyAmJiAhZmlsZS5jb250ZW50XG4gICAgICAgICAgICA/IGZpbGVUZXh0cyQucGlwZShtYXAodGV4dHMgPT4gdGV4dHMubG9hZGluZ0Vycm9yKSlcbiAgICAgICAgICAgIDogb2YodGhpcy5maWxlLmNvbnRlbnQgfHwgJycpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVGaWxlU2l6ZSQoXG4gICAgICAgIGZpbGU6IFR1aUZpbGVMaWtlLFxuICAgICAgICB1bml0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nLCBzdHJpbmddPixcbiAgICApOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICAgICAgcmV0dXJuIHVuaXRzJC5waXBlKG1hcCh1bml0cyA9PiB0dWlGb3JtYXRTaXplKHVuaXRzLCBmaWxlLnNpemUpKSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNyZWF0ZVByZXZpZXcoZmlsZTogVHVpRmlsZUxpa2UsIHNhbml0aXplcjogRG9tU2FuaXRpemVyKTogU2FmZVZhbHVlIHtcbiAgICAgICAgaWYgKGZpbGUuc3JjKSB7XG4gICAgICAgICAgICByZXR1cm4gZmlsZS5zcmM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUT0RPOiBpZnJhbWUgd2FybmluZ1xuICAgICAgICBpZiAoZmlsZSBpbnN0YW5jZW9mIEZpbGUgJiYgZmlsZS50eXBlICYmIGZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSkge1xuICAgICAgICAgICAgcmV0dXJuIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXROYW1lKGZpbGU6IFR1aUZpbGVMaWtlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGZpbGUubmFtZS5zcGxpdCgnLicpLnNsaWNlKDAsIC0xKS5qb2luKCcuJyk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldFR5cGUoZmlsZTogVHVpRmlsZUxpa2UpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYC4ke2ZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpfWAgfHwgJyc7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiIXNyYzsgZWxzZSB3aXRoTGlua1wiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmlsZUluZm9UZW1wbGF0ZVwiXG4+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjd2l0aExpbms+XG4gICAgPGFcbiAgICAgICAgcmVsPVwibm9yZWZlcnJlciBub29wZW5lclwiXG4gICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgIGNsYXNzPVwidC1saW5rXCJcbiAgICAgICAgW2hyZWZdPVwic3JjXCJcbiAgICAgICAgKHR1aUZvY3VzVmlzaWJsZUNoYW5nZSk9XCJvbkZvY3VzVmlzaWJsZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmlsZUluZm9UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZmlsZUluZm9UZW1wbGF0ZT5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidC1wcmV2aWV3XCJcbiAgICAgICAgW2NsYXNzLnQtcHJldmlld19iaWddPVwiaXNCaWdcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwibGVmdENvbnRlbnQgfHwgZGVmYXVsdExlZnRDb250ZW50IGFzIHRleHRcIj5cbiAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInQtd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidC10ZXh0XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1maWxlX19uYW1lXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtbmFtZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbmFtZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1maWxlX190eXBlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtdHlwZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdHlwZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93U2l6ZSAmJiAoZmlsZVNpemUkIHwgYXN5bmMpIGFzIGZpbGVTaXplXCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWZpbGVfX3NpemVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1zaXplXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBmaWxlU2l6ZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImNvbnRlbnQkIHwgYXN5bmMgYXMgY29udGVudFwiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWZpbGVfX2NvbnRlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50IGFzIHRleHRcIj5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWxsb3dEZWxldGVcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJmaWxlVGV4dHMkIHwgYXN5bmMgYXMgdGV4dHNcIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1maWxlX19yZW1vdmVcIlxuICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICAgICAgaWNvbj1cInR1aUljb25DbG9zZUxhcmdlXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1yZW1vdmVcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInRleHRzLnJlbW92ZVwiXG4gICAgICAgICAgICBbY2xhc3MudC1yZW1vdmVfbW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICAgICAgICAgIChjbGljay5wcmV2ZW50KT1cIm9uUmVtb3ZlQ2xpY2soKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdExlZnRDb250ZW50PlxuICAgIDxpbWdcbiAgICAgICAgKm5nSWY9XCJwcmV2aWV3OyBlbHNlIGxvYWRlclwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktZmlsZV9fcHJldmlld1wiXG4gICAgICAgIGNsYXNzPVwidC1pbWFnZVwiXG4gICAgICAgIFtzcmNdPVwicHJldmlld1wiXG4gICAgLz5cbiAgICA8bmctdGVtcGxhdGUgI2xvYWRlcj5cbiAgICAgICAgPHR1aS1sb2FkZXJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNMb2FkaW5nOyBlbHNlIHN2Z1wiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWZpbGVfX2xvYWRlclwiXG4gICAgICAgICAgICBjbGFzcz1cInQtbG9hZGVyXCJcbiAgICAgICAgICAgIFtpbmhlcml0Q29sb3JdPVwiaXNCaWdcIlxuICAgICAgICA+PC90dWktbG9hZGVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNzdmc+XG4gICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWZpbGVfX2ljb25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgW2NsYXNzLnQtaWNvbl9kZWxldGVkXT1cImlzRGVsZXRlZFwiXG4gICAgICAgICAgICBbY2xhc3MudC1pY29uX2Vycm9yXT1cImlzRXJyb3JcIlxuICAgICAgICAgICAgW3NyY109XCJpY29uXCJcbiAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9maWxlcy9maWxlL2ZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZmlsZXMvZmlsZS9maWxlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFDSCxhQUFhLEVBQ2IsY0FBYyxFQUVkLGFBQWEsRUFDYixPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFDLDZCQUE2QixFQUFFLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR25GLE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBUWhELE1BQU0sT0FBTyxnQkFBZ0I7SUErQnpCLFlBRWEsUUFBcUQsRUFDdkIsU0FBdUIsRUFFckQsVUFBd0QsRUFFaEQsT0FBdUQsRUFFdkQsTUFFaEI7UUFUUSxhQUFRLEdBQVIsUUFBUSxDQUE2QztRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBRXJELGVBQVUsR0FBVixVQUFVLENBQThDO1FBRWhELFlBQU8sR0FBUCxPQUFPLENBQWdEO1FBRXZELFdBQU0sR0FBTixNQUFNLENBRXRCO1FBdkNMLFNBQUksR0FBZ0IsRUFBQyxJQUFJLEVBQUUs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ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlVmFsdWV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtcbiAgICBUVUlfSVNfTU9CSUxFLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUluamVjdGlvblRva2VuVHlwZSxcbiAgICB0dWlJc09ic2VydmVkLFxuICAgIHR1aVB1cmUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlTaXplTH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlMYW5ndWFnZX0gZnJvbSAnQHRhaWdhLXVpL2kxOG4nO1xuaW1wb3J0IHtUdWlGaWxlTGlrZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX0RJR0lUQUxfSU5GT1JNQVRJT05fVU5JVFMsIFRVSV9GSUxFX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1R1aUZpbGVTdGF0ZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VFVJX0ZJTEVfT1BUSU9OU30gZnJvbSAnLi9maWxlLW9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1maWxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRmlsZUNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGZpbGU6IFR1aUZpbGVMaWtlID0ge25hbWU6ICcnfTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdGF0ZTogVHVpRmlsZVN0YXRlID0gJ25vcm1hbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZUwgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2hvd0RlbGV0ZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2hvd1NpemUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGxlZnRDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50ID0gJyc7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSByZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZm9jdXNlZCcpXG4gICAgZm9jdXNlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX01PQklMRSlcbiAgICAgICAgcmVhZG9ubHkgaXNNb2JpbGU6IFR1aUluamVjdGlvblRva2VuVHlwZTx0eXBlb2YgVFVJX0lTX01PQklMRT4sXG4gICAgICAgIEBJbmplY3QoRG9tU2FuaXRpemVyKSBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBASW5qZWN0KFRVSV9GSUxFX1RFWFRTKVxuICAgICAgICByZWFkb25seSBmaWxlVGV4dHMkOiBUdWlJbmplY3Rpb25Ub2tlblR5cGU8dHlwZW9mIFRVSV9GSUxFX1RFWFRTPixcbiAgICAgICAgQEluamVjdChUVUlfRklMRV9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUluamVjdGlvblRva2VuVHlwZTx0eXBlb2YgVFVJX0ZJTEVfT1BUSU9OUz4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RJR0lUQUxfSU5GT1JNQVRJT05fVU5JVFMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdW5pdHMkOiBUdWlJbmplY3Rpb25Ub2tlblR5cGU8XG4gICAgICAgICAgICB0eXBlb2YgVFVJX0RJR0lUQUxfSU5GT1JNQVRJT05fVU5JVFNcbiAgICAgICAgPixcbiAgICApIHt9XG5cbiAgICBnZXQgcHJldmlldygpOiBTYWZlVmFsdWUge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0JpZyA/IHRoaXMuY3JlYXRlUHJldmlldyh0aGlzLmZpbGUsIHRoaXMuc2FuaXRpemVyKSA6ICcnO1xuICAgIH1cblxuICAgIGdldCBpc0JpZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ2wnO1xuICAgIH1cblxuICAgIGdldCBpc0xvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlID09PSAnbG9hZGluZyc7XG4gICAgfVxuXG4gICAgZ2V0IGlzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlID09PSAnZXJyb3InO1xuICAgIH1cblxuICAgIGdldCBpc0RlbGV0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlID09PSAnZGVsZXRlZCc7XG4gICAgfVxuXG4gICAgZ2V0IGFsbG93RGVsZXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93RGVsZXRlICYmIHR1aUlzT2JzZXJ2ZWQodGhpcy5yZW1vdmVkKTtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ25vcm1hbCcgJiYgdGhpcy5pc0JpZykge1xuICAgICAgICAgICAgcmV0dXJuICd0dWlJY29uRGVmYXVsdERvY0xhcmdlJztcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAodGhpcy5zdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAnZGVsZXRlZCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd0dWlJY29uVHJhc2hMYXJnZSc7XG4gICAgICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd0dWlJY29uQWxlcnRDaXJjbGVMYXJnZSc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAndHVpSWNvbkNoZWNrQ2lyY2xlTGFyZ2UnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fbGluaycpXG4gICAgZ2V0IHNyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlLnNyYyB8fCAnJztcbiAgICB9XG5cbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXROYW1lKHRoaXMuZmlsZSk7XG4gICAgfVxuXG4gICAgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHlwZSh0aGlzLmZpbGUpO1xuICAgIH1cblxuICAgIGdldCBjb250ZW50JCgpOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlQ29udGVudCQodGhpcy5zdGF0ZSwgdGhpcy5maWxlLCB0aGlzLmZpbGVUZXh0cyQpO1xuICAgIH1cblxuICAgIGdldCBmaWxlU2l6ZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZUZpbGVTaXplJCh0aGlzLmZpbGUsIHRoaXMudW5pdHMkKTtcbiAgICB9XG5cbiAgICBvblJlbW92ZUNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZWQuZW1pdCgpO1xuICAgIH1cblxuICAgIG9uRm9jdXNWaXNpYmxlKGZvY3VzVmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzZWQgPSBmb2N1c1Zpc2libGU7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZUNvbnRlbnQkKFxuICAgICAgICBzdGF0ZTogVHVpRmlsZVN0YXRlLFxuICAgICAgICBmaWxlOiBUdWlGaWxlTGlrZSxcbiAgICAgICAgZmlsZVRleHRzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8a2V5b2YgVHVpTGFuZ3VhZ2VbJ2ZpbGVUZXh0cyddLCBzdHJpbmc+PixcbiAgICApOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHN0YXRlID09PSAnZXJyb3InICYmICFmaWxlLmNvbnRlbnRcbiAgICAgICAgICAgID8gZmlsZVRleHRzJC5waXBlKG1hcCh0ZXh0cyA9PiB0ZXh0cy5sb2FkaW5nRXJyb3IpKVxuICAgICAgICAgICAgOiBvZih0aGlzLmZpbGUuY29udGVudCB8fCAnJyk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZUZpbGVTaXplJChcbiAgICAgICAgZmlsZTogVHVpRmlsZUxpa2UsXG4gICAgICAgIHVuaXRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10+LFxuICAgICk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gdW5pdHMkLnBpcGUobWFwKHVuaXRzID0+IHRoaXMub3B0aW9ucy5mb3JtYXRTaXplKHVuaXRzLCBmaWxlLnNpemUpKSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNyZWF0ZVByZXZpZXcoZmlsZTogVHVpRmlsZUxpa2UsIHNhbml0aXplcjogRG9tU2FuaXRpemVyKTogU2FmZVZhbHVlIHtcbiAgICAgICAgaWYgKGZpbGUuc3JjKSB7XG4gICAgICAgICAgICByZXR1cm4gZmlsZS5zcmM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUT0RPOiBpZnJhbWUgd2FybmluZ1xuICAgICAgICBpZiAoZmlsZSBpbnN0YW5jZW9mIEZpbGUgJiYgZmlsZS50eXBlICYmIGZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSkge1xuICAgICAgICAgICAgcmV0dXJuIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXROYW1lKGZpbGU6IFR1aUZpbGVMaWtlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGZpbGUubmFtZS5zcGxpdCgnLicpLnNsaWNlKDAsIC0xKS5qb2luKCcuJyk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldFR5cGUoZmlsZTogVHVpRmlsZUxpa2UpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYC4ke2ZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpfWAgfHwgJyc7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiIXNyYzsgZWxzZSB3aXRoTGlua1wiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmlsZUluZm9UZW1wbGF0ZVwiXG4+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjd2l0aExpbms+XG4gICAgPGFcbiAgICAgICAgcmVsPVwibm9yZWZlcnJlciBub29wZW5lclwiXG4gICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgIGNsYXNzPVwidC1saW5rXCJcbiAgICAgICAgW2hyZWZdPVwic3JjXCJcbiAgICAgICAgKHR1aUZvY3VzVmlzaWJsZUNoYW5nZSk9XCJvbkZvY3VzVmlzaWJsZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmlsZUluZm9UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZmlsZUluZm9UZW1wbGF0ZT5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidC1wcmV2aWV3XCJcbiAgICAgICAgW2NsYXNzLnQtcHJldmlld19iaWddPVwiaXNCaWdcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwibGVmdENvbnRlbnQgfHwgZGVmYXVsdExlZnRDb250ZW50IGFzIHRleHRcIj5cbiAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInQtd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidC10ZXh0XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1maWxlX19uYW1lXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtbmFtZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbmFtZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1maWxlX190eXBlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtdHlwZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdHlwZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93U2l6ZSAmJiAoZmlsZVNpemUkIHwgYXN5bmMpIGFzIGZpbGVTaXplXCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWZpbGVfX3NpemVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1zaXplXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBmaWxlU2l6ZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImNvbnRlbnQkIHwgYXN5bmMgYXMgY29udGVudFwiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWZpbGVfX2NvbnRlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50IGFzIHRleHRcIj5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWxsb3dEZWxldGVcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJmaWxlVGV4dHMkIHwgYXN5bmMgYXMgdGV4dHNcIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1maWxlX19yZW1vdmVcIlxuICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICAgICAgaWNvbj1cInR1aUljb25DbG9zZUxhcmdlXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1yZW1vdmVcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInRleHRzLnJlbW92ZVwiXG4gICAgICAgICAgICBbY2xhc3MudC1yZW1vdmVfbW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICAgICAgICAgIChjbGljay5wcmV2ZW50KT1cIm9uUmVtb3ZlQ2xpY2soKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdExlZnRDb250ZW50PlxuICAgIDxpbWdcbiAgICAgICAgKm5nSWY9XCJwcmV2aWV3OyBlbHNlIGxvYWRlclwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktZmlsZV9fcHJldmlld1wiXG4gICAgICAgIGFsdD1cImZpbGUgcHJldmlld1wiXG4gICAgICAgIGNsYXNzPVwidC1pbWFnZVwiXG4gICAgICAgIFtzcmNdPVwicHJldmlld1wiXG4gICAgLz5cbiAgICA8bmctdGVtcGxhdGUgI2xvYWRlcj5cbiAgICAgICAgPHR1aS1sb2FkZXJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNMb2FkaW5nOyBlbHNlIHN2Z1wiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWZpbGVfX2xvYWRlclwiXG4gICAgICAgICAgICBjbGFzcz1cInQtbG9hZGVyXCJcbiAgICAgICAgICAgIFtpbmhlcml0Q29sb3JdPVwiaXNCaWdcIlxuICAgICAgICA+PC90dWktbG9hZGVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNzdmc+XG4gICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWZpbGVfX2ljb25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgW2NsYXNzLnQtaWNvbl9kZWxldGVkXT1cImlzRGVsZXRlZFwiXG4gICAgICAgICAgICBbY2xhc3MudC1pY29uX2Vycm9yXT1cImlzRXJyb3JcIlxuICAgICAgICAgICAgW3NyY109XCJpY29uXCJcbiAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==