@ethlete/cdk 4.9.0 → 4.9.2

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 (224) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/esm2022/lib/components/accordion/components/accordion/accordion.component.mjs +3 -3
  3. package/esm2022/lib/components/accordion/components/accordion-group/accordion-group.component.mjs +3 -3
  4. package/esm2022/lib/components/accordion/partials/accordion-hint/accordion-hint.directive.mjs +3 -3
  5. package/esm2022/lib/components/accordion/partials/accordion-hint-wrapper/accordion-hint-wrapper.directive.mjs +3 -3
  6. package/esm2022/lib/components/accordion/partials/accordion-label/accordion-label.directive.mjs +3 -3
  7. package/esm2022/lib/components/accordion/partials/accordion-label-wrapper/accordion-label-wrapper.directive.mjs +3 -3
  8. package/esm2022/lib/components/bracket/components/bracket/bracket.component.mjs +3 -3
  9. package/esm2022/lib/components/bracket/directives/bracket-match/bracket-match.directive.mjs +3 -3
  10. package/esm2022/lib/components/bracket/directives/bracket-round/bracket-round.directive.mjs +3 -3
  11. package/esm2022/lib/components/bracket/partials/bracket-match/bracket-match.component.mjs +3 -3
  12. package/esm2022/lib/components/bracket/partials/bracket-round-header/bracket-round-header.component.mjs +3 -3
  13. package/esm2022/lib/components/button/components/button/button.component.mjs +3 -3
  14. package/esm2022/lib/components/button/components/query-button/query-button.component.mjs +3 -3
  15. package/esm2022/lib/components/button/directives/button/button.directive.mjs +3 -3
  16. package/esm2022/lib/components/button/directives/query-button/query-button.directive.mjs +3 -3
  17. package/esm2022/lib/components/filter/filter-overlay/components/filter-overlay-page-outlet/filter-overlay-page-outlet.component.mjs +3 -3
  18. package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-back-or-close/filter-overlay-back-or-close.directive.mjs +3 -3
  19. package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-link/filter-overlay-link.directive.mjs +3 -3
  20. package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-reset/filter-overlay-reset.directive.mjs +3 -3
  21. package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-submit/filter-overlay-submit.directive.mjs +3 -3
  22. package/esm2022/lib/components/filter/filter-overlay/services/filter-overlay.service.mjs +3 -3
  23. package/esm2022/lib/components/filter/rich-filter/components/rich-filter-host/rich-filter-host.component.mjs +3 -3
  24. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-button/rich-filter-button.directive.mjs +3 -3
  25. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-button-slot/rich-filter-button-slot.directive.mjs +3 -3
  26. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-content/rich-filter-content.directive.mjs +3 -3
  27. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-top/rich-filter-top.directive.mjs +3 -3
  28. package/esm2022/lib/components/forms/components/checkbox/components/checkbox/checkbox.component.mjs +3 -3
  29. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-field/checkbox-field.component.mjs +3 -3
  30. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-group/checkbox-group.component.mjs +3 -3
  31. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.mjs +3 -3
  32. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.mjs +3 -3
  33. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group/checkbox-group.directive.mjs +3 -3
  34. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.mjs +3 -3
  35. package/esm2022/lib/components/forms/components/error/components/error/error.component.mjs +3 -3
  36. package/esm2022/lib/components/forms/components/input/components/date-input/date-input.component.mjs +3 -3
  37. package/esm2022/lib/components/forms/components/input/components/date-time-input/date-time-input.component.mjs +3 -3
  38. package/esm2022/lib/components/forms/components/input/components/email-input/email-input.component.mjs +3 -3
  39. package/esm2022/lib/components/forms/components/input/components/input-field/input-field.component.mjs +3 -3
  40. package/esm2022/lib/components/forms/components/input/components/number-input/number-input.component.mjs +3 -3
  41. package/esm2022/lib/components/forms/components/input/components/password-input/password-input.component.mjs +3 -3
  42. package/esm2022/lib/components/forms/components/input/components/search-input/search-input.component.mjs +3 -3
  43. package/esm2022/lib/components/forms/components/input/components/text-input/text-input.component.mjs +3 -3
  44. package/esm2022/lib/components/forms/components/input/components/textarea-input/textarea-input.component.mjs +3 -3
  45. package/esm2022/lib/components/forms/components/input/directives/autosize-textarea/autosize-textarea.directive.mjs +3 -3
  46. package/esm2022/lib/components/forms/components/input/directives/date-input/date-input.directive.mjs +3 -3
  47. package/esm2022/lib/components/forms/components/input/directives/date-time-input/date-time-input.directive.mjs +3 -3
  48. package/esm2022/lib/components/forms/components/input/directives/email-input/email-input.directive.mjs +3 -3
  49. package/esm2022/lib/components/forms/components/input/directives/if-supports-show-picker/if-supports-show-picker.directive.mjs +3 -3
  50. package/esm2022/lib/components/forms/components/input/directives/number-input/number-input.directive.mjs +3 -3
  51. package/esm2022/lib/components/forms/components/input/directives/password-input/password-input.directive.mjs +3 -3
  52. package/esm2022/lib/components/forms/components/input/directives/search-input/search-input.directive.mjs +3 -3
  53. package/esm2022/lib/components/forms/components/input/directives/show-picker-trigger/show-picker-trigger.directive.mjs +3 -3
  54. package/esm2022/lib/components/forms/components/input/directives/text-input/text-input.directive.mjs +3 -3
  55. package/esm2022/lib/components/forms/components/input/directives/textarea-input/textarea-input.directive.mjs +3 -3
  56. package/esm2022/lib/components/forms/components/input/partials/password-input-toggle/password-input-toggle.component.mjs +3 -3
  57. package/esm2022/lib/components/forms/components/input/partials/search-input-clear/search-input-clear.component.mjs +3 -3
  58. package/esm2022/lib/components/forms/components/label/components/label/label.component.mjs +3 -3
  59. package/esm2022/lib/components/forms/components/label/directives/label-suffix/label-suffix.directive.mjs +3 -3
  60. package/esm2022/lib/components/forms/components/radio/components/radio/radio.component.mjs +3 -3
  61. package/esm2022/lib/components/forms/components/radio/components/radio-field/radio-field.component.mjs +3 -3
  62. package/esm2022/lib/components/forms/components/radio/components/radio-group/radio-group.component.mjs +3 -3
  63. package/esm2022/lib/components/forms/components/radio/directives/radio/radio.directive.mjs +3 -3
  64. package/esm2022/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.mjs +3 -3
  65. package/esm2022/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.mjs +3 -3
  66. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button/segmented-button.component.mjs +3 -3
  67. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-field/segmented-button-field.component.mjs +3 -3
  68. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-group/segmented-button-group.component.mjs +3 -3
  69. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.mjs +3 -3
  70. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.mjs +3 -3
  71. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.mjs +3 -3
  72. package/esm2022/lib/components/forms/components/select/components/combobox/components/combobox/combobox.component.mjs +3 -3
  73. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.mjs +3 -3
  74. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-empty-template/combobox-body-empty-template.directive.mjs +3 -3
  75. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-error-template/combobox-body-error-template.directive.mjs +3 -3
  76. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-loading-template/combobox-body-loading-template.directive.mjs +3 -3
  77. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-more-items-hint-template/combobox-body-more-items-hint-template.directive.mjs +3 -3
  78. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-option-template/combobox-option-template.directive.mjs +3 -3
  79. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-selected-option-template/combobox-selected-option-template.directive.mjs +3 -3
  80. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.mjs +3 -3
  81. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.mjs +3 -3
  82. package/esm2022/lib/components/forms/components/select/components/native-select/components/native-select/native-select.component.mjs +3 -3
  83. package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-input/native-select-input.directive.mjs +3 -3
  84. package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-option/native-select-option.directive.mjs +3 -3
  85. package/esm2022/lib/components/forms/components/select/components/native-select/partials/native-select-option/native-select-option.component.mjs +3 -3
  86. package/esm2022/lib/components/forms/components/select/components/select/components/select/select.component.mjs +3 -3
  87. package/esm2022/lib/components/forms/components/select/components/select/directives/select/select.directive.mjs +3 -3
  88. package/esm2022/lib/components/forms/components/select/components/select/directives/select-body/select-body.directive.mjs +3 -3
  89. package/esm2022/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.mjs +3 -3
  90. package/esm2022/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.mjs +3 -3
  91. package/esm2022/lib/components/forms/components/select/components/select/partials/select-option/select-option.component.mjs +3 -3
  92. package/esm2022/lib/components/forms/components/select/components/select-field/select-field.component.mjs +3 -3
  93. package/esm2022/lib/components/forms/components/select/directives/select-field/select-field.directive.mjs +3 -3
  94. package/esm2022/lib/components/forms/components/selection-list/components/selection-list-field/selection-list-field.component.mjs +3 -3
  95. package/esm2022/lib/components/forms/components/selection-list/components/selection-list-option/selection-list-option.component.mjs +3 -3
  96. package/esm2022/lib/components/forms/components/selection-list/directives/selection-list-field/selection-list-field.directive.mjs +3 -3
  97. package/esm2022/lib/components/forms/components/selection-list/directives/selection-list-option/selection-list-option.directive.mjs +3 -3
  98. package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle/slide-toggle.component.mjs +3 -3
  99. package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle-field/slide-toggle-field.component.mjs +3 -3
  100. package/esm2022/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.mjs +3 -3
  101. package/esm2022/lib/components/forms/components/slider/components/slider/slider.component.mjs +3 -3
  102. package/esm2022/lib/components/forms/components/slider/components/slider-field/slider-field.component.mjs +3 -3
  103. package/esm2022/lib/components/forms/directives/dynamic-form-field/dynamic-form-field.directive.mjs +3 -3
  104. package/esm2022/lib/components/forms/directives/dynamic-form-group/dynamic-form-group.directive.mjs +3 -3
  105. package/esm2022/lib/components/forms/directives/expose-input-vars/expose-input-vars.directive.mjs +3 -3
  106. package/esm2022/lib/components/forms/directives/if-input-empty/if-input-empty.directive.mjs +3 -3
  107. package/esm2022/lib/components/forms/directives/if-input-filled/if-input-filled.directive.mjs +3 -3
  108. package/esm2022/lib/components/forms/directives/input/input.directive.mjs +3 -3
  109. package/esm2022/lib/components/forms/directives/input-prefix/input-prefix.directive.mjs +3 -3
  110. package/esm2022/lib/components/forms/directives/input-suffix/input-suffix.directive.mjs +3 -3
  111. package/esm2022/lib/components/forms/directives/native-input-ref/native-input-ref.directive.mjs +3 -3
  112. package/esm2022/lib/components/forms/directives/static-form-field/static-form-field.directive.mjs +3 -3
  113. package/esm2022/lib/components/forms/directives/static-form-group/static-form-group.directive.mjs +3 -3
  114. package/esm2022/lib/components/forms/directives/writeable-input/writeable-input.directive.mjs +3 -3
  115. package/esm2022/lib/components/forms/services/default-validator-errors.service.mjs +3 -3
  116. package/esm2022/lib/components/forms/services/form-field-state.service.mjs +3 -3
  117. package/esm2022/lib/components/forms/services/form-group-state.service.mjs +3 -3
  118. package/esm2022/lib/components/forms/services/input-state.service.mjs +3 -3
  119. package/esm2022/lib/components/forms/utils/decorated-form-field.base.mjs +3 -3
  120. package/esm2022/lib/components/forms/utils/decorated-input.base.mjs +3 -3
  121. package/esm2022/lib/components/forms/utils/input.base.mjs +3 -3
  122. package/esm2022/lib/components/icons/chevron-icon/chevron-icon.component.mjs +3 -3
  123. package/esm2022/lib/components/masonry/components/masonry/masonry.component.mjs +3 -3
  124. package/esm2022/lib/components/masonry/partials/masonry-item/masonry-item.component.mjs +3 -3
  125. package/esm2022/lib/components/overlay/components/bottom-sheet/components/bottom-sheet-container/bottom-sheet-container.component.mjs +3 -3
  126. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-container-base/bottom-sheet-container-base.component.mjs +3 -3
  127. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-drag-handle/bottom-sheet-drag-handle.component.mjs +3 -3
  128. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-title/bottom-sheet-title.directive.mjs +3 -3
  129. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-base.service.mjs +3 -3
  130. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-swipe-handler.service.mjs +3 -3
  131. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet.service.mjs +3 -3
  132. package/esm2022/lib/components/overlay/components/dialog/components/dialog-container/dialog-container.component.mjs +3 -3
  133. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-close/dialog-close.directive.mjs +3 -3
  134. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-container-base/dialog-container-base.component.mjs +3 -3
  135. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-title/dialog-title.directive.mjs +3 -3
  136. package/esm2022/lib/components/overlay/components/dialog/services/dialog-base.service.mjs +3 -3
  137. package/esm2022/lib/components/overlay/components/dialog/services/dialog.service.mjs +3 -3
  138. package/esm2022/lib/components/overlay/components/menu/components/menu/menu.component.mjs +3 -3
  139. package/esm2022/lib/components/overlay/components/menu/components/menu-container/menu-container.component.mjs +3 -3
  140. package/esm2022/lib/components/overlay/components/menu/directives/menu-group/menu-group.directive.mjs +3 -3
  141. package/esm2022/lib/components/overlay/components/menu/directives/menu-group-title/menu-group-title.directive.mjs +3 -3
  142. package/esm2022/lib/components/overlay/components/menu/directives/menu-item/menu-item.directive.mjs +3 -3
  143. package/esm2022/lib/components/overlay/components/menu/directives/menu-trigger/menu-trigger.directive.mjs +3 -3
  144. package/esm2022/lib/components/overlay/components/menu-deprecated/context-menu-trigger.mjs +6 -6
  145. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-aim.mjs +6 -6
  146. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-bar.mjs +3 -3
  147. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-base.mjs +3 -3
  148. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-group.mjs +3 -3
  149. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-checkbox.mjs +3 -3
  150. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-radio.mjs +3 -3
  151. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-selectable.mjs +3 -3
  152. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item.mjs +3 -3
  153. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-module.mjs +4 -4
  154. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-stack.mjs +3 -3
  155. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-trigger-base.mjs +3 -3
  156. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-trigger.mjs +3 -3
  157. package/esm2022/lib/components/overlay/components/menu-deprecated/menu.mjs +3 -3
  158. package/esm2022/lib/components/overlay/components/overlay/components/overlay-container/overlay-container.component.mjs +3 -3
  159. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-body/overlay-body.component.mjs +3 -3
  160. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-close/overlay-close.directive.mjs +3 -3
  161. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-footer/overlay-footer.directive.mjs +3 -3
  162. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-header/overlay-header.directive.mjs +3 -3
  163. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-title/overlay-title.directive.mjs +3 -3
  164. package/esm2022/lib/components/overlay/components/overlay/services/overlay.service.mjs +3 -3
  165. package/esm2022/lib/components/overlay/components/toggletip/components/toggletip/toggletip.component.mjs +3 -3
  166. package/esm2022/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.mjs +3 -3
  167. package/esm2022/lib/components/overlay/components/tooltip/components/tooltip/tooltip.component.mjs +3 -3
  168. package/esm2022/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.mjs +3 -3
  169. package/esm2022/lib/components/overlay/directives/dynamic-overlay-title/dynamic-overlay-title.directive.mjs +3 -3
  170. package/esm2022/lib/components/overlay/directives/overlay-close-auto-blocker/overlay-close-auto-blocker.directive.mjs +3 -3
  171. package/esm2022/lib/components/overlay/services/dynamic-overlay.service.mjs +3 -3
  172. package/esm2022/lib/components/pagination/components/pagination/pagination.component.mjs +3 -3
  173. package/esm2022/lib/components/pagination/partials/pagination-link/pagination-link.directive.mjs +3 -3
  174. package/esm2022/lib/components/pagination/services/pagination-head.service.mjs +3 -3
  175. package/esm2022/lib/components/picture/picture-data.directive.mjs +3 -3
  176. package/esm2022/lib/components/picture/picture.component.mjs +3 -3
  177. package/esm2022/lib/components/picture/pipes/normalize-source/normalize-source.pipe.mjs +3 -3
  178. package/esm2022/lib/components/progress-spinner/progress-spinner.component.mjs +3 -3
  179. package/esm2022/lib/components/query-error/components/query-error/query-error.component.mjs +7 -8
  180. package/esm2022/lib/components/query-error/directives/query-error/query-error.directive.mjs +10 -5
  181. package/esm2022/lib/components/scrollable/components/scrollable/scrollable.component.mjs +3 -3
  182. package/esm2022/lib/components/scrollable/directives/scrollable-ignore-child/scrollable-ignore-child.directive.mjs +3 -3
  183. package/esm2022/lib/components/scrollable/directives/scrollable-is-active-child/scrollable-is-active-child.directive.mjs +3 -3
  184. package/esm2022/lib/components/skeleton/components/skeleton/skeleton.component.mjs +3 -3
  185. package/esm2022/lib/components/skeleton/partials/skeleton-item/skeleton-item.component.mjs +3 -3
  186. package/esm2022/lib/components/sort/components/sort-header/sort-header.component.mjs +3 -3
  187. package/esm2022/lib/components/sort/partials/sort/sort.directive.mjs +3 -3
  188. package/esm2022/lib/components/sort/services/sort-header-intl.mjs +3 -3
  189. package/esm2022/lib/components/table/components/table/table.component.mjs +3 -3
  190. package/esm2022/lib/components/table/partials/cells/cell/cell.directive.mjs +3 -3
  191. package/esm2022/lib/components/table/partials/cells/cell-def/cell-def.directive.mjs +3 -3
  192. package/esm2022/lib/components/table/partials/cells/column-def/column-def.directive.mjs +3 -3
  193. package/esm2022/lib/components/table/partials/cells/footer-cell/footer-cell.directive.mjs +3 -3
  194. package/esm2022/lib/components/table/partials/cells/footer-cell-def/footer-cell-def.directive.mjs +3 -3
  195. package/esm2022/lib/components/table/partials/cells/header-cell/header-cell.directive.mjs +3 -3
  196. package/esm2022/lib/components/table/partials/cells/header-cell-def/header-cell-def.directive.mjs +3 -3
  197. package/esm2022/lib/components/table/partials/cells/text-column/text-column.component.mjs +3 -3
  198. package/esm2022/lib/components/table/partials/rows/footer-row/footer-row.component.mjs +3 -3
  199. package/esm2022/lib/components/table/partials/rows/footer-row-def/footer-row-def.directive.mjs +3 -3
  200. package/esm2022/lib/components/table/partials/rows/header-row/header-row.component.mjs +3 -3
  201. package/esm2022/lib/components/table/partials/rows/header-row-def/header-row-def.directive.mjs +3 -3
  202. package/esm2022/lib/components/table/partials/rows/no-data-row/no-data-row.directive.mjs +3 -3
  203. package/esm2022/lib/components/table/partials/rows/recycle-rows/recycle-rows.directive.mjs +3 -3
  204. package/esm2022/lib/components/table/partials/rows/row/row.component.mjs +3 -3
  205. package/esm2022/lib/components/table/partials/rows/row-def/row-def.directive.mjs +3 -3
  206. package/esm2022/lib/components/table/partials/table-busy/table-busy.directive.mjs +3 -3
  207. package/esm2022/lib/components/table/partials/table-busy-outlet/table-busy-outlet.directive.mjs +3 -3
  208. package/esm2022/lib/components/tabs/components/inline-tabs/inline-tabs.component.mjs +3 -3
  209. package/esm2022/lib/components/tabs/components/nav-tabs/nav-tabs.component.mjs +3 -3
  210. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab/inline-tab.component.mjs +3 -3
  211. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body/inline-tab-body.component.mjs +3 -3
  212. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body-host/inline-tab-body-host.directive.mjs +3 -3
  213. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-content/inline-tab-content.directive.mjs +3 -3
  214. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-header/inline-tab-header.component.mjs +3 -3
  215. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label/inline-tab-label.directive.mjs +3 -3
  216. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label-wrapper/inline-tab-label-wrapper.directive.mjs +3 -3
  217. package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tab-link/nav-tab-link.directive.mjs +3 -3
  218. package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tabs-outlet/nav-tabs-outlet.component.mjs +3 -3
  219. package/esm2022/lib/components/tabs/utils/active-tab-underline.util.mjs +3 -3
  220. package/esm2022/lib/components/tabs/utils/paginated-tab-header.directive.mjs +3 -3
  221. package/esm2022/lib/services/swipe-handler.service.mjs +3 -3
  222. package/fesm2022/ethlete-cdk.mjs +675 -672
  223. package/fesm2022/ethlete-cdk.mjs.map +1 -1
  224. package/package.json +8 -8
