@ethlete/cdk 2.6.2 → 2.7.1

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 (312) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/esm2022/lib/components/accordion/components/accordion/accordion.component.mjs +13 -25
  3. package/esm2022/lib/components/accordion/components/accordion-group/accordion-group.component.mjs +9 -16
  4. package/esm2022/lib/components/accordion/partials/accordion-hint/accordion-hint.directive.mjs +5 -6
  5. package/esm2022/lib/components/accordion/partials/accordion-hint-wrapper/accordion-hint-wrapper.directive.mjs +5 -6
  6. package/esm2022/lib/components/accordion/partials/accordion-label/accordion-label.directive.mjs +5 -6
  7. package/esm2022/lib/components/accordion/partials/accordion-label-wrapper/accordion-label-wrapper.directive.mjs +5 -6
  8. package/esm2022/lib/components/bracket/components/bracket/bracket.component.mjs +5 -6
  9. package/esm2022/lib/components/bracket/directives/bracket-match/bracket-match.directive.mjs +5 -6
  10. package/esm2022/lib/components/bracket/directives/bracket-round/bracket-round.directive.mjs +5 -6
  11. package/esm2022/lib/components/bracket/partials/bracket-match/bracket-match.component.mjs +5 -6
  12. package/esm2022/lib/components/bracket/partials/bracket-round-header/bracket-round-header.component.mjs +5 -6
  13. package/esm2022/lib/components/button/components/button/button.component.mjs +5 -6
  14. package/esm2022/lib/components/button/components/query-button/query-button.component.mjs +5 -6
  15. package/esm2022/lib/components/button/directives/button/button.directive.mjs +8 -10
  16. package/esm2022/lib/components/button/directives/query-button/query-button.directive.mjs +5 -6
  17. package/esm2022/lib/components/forms/components/checkbox/components/checkbox/checkbox.component.mjs +5 -6
  18. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-field/checkbox-field.component.mjs +5 -6
  19. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-group/checkbox-group.component.mjs +5 -6
  20. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.mjs +5 -6
  21. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.mjs +5 -6
  22. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group/checkbox-group.directive.mjs +5 -6
  23. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.mjs +5 -6
  24. package/esm2022/lib/components/forms/components/error/components/error/error.component.mjs +5 -6
  25. package/esm2022/lib/components/forms/components/input/components/email-input/email-input.component.mjs +5 -6
  26. package/esm2022/lib/components/forms/components/input/components/input-field/input-field.component.mjs +5 -6
  27. package/esm2022/lib/components/forms/components/input/components/number-input/number-input.component.mjs +5 -6
  28. package/esm2022/lib/components/forms/components/input/components/password-input/password-input.component.mjs +5 -6
  29. package/esm2022/lib/components/forms/components/input/components/search-input/search-input.component.mjs +5 -6
  30. package/esm2022/lib/components/forms/components/input/components/text-input/text-input.component.mjs +5 -6
  31. package/esm2022/lib/components/forms/components/input/components/textarea-input/textarea-input.component.mjs +12 -24
  32. package/esm2022/lib/components/forms/components/input/directives/autosize-textarea/autosize-textarea.directive.mjs +5 -6
  33. package/esm2022/lib/components/forms/components/input/directives/email-input/email-input.directive.mjs +5 -6
  34. package/esm2022/lib/components/forms/components/input/directives/number-input/number-input.directive.mjs +5 -6
  35. package/esm2022/lib/components/forms/components/input/directives/password-input/password-input.directive.mjs +5 -6
  36. package/esm2022/lib/components/forms/components/input/directives/search-input/search-input.directive.mjs +5 -6
  37. package/esm2022/lib/components/forms/components/input/directives/text-input/text-input.directive.mjs +5 -6
  38. package/esm2022/lib/components/forms/components/input/directives/textarea-input/textarea-input.directive.mjs +5 -6
  39. package/esm2022/lib/components/forms/components/input/partials/password-input-toggle/password-input-toggle.component.mjs +5 -6
  40. package/esm2022/lib/components/forms/components/input/partials/search-input-clear/search-input-clear.component.mjs +5 -6
  41. package/esm2022/lib/components/forms/components/label/components/label/label.component.mjs +5 -6
  42. package/esm2022/lib/components/forms/components/label/directives/label-suffix/label-suffix.directive.mjs +9 -16
  43. package/esm2022/lib/components/forms/components/radio/components/radio/radio.component.mjs +5 -6
  44. package/esm2022/lib/components/forms/components/radio/components/radio-field/radio-field.component.mjs +5 -6
  45. package/esm2022/lib/components/forms/components/radio/components/radio-group/radio-group.component.mjs +5 -6
  46. package/esm2022/lib/components/forms/components/radio/directives/radio/radio.directive.mjs +7 -9
  47. package/esm2022/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.mjs +5 -6
  48. package/esm2022/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.mjs +5 -6
  49. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button/segmented-button.component.mjs +5 -6
  50. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-field/segmented-button-field.component.mjs +5 -6
  51. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-group/segmented-button-group.component.mjs +5 -6
  52. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.mjs +7 -9
  53. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.mjs +5 -6
  54. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.mjs +5 -6
  55. package/esm2022/lib/components/forms/components/select/components/combobox/components/combobox/combobox.component.mjs +10 -12
  56. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.mjs +5 -6
  57. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.mjs +5 -6
  58. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.mjs +5 -6
  59. package/esm2022/lib/components/forms/components/select/components/native-select/components/native-select/native-select.component.mjs +5 -6
  60. package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-input/native-select-input.directive.mjs +5 -6
  61. package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-option/native-select-option.directive.mjs +12 -24
  62. package/esm2022/lib/components/forms/components/select/components/native-select/partials/native-select-option/native-select-option.component.mjs +5 -6
  63. package/esm2022/lib/components/forms/components/select/components/select/components/select/select.component.mjs +5 -6
  64. package/esm2022/lib/components/forms/components/select/components/select/directives/select/select.directive.mjs +7 -9
  65. package/esm2022/lib/components/forms/components/select/components/select/directives/select-body/select-body.directive.mjs +5 -6
  66. package/esm2022/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.mjs +7 -9
  67. package/esm2022/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.mjs +5 -6
  68. package/esm2022/lib/components/forms/components/select/components/select/partials/select-option/select-option.component.mjs +5 -6
  69. package/esm2022/lib/components/forms/components/select/components/select-field/select-field.component.mjs +5 -6
  70. package/esm2022/lib/components/forms/components/select/directives/select-field/select-field.directive.mjs +5 -6
  71. package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle/slide-toggle.component.mjs +5 -6
  72. package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle-field/slide-toggle-field.component.mjs +5 -6
  73. package/esm2022/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.mjs +5 -6
  74. package/esm2022/lib/components/forms/components/slider/components/slider/slider.component.mjs +12 -14
  75. package/esm2022/lib/components/forms/components/slider/components/slider-field/slider-field.component.mjs +5 -6
  76. package/esm2022/lib/components/forms/directives/dynamic-form-field/dynamic-form-field.directive.mjs +7 -9
  77. package/esm2022/lib/components/forms/directives/dynamic-form-group/dynamic-form-group.directive.mjs +7 -9
  78. package/esm2022/lib/components/forms/directives/if-input-empty/if-input-empty.directive.mjs +5 -6
  79. package/esm2022/lib/components/forms/directives/if-input-filled/if-input-filled.directive.mjs +5 -6
  80. package/esm2022/lib/components/forms/directives/input/input.directive.mjs +5 -6
  81. package/esm2022/lib/components/forms/directives/input-prefix/input-prefix.directive.mjs +5 -6
  82. package/esm2022/lib/components/forms/directives/input-suffix/input-suffix.directive.mjs +5 -6
  83. package/esm2022/lib/components/forms/directives/native-input-ref/native-input-ref.directive.mjs +5 -6
  84. package/esm2022/lib/components/forms/directives/static-form-field/static-form-field.directive.mjs +5 -6
  85. package/esm2022/lib/components/forms/directives/static-form-group/static-form-group.directive.mjs +5 -6
  86. package/esm2022/lib/components/forms/directives/writeable-input/writeable-input.directive.mjs +5 -6
  87. package/esm2022/lib/components/forms/services/default-validator-errors.service.mjs +5 -6
  88. package/esm2022/lib/components/forms/services/form-field-state.service.mjs +5 -6
  89. package/esm2022/lib/components/forms/services/form-group-state.service.mjs +5 -6
  90. package/esm2022/lib/components/forms/services/input-state.service.mjs +5 -6
  91. package/esm2022/lib/components/forms/utils/decorated-form-field.base.mjs +5 -6
  92. package/esm2022/lib/components/forms/utils/decorated-input.base.mjs +5 -6
  93. package/esm2022/lib/components/forms/utils/input.base.mjs +5 -6
  94. package/esm2022/lib/components/icons/chevron-icon/chevron-icon.component.mjs +5 -6
  95. package/esm2022/lib/components/masonry/components/masonry/masonry.component.mjs +9 -11
  96. package/esm2022/lib/components/masonry/partials/masonry-item/masonry-item.component.mjs +5 -6
  97. package/esm2022/lib/components/overlay/components/bottom-sheet/components/bottom-sheet-container/bottom-sheet-container.component.mjs +5 -6
  98. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-container-base/bottom-sheet-container-base.component.mjs +5 -6
  99. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-drag-handle/bottom-sheet-drag-handle.component.mjs +5 -6
  100. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-title/bottom-sheet-title.directive.mjs +5 -6
  101. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-base.service.mjs +5 -6
  102. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-swipe-handler.service.mjs +5 -6
  103. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet.service.mjs +5 -6
  104. package/esm2022/lib/components/overlay/components/dialog/components/dialog-container/dialog-container.component.mjs +5 -6
  105. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-close/dialog-close.directive.mjs +5 -6
  106. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-container-base/dialog-container-base.component.mjs +5 -6
  107. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-title/dialog-title.directive.mjs +5 -6
  108. package/esm2022/lib/components/overlay/components/dialog/services/dialog-base.service.mjs +5 -6
  109. package/esm2022/lib/components/overlay/components/dialog/services/dialog.service.mjs +5 -6
  110. package/esm2022/lib/components/overlay/components/toggletip/components/toggletip/toggletip.component.mjs +5 -6
  111. package/esm2022/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.mjs +7 -9
  112. package/esm2022/lib/components/overlay/components/tooltip/components/tooltip/tooltip.component.mjs +5 -6
  113. package/esm2022/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.mjs +5 -6
  114. package/esm2022/lib/components/overlay/services/dynamic-overlay.service.mjs +11 -14
  115. package/esm2022/lib/components/pagination/components/pagination/pagination.component.mjs +10 -11
  116. package/esm2022/lib/components/pagination/partials/pagination-link/pagination-link.directive.mjs +5 -6
  117. package/esm2022/lib/components/pagination/services/pagination-head.service.mjs +5 -6
  118. package/esm2022/lib/components/picture/picture-data.directive.mjs +9 -16
  119. package/esm2022/lib/components/picture/picture.component.mjs +5 -6
  120. package/esm2022/lib/components/progress-spinner/progress-spinner.component.mjs +14 -26
  121. package/esm2022/lib/components/scrollable/components/scrollable/scrollable.component.mjs +163 -93
  122. package/esm2022/lib/components/scrollable/types/scrollable.types.mjs +1 -1
  123. package/esm2022/lib/components/skeleton/components/skeleton/skeleton.component.mjs +9 -16
  124. package/esm2022/lib/components/skeleton/partials/skeleton-item/skeleton-item.component.mjs +5 -6
  125. package/esm2022/lib/components/sort/components/sort-header/sort-header.component.mjs +25 -51
  126. package/esm2022/lib/components/sort/partials/sort/sort.directive.mjs +19 -38
  127. package/esm2022/lib/components/sort/services/sort-header-intl.mjs +5 -6
  128. package/esm2022/lib/components/table/components/table/table.component.mjs +8 -10
  129. package/esm2022/lib/components/table/partials/cells/cell/cell.directive.mjs +5 -6
  130. package/esm2022/lib/components/table/partials/cells/cell-def/cell-def.directive.mjs +5 -6
  131. package/esm2022/lib/components/table/partials/cells/column-def/column-def.directive.mjs +5 -6
  132. package/esm2022/lib/components/table/partials/cells/footer-cell/footer-cell.directive.mjs +5 -6
  133. package/esm2022/lib/components/table/partials/cells/footer-cell-def/footer-cell-def.directive.mjs +5 -6
  134. package/esm2022/lib/components/table/partials/cells/header-cell/header-cell.directive.mjs +5 -6
  135. package/esm2022/lib/components/table/partials/cells/header-cell-def/header-cell-def.directive.mjs +5 -6
  136. package/esm2022/lib/components/table/partials/cells/text-column/text-column.component.mjs +5 -6
  137. package/esm2022/lib/components/table/partials/rows/footer-row/footer-row.component.mjs +5 -6
  138. package/esm2022/lib/components/table/partials/rows/footer-row-def/footer-row-def.directive.mjs +5 -6
  139. package/esm2022/lib/components/table/partials/rows/header-row/header-row.component.mjs +5 -6
  140. package/esm2022/lib/components/table/partials/rows/header-row-def/header-row-def.directive.mjs +5 -6
  141. package/esm2022/lib/components/table/partials/rows/no-data-row/no-data-row.directive.mjs +5 -6
  142. package/esm2022/lib/components/table/partials/rows/recycle-rows/recycle-rows.directive.mjs +5 -6
  143. package/esm2022/lib/components/table/partials/rows/row/row.component.mjs +5 -6
  144. package/esm2022/lib/components/table/partials/rows/row-def/row-def.directive.mjs +5 -6
  145. package/esm2022/lib/components/table/partials/table-busy/table-busy.directive.mjs +9 -10
  146. package/esm2022/lib/components/table/partials/table-busy-outlet/table-busy-outlet.directive.mjs +10 -11
  147. package/esm2022/lib/components/tabs/components/inline-tabs/inline-tabs.component.mjs +42 -72
  148. package/esm2022/lib/components/tabs/components/nav-tabs/nav-tabs.component.mjs +11 -20
  149. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab/inline-tab.component.mjs +12 -24
  150. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body/inline-tab-body.component.mjs +16 -19
  151. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body-host/inline-tab-body-host.directive.mjs +5 -6
  152. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-content/inline-tab-content.directive.mjs +9 -10
  153. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-header/inline-tab-header.component.mjs +7 -17
  154. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label/inline-tab-label.directive.mjs +5 -6
  155. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label-wrapper/inline-tab-label-wrapper.directive.mjs +12 -19
  156. package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tab-link/nav-tab-link.directive.mjs +25 -45
  157. package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tabs-outlet/nav-tabs-outlet.component.mjs +5 -6
  158. package/esm2022/lib/components/tabs/utils/active-tab-underline.util.mjs +7 -9
  159. package/esm2022/lib/components/tabs/utils/paginated-tab-header.directive.mjs +26 -47
  160. package/esm2022/lib/services/swipe-handler.service.mjs +5 -6
  161. package/fesm2022/ethlete-cdk.mjs +847 -957
  162. package/fesm2022/ethlete-cdk.mjs.map +1 -1
  163. package/lib/components/accordion/components/accordion/accordion.component.d.ts +5 -8
  164. package/lib/components/accordion/components/accordion-group/accordion-group.component.d.ts +3 -5
  165. package/lib/components/accordion/partials/accordion-hint/accordion-hint.directive.d.ts +1 -1
  166. package/lib/components/accordion/partials/accordion-hint-wrapper/accordion-hint-wrapper.directive.d.ts +1 -1
  167. package/lib/components/accordion/partials/accordion-label/accordion-label.directive.d.ts +1 -1
  168. package/lib/components/accordion/partials/accordion-label-wrapper/accordion-label-wrapper.directive.d.ts +1 -1
  169. package/lib/components/bracket/components/bracket/bracket.component.d.ts +1 -1
  170. package/lib/components/bracket/directives/bracket-match/bracket-match.directive.d.ts +1 -1
  171. package/lib/components/bracket/directives/bracket-round/bracket-round.directive.d.ts +1 -1
  172. package/lib/components/bracket/partials/bracket-match/bracket-match.component.d.ts +1 -1
  173. package/lib/components/bracket/partials/bracket-round-header/bracket-round-header.component.d.ts +1 -1
  174. package/lib/components/button/components/button/button.component.d.ts +1 -1
  175. package/lib/components/button/components/query-button/query-button.component.d.ts +1 -1
  176. package/lib/components/button/directives/button/button.directive.d.ts +3 -4
  177. package/lib/components/button/directives/query-button/query-button.directive.d.ts +1 -1
  178. package/lib/components/forms/components/checkbox/components/checkbox/checkbox.component.d.ts +1 -1
  179. package/lib/components/forms/components/checkbox/components/checkbox-field/checkbox-field.component.d.ts +1 -1
  180. package/lib/components/forms/components/checkbox/components/checkbox-group/checkbox-group.component.d.ts +1 -1
  181. package/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.d.ts +1 -1
  182. package/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.d.ts +1 -1
  183. package/lib/components/forms/components/checkbox/directives/checkbox-group/checkbox-group.directive.d.ts +1 -1
  184. package/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.d.ts +1 -1
  185. package/lib/components/forms/components/error/components/error/error.component.d.ts +1 -1
  186. package/lib/components/forms/components/input/components/email-input/email-input.component.d.ts +1 -1
  187. package/lib/components/forms/components/input/components/input-field/input-field.component.d.ts +1 -1
  188. package/lib/components/forms/components/input/components/number-input/number-input.component.d.ts +1 -1
  189. package/lib/components/forms/components/input/components/password-input/password-input.component.d.ts +1 -1
  190. package/lib/components/forms/components/input/components/search-input/search-input.component.d.ts +1 -1
  191. package/lib/components/forms/components/input/components/text-input/text-input.component.d.ts +1 -1
  192. package/lib/components/forms/components/input/components/textarea-input/textarea-input.component.d.ts +5 -8
  193. package/lib/components/forms/components/input/directives/autosize-textarea/autosize-textarea.directive.d.ts +1 -1
  194. package/lib/components/forms/components/input/directives/email-input/email-input.directive.d.ts +1 -1
  195. package/lib/components/forms/components/input/directives/number-input/number-input.directive.d.ts +1 -1
  196. package/lib/components/forms/components/input/directives/password-input/password-input.directive.d.ts +1 -1
  197. package/lib/components/forms/components/input/directives/search-input/search-input.directive.d.ts +1 -1
  198. package/lib/components/forms/components/input/directives/text-input/text-input.directive.d.ts +1 -1
  199. package/lib/components/forms/components/input/directives/textarea-input/textarea-input.directive.d.ts +1 -1
  200. package/lib/components/forms/components/input/partials/password-input-toggle/password-input-toggle.component.d.ts +1 -1
  201. package/lib/components/forms/components/input/partials/search-input-clear/search-input-clear.component.d.ts +1 -1
  202. package/lib/components/forms/components/label/components/label/label.component.d.ts +1 -1
  203. package/lib/components/forms/components/label/directives/label-suffix/label-suffix.directive.d.ts +3 -5
  204. package/lib/components/forms/components/radio/components/radio/radio.component.d.ts +1 -1
  205. package/lib/components/forms/components/radio/components/radio-field/radio-field.component.d.ts +1 -1
  206. package/lib/components/forms/components/radio/components/radio-group/radio-group.component.d.ts +1 -1
  207. package/lib/components/forms/components/radio/directives/radio/radio.directive.d.ts +2 -3
  208. package/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.d.ts +1 -1
  209. package/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.d.ts +1 -1
  210. package/lib/components/forms/components/segmented-button/components/segmented-button/segmented-button.component.d.ts +1 -1
  211. package/lib/components/forms/components/segmented-button/components/segmented-button-field/segmented-button-field.component.d.ts +1 -1
  212. package/lib/components/forms/components/segmented-button/components/segmented-button-group/segmented-button-group.component.d.ts +1 -1
  213. package/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.d.ts +2 -3
  214. package/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.d.ts +1 -1
  215. package/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.d.ts +1 -1
  216. package/lib/components/forms/components/select/components/combobox/components/combobox/combobox.component.d.ts +5 -6
  217. package/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.d.ts +1 -1
  218. package/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.d.ts +1 -1
  219. package/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.d.ts +1 -1
  220. package/lib/components/forms/components/select/components/native-select/components/native-select/native-select.component.d.ts +1 -1
  221. package/lib/components/forms/components/select/components/native-select/directives/native-select-input/native-select-input.directive.d.ts +1 -1
  222. package/lib/components/forms/components/select/components/native-select/directives/native-select-option/native-select-option.directive.d.ts +5 -8
  223. package/lib/components/forms/components/select/components/native-select/partials/native-select-option/native-select-option.component.d.ts +1 -1
  224. package/lib/components/forms/components/select/components/select/components/select/select.component.d.ts +1 -1
  225. package/lib/components/forms/components/select/components/select/directives/select/select.directive.d.ts +2 -3
  226. package/lib/components/forms/components/select/components/select/directives/select-body/select-body.directive.d.ts +1 -1
  227. package/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.d.ts +2 -3
  228. package/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.d.ts +1 -1
  229. package/lib/components/forms/components/select/components/select/partials/select-option/select-option.component.d.ts +1 -1
  230. package/lib/components/forms/components/select/components/select-field/select-field.component.d.ts +1 -1
  231. package/lib/components/forms/components/select/directives/select-field/select-field.directive.d.ts +1 -1
  232. package/lib/components/forms/components/slide-toggle/components/slide-toggle/slide-toggle.component.d.ts +1 -1
  233. package/lib/components/forms/components/slide-toggle/components/slide-toggle-field/slide-toggle-field.component.d.ts +1 -1
  234. package/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.d.ts +1 -1
  235. package/lib/components/forms/components/slider/components/slider/slider.component.d.ts +6 -7
  236. package/lib/components/forms/components/slider/components/slider-field/slider-field.component.d.ts +1 -1
  237. package/lib/components/forms/directives/dynamic-form-field/dynamic-form-field.directive.d.ts +2 -3
  238. package/lib/components/forms/directives/dynamic-form-group/dynamic-form-group.directive.d.ts +2 -3
  239. package/lib/components/forms/directives/if-input-empty/if-input-empty.directive.d.ts +1 -1
  240. package/lib/components/forms/directives/if-input-filled/if-input-filled.directive.d.ts +1 -1
  241. package/lib/components/forms/directives/input/input.directive.d.ts +1 -1
  242. package/lib/components/forms/directives/input-prefix/input-prefix.directive.d.ts +1 -1
  243. package/lib/components/forms/directives/input-suffix/input-suffix.directive.d.ts +1 -1
  244. package/lib/components/forms/directives/native-input-ref/native-input-ref.directive.d.ts +1 -1
  245. package/lib/components/forms/directives/static-form-field/static-form-field.directive.d.ts +1 -1
  246. package/lib/components/forms/directives/static-form-group/static-form-group.directive.d.ts +1 -1
  247. package/lib/components/forms/directives/writeable-input/writeable-input.directive.d.ts +1 -1
  248. package/lib/components/forms/utils/decorated-form-field.base.d.ts +1 -1
  249. package/lib/components/forms/utils/decorated-input.base.d.ts +1 -1
  250. package/lib/components/forms/utils/input.base.d.ts +1 -1
  251. package/lib/components/icons/chevron-icon/chevron-icon.component.d.ts +1 -1
  252. package/lib/components/masonry/components/masonry/masonry.component.d.ts +3 -4
  253. package/lib/components/masonry/partials/masonry-item/masonry-item.component.d.ts +1 -1
  254. package/lib/components/overlay/components/bottom-sheet/components/bottom-sheet-container/bottom-sheet-container.component.d.ts +1 -1
  255. package/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-container-base/bottom-sheet-container-base.component.d.ts +1 -1
  256. package/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-drag-handle/bottom-sheet-drag-handle.component.d.ts +1 -1
  257. package/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-title/bottom-sheet-title.directive.d.ts +1 -1
  258. package/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-base.service.d.ts +1 -1
  259. package/lib/components/overlay/components/dialog/components/dialog-container/dialog-container.component.d.ts +1 -1
  260. package/lib/components/overlay/components/dialog/partials/dialog-close/dialog-close.directive.d.ts +1 -1
  261. package/lib/components/overlay/components/dialog/partials/dialog-container-base/dialog-container-base.component.d.ts +1 -1
  262. package/lib/components/overlay/components/dialog/partials/dialog-title/dialog-title.directive.d.ts +1 -1
  263. package/lib/components/overlay/components/dialog/services/dialog-base.service.d.ts +1 -1
  264. package/lib/components/overlay/components/toggletip/components/toggletip/toggletip.component.d.ts +1 -1
  265. package/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.d.ts +2 -3
  266. package/lib/components/overlay/components/tooltip/components/tooltip/tooltip.component.d.ts +1 -1
  267. package/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.d.ts +1 -1
  268. package/lib/components/overlay/services/dynamic-overlay.service.d.ts +3 -6
  269. package/lib/components/pagination/components/pagination/pagination.component.d.ts +4 -4
  270. package/lib/components/pagination/partials/pagination-link/pagination-link.directive.d.ts +1 -1
  271. package/lib/components/picture/picture-data.directive.d.ts +3 -5
  272. package/lib/components/picture/picture.component.d.ts +1 -1
  273. package/lib/components/progress-spinner/progress-spinner.component.d.ts +7 -10
  274. package/lib/components/scrollable/components/scrollable/scrollable.component.d.ts +29 -27
  275. package/lib/components/scrollable/types/scrollable.types.d.ts +6 -0
  276. package/lib/components/skeleton/components/skeleton/skeleton.component.d.ts +3 -5
  277. package/lib/components/skeleton/partials/skeleton-item/skeleton-item.component.d.ts +1 -1
  278. package/lib/components/sort/components/sort-header/sort-header.component.d.ts +18 -22
  279. package/lib/components/sort/partials/sort/sort.directive.d.ts +8 -12
  280. package/lib/components/table/components/table/table.component.d.ts +2 -3
  281. package/lib/components/table/partials/cells/cell/cell.directive.d.ts +1 -1
  282. package/lib/components/table/partials/cells/cell-def/cell-def.directive.d.ts +1 -1
  283. package/lib/components/table/partials/cells/column-def/column-def.directive.d.ts +1 -1
  284. package/lib/components/table/partials/cells/footer-cell/footer-cell.directive.d.ts +1 -1
  285. package/lib/components/table/partials/cells/footer-cell-def/footer-cell-def.directive.d.ts +1 -1
  286. package/lib/components/table/partials/cells/header-cell/header-cell.directive.d.ts +1 -1
  287. package/lib/components/table/partials/cells/header-cell-def/header-cell-def.directive.d.ts +1 -1
  288. package/lib/components/table/partials/cells/text-column/text-column.component.d.ts +1 -1
  289. package/lib/components/table/partials/rows/footer-row/footer-row.component.d.ts +1 -1
  290. package/lib/components/table/partials/rows/footer-row-def/footer-row-def.directive.d.ts +1 -1
  291. package/lib/components/table/partials/rows/header-row/header-row.component.d.ts +1 -1
  292. package/lib/components/table/partials/rows/header-row-def/header-row-def.directive.d.ts +1 -1
  293. package/lib/components/table/partials/rows/no-data-row/no-data-row.directive.d.ts +1 -1
  294. package/lib/components/table/partials/rows/recycle-rows/recycle-rows.directive.d.ts +1 -1
  295. package/lib/components/table/partials/rows/row/row.component.d.ts +1 -1
  296. package/lib/components/table/partials/rows/row-def/row-def.directive.d.ts +1 -1
  297. package/lib/components/table/partials/table-busy/table-busy.directive.d.ts +2 -3
  298. package/lib/components/table/partials/table-busy-outlet/table-busy-outlet.directive.d.ts +2 -3
  299. package/lib/components/tabs/components/inline-tabs/inline-tabs.component.d.ts +15 -24
  300. package/lib/components/tabs/components/nav-tabs/nav-tabs.component.d.ts +3 -8
  301. package/lib/components/tabs/partials/inline-tabs/inline-tab/inline-tab.component.d.ts +5 -8
  302. package/lib/components/tabs/partials/inline-tabs/inline-tab-body/inline-tab-body.component.d.ts +6 -5
  303. package/lib/components/tabs/partials/inline-tabs/inline-tab-body-host/inline-tab-body-host.directive.d.ts +1 -1
  304. package/lib/components/tabs/partials/inline-tabs/inline-tab-content/inline-tab-content.directive.d.ts +2 -3
  305. package/lib/components/tabs/partials/inline-tabs/inline-tab-header/inline-tab-header.component.d.ts +3 -6
  306. package/lib/components/tabs/partials/inline-tabs/inline-tab-label/inline-tab-label.directive.d.ts +1 -1
  307. package/lib/components/tabs/partials/inline-tabs/inline-tab-label-wrapper/inline-tab-label-wrapper.directive.d.ts +4 -7
  308. package/lib/components/tabs/partials/nav-tabs/nav-tab-link/nav-tab-link.directive.d.ts +14 -18
  309. package/lib/components/tabs/partials/nav-tabs/nav-tabs-outlet/nav-tabs-outlet.component.d.ts +1 -1
  310. package/lib/components/tabs/utils/active-tab-underline.util.d.ts +2 -3
  311. package/lib/components/tabs/utils/paginated-tab-header.directive.d.ts +12 -17
  312. package/package.json +4 -5
