@taiga-ui/kit 3.6.0 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-action.umd.js +1 -1
  4. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-arrow.umd.js +1 -1
  6. package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-avatar.umd.js +2 -2
  8. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-badge.umd.js +1 -1
  10. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-carousel.umd.js +1 -1
  12. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-files.umd.js +1 -1
  14. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +1 -1
  16. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
  18. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +1 -1
  20. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +1 -1
  22. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +1 -1
  24. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-multi-select.umd.js +7 -40
  26. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +1 -1
  28. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-progress.umd.js +3 -3
  30. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  32. package/bundles/taiga-ui-kit-components-select-option.umd.js +1 -1
  33. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
  36. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-tabs.umd.js +148 -59
  38. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-tag.umd.js +1 -1
  40. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-text-area.umd.js +1 -1
  42. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-toggle.umd.js +1 -1
  44. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-tree.umd.js +2 -2
  46. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-constants.umd.js +0 -3
  48. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  49. package/components/multi-select/multi-select.component.d.ts +3 -11
  50. package/components/tabs/index.d.ts +2 -0
  51. package/components/tabs/tabs/tabs.component.d.ts +9 -9
  52. package/components/tabs/tabs-vertical/tabs-vertical.component.d.ts +11 -0
  53. package/components/tabs/tabs.directive.d.ts +15 -0
  54. package/components/tabs/tabs.module.d.ts +8 -6
  55. package/components/tree/components/tree-item/tree-item.component.d.ts +1 -1
  56. package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +1 -1
  57. package/components/tree/misc/tree.constants.d.ts +1 -1
  58. package/components/tree/misc/tree.tokens.d.ts +1 -1
  59. package/constants/index.d.ts +0 -1
  60. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +1 -1
  61. package/esm2015/components/action/action.component.js +1 -1
  62. package/esm2015/components/arrow/arrow-options.js +3 -1
  63. package/esm2015/components/arrow/arrow.component.js +4 -2
  64. package/esm2015/components/avatar/avatar.component.js +3 -3
  65. package/esm2015/components/badge/badge.component.js +1 -1
  66. package/esm2015/components/carousel/carousel.component.js +1 -1
  67. package/esm2015/components/files/file/file.component.js +1 -1
  68. package/esm2015/components/input-phone-international/input-phone-international.component.js +2 -2
  69. package/esm2015/components/input-tag/input-tag.component.js +2 -2
  70. package/esm2015/components/line-clamp/line-clamp.component.js +1 -1
  71. package/esm2015/components/marker-icon/marker-icon.component.js +1 -1
  72. package/esm2015/components/multi-select/multi-select.component.js +5 -30
  73. package/esm2015/components/multi-select-option/multi-select-option.component.js +1 -1
  74. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
  75. package/esm2015/components/progress/progress-bar/progress-bar.component.js +1 -1
  76. package/esm2015/components/progress/progress-circle/progress-circle.component.js +1 -1
  77. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +1 -1
  78. package/esm2015/components/push/push-alert.component.js +3 -1
  79. package/esm2015/components/push/push-alert.directive.js +3 -1
  80. package/esm2015/components/push/push.service.js +3 -1
  81. package/esm2015/components/select-option/select-option.component.js +1 -1
  82. package/esm2015/components/slider/helpers/slider-key-steps.directive.js +3 -1
  83. package/esm2015/components/slider/slider.component.js +3 -1
  84. package/esm2015/components/stepper/step/step.component.js +4 -2
  85. package/esm2015/components/stepper/stepper.component.js +3 -1
  86. package/esm2015/components/tabs/index.js +3 -1
  87. package/esm2015/components/tabs/tab/tab.component.js +1 -1
  88. package/esm2015/components/tabs/tabs/tabs.component.js +29 -51
  89. package/esm2015/components/tabs/tabs-vertical/tabs-vertical.component.js +48 -0
  90. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +8 -7
  91. package/esm2015/components/tabs/tabs.directive.js +60 -0
  92. package/esm2015/components/tabs/tabs.module.js +14 -4
  93. package/esm2015/components/tabs/underline/underline.component.js +1 -1
  94. package/esm2015/components/tag/tag.component.js +1 -1
  95. package/esm2015/components/text-area/text-area.component.js +1 -1
  96. package/esm2015/components/toggle/toggle.component.js +1 -1
  97. package/esm2015/components/tree/components/tree-item/tree-item.component.js +5 -2
  98. package/esm2015/components/tree/components/tree-item/tree-item.providers.js +4 -1
  99. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +5 -2
  100. package/esm2015/components/tree/misc/tree.constants.js +3 -1
  101. package/esm2015/components/tree/misc/tree.interfaces.js +1 -1
  102. package/esm2015/components/tree/misc/tree.tokens.js +3 -1
  103. package/esm2015/constants/index.js +1 -2
  104. package/fesm2015/taiga-ui-kit-components-accordion.js +1 -1
  105. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  106. package/fesm2015/taiga-ui-kit-components-action.js +1 -1
  107. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  108. package/fesm2015/taiga-ui-kit-components-arrow.js +1 -1
  109. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  110. package/fesm2015/taiga-ui-kit-components-avatar.js +2 -2
  111. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  112. package/fesm2015/taiga-ui-kit-components-badge.js +1 -1
  113. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  114. package/fesm2015/taiga-ui-kit-components-carousel.js +1 -1
  115. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  116. package/fesm2015/taiga-ui-kit-components-files.js +1 -1
  117. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  118. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -1
  119. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  120. package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
  121. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  122. package/fesm2015/taiga-ui-kit-components-line-clamp.js +1 -1
  123. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  124. package/fesm2015/taiga-ui-kit-components-marker-icon.js +1 -1
  125. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  126. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +1 -1
  127. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  128. package/fesm2015/taiga-ui-kit-components-multi-select.js +4 -29
  129. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  130. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +1 -1
  131. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  132. package/fesm2015/taiga-ui-kit-components-progress.js +3 -3
  133. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  134. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  135. package/fesm2015/taiga-ui-kit-components-select-option.js +1 -1
  136. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  137. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  138. package/fesm2015/taiga-ui-kit-components-stepper.js +1 -1
  139. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  140. package/fesm2015/taiga-ui-kit-components-tabs.js +137 -55
  141. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  142. package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
  143. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  144. package/fesm2015/taiga-ui-kit-components-text-area.js +1 -1
  145. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  146. package/fesm2015/taiga-ui-kit-components-toggle.js +1 -1
  147. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  148. package/fesm2015/taiga-ui-kit-components-tree.js +2 -2
  149. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  150. package/fesm2015/taiga-ui-kit-constants.js +1 -3
  151. package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
  152. package/package.json +4 -4
  153. package/constants/icon-blank.d.ts +0 -1
  154. package/esm2015/constants/icon-blank.js +0 -2
@@ -4,6 +4,8 @@ import { tuiDefaultProp, TuiDestroyService, TuiFocusVisibleService } from '@taig
4
4
  import { TuiRouterLinkActiveService } from '@taiga-ui/core';
5
5
  import { identity } from 'rxjs';
6
6
  import { filter } from 'rxjs/operators';
7
+ // TODO: find the best way for prevent cycle
8
+ // eslint-disable-next-line import/no-cycle
7
9
  import { TuiStepperComponent } from '../stepper.component';
8
10
  import * as i0 from "@angular/core";
9
11
  import * as i1 from "@taiga-ui/core";
@@ -42,7 +44,7 @@ export class TuiStepComponent {
42
44
  }
43
45
  }