@@ -60,10 +60,10 @@ export class ProgressSpinnerComponent {
60
60
  _circleStrokeWidth() {
61
61
  return (this.strokeWidth / this.diameter) * 100;
62
62
  }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ProgressSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.1.3", type: ProgressSpinnerComponent, isStandalone: true, selector: "et-progress-spinner, et-spinner", inputs: { multiColor: ["multiColor", "multiColor", booleanAttribute], mode: "mode", value: "value", diameter: ["diameter", "diameter", numberAttribute], strokeWidth: "strokeWidth" }, host: { attributes: { "role": "progressbar", "tabindex": "-1" }, properties: { "class.et-circular-progress--indeterminate": "mode === \"indeterminate\"", "class.et-progress-spinner--multi-color": "multiColor", "style.width.px": "diameter", "style.height.px": "diameter", "attr.aria-valuemin": "0", "attr.aria-valuemax": "100", "attr.aria-valuenow": "mode === \"determinate\" ? value : null", "attr.mode": "mode" }, classAttribute: "et-progress-spinner" }, ngImport: i0, template: "<ng-template #circle>\n <svg\n [attr.viewBox]=\"_viewBox()\"\n class=\"et-circular-progress__indeterminate-circle-graphic\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeCircumference() / 2\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n cx=\"50%\"\n cy=\"50%\"\n />\n </svg>\n</ng-template>\n\n<ng-template #spinner>\n <div class=\"et-circular-progress__circle-clipper et-circular-progress__circle-left\">\n <ng-container [ngTemplateOutlet]=\"circle\" />\n </div>\n <div class=\"et-circular-progress__gap-patch\">\n <ng-container [ngTemplateOutlet]=\"circle\" />\n </div>\n <div class=\"et-circular-progress__circle-clipper et-circular-progress__circle-right\">\n <ng-container [ngTemplateOutlet]=\"circle\" />\n </div>\n</ng-template>\n\n<div class=\"et-circular-progress__determinate-container\" aria-hidden=\"true\">\n <svg\n [attr.viewBox]=\"_viewBox()\"\n class=\"et-circular-progress__determinate-circle-graphic\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"et-circular-progress__determinate-circle\"\n cx=\"50%\"\n cy=\"50%\"\n />\n </svg>\n</div>\n\n<div class=\"et-circular-progress__indeterminate-container\" aria-hidden=\"true\">\n <div [class.et-circular-progress__color-1]=\"multiColor\" class=\"et-circular-progress__spinner-layer\">\n <ng-container [ngTemplateOutlet]=\"spinner\" />\n </div>\n\n <div class=\"et-circular-progress__spinner-layer et-circular-progress__color-2\">\n <ng-container [ngTemplateOutlet]=\"spinner\" />\n </div>\n\n <div class=\"et-circular-progress__spinner-layer et-circular-progress__color-3\">\n <ng-container [ngTemplateOutlet]=\"spinner\" />\n </div>\n\n <div class=\"et-circular-progress__spinner-layer et-circular-progress__color-4\">\n <ng-container [ngTemplateOutlet]=\"spinner\" />\n </div>\n</div>\n", styles: [":where(.et-progress-spinner){--et-progress-spinner-edges: round;--et-progress-spinner-color: #1e88e5;--et-progress-spinner-color-1: var(--et-progress-spinner-color);--et-progress-spinner-color-2: #f44336;--et-progress-spinner-color-3: #ff9800;--et-progress-spinner-color-4: #4caf50}.et-progress-spinner{position:relative;direction:ltr;transition:opacity .25s 0ms cubic-bezier(.4,0,.6,1);display:block;overflow:hidden;line-height:0}.et-progress-spinner.et-progress-spinner--multi-color .et-circular-progress__color-2,.et-progress-spinner.et-progress-spinner--multi-color .et-circular-progress__color-3,.et-progress-spinner.et-progress-spinner--multi-color .et-circular-progress__color-4{visibility:visible}.et-progress-spinner.et-progress-spinner--multi-color .et-circular-progress__color-1 .et-circular-progress__indeterminate-circle-graphic{stroke:var(--et-progress-spinner-color-1)}.et-circular-progress__determinate-circle,.et-circular-progress__indeterminate-circle-graphic{stroke:var(--et-progress-spinner-color);stroke-linecap:var(--et-progress-spinner-edges)}.et-circular-progress__color-2 .et-circular-progress__indeterminate-circle-graphic{stroke:var(--et-progress-spinner-color-2)}.et-circular-progress__color-3 .et-circular-progress__indeterminate-circle-graphic{stroke:var(--et-progress-spinner-color-3)}.et-circular-progress__color-4 .et-circular-progress__indeterminate-circle-graphic{stroke:var(--et-progress-spinner-color-4)}.et-circular-progress__color-2,.et-circular-progress__color-3,.et-circular-progress__color-4{visibility:hidden}.et-circular-progress__determinate-container,.et-circular-progress__indeterminate-circle-graphic,.et-circular-progress__indeterminate-container,.et-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.et-circular-progress__determinate-container{transform:rotate(-90deg)}.et-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.et-circular-progress__determinate-circle-graphic,.et-circular-progress__indeterminate-circle-graphic{fill:#0000}.et-circular-progress__determinate-circle{transition:stroke-dashoffset .5s 0ms cubic-bezier(0,0,.2,1)}.et-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.et-circular-progress__gap-patch .et-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.et-circular-progress__circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.et-circular-progress__circle-clipper .et-circular-progress__indeterminate-circle-graphic{width:200%}.et-circular-progress__circle-right .et-circular-progress__indeterminate-circle-graphic{left:-100%}.et-circular-progress--indeterminate .et-circular-progress__determinate-container{opacity:0}.et-circular-progress--indeterminate .et-circular-progress__indeterminate-container{opacity:1}.et-circular-progress--indeterminate .et-circular-progress__indeterminate-container{animation:et-circular-progress-container-rotate 1.5682352941176s linear infinite}.et-circular-progress--indeterminate .et-circular-progress__spinner-layer{animation:et-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__color-1{animation:et-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,et-circular-progress-color-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__color-2{animation:et-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,et-circular-progress-color-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__color-3{animation:et-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,et-circular-progress-color-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__color-4{animation:et-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,et-circular-progress-color-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__circle-left .et-circular-progress__indeterminate-circle-graphic{animation:et-circular-progress-left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__circle-right .et-circular-progress__indeterminate-circle-graphic{animation:et-circular-progress-right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}@keyframes et-circular-progress-container-rotate{to{transform:rotate(360deg)}}@keyframes et-circular-progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@keyframes et-circular-progress-color-1-fade-in-out{0%{opacity:.99}25%{opacity:.99}26%{opacity:0}50%{opacity:0}90%{opacity:.99}to{opacity:.99}}@keyframes et-circular-progress-color-2-fade-in-out{0%{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}to{opacity:0}}@keyframes et-circular-progress-color-3-fade-in-out{0%{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}to{opacity:0}}@keyframes et-circular-progress-color-4-fade-in-out{0%{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@keyframes et-circular-progress-left-spin{0%{transform:rotate(260deg)}50%{transform:rotate(130deg)}to{transform:rotate(260deg)}}@keyframes et-circular-progress-right-spin{0%{transform:rotate(-260deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-260deg)}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ProgressSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
64
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.4", type: ProgressSpinnerComponent, isStandalone: true, selector: "et-progress-spinner, et-spinner", inputs: { multiColor: ["multiColor", "multiColor", booleanAttribute], mode: "mode", value: "value", diameter: ["diameter", "diameter", numberAttribute], strokeWidth: "strokeWidth" }, host: { attributes: { "role": "progressbar", "tabindex": "-1" }, properties: { "class.et-circular-progress--indeterminate": "mode === \"indeterminate\"", "class.et-progress-spinner--multi-color": "multiColor", "style.width.px": "diameter", "style.height.px": "diameter", "attr.aria-valuemin": "0", "attr.aria-valuemax": "100", "attr.aria-valuenow": "mode === \"determinate\" ? value : null", "attr.mode": "mode" }, classAttribute: "et-progress-spinner" }, ngImport: i0, template: "<ng-template #circle>\n <svg\n [attr.viewBox]=\"_viewBox()\"\n class=\"et-circular-progress__indeterminate-circle-graphic\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeCircumference() / 2\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n cx=\"50%\"\n cy=\"50%\"\n />\n </svg>\n</ng-template>\n\n<ng-template #spinner>\n <div class=\"et-circular-progress__circle-clipper et-circular-progress__circle-left\">\n <ng-container [ngTemplateOutlet]=\"circle\" />\n </div>\n <div class=\"et-circular-progress__gap-patch\">\n <ng-container [ngTemplateOutlet]=\"circle\" />\n </div>\n <div class=\"et-circular-progress__circle-clipper et-circular-progress__circle-right\">\n <ng-container [ngTemplateOutlet]=\"circle\" />\n </div>\n</ng-template>\n\n<div class=\"et-circular-progress__determinate-container\" aria-hidden=\"true\">\n <svg\n [attr.viewBox]=\"_viewBox()\"\n class=\"et-circular-progress__determinate-circle-graphic\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"et-circular-progress__determinate-circle\"\n cx=\"50%\"\n cy=\"50%\"\n />\n </svg>\n</div>\n\n<div class=\"et-circular-progress__indeterminate-container\" aria-hidden=\"true\">\n <div [class.et-circular-progress__color-1]=\"multiColor\" class=\"et-circular-progress__spinner-layer\">\n <ng-container [ngTemplateOutlet]=\"spinner\" />\n </div>\n\n <div class=\"et-circular-progress__spinner-layer et-circular-progress__color-2\">\n <ng-container [ngTemplateOutlet]=\"spinner\" />\n </div>\n\n <div class=\"et-circular-progress__spinner-layer et-circular-progress__color-3\">\n <ng-container [ngTemplateOutlet]=\"spinner\" />\n </div>\n\n <div class=\"et-circular-progress__spinner-layer et-circular-progress__color-4\">\n <ng-container [ngTemplateOutlet]=\"spinner\" />\n </div>\n</div>\n", styles: [":where(.et-progress-spinner){--et-progress-spinner-edges: round;--et-progress-spinner-color: #1e88e5;--et-progress-spinner-color-1: var(--et-progress-spinner-color);--et-progress-spinner-color-2: #f44336;--et-progress-spinner-color-3: #ff9800;--et-progress-spinner-color-4: #4caf50}.et-progress-spinner{position:relative;direction:ltr;transition:opacity .25s 0ms cubic-bezier(.4,0,.6,1);display:block;overflow:hidden;line-height:0}.et-progress-spinner.et-progress-spinner--multi-color .et-circular-progress__color-2,.et-progress-spinner.et-progress-spinner--multi-color .et-circular-progress__color-3,.et-progress-spinner.et-progress-spinner--multi-color .et-circular-progress__color-4{visibility:visible}.et-progress-spinner.et-progress-spinner--multi-color .et-circular-progress__color-1 .et-circular-progress__indeterminate-circle-graphic{stroke:var(--et-progress-spinner-color-1)}.et-circular-progress__determinate-circle,.et-circular-progress__indeterminate-circle-graphic{stroke:var(--et-progress-spinner-color);stroke-linecap:var(--et-progress-spinner-edges)}.et-circular-progress__color-2 .et-circular-progress__indeterminate-circle-graphic{stroke:var(--et-progress-spinner-color-2)}.et-circular-progress__color-3 .et-circular-progress__indeterminate-circle-graphic{stroke:var(--et-progress-spinner-color-3)}.et-circular-progress__color-4 .et-circular-progress__indeterminate-circle-graphic{stroke:var(--et-progress-spinner-color-4)}.et-circular-progress__color-2,.et-circular-progress__color-3,.et-circular-progress__color-4{visibility:hidden}.et-circular-progress__determinate-container,.et-circular-progress__indeterminate-circle-graphic,.et-circular-progress__indeterminate-container,.et-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.et-circular-progress__determinate-container{transform:rotate(-90deg)}.et-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.et-circular-progress__determinate-circle-graphic,.et-circular-progress__indeterminate-circle-graphic{fill:#0000}.et-circular-progress__determinate-circle{transition:stroke-dashoffset .5s 0ms cubic-bezier(0,0,.2,1)}.et-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.et-circular-progress__gap-patch .et-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.et-circular-progress__circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.et-circular-progress__circle-clipper .et-circular-progress__indeterminate-circle-graphic{width:200%}.et-circular-progress__circle-right .et-circular-progress__indeterminate-circle-graphic{left:-100%}.et-circular-progress--indeterminate .et-circular-progress__determinate-container{opacity:0}.et-circular-progress--indeterminate .et-circular-progress__indeterminate-container{opacity:1}.et-circular-progress--indeterminate .et-circular-progress__indeterminate-container{animation:et-circular-progress-container-rotate 1.5682352941176s linear infinite}.et-circular-progress--indeterminate .et-circular-progress__spinner-layer{animation:et-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__color-1{animation:et-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,et-circular-progress-color-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__color-2{animation:et-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,et-circular-progress-color-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__color-3{animation:et-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,et-circular-progress-color-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__color-4{animation:et-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,et-circular-progress-color-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__circle-left .et-circular-progress__indeterminate-circle-graphic{animation:et-circular-progress-left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__circle-right .et-circular-progress__indeterminate-circle-graphic{animation:et-circular-progress-right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}@keyframes et-circular-progress-container-rotate{to{transform:rotate(360deg)}}@keyframes et-circular-progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@keyframes et-circular-progress-color-1-fade-in-out{0%{opacity:.99}25%{opacity:.99}26%{opacity:0}50%{opacity:0}90%{opacity:.99}to{opacity:.99}}@keyframes et-circular-progress-color-2-fade-in-out{0%{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}to{opacity:0}}@keyframes et-circular-progress-color-3-fade-in-out{0%{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}to{opacity:0}}@keyframes et-circular-progress-color-4-fade-in-out{0%{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@keyframes et-circular-progress-left-spin{0%{transform:rotate(260deg)}50%{transform:rotate(130deg)}to{transform:rotate(260deg)}}@keyframes et-circular-progress-right-spin{0%{transform:rotate(-260deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-260deg)}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
65
65
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ProgressSpinnerComponent, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ProgressSpinnerComponent, decorators: [{
67
67
  type: Component,
68
68
  args: [{ selector: 'et-progress-spinner, et-spinner', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
69
69
  class: 'et-progress-spinner',
@@ -1,3 +1,4 @@
1
+ import { NgClass } from '@angular/common';
1
2
  import { ChangeDetectionStrategy, Component, ViewEncapsulation, computed, inject, } from '@angular/core';
2
3
  import { extractQuery } from '@ethlete/query';
3
4
  import { QUERY_ERROR_TOKEN, QueryErrorDirective } from '../../directives';
@@ -14,15 +15,13 @@ export class QueryErrorComponent {
14
15
  retry() {
15
16
  extractQuery(this.host.query)?.execute({ skipCache: true });
16
17
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: QueryErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: QueryErrorComponent, isStandalone: true, selector: "et-query-error", host: { properties: { "class.et-query-error--can-be-retried": "canBeRetried()", "class.et-query-error--is-list": "isList()" }, classAttribute: "et-query-error" }, hostDirectives: [{ directive: i1.QueryErrorDirective, inputs: ["error", "error", "query", "query"] }], ngImport: i0, template: "@if (errorList(); as errorList) {\n <h3 class=\"et-query-error-title\">{{ errorList.title }}</h3>\n\n @if (!errorList.isList) {\n <p class=\"et-query-error-message\">{{ errorList.items[0]!.message }}</p>\n }\n\n @if (errorList.isList) {\n <ul class=\"et-query-error-list\">\n @for (item of errorList.items; track trackByFn($index, item)) {\n <li class=\"et-query-error-list-item\">\n {{ item.message }}\n </li>\n }\n </ul>\n }\n\n @if (errorList.canBeRetried) {\n <button (click)=\"retry()\" class=\"et-query-error-retry-button\">Retry</button>\n }\n}\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: QueryErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: QueryErrorComponent, isStandalone: true, selector: "et-query-error", host: { classAttribute: "et-query-error-host" }, hostDirectives: [{ directive: i1.QueryErrorDirective, inputs: ["error", "error", "query", "query"] }], ngImport: i0, template: "<div\n [ngClass]=\"{ 'et-query-error--can-be-retried': canBeRetried(), 'et-query-error--is-list': isList() }\"\n class=\"et-query-error\"\n>\n @if (errorList(); as errorList) {\n <h3 class=\"et-query-error-title\">{{ errorList.title }}</h3>\n\n @if (!errorList.isList) {\n <p class=\"et-query-error-message\">{{ errorList.items[0]!.message }}</p>\n }\n\n @if (errorList.isList) {\n <ul class=\"et-query-error-list\">\n @for (item of errorList.items; track trackByFn($index, item)) {\n <li class=\"et-query-error-list-item\">\n {{ item.message }}\n </li>\n }\n </ul>\n }\n\n @if (errorList.canBeRetried) {\n <button (click)=\"retry()\" class=\"et-query-error-retry-button\">Retry</button>\n }\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
19
20
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: QueryErrorComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: QueryErrorComponent, decorators: [{
21
22
  type: Component,
22
23
  args: [{ selector: 'et-query-error', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
23
- class: 'et-query-error',
24
- '[class.et-query-error--can-be-retried]': 'canBeRetried()',
25
- '[class.et-query-error--is-list]': 'isList()',
26
- }, hostDirectives: [{ directive: QueryErrorDirective, inputs: ['error', 'query'] }], template: "@if (errorList(); as errorList) {\n <h3 class=\"et-query-error-title\">{{ errorList.title }}</h3>\n\n @if (!errorList.isList) {\n <p class=\"et-query-error-message\">{{ errorList.items[0]!.message }}</p>\n }\n\n @if (errorList.isList) {\n <ul class=\"et-query-error-list\">\n @for (item of errorList.items; track trackByFn($index, item)) {\n <li class=\"et-query-error-list-item\">\n {{ item.message }}\n </li>\n }\n </ul>\n }\n\n @if (errorList.canBeRetried) {\n <button (click)=\"retry()\" class=\"et-query-error-retry-button\">Retry</button>\n }\n}\n" }]
24
+ class: 'et-query-error-host',
25
+ }, imports: [NgClass], hostDirectives: [{ directive: QueryErrorDirective, inputs: ['error', 'query'] }], template: "<div\n [ngClass]=\"{ 'et-query-error--can-be-retried': canBeRetried(), 'et-query-error--is-list': isList() }\"\n class=\"et-query-error\"\n>\n @if (errorList(); as errorList) {\n <h3 class=\"et-query-error-title\">{{ errorList.title }}</h3>\n\n @if (!errorList.isList) {\n <p class=\"et-query-error-message\">{{ errorList.items[0]!.message }}</p>\n }\n\n @if (errorList.isList) {\n <ul class=\"et-query-error-list\">\n @for (item of errorList.items; track trackByFn($index, item)) {\n <li class=\"et-query-error-list-item\">\n {{ item.message }}\n </li>\n }\n </ul>\n }\n\n @if (errorList.canBeRetried) {\n <button (click)=\"retry()\" class=\"et-query-error-retry-button\">Retry</button>\n }\n }\n</div>\n" }]
27
26
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXJ5LWVycm9yL2NvbXBvbmVudHMvcXVlcnktZXJyb3IvcXVlcnktZXJyb3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXJ5LWVycm9yL2NvbXBvbmVudHMvcXVlcnktZXJyb3IvcXVlcnktZXJyb3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFnQjFFLE1BQU0sT0FBTyxtQkFBbUI7SUFiaEM7UUFjcUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pDLGNBQVMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFaEQsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLFlBQVksSUFBSSxLQUFLLENBQUMsQ0FBQztRQUN2RSxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLENBQUM7UUFFcEUsY0FBUyxHQUFvQyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7S0FLdEY7SUFIVyxLQUFLO1FBQ2IsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQzs4R0FYVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixvVkN6QmhDLCtsQkFxQkE7OzJGRElhLG1CQUFtQjtrQkFiL0IsU0FBUzsrQkFDRSxnQkFBZ0IsY0FFZCxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLGdCQUFnQjt3QkFDdkIsd0NBQXdDLEVBQUUsZ0JBQWdCO3dCQUMxRCxpQ0FBaUMsRUFBRSxVQUFVO3FCQUM5QyxrQkFDZSxDQUFDLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRyYWN0UXVlcnkgfSBmcm9tICdAZXRobGV0ZS9xdWVyeSc7XG5pbXBvcnQgeyBRVUVSWV9FUlJPUl9UT0tFTiwgUXVlcnlFcnJvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgUXVlcnlFcnJvckl0ZW0gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LXF1ZXJ5LWVycm9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LWVycm9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LXF1ZXJ5LWVycm9yJyxcbiAgICAnW2NsYXNzLmV0LXF1ZXJ5LWVycm9yLS1jYW4tYmUtcmV0cmllZF0nOiAnY2FuQmVSZXRyaWVkKCknLFxuICAgICdbY2xhc3MuZXQtcXVlcnktZXJyb3ItLWlzLWxpc3RdJzogJ2lzTGlzdCgpJyxcbiAgfSxcbiAgaG9zdERpcmVjdGl2ZXM6IFt7IGRpcmVjdGl2ZTogUXVlcnlFcnJvckRpcmVjdGl2ZSwgaW5wdXRzOiBbJ2Vycm9yJywgJ3F1ZXJ5J10gfV0sXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5RXJyb3JDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9zdCA9IGluamVjdChRVUVSWV9FUlJPUl9UT0tFTik7XG4gIHByb3RlY3RlZCByZWFkb25seSBlcnJvckxpc3QgPSBpbmplY3QoUVVFUllfRVJST1JfVE9LRU4pLmVycm9yTGlzdDtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FuQmVSZXRyaWVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5lcnJvckxpc3QoKT8uY2FuQmVSZXRyaWVkID8/IGZhbHNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzTGlzdCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZXJyb3JMaXN0KCk/LmlzTGlzdCA/PyBmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPFF1ZXJ5RXJyb3JJdGVtPiA9IChpbmRleCwgaXRlbSkgPT4gaXRlbS5tZXNzYWdlO1xuXG4gIHByb3RlY3RlZCByZXRyeSgpIHtcbiAgICBleHRyYWN0UXVlcnkodGhpcy5ob3N0LnF1ZXJ5KT8uZXhlY3V0ZSh7IHNraXBDYWNoZTogdHJ1ZSB9KTtcbiAgfVxufVxuIiwiQGlmIChlcnJvckxpc3QoKTsgYXMgZXJyb3JMaXN0KSB7XG4gIDxoMyBjbGFzcz1cImV0LXF1ZXJ5LWVycm9yLXRpdGxlXCI+e3sgZXJyb3JMaXN0LnRpdGxlIH19PC9oMz5cblxuICBAaWYgKCFlcnJvckxpc3QuaXNMaXN0KSB7XG4gICAgPHAgY2xhc3M9XCJldC1xdWVyeS1lcnJvci1tZXNzYWdlXCI+e3sgZXJyb3JMaXN0Lml0ZW1zWzBdIS5tZXNzYWdlIH19PC9wPlxuICB9XG5cbiAgQGlmIChlcnJvckxpc3QuaXNMaXN0KSB7XG4gICAgPHVsIGNsYXNzPVwiZXQtcXVlcnktZXJyb3ItbGlzdFwiPlxuICAgICAgQGZvciAoaXRlbSBvZiBlcnJvckxpc3QuaXRlbXM7IHRyYWNrIHRyYWNrQnlGbigkaW5kZXgsIGl0ZW0pKSB7XG4gICAgICAgIDxsaSBjbGFzcz1cImV0LXF1ZXJ5LWVycm9yLWxpc3QtaXRlbVwiPlxuICAgICAgICAgIHt7IGl0ZW0ubWVzc2FnZSB9fVxuICAgICAgICA8L2xpPlxuICAgICAgfVxuICAgIDwvdWw+XG4gIH1cblxuICBAaWYgKGVycm9yTGlzdC5jYW5CZVJldHJpZWQpIHtcbiAgICA8YnV0dG9uIChjbGljayk9XCJyZXRyeSgpXCIgY2xhc3M9XCJldC1xdWVyeS1lcnJvci1yZXRyeS1idXR0b25cIj5SZXRyeTwvYnV0dG9uPlxuICB9XG59XG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXJ5LWVycm9yL2NvbXBvbmVudHMvcXVlcnktZXJyb3IvcXVlcnktZXJyb3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXJ5LWVycm9yL2NvbXBvbmVudHMvcXVlcnktZXJyb3IvcXVlcnktZXJyb3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBZTFFLE1BQU0sT0FBTyxtQkFBbUI7SUFaaEM7UUFhcUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pDLGNBQVMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFaEQsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLFlBQVksSUFBSSxLQUFLLENBQUMsQ0FBQztRQUN2RSxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLENBQUM7UUFFcEUsY0FBUyxHQUFvQyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7S0FLdEY7SUFIVyxLQUFLO1FBQ2IsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQzs4R0FYVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixrT0N6QmhDLDJ4QkEwQkEsNENESlksT0FBTzs7MkZBR04sbUJBQW1CO2tCQVovQixTQUFTOytCQUNFLGdCQUFnQixjQUVkLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUscUJBQXFCO3FCQUM3QixXQUNRLENBQUMsT0FBTyxDQUFDLGtCQUNGLENBQUMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIFRyYWNrQnlGdW5jdGlvbixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZXh0cmFjdFF1ZXJ5IH0gZnJvbSAnQGV0aGxldGUvcXVlcnknO1xuaW1wb3J0IHsgUVVFUllfRVJST1JfVE9LRU4sIFF1ZXJ5RXJyb3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFF1ZXJ5RXJyb3JJdGVtIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1xdWVyeS1lcnJvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1lcnJvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1xdWVyeS1lcnJvci1ob3N0JyxcbiAgfSxcbiAgaW1wb3J0czogW05nQ2xhc3NdLFxuICBob3N0RGlyZWN0aXZlczogW3sgZGlyZWN0aXZlOiBRdWVyeUVycm9yRGlyZWN0aXZlLCBpbnB1dHM6IFsnZXJyb3InLCAncXVlcnknXSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgUXVlcnlFcnJvckNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBob3N0ID0gaW5qZWN0KFFVRVJZX0VSUk9SX1RPS0VOKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVycm9yTGlzdCA9IGluamVjdChRVUVSWV9FUlJPUl9UT0tFTikuZXJyb3JMaXN0O1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjYW5CZVJldHJpZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmVycm9yTGlzdCgpPy5jYW5CZVJldHJpZWQgPz8gZmFsc2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNMaXN0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5lcnJvckxpc3QoKT8uaXNMaXN0ID8/IGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgdHJhY2tCeUZuOiBUcmFja0J5RnVuY3Rpb248UXVlcnlFcnJvckl0ZW0+ID0gKGluZGV4LCBpdGVtKSA9PiBpdGVtLm1lc3NhZ2U7XG5cbiAgcHJvdGVjdGVkIHJldHJ5KCkge1xuICAgIGV4dHJhY3RRdWVyeSh0aGlzLmhvc3QucXVlcnkpPy5leGVjdXRlKHsgc2tpcENhY2hlOiB0cnVlIH0pO1xuICB9XG59XG4iLCI8ZGl2XG4gIFtuZ0NsYXNzXT1cInsgJ2V0LXF1ZXJ5LWVycm9yLS1jYW4tYmUtcmV0cmllZCc6IGNhbkJlUmV0cmllZCgpLCAnZXQtcXVlcnktZXJyb3ItLWlzLWxpc3QnOiBpc0xpc3QoKSB9XCJcbiAgY2xhc3M9XCJldC1xdWVyeS1lcnJvclwiXG4+XG4gIEBpZiAoZXJyb3JMaXN0KCk7IGFzIGVycm9yTGlzdCkge1xuICAgIDxoMyBjbGFzcz1cImV0LXF1ZXJ5LWVycm9yLXRpdGxlXCI+e3sgZXJyb3JMaXN0LnRpdGxlIH19PC9oMz5cblxuICAgIEBpZiAoIWVycm9yTGlzdC5pc0xpc3QpIHtcbiAgICAgIDxwIGNsYXNzPVwiZXQtcXVlcnktZXJyb3ItbWVzc2FnZVwiPnt7IGVycm9yTGlzdC5pdGVtc1swXSEubWVzc2FnZSB9fTwvcD5cbiAgICB9XG5cbiAgICBAaWYgKGVycm9yTGlzdC5pc0xpc3QpIHtcbiAgICAgIDx1bCBjbGFzcz1cImV0LXF1ZXJ5LWVycm9yLWxpc3RcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBlcnJvckxpc3QuaXRlbXM7IHRyYWNrIHRyYWNrQnlGbigkaW5kZXgsIGl0ZW0pKSB7XG4gICAgICAgICAgPGxpIGNsYXNzPVwiZXQtcXVlcnktZXJyb3ItbGlzdC1pdGVtXCI+XG4gICAgICAgICAgICB7eyBpdGVtLm1lc3NhZ2UgfX1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICA8L3VsPlxuICAgIH1cblxuICAgIEBpZiAoZXJyb3JMaXN0LmNhbkJlUmV0cmllZCkge1xuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicmV0cnkoKVwiIGNsYXNzPVwiZXQtcXVlcnktZXJyb3ItcmV0cnktYnV0dG9uXCI+UmV0cnk8L2J1dHRvbj5cbiAgICB9XG4gIH1cbjwvZGl2PlxuIl19
@@ -1,5 +1,5 @@
1
1
  import { Directive, InjectionToken, Input, computed, input, signal } from '@angular/core';
2
- import { isClassValidatorError, isSymfonyFormViolationListError, shouldRetryRequest, } from '@ethlete/query';
2
+ import { isClassValidatorError, isSymfonyFormViolationListError, isSymfonyListError, shouldRetryRequest, } from '@ethlete/query';
3
3
  import * as i0 from "@angular/core";
4
4
  export const QUERY_ERROR_TOKEN = new InjectionToken('QUERY_ERROR_DIRECTIVE_TOKEN');
5
5
  export const convertHttpStatusCodeToMessageEn = (statusCode) => {
@@ -379,6 +379,11 @@ export class QueryErrorDirective {
379
379
  errorList.items.push({ message: violation.message });
380
380
  }
381
381
  }
382
+ else if (isSymfonyListError(detail)) {
383
+ for (const error of detail) {
384
+ errorList.items.push({ message: error.message });
385
+ }
386
+ }
382
387
  else if (typeof detail === 'object' && !!detail && 'message' in detail && typeof detail.message === 'string') {
383
388
  errorList.items.push({ message: detail.message });
384
389
  }
@@ -407,15 +412,15 @@ export class QueryErrorDirective {
407
412
  set error(value) {
408
413
  this._error.set(value);
409
414
  }
410
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: QueryErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
411
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.1.3", type: QueryErrorDirective, isStandalone: true, inputs: { error: { classPropertyName: "error", publicName: "error", isSignal: false, isRequired: true, transformFunction: null }, query: { classPropertyName: "query", publicName: "query", isSignal: false, isRequired: true, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
415
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: QueryErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
416
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.2.4", type: QueryErrorDirective, isStandalone: true, inputs: { error: { classPropertyName: "error", publicName: "error", isSignal: false, isRequired: true, transformFunction: null }, query: { classPropertyName: "query", publicName: "query", isSignal: false, isRequired: true, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
412
417
  {
413
418
  provide: QUERY_ERROR_TOKEN,
414
419
  useExisting: QueryErrorDirective,
415
420
  },
416
421
  ], exportAs: ["etQueryError"], ngImport: i0 }); }
417
422
  }
418
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: QueryErrorDirective, decorators: [{
423
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: QueryErrorDirective, decorators: [{
419
424
  type: Directive,
420
425
  args: [{
421
426
  standalone: true,
@@ -434,4 +439,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
434
439
  type: Input,
435
440
  args: [{ required: true }]
436
441
  }] } });
437
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXJyb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXJ5LWVycm9yL2RpcmVjdGl2ZXMvcXVlcnktZXJyb3IvcXVlcnktZXJyb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBS0wscUJBQXFCLEVBQ3JCLCtCQUErQixFQUMvQixrQkFBa0IsR0FDbkIsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHeEIsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQXNCLDZCQUE2QixDQUFDLENBQUM7QUFFeEcsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsQ0FBQyxVQUEwQixFQUFFLEVBQUU7SUFDN0UsUUFBUSxVQUFVLEVBQUUsQ0FBQztRQUNuQjtZQUNFLE9BQU8sbUVBQW1FLENBQUM7UUFDN0U7WUFDRSxPQUFPLDJFQUEyRSxDQUFDO1FBQ3JGO1lBQ0UsT0FBTyw4Q0FBOEMsQ0FBQztRQUN4RDtZQUNFLE9BQU8sb0RBQW9ELENBQUM7UUFDOUQ7WUFDRSxPQUFPLHVDQUF1QyxDQUFDO1FBQ2pEO1lBQ0UsT0FBTyx3REFBd0QsQ0FBQztRQUNsRTtZQUNFLE9BQU8sd0dBQXdHLENBQUM7UUFDbEg7WUFDRSxPQUFPLDJEQUEyRCxDQUFDO1FBQ3JFO1lBQ0UsT0FBTywrQ0FBK0MsQ0FBQztRQUN6RDtZQUNFLE9BQU8sK0RBQStELENBQUM7UUFDekU7WUFDRSxPQUFPLGdGQUFnRixDQUFDO1FBQzFGO1lBQ0UsT0FBTyxxR0FBcUcsQ0FBQztRQUMvRztZQUNFLE9BQU8sMEZBQTBGLENBQUM7UUFDcEc7WUFDRSxP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UG5CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLG1CQUFtQjthQUNqQztTQUNGOzsyRkFFVSxtQkFBbUI7a0JBVi9CLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxjQUFjO29CQUN4QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxxQkFBcUI7eUJBQ2pDO3FCQUNGO2lCQUNGOzhCQUdLLEtBQUs7c0JBRFIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBVXpCLEtBQUs7c0JBREosS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdGlvblRva2VuLCBJbnB1dCwgY29tcHV0ZWQsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFueVF1ZXJ5LFxuICBBbnlRdWVyeUNvbGxlY3Rpb24sXG4gIEh0dHBTdGF0dXNDb2RlLFxuICBSZXF1ZXN0RXJyb3IsXG4gIGlzQ2xhc3NWYWxpZGF0b3JFcnJvcixcbiAgaXNTeW1mb255Rm9ybVZpb2xhdGlvbkxpc3RFcnJvcixcbiAgc2hvdWxkUmV0cnlSZXF1ZXN0LFxufSBmcm9tICdAZXRobGV0ZS9xdWVyeSc7XG5pbXBvcnQgeyBRdWVyeUVycm9yTGlzdCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IFFVRVJZX0VSUk9SX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPFF1ZXJ5RXJyb3JEaXJlY3RpdmU+KCdRVUVSWV9FUlJPUl9ESVJFQ1RJVkVfVE9LRU4nKTtcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRIdHRwU3RhdHVzQ29kZVRvTWVzc2FnZUVuID0gKHN0YXR1c0NvZGU6IEh0dHBTdGF0dXNDb2RlKSA9PiB7XG4gIHN3aXRjaCAoc3RhdHVzQ29kZSkge1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQmFkUmVxdWVzdDpcbiAgICAgIHJldHVybiAnU29ycnksIHdlIGNvdWxkIG5vdCBwcm9jZXNzIHlvdXIgcmVxdWVzdC4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5hdXRob3JpemVkOlxuICAgICAgcmV0dXJuICdZb3UgYXJlIG5vdCBhdXRob3JpemVkIHRvIHBlcmZvcm0gdGhpcyBhY3Rpb24uIFBsZWFzZSBsb2cgaW4gdG8gY29udGludWUuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlBheW1lbnRSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnUGF5bWVudCBpcyByZXF1aXJlZCB0byBjb21wbGV0ZSB0aGlzIGFjdGlvbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuRm9yYmlkZGVuOlxuICAgICAgcmV0dXJuICdZb3UgZG8gbm90IGhhdmUgcGVybWlzc2lvbiB0byBwZXJmb3JtIHRoaXMgYWN0aW9uLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RGb3VuZDpcbiAgICAgIHJldHVybiAnVGhlIHJlcXVlc3RlZCByZXNvdXJjZSB3YXMgbm90IGZvdW5kLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5NZXRob2ROb3RBbGxvd2VkOlxuICAgICAgcmV0dXJuICdUaGUgcmVxdWVzdGVkIG1ldGhvZCBpcyBub3QgYWxsb3dlZCBmb3IgdGhpcyByZXNvdXJjZS4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90QWNjZXB0YWJsZTpcbiAgICAgIHJldHVybiAnVGhlIHJlcXVlc3RlZCByZXNvdXJjZSBpcyBub3QgY2FwYWJsZSBvZiBnZW5lcmF0aW5nIGEgcmVzcG9uc2UgbWF0Y2hpbmcgdGhlIGxpc3Qgb2YgYWNjZXB0YWJsZSB2YWx1ZXMuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZDpcbiAgICAgIHJldHVybiAnUHJveHkgYXV0aGVudGljYXRpb24gaXMgcmVxdWlyZWQgdG8gY29tcGxldGUgdGhpcyBhY3Rpb24uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJlcXVlc3RUaW1lb3V0OlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIHRpbWVkIG91dCB3YWl0aW5nIGZvciB0aGUgcmVxdWVzdC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQ29uZmxpY3Q6XG4gICAgICByZXR1cm4gJ1RoZSByZXF1ZXN0IGNvbmZsaWN0cyB3aXRoIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSByZXNvdXJjZS4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuR29uZTpcbiAgICAgIHJldHVybiAnVGhlIHJlcXVlc3RlZCByZXNvdXJjZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlIGFuZCB3aWxsIG5vdCBiZSBhdmFpbGFibGUgYWdhaW4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkxlbmd0aFJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdUaGUgcmVxdWVzdCBkaWQgbm90IHNwZWNpZnkgdGhlIGxlbmd0aCBvZiBpdHMgY29udGVudCwgd2hpY2ggaXMgcmVxdWlyZWQgYnkgdGhlIHJlcXVlc3RlZCByZXNvdXJjZS4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJlY29uZGl0aW9uRmFpbGVkOlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIGRvZXMgbm90IG1lZXQgb25lIG9mIHRoZSBwcmVjb25kaXRpb25zIHRoYXQgdGhlIHJlcXVlc3RlciBwdXQgb24gdGhlIHJlcXVlc3QuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlBheWxvYWRUb29MYXJnZTpcbiAgICAgIHJldHVybiAnVGhlIHJlcXVlc3QgaXMgbGFyZ2VyIHRoYW4gdGhlIHNlcnZlciBpcyB3aWxsaW5nIG9yIGFibGUgdG8gcHJvY2Vzcy4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVXJpVG9vTG9uZzpcbiAgICAgIHJldHVybiAnVGhlIFVSTCBwcm92aWRlZCB3YXMgdG9vIGxvbmcgZm9yIHRoZSBzZXJ2ZXIgdG8gcHJvY2Vzcy4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5zdXBwb3J0ZWRNZWRpYVR5cGU6XG4gICAgICByZXR1cm4gJ1RoZSByZXF1ZXN0IGVudGl0eSBoYXMgYSBtZWRpYSB0eXBlIHdoaWNoIHRoZSBzZXJ2ZXIgb3IgcmVzb3VyY2UgZG9lcyBub3Qgc3VwcG9ydC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmFuZ2VOb3RTYXRpc2ZpYWJsZTpcbiAgICAgIHJldHVybiAnVGhlIGNsaWVudCBoYXMgYXNrZWQgZm9yIGEgcG9ydGlvbiBvZiB0aGUgZmlsZSwgYnV0IHRoZSBzZXJ2ZXIgY2Fubm90IHN1cHBseSB0aGF0IHBvcnRpb24uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkV4cGVjdGF0aW9uRmFpbGVkOlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIGNhbm5vdCBtZWV0IHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIEV4cGVjdCByZXF1ZXN0LWhlYWRlciBmaWVsZC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW1BVGVhcG90OlxuICAgICAgcmV0dXJuICdJIGFtIGEgdGVhcG90Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5NaXNkaXJlY3RlZFJlcXVlc3Q6XG4gICAgICByZXR1cm4gJ1RoZSByZXF1ZXN0IHdhcyBkaXJlY3RlZCBhdCBhIHNlcnZlciB0aGF0IGlzIG5vdCBhYmxlIHRvIHByb2R1Y2UgYSByZXNwb25zZS4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5wcm9jZXNzYWJsZUVudGl0eTpcbiAgICAgIHJldHVybiAnVGhlIHJlcXVlc3Qgd2FzIHdlbGwtZm9ybWVkIGJ1dCB3YXMgdW5hYmxlIHRvIGJlIGZvbGxvd2VkIGR1ZSB0byBzZW1hbnRpYyBlcnJvcnMuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkxvY2tlZDpcbiAgICAgIHJldHVybiAnVGhlIHJlc291cmNlIHRoYXQgaXMgYmVpbmcgYWNjZXNzZWQgaXMgbG9ja2VkLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5GYWlsZWREZXBlbmRlbmN5OlxuICAgICAgcmV0dXJuICdUaGUgcmVxdWVzdCBmYWlsZWQgZHVlIHRvIGZhaWx1cmUgb2YgYSBwcmV2aW91cyByZXF1ZXN0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ub29FYXJseTpcbiAgICAgIHJldHVybiAnVGhlIHNlcnZlciBpcyB1bndpbGxpbmcgdG8gcHJvY2VzcyB0aGUgcmVxdWVzdCBiZWNhdXNlIHRoZSB1c2VyIGhhcyBub3QgYmVlbiBhdXRoZW50aWNhdGVkLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VcGdyYWRlUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1RoZSBjbGllbnQgc2hvdWxkIHN3aXRjaCB0byBhIGRpZmZlcmVudCBwcm90b2NvbCBzdWNoIGFzIFRMUy8xLjAsIGdpdmVuIGluIHRoZSBVcGdyYWRlIGhlYWRlciBmaWVsZC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJlY29uZGl0aW9uUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1RoZSBvcmlnaW4gc2VydmVyIHJlcXVpcmVzIHRoZSByZXF1ZXN0IHRvIGJlIGNvbmRpdGlvbmFsLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ub29NYW55UmVxdWVzdHM6XG4gICAgICByZXR1cm4gJ1lvdSBoYXZlIHNlbnQgdG9vIG1hbnkgcmVxdWVzdHMgaW4gYSBnaXZlbiBhbW91bnQgb2YgdGltZS4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmVxdWVzdEhlYWRlckZpZWxkc1Rvb0xhcmdlOlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIGlzIHVud2lsbGluZyB0byBwcm9jZXNzIHRoZSByZXF1ZXN0IGJlY2F1c2UgaXRzIGhlYWRlciBmaWVsZHMgYXJlIHRvbyBsYXJnZS4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5hdmFpbGFibGVGb3JMZWdhbFJlYXNvbnM6XG4gICAgICByZXR1cm4gJ1RoZSByZXNvdXJjZSBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYSBsZWdhbCBkZW1hbmQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkludGVybmFsU2VydmVyRXJyb3I6XG4gICAgICByZXR1cm4gJ1NvbWV0aGluZyB3ZW50IHdyb25nIG9uIG91ciBlbmQuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEltcGxlbWVudGVkOlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIGRvZXMgbm90IHN1cHBvcnQgdGhlIGZ1bmN0aW9uYWxpdHkgcmVxdWlyZWQgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQmFkR2F0ZXdheTpcbiAgICAgIHJldHVybiAnU29tZXRoaW5nIHdlbnQgd3Jvbmcgb24gb3VyIGVuZC4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuU2VydmljZVVuYXZhaWxhYmxlOlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIGlzIGN1cnJlbnRseSB1bmFibGUgdG8gaGFuZGxlIHRoZSByZXF1ZXN0IGR1ZSB0byBhIHRlbXBvcmFyeSBvdmVybG9hZCBvciBtYWludGVuYW5jZSBvZiB0aGUgc2VydmVyLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5HYXRld2F5VGltZW91dDpcbiAgICAgIHJldHVybiAnVGhlIHNlcnZlciwgd2hpbGUgYWN0aW5nIGFzIGEgZ2F0ZXdheSBvciBwcm94eSwgZGlkIG5vdCByZWNlaXZlIGEgdGltZWx5IHJlc3BvbnNlIGZyb20gdGhlIHVwc3RyZWFtIHNlcnZlciBzcGVjaWZpZWQgYnkgdGhlIFVSTCBvciBzb21lIG90aGVyIGF1eGlsaWFyeSBzZXJ2ZXIgaXQgbmVlZGVkIHRvIGFjY2VzcyBpbiBhdHRlbXB0aW5nIHRvIGNvbXBsZXRlIHRoZSByZXF1ZXN0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5IdHRwVmVyc2lvbk5vdFN1cHBvcnRlZDpcbiAgICAgIHJldHVybiAnVGhlIHNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHRoZSBIVFRQIHByb3RvY29sIHZlcnNpb24gdXNlZCBpbiB0aGUgcmVxdWVzdC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVmFyaWFudEFsc29OZWdvdGlhdGVzOlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIGhhcyBhbiBpbnRlcm5hbCBjb25maWd1cmF0aW9uIGVycm9yOiB0aGUgY2hvc2VuIHZhcmlhbnQgcmVzb3VyY2UgaXMgY29uZmlndXJlZCB0byBlbmdhZ2UgaW4gdHJhbnNwYXJlbnQgY29udGVudCBuZWdvdGlhdGlvbiBpdHNlbGYsIGFuZCBpcyB0aGVyZWZvcmUgbm90IGEgcHJvcGVyIGVuZCBwb2ludCBpbiB0aGUgbmVnb3RpYXRpb24gcHJvY2Vzcy4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW5zdWZmaWNpZW50U3RvcmFnZTpcbiAgICAgIHJldHVybiAnVGhlIG1ldGhvZCBjb3VsZCBub3QgYmUgcGVyZm9ybWVkIG9uIHRoZSByZXNvdXJjZSBiZWNhdXNlIHRoZSBzZXJ2ZXIgaXMgdW5hYmxlIHRvIHN0b3JlIHRoZSByZXByZXNlbnRhdGlvbiBuZWVkZWQgdG8gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlIHRoZSByZXF1ZXN0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Mb29wRGV0ZWN0ZWQ6XG4gICAgICByZXR1cm4gJ1RoZSBzZXJ2ZXIgZGV0ZWN0ZWQgYW4gaW5maW5pdGUgbG9vcCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RFeHRlbmRlZDpcbiAgICAgIHJldHVybiAnRnVydGhlciBleHRlbnNpb25zIHRvIHRoZSByZXF1ZXN0IGFyZSByZXF1aXJlZCBmb3IgdGhlIHNlcnZlciB0byBmdWxmaWxsIGl0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5OZXR3b3JrQXV0aGVudGljYXRpb25SZXF1aXJlZDpcbiAgICAgIHJldHVybiAnWW91IG5lZWQgdG8gYXV0aGVudGljYXRlIHRvIGdhaW4gbmV0d29yayBhY2Nlc3MuJztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICdTb21ldGhpbmcgd2VudCB3cm9uZy4gQ2hlY2sgeW91ciBpbnRlcm5ldCBjb25uZWN0aW9uIGFuZCB0cnkgYWdhaW4gbGF0ZXIuJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRIdHRwU3RhdHVzQ29kZVRvTWVzc2FnZURlID0gKHN0YXR1c0NvZGU6IEh0dHBTdGF0dXNDb2RlKSA9PiB7XG4gIHN3aXRjaCAoc3RhdHVzQ29kZSkge1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQmFkUmVxdWVzdDpcbiAgICAgIHJldHVybiAnRW50c2NodWxkaWd1bmcsIHdpciBrb25udGVuIElocmUgQW5mcmFnZSBuaWNodCBiZWFyYmVpdGVuLiBCaXR0ZSB2ZXJzdWNoZW4gU2llIGVzIHNww6R0ZXIgZXJuZXV0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF1dGhvcml6ZWQ6XG4gICAgICByZXR1cm4gJ1NpZSBzaW5kIG5pY2h0IGJlcmVjaHRpZ3QsIGRpZXNlIEFrdGlvbiBhdXN6dWbDvGhyZW4uIEJpdHRlIG1lbGRlbiBTaWUgc2ljaCBhbiwgdW0gZm9ydHp1ZmFocmVuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QYXltZW50UmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1p1ciBBdXNmw7xocnVuZyBkaWVzZXIgQWt0aW9uIGlzdCBlaW5lIFphaGx1bmcgZXJmb3JkZXJsaWNoLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Gb3JiaWRkZW46XG4gICAgICByZXR1cm4gJ1NpZSBoYWJlbiBrZWluZSBCZXJlY2h0aWd1bmcsIGRpZXNlIEFrdGlvbiBhdXN6dWbDvGhyZW4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEZvdW5kOlxuICAgICAgcmV0dXJuICdEaWUgYW5nZWZvcmRlcnRlIFJlc3NvdXJjZSB3dXJkZSBuaWNodCBnZWZ1bmRlbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTWV0aG9kTm90QWxsb3dlZDpcbiAgICAgIHJldHVybiAnRGllIGFuZ2Vmb3JkZXJ0ZSBNZXRob2RlIGlzdCBmw7xyIGRpZXNlIFJlc3NvdXJjZSBuaWNodCB6dWzDpHNzaWcuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEFjY2VwdGFibGU6XG4gICAgICByZXR1cm4gJ0RpZSBhbmdlZm9yZGVydGUgUmVzc291cmNlIGlzdCBuaWNodCBpbiBkZXIgTGFnZSwgZWluZSBBbnR3b3J0IHp1IGdlbmVyaWVyZW4sIGRpZSBkZXIgTGlzdGUgZGVyIGFremVwdGFibGVuIFdlcnRlIGVudHNwcmljaHQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZDpcbiAgICAgIHJldHVybiAnWnVyIEF1c2bDvGhydW5nIGRpZXNlciBBa3Rpb24gaXN0IGVpbmUgUHJveHktQXV0aGVudGlmaXppZXJ1bmcgZXJmb3JkZXJsaWNoLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5SZXF1ZXN0VGltZW91dDpcbiAgICAgIHJldHVybiAnRGVyIFNlcnZlciBoYXQgYXVmIGRpZSBBbmZvcmRlcnVuZyBnZXdhcnRldC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQ29uZmxpY3Q6XG4gICAgICByZXR1cm4gJ0RpZSBBbmZvcmRlcnVuZyBzdGVodCBpbSBXaWRlcnNwcnVjaCB6dW0gYWt0dWVsbGVuIFp1c3RhbmQgZGVyIFJlc3NvdXJjZS4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuR29uZTpcbiAgICAgIHJldHVybiAnRGllIGFuZ2Vmb3JkZXJ0ZSBSZXNzb3VyY2UgaXN0IG5pY2h0IG1laHIgdmVyZsO8Z2JhciB1bmQgd2lyZCBhdWNoIG5pY2h0IG1laHIgdmVyZsO8Z2JhciBzZWluLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5MZW5ndGhSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnRGllIEFuZm9yZGVydW5nIGhhdCBkaWUgTMOkbmdlIGlocmVzIEluaGFsdHMgbmljaHQgYW5nZWdlYmVuLCBkaWUgdm9uIGRlciBhbmdlZm9yZGVydGVuIFJlc3NvdXJjZSBiZW7DtnRpZ3Qgd2lyZC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJlY29uZGl0aW9uRmFpbGVkOlxuICAgICAgcmV0dXJuICdEZXIgU2VydmVyIGVyZsO8bGx0IGVpbmUgZGVyIFZvcmF1c3NldHp1bmdlbiBuaWNodCwgZGllIGRlciBBbmZvcmRlcmVyIGFuIGRpZSBBbmZvcmRlcnVuZyBnZXN0ZWxsdCBoYXQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlBheWxvYWRUb29MYXJnZTpcbiAgICAgIHJldHVybiAnRGllIEFuZm9yZGVydW5nIGlzdCBncsO2w59lciBhbHMgZGVyIFNlcnZlciBiZXJlaXQgb2RlciBpbiBkZXIgTGFnZSBpc3QsIHp1IHZlcmFyYmVpdGVuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VcmlUb29Mb25nOlxuICAgICAgcmV0dXJuICdEaWUgYmVyZWl0Z2VzdGVsbHRlIFVSTCB3YXIgZsO8ciBkZW4gU2VydmVyIHp1IGxhbmcsIHVtIHNpZSB6dSB2ZXJhcmJlaXRlbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5zdXBwb3J0ZWRNZWRpYVR5cGU6XG4gICAgICByZXR1cm4gJ0RpZSBBbmZvcmRlcnVuZ3NlaW5oZWl0IGhhdCBlaW5lbiBNZWRpZW50eXAsIGRlbiBkZXIgU2VydmVyIG9kZXIgZGllIFJlc3NvdXJjZSBuaWNodCB1bnRlcnN0w7x0enQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJhbmdlTm90U2F0aXNmaWFibGU6XG4gICAgICByZXR1cm4gJ0RlciBDbGllbnQgaGF0IGVpbmVuIFRlaWwgZGVyIERhdGVpIGFuZ2Vmb3JkZXJ0LCBhYmVyIGRlciBTZXJ2ZXIga2FubiBkaWVzZW4gVGVpbCBuaWNodCBsaWVmZXJuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5FeHBlY3RhdGlvbkZhaWxlZDpcbiAgICAgIHJldHVybiAnRGVyIFNlcnZlciBrYW5uIGRpZSBBbmZvcmRlcnVuZ2VuIGRlcyBFcndhcnR1bmctQW5mb3JkZXJ1bmdza29wZmZlbGRzIG5pY2h0IGVyZsO8bGxlbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW1BVGVhcG90OlxuICAgICAgcmV0dXJuICdJY2ggYmluIGVpbmUgVGVla2FubmUuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk1pc2RpcmVjdGVkUmVxdWVzdDpcbiAgICAgIHJldHVybiAnRGllIEFuZm9yZGVydW5nIHd1cmRlIGFuIGVpbmVuIFNlcnZlciBnZXJpY2h0ZXQsIGRlciBuaWNodCBpbiBkZXIgTGFnZSBpc3QsIGVpbmUgQW50d29ydCB6dSBnZW5lcmllcmVuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbnByb2Nlc3NhYmxlRW50aXR5OlxuICAgICAgcmV0dXJuICdEaWUgQW5mb3JkZXJ1bmcgd2FyIGd1dCBmb3JtdWxpZXJ0LCBrb25udGUgYWJlciBhdWZncnVuZCBzZW1hbnRpc2NoZXIgRmVobGVyIG5pY2h0IGJlZm9sZ3Qgd2VyZGVuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Mb2NrZWQ6XG4gICAgICByZXR1cm4gJ0RpZSBSZXNzb3VyY2UsIGF1ZiBkaWUgenVnZWdyaWZmZW4gd2lyZCwgaXN0IGdlc3BlcnJ0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5GYWlsZWREZXBlbmRlbmN5OlxuICAgICAgcmV0dXJuICdEaWUgQW5mb3JkZXJ1bmcgaXN0IGF1ZmdydW5kIGVpbmVzIEZlaGxlcnMgZWluZXIgdm9yaGVyaWdlbiBBbmZvcmRlcnVuZyBmZWhsZ2VzY2hsYWdlbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVG9vRWFybHk6XG4gICAgICByZXR1cm4gJ0RlciBTZXJ2ZXIgaXN0IG5pY2h0IGJlcmVpdCwgZGllIEFuZm9yZGVydW5nIHp1IHZlcmFyYmVpdGVuLCB3ZWlsIGRlciBCZW51dHplciBuaWNodCBhdXRoZW50aWZpemllcnQgd3VyZGUuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVwZ3JhZGVSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnRGVyIENsaWVudCBzb2xsdGUgenUgZWluZW0gYW5kZXJlbiBQcm90b2tvbGwgd2llIFRMUy8xLjAgd2VjaHNlbG4sIGRhcyBpbSBVcGdyYWRlLUFuZm9yZGVydW5nc2tvcGZmZWxkIGFuZ2VnZWJlbiBpc3QuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlByZWNvbmRpdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdEZXIgVXJzcHJ1bmdzc2VydmVyIGVyZm9yZGVydCwgZGFzcyBkaWUgQW5mb3JkZXJ1bmcgYmVkaW5ndCBpc3QuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlRvb01hbnlSZXF1ZXN0czpcbiAgICAgIHJldHVybiAnU2llIGhhYmVuIGluIGVpbmVyIGJlc3RpbW10ZW4gWmVpdCB6dSB2aWVsZSBBbmZyYWdlbiBnZXNlbmRldC4gQml0dGUgdmVyc3VjaGVuIFNpZSBlcyBzcMOkdGVyIGVybmV1dC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmVxdWVzdEhlYWRlckZpZWxkc1Rvb0xhcmdlOlxuICAgICAgcmV0dXJuICdEZXIgU2VydmVyIGlzdCBuaWNodCBiZXJlaXQsIGRpZSBBbmZvcmRlcnVuZyB6dSB2ZXJhcmJlaXRlbiwgd2VpbCBzZWluZSBLb3BmZmVsZGVyIHp1IGdyb8OfIHNpbmQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVuYXZhaWxhYmxlRm9yTGVnYWxSZWFzb25zOlxuICAgICAgcmV0dXJuICdEaWUgUmVzc291cmNlIGlzdCBhdWZncnVuZCBlaW5lciByZWNodGxpY2hlbiBGb3JkZXJ1bmcgbmljaHQgdmVyZsO8Z2Jhci4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW50ZXJuYWxTZXJ2ZXJFcnJvcjpcbiAgICAgIHJldHVybiAnRXR3YXMgaXN0IHNjaGllZiBnZWxhdWZlbi4gQml0dGUgdmVyc3VjaGVuIFNpZSBlcyBzcMOkdGVyIGVybmV1dC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90SW1wbGVtZW50ZWQ6XG4gICAgICByZXR1cm4gJ0RlciBTZXJ2ZXIgdW50ZXJzdMO8dHp0IGRpZSB6dXIgRXJmw7xsbHVuZyBkZXIgQW5mb3JkZXJ1bmcgZXJmb3JkZXJsaWNoZSBGdW5rdGlvbmFsaXTDpHQgbmljaHQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkJhZEdhdGV3YXk6XG4gICAgICByZXR1cm4gJ0V0d2FzIGlzdCBzY2hpZWYgZ2VsYXVmZW4uIEJpdHRlIHZlcnN1Y2hlbiBTaWUgZXMgc3DDpHRlciBlcm5ldXQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlNlcnZpY2VVbmF2YWlsYWJsZTpcbiAgICAgIHJldHVybiAnRGVyIFNlcnZlciBrYW5uIGRpZSBBbmZvcmRlcnVuZyBkZXJ6ZWl0IG5pY2h0IGJlYXJiZWl0ZW4sIGRhIGVyIHZvcsO8YmVyZ2VoZW5kIMO8YmVybGFzdGV0IG9kZXIgZ2V3YXJ0ZXQgd2lyZC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuR2F0ZXdheVRpbWVvdXQ6XG4gICAgICByZXR1cm4gJ0RlciBTZXJ2ZXIgaGF0IGJlaW0gVmVyc3VjaCwgZGllIEFuZm9yZGVydW5nIGFienVzY2hsaWXDn2VuLCBrZWluZSByZWNodHplaXRpZ2UgQW50d29ydCB2b20gU2VydmVyIGVyaGFsdGVuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5IdHRwVmVyc2lvbk5vdFN1cHBvcnRlZDpcbiAgICAgIHJldHVybiAnRGVyIFNlcnZlciB1bnRlcnN0w7x0enQgZGllIGluIGRlciBBbmZvcmRlcnVuZyB2ZXJ3ZW5kZXRlIEhUVFAtUHJvdG9rb2xsdmVyc2lvbiBuaWNodC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVmFyaWFudEFsc29OZWdvdGlhdGVzOlxuICAgICAgcmV0dXJuICdEZXIgU2VydmVyIGhhdCBlaW5lbiBpbnRlcm5lbiBLb25maWd1cmF0aW9uc2ZlaGxlcjogRGllIGF1c2dld8OkaGx0ZSBWYXJpYW50ZW5yZXNzb3VyY2UgaXN0IHNvIGtvbmZpZ3VyaWVydCwgZGFzcyBzaWUgc2ljaCBzZWxic3QgaW4gZGllIHRyYW5zcGFyZW50ZSBJbmhhbHRzdmVyaGFuZGx1bmcgZWluYmluZGV0LCB1bmQgaXN0IGRhaGVyIGtlaW4gZ2VlaWduZXRlciBFbmRwdW5rdCBpbSBWZXJoYW5kbHVuZ3Nwcm96ZXNzLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbnN1ZmZpY2llbnRTdG9yYWdlOlxuICAgICAgcmV0dXJuICdEaWUgTWV0aG9kZSBrb25udGUgYXVmIGRpZSBSZXNzb3VyY2UgbmljaHQgYW5nZXdlbmRldCB3ZXJkZW4sIHdlaWwgZGVyIFNlcnZlciBuaWNodCBpbiBkZXIgTGFnZSBpc3QsIGRpZSBmw7xyIGRpZSBlcmZvbGdyZWljaGUgQXVzZsO8aHJ1bmcgZGVyIEFuZm9yZGVydW5nIGVyZm9yZGVybGljaGUgRGFyc3RlbGx1bmcgenUgc3BlaWNoZXJuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Mb29wRGV0ZWN0ZWQ6XG4gICAgICByZXR1cm4gJ0RlciBTZXJ2ZXIgaGF0IGVpbmUgRW5kbG9zc2NobGVpZmUgZXJrYW5udCwgd8OkaHJlbmQgZXIgZGllIEFuZm9yZGVydW5nIHZlcmFyYmVpdGV0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RFeHRlbmRlZDpcbiAgICAgIHJldHVybiAnV2VpdGVyZSBFcndlaXRlcnVuZ2VuIGRlciBBbmZvcmRlcnVuZyBzaW5kIGVyZm9yZGVybGljaCwgZGFtaXQgZGVyIFNlcnZlciBzaWUgZXJmw7xsbGVuIGthbm4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5ldHdvcmtBdXRoZW50aWNhdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdTaWUgbcO8c3NlbiBzaWNoIGF1dGhlbnRpZml6aWVyZW4sIHVtIFp1Z2FuZyB6dW0gTmV0endlcmsgenUgZXJoYWx0ZW4uJztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICdFdHdhcyBpc3Qgc2NoaWVmIGdlbGF1ZmVuLiDDnGJlcnByw7xmZW4gU2llIElocmUgSW50ZXJuZXR2ZXJiaW5kdW5nIHVuZCB2ZXJzdWNoZW4gU2llIGVzIHNww6R0ZXIgZXJuZXV0Lic7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0SHR0cFN0YXR1c0NvZGVUb1RpdGxlRW4gPSAoc3RhdHVzQ29kZTogSHR0cFN0YXR1c0NvZGUpID0+IHtcbiAgc3dpdGNoIChzdGF0dXNDb2RlKSB7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5CYWRSZXF1ZXN0OlxuICAgICAgcmV0dXJuICdCYWQgcmVxdWVzdCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF1dGhvcml6ZWQ6XG4gICAgICByZXR1cm4gJ1VuYXV0aG9yaXplZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QYXltZW50UmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1BheW1lbnQgcmVxdWlyZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuRm9yYmlkZGVuOlxuICAgICAgcmV0dXJuICdGb3JiaWRkZW4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90Rm91bmQ6XG4gICAgICByZXR1cm4gJ05vdCBmb3VuZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5NZXRob2ROb3RBbGxvd2VkOlxuICAgICAgcmV0dXJuICdNZXRob2Qgbm90IGFsbG93ZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90QWNjZXB0YWJsZTpcbiAgICAgIHJldHVybiAnTm90IGFjY2VwdGFibGUnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdQcm94eSBhdXRoZW50aWNhdGlvbiByZXF1aXJlZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5SZXF1ZXN0VGltZW91dDpcbiAgICAgIHJldHVybiAnUmVxdWVzdCB0aW1lb3V0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkNvbmZsaWN0OlxuICAgICAgcmV0dXJuICdDb25mbGljdCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Hb25lOlxuICAgICAgcmV0dXJuICdHb25lJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkxlbmd0aFJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdMZW5ndGggcmVxdWlyZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJlY29uZGl0aW9uRmFpbGVkOlxuICAgICAgcmV0dXJuICdQcmVjb25kaXRpb24gZmFpbGVkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlBheWxvYWRUb29MYXJnZTpcbiAgICAgIHJldHVybiAnUGF5bG9hZCB0b28gbGFyZ2UnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVXJpVG9vTG9uZzpcbiAgICAgIHJldHVybiAnVVJJIHRvbyBsb25nJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVuc3VwcG9ydGVkTWVkaWFUeXBlOlxuICAgICAgcmV0dXJuICdVbnN1cHBvcnRlZCBtZWRpYSB0eXBlJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJhbmdlTm90U2F0aXNmaWFibGU6XG4gICAgICByZXR1cm4gJ1JhbmdlIG5vdCBzYXRpc2ZpYWJsZSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5FeHBlY3RhdGlvbkZhaWxlZDpcbiAgICAgIHJldHVybiAnRXhwZWN0YXRpb24gZmFpbGVkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkltQVRlYXBvdDpcbiAgICAgIHJldHVybiAnSSBhbSBhIHRlYXBvdCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5NaXNkaXJlY3RlZFJlcXVlc3Q6XG4gICAgICByZXR1cm4gJ01pc2RpcmVjdGVkIHJlcXVlc3QnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5wcm9jZXNzYWJsZUVudGl0eTpcbiAgICAgIHJldHVybiAnVW5wcm9jZXNzYWJsZSBlbnRpdHknO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTG9ja2VkOlxuICAgICAgcmV0dXJuICdMb2NrZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuRmFpbGVkRGVwZW5kZW5jeTpcbiAgICAgIHJldHVybiAnRmFpbGVkIGRlcGVuZGVuY3knO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVG9vRWFybHk6XG4gICAgICByZXR1cm4gJ1RvbyBlYXJseSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VcGdyYWRlUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1VwZ3JhZGUgcmVxdWlyZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJlY29uZGl0aW9uUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1ByZWNvbmRpdGlvbiByZXF1aXJlZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ub29NYW55UmVxdWVzdHM6XG4gICAgICByZXR1cm4gJ1RvbyBtYW55IHJlcXVlc3RzJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJlcXVlc3RIZWFkZXJGaWVsZHNUb29MYXJnZTpcbiAgICAgIHJldHVybiAnUmVxdWVzdCBoZWFkZXIgZmllbGRzIHRvbyBsYXJnZSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF2YWlsYWJsZUZvckxlZ2FsUmVhc29uczpcbiAgICAgIHJldHVybiAnVW5hdmFpbGFibGUgZm9yIGxlZ2FsIHJlYXNvbnMnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW50ZXJuYWxTZXJ2ZXJFcnJvcjpcbiAgICAgIHJldHVybiAnSW50ZXJuYWwgc2VydmVyIGVycm9yJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEltcGxlbWVudGVkOlxuICAgICAgcmV0dXJuICdOb3QgaW1wbGVtZW50ZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQmFkR2F0ZXdheTpcbiAgICAgIHJldHVybiAnQmFkIGdhdGV3YXknO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuU2VydmljZVVuYXZhaWxhYmxlOlxuICAgICAgcmV0dXJuICdTZXJ2aWNlIHVuYXZhaWxhYmxlJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkdhdGV3YXlUaW1lb3V0OlxuICAgICAgcmV0dXJuICdHYXRld2F5IHRpbWVvdXQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSHR0cFZlcnNpb25Ob3RTdXBwb3J0ZWQ6XG4gICAgICByZXR1cm4gJ0hUVFAgdmVyc2lvbiBub3Qgc3VwcG9ydGVkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlZhcmlhbnRBbHNvTmVnb3RpYXRlczpcbiAgICAgIHJldHVybiAnVmFyaWFudCBhbHNvIG5lZ290aWF0ZXMnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW5zdWZmaWNpZW50U3RvcmFnZTpcbiAgICAgIHJldHVybiAnSW5zdWZmaWNpZW50IHN0b3JhZ2UnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTG9vcERldGVjdGVkOlxuICAgICAgcmV0dXJuICdMb29wIGRldGVjdGVkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEV4dGVuZGVkOlxuICAgICAgcmV0dXJuICdOb3QgZXh0ZW5kZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTmV0d29ya0F1dGhlbnRpY2F0aW9uUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ05ldHdvcmsgYXV0aGVudGljYXRpb24gcmVxdWlyZWQnO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gJ1NvbWV0aGluZyB3ZW50IHdyb25nJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRIdHRwU3RhdHVzQ29kZVRvVGl0bGVEZSA9IChzdGF0dXNDb2RlOiBIdHRwU3RhdHVzQ29kZSkgPT4ge1xuICBzd2l0Y2ggKHN0YXR1c0NvZGUpIHtcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkJhZFJlcXVlc3Q6XG4gICAgICByZXR1cm4gJ1VuZ8O8bHRpZ2UgQW5mcmFnZSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF1dGhvcml6ZWQ6XG4gICAgICByZXR1cm4gJ05pY2h0IGF1dG9yaXNpZXJ0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlBheW1lbnRSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnWmFobHVuZyBlcmZvcmRlcmxpY2gnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuRm9yYmlkZGVuOlxuICAgICAgcmV0dXJuICdWZXJib3Rlbic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RGb3VuZDpcbiAgICAgIHJldHVybiAnTmljaHQgZ2VmdW5kZW4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTWV0aG9kTm90QWxsb3dlZDpcbiAgICAgIHJldHVybiAnTWV0aG9kZSBuaWNodCBlcmxhdWJ0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEFjY2VwdGFibGU6XG4gICAgICByZXR1cm4gJ05pY2h0IGFremVwdGFiZWwnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdQcm94eS1BdXRoZW50aWZpemllcnVuZyBlcmZvcmRlcmxpY2gnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmVxdWVzdFRpbWVvdXQ6XG4gICAgICByZXR1cm4gJ0FuZm9yZGVydW5nc3plaXTDvGJlcnNjaHJlaXR1bmcnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQ29uZmxpY3Q6XG4gICAgICByZXR1cm4gJ0tvbmZsaWt0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkdvbmU6XG4gICAgICByZXR1cm4gJ1dlZyc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5MZW5ndGhSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnTMOkbmdlIGVyZm9yZGVybGljaCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QcmVjb25kaXRpb25GYWlsZWQ6XG4gICAgICByZXR1cm4gJ1ZvcmJlZGluZ3VuZyBmZWhsZ2VzY2hsYWdlbic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QYXlsb2FkVG9vTGFyZ2U6XG4gICAgICByZXR1cm4gJ051dHpsYXN0IHp1IGdyb8OfJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVyaVRvb0xvbmc6XG4gICAgICByZXR1cm4gJ1VSSSB6dSBsYW5nJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVuc3VwcG9ydGVkTWVkaWFUeXBlOlxuICAgICAgcmV0dXJuICdOaWNodCB1bnRlcnN0w7x0enRlciBNZWRpZW50eXAnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmFuZ2VOb3RTYXRpc2ZpYWJsZTpcbiAgICAgIHJldHVybiAnQmVyZWljaCBuaWNodCB6dWZyaWVkZW5zdGVsbGVuZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5FeHBlY3RhdGlvbkZhaWxlZDpcbiAgICAgIHJldHVybiAnRXJ3YXJ0dW5nIGZlaGxnZXNjaGxhZ2VuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkltQVRlYXBvdDpcbiAgICAgIHJldHVybiAnSWNoIGJpbiBlaW5lIFRlZWthbm5lJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk1pc2RpcmVjdGVkUmVxdWVzdDpcbiAgICAgIHJldHVybiAnRmVobGdlbGVpdGV0ZSBBbmZyYWdlJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVucHJvY2Vzc2FibGVFbnRpdHk6XG4gICAgICByZXR1cm4gJ1VudmVyYXJiZWl0YmFyZSBFbnRpdMOkdCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Mb2NrZWQ6XG4gICAgICByZXR1cm4gJ0dlc3BlcnJ0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkZhaWxlZERlcGVuZGVuY3k6XG4gICAgICByZXR1cm4gJ0ZlaGxnZXNjaGxhZ2VuZSBBYmjDpG5naWdrZWl0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlRvb0Vhcmx5OlxuICAgICAgcmV0dXJuICdadSBmcsO8aCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VcGdyYWRlUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1VwZ3JhZGUgZXJmb3JkZXJsaWNoJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlByZWNvbmRpdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdWb3JiZWRpbmd1bmcgZXJmb3JkZXJsaWNoJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlRvb01hbnlSZXF1ZXN0czpcbiAgICAgIHJldHVybiAnWnUgdmllbGUgQW5mcmFnZW4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmVxdWVzdEhlYWRlckZpZWxkc1Rvb0xhcmdlOlxuICAgICAgcmV0dXJuICdBbmZvcmRlcnVuZ3Nrb3BmZmVsZGVyIHp1IGdyb8OfJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVuYXZhaWxhYmxlRm9yTGVnYWxSZWFzb25zOlxuICAgICAgcmV0dXJuICdBdXMgcmVjaHRsaWNoZW4gR3LDvG5kZW4gbmljaHQgdmVyZsO8Z2Jhcic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbnRlcm5hbFNlcnZlckVycm9yOlxuICAgICAgcmV0dXJuICdJbnRlcm5lciBTZXJ2ZXJmZWhsZXInO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90SW1wbGVtZW50ZWQ6XG4gICAgICByZXR1cm4gJ05pY2h0IGltcGxlbWVudGllcnQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQmFkR2F0ZXdheTpcbiAgICAgIHJldHVybiAnU2NobGVjaHRlcyBHYXRld2F5JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlNlcnZpY2VVbmF2YWlsYWJsZTpcbiAgICAgIHJldHVybiAnRGllbnN0IG5pY2h0IHZlcmbDvGdiYXInO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuR2F0ZXdheVRpbWVvdXQ6XG4gICAgICByZXR1cm4gJ0dhdGV3YXktWmVpdMO8YmVyc2NocmVpdHVuZyc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5IdHRwVmVyc2lvbk5vdFN1cHBvcnRlZDpcbiAgICAgIHJldHVybiAnSFRUUC1WZXJzaW9uIG5pY2h0IHVudGVyc3TDvHR6dCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5WYXJpYW50QWxzb05lZ290aWF0ZXM6XG4gICAgICByZXR1cm4gJ1ZhcmlhbnRlIHZlcmhhbmRlbHQgYXVjaCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbnN1ZmZpY2llbnRTdG9yYWdlOlxuICAgICAgcmV0dXJuICdVbnp1cmVpY2hlbmRlciBTcGVpY2hlcic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Mb29wRGV0ZWN0ZWQ6XG4gICAgICByZXR1cm4gJ1NjaGxlaWZlbmVya2VubnVuZyc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RFeHRlbmRlZDpcbiAgICAgIHJldHVybiAnTmljaHQgZXJ3ZWl0ZXJ0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5ldHdvcmtBdXRoZW50aWNhdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdOZXR6d2Vya2F1dGhlbnRpZml6aWVydW5nIGVyZm9yZGVybGljaCc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnRXR3YXMgaXN0IHNjaGllZiBnZWxhdWZlbic7XG4gIH1cbn07XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBleHBvcnRBczogJ2V0UXVlcnlFcnJvcicsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFFVRVJZX0VSUk9SX1RPS0VOLFxuICAgICAgdXNlRXhpc3Rpbmc6IFF1ZXJ5RXJyb3JEaXJlY3RpdmUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUXVlcnlFcnJvckRpcmVjdGl2ZSB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIGdldCBlcnJvcigpOiBSZXF1ZXN0RXJyb3IgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fZXJyb3IoKTtcbiAgfVxuICBzZXQgZXJyb3IodmFsdWU6IFJlcXVlc3RFcnJvcikge1xuICAgIHRoaXMuX2Vycm9yLnNldCh2YWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfZXJyb3IgPSBzaWduYWw8UmVxdWVzdEVycm9yIHwgbnVsbD4obnVsbCk7XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgcXVlcnk6IEFueVF1ZXJ5IHwgQW55UXVlcnlDb2xsZWN0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgbGFuZ3VhZ2UgPSBpbnB1dDwnZW4nIHwgJ2RlJz4oJ2VuJyk7XG5cbiAgcmVhZG9ubHkgZXJyb3JMaXN0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICghdGhpcy5lcnJvcikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgcmV0cnlSZXN1bHQgPSBzaG91bGRSZXRyeVJlcXVlc3QoeyBlcnJvcjogdGhpcy5lcnJvciwgY3VycmVudFJldHJ5Q291bnQ6IDAsIGhlYWRlcnM6IHt9IH0pO1xuXG4gICAgY29uc3QgZXJyb3JMaXN0OiBRdWVyeUVycm9yTGlzdCA9IHtcbiAgICAgIGNhbkJlUmV0cmllZDogcmV0cnlSZXN1bHQucmV0cnksXG4gICAgICByZXRyeURlbGF5OiByZXRyeVJlc3VsdC5kZWxheSA/PyAwLFxuICAgICAgaXNMaXN0OiBmYWxzZSxcbiAgICAgIGl0ZW1zOiBbXSxcbiAgICAgIHRpdGxlOlxuICAgICAgICB0aGlzLmVycm9yLnN0YXR1c1RleHQudG9Mb3dlckNhc2UoKSA9PT0gJ29rJ1xuICAgICAgICAgID8gdGhpcy5sYW5ndWFnZSgpID09PSAnZW4nXG4gICAgICAgICAgICA/IGNvbnZlcnRIdHRwU3RhdHVzQ29kZVRvVGl0bGVFbih0aGlzLmVycm9yLnN0YXR1cylcbiAgICAgICAgICAgIDogY29udmVydEh0dHBTdGF0dXNDb2RlVG9UaXRsZURlKHRoaXMuZXJyb3Iuc3RhdHVzKVxuICAgICAgICAgIDogdGhpcy5lcnJvci5zdGF0dXNUZXh0LFxuICAgIH07XG5cbiAgICBjb25zdCBkZXRhaWwgPSB0aGlzLmVycm9yLmRldGFpbDtcbiAgICBjb25zdCBkZWZhdWx0RXJyb3JNZXNzYWdlID0gYCR7dGhpcy5sYW5ndWFnZSgpID09PSAnZW4nID8gY29udmVydEh0dHBTdGF0dXNDb2RlVG9NZXNzYWdlRW4odGhpcy5lcnJvci5zdGF0dXMpIDogY29udmVydEh0dHBTdGF0dXNDb2RlVG9NZXNzYWdlRGUodGhpcy5lcnJvci5zdGF0dXMpfSAoQ29kZTogJHt0aGlzLmVycm9yLnN0YXR1c30pYDtcblxuICAgIGlmIChpc0NsYXNzVmFsaWRhdG9yRXJyb3IoZGV0YWlsKSkge1xuICAgICAgZm9yIChjb25zdCBlcnJvciBvZiBkZXRhaWwubWVzc2FnZSkge1xuICAgICAgICBlcnJvckxpc3QuaXRlbXMucHVzaCh7IG1lc3NhZ2U6IGVycm9yIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNTeW1mb255Rm9ybVZpb2xhdGlvbkxpc3RFcnJvcihkZXRhaWwpKSB7XG4gICAgICBmb3IgKGNvbnN0IHZpb2xhdGlvbiBvZiBkZXRhaWwudmlvbGF0aW9ucykge1xuICAgICAgICBlcnJvckxpc3QuaXRlbXMucHVzaCh7IG1lc3NhZ2U6IHZpb2xhdGlvbi5tZXNzYWdlIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRldGFpbCA9PT0gJ29iamVjdCcgJiYgISFkZXRhaWwgJiYgJ21lc3NhZ2UnIGluIGRldGFpbCAmJiB0eXBlb2YgZGV0YWlsLm1lc3NhZ2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICBlcnJvckxpc3QuaXRlbXMucHVzaCh7IG1lc3NhZ2U6IGRldGFpbC5tZXNzYWdlIH0pO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRldGFpbCA9PT0gJ29iamVjdCcgJiYgISFkZXRhaWwgJiYgJ2RldGFpbCcgaW4gZGV0YWlsICYmIHR5cGVvZiBkZXRhaWwuZGV0YWlsID09PSAnc3RyaW5nJykge1xuICAgICAgLy8gU3ltZm9ueSBlcnJvciByZXNwb25zZSAoZHVyaW5nIGRldmVsb3BtZW50KVxuICAgICAgZXJyb3JMaXN0Lml0ZW1zLnB1c2goeyBtZXNzYWdlOiBkZXRhaWwuZGV0YWlsIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBlcnJvckxpc3QuaXRlbXMucHVzaCh7IG1lc3NhZ2U6IGRlZmF1bHRFcnJvck1lc3NhZ2UgfSk7XG4gICAgfVxuXG4gICAgZXJyb3JMaXN0LmlzTGlzdCA9IGVycm9yTGlzdC5pdGVtcy5sZW5ndGggPiAxO1xuXG4gICAgaWYgKGVycm9yTGlzdC5pdGVtcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IGNvbXBhcmVTdHJpbmcgPSAoc3RyOiBzdHJpbmcpID0+IHN0ci50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xccy9nLCAnJykucmVwbGFjZSgvXFwufCwvZywgJycpO1xuXG4gICAgICBpZiAoY29tcGFyZVN0cmluZyhlcnJvckxpc3QuaXRlbXNbMF0hLm1lc3NhZ2UpID09PSBjb21wYXJlU3RyaW5nKGVycm9yTGlzdC50aXRsZSkpIHtcbiAgICAgICAgLy8gT2Z0ZW4gdGhlIGVycm9yIHRpdGxlIGlzIHRoZSBzYW1lIGFzIHRoZSBlcnJvciBtZXNzYWdlLiBJbiB0aGlzIGNhc2Ugd2Ugc2ltcGx5IHVzZSB0aGUgZGVmYXVsdCBlcnJvciBtZXNzYWdlIGFzIGEgbWVzc2FnZS5cbiAgICAgICAgLy8gVGhpcyB3YXkgdGhlIHNhbWUgdGV4dCBpcyBhdCBsZWFzdCBub3QgZGlzcGxheWVkIHR3aWNlLlxuICAgICAgICBlcnJvckxpc3QuaXRlbXNbMF0hLm1lc3NhZ2UgPSBkZWZhdWx0RXJyb3JNZXNzYWdlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcnJvckxpc3Q7XG4gIH0pO1xufVxuIl19
442
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXJyb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXJ5LWVycm9yL2RpcmVjdGl2ZXMvcXVlcnktZXJyb3IvcXVlcnktZXJyb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBS0wscUJBQXFCLEVBQ3JCLCtCQUErQixFQUMvQixrQkFBa0IsRUFDbEIsa0JBQWtCLEdBQ25CLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3hCLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFzQiw2QkFBNkIsQ0FBQyxDQUFDO0FBRXhHLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLENBQUMsVUFBMEIsRUFBRSxFQUFFO0lBQzdFLFFBQVEsVUFBVSxFQUFFLENBQUM7UUFDbkI7WUFDRSxPQUFPLG1FQUFtRSxDQUFDO1FBQzdFO1lBQ0UsT0FBTywyRUFBMkUsQ0FBQztRQUNyRjtZQUNFLE9BQU8sOENBQThDLENBQUM7UUFDeEQ7WUFDRSxPQUFPLG9EQUFvRCxDQUFDO1FBQzlEO1lBQ0UsT0FBTyx1Q0FBdUMsQ0FBQztRQUNqRDtZQUNFLE9BQU8sd0RBQXdELENBQUM7UUFDbEU7WUFDRSxPQUFPLHdHQUF3RyxDQUFDO1FBQ2xIO1lBQ0UsT0FBTywyREFBMkQsQ0FBQztRQUNyRTtZQUNFLE9BQU8sK0NBQStDLENBQUM7UUFDekQ7WUFDRSxPQUFPLCtEQUErRCxDQUFDO1FBQ3pFO1lBQ0UsT0FBTyxnRkFBZ0YsQ0FBQztRQUMxRjtZQUNFLE9BQU8scUdBQXFHLENBQUM7UUFDL0c7WUFDRSxPQUFPLDBGQUEwRixDQUFD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QixDQUFDLENBQUMsQ0FBQztLQUNKO0lBeEVDLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFtQjtRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDOzhHQVBVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDhaQVBuQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxtQkFBbUI7YUFDakM7U0FDRjs7MkZBRVUsbUJBQW1CO2tCQVYvQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcscUJBQXFCO3lCQUNqQztxQkFDRjtpQkFDRjs4QkFHSyxLQUFLO3NCQURSLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQVV6QixLQUFLO3NCQURKLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIGNvbXB1dGVkLCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBbnlRdWVyeSxcbiAgQW55UXVlcnlDb2xsZWN0aW9uLFxuICBIdHRwU3RhdHVzQ29kZSxcbiAgUmVxdWVzdEVycm9yLFxuICBpc0NsYXNzVmFsaWRhdG9yRXJyb3IsXG4gIGlzU3ltZm9ueUZvcm1WaW9sYXRpb25MaXN0RXJyb3IsXG4gIGlzU3ltZm9ueUxpc3RFcnJvcixcbiAgc2hvdWxkUmV0cnlSZXF1ZXN0LFxufSBmcm9tICdAZXRobGV0ZS9xdWVyeSc7XG5pbXBvcnQgeyBRdWVyeUVycm9yTGlzdCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IFFVRVJZX0VSUk9SX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPFF1ZXJ5RXJyb3JEaXJlY3RpdmU+KCdRVUVSWV9FUlJPUl9ESVJFQ1RJVkVfVE9LRU4nKTtcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRIdHRwU3RhdHVzQ29kZVRvTWVzc2FnZUVuID0gKHN0YXR1c0NvZGU6IEh0dHBTdGF0dXNDb2RlKSA9PiB7XG4gIHN3aXRjaCAoc3RhdHVzQ29kZSkge1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQmFkUmVxdWVzdDpcbiAgICAgIHJldHVybiAnU29ycnksIHdlIGNvdWxkIG5vdCBwcm9jZXNzIHlvdXIgcmVxdWVzdC4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5hdXRob3JpemVkOlxuICAgICAgcmV0dXJuICdZb3UgYXJlIG5vdCBhdXRob3JpemVkIHRvIHBlcmZvcm0gdGhpcyBhY3Rpb24uIFBsZWFzZSBsb2cgaW4gdG8gY29udGludWUuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlBheW1lbnRSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnUGF5bWVudCBpcyByZXF1aXJlZCB0byBjb21wbGV0ZSB0aGlzIGFjdGlvbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuRm9yYmlkZGVuOlxuICAgICAgcmV0dXJuICdZb3UgZG8gbm90IGhhdmUgcGVybWlzc2lvbiB0byBwZXJmb3JtIHRoaXMgYWN0aW9uLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RGb3VuZDpcbiAgICAgIHJldHVybiAnVGhlIHJlcXVlc3RlZCByZXNvdXJjZSB3YXMgbm90IGZvdW5kLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5NZXRob2ROb3RBbGxvd2VkOlxuICAgICAgcmV0dXJuICdUaGUgcmVxdWVzdGVkIG1ldGhvZCBpcyBub3QgYWxsb3dlZCBmb3IgdGhpcyByZXNvdXJjZS4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90QWNjZXB0YWJsZTpcbiAgICAgIHJldHVybiAnVGhlIHJlcXVlc3RlZCByZXNvdXJjZSBpcyBub3QgY2FwYWJsZSBvZiBnZW5lcmF0aW5nIGEgcmVzcG9uc2UgbWF0Y2hpbmcgdGhlIGxpc3Qgb2YgYWNjZXB0YWJsZSB2YWx1ZXMuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZDpcbiAgICAgIHJldHVybiAnUHJveHkgYXV0aGVudGljYXRpb24gaXMgcmVxdWlyZWQgdG8gY29tcGxldGUgdGhpcyBhY3Rpb24uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJlcXVlc3RUaW1lb3V0OlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIHRpbWVkIG91dCB3YWl0aW5nIGZvciB0aGUgcmVxdWVzdC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQ29uZmxpY3Q6XG4gICAgICByZXR1cm4gJ1RoZSByZXF1ZXN0IGNvbmZsaWN0cyB3aXRoIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSByZXNvdXJjZS4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuR29uZTpcbiAgICAgIHJldHVybiAnVGhlIHJlcXVlc3RlZCByZXNvdXJjZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlIGFuZCB3aWxsIG5vdCBiZSBhdmFpbGFibGUgYWdhaW4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkxlbmd0aFJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdUaGUgcmVxdWVzdCBkaWQgbm90IHNwZWNpZnkgdGhlIGxlbmd0aCBvZiBpdHMgY29udGVudCwgd2hpY2ggaXMgcmVxdWlyZWQgYnkgdGhlIHJlcXVlc3RlZCByZXNvdXJjZS4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJlY29uZGl0aW9uRmFpbGVkOlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIGRvZXMgbm90IG1lZXQgb25lIG9mIHRoZSBwcmVjb25kaXRpb25zIHRoYXQgdGhlIHJlcXVlc3RlciBwdXQgb24gdGhlIHJlcXVlc3QuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlBheWxvYWRUb29MYXJnZTpcbiAgICAgIHJldHVybiAnVGhlIHJlcXVlc3QgaXMgbGFyZ2VyIHRoYW4gdGhlIHNlcnZlciBpcyB3aWxsaW5nIG9yIGFibGUgdG8gcHJvY2Vzcy4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVXJpVG9vTG9uZzpcbiAgICAgIHJldHVybiAnVGhlIFVSTCBwcm92aWRlZCB3YXMgdG9vIGxvbmcgZm9yIHRoZSBzZXJ2ZXIgdG8gcHJvY2Vzcy4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5zdXBwb3J0ZWRNZWRpYVR5cGU6XG4gICAgICByZXR1cm4gJ1RoZSByZXF1ZXN0IGVudGl0eSBoYXMgYSBtZWRpYSB0eXBlIHdoaWNoIHRoZSBzZXJ2ZXIgb3IgcmVzb3VyY2UgZG9lcyBub3Qgc3VwcG9ydC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmFuZ2VOb3RTYXRpc2ZpYWJsZTpcbiAgICAgIHJldHVybiAnVGhlIGNsaWVudCBoYXMgYXNrZWQgZm9yIGEgcG9ydGlvbiBvZiB0aGUgZmlsZSwgYnV0IHRoZSBzZXJ2ZXIgY2Fubm90IHN1cHBseSB0aGF0IHBvcnRpb24uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkV4cGVjdGF0aW9uRmFpbGVkOlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIGNhbm5vdCBtZWV0IHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIEV4cGVjdCByZXF1ZXN0LWhlYWRlciBmaWVsZC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW1BVGVhcG90OlxuICAgICAgcmV0dXJuICdJIGFtIGEgdGVhcG90Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5NaXNkaXJlY3RlZFJlcXVlc3Q6XG4gICAgICByZXR1cm4gJ1RoZSByZXF1ZXN0IHdhcyBkaXJlY3RlZCBhdCBhIHNlcnZlciB0aGF0IGlzIG5vdCBhYmxlIHRvIHByb2R1Y2UgYSByZXNwb25zZS4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5wcm9jZXNzYWJsZUVudGl0eTpcbiAgICAgIHJldHVybiAnVGhlIHJlcXVlc3Qgd2FzIHdlbGwtZm9ybWVkIGJ1dCB3YXMgdW5hYmxlIHRvIGJlIGZvbGxvd2VkIGR1ZSB0byBzZW1hbnRpYyBlcnJvcnMuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkxvY2tlZDpcbiAgICAgIHJldHVybiAnVGhlIHJlc291cmNlIHRoYXQgaXMgYmVpbmcgYWNjZXNzZWQgaXMgbG9ja2VkLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5GYWlsZWREZXBlbmRlbmN5OlxuICAgICAgcmV0dXJuICdUaGUgcmVxdWVzdCBmYWlsZWQgZHVlIHRvIGZhaWx1cmUgb2YgYSBwcmV2aW91cyByZXF1ZXN0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ub29FYXJseTpcbiAgICAgIHJldHVybiAnVGhlIHNlcnZlciBpcyB1bndpbGxpbmcgdG8gcHJvY2VzcyB0aGUgcmVxdWVzdCBiZWNhdXNlIHRoZSB1c2VyIGhhcyBub3QgYmVlbiBhdXRoZW50aWNhdGVkLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VcGdyYWRlUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1RoZSBjbGllbnQgc2hvdWxkIHN3aXRjaCB0byBhIGRpZmZlcmVudCBwcm90b2NvbCBzdWNoIGFzIFRMUy8xLjAsIGdpdmVuIGluIHRoZSBVcGdyYWRlIGhlYWRlciBmaWVsZC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJlY29uZGl0aW9uUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1RoZSBvcmlnaW4gc2VydmVyIHJlcXVpcmVzIHRoZSByZXF1ZXN0IHRvIGJlIGNvbmRpdGlvbmFsLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ub29NYW55UmVxdWVzdHM6XG4gICAgICByZXR1cm4gJ1lvdSBoYXZlIHNlbnQgdG9vIG1hbnkgcmVxdWVzdHMgaW4gYSBnaXZlbiBhbW91bnQgb2YgdGltZS4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmVxdWVzdEhlYWRlckZpZWxkc1Rvb0xhcmdlOlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIGlzIHVud2lsbGluZyB0byBwcm9jZXNzIHRoZSByZXF1ZXN0IGJlY2F1c2UgaXRzIGhlYWRlciBmaWVsZHMgYXJlIHRvbyBsYXJnZS4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5hdmFpbGFibGVGb3JMZWdhbFJlYXNvbnM6XG4gICAgICByZXR1cm4gJ1RoZSByZXNvdXJjZSBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYSBsZWdhbCBkZW1hbmQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkludGVybmFsU2VydmVyRXJyb3I6XG4gICAgICByZXR1cm4gJ1NvbWV0aGluZyB3ZW50IHdyb25nIG9uIG91ciBlbmQuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEltcGxlbWVudGVkOlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIGRvZXMgbm90IHN1cHBvcnQgdGhlIGZ1bmN0aW9uYWxpdHkgcmVxdWlyZWQgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQmFkR2F0ZXdheTpcbiAgICAgIHJldHVybiAnU29tZXRoaW5nIHdlbnQgd3Jvbmcgb24gb3VyIGVuZC4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuU2VydmljZVVuYXZhaWxhYmxlOlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIGlzIGN1cnJlbnRseSB1bmFibGUgdG8gaGFuZGxlIHRoZSByZXF1ZXN0IGR1ZSB0byBhIHRlbXBvcmFyeSBvdmVybG9hZCBvciBtYWludGVuYW5jZSBvZiB0aGUgc2VydmVyLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5HYXRld2F5VGltZW91dDpcbiAgICAgIHJldHVybiAnVGhlIHNlcnZlciwgd2hpbGUgYWN0aW5nIGFzIGEgZ2F0ZXdheSBvciBwcm94eSwgZGlkIG5vdCByZWNlaXZlIGEgdGltZWx5IHJlc3BvbnNlIGZyb20gdGhlIHVwc3RyZWFtIHNlcnZlciBzcGVjaWZpZWQgYnkgdGhlIFVSTCBvciBzb21lIG90aGVyIGF1eGlsaWFyeSBzZXJ2ZXIgaXQgbmVlZGVkIHRvIGFjY2VzcyBpbiBhdHRlbXB0aW5nIHRvIGNvbXBsZXRlIHRoZSByZXF1ZXN0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5IdHRwVmVyc2lvbk5vdFN1cHBvcnRlZDpcbiAgICAgIHJldHVybiAnVGhlIHNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHRoZSBIVFRQIHByb3RvY29sIHZlcnNpb24gdXNlZCBpbiB0aGUgcmVxdWVzdC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVmFyaWFudEFsc29OZWdvdGlhdGVzOlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIGhhcyBhbiBpbnRlcm5hbCBjb25maWd1cmF0aW9uIGVycm9yOiB0aGUgY2hvc2VuIHZhcmlhbnQgcmVzb3VyY2UgaXMgY29uZmlndXJlZCB0byBlbmdhZ2UgaW4gdHJhbnNwYXJlbnQgY29udGVudCBuZWdvdGlhdGlvbiBpdHNlbGYsIGFuZCBpcyB0aGVyZWZvcmUgbm90IGEgcHJvcGVyIGVuZCBwb2ludCBpbiB0aGUgbmVnb3RpYXRpb24gcHJvY2Vzcy4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW5zdWZmaWNpZW50U3RvcmFnZTpcbiAgICAgIHJldHVybiAnVGhlIG1ldGhvZCBjb3VsZCBub3QgYmUgcGVyZm9ybWVkIG9uIHRoZSByZXNvdXJjZSBiZWNhdXNlIHRoZSBzZXJ2ZXIgaXMgdW5hYmxlIHRvIHN0b3JlIHRoZSByZXByZXNlbnRhdGlvbiBuZWVkZWQgdG8gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlIHRoZSByZXF1ZXN0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Mb29wRGV0ZWN0ZWQ6XG4gICAgICByZXR1cm4gJ1RoZSBzZXJ2ZXIgZGV0ZWN0ZWQgYW4gaW5maW5pdGUgbG9vcCB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RFeHRlbmRlZDpcbiAgICAgIHJldHVybiAnRnVydGhlciBleHRlbnNpb25zIHRvIHRoZSByZXF1ZXN0IGFyZSByZXF1aXJlZCBmb3IgdGhlIHNlcnZlciB0byBmdWxmaWxsIGl0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5OZXR3b3JrQXV0aGVudGljYXRpb25SZXF1aXJlZDpcbiAgICAgIHJldHVybiAnWW91IG5lZWQgdG8gYXV0aGVudGljYXRlIHRvIGdhaW4gbmV0d29yayBhY2Nlc3MuJztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICdTb21ldGhpbmcgd2VudCB3cm9uZy4gQ2hlY2sgeW91ciBpbnRlcm5ldCBjb25uZWN0aW9uIGFuZCB0cnkgYWdhaW4gbGF0ZXIuJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRIdHRwU3RhdHVzQ29kZVRvTWVzc2FnZURlID0gKHN0YXR1c0NvZGU6IEh0dHBTdGF0dXNDb2RlKSA9PiB7XG4gIHN3aXRjaCAoc3RhdHVzQ29kZSkge1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQmFkUmVxdWVzdDpcbiAgICAgIHJldHVybiAnRW50c2NodWxkaWd1bmcsIHdpciBrb25udGVuIElocmUgQW5mcmFnZSBuaWNodCBiZWFyYmVpdGVuLiBCaXR0ZSB2ZXJzdWNoZW4gU2llIGVzIHNww6R0ZXIgZXJuZXV0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF1dGhvcml6ZWQ6XG4gICAgICByZXR1cm4gJ1NpZSBzaW5kIG5pY2h0IGJlcmVjaHRpZ3QsIGRpZXNlIEFrdGlvbiBhdXN6dWbDvGhyZW4uIEJpdHRlIG1lbGRlbiBTaWUgc2ljaCBhbiwgdW0gZm9ydHp1ZmFocmVuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QYXltZW50UmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1p1ciBBdXNmw7xocnVuZyBkaWVzZXIgQWt0aW9uIGlzdCBlaW5lIFphaGx1bmcgZXJmb3JkZXJsaWNoLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Gb3JiaWRkZW46XG4gICAgICByZXR1cm4gJ1NpZSBoYWJlbiBrZWluZSBCZXJlY2h0aWd1bmcsIGRpZXNlIEFrdGlvbiBhdXN6dWbDvGhyZW4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEZvdW5kOlxuICAgICAgcmV0dXJuICdEaWUgYW5nZWZvcmRlcnRlIFJlc3NvdXJjZSB3dXJkZSBuaWNodCBnZWZ1bmRlbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTWV0aG9kTm90QWxsb3dlZDpcbiAgICAgIHJldHVybiAnRGllIGFuZ2Vmb3JkZXJ0ZSBNZXRob2RlIGlzdCBmw7xyIGRpZXNlIFJlc3NvdXJjZSBuaWNodCB6dWzDpHNzaWcuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEFjY2VwdGFibGU6XG4gICAgICByZXR1cm4gJ0RpZSBhbmdlZm9yZGVydGUgUmVzc291cmNlIGlzdCBuaWNodCBpbiBkZXIgTGFnZSwgZWluZSBBbnR3b3J0IHp1IGdlbmVyaWVyZW4sIGRpZSBkZXIgTGlzdGUgZGVyIGFremVwdGFibGVuIFdlcnRlIGVudHNwcmljaHQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZDpcbiAgICAgIHJldHVybiAnWnVyIEF1c2bDvGhydW5nIGRpZXNlciBBa3Rpb24gaXN0IGVpbmUgUHJveHktQXV0aGVudGlmaXppZXJ1bmcgZXJmb3JkZXJsaWNoLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5SZXF1ZXN0VGltZW91dDpcbiAgICAgIHJldHVybiAnRGVyIFNlcnZlciBoYXQgYXVmIGRpZSBBbmZvcmRlcnVuZyBnZXdhcnRldC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQ29uZmxpY3Q6XG4gICAgICByZXR1cm4gJ0RpZSBBbmZvcmRlcnVuZyBzdGVodCBpbSBXaWRlcnNwcnVjaCB6dW0gYWt0dWVsbGVuIFp1c3RhbmQgZGVyIFJlc3NvdXJjZS4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuR29uZTpcbiAgICAgIHJldHVybiAnRGllIGFuZ2Vmb3JkZXJ0ZSBSZXNzb3VyY2UgaXN0IG5pY2h0IG1laHIgdmVyZsO8Z2JhciB1bmQgd2lyZCBhdWNoIG5pY2h0IG1laHIgdmVyZsO8Z2JhciBzZWluLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5MZW5ndGhSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnRGllIEFuZm9yZGVydW5nIGhhdCBkaWUgTMOkbmdlIGlocmVzIEluaGFsdHMgbmljaHQgYW5nZWdlYmVuLCBkaWUgdm9uIGRlciBhbmdlZm9yZGVydGVuIFJlc3NvdXJjZSBiZW7DtnRpZ3Qgd2lyZC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJlY29uZGl0aW9uRmFpbGVkOlxuICAgICAgcmV0dXJuICdEZXIgU2VydmVyIGVyZsO8bGx0IGVpbmUgZGVyIFZvcmF1c3NldHp1bmdlbiBuaWNodCwgZGllIGRlciBBbmZvcmRlcmVyIGFuIGRpZSBBbmZvcmRlcnVuZyBnZXN0ZWxsdCBoYXQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlBheWxvYWRUb29MYXJnZTpcbiAgICAgIHJldHVybiAnRGllIEFuZm9yZGVydW5nIGlzdCBncsO2w59lciBhbHMgZGVyIFNlcnZlciBiZXJlaXQgb2RlciBpbiBkZXIgTGFnZSBpc3QsIHp1IHZlcmFyYmVpdGVuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VcmlUb29Mb25nOlxuICAgICAgcmV0dXJuICdEaWUgYmVyZWl0Z2VzdGVsbHRlIFVSTCB3YXIgZsO8ciBkZW4gU2VydmVyIHp1IGxhbmcsIHVtIHNpZSB6dSB2ZXJhcmJlaXRlbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5zdXBwb3J0ZWRNZWRpYVR5cGU6XG4gICAgICByZXR1cm4gJ0RpZSBBbmZvcmRlcnVuZ3NlaW5oZWl0IGhhdCBlaW5lbiBNZWRpZW50eXAsIGRlbiBkZXIgU2VydmVyIG9kZXIgZGllIFJlc3NvdXJjZSBuaWNodCB1bnRlcnN0w7x0enQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJhbmdlTm90U2F0aXNmaWFibGU6XG4gICAgICByZXR1cm4gJ0RlciBDbGllbnQgaGF0IGVpbmVuIFRlaWwgZGVyIERhdGVpIGFuZ2Vmb3JkZXJ0LCBhYmVyIGRlciBTZXJ2ZXIga2FubiBkaWVzZW4gVGVpbCBuaWNodCBsaWVmZXJuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5FeHBlY3RhdGlvbkZhaWxlZDpcbiAgICAgIHJldHVybiAnRGVyIFNlcnZlciBrYW5uIGRpZSBBbmZvcmRlcnVuZ2VuIGRlcyBFcndhcnR1bmctQW5mb3JkZXJ1bmdza29wZmZlbGRzIG5pY2h0IGVyZsO8bGxlbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW1BVGVhcG90OlxuICAgICAgcmV0dXJuICdJY2ggYmluIGVpbmUgVGVla2FubmUuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk1pc2RpcmVjdGVkUmVxdWVzdDpcbiAgICAgIHJldHVybiAnRGllIEFuZm9yZGVydW5nIHd1cmRlIGFuIGVpbmVuIFNlcnZlciBnZXJpY2h0ZXQsIGRlciBuaWNodCBpbiBkZXIgTGFnZSBpc3QsIGVpbmUgQW50d29ydCB6dSBnZW5lcmllcmVuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbnByb2Nlc3NhYmxlRW50aXR5OlxuICAgICAgcmV0dXJuICdEaWUgQW5mb3JkZXJ1bmcgd2FyIGd1dCBmb3JtdWxpZXJ0LCBrb25udGUgYWJlciBhdWZncnVuZCBzZW1hbnRpc2NoZXIgRmVobGVyIG5pY2h0IGJlZm9sZ3Qgd2VyZGVuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Mb2NrZWQ6XG4gICAgICByZXR1cm4gJ0RpZSBSZXNzb3VyY2UsIGF1ZiBkaWUgenVnZWdyaWZmZW4gd2lyZCwgaXN0IGdlc3BlcnJ0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5GYWlsZWREZXBlbmRlbmN5OlxuICAgICAgcmV0dXJuICdEaWUgQW5mb3JkZXJ1bmcgaXN0IGF1ZmdydW5kIGVpbmVzIEZlaGxlcnMgZWluZXIgdm9yaGVyaWdlbiBBbmZvcmRlcnVuZyBmZWhsZ2VzY2hsYWdlbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVG9vRWFybHk6XG4gICAgICByZXR1cm4gJ0RlciBTZXJ2ZXIgaXN0IG5pY2h0IGJlcmVpdCwgZGllIEFuZm9yZGVydW5nIHp1IHZlcmFyYmVpdGVuLCB3ZWlsIGRlciBCZW51dHplciBuaWNodCBhdXRoZW50aWZpemllcnQgd3VyZGUuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVwZ3JhZGVSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnRGVyIENsaWVudCBzb2xsdGUgenUgZWluZW0gYW5kZXJlbiBQcm90b2tvbGwgd2llIFRMUy8xLjAgd2VjaHNlbG4sIGRhcyBpbSBVcGdyYWRlLUFuZm9yZGVydW5nc2tvcGZmZWxkIGFuZ2VnZWJlbiBpc3QuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlByZWNvbmRpdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdEZXIgVXJzcHJ1bmdzc2VydmVyIGVyZm9yZGVydCwgZGFzcyBkaWUgQW5mb3JkZXJ1bmcgYmVkaW5ndCBpc3QuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlRvb01hbnlSZXF1ZXN0czpcbiAgICAgIHJldHVybiAnU2llIGhhYmVuIGluIGVpbmVyIGJlc3RpbW10ZW4gWmVpdCB6dSB2aWVsZSBBbmZyYWdlbiBnZXNlbmRldC4gQml0dGUgdmVyc3VjaGVuIFNpZSBlcyBzcMOkdGVyIGVybmV1dC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmVxdWVzdEhlYWRlckZpZWxkc1Rvb0xhcmdlOlxuICAgICAgcmV0dXJuICdEZXIgU2VydmVyIGlzdCBuaWNodCBiZXJlaXQsIGRpZSBBbmZvcmRlcnVuZyB6dSB2ZXJhcmJlaXRlbiwgd2VpbCBzZWluZSBLb3BmZmVsZGVyIHp1IGdyb8OfIHNpbmQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVuYXZhaWxhYmxlRm9yTGVnYWxSZWFzb25zOlxuICAgICAgcmV0dXJuICdEaWUgUmVzc291cmNlIGlzdCBhdWZncnVuZCBlaW5lciByZWNodGxpY2hlbiBGb3JkZXJ1bmcgbmljaHQgdmVyZsO8Z2Jhci4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW50ZXJuYWxTZXJ2ZXJFcnJvcjpcbiAgICAgIHJldHVybiAnRXR3YXMgaXN0IHNjaGllZiBnZWxhdWZlbi4gQml0dGUgdmVyc3VjaGVuIFNpZSBlcyBzcMOkdGVyIGVybmV1dC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90SW1wbGVtZW50ZWQ6XG4gICAgICByZXR1cm4gJ0RlciBTZXJ2ZXIgdW50ZXJzdMO8dHp0IGRpZSB6dXIgRXJmw7xsbHVuZyBkZXIgQW5mb3JkZXJ1bmcgZXJmb3JkZXJsaWNoZSBGdW5rdGlvbmFsaXTDpHQgbmljaHQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkJhZEdhdGV3YXk6XG4gICAgICByZXR1cm4gJ0V0d2FzIGlzdCBzY2hpZWYgZ2VsYXVmZW4uIEJpdHRlIHZlcnN1Y2hlbiBTaWUgZXMgc3DDpHRlciBlcm5ldXQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlNlcnZpY2VVbmF2YWlsYWJsZTpcbiAgICAgIHJldHVybiAnRGVyIFNlcnZlciBrYW5uIGRpZSBBbmZvcmRlcnVuZyBkZXJ6ZWl0IG5pY2h0IGJlYXJiZWl0ZW4sIGRhIGVyIHZvcsO8YmVyZ2VoZW5kIMO8YmVybGFzdGV0IG9kZXIgZ2V3YXJ0ZXQgd2lyZC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuR2F0ZXdheVRpbWVvdXQ6XG4gICAgICByZXR1cm4gJ0RlciBTZXJ2ZXIgaGF0IGJlaW0gVmVyc3VjaCwgZGllIEFuZm9yZGVydW5nIGFienVzY2hsaWXDn2VuLCBrZWluZSByZWNodHplaXRpZ2UgQW50d29ydCB2b20gU2VydmVyIGVyaGFsdGVuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5IdHRwVmVyc2lvbk5vdFN1cHBvcnRlZDpcbiAgICAgIHJldHVybiAnRGVyIFNlcnZlciB1bnRlcnN0w7x0enQgZGllIGluIGRlciBBbmZvcmRlcnVuZyB2ZXJ3ZW5kZXRlIEhUVFAtUHJvdG9rb2xsdmVyc2lvbiBuaWNodC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVmFyaWFudEFsc29OZWdvdGlhdGVzOlxuICAgICAgcmV0dXJuICdEZXIgU2VydmVyIGhhdCBlaW5lbiBpbnRlcm5lbiBLb25maWd1cmF0aW9uc2ZlaGxlcjogRGllIGF1c2dld8OkaGx0ZSBWYXJpYW50ZW5yZXNzb3VyY2UgaXN0IHNvIGtvbmZpZ3VyaWVydCwgZGFzcyBzaWUgc2ljaCBzZWxic3QgaW4gZGllIHRyYW5zcGFyZW50ZSBJbmhhbHRzdmVyaGFuZGx1bmcgZWluYmluZGV0LCB1bmQgaXN0IGRhaGVyIGtlaW4gZ2VlaWduZXRlciBFbmRwdW5rdCBpbSBWZXJoYW5kbHVuZ3Nwcm96ZXNzLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbnN1ZmZpY2llbnRTdG9yYWdlOlxuICAgICAgcmV0dXJuICdEaWUgTWV0aG9kZSBrb25udGUgYXVmIGRpZSBSZXNzb3VyY2UgbmljaHQgYW5nZXdlbmRldCB3ZXJkZW4sIHdlaWwgZGVyIFNlcnZlciBuaWNodCBpbiBkZXIgTGFnZSBpc3QsIGRpZSBmw7xyIGRpZSBlcmZvbGdyZWljaGUgQXVzZsO8aHJ1bmcgZGVyIEFuZm9yZGVydW5nIGVyZm9yZGVybGljaGUgRGFyc3RlbGx1bmcgenUgc3BlaWNoZXJuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Mb29wRGV0ZWN0ZWQ6XG4gICAgICByZXR1cm4gJ0RlciBTZXJ2ZXIgaGF0IGVpbmUgRW5kbG9zc2NobGVpZmUgZXJrYW5udCwgd8OkaHJlbmQgZXIgZGllIEFuZm9yZGVydW5nIHZlcmFyYmVpdGV0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RFeHRlbmRlZDpcbiAgICAgIHJldHVybiAnV2VpdGVyZSBFcndlaXRlcnVuZ2VuIGRlciBBbmZvcmRlcnVuZyBzaW5kIGVyZm9yZGVybGljaCwgZGFtaXQgZGVyIFNlcnZlciBzaWUgZXJmw7xsbGVuIGthbm4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5ldHdvcmtBdXRoZW50aWNhdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdTaWUgbcO8c3NlbiBzaWNoIGF1dGhlbnRpZml6aWVyZW4sIHVtIFp1Z2FuZyB6dW0gTmV0endlcmsgenUgZXJoYWx0ZW4uJztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICdFdHdhcyBpc3Qgc2NoaWVmIGdlbGF1ZmVuLiDDnGJlcnByw7xmZW4gU2llIElocmUgSW50ZXJuZXR2ZXJiaW5kdW5nIHVuZCB2ZXJzdWNoZW4gU2llIGVzIHNww6R0ZXIgZXJuZXV0Lic7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0SHR0cFN0YXR1c0NvZGVUb1RpdGxlRW4gPSAoc3RhdHVzQ29kZTogSHR0cFN0YXR1c0NvZGUpID0+IHtcbiAgc3dpdGNoIChzdGF0dXNDb2RlKSB7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5CYWRSZXF1ZXN0OlxuICAgICAgcmV0dXJuICdCYWQgcmVxdWVzdCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF1dGhvcml6ZWQ6XG4gICAgICByZXR1cm4gJ1VuYXV0aG9yaXplZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QYXltZW50UmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1BheW1lbnQgcmVxdWlyZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuRm9yYmlkZGVuOlxuICAgICAgcmV0dXJuICdGb3JiaWRkZW4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90Rm91bmQ6XG4gICAgICByZXR1cm4gJ05vdCBmb3VuZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5NZXRob2ROb3RBbGxvd2VkOlxuICAgICAgcmV0dXJuICdNZXRob2Qgbm90IGFsbG93ZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90QWNjZXB0YWJsZTpcbiAgICAgIHJldHVybiAnTm90IGFjY2VwdGFibGUnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdQcm94eSBhdXRoZW50aWNhdGlvbiByZXF1aXJlZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5SZXF1ZXN0VGltZW91dDpcbiAgICAgIHJldHVybiAnUmVxdWVzdCB0aW1lb3V0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkNvbmZsaWN0OlxuICAgICAgcmV0dXJuICdDb25mbGljdCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Hb25lOlxuICAgICAgcmV0dXJuICdHb25lJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkxlbmd0aFJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdMZW5ndGggcmVxdWlyZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJlY29uZGl0aW9uRmFpbGVkOlxuICAgICAgcmV0dXJuICdQcmVjb25kaXRpb24gZmFpbGVkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlBheWxvYWRUb29MYXJnZTpcbiAgICAgIHJldHVybiAnUGF5bG9hZCB0b28gbGFyZ2UnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVXJpVG9vTG9uZzpcbiAgICAgIHJldHVybiAnVVJJIHRvbyBsb25nJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVuc3VwcG9ydGVkTWVkaWFUeXBlOlxuICAgICAgcmV0dXJuICdVbnN1cHBvcnRlZCBtZWRpYSB0eXBlJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJhbmdlTm90U2F0aXNmaWFibGU6XG4gICAgICByZXR1cm4gJ1JhbmdlIG5vdCBzYXRpc2ZpYWJsZSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5FeHBlY3RhdGlvbkZhaWxlZDpcbiAgICAgIHJldHVybiAnRXhwZWN0YXRpb24gZmFpbGVkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkltQVRlYXBvdDpcbiAgICAgIHJldHVybiAnSSBhbSBhIHRlYXBvdCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5NaXNkaXJlY3RlZFJlcXVlc3Q6XG4gICAgICByZXR1cm4gJ01pc2RpcmVjdGVkIHJlcXVlc3QnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5wcm9jZXNzYWJsZUVudGl0eTpcbiAgICAgIHJldHVybiAnVW5wcm9jZXNzYWJsZSBlbnRpdHknO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTG9ja2VkOlxuICAgICAgcmV0dXJuICdMb2NrZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuRmFpbGVkRGVwZW5kZW5jeTpcbiAgICAgIHJldHVybiAnRmFpbGVkIGRlcGVuZGVuY3knO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVG9vRWFybHk6XG4gICAgICByZXR1cm4gJ1RvbyBlYXJseSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VcGdyYWRlUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1VwZ3JhZGUgcmVxdWlyZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJlY29uZGl0aW9uUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1ByZWNvbmRpdGlvbiByZXF1aXJlZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ub29NYW55UmVxdWVzdHM6XG4gICAgICByZXR1cm4gJ1RvbyBtYW55IHJlcXVlc3RzJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJlcXVlc3RIZWFkZXJGaWVsZHNUb29MYXJnZTpcbiAgICAgIHJldHVybiAnUmVxdWVzdCBoZWFkZXIgZmllbGRzIHRvbyBsYXJnZSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF2YWlsYWJsZUZvckxlZ2FsUmVhc29uczpcbiAgICAgIHJldHVybiAnVW5hdmFpbGFibGUgZm9yIGxlZ2FsIHJlYXNvbnMnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW50ZXJuYWxTZXJ2ZXJFcnJvcjpcbiAgICAgIHJldHVybiAnSW50ZXJuYWwgc2VydmVyIGVycm9yJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEltcGxlbWVudGVkOlxuICAgICAgcmV0dXJuICdOb3QgaW1wbGVtZW50ZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQmFkR2F0ZXdheTpcbiAgICAgIHJldHVybiAnQmFkIGdhdGV3YXknO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuU2VydmljZVVuYXZhaWxhYmxlOlxuICAgICAgcmV0dXJuICdTZXJ2aWNlIHVuYXZhaWxhYmxlJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkdhdGV3YXlUaW1lb3V0OlxuICAgICAgcmV0dXJuICdHYXRld2F5IHRpbWVvdXQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSHR0cFZlcnNpb25Ob3RTdXBwb3J0ZWQ6XG4gICAgICByZXR1cm4gJ0hUVFAgdmVyc2lvbiBub3Qgc3VwcG9ydGVkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlZhcmlhbnRBbHNvTmVnb3RpYXRlczpcbiAgICAgIHJldHVybiAnVmFyaWFudCBhbHNvIG5lZ290aWF0ZXMnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW5zdWZmaWNpZW50U3RvcmFnZTpcbiAgICAgIHJldHVybiAnSW5zdWZmaWNpZW50IHN0b3JhZ2UnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTG9vcERldGVjdGVkOlxuICAgICAgcmV0dXJuICdMb29wIGRldGVjdGVkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEV4dGVuZGVkOlxuICAgICAgcmV0dXJuICdOb3QgZXh0ZW5kZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTmV0d29ya0F1dGhlbnRpY2F0aW9uUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ05ldHdvcmsgYXV0aGVudGljYXRpb24gcmVxdWlyZWQnO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gJ1NvbWV0aGluZyB3ZW50IHdyb25nJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRIdHRwU3RhdHVzQ29kZVRvVGl0bGVEZSA9IChzdGF0dXNDb2RlOiBIdHRwU3RhdHVzQ29kZSkgPT4ge1xuICBzd2l0Y2ggKHN0YXR1c0NvZGUpIHtcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkJhZFJlcXVlc3Q6XG4gICAgICByZXR1cm4gJ1VuZ8O8bHRpZ2UgQW5mcmFnZSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF1dGhvcml6ZWQ6XG4gICAgICByZXR1cm4gJ05pY2h0IGF1dG9yaXNpZXJ0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlBheW1lbnRSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnWmFobHVuZyBlcmZvcmRlcmxpY2gnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuRm9yYmlkZGVuOlxuICAgICAgcmV0dXJuICdWZXJib3Rlbic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RGb3VuZDpcbiAgICAgIHJldHVybiAnTmljaHQgZ2VmdW5kZW4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTWV0aG9kTm90QWxsb3dlZDpcbiAgICAgIHJldHVybiAnTWV0aG9kZSBuaWNodCBlcmxhdWJ0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEFjY2VwdGFibGU6XG4gICAgICByZXR1cm4gJ05pY2h0IGFremVwdGFiZWwnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdQcm94eS1BdXRoZW50aWZpemllcnVuZyBlcmZvcmRlcmxpY2gnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmVxdWVzdFRpbWVvdXQ6XG4gICAgICByZXR1cm4gJ0FuZm9yZGVydW5nc3plaXTDvGJlcnNjaHJlaXR1bmcnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQ29uZmxpY3Q6XG4gICAgICByZXR1cm4gJ0tvbmZsaWt0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkdvbmU6XG4gICAgICByZXR1cm4gJ1dlZyc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5MZW5ndGhSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnTMOkbmdlIGVyZm9yZGVybGljaCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QcmVjb25kaXRpb25GYWlsZWQ6XG4gICAgICByZXR1cm4gJ1ZvcmJlZGluZ3VuZyBmZWhsZ2VzY2hsYWdlbic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QYXlsb2FkVG9vTGFyZ2U6XG4gICAgICByZXR1cm4gJ051dHpsYXN0IHp1IGdyb8OfJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVyaVRvb0xvbmc6XG4gICAgICByZXR1cm4gJ1VSSSB6dSBsYW5nJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVuc3VwcG9ydGVkTWVkaWFUeXBlOlxuICAgICAgcmV0dXJuICdOaWNodCB1bnRlcnN0w7x0enRlciBNZWRpZW50eXAnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmFuZ2VOb3RTYXRpc2ZpYWJsZTpcbiAgICAgIHJldHVybiAnQmVyZWljaCBuaWNodCB6dWZyaWVkZW5zdGVsbGVuZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5FeHBlY3RhdGlvbkZhaWxlZDpcbiAgICAgIHJldHVybiAnRXJ3YXJ0dW5nIGZlaGxnZXNjaGxhZ2VuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkltQVRlYXBvdDpcbiAgICAgIHJldHVybiAnSWNoIGJpbiBlaW5lIFRlZWthbm5lJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk1pc2RpcmVjdGVkUmVxdWVzdDpcbiAgICAgIHJldHVybiAnRmVobGdlbGVpdGV0ZSBBbmZyYWdlJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVucHJvY2Vzc2FibGVFbnRpdHk6XG4gICAgICByZXR1cm4gJ1VudmVyYXJiZWl0YmFyZSBFbnRpdMOkdCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Mb2NrZWQ6XG4gICAgICByZXR1cm4gJ0dlc3BlcnJ0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkZhaWxlZERlcGVuZGVuY3k6XG4gICAgICByZXR1cm4gJ0ZlaGxnZXNjaGxhZ2VuZSBBYmjDpG5naWdrZWl0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlRvb0Vhcmx5OlxuICAgICAgcmV0dXJuICdadSBmcsO8aCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VcGdyYWRlUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1VwZ3JhZGUgZXJmb3JkZXJsaWNoJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlByZWNvbmRpdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdWb3JiZWRpbmd1bmcgZXJmb3JkZXJsaWNoJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlRvb01hbnlSZXF1ZXN0czpcbiAgICAgIHJldHVybiAnWnUgdmllbGUgQW5mcmFnZW4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmVxdWVzdEhlYWRlckZpZWxkc1Rvb0xhcmdlOlxuICAgICAgcmV0dXJuICdBbmZvcmRlcnVuZ3Nrb3BmZmVsZGVyIHp1IGdyb8OfJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVuYXZhaWxhYmxlRm9yTGVnYWxSZWFzb25zOlxuICAgICAgcmV0dXJuICdBdXMgcmVjaHRsaWNoZW4gR3LDvG5kZW4gbmljaHQgdmVyZsO8Z2Jhcic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbnRlcm5hbFNlcnZlckVycm9yOlxuICAgICAgcmV0dXJuICdJbnRlcm5lciBTZXJ2ZXJmZWhsZXInO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90SW1wbGVtZW50ZWQ6XG4gICAgICByZXR1cm4gJ05pY2h0IGltcGxlbWVudGllcnQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQmFkR2F0ZXdheTpcbiAgICAgIHJldHVybiAnU2NobGVjaHRlcyBHYXRld2F5JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlNlcnZpY2VVbmF2YWlsYWJsZTpcbiAgICAgIHJldHVybiAnRGllbnN0IG5pY2h0IHZlcmbDvGdiYXInO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuR2F0ZXdheVRpbWVvdXQ6XG4gICAgICByZXR1cm4gJ0dhdGV3YXktWmVpdMO8YmVyc2NocmVpdHVuZyc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5IdHRwVmVyc2lvbk5vdFN1cHBvcnRlZDpcbiAgICAgIHJldHVybiAnSFRUUC1WZXJzaW9uIG5pY2h0IHVudGVyc3TDvHR6dCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5WYXJpYW50QWxzb05lZ290aWF0ZXM6XG4gICAgICByZXR1cm4gJ1ZhcmlhbnRlIHZlcmhhbmRlbHQgYXVjaCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbnN1ZmZpY2llbnRTdG9yYWdlOlxuICAgICAgcmV0dXJuICdVbnp1cmVpY2hlbmRlciBTcGVpY2hlcic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Mb29wRGV0ZWN0ZWQ6XG4gICAgICByZXR1cm4gJ1NjaGxlaWZlbmVya2VubnVuZyc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RFeHRlbmRlZDpcbiAgICAgIHJldHVybiAnTmljaHQgZXJ3ZWl0ZXJ0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5ldHdvcmtBdXRoZW50aWNhdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdOZXR6d2Vya2F1dGhlbnRpZml6aWVydW5nIGVyZm9yZGVybGljaCc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnRXR3YXMgaXN0IHNjaGllZiBnZWxhdWZlbic7XG4gIH1cbn07XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBleHBvcnRBczogJ2V0UXVlcnlFcnJvcicsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFFVRVJZX0VSUk9SX1RPS0VOLFxuICAgICAgdXNlRXhpc3Rpbmc6IFF1ZXJ5RXJyb3JEaXJlY3RpdmUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUXVlcnlFcnJvckRpcmVjdGl2ZSB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIGdldCBlcnJvcigpOiBSZXF1ZXN0RXJyb3IgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fZXJyb3IoKTtcbiAgfVxuICBzZXQgZXJyb3IodmFsdWU6IFJlcXVlc3RFcnJvcikge1xuICAgIHRoaXMuX2Vycm9yLnNldCh2YWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfZXJyb3IgPSBzaWduYWw8UmVxdWVzdEVycm9yIHwgbnVsbD4obnVsbCk7XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgcXVlcnk6IEFueVF1ZXJ5IHwgQW55UXVlcnlDb2xsZWN0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgbGFuZ3VhZ2UgPSBpbnB1dDwnZW4nIHwgJ2RlJz4oJ2VuJyk7XG5cbiAgcmVhZG9ubHkgZXJyb3JMaXN0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICghdGhpcy5lcnJvcikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgcmV0cnlSZXN1bHQgPSBzaG91bGRSZXRyeVJlcXVlc3QoeyBlcnJvcjogdGhpcy5lcnJvciwgY3VycmVudFJldHJ5Q291bnQ6IDAsIGhlYWRlcnM6IHt9IH0pO1xuXG4gICAgY29uc3QgZXJyb3JMaXN0OiBRdWVyeUVycm9yTGlzdCA9IHtcbiAgICAgIGNhbkJlUmV0cmllZDogcmV0cnlSZXN1bHQucmV0cnksXG4gICAgICByZXRyeURlbGF5OiByZXRyeVJlc3VsdC5kZWxheSA/PyAwLFxuICAgICAgaXNMaXN0OiBmYWxzZSxcbiAgICAgIGl0ZW1zOiBbXSxcbiAgICAgIHRpdGxlOlxuICAgICAgICB0aGlzLmVycm9yLnN0YXR1c1RleHQudG9Mb3dlckNhc2UoKSA9PT0gJ29rJ1xuICAgICAgICAgID8gdGhpcy5sYW5ndWFnZSgpID09PSAnZW4nXG4gICAgICAgICAgICA/IGNvbnZlcnRIdHRwU3RhdHVzQ29kZVRvVGl0bGVFbih0aGlzLmVycm9yLnN0YXR1cylcbiAgICAgICAgICAgIDogY29udmVydEh0dHBTdGF0dXNDb2RlVG9UaXRsZURlKHRoaXMuZXJyb3Iuc3RhdHVzKVxuICAgICAgICAgIDogdGhpcy5lcnJvci5zdGF0dXNUZXh0LFxuICAgIH07XG5cbiAgICBjb25zdCBkZXRhaWwgPSB0aGlzLmVycm9yLmRldGFpbDtcbiAgICBjb25zdCBkZWZhdWx0RXJyb3JNZXNzYWdlID0gYCR7dGhpcy5sYW5ndWFnZSgpID09PSAnZW4nID8gY29udmVydEh0dHBTdGF0dXNDb2RlVG9NZXNzYWdlRW4odGhpcy5lcnJvci5zdGF0dXMpIDogY29udmVydEh0dHBTdGF0dXNDb2RlVG9NZXNzYWdlRGUodGhpcy5lcnJvci5zdGF0dXMpfSAoQ29kZTogJHt0aGlzLmVycm9yLnN0YXR1c30pYDtcblxuICAgIGlmIChpc0NsYXNzVmFsaWRhdG9yRXJyb3IoZGV0YWlsKSkge1xuICAgICAgZm9yIChjb25zdCBlcnJvciBvZiBkZXRhaWwubWVzc2FnZSkge1xuICAgICAgICBlcnJvckxpc3QuaXRlbXMucHVzaCh7IG1lc3NhZ2U6IGVycm9yIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNTeW1mb255Rm9ybVZpb2xhdGlvbkxpc3RFcnJvcihkZXRhaWwpKSB7XG4gICAgICBmb3IgKGNvbnN0IHZpb2xhdGlvbiBvZiBkZXRhaWwudmlvbGF0aW9ucykge1xuICAgICAgICBlcnJvckxpc3QuaXRlbXMucHVzaCh7IG1lc3NhZ2U6IHZpb2xhdGlvbi5tZXNzYWdlIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNTeW1mb255TGlzdEVycm9yKGRldGFpbCkpIHtcbiAgICAgIGZvciAoY29uc3QgZXJyb3Igb2YgZGV0YWlsKSB7XG4gICAgICAgIGVycm9yTGlzdC5pdGVtcy5wdXNoKHsgbWVzc2FnZTogZXJyb3IubWVzc2FnZSB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkZXRhaWwgPT09ICdvYmplY3QnICYmICEhZGV0YWlsICYmICdtZXNzYWdlJyBpbiBkZXRhaWwgJiYgdHlwZW9mIGRldGFpbC5tZXNzYWdlID09PSAnc3RyaW5nJykge1xuICAgICAgZXJyb3JMaXN0Lml0ZW1zLnB1c2goeyBtZXNzYWdlOiBkZXRhaWwubWVzc2FnZSB9KTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkZXRhaWwgPT09ICdvYmplY3QnICYmICEhZGV0YWlsICYmICdkZXRhaWwnIGluIGRldGFpbCAmJiB0eXBlb2YgZGV0YWlsLmRldGFpbCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFN5bWZvbnkgZXJyb3IgcmVzcG9uc2UgKGR1cmluZyBkZXZlbG9wbWVudClcbiAgICAgIGVycm9yTGlzdC5pdGVtcy5wdXNoKHsgbWVzc2FnZTogZGV0YWlsLmRldGFpbCB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXJyb3JMaXN0Lml0ZW1zLnB1c2goeyBtZXNzYWdlOiBkZWZhdWx0RXJyb3JNZXNzYWdlIH0pO1xuICAgIH1cblxuICAgIGVycm9yTGlzdC5pc0xpc3QgPSBlcnJvckxpc3QuaXRlbXMubGVuZ3RoID4gMTtcblxuICAgIGlmIChlcnJvckxpc3QuaXRlbXMubGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBjb21wYXJlU3RyaW5nID0gKHN0cjogc3RyaW5nKSA9PiBzdHIudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXHMvZywgJycpLnJlcGxhY2UoL1xcLnwsL2csICcnKTtcblxuICAgICAgaWYgKGNvbXBhcmVTdHJpbmcoZXJyb3JMaXN0Lml0ZW1zWzBdIS5tZXNzYWdlKSA9PT0gY29tcGFyZVN0cmluZyhlcnJvckxpc3QudGl0bGUpKSB7XG4gICAgICAgIC8vIE9mdGVuIHRoZSBlcnJvciB0aXRsZSBpcyB0aGUgc2FtZSBhcyB0aGUgZXJyb3IgbWVzc2FnZS4gSW4gdGhpcyBjYXNlIHdlIHNpbXBseSB1c2UgdGhlIGRlZmF1bHQgZXJyb3IgbWVzc2FnZSBhcyBhIG1lc3NhZ2UuXG4gICAgICAgIC8vIFRoaXMgd2F5IHRoZSBzYW1lIHRleHQgaXMgYXQgbGVhc3Qgbm90IGRpc3BsYXllZCB0d2ljZS5cbiAgICAgICAgZXJyb3JMaXN0Lml0ZW1zWzBdIS5tZXNzYWdlID0gZGVmYXVsdEVycm9yTWVzc2FnZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXJyb3JMaXN0O1xuICB9KTtcbn1cbiJdfQ==
@@ -500,10 +500,10 @@ export class ScrollableComponent {
500
500
  _disableSnapping() {
501
501
  this._disableSnapping$.next();
502
502
  }
503
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ScrollableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
504
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: ScrollableComponent, isStandalone: true, selector: "et-scrollable", inputs: { _itemSize: ["itemSize", "_itemSize"], _direction: ["direction", "_direction"], _scrollableRole: ["scrollableRole", "_scrollableRole"], _scrollableClass: ["scrollableClass", "_scrollableClass"], _renderNavigation: ["renderNavigation", "_renderNavigation", booleanAttribute], _renderMasks: ["renderMasks", "_renderMasks", booleanAttribute], _renderButtons: ["renderButtons", "_renderButtons", booleanAttribute], _renderScrollbars: ["renderScrollbars", "_renderScrollbars", booleanAttribute], _stickyButtons: ["stickyButtons", "_stickyButtons", booleanAttribute], _cursorDragScroll: ["cursorDragScroll", "_cursorDragScroll", booleanAttribute], _disableActiveElementScrolling: ["disableActiveElementScrolling", "_disableActiveElementScrolling", booleanAttribute], _scrollMode: ["scrollMode", "_scrollMode"], _snap: ["snap", "_snap", booleanAttribute], _scrollMargin: ["scrollMargin", "_scrollMargin", numberAttribute] }, outputs: { scrollStateChange: "scrollStateChange", intersectionChange: "intersectionChange" }, host: { classAttribute: "et-scrollable" }, queries: [{ propertyName: "_activeElementList", predicate: SCROLLABLE_IS_ACTIVE_CHILD_TOKEN, descendants: true }], viewQueries: [{ propertyName: "_scrollable", first: true, predicate: ["scrollable"], descendants: true, static: true }, { propertyName: "_scrollableContainer", first: true, predicate: ["scrollableContainer"], descendants: true, static: true }, { propertyName: "_firstElement", first: true, predicate: ["firstElement"], descendants: true, static: true }, { propertyName: "_lastElement", first: true, predicate: ["lastElement"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"et-scrollable-wrapper\">\n <div\n #scrollable\n [attr.role]=\"scrollableRole() ?? undefined\"\n [etCursorDragScroll]=\"cursorDragScroll()\"\n [allowedDirection]=\"direction()\"\n (cursorDragStart)=\"setIsCursorDragging(true)\"\n (cursorDragEnd)=\"setIsCursorDragging(false)\"\n class=\"et-scrollable-container-outer\"\n >\n <div #scrollableContainer [ngClass]=\"scrollableClass()\" class=\"et-scrollable-container\">\n <div #firstElement class=\"et-scroll-observer-first-element\" etScrollableIgnoreChild></div>\n <ng-content />\n <div #lastElement class=\"et-scroll-observer-last-element\" etScrollableIgnoreChild></div>\n </div>\n </div>\n\n @if (renderMasks()) {\n <div class=\"et-scrollable-masks\">\n <div class=\"et-scrollable-mask et-scrollable-mask--start\"></div>\n <div class=\"et-scrollable-mask et-scrollable-mask--end\"></div>\n </div>\n }\n\n @if (renderButtons()) {\n <div class=\"et-scrollable-buttons\">\n <button\n (click)=\"scrollToStartDirection()\"\n class=\"et-scrollable-button et-scrollable-button--start\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <et-chevron-icon />\n </button>\n <button\n (click)=\"scrollToEndDirection()\"\n class=\"et-scrollable-button et-scrollable-button--end\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <et-chevron-icon />\n </button>\n </div>\n }\n</div>\n\n@if (renderNavigation()) {\n <div class=\"et-scrollable-navigation\" aria-hidden=\"true\">\n @for (item of scrollableNavigation(); track i; let i = $index) {\n <button\n [class.et-scrollable-navigation-item--active]=\"item.isActive\"\n (click)=\"scrollToElementViaNavigation(i, item.element)\"\n class=\"et-scrollable-navigation-item\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n ></button>\n }\n </div>\n}\n", styles: [".et-scrollable{--mask: #121212 0, transparent 100%;--mask-size: 25px;--_auto-size: min-content;--_flow: column;display:block}.et-scrollable .et-scrollable-wrapper{display:grid;position:relative}.et-scrollable[item-size=same]{--_auto-size: 1fr}.et-scrollable[item-size=full]{--_auto-size: 100%}.et-scrollable[render-scrollbars=false] .et-scrollable-container-outer{scrollbar-width:none}.et-scrollable[render-scrollbars=false] .et-scrollable-container-outer::-webkit-scrollbar{display:none}.et-scrollable[direction=horizontal] .et-scrollable-container-outer{overflow-x:auto;overflow-y:hidden}.et-scrollable[direction=horizontal] .et-scrollable-container{grid-auto-columns:var(--_auto-size)}.et-scrollable[direction=horizontal] .et-scrollable-mask,.et-scrollable[direction=horizontal] .et-scrollable-button{inline-size:var(--mask-size);block-size:100%}.et-scrollable[direction=horizontal] .et-scrollable-mask--start,.et-scrollable[direction=horizontal] .et-scrollable-button--start{inset-block-start:0;inset-inline:0 0}.et-scrollable[direction=horizontal] .et-scrollable-mask--end,.et-scrollable[direction=horizontal] .et-scrollable-button--end{inset-block-start:0;inset-inline:calc(100% - 40px) 0}.et-scrollable[direction=horizontal] .et-scrollable-mask--start{background:linear-gradient(to right,var(--mask))}.et-scrollable[direction=horizontal] .et-scrollable-mask--end{background:linear-gradient(to left,var(--mask));inset-inline:calc(100% - var(--mask-size)) 100%}.et-scrollable[direction=horizontal] .et-scrollable-button--start{inset-block-start:calc(50% - 20px);transform:rotate(-90deg)}.et-scrollable[direction=horizontal] .et-scrollable-button--end{inset-block-start:calc(50% - 20px);transform:rotate(90deg)}.et-scrollable[direction=horizontal] .et-scroll-observer-first-element,.et-scrollable[direction=horizontal] .et-scroll-observer-last-element{block-size:100%;inline-size:1px}.et-scrollable[direction=horizontal] .et-scroll-observer-first-element{inset-inline-start:1px}.et-scrollable[direction=horizontal] .et-scroll-observer-last-element{inset-inline-end:1px}.et-scrollable[direction=vertical]{--_flow: row}.et-scrollable[direction=vertical] .et-scrollable-container-outer{overflow-x:hidden;overflow-y:auto}.et-scrollable[direction=vertical] .et-scrollable-container{grid-auto-rows:var(--_auto-size)}.et-scrollable[direction=vertical] .et-scrollable-mask,.et-scrollable[direction=vertical] .et-scrollable-button{block-size:var(--mask-size);inline-size:100%}.et-scrollable[direction=vertical] .et-scrollable-mask--start,.et-scrollable[direction=vertical] .et-scrollable-button--start{inset-block-start:0;inset-inline-start:0}.et-scrollable[direction=vertical] .et-scrollable-mask--end,.et-scrollable[direction=vertical] .et-scrollable-button--end{inset-block-end:0;inset-inline-start:0}.et-scrollable[direction=vertical] .et-scrollable-mask--start{background:linear-gradient(to bottom,var(--mask))}.et-scrollable[direction=vertical] .et-scrollable-mask--end{background:linear-gradient(to top,var(--mask))}.et-scrollable[direction=vertical] .et-scrollable-button--start{inset-inline-start:calc(50% - 20px);transform:rotate(0)}.et-scrollable[direction=vertical] .et-scrollable-button--end{inset-inline-start:calc(50% - 20px);transform:rotate(180deg)}.et-scrollable[direction=vertical] .et-scroll-observer-first-element,.et-scrollable[direction=vertical] .et-scroll-observer-last-element{inline-size:100%;block-size:1px}.et-scrollable[direction=vertical] .et-scroll-observer-first-element{inset-block-start:1px}.et-scrollable[direction=vertical] .et-scroll-observer-last-element{inset-block-end:1px}.et-scrollable:not(.et-scrollable--is-at-start) .et-scrollable-masks .et-scrollable-mask--start,.et-scrollable:not(.et-scrollable--is-at-start) .et-scrollable-buttons .et-scrollable-button--start{opacity:1}.et-scrollable:not(.et-scrollable--is-at-start) .et-scrollable-buttons .et-scrollable-button--start{pointer-events:all}.et-scrollable:not(.et-scrollable--is-at-end) .et-scrollable-masks .et-scrollable-mask--end,.et-scrollable:not(.et-scrollable--is-at-end) .et-scrollable-buttons .et-scrollable-button--end{opacity:1}.et-scrollable:not(.et-scrollable--is-at-end) .et-scrollable-buttons .et-scrollable-button--end{pointer-events:all}.et-scrollable .et-scrollable-container-outer{overflow:auto;display:grid;position:relative;grid-row:1/1;grid-column:1/1}.et-scrollable .et-scroll-observer-first-element,.et-scrollable .et-scroll-observer-last-element{position:absolute;pointer-events:none}.et-scrollable .et-scrollable-container{display:grid;grid-auto-flow:var(--_flow);position:relative}.et-scrollable .et-scrollable-masks,.et-scrollable .et-scrollable-buttons{grid-row:1/1;grid-column:1/1;pointer-events:none}.et-scrollable .et-scrollable-masks .et-scrollable-mask,.et-scrollable .et-scrollable-masks .et-scrollable-button,.et-scrollable .et-scrollable-buttons .et-scrollable-mask,.et-scrollable .et-scrollable-buttons .et-scrollable-button{position:absolute;opacity:0}.et-scrollable.et-scrollable--can-scroll.et-scrollable--enable-overlay-animations .et-scrollable-mask,.et-scrollable.et-scrollable--can-scroll.et-scrollable--enable-overlay-animations .et-scrollable-button{transition:opacity .3s var(--ease-5)}.et-scrollable .et-scrollable-buttons .et-scrollable-button{background:transparent;border:none;padding:12px;inline-size:40px;block-size:40px;border-radius:4px;cursor:pointer}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-chevron-icon{pointer-events:none}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-scrollable-button--start{inset-inline:0 0}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-scrollable-button--end{inset-inline:calc(100% - 40px) 0}.et-scrollable[sticky-buttons=true]{--_sticky-margin: 10%}.et-scrollable[sticky-buttons=true] .et-scrollable-button{position:sticky}.et-scrollable[sticky-buttons=true][direction=horizontal] .et-scrollable-buttons{margin-block:var(--_sticky-margin)}.et-scrollable[sticky-buttons=true][direction=vertical] .et-scrollable-buttons{margin-inline:var(--_sticky-margin)}.et-scrollable[sticky-buttons=true][direction=vertical] .et-scrollable-buttons .et-scrollable-button--end{inset-block-start:100%}.et-scrollable .et-scrollable-navigation{display:flex;justify-content:center;gap:10px;margin-block-start:10px}.et-scrollable .et-scrollable-navigation .et-scrollable-navigation-item{all:unset;inline-size:10px;block-size:10px;display:block;background-color:#4b4b4b;border-radius:50%;cursor:pointer}.et-scrollable .et-scrollable-navigation .et-scrollable-navigation-item.et-scrollable-navigation-item--active{background-color:#c6c6c6}\n"], dependencies: [{ kind: "directive", type: CursorDragScrollDirective, selector: "[etCursorDragScroll]", inputs: ["etCursorDragScroll", "allowedDirection"], outputs: ["cursorDragStart", "cursorDragMove", "cursorDragEnd"], exportAs: ["etCursorDragScroll"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ChevronIconComponent, selector: "et-chevron-icon" }, { kind: "directive", type: ScrollableIgnoreChildDirective, selector: "[etScrollableIgnoreChild]", inputs: ["etScrollableIgnoreChild"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
503
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ScrollableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
504
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: ScrollableComponent, isStandalone: true, selector: "et-scrollable", inputs: { _itemSize: ["itemSize", "_itemSize"], _direction: ["direction", "_direction"], _scrollableRole: ["scrollableRole", "_scrollableRole"], _scrollableClass: ["scrollableClass", "_scrollableClass"], _renderNavigation: ["renderNavigation", "_renderNavigation", booleanAttribute], _renderMasks: ["renderMasks", "_renderMasks", booleanAttribute], _renderButtons: ["renderButtons", "_renderButtons", booleanAttribute], _renderScrollbars: ["renderScrollbars", "_renderScrollbars", booleanAttribute], _stickyButtons: ["stickyButtons", "_stickyButtons", booleanAttribute], _cursorDragScroll: ["cursorDragScroll", "_cursorDragScroll", booleanAttribute], _disableActiveElementScrolling: ["disableActiveElementScrolling", "_disableActiveElementScrolling", booleanAttribute], _scrollMode: ["scrollMode", "_scrollMode"], _snap: ["snap", "_snap", booleanAttribute], _scrollMargin: ["scrollMargin", "_scrollMargin", numberAttribute] }, outputs: { scrollStateChange: "scrollStateChange", intersectionChange: "intersectionChange" }, host: { classAttribute: "et-scrollable" }, queries: [{ propertyName: "_activeElementList", predicate: SCROLLABLE_IS_ACTIVE_CHILD_TOKEN, descendants: true }], viewQueries: [{ propertyName: "_scrollable", first: true, predicate: ["scrollable"], descendants: true, static: true }, { propertyName: "_scrollableContainer", first: true, predicate: ["scrollableContainer"], descendants: true, static: true }, { propertyName: "_firstElement", first: true, predicate: ["firstElement"], descendants: true, static: true }, { propertyName: "_lastElement", first: true, predicate: ["lastElement"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"et-scrollable-wrapper\">\n <div\n #scrollable\n [attr.role]=\"scrollableRole() ?? undefined\"\n [etCursorDragScroll]=\"cursorDragScroll()\"\n [allowedDirection]=\"direction()\"\n (cursorDragStart)=\"setIsCursorDragging(true)\"\n (cursorDragEnd)=\"setIsCursorDragging(false)\"\n class=\"et-scrollable-container-outer\"\n >\n <div #scrollableContainer [ngClass]=\"scrollableClass()\" class=\"et-scrollable-container\">\n <div #firstElement class=\"et-scroll-observer-first-element\" etScrollableIgnoreChild></div>\n <ng-content />\n <div #lastElement class=\"et-scroll-observer-last-element\" etScrollableIgnoreChild></div>\n </div>\n </div>\n\n @if (renderMasks()) {\n <div class=\"et-scrollable-masks\">\n <div class=\"et-scrollable-mask et-scrollable-mask--start\"></div>\n <div class=\"et-scrollable-mask et-scrollable-mask--end\"></div>\n </div>\n }\n\n @if (renderButtons()) {\n <div class=\"et-scrollable-buttons\">\n <button\n (click)=\"scrollToStartDirection()\"\n class=\"et-scrollable-button et-scrollable-button--start\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <et-chevron-icon />\n </button>\n <button\n (click)=\"scrollToEndDirection()\"\n class=\"et-scrollable-button et-scrollable-button--end\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <et-chevron-icon />\n </button>\n </div>\n }\n</div>\n\n@if (renderNavigation()) {\n <div class=\"et-scrollable-navigation\" aria-hidden=\"true\">\n @for (item of scrollableNavigation(); track i; let i = $index) {\n <button\n [class.et-scrollable-navigation-item--active]=\"item.isActive\"\n (click)=\"scrollToElementViaNavigation(i, item.element)\"\n class=\"et-scrollable-navigation-item\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n ></button>\n }\n </div>\n}\n", styles: [".et-scrollable{--mask: #121212 0, transparent 100%;--mask-size: 25px;--_auto-size: min-content;--_flow: column;display:block}.et-scrollable .et-scrollable-wrapper{display:grid;position:relative}.et-scrollable[item-size=same]{--_auto-size: 1fr}.et-scrollable[item-size=full]{--_auto-size: 100%}.et-scrollable[render-scrollbars=false] .et-scrollable-container-outer{scrollbar-width:none}.et-scrollable[render-scrollbars=false] .et-scrollable-container-outer::-webkit-scrollbar{display:none}.et-scrollable[direction=horizontal] .et-scrollable-container-outer{overflow-x:auto;overflow-y:hidden}.et-scrollable[direction=horizontal] .et-scrollable-container{grid-auto-columns:var(--_auto-size)}.et-scrollable[direction=horizontal] .et-scrollable-mask,.et-scrollable[direction=horizontal] .et-scrollable-button{inline-size:var(--mask-size);block-size:100%}.et-scrollable[direction=horizontal] .et-scrollable-mask--start,.et-scrollable[direction=horizontal] .et-scrollable-button--start{inset-block-start:0;inset-inline:0 0}.et-scrollable[direction=horizontal] .et-scrollable-mask--end,.et-scrollable[direction=horizontal] .et-scrollable-button--end{inset-block-start:0;inset-inline:calc(100% - 40px) 0}.et-scrollable[direction=horizontal] .et-scrollable-mask--start{background:linear-gradient(to right,var(--mask))}.et-scrollable[direction=horizontal] .et-scrollable-mask--end{background:linear-gradient(to left,var(--mask));inset-inline:calc(100% - var(--mask-size)) 100%}.et-scrollable[direction=horizontal] .et-scrollable-button--start{inset-block-start:calc(50% - 20px);transform:rotate(-90deg)}.et-scrollable[direction=horizontal] .et-scrollable-button--end{inset-block-start:calc(50% - 20px);transform:rotate(90deg)}.et-scrollable[direction=horizontal] .et-scroll-observer-first-element,.et-scrollable[direction=horizontal] .et-scroll-observer-last-element{block-size:100%;inline-size:1px}.et-scrollable[direction=horizontal] .et-scroll-observer-first-element{inset-inline-start:1px}.et-scrollable[direction=horizontal] .et-scroll-observer-last-element{inset-inline-end:1px}.et-scrollable[direction=vertical]{--_flow: row}.et-scrollable[direction=vertical] .et-scrollable-container-outer{overflow-x:hidden;overflow-y:auto}.et-scrollable[direction=vertical] .et-scrollable-container{grid-auto-rows:var(--_auto-size)}.et-scrollable[direction=vertical] .et-scrollable-mask,.et-scrollable[direction=vertical] .et-scrollable-button{block-size:var(--mask-size);inline-size:100%}.et-scrollable[direction=vertical] .et-scrollable-mask--start,.et-scrollable[direction=vertical] .et-scrollable-button--start{inset-block-start:0;inset-inline-start:0}.et-scrollable[direction=vertical] .et-scrollable-mask--end,.et-scrollable[direction=vertical] .et-scrollable-button--end{inset-block-end:0;inset-inline-start:0}.et-scrollable[direction=vertical] .et-scrollable-mask--start{background:linear-gradient(to bottom,var(--mask))}.et-scrollable[direction=vertical] .et-scrollable-mask--end{background:linear-gradient(to top,var(--mask))}.et-scrollable[direction=vertical] .et-scrollable-button--start{inset-inline-start:calc(50% - 20px);transform:rotate(0)}.et-scrollable[direction=vertical] .et-scrollable-button--end{inset-inline-start:calc(50% - 20px);transform:rotate(180deg)}.et-scrollable[direction=vertical] .et-scroll-observer-first-element,.et-scrollable[direction=vertical] .et-scroll-observer-last-element{inline-size:100%;block-size:1px}.et-scrollable[direction=vertical] .et-scroll-observer-first-element{inset-block-start:1px}.et-scrollable[direction=vertical] .et-scroll-observer-last-element{inset-block-end:1px}.et-scrollable:not(.et-scrollable--is-at-start) .et-scrollable-masks .et-scrollable-mask--start,.et-scrollable:not(.et-scrollable--is-at-start) .et-scrollable-buttons .et-scrollable-button--start{opacity:1}.et-scrollable:not(.et-scrollable--is-at-start) .et-scrollable-buttons .et-scrollable-button--start{pointer-events:all}.et-scrollable:not(.et-scrollable--is-at-end) .et-scrollable-masks .et-scrollable-mask--end,.et-scrollable:not(.et-scrollable--is-at-end) .et-scrollable-buttons .et-scrollable-button--end{opacity:1}.et-scrollable:not(.et-scrollable--is-at-end) .et-scrollable-buttons .et-scrollable-button--end{pointer-events:all}.et-scrollable .et-scrollable-container-outer{overflow:auto;display:grid;position:relative;grid-row:1/1;grid-column:1/1}.et-scrollable .et-scroll-observer-first-element,.et-scrollable .et-scroll-observer-last-element{position:absolute;pointer-events:none}.et-scrollable .et-scrollable-container{display:grid;grid-auto-flow:var(--_flow);position:relative}.et-scrollable .et-scrollable-masks,.et-scrollable .et-scrollable-buttons{grid-row:1/1;grid-column:1/1;pointer-events:none}.et-scrollable .et-scrollable-masks .et-scrollable-mask,.et-scrollable .et-scrollable-masks .et-scrollable-button,.et-scrollable .et-scrollable-buttons .et-scrollable-mask,.et-scrollable .et-scrollable-buttons .et-scrollable-button{position:absolute;opacity:0}.et-scrollable.et-scrollable--can-scroll.et-scrollable--enable-overlay-animations .et-scrollable-mask,.et-scrollable.et-scrollable--can-scroll.et-scrollable--enable-overlay-animations .et-scrollable-button{transition:opacity .3s var(--ease-5)}.et-scrollable .et-scrollable-buttons .et-scrollable-button{background:transparent;border:none;padding:12px;inline-size:40px;block-size:40px;border-radius:4px;cursor:pointer}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-chevron-icon{pointer-events:none}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-scrollable-button--start{inset-inline:0 0}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-scrollable-button--end{inset-inline:calc(100% - 40px) 0}.et-scrollable[sticky-buttons=true]{--_sticky-margin: 10%}.et-scrollable[sticky-buttons=true] .et-scrollable-button{position:sticky}.et-scrollable[sticky-buttons=true][direction=horizontal] .et-scrollable-buttons{margin-block:var(--_sticky-margin)}.et-scrollable[sticky-buttons=true][direction=vertical] .et-scrollable-buttons{margin-inline:var(--_sticky-margin)}.et-scrollable[sticky-buttons=true][direction=vertical] .et-scrollable-buttons .et-scrollable-button--end{inset-block-start:100%}.et-scrollable .et-scrollable-navigation{display:flex;justify-content:center;gap:10px;margin-block-start:10px}.et-scrollable .et-scrollable-navigation .et-scrollable-navigation-item{all:unset;inline-size:10px;block-size:10px;display:block;background-color:#4b4b4b;border-radius:50%;cursor:pointer}.et-scrollable .et-scrollable-navigation .et-scrollable-navigation-item.et-scrollable-navigation-item--active{background-color:#c6c6c6}\n"], dependencies: [{ kind: "directive", type: CursorDragScrollDirective, selector: "[etCursorDragScroll]", inputs: ["etCursorDragScroll", "allowedDirection"], outputs: ["cursorDragStart", "cursorDragMove", "cursorDragEnd"], exportAs: ["etCursorDragScroll"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ChevronIconComponent, selector: "et-chevron-icon" }, { kind: "directive", type: ScrollableIgnoreChildDirective, selector: "[etScrollableIgnoreChild]", inputs: ["etScrollableIgnoreChild"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
505
505
  }
506
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ScrollableComponent, decorators: [{
506
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ScrollableComponent, decorators: [{
507
507
  type: Component,
508
508
  args: [{ selector: 'et-scrollable', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
509
509
  CursorDragScrollDirective,
@@ -17,15 +17,15 @@ export class ScrollableIgnoreChildDirective {
17
17
  set _ignoreChildEnabled(v) {
18
18
  this.ignoreChildEnabled.set(v);
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ScrollableIgnoreChildDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.3", type: ScrollableIgnoreChildDirective, isStandalone: true, selector: "[etScrollableIgnoreChild]", inputs: { _ignoreChildEnabled: ["etScrollableIgnoreChild", "_ignoreChildEnabled", booleanAttribute] }, providers: [
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ScrollableIgnoreChildDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.2.4", type: ScrollableIgnoreChildDirective, isStandalone: true, selector: "[etScrollableIgnoreChild]", inputs: { _ignoreChildEnabled: ["etScrollableIgnoreChild", "_ignoreChildEnabled", booleanAttribute] }, providers: [
22
22
  {
23
23
  provide: SCROLLABLE_IGNORE_CHILD_TOKEN,
24
24
  useExisting: ScrollableIgnoreChildDirective,
25
25
  },
26
26
  ], ngImport: i0 }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ScrollableIgnoreChildDirective, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ScrollableIgnoreChildDirective, decorators: [{
29
29
  type: Directive,
30
30
  args: [{
31
31
  selector: `[${SCROLLABLE_IGNORE_CHILD_ATTRIBUTE}]`,
@@ -18,15 +18,15 @@ export class ScrollableIsActiveChildDirective {
18
18
  set _isActiveChildEnabled(v) {
19
19
  this.isActiveChildEnabled.set(v);
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ScrollableIsActiveChildDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.3", type: ScrollableIsActiveChildDirective, isStandalone: true, selector: "[etScrollableIsActiveChild]", inputs: { _isActiveChildEnabled: ["etScrollableIsActiveChild", "_isActiveChildEnabled", booleanAttribute] }, providers: [
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ScrollableIsActiveChildDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.2.4", type: ScrollableIsActiveChildDirective, isStandalone: true, selector: "[etScrollableIsActiveChild]", inputs: { _isActiveChildEnabled: ["etScrollableIsActiveChild", "_isActiveChildEnabled", booleanAttribute] }, providers: [
23
23
  {
24
24
  provide: SCROLLABLE_IS_ACTIVE_CHILD_TOKEN,
25
25
  useExisting: ScrollableIsActiveChildDirective,
26
26
  },
27
27
  ], ngImport: i0 }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ScrollableIsActiveChildDirective, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ScrollableIsActiveChildDirective, decorators: [{
30
30
  type: Directive,
31
31
  args: [{
32
32
  selector: `[${SCROLLABLE_IS_ACTIVE_CHILD_ATTRIBUTE}]`,
@@ -5,10 +5,10 @@ export class SkeletonComponent {
5
5
  this.loadingAllyText = 'Loading...';
6
6
  this.animated = true;
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SkeletonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.1.3", type: SkeletonComponent, isStandalone: true, selector: "et-skeleton", inputs: { loadingAllyText: "loadingAllyText", animated: ["animated", "animated", booleanAttribute] }, host: { properties: { "class.et-skeleton--animated": "this.animated" }, classAttribute: "et-skeleton" }, ngImport: i0, template: ` <span class="cdk-visually-hidden"> {{ loadingAllyText }} </span> <ng-content />`, isInline: true, styles: [":where(.et-skeleton){--et-skeleton-gradient: linear-gradient( 90deg, rgba(190, 190, 190, 0) 15%, rgba(129, 129, 129, .5) 37%, rgba(190, 190, 190, 0) 63% );--et-skeleton-animation-duration: 3s;--et-skeleton-animation-timing-function: var(--ease-3)}.et-skeleton{display:block;cursor:progress}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SkeletonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.4", type: SkeletonComponent, isStandalone: true, selector: "et-skeleton", inputs: { loadingAllyText: "loadingAllyText", animated: ["animated", "animated", booleanAttribute] }, host: { properties: { "class.et-skeleton--animated": "this.animated" }, classAttribute: "et-skeleton" }, ngImport: i0, template: ` <span class="cdk-visually-hidden"> {{ loadingAllyText }} </span> <ng-content />`, isInline: true, styles: [":where(.et-skeleton){--et-skeleton-gradient: linear-gradient( 90deg, rgba(190, 190, 190, 0) 15%, rgba(129, 129, 129, .5) 37%, rgba(190, 190, 190, 0) 63% );--et-skeleton-animation-duration: 3s;--et-skeleton-animation-timing-function: var(--ease-3)}.et-skeleton{display:block;cursor:progress}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SkeletonComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SkeletonComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'et-skeleton', template: ` <span class="cdk-visually-hidden"> {{ loadingAllyText }} </span> <ng-content />`, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
14
14
  class: 'et-skeleton',
@@ -4,10 +4,10 @@ export class SkeletonItemComponent {
4
4
  constructor() {
5
5
  this.ariaHidden = true;
6
6
  }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SkeletonItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: SkeletonItemComponent, isStandalone: true, selector: "et-skeleton-item", host: { properties: { "attr.aria-hidden": "this.ariaHidden" }, classAttribute: "et-skeleton-item" }, ngImport: i0, template: ``, isInline: true, styles: [".et-skeleton-item{display:block;overflow:hidden;position:relative}.et-skeleton--animated .et-skeleton-item:before{content:\"\";height:100%;left:0;position:absolute;right:0;top:0;transform:translate(-100%);z-index:1;background:var(--et-skeleton-gradient)}@media (prefers-reduced-motion: no-preference){.et-skeleton--animated .et-skeleton-item:before{animation:skeleton-loading var(--et-skeleton-animation-duration) infinite var(--et-skeleton-animation-timing-function)}}@keyframes skeleton-loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SkeletonItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: SkeletonItemComponent, isStandalone: true, selector: "et-skeleton-item", host: { properties: { "attr.aria-hidden": "this.ariaHidden" }, classAttribute: "et-skeleton-item" }, ngImport: i0, template: ``, isInline: true, styles: [".et-skeleton-item{display:block;overflow:hidden;position:relative}.et-skeleton--animated .et-skeleton-item:before{content:\"\";height:100%;left:0;position:absolute;right:0;top:0;transform:translate(-100%);z-index:1;background:var(--et-skeleton-gradient)}@media (prefers-reduced-motion: no-preference){.et-skeleton--animated .et-skeleton-item:before{animation:skeleton-loading var(--et-skeleton-animation-duration) infinite var(--et-skeleton-animation-timing-function)}}@keyframes skeleton-loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SkeletonItemComponent, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SkeletonItemComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{ selector: 'et-skeleton-item', template: ``, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
13
13
  class: 'et-skeleton-item',
@@ -153,10 +153,10 @@ export class SortHeaderComponent {
153
153
  this._changeDetectorRef.markForCheck();
154
154
  });
155
155
  }
156
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SortHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
157
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: SortHeaderComponent, isStandalone: true, selector: "[et-sort-header]", inputs: { disabled: ["disabled", "disabled", booleanAttribute], id: ["et-sort-header", "id"], arrowPosition: "arrowPosition", start: "start", sortActionDescription: "sortActionDescription", disableClear: ["disableClear", "disableClear", booleanAttribute] }, host: { listeners: { "mouseenter": "_handleMouseEnter()", "mouseleave": "_handleMouseLeave()", "click": "_handleClick()", "keydown": "_handleKeydown($event)" }, properties: { "class.et-sort-header-disabled": "this.disabled", "attr.aria-sort": "this._ariaSortAttr" }, classAttribute: "et-sort-header" }, exportAs: ["etSortHeader"], ngImport: i0, template: "<div\n [class.et-sort-header-sorted]=\"_isSorted\"\n [class.et-sort-header-position-before]=\"arrowPosition === 'before'\"\n [attr.tabindex]=\"_isDisabled ? null : 0\"\n [attr.role]=\"_isDisabled ? null : 'button'\"\n class=\"et-sort-header-container\"\n>\n <div class=\"et-sort-header-content\">\n <ng-content />\n </div>\n\n @if (_renderArrow) {\n <div class=\"et-sort-header-arrow {{ _getArrowDirectionState }} {{ _getArrowViewState }}\">\n <et-chevron-icon />\n </div>\n }\n</div>\n", styles: [":where(.et-sort-header){--et-sort-header-arrow-size: 10px;--et-sort-header-gap: 8px}.et-sort-header{cursor:pointer}.et-sort-header.et-sort-header-disabled{cursor:default}.et-sort-header-container{display:flex;align-items:center;letter-spacing:normal;outline:0;gap:var(--et-sort-header-gap)}.et-sort-header-content{text-align:center;display:flex;align-items:center}.et-sort-header-position-before{flex-direction:row-reverse}.et-sort-header:hover .et-sort-header-arrow,.et-sort-header.cdk-keyboard-focused .et-sort-header-arrow{opacity:.5}.et-sort-header .et-sort-header-arrow{transition:opacity .2s var(--ease-out-5)}.et-sort-header .et-sort-header-arrow .et-chevron-icon svg{transition:transform .2s var(--ease-out-5)}.et-sort-header .et-sort-header-arrow{inline-size:var(--et-sort-header-arrow-size);opacity:0}.et-sort-header .et-sort-header-arrow.active-desc,.et-sort-header .et-sort-header-arrow.active-asc{opacity:1}.et-sort-header .et-sort-header-arrow.desc .et-chevron-icon svg,.et-sort-header .et-sort-header-arrow.asc .et-chevron-icon svg,.et-sort-header .et-sort-header-arrow.active-desc .et-chevron-icon svg{transform:rotate(180deg)}.et-sort-header .et-sort-header-arrow.active-asc .et-chevron-icon svg{transform:rotate(0)}\n"], dependencies: [{ kind: "component", type: ChevronIconComponent, selector: "et-chevron-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
156
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SortHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
157
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SortHeaderComponent, isStandalone: true, selector: "[et-sort-header]", inputs: { disabled: ["disabled", "disabled", booleanAttribute], id: ["et-sort-header", "id"], arrowPosition: "arrowPosition", start: "start", sortActionDescription: "sortActionDescription", disableClear: ["disableClear", "disableClear", booleanAttribute] }, host: { listeners: { "mouseenter": "_handleMouseEnter()", "mouseleave": "_handleMouseLeave()", "click": "_handleClick()", "keydown": "_handleKeydown($event)" }, properties: { "class.et-sort-header-disabled": "this.disabled", "attr.aria-sort": "this._ariaSortAttr" }, classAttribute: "et-sort-header" }, exportAs: ["etSortHeader"], ngImport: i0, template: "<div\n [class.et-sort-header-sorted]=\"_isSorted\"\n [class.et-sort-header-position-before]=\"arrowPosition === 'before'\"\n [attr.tabindex]=\"_isDisabled ? null : 0\"\n [attr.role]=\"_isDisabled ? null : 'button'\"\n class=\"et-sort-header-container\"\n>\n <div class=\"et-sort-header-content\">\n <ng-content />\n </div>\n\n @if (_renderArrow) {\n <div class=\"et-sort-header-arrow {{ _getArrowDirectionState }} {{ _getArrowViewState }}\">\n <et-chevron-icon />\n </div>\n }\n</div>\n", styles: [":where(.et-sort-header){--et-sort-header-arrow-size: 10px;--et-sort-header-gap: 8px}.et-sort-header{cursor:pointer}.et-sort-header.et-sort-header-disabled{cursor:default}.et-sort-header-container{display:flex;align-items:center;letter-spacing:normal;outline:0;gap:var(--et-sort-header-gap)}.et-sort-header-content{text-align:center;display:flex;align-items:center}.et-sort-header-position-before{flex-direction:row-reverse}.et-sort-header:hover .et-sort-header-arrow,.et-sort-header.cdk-keyboard-focused .et-sort-header-arrow{opacity:.5}.et-sort-header .et-sort-header-arrow{transition:opacity .2s var(--ease-out-5)}.et-sort-header .et-sort-header-arrow .et-chevron-icon svg{transition:transform .2s var(--ease-out-5)}.et-sort-header .et-sort-header-arrow{inline-size:var(--et-sort-header-arrow-size);opacity:0}.et-sort-header .et-sort-header-arrow.active-desc,.et-sort-header .et-sort-header-arrow.active-asc{opacity:1}.et-sort-header .et-sort-header-arrow.desc .et-chevron-icon svg,.et-sort-header .et-sort-header-arrow.asc .et-chevron-icon svg,.et-sort-header .et-sort-header-arrow.active-desc .et-chevron-icon svg{transform:rotate(180deg)}.et-sort-header .et-sort-header-arrow.active-asc .et-chevron-icon svg{transform:rotate(0)}\n"], dependencies: [{ kind: "component", type: ChevronIconComponent, selector: "et-chevron-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
158
158
  }
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SortHeaderComponent, decorators: [{
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SortHeaderComponent, decorators: [{
160
160
  type: Component,
161
161
  args: [{ selector: '[et-sort-header]', exportAs: 'etSortHeader', host: {
162
162
  class: 'et-sort-header',
@@ -89,10 +89,10 @@ export class SortDirective {
89
89
  subscriber.next();
90
90
  subscriber.complete();
91
91
  }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SortDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
93
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.3", type: SortDirective, isStandalone: true, selector: "[etSort]", inputs: { disabled: ["etSortDisabled", "disabled", booleanAttribute], active: ["etSortActive", "active"], start: ["etSortStart", "start"], direction: ["etSortDirection", "direction"], disableClear: ["etSortDisableClear", "disableClear", booleanAttribute], sortControl: "sortControl", sortByControl: "sortByControl", sortDirectionControl: "sortDirectionControl" }, outputs: { sortChange: "etSortChange" }, host: { classAttribute: "et-sort" }, exportAs: ["etSort"], usesOnChanges: true, ngImport: i0 }); }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SortDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
93
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.2.4", type: SortDirective, isStandalone: true, selector: "[etSort]", inputs: { disabled: ["etSortDisabled", "disabled", booleanAttribute], active: ["etSortActive", "active"], start: ["etSortStart", "start"], direction: ["etSortDirection", "direction"], disableClear: ["etSortDisableClear", "disableClear", booleanAttribute], sortControl: "sortControl", sortByControl: "sortByControl", sortDirectionControl: "sortDirectionControl" }, outputs: { sortChange: "etSortChange" }, host: { classAttribute: "et-sort" }, exportAs: ["etSort"], usesOnChanges: true, ngImport: i0 }); }
94
94
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SortDirective, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SortDirective, decorators: [{
96
96
  type: Directive,
97
97
  args: [{
98
98
  selector: '[etSort]',
@@ -5,10 +5,10 @@ export class SortHeaderIntl {
5
5
  constructor() {
6
6
  this.changes = new Subject();
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SortHeaderIntl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SortHeaderIntl, providedIn: 'root' }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SortHeaderIntl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SortHeaderIntl, providedIn: 'root' }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SortHeaderIntl, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SortHeaderIntl, decorators: [{
12
12
  type: Injectable,
13
13
  args: [{ providedIn: 'root' }]
14
14
  }] });