@@ -1,8 +1,7 @@
1
1
  import { A11yModule } from '@angular/cdk/a11y';
2
- import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
3
2
  import { PortalModule } from '@angular/cdk/portal';
4
3
  import { NgClass, NgForOf, NgIf } from '@angular/common';
5
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
4
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, booleanAttribute, inject, numberAttribute, } from '@angular/core';
6
5
  import { TypedQueryList } from '@ethlete/core';
7
6
  import { Subscription, merge, startWith } from 'rxjs';
8
7
  import { InlineTabBodyComponent, InlineTabComponent, InlineTabHeaderComponent, InlineTabLabelWrapperDirective, TAB_GROUP, } from '../../partials';
@@ -12,58 +11,22 @@ import * as i2 from "@angular/cdk/portal";
12
11
  let nextId = 0;
13
12
  export class InlineTabChangeEvent {
14
13
  }
15
- class InlineTabsComponent {
16
- get selectedIndex() {
17
- return this._selectedIndex;
18
- }
19
- set selectedIndex(value) {
20
- this._indexToSelect = coerceNumberProperty(value, null);
21
- }
22
- get contentTabIndex() {
23
- return this._contentTabIndex;
24
- }
25
- set contentTabIndex(value) {
26
- this._contentTabIndex = coerceNumberProperty(value, null);
27
- }
28
- get preserveContent() {
29
- return this._preserveContent;
30
- }
31
- set preserveContent(value) {
32
- this._preserveContent = coerceBooleanProperty(value);
33
- }
34
- get renderMasks() {
35
- return this._renderMasks;
36
- }
37
- set renderMasks(value) {
38
- this._renderMasks = coerceBooleanProperty(value);
39
- }
40
- get renderButtons() {
41
- return this._renderButtons;
42
- }
43
- set renderButtons(value) {
44
- this._renderButtons = coerceBooleanProperty(value);
45
- }
46
- get renderScrollbars() {
47
- return this._renderScrollbars;
48
- }
49
- set renderScrollbars(value) {
50
- this._renderScrollbars = coerceBooleanProperty(value);
51
- }
52
- constructor(_cdr) {
53
- this._cdr = _cdr;
54
- this._selectedIndex = null;
55
- this._contentTabIndex = null;
56
- this._preserveContent = false;
14
+ export class InlineTabsComponent {
15
+ constructor() {
16
+ this._cdr = inject(ChangeDetectorRef);
17
+ this.selectedIndex = null;
18
+ this.contentTabIndex = null;
19
+ this.preserveContent = false;
57
20
  this.itemSize = 'auto';
58
- this._renderMasks = true;
59
- this._renderButtons = true;
60
- this._renderScrollbars = false;
21
+ this.renderMasks = true;
22
+ this.renderButtons = true;
23
+ this.renderScrollbars = false;
61
24
  this.selectedIndexChange = new EventEmitter();
62
25
  this.focusChange = new EventEmitter();
63
26
  this.selectedTabChange = new EventEmitter(true);
27
+ this._tabBodyWrapper = null;
64
28
  this._tabs = new TypedQueryList();
65
29
  this._groupId = nextId++;
66
- this._indexToSelect = 0;
67
30
  this._lastFocusedTabIndex = null;
68
31
  this._tabsSubscription = Subscription.EMPTY;
69
32
  this._tabLabelSubscription = Subscription.EMPTY;
@@ -73,13 +36,13 @@ class InlineTabsComponent {
73
36
  this._subscribeToAllTabChanges();
74
37
  this._subscribeToTabLabels();
75
38
  this._tabsSubscription = this._tabs.changes.subscribe(() => {
76
- const indexToSelect = this._clampTabIndex(this._indexToSelect);
77
- if (indexToSelect === this._selectedIndex) {
39
+ const indexToSelect = this._clampTabIndex(this.selectedIndex);
40
+ if (indexToSelect === this.selectedIndex) {
78
41
  const tabs = this._tabs.toArray();
79
42
  let selectedTab;
80
43
  for (let i = 0; i < tabs.length; i++) {
81
44
  if (tabs[i]?.isActive) {
82
- this._indexToSelect = this._selectedIndex = i;
45
+ this.selectedIndex = i;
83
46
  this._lastFocusedTabIndex = null;
84
47
  selectedTab = tabs[i];
85
48
  break;
@@ -99,12 +62,12 @@ class InlineTabsComponent {
99
62
  });
100
63
  }
101
64
  ngAfterContentChecked() {
102
- const indexToSelect = (this._indexToSelect = this._clampTabIndex(this._indexToSelect));
103
- if (this._selectedIndex != indexToSelect) {
104
- const isFirstRun = this._selectedIndex == null;
65
+ const indexToSelect = (this.selectedIndex = this._clampTabIndex(this.selectedIndex));
66
+ if (this.selectedIndex != indexToSelect && this._tabBodyWrapper) {
67
+ const isFirstRun = this.selectedIndex == null;
105
68
  if (!isFirstRun) {
106
69
  this.selectedTabChange.emit(this._createChangeEvent(indexToSelect));
107
- const wrapper = this._tabBodyWrapper.nativeElement;
70
+ const wrapper = this._tabBodyWrapper?.nativeElement;
108
71
  wrapper.style.minHeight = wrapper.clientHeight + 'px';
109
72
  }
110
73
  Promise.resolve().then(() => {
@@ -113,7 +76,9 @@ class InlineTabsComponent {
113
76
  .forEach((tab, index) => (tab.isActive = index === indexToSelect));
114
77
  if (!isFirstRun) {
115
78
  this.selectedIndexChange.emit(indexToSelect);
116
- this._tabBodyWrapper.nativeElement.style.minHeight = '';
79
+ if (this._tabBodyWrapper) {
80
+ this._tabBodyWrapper.nativeElement.style.minHeight = '';
81
+ }
117
82
  }
118
83
  });
119
84
  }
@@ -121,12 +86,12 @@ class InlineTabsComponent {
121
86
  if (!tab)
122
87
  return;
123
88
  tab.position = index - indexToSelect;
124
- if (this._selectedIndex != null && tab.position == 0 && !tab.origin) {
125
- tab.origin = indexToSelect - this._selectedIndex;
89
+ if (this.selectedIndex != null && tab.position == 0 && !tab.origin) {
90
+ tab.origin = indexToSelect - this.selectedIndex;
126
91
  }
127
92
  });
128
- if (this._selectedIndex !== indexToSelect) {
129
- this._selectedIndex = indexToSelect;
93
+ if (this.selectedIndex !== indexToSelect) {
94
+ this.selectedIndex = indexToSelect;
130
95
  this._lastFocusedTabIndex = null;
131
96
  this._cdr.markForCheck();
132
97
  }
@@ -209,16 +174,15 @@ class InlineTabsComponent {
209
174
  }
210
175
  return event;
211
176
  }
212
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: InlineTabsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
213
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: InlineTabsComponent, isStandalone: true, selector: "et-inline-tabs", inputs: { selectedIndex: "selectedIndex", contentTabIndex: "contentTabIndex", preserveContent: "preserveContent", tabHeaderClasses: "tabHeaderClasses", itemSize: "itemSize", scrollableClass: "scrollableClass", renderMasks: "renderMasks", renderButtons: "renderButtons", renderScrollbars: "renderScrollbars" }, outputs: { selectedIndexChange: "selectedIndexChange", focusChange: "focusChange", selectedTabChange: "selectedTabChange" }, host: { classAttribute: "et-inline-tabs" }, providers: [
177
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: InlineTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
178
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: InlineTabsComponent, isStandalone: true, selector: "et-inline-tabs", inputs: { selectedIndex: ["selectedIndex", "selectedIndex", numberAttribute], contentTabIndex: ["contentTabIndex", "contentTabIndex", numberAttribute], preserveContent: ["preserveContent", "preserveContent", booleanAttribute], tabHeaderClasses: "tabHeaderClasses", itemSize: "itemSize", scrollableClass: "scrollableClass", renderMasks: ["renderMasks", "renderMasks", booleanAttribute], renderButtons: ["renderButtons", "renderButtons", booleanAttribute], renderScrollbars: ["renderScrollbars", "renderScrollbars", booleanAttribute] }, outputs: { selectedIndexChange: "selectedIndexChange", focusChange: "focusChange", selectedTabChange: "selectedTabChange" }, host: { classAttribute: "et-inline-tabs" }, providers: [
214
179
  {
215
180
  provide: TAB_GROUP,
216
181
  useExisting: InlineTabsComponent,
217
182
  },
218
183
  ], queries: [{ propertyName: "_allTabs", predicate: InlineTabComponent, descendants: true }], viewQueries: [{ propertyName: "_tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true }, { propertyName: "_tabHeader", first: true, predicate: ["tabHeader"], descendants: true }], ngImport: i0, template: "<et-inline-tab-header\n #tabHeader\n [selectedIndex]=\"selectedIndex || 0\"\n [ngClass]=\"tabHeaderClasses\"\n [itemSize]=\"itemSize\"\n [renderButtons]=\"renderButtons\"\n [scrollableClass]=\"scrollableClass\"\n [renderMasks]=\"renderMasks\"\n [renderScrollbars]=\"renderScrollbars\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\"\n>\n <!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events -->\n <div\n *ngFor=\"let tab of _tabs; let i = index; trackBy: trackByTabFn\"\n [id]=\"_getTabLabelId(i)\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-controls]=\"_getTabContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"!tab.ariaLabel && tab.ariaLabelledby ? tab.ariaLabelledby : null\"\n [disabled]=\"tab.disabled\"\n [class.et-inline-tab-label--active]=\"selectedIndex === i\"\n [class.et-inline-tab-label--is-text]=\"!!tab.textLabel\"\n [fitUnderlineToContent]=\"tab.fitUnderlineToContent\"\n (click)=\"_handleClick(tab, tabHeader, i)\"\n (cdkFocusChange)=\"_tabFocusChanged($event, i)\"\n role=\"tab\"\n etInlineTabLabelWrapper\n cdkMonitorElementFocus\n >\n <span class=\"et-tab-content\">\n <ng-template [ngIf]=\"tab.templateLabel\" [ngIfElse]=\"tabTextLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\" />\n </ng-template>\n\n <ng-template #tabTextLabel>{{ tab.textLabel }}</ng-template>\n </span>\n </div>\n</et-inline-tab-header>\n\n<div #tabBodyWrapper>\n <et-inline-tab-body\n *ngFor=\"let tab of _tabs; let i = index; trackBy: trackByTabFn\"\n [id]=\"_getTabContentId(i)\"\n [attr.tabindex]=\"contentTabIndex !== null && selectedIndex === i ? contentTabIndex : null\"\n [attr.aria-labelledby]=\"_getTabLabelId(i)\"\n [class.cdk-visually-hidden]=\"selectedIndex !== i\"\n [ngClass]=\"tab.bodyClass\"\n [class.sr-only]=\"selectedIndex !== i\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin\"\n [preserveContent]=\"preserveContent\"\n role=\"tabpanel\"\n animationDuration=\"0ms\"\n />\n</div>\n", styles: [".et-inline-tabs{display:block}.et-inline-tabs .et-inline-tab-label--is-text{white-space:nowrap}.et-inline-tabs .et-inline-tab-label-wrapper:not([aria-disabled=true]){cursor:pointer}.et-inline-tabs .et-scrollable-container{position:relative}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InlineTabHeaderComponent, selector: "et-inline-tab-header" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: InlineTabLabelWrapperDirective, selector: "[etInlineTabLabelWrapper]", inputs: ["disabled"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "component", type: InlineTabBodyComponent, selector: "et-inline-tab-body", inputs: ["content", "origin", "animationDuration", "preserveContent", "position"], outputs: ["_onCentering", "_beforeCentering", "_afterLeavingCenter", "_onCentered"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
219
184
  }
220
- export { InlineTabsComponent };
221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: InlineTabsComponent, decorators: [{
185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: InlineTabsComponent, decorators: [{
222
186
  type: Component,
223
187
  args: [{ selector: 'et-inline-tabs', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, providers: [
224
188
  {
@@ -237,12 +201,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
237
201
  ], host: {
238
202
  class: 'et-inline-tabs',
239
203
  }, template: "<et-inline-tab-header\n #tabHeader\n [selectedIndex]=\"selectedIndex || 0\"\n [ngClass]=\"tabHeaderClasses\"\n [itemSize]=\"itemSize\"\n [renderButtons]=\"renderButtons\"\n [scrollableClass]=\"scrollableClass\"\n [renderMasks]=\"renderMasks\"\n [renderScrollbars]=\"renderScrollbars\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\"\n>\n <!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events -->\n <div\n *ngFor=\"let tab of _tabs; let i = index; trackBy: trackByTabFn\"\n [id]=\"_getTabLabelId(i)\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-controls]=\"_getTabContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"!tab.ariaLabel && tab.ariaLabelledby ? tab.ariaLabelledby : null\"\n [disabled]=\"tab.disabled\"\n [class.et-inline-tab-label--active]=\"selectedIndex === i\"\n [class.et-inline-tab-label--is-text]=\"!!tab.textLabel\"\n [fitUnderlineToContent]=\"tab.fitUnderlineToContent\"\n (click)=\"_handleClick(tab, tabHeader, i)\"\n (cdkFocusChange)=\"_tabFocusChanged($event, i)\"\n role=\"tab\"\n etInlineTabLabelWrapper\n cdkMonitorElementFocus\n >\n <span class=\"et-tab-content\">\n <ng-template [ngIf]=\"tab.templateLabel\" [ngIfElse]=\"tabTextLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\" />\n </ng-template>\n\n <ng-template #tabTextLabel>{{ tab.textLabel }}</ng-template>\n </span>\n </div>\n</et-inline-tab-header>\n\n<div #tabBodyWrapper>\n <et-inline-tab-body\n *ngFor=\"let tab of _tabs; let i = index; trackBy: trackByTabFn\"\n [id]=\"_getTabContentId(i)\"\n [attr.tabindex]=\"contentTabIndex !== null && selectedIndex === i ? contentTabIndex : null\"\n [attr.aria-labelledby]=\"_getTabLabelId(i)\"\n [class.cdk-visually-hidden]=\"selectedIndex !== i\"\n [ngClass]=\"tab.bodyClass\"\n [class.sr-only]=\"selectedIndex !== i\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin\"\n [preserveContent]=\"preserveContent\"\n role=\"tabpanel\"\n animationDuration=\"0ms\"\n />\n</div>\n", styles: [".et-inline-tabs{display:block}.et-inline-tabs .et-inline-tab-label--is-text{white-space:nowrap}.et-inline-tabs .et-inline-tab-label-wrapper:not([aria-disabled=true]){cursor:pointer}.et-inline-tabs .et-scrollable-container{position:relative}\n"] }]
240
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selectedIndex: [{
241
- type: Input
204
+ }], propDecorators: { selectedIndex: [{
205
+ type: Input,
206
+ args: [{ transform: numberAttribute }]
242
207
  }], contentTabIndex: [{
243
- type: Input
208
+ type: Input,
209
+ args: [{ transform: numberAttribute }]
244
210
  }], preserveContent: [{
245
- type: Input
211
+ type: Input,
212
+ args: [{ transform: booleanAttribute }]
246
213
  }], tabHeaderClasses: [{
247
214
  type: Input
248
215
  }], itemSize: [{
@@ -250,11 +217,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
250
217
  }], scrollableClass: [{
251
218
  type: Input
252
219
  }], renderMasks: [{
253
- type: Input
220
+ type: Input,
221
+ args: [{ transform: booleanAttribute }]
254
222
  }], renderButtons: [{
255
- type: Input
223
+ type: Input,
224
+ args: [{ transform: booleanAttribute }]
256
225
  }], renderScrollbars: [{
257
- type: Input
226
+ type: Input,
227
+ args: [{ transform: booleanAttribute }]
258
228
  }], selectedIndexChange: [{
259
229
  type: Output
260
230
  }], focusChange: [{
@@ -271,4 +241,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
271
241
  type: ViewChild,
272
242
  args: ['tabHeader']
273
243
  }] } });
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvY29tcG9uZW50cy9pbmxpbmUtdGFicy9pbmxpbmUtdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvdGFicy9jb21wb25lbnRzL2lubGluZS10YWJzL2lubGluZS10YWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQTZCLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFHTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLDhCQUE4QixFQUM5QixTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUV4QixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFFZixNQUFNLE9BQU8sb0JBQW9CO0NBR2hDO0FBUUQsTUEyQmEsbUJBQW1CO0lBQzlCLElBQ0ksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBSSxhQUFhLENBQUMsS0FBa0I7UUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUdELElBQ0ksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBQ0QsSUFBSSxlQUFlLENBQUMsS0FBa0I7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLG9CQUFvQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBR0QsSUFDSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFJLGVBQWUsQ0FBQyxLQUFtQjtRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQVlELElBQ0ksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBbUI7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBR0QsSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyxLQUFtQjtRQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFHRCxJQUNJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFtQjtRQUN0QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQTZCRCxZQUFvQixJQUF1QjtRQUF2QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQWxGbkMsbUJBQWMsR0FBa0IsSUFBSSxDQUFDO1FBU3JDLHFCQUFnQixHQUFrQixJQUFJLENBQUM7UUFTdkMscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBTWpDLGFBQVEsR0FBb0IsTUFBTSxDQUFDO1FBWTNCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBU3BCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBU3RCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUd6Qix3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBR2pELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFHdkQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLENBQXVCLElBQUksQ0FBQyxDQUFDO1FBVzFFLFVBQUssR0FBdUMsSUFBSSxjQUFjLEVBQXNCLENBQUM7UUFFN0UsYUFBUSxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLG1CQUFjLEdBQWtCLENBQUMsQ0FBQztRQUNsQyx5QkFBb0IsR0FBa0IsSUFBSSxDQUFDO1FBQzNDLHNCQUFpQixHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDdkMsMEJBQXFCLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztRQXdGbkQsaUJBQVksR0FBd0MsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQztJQXRGdkIsQ0FBQztJQUUvQyxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDekQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFL0QsSUFBSSxhQUFhLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDekMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxXQUEyQyxDQUFDO2dCQUVoRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDcEMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFO3dCQUNyQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO3dCQUM5QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO3dCQUNqQyxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUN0QixNQUFNO3FCQUNQO2lCQUNGO2dCQUVELElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO29CQUN2QyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTt3QkFDMUIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO3dCQUU5QixJQUFJLENBQUMsQ0FBQzs0QkFBRSxPQUFPO3dCQUVmLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO3dCQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO29CQUN0RSxDQUFDLENBQUMsQ0FBQztpQkFDSjthQUNGO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFFdkYsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLGFBQWEsRUFBRTtZQUN4QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQztZQUUvQyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNmLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7Z0JBRXBFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO2dCQUNuRCxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQzthQUN2RDtZQUVELE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUMxQixJQUFJLENBQUMsS0FBSztxQkFDUCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQTJCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUMzQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsS0FBSyxLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUM7Z0JBRXJFLElBQUksQ0FBQyxVQUFVLEVBQUU7b0JBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7aUJBQ3pEO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU87WUFFakIsR0FBRyxDQUFDLFFBQVEsR0FBRyxLQUFLLEdBQUcsYUFBYSxDQUFDO1lBRXJDLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLElBQUksR0FBRyxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFO2dCQUNuRSxHQUFHLENBQUMsTUFBTSxHQUFHLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO2FBQ2xEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssYUFBYSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7WUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFJRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMseUJBQXlCLEVBQUUsQ0FBQztTQUM3QztJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFFL0IsSUFBSSxNQUFNLEVBQUU7WUFDVixNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxjQUFjLENBQUMsQ0FBUztRQUN0QixPQUFPLHVCQUF1QixJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxDQUFTO1FBQ3hCLE9BQU8seUJBQXlCLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUF1QixFQUFFLFNBQStCLEVBQUUsS0FBYTtRQUNsRixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ25EO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUF1QixFQUFFLEtBQWE7UUFDakQsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNwRSxPQUFPLEtBQUssS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLFdBQXdCLEVBQUUsS0FBYTtRQUN0RCxJQUFJLFdBQVcsSUFBSSxXQUFXLEtBQUssT0FBTyxJQUFJLFdBQVcsS0FBSyxPQUFPLEVBQUU7WUFDckUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVPLHlCQUF5QjtRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUNkLElBQUk7aUJBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUEyQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDM0MsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2QsT0FBTyxHQUFHLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDO1lBQ2hFLENBQUMsQ0FBQyxDQUNMLENBQUM7WUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUFvQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDOUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzFDO1FBRUQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FDaEMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBMkIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FDMUYsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFhO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUN6QyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDbkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV4QyxJQUFJLEdBQUcsRUFBRTtnQkFDUCxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQzthQUNqQjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzhHQTdRVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw0aEJBckJuQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixXQUFXLEVBQUUsbUJBQW1CO2FBQ2pDO1NBQ0YsbURBeUZnQixrQkFBa0IsNlBDL0lyQywweEVBNERBLDRTREhJLE9BQU8sbUhBQ1AsSUFBSSw2RkFDSix3QkFBd0IsaUVBQ3hCLE9BQU8sb0ZBQ1AsOEJBQThCLDJGQUM5QixVQUFVLDRNQUNWLHNCQUFzQixzT0FDdEIsWUFBWTs7U0FNSCxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkEzQi9CLFNBQVM7K0JBQ0UsZ0JBQWdCLGlCQUdYLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE9BQU8sYUFDckM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLFNBQVM7NEJBQ2xCLFdBQVcscUJBQXFCO3lCQUNqQztxQkFDRixjQUNXLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLElBQUk7d0JBQ0osd0JBQXdCO3dCQUN4QixPQUFPO3dCQUNQLDhCQUE4Qjt3QkFDOUIsVUFBVTt3QkFDVixzQkFBc0I7d0JBQ3RCLFlBQVk7cUJBQ2IsUUFDSzt3QkFDSixLQUFLLEVBQUUsZ0JBQWdCO3FCQUN4Qjt3R0FJRyxhQUFhO3NCQURoQixLQUFLO2dCQVVGLGVBQWU7c0JBRGxCLEtBQUs7Z0JBVUYsZUFBZTtzQkFEbEIsS0FBSztnQkFVTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlGLFdBQVc7c0JBRGQsS0FBSztnQkFVRixhQUFhO3NCQURoQixLQUFLO2dCQVVGLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFVRyxtQkFBbUI7c0JBRDNCLE1BQU07Z0JBSUUsV0FBVztzQkFEbkIsTUFBTTtnQkFJRSxpQkFBaUI7c0JBRHpCLE1BQU07Z0JBSVAsUUFBUTtzQkFEUCxlQUFlO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFJMUQsZUFBZTtzQkFEZCxTQUFTO3VCQUFDLGdCQUFnQjtnQkFJM0IsVUFBVTtzQkFEVCxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlLCBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgTnVtYmVySW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0Zvck9mLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDbGFzc1R5cGUsIFR5cGVkUXVlcnlMaXN0IH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIG1lcmdlLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIElubGluZVRhYkJvZHlDb21wb25lbnQsXG4gIElubGluZVRhYkNvbXBvbmVudCxcbiAgSW5saW5lVGFiSGVhZGVyQ29tcG9uZW50LFxuICBJbmxpbmVUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmUsXG4gIFRBQl9HUk9VUCxcbn0gZnJvbSAnLi4vLi4vcGFydGlhbHMnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuZXhwb3J0IGNsYXNzIElubGluZVRhYkNoYW5nZUV2ZW50IHtcbiAgaW5kZXghOiBudW1iZXI7XG4gIHRhYiE6IElubGluZVRhYkNvbXBvbmVudDtcbn1cblxuaW50ZXJmYWNlIElubGluZVRhYnNCYXNlSGVhZGVyIHtcbiAgX2FsaWduSW5rQmFyVG9TZWxlY3RlZFRhYigpOiB2b2lkO1xuICB1cGRhdGVQYWdpbmF0aW9uKCk6IHZvaWQ7XG4gIGZvY3VzSW5kZXg6IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtaW5saW5lLXRhYnMnLFxuICB0ZW1wbGF0ZVVybDogJ2lubGluZS10YWJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2lubGluZS10YWJzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogVEFCX0dST1VQLFxuICAgICAgdXNlRXhpc3Rpbmc6IElubGluZVRhYnNDb21wb25lbnQsXG4gICAgfSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nRm9yT2YsXG4gICAgTmdJZixcbiAgICBJbmxpbmVUYWJIZWFkZXJDb21wb25lbnQsXG4gICAgTmdDbGFzcyxcbiAgICBJbmxpbmVUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmUsXG4gICAgQTExeU1vZHVsZSxcbiAgICBJbmxpbmVUYWJCb2R5Q29tcG9uZW50LFxuICAgIFBvcnRhbE1vZHVsZSxcbiAgXSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtaW5saW5lLXRhYnMnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBJbmxpbmVUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgZ2V0IHNlbGVjdGVkSW5kZXgoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSW5kZXg7XG4gIH1cbiAgc2V0IHNlbGVjdGVkSW5kZXgodmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgdGhpcy5faW5kZXhUb1NlbGVjdCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlLCBudWxsKTtcbiAgfVxuICBwcml2YXRlIF9zZWxlY3RlZEluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBnZXQgY29udGVudFRhYkluZGV4KCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50VGFiSW5kZXg7XG4gIH1cbiAgc2V0IGNvbnRlbnRUYWJJbmRleCh2YWx1ZTogTnVtYmVySW5wdXQpIHtcbiAgICB0aGlzLl9jb250ZW50VGFiSW5kZXggPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSwgbnVsbCk7XG4gIH1cbiAgcHJpdmF0ZSBfY29udGVudFRhYkluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBnZXQgcHJlc2VydmVDb250ZW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9wcmVzZXJ2ZUNvbnRlbnQ7XG4gIH1cbiAgc2V0IHByZXNlcnZlQ29udGVudCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fcHJlc2VydmVDb250ZW50ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIF9wcmVzZXJ2ZUNvbnRlbnQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICB0YWJIZWFkZXJDbGFzc2VzOiBOZ0NsYXNzVHlwZTtcblxuICBASW5wdXQoKVxuICBpdGVtU2l6ZTogJ2F1dG8nIHwgJ3NhbWUnID0gJ2F1dG8nO1xuXG4gIEBJbnB1dCgpXG4gIHNjcm9sbGFibGVDbGFzcz86IE5nQ2xhc3NUeXBlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCByZW5kZXJNYXNrcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVuZGVyTWFza3M7XG4gIH1cbiAgc2V0IHJlbmRlck1hc2tzKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9yZW5kZXJNYXNrcyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBfcmVuZGVyTWFza3MgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCByZW5kZXJCdXR0b25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZW5kZXJCdXR0b25zO1xuICB9XG4gIHNldCByZW5kZXJCdXR0b25zKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9yZW5kZXJCdXR0b25zID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIF9yZW5kZXJCdXR0b25zID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBnZXQgcmVuZGVyU2Nyb2xsYmFycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVuZGVyU2Nyb2xsYmFycztcbiAgfVxuICBzZXQgcmVuZGVyU2Nyb2xsYmFycyh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fcmVuZGVyU2Nyb2xsYmFycyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBfcmVuZGVyU2Nyb2xsYmFycyA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZWxlY3RlZEluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGZvY3VzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJbmxpbmVUYWJDaGFuZ2VFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgc2VsZWN0ZWRUYWJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElubGluZVRhYkNoYW5nZUV2ZW50Pih0cnVlKTtcblxuICBAQ29udGVudENoaWxkcmVuKElubGluZVRhYkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBfYWxsVGFicyE6IFR5cGVkUXVlcnlMaXN0PElubGluZVRhYkNvbXBvbmVudD47XG5cbiAgQFZpZXdDaGlsZCgndGFiQm9keVdyYXBwZXInKVxuICBfdGFiQm9keVdyYXBwZXIhOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhYkhlYWRlcicpXG4gIF90YWJIZWFkZXIhOiBJbmxpbmVUYWJzQmFzZUhlYWRlcjtcblxuICBfdGFiczogVHlwZWRRdWVyeUxpc3Q8SW5saW5lVGFiQ29tcG9uZW50PiA9IG5ldyBUeXBlZFF1ZXJ5TGlzdDxJbmxpbmVUYWJDb21wb25lbnQ+KCk7XG5cbiAgcHJpdmF0ZSBfZ3JvdXBJZCA9IG5leHRJZCsrO1xuICBwcml2YXRlIF9pbmRleFRvU2VsZWN0OiBudW1iZXIgfCBudWxsID0gMDtcbiAgcHJpdmF0ZSBfbGFzdEZvY3VzZWRUYWJJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3RhYnNTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gIHByaXZhdGUgX3RhYkxhYmVsU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuX3N1YnNjcmliZVRvQWxsVGFiQ2hhbmdlcygpO1xuICAgIHRoaXMuX3N1YnNjcmliZVRvVGFiTGFiZWxzKCk7XG5cbiAgICB0aGlzLl90YWJzU3Vic2NyaXB0aW9uID0gdGhpcy5fdGFicy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBpbmRleFRvU2VsZWN0ID0gdGhpcy5fY2xhbXBUYWJJbmRleCh0aGlzLl9pbmRleFRvU2VsZWN0KTtcblxuICAgICAgaWYgKGluZGV4VG9TZWxlY3QgPT09IHRoaXMuX3NlbGVjdGVkSW5kZXgpIHtcbiAgICAgICAgY29uc3QgdGFicyA9IHRoaXMuX3RhYnMudG9BcnJheSgpO1xuICAgICAgICBsZXQgc2VsZWN0ZWRUYWI6IElubGluZVRhYkNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRhYnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAodGFic1tpXT8uaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuX2luZGV4VG9TZWxlY3QgPSB0aGlzLl9zZWxlY3RlZEluZGV4ID0gaTtcbiAgICAgICAgICAgIHRoaXMuX2xhc3RGb2N1c2VkVGFiSW5kZXggPSBudWxsO1xuICAgICAgICAgICAgc2VsZWN0ZWRUYWIgPSB0YWJzW2ldO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzZWxlY3RlZFRhYiAmJiB0YWJzW2luZGV4VG9TZWxlY3RdKSB7XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ID0gdGFic1tpbmRleFRvU2VsZWN0XTtcblxuICAgICAgICAgICAgaWYgKCF0KSByZXR1cm47XG5cbiAgICAgICAgICAgIHQuaXNBY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYkNoYW5nZS5lbWl0KHRoaXMuX2NyZWF0ZUNoYW5nZUV2ZW50KGluZGV4VG9TZWxlY3QpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSB7XG4gICAgY29uc3QgaW5kZXhUb1NlbGVjdCA9ICh0aGlzLl9pbmRleFRvU2VsZWN0ID0gdGhpcy5fY2xhbXBUYWJJbmRleCh0aGlzLl9pbmRleFRvU2VsZWN0KSk7XG5cbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRJbmRleCAhPSBpbmRleFRvU2VsZWN0KSB7XG4gICAgICBjb25zdCBpc0ZpcnN0UnVuID0gdGhpcy5fc2VsZWN0ZWRJbmRleCA9PSBudWxsO1xuXG4gICAgICBpZiAoIWlzRmlyc3RSdW4pIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRhYkNoYW5nZS5lbWl0KHRoaXMuX2NyZWF0ZUNoYW5nZUV2ZW50KGluZGV4VG9TZWxlY3QpKTtcblxuICAgICAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5fdGFiQm9keVdyYXBwZXIubmF0aXZlRWxlbWVudDtcbiAgICAgICAgd3JhcHBlci5zdHlsZS5taW5IZWlnaHQgPSB3cmFwcGVyLmNsaWVudEhlaWdodCArICdweCc7XG4gICAgICB9XG5cbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLl90YWJzXG4gICAgICAgICAgLmZpbHRlcigodCk6IHQgaXMgSW5saW5lVGFiQ29tcG9uZW50ID0+ICEhdClcbiAgICAgICAgICAuZm9yRWFjaCgodGFiLCBpbmRleCkgPT4gKHRhYi5pc0FjdGl2ZSA9IGluZGV4ID09PSBpbmRleFRvU2VsZWN0KSk7XG5cbiAgICAgICAgaWYgKCFpc0ZpcnN0UnVuKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4Q2hhbmdlLmVtaXQoaW5kZXhUb1NlbGVjdCk7XG4gICAgICAgICAgdGhpcy5fdGFiQm9keVdyYXBwZXIubmF0aXZlRWxlbWVudC5zdHlsZS5taW5IZWlnaHQgPSAnJztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5fdGFicy5mb3JFYWNoKCh0YWIsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoIXRhYikgcmV0dXJuO1xuXG4gICAgICB0YWIucG9zaXRpb24gPSBpbmRleCAtIGluZGV4VG9TZWxlY3Q7XG5cbiAgICAgIGlmICh0aGlzLl9zZWxlY3RlZEluZGV4ICE9IG51bGwgJiYgdGFiLnBvc2l0aW9uID09IDAgJiYgIXRhYi5vcmlnaW4pIHtcbiAgICAgICAgdGFiLm9yaWdpbiA9IGluZGV4VG9TZWxlY3QgLSB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkSW5kZXggIT09IGluZGV4VG9TZWxlY3QpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXggPSBpbmRleFRvU2VsZWN0O1xuICAgICAgdGhpcy5fbGFzdEZvY3VzZWRUYWJJbmRleCA9IG51bGw7XG4gICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fdGFicy5kZXN0cm95KCk7XG4gICAgdGhpcy5fdGFic1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX3RhYkxhYmVsU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICB0cmFja0J5VGFiRm46IFRyYWNrQnlGdW5jdGlvbjxJbmxpbmVUYWJDb21wb25lbnQ+ID0gKGluZGV4KSA9PiBpbmRleDtcblxuICByZWFsaWduSW5rQmFyKCkge1xuICAgIGlmICh0aGlzLl90YWJIZWFkZXIpIHtcbiAgICAgIHRoaXMuX3RhYkhlYWRlci5fYWxpZ25JbmtCYXJUb1NlbGVjdGVkVGFiKCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlUGFnaW5hdGlvbigpIHtcbiAgICBpZiAodGhpcy5fdGFiSGVhZGVyKSB7XG4gICAgICB0aGlzLl90YWJIZWFkZXIudXBkYXRlUGFnaW5hdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIGZvY3VzVGFiKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBoZWFkZXIgPSB0aGlzLl90YWJIZWFkZXI7XG5cbiAgICBpZiAoaGVhZGVyKSB7XG4gICAgICBoZWFkZXIuZm9jdXNJbmRleCA9IGluZGV4O1xuICAgIH1cbiAgfVxuXG4gIF9mb2N1c0NoYW5nZWQoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuX2xhc3RGb2N1c2VkVGFiSW5kZXggPSBpbmRleDtcbiAgICB0aGlzLmZvY3VzQ2hhbmdlLmVtaXQodGhpcy5fY3JlYXRlQ2hhbmdlRXZlbnQoaW5kZXgpKTtcbiAgfVxuXG4gIF9nZXRUYWJMYWJlbElkKGk6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBldC1pbmxpbmUtdGFiLWxhYmVsLSR7dGhpcy5fZ3JvdXBJZH0tJHtpfWA7XG4gIH1cblxuICBfZ2V0VGFiQ29udGVudElkKGk6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBldC1pbmxpbmUtdGFiLWNvbnRlbnQtJHt0aGlzLl9ncm91cElkfS0ke2l9YDtcbiAgfVxuXG4gIF9oYW5kbGVDbGljayh0YWI6IElubGluZVRhYkNvbXBvbmVudCwgdGFiSGVhZGVyOiBJbmxpbmVUYWJzQmFzZUhlYWRlciwgaW5kZXg6IG51bWJlcikge1xuICAgIGlmICghdGFiLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSB0YWJIZWFkZXIuZm9jdXNJbmRleCA9IGluZGV4O1xuICAgIH1cbiAgfVxuXG4gIF9nZXRUYWJJbmRleCh0YWI6IElubGluZVRhYkNvbXBvbmVudCwgaW5kZXg6IG51bWJlcik6IG51bWJlciB8IG51bGwge1xuICAgIGlmICh0YWIuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCB0YXJnZXRJbmRleCA9IHRoaXMuX2xhc3RGb2N1c2VkVGFiSW5kZXggPz8gdGhpcy5zZWxlY3RlZEluZGV4O1xuICAgIHJldHVybiBpbmRleCA9PT0gdGFyZ2V0SW5kZXggPyAwIDogLTE7XG4gIH1cblxuICBfdGFiRm9jdXNDaGFuZ2VkKGZvY3VzT3JpZ2luOiBGb2N1c09yaWdpbiwgaW5kZXg6IG51bWJlcikge1xuICAgIGlmIChmb2N1c09yaWdpbiAmJiBmb2N1c09yaWdpbiAhPT0gJ21vdXNlJyAmJiBmb2N1c09yaWdpbiAhPT0gJ3RvdWNoJykge1xuICAgICAgdGhpcy5fdGFiSGVhZGVyLmZvY3VzSW5kZXggPSBpbmRleDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpYmVUb0FsbFRhYkNoYW5nZXMoKSB7XG4gICAgdGhpcy5fYWxsVGFicy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuX2FsbFRhYnMpKS5zdWJzY3JpYmUoKHRhYnMpID0+IHtcbiAgICAgIHRoaXMuX3RhYnMucmVzZXQoXG4gICAgICAgIHRhYnNcbiAgICAgICAgICAuZmlsdGVyKCh0KTogdCBpcyBJbmxpbmVUYWJDb21wb25lbnQgPT4gISF0KVxuICAgICAgICAgIC5maWx0ZXIoKHRhYikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRhYi5fY2xvc2VzdFRhYkdyb3VwID09PSB0aGlzIHx8ICF0YWIuX2Nsb3Nlc3RUYWJHcm91cDtcbiAgICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgICB0aGlzLl90YWJzLm5vdGlmeU9uQ2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2xhbXBUYWJJbmRleChpbmRleDogbnVtYmVyIHwgbnVsbCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWluKHRoaXMuX3RhYnMubGVuZ3RoIC0gMSwgTWF0aC5tYXgoaW5kZXggfHwgMCwgMCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaWJlVG9UYWJMYWJlbHMoKSB7XG4gICAgaWYgKHRoaXMuX3RhYkxhYmVsU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl90YWJMYWJlbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX3RhYkxhYmVsU3Vic2NyaXB0aW9uID0gbWVyZ2UoXG4gICAgICAuLi50aGlzLl90YWJzLmZpbHRlcigodCk6IHQgaXMgSW5saW5lVGFiQ29tcG9uZW50ID0+ICEhdCkubWFwKCh0YWIpID0+IHRhYi5fc3RhdGVDaGFuZ2VzKSxcbiAgICApLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ2hhbmdlRXZlbnQoaW5kZXg6IG51bWJlcik6IElubGluZVRhYkNoYW5nZUV2ZW50IHtcbiAgICBjb25zdCBldmVudCA9IG5ldyBJbmxpbmVUYWJDaGFuZ2VFdmVudCgpO1xuICAgIGV2ZW50LmluZGV4ID0gaW5kZXg7XG4gICAgaWYgKHRoaXMuX3RhYnMgJiYgdGhpcy5fdGFicy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHRhYiA9IHRoaXMuX3RhYnMudG9BcnJheSgpW2luZGV4XTtcblxuICAgICAgaWYgKHRhYikge1xuICAgICAgICBldmVudC50YWIgPSB0YWI7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBldmVudDtcbiAgfVxufVxuIiwiPGV0LWlubGluZS10YWItaGVhZGVyXG4gICN0YWJIZWFkZXJcbiAgW3NlbGVjdGVkSW5kZXhdPVwic2VsZWN0ZWRJbmRleCB8fCAwXCJcbiAgW25nQ2xhc3NdPVwidGFiSGVhZGVyQ2xhc3Nlc1wiXG4gIFtpdGVtU2l6ZV09XCJpdGVtU2l6ZVwiXG4gIFtyZW5kZXJCdXR0b25zXT1cInJlbmRlckJ1dHRvbnNcIlxuICBbc2Nyb2xsYWJsZUNsYXNzXT1cInNjcm9sbGFibGVDbGFzc1wiXG4gIFtyZW5kZXJNYXNrc109XCJyZW5kZXJNYXNrc1wiXG4gIFtyZW5kZXJTY3JvbGxiYXJzXT1cInJlbmRlclNjcm9sbGJhcnNcIlxuICAoaW5kZXhGb2N1c2VkKT1cIl9mb2N1c0NoYW5nZWQoJGV2ZW50KVwiXG4gIChzZWxlY3RGb2N1c2VkSW5kZXgpPVwic2VsZWN0ZWRJbmRleCA9ICRldmVudFwiXG4+XG4gIDwhLS0gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC90ZW1wbGF0ZS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzIC0tPlxuICA8ZGl2XG4gICAgKm5nRm9yPVwibGV0IHRhYiBvZiBfdGFiczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVRhYkZuXCJcbiAgICBbaWRdPVwiX2dldFRhYkxhYmVsSWQoaSlcIlxuICAgIFthdHRyLnRhYkluZGV4XT1cIl9nZXRUYWJJbmRleCh0YWIsIGkpXCJcbiAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT1cImkgKyAxXCJcbiAgICBbYXR0ci5hcmlhLXNldHNpemVdPVwiX3RhYnMubGVuZ3RoXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIl9nZXRUYWJDb250ZW50SWQoaSlcIlxuICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwic2VsZWN0ZWRJbmRleCA9PT0gaVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0YWIuYXJpYUxhYmVsIHx8IG51bGxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIhdGFiLmFyaWFMYWJlbCAmJiB0YWIuYXJpYUxhYmVsbGVkYnkgPyB0YWIuYXJpYUxhYmVsbGVkYnkgOiBudWxsXCJcbiAgICBbZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCJcbiAgICBbY2xhc3MuZXQtaW5saW5lLXRhYi1sYWJlbC0tYWN0aXZlXT1cInNlbGVjdGVkSW5kZXggPT09IGlcIlxuICAgIFtjbGFzcy5ldC1pbmxpbmUtdGFiLWxhYmVsLS1pcy10ZXh0XT1cIiEhdGFiLnRleHRMYWJlbFwiXG4gICAgW2ZpdFVuZGVybGluZVRvQ29udGVudF09XCJ0YWIuZml0VW5kZXJsaW5lVG9Db250ZW50XCJcbiAgICAoY2xpY2spPVwiX2hhbmRsZUNsaWNrKHRhYiwgdGFiSGVhZGVyLCBpKVwiXG4gICAgKGNka0ZvY3VzQ2hhbmdlKT1cIl90YWJGb2N1c0NoYW5nZWQoJGV2ZW50LCBpKVwiXG4gICAgcm9sZT1cInRhYlwiXG4gICAgZXRJbmxpbmVUYWJMYWJlbFdyYXBwZXJcbiAgICBjZGtNb25pdG9yRWxlbWVudEZvY3VzXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cImV0LXRhYi1jb250ZW50XCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwidGFiLnRlbXBsYXRlTGFiZWxcIiBbbmdJZkVsc2VdPVwidGFiVGV4dExhYmVsXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInRhYi50ZW1wbGF0ZUxhYmVsXCIgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdGFiVGV4dExhYmVsPnt7IHRhYi50ZXh0TGFiZWwgfX08L25nLXRlbXBsYXRlPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2V0LWlubGluZS10YWItaGVhZGVyPlxuXG48ZGl2ICN0YWJCb2R5V3JhcHBlcj5cbiAgPGV0LWlubGluZS10YWItYm9keVxuICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgX3RhYnM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlUYWJGblwiXG4gICAgW2lkXT1cIl9nZXRUYWJDb250ZW50SWQoaSlcIlxuICAgIFthdHRyLnRhYmluZGV4XT1cImNvbnRlbnRUYWJJbmRleCAhPT0gbnVsbCAmJiBzZWxlY3RlZEluZGV4ID09PSBpID8gY29udGVudFRhYkluZGV4IDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIl9nZXRUYWJMYWJlbElkKGkpXCJcbiAgICBbY2xhc3MuY2RrLXZpc3VhbGx5LWhpZGRlbl09XCJzZWxlY3RlZEluZGV4ICE9PSBpXCJcbiAgICBbbmdDbGFzc109XCJ0YWIuYm9keUNsYXNzXCJcbiAgICBbY2xhc3Muc3Itb25seV09XCJzZWxlY3RlZEluZGV4ICE9PSBpXCJcbiAgICBbY29udGVudF09XCJ0YWIuY29udGVudCFcIlxuICAgIFtwb3NpdGlvbl09XCJ0YWIucG9zaXRpb24hXCJcbiAgICBbb3JpZ2luXT1cInRhYi5vcmlnaW5cIlxuICAgIFtwcmVzZXJ2ZUNvbnRlbnRdPVwicHJlc2VydmVDb250ZW50XCJcbiAgICByb2xlPVwidGFicGFuZWxcIlxuICAgIGFuaW1hdGlvbkR1cmF0aW9uPVwiMG1zXCJcbiAgLz5cbjwvZGl2PlxuIl19
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvY29tcG9uZW50cy9pbmxpbmUtdGFicy9pbmxpbmUtdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvdGFicy9jb21wb25lbnRzL2lubGluZS10YWJzL2lubGluZS10YWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUdMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsOEJBQThCLEVBQzlCLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDOzs7O0FBRXhCLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQUVmLE1BQU0sT0FBTyxvQkFBb0I7Q0FHaEM7QUFtQ0QsTUFB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OzhCQU1ELGFBQWE7c0JBRFosS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJDLGVBQWU7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJDLGVBQWU7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJdEMsZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRDLGFBQWE7c0JBRFosS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJdEMsZ0JBQWdCO3NCQURmLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSTdCLG1CQUFtQjtzQkFEM0IsTUFBTTtnQkFJRSxXQUFXO3NCQURuQixNQUFNO2dCQUlFLGlCQUFpQjtzQkFEekIsTUFBTTtnQkFJUCxRQUFRO3NCQURQLGVBQWU7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUkxRCxlQUFlO3NCQURkLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUkzQixVQUFVO3NCQURULFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEExMXlNb2R1bGUsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0Zvck9mLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGluamVjdCxcbiAgbnVtYmVyQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3NUeXBlLCBUeXBlZFF1ZXJ5TGlzdCB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBtZXJnZSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBJbmxpbmVUYWJCb2R5Q29tcG9uZW50LFxuICBJbmxpbmVUYWJDb21wb25lbnQsXG4gIElubGluZVRhYkhlYWRlckNvbXBvbmVudCxcbiAgSW5saW5lVGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlLFxuICBUQUJfR1JPVVAsXG59IGZyb20gJy4uLy4uL3BhcnRpYWxzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbmV4cG9ydCBjbGFzcyBJbmxpbmVUYWJDaGFuZ2VFdmVudCB7XG4gIGluZGV4ITogbnVtYmVyO1xuICB0YWIhOiBJbmxpbmVUYWJDb21wb25lbnQ7XG59XG5cbmludGVyZmFjZSBJbmxpbmVUYWJzQmFzZUhlYWRlciB7XG4gIF9hbGlnbklua0JhclRvU2VsZWN0ZWRUYWIoKTogdm9pZDtcbiAgdXBkYXRlUGFnaW5hdGlvbigpOiB2b2lkO1xuICBmb2N1c0luZGV4OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWlubGluZS10YWJzJyxcbiAgdGVtcGxhdGVVcmw6ICdpbmxpbmUtdGFicy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydpbmxpbmUtdGFicy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRBQl9HUk9VUCxcbiAgICAgIHVzZUV4aXN0aW5nOiBJbmxpbmVUYWJzQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0Zvck9mLFxuICAgIE5nSWYsXG4gICAgSW5saW5lVGFiSGVhZGVyQ29tcG9uZW50LFxuICAgIE5nQ2xhc3MsXG4gICAgSW5saW5lVGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlLFxuICAgIEExMXlNb2R1bGUsXG4gICAgSW5saW5lVGFiQm9keUNvbXBvbmVudCxcbiAgICBQb3J0YWxNb2R1bGUsXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LWlubGluZS10YWJzJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgSW5saW5lVGFic0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyQ29udGVudENoZWNrZWQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgc2VsZWN0ZWRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgY29udGVudFRhYkluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHJlc2VydmVDb250ZW50ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgdGFiSGVhZGVyQ2xhc3NlczogTmdDbGFzc1R5cGU7XG5cbiAgQElucHV0KClcbiAgaXRlbVNpemU6ICdhdXRvJyB8ICdzYW1lJyA9ICdhdXRvJztcblxuICBASW5wdXQoKVxuICBzY3JvbGxhYmxlQ2xhc3M/OiBOZ0NsYXNzVHlwZTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcmVuZGVyTWFza3MgPSB0cnVlO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICByZW5kZXJCdXR0b25zID0gdHJ1ZTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcmVuZGVyU2Nyb2xsYmFycyA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZWxlY3RlZEluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGZvY3VzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJbmxpbmVUYWJDaGFuZ2VFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgc2VsZWN0ZWRUYWJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElubGluZVRhYkNoYW5nZUV2ZW50Pih0cnVlKTtcblxuICBAQ29udGVudENoaWxkcmVuKElubGluZVRhYkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBfYWxsVGFicyE6IFR5cGVkUXVlcnlMaXN0PElubGluZVRhYkNvbXBvbmVudD47XG5cbiAgQFZpZXdDaGlsZCgndGFiQm9keVdyYXBwZXInKVxuICBfdGFiQm9keVdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgQFZpZXdDaGlsZCgndGFiSGVhZGVyJylcbiAgX3RhYkhlYWRlciE6IElubGluZVRhYnNCYXNlSGVhZGVyO1xuXG4gIF90YWJzOiBUeXBlZFF1ZXJ5TGlzdDxJbmxpbmVUYWJDb21wb25lbnQ+ID0gbmV3IFR5cGVkUXVlcnlMaXN0PElubGluZVRhYkNvbXBvbmVudD4oKTtcblxuICBwcml2YXRlIF9ncm91cElkID0gbmV4dElkKys7XG4gIHByaXZhdGUgX2xhc3RGb2N1c2VkVGFiSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF90YWJzU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICBwcml2YXRlIF90YWJMYWJlbFN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5fc3Vic2NyaWJlVG9BbGxUYWJDaGFuZ2VzKCk7XG4gICAgdGhpcy5fc3Vic2NyaWJlVG9UYWJMYWJlbHMoKTtcblxuICAgIHRoaXMuX3RhYnNTdWJzY3JpcHRpb24gPSB0aGlzLl90YWJzLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4VG9TZWxlY3QgPSB0aGlzLl9jbGFtcFRhYkluZGV4KHRoaXMuc2VsZWN0ZWRJbmRleCk7XG5cbiAgICAgIGlmIChpbmRleFRvU2VsZWN0ID09PSB0aGlzLnNlbGVjdGVkSW5kZXgpIHtcbiAgICAgICAgY29uc3QgdGFicyA9IHRoaXMuX3RhYnMudG9BcnJheSgpO1xuICAgICAgICBsZXQgc2VsZWN0ZWRUYWI6IElubGluZVRhYkNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRhYnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAodGFic1tpXT8uaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IGk7XG4gICAgICAgICAgICB0aGlzLl9sYXN0Rm9jdXNlZFRhYkluZGV4ID0gbnVsbDtcbiAgICAgICAgICAgIHNlbGVjdGVkVGFiID0gdGFic1tpXTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghc2VsZWN0ZWRUYWIgJiYgdGFic1tpbmRleFRvU2VsZWN0XSkge1xuICAgICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdCA9IHRhYnNbaW5kZXhUb1NlbGVjdF07XG5cbiAgICAgICAgICAgIGlmICghdCkgcmV0dXJuO1xuXG4gICAgICAgICAgICB0LmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUYWJDaGFuZ2UuZW1pdCh0aGlzLl9jcmVhdGVDaGFuZ2VFdmVudChpbmRleFRvU2VsZWN0KSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgIGNvbnN0IGluZGV4VG9TZWxlY3QgPSAodGhpcy5zZWxlY3RlZEluZGV4ID0gdGhpcy5fY2xhbXBUYWJJbmRleCh0aGlzLnNlbGVjdGVkSW5kZXgpKTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggIT0gaW5kZXhUb1NlbGVjdCAmJiB0aGlzLl90YWJCb2R5V3JhcHBlcikge1xuICAgICAgY29uc3QgaXNGaXJzdFJ1biA9IHRoaXMuc2VsZWN0ZWRJbmRleCA9PSBudWxsO1xuXG4gICAgICBpZiAoIWlzRmlyc3RSdW4pIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRhYkNoYW5nZS5lbWl0KHRoaXMuX2NyZWF0ZUNoYW5nZUV2ZW50KGluZGV4VG9TZWxlY3QpKTtcblxuICAgICAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5fdGFiQm9keVdyYXBwZXI/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHdyYXBwZXIuc3R5bGUubWluSGVpZ2h0ID0gd3JhcHBlci5jbGllbnRIZWlnaHQgKyAncHgnO1xuICAgICAgfVxuXG4gICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5fdGFic1xuICAgICAgICAgIC5maWx0ZXIoKHQpOiB0IGlzIElubGluZVRhYkNvbXBvbmVudCA9PiAhIXQpXG4gICAgICAgICAgLmZvckVhY2goKHRhYiwgaW5kZXgpID0+ICh0YWIuaXNBY3RpdmUgPSBpbmRleCA9PT0gaW5kZXhUb1NlbGVjdCkpO1xuXG4gICAgICAgIGlmICghaXNGaXJzdFJ1bikge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleENoYW5nZS5lbWl0KGluZGV4VG9TZWxlY3QpO1xuXG4gICAgICAgICAgaWYgKHRoaXMuX3RhYkJvZHlXcmFwcGVyKSB7XG4gICAgICAgICAgICB0aGlzLl90YWJCb2R5V3JhcHBlci5uYXRpdmVFbGVtZW50LnN0eWxlLm1pbkhlaWdodCA9ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5fdGFicy5mb3JFYWNoKCh0YWIsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoIXRhYikgcmV0dXJuO1xuXG4gICAgICB0YWIucG9zaXRpb24gPSBpbmRleCAtIGluZGV4VG9TZWxlY3Q7XG5cbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggIT0gbnVsbCAmJiB0YWIucG9zaXRpb24gPT0gMCAmJiAhdGFiLm9yaWdpbikge1xuICAgICAgICB0YWIub3JpZ2luID0gaW5kZXhUb1NlbGVjdCAtIHRoaXMuc2VsZWN0ZWRJbmRleDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggIT09IGluZGV4VG9TZWxlY3QpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IGluZGV4VG9TZWxlY3Q7XG4gICAgICB0aGlzLl9sYXN0Rm9jdXNlZFRhYkluZGV4ID0gbnVsbDtcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl90YWJzLmRlc3Ryb3koKTtcbiAgICB0aGlzLl90YWJzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fdGFiTGFiZWxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHRyYWNrQnlUYWJGbjogVHJhY2tCeUZ1bmN0aW9uPElubGluZVRhYkNvbXBvbmVudD4gPSAoaW5kZXgpID0+IGluZGV4O1xuXG4gIHJlYWxpZ25JbmtCYXIoKSB7XG4gICAgaWYgKHRoaXMuX3RhYkhlYWRlcikge1xuICAgICAgdGhpcy5fdGFiSGVhZGVyLl9hbGlnbklua0JhclRvU2VsZWN0ZWRUYWIoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVQYWdpbmF0aW9uKCkge1xuICAgIGlmICh0aGlzLl90YWJIZWFkZXIpIHtcbiAgICAgIHRoaXMuX3RhYkhlYWRlci51cGRhdGVQYWdpbmF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgZm9jdXNUYWIoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuX3RhYkhlYWRlcjtcblxuICAgIGlmIChoZWFkZXIpIHtcbiAgICAgIGhlYWRlci5mb2N1c0luZGV4ID0gaW5kZXg7XG4gICAgfVxuICB9XG5cbiAgX2ZvY3VzQ2hhbmdlZChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5fbGFzdEZvY3VzZWRUYWJJbmRleCA9IGluZGV4O1xuICAgIHRoaXMuZm9jdXNDaGFuZ2UuZW1pdCh0aGlzLl9jcmVhdGVDaGFuZ2VFdmVudChpbmRleCkpO1xuICB9XG5cbiAgX2dldFRhYkxhYmVsSWQoaTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGV0LWlubGluZS10YWItbGFiZWwtJHt0aGlzLl9ncm91cElkfS0ke2l9YDtcbiAgfVxuXG4gIF9nZXRUYWJDb250ZW50SWQoaTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGV0LWlubGluZS10YWItY29udGVudC0ke3RoaXMuX2dyb3VwSWR9LSR7aX1gO1xuICB9XG5cbiAgX2hhbmRsZUNsaWNrKHRhYjogSW5saW5lVGFiQ29tcG9uZW50LCB0YWJIZWFkZXI6IElubGluZVRhYnNCYXNlSGVhZGVyLCBpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKCF0YWIuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IHRhYkhlYWRlci5mb2N1c0luZGV4ID0gaW5kZXg7XG4gICAgfVxuICB9XG5cbiAgX2dldFRhYkluZGV4KHRhYjogSW5saW5lVGFiQ29tcG9uZW50LCBpbmRleDogbnVtYmVyKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgaWYgKHRhYi5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHRhcmdldEluZGV4ID0gdGhpcy5fbGFzdEZvY3VzZWRUYWJJbmRleCA/PyB0aGlzLnNlbGVjdGVkSW5kZXg7XG4gICAgcmV0dXJuIGluZGV4ID09PSB0YXJnZXRJbmRleCA/IDAgOiAtMTtcbiAgfVxuXG4gIF90YWJGb2N1c0NoYW5nZWQoZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luLCBpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGZvY3VzT3JpZ2luICYmIGZvY3VzT3JpZ2luICE9PSAnbW91c2UnICYmIGZvY3VzT3JpZ2luICE9PSAndG91Y2gnKSB7XG4gICAgICB0aGlzLl90YWJIZWFkZXIuZm9jdXNJbmRleCA9IGluZGV4O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3N1YnNjcmliZVRvQWxsVGFiQ2hhbmdlcygpIHtcbiAgICB0aGlzLl9hbGxUYWJzLmNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5fYWxsVGFicykpLnN1YnNjcmliZSgodGFicykgPT4ge1xuICAgICAgdGhpcy5fdGFicy5yZXNldChcbiAgICAgICAgdGFic1xuICAgICAgICAgIC5maWx0ZXIoKHQpOiB0IGlzIElubGluZVRhYkNvbXBvbmVudCA9PiAhIXQpXG4gICAgICAgICAgLmZpbHRlcigodGFiKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGFiLl9jbG9zZXN0VGFiR3JvdXAgPT09IHRoaXMgfHwgIXRhYi5fY2xvc2VzdFRhYkdyb3VwO1xuICAgICAgICAgIH0pLFxuICAgICAgKTtcbiAgICAgIHRoaXMuX3RhYnMubm90aWZ5T25DaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jbGFtcFRhYkluZGV4KGluZGV4OiBudW1iZXIgfCBudWxsKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5taW4odGhpcy5fdGFicy5sZW5ndGggLSAxLCBNYXRoLm1heChpbmRleCB8fCAwLCAwKSk7XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpYmVUb1RhYkxhYmVscygpIHtcbiAgICBpZiAodGhpcy5fdGFiTGFiZWxTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuX3RhYkxhYmVsU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fdGFiTGFiZWxTdWJzY3JpcHRpb24gPSBtZXJnZShcbiAgICAgIC4uLnRoaXMuX3RhYnMuZmlsdGVyKCh0KTogdCBpcyBJbmxpbmVUYWJDb21wb25lbnQgPT4gISF0KS5tYXAoKHRhYikgPT4gdGFiLl9zdGF0ZUNoYW5nZXMpLFxuICAgICkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKSk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVDaGFuZ2VFdmVudChpbmRleDogbnVtYmVyKTogSW5saW5lVGFiQ2hhbmdlRXZlbnQge1xuICAgIGNvbnN0IGV2ZW50ID0gbmV3IElubGluZVRhYkNoYW5nZUV2ZW50KCk7XG4gICAgZXZlbnQuaW5kZXggPSBpbmRleDtcbiAgICBpZiAodGhpcy5fdGFicyAmJiB0aGlzLl90YWJzLmxlbmd0aCkge1xuICAgICAgY29uc3QgdGFiID0gdGhpcy5fdGFicy50b0FycmF5KClbaW5kZXhdO1xuXG4gICAgICBpZiAodGFiKSB7XG4gICAgICAgIGV2ZW50LnRhYiA9IHRhYjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGV2ZW50O1xuICB9XG59XG4iLCI8ZXQtaW5saW5lLXRhYi1oZWFkZXJcbiAgI3RhYkhlYWRlclxuICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZEluZGV4IHx8IDBcIlxuICBbbmdDbGFzc109XCJ0YWJIZWFkZXJDbGFzc2VzXCJcbiAgW2l0ZW1TaXplXT1cIml0ZW1TaXplXCJcbiAgW3JlbmRlckJ1dHRvbnNdPVwicmVuZGVyQnV0dG9uc1wiXG4gIFtzY3JvbGxhYmxlQ2xhc3NdPVwic2Nyb2xsYWJsZUNsYXNzXCJcbiAgW3JlbmRlck1hc2tzXT1cInJlbmRlck1hc2tzXCJcbiAgW3JlbmRlclNjcm9sbGJhcnNdPVwicmVuZGVyU2Nyb2xsYmFyc1wiXG4gIChpbmRleEZvY3VzZWQpPVwiX2ZvY3VzQ2hhbmdlZCgkZXZlbnQpXCJcbiAgKHNlbGVjdEZvY3VzZWRJbmRleCk9XCJzZWxlY3RlZEluZGV4ID0gJGV2ZW50XCJcbj5cbiAgPCEtLSBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3RlbXBsYXRlL2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgLS0+XG4gIDxkaXZcbiAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIF90YWJzOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5VGFiRm5cIlxuICAgIFtpZF09XCJfZ2V0VGFiTGFiZWxJZChpKVwiXG4gICAgW2F0dHIudGFiSW5kZXhdPVwiX2dldFRhYkluZGV4KHRhYiwgaSlcIlxuICAgIFthdHRyLmFyaWEtcG9zaW5zZXRdPVwiaSArIDFcIlxuICAgIFthdHRyLmFyaWEtc2V0c2l6ZV09XCJfdGFicy5sZW5ndGhcIlxuICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiX2dldFRhYkNvbnRlbnRJZChpKVwiXG4gICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJzZWxlY3RlZEluZGV4ID09PSBpXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRhYi5hcmlhTGFiZWwgfHwgbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIiF0YWIuYXJpYUxhYmVsICYmIHRhYi5hcmlhTGFiZWxsZWRieSA/IHRhYi5hcmlhTGFiZWxsZWRieSA6IG51bGxcIlxuICAgIFtkaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWRcIlxuICAgIFtjbGFzcy5ldC1pbmxpbmUtdGFiLWxhYmVsLS1hY3RpdmVdPVwic2VsZWN0ZWRJbmRleCA9PT0gaVwiXG4gICAgW2NsYXNzLmV0LWlubGluZS10YWItbGFiZWwtLWlzLXRleHRdPVwiISF0YWIudGV4dExhYmVsXCJcbiAgICBbZml0VW5kZXJsaW5lVG9Db250ZW50XT1cInRhYi5maXRVbmRlcmxpbmVUb0NvbnRlbnRcIlxuICAgIChjbGljayk9XCJfaGFuZGxlQ2xpY2sodGFiLCB0YWJIZWFkZXIsIGkpXCJcbiAgICAoY2RrRm9jdXNDaGFuZ2UpPVwiX3RhYkZvY3VzQ2hhbmdlZCgkZXZlbnQsIGkpXCJcbiAgICByb2xlPVwidGFiXCJcbiAgICBldElubGluZVRhYkxhYmVsV3JhcHBlclxuICAgIGNka01vbml0b3JFbGVtZW50Rm9jdXNcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwiZXQtdGFiLWNvbnRlbnRcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJ0YWIudGVtcGxhdGVMYWJlbFwiIFtuZ0lmRWxzZV09XCJ0YWJUZXh0TGFiZWxcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwidGFiLnRlbXBsYXRlTGFiZWxcIiAvPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPG5nLXRlbXBsYXRlICN0YWJUZXh0TGFiZWw+e3sgdGFiLnRleHRMYWJlbCB9fTwvbmctdGVtcGxhdGU+XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbjwvZXQtaW5saW5lLXRhYi1oZWFkZXI+XG5cbjxkaXYgI3RhYkJvZHlXcmFwcGVyPlxuICA8ZXQtaW5saW5lLXRhYi1ib2R5XG4gICAgKm5nRm9yPVwibGV0IHRhYiBvZiBfdGFiczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVRhYkZuXCJcbiAgICBbaWRdPVwiX2dldFRhYkNvbnRlbnRJZChpKVwiXG4gICAgW2F0dHIudGFiaW5kZXhdPVwiY29udGVudFRhYkluZGV4ICE9PSBudWxsICYmIHNlbGVjdGVkSW5kZXggPT09IGkgPyBjb250ZW50VGFiSW5kZXggOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiX2dldFRhYkxhYmVsSWQoaSlcIlxuICAgIFtjbGFzcy5jZGstdmlzdWFsbHktaGlkZGVuXT1cInNlbGVjdGVkSW5kZXggIT09IGlcIlxuICAgIFtuZ0NsYXNzXT1cInRhYi5ib2R5Q2xhc3NcIlxuICAgIFtjbGFzcy5zci1vbmx5XT1cInNlbGVjdGVkSW5kZXggIT09IGlcIlxuICAgIFtjb250ZW50XT1cInRhYi5jb250ZW50IVwiXG4gICAgW3Bvc2l0aW9uXT1cInRhYi5wb3NpdGlvbiFcIlxuICAgIFtvcmlnaW5dPVwidGFiLm9yaWdpblwiXG4gICAgW3ByZXNlcnZlQ29udGVudF09XCJwcmVzZXJ2ZUNvbnRlbnRcIlxuICAgIHJvbGU9XCJ0YWJwYW5lbFwiXG4gICAgYW5pbWF0aW9uRHVyYXRpb249XCIwbXNcIlxuICAvPlxuPC9kaXY+XG4iXX0=
@@ -1,7 +1,5 @@
1
- import { Directionality } from '@angular/cdk/bidi';
2
- import { ViewportRuler } from '@angular/cdk/scrolling';
3
1
  import { NgClass } from '@angular/common';
4
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, forwardRef, HostBinding, Input, NgZone, Optional, ViewChild, ViewEncapsulation, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ContentChildren, forwardRef, HostBinding, inject, Input, ViewChild, ViewEncapsulation, } from '@angular/core';
5
3
  import { NavigationEnd, Router } from '@angular/router';
6
4
  import { ScrollObserverIgnoreTargetDirective, TypedQueryList } from '@ethlete/core';
7
5
  import { filter, startWith, takeUntil, tap } from 'rxjs';
@@ -10,18 +8,14 @@ import { NavTabLinkComponent } from '../../partials/nav-tabs/nav-tab-link';
10
8
  import { NavTabsOutletComponent } from '../../partials/nav-tabs/nav-tabs-outlet';
11
9
  import { ActiveTabUnderlineBarManager, ActiveTabUnderlineDirective, PaginatedTabHeaderDirective } from '../../utils';
12
10
  import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/cdk/bidi";
14
- import * as i2 from "@angular/cdk/scrolling";
15
- import * as i3 from "@angular/router";
16
- class NavTabsComponent extends PaginatedTabHeaderDirective {
11
+ export class NavTabsComponent extends PaginatedTabHeaderDirective {
12
+ constructor() {
13
+ super(...arguments);
14
+ this._router = inject(Router);
15
+ }
17
16
  get _attrRole() {
18
17
  return this._getRole();
19
18
  }
20
- constructor(elementRef, dir, ngZone, _cdr, viewportRuler, _router) {
21
- super(elementRef, _cdr, viewportRuler, dir, ngZone);
22
- this._cdr = _cdr;
23
- this._router = _router;
24
- }
25
19
  ngOnInit() {
26
20
  this._router.events
27
21
  .pipe(filter((e) => e instanceof NavigationEnd), tap(() => this.updateActiveLink()), takeUntil(this._destroy$))
@@ -62,18 +56,15 @@ class NavTabsComponent extends PaginatedTabHeaderDirective {
62
56
  _getRole() {
63
57
  return this.tabOutlet ? 'tablist' : this._elementRef.nativeElement.getAttribute('role');
64
58
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NavTabsComponent, deps: [{ token: i0.ElementRef }, { token: i1.Directionality, optional: true }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i2.ViewportRuler }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: NavTabsComponent, isStandalone: true, selector: "[et-nav-tabs]", inputs: { tabOutlet: "tabOutlet" }, host: { properties: { "attr.role": "this._attrRole" }, classAttribute: "et-nav-tabs" }, queries: [{ propertyName: "_items", predicate: i0.forwardRef(function () { return NavTabLinkComponent; }), descendants: true }, { propertyName: "_inkBars", predicate: i0.forwardRef(function () { return ActiveTabUnderlineDirective; }), descendants: true }], viewQueries: [{ propertyName: "_scrollable", first: true, predicate: ScrollableComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<et-scrollable\n [itemSize]=\"itemSize\"\n [renderButtons]=\"renderButtons\"\n [scrollableClass]=\"scrollableClass\"\n [renderMasks]=\"renderMasks\"\n [renderScrollbars]=\"renderScrollbars\"\n (keydown)=\"_handleKeydown($event)\"\n (contentChanged)=\"_onContentChanges()\"\n>\n <ng-content />\n</et-scrollable>\n", dependencies: [{ kind: "component", type: ScrollableComponent, selector: "et-scrollable", inputs: ["itemSize", "direction", "scrollableRole", "scrollableClass", "renderMasks", "renderButtons", "renderScrollbars", "stickyButtons", "cursorDragScroll", "activeElementScrollMargin", "disableActiveElementScrolling", "scrollMode"], outputs: ["scrollStateChange"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: NavTabsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: NavTabsComponent, isStandalone: true, selector: "[et-nav-tabs]", inputs: { tabOutlet: "tabOutlet" }, host: { properties: { "attr.role": "this._attrRole" }, classAttribute: "et-nav-tabs" }, queries: [{ propertyName: "_items", predicate: i0.forwardRef(function () { return NavTabLinkComponent; }), descendants: true }, { propertyName: "_inkBars", predicate: i0.forwardRef(function () { return ActiveTabUnderlineDirective; }), descendants: true }], viewQueries: [{ propertyName: "_scrollable", first: true, predicate: ScrollableComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<et-scrollable\n [itemSize]=\"itemSize\"\n [renderButtons]=\"renderButtons\"\n [scrollableClass]=\"scrollableClass\"\n [renderMasks]=\"renderMasks\"\n [renderScrollbars]=\"renderScrollbars\"\n (keydown)=\"_handleKeydown($event)\"\n (contentChanged)=\"_onContentChanges()\"\n>\n <ng-content />\n</et-scrollable>\n", dependencies: [{ kind: "component", type: ScrollableComponent, selector: "et-scrollable", inputs: ["itemSize", "direction", "scrollableRole", "scrollableClass", "renderMasks", "renderButtons", "renderScrollbars", "stickyButtons", "cursorDragScroll", "disableActiveElementScrolling", "scrollMode", "snap", "scrollMargin"], outputs: ["scrollStateChange", "intersectionChange"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
67
61
  }
68
- export { NavTabsComponent };
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NavTabsComponent, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: NavTabsComponent, decorators: [{
70
63
  type: Component,
71
64
  args: [{ selector: '[et-nav-tabs]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, standalone: true, imports: [ScrollableComponent, NgClass, ScrollObserverIgnoreTargetDirective], host: {
72
65
  class: 'et-nav-tabs',
73
66
  }, template: "<et-scrollable\n [itemSize]=\"itemSize\"\n [renderButtons]=\"renderButtons\"\n [scrollableClass]=\"scrollableClass\"\n [renderMasks]=\"renderMasks\"\n [renderScrollbars]=\"renderScrollbars\"\n (keydown)=\"_handleKeydown($event)\"\n (contentChanged)=\"_onContentChanges()\"\n>\n <ng-content />\n</et-scrollable>\n" }]
74
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Directionality, decorators: [{
75
- type: Optional
76
- }] }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i2.ViewportRuler }, { type: i3.Router }]; }, propDecorators: { tabOutlet: [{
67
+ }], propDecorators: { tabOutlet: [{
77
68
  type: Input
78
69
  }], _items: [{
79
70
  type: ContentChildren,
@@ -88,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
88
79
  type: HostBinding,
89
80
  args: ['attr.role']
90
81
  }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvY29tcG9uZW50cy9uYXYtdGFicy9uYXYtdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvdGFicy9jb21wb25lbnRzL25hdi10YWJzL25hdi10YWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFHTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFHTixRQUFRLEVBQ1IsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMs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Q3JEaEMsa1VBV0EsNENEd0JZLG1CQUFtQjs7U0FLbEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBWDVCLFNBQVM7K0JBQ0UsZUFBZSxpQkFFVixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxPQUFPLGNBQ3BDLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxtQ0FBbUMsQ0FBQyxRQUN0RTt3QkFDSixLQUFLLEVBQUUsYUFBYTtxQkFDckI7OzBCQTJCRSxRQUFRO2tKQXBCWCxTQUFTO3NCQURSLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFJN0UsUUFBUTtzQkFEUCxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFJckYsV0FBVztzQkFEVixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFNNUMsU0FBUztzQkFEWixXQUFXO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IFZpZXdwb3J0UnVsZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2Nyb2xsT2JzZXJ2ZXJJZ25vcmVUYXJnZXREaXJlY3RpdmUsIFR5cGVkUXVlcnlMaXN0IH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIHN0YXJ0V2l0aCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNjcm9sbGFibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zY3JvbGxhYmxlJztcbmltcG9ydCB7IE5hdlRhYkxpbmtDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXJ0aWFscy9uYXYtdGFicy9uYXYtdGFiLWxpbmsnO1xuaW1wb3J0IHsgTmF2VGFic091dGxldENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhcnRpYWxzL25hdi10YWJzL25hdi10YWJzLW91dGxldCc7XG5pbXBvcnQgeyBBY3RpdmVUYWJVbmRlcmxpbmVCYXJNYW5hZ2VyLCBBY3RpdmVUYWJVbmRlcmxpbmVEaXJlY3RpdmUsIFBhZ2luYXRlZFRhYkhlYWRlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW2V0LW5hdi10YWJzXScsXG4gIHRlbXBsYXRlVXJsOiAnbmF2LXRhYnMuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtTY3JvbGxhYmxlQ29tcG9uZW50LCBOZ0NsYXNzLCBTY3JvbGxPYnNlcnZlcklnbm9yZVRhcmdldERpcmVjdGl2ZV0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LW5hdi10YWJzJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTmF2VGFic0NvbXBvbmVudFxuICBleHRlbmRzIFBhZ2luYXRlZFRhYkhlYWRlckRpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpXG4gIHRhYk91dGxldD86IE5hdlRhYnNPdXRsZXRDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IE5hdlRhYkxpbmtDb21wb25lbnQpLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIF9pdGVtcyE6IFR5cGVkUXVlcnlMaXN0PE5hdlRhYkxpbmtDb21wb25lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBBY3RpdmVUYWJVbmRlcmxpbmVEaXJlY3RpdmUpLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIF9pbmtCYXJzITogVHlwZWRRdWVyeUxpc3Q8QWN0aXZlVGFiVW5kZXJsaW5lRGlyZWN0aXZlPjtcblxuICBAVmlld0NoaWxkKFNjcm9sbGFibGVDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIF9zY3JvbGxhYmxlITogU2Nyb2xsYWJsZUNvbXBvbmVudDtcblxuICBfYWN0aXZlVGFiVW5kZXJsaW5lTWFuYWdlcj86IEFjdGl2ZVRhYlVuZGVybGluZUJhck1hbmFnZXI7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICBnZXQgX2F0dHJSb2xlKCkge1xuICAgIHJldHVybiB0aGlzLl9nZXRSb2xlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIEBPcHRpb25hbCgpIGRpcjogRGlyZWN0aW9uYWxpdHksXG4gICAgbmdab25lOiBOZ1pvbmUsXG4gICAgcHVibGljIG92ZXJyaWRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHZpZXdwb3J0UnVsZXI6IFZpZXdwb3J0UnVsZXIsXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYsIF9jZHIsIHZpZXdwb3J0UnVsZXIsIGRpciwgbmdab25lKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3JvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGUpOiBlIGlzIE5hdmlnYXRpb25FbmQgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy51cGRhdGVBY3RpdmVMaW5rKCkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9pdGVtU2VsZWN0ZWQoKSB7XG4gICAgLy8gbm9vcFxuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuX2FjdGl2ZVRhYlVuZGVybGluZU1hbmFnZXIgPSBuZXcgQWN0aXZlVGFiVW5kZXJsaW5lQmFyTWFuYWdlcih0aGlzLl9pbmtCYXJzKTtcbiAgICB0aGlzLl9pdGVtcy5jaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMuX2l0ZW1zLnRvQXJyYXkoKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnVwZGF0ZUFjdGl2ZUxpbmsoKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICBzdXBlci5uZ0FmdGVyQ29udGVudEluaXQoKTtcbiAgfVxuXG4gIHVwZGF0ZUFjdGl2ZUxpbmsoKSB7XG4gICAgaWYgKCF0aGlzLl9pdGVtcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5faXRlbXMudG9BcnJheSgpO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zW2ldO1xuXG4gICAgICBpZiAoIWl0ZW0pIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChpdGVtPy5hY3RpdmUpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gaTtcbiAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICAgIGlmICh0aGlzLnRhYk91dGxldCkge1xuICAgICAgICAgIHRoaXMudGFiT3V0bGV0Ll9hY3RpdmVUYWJJZCA9IGl0ZW0uaWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gLTE7XG4gICAgdGhpcy5fYWN0aXZlVGFiVW5kZXJsaW5lTWFuYWdlcj8uaGlkZSgpO1xuICB9XG5cbiAgX2dldFJvbGUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudGFiT3V0bGV0ID8gJ3RhYmxpc3QnIDogdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgncm9sZScpO1xuICB9XG59XG4iLCI8ZXQtc2Nyb2xsYWJsZVxuICBbaXRlbVNpemVdPVwiaXRlbVNpemVcIlxuICBbcmVuZGVyQnV0dG9uc109XCJyZW5kZXJCdXR0b25zXCJcbiAgW3Njcm9sbGFibGVDbGFzc109XCJzY3JvbGxhYmxlQ2xhc3NcIlxuICBbcmVuZGVyTWFza3NdPVwicmVuZGVyTWFza3NcIlxuICBbcmVuZGVyU2Nyb2xsYmFyc109XCJyZW5kZXJTY3JvbGxiYXJzXCJcbiAgKGtleWRvd24pPVwiX2hhbmRsZUtleWRvd24oJGV2ZW50KVwiXG4gIChjb250ZW50Q2hhbmdlZCk9XCJfb25Db250ZW50Q2hhbmdlcygpXCJcbj5cbiAgPG5nLWNvbnRlbnQgLz5cbjwvZXQtc2Nyb2xsYWJsZT5cbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvY29tcG9uZW50cy9uYXYtdGFicy9uYXYtdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvdGFicy9jb21wb25lbnRzL25hdi10YWJzL25hdi10YWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDakYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQWFySCxNQUFNLE9BQU8sZ0JBQ1gsU0FBUSwyQkFBMkI7SUFackM7O1FBZVUs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QUFDLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUk3RSxRQUFRO3NCQURQLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUlyRixXQUFXO3NCQURWLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU01QyxTQUFTO3NCQURaLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNjcm9sbE9ic2VydmVySWdub3JlVGFyZ2V0RGlyZWN0aXZlLCBUeXBlZFF1ZXJ5TGlzdCB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBzdGFydFdpdGgsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTY3JvbGxhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2Nyb2xsYWJsZSc7XG5pbXBvcnQgeyBOYXZUYWJMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGFydGlhbHMvbmF2LXRhYnMvbmF2LXRhYi1saW5rJztcbmltcG9ydCB7IE5hdlRhYnNPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXJ0aWFscy9uYXYtdGFicy9uYXYtdGFicy1vdXRsZXQnO1xuaW1wb3J0IHsgQWN0aXZlVGFiVW5kZXJsaW5lQmFyTWFuYWdlciwgQWN0aXZlVGFiVW5kZXJsaW5lRGlyZWN0aXZlLCBQYWdpbmF0ZWRUYWJIZWFkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1tldC1uYXYtdGFic10nLFxuICB0ZW1wbGF0ZVVybDogJ25hdi10YWJzLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbU2Nyb2xsYWJsZUNvbXBvbmVudCwgTmdDbGFzcywgU2Nyb2xsT2JzZXJ2ZXJJZ25vcmVUYXJnZXREaXJlY3RpdmVdLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1uYXYtdGFicycsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdlRhYnNDb21wb25lbnRcbiAgZXh0ZW5kcyBQYWdpbmF0ZWRUYWJIZWFkZXJEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIF9yb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblxuICBASW5wdXQoKVxuICB0YWJPdXRsZXQ/OiBOYXZUYWJzT3V0bGV0Q29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBOYXZUYWJMaW5rQ29tcG9uZW50KSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBfaXRlbXMhOiBUeXBlZFF1ZXJ5TGlzdDxOYXZUYWJMaW5rQ29tcG9uZW50PjtcblxuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gQWN0aXZlVGFiVW5kZXJsaW5lRGlyZWN0aXZlKSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBfaW5rQmFycyE6IFR5cGVkUXVlcnlMaXN0PEFjdGl2ZVRhYlVuZGVybGluZURpcmVjdGl2ZT47XG5cbiAgQFZpZXdDaGlsZChTY3JvbGxhYmxlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfc2Nyb2xsYWJsZSE6IFNjcm9sbGFibGVDb21wb25lbnQ7XG5cbiAgX2FjdGl2ZVRhYlVuZGVybGluZU1hbmFnZXI/OiBBY3RpdmVUYWJVbmRlcmxpbmVCYXJNYW5hZ2VyO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgZ2V0IF9hdHRyUm9sZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0Um9sZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fcm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZSk6IGUgaXMgTmF2aWdhdGlvbkVuZCA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnVwZGF0ZUFjdGl2ZUxpbmsoKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2l0ZW1TZWxlY3RlZCgpIHtcbiAgICAvLyBub29wXG4gIH1cblxuICBvdmVycmlkZSBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5fYWN0aXZlVGFiVW5kZXJsaW5lTWFuYWdlciA9IG5ldyBBY3RpdmVUYWJVbmRlcmxpbmVCYXJNYW5hZ2VyKHRoaXMuX2lua0JhcnMpO1xuICAgIHRoaXMuX2l0ZW1zLmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzdGFydFdpdGgodGhpcy5faXRlbXMudG9BcnJheSgpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMudXBkYXRlQWN0aXZlTGluaygpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHN1cGVyLm5nQWZ0ZXJDb250ZW50SW5pdCgpO1xuICB9XG5cbiAgdXBkYXRlQWN0aXZlTGluaygpIHtcbiAgICBpZiAoIXRoaXMuX2l0ZW1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLl9pdGVtcy50b0FycmF5KCk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBpdGVtID0gaXRlbXNbaV07XG5cbiAgICAgIGlmICghaXRlbSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW0/LmFjdGl2ZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBpO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG5cbiAgICAgICAgaWYgKHRoaXMudGFiT3V0bGV0KSB7XG4gICAgICAgICAgdGhpcy50YWJPdXRsZXQuX2FjdGl2ZVRhYklkID0gaXRlbS5pZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAtMTtcbiAgICB0aGlzLl9hY3RpdmVUYWJVbmRlcmxpbmVNYW5hZ2VyPy5oaWRlKCk7XG4gIH1cblxuICBfZ2V0Um9sZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy50YWJPdXRsZXQgPyAndGFibGlzdCcgOiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdyb2xlJyk7XG4gIH1cbn1cbiIsIjxldC1zY3JvbGxhYmxlXG4gIFtpdGVtU2l6ZV09XCJpdGVtU2l6ZVwiXG4gIFtyZW5kZXJCdXR0b25zXT1cInJlbmRlckJ1dHRvbnNcIlxuICBbc2Nyb2xsYWJsZUNsYXNzXT1cInNjcm9sbGFibGVDbGFzc1wiXG4gIFtyZW5kZXJNYXNrc109XCJyZW5kZXJNYXNrc1wiXG4gIFtyZW5kZXJTY3JvbGxiYXJzXT1cInJlbmRlclNjcm9sbGJhcnNcIlxuICAoa2V5ZG93bik9XCJfaGFuZGxlS2V5ZG93bigkZXZlbnQpXCJcbiAgKGNvbnRlbnRDaGFuZ2VkKT1cIl9vbkNvbnRlbnRDaGFuZ2VzKClcIlxuPlxuICA8bmctY29udGVudCAvPlxuPC9ldC1zY3JvbGxhYmxlPlxuIl19
@@ -1,40 +1,27 @@
1
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
1
  import { TemplatePortal } from '@angular/cdk/portal';
3
- import { ChangeDetectionStrategy, Component, ContentChild, Inject, InjectionToken, Input, Optional, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ContentChild, Inject, InjectionToken, Input, Optional, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation, booleanAttribute, } from '@angular/core';
4
3
  import { Subject } from 'rxjs';
5
4
  import { TAB_CONTENT } from '../inline-tab-content';
6
5
  import { InlineTabLabelDirective, TAB, TAB_LABEL } from '../inline-tab-label';
7
6
  import * as i0 from "@angular/core";
8
7
  export const TAB_GROUP = new InjectionToken('TAB_GROUP');
9
- class InlineTabComponent {
8
+ export class InlineTabComponent {
10
9
  get templateLabel() {
11
10
  return this._templateLabel;
12
11
  }
13
12
  set templateLabel(value) {
14
13
  this._setTemplateLabelInput(value);
15
14
  }
16
- get fitUnderlineToContent() {
17
- return this._fitToContent;
18
- }
19
- set fitUnderlineToContent(v) {
20
- this._fitToContent = coerceBooleanProperty(v);
21
- }
22
- get disabled() {
23
- return this._disabled;
24
- }
25
- set disabled(value) {
26
- this._disabled = coerceBooleanProperty(value);
27
- }
28
15
  get content() {
29
16
  return this._contentPortal;
30
17
  }
31
18
  constructor(_viewContainerRef, _closestTabGroup) {
32
19
  this._viewContainerRef = _viewContainerRef;
33
20
  this._closestTabGroup = _closestTabGroup;
34
- this._fitToContent = false;
21
+ this.fitUnderlineToContent = false;
35
22
  // eslint-disable-next-line @angular-eslint/no-input-rename
36
23
  this.textLabel = '';
37
- this._disabled = false;
24
+ this.disabled = false;
38
25
  this._contentPortal = null;
39
26
  this._stateChanges = new Subject();
40
27
  this.position = null;
@@ -57,11 +44,10 @@ class InlineTabComponent {
57
44
  this._templateLabel = value;
58
45
  }
59
46
  }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: InlineTabComponent, deps: [{ token: i0.ViewContainerRef }, { token: TAB_GROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: InlineTabComponent, isStandalone: true, selector: "et-inline-tab", inputs: { fitUnderlineToContent: "fitUnderlineToContent", textLabel: ["label", "textLabel"], ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], labelClass: "labelClass", bodyClass: "bodyClass", disabled: "disabled" }, host: { classAttribute: "et-inline-tab" }, providers: [{ provide: TAB, useExisting: InlineTabComponent }], queries: [{ propertyName: "templateLabel", first: true, predicate: TAB_LABEL, descendants: true }, { propertyName: "_explicitContent", first: true, predicate: TAB_CONTENT, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "_implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template><ng-content /></ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: InlineTabComponent, deps: [{ token: i0.ViewContainerRef }, { token: TAB_GROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: InlineTabComponent, isStandalone: true, selector: "et-inline-tab", inputs: { fitUnderlineToContent: ["fitUnderlineToContent", "fitUnderlineToContent", booleanAttribute], textLabel: ["label", "textLabel"], ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], labelClass: "labelClass", bodyClass: "bodyClass", disabled: ["disabled", "disabled", booleanAttribute] }, host: { classAttribute: "et-inline-tab" }, providers: [{ provide: TAB, useExisting: InlineTabComponent }], queries: [{ propertyName: "templateLabel", first: true, predicate: TAB_LABEL, descendants: true }, { propertyName: "_explicitContent", first: true, predicate: TAB_CONTENT, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "_implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template><ng-content /></ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
62
49
  }
63
- export { InlineTabComponent };
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: InlineTabComponent, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: InlineTabComponent, decorators: [{
65
51
  type: Component,
66
52
  args: [{ selector: 'et-inline-tab', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, providers: [{ provide: TAB, useExisting: InlineTabComponent }], standalone: true, host: {
67
53
  class: 'et-inline-tab',
@@ -75,7 +61,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
75
61
  type: ContentChild,
76
62
  args: [TAB_LABEL]
77
63
  }], fitUnderlineToContent: [{
78
- type: Input
64
+ type: Input,
65
+ args: [{ transform: booleanAttribute }]
79
66
  }], _explicitContent: [{
80
67
  type: ContentChild,
81
68
  args: [TAB_CONTENT, { read: TemplateRef, static: true }]
@@ -96,6 +83,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
96
83
  }], bodyClass: [{
97
84
  type: Input
98
85
  }], disabled: [{
99
- type: Input
86
+ type: Input,
87
+ args: [{ transform: booleanAttribute }]
100
88
  }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLXRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvdGFicy9wYXJ0aWFscy9pbmxpbmUtdGFicy9pbmxpbmUtdGFiL2lubGluZS10YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvcGFydGlhbHMvaW5saW5lLXRhYnMvaW5saW5lLXRhYi9pbmxpbmUtdGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUlMLFFBQVEsRUFFUixXQUFXLEVBQ1gsU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFOUUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUFVLFdBQVcsQ0FBQyxDQUFDO0FBRWxFLE1BV2Esa0JBQWtCO0lBQzdCLElBQ0ksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBSSxhQUFhLENBQUMsS0FBOEI7UUFDOUMsSUFB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SUFBSSxFQUFFO2dCQUt4QyxTQUFTO3NCQURSLEtBQUs7dUJBQUMsT0FBTztnQkFJZCxTQUFTO3NCQURSLEtBQUs7dUJBQUMsWUFBWTtnQkFJbkIsY0FBYztzQkFEYixLQUFLO3VCQUFDLGlCQUFpQjtnQkFJeEIsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJRixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBJbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3NUeXBlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUQUJfQ09OVEVOVCB9IGZyb20gJy4uL2lubGluZS10YWItY29udGVudCc7XG5pbXBvcnQgeyBJbmxpbmVUYWJMYWJlbERpcmVjdGl2ZSwgVEFCLCBUQUJfTEFCRUwgfSBmcm9tICcuLi9pbmxpbmUtdGFiLWxhYmVsJztcblxuZXhwb3J0IGNvbnN0IFRBQl9HUk9VUCA9IG5ldyBJbmplY3Rpb25Ub2tlbjx1bmtub3duPignVEFCX0dST1VQJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWlubGluZS10YWInLFxuICB0ZW1wbGF0ZVVybDogJ2lubGluZS10YWIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVEFCLCB1c2VFeGlzdGluZzogSW5saW5lVGFiQ29tcG9uZW50IH1dLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1pbmxpbmUtdGFiJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgSW5saW5lVGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBDb250ZW50Q2hpbGQoVEFCX0xBQkVMKVxuICBnZXQgdGVtcGxhdGVMYWJlbCgpOiBJbmxpbmVUYWJMYWJlbERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3RlbXBsYXRlTGFiZWw7XG4gIH1cbiAgc2V0IHRlbXBsYXRlTGFiZWwodmFsdWU6IElubGluZVRhYkxhYmVsRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5fc2V0VGVtcGxhdGVMYWJlbElucHV0KHZhbHVlKTtcbiAgfVxuICBwcm90ZWN0ZWQgX3RlbXBsYXRlTGFiZWwhOiBJbmxpbmVUYWJMYWJlbERpcmVjdGl2ZTtcblxuICBASW5wdXQoKVxuICBnZXQgZml0VW5kZXJsaW5lVG9Db250ZW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9maXRUb0NvbnRlbnQ7XG4gIH1cbiAgc2V0IGZpdFVuZGVybGluZVRvQ29udGVudCh2OiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9maXRUb0NvbnRlbnQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodik7XG4gIH1cbiAgcHJpdmF0ZSBfZml0VG9Db250ZW50ID0gZmFsc2U7XG5cbiAgQENvbnRlbnRDaGlsZChUQUJfQ09OVEVOVCwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIF9leHBsaWNpdENvbnRlbnQhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfaW1wbGljaXRDb250ZW50ITogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdsYWJlbCcpXG4gIHRleHRMYWJlbCA9ICcnO1xuXG4gIEBJbnB1dCgnYXJpYS1sYWJlbCcpXG4gIGFyaWFMYWJlbCE6IHN0cmluZztcblxuICBASW5wdXQoJ2FyaWEtbGFiZWxsZWRieScpXG4gIGFyaWFMYWJlbGxlZGJ5ITogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxhYmVsQ2xhc3M6IE5nQ2xhc3NUeXBlO1xuXG4gIEBJbnB1dCgpXG4gIGJvZHlDbGFzczogTmdDbGFzc1R5cGU7XG5cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2NvbnRlbnRQb3J0YWw6IFRlbXBsYXRlUG9ydGFsIHwgbnVsbCA9IG51bGw7XG5cbiAgZ2V0IGNvbnRlbnQoKTogVGVtcGxhdGVQb3J0YWwgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudFBvcnRhbDtcbiAgfVxuXG4gIHJlYWRvbmx5IF9zdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHBvc2l0aW9uOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBvcmlnaW46IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIGlzQWN0aXZlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBASW5qZWN0KFRBQl9HUk9VUCkgQE9wdGlvbmFsKCkgcHVibGljIF9jbG9zZXN0VGFiR3JvdXA6IHVua25vd24sXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250ZW50UG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuX2V4cGxpY2l0Q29udGVudCB8fCB0aGlzLl9pbXBsaWNpdENvbnRlbnQsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWyd0ZXh0TGFiZWwnXSB8fCBjaGFuZ2VzWydkaXNhYmxlZCddKSB7XG4gICAgICB0aGlzLl9zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9zZXRUZW1wbGF0ZUxhYmVsSW5wdXQodmFsdWU6IElubGluZVRhYkxhYmVsRGlyZWN0aXZlIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlLl9jbG9zZXN0VGFiID09PSB0aGlzKSB7XG4gICAgICB0aGlzLl90ZW1wbGF0ZUxhYmVsID0gdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCI8bmctdGVtcGxhdGU+PG5nLWNvbnRlbnQgLz48L25nLXRlbXBsYXRlPlxuIl19
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLXRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvdGFicy9wYXJ0aWFscy9pbmxpbmUtdGFicy9pbmxpbmUtdGFiL2lubGluZS10YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvcGFydGlhbHMvaW5saW5lLXRhYnMvaW5saW5lLXRhYi9pbmxpbmUtdGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBSUwsUUFBUSxFQUVSLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFOUUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUFVLFdBQVcsQ0FBQyxDQUFDO0FBYWxFLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyxLQUE4QjtRQUM5QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQWlDRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQVVELFlBQ1UsaUJBQW1DLEVBQ0wsZ0JBQXlCO1FBRHZELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDTCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVM7UUEzQ2pFLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQVE5QiwyREFBMkQ7UUFFM0QsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQWVmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFVCxtQkFBYyxHQUEwQixJQUFJLENBQUM7UUFNNUMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTdDLGFBQVEsR0FBa0IsSUFBSSxDQUFDO1FBRS9CLFdBQU0sR0FBa0IsSUFBSSxDQUFDO1FBRTdCLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFLZCxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNuSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFUyxzQkFBc0IsQ0FBQyxLQUEwQztRQUN6RSxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLElBQUksRUFBRTtZQUN2QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztTQUM3QjtJQUNILENBQUM7OEdBM0VVLGtCQUFrQixrREFzRG5CLFNBQVM7a0dBdERSLGtCQUFrQixxSUFVVCxnQkFBZ0IsME5BeUJoQixnQkFBZ0IsMkRBekN6QixDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxxRUFPaEQsU0FBUyxtRkFZVCxXQUFXLDJCQUFVLFdBQVcsNkZBR25DLFdBQVcsbUZDckR4Qiw2Q0FDQTs7MkZEb0NhLGtCQUFrQjtrQkFYOUIsU0FBUzsrQkFDRSxlQUFlLG1CQUVSLHVCQUF1QixDQUFDLE9BQU8saUJBQ2pDLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxvQkFBb0IsRUFBRSxDQUFDLGNBQ2xELElBQUksUUFDVjt3QkFDSixLQUFLLEVBQUUsZUFBZTtxQkFDdkI7OzBCQXdERSxNQUFNOzJCQUFDLFNBQVM7OzBCQUFHLFFBQVE7NENBcEQxQixhQUFhO3NCQURoQixZQUFZO3VCQUFDLFNBQVM7Z0JBVXZCLHFCQUFxQjtzQkFEcEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJdEMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk5RCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUt4QyxTQUFTO3NCQURSLEtBQUs7dUJBQUMsT0FBTztnQkFJZCxTQUFTO3NCQURSLEtBQUs7dUJBQUMsWUFBWTtnQkFJbkIsY0FBYztzQkFEYixLQUFLO3VCQUFDLGlCQUFpQjtnQkFJeEIsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBJbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBib29sZWFuQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3NUeXBlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUQUJfQ09OVEVOVCB9IGZyb20gJy4uL2lubGluZS10YWItY29udGVudCc7XG5pbXBvcnQgeyBJbmxpbmVUYWJMYWJlbERpcmVjdGl2ZSwgVEFCLCBUQUJfTEFCRUwgfSBmcm9tICcuLi9pbmxpbmUtdGFiLWxhYmVsJztcblxuZXhwb3J0IGNvbnN0IFRBQl9HUk9VUCA9IG5ldyBJbmplY3Rpb25Ub2tlbjx1bmtub3duPignVEFCX0dST1VQJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWlubGluZS10YWInLFxuICB0ZW1wbGF0ZVVybDogJ2lubGluZS10YWIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVEFCLCB1c2VFeGlzdGluZzogSW5saW5lVGFiQ29tcG9uZW50IH1dLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1pbmxpbmUtdGFiJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgSW5saW5lVGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBDb250ZW50Q2hpbGQoVEFCX0xBQkVMKVxuICBnZXQgdGVtcGxhdGVMYWJlbCgpOiBJbmxpbmVUYWJMYWJlbERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3RlbXBsYXRlTGFiZWw7XG4gIH1cbiAgc2V0IHRlbXBsYXRlTGFiZWwodmFsdWU6IElubGluZVRhYkxhYmVsRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5fc2V0VGVtcGxhdGVMYWJlbElucHV0KHZhbHVlKTtcbiAgfVxuICBwcm90ZWN0ZWQgX3RlbXBsYXRlTGFiZWwhOiBJbmxpbmVUYWJMYWJlbERpcmVjdGl2ZTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgZml0VW5kZXJsaW5lVG9Db250ZW50ID0gZmFsc2U7XG5cbiAgQENvbnRlbnRDaGlsZChUQUJfQ09OVEVOVCwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIF9leHBsaWNpdENvbnRlbnQhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfaW1wbGljaXRDb250ZW50ITogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdsYWJlbCcpXG4gIHRleHRMYWJlbCA9ICcnO1xuXG4gIEBJbnB1dCgnYXJpYS1sYWJlbCcpXG4gIGFyaWFMYWJlbCE6IHN0cmluZztcblxuICBASW5wdXQoJ2FyaWEtbGFiZWxsZWRieScpXG4gIGFyaWFMYWJlbGxlZGJ5ITogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxhYmVsQ2xhc3M6IE5nQ2xhc3NUeXBlO1xuXG4gIEBJbnB1dCgpXG4gIGJvZHlDbGFzczogTmdDbGFzc1R5cGU7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfY29udGVudFBvcnRhbDogVGVtcGxhdGVQb3J0YWwgfCBudWxsID0gbnVsbDtcblxuICBnZXQgY29udGVudCgpOiBUZW1wbGF0ZVBvcnRhbCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50UG9ydGFsO1xuICB9XG5cbiAgcmVhZG9ubHkgX3N0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcG9zaXRpb246IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIG9yaWdpbjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgaXNBY3RpdmUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIEBJbmplY3QoVEFCX0dST1VQKSBAT3B0aW9uYWwoKSBwdWJsaWMgX2Nsb3Nlc3RUYWJHcm91cDogdW5rbm93bixcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRlbnRQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5fZXhwbGljaXRDb250ZW50IHx8IHRoaXMuX2ltcGxpY2l0Q29udGVudCwgdGhpcy5fdmlld0NvbnRhaW5lclJlZik7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3RleHRMYWJlbCddIHx8IGNoYW5nZXNbJ2Rpc2FibGVkJ10pIHtcbiAgICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3NldFRlbXBsYXRlTGFiZWxJbnB1dCh2YWx1ZTogSW5saW5lVGFiTGFiZWxEaXJlY3RpdmUgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUgJiYgdmFsdWUuX2Nsb3Nlc3RUYWIgPT09IHRoaXMpIHtcbiAgICAgIHRoaXMuX3RlbXBsYXRlTGFiZWwgPSB2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZT48bmctY29udGVudCAvPjwvbmctdGVtcGxhdGU+XG4iXX0=