44
46
  TuiStepComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiStepComponent, deps: [{ token: TuiFocusVisibleService }, { token: TuiRouterLinkActiveService }, { token: TuiStepperComponent }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
45
- TuiStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiStepComponent, selector: "button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]", inputs: { stepState: "stepState", icon: "icon" }, host: { attributes: { "type": "button" }, listeners: { "click": "activate()" }, properties: { "attr.data-state": "this.stepState", "class._focus-visible": "this.focusVisible", "class._active": "this.isActive", "class._vertical": "this.isVertical", "tabIndex": "this.tabIndex" } }, providers: [TuiDestroyService, TuiRouterLinkActiveService, TuiFocusVisibleService], ngImport: i0, template: "<tui-svg\n *ngIf=\"icon\"\n class=\"t-marker t-marker_custom\"\n [src]=\"icon\"\n></tui-svg>\n<tui-svg\n src=\"tuiIconWarningLarge\"\n class=\"t-marker t-marker_error\"\n></tui-svg>\n<tui-svg\n src=\"tuiIconCheckLarge\"\n class=\"t-marker t-marker_pass\"\n></tui-svg>\n<div class=\"t-marker t-marker_index\"></div>\n<ng-content></ng-content>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;position:relative;display:flex;align-items:center;flex-shrink:0;color:var(--tui-link);margin-right:2rem;outline:none;cursor:pointer;text-decoration:none;counter-increment:steps}:host:disabled{pointer-events:none;color:var(--tui-base-07)}:host:hover{color:var(--tui-link-hover)}:host:not(:last-of-type)._vertical{margin-bottom:1.25rem}:host._active,:host._active:hover{color:var(--tui-text-01);cursor:default}:host._focus-visible:before{content:\"\";position:absolute;left:2.75rem;right:0;top:50%;height:1.5rem;margin-top:-.75rem;background:var(--tui-selection)}.t-marker{transition-property:background;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;width:2rem;height:2rem;border-radius:100%;margin-right:.75rem;flex-shrink:0;align-items:center;justify-content:center;background:var(--tui-secondary);color:var(--tui-link)}:host:disabled .t-marker{background:var(--tui-base-03);color:var(--tui-base-07)}.t-marker_index:before{content:counter(steps)}:host:hover .t-marker_index{color:var(--tui-link-hover);background:var(--tui-secondary-hover)}:host._active .t-marker_index{color:var(--tui-primary-text);background:var(--tui-primary)}:host:not([data-state=\"normal\"]):not(._active) .t-marker_index,:host:not(._active) .t-marker_custom~.t-marker_index{display:none}.t-marker_error{background:var(--tui-error-bg);color:var(--tui-error-fill)}:host:hover .t-marker_error{background:var(--tui-error-bg-hover);color:var(--tui-error-fill)}:host:not([data-state=\"error\"]) .t-marker_error,:host._active .t-marker_error{display:none}:host:not([data-state=\"pass\"]) .t-marker_pass,:host._active .t-marker_pass{display:none}:host:not([data-state=\"normal\"]) .t-marker_custom,:host._active .t-marker_custom{display:none}:host:hover .t-marker_custom{color:var(--tui-link-hover);background:var(--tui-secondary-hover)}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
47
+ TuiStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiStepComponent, selector: "button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]", inputs: { stepState: "stepState", icon: "icon" }, host: { attributes: { "type": "button" }, listeners: { "click": "activate()" }, properties: { "attr.data-state": "this.stepState", "class._focus-visible": "this.focusVisible", "class._active": "this.isActive", "class._vertical": "this.isVertical", "tabIndex": "this.tabIndex" } }, providers: [TuiDestroyService, TuiRouterLinkActiveService, TuiFocusVisibleService], ngImport: i0, template: "<tui-svg\n *ngIf=\"icon\"\n class=\"t-marker t-marker_custom\"\n [src]=\"icon\"\n></tui-svg>\n<tui-svg\n src=\"tuiIconWarningLarge\"\n class=\"t-marker t-marker_error\"\n></tui-svg>\n<tui-svg\n src=\"tuiIconCheckLarge\"\n class=\"t-marker t-marker_pass\"\n></tui-svg>\n<div class=\"t-marker t-marker_index\"></div>\n<ng-content></ng-content>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;position:relative;display:flex;align-items:center;flex-shrink:0;color:var(--tui-link);margin-right:2rem;outline:none;cursor:pointer;text-decoration:none;counter-increment:steps}:host:disabled{pointer-events:none;color:var(--tui-base-07)}:host:hover{color:var(--tui-link-hover)}:host:not(:last-of-type)._vertical{margin-bottom:1.25rem}:host._active,:host._active:hover{color:var(--tui-text-01);cursor:default}:host._focus-visible:before{content:\"\";position:absolute;left:2.75rem;right:0;top:50%;height:1.5rem;margin-top:-.75rem;background:var(--tui-selection)}.t-marker{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;width:2rem;height:2rem;border-radius:100%;margin-right:.75rem;flex-shrink:0;align-items:center;justify-content:center;background:var(--tui-secondary);color:var(--tui-link)}:host:disabled .t-marker{background:var(--tui-base-03);color:var(--tui-base-07)}.t-marker_index:before{content:counter(steps)}:host:hover .t-marker_index{color:var(--tui-link-hover);background:var(--tui-secondary-hover)}:host._active .t-marker_index{color:var(--tui-primary-text);background:var(--tui-primary)}:host:not([data-state=\"normal\"]):not(._active) .t-marker_index,:host:not(._active) .t-marker_custom~.t-marker_index{display:none}.t-marker_error{background:var(--tui-error-bg);color:var(--tui-error-fill)}:host:hover .t-marker_error{background:var(--tui-error-bg-hover);color:var(--tui-error-fill)}:host:not([data-state=\"error\"]) .t-marker_error,:host._active .t-marker_error{display:none}:host:not([data-state=\"pass\"]) .t-marker_pass,:host._active .t-marker_pass{display:none}:host:not([data-state=\"normal\"]) .t-marker_custom,:host._active .t-marker_custom{display:none}:host:hover .t-marker_custom{color:var(--tui-link-hover);background:var(--tui-secondary-hover)}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
46
48
  __decorate([
47
49
  tuiDefaultProp()
48
50
  ], TuiStepComponent.prototype, "stepState", void 0);
@@ -96,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
96
98
  type: HostListener,
97
99
  args: [`click`]
98
100
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXAvc3RlcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXAvc3RlcC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFFBQVEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFZekQsTUFBTSxPQUFPLGdCQUFnQjtJQWF6QixZQUNvQyxhQUFxQyxFQUNqQyxpQkFBc0MsRUFDNUIsT0FBNEIsRUFDckMsVUFBbUM7UUFEMUIsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFDckMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFiNUUsY0FBUyxHQUFnQyxRQUFRLENBQUM7UUFJbEQsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUdWLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBUWpCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3BELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztRQUVILGFBQWEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQ0ksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEtBQUssVUFBVSxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBR0QsUUFBUTtRQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDOzs4R0FsRFEsZ0JBQWdCLGtCQWNiLHNCQUFzQixhQUN0QiwwQkFBMEIsYUFDMUIsbUJBQW1CLGFBQ25CLFVBQVU7a0dBakJiLGdCQUFnQiw2YkFMZCxDQUFDLGlCQUFpQixFQUFFLDBCQUEwQixFQUFFLHNCQUFzQixDQUFDLDBCQ3JCdEYsOFdBZUE7QURlSTtJQURDLGNBQWMsRUFBRTttREFDaUM7QUFJbEQ7SUFEQyxjQUFjLEVBQUU7OENBQ1A7NEZBUkQsZ0JBQWdCO2tCQVY1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5RkFBeUY7b0JBQ25HLFdBQVcsRUFBRSxzQkFBc0I7b0JBQ25DLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNoQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLENBQUM7b0JBQ2xGLElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsUUFBUTtxQkFDakI7aUJBQ0o7OzBCQWVRLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDN0IsTUFBTTsyQkFBQywwQkFBMEI7OzBCQUNqQyxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQzFCLE1BQU07MkJBQUMsVUFBVTs0Q0FidEIsU0FBUztzQkFIUixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFNOUIsSUFBSTtzQkFGSCxLQUFLO2dCQUtOLFlBQVk7c0JBRFgsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBbUIvQixRQUFRO3NCQURYLFdBQVc7dUJBQUMsZUFBZTtnQkFNeEIsVUFBVTtzQkFEYixXQUFXO3VCQUFDLGlCQUFpQjtnQkFNMUIsUUFBUTtzQkFEWCxXQUFXO3VCQUFDLFVBQVU7Z0JBVXZCLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRGVmYXVsdFByb3AsIFR1aURlc3Ryb3lTZXJ2aWNlLCBUdWlGb2N1c1Zpc2libGVTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpUm91dGVyTGlua0FjdGl2ZVNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7aWRlbnRpdHksIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUdWlTdGVwcGVyQ29tcG9uZW50fSBmcm9tICcuLi9zdGVwcGVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgYnV0dG9uW3R1aVN0ZXBdLCBhW3R1aVN0ZXBdOm5vdChbcm91dGVyTGlua10pLCBhW3R1aVN0ZXBdW3JvdXRlckxpbmtdW3JvdXRlckxpbmtBY3RpdmVdYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vc3RlcC50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9zdGVwLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZSwgVHVpUm91dGVyTGlua0FjdGl2ZVNlcnZpY2UsIFR1aUZvY3VzVmlzaWJsZVNlcnZpY2VdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHlwZTogYGJ1dHRvbmAsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU3RlcENvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGF0dHIuZGF0YS1zdGF0ZWApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdGVwU3RhdGU6ICdub3JtYWwnIHwgJ3Bhc3MnIHwgJ2Vycm9yJyA9IGBub3JtYWxgO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGljb24gPSBgYDtcblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX2ZvY3VzLXZpc2libGVgKVxuICAgIGZvY3VzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpRm9jdXNWaXNpYmxlU2VydmljZSkgZm9jdXNWaXNpYmxlJDogVHVpRm9jdXNWaXNpYmxlU2VydmljZSxcbiAgICAgICAgQEluamVjdChUdWlSb3V0ZXJMaW5rQWN0aXZlU2VydmljZSkgcm91dGVyTGlua0FjdGl2ZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4sXG4gICAgICAgIEBJbmplY3QoVHVpU3RlcHBlckNvbXBvbmVudCkgcHJpdmF0ZSByZWFkb25seSBzdGVwcGVyOiBUdWlTdGVwcGVyQ29tcG9uZW50LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgKSB7XG4gICAgICAgIHJvdXRlckxpbmtBY3RpdmUkLnBpcGUoZmlsdGVyKGlkZW50aXR5KSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZm9jdXNWaXNpYmxlJC5zdWJzY3JpYmUodmlzaWJsZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzVmlzaWJsZSA9IHZpc2libGU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX2FjdGl2ZWApXG4gICAgZ2V0IGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGVwcGVyLmlzQWN0aXZlKHRoaXMuaW5kZXgpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX3ZlcnRpY2FsYClcbiAgICBnZXQgaXNWZXJ0aWNhbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RlcHBlci5vcmllbnRhdGlvbiA9PT0gYHZlcnRpY2FsYDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYHRhYkluZGV4YClcbiAgICBnZXQgdGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBY3RpdmUgPyAwIDogLTE7XG4gICAgfVxuXG4gICAgZ2V0IGluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBwZXIuaW5kZXhPZih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihgY2xpY2tgKVxuICAgIGFjdGl2YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0ZXBwZXIuYWN0aXZhdGUodGhpcy5pbmRleCk7XG4gICAgfVxufVxuIiwiPHR1aS1zdmdcbiAgICAqbmdJZj1cImljb25cIlxuICAgIGNsYXNzPVwidC1tYXJrZXIgdC1tYXJrZXJfY3VzdG9tXCJcbiAgICBbc3JjXT1cImljb25cIlxuPjwvdHVpLXN2Zz5cbjx0dWktc3ZnXG4gICAgc3JjPVwidHVpSWNvbldhcm5pbmdMYXJnZVwiXG4gICAgY2xhc3M9XCJ0LW1hcmtlciB0LW1hcmtlcl9lcnJvclwiXG4+PC90dWktc3ZnPlxuPHR1aS1zdmdcbiAgICBzcmM9XCJ0dWlJY29uQ2hlY2tMYXJnZVwiXG4gICAgY2xhc3M9XCJ0LW1hcmtlciB0LW1hcmtlcl9wYXNzXCJcbj48L3R1aS1zdmc+XG48ZGl2IGNsYXNzPVwidC1tYXJrZXIgdC1tYXJrZXJfaW5kZXhcIj48L2Rpdj5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXAvc3RlcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXAvc3RlcC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFFBQVEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEMsNENBQTRDO0FBQzVDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVl6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBYXpCLFlBQ29DLGFBQXFDLEVBQ2pDLGlCQUFzQyxFQUM1QixPQUE0QixFQUNyQyxVQUFtQztRQUQxQixZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUNyQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQWI1RSxjQUFTLEdBQWdDLFFBQVEsQ0FBQztRQUlsRCxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBR1YsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFRakIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDcEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBRUgsYUFBYSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFDSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsS0FBSyxVQUFVLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFHRCxRQUFRO1FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OzhHQWxEUSxnQkFBZ0Isa0JBY2Isc0JBQXNCLGFBQ3RCLDBCQUEwQixhQUMxQixtQkFBbUIsYUFDbkIsVUFBVTtrR0FqQmIsZ0JBQWdCLDZiQUxkLENBQUMsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLENBQUMsMEJDdkJ0Riw4V0FlQTtBRGlCSTtJQURDLGNBQWMsRUFBRTttREFDaUM7QUFJbEQ7SUFEQyxjQUFjLEVBQUU7OENBQ1A7NEZBUkQsZ0JBQWdCO2tCQVY1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5RkFBeUY7b0JBQ25HLFdBQVcsRUFBRSxzQkFBc0I7b0JBQ25DLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNoQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLENBQUM7b0JBQ2xGLElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsUUFBUTtxQkFDakI7aUJBQ0o7OzBCQWVRLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDN0IsTUFBTTsyQkFBQywwQkFBMEI7OzBCQUNqQyxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQzFCLE1BQU07MkJBQUMsVUFBVTs0Q0FidEIsU0FBUztzQkFIUixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFNOUIsSUFBSTtzQkFGSCxLQUFLO2dCQUtOLFlBQVk7c0JBRFgsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBbUIvQixRQUFRO3NCQURYLFdBQVc7dUJBQUMsZUFBZTtnQkFNeEIsVUFBVTtzQkFEYixXQUFXO3VCQUFDLGlCQUFpQjtnQkFNMUIsUUFBUTtzQkFEWCxXQUFXO3VCQUFDLFVBQVU7Z0JBVXZCLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRGVmYXVsdFByb3AsIFR1aURlc3Ryb3lTZXJ2aWNlLCBUdWlGb2N1c1Zpc2libGVTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpUm91dGVyTGlua0FjdGl2ZVNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7aWRlbnRpdHksIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gVE9ETzogZmluZCB0aGUgYmVzdCB3YXkgZm9yIHByZXZlbnQgY3ljbGVcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7VHVpU3RlcHBlckNvbXBvbmVudH0gZnJvbSAnLi4vc3RlcHBlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYGJ1dHRvblt0dWlTdGVwXSwgYVt0dWlTdGVwXTpub3QoW3JvdXRlckxpbmtdKSwgYVt0dWlTdGVwXVtyb3V0ZXJMaW5rXVtyb3V0ZXJMaW5rQWN0aXZlXWAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL3N0ZXAudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vc3RlcC5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2UsIFR1aVJvdXRlckxpbmtBY3RpdmVTZXJ2aWNlLCBUdWlGb2N1c1Zpc2libGVTZXJ2aWNlXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR5cGU6IGBidXR0b25gLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVN0ZXBDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBhdHRyLmRhdGEtc3RhdGVgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RlcFN0YXRlOiAnbm9ybWFsJyB8ICdwYXNzJyB8ICdlcnJvcicgPSBgbm9ybWFsYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpY29uID0gYGA7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9mb2N1cy12aXNpYmxlYClcbiAgICBmb2N1c1Zpc2libGUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aUZvY3VzVmlzaWJsZVNlcnZpY2UpIGZvY3VzVmlzaWJsZSQ6IFR1aUZvY3VzVmlzaWJsZVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVHVpUm91dGVyTGlua0FjdGl2ZVNlcnZpY2UpIHJvdXRlckxpbmtBY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICAgICAgICBASW5qZWN0KFR1aVN0ZXBwZXJDb21wb25lbnQpIHByaXZhdGUgcmVhZG9ubHkgc3RlcHBlcjogVHVpU3RlcHBlckNvbXBvbmVudCxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge1xuICAgICAgICByb3V0ZXJMaW5rQWN0aXZlJC5waXBlKGZpbHRlcihpZGVudGl0eSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2YXRlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZvY3VzVmlzaWJsZSQuc3Vic2NyaWJlKHZpc2libGUgPT4ge1xuICAgICAgICAgICAgdGhpcy5mb2N1c1Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9hY3RpdmVgKVxuICAgIGdldCBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RlcHBlci5pc0FjdGl2ZSh0aGlzLmluZGV4KTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl92ZXJ0aWNhbGApXG4gICAgZ2V0IGlzVmVydGljYWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBwZXIub3JpZW50YXRpb24gPT09IGB2ZXJ0aWNhbGA7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGB0YWJJbmRleGApXG4gICAgZ2V0IHRhYkluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQWN0aXZlID8gMCA6IC0xO1xuICAgIH1cblxuICAgIGdldCBpbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGVwcGVyLmluZGV4T2YodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGNsaWNrYClcbiAgICBhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdGVwcGVyLmFjdGl2YXRlKHRoaXMuaW5kZXgpO1xuICAgIH1cbn1cbiIsIjx0dWktc3ZnXG4gICAgKm5nSWY9XCJpY29uXCJcbiAgICBjbGFzcz1cInQtbWFya2VyIHQtbWFya2VyX2N1c3RvbVwiXG4gICAgW3NyY109XCJpY29uXCJcbj48L3R1aS1zdmc+XG48dHVpLXN2Z1xuICAgIHNyYz1cInR1aUljb25XYXJuaW5nTGFyZ2VcIlxuICAgIGNsYXNzPVwidC1tYXJrZXIgdC1tYXJrZXJfZXJyb3JcIlxuPjwvdHVpLXN2Zz5cbjx0dWktc3ZnXG4gICAgc3JjPVwidHVpSWNvbkNoZWNrTGFyZ2VcIlxuICAgIGNsYXNzPVwidC1tYXJrZXIgdC1tYXJrZXJfcGFzc1wiXG4+PC90dWktc3ZnPlxuPGRpdiBjbGFzcz1cInQtbWFya2VyIHQtbWFya2VyX2luZGV4XCI+PC9kaXY+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -2,6 +2,8 @@ import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, } from '@angular/core';
3
3
  import { EMPTY_QUERY, tuiDefaultProp, tuiGetOriginalArrayFromQueryList, tuiIsElement, tuiItemsQueryListObservable, tuiMoveFocus, tuiPure, } from '@taiga-ui/cdk';
4
4
  import { delay } from 'rxjs/operators';
5
+ // TODO: find the best way for prevent cycle
6
+ // eslint-disable-next-line import/no-cycle
5
7
  import { TuiStepComponent } from './step/step.component';
6
8
  import * as i0 from "@angular/core";
7
9
  import * as i1 from "@angular/common";
@@ -117,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
117
119
  type: HostListener,
118
120
  args: [`keydown.arrowUp`, [`$event`, `-1`]]
