@theseam/ui-common 0.4.0-beta.6 → 0.4.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 (668) hide show
  1. package/breadcrumbs/breadcrumbs/breadcrumbs.component.d.ts +1 -3
  2. package/card/card-body/card-body.component.d.ts +2 -4
  3. package/card/card-footer/card-footer.component.d.ts +1 -4
  4. package/card/card-header/card-header.component.d.ts +1 -4
  5. package/card/card.component.d.ts +1 -4
  6. package/carousel/carousel-slide.directive.d.ts +8 -0
  7. package/carousel/carousel.component.d.ts +85 -0
  8. package/carousel/carousel.module.d.ts +11 -0
  9. package/carousel/index.d.ts +5 -0
  10. package/carousel/public-api.d.ts +3 -0
  11. package/checkbox/checkbox.component.d.ts +2 -4
  12. package/core/common-behaviors/active.d.ts +1 -1
  13. package/core/common-behaviors/disabled.d.ts +1 -1
  14. package/core/common-behaviors/initialized.d.ts +1 -1
  15. package/data-filters/data-filter.d.ts +1 -1
  16. package/datatable/datatable-column/datatable-column.component.d.ts +2 -3
  17. package/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.d.ts +1 -3
  18. package/datatable/datatable-export-button/datatable-export-button.component.d.ts +1 -3
  19. package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +2 -5
  20. package/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.d.ts +1 -4
  21. package/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.d.ts +1 -4
  22. package/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.d.ts +1 -4
  23. package/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.d.ts +1 -4
  24. package/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.d.ts +1 -3
  25. package/datatable/directives/datatable-action-menu-item.directive.d.ts +2 -4
  26. package/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.d.ts +1 -3
  27. package/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.d.ts +3 -4
  28. package/datatable-dynamic/datatable-dynamic-menu-bar-item-manifest.d.ts +1 -1
  29. package/datatable-dynamic/datatable-dynamic.component.d.ts +1 -4
  30. package/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.d.ts +3 -4
  31. package/dynamic/action/modal/dynamic-action-modal-def.d.ts +1 -1
  32. package/esm2020/asset-reader/asset-reader-helper.service.mjs +7 -5
  33. package/esm2020/asset-reader/asset-reader.module.mjs +4 -4
  34. package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +3 -3
  35. package/esm2020/breadcrumbs/breadcrumb.mjs +1 -1
  36. package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +4 -5
  37. package/esm2020/breadcrumbs/breadcrumbs-resolver.mjs +1 -1
  38. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +5 -5
  39. package/esm2020/breadcrumbs/breadcrumbs.service.mjs +7 -7
  40. package/esm2020/buttons/badge-button/badge-button.component.mjs +9 -7
  41. package/esm2020/buttons/button/button.component.mjs +12 -10
  42. package/esm2020/buttons/buttons.module.mjs +4 -4
  43. package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +4 -4
  44. package/esm2020/buttons/toggle-button/toggle-button.component.mjs +6 -6
  45. package/esm2020/card/card-action/card-action.component.mjs +4 -4
  46. package/esm2020/card/card-body/card-body.component.mjs +5 -6
  47. package/esm2020/card/card-footer/card-footer.component.mjs +5 -8
  48. package/esm2020/card/card-header/card-header.component.mjs +5 -7
  49. package/esm2020/card/card.component.mjs +5 -7
  50. package/esm2020/card/card.module.mjs +4 -4
  51. package/esm2020/carousel/carousel-slide.directive.mjs +16 -0
  52. package/esm2020/carousel/carousel.component.mjs +211 -0
  53. package/esm2020/carousel/carousel.module.mjs +38 -0
  54. package/esm2020/carousel/public-api.mjs +4 -0
  55. package/esm2020/carousel/theseam-ui-common-carousel.mjs +5 -0
  56. package/esm2020/checkbox/checkbox.component.mjs +5 -6
  57. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  58. package/esm2020/checkbox/testing/checkbox.harness.mjs +1 -1
  59. package/esm2020/checkbox/testing/index.mjs +1 -1
  60. package/esm2020/confirm-dialog/confirm-click.directive.mjs +6 -6
  61. package/esm2020/confirm-dialog/confirm-dialog.component.mjs +3 -3
  62. package/esm2020/confirm-dialog/confirm-dialog.module.mjs +4 -4
  63. package/esm2020/confirm-dialog/confirm-dialog.service.mjs +3 -3
  64. package/esm2020/core/common-behaviors/active.mjs +2 -1
  65. package/esm2020/core/common-behaviors/disabled.mjs +2 -1
  66. package/esm2020/core/common-behaviors/initialized.mjs +2 -1
  67. package/esm2020/core/common-behaviors/tabindex.mjs +2 -1
  68. package/esm2020/core/input-decorators/input-boolean.decorator.mjs +4 -5
  69. package/esm2020/core/input-decorators/input-number.decorator.mjs +4 -5
  70. package/esm2020/data-exporter/data-exporter.module.mjs +4 -4
  71. package/esm2020/data-exporter/exporters/csv-exporter.mjs +3 -3
  72. package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +3 -3
  73. package/esm2020/data-filters/data-filter.mjs +1 -1
  74. package/esm2020/data-filters/data-filters.module.mjs +4 -4
  75. package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +5 -5
  76. package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +6 -6
  77. package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +11 -8
  78. package/esm2020/datatable/datatable/datatable.component.mjs +11 -6
  79. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +3 -3
  80. package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +5 -4
  81. package/esm2020/datatable/datatable-column/datatable-column.component.mjs +4 -5
  82. package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +3 -3
  83. package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +4 -5
  84. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +5 -5
  85. package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +3 -3
  86. package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +5 -5
  87. package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +9 -13
  88. package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +5 -8
  89. package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +5 -8
  90. package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +5 -8
  91. package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +5 -8
  92. package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +4 -5
  93. package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +3 -3
  94. package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +5 -5
  95. package/esm2020/datatable/datatable.module.mjs +4 -4
  96. package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +5 -6
  97. package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +3 -3
  98. package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +3 -3
  99. package/esm2020/datatable/directives/datatable-filter.directive.mjs +3 -3
  100. package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +3 -3
  101. package/esm2020/datatable/models/columns-alteration.mjs +1 -1
  102. package/esm2020/datatable/models/columns-alterations/order.columns-alteration.mjs +3 -1
  103. package/esm2020/datatable/models/datatable-gql-data-source.mjs +1 -1
  104. package/esm2020/datatable/models/internal-column-props.mjs +1 -1
  105. package/esm2020/datatable/models/sort-item.mjs +1 -1
  106. package/esm2020/datatable/services/columns-alterations-manager.service.mjs +4 -4
  107. package/esm2020/datatable/services/columns-manager.service.mjs +5 -5
  108. package/esm2020/datatable/services/datatable-column-changes.service.mjs +3 -3
  109. package/esm2020/datatable/services/datatable-preferences.service.mjs +5 -4
  110. package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +5 -5
  111. package/esm2020/datatable/utils/map-columns-alterations-states.mjs +4 -1
  112. package/esm2020/datatable/utils/set-column-defaults.mjs +2 -2
  113. package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +5 -6
  114. package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +4 -4
  115. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +6 -7
  116. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-item-manifest.mjs +1 -1
  117. package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +4 -6
  118. package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +4 -4
  119. package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +6 -6
  120. package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +7 -7
  121. package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +6 -6
  122. package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +11 -8
  123. package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +6 -5
  124. package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +4 -4
  125. package/esm2020/dynamic/action/modal/dynamic-action-modal-def.mjs +1 -1
  126. package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +4 -4
  127. package/esm2020/dynamic/dynamic-value-helper.service.mjs +5 -4
  128. package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +4 -4
  129. package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +5 -5
  130. package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +4 -4
  131. package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +9 -9
  132. package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +5 -8
  133. package/esm2020/footer-bar/footer-bar.module.mjs +5 -5
  134. package/esm2020/form-field/form-field-error.directive.mjs +4 -4
  135. package/esm2020/form-field/form-field-help-text.directive.mjs +3 -3
  136. package/esm2020/form-field/form-field-label-tpl.directive.mjs +3 -3
  137. package/esm2020/form-field/form-field-required-indicator.component.mjs +4 -4
  138. package/esm2020/form-field/form-field.component.mjs +5 -5
  139. package/esm2020/form-field/form-field.module.mjs +4 -4
  140. package/esm2020/form-field/input.directive.mjs +10 -9
  141. package/esm2020/form-field/testing/form-field-required-indicator.harness.mjs +1 -1
  142. package/esm2020/form-field/testing/index.mjs +1 -1
  143. package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +5 -7
  144. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +4 -4
  145. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +3 -3
  146. package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +8 -8
  147. package/esm2020/form-field-error/form-field-error.module.mjs +4 -4
  148. package/esm2020/framework/base-layout/base-layout.component.mjs +5 -4
  149. package/esm2020/framework/base-layout/base-layout.module.mjs +5 -5
  150. package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +3 -3
  151. package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +3 -3
  152. package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +3 -3
  153. package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +3 -3
  154. package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +3 -3
  155. package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +3 -3
  156. package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +3 -3
  157. package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +5 -7
  158. package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +4 -5
  159. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +7 -7
  160. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +6 -5
  161. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +4 -4
  162. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +7 -5
  163. package/esm2020/framework/dashboard/dashboard.component.mjs +5 -5
  164. package/esm2020/framework/dashboard/dashboard.module.mjs +4 -4
  165. package/esm2020/framework/dynamic-router/dynamic-route-def.mjs +1 -1
  166. package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +5 -5
  167. package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-route-animations.mjs +1 -1
  168. package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +5 -6
  169. package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +5 -6
  170. package/esm2020/framework/schema-form/schema-form-framework.component.mjs +3 -3
  171. package/esm2020/framework/schema-form/schema-form-framework.mjs +3 -3
  172. package/esm2020/framework/schema-form/schema-form.module.mjs +4 -4
  173. package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +3 -3
  174. package/esm2020/framework/schema-form-controls/schema-form-controls.module.mjs +4 -4
  175. package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +3 -3
  176. package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +3 -3
  177. package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +3 -3
  178. package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +3 -3
  179. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +5 -4
  180. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +5 -5
  181. package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +5 -6
  182. package/esm2020/framework/side-nav/side-nav-utils.mjs +2 -1
  183. package/esm2020/framework/side-nav/side-nav.component.mjs +6 -7
  184. package/esm2020/framework/side-nav/side-nav.module.mjs +4 -4
  185. package/esm2020/framework/side-nav/side-nav.service.mjs +3 -3
  186. package/esm2020/framework/top-bar/top-bar-item.directive.mjs +3 -3
  187. package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +3 -3
  188. package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +4 -6
  189. package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +3 -3
  190. package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +5 -7
  191. package/esm2020/framework/top-bar/top-bar.component.mjs +4 -6
  192. package/esm2020/framework/top-bar/top-bar.module.mjs +4 -4
  193. package/esm2020/google-maps/google-maps/google-maps.component.mjs +53 -32
  194. package/esm2020/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.mjs +3 -3
  195. package/esm2020/google-maps/google-maps-api-loader/noop-google-maps-api-loader.mjs +3 -3
  196. package/esm2020/google-maps/google-maps-contextmenu.mjs +9 -8
  197. package/esm2020/google-maps/google-maps-controls.service.mjs +3 -3
  198. package/esm2020/google-maps/google-maps-feature-helpers.mjs +13 -1
  199. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +9 -10
  200. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +9 -9
  201. package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +6 -6
  202. package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +6 -6
  203. package/esm2020/google-maps/google-maps.module.mjs +8 -6
  204. package/esm2020/google-maps/google-maps.service.mjs +103 -32
  205. package/esm2020/google-maps/map-control.component.mjs +3 -3
  206. package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +4 -4
  207. package/esm2020/google-maps/map-value-manager.service.mjs +3 -3
  208. package/esm2020/graphql/datatable/datatable-graphql-query-ref.mjs +1 -27
  209. package/esm2020/graphql/datatable/datatable-graphql.service.mjs +4 -4
  210. package/esm2020/graphql/datatable/datatable-helpers.mjs +2 -2
  211. package/esm2020/graphql/datatable/map-filter-states.mjs +2 -1
  212. package/esm2020/graphql/utils/inline-variables.mjs +2 -1
  213. package/esm2020/graphql/utils/parse-hints.mjs +3 -3
  214. package/esm2020/graphql/utils/to-gql.mjs +3 -3
  215. package/esm2020/icon/icon/icon.component.mjs +5 -5
  216. package/esm2020/icon/icon-btn/icon-btn.component.mjs +4 -5
  217. package/esm2020/icon/icon-notification/icon-notification.component.mjs +3 -3
  218. package/esm2020/icon/icon.module.mjs +4 -4
  219. package/esm2020/icon/utils/get-known-icon.mjs +71 -71
  220. package/esm2020/layout/breakpoint-aliases.mjs +1 -1
  221. package/esm2020/layout/layout.module.mjs +4 -4
  222. package/esm2020/layout/layout.service.mjs +3 -3
  223. package/esm2020/layout/observe-media-query.mjs +1 -1
  224. package/esm2020/loading/loading/loading.component.mjs +8 -9
  225. package/esm2020/loading/loading-overlay.service.mjs +3 -3
  226. package/esm2020/loading/loading.module.mjs +4 -4
  227. package/esm2020/menu/menu-divider.component.mjs +3 -3
  228. package/esm2020/menu/menu-footer/menu-footer.component.mjs +3 -3
  229. package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +4 -4
  230. package/esm2020/menu/menu-header/menu-header.component.mjs +3 -3
  231. package/esm2020/menu/menu-item.component.mjs +44 -17
  232. package/esm2020/menu/menu-toggle.directive.mjs +203 -44
  233. package/esm2020/menu/menu.component.mjs +39 -16
  234. package/esm2020/menu/menu.module.mjs +4 -4
  235. package/esm2020/modal/directives/modal-close.directive.mjs +3 -3
  236. package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +3 -3
  237. package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +3 -3
  238. package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +3 -3
  239. package/esm2020/modal/directives/modal-title.directive.mjs +3 -3
  240. package/esm2020/modal/directives/modal.directive.mjs +5 -5
  241. package/esm2020/modal/modal/modal.component.mjs +6 -7
  242. package/esm2020/modal/modal-body/modal-body.component.mjs +5 -7
  243. package/esm2020/modal/modal-config.mjs +1 -1
  244. package/esm2020/modal/modal-container/modal-container.component.mjs +4 -4
  245. package/esm2020/modal/modal-footer/modal-footer.component.mjs +5 -7
  246. package/esm2020/modal/modal-header/modal-header.component.mjs +5 -7
  247. package/esm2020/modal/modal-ref.mjs +1 -1
  248. package/esm2020/modal/modal.module.mjs +4 -4
  249. package/esm2020/modal/modal.service.mjs +26 -23
  250. package/esm2020/modal/route-modal/route-modal.component.mjs +4 -5
  251. package/esm2020/popover/popover/popover.component.mjs +3 -3
  252. package/esm2020/popover/popover.directive.mjs +4 -4
  253. package/esm2020/popover/popover.module.mjs +5 -5
  254. package/esm2020/progress/progress-circle/progress-circle.component.mjs +10 -10
  255. package/esm2020/progress/progress.module.mjs +4 -4
  256. package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +4 -5
  257. package/esm2020/scrollbar/overlay-scrollbars.service.mjs +4 -4
  258. package/esm2020/scrollbar/scrollbar.module.mjs +4 -4
  259. package/esm2020/services/asset-loader.service.mjs +5 -6
  260. package/esm2020/services/font-loader.service.mjs +5 -6
  261. package/esm2020/services/router-helpers.service.mjs +3 -3
  262. package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +3 -3
  263. package/esm2020/shared/directives/auto-focus.directive.mjs +3 -3
  264. package/esm2020/shared/directives/click-outside.directive.mjs +3 -3
  265. package/esm2020/shared/directives/disable-control.directive.mjs +3 -3
  266. package/esm2020/shared/directives/elem-resized.directive.mjs +5 -5
  267. package/esm2020/shared/directives/hover-class-toggle.directive.mjs +4 -4
  268. package/esm2020/shared/directives/hover-class.directive.mjs +3 -3
  269. package/esm2020/shared/directives/ng-select-extra.directive.mjs +7 -7
  270. package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +5 -5
  271. package/esm2020/shared/pipes/mask-chars.pipe.mjs +3 -3
  272. package/esm2020/shared/pipes/truncate.pipe.mjs +3 -3
  273. package/esm2020/shared/shared.module.mjs +4 -4
  274. package/esm2020/storage/local-storage.service.mjs +8 -8
  275. package/esm2020/storage/localstorage-memory.mjs +4 -4
  276. package/esm2020/story-helpers/arg-type-helpers.mjs +1 -1
  277. package/esm2020/story-helpers/initial-route.service.mjs +3 -3
  278. package/esm2020/story-helpers/on-story-bootstrapped-trigger.mjs +2 -1
  279. package/esm2020/story-helpers/public-api.mjs +2 -2
  280. package/esm2020/story-helpers/story-empty-with-route.component.mjs +3 -3
  281. package/esm2020/story-helpers/story-empty.component.mjs +3 -3
  282. package/esm2020/story-helpers/story-helper-components.module.mjs +4 -4
  283. package/esm2020/story-helpers/story-initial-route.mjs +4 -4
  284. package/esm2020/story-helpers/story-modal-container.component.mjs +4 -4
  285. package/esm2020/story-helpers/story-toastr.service.mjs +3 -3
  286. package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +5 -5
  287. package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +5 -4
  288. package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +5 -7
  289. package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +5 -6
  290. package/esm2020/tabbed/tabbed.component.mjs +4 -4
  291. package/esm2020/tabbed/tabbed.module.mjs +4 -4
  292. package/esm2020/tabbed/tabbed.service.mjs +5 -5
  293. package/esm2020/table/table/table.component.mjs +5 -6
  294. package/esm2020/table/table.module.mjs +4 -4
  295. package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +5 -5
  296. package/esm2020/table-cell-type/table-cell-type-export-props.mjs +1 -1
  297. package/esm2020/table-cell-type/table-cell-type-models.mjs +1 -1
  298. package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +5 -6
  299. package/esm2020/table-cell-type/table-cell-type.module.mjs +4 -4
  300. package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +12 -12
  301. package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +8 -12
  302. package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +14 -14
  303. package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +10 -10
  304. package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +14 -14
  305. package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +6 -7
  306. package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +11 -10
  307. package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +7 -8
  308. package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +11 -8
  309. package/esm2020/table-cell-types/table-cell-types.module.mjs +4 -4
  310. package/esm2020/tel-input/intl-tel-input.mjs +2 -2
  311. package/esm2020/tel-input/phone-number.pipe.mjs +3 -3
  312. package/esm2020/tel-input/tel-input/tel-input.component.mjs +5 -6
  313. package/esm2020/tel-input/tel-input.directive.mjs +4 -4
  314. package/esm2020/tel-input/tel-input.module.mjs +4 -4
  315. package/esm2020/tel-input/utils/add-country-code.mjs +4 -4
  316. package/esm2020/tel-input/utils/process-country-codes.mjs +4 -7
  317. package/esm2020/testing/story-expect.mjs +2 -1
  318. package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +5 -6
  319. package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +4 -5
  320. package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +12 -13
  321. package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +3 -3
  322. package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +3 -3
  323. package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +3 -3
  324. package/esm2020/tiled-select/testing/index.mjs +1 -1
  325. package/esm2020/tiled-select/tiled-select.module.mjs +4 -4
  326. package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +5 -8
  327. package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +3 -3
  328. package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +3 -3
  329. package/esm2020/toggle-edit/toggle-edit.component.mjs +7 -7
  330. package/esm2020/toggle-edit/toggle-edit.module.mjs +4 -4
  331. package/esm2020/toggle-group/toggle-group-option.directive.mjs +3 -3
  332. package/esm2020/toggle-group/toggle-group.directive.mjs +6 -6
  333. package/esm2020/toggle-group/toggle-group.module.mjs +4 -4
  334. package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +5 -5
  335. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +5 -8
  336. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +5 -4
  337. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +4 -4
  338. package/esm2020/utils/array-move.mjs +1 -1
  339. package/esm2020/utils/cdk/get-closest-widget-cdk-drag.mjs +3 -3
  340. package/esm2020/utils/file-utils.mjs +2 -2
  341. package/esm2020/utils/form/get-control-path.mjs +6 -5
  342. package/esm2020/utils/geo-json/close-polygons.mjs +38 -0
  343. package/esm2020/utils/geo-json/geo-json-to-area.mjs +3 -3
  344. package/esm2020/utils/geo-json/is-only-geometry-types.validator.mjs +1 -1
  345. package/esm2020/utils/geo-json/min-max-points.validator.mjs +5 -5
  346. package/esm2020/utils/geo-json/read-geo-file.mjs +3 -2
  347. package/esm2020/utils/has-property.mjs +2 -2
  348. package/esm2020/utils/load-style-sheet.mjs +2 -2
  349. package/esm2020/utils/load-style.mjs +2 -2
  350. package/esm2020/utils/obj-utils.mjs +2 -2
  351. package/esm2020/utils/polling-ticker.mjs +2 -2
  352. package/esm2020/utils/public-api.mjs +2 -1
  353. package/esm2020/utils/router/operators/activated-routes-with-data-property.mjs +2 -2
  354. package/esm2020/utils/router/route-snapshot-path-full.mjs +2 -2
  355. package/esm2020/utils/router/route-snapshot-path-relative.mjs +2 -2
  356. package/esm2020/utils/router/will-have-data-prop.mjs +3 -3
  357. package/esm2020/utils/subscriber-count.mjs +2 -1
  358. package/esm2020/utils/toggle-attribute.mjs +6 -5
  359. package/esm2020/utils/wait-on-condition-async.mjs +5 -5
  360. package/esm2020/vertical-list-filter/public-api.mjs +3 -0
  361. package/esm2020/vertical-list-filter/testing/index.mjs +2 -0
  362. package/esm2020/vertical-list-filter/testing/vertical-list-filter.harness.mjs +28 -0
  363. package/esm2020/vertical-list-filter/theseam-ui-common-vertical-list-filter.mjs +5 -0
  364. package/esm2020/vertical-list-filter/vertical-list-filter.component.mjs +52 -0
  365. package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +4 -4
  366. package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +4 -4
  367. package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +5 -4
  368. package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +4 -4
  369. package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +5 -4
  370. package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +4 -4
  371. package/esm2020/widget/directives/widget-drag-handle.directive.mjs +7 -7
  372. package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +3 -3
  373. package/esm2020/widget/directives/widget-title-tpl.directive.mjs +3 -3
  374. package/esm2020/widget/widget/widget.component.mjs +56 -35
  375. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +5 -8
  376. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +4 -4
  377. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +5 -8
  378. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +4 -4
  379. package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +3 -3
  380. package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +4 -4
  381. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +6 -7
  382. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +4 -4
  383. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +5 -7
  384. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +4 -4
  385. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +5 -8
  386. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +4 -4
  387. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +5 -5
  388. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +4 -4
  389. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +3 -3
  390. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +16 -19
  391. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +5 -7
  392. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +4 -4
  393. package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +5 -5
  394. package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +4 -4
  395. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +6 -9
  396. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +5 -6
  397. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +5 -8
  398. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +5 -5
  399. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +9 -8
  400. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +10 -10
  401. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +5 -8
  402. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +4 -4
  403. package/esm2020/widget/widget-footer/widget-footer.component.mjs +5 -7
  404. package/esm2020/widget/widget-registry.service.mjs +6 -5
  405. package/esm2020/widget/widget.module.mjs +7 -7
  406. package/fesm2015/theseam-ui-common-asset-reader.mjs +13 -11
  407. package/fesm2015/theseam-ui-common-asset-reader.mjs.map +1 -1
  408. package/fesm2015/theseam-ui-common-breadcrumbs.mjs +13 -14
  409. package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  410. package/fesm2015/theseam-ui-common-buttons.mjs +31 -27
  411. package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
  412. package/fesm2015/theseam-ui-common-card.mjs +23 -31
  413. package/fesm2015/theseam-ui-common-card.mjs.map +1 -1
  414. package/fesm2015/theseam-ui-common-carousel.mjs +265 -0
  415. package/fesm2015/theseam-ui-common-carousel.mjs.map +1 -0
  416. package/fesm2015/theseam-ui-common-checkbox.mjs +8 -9
  417. package/fesm2015/theseam-ui-common-checkbox.mjs.map +1 -1
  418. package/fesm2015/theseam-ui-common-confirm-dialog.mjs +15 -15
  419. package/fesm2015/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  420. package/fesm2015/theseam-ui-common-core.mjs +10 -8
  421. package/fesm2015/theseam-ui-common-core.mjs.map +1 -1
  422. package/fesm2015/theseam-ui-common-data-exporter.mjs +10 -10
  423. package/fesm2015/theseam-ui-common-data-filters.mjs +23 -20
  424. package/fesm2015/theseam-ui-common-data-filters.mjs.map +1 -1
  425. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +34 -38
  426. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  427. package/fesm2015/theseam-ui-common-datatable.mjs +115 -123
  428. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  429. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +12 -12
  430. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  431. package/fesm2015/theseam-ui-common-dynamic.mjs +36 -26
  432. package/fesm2015/theseam-ui-common-dynamic.mjs.map +1 -1
  433. package/fesm2015/theseam-ui-common-footer-bar.mjs +8 -11
  434. package/fesm2015/theseam-ui-common-footer-bar.mjs.map +1 -1
  435. package/fesm2015/theseam-ui-common-form-field-error.mjs +21 -23
  436. package/fesm2015/theseam-ui-common-form-field-error.mjs.map +1 -1
  437. package/fesm2015/theseam-ui-common-form-field.mjs +29 -28
  438. package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
  439. package/fesm2015/theseam-ui-common-framework.mjs +153 -160
  440. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  441. package/fesm2015/theseam-ui-common-google-maps.mjs +221 -113
  442. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  443. package/fesm2015/theseam-ui-common-graphql.mjs +10 -34
  444. package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
  445. package/fesm2015/theseam-ui-common-icon.mjs +84 -85
  446. package/fesm2015/theseam-ui-common-icon.mjs.map +1 -1
  447. package/fesm2015/theseam-ui-common-layout.mjs +7 -7
  448. package/fesm2015/theseam-ui-common-layout.mjs.map +1 -1
  449. package/fesm2015/theseam-ui-common-loading.mjs +14 -15
  450. package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
  451. package/fesm2015/theseam-ui-common-menu.mjs +460 -247
  452. package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
  453. package/fesm2015/theseam-ui-common-modal.mjs +71 -76
  454. package/fesm2015/theseam-ui-common-modal.mjs.map +1 -1
  455. package/fesm2015/theseam-ui-common-popover.mjs +10 -10
  456. package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
  457. package/fesm2015/theseam-ui-common-progress.mjs +13 -13
  458. package/fesm2015/theseam-ui-common-progress.mjs.map +1 -1
  459. package/fesm2015/theseam-ui-common-scrollbar.mjs +10 -11
  460. package/fesm2015/theseam-ui-common-scrollbar.mjs.map +1 -1
  461. package/fesm2015/theseam-ui-common-services.mjs +11 -13
  462. package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
  463. package/fesm2015/theseam-ui-common-shared.mjs +42 -42
  464. package/fesm2015/theseam-ui-common-shared.mjs.map +1 -1
  465. package/fesm2015/theseam-ui-common-storage.mjs +10 -10
  466. package/fesm2015/theseam-ui-common-storage.mjs.map +1 -1
  467. package/fesm2015/theseam-ui-common-story-helpers.mjs +25 -100
  468. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  469. package/fesm2015/theseam-ui-common-tabbed.mjs +27 -29
  470. package/fesm2015/theseam-ui-common-tabbed.mjs.map +1 -1
  471. package/fesm2015/theseam-ui-common-table-cell-type.mjs +12 -13
  472. package/fesm2015/theseam-ui-common-table-cell-type.mjs.map +1 -1
  473. package/fesm2015/theseam-ui-common-table-cell-types.mjs +87 -89
  474. package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
  475. package/fesm2015/theseam-ui-common-table.mjs +8 -9
  476. package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
  477. package/fesm2015/theseam-ui-common-tel-input.mjs +21 -25
  478. package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
  479. package/fesm2015/theseam-ui-common-testing.mjs.map +1 -1
  480. package/fesm2015/theseam-ui-common-tiled-select.mjs +31 -34
  481. package/fesm2015/theseam-ui-common-tiled-select.mjs.map +1 -1
  482. package/fesm2015/theseam-ui-common-toggle-edit.mjs +20 -23
  483. package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
  484. package/fesm2015/theseam-ui-common-toggle-group.mjs +12 -12
  485. package/fesm2015/theseam-ui-common-toggle-group.mjs.map +1 -1
  486. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +16 -18
  487. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  488. package/fesm2015/theseam-ui-common-utils.mjs +75 -33
  489. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  490. package/fesm2015/theseam-ui-common-vertical-list-filter.mjs +96 -0
  491. package/fesm2015/theseam-ui-common-vertical-list-filter.mjs.map +1 -0
  492. package/fesm2015/theseam-ui-common-viewers.mjs +22 -20
  493. package/fesm2015/theseam-ui-common-viewers.mjs.map +1 -1
  494. package/fesm2015/theseam-ui-common-widget.mjs +211 -217
  495. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  496. package/fesm2020/theseam-ui-common-asset-reader.mjs +13 -11
  497. package/fesm2020/theseam-ui-common-asset-reader.mjs.map +1 -1
  498. package/fesm2020/theseam-ui-common-breadcrumbs.mjs +13 -14
  499. package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  500. package/fesm2020/theseam-ui-common-buttons.mjs +31 -27
  501. package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
  502. package/fesm2020/theseam-ui-common-card.mjs +23 -31
  503. package/fesm2020/theseam-ui-common-card.mjs.map +1 -1
  504. package/fesm2020/theseam-ui-common-carousel.mjs +265 -0
  505. package/fesm2020/theseam-ui-common-carousel.mjs.map +1 -0
  506. package/fesm2020/theseam-ui-common-checkbox.mjs +8 -9
  507. package/fesm2020/theseam-ui-common-checkbox.mjs.map +1 -1
  508. package/fesm2020/theseam-ui-common-confirm-dialog.mjs +15 -15
  509. package/fesm2020/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  510. package/fesm2020/theseam-ui-common-core.mjs +10 -8
  511. package/fesm2020/theseam-ui-common-core.mjs.map +1 -1
  512. package/fesm2020/theseam-ui-common-data-exporter.mjs +10 -10
  513. package/fesm2020/theseam-ui-common-data-filters.mjs +23 -20
  514. package/fesm2020/theseam-ui-common-data-filters.mjs.map +1 -1
  515. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +34 -38
  516. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  517. package/fesm2020/theseam-ui-common-datatable.mjs +115 -123
  518. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  519. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +12 -12
  520. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  521. package/fesm2020/theseam-ui-common-dynamic.mjs +36 -26
  522. package/fesm2020/theseam-ui-common-dynamic.mjs.map +1 -1
  523. package/fesm2020/theseam-ui-common-footer-bar.mjs +8 -11
  524. package/fesm2020/theseam-ui-common-footer-bar.mjs.map +1 -1
  525. package/fesm2020/theseam-ui-common-form-field-error.mjs +21 -23
  526. package/fesm2020/theseam-ui-common-form-field-error.mjs.map +1 -1
  527. package/fesm2020/theseam-ui-common-form-field.mjs +29 -28
  528. package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
  529. package/fesm2020/theseam-ui-common-framework.mjs +153 -160
  530. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  531. package/fesm2020/theseam-ui-common-google-maps.mjs +223 -117
  532. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  533. package/fesm2020/theseam-ui-common-graphql.mjs +10 -34
  534. package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
  535. package/fesm2020/theseam-ui-common-icon.mjs +84 -85
  536. package/fesm2020/theseam-ui-common-icon.mjs.map +1 -1
  537. package/fesm2020/theseam-ui-common-layout.mjs +16 -8
  538. package/fesm2020/theseam-ui-common-layout.mjs.map +1 -1
  539. package/fesm2020/theseam-ui-common-loading.mjs +14 -15
  540. package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
  541. package/fesm2020/theseam-ui-common-menu.mjs +450 -244
  542. package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
  543. package/fesm2020/theseam-ui-common-modal.mjs +71 -76
  544. package/fesm2020/theseam-ui-common-modal.mjs.map +1 -1
  545. package/fesm2020/theseam-ui-common-models.mjs +2 -1
  546. package/fesm2020/theseam-ui-common-models.mjs.map +1 -1
  547. package/fesm2020/theseam-ui-common-popover.mjs +10 -10
  548. package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
  549. package/fesm2020/theseam-ui-common-progress.mjs +13 -13
  550. package/fesm2020/theseam-ui-common-progress.mjs.map +1 -1
  551. package/fesm2020/theseam-ui-common-scrollbar.mjs +10 -11
  552. package/fesm2020/theseam-ui-common-scrollbar.mjs.map +1 -1
  553. package/fesm2020/theseam-ui-common-services.mjs +11 -13
  554. package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
  555. package/fesm2020/theseam-ui-common-shared.mjs +42 -42
  556. package/fesm2020/theseam-ui-common-shared.mjs.map +1 -1
  557. package/fesm2020/theseam-ui-common-storage.mjs +10 -10
  558. package/fesm2020/theseam-ui-common-storage.mjs.map +1 -1
  559. package/fesm2020/theseam-ui-common-story-helpers.mjs +25 -96
  560. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  561. package/fesm2020/theseam-ui-common-tabbed.mjs +27 -29
  562. package/fesm2020/theseam-ui-common-tabbed.mjs.map +1 -1
  563. package/fesm2020/theseam-ui-common-table-cell-type.mjs +12 -13
  564. package/fesm2020/theseam-ui-common-table-cell-type.mjs.map +1 -1
  565. package/fesm2020/theseam-ui-common-table-cell-types.mjs +87 -89
  566. package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
  567. package/fesm2020/theseam-ui-common-table.mjs +8 -9
  568. package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
  569. package/fesm2020/theseam-ui-common-tel-input.mjs +21 -25
  570. package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
  571. package/fesm2020/theseam-ui-common-testing.mjs +1 -0
  572. package/fesm2020/theseam-ui-common-testing.mjs.map +1 -1
  573. package/fesm2020/theseam-ui-common-tiled-select.mjs +31 -34
  574. package/fesm2020/theseam-ui-common-tiled-select.mjs.map +1 -1
  575. package/fesm2020/theseam-ui-common-toggle-edit.mjs +20 -23
  576. package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
  577. package/fesm2020/theseam-ui-common-toggle-group.mjs +12 -12
  578. package/fesm2020/theseam-ui-common-toggle-group.mjs.map +1 -1
  579. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +16 -18
  580. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  581. package/fesm2020/theseam-ui-common-utils.mjs +75 -33
  582. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  583. package/fesm2020/theseam-ui-common-vertical-list-filter.mjs +87 -0
  584. package/fesm2020/theseam-ui-common-vertical-list-filter.mjs.map +1 -0
  585. package/fesm2020/theseam-ui-common-viewers.mjs +22 -20
  586. package/fesm2020/theseam-ui-common-viewers.mjs.map +1 -1
  587. package/fesm2020/theseam-ui-common-widget.mjs +211 -217
  588. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  589. package/footer-bar/footer-bar/footer-bar.component.d.ts +1 -4
  590. package/form-field-error/form-field-error/form-field-error.component.d.ts +1 -4
  591. package/form-field-error/form-field-error-list/form-field-error-list.component.d.ts +2 -3
  592. package/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.d.ts +2 -4
  593. package/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.d.ts +2 -3
  594. package/framework/dashboard/dashboard.component.d.ts +0 -1
  595. package/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.d.ts +2 -3
  596. package/framework/dynamic-router/resolvers/hierarchy-level.resolver.d.ts +0 -1
  597. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +2 -4
  598. package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +3 -5
  599. package/framework/top-bar/top-bar-title/top-bar-title.component.d.ts +1 -4
  600. package/framework/top-bar/top-bar.component.d.ts +2 -4
  601. package/google-maps/google-maps/google-maps.component.d.ts +11 -7
  602. package/google-maps/google-maps-feature-helpers.d.ts +3 -0
  603. package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.d.ts +2 -3
  604. package/google-maps/google-maps.module.d.ts +1 -1
  605. package/google-maps/google-maps.service.d.ts +7 -0
  606. package/graphql/datatable/datatable-graphql-query-ref.d.ts +0 -1
  607. package/icon/icon-btn/icon-btn.component.d.ts +2 -3
  608. package/loading/loading/loading.component.d.ts +1 -4
  609. package/menu/menu-item.component.d.ts +20 -10
  610. package/menu/menu-toggle.directive.d.ts +34 -11
  611. package/menu/menu.component.d.ts +16 -2
  612. package/modal/modal/modal.component.d.ts +3 -4
  613. package/modal/modal-body/modal-body.component.d.ts +1 -4
  614. package/modal/modal-footer/modal-footer.component.d.ts +1 -4
  615. package/modal/modal-header/modal-header.component.d.ts +1 -4
  616. package/modal/route-modal/route-modal.component.d.ts +2 -3
  617. package/package.json +17 -1
  618. package/progress/progress-circle/progress-circle.component.d.ts +0 -1
  619. package/scrollbar/overlay-scrollbar.directive.d.ts +2 -3
  620. package/services/asset-loader.service.d.ts +0 -1
  621. package/services/font-loader.service.d.ts +0 -1
  622. package/story-helpers/public-api.d.ts +0 -1
  623. package/tabbed/directives/tabbed-tab-content.directive.d.ts +0 -1
  624. package/tabbed/tabbed-content/tabbed-content.component.d.ts +1 -4
  625. package/tabbed/tabbed-item/tabbed-item.component.d.ts +2 -4
  626. package/tabbed/tabbed.service.d.ts +0 -1
  627. package/table/table/table.component.d.ts +2 -3
  628. package/table-cell-type/table-cell-type-models.d.ts +1 -1
  629. package/table-cell-type/table-cell-type-selector.component.d.ts +3 -4
  630. package/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.d.ts +2 -3
  631. package/table-cell-types/table-cell-type-date/table-cell-type-date.component.d.ts +2 -3
  632. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.d.ts +2 -3
  633. package/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.d.ts +2 -3
  634. package/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.d.ts +2 -3
  635. package/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.d.ts +2 -3
  636. package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.d.ts +2 -3
  637. package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.d.ts +2 -3
  638. package/tiled-select/components/tiled-select/tiled-select.component.d.ts +2 -3
  639. package/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.d.ts +1 -4
  640. package/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.d.ts +1 -4
  641. package/toggle-group/toggle-group.directive.d.ts +0 -1
  642. package/unsaved-changes-dialog/unsaved-changes-dialog.component.d.ts +1 -4
  643. package/utils/geo-json/close-polygons.d.ts +9 -0
  644. package/utils/obj-utils.d.ts +2 -2
  645. package/utils/public-api.d.ts +1 -0
  646. package/vertical-list-filter/index.d.ts +5 -0
  647. package/vertical-list-filter/public-api.d.ts +2 -0
  648. package/vertical-list-filter/testing/index.d.ts +1 -0
  649. package/vertical-list-filter/testing/vertical-list-filter.harness.d.ts +9 -0
  650. package/vertical-list-filter/vertical-list-filter.component.d.ts +17 -0
  651. package/widget/widget/widget.component.d.ts +10 -11
  652. package/widget/widget/widget.component.scss +12 -1
  653. package/widget/widget-content-components/widget-button-group/widget-button-group.component.d.ts +1 -4
  654. package/widget/widget-content-components/widget-content-header/widget-content-header.component.d.ts +1 -4
  655. package/widget/widget-content-components/widget-empty-label/widget-empty-label.component.d.ts +2 -3
  656. package/widget/widget-content-components/widget-footer-link/widget-footer-link.component.d.ts +1 -4
  657. package/widget/widget-content-components/widget-footer-text/widget-footer-text.component.d.ts +1 -4
  658. package/widget/widget-content-components/widget-header-badge/widget-header-badge.component.d.ts +2 -3
  659. package/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.d.ts +4 -7
  660. package/widget/widget-content-components/widget-list-group/widget-list-group.component.d.ts +1 -4
  661. package/widget/widget-content-components/widget-table/widget-table.component.d.ts +0 -1
  662. package/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.d.ts +1 -4
  663. package/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.d.ts +2 -3
  664. package/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.d.ts +1 -4
  665. package/widget/widget-content-components/widget-tile-list/widget-tile-list.component.d.ts +1 -4
  666. package/widget/widget-footer/widget-footer.component.d.ts +1 -4
  667. package/esm2020/story-helpers/args-to-tpl.mjs +0 -72
  668. package/story-helpers/args-to-tpl.d.ts +0 -24