119
121
  }], getNativeElements: [] } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvc3RlcHBlci9zdGVwcGVyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFdBQVcsRUFDWCxjQUFjLEVBQ2QsZ0NBQWdDLEVBQ2hDLFlBQVksRUFDWiwyQkFBMkIsRUFDM0IsWUFBWSxFQUNaLE9BQU8sR0FDVixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7OztBQUV2RCxNQUFNLHNCQUFzQixHQUEwQjtJQUNsRCxLQUFLLEVBQUUsU0FBUztJQUNoQixNQUFNLEVBQUUsUUFBUTtDQUNuQixDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBMEI7SUFDaEQsS0FBSyxFQUFFLFFBQVE7SUFDZixNQUFNLEVBQUUsU0FBUztDQUNwQixDQUFDO0FBUUYsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQVFxQixVQUFLLEdBQXVDLFdBQVcsQ0FBQztRQUt6RSxnQkFBVyxHQUFtQixZQUFZLENBQUM7UUFJM0Msb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFHWCwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBNEUvRDtJQXpFRyxJQUFJLFFBQVE7UUFDUix5RUFBeUU7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RUFBRSw4QkFBOEI7b0JBQ3hDLFdBQVcsRUFBRSx5QkFBeUI7b0JBQ3RDLFNBQVMsRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNuQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OEJBR29CLEtBQUs7c0JBRHJCLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO2dCQU12RSxXQUFXO3NCQUhWLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsdUJBQXVCO2dCQU1wQyxlQUFlO3NCQUZkLEtBQUs7Z0JBS0cscUJBQXFCO3NCQUQ3QixNQUFNO2dCQUlILFFBQVEsTUFRWixZQUFZO3NCQUZYLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDOztzQkFDbEQsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7Z0JBWW5ELFVBQVU7c0JBRlQsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7O3NCQUNqRCxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztnQkErQnpDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgdHVpR2V0T3JpZ2luYWxBcnJheUZyb21RdWVyeUxpc3QsXG4gICAgdHVpSXNFbGVtZW50LFxuICAgIHR1aUl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSxcbiAgICB0dWlNb3ZlRm9jdXMsXG4gICAgdHVpUHVyZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aU9yaWVudGF0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWxheX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aVN0ZXBDb21wb25lbnR9IGZyb20gJy4vc3RlcC9zdGVwLmNvbXBvbmVudCc7XG5cbmNvbnN0IE9OTFlfSE9SSVpPTlRBTF9TQ1JPTEw6IFNjcm9sbEludG9WaWV3T3B0aW9ucyA9IHtcbiAgICBibG9jazogYG5lYXJlc3RgLFxuICAgIGlubGluZTogYGNlbnRlcmAsXG59O1xuXG5jb25zdCBPTkxZX1ZFUlRJQ0FMX1NDUk9MTDogU2Nyb2xsSW50b1ZpZXdPcHRpb25zID0ge1xuICAgIGJsb2NrOiBgY2VudGVyYCxcbiAgICBpbmxpbmU6IGBuZWFyZXN0YCxcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLXN0ZXBwZXIsIG5hdlt0dWlTdGVwcGVyXWAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL3N0ZXBwZXIudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vc3RlcHBlci5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVN0ZXBwZXJDb21wb25lbnQge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBUdWlTdGVwQ29tcG9uZW50KSwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RlcHM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBhdHRyLmRhdGEtb3JpZW50YXRpb25gKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgb3JpZW50YXRpb246IFR1aU9yaWVudGF0aW9uID0gYGhvcml6b250YWxgO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IDA7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBhY3RpdmVJdGVtSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IGNoYW5nZXMkKCk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgICAgICAvLyBEZWxheSBpcyByZXF1aXJlZCB0byB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb24gYWZ0ZXIgc3RlcHMgYXJlIHJlbmRlcmVkXG4gICAgICAgIC8vIHNvIHRoZXkgY2FuIHVwZGF0ZSB0aGVpciBcImFjdGl2ZVwiIHN0YXR1c1xuICAgICAgICByZXR1cm4gdHVpSXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMuc3RlcHMpLnBpcGUoZGVsYXkoMCkpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGtleWRvd24uYXJyb3dSaWdodGAsIFtgJGV2ZW50YCwgYDFgXSlcbiAgICBASG9zdExpc3RlbmVyKGBrZXlkb3duLmFycm93TGVmdGAsIFtgJGV2ZW50YCwgYC0xYF0pXG4gICAgb25Ib3Jpem9udGFsKGV2ZW50OiBFdmVudCwgc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm9yaWVudGF0aW9uICE9PSBgaG9yaXpvbnRhbGAgfHwgIWV2ZW50LnRhcmdldCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5tb3ZlRm9jdXMoZXZlbnQudGFyZ2V0LCBzdGVwKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKGBrZXlkb3duLmFycm93RG93bmAsIFtgJGV2ZW50YCwgYDFgXSlcbiAgICBASG9zdExpc3RlbmVyKGBrZXlkb3duLmFycm93VXBgLCBbYCRldmVudGAsIGAtMWBdKVxuICAgIG9uVmVydGljYWwoZXZlbnQ6IEV2ZW50LCBzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3JpZW50YXRpb24gIT09IGB2ZXJ0aWNhbGAgfHwgIWV2ZW50LnRhcmdldCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5tb3ZlRm9jdXMoZXZlbnQudGFyZ2V0LCBzdGVwKTtcbiAgICB9XG5cbiAgICBpbmRleE9mKHN0ZXA6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHR1aUdldE9yaWdpbmFsQXJyYXlGcm9tUXVlcnlMaXN0KHRoaXMuc3RlcHMpLmZpbmRJbmRleChcbiAgICAgICAgICAgICh7bmF0aXZlRWxlbWVudH0pID0+IG5hdGl2ZUVsZW1lbnQgPT09IHN0ZXAsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaXNBY3RpdmUoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaW5kZXggPT09IHRoaXMuYWN0aXZlSXRlbUluZGV4O1xuICAgIH1cblxuICAgIGFjdGl2YXRlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlSXRlbUluZGV4ID09PSBpbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsSW50b1ZpZXcoaW5kZXgpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXROYXRpdmVFbGVtZW50cyhcbiAgICAgICAgcXVlcnlMaXN0OiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+LFxuICAgICk6IEhUTUxFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gcXVlcnlMaXN0Lm1hcCgoe25hdGl2ZUVsZW1lbnR9KSA9PiBuYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmVGb2N1cyhjdXJyZW50OiBFdmVudFRhcmdldCwgc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICghdHVpSXNFbGVtZW50KGN1cnJlbnQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdGVwRWxlbWVudHMgPSB0aGlzLmdldE5hdGl2ZUVsZW1lbnRzKHRoaXMuc3RlcHMpO1xuICAgICAgICBjb25zdCBpbmRleCA9IHN0ZXBFbGVtZW50cy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBjdXJyZW50KTtcblxuICAgICAgICB0dWlNb3ZlRm9jdXMoaW5kZXgsIHN0ZXBFbGVtZW50cywgc3RlcCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzY3JvbGxJbnRvVmlldyh0YXJnZXRTdGVwSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmdldE5hdGl2ZUVsZW1lbnRzKHRoaXMuc3RlcHMpW3RhcmdldFN0ZXBJbmRleF0uc2Nyb2xsSW50b1ZpZXcoXG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uID09PSBgdmVydGljYWxgXG4gICAgICAgICAgICAgICAgPyBPTkxZX1ZFUlRJQ0FMX1NDUk9MTFxuICAgICAgICAgICAgICAgIDogT05MWV9IT1JJWk9OVEFMX1NDUk9MTCxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY2hhbmdlcyQgfCBhc3luY1wiPjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvc3RlcHBlci9zdGVwcGVyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFdBQVcsRUFDWCxjQUFjLEVBQ2QsZ0NBQWdDLEVBQ2hDLFlBQVksRUFDWiwyQkFBMkIsRUFDM0IsWUFBWSxFQUNaLE9BQU8sR0FDVixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsNENBQTRDO0FBQzVDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBRXZELE1BQU0sc0JBQXNCLEdBQTBCO0lBQ2xELEtBQUssRUFBRSxTQUFTO0lBQ2hCLE1BQU0sRUFBRSxRQUFRO0NBQ25CLENBQUM7QUFFRixNQUFNLG9CQUFvQixHQUEwQjtJQUNoRCxLQUFLLEVBQUUsUUFBUTtJQUNmLE1BQU0sRUFBRSxTQUFTO0NBQ3BCLENBQUM7QUFRRixNQUFNLE9BQU8sbUJBQW1CO0lBTmhDO1FBUXFCLFVBQUssR0FBdUMsV0FBVyxDQUFDO1FBS3pFLGdCQUFXLEdBQW1CLFlBQVksQ0FBQztRQUkzQyxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUdYLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0E0RS9EO0lBekVHLElBQUksUUFBUTtRQUNSLHlFQUF5RTtRQUN6RSwyQ0FBMkM7UUFDM0MsT0FBTywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFJRCxZQUFZLENBQUMsS0FBWSxFQUFFLElBQVk7UUFDbkMsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLFlBQVksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDcEQsT0FBTztTQUNWO1FBRUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBSUQsVUFBVSxDQUFDLEtBQVksRUFBRSxJQUFZO1FBQ2pDLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ2xELE9BQU87U0FDVjtRQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFpQjtRQUNyQixPQUFPLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQ3pELENBQUMsRUFBQyxhQUFhLEVBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxLQUFLLElBQUksQ0FDOUMsQ0FBQztJQUNOLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtRQUNsQixPQUFPLEtBQUssS0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzFDLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtRQUNsQixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssS0FBSyxFQUFFO1lBQ2hDLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBR08saUJBQWlCLENBQ3JCLFNBQTZDO1FBRTdDLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsYUFBYSxFQUFDLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTyxTQUFTLENBQUMsT0FBb0IsRUFBRSxJQUFZO1FBQ2hELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEIsT0FBTztTQUNWO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDO1FBRS9ELFlBQVksQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTyxjQUFjLENBQUMsZUFBdUI7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxjQUFjLENBQzlELElBQUksQ0FBQyxXQUFXLEtBQUssVUFBVTtZQUMzQixDQUFDLENBQUMsb0JBQW9CO1lBQ3RCLENBQUMsQ0FBQyxzQkFBc0IsQ0FDL0IsQ0FBQztJQUNOLENBQUM7O2lIQXpGUSxtQkFBbUI7cUdBQW5CLG1CQUFtQixxaEJBQ00sZ0JBQWdCLFlBQVUsVUFBVSw2QkMvQzFFLHVGQUVBO0FEbURJO0lBREMsY0FBYyxFQUFFO3dEQUMwQjtBQUkzQztJQURDLGNBQWMsRUFBRTs0REFDRztBQU1wQjtJQURDLE9BQU87bURBS1A7QUE2Q0Q7SUFEQyxPQUFPOzREQUtQOzRGQXRFUSxtQkFBbUI7a0JBTi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsU0FBUyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ25DLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs4QkFHb0IsS0FBSztzQkFEckIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBTXZFLFdBQVc7c0JBSFYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBTXBDLGVBQWU7c0JBRmQsS0FBSztnQkFLRyxxQkFBcUI7c0JBRDdCLE1BQU07Z0JBSUgsUUFBUSxNQVFaLFlBQVk7c0JBRlgsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7O3NCQUNsRCxZQUFZO3VCQUFDLG1CQUFtQixFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztnQkFZbkQsVUFBVTtzQkFGVCxZQUFZO3VCQUFDLG1CQUFtQixFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQzs7c0JBQ2pELFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO2dCQStCekMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBFTVBUWV9RVUVSWSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICB0dWlHZXRPcmlnaW5hbEFycmF5RnJvbVF1ZXJ5TGlzdCxcbiAgICB0dWlJc0VsZW1lbnQsXG4gICAgdHVpSXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlLFxuICAgIHR1aU1vdmVGb2N1cyxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpT3JpZW50YXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlbGF5fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIFRPRE86IGZpbmQgdGhlIGJlc3Qgd2F5IGZvciBwcmV2ZW50IGN5Y2xlXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQge1R1aVN0ZXBDb21wb25lbnR9IGZyb20gJy4vc3RlcC9zdGVwLmNvbXBvbmVudCc7XG5cbmNvbnN0IE9OTFlfSE9SSVpPTlRBTF9TQ1JPTEw6IFNjcm9sbEludG9WaWV3T3B0aW9ucyA9IHtcbiAgICBibG9jazogYG5lYXJlc3RgLFxuICAgIGlubGluZTogYGNlbnRlcmAsXG59O1xuXG5jb25zdCBPTkxZX1ZFUlRJQ0FMX1NDUk9MTDogU2Nyb2xsSW50b1ZpZXdPcHRpb25zID0ge1xuICAgIGJsb2NrOiBgY2VudGVyYCxcbiAgICBpbmxpbmU6IGBuZWFyZXN0YCxcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLXN0ZXBwZXIsIG5hdlt0dWlTdGVwcGVyXWAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL3N0ZXBwZXIudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vc3RlcHBlci5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVN0ZXBwZXJDb21wb25lbnQge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBUdWlTdGVwQ29tcG9uZW50KSwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RlcHM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBhdHRyLmRhdGEtb3JpZW50YXRpb25gKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgb3JpZW50YXRpb246IFR1aU9yaWVudGF0aW9uID0gYGhvcml6b250YWxgO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IDA7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBhY3RpdmVJdGVtSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IGNoYW5nZXMkKCk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgICAgICAvLyBEZWxheSBpcyByZXF1aXJlZCB0byB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb24gYWZ0ZXIgc3RlcHMgYXJlIHJlbmRlcmVkXG4gICAgICAgIC8vIHNvIHRoZXkgY2FuIHVwZGF0ZSB0aGVpciBcImFjdGl2ZVwiIHN0YXR1c1xuICAgICAgICByZXR1cm4gdHVpSXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMuc3RlcHMpLnBpcGUoZGVsYXkoMCkpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGtleWRvd24uYXJyb3dSaWdodGAsIFtgJGV2ZW50YCwgYDFgXSlcbiAgICBASG9zdExpc3RlbmVyKGBrZXlkb3duLmFycm93TGVmdGAsIFtgJGV2ZW50YCwgYC0xYF0pXG4gICAgb25Ib3Jpem9udGFsKGV2ZW50OiBFdmVudCwgc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm9yaWVudGF0aW9uICE9PSBgaG9yaXpvbnRhbGAgfHwgIWV2ZW50LnRhcmdldCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5tb3ZlRm9jdXMoZXZlbnQudGFyZ2V0LCBzdGVwKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKGBrZXlkb3duLmFycm93RG93bmAsIFtgJGV2ZW50YCwgYDFgXSlcbiAgICBASG9zdExpc3RlbmVyKGBrZXlkb3duLmFycm93VXBgLCBbYCRldmVudGAsIGAtMWBdKVxuICAgIG9uVmVydGljYWwoZXZlbnQ6IEV2ZW50LCBzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3JpZW50YXRpb24gIT09IGB2ZXJ0aWNhbGAgfHwgIWV2ZW50LnRhcmdldCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5tb3ZlRm9jdXMoZXZlbnQudGFyZ2V0LCBzdGVwKTtcbiAgICB9XG5cbiAgICBpbmRleE9mKHN0ZXA6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHR1aUdldE9yaWdpbmFsQXJyYXlGcm9tUXVlcnlMaXN0KHRoaXMuc3RlcHMpLmZpbmRJbmRleChcbiAgICAgICAgICAgICh7bmF0aXZlRWxlbWVudH0pID0+IG5hdGl2ZUVsZW1lbnQgPT09IHN0ZXAsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaXNBY3RpdmUoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaW5kZXggPT09IHRoaXMuYWN0aXZlSXRlbUluZGV4O1xuICAgIH1cblxuICAgIGFjdGl2YXRlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlSXRlbUluZGV4ID09PSBpbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsSW50b1ZpZXcoaW5kZXgpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXROYXRpdmVFbGVtZW50cyhcbiAgICAgICAgcXVlcnlMaXN0OiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+LFxuICAgICk6IEhUTUxFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gcXVlcnlMaXN0Lm1hcCgoe25hdGl2ZUVsZW1lbnR9KSA9PiBuYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmVGb2N1cyhjdXJyZW50OiBFdmVudFRhcmdldCwgc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICghdHVpSXNFbGVtZW50KGN1cnJlbnQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdGVwRWxlbWVudHMgPSB0aGlzLmdldE5hdGl2ZUVsZW1lbnRzKHRoaXMuc3RlcHMpO1xuICAgICAgICBjb25zdCBpbmRleCA9IHN0ZXBFbGVtZW50cy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBjdXJyZW50KTtcblxuICAgICAgICB0dWlNb3ZlRm9jdXMoaW5kZXgsIHN0ZXBFbGVtZW50cywgc3RlcCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzY3JvbGxJbnRvVmlldyh0YXJnZXRTdGVwSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmdldE5hdGl2ZUVsZW1lbnRzKHRoaXMuc3RlcHMpW3RhcmdldFN0ZXBJbmRleF0uc2Nyb2xsSW50b1ZpZXcoXG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uID09PSBgdmVydGljYWxgXG4gICAgICAgICAgICAgICAgPyBPTkxZX1ZFUlRJQ0FMX1NDUk9MTFxuICAgICAgICAgICAgICAgIDogT05MWV9IT1JJWk9OVEFMX1NDUk9MTCxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY2hhbmdlcyQgfCBhc3luY1wiPjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -1,9 +1,11 @@
1
1
  export * from './tab/tab.component';
2
2
  export * from './tab/tab.providers';
3
+ export * from './tabs.directive';
3
4
  export * from './tabs.module';
4
5
  export * from './tabs/tabs.component';
5
6
  export * from './tabs-options';
7
+ export * from './tabs-vertical/tabs-vertical.component';
6
8
  export * from './tabs-with-more/tabs-with-more.component';
7
9
  export * from './tabs-with-more/tabs-with-more.providers';
8
10
  export * from './underline/underline.component';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RhYi90YWIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFiL3RhYi5wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYnMvdGFicy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJzLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJzLXdpdGgtbW9yZS90YWJzLXdpdGgtbW9yZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJzLXdpdGgtbW9yZS90YWJzLXdpdGgtbW9yZS5wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi91bmRlcmxpbmUvdW5kZXJsaW5lLmNvbXBvbmVudCc7XG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90YWIvdGFiLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYi90YWIucHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vdGFicy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYnMvdGFicy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJzLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJzLXZlcnRpY2FsL3RhYnMtdmVydGljYWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFicy13aXRoLW1vcmUvdGFicy13aXRoLW1vcmUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFicy13aXRoLW1vcmUvdGFicy13aXRoLW1vcmUucHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vdW5kZXJsaW5lL3VuZGVybGluZS5jb21wb25lbnQnO1xuIl19
@@ -31,7 +31,7 @@ export class TuiTabComponent {
31
31
  }
32
32
  }
33
33
  TuiTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabComponent, deps: [{ token: RouterLinkActive, optional: true }, { token: ElementRef }, { token: TUI_MODE }, { token: TUI_TAB_EVENT }, { token: TUI_TAB_MARGIN }, { token: TuiFocusVisibleService }], target: i0.ɵɵFactoryTarget.Component });
34
- TuiTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]", host: { attributes: { "type": "button" }, listeners: { "$.data-mode.attr": "mode$" }, properties: { "style.--tui-tab-margin.px": "margin", "class._focus-visible": "this.focusVisible", "class._active": "this.isActive" } }, providers: TUI_TAB_PROVIDERS, ngImport: i0, template: "<ng-container *ngIf=\"event$ | async\"></ng-container>\n<span class=\"t-highlight\"><ng-content></ng-content></span>\n", styles: [":host-context(._underline):hover{box-shadow:inset 0 -2px var(--tui-base-03)}:host-context(tui-tabs >):first-child,:host-context([tuiTabs] >):first-child,:host-context(tui-tabs > :first-child),:host-context([tuiTabs] > :first-child){margin-left:0}:host{transition-property:all;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;position:relative;display:flex;flex-shrink:0;height:100%;box-sizing:border-box;justify-content:space-between;align-items:center;white-space:nowrap;cursor:pointer;outline:none;text-decoration:none;color:inherit;transition-property:color,box-shadow,opacity;margin-left:1.5rem;margin-left:var(--tui-tab-margin, 1.5rem)}:host:disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host:not([data-mode])._active{opacity:1;color:var(--tui-text-01);box-shadow:none}:host[data-mode=onDark]{color:rgba(255,255,255,.72)}:host[data-mode=onDark]:hover,:host[data-mode=onDark]._active{color:#fff}:host[data-mode=onDark]._focus-visible .t-highlight{background:var(--tui-clear-inverse);color:var(--tui-text-01)}:host[data-mode=onLight]{color:var(--tui-text-02)}:host[data-mode=onLight]:hover,:host[data-mode=onLight]._active{color:var(--tui-text-01)}:host[data-mode=onLight]._focus-visible .t-highlight{background:var(--tui-text-01);color:#fff}:host._focus-visible .t-highlight{background:var(--tui-selection)}:host._android{transition-property:opacity;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;height:3rem;flex:1;flex-shrink:0;justify-content:center;margin:0;text-transform:uppercase;color:var(--tui-base-09);opacity:.5;font-size:.875rem;font-weight:500;letter-spacing:-.008125rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,\"Helvetica Neue\",sans-serif}:host._android:hover{box-shadow:none}:host._android._active{opacity:1;color:var(--tui-base-09)}:host._android .t-highlight{width:auto}:host._ios{height:1.75rem;flex:1;flex-shrink:0;justify-content:center;margin:0;color:var(--tui-base-01);opacity:1;font-size:.8125rem;font-weight:500;letter-spacing:-.005rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,\"Helvetica Neue\",sans-serif}:host._ios:hover{box-shadow:none}:host._ios._active{font-size:.875rem;font-weight:600;color:var(--tui-link)}:host._ios .t-highlight{width:auto}@media (hover: hover){:host:hover{color:var(--tui-text-01)}}.t-highlight{display:inline-flex;width:100%;align-items:center;justify-content:inherit}.t-highlight ::ng-deep>*{flex-shrink:0}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
+ TuiTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]", host: { attributes: { "type": "button" }, listeners: { "$.data-mode.attr": "mode$" }, properties: { "style.--tui-tab-margin.px": "margin", "class._focus-visible": "this.focusVisible", "class._active": "this.isActive" } }, providers: TUI_TAB_PROVIDERS, ngImport: i0, template: "<ng-container *ngIf=\"event$ | async\"></ng-container>\n<span class=\"t-highlight\"><ng-content></ng-content></span>\n", styles: [":host-context(._underline):hover{box-shadow:inset 0 -2px var(--tui-base-03)}:host-context(tui-tabs >):first-child,:host-context([tuiTabs] >):first-child,:host-context(tui-tabs > :first-child),:host-context([tuiTabs] > :first-child){margin-left:0}:host{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;position:relative;display:flex;flex-shrink:0;height:100%;box-sizing:border-box;justify-content:space-between;align-items:center;white-space:nowrap;cursor:pointer;outline:none;text-decoration:none;color:inherit;transition-property:color,box-shadow,opacity;margin-left:var(--tui-tab-margin, 1.5rem)}:host:disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host:not([data-mode])._active{opacity:1;color:var(--tui-text-01);box-shadow:none}:host[data-mode=onDark]{color:rgba(255,255,255,.72)}:host[data-mode=onDark]:hover,:host[data-mode=onDark]._active{color:#fff}:host[data-mode=onDark]._focus-visible .t-highlight{background:var(--tui-clear-inverse);color:var(--tui-text-01)}:host[data-mode=onLight]{color:var(--tui-text-02)}:host[data-mode=onLight]:hover,:host[data-mode=onLight]._active{color:var(--tui-text-01)}:host[data-mode=onLight]._focus-visible .t-highlight{background:var(--tui-text-01);color:#fff}:host._focus-visible .t-highlight{background:var(--tui-selection)}:host._android{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;height:3rem;flex:1;flex-shrink:0;justify-content:center;margin:0;text-transform:uppercase;color:var(--tui-base-09);opacity:.5;font-size:.875rem;font-weight:500;letter-spacing:-.008125rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,\"Helvetica Neue\",sans-serif}:host._android:hover{box-shadow:none}:host._android._active{opacity:1;color:var(--tui-base-09)}:host._android .t-highlight{width:auto}:host._ios{height:1.75rem;flex:1;flex-shrink:0;justify-content:center;margin:0;color:var(--tui-base-01);opacity:1;font-size:.8125rem;font-weight:500;letter-spacing:-.005rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,\"Helvetica Neue\",sans-serif}:host._ios:hover{box-shadow:none}:host._ios._active{font-size:.875rem;font-weight:600;color:var(--tui-link)}:host._ios .t-highlight{width:auto}@media (hover: hover){:host:hover{color:var(--tui-text-01)}}.t-highlight{display:inline-flex;width:100%;align-items:center;justify-content:inherit}.t-highlight ::ng-deep>*{flex-shrink:0}:host-context(tui-tabs[data-vertical]),:host-context([tuiTabs][data-vertical]){min-height:2.75rem;height:auto;white-space:normal;margin:0;text-align:left;padding:.25rem 1.25rem .25rem 0}:host-context(tui-tabs[data-vertical]):after,:host-context([tuiTabs][data-vertical]):after{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;bottom:0;right:0;width:2px;background:var(--tui-primary);transform:scaleX(0);transform-origin:right}:host-context(tui-tabs[data-vertical]):hover,:host-context([tuiTabs][data-vertical]):hover{box-shadow:inset -2px 0 var(--tui-base-03)}:host-context(tui-tabs[data-vertical])._active:after,:host-context([tuiTabs][data-vertical])._active:after{transform:none}:host-context(tui-tabs[data-vertical=\"right\"]),:host-context([tuiTabs][data-vertical=\"right\"]){text-align:right;padding:.25rem 0 .25rem 1.25rem}:host-context(tui-tabs[data-vertical=\"right\"]):after,:host-context([tuiTabs][data-vertical=\"right\"]):after{right:auto;left:0;transform-origin:left}:host-context(tui-tabs[data-vertical=\"right\"]):hover,:host-context([tuiTabs][data-vertical=\"right\"]):hover{box-shadow:inset 2px 0 var(--tui-base-03)}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{
@@ -1,63 +1,46 @@
1
1
  import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, HostBinding, HostListener, Inject, Input, Output, Renderer2, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, forwardRef, HostBinding, HostListener, Inject, Input, } from '@angular/core';
3
3
  import { MUTATION_OBSERVER_INIT, MutationObserverService, } from '@ng-web-apis/mutation-observer';
4
- import { EMPTY_QUERY, tuiDefaultProp, TuiDestroyService, tuiMoveFocus, TuiResizeService, } from '@taiga-ui/cdk';
4
+ import { EMPTY_QUERY, tuiDefaultProp, TuiDestroyService, tuiPure, TuiResizeService, } from '@taiga-ui/cdk';
5
5
  import { filter } from 'rxjs/operators';
6
6
  import { TuiTabComponent } from '../tab/tab.component';
7
- import { TUI_TAB_ACTIVATE } from '../tab/tab.providers';
7
+ import { TuiTabsDirective } from '../tabs.directive';
8
8
  import { TUI_TABS_OPTIONS } from '../tabs-options';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "../underline/underline.component";
11
11
  import * as i2 from "@angular/common";