@@ -31,9 +31,9 @@ export class TheSeamSchemaFormSubmitComponent {
31
31
  }
32
32
  }
33
33
  }
34
- TheSeamSchemaFormSubmitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamSchemaFormSubmitComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
35
- TheSeamSchemaFormSubmitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: TheSeamSchemaFormSubmitComponent, selector: "seam-schema-form-submit", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<div\n [class]=\"options?.htmlClass || ''\">\n <input\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [attr.required]=\"options?.required\"\n [class]=\"'btn btn-primary ' + (options?.fieldHtmlClass || '')\"\n [disabled]=\"controlDisabled\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [type]=\"layoutNode?.type\"\n [value]=\"controlValue\"\n (click)=\"updateValue($event)\">\n</div>\n" });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamSchemaFormSubmitComponent, decorators: [{
34
+ TheSeamSchemaFormSubmitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamSchemaFormSubmitComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
35
+ TheSeamSchemaFormSubmitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TheSeamSchemaFormSubmitComponent, selector: "seam-schema-form-submit", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<div\n [class]=\"options?.htmlClass || ''\">\n <input\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [attr.required]=\"options?.required\"\n [class]=\"'btn btn-primary ' + (options?.fieldHtmlClass || '')\"\n [disabled]=\"controlDisabled\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [type]=\"layoutNode?.type\"\n [value]=\"controlValue\"\n (click)=\"updateValue($event)\">\n</div>\n" });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamSchemaFormSubmitComponent, decorators: [{
37
37
  type: Component,
38
38
  args: [{ selector: 'seam-schema-form-submit', template: "<div\n [class]=\"options?.htmlClass || ''\">\n <input\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [attr.required]=\"options?.required\"\n [class]=\"'btn btn-primary ' + (options?.fieldHtmlClass || '')\"\n [disabled]=\"controlDisabled\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [type]=\"layoutNode?.type\"\n [value]=\"controlValue\"\n (click)=\"updateValue($event)\">\n</div>\n" }]
39
39
  }], ctorParameters: function () { return [{ type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
@@ -77,6 +77,7 @@ export class TheSeamSchemaFormSubmitSplitComponent {
77
77
  }
78
78
  if (isDevMode()) {
79
79
  if (this.layoutNode.items.length > 1) {
80
+ // eslint-disable-next-line no-console
80
81
  console.warn(`TheSeamSchemaFormSubmitSplitComponent only supports one item.` +
81
82
  ` items after index 0 will be ignored.`);
82
83
  }
@@ -128,9 +129,9 @@ export class TheSeamSchemaFormSubmitSplitComponent {
128
129
  formControl?.setValue(value);
129
130
  }
130
131
  }
131
- TheSeamSchemaFormSubmitSplitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamSchemaFormSubmitSplitComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
132
- TheSeamSchemaFormSubmitSplitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: TheSeamSchemaFormSubmitSplitComponent, selector: "seam-schema-form-submit-split", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<div\n [class]=\"options?.htmlClass || ''\">\n <div [class.btn-group]=\"_dropdownObj\">\n <button seamButton theme=\"primary\" type=\"submit\"\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [attr.required]=\"options?.required\"\n [class]=\"'btn btn-primary ' + (options?.fieldHtmlClass || '')\"\n [disabled]=\"controlDisabled\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [value]=\"controlValue\"\n (click)=\"updateValue($event)\">\n {{ _buttonLabel }}\n <span *ngIf=\"_selectedItem\">\n [{{ _selectedItem.name }}]\n </span>\n </button>\n <ng-container *ngIf=\"_dropdownObj\">\n <button\n [seamMenuToggle]=\"menu\" seamButton theme=\"primary\"\n class=\"dropdown-toggle dropdown-toggle-split\"\n [disabled]=\"_dropdownDisabled\">\n <span class=\"sr-only\">Toggle Dropdown</span>\n </button>\n <seam-menu #menu>\n <ng-container *ngFor=\"let item of _selectList\">\n <button seamMenuItem\n [class.active]=\"item.checked\"\n (click)=\"_setDropdownValue(item.value)\">\n {{ item.name }}\n </button>\n </ng-container>\n </seam-menu>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i3.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i3.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }] });
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamSchemaFormSubmitSplitComponent, decorators: [{
132
+ TheSeamSchemaFormSubmitSplitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamSchemaFormSubmitSplitComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
133
+ TheSeamSchemaFormSubmitSplitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TheSeamSchemaFormSubmitSplitComponent, selector: "seam-schema-form-submit-split", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<div\n [class]=\"options?.htmlClass || ''\">\n <div [class.btn-group]=\"_dropdownObj\">\n <button seamButton theme=\"primary\" type=\"submit\"\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [attr.required]=\"options?.required\"\n [class]=\"'btn btn-primary ' + (options?.fieldHtmlClass || '')\"\n [disabled]=\"controlDisabled\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [value]=\"controlValue\"\n (click)=\"updateValue($event)\">\n {{ _buttonLabel }}\n <span *ngIf=\"_selectedItem\">\n [{{ _selectedItem.name }}]\n </span>\n </button>\n <ng-container *ngIf=\"_dropdownObj\">\n <button\n [seamMenuToggle]=\"menu\" seamButton theme=\"primary\"\n class=\"dropdown-toggle dropdown-toggle-split\"\n [disabled]=\"_dropdownDisabled\">\n <span class=\"sr-only\">Toggle Dropdown</span>\n </button>\n <seam-menu #menu>\n <ng-container *ngFor=\"let item of _selectList\">\n <button seamMenuItem\n [class.active]=\"item.checked\"\n (click)=\"_setDropdownValue(item.value)\">\n {{ item.name }}\n </button>\n </ng-container>\n </seam-menu>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i3.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions"], outputs: ["menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i3.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }] });
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamSchemaFormSubmitSplitComponent, decorators: [{
134
135
  type: Component,
135
136
  args: [{ selector: 'seam-schema-form-submit-split', template: "<div\n [class]=\"options?.htmlClass || ''\">\n <div [class.btn-group]=\"_dropdownObj\">\n <button seamButton theme=\"primary\" type=\"submit\"\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [attr.required]=\"options?.required\"\n [class]=\"'btn btn-primary ' + (options?.fieldHtmlClass || '')\"\n [disabled]=\"controlDisabled\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [value]=\"controlValue\"\n (click)=\"updateValue($event)\">\n {{ _buttonLabel }}\n <span *ngIf=\"_selectedItem\">\n [{{ _selectedItem.name }}]\n </span>\n </button>\n <ng-container *ngIf=\"_dropdownObj\">\n <button\n [seamMenuToggle]=\"menu\" seamButton theme=\"primary\"\n class=\"dropdown-toggle dropdown-toggle-split\"\n [disabled]=\"_dropdownDisabled\">\n <span class=\"sr-only\">Toggle Dropdown</span>\n </button>\n <seam-menu #menu>\n <ng-container *ngFor=\"let item of _selectList\">\n <button seamMenuItem\n [class.active]=\"item.checked\"\n (click)=\"_setDropdownValue(item.value)\">\n {{ item.name }}\n </button>\n </ng-container>\n </seam-menu>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}\n"] }]
136
137
  }], ctorParameters: function () { return [{ type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
@@ -140,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
140
141
  }], dataIndex: [{
141
142
  type: Input
142
143
  }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLWZvcm0tc3VibWl0LXNwbGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mcmFtZXdvcmsvc2NoZW1hLWZvcm0tY29udHJvbHMvc2NoZW1hLWZvcm0tc3VibWl0LXNwbGl0L3NjaGVtYS1mb3JtLXN1Ym1pdC1zcGxpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL3NjaGVtYS1mb3JtLWNvbnRyb2xzL3NjaGVtYS1mb3JtLXN1Ym1pdC1zcGxpdC9zY2hlbWEtZm9ybS1zdWJtaXQtc3BsaXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQTtBQUU5RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRTlCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUF1QyxNQUFNLFlBQVksQ0FBQTtBQUV2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7Ozs7OztBQU0xQyw0RUFBNEU7QUFDNUUsMEVBQTBFO0FBQzFFLEVBQUU7QUFDRiw2RUFBNkU7QUFDN0UsMEVBQTBFO0FBQzFFLG9FQUFvRTtBQU9wRSxNQUFNLE9BQU8scUNBQXFDO0lBdUJoRCxZQUNVLEdBQTBCO1FBQTFCLFFBQUcsR0FBSCxHQUFHLENBQXVCO1FBdEJwQyxjQUFjO1FBQ0csbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFBO1FBS3JELG9CQUFlLEdBQUcsS0FBSyxDQUFBO1FBQ3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBT3BCLGlCQUFZLEdBQUcs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WmEscUNBQXFDO2tCQU5qRCxTQUFTOytCQUNFLCtCQUErQjs0R0FpQmhDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgaXNEZXZNb2RlLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5cbmltcG9ydCB7IGJ1aWxkVGl0bGVNYXAsIGhhc093biwgSnNvblNjaGVtYUZvcm1TZXJ2aWNlLCBUaXRsZU1hcEl0ZW0gfSBmcm9tICdAYWpzZi9jb3JlJ1xuXG5pbXBvcnQgeyBvYnNlcnZlQ29udHJvbFN0YXR1cywgb2JzZXJ2ZUNvbnRyb2xWYWx1ZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG4vLyBOT1RFOiBUaGlzIGlzIGFsaWFzaW5nIFRpdGxlTWFwSXRlbSwgYmVjYXVzZSB3ZSBtYXkgd2FudCB0byBleHRlbmQgaXQnc1xuLy8gb3B0aW9ucy4gRm9yIHNpbXBsaWNpdHksIEkgYW0gbGV0dGluZyB0aGlzIHdvcmsgc2ltaWxhciB0byBhICdzZWxlY3QnIHdpZGdldC5cbmV4cG9ydCB0eXBlIFRoZVNlYW1TY2hlbWFGb3JtU3VibWl0U3BsaXRJdGVtID0gVGl0bGVNYXBJdGVtXG5cbi8vIE5PVEU6IFRoaXMgY29tcG9uZW50IGlzIGEgbGl0dGxlIGhhY2t5LCBiZWNhdXNlIEkgYW0gYmFzaWNhbGx5IGNyZWF0aW5nIGFcbi8vIGRhdGEgd2lkZ2V0IHRoYXQgYWN0cyBsaWtlIGEgZGF0YSBhbmQgJ3N1Ym1pdCcgd2lkZ2V0IGF0IHRoZSBzYW1lIHRpbWUuXG4vL1xuLy8gVE9ETzogVHJ5IGFuZCB0aGluayBvZiBhIG5pY2VyIHdheSB0byBpbXBsZW1lbnQgdGhpcywgYnV0IHN0aWxsIG1ha2Ugc2Vuc2Vcbi8vIGZyb20gYSBzY2hlbWEgZGVmaW5pdGlvbi4gVGhlIGxpYnJhcnkgbWF5IG5lZWQgdG8gbWUgZm9ya2VkIHRvIGFjdHVhbGx5XG4vLyBzdXBwb3J0IHRoaXMgaW4gdGhlIHdheSBJIGV4cGVjdCwgYnV0IG1heWJlIHRoZXJlIGlzIGFub3RoZXIgd2F5LlxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS1zY2hlbWEtZm9ybS1zdWJtaXQtc3BsaXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2NoZW1hLWZvcm0tc3VibWl0LXNwbGl0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2NoZW1hLWZvcm0tc3VibWl0LXNwbGl0LmNvbXBvbmVudC5zY3NzJ10sXG4gIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRoZVNlYW1TY2hlbWFGb3JtU3VibWl0U3BsaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICBmb3JtQ29udHJvbD86IEFic3RyYWN0Q29udHJvbFxuICBjb250cm9sTmFtZT86IHN0cmluZ1xuICBjb250cm9sVmFsdWU6IGFueVxuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZVxuICBib3VuZENvbnRyb2wgPSBmYWxzZVxuICBvcHRpb25zOiBhbnlcblxuICBASW5wdXQoKSBsYXlvdXROb2RlOiBhbnlcbiAgQElucHV0KCkgbGF5b3V0SW5kZXg6IG51bWJlcltdIHwgdW5kZWZpbmVkIHwgbnVsbFxuICBASW5wdXQoKSBkYXRhSW5kZXg6IG51bWJlcltdIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIF9idXR0b25MYWJlbCA9ICcnXG5cbiAgX2Ryb3Bkb3duT2JqOiBhbnlcbiAgX2Ryb3Bkb3duRGlzYWJsZWQgPSBmYWxzZVxuICBfc2VsZWN0TGlzdDogVGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRTcGxpdEl0ZW1bXSA9IFtdXG4gIF9zZWxlY3RlZEl0ZW0/OiBUaGVTZWFtU2NoZW1hRm9ybVN1Ym1pdFNwbGl0SXRlbVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUganNmOiBKc29uU2NoZW1hRm9ybVNlcnZpY2VcbiAgKSB7IH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmxheW91dE5vZGUub3B0aW9ucyB8fCB7fVxuICAgIHRoaXMuanNmLmluaXRpYWxpemVDb250cm9sKHRoaXMpXG5cbiAgICAvLyBOT1RFOiBUaGlzIGlzIGNvbW1lbnRlZCBvdXQsIGJlY2F1c2UgdGhlcmUgaXMgYSBidWcgd2l0aCBzdWJtaXQgd2lkZ2V0c1xuICAgIC8vIG1hbnVhbGx5IGRlZmluZWQgaW4gbGF5b3V0LiBBbGwgbm9kZXMgaW5pdGlhbGl6ZWQgZnJvbSB0aGUgcHJvdmlkZWRcbiAgICAvLyBsYXlvdXQgaGF2ZSB0aGVpciBvcHRpb25zIHBvcHVsYXRlZCBmcm9tIHRoZSBkZWZhdWx0cyBhbmQgJ2Rpc2FibGVkJyBpc1xuICAgIC8vIG9uIG9mIHRoZSBkZWZhdWx0IHByb3BlcnRpZXMsIHNvIHRoZSAnZGlzYWJsZUludmFsaWRTdWJtaXQnIGNvbmRpdGlvblxuICAgIC8vIG5ldmVyIGdldHMgcmVhY2hlZC5cbiAgICAvL1xuICAgIC8vIE15IGluaXRpYWwgaWRlYSBmb3IgZml4aW5nIHdvdWxkIGJlIHRvIGNoZWNrIGlmIHRoZSBkaXNhYmxlZCBwcm9wZXJ0eVxuICAgIC8vIGV4aXN0cyBhbmQgaXMgYSBib29sZWFuLCBvciBwb3NzaWJseSBhbnl0aGluZyBkZWZpbmVkIHRoYXQgY2FuIGNvZXJjZVxuICAgIC8vIGludG8gYSBib29sZWFuLiBJIGNhbid0IHRoaW5rIG9mIGEgcmVhc29uIGRpc2FibGVkIHNob3VsZCBiZSBhbnl0aGluZ1xuICAgIC8vIGVsc2UsIHNvIHRoYXQgbWF5IGJlIGFuIGFjY2VwdGFibGUgZml4LCBidXQgSSBkb24ndCB3YW50IHRvIGVuYWJsZSB0aGF0XG4gICAgLy8geWV0LlxuICAgIC8vXG4gICAgLy8gaWYgKGhhc093bih0aGlzLm9wdGlvbnMsICdkaXNhYmxlZCcpKSB7XG4gICAgLy8gICBjb25zb2xlLmxvZygnW1RoZVNlYW1TY2hlbWFGb3JtU3VibWl0U3BsaXRDb21wb25lbnRdIGhhc0Rpc2FibGVkJywgdGhpcy5vcHRpb25zLmRpc2FibGVkKVxuICAgIC8vICAgdGhpcy5jb250cm9sRGlzYWJsZWQgPSB0aGlzLm9wdGlvbnMuZGlzYWJsZWRcbiAgICAvLyB9IGVsc2VcbiAgICBpZiAodGhpcy5qc2YuZm9ybU9wdGlvbnMuZGlzYWJsZUludmFsaWRTdWJtaXQpIHtcbiAgICAgIHRoaXMuY29udHJvbERpc2FibGVkID0gIXRoaXMuanNmLmlzVmFsaWRcbiAgICAgIHRoaXMuanNmLmlzVmFsaWRDaGFuZ2VzLnN1YnNjcmliZShpc1ZhbGlkID0+IHRoaXMuY29udHJvbERpc2FibGVkID0gIWlzVmFsaWQpXG4gICAgfVxuICAgIGlmICh0aGlzLmNvbnRyb2xWYWx1ZSA9PT0gbnVsbCB8fCB0aGlzLmNvbnRyb2xWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNvbnRyb2xWYWx1ZSA9IHRoaXMub3B0aW9ucy50aXRsZVxuICAgIH1cblxuICAgIGlmIChoYXNPd24odGhpcy5vcHRpb25zLCAndGl0bGUnKSkge1xuICAgICAgdGhpcy5fYnV0dG9uTGFiZWwgPSB0aGlzLm9wdGlvbnMudGl0bGVcbiAgICB9XG5cbiAgICB0aGlzLl9pbml0RHJvcGRvd24oKVxuXG4gICAgLy8gY29uc29sZS5sb2coJ3RoaXMnLCB0aGlzKVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KHVuZGVmaW5lZClcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKClcbiAgfVxuXG4gIHVwZGF0ZVZhbHVlKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucy5vbkNsaWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLm9wdGlvbnMub25DbGljayhldmVudClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgZXZlbnQudGFyZ2V0LnZhbHVlKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2luaXREcm9wZG93bigpOiB2b2lkIHtcbiAgICBpZiAoIWhhc093bih0aGlzLmxheW91dE5vZGUsICdpdGVtcycpIHx8ICEodGhpcy5sYXlvdXROb2RlLml0ZW1zIHx8IFtdKS5sZW5ndGgpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgaWYgKHRoaXMubGF5b3V0Tm9kZS5pdGVtcy5sZW5ndGggPiAxKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgVGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRTcGxpdENvbXBvbmVudCBvbmx5IHN1cHBvcnRzIG9uZSBpdGVtLmAgK1xuICAgICAgICAgIGAgaXRlbXMgYWZ0ZXIgaW5kZXggMCB3aWxsIGJlIGlnbm9yZWQuYFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgaWR4ID0gMFxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmxheW91dE5vZGUuaXRlbXNbaWR4XVxuICAgIHRoaXMuX2Ryb3Bkb3duT2JqID0ge1xuICAgICAgbGF5b3V0Tm9kZTogaXRlbSxcbiAgICAgIGxheW91dEluZGV4OiAodGhpcy5sYXlvdXRJbmRleCB8fCBbXSkuY29uY2F0KGlkeCksXG4gICAgICBkYXRhSW5kZXg6IHRoaXMubGF5b3V0Tm9kZT8uZGF0YVR5cGUgPT09ICdhcnJheScgPyAodGhpcy5kYXRhSW5kZXggfHwgW10pLmNvbmNhdChpZHgpIDogdGhpcy5kYXRhSW5kZXgsXG5cbiAgICAgIG9wdGlvbnM6IGl0ZW0ub3B0aW9ucyB8fCB7fVxuICAgIH1cblxuICAgIHRoaXMuanNmLmluaXRpYWxpemVDb250cm9sKHRoaXMuX2Ryb3Bkb3duT2JqKVxuXG5cbiAgICBjb25zdCBpdGVtcyA9IGJ1aWxkVGl0bGVNYXAoXG4gICAgICB0aGlzLl9kcm9wZG93bk9iai5vcHRpb25zLnRpdGxlTWFwIHx8IHRoaXMuX2Ryb3Bkb3duT2JqLm9wdGlvbnMuZW51bU5hbWVzLFxuICAgICAgdGhpcy5fZHJvcGRvd25PYmoub3B0aW9ucy5lbnVtLFxuICAgICAgISF0aGlzLl9kcm9wZG93bk9iai5vcHRpb25zLnJlcXVpcmVkLFxuICAgICAgISF0aGlzLl9kcm9wZG93bk9iai5vcHRpb25zLmZsYXRMaXN0XG4gICAgKVxuXG4gICAgdGhpcy5fc2VsZWN0TGlzdCA9IGl0ZW1zXG5cbiAgICAvLyBUT0RPOiBTaG91bGQgdGhpcyBiZSBjaGVja2luZyBpZiB0aGUgY29udHJvbCBpcyBib3VuZD9cbiAgICBjb25zdCBkcm9wZG93bkNvbnRyb2wgPSB0aGlzLl9nZXREcm9wZG93bkNvbnRyb2woKVxuICAgIGlmICghZHJvcGRvd25Db250cm9sKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBvYnNlcnZlQ29udHJvbFZhbHVlKGRyb3Bkb3duQ29udHJvbCkucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIHRoaXMuX3NldFNlbGVjdExpc3RDaGVja2VkUHJvcCh2YWx1ZSlcbiAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IHRoaXMuX2dldFNlbGVjdGVkSXRlbSgpXG4gICAgfSlcblxuICAgIG9ic2VydmVDb250cm9sU3RhdHVzKGRyb3Bkb3duQ29udHJvbCkucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIHRoaXMuX2Ryb3Bkb3duRGlzYWJsZWQgPSBkcm9wZG93bkNvbnRyb2wuZGlzYWJsZWRcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RHJvcGRvd25Db250cm9sKCk6IFVudHlwZWRGb3JtQ29udHJvbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2Ryb3Bkb3duT2JqLmZvcm1Db250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbFxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0U2VsZWN0TGlzdENoZWNrZWRQcm9wKHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuX3NlbGVjdExpc3RcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgIGlmIChpdGVtLnZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICBpdGVtLmNoZWNrZWQgPSB0cnVlXG4gICAgICB9IGVsc2UgaWYgKGl0ZW0uY2hlY2tlZCkge1xuICAgICAgICBpdGVtLmNoZWNrZWQgPSBmYWxzZVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9zZWxlY3RMaXN0ID0gWyAuLi5pdGVtcyBdXG4gIH1cblxuICBwcml2YXRlIF9nZXRTZWxlY3RlZEl0ZW0oKTogVGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRTcGxpdEl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAodGhpcy5fc2VsZWN0TGlzdCB8fCBbXSkuZmluZCh4ID0+IHguY2hlY2tlZCA9PT0gdHJ1ZSlcbiAgfVxuXG4gIF9zZXREcm9wZG93blZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuX2dldERyb3Bkb3duQ29udHJvbCgpXG4gICAgZm9ybUNvbnRyb2w/LnNldFZhbHVlKHZhbHVlKVxuICB9XG5cbn1cbiIsIjxkaXZcbiAgW2NsYXNzXT1cIm9wdGlvbnM/Lmh0bWxDbGFzcyB8fCAnJ1wiPlxuICA8ZGl2IFtjbGFzcy5idG4tZ3JvdXBdPVwiX2Ryb3Bkb3duT2JqXCI+XG4gICAgPGJ1dHRvbiBzZWFtQnV0dG9uIHRoZW1lPVwicHJpbWFyeVwiIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWQgKyAnU3RhdHVzJ1wiXG4gICAgICBbYXR0ci5yZWFkb25seV09XCJvcHRpb25zPy5yZWFkb25seSA/ICdyZWFkb25seScgOiBudWxsXCJcbiAgICAgIFthdHRyLnJlcXVpcmVkXT1cIm9wdGlvbnM/LnJlcXVpcmVkXCJcbiAgICAgIFtjbGFzc109XCInYnRuIGJ0bi1wcmltYXJ5ICcgKyAob3B0aW9ucz8uZmllbGRIdG1sQ2xhc3MgfHwgJycpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWRcIlxuICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXG4gICAgICBbbmFtZV09XCJjb250cm9sTmFtZVwiXG4gICAgICBbdmFsdWVdPVwiY29udHJvbFZhbHVlXCJcbiAgICAgIChjbGljayk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCI+XG4gICAgICB7eyBfYnV0dG9uTGFiZWwgfX1cbiAgICAgIDxzcGFuICpuZ0lmPVwiX3NlbGVjdGVkSXRlbVwiPlxuICAgICAgICBbe3sgX3NlbGVjdGVkSXRlbS5uYW1lIH19XVxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfZHJvcGRvd25PYmpcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgW3NlYW1NZW51VG9nZ2xlXT1cIm1lbnVcIiBzZWFtQnV0dG9uIHRoZW1lPVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiZHJvcGRvd24tdG9nZ2xlIGRyb3Bkb3duLXRvZ2dsZS1zcGxpdFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJfZHJvcGRvd25EaXNhYmxlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5Ub2dnbGUgRHJvcGRvd248L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxzZWFtLW1lbnUgI21lbnU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX3NlbGVjdExpc3RcIj5cbiAgICAgICAgICA8YnV0dG9uIHNlYW1NZW51SXRlbVxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpdGVtLmNoZWNrZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIl9zZXREcm9wZG93blZhbHVlKGl0ZW0udmFsdWUpXCI+XG4gICAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3NlYW0tbWVudT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLWZvcm0tc3VibWl0LXNwbGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mcmFtZXdvcmsvc2NoZW1hLWZvcm0tY29udHJvbHMvc2NoZW1hLWZvcm0tc3VibWl0LXNwbGl0L3NjaGVtYS1mb3JtLXN1Ym1pdC1zcGxpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL3NjaGVtYS1mb3JtLWNvbnRyb2xzL3NjaGVtYS1mb3JtLXN1Ym1pdC1zcGxpdC9zY2hlbWEtZm9ybS1zdWJtaXQtc3BsaXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQTtBQUU5RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRTlCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUF1QyxNQUFNLFlBQVksQ0FBQTtBQUV2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7Ozs7OztBQU0xQyw0RUFBNEU7QUFDNUUsMEVBQTBFO0FBQzFFLEVBQUU7QUFDRiw2RUFBNkU7QUFDN0UsMEVBQTBFO0FBQzFFLG9FQUFvRTtBQU9wRSxNQUFNLE9BQU8scUNBQXFDO0lBdUJoRCxZQUNVLEdBQTBCO1FBQTFCLFFBQUcsR0FBSCxHQUFHLENBQXVCO1FBdEJwQyxjQUFjO1FBQ0csbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFBO1FBS3JELG9CQUFlLEdBQUcsS0FBSyxDQUFBO1FBQ3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBT3BCLGlCQUFZLEdBQUcs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bEQsdTFDQXFDQTsyRkRaYSxxQ0FBcUM7a0JBTmpELFNBQVM7K0JBQ0UsK0JBQStCOzRHQWlCaEMsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBpc0Rldk1vZGUsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcydcblxuaW1wb3J0IHsgYnVpbGRUaXRsZU1hcCwgaGFzT3duLCBKc29uU2NoZW1hRm9ybVNlcnZpY2UsIFRpdGxlTWFwSXRlbSB9IGZyb20gJ0BhanNmL2NvcmUnXG5cbmltcG9ydCB7IG9ic2VydmVDb250cm9sU3RhdHVzLCBvYnNlcnZlQ29udHJvbFZhbHVlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzJ1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbi8vIE5PVEU6IFRoaXMgaXMgYWxpYXNpbmcgVGl0bGVNYXBJdGVtLCBiZWNhdXNlIHdlIG1heSB3YW50IHRvIGV4dGVuZCBpdCdzXG4vLyBvcHRpb25zLiBGb3Igc2ltcGxpY2l0eSwgSSBhbSBsZXR0aW5nIHRoaXMgd29yayBzaW1pbGFyIHRvIGEgJ3NlbGVjdCcgd2lkZ2V0LlxuZXhwb3J0IHR5cGUgVGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRTcGxpdEl0ZW0gPSBUaXRsZU1hcEl0ZW1cblxuLy8gTk9URTogVGhpcyBjb21wb25lbnQgaXMgYSBsaXR0bGUgaGFja3ksIGJlY2F1c2UgSSBhbSBiYXNpY2FsbHkgY3JlYXRpbmcgYVxuLy8gZGF0YSB3aWRnZXQgdGhhdCBhY3RzIGxpa2UgYSBkYXRhIGFuZCAnc3VibWl0JyB3aWRnZXQgYXQgdGhlIHNhbWUgdGltZS5cbi8vXG4vLyBUT0RPOiBUcnkgYW5kIHRoaW5rIG9mIGEgbmljZXIgd2F5IHRvIGltcGxlbWVudCB0aGlzLCBidXQgc3RpbGwgbWFrZSBzZW5zZVxuLy8gZnJvbSBhIHNjaGVtYSBkZWZpbml0aW9uLiBUaGUgbGlicmFyeSBtYXkgbmVlZCB0byBtZSBmb3JrZWQgdG8gYWN0dWFsbHlcbi8vIHN1cHBvcnQgdGhpcyBpbiB0aGUgd2F5IEkgZXhwZWN0LCBidXQgbWF5YmUgdGhlcmUgaXMgYW5vdGhlciB3YXkuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLXNjaGVtYS1mb3JtLXN1Ym1pdC1zcGxpdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY2hlbWEtZm9ybS1zdWJtaXQtc3BsaXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zY2hlbWEtZm9ybS1zdWJtaXQtc3BsaXQuY29tcG9uZW50LnNjc3MnXSxcbiAgLy8gY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRTcGxpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuXG4gIGZvcm1Db250cm9sPzogQWJzdHJhY3RDb250cm9sXG4gIGNvbnRyb2xOYW1lPzogc3RyaW5nXG4gIGNvbnRyb2xWYWx1ZTogYW55XG4gIGNvbnRyb2xEaXNhYmxlZCA9IGZhbHNlXG4gIGJvdW5kQ29udHJvbCA9IGZhbHNlXG4gIG9wdGlvbnM6IGFueVxuXG4gIEBJbnB1dCgpIGxheW91dE5vZGU6IGFueVxuICBASW5wdXQoKSBsYXlvdXRJbmRleDogbnVtYmVyW10gfCB1bmRlZmluZWQgfCBudWxsXG4gIEBJbnB1dCgpIGRhdGFJbmRleDogbnVtYmVyW10gfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgX2J1dHRvbkxhYmVsID0gJydcblxuICBfZHJvcGRvd25PYmo6IGFueVxuICBfZHJvcGRvd25EaXNhYmxlZCA9IGZhbHNlXG4gIF9zZWxlY3RMaXN0OiBUaGVTZWFtU2NoZW1hRm9ybVN1Ym1pdFNwbGl0SXRlbVtdID0gW11cbiAgX3NlbGVjdGVkSXRlbT86IFRoZVNlYW1TY2hlbWFGb3JtU3VibWl0U3BsaXRJdGVtXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBqc2Y6IEpzb25TY2hlbWFGb3JtU2VydmljZVxuICApIHsgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZS5vcHRpb25zIHx8IHt9XG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcylcblxuICAgIC8vIE5PVEU6IFRoaXMgaXMgY29tbWVudGVkIG91dCwgYmVjYXVzZSB0aGVyZSBpcyBhIGJ1ZyB3aXRoIHN1Ym1pdCB3aWRnZXRzXG4gICAgLy8gbWFudWFsbHkgZGVmaW5lZCBpbiBsYXlvdXQuIEFsbCBub2RlcyBpbml0aWFsaXplZCBmcm9tIHRoZSBwcm92aWRlZFxuICAgIC8vIGxheW91dCBoYXZlIHRoZWlyIG9wdGlvbnMgcG9wdWxhdGVkIGZyb20gdGhlIGRlZmF1bHRzIGFuZCAnZGlzYWJsZWQnIGlzXG4gICAgLy8gb24gb2YgdGhlIGRlZmF1bHQgcHJvcGVydGllcywgc28gdGhlICdkaXNhYmxlSW52YWxpZFN1Ym1pdCcgY29uZGl0aW9uXG4gICAgLy8gbmV2ZXIgZ2V0cyByZWFjaGVkLlxuICAgIC8vXG4gICAgLy8gTXkgaW5pdGlhbCBpZGVhIGZvciBmaXhpbmcgd291bGQgYmUgdG8gY2hlY2sgaWYgdGhlIGRpc2FibGVkIHByb3BlcnR5XG4gICAgLy8gZXhpc3RzIGFuZCBpcyBhIGJvb2xlYW4sIG9yIHBvc3NpYmx5IGFueXRoaW5nIGRlZmluZWQgdGhhdCBjYW4gY29lcmNlXG4gICAgLy8gaW50byBhIGJvb2xlYW4uIEkgY2FuJ3QgdGhpbmsgb2YgYSByZWFzb24gZGlzYWJsZWQgc2hvdWxkIGJlIGFueXRoaW5nXG4gICAgLy8gZWxzZSwgc28gdGhhdCBtYXkgYmUgYW4gYWNjZXB0YWJsZSBmaXgsIGJ1dCBJIGRvbid0IHdhbnQgdG8gZW5hYmxlIHRoYXRcbiAgICAvLyB5ZXQuXG4gICAgLy9cbiAgICAvLyBpZiAoaGFzT3duKHRoaXMub3B0aW9ucywgJ2Rpc2FibGVkJykpIHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKCdbVGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRTcGxpdENvbXBvbmVudF0gaGFzRGlzYWJsZWQnLCB0aGlzLm9wdGlvbnMuZGlzYWJsZWQpXG4gICAgLy8gICB0aGlzLmNvbnRyb2xEaXNhYmxlZCA9IHRoaXMub3B0aW9ucy5kaXNhYmxlZFxuICAgIC8vIH0gZWxzZVxuICAgIGlmICh0aGlzLmpzZi5mb3JtT3B0aW9ucy5kaXNhYmxlSW52YWxpZFN1Ym1pdCkge1xuICAgICAgdGhpcy5jb250cm9sRGlzYWJsZWQgPSAhdGhpcy5qc2YuaXNWYWxpZFxuICAgICAgdGhpcy5qc2YuaXNWYWxpZENoYW5nZXMuc3Vic2NyaWJlKGlzVmFsaWQgPT4gdGhpcy5jb250cm9sRGlzYWJsZWQgPSAhaXNWYWxpZClcbiAgICB9XG4gICAgaWYgKHRoaXMuY29udHJvbFZhbHVlID09PSBudWxsIHx8IHRoaXMuY29udHJvbFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY29udHJvbFZhbHVlID0gdGhpcy5vcHRpb25zLnRpdGxlXG4gICAgfVxuXG4gICAgaWYgKGhhc093bih0aGlzLm9wdGlvbnMsICd0aXRsZScpKSB7XG4gICAgICB0aGlzLl9idXR0b25MYWJlbCA9IHRoaXMub3B0aW9ucy50aXRsZVxuICAgIH1cblxuICAgIHRoaXMuX2luaXREcm9wZG93bigpXG5cbiAgICAvLyBjb25zb2xlLmxvZygndGhpcycsIHRoaXMpXG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLm5leHQodW5kZWZpbmVkKVxuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUuY29tcGxldGUoKVxuICB9XG5cbiAgdXBkYXRlVmFsdWUoZXZlbnQ6IGFueSkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5vbkNsaWNrKGV2ZW50KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBldmVudC50YXJnZXQudmFsdWUpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdERyb3Bkb3duKCk6IHZvaWQge1xuICAgIGlmICghaGFzT3duKHRoaXMubGF5b3V0Tm9kZSwgJ2l0ZW1zJykgfHwgISh0aGlzLmxheW91dE5vZGUuaXRlbXMgfHwgW10pLmxlbmd0aCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICBpZiAodGhpcy5sYXlvdXROb2RlLml0ZW1zLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgIGBUaGVTZWFtU2NoZW1hRm9ybVN1Ym1pdFNwbGl0Q29tcG9uZW50IG9ubHkgc3VwcG9ydHMgb25lIGl0ZW0uYCArXG4gICAgICAgICAgYCBpdGVtcyBhZnRlciBpbmRleCAwIHdpbGwgYmUgaWdub3JlZC5gXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBpZHggPSAwXG4gICAgY29uc3QgaXRlbSA9IHRoaXMubGF5b3V0Tm9kZS5pdGVtc1tpZHhdXG4gICAgdGhpcy5fZHJvcGRvd25PYmogPSB7XG4gICAgICBsYXlvdXROb2RlOiBpdGVtLFxuICAgICAgbGF5b3V0SW5kZXg6ICh0aGlzLmxheW91dEluZGV4IHx8IFtdKS5jb25jYXQoaWR4KSxcbiAgICAgIGRhdGFJbmRleDogdGhpcy5sYXlvdXROb2RlPy5kYXRhVHlwZSA9PT0gJ2FycmF5JyA/ICh0aGlzLmRhdGFJbmRleCB8fCBbXSkuY29uY2F0KGlkeCkgOiB0aGlzLmRhdGFJbmRleCxcblxuICAgICAgb3B0aW9uczogaXRlbS5vcHRpb25zIHx8IHt9XG4gICAgfVxuXG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcy5fZHJvcGRvd25PYmopXG5cbiAgICBjb25zdCBpdGVtcyA9IGJ1aWxkVGl0bGVNYXAoXG4gICAgICB0aGlzLl9kcm9wZG93bk9iai5vcHRpb25zLnRpdGxlTWFwIHx8IHRoaXMuX2Ryb3Bkb3duT2JqLm9wdGlvbnMuZW51bU5hbWVzLFxuICAgICAgdGhpcy5fZHJvcGRvd25PYmoub3B0aW9ucy5lbnVtLFxuICAgICAgISF0aGlzLl9kcm9wZG93bk9iai5vcHRpb25zLnJlcXVpcmVkLFxuICAgICAgISF0aGlzLl9kcm9wZG93bk9iai5vcHRpb25zLmZsYXRMaXN0XG4gICAgKVxuXG4gICAgdGhpcy5fc2VsZWN0TGlzdCA9IGl0ZW1zXG5cbiAgICAvLyBUT0RPOiBTaG91bGQgdGhpcyBiZSBjaGVja2luZyBpZiB0aGUgY29udHJvbCBpcyBib3VuZD9cbiAgICBjb25zdCBkcm9wZG93bkNvbnRyb2wgPSB0aGlzLl9nZXREcm9wZG93bkNvbnRyb2woKVxuICAgIGlmICghZHJvcGRvd25Db250cm9sKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBvYnNlcnZlQ29udHJvbFZhbHVlKGRyb3Bkb3duQ29udHJvbCkucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIHRoaXMuX3NldFNlbGVjdExpc3RDaGVja2VkUHJvcCh2YWx1ZSlcbiAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IHRoaXMuX2dldFNlbGVjdGVkSXRlbSgpXG4gICAgfSlcblxuICAgIG9ic2VydmVDb250cm9sU3RhdHVzKGRyb3Bkb3duQ29udHJvbCkucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIHRoaXMuX2Ryb3Bkb3duRGlzYWJsZWQgPSBkcm9wZG93bkNvbnRyb2wuZGlzYWJsZWRcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RHJvcGRvd25Db250cm9sKCk6IFVudHlwZWRGb3JtQ29udHJvbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2Ryb3Bkb3duT2JqLmZvcm1Db250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbFxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0U2VsZWN0TGlzdENoZWNrZWRQcm9wKHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuX3NlbGVjdExpc3RcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgIGlmIChpdGVtLnZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICBpdGVtLmNoZWNrZWQgPSB0cnVlXG4gICAgICB9IGVsc2UgaWYgKGl0ZW0uY2hlY2tlZCkge1xuICAgICAgICBpdGVtLmNoZWNrZWQgPSBmYWxzZVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9zZWxlY3RMaXN0ID0gWyAuLi5pdGVtcyBdXG4gIH1cblxuICBwcml2YXRlIF9nZXRTZWxlY3RlZEl0ZW0oKTogVGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRTcGxpdEl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAodGhpcy5fc2VsZWN0TGlzdCB8fCBbXSkuZmluZCh4ID0+IHguY2hlY2tlZCA9PT0gdHJ1ZSlcbiAgfVxuXG4gIF9zZXREcm9wZG93blZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuX2dldERyb3Bkb3duQ29udHJvbCgpXG4gICAgZm9ybUNvbnRyb2w/LnNldFZhbHVlKHZhbHVlKVxuICB9XG5cbn1cbiIsIjxkaXZcbiAgW2NsYXNzXT1cIm9wdGlvbnM/Lmh0bWxDbGFzcyB8fCAnJ1wiPlxuICA8ZGl2IFtjbGFzcy5idG4tZ3JvdXBdPVwiX2Ryb3Bkb3duT2JqXCI+XG4gICAgPGJ1dHRvbiBzZWFtQnV0dG9uIHRoZW1lPVwicHJpbWFyeVwiIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWQgKyAnU3RhdHVzJ1wiXG4gICAgICBbYXR0ci5yZWFkb25seV09XCJvcHRpb25zPy5yZWFkb25seSA/ICdyZWFkb25seScgOiBudWxsXCJcbiAgICAgIFthdHRyLnJlcXVpcmVkXT1cIm9wdGlvbnM/LnJlcXVpcmVkXCJcbiAgICAgIFtjbGFzc109XCInYnRuIGJ0bi1wcmltYXJ5ICcgKyAob3B0aW9ucz8uZmllbGRIdG1sQ2xhc3MgfHwgJycpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWRcIlxuICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXG4gICAgICBbbmFtZV09XCJjb250cm9sTmFtZVwiXG4gICAgICBbdmFsdWVdPVwiY29udHJvbFZhbHVlXCJcbiAgICAgIChjbGljayk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCI+XG4gICAgICB7eyBfYnV0dG9uTGFiZWwgfX1cbiAgICAgIDxzcGFuICpuZ0lmPVwiX3NlbGVjdGVkSXRlbVwiPlxuICAgICAgICBbe3sgX3NlbGVjdGVkSXRlbS5uYW1lIH19XVxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfZHJvcGRvd25PYmpcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgW3NlYW1NZW51VG9nZ2xlXT1cIm1lbnVcIiBzZWFtQnV0dG9uIHRoZW1lPVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiZHJvcGRvd24tdG9nZ2xlIGRyb3Bkb3duLXRvZ2dsZS1zcGxpdFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJfZHJvcGRvd25EaXNhYmxlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5Ub2dnbGUgRHJvcGRvd248L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxzZWFtLW1lbnUgI21lbnU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX3NlbGVjdExpc3RcIj5cbiAgICAgICAgICA8YnV0dG9uIHNlYW1NZW51SXRlbVxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpdGVtLmNoZWNrZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIl9zZXREcm9wZG93blZhbHVlKGl0ZW0udmFsdWUpXCI+XG4gICAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3NlYW0tbWVudT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -40,7 +40,7 @@ export class SideNavItemComponent {
40
40
  placement: value.placement || 'auto',
41
41
  disabled: typeof value?.disabled === 'boolean'
42
42
  ? value.disabled
43
- : typeof value.tooltip === 'string' ? false : true
43
+ : typeof value.tooltip !== 'string'
44
44
  };
45
45
  }
46
46
  }
@@ -87,8 +87,8 @@ export class SideNavItemComponent {
87
87
  }
88
88
  }
89
89
  }
90
- SideNavItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: SideNavItemComponent, deps: [{ token: THESEAM_SIDE_NAV_ACCESSOR }, { token: SideNavItemComponent, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
91
- SideNavItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: SideNavItemComponent, selector: "seam-side-nav-item", inputs: { itemType: "itemType", icon: "icon", label: "label", active: "active", link: "link", queryParams: "queryParams", children: "children", hierLevel: "hierLevel", indentSize: "indentSize", expanded: "expanded", compact: "compact", badgeText: "badgeText", badgeTheme: "badgeTheme", badgeSrContent: "badgeSrContent", badgeTooltip: "badgeTooltip" }, host: { properties: { "class.seam-side-nav-item--active": "this._isActiveCssClass", "attr.data-hier-level": "this._attrDataHierLevel" } }, exportAs: ["seamSideNavItem"], ngImport: i0, template: "<div class=\"d-flex flex-row\">\n <ng-container *ngIf=\"itemType === 'basic'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeBasic\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"itemType === 'link'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeLink\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"itemType === 'divider'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeDivider\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"itemType === 'title'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeTitle\"></ng-template>\n </ng-container>\n</div>\n\n<ng-container *ngIf=\"hasChildren\">\n <div class=\"side-nav--group side-nav--group--level-{{ hierLevel + 1 }}\"\n [@childGroupAnim]=\"childGroupAnimState$ | async\">\n <seam-side-nav-item *ngFor=\"let child of children\"\n [hierLevel]=\"compact ? 0 : (hierLevel + 1)\"\n [compact]=\"compact\"\n [itemType]=\"$any(child).itemType\"\n [icon]=\"$any(child).icon\"\n [label]=\"$any(child).label\"\n [link]=\"$any(child).link\"\n [badgeText]=\"$any(child).badge?.text\"\n [badgeTheme]=\"$any(child).badge?.theme || 'danger'\"\n [badgeSrContent]=\"$any(child).badge?.srContent\"\n [badgeTooltip]=\"$any(child)?.badge?.tooltip\"\n [queryParams]=\"$any(child).queryParams\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n [children]=\"$any(child)?.children\"\n [active]=\"$any(child).__state?.active\"\n [expanded]=\"$any(child).__state?.expanded\">\n </seam-side-nav-item>\n </div>\n</ng-container>\n\n<ng-template #itemTypeBasic>\n <button class=\"side-nav-item btn side-nav-btn p-0 d-flex flex-row rounded-0 text-decoration-none text-nowrap w-100\"\n cdkMonitorElementFocus\n (click)=\"toggleChildren()\"\n [attr.aria-expanded]=\"expanded\">\n <div class=\"nav-link d-flex flex-row w-100\" [class.nav-link__compact]=\"compact\">\n <div [style.padding-left.px]=\"hierLevel * indentSize\"></div>\n <div class=\"side-nav-item--icon\">\n <seam-icon *ngIf=\"icon\" [icon]=\"icon\"></seam-icon>\n <ng-container *ngIf=\"compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n <span *ngIf=\"!compact\" side-nav-item-label style=\"margin-left: 11px;\">\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" side-nav-item-label>{{ label }}</span>\n <ng-container *ngIf=\"!compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n\n <div *ngIf=\"hasChildren && !compact\"\n class=\"btn side-nav-btn side-nav-item--toggle-btn-container rounded-0\">\n <seam-icon\n class=\"side-nav-item--toggle-btn\"\n [class.side-nav-item--toggle-btn-expanded]=\"expanded\"\n [icon]=\"faAngleLeft\"\n type>\n </seam-icon>\n </div>\n </button>\n</ng-template>\n\n<ng-template #itemTypeLink>\n <a *ngIf=\"link; else noLink\" class=\"side-nav-item nav-link d-flex flex-row text-nowrap w-100 align-items-center\"\n [class.nav-link__compact]=\"compact\"\n [routerLink]=\"link\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n (click)=\"_linkClicked()\">\n <div [style.padding-left.px]=\"hierLevel * indentSize\"></div>\n <div class=\"side-nav-item--icon\">\n <seam-icon *ngIf=\"icon\" [icon]=\"icon\"></seam-icon>\n <ng-container *ngIf=\"compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n <span *ngIf=\"!compact\" style=\"margin-left: 11px;\" side-nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" side-nav-item-label>{{ label }}</span>\n <ng-container *ngIf=\"!compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </a>\n\n <ng-template #noLink>\n <a class=\"side-nav-item nav-link d-flex flex-row text-nowrap w-100 align-items-center\" [class.nav-link__compact]=\"compact\">\n <div [style.padding-left.px]=\"hierLevel * indentSize\"></div>\n <div class=\"side-nav-item--icon\">\n <seam-icon *ngIf=\"icon\" [icon]=\"icon\"></seam-icon>\n </div>\n <span *ngIf=\"!compact\" style=\"margin-left: 11px;\" side-nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" side-nav-item-label>{{ label }}</span>\n </a>\n </ng-template>\n\n <button *ngIf=\"hasChildren && !compact\"\n type=\"button\"\n class=\"btn side-nav-btn side-nav-item--toggle-btn-container rounded-0\"\n (click)=\"toggleChildren()\"\n [attr.aria-expanded]=\"expanded\"\n cdkMonitorElementFocus>\n <seam-icon\n class=\"side-nav-item--toggle-btn\"\n [class.side-nav-item--toggle-btn-expanded]=\"expanded\"\n [icon]=\"faAngleLeft\"\n type>\n </seam-icon>\n <span class=\"sr-only\">Group Toggle</span>\n </button>\n</ng-template>\n\n<ng-template #itemTypeDivider>\n <div class=\"px-2 w-100\">\n <hr class=\"side-nav-item--divider\" />\n </div>\n</ng-template>\n\n<ng-template #itemTypeTitle>\n <ng-container *ngIf=\"!compact\">\n <span class=\"side-nav-item--title pt-1\" side-nav-item-label>{{ label }}</span>\n </ng-container>\n</ng-template>\n\n<ng-template #itemBadge>\n <ng-container *ngIf=\"badgeText\">\n <div class=\"badge-spacer flex-grow-1\" *ngIf=\"!compact\"></div>\n <div class=\"side-nav-item--badge\"\n [class.side-nav-item--badge-no-icon]=\"!icon\"\n [ngbTooltip]=\"$any(badgeTooltip)?.tooltip\"\n [tooltipClass]=\"$any(badgeTooltip)?.class\"\n [placement]=\"$any(badgeTooltip)?.placement\"\n [container]=\"$any(badgeTooltip)?.container\"\n [disableTooltip]=\"!badgeTooltip || !!$any(badgeTooltip)?.disabled\">\n <span class=\"badge badge-pill badge-{{ badgeTheme }}\">\n <ng-container *ngIf=\"!compact || !icon\">\n {{ badgeText }}\n </ng-container>\n <span *ngIf=\"badgeSrContent\">{{ badgeSrContent }}</span>\n </span>\n </div>\n </ng-container>\n</ng-template>\n", styles: ["seam-side-nav-item{display:block;transition:.25s ease-in-out background-color}seam-side-nav-item.seam-side-nav-item--active{background-color:#2a6395}seam-side-nav-item.seam-side-nav-item--active .active,seam-side-nav-item.seam-side-nav-item--active:active,seam-side-nav-item.seam-side-nav-item--active .side-nav-item.active:hover{background-color:#2a6395}seam-side-nav-item.seam-side-nav-item--active .side-nav-item:hover{background-color:#2f71a9}seam-side-nav-item.seam-side-nav-item--active .nav-link{color:#fff}seam-side-nav-item .badge{vertical-align:middle}seam-side-nav-item:not(.side-nav-item--icon) .side-nav-item--badge{pointer-events:all;margin-left:5px;margin-right:3px}seam-side-nav-item .side-nav-item--icon{position:relative;width:24px;max-width:24px;min-width:24px;height:24px;max-height:24px;min-height:24px;text-align:center}seam-side-nav-item .side-nav-item--icon .side-nav-item--badge{top:-4px;right:-4px;position:absolute}seam-side-nav-item .side-nav-item--icon .side-nav-item--badge .badge:empty{display:block;width:8px;height:8px;padding:0}seam-side-nav-item .side-nav-item--icon .side-nav-item--badge.side-nav-item--badge-no-icon{top:0;right:0}seam-side-nav-item .side-nav-item{min-height:45px;transition:.25s ease-in-out background-color}seam-side-nav-item .side-nav-item:hover{background-color:#2f71a9}seam-side-nav-item .side-nav-item.active{pointer-events:none;cursor:default}seam-side-nav-item a.side-nav-item:not([href]):not([tabindex]){color:#ccc}seam-side-nav-item a.side-nav-item:not([href]):not([tabindex]):hover{background-color:transparent}seam-side-nav-item .nav-link{color:#fff;padding-right:2px}seam-side-nav-item .nav-link__compact{padding-right:0;padding-left:12px}seam-side-nav-item .nav-link:last-child{padding-right:8px}seam-side-nav-item .side-nav-btn{font-weight:400;color:#fff;text-decoration:none}seam-side-nav-item .side-nav-btn:hover{color:#2f71a9;text-decoration:underline}seam-side-nav-item .side-nav-btn:focus,seam-side-nav-item .side-nav-btn.focus{text-decoration:underline;box-shadow:none}seam-side-nav-item .side-nav-btn:disabled,seam-side-nav-item .side-nav-btn.disabled{color:#ccc;pointer-events:none}seam-side-nav-item .cdk-keyboard-focused{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}seam-side-nav-item .side-nav-item--toggle-btn-container{transition:.25s ease-in-out background-color;padding:.5rem 1rem}seam-side-nav-item button.side-nav-item--toggle-btn-container:hover{background-color:#2f71a9}seam-side-nav-item .side-nav-item--toggle-btn{color:#fff}seam-side-nav-item .side-nav-item--toggle-btn .svg-inline--fa{transition:.1s ease-in-out transform}seam-side-nav-item .side-nav-item--toggle-btn.side-nav-item--toggle-btn-expanded .svg-inline--fa{transform:rotate(-90deg)}seam-side-nav-item .side-nav--group{will-change:height;overflow:hidden}seam-side-nav-item .side-nav--group--level-1{background-color:#3276b1}seam-side-nav-item .side-nav--group--level-2{background-color:#2e6ea5}seam-side-nav-item .side-nav--group--level-3{background-color:#2b6699}seam-side-nav-item .side-nav--group--level-4{background-color:#285e8d}seam-side-nav-item .side-nav--group--level-5{background-color:#245681}seam-side-nav-item .side-nav--group--level-6{background-color:#214e75}seam-side-nav-item .side-nav--group--level-7{background-color:#1e4669}seam-side-nav-item .side-nav--group--level-8{background-color:#1a3e5d}seam-side-nav-item .side-nav--group--level-9{background-color:#173651}seam-side-nav-item .side-nav-item--divider{display:block;border-top:1px solid #2a6395;width:100%}seam-side-nav-item .side-nav-item--title{color:#fff;font-size:24px;padding-left:10px}seam-side-nav-item .sr-only{top:0;left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i3.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "directive", type: i4.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i5.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: SideNavItemComponent, selector: "seam-side-nav-item", inputs: ["itemType", "icon", "label", "active", "link", "queryParams", "children", "hierLevel", "indentSize", "expanded", "compact", "badgeText", "badgeTheme", "badgeSrContent", "badgeTooltip"], exportAs: ["seamSideNavItem"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [
90
+ SideNavItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SideNavItemComponent, deps: [{ token: THESEAM_SIDE_NAV_ACCESSOR }, { token: SideNavItemComponent, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
91
+ SideNavItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SideNavItemComponent, selector: "seam-side-nav-item", inputs: { itemType: "itemType", icon: "icon", label: "label", active: "active", link: "link", queryParams: "queryParams", children: "children", hierLevel: "hierLevel", indentSize: "indentSize", expanded: "expanded", compact: "compact", badgeText: "badgeText", badgeTheme: "badgeTheme", badgeSrContent: "badgeSrContent", badgeTooltip: "badgeTooltip" }, host: { properties: { "class.seam-side-nav-item--active": "this._isActiveCssClass", "attr.data-hier-level": "this._attrDataHierLevel" } }, exportAs: ["seamSideNavItem"], ngImport: i0, template: "<div class=\"d-flex flex-row\">\n <ng-container *ngIf=\"itemType === 'basic'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeBasic\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"itemType === 'link'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeLink\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"itemType === 'divider'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeDivider\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"itemType === 'title'\">\n <ng-template [ngTemplateOutlet]=\"itemTypeTitle\"></ng-template>\n </ng-container>\n</div>\n\n<ng-container *ngIf=\"hasChildren\">\n <div class=\"side-nav--group side-nav--group--level-{{ hierLevel + 1 }}\"\n [@childGroupAnim]=\"childGroupAnimState$ | async\">\n <seam-side-nav-item *ngFor=\"let child of children\"\n [hierLevel]=\"compact ? 0 : (hierLevel + 1)\"\n [compact]=\"compact\"\n [itemType]=\"$any(child).itemType\"\n [icon]=\"$any(child).icon\"\n [label]=\"$any(child).label\"\n [link]=\"$any(child).link\"\n [badgeText]=\"$any(child).badge?.text\"\n [badgeTheme]=\"$any(child).badge?.theme || 'danger'\"\n [badgeSrContent]=\"$any(child).badge?.srContent\"\n [badgeTooltip]=\"$any(child)?.badge?.tooltip\"\n [queryParams]=\"$any(child).queryParams\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n [children]=\"$any(child)?.children\"\n [active]=\"$any(child).__state?.active\"\n [expanded]=\"$any(child).__state?.expanded\">\n </seam-side-nav-item>\n </div>\n</ng-container>\n\n<ng-template #itemTypeBasic>\n <button class=\"side-nav-item btn side-nav-btn p-0 d-flex flex-row rounded-0 text-decoration-none text-nowrap w-100\"\n cdkMonitorElementFocus\n (click)=\"toggleChildren()\"\n [attr.aria-expanded]=\"expanded\">\n <div class=\"nav-link d-flex flex-row w-100\" [class.nav-link__compact]=\"compact\">\n <div [style.padding-left.px]=\"hierLevel * indentSize\"></div>\n <div class=\"side-nav-item--icon\">\n <seam-icon *ngIf=\"icon\" [icon]=\"icon\"></seam-icon>\n <ng-container *ngIf=\"compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n <span *ngIf=\"!compact\" side-nav-item-label style=\"margin-left: 11px;\">\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" side-nav-item-label>{{ label }}</span>\n <ng-container *ngIf=\"!compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n\n <div *ngIf=\"hasChildren && !compact\"\n class=\"btn side-nav-btn side-nav-item--toggle-btn-container rounded-0\">\n <seam-icon\n class=\"side-nav-item--toggle-btn\"\n [class.side-nav-item--toggle-btn-expanded]=\"expanded\"\n [icon]=\"faAngleLeft\"\n type>\n </seam-icon>\n </div>\n </button>\n</ng-template>\n\n<ng-template #itemTypeLink>\n <a *ngIf=\"link; else noLink\" class=\"side-nav-item nav-link d-flex flex-row text-nowrap w-100 align-items-center\"\n [class.nav-link__compact]=\"compact\"\n [routerLink]=\"link\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n (click)=\"_linkClicked()\">\n <div [style.padding-left.px]=\"hierLevel * indentSize\"></div>\n <div class=\"side-nav-item--icon\">\n <seam-icon *ngIf=\"icon\" [icon]=\"icon\"></seam-icon>\n <ng-container *ngIf=\"compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </div>\n <span *ngIf=\"!compact\" style=\"margin-left: 11px;\" side-nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" side-nav-item-label>{{ label }}</span>\n <ng-container *ngIf=\"!compact\">\n <ng-template [ngTemplateOutlet]=\"itemBadge\"></ng-template>\n </ng-container>\n </a>\n\n <ng-template #noLink>\n <a class=\"side-nav-item nav-link d-flex flex-row text-nowrap w-100 align-items-center\" [class.nav-link__compact]=\"compact\">\n <div [style.padding-left.px]=\"hierLevel * indentSize\"></div>\n <div class=\"side-nav-item--icon\">\n <seam-icon *ngIf=\"icon\" [icon]=\"icon\"></seam-icon>\n </div>\n <span *ngIf=\"!compact\" style=\"margin-left: 11px;\" side-nav-item-label>\n {{ label }}\n </span>\n <span *ngIf=\"compact\" class=\"sr-only\" side-nav-item-label>{{ label }}</span>\n </a>\n </ng-template>\n\n <button *ngIf=\"hasChildren && !compact\"\n type=\"button\"\n class=\"btn side-nav-btn side-nav-item--toggle-btn-container rounded-0\"\n (click)=\"toggleChildren()\"\n [attr.aria-expanded]=\"expanded\"\n cdkMonitorElementFocus>\n <seam-icon\n class=\"side-nav-item--toggle-btn\"\n [class.side-nav-item--toggle-btn-expanded]=\"expanded\"\n [icon]=\"faAngleLeft\"\n type>\n </seam-icon>\n <span class=\"sr-only\">Group Toggle</span>\n </button>\n</ng-template>\n\n<ng-template #itemTypeDivider>\n <div class=\"px-2 w-100\">\n <hr class=\"side-nav-item--divider\" />\n </div>\n</ng-template>\n\n<ng-template #itemTypeTitle>\n <ng-container *ngIf=\"!compact\">\n <span class=\"side-nav-item--title pt-1\" side-nav-item-label>{{ label }}</span>\n </ng-container>\n</ng-template>\n\n<ng-template #itemBadge>\n <ng-container *ngIf=\"badgeText\">\n <div class=\"badge-spacer flex-grow-1\" *ngIf=\"!compact\"></div>\n <div class=\"side-nav-item--badge\"\n [class.side-nav-item--badge-no-icon]=\"!icon\"\n [ngbTooltip]=\"$any(badgeTooltip)?.tooltip\"\n [tooltipClass]=\"$any(badgeTooltip)?.class\"\n [placement]=\"$any(badgeTooltip)?.placement\"\n [container]=\"$any(badgeTooltip)?.container\"\n [disableTooltip]=\"!badgeTooltip || !!$any(badgeTooltip)?.disabled\">\n <span class=\"badge badge-pill badge-{{ badgeTheme }}\">\n <ng-container *ngIf=\"!compact || !icon\">\n {{ badgeText }}\n </ng-container>\n <span *ngIf=\"badgeSrContent\">{{ badgeSrContent }}</span>\n </span>\n </div>\n </ng-container>\n</ng-template>\n", styles: ["seam-side-nav-item{display:block;transition:.25s ease-in-out background-color}seam-side-nav-item.seam-side-nav-item--active{background-color:#2a6395}seam-side-nav-item.seam-side-nav-item--active .active,seam-side-nav-item.seam-side-nav-item--active:active,seam-side-nav-item.seam-side-nav-item--active .side-nav-item.active:hover{background-color:#2a6395}seam-side-nav-item.seam-side-nav-item--active .side-nav-item:hover{background-color:#2f71a9}seam-side-nav-item.seam-side-nav-item--active .nav-link{color:#fff}seam-side-nav-item .badge{vertical-align:middle}seam-side-nav-item:not(.side-nav-item--icon) .side-nav-item--badge{pointer-events:all;margin-left:5px;margin-right:3px}seam-side-nav-item .side-nav-item--icon{position:relative;width:24px;max-width:24px;min-width:24px;height:24px;max-height:24px;min-height:24px;text-align:center}seam-side-nav-item .side-nav-item--icon .side-nav-item--badge{top:-4px;right:-4px;position:absolute}seam-side-nav-item .side-nav-item--icon .side-nav-item--badge .badge:empty{display:block;width:8px;height:8px;padding:0}seam-side-nav-item .side-nav-item--icon .side-nav-item--badge.side-nav-item--badge-no-icon{top:0;right:0}seam-side-nav-item .side-nav-item{min-height:45px;transition:.25s ease-in-out background-color}seam-side-nav-item .side-nav-item:hover{background-color:#2f71a9}seam-side-nav-item .side-nav-item.active{pointer-events:none;cursor:default}seam-side-nav-item a.side-nav-item:not([href]):not([tabindex]){color:#ccc}seam-side-nav-item a.side-nav-item:not([href]):not([tabindex]):hover{background-color:transparent}seam-side-nav-item .nav-link{color:#fff;padding-right:2px}seam-side-nav-item .nav-link__compact{padding-right:0;padding-left:12px}seam-side-nav-item .nav-link:last-child{padding-right:8px}seam-side-nav-item .side-nav-btn{font-weight:400;color:#fff;text-decoration:none}seam-side-nav-item .side-nav-btn:hover{color:#2f71a9;text-decoration:underline}seam-side-nav-item .side-nav-btn:focus,seam-side-nav-item .side-nav-btn.focus{text-decoration:underline;box-shadow:none}seam-side-nav-item .side-nav-btn:disabled,seam-side-nav-item .side-nav-btn.disabled{color:#ccc;pointer-events:none}seam-side-nav-item .cdk-keyboard-focused{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}seam-side-nav-item .side-nav-item--toggle-btn-container{transition:.25s ease-in-out background-color;padding:.5rem 1rem}seam-side-nav-item button.side-nav-item--toggle-btn-container:hover{background-color:#2f71a9}seam-side-nav-item .side-nav-item--toggle-btn{color:#fff}seam-side-nav-item .side-nav-item--toggle-btn .svg-inline--fa{transition:.1s ease-in-out transform}seam-side-nav-item .side-nav-item--toggle-btn.side-nav-item--toggle-btn-expanded .svg-inline--fa{transform:rotate(-90deg)}seam-side-nav-item .side-nav--group{will-change:height;overflow:hidden}seam-side-nav-item .side-nav--group--level-1{background-color:#3276b1}seam-side-nav-item .side-nav--group--level-2{background-color:#2e6ea5}seam-side-nav-item .side-nav--group--level-3{background-color:#2b6699}seam-side-nav-item .side-nav--group--level-4{background-color:#285e8d}seam-side-nav-item .side-nav--group--level-5{background-color:#245681}seam-side-nav-item .side-nav--group--level-6{background-color:#214e75}seam-side-nav-item .side-nav--group--level-7{background-color:#1e4669}seam-side-nav-item .side-nav--group--level-8{background-color:#1a3e5d}seam-side-nav-item .side-nav--group--level-9{background-color:#173651}seam-side-nav-item .side-nav-item--divider{display:block;border-top:1px solid #2a6395;width:100%}seam-side-nav-item .side-nav-item--title{color:#fff;font-size:24px;padding-left:10px}seam-side-nav-item .sr-only{top:0;left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i3.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "directive", type: i4.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i5.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: SideNavItemComponent, selector: "seam-side-nav-item", inputs: ["itemType", "icon", "label", "active", "link", "queryParams", "children", "hierLevel", "indentSize", "expanded", "compact", "badgeText", "badgeTheme", "badgeSrContent", "badgeTooltip"], exportAs: ["seamSideNavItem"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [
92
92
  trigger('childGroupAnim', [
93
93
  state(EXPANDED_STATE, style({ height: '*' })),
94
94
  state(COLLAPSED_STATE, style({ height: 0, 'overflow-y': 'hidden', visibility: 'hidden' })),
@@ -126,7 +126,7 @@ __decorate([
126
126
  __decorate([
127
127
  InputNumber(10)
128
128
  ], SideNavItemComponent.prototype, "indentSize", void 0);
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: SideNavItemComponent, decorators: [{
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SideNavItemComponent, decorators: [{
130
130
  type: Component,
131
131
  args: [{ selector: 'seam-side-nav-item', exportAs: 'seamSideNavItem', animations: [
132
132
  trigger('childGroupAnim', [
@@ -203,4 +203,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
203
203
  type: HostBinding,
204
204
  args: ['attr.data-hier-level']
205
205
  }] } });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL3NpZGUtbmF2L3NpZGUtbmF2LWl0ZW0vc2lkZS1uYXYtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL3NpZGUtbmF2L3NpZGUtbmF2LWl0ZW0vc2lkZS1uYXYtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLE9BQU8sRUFFUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1QixPQUFPLEVBQWdCLHFCQUFxQixFQUFlLE1BQU0sdUJBQXVCLENBQUE7QUFDeEYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsSUFBSSxFQUNKLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixRQUFRLEVBQ1IsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzNELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFFL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUluRSxPQUFPLEVBQW1CLHlCQUF5QixFQUFFLE1BQU0sb0JBQW9CLENBQUE7Ozs7Ozs7QUFXL0UsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFBO0FBQ2pDLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQTtBQUVuQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUE7QUFDekIsTUFB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QUVOLGtCQUFrQjtzQkFBMUQsV0FBVzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBxdWVyeSxcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJ1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHksIE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdCxcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFNraXBTZWxmLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBmYUFuZ2xlTGVmdCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucydcblxuaW1wb3J0IHsgSW5wdXRCb29sZWFuLCBJbnB1dE51bWJlciB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9jb3JlJ1xuaW1wb3J0IHR5cGUgeyBTZWFtSWNvbiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9pY29uJ1xuaW1wb3J0IHR5cGUgeyBUaGVtZVR5cGVzIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL21vZGVscydcblxuaW1wb3J0IHsgU2lkZU5hdkFjY2Vzc29yLCBUSEVTRUFNX1NJREVfTkFWX0FDQ0VTU09SIH0gZnJvbSAnLi4vc2lkZS1uYXYtdG9rZW5zJ1xuaW1wb3J0IHsgSVNpZGVOYXZJdGVtIH0gZnJvbSAnLi4vc2lkZS1uYXYubW9kZWxzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpZGVOYXZJdGVtQmFkZ2VUb29sdGlwIHtcbiAgdG9vbHRpcD86IHN0cmluZ1xuICBjbGFzcz86IHN0cmluZ1xuICBwbGFjZW1lbnQ/OiBzdHJpbmdcbiAgY29udGFpbmVyPzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxufVxuXG5jb25zdCBFWFBBTkRFRF9TVEFURSA9ICdleHBhbmRlZCdcbmNvbnN0IENPTExBUFNFRF9TVEFURSA9ICdjb2xsYXBzZWQnXG5cbmNvbnN0IEZVTExfU1RBVEUgPSAnZnVsbCdcbmNvbnN0IENPTVBBQ1RfU1RBVEUgPSAnY29tcGFjdCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS1zaWRlLW5hdi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtbmF2LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaWRlLW5hdi1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGV4cG9ydEFzOiAnc2VhbVNpZGVOYXZJdGVtJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2NoaWxkR3JvdXBBbmltJywgW1xuICAgICAgc3RhdGUoRVhQQU5ERURfU1RBVEUsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpLFxuICAgICAgc3RhdGUoQ09MTEFQU0VEX1NUQVRFLCBzdHlsZSh7IGhlaWdodDogMCwgJ292ZXJmbG93LXknOiAnaGlkZGVuJywgdmlzaWJpbGl0eTogJ2hpZGRlbicgfSkpLFxuICAgICAgdHJhbnNpdGlvbihgJHtFWFBBTkRFRF9TVEFURX0gPD0+ICR7Q09MTEFQU0VEX1NUQVRFfWAsIGFuaW1hdGUoJzAuMnMgZWFzZS1pbi1vdXQnKSksXG4gICAgXSksXG5cblxuICAgIHRyaWdnZXIoJ2NvbXBhY3RBbmltJywgW1xuICAgICAgLy8gdHJhbnNpdGlvbignKiA8PT4gKicsIFtcbiAgICAgIC8vICAgcXVlcnkoJzplbnRlcicsIFtcbiAgICAgIC8vICAgICBzdHlsZSh7IG9wYWNpdHk6ICcwJyB9KSxcbiAgICAgIC8vICAgICBhbmltYXRlKCc1LjJzIGVhc2UtaW4tb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAnMScgfSkpXG4gICAgICAvLyAgIF0sIHsgb3B0aW9uYWw6IHRydWUgfSksXG4gICAgICAvLyAgIHF1ZXJ5KCc6bGVhdmUnLCBbXG4gICAgICAvLyAgICAgc3R5bGUoeyBvcGFjaXR5OiAnMScgfSksXG4gICAgICAvLyAgICAgYW5pbWF0ZSgnNS4ycyBlYXNlLWluLW91dCcsIHN0eWxlKHsgb3BhY2l0eTogJzAnIH0pKVxuICAgICAgLy8gICBdLCB7IG9wdGlvbmFsOiB0cnVlIH0pXG4gICAgICAvLyBdKVxuXG4gICAgICAvLyBzdGF0ZShGVUxMX1NUQVRFLCBzdHlsZSh7IG9wYWNpdHk6ICcxJyB9KSksXG4gICAgICAvLyBzdGF0ZShDT01QQUNUX1NUQVRFLCBzdHlsZSh7IG9wYWNpdHk6ICcwJyB9KSksXG4gICAgICAvLyB0cmFuc2l0aW9uKGAke0ZVTExfU1RBVEV9IDw9PiAke0NPTVBBQ1RfU1RBVEV9YCwgYW5pbWF0ZSgnNS4ycyBlYXNlLWluLW91dCcpKSxcbiAgICAgIC8vIHRyYW5zaXRpb24oYCR7RlVMTF9TVEFURX0gPD0+ICR7Q09NUEFDVF9TVEFURX1gLCBbXG4gICAgICAvLyB0cmFuc2l0aW9uKCcqIDw9PiAqJywgW1xuICAgICAgLy8gICBxdWVyeSgnOmxlYXZlJywgW1xuICAgICAgLy8gICAgIHN0eWxlKHsgb3BhY2l0eTogJzEnIH0pLFxuICAgICAgLy8gICAgIGFuaW1hdGUoJzUuMnMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6ICcwJyB9KSlcbiAgICAgIC8vICAgXSwgeyBvcHRpb25hbDogdHJ1ZSB9KVxuICAgICAgLy8gXSksXG5cblxuICAgIF0pXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNpZGVOYXZJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2hpZXJMZXZlbDogTnVtYmVySW5wdXRcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2luZGVudFNpemU6IE51bWJlcklucHV0XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9leHBhbmRlZDogQm9vbGVhbklucHV0XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9jb21wYWN0OiBCb29sZWFuSW5wdXRcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2FjdGl2ZTogQm9vbGVhbklucHV0XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICByZWFkb25seSBmYUFuZ2xlTGVmdCA9IGZhQW5nbGVMZWZ0XG5cbiAgQElucHV0KCkgaXRlbVR5cGU6ICdkaXZpZGVyJyB8ICdiYXNpYycgfCAnbGluaycgfCAnYnV0dG9uJyB8ICd0aXRsZScgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgQElucHV0KCkgaWNvbjogU2VhbUljb24gfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgYWN0aXZlOiBib29sZWFuID0gZmFsc2VcblxuICBASW5wdXQoKVxuICBzZXQgbGluayh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCkgeyB0aGlzLl9saW5rLm5leHQodmFsdWUpIH1cbiAgZ2V0IGxpbmsoKSB7IHJldHVybiB0aGlzLl9saW5rLnZhbHVlIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfbGluayA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbD4odW5kZWZpbmVkKVxuICBwdWJsaWMgcmVhZG9ubHkgbGluayQgPSB0aGlzLl9saW5rLmFzT2JzZXJ2YWJsZSgpXG5cbiAgQElucHV0KCkgcXVlcnlQYXJhbXM6IHsgW2s6IHN0cmluZ106IGFueSB9IHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpIGNoaWxkcmVuOiBJU2lkZU5hdkl0ZW1bXSB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBASW5wdXQoKSBASW5wdXROdW1iZXIoMCkgaGllckxldmVsOiBudW1iZXIgPSAwXG5cbiAgQElucHV0KCkgQElucHV0TnVtYmVyKDEwKSBpbmRlbnRTaXplOiBudW1iZXIgPSAxMFxuXG4gIEBJbnB1dCgpXG4gIHNldCBleHBhbmRlZCh2YWx1ZTogYm9vbGVhbikgeyB0aGlzLl9leHBhbmRlZC5uZXh0KGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkpIH1cbiAgZ2V0IGV4cGFuZGVkKCkgeyByZXR1cm4gdGhpcy5fZXhwYW5kZWQudmFsdWUgfVxuICBwcml2YXRlIHJlYWRvbmx5IF9leHBhbmRlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpXG4gIHB1YmxpYyByZWFkb25seSBleHBhbmRlZCQgPSB0aGlzLl9leHBhbmRlZC5hc09ic2VydmFibGUoKVxuXG4gIEBJbnB1dCgpXG4gIHNldCBjb21wYWN0KHZhbHVlOiBib29sZWFuKSB7IHRoaXMuX2NvbXBhY3QubmV4dChjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpKSB9XG4gIGdldCBjb21wYWN0KCkgeyByZXR1cm4gdGhpcy5fY29tcGFjdC52YWx1ZSB9XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBhY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKVxuICBwdWJsaWMgcmVhZG9ubHkgY29tcGFjdCQgPSB0aGlzLl9jb21wYWN0LmFzT2JzZXJ2YWJsZSgpXG5cbiAgQElucHV0KCkgYmFkZ2VUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsXG4gIEBJbnB1dCgpIGJhZGdlVGhlbWU6IFRoZW1lVHlwZXMgfCB1bmRlZmluZWQgfCBudWxsID0gJ2RhbmdlcidcblxuICAvKipcbiAgICogQ29udGVudCB0byBwcm92aWRlIHRvIGFzc2lzdGl2ZSB0ZWNobm9sb2d5LCBzdWNoIGFzIHNjcmVlbiByZWFkZXJzLlxuICAgKi9cbiAgQElucHV0KCkgYmFkZ2VTckNvbnRlbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBASW5wdXQoKVxuICBnZXQgYmFkZ2VUb29sdGlwKCkgeyByZXR1cm4gdGhpcy5fYmFkZ2VUb29sdGlwIH1cbiAgc2V0IGJhZGdlVG9vbHRpcCh2YWx1ZTogc3RyaW5nIHwgU2lkZU5hdkl0ZW1CYWRnZVRvb2x0aXAgfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuX2JhZGdlVG9vbHRpcCA9IHtcbiAgICAgICAgICB0b29sdGlwOiB2YWx1ZSxcbiAgICAgICAgICBwbGFjZW1lbnQ6ICdhdXRvJyxcbiAgICAgICAgICBkaXNhYmxlZDogZmFsc2VcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fYmFkZ2VUb29sdGlwID0ge1xuICAgICAgICAgIC4uLnZhbHVlLFxuICAgICAgICAgIHBsYWNlbWVudDogdmFsdWUucGxhY2VtZW50IHx8ICdhdXRvJyxcbiAgICAgICAgICBkaXNhYmxlZDogdHlwZW9mIHZhbHVlPy5kaXNhYmxlZCA9PT0gJ2Jvb2xlYW4nXG4gICAgICAgICAgICA/IHZhbHVlLmRpc2FibGVkXG4gICAgICAgICAgICA6IHR5cGVvZiB2YWx1ZS50b29sdGlwID09PSAnc3RyaW5nJyA/IGZhbHNlIDogdHJ1ZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2JhZGdlVG9vbHRpcCA9IHVuZGVmaW5lZFxuICAgIH1cbiAgfVxuICBwcml2YXRlIF9iYWRnZVRvb2x0aXA6IFNpZGVOYXZJdGVtQmFkZ2VUb29sdGlwIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2VhbS1zaWRlLW5hdi1pdGVtLS1hY3RpdmUnKSBnZXQgX2lzQWN0aXZlQ3NzQ2xhc3MoKSB7IHJldHVybiB0aGlzLmFjdGl2ZSB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtaGllci1sZXZlbCcpIGdldCBfYXR0ckRhdGFIaWVyTGV2ZWwoKSB7IHJldHVybiB0aGlzLmhpZXJMZXZlbCB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGNoaWxkR3JvdXBBbmltU3RhdGUkOiBPYnNlcnZhYmxlPHN0cmluZz5cbiAgcHVibGljIHJlYWRvbmx5IGNvbXBhY3RBbmltU3RhdGUkOiBPYnNlcnZhYmxlPHN0cmluZz5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KFRIRVNFQU1fU0lERV9OQVZfQUNDRVNTT1IpIHByaXZhdGUgcmVhZG9ubHkgX3NpZGVOYXY6IFNpZGVOYXZBY2Nlc3NvcixcbiAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBASG9zdCgpIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudD86IFNpZGVOYXZJdGVtQ29tcG9uZW50XG4gICkge1xuICAgIHRoaXMuY2hpbGRHcm91cEFuaW1TdGF0ZSQgPSB0aGlzLmV4cGFuZGVkJFxuICAgICAgLnBpcGUobWFwKGV4cGFuZGVkID0+IGV4cGFuZGVkID8gRVhQQU5ERURfU1RBVEUgOiBDT0xMQVBTRURfU1RBVEUpKVxuXG4gICAgdGhpcy5jb21wYWN0QW5pbVN0YXRlJCA9IHRoaXMuY29tcGFjdCRcbiAgICAgIC5waXBlKG1hcChjb21wYWN0ID0+IGNvbXBhY3QgPyBDT01QQUNUX1NUQVRFIDogRlVMTF9TVEFURSkpXG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLm5leHQodW5kZWZpbmVkKVxuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUuY29tcGxldGUoKVxuICB9XG5cbiAgZ2V0IGhhc0NoaWxkcmVuKCkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuY2hpbGRyZW4pICYmIHRoaXMuY2hpbGRyZW4ubGVuZ3RoID4gMFxuICB9XG5cbiAgcHVibGljIHRvZ2dsZUNoaWxkcmVuKCk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZFxuICB9XG5cbiAgX2xpbmtDbGlja2VkKCkge1xuICAgIC8vIENsb3NlIG5hdiB3aGVuIGxpbmsgaXMgY2xpY2tlZCB3aGlsZSBpbiBvdmVybGF5IHN0YXRlXG4gICAgaWYgKHRoaXMuX3NpZGVOYXYub3ZlcmxheSkge1xuICAgICAgdGhpcy5fc2lkZU5hdi5jb2xsYXBzZSgpXG4gICAgfVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3dcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1UeXBlID09PSAnYmFzaWMnXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UeXBlQmFzaWNcIj48L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1UeXBlID09PSAnbGluaydcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVR5cGVMaW5rXCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtVHlwZSA9PT0gJ2RpdmlkZXInXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UeXBlRGl2aWRlclwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbVR5cGUgPT09ICd0aXRsZSdcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVR5cGVUaXRsZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNDaGlsZHJlblwiPlxuICA8ZGl2IGNsYXNzPVwic2lkZS1uYXYtLWdyb3VwIHNpZGUtbmF2LS1ncm91cC0tbGV2ZWwte3sgaGllckxldmVsICsgMSB9fVwiXG4gICAgW0BjaGlsZEdyb3VwQW5pbV09XCJjaGlsZEdyb3VwQW5pbVN0YXRlJCB8IGFzeW5jXCI+XG4gICAgPHNlYW0tc2lkZS1uYXYtaXRlbSAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgY2hpbGRyZW5cIlxuICAgICAgW2hpZXJMZXZlbF09XCJjb21wYWN0ID8gMCA6IChoaWVyTGV2ZWwgKyAxKVwiXG4gICAgICBbY29tcGFjdF09XCJjb21wYWN0XCJcbiAgICAgIFtpdGVtVHlwZV09XCIkYW55KGNoaWxkKS5pdGVtVHlwZVwiXG4gICAgICBbaWNvbl09XCIkYW55KGNoaWxkKS5pY29uXCJcbiAgICAgIFtsYWJlbF09XCIkYW55KGNoaWxkKS5sYWJlbFwiXG4gICAgICBbbGlua109XCIkYW55KGNoaWxkKS5saW5rXCJcbiAgICAgIFtiYWRnZVRleHRdPVwiJGFueShjaGlsZCkuYmFkZ2U/LnRleHRcIlxuICAgICAgW2JhZGdlVGhlbWVdPVwiJGFueShjaGlsZCkuYmFkZ2U/LnRoZW1lIHx8ICdkYW5nZXInXCJcbiAgICAgIFtiYWRnZVNyQ29udGVudF09XCIkYW55KGNoaWxkKS5iYWRnZT8uc3JDb250ZW50XCJcbiAgICAgIFtiYWRnZVRvb2x0aXBdPVwiJGFueShjaGlsZCk/LmJhZGdlPy50b29sdGlwXCJcbiAgICAgIFtxdWVyeVBhcmFtc109XCIkYW55KGNoaWxkKS5xdWVyeVBhcmFtc1wiXG4gICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCJcbiAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7IGV4YWN0OiB0cnVlIH1cIlxuICAgICAgW2NoaWxkcmVuXT1cIiRhbnkoY2hpbGQpPy5jaGlsZHJlblwiXG4gICAgICBbYWN0aXZlXT1cIiRhbnkoY2hpbGQpLl9fc3RhdGU/LmFjdGl2ZVwiXG4gICAgICBbZXhwYW5kZWRdPVwiJGFueShjaGlsZCkuX19zdGF0ZT8uZXhwYW5kZWRcIj5cbiAgICA8L3NlYW0tc2lkZS1uYXYtaXRlbT5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNpdGVtVHlwZUJhc2ljPlxuICA8YnV0dG9uIGNsYXNzPVwic2lkZS1uYXYtaXRlbSBidG4gc2lkZS1uYXYtYnRuIHAtMCBkLWZsZXggZmxleC1yb3cgcm91bmRlZC0wIHRleHQtZGVjb3JhdGlvbi1ub25lIHRleHQtbm93cmFwIHctMTAwXCJcbiAgICBjZGtNb25pdG9yRWxlbWVudEZvY3VzXG4gICAgKGNsaWNrKT1cInRvZ2dsZUNoaWxkcmVuKClcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibmF2LWxpbmsgZC1mbGV4IGZsZXgtcm93IHctMTAwXCIgW2NsYXNzLm5hdi1saW5rX19jb21wYWN0XT1cImNvbXBhY3RcIj5cbiAgICAgIDxkaXYgW3N0eWxlLnBhZGRpbmctbGVmdC5weF09XCJoaWVyTGV2ZWwgKiBpbmRlbnRTaXplXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXYtaXRlbS0taWNvblwiPlxuICAgICAgICA8c2VhbS1pY29uICpuZ0lmPVwiaWNvblwiIFtpY29uXT1cImljb25cIj48L3NlYW0taWNvbj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbXBhY3RcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbUJhZGdlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIWNvbXBhY3RcIiBzaWRlLW5hdi1pdGVtLWxhYmVsIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDExcHg7XCI+XG4gICAgICAgIHt7IGxhYmVsIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cImNvbXBhY3RcIiBjbGFzcz1cInNyLW9ubHlcIiBzaWRlLW5hdi1pdGVtLWxhYmVsPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb21wYWN0XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtQmFkZ2VcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiaGFzQ2hpbGRyZW4gJiYgIWNvbXBhY3RcIlxuICAgICAgY2xhc3M9XCJidG4gc2lkZS1uYXYtYnRuIHNpZGUtbmF2LWl0ZW0tLXRvZ2dsZS1idG4tY29udGFpbmVyIHJvdW5kZWQtMFwiPlxuICAgICAgPHNlYW0taWNvblxuICAgICAgICBjbGFzcz1cInNpZGUtbmF2LWl0ZW0tLXRvZ2dsZS1idG5cIlxuICAgICAgICBbY2xhc3Muc2lkZS1uYXYtaXRlbS0tdG9nZ2xlLWJ0bi1leHBhbmRlZF09XCJleHBhbmRlZFwiXG4gICAgICAgIFtpY29uXT1cImZhQW5nbGVMZWZ0XCJcbiAgICAgICAgdHlwZT5cbiAgICAgIDwvc2VhbS1pY29uPlxuICAgIDwvZGl2PlxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVR5cGVMaW5rPlxuICA8YSAqbmdJZj1cImxpbms7IGVsc2Ugbm9MaW5rXCIgY2xhc3M9XCJzaWRlLW5hdi1pdGVtIG5hdi1saW5rIGQtZmxleCBmbGV4LXJvdyB0ZXh0LW5vd3JhcCB3LTEwMCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgIFtjbGFzcy5uYXYtbGlua19fY29tcGFjdF09XCJjb21wYWN0XCJcbiAgICBbcm91dGVyTGlua109XCJsaW5rXCJcbiAgICBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNcIlxuICAgIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIlxuICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7IGV4YWN0OiB0cnVlIH1cIlxuICAgIChjbGljayk9XCJfbGlua0NsaWNrZWQoKVwiPlxuICAgIDxkaXYgW3N0eWxlLnBhZGRpbmctbGVmdC5weF09XCJoaWVyTGV2ZWwgKiBpbmRlbnRTaXplXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2LWl0ZW0tLWljb25cIj5cbiAgICAgIDxzZWFtLWljb24gKm5nSWY9XCJpY29uXCIgW2ljb25dPVwiaWNvblwiPjwvc2VhbS1pY29uPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbXBhY3RcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1CYWRnZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiAqbmdJZj1cIiFjb21wYWN0XCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTFweDtcIiBzaWRlLW5hdi1pdGVtLWxhYmVsPlxuICAgICAge3sgbGFiZWwgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gKm5nSWY9XCJjb21wYWN0XCIgY2xhc3M9XCJzci1vbmx5XCIgc2lkZS1uYXYtaXRlbS1sYWJlbD57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbXBhY3RcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtQmFkZ2VcIj48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2E+XG5cbiAgPG5nLXRlbXBsYXRlICNub0xpbms+XG4gICAgPGEgY2xhc3M9XCJzaWRlLW5hdi1pdGVtIG5hdi1saW5rIGQtZmxleCBmbGV4LXJvdyB0ZXh0LW5vd3JhcCB3LTEwMCBhbGlnbi1pdGVtcy1jZW50ZXJcIiBbY2xhc3MubmF2LWxpbmtfX2NvbXBhY3RdPVwiY29tcGFjdFwiPlxuICAgICAgPGRpdiBbc3R5bGUucGFkZGluZy1sZWZ0LnB4XT1cImhpZXJMZXZlbCAqIGluZGVudFNpemVcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLW5hdi1pdGVtLS1pY29uXCI+XG4gICAgICAgIDxzZWFtLWljb24gKm5nSWY9XCJpY29uXCIgW2ljb25dPVwiaWNvblwiPjwvc2VhbS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiAqbmdJZj1cIiFjb21wYWN0XCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTFweDtcIiBzaWRlLW5hdi1pdGVtLWxhYmVsPlxuICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJjb21wYWN0XCIgY2xhc3M9XCJzci1vbmx5XCIgc2lkZS1uYXYtaXRlbS1sYWJlbD57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2E+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPGJ1dHRvbiAqbmdJZj1cImhhc0NoaWxkcmVuICYmICFjb21wYWN0XCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cImJ0biBzaWRlLW5hdi1idG4gc2lkZS1uYXYtaXRlbS0tdG9nZ2xlLWJ0bi1jb250YWluZXIgcm91bmRlZC0wXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlQ2hpbGRyZW4oKVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJleHBhbmRlZFwiXG4gICAgY2RrTW9uaXRvckVsZW1lbnRGb2N1cz5cbiAgICA8c2VhbS1pY29uXG4gICAgICBjbGFzcz1cInNpZGUtbmF2LWl0ZW0tLXRvZ2dsZS1idG5cIlxuICAgICAgW2NsYXNzLnNpZGUtbmF2LWl0ZW0tLXRvZ2dsZS1idG4tZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxuICAgICAgW2ljb25dPVwiZmFBbmdsZUxlZnRcIlxuICAgICAgdHlwZT5cbiAgICA8L3NlYW0taWNvbj5cbiAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5Hcm91cCBUb2dnbGU8L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpdGVtVHlwZURpdmlkZXI+XG4gIDxkaXYgY2xhc3M9XCJweC0yIHctMTAwXCI+XG4gICAgPGhyIGNsYXNzPVwic2lkZS1uYXYtaXRlbS0tZGl2aWRlclwiIC8+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpdGVtVHlwZVRpdGxlPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbXBhY3RcIj5cbiAgICA8c3BhbiBjbGFzcz1cInNpZGUtbmF2LWl0ZW0tLXRpdGxlIHB0LTFcIiBzaWRlLW5hdi1pdGVtLWxhYmVsPnt7IGxhYmVsIH19PC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbUJhZGdlPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYmFkZ2VUZXh0XCI+XG4gICAgPGRpdiBjbGFzcz1cImJhZGdlLXNwYWNlciBmbGV4LWdyb3ctMVwiICpuZ0lmPVwiIWNvbXBhY3RcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXYtaXRlbS0tYmFkZ2VcIlxuICAgICAgW2NsYXNzLnNpZGUtbmF2LWl0ZW0tLWJhZGdlLW5vLWljb25dPVwiIWljb25cIlxuICAgICAgW25nYlRvb2x0aXBdPVwiJGFueShiYWRnZVRvb2x0aXApPy50b29sdGlwXCJcbiAgICAgIFt0b29sdGlwQ2xhc3NdPVwiJGFueShiYWRnZVRvb2x0aXApPy5jbGFzc1wiXG4gICAgICBbcGxhY2VtZW50XT1cIiRhbnkoYmFkZ2VUb29sdGlwKT8ucGxhY2VtZW50XCJcbiAgICAgIFtjb250YWluZXJdPVwiJGFueShiYWRnZVRvb2x0aXApPy5jb250YWluZXJcIlxuICAgICAgW2Rpc2FibGVUb29sdGlwXT1cIiFiYWRnZVRvb2x0aXAgfHwgISEkYW55KGJhZGdlVG9vbHRpcCk/LmRpc2FibGVkXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLXBpbGwgYmFkZ2Ute3sgYmFkZ2VUaGVtZSB9fVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbXBhY3QgfHwgIWljb25cIj5cbiAgICAgICAgICB7eyBiYWRnZVRleHQgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiYmFkZ2VTckNvbnRlbnRcIj57eyBiYWRnZVNyQ29udGVudCB9fTwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL3NpZGUtbmF2L3NpZGUtbmF2LWl0ZW0vc2lkZS1uYXYtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL3NpZGUtbmF2L3NpZGUtbmF2LWl0ZW0vc2lkZS1uYXYtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLE9BQU8sRUFFUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1QixPQUFPLEVBQWdCLHFCQUFxQixFQUFlLE1BQU0sdUJBQXVCLENBQUE7QUFDeEYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsSUFBSSxFQUNKLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixRQUFRLEVBQ1IsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzNELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFFL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUluRSxPQUFPLEVBQW1CLHlCQUF5QixFQUFFLE1BQU0sb0JBQW9CLENBQUE7Ozs7Ozs7QUFXL0UsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFBO0FBQ2pDLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQTtBQUVuQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUE7QUFDekIsTUFB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Q29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBxdWVyeSxcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJ1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHksIE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdCxcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFNraXBTZWxmLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBmYUFuZ2xlTGVmdCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucydcblxuaW1wb3J0IHsgSW5wdXRCb29sZWFuLCBJbnB1dE51bWJlciB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9jb3JlJ1xuaW1wb3J0IHR5cGUgeyBTZWFtSWNvbiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9pY29uJ1xuaW1wb3J0IHR5cGUgeyBUaGVtZVR5cGVzIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL21vZGVscydcblxuaW1wb3J0IHsgU2lkZU5hdkFjY2Vzc29yLCBUSEVTRUFNX1NJREVfTkFWX0FDQ0VTU09SIH0gZnJvbSAnLi4vc2lkZS1uYXYtdG9rZW5zJ1xuaW1wb3J0IHsgSVNpZGVOYXZJdGVtIH0gZnJvbSAnLi4vc2lkZS1uYXYubW9kZWxzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpZGVOYXZJdGVtQmFkZ2VUb29sdGlwIHtcbiAgdG9vbHRpcD86IHN0cmluZ1xuICBjbGFzcz86IHN0cmluZ1xuICBwbGFjZW1lbnQ/OiBzdHJpbmdcbiAgY29udGFpbmVyPzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxufVxuXG5jb25zdCBFWFBBTkRFRF9TVEFURSA9ICdleHBhbmRlZCdcbmNvbnN0IENPTExBUFNFRF9TVEFURSA9ICdjb2xsYXBzZWQnXG5cbmNvbnN0IEZVTExfU1RBVEUgPSAnZnVsbCdcbmNvbnN0IENPTVBBQ1RfU1RBVEUgPSAnY29tcGFjdCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS1zaWRlLW5hdi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtbmF2LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaWRlLW5hdi1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGV4cG9ydEFzOiAnc2VhbVNpZGVOYXZJdGVtJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2NoaWxkR3JvdXBBbmltJywgW1xuICAgICAgc3RhdGUoRVhQQU5ERURfU1RBVEUsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpLFxuICAgICAgc3RhdGUoQ09MTEFQU0VEX1NUQVRFLCBzdHlsZSh7IGhlaWdodDogMCwgJ292ZXJmbG93LXknOiAnaGlkZGVuJywgdmlzaWJpbGl0eTogJ2hpZGRlbicgfSkpLFxuICAgICAgdHJhbnNpdGlvbihgJHtFWFBBTkRFRF9TVEFURX0gPD0+ICR7Q09MTEFQU0VEX1NUQVRFfWAsIGFuaW1hdGUoJzAuMnMgZWFzZS1pbi1vdXQnKSksXG4gICAgXSksXG5cbiAgICB0cmlnZ2VyKCdjb21wYWN0QW5pbScsIFtcbiAgICAgIC8vIHRyYW5zaXRpb24oJyogPD0+IConLCBbXG4gICAgICAvLyAgIHF1ZXJ5KCc6ZW50ZXInLCBbXG4gICAgICAvLyAgICAgc3R5bGUoeyBvcGFjaXR5OiAnMCcgfSksXG4gICAgICAvLyAgICAgYW5pbWF0ZSgnNS4ycyBlYXNlLWluLW91dCcsIHN0eWxlKHsgb3BhY2l0eTogJzEnIH0pKVxuICAgICAgLy8gICBdLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICAgICAgLy8gICBxdWVyeSgnOmxlYXZlJywgW1xuICAgICAgLy8gICAgIHN0eWxlKHsgb3BhY2l0eTogJzEnIH0pLFxuICAgICAgLy8gICAgIGFuaW1hdGUoJzUuMnMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6ICcwJyB9KSlcbiAgICAgIC8vICAgXSwgeyBvcHRpb25hbDogdHJ1ZSB9KVxuICAgICAgLy8gXSlcblxuICAgICAgLy8gc3RhdGUoRlVMTF9TVEFURSwgc3R5bGUoeyBvcGFjaXR5OiAnMScgfSkpLFxuICAgICAgLy8gc3RhdGUoQ09NUEFDVF9TVEFURSwgc3R5bGUoeyBvcGFjaXR5OiAnMCcgfSkpLFxuICAgICAgLy8gdHJhbnNpdGlvbihgJHtGVUxMX1NUQVRFfSA8PT4gJHtDT01QQUNUX1NUQVRFfWAsIGFuaW1hdGUoJzUuMnMgZWFzZS1pbi1vdXQnKSksXG4gICAgICAvLyB0cmFuc2l0aW9uKGAke0ZVTExfU1RBVEV9IDw9PiAke0NPTVBBQ1RfU1RBVEV9YCwgW1xuICAgICAgLy8gdHJhbnNpdGlvbignKiA8PT4gKicsIFtcbiAgICAgIC8vICAgcXVlcnkoJzpsZWF2ZScsIFtcbiAgICAgIC8vICAgICBzdHlsZSh7IG9wYWNpdHk6ICcxJyB9KSxcbiAgICAgIC8vICAgICBhbmltYXRlKCc1LjJzIGVhc2UtaW4tb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAnMCcgfSkpXG4gICAgICAvLyAgIF0sIHsgb3B0aW9uYWw6IHRydWUgfSlcbiAgICAgIC8vIF0pLFxuXG4gICAgXSlcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2lkZU5hdkl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfaGllckxldmVsOiBOdW1iZXJJbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfaW5kZW50U2l6ZTogTnVtYmVySW5wdXRcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2V4cGFuZGVkOiBCb29sZWFuSW5wdXRcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2NvbXBhY3Q6IEJvb2xlYW5JbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfYWN0aXZlOiBCb29sZWFuSW5wdXRcblxuICBwcml2YXRlIHJlYWRvbmx5IF9uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuXG4gIHJlYWRvbmx5IGZhQW5nbGVMZWZ0ID0gZmFBbmdsZUxlZnRcblxuICBASW5wdXQoKSBpdGVtVHlwZTogJ2RpdmlkZXInIHwgJ2Jhc2ljJyB8ICdsaW5rJyB8ICdidXR0b24nIHwgJ3RpdGxlJyB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBASW5wdXQoKSBpY29uOiBTZWFtSWNvbiB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBhY3RpdmUgPSBmYWxzZVxuXG4gIEBJbnB1dCgpXG4gIHNldCBsaW5rKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsKSB7IHRoaXMuX2xpbmsubmV4dCh2YWx1ZSkgfVxuICBnZXQgbGluaygpIHsgcmV0dXJuIHRoaXMuX2xpbmsudmFsdWUgfVxuICBwcml2YXRlIHJlYWRvbmx5IF9saW5rID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsPih1bmRlZmluZWQpXG4gIHB1YmxpYyByZWFkb25seSBsaW5rJCA9IHRoaXMuX2xpbmsuYXNPYnNlcnZhYmxlKClcblxuICBASW5wdXQoKSBxdWVyeVBhcmFtczogeyBbazogc3RyaW5nXTogYW55IH0gfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgQElucHV0KCkgY2hpbGRyZW46IElTaWRlTmF2SXRlbVtdIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpIEBJbnB1dE51bWJlcigwKSBoaWVyTGV2ZWwgPSAwXG5cbiAgQElucHV0KCkgQElucHV0TnVtYmVyKDEwKSBpbmRlbnRTaXplID0gMTBcblxuICBASW5wdXQoKVxuICBzZXQgZXhwYW5kZWQodmFsdWU6IGJvb2xlYW4pIHsgdGhpcy5fZXhwYW5kZWQubmV4dChjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpKSB9XG4gIGdldCBleHBhbmRlZCgpIHsgcmV0dXJuIHRoaXMuX2V4cGFuZGVkLnZhbHVlIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfZXhwYW5kZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKVxuICBwdWJsaWMgcmVhZG9ubHkgZXhwYW5kZWQkID0gdGhpcy5fZXhwYW5kZWQuYXNPYnNlcnZhYmxlKClcblxuICBASW5wdXQoKVxuICBzZXQgY29tcGFjdCh2YWx1ZTogYm9vbGVhbikgeyB0aGlzLl9jb21wYWN0Lm5leHQoY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKSkgfVxuICBnZXQgY29tcGFjdCgpIHsgcmV0dXJuIHRoaXMuX2NvbXBhY3QudmFsdWUgfVxuICBwcml2YXRlIHJlYWRvbmx5IF9jb21wYWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSlcbiAgcHVibGljIHJlYWRvbmx5IGNvbXBhY3QkID0gdGhpcy5fY29tcGFjdC5hc09ic2VydmFibGUoKVxuXG4gIEBJbnB1dCgpIGJhZGdlVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbFxuICBASW5wdXQoKSBiYWRnZVRoZW1lOiBUaGVtZVR5cGVzIHwgdW5kZWZpbmVkIHwgbnVsbCA9ICdkYW5nZXInXG5cbiAgLyoqXG4gICAqIENvbnRlbnQgdG8gcHJvdmlkZSB0byBhc3Npc3RpdmUgdGVjaG5vbG9neSwgc3VjaCBhcyBzY3JlZW4gcmVhZGVycy5cbiAgICovXG4gIEBJbnB1dCgpIGJhZGdlU3JDb250ZW50OiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgQElucHV0KClcbiAgZ2V0IGJhZGdlVG9vbHRpcCgpIHsgcmV0dXJuIHRoaXMuX2JhZGdlVG9vbHRpcCB9XG4gIHNldCBiYWRnZVRvb2x0aXAodmFsdWU6IHN0cmluZyB8IFNpZGVOYXZJdGVtQmFkZ2VUb29sdGlwIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLl9iYWRnZVRvb2x0aXAgPSB7XG4gICAgICAgICAgdG9vbHRpcDogdmFsdWUsXG4gICAgICAgICAgcGxhY2VtZW50OiAnYXV0bycsXG4gICAgICAgICAgZGlzYWJsZWQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2JhZGdlVG9vbHRpcCA9IHtcbiAgICAgICAgICAuLi52YWx1ZSxcbiAgICAgICAgICBwbGFjZW1lbnQ6IHZhbHVlLnBsYWNlbWVudCB8fCAnYXV0bycsXG4gICAgICAgICAgZGlzYWJsZWQ6IHR5cGVvZiB2YWx1ZT8uZGlzYWJsZWQgPT09ICdib29sZWFuJ1xuICAgICAgICAgICAgPyB2YWx1ZS5kaXNhYmxlZFxuICAgICAgICAgICAgOiB0eXBlb2YgdmFsdWUudG9vbHRpcCAhPT0gJ3N0cmluZydcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9iYWRnZVRvb2x0aXAgPSB1bmRlZmluZWRcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfYmFkZ2VUb29sdGlwOiBTaWRlTmF2SXRlbUJhZGdlVG9vbHRpcCB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNlYW0tc2lkZS1uYXYtaXRlbS0tYWN0aXZlJykgZ2V0IF9pc0FjdGl2ZUNzc0NsYXNzKCkgeyByZXR1cm4gdGhpcy5hY3RpdmUgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWhpZXItbGV2ZWwnKSBnZXQgX2F0dHJEYXRhSGllckxldmVsKCkgeyByZXR1cm4gdGhpcy5oaWVyTGV2ZWwgfVxuXG4gIHB1YmxpYyByZWFkb25seSBjaGlsZEdyb3VwQW5pbVN0YXRlJDogT2JzZXJ2YWJsZTxzdHJpbmc+XG4gIHB1YmxpYyByZWFkb25seSBjb21wYWN0QW5pbVN0YXRlJDogT2JzZXJ2YWJsZTxzdHJpbmc+XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChUSEVTRUFNX1NJREVfTkFWX0FDQ0VTU09SKSBwcml2YXRlIHJlYWRvbmx5IF9zaWRlTmF2OiBTaWRlTmF2QWNjZXNzb3IsXG4gICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgQEhvc3QoKSBwcml2YXRlIHJlYWRvbmx5IF9wYXJlbnQ/OiBTaWRlTmF2SXRlbUNvbXBvbmVudFxuICApIHtcbiAgICB0aGlzLmNoaWxkR3JvdXBBbmltU3RhdGUkID0gdGhpcy5leHBhbmRlZCRcbiAgICAgIC5waXBlKG1hcChleHBhbmRlZCA9PiBleHBhbmRlZCA/IEVYUEFOREVEX1NUQVRFIDogQ09MTEFQU0VEX1NUQVRFKSlcblxuICAgIHRoaXMuY29tcGFjdEFuaW1TdGF0ZSQgPSB0aGlzLmNvbXBhY3QkXG4gICAgICAucGlwZShtYXAoY29tcGFjdCA9PiBjb21wYWN0ID8gQ09NUEFDVF9TVEFURSA6IEZVTExfU1RBVEUpKVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KHVuZGVmaW5lZClcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKClcbiAgfVxuXG4gIGdldCBoYXNDaGlsZHJlbigpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLmNoaWxkcmVuKSAmJiB0aGlzLmNoaWxkcmVuLmxlbmd0aCA+IDBcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVDaGlsZHJlbigpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWRcbiAgfVxuXG4gIF9saW5rQ2xpY2tlZCgpIHtcbiAgICAvLyBDbG9zZSBuYXYgd2hlbiBsaW5rIGlzIGNsaWNrZWQgd2hpbGUgaW4gb3ZlcmxheSBzdGF0ZVxuICAgIGlmICh0aGlzLl9zaWRlTmF2Lm92ZXJsYXkpIHtcbiAgICAgIHRoaXMuX3NpZGVOYXYuY29sbGFwc2UoKVxuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93XCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtVHlwZSA9PT0gJ2Jhc2ljJ1wiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVHlwZUJhc2ljXCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtVHlwZSA9PT0gJ2xpbmsnXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UeXBlTGlua1wiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbVR5cGUgPT09ICdkaXZpZGVyJ1wiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVHlwZURpdmlkZXJcIj48L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1UeXBlID09PSAndGl0bGUnXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UeXBlVGl0bGVcIj48L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiaGFzQ2hpbGRyZW5cIj5cbiAgPGRpdiBjbGFzcz1cInNpZGUtbmF2LS1ncm91cCBzaWRlLW5hdi0tZ3JvdXAtLWxldmVsLXt7IGhpZXJMZXZlbCArIDEgfX1cIlxuICAgIFtAY2hpbGRHcm91cEFuaW1dPVwiY2hpbGRHcm91cEFuaW1TdGF0ZSQgfCBhc3luY1wiPlxuICAgIDxzZWFtLXNpZGUtbmF2LWl0ZW0gKm5nRm9yPVwibGV0IGNoaWxkIG9mIGNoaWxkcmVuXCJcbiAgICAgIFtoaWVyTGV2ZWxdPVwiY29tcGFjdCA/IDAgOiAoaGllckxldmVsICsgMSlcIlxuICAgICAgW2NvbXBhY3RdPVwiY29tcGFjdFwiXG4gICAgICBbaXRlbVR5cGVdPVwiJGFueShjaGlsZCkuaXRlbVR5cGVcIlxuICAgICAgW2ljb25dPVwiJGFueShjaGlsZCkuaWNvblwiXG4gICAgICBbbGFiZWxdPVwiJGFueShjaGlsZCkubGFiZWxcIlxuICAgICAgW2xpbmtdPVwiJGFueShjaGlsZCkubGlua1wiXG4gICAgICBbYmFkZ2VUZXh0XT1cIiRhbnkoY2hpbGQpLmJhZGdlPy50ZXh0XCJcbiAgICAgIFtiYWRnZVRoZW1lXT1cIiRhbnkoY2hpbGQpLmJhZGdlPy50aGVtZSB8fCAnZGFuZ2VyJ1wiXG4gICAgICBbYmFkZ2VTckNvbnRlbnRdPVwiJGFueShjaGlsZCkuYmFkZ2U/LnNyQ29udGVudFwiXG4gICAgICBbYmFkZ2VUb29sdGlwXT1cIiRhbnkoY2hpbGQpPy5iYWRnZT8udG9vbHRpcFwiXG4gICAgICBbcXVlcnlQYXJhbXNdPVwiJGFueShjaGlsZCkucXVlcnlQYXJhbXNcIlxuICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiXG4gICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwieyBleGFjdDogdHJ1ZSB9XCJcbiAgICAgIFtjaGlsZHJlbl09XCIkYW55KGNoaWxkKT8uY2hpbGRyZW5cIlxuICAgICAgW2FjdGl2ZV09XCIkYW55KGNoaWxkKS5fX3N0YXRlPy5hY3RpdmVcIlxuICAgICAgW2V4cGFuZGVkXT1cIiRhbnkoY2hpbGQpLl9fc3RhdGU/LmV4cGFuZGVkXCI+XG4gICAgPC9zZWFtLXNpZGUtbmF2LWl0ZW0+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVR5cGVCYXNpYz5cbiAgPGJ1dHRvbiBjbGFzcz1cInNpZGUtbmF2LWl0ZW0gYnRuIHNpZGUtbmF2LWJ0biBwLTAgZC1mbGV4IGZsZXgtcm93IHJvdW5kZWQtMCB0ZXh0LWRlY29yYXRpb24tbm9uZSB0ZXh0LW5vd3JhcCB3LTEwMFwiXG4gICAgY2RrTW9uaXRvckVsZW1lbnRGb2N1c1xuICAgIChjbGljayk9XCJ0b2dnbGVDaGlsZHJlbigpXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImV4cGFuZGVkXCI+XG4gICAgPGRpdiBjbGFzcz1cIm5hdi1saW5rIGQtZmxleCBmbGV4LXJvdyB3LTEwMFwiIFtjbGFzcy5uYXYtbGlua19fY29tcGFjdF09XCJjb21wYWN0XCI+XG4gICAgICA8ZGl2IFtzdHlsZS5wYWRkaW5nLWxlZnQucHhdPVwiaGllckxldmVsICogaW5kZW50U2l6ZVwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2LWl0ZW0tLWljb25cIj5cbiAgICAgICAgPHNlYW0taWNvbiAqbmdJZj1cImljb25cIiBbaWNvbl09XCJpY29uXCI+PC9zZWFtLWljb24+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21wYWN0XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1CYWRnZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiAqbmdJZj1cIiFjb21wYWN0XCIgc2lkZS1uYXYtaXRlbS1sYWJlbCBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMXB4O1wiPlxuICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJjb21wYWN0XCIgY2xhc3M9XCJzci1vbmx5XCIgc2lkZS1uYXYtaXRlbS1sYWJlbD57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29tcGFjdFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbUJhZGdlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImhhc0NoaWxkcmVuICYmICFjb21wYWN0XCJcbiAgICAgIGNsYXNzPVwiYnRuIHNpZGUtbmF2LWJ0biBzaWRlLW5hdi1pdGVtLS10b2dnbGUtYnRuLWNvbnRhaW5lciByb3VuZGVkLTBcIj5cbiAgICAgIDxzZWFtLWljb25cbiAgICAgICAgY2xhc3M9XCJzaWRlLW5hdi1pdGVtLS10b2dnbGUtYnRuXCJcbiAgICAgICAgW2NsYXNzLnNpZGUtbmF2LWl0ZW0tLXRvZ2dsZS1idG4tZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxuICAgICAgICBbaWNvbl09XCJmYUFuZ2xlTGVmdFwiXG4gICAgICAgIHR5cGU+XG4gICAgICA8L3NlYW0taWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2l0ZW1UeXBlTGluaz5cbiAgPGEgKm5nSWY9XCJsaW5rOyBlbHNlIG5vTGlua1wiIGNsYXNzPVwic2lkZS1uYXYtaXRlbSBuYXYtbGluayBkLWZsZXggZmxleC1yb3cgdGV4dC1ub3dyYXAgdy0xMDAgYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICBbY2xhc3MubmF2LWxpbmtfX2NvbXBhY3RdPVwiY29tcGFjdFwiXG4gICAgW3JvdXRlckxpbmtdPVwibGlua1wiXG4gICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcbiAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCJcbiAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwieyBleGFjdDogdHJ1ZSB9XCJcbiAgICAoY2xpY2spPVwiX2xpbmtDbGlja2VkKClcIj5cbiAgICA8ZGl2IFtzdHlsZS5wYWRkaW5nLWxlZnQucHhdPVwiaGllckxldmVsICogaW5kZW50U2l6ZVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzaWRlLW5hdi1pdGVtLS1pY29uXCI+XG4gICAgICA8c2VhbS1pY29uICpuZ0lmPVwiaWNvblwiIFtpY29uXT1cImljb25cIj48L3NlYW0taWNvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21wYWN0XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtQmFkZ2VcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gKm5nSWY9XCIhY29tcGFjdFwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDExcHg7XCIgc2lkZS1uYXYtaXRlbS1sYWJlbD5cbiAgICAgIHt7IGxhYmVsIH19XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwiY29tcGFjdFwiIGNsYXNzPVwic3Itb25seVwiIHNpZGUtbmF2LWl0ZW0tbGFiZWw+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb21wYWN0XCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbUJhZGdlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9hPlxuXG4gIDxuZy10ZW1wbGF0ZSAjbm9MaW5rPlxuICAgIDxhIGNsYXNzPVwic2lkZS1uYXYtaXRlbSBuYXYtbGluayBkLWZsZXggZmxleC1yb3cgdGV4dC1ub3dyYXAgdy0xMDAgYWxpZ24taXRlbXMtY2VudGVyXCIgW2NsYXNzLm5hdi1saW5rX19jb21wYWN0XT1cImNvbXBhY3RcIj5cbiAgICAgIDxkaXYgW3N0eWxlLnBhZGRpbmctbGVmdC5weF09XCJoaWVyTGV2ZWwgKiBpbmRlbnRTaXplXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXYtaXRlbS0taWNvblwiPlxuICAgICAgICA8c2VhbS1pY29uICpuZ0lmPVwiaWNvblwiIFtpY29uXT1cImljb25cIj48L3NlYW0taWNvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW4gKm5nSWY9XCIhY29tcGFjdFwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDExcHg7XCIgc2lkZS1uYXYtaXRlbS1sYWJlbD5cbiAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiY29tcGFjdFwiIGNsYXNzPVwic3Itb25seVwiIHNpZGUtbmF2LWl0ZW0tbGFiZWw+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgPC9hPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxidXR0b24gKm5nSWY9XCJoYXNDaGlsZHJlbiAmJiAhY29tcGFjdFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJidG4gc2lkZS1uYXYtYnRuIHNpZGUtbmF2LWl0ZW0tLXRvZ2dsZS1idG4tY29udGFpbmVyIHJvdW5kZWQtMFwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZUNoaWxkcmVuKClcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxuICAgIGNka01vbml0b3JFbGVtZW50Rm9jdXM+XG4gICAgPHNlYW0taWNvblxuICAgICAgY2xhc3M9XCJzaWRlLW5hdi1pdGVtLS10b2dnbGUtYnRuXCJcbiAgICAgIFtjbGFzcy5zaWRlLW5hdi1pdGVtLS10b2dnbGUtYnRuLWV4cGFuZGVkXT1cImV4cGFuZGVkXCJcbiAgICAgIFtpY29uXT1cImZhQW5nbGVMZWZ0XCJcbiAgICAgIHR5cGU+XG4gICAgPC9zZWFtLWljb24+XG4gICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+R3JvdXAgVG9nZ2xlPC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVR5cGVEaXZpZGVyPlxuICA8ZGl2IGNsYXNzPVwicHgtMiB3LTEwMFwiPlxuICAgIDxociBjbGFzcz1cInNpZGUtbmF2LWl0ZW0tLWRpdmlkZXJcIiAvPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVR5cGVUaXRsZT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb21wYWN0XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJzaWRlLW5hdi1pdGVtLS10aXRsZSBwdC0xXCIgc2lkZS1uYXYtaXRlbS1sYWJlbD57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2l0ZW1CYWRnZT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJhZGdlVGV4dFwiPlxuICAgIDxkaXYgY2xhc3M9XCJiYWRnZS1zcGFjZXIgZmxleC1ncm93LTFcIiAqbmdJZj1cIiFjb21wYWN0XCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2LWl0ZW0tLWJhZGdlXCJcbiAgICAgIFtjbGFzcy5zaWRlLW5hdi1pdGVtLS1iYWRnZS1uby1pY29uXT1cIiFpY29uXCJcbiAgICAgIFtuZ2JUb29sdGlwXT1cIiRhbnkoYmFkZ2VUb29sdGlwKT8udG9vbHRpcFwiXG4gICAgICBbdG9vbHRpcENsYXNzXT1cIiRhbnkoYmFkZ2VUb29sdGlwKT8uY2xhc3NcIlxuICAgICAgW3BsYWNlbWVudF09XCIkYW55KGJhZGdlVG9vbHRpcCk/LnBsYWNlbWVudFwiXG4gICAgICBbY29udGFpbmVyXT1cIiRhbnkoYmFkZ2VUb29sdGlwKT8uY29udGFpbmVyXCJcbiAgICAgIFtkaXNhYmxlVG9vbHRpcF09XCIhYmFkZ2VUb29sdGlwIHx8ICEhJGFueShiYWRnZVRvb2x0aXApPy5kaXNhYmxlZFwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1waWxsIGJhZGdlLXt7IGJhZGdlVGhlbWUgfX1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb21wYWN0IHx8ICFpY29uXCI+XG4gICAgICAgICAge3sgYmFkZ2VUZXh0IH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImJhZGdlU3JDb250ZW50XCI+e3sgYmFkZ2VTckNvbnRlbnQgfX08L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -11,24 +11,23 @@ export class SideNavToggleComponent {
11
11
  this.expanded = false;
12
12
  this.toggleExpand = new EventEmitter();
13
13
  }
14
- ngOnInit() { }
15
14
  toggle() {
16
15
  this.toggleExpand.emit();
17
16
  }
18
17
  }
19
- SideNavToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: SideNavToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- SideNavToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: SideNavToggleComponent, selector: "seam-side-nav-toggle", inputs: { expanded: "expanded" }, outputs: { toggleExpand: "toggleExpand" }, host: { properties: { "class.side-nav-toggle--compact": "!expanded" } }, ngImport: i0, template: "<div class=\"side-nav-toggle--content\" *ngIf=\"expanded\">\n <ng-content></ng-content>\n</div>\n<button seamIconBtn [icon]=\"faBars\"\n iconType=\"borderless-styled-square\"\n btnSize=\"sm\"\n class=\"side-nav-toggle--btn ml-1\"\n (click)=\"toggle()\">\n <span class=\"sr-only\">Toggle sidebar</span>\n</button>\n", styles: ["seam-side-nav-toggle{display:flex;flex-direction:row;flex-shrink:0;position:relative;height:45px;width:100%}seam-side-nav-toggle .side-nav-toggle--content{flex:1 1 0}seam-side-nav-toggle .side-nav-toggle--btn{position:absolute;top:0;right:5px;color:#fff}seam-side-nav-toggle .side-nav-toggle--btn seam-icon{padding:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconBtnComponent, selector: "button[seamIconBtn]", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "iconType", "btnTheme", "badgeTheme", "badgeText", "btnSize", "type", "role"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
18
+ SideNavToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SideNavToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
+ SideNavToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SideNavToggleComponent, selector: "seam-side-nav-toggle", inputs: { expanded: "expanded" }, outputs: { toggleExpand: "toggleExpand" }, host: { properties: { "class.side-nav-toggle--compact": "!expanded" } }, ngImport: i0, template: "<div class=\"side-nav-toggle--content\" *ngIf=\"expanded\">\n <ng-content></ng-content>\n</div>\n<button seamIconBtn [icon]=\"faBars\"\n iconType=\"borderless-styled-square\"\n btnSize=\"sm\"\n class=\"side-nav-toggle--btn ml-1\"\n (click)=\"toggle()\">\n <span class=\"sr-only\">Toggle sidebar</span>\n</button>\n", styles: ["seam-side-nav-toggle{display:flex;flex-direction:row;flex-shrink:0;position:relative;height:45px;width:100%}seam-side-nav-toggle .side-nav-toggle--content{flex:1 1 0}seam-side-nav-toggle .side-nav-toggle--btn{position:absolute;top:0;right:5px;color:#fff}seam-side-nav-toggle .side-nav-toggle--btn seam-icon{padding:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconBtnComponent, selector: "button[seamIconBtn]", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "iconType", "btnTheme", "badgeTheme", "badgeText", "btnSize", "type", "role"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
21
20
  __decorate([
22
21
  InputBoolean()
23
22
  ], SideNavToggleComponent.prototype, "expanded", void 0);
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: SideNavToggleComponent, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SideNavToggleComponent, decorators: [{
25
24
  type: Component,
26
25
  args: [{ selector: 'seam-side-nav-toggle', host: {
27
26
  '[class.side-nav-toggle--compact]': '!expanded'
28
27
  }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"side-nav-toggle--content\" *ngIf=\"expanded\">\n <ng-content></ng-content>\n</div>\n<button seamIconBtn [icon]=\"faBars\"\n iconType=\"borderless-styled-square\"\n btnSize=\"sm\"\n class=\"side-nav-toggle--btn ml-1\"\n (click)=\"toggle()\">\n <span class=\"sr-only\">Toggle sidebar</span>\n</button>\n", styles: ["seam-side-nav-toggle{display:flex;flex-direction:row;flex-shrink:0;position:relative;height:45px;width:100%}seam-side-nav-toggle .side-nav-toggle--content{flex:1 1 0}seam-side-nav-toggle .side-nav-toggle--btn{position:absolute;top:0;right:5px;color:#fff}seam-side-nav-toggle .side-nav-toggle--btn seam-icon{padding:5px}\n"] }]
29
- }], ctorParameters: function () { return []; }, propDecorators: { expanded: [{
28
+ }], propDecorators: { expanded: [{
30
29
  type: Input
31
30
  }], toggleExpand: [{
32
31
  type: Output
33
32
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYtdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mcmFtZXdvcmsvc2lkZS1uYXYvc2lkZS1uYXYtdG9nZ2xlL3NpZGUtbmF2LXRvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL3NpZGUtbmF2L3NpZGUtbmF2LXRvZ2dsZS9zaWRlLW5hdi10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFMUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBRTFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTs7OztBQVl0RCxNQUFNLE9BQU8sc0JBQXNCO0lBU2pDO1FBTkEsV0FBTSxHQUFHLE1BQU0sQ0FBQTtRQUVVLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFFL0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFBO0lBRWpDLENBQUM7SUFFakIsUUFBUSxLQUFLLENBQUM7SUFFZCxNQUFNO1FBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUMxQixDQUFDOzttSEFmVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixrTkNqQm5DLGtVQVVBO0FEWTJCO0lBQWYsWUFBWSxFQUFFO3dEQUFpQjsyRkFMOUIsc0JBQXNCO2tCQVZsQyxTQUFTOytCQUNFLHNCQUFzQixRQUcxQjt3QkFDSixrQ0FBa0MsRUFBRSxXQUFXO3FCQUNoRCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTswRUFPWixRQUFRO3NCQUFoQyxLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBmYUJhcnMgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnXG5cbmltcG9ydCB7IElucHV0Qm9vbGVhbiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLXNpZGUtbmF2LXRvZ2dsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlLW5hdi10b2dnbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaWRlLW5hdi10b2dnbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Muc2lkZS1uYXYtdG9nZ2xlLS1jb21wYWN0XSc6ICchZXhwYW5kZWQnXG4gIH0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNpZGVOYXZUb2dnbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZXhwYW5kZWQ6IEJvb2xlYW5JbnB1dFxuXG4gIGZhQmFycyA9IGZhQmFyc1xuXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBleHBhbmRlZCA9IGZhbHNlXG5cbiAgQE91dHB1dCgpIHRvZ2dsZUV4cGFuZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKVxuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7IH1cblxuICB0b2dnbGUoKSB7XG4gICAgdGhpcy50b2dnbGVFeHBhbmQuZW1pdCgpXG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInNpZGUtbmF2LXRvZ2dsZS0tY29udGVudFwiICpuZ0lmPVwiZXhwYW5kZWRcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48YnV0dG9uIHNlYW1JY29uQnRuIFtpY29uXT1cImZhQmFyc1wiXG4gIGljb25UeXBlPVwiYm9yZGVybGVzcy1zdHlsZWQtc3F1YXJlXCJcbiAgYnRuU2l6ZT1cInNtXCJcbiAgY2xhc3M9XCJzaWRlLW5hdi10b2dnbGUtLWJ0biBtbC0xXCJcbiAgKGNsaWNrKT1cInRvZ2dsZSgpXCI+XG4gIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlRvZ2dsZSBzaWRlYmFyPC9zcGFuPlxuPC9idXR0b24+XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYtdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mcmFtZXdvcmsvc2lkZS1uYXYvc2lkZS1uYXYtdG9nZ2xlL3NpZGUtbmF2LXRvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL3NpZGUtbmF2L3NpZGUtbmF2LXRvZ2dsZS9zaWRlLW5hdi10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFbEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBRTFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTs7OztBQVl0RCxNQUFNLE9BQU8sc0JBQXNCO0lBVm5DO1FBYUUsV0FBTSxHQUFHLE1BQU0sQ0FBQTtRQUVVLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFFL0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFBO0tBTWxEO0lBSkMsTUFBTTtRQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDMUIsQ0FBQzs7bUhBWFUsc0JBQXNCO3VHQUF0QixzQkFBc0Isa05DakJuQyxrVUFVQTtBRFkyQjtJQUFmLFlBQVksRUFBRTt3REFBaUI7MkZBTDlCLHNCQUFzQjtrQkFWbEMsU0FBUzsrQkFDRSxzQkFBc0IsUUFHMUI7d0JBQ0osa0NBQWtDLEVBQUUsV0FBVztxQkFDaEQsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OEJBT1osUUFBUTtzQkFBaEMsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJ1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IGZhQmFycyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucydcblxuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tc2lkZS1uYXYtdG9nZ2xlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtbmF2LXRvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGUtbmF2LXRvZ2dsZS5jb21wb25lbnQuc2NzcyddLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5zaWRlLW5hdi10b2dnbGUtLWNvbXBhY3RdJzogJyFleHBhbmRlZCdcbiAgfSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2lkZU5hdlRvZ2dsZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9leHBhbmRlZDogQm9vbGVhbklucHV0XG5cbiAgZmFCYXJzID0gZmFCYXJzXG5cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIGV4cGFuZGVkID0gZmFsc2VcblxuICBAT3V0cHV0KCkgdG9nZ2xlRXhwYW5kID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG5cbiAgdG9nZ2xlKCkge1xuICAgIHRoaXMudG9nZ2xlRXhwYW5kLmVtaXQoKVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJzaWRlLW5hdi10b2dnbGUtLWNvbnRlbnRcIiAqbmdJZj1cImV4cGFuZGVkXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuPGJ1dHRvbiBzZWFtSWNvbkJ0biBbaWNvbl09XCJmYUJhcnNcIlxuICBpY29uVHlwZT1cImJvcmRlcmxlc3Mtc3R5bGVkLXNxdWFyZVwiXG4gIGJ0blNpemU9XCJzbVwiXG4gIGNsYXNzPVwic2lkZS1uYXYtdG9nZ2xlLS1idG4gbWwtMVwiXG4gIChjbGljayk9XCJ0b2dnbGUoKVwiPlxuICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5Ub2dnbGUgc2lkZWJhcjwvc3Bhbj5cbjwvYnV0dG9uPlxuIl19
@@ -1,4 +1,5 @@
1
1
  import { hasProperty } from '@theseam/ui-common/utils';
2
+ // eslint-disable-next-line no-redeclare
2
3
  export function isNavItemType(item, type) {
3
4
  return item.itemType === type;
4
5
  }
@@ -76,4 +77,4 @@ export function setDefaultState(item) {
76
77
  // TODO: See if there is a nice way to fix the typing for this.
77
78
  return item;
78
79
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL3NpZGUtbmF2L3NpZGUtbmF2LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQW1CdEQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFrQixFQUFFLElBQVk7SUFDNUQsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQTtBQUMvQixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFrQjtJQUNoRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQTtBQUN0QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFrQjtJQUMzQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxJQUFJLEtBQUssQ0FBQTtBQUN4QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFrQjtJQUM1QyxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtBQUMzRixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFrQjtJQUNoRCxPQUFPLGFBQWEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUNwRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxJQUFrQjtJQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3RCLE9BQU8sS0FBSyxDQUFBO0tBQ2I7SUFFRCxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDakMsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUE7U0FDWjtLQUNGO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLElBQWtCO0lBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdEIsT0FBTyxLQUFLLENBQUE7S0FDYjtJQUVELEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNqQyxJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsRUFBRTtZQUN2QyxPQUFPLElBQUksQ0FBQTtTQUNaO0tBQ0Y7SUFFRCxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQWtCO0lBQzVDLE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQ3BFLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLElBQWtCO0lBQzFDLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQzlCLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQXFCO0lBQ2pELE1BQU0sU0FBUyxHQUFtQixFQUFFLENBQUE7SUFFcEMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFzQixFQUFFLEVBQUU7UUFDckMsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLEVBQUU7WUFDekIsSUFBSSxhQUFhLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFO2dCQUMvQixTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO2FBQ3JCO1lBQ0QsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRTtnQkFDMUQsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTthQUNuQjtTQUNGO0lBQ0gsQ0FBQyxDQUFBO0lBQ0QsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRVYsT0FBTyxTQUFTLENBQUE7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBb0MsSUFBa0IsRUFBRSxJQUFPLEVBQUUsS0FBMkI7SUFDMUgsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFBO0tBQzNCO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBb0MsSUFBa0IsRUFBRSxJQUFPO0lBQzdGLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUM1QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFrQjtJQUNoRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUU7UUFDaEMsT0FBTyxJQUFJLENBQUE7S0FDWjtJQUVELElBQUksQ0FBQyxPQUFPLEdBQUc7UUFDYixNQUFNLEVBQUUsS0FBSztRQUNiLFFBQVEsRUFBRSxLQUFLO0tBQ2hCLENBQUE7SUFFRCwrREFBK0Q7SUFDL0QsT0FBTyxJQUFXLENBQUE7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhhc1Byb3BlcnR5IH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzJ1xuXG5pbXBvcnQge1xuICBJU2lkZU5hdkJhc2ljLFxuICBJU2lkZU5hdkJ1dHRvbixcbiAgSVNpZGVOYXZEaXZpZGVyLFxuICBJU2lkZU5hdkl0ZW0sXG4gIElTaWRlTmF2SXRlbVN0YXRlLFxuICBJU2lkZU5hdkxpbmssXG4gIElTaWRlTmF2VGl0bGUsXG4gIFNpZGVOYXZJdGVtQ2FuSGF2ZUNoaWxkcmVuLFxuICBTaWRlTmF2SXRlbUNhbkhhdmVTdGF0ZVxufSBmcm9tICcuL3NpZGUtbmF2Lm1vZGVscydcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmF2SXRlbVR5cGUoaXRlbTogSVNpZGVOYXZJdGVtLCB0eXBlOiAndGl0bGUnKTogaXRlbSBpcyBJU2lkZU5hdlRpdGxlXG5leHBvcnQgZnVuY3Rpb24gaXNOYXZJdGVtVHlwZShpdGVtOiBJU2lkZU5hdkl0ZW0sIHR5cGU6ICdkaXZpZGVyJyk6IGl0ZW0gaXMgSVNpZGVOYXZEaXZpZGVyXG5leHBvcnQgZnVuY3Rpb24gaXNOYXZJdGVtVHlwZShpdGVtOiBJU2lkZU5hdkl0ZW0sIHR5cGU6ICdiYXNpYycpOiBpdGVtIGlzIElTaWRlTmF2QmFzaWNcbmV4cG9ydCBmdW5jdGlvbiBpc05hdkl0ZW1UeXBlKGl0ZW06IElTaWRlTmF2SXRlbSwgdHlwZTogJ2xpbmsnKTogaXRlbSBpcyBJU2lkZU5hdkxpbmtcbmV4cG9ydCBmdW5jdGlvbiBpc05hdkl0ZW1UeXBlKGl0ZW06IElTaWRlTmF2SXRlbSwgdHlwZTogJ2J1dHRvbicpOiBpdGVtIGlzIElTaWRlTmF2QnV0dG9uXG5leHBvcnQgZnVuY3Rpb24gaXNOYXZJdGVtVHlwZShpdGVtOiBJU2lkZU5hdkl0ZW0sIHR5cGU6IHN0cmluZyk6IGl0ZW0gaXMgSVNpZGVOYXZJdGVtIHtcbiAgcmV0dXJuIGl0ZW0uaXRlbVR5cGUgPT09IHR5cGVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmF2SXRlbUFjdGl2ZShpdGVtOiBJU2lkZU5hdkl0ZW0pOiBib29sZWFuIHtcbiAgcmV0dXJuIGl0ZW0uX19zdGF0ZT8uYWN0aXZlID8/IGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0V4cGFuZGVkKGl0ZW06IElTaWRlTmF2SXRlbSk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXRlbS5fX3N0YXRlPy5leHBhbmRlZCA/PyBmYWxzZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzQ2hpbGRyZW4oaXRlbTogSVNpZGVOYXZJdGVtKTogaXRlbSBpcyAoSVNpZGVOYXZCYXNpYyB8IElTaWRlTmF2TGluaykgJiBSZXF1aXJlZDxTaWRlTmF2SXRlbUNhbkhhdmVDaGlsZHJlbj4ge1xuICByZXR1cm4gY2FuSGF2ZUNoaWxkcmVuKGl0ZW0pICYmIGhhc1Byb3BlcnR5KGl0ZW0sICdjaGlsZHJlbicpICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMFxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuSGF2ZUNoaWxkcmVuKGl0ZW06IElTaWRlTmF2SXRlbSk6IGl0ZW0gaXMgKElTaWRlTmF2QmFzaWMgfCBJU2lkZU5hdkxpbmspIHtcbiAgcmV0dXJuIGlzTmF2SXRlbVR5cGUoaXRlbSwgJ2Jhc2ljJykgfHwgaXNOYXZJdGVtVHlwZShpdGVtLCAnbGluaycpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNBY3RpdmVDaGlsZChpdGVtOiBJU2lkZU5hdkl0ZW0pOiBib29sZWFuIHtcbiAgaWYgKCFoYXNDaGlsZHJlbihpdGVtKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgZm9yIChjb25zdCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuKSB7XG4gICAgaWYgKGdldEl0ZW1TdGF0ZVByb3AoY2hpbGQsICdhY3RpdmUnKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0V4cGFuZGVkQ2hpbGQoaXRlbTogSVNpZGVOYXZJdGVtKTogYm9vbGVhbiB7XG4gIGlmICghaGFzQ2hpbGRyZW4oaXRlbSkpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGZvciAoY29uc3QgY2hpbGQgb2YgaXRlbS5jaGlsZHJlbikge1xuICAgIGlmIChnZXRJdGVtU3RhdGVQcm9wKGNoaWxkLCAnZXhwYW5kZWQnKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbkJlQWN0aXZlKGl0ZW06IElTaWRlTmF2SXRlbSk6IGl0ZW0gaXMgKElTaWRlTmF2QmFzaWMgfCBJU2lkZU5hdkxpbmspIHtcbiAgcmV0dXJuIGlzTmF2SXRlbVR5cGUoaXRlbSwgJ2Jhc2ljJykgfHwgaXNOYXZJdGVtVHlwZShpdGVtLCAnbGluaycpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5FeHBhbmQoaXRlbTogSVNpZGVOYXZJdGVtKTogaXRlbSBpcyAoSVNpZGVOYXZCYXNpYyB8IElTaWRlTmF2TGluaykge1xuICByZXR1cm4gY2FuSGF2ZUNoaWxkcmVuKGl0ZW0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTGlua0l0ZW1zKGl0ZW1zOiBJU2lkZU5hdkl0ZW1bXSk6IElTaWRlTmF2TGlua1tdIHtcbiAgY29uc3QgbGlua0l0ZW1zOiBJU2lkZU5hdkxpbmtbXSA9IFtdXG5cbiAgY29uc3QgX2ZuID0gKF9pdGVtczogSVNpZGVOYXZJdGVtW10pID0+IHtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgX2l0ZW1zKSB7XG4gICAgICBpZiAoaXNOYXZJdGVtVHlwZShpdGVtLCAnbGluaycpKSB7XG4gICAgICAgIGxpbmtJdGVtcy5wdXNoKGl0ZW0pXG4gICAgICB9XG4gICAgICBpZiAoY2FuSGF2ZUNoaWxkcmVuKGl0ZW0pICYmIGhhc1Byb3BlcnR5KGl0ZW0sICdjaGlsZHJlbicpKSB7XG4gICAgICAgIF9mbihpdGVtLmNoaWxkcmVuKVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBfZm4oaXRlbXMpXG5cbiAgcmV0dXJuIGxpbmtJdGVtc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0SXRlbVN0YXRlUHJvcDxLIGV4dGVuZHMga2V5b2YgSVNpZGVOYXZJdGVtU3RhdGU+KGl0ZW06IElTaWRlTmF2SXRlbSwgcHJvcDogSywgdmFsdWU6IElTaWRlTmF2SXRlbVN0YXRlW0tdKTogdm9pZCB7XG4gIGlmIChoYXNQcm9wZXJ0eShpdGVtLCAnX19zdGF0ZScpKSB7XG4gICAgaXRlbS5fX3N0YXRlW3Byb3BdID0gdmFsdWVcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SXRlbVN0YXRlUHJvcDxLIGV4dGVuZHMga2V5b2YgSVNpZGVOYXZJdGVtU3RhdGU+KGl0ZW06IElTaWRlTmF2SXRlbSwgcHJvcDogSyk6IElTaWRlTmF2SXRlbVN0YXRlW0tdIHtcbiAgcmV0dXJuIHNldERlZmF1bHRTdGF0ZShpdGVtKS5fX3N0YXRlW3Byb3BdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXREZWZhdWx0U3RhdGUoaXRlbTogSVNpZGVOYXZJdGVtKTogSVNpZGVOYXZJdGVtICYgUmVxdWlyZWQ8U2lkZU5hdkl0ZW1DYW5IYXZlU3RhdGU+IHtcbiAgaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdfX3N0YXRlJykpIHtcbiAgICByZXR1cm4gaXRlbVxuICB9XG5cbiAgaXRlbS5fX3N0YXRlID0ge1xuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZXhwYW5kZWQ6IGZhbHNlXG4gIH1cblxuICAvLyBUT0RPOiBTZWUgaWYgdGhlcmUgaXMgYSBuaWNlIHdheSB0byBmaXggdGhlIHR5cGluZyBmb3IgdGhpcy5cbiAgcmV0dXJuIGl0ZW0gYXMgYW55XG59XG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL3NpZGUtbmF2L3NpZGUtbmF2LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQXVCdEQsd0NBQXdDO0FBQ3hDLE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBa0IsRUFBRSxJQUFZO0lBQzVELE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUE7QUFDL0IsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBa0I7SUFDaEQsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxLQUFLLENBQUE7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBa0I7SUFDM0MsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsSUFBSSxLQUFLLENBQUE7QUFDeEMsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBa0I7SUFDNUMsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7QUFDM0YsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBa0I7SUFDaEQsT0FBTyxhQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDcEUsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsSUFBa0I7SUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN0QixPQUFPLEtBQUssQ0FBQTtLQUNiO0lBRUQsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ2pDLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQ3JDLE9BQU8sSUFBSSxDQUFBO1NBQ1o7S0FDRjtJQUVELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFrQjtJQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3RCLE9BQU8sS0FBSyxDQUFBO0tBQ2I7SUFFRCxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDakMsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDdkMsT0FBTyxJQUFJLENBQUE7U0FDWjtLQUNGO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFrQjtJQUM1QyxPQUFPLGFBQWEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUNwRSxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxJQUFrQjtJQUMxQyxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUM5QixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFxQjtJQUNqRCxNQUFNLFNBQVMsR0FBbUIsRUFBRSxDQUFBO0lBRXBDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBc0IsRUFBRSxFQUFFO1FBQ3JDLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxFQUFFO1lBQ3pCLElBQUksYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRTtnQkFDL0IsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTthQUNyQjtZQUNELElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLEVBQUU7Z0JBQzFELEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7YUFDbkI7U0FDRjtJQUNILENBQUMsQ0FBQTtJQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVWLE9BQU8sU0FBUyxDQUFBO0FBQ2xCLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQW9DLElBQWtCLEVBQUUsSUFBTyxFQUFFLEtBQTJCO0lBQzFILElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRTtRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQTtLQUMzQjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQW9DLElBQWtCLEVBQUUsSUFBTztJQUM3RixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDNUMsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBa0I7SUFDaEQsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1FBQ2hDLE9BQU8sSUFBSSxDQUFBO0tBQ1o7SUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHO1FBQ2IsTUFBTSxFQUFFLEtBQUs7UUFDYixRQUFRLEVBQUUsS0FBSztLQUNoQixDQUFBO0lBRUQsK0RBQStEO0lBQy9ELE9BQU8sSUFBVyxDQUFBO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBoYXNQcm9wZXJ0eSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW1wb3J0IHtcbiAgSVNpZGVOYXZCYXNpYyxcbiAgSVNpZGVOYXZCdXR0b24sXG4gIElTaWRlTmF2RGl2aWRlcixcbiAgSVNpZGVOYXZJdGVtLFxuICBJU2lkZU5hdkl0ZW1TdGF0ZSxcbiAgSVNpZGVOYXZMaW5rLFxuICBJU2lkZU5hdlRpdGxlLFxuICBTaWRlTmF2SXRlbUNhbkhhdmVDaGlsZHJlbixcbiAgU2lkZU5hdkl0ZW1DYW5IYXZlU3RhdGVcbn0gZnJvbSAnLi9zaWRlLW5hdi5tb2RlbHMnXG5cbmV4cG9ydCBmdW5jdGlvbiBpc05hdkl0ZW1UeXBlKGl0ZW06IElTaWRlTmF2SXRlbSwgdHlwZTogJ3RpdGxlJyk6IGl0ZW0gaXMgSVNpZGVOYXZUaXRsZVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuZXhwb3J0IGZ1bmN0aW9uIGlzTmF2SXRlbVR5cGUoaXRlbTogSVNpZGVOYXZJdGVtLCB0eXBlOiAnZGl2aWRlcicpOiBpdGVtIGlzIElTaWRlTmF2RGl2aWRlclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuZXhwb3J0IGZ1bmN0aW9uIGlzTmF2SXRlbVR5cGUoaXRlbTogSVNpZGVOYXZJdGVtLCB0eXBlOiAnYmFzaWMnKTogaXRlbSBpcyBJU2lkZU5hdkJhc2ljXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVkZWNsYXJlXG5leHBvcnQgZnVuY3Rpb24gaXNOYXZJdGVtVHlwZShpdGVtOiBJU2lkZU5hdkl0ZW0sIHR5cGU6ICdsaW5rJyk6IGl0ZW0gaXMgSVNpZGVOYXZMaW5rXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVkZWNsYXJlXG5leHBvcnQgZnVuY3Rpb24gaXNOYXZJdGVtVHlwZShpdGVtOiBJU2lkZU5hdkl0ZW0sIHR5cGU6ICdidXR0b24nKTogaXRlbSBpcyBJU2lkZU5hdkJ1dHRvblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuZXhwb3J0IGZ1bmN0aW9uIGlzTmF2SXRlbVR5cGUoaXRlbTogSVNpZGVOYXZJdGVtLCB0eXBlOiBzdHJpbmcpOiBpdGVtIGlzIElTaWRlTmF2SXRlbSB7XG4gIHJldHVybiBpdGVtLml0ZW1UeXBlID09PSB0eXBlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05hdkl0ZW1BY3RpdmUoaXRlbTogSVNpZGVOYXZJdGVtKTogYm9vbGVhbiB7XG4gIHJldHVybiBpdGVtLl9fc3RhdGU/LmFjdGl2ZSA/PyBmYWxzZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFeHBhbmRlZChpdGVtOiBJU2lkZU5hdkl0ZW0pOiBib29sZWFuIHtcbiAgcmV0dXJuIGl0ZW0uX19zdGF0ZT8uZXhwYW5kZWQgPz8gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0NoaWxkcmVuKGl0ZW06IElTaWRlTmF2SXRlbSk6IGl0ZW0gaXMgKElTaWRlTmF2QmFzaWMgfCBJU2lkZU5hdkxpbmspICYgUmVxdWlyZWQ8U2lkZU5hdkl0ZW1DYW5IYXZlQ2hpbGRyZW4+IHtcbiAgcmV0dXJuIGNhbkhhdmVDaGlsZHJlbihpdGVtKSAmJiBoYXNQcm9wZXJ0eShpdGVtLCAnY2hpbGRyZW4nKSAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbkhhdmVDaGlsZHJlbihpdGVtOiBJU2lkZU5hdkl0ZW0pOiBpdGVtIGlzIChJU2lkZU5hdkJhc2ljIHwgSVNpZGVOYXZMaW5rKSB7XG4gIHJldHVybiBpc05hdkl0ZW1UeXBlKGl0ZW0sICdiYXNpYycpIHx8IGlzTmF2SXRlbVR5cGUoaXRlbSwgJ2xpbmsnKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzQWN0aXZlQ2hpbGQoaXRlbTogSVNpZGVOYXZJdGVtKTogYm9vbGVhbiB7XG4gIGlmICghaGFzQ2hpbGRyZW4oaXRlbSkpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGZvciAoY29uc3QgY2hpbGQgb2YgaXRlbS5jaGlsZHJlbikge1xuICAgIGlmIChnZXRJdGVtU3RhdGVQcm9wKGNoaWxkLCAnYWN0aXZlJykpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNFeHBhbmRlZENoaWxkKGl0ZW06IElTaWRlTmF2SXRlbSk6IGJvb2xlYW4ge1xuICBpZiAoIWhhc0NoaWxkcmVuKGl0ZW0pKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBmb3IgKGNvbnN0IGNoaWxkIG9mIGl0ZW0uY2hpbGRyZW4pIHtcbiAgICBpZiAoZ2V0SXRlbVN0YXRlUHJvcChjaGlsZCwgJ2V4cGFuZGVkJykpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5CZUFjdGl2ZShpdGVtOiBJU2lkZU5hdkl0ZW0pOiBpdGVtIGlzIChJU2lkZU5hdkJhc2ljIHwgSVNpZGVOYXZMaW5rKSB7XG4gIHJldHVybiBpc05hdkl0ZW1UeXBlKGl0ZW0sICdiYXNpYycpIHx8IGlzTmF2SXRlbVR5cGUoaXRlbSwgJ2xpbmsnKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuRXhwYW5kKGl0ZW06IElTaWRlTmF2SXRlbSk6IGl0ZW0gaXMgKElTaWRlTmF2QmFzaWMgfCBJU2lkZU5hdkxpbmspIHtcbiAgcmV0dXJuIGNhbkhhdmVDaGlsZHJlbihpdGVtKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZExpbmtJdGVtcyhpdGVtczogSVNpZGVOYXZJdGVtW10pOiBJU2lkZU5hdkxpbmtbXSB7XG4gIGNvbnN0IGxpbmtJdGVtczogSVNpZGVOYXZMaW5rW10gPSBbXVxuXG4gIGNvbnN0IF9mbiA9IChfaXRlbXM6IElTaWRlTmF2SXRlbVtdKSA9PiB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIF9pdGVtcykge1xuICAgICAgaWYgKGlzTmF2SXRlbVR5cGUoaXRlbSwgJ2xpbmsnKSkge1xuICAgICAgICBsaW5rSXRlbXMucHVzaChpdGVtKVxuICAgICAgfVxuICAgICAgaWYgKGNhbkhhdmVDaGlsZHJlbihpdGVtKSAmJiBoYXNQcm9wZXJ0eShpdGVtLCAnY2hpbGRyZW4nKSkge1xuICAgICAgICBfZm4oaXRlbS5jaGlsZHJlbilcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgX2ZuKGl0ZW1zKVxuXG4gIHJldHVybiBsaW5rSXRlbXNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEl0ZW1TdGF0ZVByb3A8SyBleHRlbmRzIGtleW9mIElTaWRlTmF2SXRlbVN0YXRlPihpdGVtOiBJU2lkZU5hdkl0ZW0sIHByb3A6IEssIHZhbHVlOiBJU2lkZU5hdkl0ZW1TdGF0ZVtLXSk6IHZvaWQge1xuICBpZiAoaGFzUHJvcGVydHkoaXRlbSwgJ19fc3RhdGUnKSkge1xuICAgIGl0ZW0uX19zdGF0ZVtwcm9wXSA9IHZhbHVlXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEl0ZW1TdGF0ZVByb3A8SyBleHRlbmRzIGtleW9mIElTaWRlTmF2SXRlbVN0YXRlPihpdGVtOiBJU2lkZU5hdkl0ZW0sIHByb3A6IEspOiBJU2lkZU5hdkl0ZW1TdGF0ZVtLXSB7XG4gIHJldHVybiBzZXREZWZhdWx0U3RhdGUoaXRlbSkuX19zdGF0ZVtwcm9wXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RGVmYXVsdFN0YXRlKGl0ZW06IElTaWRlTmF2SXRlbSk6IElTaWRlTmF2SXRlbSAmIFJlcXVpcmVkPFNpZGVOYXZJdGVtQ2FuSGF2ZVN0YXRlPiB7XG4gIGlmIChoYXNQcm9wZXJ0eShpdGVtLCAnX19zdGF0ZScpKSB7XG4gICAgcmV0dXJuIGl0ZW1cbiAgfVxuXG4gIGl0ZW0uX19zdGF0ZSA9IHtcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGV4cGFuZGVkOiBmYWxzZVxuICB9XG5cbiAgLy8gVE9ETzogU2VlIGlmIHRoZXJlIGlzIGEgbmljZSB3YXkgdG8gZml4IHRoZSB0eXBpbmcgZm9yIHRoaXMuXG4gIHJldHVybiBpdGVtIGFzIGFueVxufVxuIl19