12
- import * as i3 from "rxjs";
13
- const TAB_ACTIVE_CLASS = `_active`;
12
+ import * as i3 from "../tabs.directive";
13
+ import * as i4 from "rxjs";
14
14
  export class TuiTabsComponent {
15
- constructor(options, elementRef, renderer, changeDetectorRef, resize$) {
15
+ constructor(options, elementRef, tabs, changeDetectorRef, resize$) {
16
16
  this.options = options;
17
17
  this.elementRef = elementRef;
18
- this.renderer = renderer;
18
+ this.tabs = tabs;
19
19
  this.children = EMPTY_QUERY;
20
20
  this.underline = this.options.underline;
21
- this.activeItemIndexChange = new EventEmitter();
22
- this.activeItemIndex = 0;
23
21
  resize$.pipe(filter(() => this.underline)).subscribe(() => {
24
22
  changeDetectorRef.detectChanges();
25
23
  });
26
24
  }
27
- set activeItemIndexSetter(index) {
28
- this.activeItemIndex = index;
29
- this.scrollTo(this.tabs[index]);
25
+ /** @deprecated use `activeItemIndex` from {@link TuiTabsDirective} instead */
26
+ get activeItemIndex() {
27
+ return this.tabs.activeItemIndex;
30
28
  }
31
- get tabs() {
32
- return Array.from(this.elementRef.nativeElement.querySelectorAll(`[tuiTab]`));
29
+ /** @deprecated use `activeItemIndex` from {@link TuiTabsDirective} instead */
30
+ set activeItemIndex(index) {
31
+ this.tabs.activeItemIndex = index;
33
32
  }
34
33
  get activeElement() {
35
- return this.tabs[this.activeItemIndex] || null;
36
- }
37
- onActivate(element) {
38
- const index = this.tabs.findIndex(tab => tab === element);
39
- if (index === this.activeItemIndex) {
40
- return;
41
- }
42
- this.activeItemIndexSetter = index;
43
- this.activeItemIndexChange.emit(index);
34
+ return this.tabs.activeElement;
44
35
  }
45
36
  onKeyDownArrow(current, step) {
46
- const { tabs } = this;
47
- tuiMoveFocus(tabs.indexOf(current), tabs, step);
37
+ this.tabs.moveFocus(current, step);
48
38
  }
49
39
  ngAfterViewChecked() {
50
- const { tabs, activeElement } = this;
51
- tabs.forEach(nativeElement => {
52
- this.renderer.removeClass(nativeElement, TAB_ACTIVE_CLASS);
53
- this.renderer.setAttribute(nativeElement, `tabIndex`, `-1`);
54
- });
55
- if (activeElement) {
56
- this.renderer.addClass(activeElement, TAB_ACTIVE_CLASS);
57
- this.renderer.setAttribute(activeElement, `tabIndex`, `0`);
58
- }
40
+ this.scrollTo(this.tabs.activeItemIndex);
59
41
  }
60
- scrollTo(element) {
42
+ scrollTo(index) {
43
+ const element = this.tabs.tabs[index];
61
44
  if (!element) {
62
45
  return;
63
46
  }
@@ -73,8 +56,8 @@ export class TuiTabsComponent {
73
56
  }
74
57
  }
75
58
  }
76
- TuiTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsComponent, deps: [{ token: TUI_TABS_OPTIONS }, { token: ElementRef }, { token: Renderer2 }, { token: ChangeDetectorRef }, { token: TuiResizeService }], target: i0.ɵɵFactoryTarget.Component });
77
- TuiTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsComponent, selector: "tui-tabs, nav[tuiTabs]", inputs: { underline: "underline", activeItemIndexSetter: ["activeItemIndex", "activeItemIndexSetter"] }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { listeners: { "tui-tab-activate.stop": "onActivate($event.target)", "keydown.arrowRight.prevent": "onKeyDownArrow($event.target,1)", "keydown.arrowLeft.prevent": "onKeyDownArrow($event.target,-1)" }, properties: { "class._underline": "this.underline" } }, providers: [
59
+ TuiTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsComponent, deps: [{ token: TUI_TABS_OPTIONS }, { token: ElementRef }, { token: TuiTabsDirective }, { token: ChangeDetectorRef }, { token: TuiResizeService }], target: i0.ɵɵFactoryTarget.Component });
60
+ TuiTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsComponent, selector: "tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])", inputs: { underline: "underline" }, host: { listeners: { "keydown.arrowRight.prevent": "onKeyDownArrow($event.target,1)", "keydown.arrowLeft.prevent": "onKeyDownArrow($event.target,-1)" }, properties: { "class._underline": "this.underline" } }, providers: [
78
61
  TuiDestroyService,
79
62
  TuiResizeService,
80
63
  MutationObserverService,
@@ -88,10 +71,13 @@ TuiTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
88
71
  __decorate([
89
72
  tuiDefaultProp()
90
73
  ], TuiTabsComponent.prototype, "underline", void 0);
74
+ __decorate([
75
+ tuiPure
76
+ ], TuiTabsComponent.prototype, "scrollTo", null);
91
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsComponent, decorators: [{
92
78
  type: Component,
93
79
  args: [{
94
- selector: `tui-tabs, nav[tuiTabs]`,
80
+ selector: `tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])`,
95
81
  templateUrl: `./tabs.template.html`,
96
82
  styleUrls: [`./tabs.style.less`],
97
83
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -113,13 +99,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
113
99
  }] }, { type: i0.ElementRef, decorators: [{
114
100
  type: Inject,
115
101
  args: [ElementRef]
116
- }] }, { type: i0.Renderer2, decorators: [{
102
+ }] }, { type: i3.TuiTabsDirective, decorators: [{
117
103
  type: Inject,
118
- args: [Renderer2]
104
+ args: [TuiTabsDirective]
119
105
  }] }, { type: i0.ChangeDetectorRef, decorators: [{
120
106
  type: Inject,
121
107
  args: [ChangeDetectorRef]
122
- }] }, { type: i3.Observable, decorators: [{
108
+ }] }, { type: i4.Observable, decorators: [{
123
109
  type: Inject,
124
110
  args: [TuiResizeService]
125
111
  }] }]; }, propDecorators: { children: [{
@@ -130,19 +116,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
130
116
  }, {
131
117
  type: HostBinding,
132
118
  args: [`class._underline`]
133
- }], activeItemIndexSetter: [{
134
- type: Input,
135
- args: [`activeItemIndex`]
136
- }], activeItemIndexChange: [{
137
- type: Output
138
- }], onActivate: [{
139
- type: HostListener,
140
- args: [`${TUI_TAB_ACTIVATE}.stop`, [`$event.target`]]
141
119
  }], onKeyDownArrow: [{
142
120
  type: HostListener,
143
121
  args: [`keydown.arrowRight.prevent`, [`$event.target`, `1`]]
144
122
  }, {
145
123
  type: HostListener,
146
124
  args: [`keydown.arrowLeft.prevent`, [`$event.target`, `-1`]]
147
- }] } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMvdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMvdGFicy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsdUJBQXVCLEdBQzFCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUNILFdBQVcsRUFDWCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRWpFLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO0FBbUJuQyxNQUFNLE9BQU8sZ0JBQWdCO0lBb0J6QixZQUMrQyxPQUF1QixFQUM3QixVQUFtQyxFQUNwQyxRQUFtQixFQUM1QixpQkFBb0MsRUFDckMsT0FBeUI7UUFKUixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUM3QixlQUFVLEdBQVYsVUFB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LGVBQWUsQ0FBQztnQkFNbEQsU0FBUztzQkFIUixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGtCQUFrQjtnQkFLM0IscUJBQXFCO3NCQUR4QixLQUFLO3VCQUFDLGlCQUFpQjtnQkFPZixxQkFBcUI7c0JBRDdCLE1BQU07Z0JBNEJQLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxHQUFHLGdCQUFnQixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBYzNELGNBQWM7c0JBRmIsWUFBWTt1QkFBQyw0QkFBNEIsRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUM7O3NCQUNqRSxZQUFZO3VCQUFDLDJCQUEyQixFQUFFLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIE1VVEFUSU9OX09CU0VSVkVSX0lOSVQsXG4gICAgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UsXG59IGZyb20gJ0BuZy13ZWItYXBpcy9tdXRhdGlvbi1vYnNlcnZlcic7XG5pbXBvcnQge1xuICAgIEVNUFRZX1FVRVJZLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR1aU1vdmVGb2N1cyxcbiAgICBUdWlSZXNpemVTZXJ2aWNlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aVRhYkNvbXBvbmVudH0gZnJvbSAnLi4vdGFiL3RhYi5jb21wb25lbnQnO1xuaW1wb3J0IHtUVUlfVEFCX0FDVElWQVRFfSBmcm9tICcuLi90YWIvdGFiLnByb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9UQUJTX09QVElPTlMsIFR1aVRhYnNPcHRpb25zfSBmcm9tICcuLi90YWJzLW9wdGlvbnMnO1xuXG5jb25zdCBUQUJfQUNUSVZFX0NMQVNTID0gYF9hY3RpdmVgO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS10YWJzLCBuYXZbdHVpVGFic11gLFxuICAgIHRlbXBsYXRlVXJsOiBgLi90YWJzLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL3RhYnMuc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgVHVpUmVzaXplU2VydmljZSxcbiAgICAgICAgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE1VVEFUSU9OX09CU0VSVkVSX0lOSVQsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGFic0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBUdWlUYWJDb21wb25lbnQpKVxuICAgIHJlYWRvbmx5IGNoaWxkcmVuOiBRdWVyeUxpc3Q8dW5rbm93bj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5fdW5kZXJsaW5lYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHVuZGVybGluZSA9IHRoaXMub3B0aW9ucy51bmRlcmxpbmU7XG5cbiAgICBASW5wdXQoYGFjdGl2ZUl0ZW1JbmRleGApXG4gICAgc2V0IGFjdGl2ZUl0ZW1JbmRleFNldHRlcihpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4ID0gaW5kZXg7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG8odGhpcy50YWJzW2luZGV4XSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYWN0aXZlSXRlbUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBhY3RpdmVJdGVtSW5kZXggPSAwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX1RBQlNfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlUYWJzT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFJlbmRlcmVyMikgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVHVpUmVzaXplU2VydmljZSkgcmVzaXplJDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICApIHtcbiAgICAgICAgcmVzaXplJC5waXBlKGZpbHRlcigoKSA9PiB0aGlzLnVuZGVybGluZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCB0YWJzKCk6IHJlYWRvbmx5IEhUTUxFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KGBbdHVpVGFiXWApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBhY3RpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYnNbdGhpcy5hY3RpdmVJdGVtSW5kZXhdIHx8IG51bGw7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihgJHtUVUlfVEFCX0FDVElWQVRFfS5zdG9wYCwgW2AkZXZlbnQudGFyZ2V0YF0pXG4gICAgb25BY3RpdmF0ZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMudGFicy5maW5kSW5kZXgodGFiID0+IHRhYiA9PT0gZWxlbWVudCk7XG5cbiAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLmFjdGl2ZUl0ZW1JbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXhTZXR0ZXIgPSBpbmRleDtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi5hcnJvd1JpZ2h0LnByZXZlbnRgLCBbYCRldmVudC50YXJnZXRgLCBgMWBdKVxuICAgIEBIb3N0TGlzdGVuZXIoYGtleWRvd24uYXJyb3dMZWZ0LnByZXZlbnRgLCBbYCRldmVudC50YXJnZXRgLCBgLTFgXSlcbiAgICBvbktleURvd25BcnJvdyhjdXJyZW50OiBIVE1MRWxlbWVudCwgc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHt0YWJzfSA9IHRoaXM7XG5cbiAgICAgICAgdHVpTW92ZUZvY3VzKHRhYnMuaW5kZXhPZihjdXJyZW50KSwgdGFicywgc3RlcCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7dGFicywgYWN0aXZlRWxlbWVudH0gPSB0aGlzO1xuXG4gICAgICAgIHRhYnMuZm9yRWFjaChuYXRpdmVFbGVtZW50ID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MobmF0aXZlRWxlbWVudCwgVEFCX0FDVElWRV9DTEFTUyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShuYXRpdmVFbGVtZW50LCBgdGFiSW5kZXhgLCBgLTFgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoYWN0aXZlRWxlbWVudCwgVEFCX0FDVElWRV9DTEFTUyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShhY3RpdmVFbGVtZW50LCBgdGFiSW5kZXhgLCBgMGApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzY3JvbGxUbyhlbGVtZW50PzogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7b2Zmc2V0TGVmdCwgb2Zmc2V0V2lkdGh9ID0gZWxlbWVudDtcbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5lbGVtZW50UmVmO1xuXG4gICAgICAgIGlmIChvZmZzZXRMZWZ0IDwgbmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0KSB7XG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSBvZmZzZXRMZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgb2Zmc2V0TGVmdCArIG9mZnNldFdpZHRoID5cbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIG5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGhcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPVxuICAgICAgICAgICAgICAgIG9mZnNldExlZnQgKyBvZmZzZXRXaWR0aCAtIG5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY2hpbGRyZW4uY2hhbmdlcyB8IGFzeW5jXCI+PC9uZy1jb250YWluZXI+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48dHVpLXVuZGVybGluZVxuICAgICpuZ0lmPVwidW5kZXJsaW5lXCJcbiAgICBjbGFzcz1cInQtdW5kZXJsaW5lXCJcbiAgICBbZWxlbWVudF09XCJhY3RpdmVFbGVtZW50XCJcbj48L3R1aS11bmRlcmxpbmU+XG4iXX0=
125
+ }], scrollTo: [] } });
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMvdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMvdGFicy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxHQUVSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsdUJBQXVCLEdBQzFCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUNILFdBQVcsRUFDWCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQW1CakUsTUFBTSxPQUFPLGdCQUFnQjtJQVN6QixZQUMrQyxPQUF1QixFQUM3QixVQUFtQyxFQUM3QixJQUFzQixFQUN0QyxpQkFBb0MsRUFDckMsT0FBeUI7UUFKUixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUM3QixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUM3QixTQUFJLEdBQUosSUFBSSxDQUFrQjtRQVY1RCxhQUFRLEdBQXVCLFdBQVcsQ0FBQztR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Q3hCLE1BQU07MkJBQUMsZ0JBQWdCOzRDQVpuQixRQUFRO3NCQURoQixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBTWxELFNBQVM7c0JBSFIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBZ0MvQixjQUFjO3NCQUZiLFlBQVk7dUJBQUMsNEJBQTRCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDOztzQkFDakUsWUFBWTt1QkFBQywyQkFBMkIsRUFBRSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUM7Z0JBVTFELFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBNVVRBVElPTl9PQlNFUlZFUl9JTklULFxuICAgIE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLFxufSBmcm9tICdAbmctd2ViLWFwaXMvbXV0YXRpb24tb2JzZXJ2ZXInO1xuaW1wb3J0IHtcbiAgICBFTVBUWV9RVUVSWSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB0dWlQdXJlLFxuICAgIFR1aVJlc2l6ZVNlcnZpY2UsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpVGFiQ29tcG9uZW50fSBmcm9tICcuLi90YWIvdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQge1R1aVRhYnNEaXJlY3RpdmV9IGZyb20gJy4uL3RhYnMuZGlyZWN0aXZlJztcbmltcG9ydCB7VFVJX1RBQlNfT1BUSU9OUywgVHVpVGFic09wdGlvbnN9IGZyb20gJy4uL3RhYnMtb3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLXRhYnM6bm90KFt2ZXJ0aWNhbF0pLCBuYXZbdHVpVGFic106bm90KFt2ZXJ0aWNhbF0pYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vdGFicy50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi90YWJzLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIFR1aVJlc2l6ZVNlcnZpY2UsXG4gICAgICAgIE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBNVVRBVElPTl9PQlNFUlZFUl9JTklULFxuICAgICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRhYnNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gVHVpVGFiQ29tcG9uZW50KSlcbiAgICByZWFkb25seSBjaGlsZHJlbjogUXVlcnlMaXN0PHVua25vd24+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX3VuZGVybGluZWApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB1bmRlcmxpbmUgPSB0aGlzLm9wdGlvbnMudW5kZXJsaW5lO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX1RBQlNfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlUYWJzT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFR1aVRhYnNEaXJlY3RpdmUpIHByaXZhdGUgcmVhZG9ubHkgdGFiczogVHVpVGFic0RpcmVjdGl2ZSxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFR1aVJlc2l6ZVNlcnZpY2UpIHJlc2l6ZSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgKSB7XG4gICAgICAgIHJlc2l6ZSQucGlwZShmaWx0ZXIoKCkgPT4gdGhpcy51bmRlcmxpbmUpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGRlcHJlY2F0ZWQgdXNlIGBhY3RpdmVJdGVtSW5kZXhgIGZyb20ge0BsaW5rIFR1aVRhYnNEaXJlY3RpdmV9IGluc3RlYWQgKi9cbiAgICBnZXQgYWN0aXZlSXRlbUluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYnMuYWN0aXZlSXRlbUluZGV4O1xuICAgIH1cblxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgYGFjdGl2ZUl0ZW1JbmRleGAgZnJvbSB7QGxpbmsgVHVpVGFic0RpcmVjdGl2ZX0gaW5zdGVhZCAqL1xuICAgIHNldCBhY3RpdmVJdGVtSW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnRhYnMuYWN0aXZlSXRlbUluZGV4ID0gaW5kZXg7XG4gICAgfVxuXG4gICAgZ2V0IGFjdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFicy5hY3RpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGtleWRvd24uYXJyb3dSaWdodC5wcmV2ZW50YCwgW2AkZXZlbnQudGFyZ2V0YCwgYDFgXSlcbiAgICBASG9zdExpc3RlbmVyKGBrZXlkb3duLmFycm93TGVmdC5wcmV2ZW50YCwgW2AkZXZlbnQudGFyZ2V0YCwgYC0xYF0pXG4gICAgb25LZXlEb3duQXJyb3coY3VycmVudDogSFRNTEVsZW1lbnQsIHN0ZXA6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYnMubW92ZUZvY3VzKGN1cnJlbnQsIHN0ZXApO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zY3JvbGxUbyh0aGlzLnRhYnMuYWN0aXZlSXRlbUluZGV4KTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgc2Nyb2xsVG8oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy50YWJzLnRhYnNbaW5kZXhdO1xuXG4gICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge29mZnNldExlZnQsIG9mZnNldFdpZHRofSA9IGVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVFbGVtZW50fSA9IHRoaXMuZWxlbWVudFJlZjtcblxuICAgICAgICBpZiAob2Zmc2V0TGVmdCA8IG5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCkge1xuICAgICAgICAgICAgbmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gb2Zmc2V0TGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIG9mZnNldExlZnQgKyBvZmZzZXRXaWR0aCA+XG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKyBuYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoXG4gICAgICAgICkge1xuICAgICAgICAgICAgbmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID1cbiAgICAgICAgICAgICAgICBvZmZzZXRMZWZ0ICsgb2Zmc2V0V2lkdGggLSBuYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoaWxkcmVuLmNoYW5nZXMgfCBhc3luY1wiPjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPHR1aS11bmRlcmxpbmVcbiAgICAqbmdJZj1cInVuZGVybGluZVwiXG4gICAgY2xhc3M9XCJ0LXVuZGVybGluZVwiXG4gICAgW2VsZW1lbnRdPVwiYWN0aXZlRWxlbWVudFwiXG4+PC90dWktdW5kZXJsaW5lPlxuIl19
@@ -0,0 +1,48 @@
1
+ import { __decorate } from "tslib";
2
+ import { ChangeDetectionStrategy, Component, HostBinding, HostListener, Inject, Input, } from '@angular/core';
3
+ import { tuiDefaultProp } from '@taiga-ui/cdk';
4
+ import { TuiTabsDirective } from '../tabs.directive';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../tabs.directive";
7
+ export class TuiTabsVerticalComponent {
8
+ constructor(tabs) {
9
+ this.tabs = tabs;
10
+ this.vertical = `left`;
11
+ }
12
+ onKeyDownArrow(current, step) {
13
+ this.tabs.moveFocus(current, step);
14
+ }
15
+ }
16
+ TuiTabsVerticalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsVerticalComponent, deps: [{ token: TuiTabsDirective }], target: i0.ɵɵFactoryTarget.Component });
17
+ TuiTabsVerticalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsVerticalComponent, selector: "tui-tabs[vertical], nav[tuiTabs][vertical]", inputs: { vertical: "vertical" }, host: { listeners: { "keydown.arrowDown.prevent": "onKeyDownArrow($event.target,1)", "keydown.arrowUp.prevent": "onKeyDownArrow($event.target,-1)" }, properties: { "attr.data-vertical": "this.vertical" } }, ngImport: i0, template: `
18
+ <ng-content></ng-content>
19
+ `, isInline: true, styles: [":host{display:flex;flex-direction:column;font:var(--tui-font-text-m);color:var(--tui-text-02);box-shadow:inset -1px 0 var(--tui-base-03)}:host[data-vertical=right]{box-shadow:inset 1px 0 var(--tui-base-03)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
20
+ __decorate([
21
+ tuiDefaultProp()
22
+ ], TuiTabsVerticalComponent.prototype, "vertical", void 0);
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsVerticalComponent, decorators: [{
24
+ type: Component,
25
+ args: [{
26
+ selector: `tui-tabs[vertical], nav[tuiTabs][vertical]`,
27
+ template: `
28
+ <ng-content></ng-content>
29
+ `,
30
+ styleUrls: [`./tabs-vertical.style.less`],
31
+ changeDetection: ChangeDetectionStrategy.OnPush,
32
+ }]
33
+ }], ctorParameters: function () { return [{ type: i1.TuiTabsDirective, decorators: [{
34
+ type: Inject,
35
+ args: [TuiTabsDirective]
36
+ }] }]; }, propDecorators: { vertical: [{
37
+ type: Input
38
+ }, {
39
+ type: HostBinding,
40
+ args: [`attr.data-vertical`]
41
+ }], onKeyDownArrow: [{
42
+ type: HostListener,
43
+ args: [`keydown.arrowDown.prevent`, [`$event.target`, `1`]]
44
+ }, {
45
+ type: HostListener,
46
+ args: [`keydown.arrowUp.prevent`, [`$event.target`, `-1`]]
47
+ }] } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy12ZXJ0aWNhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMtdmVydGljYWwvdGFicy12ZXJ0aWNhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1CQUFtQixDQUFDOzs7QUFVbkQsTUFBTSxPQUFPLHdCQUF3QjtJQU1qQyxZQUF1RCxJQUFzQjtRQUF0QixTQUFJLEdBQUosSUFBSSxDQUFrQjtRQUY3RSxhQUFRLEdBQTJCLE1BQU0sQ0FBQztJQUVzQyxDQUFDO0lBSWpGLGNBQWMsQ0FBQyxPQUFvQixFQUFFLElBQVk7UUFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O3NIQVpRLHdCQUF3QixrQkFNYixnQkFBZ0I7MEdBTjNCLHdCQUF3QixtVUFOdkI7O0tBRVQ7QUFRRDtJQURDLGNBQWMsRUFBRTswREFDeUI7NEZBSmpDLHdCQUF3QjtrQkFScEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNENBQTRDO29CQUN0RCxRQUFRLEVBQUU7O0tBRVQ7b0JBQ0QsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUM7b0JBQ3pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7MEJBT2dCLE1BQU07MkJBQUMsZ0JBQWdCOzRDQUZwQyxRQUFRO3NCQUhQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsb0JBQW9CO2dCQVFqQyxjQUFjO3NCQUZiLFlBQVk7dUJBQUMsMkJBQTJCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDOztzQkFDaEUsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlIb3Jpem9udGFsRGlyZWN0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmltcG9ydCB7VHVpVGFic0RpcmVjdGl2ZX0gZnJvbSAnLi4vdGFicy5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS10YWJzW3ZlcnRpY2FsXSwgbmF2W3R1aVRhYnNdW3ZlcnRpY2FsXWAsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vdGFicy12ZXJ0aWNhbC5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRhYnNWZXJ0aWNhbENvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGF0dHIuZGF0YS12ZXJ0aWNhbGApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2ZXJ0aWNhbDogVHVpSG9yaXpvbnRhbERpcmVjdGlvbiA9IGBsZWZ0YDtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoVHVpVGFic0RpcmVjdGl2ZSkgcHJpdmF0ZSByZWFkb25seSB0YWJzOiBUdWlUYWJzRGlyZWN0aXZlKSB7fVxuXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudGAsIFtgJGV2ZW50LnRhcmdldGAsIGAxYF0pXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi5hcnJvd1VwLnByZXZlbnRgLCBbYCRldmVudC50YXJnZXRgLCBgLTFgXSlcbiAgICBvbktleURvd25BcnJvdyhjdXJyZW50OiBIVE1MRWxlbWVudCwgc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFicy5tb3ZlRm9jdXMoY3VycmVudCwgc3RlcCk7XG4gICAgfVxufVxuIl19
@@ -12,9 +12,10 @@ import * as i2 from "@taiga-ui/core";
12
12
  import * as i3 from "../tab/tab.component";
13
13
  import * as i4 from "../underline/underline.component";
14
14
  import * as i5 from "@angular/common";
15
- import * as i6 from "@taiga-ui/cdk";
16
- import * as i7 from "@tinkoff/ng-polymorpheus";
17
- import * as i8 from "rxjs";
15
+ import * as i6 from "../tabs.directive";
16
+ import * as i7 from "@taiga-ui/cdk";
17
+ import * as i8 from "@tinkoff/ng-polymorpheus";
18
+ import * as i9 from "rxjs";
18
19
  export class TuiTabsWithMoreComponent {
19
20
  constructor(options, margin, refresh$, elementRef, changeDetectorRef, moreWord$) {
20
21
  this.options = options;
@@ -156,7 +157,7 @@ export class TuiTabsWithMoreComponent {
156
157
  }
157
158
  }
158
159
  TuiTabsWithMoreComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsWithMoreComponent, deps: [{ token: TUI_TABS_OPTIONS }, { token: TUI_TAB_MARGIN }, { token: TUI_TABS_REFRESH }, { token: ElementRef }, { token: ChangeDetectorRef }, { token: TUI_MORE_WORD }], target: i0.ɵɵFactoryTarget.Component });
159
- TuiTabsWithMoreComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: { moreContent: "moreContent", dropdownContent: "dropdownContent", underline: "underline", activeItemIndex: "activeItemIndex", itemsLimit: "itemsLimit" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { properties: { "class._underline": "this.underline" } }, providers: TUI_TABS_PROVIDERS, queries: [{ propertyName: "items", predicate: TuiItemDirective, read: TemplateRef }], viewQueries: [{ propertyName: "moreButton", first: true, predicate: TuiTabComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div class=\"t-wrapper\">\n <tui-tabs\n class=\"t-tabs\"\n [underline]=\"false\"\n [activeItemIndex]=\"activeItemIndex\"\n (activeItemIndexChange)=\"onActiveItemIndexChange($event)\"\n (keydown.arrowRight)=\"onArrowRight($event)\"\n >\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"index <= lastVisibleIndex; else hidden\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n <ng-template #hidden>\n <div [class.t-overflown]=\"isOverflown(index)\">\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </div>\n </ng-template>\n </ng-container>\n </tui-tabs>\n <tui-hosted-dropdown\n class=\"t-more_wrapper\"\n [class.t-overflown]=\"!isMoreVisible\"\n [content]=\"dropdownContent || dropdown\"\n [(open)]=\"open\"\n >\n <button\n tuiTab\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [tuiFocusable]=\"isMoreFocusable\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n <ng-container *polymorpheusOutlet=\"moreContent || more as text\">\n {{ text }}\n </ng-container>\n </button>\n <ng-template #more>\n {{ moreWord$ | async }}\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n ></tui-svg>\n </ng-template>\n </tui-hosted-dropdown>\n <ng-template #dropdown>\n <div\n #element\n class=\"t-dropdown\"\n (keydown.arrowUp.prevent)=\"onWrapperArrow($event, element, true)\"\n (keydown.arrowDown.prevent)=\"onWrapperArrow($event, element, false)\"\n >\n <div\n *ngFor=\"let item of items; let index = index\"\n (tui-tab-activate)=\"onClick(index)\"\n >\n <ng-container\n *ngIf=\"shouldShow(index)\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </div>\n </div>\n </ng-template>\n <tui-underline\n *ngIf=\"underline\"\n [element]=\"activeElement\"\n ></tui-underline>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);height:var(--tui-height-l);box-sizing:border-box;color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:hidden}.t-wrapper{position:relative;display:flex}.t-tabs{height:inherit;font-size:inherit;font-weight:inherit;overflow:visible;box-shadow:none;color:inherit}.t-overflown{display:flex;margin:0;width:0;max-width:0;overflow:hidden;visibility:hidden}.t-more_wrapper{height:100%;pointer-events:none}.t-more_wrapper button{pointer-events:auto}.t-icon{transition-property:transform;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-right:-.25rem;vertical-align:bottom}.t-icon_rotated{transform:rotate(180deg)}.t-dropdown{padding:.5rem 0}.t-dropdown ::ng-deep *[tuiTab]{width:100%;height:2.75rem;justify-content:flex-start;margin:0;padding:0 1rem;color:var(--tui-text-02)}.t-dropdown ::ng-deep *[tuiTab]:before{display:none}.t-dropdown ::ng-deep *[tuiTab]:hover,.t-dropdown ::ng-deep *[tuiTab]:focus,.t-dropdown ::ng-deep *[tuiTab]._active{box-shadow:none;color:var(--tui-base-08);background:var(--tui-base-02)}.t-no-margin{margin-left:0}\n"], components: [{ type: i1.TuiTabsComponent, selector: "tui-tabs, nav[tuiTabs]", inputs: ["underline", "activeItemIndex"], outputs: ["activeItemIndexChange"] }, { type: i2.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i3.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i2.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i4.TuiUnderlineComponent, selector: "tui-underline", inputs: ["element"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i7.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
160
+ TuiTabsWithMoreComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: { moreContent: "moreContent", dropdownContent: "dropdownContent", underline: "underline", activeItemIndex: "activeItemIndex", itemsLimit: "itemsLimit" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { properties: { "class._underline": "this.underline" } }, providers: TUI_TABS_PROVIDERS, queries: [{ propertyName: "items", predicate: TuiItemDirective, read: TemplateRef }], viewQueries: [{ propertyName: "moreButton", first: true, predicate: TuiTabComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div class=\"t-wrapper\">\n <tui-tabs\n class=\"t-tabs\"\n [underline]=\"false\"\n [activeItemIndex]=\"activeItemIndex\"\n (activeItemIndexChange)=\"onActiveItemIndexChange($event)\"\n (keydown.arrowRight)=\"onArrowRight($event)\"\n >\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"index <= lastVisibleIndex; else hidden\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n <ng-template #hidden>\n <div [class.t-overflown]=\"isOverflown(index)\">\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </div>\n </ng-template>\n </ng-container>\n </tui-tabs>\n <tui-hosted-dropdown\n class=\"t-more_wrapper\"\n [class.t-overflown]=\"!isMoreVisible\"\n [content]=\"dropdownContent || dropdown\"\n [(open)]=\"open\"\n >\n <button\n tuiTab\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [tuiFocusable]=\"isMoreFocusable\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n <ng-container *polymorpheusOutlet=\"moreContent || more as text\">\n {{ text }}\n </ng-container>\n </button>\n <ng-template #more>\n {{ moreWord$ | async }}\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n ></tui-svg>\n </ng-template>\n </tui-hosted-dropdown>\n <ng-template #dropdown>\n <div\n #element\n class=\"t-dropdown\"\n (keydown.arrowUp.prevent)=\"onWrapperArrow($event, element, true)\"\n (keydown.arrowDown.prevent)=\"onWrapperArrow($event, element, false)\"\n >\n <div\n *ngFor=\"let item of items; let index = index\"\n (tui-tab-activate)=\"onClick(index)\"\n >\n <ng-container\n *ngIf=\"shouldShow(index)\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </div>\n </div>\n </ng-template>\n <tui-underline\n *ngIf=\"underline\"\n [element]=\"activeElement\"\n ></tui-underline>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);height:var(--tui-height-l);box-sizing:border-box;color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:hidden}.t-wrapper{position:relative;display:flex}.t-tabs{height:inherit;font-size:inherit;font-weight:inherit;overflow:visible;box-shadow:none;color:inherit}.t-overflown{display:flex;margin:0;width:0;max-width:0;overflow:hidden;visibility:hidden}.t-more_wrapper{height:100%;pointer-events:none}.t-more_wrapper button{pointer-events:auto}.t-icon{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-right:-.25rem;vertical-align:bottom}.t-icon_rotated{transform:rotate(180deg)}.t-dropdown{padding:.5rem 0}.t-dropdown ::ng-deep *[tuiTab]{width:100%;height:2.75rem;justify-content:flex-start;margin:0;padding:0 1rem;color:var(--tui-text-02)}.t-dropdown ::ng-deep *[tuiTab]:before{display:none}.t-dropdown ::ng-deep *[tuiTab]:hover,.t-dropdown ::ng-deep *[tuiTab]:focus,.t-dropdown ::ng-deep *[tuiTab]._active{box-shadow:none;color:var(--tui-base-08);background:var(--tui-base-02)}.t-no-margin{margin-left:0}\n"], components: [{ type: i1.TuiTabsComponent, selector: "tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])", inputs: ["underline"] }, { type: i2.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i3.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i2.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i4.TuiUnderlineComponent, selector: "tui-underline", inputs: ["element"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.TuiTabsDirective, selector: "tui-tabs, nav[tuiTabs]", inputs: ["activeItemIndex"], outputs: ["activeItemIndexChange"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i8.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
160
161
  __decorate([
161
162
  tuiDefaultProp()
162
163
  ], TuiTabsWithMoreComponent.prototype, "moreContent", void 0);
@@ -187,7 +188,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
187
188
  }] }, { type: undefined, decorators: [{
188
189
  type: Inject,
189
190
  args: [TUI_TAB_MARGIN]
190
- }] }, { type: i8.Observable, decorators: [{
191
+ }] }, { type: i9.Observable, decorators: [{
191
192
  type: Inject,
192
193
  args: [TUI_TABS_REFRESH]
193
194
  }] }, { type: i0.ElementRef, decorators: [{
@@ -196,7 +197,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
196
197
  }] }, { type: i0.ChangeDetectorRef, decorators: [{
197
198
  type: Inject,
198
199
  args: [ChangeDetectorRef]
199
- }] }, { type: i8.Observable, decorators: [{
200
+ }] }, { type: i9.Observable, decorators: [{
200
201
  type: Inject,
201
202
  args: [TUI_MORE_WORD]
202
203
  }] }]; }, propDecorators: { moreButton: [{
@@ -221,4 +222,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
221
222
  type: ContentChildren,
222
223
  args: [TuiItemDirective, { read: TemplateRef }]
223
224
  }] } });
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy13aXRoLW1vcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGFicy90YWJzLXdpdGgtbW9yZS90YWJzLXdpdGgtbW9yZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMtd2l0aC1tb3JlL3RhYnMtd2l0aC1tb3JlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUVYLFFBQVEsRUFFUixjQUFjLEVBQ2Qsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLFFBQVEsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFFLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR25FLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxnQkFBZ0IsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7OztBQVNoRixNQUFNLE9BQU8sd0JBQXdCO0lBcUNqQyxZQUMrQyxPQUF1QixFQUN6QixNQUFjLEVBQ1osUUFBNkIsRUFDbkMsVUFBbUMs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QUMsZUFBZSxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQztnQkFPOUMsV0FBVztzQkFGVixLQUFLO2dCQU1OLGVBQWU7c0JBRmQsS0FBSztnQkFTTixTQUFTO3NCQUhSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsa0JBQWtCO2dCQU0vQixlQUFlO3NCQUZkLEtBQUs7Z0JBTU4sVUFBVTtzQkFGVCxLQUFLO2dCQUtHLHFCQUFxQjtzQkFEN0IsTUFBTTtnQkFJRSxLQUFLO3NCQURiLGVBQWU7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICB0dWlDbGFtcCxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIHR1aUdldENsb3Nlc3RGb2N1c2FibGUsXG4gICAgdHVpSXNFbGVtZW50LFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZCxcbiAgICBUdWlJdGVtRGlyZWN0aXZlLFxuICAgIHR1aVRvSW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX01PUkVfV09SRCwgVFVJX1RBQl9NQVJHSU59IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpVGFiQ29tcG9uZW50fSBmcm9tICcuLi90YWIvdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQge1RVSV9UQUJTX09QVElPTlMsIFR1aVRhYnNPcHRpb25zfSBmcm9tICcuLi90YWJzLW9wdGlvbnMnO1xuaW1wb3J0IHtUVUlfVEFCU19QUk9WSURFUlMsIFRVSV9UQUJTX1JFRlJFU0h9IGZyb20gJy4vdGFicy13aXRoLW1vcmUucHJvdmlkZXJzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktdGFicy13aXRoLW1vcmUsIG5hdlt0dWlUYWJzV2l0aE1vcmVdYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vdGFicy13aXRoLW1vcmUudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vdGFicy13aXRoLW1vcmUuc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogVFVJX1RBQlNfUFJPVklERVJTLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUYWJzV2l0aE1vcmVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKFR1aVRhYkNvbXBvbmVudCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9yZUJ1dHRvbj86IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSBtYXhJbmRleCA9IEluZmluaXR5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1vcmVDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZHJvcGRvd25Db250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+XG4gICAgPiA9IGBgO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl91bmRlcmxpbmVgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdW5kZXJsaW5lID0gdGhpcy5vcHRpb25zLnVuZGVybGluZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhY3RpdmVJdGVtSW5kZXggPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGl0ZW1zTGltaXQgPSB0aGlzLm9wdGlvbnMuaXRlbXNMaW1pdDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGFjdGl2ZUl0ZW1JbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlJdGVtRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGl0ZW1zOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX1RBQlNfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlUYWJzT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChUVUlfVEFCX01BUkdJTikgcHJpdmF0ZSByZWFkb25seSBtYXJnaW46IG51bWJlcixcbiAgICAgICAgQEluamVjdChUVUlfVEFCU19SRUZSRVNIKSBwcml2YXRlIHJlYWRvbmx5IHJlZnJlc2gkOiBPYnNlcnZhYmxlPHVua25vd24+LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9NT1JFX1dPUkQpIHJlYWRvbmx5IG1vcmVXb3JkJDogT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICkge31cblxuICAgIC8vIFRPRE86IEltcHJvdmUgcGVyZm9ybWFuY2VcbiAgICBnZXQgdGFicygpOiByZWFkb25seSBIVE1MRWxlbWVudFtdIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb208SFRNTEVsZW1lbnQ+KFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChgW3R1aVRhYl1gKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgYWN0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgICAgICBjb25zdCB7dGFic30gPSB0aGlzO1xuICAgICAgICBjb25zdCBzYWZlQWN0aXZlSW5kZXggPSB0dWlDbGFtcCh0aGlzLmFjdGl2ZUl0ZW1JbmRleCB8fCAwLCAwLCB0YWJzLmxlbmd0aCAtIDIpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZXhwb3NlQWN0aXZlIHx8IHRoaXMubGFzdFZpc2libGVJbmRleCA+PSBzYWZlQWN0aXZlSW5kZXhcbiAgICAgICAgICAgID8gdGFic1tzYWZlQWN0aXZlSW5kZXhdIHx8IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5tb3JlQnV0dG9uPy5uYXRpdmVFbGVtZW50IHx8IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGlzTW9yZUFsb25lKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXN0VmlzaWJsZUluZGV4IDwgMCAmJiAhdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZTtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdFZpc2libGVJbmRleCA8IHRoaXMuaXRlbXMubGVuZ3RoIC0gMTtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLm1vcmVCdXR0b24gJiYgdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMubW9yZUJ1dHRvbi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5vcGVuIHx8XG4gICAgICAgICAgICAoIXRoaXMub3B0aW9ucy5leHBvc2VBY3RpdmUgJiYgdGhpcy5sYXN0VmlzaWJsZUluZGV4IDwgdGhpcy5hY3RpdmVJdGVtSW5kZXgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGxhc3RWaXNpYmxlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXNMaW1pdCArIDEgPj0gdGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1heEluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb2Zmc2V0ID1cbiAgICAgICAgICAgIHRoaXMuaXRlbXNMaW1pdCAtIDEgPiB0aGlzLmFjdGl2ZUl0ZW1JbmRleCB8fCAhdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZVxuICAgICAgICAgICAgICAgID8gMVxuICAgICAgICAgICAgICAgIDogMjtcblxuICAgICAgICByZXR1cm4gTWF0aC5taW4odGhpcy5pdGVtc0xpbWl0IC0gb2Zmc2V0LCB0aGlzLm1heEluZGV4KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVmcmVzaCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmdldE1heEluZGV4KCkpLFxuICAgICAgICAgICAgICAgIGZpbHRlcihtYXhJbmRleCA9PiB0aGlzLm1heEluZGV4ICE9PSBtYXhJbmRleCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKG1heEluZGV4ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1heEluZGV4ID0gbWF4SW5kZXg7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZUl0ZW1JbmRleENoYW5nZShhY3RpdmVJdGVtSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUl0ZW1JbmRleChhY3RpdmVJdGVtSW5kZXgpO1xuICAgIH1cblxuICAgIG9uQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb2N1c01vcmUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVJdGVtSW5kZXgoaW5kZXgpO1xuICAgIH1cblxuICAgIG9uQXJyb3dSaWdodChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR1aUlzRWxlbWVudChldmVudC50YXJnZXQpICYmIHR1aUlzTmF0aXZlRm9jdXNlZChldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzTW9yZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BcnJvd0xlZnQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHt0YWJzfSA9IHRoaXM7XG4gICAgICAgIGxldCBpbmRleCA9IHRhYnMubGVuZ3RoIC0gMjtcblxuICAgICAgICB3aGlsZSAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgdGFic1tpbmRleF0uZm9jdXMoKTtcblxuICAgICAgICAgICAgaWYgKHR1aUlzTmF0aXZlRm9jdXNlZCh0YWJzW2luZGV4XSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGluZGV4LS07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbldyYXBwZXJBcnJvdyhldmVudDogRXZlbnQsIHdyYXBwZXI6IEhUTUxFbGVtZW50LCBwcmV2aW91czogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCBidXR0b246IEhUTUxCdXR0b25FbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgICBjb25zdCB0YXJnZXQgPSB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlKHtpbml0aWFsOiBidXR0b24sIHJvb3Q6IHdyYXBwZXIsIHByZXZpb3VzfSk7XG5cbiAgICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICAgICAgdGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc092ZXJmbG93bihpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpbmRleCAhPT0gdGhpcy5hY3RpdmVJdGVtSW5kZXggfHwgIXRoaXMub3B0aW9ucy5leHBvc2VBY3RpdmU7XG4gICAgfVxuXG4gICAgc2hvdWxkU2hvdyhpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpbmRleCA+IHRoaXMubGFzdFZpc2libGVJbmRleCAmJiB0aGlzLmlzT3ZlcmZsb3duKGluZGV4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzTW9yZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubW9yZUJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5tb3JlQnV0dG9uLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWF4SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge3RhYnMsIGFjdGl2ZUl0ZW1JbmRleCwgbWFyZ2lufSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHRhYnMubGVuZ3RoIDwgMikge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7Y2xpZW50V2lkdGh9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVdpZHRoID0gdGFic1thY3RpdmVJdGVtSW5kZXhdID8gdGFic1thY3RpdmVJdGVtSW5kZXhdLnNjcm9sbFdpZHRoIDogMDtcbiAgICAgICAgY29uc3QgbW9yZVdpZHRoID0gdGFic1t0YWJzLmxlbmd0aCAtIDFdLnNjcm9sbFdpZHRoO1xuICAgICAgICBsZXQgbWF4SW5kZXggPSB0YWJzLmxlbmd0aCAtIDI7XG4gICAgICAgIGxldCB0b3RhbCA9XG4gICAgICAgICAgICB0YWJzLnJlZHVjZSgoYWNjLCB7c2Nyb2xsV2lkdGh9KSA9PiBhY2MgKyBzY3JvbGxXaWR0aCwgMCkgK1xuICAgICAgICAgICAgbWF4SW5kZXggKiBtYXJnaW4gLVxuICAgICAgICAgICAgbW9yZVdpZHRoO1xuXG4gICAgICAgIGlmICh0b3RhbCA8PSBjbGllbnRXaWR0aCkge1xuICAgICAgICAgICAgcmV0dXJuIEluZmluaXR5O1xuICAgICAgICB9XG5cbiAgICAgICAgd2hpbGUgKG1heEluZGV4KSB7XG4gICAgICAgICAgICB0b3RhbCAtPSB0YWJzW21heEluZGV4XS5zY3JvbGxXaWR0aCArIG1hcmdpbjtcbiAgICAgICAgICAgIG1heEluZGV4LS07XG5cbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZURpc3BsYWNlZCA9XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZSAmJiBhY3RpdmVJdGVtSW5kZXggPiBtYXhJbmRleDtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZU9mZnNldCA9IGFjdGl2ZURpc3BsYWNlZCA/IGFjdGl2ZVdpZHRoICsgbWFyZ2luIDogMDtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRXaWR0aCA9IHRvdGFsICsgYWN0aXZlT2Zmc2V0ICsgbW9yZVdpZHRoICsgbWFyZ2luO1xuICAgICAgICAgICAgLy8gTmVlZGVkIGZvciBkaWZmZXJlbnQgcm91bmRpbmcgb2YgdmlzaWJsZSBhbmQgaGlkZGVuIGVsZW1lbnRzIHNjcm9sbFdpZHRoXG4gICAgICAgICAgICBjb25zdCBzYWZldHlPZmZzZXQgPSB0dWlUb0ludCh0aGlzLm1heEluZGV4ID09PSBtYXhJbmRleCAtIDEpO1xuXG4gICAgICAgICAgICBpZiAoY3VycmVudFdpZHRoICsgc2FmZXR5T2Zmc2V0IDwgY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWF4SW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBY3RpdmVJdGVtSW5kZXgoYWN0aXZlSXRlbUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlSXRlbUluZGV4ID09PSBhY3RpdmVJdGVtSW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4ID0gYWN0aXZlSXRlbUluZGV4O1xuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleENoYW5nZS5lbWl0KGFjdGl2ZUl0ZW1JbmRleCk7XG4gICAgICAgIHRoaXMubWF4SW5kZXggPSB0aGlzLmdldE1heEluZGV4KCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1zLmNoYW5nZXMgfCBhc3luY1wiPjwvbmctY29udGFpbmVyPlxuPGRpdiBjbGFzcz1cInQtd3JhcHBlclwiPlxuICAgIDx0dWktdGFic1xuICAgICAgICBjbGFzcz1cInQtdGFic1wiXG4gICAgICAgIFt1bmRlcmxpbmVdPVwiZmFsc2VcIlxuICAgICAgICBbYWN0aXZlSXRlbUluZGV4XT1cImFjdGl2ZUl0ZW1JbmRleFwiXG4gICAgICAgIChhY3RpdmVJdGVtSW5kZXhDaGFuZ2UpPVwib25BY3RpdmVJdGVtSW5kZXhDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmFycm93UmlnaHQpPVwib25BcnJvd1JpZ2h0KCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGluZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImluZGV4IDw9IGxhc3RWaXNpYmxlSW5kZXg7IGVsc2UgaGlkZGVuXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGlkZGVuPlxuICAgICAgICAgICAgICAgIDxkaXYgW2NsYXNzLnQtb3ZlcmZsb3duXT1cImlzT3ZlcmZsb3duKGluZGV4KVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdHVpLXRhYnM+XG4gICAgPHR1aS1ob3N0ZWQtZHJvcGRvd25cbiAgICAgICAgY2xhc3M9XCJ0LW1vcmVfd3JhcHBlclwiXG4gICAgICAgIFtjbGFzcy50LW92ZXJmbG93bl09XCIhaXNNb3JlVmlzaWJsZVwiXG4gICAgICAgIFtjb250ZW50XT1cImRyb3Bkb3duQ29udGVudCB8fCBkcm9wZG93blwiXG4gICAgICAgIFsob3BlbildPVwib3BlblwiXG4gICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0dWlUYWJcbiAgICAgICAgICAgIFtjbGFzcy5fYWN0aXZlXT1cImlzTW9yZUFjdGl2ZVwiXG4gICAgICAgICAgICBbY2xhc3MudC1uby1tYXJnaW5dPVwiaXNNb3JlQWxvbmVcIlxuICAgICAgICAgICAgW3R1aUZvY3VzYWJsZV09XCJpc01vcmVGb2N1c2FibGVcIlxuICAgICAgICAgICAgKGtleWRvd24uYXJyb3dMZWZ0LnByZXZlbnQpPVwib25BcnJvd0xlZnQoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cIm1vcmVDb250ZW50IHx8IG1vcmUgYXMgdGV4dFwiPlxuICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNtb3JlPlxuICAgICAgICAgICAge3sgbW9yZVdvcmQkIHwgYXN5bmMgfX1cbiAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgc3JjPVwidHVpSWNvbkNoZXZyb25Eb3duXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtaWNvbl9yb3RhdGVkXT1cIm9wZW5cIlxuICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3R1aS1ob3N0ZWQtZHJvcGRvd24+XG4gICAgPG5nLXRlbXBsYXRlICNkcm9wZG93bj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgI2VsZW1lbnRcbiAgICAgICAgICAgIGNsYXNzPVwidC1kcm9wZG93blwiXG4gICAgICAgICAgICAoa2V5ZG93bi5hcnJvd1VwLnByZXZlbnQpPVwib25XcmFwcGVyQXJyb3coJGV2ZW50LCBlbGVtZW50LCB0cnVlKVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudCk9XCJvbldyYXBwZXJBcnJvdygkZXZlbnQsIGVsZW1lbnQsIGZhbHNlKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgICh0dWktdGFiLWFjdGl2YXRlKT1cIm9uQ2xpY2soaW5kZXgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvdWxkU2hvdyhpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8dHVpLXVuZGVybGluZVxuICAgICAgICAqbmdJZj1cInVuZGVybGluZVwiXG4gICAgICAgIFtlbGVtZW50XT1cImFjdGl2ZUVsZW1lbnRcIlxuICAgID48L3R1aS11bmRlcmxpbmU+XG48L2Rpdj5cbiJdfQ==
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy13aXRoLW1vcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGFicy90YWJzLXdpdGgtbW9yZS90YWJzLXdpdGgtbW9yZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMtd2l0aC1tb3JlL3RhYnMtd2l0aC1tb3JlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUVYLFFBQVEsRUFFUixjQUFjLEVBQ2Qsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLFFBQVEsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFFLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR25FLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxnQkFBZ0IsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7QUFTaEYsTUFBTSxPQUFPLHdCQUF3QjtJQXFDakMsWUFDK0MsT0FBdUIsRUFDekIsTUFBYyxFQUNaLFFBQTZCLEVBQ25DLFVBQW1D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QUFDLGVBQWUsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBTzlDLFdBQVc7c0JBRlYsS0FBSztnQkFNTixlQUFlO3NCQUZkLEtBQUs7Z0JBU04sU0FBUztzQkFIUixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGtCQUFrQjtnQkFNL0IsZUFBZTtzQkFGZCxLQUFLO2dCQU1OLFVBQVU7c0JBRlQsS0FBSztnQkFLRyxxQkFBcUI7c0JBRDdCLE1BQU07Z0JBSUUsS0FBSztzQkFEYixlQUFlO3VCQUFDLGdCQUFnQixFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEVNUFRZX1FVRVJZLFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgdHVpQ2xhbXAsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlLFxuICAgIHR1aUlzRWxlbWVudCxcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG4gICAgVHVpSXRlbURpcmVjdGl2ZSxcbiAgICB0dWlUb0ludCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9NT1JFX1dPUkQsIFRVSV9UQUJfTUFSR0lOfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aVRhYkNvbXBvbmVudH0gZnJvbSAnLi4vdGFiL3RhYi5jb21wb25lbnQnO1xuaW1wb3J0IHtUVUlfVEFCU19PUFRJT05TLCBUdWlUYWJzT3B0aW9uc30gZnJvbSAnLi4vdGFicy1vcHRpb25zJztcbmltcG9ydCB7VFVJX1RBQlNfUFJPVklERVJTLCBUVUlfVEFCU19SRUZSRVNIfSBmcm9tICcuL3RhYnMtd2l0aC1tb3JlLnByb3ZpZGVycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLXRhYnMtd2l0aC1tb3JlLCBuYXZbdHVpVGFic1dpdGhNb3JlXWAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL3RhYnMtd2l0aC1tb3JlLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL3RhYnMtd2l0aC1tb3JlLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFRVSV9UQUJTX1BST1ZJREVSUyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGFic1dpdGhNb3JlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZChUdWlUYWJDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vcmVCdXR0b24/OiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICAgIHByaXZhdGUgbWF4SW5kZXggPSBJbmZpbml0eTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtb3JlQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudCA9IGBgO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRyb3Bkb3duQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxcbiAgICAgICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPlxuICAgID4gPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5fdW5kZXJsaW5lYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHVuZGVybGluZSA9IHRoaXMub3B0aW9ucy51bmRlcmxpbmU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtc0xpbWl0ID0gdGhpcy5vcHRpb25zLml0ZW1zTGltaXQ7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBhY3RpdmVJdGVtSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpSXRlbURpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICByZWFkb25seSBpdGVtczogUXVlcnlMaXN0PFRlbXBsYXRlUmVmPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9UQUJTX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpVGFic09wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoVFVJX1RBQl9NQVJHSU4pIHByaXZhdGUgcmVhZG9ubHkgbWFyZ2luOiBudW1iZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX1RBQlNfUkVGUkVTSCkgcHJpdmF0ZSByZWFkb25seSByZWZyZXNoJDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfTU9SRV9XT1JEKSByZWFkb25seSBtb3JlV29yZCQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICApIHt9XG5cbiAgICAvLyBUT0RPOiBJbXByb3ZlIHBlcmZvcm1hbmNlXG4gICAgZ2V0IHRhYnMoKTogcmVhZG9ubHkgSFRNTEVsZW1lbnRbXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tPEhUTUxFbGVtZW50PihcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYFt0dWlUYWJdYCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGFjdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge3RhYnN9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgc2FmZUFjdGl2ZUluZGV4ID0gdHVpQ2xhbXAodGhpcy5hY3RpdmVJdGVtSW5kZXggfHwgMCwgMCwgdGFicy5sZW5ndGggLSAyKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZSB8fCB0aGlzLmxhc3RWaXNpYmxlSW5kZXggPj0gc2FmZUFjdGl2ZUluZGV4XG4gICAgICAgICAgICA/IHRhYnNbc2FmZUFjdGl2ZUluZGV4XSB8fCBudWxsXG4gICAgICAgICAgICA6IHRoaXMubW9yZUJ1dHRvbj8ubmF0aXZlRWxlbWVudCB8fCBudWxsO1xuICAgIH1cblxuICAgIGdldCBpc01vcmVBbG9uZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdFZpc2libGVJbmRleCA8IDAgJiYgIXRoaXMub3B0aW9ucy5leHBvc2VBY3RpdmU7XG4gICAgfVxuXG4gICAgZ2V0IGlzTW9yZVZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhc3RWaXNpYmxlSW5kZXggPCB0aGlzLml0ZW1zLmxlbmd0aCAtIDE7XG4gICAgfVxuXG4gICAgZ2V0IGlzTW9yZUZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5tb3JlQnV0dG9uICYmIHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLm1vcmVCdXR0b24ubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IGlzTW9yZUFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMub3BlbiB8fFxuICAgICAgICAgICAgKCF0aGlzLm9wdGlvbnMuZXhwb3NlQWN0aXZlICYmIHRoaXMubGFzdFZpc2libGVJbmRleCA8IHRoaXMuYWN0aXZlSXRlbUluZGV4KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBsYXN0VmlzaWJsZUluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1zTGltaXQgKyAxID49IHRoaXMuaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tYXhJbmRleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9mZnNldCA9XG4gICAgICAgICAgICB0aGlzLml0ZW1zTGltaXQgLSAxID4gdGhpcy5hY3RpdmVJdGVtSW5kZXggfHwgIXRoaXMub3B0aW9ucy5leHBvc2VBY3RpdmVcbiAgICAgICAgICAgICAgICA/IDFcbiAgICAgICAgICAgICAgICA6IDI7XG5cbiAgICAgICAgcmV0dXJuIE1hdGgubWluKHRoaXMuaXRlbXNMaW1pdCAtIG9mZnNldCwgdGhpcy5tYXhJbmRleCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZnJlc2gkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5nZXRNYXhJbmRleCgpKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIobWF4SW5kZXggPT4gdGhpcy5tYXhJbmRleCAhPT0gbWF4SW5kZXgpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShtYXhJbmRleCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXhJbmRleCA9IG1heEluZGV4O1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25BY3RpdmVJdGVtSW5kZXhDaGFuZ2UoYWN0aXZlSXRlbUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVJdGVtSW5kZXgoYWN0aXZlSXRlbUluZGV4KTtcbiAgICB9XG5cbiAgICBvbkNsaWNrKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZm9jdXNNb3JlKCk7XG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlSXRlbUluZGV4KGluZGV4KTtcbiAgICB9XG5cbiAgICBvbkFycm93UmlnaHQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0dWlJc0VsZW1lbnQoZXZlbnQudGFyZ2V0KSAmJiB0dWlJc05hdGl2ZUZvY3VzZWQoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c01vcmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQXJyb3dMZWZ0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7dGFic30gPSB0aGlzO1xuICAgICAgICBsZXQgaW5kZXggPSB0YWJzLmxlbmd0aCAtIDI7XG5cbiAgICAgICAgd2hpbGUgKGluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRhYnNbaW5kZXhdLmZvY3VzKCk7XG5cbiAgICAgICAgICAgIGlmICh0dWlJc05hdGl2ZUZvY3VzZWQodGFic1tpbmRleF0pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbmRleC0tO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25XcmFwcGVyQXJyb3coZXZlbnQ6IEV2ZW50LCB3cmFwcGVyOiBIVE1MRWxlbWVudCwgcHJldmlvdXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MQnV0dG9uRWxlbWVudDtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7aW5pdGlhbDogYnV0dG9uLCByb290OiB3cmFwcGVyLCBwcmV2aW91c30pO1xuXG4gICAgICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgICAgIHRhcmdldC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNPdmVyZmxvd24oaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaW5kZXggIT09IHRoaXMuYWN0aXZlSXRlbUluZGV4IHx8ICF0aGlzLm9wdGlvbnMuZXhwb3NlQWN0aXZlO1xuICAgIH1cblxuICAgIHNob3VsZFNob3coaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaW5kZXggPiB0aGlzLmxhc3RWaXNpYmxlSW5kZXggJiYgdGhpcy5pc092ZXJmbG93bihpbmRleCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c01vcmUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1vcmVCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMubW9yZUJ1dHRvbi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE1heEluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHt0YWJzLCBhY3RpdmVJdGVtSW5kZXgsIG1hcmdpbn0gPSB0aGlzO1xuXG4gICAgICAgIGlmICh0YWJzLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge2NsaWVudFdpZHRofSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBhY3RpdmVXaWR0aCA9IHRhYnNbYWN0aXZlSXRlbUluZGV4XSA/IHRhYnNbYWN0aXZlSXRlbUluZGV4XS5zY3JvbGxXaWR0aCA6IDA7XG4gICAgICAgIGNvbnN0IG1vcmVXaWR0aCA9IHRhYnNbdGFicy5sZW5ndGggLSAxXS5zY3JvbGxXaWR0aDtcbiAgICAgICAgbGV0IG1heEluZGV4ID0gdGFicy5sZW5ndGggLSAyO1xuICAgICAgICBsZXQgdG90YWwgPVxuICAgICAgICAgICAgdGFicy5yZWR1Y2UoKGFjYywge3Njcm9sbFdpZHRofSkgPT4gYWNjICsgc2Nyb2xsV2lkdGgsIDApICtcbiAgICAgICAgICAgIG1heEluZGV4ICogbWFyZ2luIC1cbiAgICAgICAgICAgIG1vcmVXaWR0aDtcblxuICAgICAgICBpZiAodG90YWwgPD0gY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgIHJldHVybiBJbmZpbml0eTtcbiAgICAgICAgfVxuXG4gICAgICAgIHdoaWxlIChtYXhJbmRleCkge1xuICAgICAgICAgICAgdG90YWwgLT0gdGFic1ttYXhJbmRleF0uc2Nyb2xsV2lkdGggKyBtYXJnaW47XG4gICAgICAgICAgICBtYXhJbmRleC0tO1xuXG4gICAgICAgICAgICBjb25zdCBhY3RpdmVEaXNwbGFjZWQgPVxuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5leHBvc2VBY3RpdmUgJiYgYWN0aXZlSXRlbUluZGV4ID4gbWF4SW5kZXg7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVPZmZzZXQgPSBhY3RpdmVEaXNwbGFjZWQgPyBhY3RpdmVXaWR0aCArIG1hcmdpbiA6IDA7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50V2lkdGggPSB0b3RhbCArIGFjdGl2ZU9mZnNldCArIG1vcmVXaWR0aCArIG1hcmdpbjtcbiAgICAgICAgICAgIC8vIE5lZWRlZCBmb3IgZGlmZmVyZW50IHJvdW5kaW5nIG9mIHZpc2libGUgYW5kIGhpZGRlbiBlbGVtZW50cyBzY3JvbGxXaWR0aFxuICAgICAgICAgICAgY29uc3Qgc2FmZXR5T2Zmc2V0ID0gdHVpVG9JbnQodGhpcy5tYXhJbmRleCA9PT0gbWF4SW5kZXggLSAxKTtcblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRXaWR0aCArIHNhZmV0eU9mZnNldCA8IGNsaWVudFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1heEluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQWN0aXZlSXRlbUluZGV4KGFjdGl2ZUl0ZW1JbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZUl0ZW1JbmRleCA9PT0gYWN0aXZlSXRlbUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleCA9IGFjdGl2ZUl0ZW1JbmRleDtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXhDaGFuZ2UuZW1pdChhY3RpdmVJdGVtSW5kZXgpO1xuICAgICAgICB0aGlzLm1heEluZGV4ID0gdGhpcy5nZXRNYXhJbmRleCgpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtcy5jaGFuZ2VzIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbjxkaXYgY2xhc3M9XCJ0LXdyYXBwZXJcIj5cbiAgICA8dHVpLXRhYnNcbiAgICAgICAgY2xhc3M9XCJ0LXRhYnNcIlxuICAgICAgICBbdW5kZXJsaW5lXT1cImZhbHNlXCJcbiAgICAgICAgW2FjdGl2ZUl0ZW1JbmRleF09XCJhY3RpdmVJdGVtSW5kZXhcIlxuICAgICAgICAoYWN0aXZlSXRlbUluZGV4Q2hhbmdlKT1cIm9uQWN0aXZlSXRlbUluZGV4Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bi5hcnJvd1JpZ2h0KT1cIm9uQXJyb3dSaWdodCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpbmRleCA8PSBsYXN0VmlzaWJsZUluZGV4OyBlbHNlIGhpZGRlblwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2hpZGRlbj5cbiAgICAgICAgICAgICAgICA8ZGl2IFtjbGFzcy50LW92ZXJmbG93bl09XCJpc092ZXJmbG93bihpbmRleClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3R1aS10YWJzPlxuICAgIDx0dWktaG9zdGVkLWRyb3Bkb3duXG4gICAgICAgIGNsYXNzPVwidC1tb3JlX3dyYXBwZXJcIlxuICAgICAgICBbY2xhc3MudC1vdmVyZmxvd25dPVwiIWlzTW9yZVZpc2libGVcIlxuICAgICAgICBbY29udGVudF09XCJkcm9wZG93bkNvbnRlbnQgfHwgZHJvcGRvd25cIlxuICAgICAgICBbKG9wZW4pXT1cIm9wZW5cIlxuICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHVpVGFiXG4gICAgICAgICAgICBbY2xhc3MuX2FjdGl2ZV09XCJpc01vcmVBY3RpdmVcIlxuICAgICAgICAgICAgW2NsYXNzLnQtbm8tbWFyZ2luXT1cImlzTW9yZUFsb25lXCJcbiAgICAgICAgICAgIFt0dWlGb2N1c2FibGVdPVwiaXNNb3JlRm9jdXNhYmxlXCJcbiAgICAgICAgICAgIChrZXlkb3duLmFycm93TGVmdC5wcmV2ZW50KT1cIm9uQXJyb3dMZWZ0KClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJtb3JlQ29udGVudCB8fCBtb3JlIGFzIHRleHRcIj5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbW9yZT5cbiAgICAgICAgICAgIHt7IG1vcmVXb3JkJCB8IGFzeW5jIH19XG4gICAgICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgICAgIHNyYz1cInR1aUljb25DaGV2cm9uRG93blwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgICAgIFtjbGFzcy50LWljb25fcm90YXRlZF09XCJvcGVuXCJcbiAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC90dWktaG9zdGVkLWRyb3Bkb3duPlxuICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd24+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICNlbGVtZW50XG4gICAgICAgICAgICBjbGFzcz1cInQtZHJvcGRvd25cIlxuICAgICAgICAgICAgKGtleWRvd24uYXJyb3dVcC5wcmV2ZW50KT1cIm9uV3JhcHBlckFycm93KCRldmVudCwgZWxlbWVudCwgdHJ1ZSlcIlxuICAgICAgICAgICAgKGtleWRvd24uYXJyb3dEb3duLnByZXZlbnQpPVwib25XcmFwcGVyQXJyb3coJGV2ZW50LCBlbGVtZW50LCBmYWxzZSlcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAodHVpLXRhYi1hY3RpdmF0ZSk9XCJvbkNsaWNrKGluZGV4KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3VsZFNob3coaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPHR1aS11bmRlcmxpbmVcbiAgICAgICAgKm5nSWY9XCJ1bmRlcmxpbmVcIlxuICAgICAgICBbZWxlbWVudF09XCJhY3RpdmVFbGVtZW50XCJcbiAgICA+PC90dWktdW5kZXJsaW5lPlxuPC9kaXY+XG4iXX0=