@theseam/ui-common 0.4.29 → 0.4.30

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 (616) hide show
  1. package/breadcrumbs/breadcrumbs/breadcrumbs.component.scss +1 -1
  2. package/datatable/datatable/datatable.component.d.ts +61 -9
  3. package/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.d.ts +25 -0
  4. package/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.d.ts +18 -0
  5. package/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.d.ts +16 -0
  6. package/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.d.ts +15 -0
  7. package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +2 -2
  8. package/datatable/datatable.module.d.ts +29 -20
  9. package/datatable/directives/datatable-column-filter-tpl.directive.d.ts +8 -0
  10. package/datatable/directives/datatable-column-filter.directive.d.ts +10 -0
  11. package/datatable/models/action-item-column-position.d.ts +13 -0
  12. package/datatable/models/columns-data-filter.d.ts +57 -0
  13. package/datatable/models/columns-data-filters/models.d.ts +65 -0
  14. package/datatable/models/columns-data-filters/search-date.columns-data-filter.d.ts +23 -0
  15. package/datatable/models/columns-data-filters/search-numeric.columns-data-filter.d.ts +22 -0
  16. package/datatable/models/columns-data-filters/search-text.columns-data-filter.d.ts +21 -0
  17. package/datatable/models/columns-data-filters/utils.d.ts +15 -0
  18. package/datatable/models/datatable-config.d.ts +97 -0
  19. package/datatable/models/table-column.d.ts +22 -1
  20. package/datatable/public-api.d.ts +14 -0
  21. package/datatable/services/columns-filters.service.d.ts +29 -0
  22. package/datatable/services/columns-manager.service.d.ts +7 -0
  23. package/datatable/utils/create-action-menu-column.d.ts +1 -1
  24. package/esm2020/asset-reader/asset-reader-helper.service.mjs +4 -4
  25. package/esm2020/asset-reader/asset-reader.module.mjs +5 -5
  26. package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +4 -4
  27. package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +5 -5
  28. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +5 -5
  29. package/esm2020/breadcrumbs/breadcrumbs.service.mjs +4 -4
  30. package/esm2020/buttons/badge-button/badge-button.component.mjs +7 -7
  31. package/esm2020/buttons/button/button.component.mjs +10 -10
  32. package/esm2020/buttons/buttons.module.mjs +5 -5
  33. package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +4 -4
  34. package/esm2020/buttons/toggle-button/toggle-button.component.mjs +4 -4
  35. package/esm2020/card/card-action/card-action.component.mjs +4 -4
  36. package/esm2020/card/card-body/card-body.component.mjs +4 -4
  37. package/esm2020/card/card-footer/card-footer.component.mjs +4 -4
  38. package/esm2020/card/card-header/card-header.component.mjs +4 -4
  39. package/esm2020/card/card.component.mjs +4 -4
  40. package/esm2020/card/card.module.mjs +5 -5
  41. package/esm2020/carousel/carousel-slide.directive.mjs +4 -4
  42. package/esm2020/carousel/carousel.component.mjs +4 -4
  43. package/esm2020/carousel/carousel.module.mjs +5 -5
  44. package/esm2020/checkbox/checkbox.component.mjs +4 -4
  45. package/esm2020/checkbox/checkbox.module.mjs +5 -5
  46. package/esm2020/confirm-dialog/confirm-click.directive.mjs +4 -4
  47. package/esm2020/confirm-dialog/confirm-dialog.component.mjs +4 -4
  48. package/esm2020/confirm-dialog/confirm-dialog.module.mjs +5 -5
  49. package/esm2020/confirm-dialog/confirm-dialog.service.mjs +4 -4
  50. package/esm2020/data-exporter/data-exporter.module.mjs +5 -5
  51. package/esm2020/data-exporter/exporters/csv-exporter.mjs +4 -4
  52. package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +4 -4
  53. package/esm2020/data-filters/data-filters.module.mjs +5 -5
  54. package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +4 -4
  55. package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +4 -4
  56. package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +4 -4
  57. package/esm2020/datatable/datatable/datatable.component.mjs +241 -32
  58. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +5 -5
  59. package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +4 -4
  60. package/esm2020/datatable/datatable-column/datatable-column.component.mjs +4 -4
  61. package/esm2020/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.mjs +55 -0
  62. package/esm2020/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.mjs +54 -0
  63. package/esm2020/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.mjs +48 -0
  64. package/esm2020/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.mjs +44 -0
  65. package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +4 -4
  66. package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +4 -4
  67. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +4 -4
  68. package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +4 -4
  69. package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +4 -4
  70. package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +4 -4
  71. package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +4 -4
  72. package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +4 -4
  73. package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +4 -4
  74. package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +4 -4
  75. package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +4 -4
  76. package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +4 -4
  77. package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +4 -4
  78. package/esm2020/datatable/datatable.module.mjs +53 -11
  79. package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +4 -4
  80. package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +4 -4
  81. package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +4 -4
  82. package/esm2020/datatable/directives/datatable-column-filter-tpl.directive.mjs +16 -0
  83. package/esm2020/datatable/directives/datatable-column-filter.directive.mjs +26 -0
  84. package/esm2020/datatable/directives/datatable-filter.directive.mjs +4 -4
  85. package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +4 -4
  86. package/esm2020/datatable/models/action-item-column-position.mjs +5 -0
  87. package/esm2020/datatable/models/columns-data-filter.mjs +10 -0
  88. package/esm2020/datatable/models/columns-data-filters/models.mjs +74 -0
  89. package/esm2020/datatable/models/columns-data-filters/search-date.columns-data-filter.mjs +113 -0
  90. package/esm2020/datatable/models/columns-data-filters/search-numeric.columns-data-filter.mjs +104 -0
  91. package/esm2020/datatable/models/columns-data-filters/search-text.columns-data-filter.mjs +86 -0
  92. package/esm2020/datatable/models/columns-data-filters/utils.mjs +28 -0
  93. package/esm2020/datatable/models/datatable-config.mjs +3 -0
  94. package/esm2020/datatable/models/table-column.mjs +1 -1
  95. package/esm2020/datatable/public-api.mjs +15 -1
  96. package/esm2020/datatable/services/columns-alterations-manager.service.mjs +4 -4
  97. package/esm2020/datatable/services/columns-filters.service.mjs +109 -0
  98. package/esm2020/datatable/services/columns-manager.service.mjs +30 -5
  99. package/esm2020/datatable/services/datatable-column-changes.service.mjs +4 -4
  100. package/esm2020/datatable/services/datatable-preferences.service.mjs +4 -4
  101. package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +4 -4
  102. package/esm2020/datatable/utils/create-action-menu-column.mjs +4 -3
  103. package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +4 -4
  104. package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +4 -4
  105. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +4 -4
  106. package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +5 -5
  107. package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +5 -5
  108. package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +4 -4
  109. package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +4 -4
  110. package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +4 -4
  111. package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +4 -4
  112. package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +4 -4
  113. package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +4 -4
  114. package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +4 -4
  115. package/esm2020/dynamic/dynamic-value-helper.service.mjs +4 -4
  116. package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +4 -4
  117. package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +4 -4
  118. package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +5 -5
  119. package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +4 -4
  120. package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +4 -4
  121. package/esm2020/footer-bar/footer-bar.module.mjs +5 -5
  122. package/esm2020/form-field/form-field-error.directive.mjs +4 -4
  123. package/esm2020/form-field/form-field-help-text.directive.mjs +4 -4
  124. package/esm2020/form-field/form-field-label-tpl.directive.mjs +4 -4
  125. package/esm2020/form-field/form-field-required-indicator.component.mjs +4 -4
  126. package/esm2020/form-field/form-field.component.mjs +4 -4
  127. package/esm2020/form-field/form-field.module.mjs +5 -5
  128. package/esm2020/form-field/input.directive.mjs +4 -4
  129. package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +4 -4
  130. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +4 -4
  131. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +4 -4
  132. package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +4 -4
  133. package/esm2020/form-field-error/form-field-error.module.mjs +5 -5
  134. package/esm2020/framework/base-layout/base-layout.component.mjs +16 -6
  135. package/esm2020/framework/base-layout/base-layout.module.mjs +10 -5
  136. package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +4 -4
  137. package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +4 -4
  138. package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +4 -4
  139. package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +22 -6
  140. package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +4 -4
  141. package/esm2020/framework/base-layout/directives/base-layout-side-bar-header.directive.mjs +16 -0
  142. package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +4 -4
  143. package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +4 -4
  144. package/esm2020/framework/base-layout/index.mjs +2 -1
  145. package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +4 -4
  146. package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +4 -4
  147. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +4 -4
  148. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +4 -4
  149. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +4 -4
  150. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +4 -4
  151. package/esm2020/framework/dashboard/dashboard.component.mjs +4 -4
  152. package/esm2020/framework/dashboard/dashboard.module.mjs +5 -5
  153. package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +5 -5
  154. package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +4 -4
  155. package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +4 -4
  156. package/esm2020/framework/nav/horizontal-nav/horizontal-nav.component.mjs +55 -0
  157. package/esm2020/framework/nav/index.mjs +6 -0
  158. package/esm2020/framework/nav/nav-item/nav-item.component.mjs +227 -0
  159. package/esm2020/framework/nav/nav-utils.mjs +107 -0
  160. package/esm2020/framework/nav/nav.models.mjs +2 -0
  161. package/esm2020/framework/nav/nav.module.mjs +67 -0
  162. package/esm2020/framework/nav/nav.service.mjs +204 -0
  163. package/esm2020/framework/public-api.mjs +2 -1
  164. package/esm2020/framework/schema-form/schema-form-framework.component.mjs +4 -4
  165. package/esm2020/framework/schema-form/schema-form-framework.mjs +4 -4
  166. package/esm2020/framework/schema-form/schema-form.module.mjs +5 -5
  167. package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +4 -4
  168. package/esm2020/framework/schema-form-controls/schema-form-divider/schema-form-divider.component.mjs +4 -4
  169. package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +4 -4
  170. package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +4 -4
  171. package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +4 -4
  172. package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +4 -4
  173. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +4 -4
  174. package/esm2020/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.mjs +4 -4
  175. package/esm2020/framework/schema-form-controls/schema-form-tiled-select/schema-form-tiled-select.component.mjs +4 -4
  176. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +29 -68
  177. package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +14 -7
  178. package/esm2020/framework/side-nav/side-nav.component.mjs +117 -39
  179. package/esm2020/framework/side-nav/side-nav.models.mjs +1 -1
  180. package/esm2020/framework/side-nav/side-nav.module.mjs +11 -41
  181. package/esm2020/framework/side-nav/side-nav.service.mjs +4 -4
  182. package/esm2020/framework/top-bar/index.mjs +3 -1
  183. package/esm2020/framework/top-bar/top-bar-compact-menu-btn-detail.directive.mjs +16 -0
  184. package/esm2020/framework/top-bar/top-bar-item.directive.mjs +12 -6
  185. package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +4 -4
  186. package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +8 -6
  187. package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +4 -4
  188. package/esm2020/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.mjs +16 -0
  189. package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +4 -4
  190. package/esm2020/framework/top-bar/top-bar.component.mjs +57 -13
  191. package/esm2020/framework/top-bar/top-bar.module.mjs +19 -9
  192. package/esm2020/google-maps/google-maps/google-maps.component.mjs +4 -4
  193. package/esm2020/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.mjs +4 -4
  194. package/esm2020/google-maps/google-maps-api-loader/noop-google-maps-api-loader.mjs +4 -4
  195. package/esm2020/google-maps/google-maps-controls.service.mjs +4 -4
  196. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +5 -5
  197. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +4 -4
  198. package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +4 -4
  199. package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +4 -4
  200. package/esm2020/google-maps/google-maps.module.mjs +5 -5
  201. package/esm2020/google-maps/google-maps.service.mjs +4 -4
  202. package/esm2020/google-maps/map-control.component.mjs +4 -4
  203. package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +4 -4
  204. package/esm2020/google-maps/map-value-manager.service.mjs +4 -4
  205. package/esm2020/graphql/datatable/datatable-graphql.service.mjs +4 -4
  206. package/esm2020/graphql/datatable/index.mjs +4 -1
  207. package/esm2020/graphql/datatable/map-filter-states.mjs +1 -1
  208. package/esm2020/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.mjs +139 -0
  209. package/esm2020/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.mjs +75 -0
  210. package/esm2020/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.mjs +44 -0
  211. package/esm2020/icon/icon/icon.component.mjs +4 -4
  212. package/esm2020/icon/icon-btn/icon-btn.component.mjs +4 -4
  213. package/esm2020/icon/icon-notification/icon-notification.component.mjs +4 -4
  214. package/esm2020/icon/icon.module.mjs +5 -5
  215. package/esm2020/layout/layout.module.mjs +5 -5
  216. package/esm2020/layout/layout.service.mjs +15 -5
  217. package/esm2020/loading/loading/loading.component.mjs +4 -4
  218. package/esm2020/loading/loading-overlay.service.mjs +4 -4
  219. package/esm2020/loading/loading.module.mjs +5 -5
  220. package/esm2020/menu/menu-divider.component.mjs +4 -4
  221. package/esm2020/menu/menu-footer/menu-footer.component.mjs +4 -4
  222. package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +4 -4
  223. package/esm2020/menu/menu-header/menu-header.component.mjs +4 -4
  224. package/esm2020/menu/menu-item.component.mjs +4 -4
  225. package/esm2020/menu/menu-toggle.directive.mjs +9 -4
  226. package/esm2020/menu/menu.component.mjs +4 -4
  227. package/esm2020/menu/menu.module.mjs +5 -5
  228. package/esm2020/modal/directives/modal-close.directive.mjs +4 -4
  229. package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +4 -4
  230. package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +4 -4
  231. package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +4 -4
  232. package/esm2020/modal/directives/modal-title.directive.mjs +4 -4
  233. package/esm2020/modal/directives/modal.directive.mjs +4 -4
  234. package/esm2020/modal/modal/modal.component.mjs +4 -4
  235. package/esm2020/modal/modal-body/modal-body.component.mjs +4 -4
  236. package/esm2020/modal/modal-container/modal-container.component.mjs +4 -4
  237. package/esm2020/modal/modal-footer/modal-footer.component.mjs +4 -4
  238. package/esm2020/modal/modal-header/modal-header.component.mjs +4 -4
  239. package/esm2020/modal/modal.module.mjs +5 -5
  240. package/esm2020/modal/modal.service.mjs +4 -4
  241. package/esm2020/modal/route-modal/route-modal.component.mjs +4 -4
  242. package/esm2020/navigation-reload/navigation-reload.service.mjs +4 -4
  243. package/esm2020/popover/popover/popover.component.mjs +9 -5
  244. package/esm2020/popover/popover.directive.mjs +8 -4
  245. package/esm2020/popover/popover.module.mjs +5 -5
  246. package/esm2020/progress/progress-circle/progress-circle.component.mjs +4 -4
  247. package/esm2020/progress/progress.module.mjs +5 -5
  248. package/esm2020/rich-text/rich-text/rich-text.component.mjs +4 -4
  249. package/esm2020/rich-text/rich-text.module.mjs +5 -5
  250. package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +4 -4
  251. package/esm2020/scrollbar/overlay-scrollbars.service.mjs +4 -4
  252. package/esm2020/scrollbar/scrollbar.module.mjs +5 -5
  253. package/esm2020/services/asset-loader.service.mjs +4 -4
  254. package/esm2020/services/font-loader.service.mjs +4 -4
  255. package/esm2020/services/preferences/preferences-manager.service.mjs +4 -4
  256. package/esm2020/services/router-helpers.service.mjs +4 -4
  257. package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +4 -4
  258. package/esm2020/shared/directives/auto-focus.directive.mjs +4 -4
  259. package/esm2020/shared/directives/click-outside.directive.mjs +4 -4
  260. package/esm2020/shared/directives/disable-control.directive.mjs +4 -4
  261. package/esm2020/shared/directives/elem-resized.directive.mjs +4 -4
  262. package/esm2020/shared/directives/hover-class-toggle.directive.mjs +4 -4
  263. package/esm2020/shared/directives/hover-class.directive.mjs +4 -4
  264. package/esm2020/shared/directives/ng-select-extra.directive.mjs +4 -4
  265. package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +4 -4
  266. package/esm2020/shared/pipes/mask-chars.pipe.mjs +4 -4
  267. package/esm2020/shared/pipes/truncate.pipe.mjs +4 -4
  268. package/esm2020/shared/shared.module.mjs +5 -5
  269. package/esm2020/storage/local-storage.service.mjs +4 -4
  270. package/esm2020/story-helpers/initial-route.service.mjs +4 -4
  271. package/esm2020/story-helpers/story-empty-with-route.component.mjs +4 -4
  272. package/esm2020/story-helpers/story-empty.component.mjs +4 -4
  273. package/esm2020/story-helpers/story-helper-components.module.mjs +5 -5
  274. package/esm2020/story-helpers/story-initial-route.mjs +5 -5
  275. package/esm2020/story-helpers/story-modal-container.component.mjs +4 -4
  276. package/esm2020/story-helpers/story-preferences-accessor.service.mjs +4 -4
  277. package/esm2020/story-helpers/story-toastr.service.mjs +4 -4
  278. package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +4 -4
  279. package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +4 -4
  280. package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +4 -4
  281. package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +4 -4
  282. package/esm2020/tabbed/tabbed.component.mjs +4 -4
  283. package/esm2020/tabbed/tabbed.module.mjs +5 -5
  284. package/esm2020/tabbed/tabbed.service.mjs +4 -4
  285. package/esm2020/table/public-api.mjs +4 -1
  286. package/esm2020/table/table/table.component.mjs +92 -7
  287. package/esm2020/table/table-cell-tpl.directive.mjs +17 -0
  288. package/esm2020/table/table-column-header-tpl.directive.mjs +17 -0
  289. package/esm2020/table/table-column.component.mjs +68 -0
  290. package/esm2020/table/table.module.mjs +25 -9
  291. package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +4 -4
  292. package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +4 -4
  293. package/esm2020/table-cell-type/table-cell-type.module.mjs +5 -5
  294. package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +4 -4
  295. package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +4 -4
  296. package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +4 -4
  297. package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +4 -4
  298. package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +4 -4
  299. package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +4 -4
  300. package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +4 -4
  301. package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +4 -4
  302. package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +7 -5
  303. package/esm2020/table-cell-types/table-cell-types.module.mjs +5 -5
  304. package/esm2020/tel-input/phone-number.pipe.mjs +4 -4
  305. package/esm2020/tel-input/tel-input/tel-input.component.mjs +4 -4
  306. package/esm2020/tel-input/tel-input.directive.mjs +4 -4
  307. package/esm2020/tel-input/tel-input.module.mjs +5 -5
  308. package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +4 -4
  309. package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +4 -4
  310. package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +4 -4
  311. package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +4 -4
  312. package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +4 -4
  313. package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +4 -4
  314. package/esm2020/tiled-select/tiled-select.module.mjs +5 -5
  315. package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +4 -4
  316. package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +4 -4
  317. package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +4 -4
  318. package/esm2020/toggle-edit/toggle-edit.component.mjs +4 -4
  319. package/esm2020/toggle-edit/toggle-edit.module.mjs +5 -5
  320. package/esm2020/toggle-group/toggle-group-option.directive.mjs +4 -4
  321. package/esm2020/toggle-group/toggle-group.directive.mjs +4 -4
  322. package/esm2020/toggle-group/toggle-group.module.mjs +5 -5
  323. package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +4 -4
  324. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +4 -4
  325. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +4 -4
  326. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +5 -5
  327. package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
  328. package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
  329. package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
  330. package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
  331. package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
  332. package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
  333. package/esm2020/vertical-list-filter/vertical-list-filter.component.mjs +4 -4
  334. package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +4 -4
  335. package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +5 -5
  336. package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +4 -4
  337. package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +4 -4
  338. package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +4 -4
  339. package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +5 -5
  340. package/esm2020/widget/directives/widget-drag-handle.directive.mjs +4 -4
  341. package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +4 -4
  342. package/esm2020/widget/directives/widget-title-tpl.directive.mjs +4 -4
  343. package/esm2020/widget/preferences/widget-preferences.service.mjs +4 -4
  344. package/esm2020/widget/widget/widget.component.mjs +4 -4
  345. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +4 -4
  346. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +5 -5
  347. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +4 -4
  348. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +5 -5
  349. package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +4 -4
  350. package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +5 -5
  351. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +4 -4
  352. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +5 -5
  353. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +4 -4
  354. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +5 -5
  355. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +4 -4
  356. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +5 -5
  357. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +4 -4
  358. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +5 -5
  359. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +4 -4
  360. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +16 -16
  361. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +4 -4
  362. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +5 -5
  363. package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +4 -4
  364. package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +5 -5
  365. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +4 -4
  366. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +4 -4
  367. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +4 -4
  368. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +4 -4
  369. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +7 -7
  370. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +5 -5
  371. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +4 -4
  372. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +5 -5
  373. package/esm2020/widget/widget-footer/widget-footer.component.mjs +4 -4
  374. package/esm2020/widget/widget-registry.service.mjs +4 -4
  375. package/esm2020/widget/widget.module.mjs +5 -5
  376. package/fesm2015/theseam-ui-common-asset-reader.mjs +10 -10
  377. package/fesm2015/theseam-ui-common-asset-reader.mjs.map +1 -1
  378. package/fesm2015/theseam-ui-common-breadcrumbs.mjs +11 -11
  379. package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  380. package/fesm2015/theseam-ui-common-buttons.mjs +25 -25
  381. package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
  382. package/fesm2015/theseam-ui-common-card.mjs +19 -19
  383. package/fesm2015/theseam-ui-common-card.mjs.map +1 -1
  384. package/fesm2015/theseam-ui-common-carousel.mjs +10 -10
  385. package/fesm2015/theseam-ui-common-carousel.mjs.map +1 -1
  386. package/fesm2015/theseam-ui-common-checkbox.mjs +7 -7
  387. package/fesm2015/theseam-ui-common-checkbox.mjs.map +1 -1
  388. package/fesm2015/theseam-ui-common-confirm-dialog.mjs +13 -13
  389. package/fesm2015/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  390. package/fesm2015/theseam-ui-common-data-exporter.mjs +10 -10
  391. package/fesm2015/theseam-ui-common-data-exporter.mjs.map +1 -1
  392. package/fesm2015/theseam-ui-common-data-filters.mjs +13 -13
  393. package/fesm2015/theseam-ui-common-data-filters.mjs.map +1 -1
  394. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +26 -26
  395. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  396. package/fesm2015/theseam-ui-common-datatable.mjs +1112 -139
  397. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  398. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  399. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  400. package/fesm2015/theseam-ui-common-dynamic.mjs +21 -21
  401. package/fesm2015/theseam-ui-common-dynamic.mjs.map +1 -1
  402. package/fesm2015/theseam-ui-common-footer-bar.mjs +7 -7
  403. package/fesm2015/theseam-ui-common-footer-bar.mjs.map +1 -1
  404. package/fesm2015/theseam-ui-common-form-field-error.mjs +16 -16
  405. package/fesm2015/theseam-ui-common-form-field-error.mjs.map +1 -1
  406. package/fesm2015/theseam-ui-common-form-field.mjs +22 -22
  407. package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
  408. package/fesm2015/theseam-ui-common-framework.mjs +1026 -277
  409. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  410. package/fesm2015/theseam-ui-common-google-maps.mjs +41 -41
  411. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  412. package/fesm2015/theseam-ui-common-graphql.mjs +257 -4
  413. package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
  414. package/fesm2015/theseam-ui-common-icon.mjs +13 -13
  415. package/fesm2015/theseam-ui-common-icon.mjs.map +1 -1
  416. package/fesm2015/theseam-ui-common-layout.mjs +18 -9
  417. package/fesm2015/theseam-ui-common-layout.mjs.map +1 -1
  418. package/fesm2015/theseam-ui-common-loading.mjs +10 -10
  419. package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
  420. package/fesm2015/theseam-ui-common-menu.mjs +30 -25
  421. package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
  422. package/fesm2015/theseam-ui-common-modal.mjs +43 -43
  423. package/fesm2015/theseam-ui-common-modal.mjs.map +1 -1
  424. package/fesm2015/theseam-ui-common-navigation-reload.mjs +3 -3
  425. package/fesm2015/theseam-ui-common-navigation-reload.mjs.map +1 -1
  426. package/fesm2015/theseam-ui-common-popover.mjs +19 -11
  427. package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
  428. package/fesm2015/theseam-ui-common-progress.mjs +7 -7
  429. package/fesm2015/theseam-ui-common-progress.mjs.map +1 -1
  430. package/fesm2015/theseam-ui-common-rich-text.mjs +7 -7
  431. package/fesm2015/theseam-ui-common-rich-text.mjs.map +1 -1
  432. package/fesm2015/theseam-ui-common-scrollbar.mjs +10 -10
  433. package/fesm2015/theseam-ui-common-scrollbar.mjs.map +1 -1
  434. package/fesm2015/theseam-ui-common-services.mjs +12 -12
  435. package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
  436. package/fesm2015/theseam-ui-common-shared.mjs +37 -37
  437. package/fesm2015/theseam-ui-common-shared.mjs.map +1 -1
  438. package/fesm2015/theseam-ui-common-storage.mjs +3 -3
  439. package/fesm2015/theseam-ui-common-storage.mjs.map +1 -1
  440. package/fesm2015/theseam-ui-common-story-helpers.mjs +26 -26
  441. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  442. package/fesm2015/theseam-ui-common-tabbed.mjs +22 -22
  443. package/fesm2015/theseam-ui-common-tabbed.mjs.map +1 -1
  444. package/fesm2015/theseam-ui-common-table-cell-type.mjs +10 -10
  445. package/fesm2015/theseam-ui-common-table-cell-type.mjs.map +1 -1
  446. package/fesm2015/theseam-ui-common-table-cell-types.mjs +34 -32
  447. package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
  448. package/fesm2015/theseam-ui-common-table.mjs +207 -15
  449. package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
  450. package/fesm2015/theseam-ui-common-tel-input.mjs +13 -13
  451. package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
  452. package/fesm2015/theseam-ui-common-tiled-select.mjs +22 -22
  453. package/fesm2015/theseam-ui-common-tiled-select.mjs.map +1 -1
  454. package/fesm2015/theseam-ui-common-toggle-edit.mjs +16 -16
  455. package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
  456. package/fesm2015/theseam-ui-common-toggle-group.mjs +10 -10
  457. package/fesm2015/theseam-ui-common-toggle-group.mjs.map +1 -1
  458. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
  459. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  460. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  461. package/fesm2015/theseam-ui-common-vertical-list-filter.mjs +3 -3
  462. package/fesm2015/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
  463. package/fesm2015/theseam-ui-common-viewers.mjs +20 -20
  464. package/fesm2015/theseam-ui-common-viewers.mjs.map +1 -1
  465. package/fesm2015/theseam-ui-common-widget.mjs +135 -135
  466. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  467. package/fesm2020/theseam-ui-common-asset-reader.mjs +10 -10
  468. package/fesm2020/theseam-ui-common-asset-reader.mjs.map +1 -1
  469. package/fesm2020/theseam-ui-common-breadcrumbs.mjs +11 -11
  470. package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  471. package/fesm2020/theseam-ui-common-buttons.mjs +25 -25
  472. package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
  473. package/fesm2020/theseam-ui-common-card.mjs +19 -19
  474. package/fesm2020/theseam-ui-common-card.mjs.map +1 -1
  475. package/fesm2020/theseam-ui-common-carousel.mjs +10 -10
  476. package/fesm2020/theseam-ui-common-carousel.mjs.map +1 -1
  477. package/fesm2020/theseam-ui-common-checkbox.mjs +7 -7
  478. package/fesm2020/theseam-ui-common-checkbox.mjs.map +1 -1
  479. package/fesm2020/theseam-ui-common-confirm-dialog.mjs +13 -13
  480. package/fesm2020/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  481. package/fesm2020/theseam-ui-common-data-exporter.mjs +10 -10
  482. package/fesm2020/theseam-ui-common-data-exporter.mjs.map +1 -1
  483. package/fesm2020/theseam-ui-common-data-filters.mjs +13 -13
  484. package/fesm2020/theseam-ui-common-data-filters.mjs.map +1 -1
  485. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +26 -26
  486. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  487. package/fesm2020/theseam-ui-common-datatable.mjs +1096 -139
  488. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  489. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  490. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  491. package/fesm2020/theseam-ui-common-dynamic.mjs +21 -21
  492. package/fesm2020/theseam-ui-common-dynamic.mjs.map +1 -1
  493. package/fesm2020/theseam-ui-common-footer-bar.mjs +7 -7
  494. package/fesm2020/theseam-ui-common-footer-bar.mjs.map +1 -1
  495. package/fesm2020/theseam-ui-common-form-field-error.mjs +16 -16
  496. package/fesm2020/theseam-ui-common-form-field-error.mjs.map +1 -1
  497. package/fesm2020/theseam-ui-common-form-field.mjs +22 -22
  498. package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
  499. package/fesm2020/theseam-ui-common-framework.mjs +1028 -277
  500. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  501. package/fesm2020/theseam-ui-common-google-maps.mjs +41 -41
  502. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  503. package/fesm2020/theseam-ui-common-graphql.mjs +257 -4
  504. package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
  505. package/fesm2020/theseam-ui-common-icon.mjs +13 -13
  506. package/fesm2020/theseam-ui-common-icon.mjs.map +1 -1
  507. package/fesm2020/theseam-ui-common-layout.mjs +18 -9
  508. package/fesm2020/theseam-ui-common-layout.mjs.map +1 -1
  509. package/fesm2020/theseam-ui-common-loading.mjs +10 -10
  510. package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
  511. package/fesm2020/theseam-ui-common-menu.mjs +30 -25
  512. package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
  513. package/fesm2020/theseam-ui-common-modal.mjs +43 -43
  514. package/fesm2020/theseam-ui-common-modal.mjs.map +1 -1
  515. package/fesm2020/theseam-ui-common-navigation-reload.mjs +3 -3
  516. package/fesm2020/theseam-ui-common-navigation-reload.mjs.map +1 -1
  517. package/fesm2020/theseam-ui-common-popover.mjs +19 -11
  518. package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
  519. package/fesm2020/theseam-ui-common-progress.mjs +7 -7
  520. package/fesm2020/theseam-ui-common-progress.mjs.map +1 -1
  521. package/fesm2020/theseam-ui-common-rich-text.mjs +7 -7
  522. package/fesm2020/theseam-ui-common-rich-text.mjs.map +1 -1
  523. package/fesm2020/theseam-ui-common-scrollbar.mjs +10 -10
  524. package/fesm2020/theseam-ui-common-scrollbar.mjs.map +1 -1
  525. package/fesm2020/theseam-ui-common-services.mjs +12 -12
  526. package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
  527. package/fesm2020/theseam-ui-common-shared.mjs +37 -37
  528. package/fesm2020/theseam-ui-common-shared.mjs.map +1 -1
  529. package/fesm2020/theseam-ui-common-storage.mjs +3 -3
  530. package/fesm2020/theseam-ui-common-storage.mjs.map +1 -1
  531. package/fesm2020/theseam-ui-common-story-helpers.mjs +26 -26
  532. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  533. package/fesm2020/theseam-ui-common-tabbed.mjs +22 -22
  534. package/fesm2020/theseam-ui-common-tabbed.mjs.map +1 -1
  535. package/fesm2020/theseam-ui-common-table-cell-type.mjs +10 -10
  536. package/fesm2020/theseam-ui-common-table-cell-type.mjs.map +1 -1
  537. package/fesm2020/theseam-ui-common-table-cell-types.mjs +34 -32
  538. package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
  539. package/fesm2020/theseam-ui-common-table.mjs +205 -15
  540. package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
  541. package/fesm2020/theseam-ui-common-tel-input.mjs +13 -13
  542. package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
  543. package/fesm2020/theseam-ui-common-tiled-select.mjs +22 -22
  544. package/fesm2020/theseam-ui-common-tiled-select.mjs.map +1 -1
  545. package/fesm2020/theseam-ui-common-toggle-edit.mjs +16 -16
  546. package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
  547. package/fesm2020/theseam-ui-common-toggle-group.mjs +10 -10
  548. package/fesm2020/theseam-ui-common-toggle-group.mjs.map +1 -1
  549. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
  550. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  551. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  552. package/fesm2020/theseam-ui-common-vertical-list-filter.mjs +3 -3
  553. package/fesm2020/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
  554. package/fesm2020/theseam-ui-common-viewers.mjs +20 -20
  555. package/fesm2020/theseam-ui-common-viewers.mjs.map +1 -1
  556. package/fesm2020/theseam-ui-common-widget.mjs +135 -135
  557. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  558. package/framework/base-layout/base-layout.component.d.ts +4 -2
  559. package/framework/base-layout/base-layout.component.scss +18 -10
  560. package/framework/base-layout/base-layout.module.d.ts +11 -10
  561. package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +8 -3
  562. package/framework/base-layout/directives/base-layout-side-bar-header.directive.d.ts +9 -0
  563. package/framework/base-layout/index.d.ts +1 -0
  564. package/framework/base-layout/styles/_variables.scss +21 -0
  565. package/framework/nav/_nav-theme.scss +4 -0
  566. package/framework/nav/horizontal-nav/horizontal-nav.component.d.ts +25 -0
  567. package/framework/nav/horizontal-nav/horizontal-nav.component.scss +50 -0
  568. package/framework/nav/index.d.ts +5 -0
  569. package/framework/nav/nav-item/nav-item.component.d.ts +74 -0
  570. package/framework/nav/nav-item/nav-item.component.scss +203 -0
  571. package/framework/nav/nav-utils.d.ts +20 -0
  572. package/framework/nav/nav.models.d.ts +77 -0
  573. package/framework/nav/nav.module.d.ts +17 -0
  574. package/framework/nav/nav.service.d.ts +27 -0
  575. package/framework/nav/styles/_themes/light/_variables.scss +56 -0
  576. package/framework/nav/styles/_themes/primary/_variables.scss +56 -0
  577. package/framework/nav/styles/_utilities.scss +3 -0
  578. package/framework/nav/styles/_variables.scss +2 -0
  579. package/framework/public-api.d.ts +1 -0
  580. package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +7 -14
  581. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +7 -5
  582. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +5 -3
  583. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +3 -6
  584. package/framework/side-nav/side-nav.component.d.ts +13 -1
  585. package/framework/side-nav/side-nav.component.scss +0 -1
  586. package/framework/side-nav/side-nav.models.d.ts +7 -1
  587. package/framework/side-nav/side-nav.module.d.ts +1 -9
  588. package/framework/side-nav/styles/_themes/light/_variables.scss +24 -14
  589. package/framework/side-nav/styles/_themes/primary/_variables.scss +8 -0
  590. package/framework/top-bar/index.d.ts +2 -0
  591. package/framework/top-bar/top-bar-compact-menu-btn-detail.directive.d.ts +8 -0
  592. package/framework/top-bar/top-bar-item.directive.d.ts +4 -1
  593. package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +5 -2
  594. package/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.d.ts +8 -0
  595. package/framework/top-bar/top-bar.component.d.ts +25 -3
  596. package/framework/top-bar/top-bar.component.scss +7 -2
  597. package/framework/top-bar/top-bar.module.d.ts +10 -8
  598. package/graphql/datatable/datatable-graphql.service.d.ts +1 -1
  599. package/graphql/datatable/index.d.ts +3 -0
  600. package/graphql/datatable/map-filter-states.d.ts +2 -2
  601. package/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.d.ts +4 -0
  602. package/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.d.ts +4 -0
  603. package/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.d.ts +4 -0
  604. package/layout/layout.service.d.ts +9 -1
  605. package/menu/menu-toggle.directive.d.ts +2 -1
  606. package/package.json +3 -3
  607. package/popover/popover/popover.component.d.ts +4 -1
  608. package/popover/popover.directive.d.ts +2 -1
  609. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +83 -14
  610. package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +38 -3
  611. package/table/public-api.d.ts +3 -0
  612. package/table/table/table.component.d.ts +21 -3
  613. package/table/table-cell-tpl.directive.d.ts +7 -0
  614. package/table/table-column-header-tpl.directive.d.ts +7 -0
  615. package/table/table-column.component.d.ts +24 -0
  616. package/table/table.module.d.ts +4 -1
@@ -37,9 +37,9 @@ export class DatatableDynamicFilterContainerComponent {
37
37
  ]));
38
38
  }
39
39
  }
40
- DatatableDynamicFilterContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicFilterContainerComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
41
- DatatableDynamicFilterContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableDynamicFilterContainerComponent, selector: "seam-datatable-dynamic-filter-container", inputs: { filterComponent: "filterComponent", options: "options" }, ngImport: i0, template: "<ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicFilterContainerComponent, decorators: [{
40
+ DatatableDynamicFilterContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatatableDynamicFilterContainerComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
41
+ DatatableDynamicFilterContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DatatableDynamicFilterContainerComponent, selector: "seam-datatable-dynamic-filter-container", inputs: { filterComponent: "filterComponent", options: "options" }, ngImport: i0, template: "<ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatatableDynamicFilterContainerComponent, decorators: [{
43
43
  type: Component,
44
44
  args: [{ selector: 'seam-datatable-dynamic-filter-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n", styles: [":host{display:block}\n"] }]
45
45
  }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { filterComponent: [{
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
47
47
  }], options: [{
48
48
  type: Input
49
49
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUtZHluYW1pYy9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyL2RhdGF0YWJsZS1keW5hbWljLWZpbHRlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFZLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUUzRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTs7O0FBUzdFLE1BQU0sT0FBTyx3Q0FBd0M7SUFFbkQsSUFDSSxlQUFlLENBQUMsS0FBMEM7UUFDNUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQTtRQUM3Qix5Q0FBeUM7UUFDekMsMkJBQTJCO1FBQzNCLElBQUk7SUFDTixDQUFDO0lBQ0QsSUFBSSxlQUFlLEtBQUssT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUEsQ0FBQyxDQUFDO0lBT3RELFlBQ1UsU0FBbUI7UUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUg3QixZQUFPLEdBQThCLElBQUksQ0FBQTtJQUlyQyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtTQUN0QztJQUNILENBQUM7SUFFTyxVQUFVLENBQUMsU0FBMkI7UUFDNUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1NBQ3BCO1FBRUQsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUE7U0FDakY7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1NBQ3BCO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksT0FBTyxDQUFZO1lBQy9ELENBQUUsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBRTtTQUM5QyxDQUFDLENBQUMsQ0FBQTtJQUNMLENBQUM7O3FJQTFDVSx3Q0FBd0M7eUhBQXhDLHdDQUF3QyxtSkNackQsNkRBQ0E7MkZEV2Esd0NBQXdDO2tCQU5wRCxTQUFTOytCQUNFLHlDQUF5QyxtQkFHbEMsdUJBQXVCLENBQUMsTUFBTTsrRkFLM0MsZUFBZTtzQkFEbEIsS0FBSztnQkFVRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFBvcnRhbEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCdcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHsgVEhFU0VBTV9EQVRBX0ZJTFRFUl9PUFRJT05TIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZmlsdGVycydcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9tb2RlbHMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljRmlsdGVyQ29udGFpbmVyQ29tcG9uZW50PEM+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBzZXQgZmlsdGVyQ29tcG9uZW50KHZhbHVlOiBDb21wb25lbnRUeXBlPEM+IHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIHRoaXMuX2ZpbHRlckNvbXBvbmVudCA9IHZhbHVlXG4gICAgLy8gaWYgKHRoaXMuX2ZpbHRlckNvbXBvbmVudCAhPT0gdmFsdWUpIHtcbiAgICAvLyAgIHRoaXMuX3NldFBvcnRhbCh2YWx1ZSlcbiAgICAvLyB9XG4gIH1cbiAgZ2V0IGZpbHRlckNvbXBvbmVudCgpIHsgcmV0dXJuIHRoaXMuX2ZpbHRlckNvbXBvbmVudCB9XG4gIHByaXZhdGUgX2ZpbHRlckNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxDPiB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBASW5wdXQoKSBvcHRpb25zOiBhbnlcblxuICBfcG9ydGFsOiBDb21wb25lbnRQb3J0YWw8Qz4gfCBudWxsID0gbnVsbFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvclxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmZpbHRlckNvbXBvbmVudCkge1xuICAgICAgdGhpcy5fc2V0UG9ydGFsKHRoaXMuZmlsdGVyQ29tcG9uZW50KVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldFBvcnRhbChjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8Qz4pIHtcbiAgICBpZiAodGhpcy5fcG9ydGFsKSB7XG4gICAgICB0aGlzLl9wb3J0YWwgPSBudWxsXG4gICAgfVxuXG4gICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgdGhpcy5fcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChjb21wb25lbnQsIHVuZGVmaW5lZCwgdGhpcy5fY3JlYXRlSW5qZWN0b3IoKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fcG9ydGFsID0gbnVsbFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUluamVjdG9yKCk6IFBvcnRhbEluamVjdG9yIHtcbiAgICByZXR1cm4gbmV3IFBvcnRhbEluamVjdG9yKHRoaXMuX2luamVjdG9yLCBuZXcgV2Vha01hcCA8YW55LCBhbnk+KFtcbiAgICAgIFsgVEhFU0VBTV9EQVRBX0ZJTFRFUl9PUFRJT05TLCB0aGlzLm9wdGlvbnMgXVxuICAgIF0pKVxuICB9XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIl9wb3J0YWxcIj48L25nLXRlbXBsYXRlPlxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUtZHluYW1pYy9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyL2RhdGF0YWJsZS1keW5hbWljLWZpbHRlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFZLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUUzRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTs7O0FBUzdFLE1BQU0sT0FBTyx3Q0FBd0M7SUFFbkQsSUFDSSxlQUFlLENBQUMsS0FBMEM7UUFDNUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQTtRQUM3Qix5Q0FBeUM7UUFDekMsMkJBQTJCO1FBQzNCLElBQUk7SUFDTixDQUFDO0lBQ0QsSUFBSSxlQUFlLEtBQUssT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUEsQ0FBQyxDQUFDO0lBT3RELFlBQ1UsU0FBbUI7UUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUg3QixZQUFPLEdBQThCLElBQUksQ0FBQTtJQUlyQyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtTQUN0QztJQUNILENBQUM7SUFFTyxVQUFVLENBQUMsU0FBMkI7UUFDNUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1NBQ3BCO1FBRUQsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUE7U0FDakY7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1NBQ3BCO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksT0FBTyxDQUFZO1lBQy9ELENBQUUsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBRTtTQUM5QyxDQUFDLENBQUMsQ0FBQTtJQUNMLENBQUM7O3NJQTFDVSx3Q0FBd0M7MEhBQXhDLHdDQUF3QyxtSkNackQsNkRBQ0E7NEZEV2Esd0NBQXdDO2tCQU5wRCxTQUFTOytCQUNFLHlDQUF5QyxtQkFHbEMsdUJBQXVCLENBQUMsTUFBTTsrRkFLM0MsZUFBZTtzQkFEbEIsS0FBSztnQkFVRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFBvcnRhbEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCdcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHsgVEhFU0VBTV9EQVRBX0ZJTFRFUl9PUFRJT05TIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZmlsdGVycydcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9tb2RlbHMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljRmlsdGVyQ29udGFpbmVyQ29tcG9uZW50PEM+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBzZXQgZmlsdGVyQ29tcG9uZW50KHZhbHVlOiBDb21wb25lbnRUeXBlPEM+IHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIHRoaXMuX2ZpbHRlckNvbXBvbmVudCA9IHZhbHVlXG4gICAgLy8gaWYgKHRoaXMuX2ZpbHRlckNvbXBvbmVudCAhPT0gdmFsdWUpIHtcbiAgICAvLyAgIHRoaXMuX3NldFBvcnRhbCh2YWx1ZSlcbiAgICAvLyB9XG4gIH1cbiAgZ2V0IGZpbHRlckNvbXBvbmVudCgpIHsgcmV0dXJuIHRoaXMuX2ZpbHRlckNvbXBvbmVudCB9XG4gIHByaXZhdGUgX2ZpbHRlckNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxDPiB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBASW5wdXQoKSBvcHRpb25zOiBhbnlcblxuICBfcG9ydGFsOiBDb21wb25lbnRQb3J0YWw8Qz4gfCBudWxsID0gbnVsbFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvclxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmZpbHRlckNvbXBvbmVudCkge1xuICAgICAgdGhpcy5fc2V0UG9ydGFsKHRoaXMuZmlsdGVyQ29tcG9uZW50KVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldFBvcnRhbChjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8Qz4pIHtcbiAgICBpZiAodGhpcy5fcG9ydGFsKSB7XG4gICAgICB0aGlzLl9wb3J0YWwgPSBudWxsXG4gICAgfVxuXG4gICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgdGhpcy5fcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChjb21wb25lbnQsIHVuZGVmaW5lZCwgdGhpcy5fY3JlYXRlSW5qZWN0b3IoKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fcG9ydGFsID0gbnVsbFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUluamVjdG9yKCk6IFBvcnRhbEluamVjdG9yIHtcbiAgICByZXR1cm4gbmV3IFBvcnRhbEluamVjdG9yKHRoaXMuX2luamVjdG9yLCBuZXcgV2Vha01hcCA8YW55LCBhbnk+KFtcbiAgICAgIFsgVEhFU0VBTV9EQVRBX0ZJTFRFUl9PUFRJT05TLCB0aGlzLm9wdGlvbnMgXVxuICAgIF0pKVxuICB9XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIl9wb3J0YWxcIj48L25nLXRlbXBsYXRlPlxuIl19
@@ -132,9 +132,9 @@ export class DatatableDynamicMenuBarContentComponent {
132
132
  }
133
133
  }
134
134
  }
135
- DatatableDynamicMenuBarContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicMenuBarContentComponent, deps: [{ token: i1.DynamicValueHelperService }, { token: i2.TheSeamDynamicComponentLoader }, { token: i0.Injector }, { token: THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM, optional: true }], target: i0.ɵɵFactoryTarget.Component });
136
- DatatableDynamicMenuBarContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableDynamicMenuBarContentComponent, selector: "seam-datatable-dynamic-menu-bar-content", inputs: { def: "def" }, ngImport: i0, template: "<seam-datatable-menu-bar-row *ngFor=\"let row of _rows$ | async; last as isLast\"\n [class.mb-2]=\"!isLast\"\n [ngClass]=\"$any(row.cssClass)\"\n [ngStyle]=\"$any(row.styles)\">\n <ng-container *ngIf=\"row.layoutType === 'tri-column'\">\n <seam-datatable-menu-bar-column-left *ngIf=\"row.layout?.columnLeft\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnLeft?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnLeft?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-left>\n <seam-datatable-menu-bar-column-center *ngIf=\"row.layout?.columnCenter\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnCenter?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnCenter?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-center>\n <seam-datatable-menu-bar-column-right *ngIf=\"row.layout?.columnRight\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnRight?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnRight?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-right>\n </ng-container>\n</seam-datatable-menu-bar-row>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.DatatableMenuBarRowComponent, selector: "seam-datatable-menu-bar-row" }, { kind: "component", type: i4.DatatableMenuBarColumnLeftComponent, selector: "seam-datatable-menu-bar-column-left" }, { kind: "component", type: i4.DatatableMenuBarColumnCenterComponent, selector: "seam-datatable-menu-bar-column-center" }, { kind: "component", type: i4.DatatableMenuBarColumnRightComponent, selector: "seam-datatable-menu-bar-column-right" }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicMenuBarContentComponent, decorators: [{
135
+ DatatableDynamicMenuBarContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatatableDynamicMenuBarContentComponent, deps: [{ token: i1.DynamicValueHelperService }, { token: i2.TheSeamDynamicComponentLoader }, { token: i0.Injector }, { token: THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM, optional: true }], target: i0.ɵɵFactoryTarget.Component });
136
+ DatatableDynamicMenuBarContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DatatableDynamicMenuBarContentComponent, selector: "seam-datatable-dynamic-menu-bar-content", inputs: { def: "def" }, ngImport: i0, template: "<seam-datatable-menu-bar-row *ngFor=\"let row of _rows$ | async; last as isLast\"\n [class.mb-2]=\"!isLast\"\n [ngClass]=\"$any(row.cssClass)\"\n [ngStyle]=\"$any(row.styles)\">\n <ng-container *ngIf=\"row.layoutType === 'tri-column'\">\n <seam-datatable-menu-bar-column-left *ngIf=\"row.layout?.columnLeft\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnLeft?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnLeft?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-left>\n <seam-datatable-menu-bar-column-center *ngIf=\"row.layout?.columnCenter\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnCenter?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnCenter?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-center>\n <seam-datatable-menu-bar-column-right *ngIf=\"row.layout?.columnRight\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnRight?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnRight?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-right>\n </ng-container>\n</seam-datatable-menu-bar-row>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.DatatableMenuBarRowComponent, selector: "seam-datatable-menu-bar-row" }, { kind: "component", type: i4.DatatableMenuBarColumnLeftComponent, selector: "seam-datatable-menu-bar-column-left" }, { kind: "component", type: i4.DatatableMenuBarColumnCenterComponent, selector: "seam-datatable-menu-bar-column-center" }, { kind: "component", type: i4.DatatableMenuBarColumnRightComponent, selector: "seam-datatable-menu-bar-column-right" }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatatableDynamicMenuBarContentComponent, decorators: [{
138
138
  type: Component,
139
139
  args: [{ selector: 'seam-datatable-dynamic-menu-bar-content', changeDetection: ChangeDetectionStrategy.OnPush, template: "<seam-datatable-menu-bar-row *ngFor=\"let row of _rows$ | async; last as isLast\"\n [class.mb-2]=\"!isLast\"\n [ngClass]=\"$any(row.cssClass)\"\n [ngStyle]=\"$any(row.styles)\">\n <ng-container *ngIf=\"row.layoutType === 'tri-column'\">\n <seam-datatable-menu-bar-column-left *ngIf=\"row.layout?.columnLeft\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnLeft?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnLeft?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-left>\n <seam-datatable-menu-bar-column-center *ngIf=\"row.layout?.columnCenter\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnCenter?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnCenter?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-center>\n <seam-datatable-menu-bar-column-right *ngIf=\"row.layout?.columnRight\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnRight?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnRight?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-right>\n </ng-container>\n</seam-datatable-menu-bar-row>\n" }]
140
140
  }], ctorParameters: function () { return [{ type: i1.DynamicValueHelperService }, { type: i2.TheSeamDynamicComponentLoader }, { type: i0.Injector }, { type: undefined, decorators: [{
@@ -145,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
145
145
  }] }]; }, propDecorators: { def: [{
146
146
  type: Input
147
147
  }] } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUtZHluYW1pYy9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50L2RhdGF0YWJsZS1keW5hbWljLW1lbnUtYmFyLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBWSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3JHLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUkvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFHdEQsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0scUNBQXFDLENBQUE7Ozs7Ozs7QUEwRDVGLE1BQU0sT0FBTyx1Q0FBdUM7SUFJbEQsSUFDSSxHQUFHLENBQUMsS0FBMEMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDN0UsSUFBSSxHQUFHLEtBQTBDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFDO0lB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QUFDLE1BQU07OzBCQWtCNUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQ0FBc0M7NENBWHhELEdBQUc7c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgUG9ydGFsSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJ1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBEeW5hbWljVmFsdWVIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2R5bmFtaWMnXG5pbXBvcnQgeyBUaGVTZWFtRHluYW1pY0NvbXBvbmVudExvYWRlciB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9keW5hbWljLWNvbXBvbmVudC1sb2FkZXInXG5pbXBvcnQgeyBoYXNQcm9wZXJ0eSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW1wb3J0IHsgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFySXRlbU1hbmlmZXN0IH0gZnJvbSAnLi4vZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItaXRlbS1tYW5pZmVzdCdcbmltcG9ydCB7IFRIRVNFQU1fREFUQVRBQkxFX0RZTkFNSUNfTUVOVUJBUl9JVEVNIH0gZnJvbSAnLi4vZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItdG9rZW4nXG5pbXBvcnQge1xuICBEeW5hbWljRGF0YXRhYmxlTWVudUJhcixcbiAgRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJDb2x1bW4sXG4gIER5bmFtaWNEYXRhdGFibGVNZW51QmFySXRlbSxcbiAgRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3csXG4gIER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93TGF5b3V0VHJpQ29sdW1uXG59IGZyb20gJy4uL21vZGVscy9keW5hbWljLWRhdGF0YWJsZS1tZW51LWJhcidcblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbSB7XG4gIC8vIHN0eWxlcz86IHN0cmluZyB8IHN0cmluZ1tdXG4gIC8vIGNzc0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW11cbiAgcG9ydGFsPzogQ29tcG9uZW50UG9ydGFsPG9iamVjdD5cbiAgLy8gY29tcG9uZW50Pzogc3RyaW5nIHwgQ29tcG9uZW50VHlwZTx7fT5cbiAgLy8gY29uZmlnPzogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbiB7XG4gIHN0eWxlcz86IHN0cmluZyB8IHN0cmluZ1tdXG4gIGNzc0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW11cbiAgaXRlbXM/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvd0xheW91dFRyaUNvbHVtbiB7XG4gIGNvbHVtbkxlZnQ/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Q29sdW1uXG4gIGNvbHVtbkNlbnRlcj86IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb2x1bW5cbiAgY29sdW1uUmlnaHQ/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Q29sdW1uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvdyB7XG4gIHN0eWxlcz86IHN0cmluZyB8IHN0cmluZ1tdXG4gIGNzc0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW11cbiAgcHJpb3JpdHk/OiBudW1iZXJcbiAgbGF5b3V0VHlwZT86IHN0cmluZ1xuICBsYXlvdXQ/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93TGF5b3V0VHJpQ29sdW1uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvd0NvbnRleHQge1xuICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbkNvbnRleHQge1xuICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uXG4gIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbUNvbnRleHQge1xuICBpdGVtOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckl0ZW1cbiAgcm93OiBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvd1xuICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb21wb25lbnQge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlZiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RHluYW1pY0RhdGF0YWJsZU1lbnVCYXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcblxuICBASW5wdXQoKVxuICBzZXQgZGVmKHZhbHVlOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhciB8IHVuZGVmaW5lZCkgeyB0aGlzLl9kZWYubmV4dCh2YWx1ZSkgfVxuICBnZXQgZGVmKCk6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuX2RlZi52YWx1ZSB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGRlZiQ6IE9ic2VydmFibGU8RHluYW1pY0RhdGF0YWJsZU1lbnVCYXIgfCB1bmRlZmluZWQ+XG5cbiAgcmVhZG9ubHkgX3Jvd3MkOiBPYnNlcnZhYmxlPElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRSb3dbXT5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF92YWx1ZUhlbHBlcjogRHluYW1pY1ZhbHVlSGVscGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9keW5hbWljQ29tcG9uZW50TG9hZGVyOiBUaGVTZWFtRHluYW1pY0NvbXBvbmVudExvYWRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChUSEVTRUFNX0RBVEFUQUJMRV9EWU5BTUlDX01FTlVCQVJfSVRFTSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZW51QmFySXRlbU1hbmlmZXN0cz86IElEYXRhdGFibGVEeW5hbWljTWVudUJhckl0ZW1NYW5pZmVzdFtdXG4gICkge1xuICAgIHRoaXMuZGVmJCA9IHRoaXMuX2RlZi5hc09ic2VydmFibGUoKVxuICAgICAgLy8gLnBpcGUodGFwKHYgPT4gY29uc29sZS5sb2coJ2RlZiQnLCB2KSkpXG5cbiAgICB0aGlzLl9yb3dzJCA9IHRoaXMuZGVmJC5waXBlKHN3aXRjaE1hcChkZWYgPT4gdGhpcy5fbWFwUm93cygoZGVmICYmIGRlZi5yb3dzKSB8fCBbXSkpKVxuICAgICAgLy8gLnBpcGUodGFwKHYgPT4gY29uc29sZS5sb2coJ19yb3dzJCcsIHYpKSlcbiAgfVxuXG4gIHByaXZhdGUgX21hcFJvd3Mocm93czogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dbXSk6IFByb21pc2U8SURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvd1tdPiB7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKHJvd3MubWFwKHIgPT4gdGhpcy5fbWFwUm93KHIpKSlcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX21hcFJvdyhyb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93KTogUHJvbWlzZTxJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93PiB7XG4gICAgY29uc3QgcmVzdWx0OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93ID0geyB9XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuX2NyZWF0ZVJvd0NvbnRleHQocm93KVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KHJvdywgJ3N0eWxlcycpKSB7XG4gICAgICByZXN1bHQuc3R5bGVzID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChyb3cuc3R5bGVzLCBjb250ZXh0KVxuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShyb3csICdjc3NDbGFzcycpKSB7XG4gICAgICByZXN1bHQuY3NzQ2xhc3MgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKHJvdy5jc3NDbGFzcywgY29udGV4dClcbiAgICB9XG5cbiAgICBpZiAoaGFzUHJvcGVydHkocm93LCAncHJpb3JpdHknKSkge1xuICAgICAgcmVzdWx0LnByaW9yaXR5ID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChyb3cucHJpb3JpdHksIGNvbnRleHQpXG4gICAgfVxuXG4gICAgcmVzdWx0LmxheW91dFR5cGUgPSByb3cubGF5b3V0LnR5cGVcbiAgICByZXN1bHQubGF5b3V0ID0gYXdhaXQgdGhpcy5fbWFwUm93TGF5b3V0KHJvdy5sYXlvdXQsIHJvdylcblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX21hcFJvd0xheW91dChcbiAgICBsYXlvdXQ6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93TGF5b3V0VHJpQ29sdW1uLFxuICAgIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dcbiAgKTogUHJvbWlzZTxJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93TGF5b3V0VHJpQ29sdW1uPiB7XG4gICAgY29uc3QgcmVzdWx0OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93TGF5b3V0VHJpQ29sdW1uID0geyB9XG5cbiAgICBpZiAoaGFzUHJvcGVydHkobGF5b3V0LCAnY29sdW1uTGVmdCcpKSB7XG4gICAgICByZXN1bHQuY29sdW1uTGVmdCA9IGF3YWl0IHRoaXMuX21hcENvbHVtbihsYXlvdXQuY29sdW1uTGVmdCwgcm93KVxuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShsYXlvdXQsICdjb2x1bW5DZW50ZXInKSkge1xuICAgICAgcmVzdWx0LmNvbHVtbkNlbnRlciA9IGF3YWl0IHRoaXMuX21hcENvbHVtbihsYXlvdXQuY29sdW1uQ2VudGVyLCByb3cpXG4gICAgfVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGxheW91dCwgJ2NvbHVtblJpZ2h0JykpIHtcbiAgICAgIHJlc3VsdC5jb2x1bW5SaWdodCA9IGF3YWl0IHRoaXMuX21hcENvbHVtbihsYXlvdXQuY29sdW1uUmlnaHQsIHJvdylcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9tYXBDb2x1bW4oXG4gICAgY29sdW1uOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckNvbHVtbixcbiAgICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93XG4gICk6IFByb21pc2U8SURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbj4ge1xuICAgIGNvbnN0IHJlc3VsdDogSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbiA9IHsgfVxuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLl9jcmVhdGVDb2x1bW5Db250ZXh0KGNvbHVtbiwgcm93KVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGNvbHVtbiwgJ3N0eWxlcycpKSB7XG4gICAgICByZXN1bHQuc3R5bGVzID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChjb2x1bW4uc3R5bGVzLCBjb250ZXh0KVxuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShjb2x1bW4sICdjc3NDbGFzcycpKSB7XG4gICAgICByZXN1bHQuY3NzQ2xhc3MgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGNvbHVtbi5jc3NDbGFzcywgY29udGV4dClcbiAgICB9XG5cbiAgICByZXN1bHQuaXRlbXMgPSBhd2FpdCBQcm9taXNlLmFsbChjb2x1bW4uaXRlbXMubWFwKHYgPT4gdGhpcy5fbWFwSXRlbSh2LCByb3csIGNvbHVtbikpKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfbWFwSXRlbShcbiAgICBpdGVtOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckl0ZW0sXG4gICAgcm93OiBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvdyxcbiAgICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uXG4gICk6IFByb21pc2U8SURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudEl0ZW0+IHtcbiAgICBjb25zdCByZXN1bHQ6IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRJdGVtID0geyB9XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuX2NyZWF0ZUl0ZW1Db250ZXh0KGl0ZW0sIHJvdywgY29sdW1uKVxuXG4gICAgLy8gaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdzdHlsZXMnKSkge1xuICAgIC8vICAgcmVzdWx0LnN0eWxlcyA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5zdHlsZXMsIGNvbnRleHQpXG4gICAgLy8gfVxuXG4gICAgLy8gaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdjc3NDbGFzcycpKSB7XG4gICAgLy8gICByZXN1bHQuY3NzQ2xhc3MgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGl0ZW0uY3NzQ2xhc3MsIGNvbnRleHQpXG4gICAgLy8gfVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdjb21wb25lbnQnKSkge1xuICAgICAgLy8gcmVzdWx0LmNvbXBvbmVudCA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5jb21wb25lbnQsIGNvbnRleHQpXG4gICAgICBjb25zdCBjb21wb25lbnQgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGl0ZW0uY29tcG9uZW50LCBjb250ZXh0KVxuXG4gICAgICBsZXQgZGF0YTogYW55XG4gICAgICBpZiAoaGFzUHJvcGVydHkoaXRlbSwgJ2RhdGEnKSkge1xuICAgICAgICAvLyByZXN1bHQuZGF0YSA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5kYXRhLCBjb250ZXh0KVxuICAgICAgICAvLyBjb25zb2xlLmxvZygnJWNkYXRhJywgJ2NvbG9yOmN5YW4nLCBpdGVtLmRhdGEpXG4gICAgICAgIGRhdGEgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGl0ZW0uZGF0YSwgY29udGV4dClcbiAgICAgICAgLy8gY29uc29sZS5sb2coJyVjZGF0YScsICdjb2xvcjpsaW1lZ3JlZW4nLCBkYXRhKVxuICAgICAgfVxuXG4gICAgICByZXN1bHQucG9ydGFsID0gYXdhaXQgdGhpcy5fZ2V0Q29tcG9uZW50UG9ydGFsKGNvbXBvbmVudCwgZGF0YSlcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVSb3dDb250ZXh0KHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3cpOiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93Q29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJvd1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUNvbHVtbkNvbnRleHQoXG4gICAgY29sdW1uOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckNvbHVtbixcbiAgICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93XG4gICk6IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb2x1bW5Db250ZXh0IHtcbiAgICByZXR1cm4ge1xuICAgICAgcm93LFxuICAgICAgY29sdW1uXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlSXRlbUNvbnRleHQoXG4gICAgaXRlbTogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJJdGVtLFxuICAgIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3csXG4gICAgY29sdW1uOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckNvbHVtblxuICApOiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbUNvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICBpdGVtLFxuICAgICAgcm93LFxuICAgICAgY29sdW1uXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfZ2V0Q29tcG9uZW50UG9ydGFsKGNvbXBvbmVudDogc3RyaW5nLCBkYXRhPzogYW55KTogUHJvbWlzZTxDb21wb25lbnRQb3J0YWw8b2JqZWN0PiB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IG1hbmlmZXN0ID0gKHRoaXMuX21lbnVCYXJJdGVtTWFuaWZlc3RzIHx8IFtdKS5maW5kKG0gPT4gbS5uYW1lID09PSBjb21wb25lbnQpXG5cbiAgICBpZiAoIW1hbmlmZXN0KSB7XG4gICAgICAvLyBUT0RPOiBNYWtlIHN1cmUgdGhlIGNvbXBvbmVudCBpcyBza2lwcGVkIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0c2lkZSBvZiBkZXYgbW9kZS5cbiAgICAgIHRocm93IEVycm9yKGBNZW51QmFyIG1hbmlmZXN0IGZvciAnJHtjb21wb25lbnR9JyBub3QgZm91bmQuYClcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBDcmVhdGUgYSBuZXcgaW5qZWN0b3Igd2l0aCB0aGUgZGF0YSBpbmplY3RlZFxuICAgIGxldCBpbmplY3RvciA9IHRoaXMuX2luamVjdG9yXG4gICAgaWYgKG1hbmlmZXN0LmRhdGFUb2tlbikge1xuICAgICAgaW5qZWN0b3IgPSBuZXcgUG9ydGFsSW5qZWN0b3IodGhpcy5faW5qZWN0b3IsIG5ldyBXZWFrTWFwKFtcbiAgICAgICAgW21hbmlmZXN0LmRhdGFUb2tlbiwgZGF0YV1cbiAgICAgIF0pKVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbWFuaWZlc3QuY29tcG9uZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5fZHluYW1pY0NvbXBvbmVudExvYWRlci5nZXRDb21wb25lbnRGYWN0b3J5PG9iamVjdD4obWFuaWZlc3QuY29tcG9uZW50KS5waXBlKFxuICAgICAgICBtYXAoY29tcG9uZW50RmFjdG9yeSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBDb21wb25lbnRQb3J0YWwoXG4gICAgICAgICAgICBjb21wb25lbnRGYWN0b3J5LmNvbXBvbmVudFR5cGUsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgaW5qZWN0b3IsXG4gICAgICAgICAgICAoY29tcG9uZW50RmFjdG9yeSBhcyBhbnkgLyogQ29tcG9uZW50RmFjdG9yeUJvdW5kVG9Nb2R1bGUgKi8pLm5nTW9kdWxlLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxuICAgICAgICAgIClcbiAgICAgICAgfSlcbiAgICAgICkudG9Qcm9taXNlKClcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBDb21wb25lbnRQb3J0YWwobWFuaWZlc3QuY29tcG9uZW50LCBudWxsLCBpbmplY3RvciwgbnVsbClcbiAgICB9XG4gIH1cblxufVxuIiwiPHNlYW0tZGF0YXRhYmxlLW1lbnUtYmFyLXJvdyAqbmdGb3I9XCJsZXQgcm93IG9mIF9yb3dzJCB8IGFzeW5jOyBsYXN0IGFzIGlzTGFzdFwiXG4gIFtjbGFzcy5tYi0yXT1cIiFpc0xhc3RcIlxuICBbbmdDbGFzc109XCIkYW55KHJvdy5jc3NDbGFzcylcIlxuICBbbmdTdHlsZV09XCIkYW55KHJvdy5zdHlsZXMpXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cubGF5b3V0VHlwZSA9PT0gJ3RyaS1jb2x1bW4nXCI+XG4gICAgPHNlYW0tZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1sZWZ0ICpuZ0lmPVwicm93LmxheW91dD8uY29sdW1uTGVmdFwiXG4gICAgICBbbmdDbGFzc109XCIkYW55KHJvdy5sYXlvdXQpLmNzc0NsYXNzXCJcbiAgICAgIFtuZ1N0eWxlXT1cIiRhbnkocm93LmxheW91dCkuc3R5bGVzXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicm93LmxheW91dD8uY29sdW1uTGVmdD8uaXRlbXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiByb3cubGF5b3V0Py5jb2x1bW5MZWZ0Py5pdGVtc1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIml0ZW0ucG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NlYW0tZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1sZWZ0PlxuICAgIDxzZWFtLWRhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tY2VudGVyICpuZ0lmPVwicm93LmxheW91dD8uY29sdW1uQ2VudGVyXCJcbiAgICAgIFtuZ0NsYXNzXT1cIiRhbnkocm93LmxheW91dCkuY3NzQ2xhc3NcIlxuICAgICAgW25nU3R5bGVdPVwiJGFueShyb3cubGF5b3V0KS5zdHlsZXNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cubGF5b3V0Py5jb2x1bW5DZW50ZXI/Lml0ZW1zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygcm93LmxheW91dD8uY29sdW1uQ2VudGVyPy5pdGVtc1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIml0ZW0ucG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NlYW0tZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1jZW50ZXI+XG4gICAgPHNlYW0tZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1yaWdodCAqbmdJZj1cInJvdy5sYXlvdXQ/LmNvbHVtblJpZ2h0XCJcbiAgICAgIFtuZ0NsYXNzXT1cIiRhbnkocm93LmxheW91dCkuY3NzQ2xhc3NcIlxuICAgICAgW25nU3R5bGVdPVwiJGFueShyb3cubGF5b3V0KS5zdHlsZXNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cubGF5b3V0Py5jb2x1bW5SaWdodD8uaXRlbXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiByb3cubGF5b3V0Py5jb2x1bW5SaWdodD8uaXRlbXNcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJpdGVtLnBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zZWFtLWRhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tcmlnaHQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC9zZWFtLWRhdGF0YWJsZS1tZW51LWJhci1yb3c+XG4iXX0=
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUtZHluYW1pYy9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50L2RhdGF0YWJsZS1keW5hbWljLW1lbnUtYmFyLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBWSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3JHLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUkvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFHdEQsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0scUNBQXFDLENBQUE7Ozs7Ozs7QUEwRDVGLE1BQU0sT0FBTyx1Q0FBdUM7SUFJbEQsSUFDSSxHQUFHLENBQUMsS0FBMEMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDN0UsSUFBSSxHQUFHLEtBQTBDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFDO0lB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QUFDLE1BQU07OzBCQWtCNUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQ0FBc0M7NENBWHhELEdBQUc7c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgUG9ydGFsSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJ1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBEeW5hbWljVmFsdWVIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2R5bmFtaWMnXG5pbXBvcnQgeyBUaGVTZWFtRHluYW1pY0NvbXBvbmVudExvYWRlciB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9keW5hbWljLWNvbXBvbmVudC1sb2FkZXInXG5pbXBvcnQgeyBoYXNQcm9wZXJ0eSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW1wb3J0IHsgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFySXRlbU1hbmlmZXN0IH0gZnJvbSAnLi4vZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItaXRlbS1tYW5pZmVzdCdcbmltcG9ydCB7IFRIRVNFQU1fREFUQVRBQkxFX0RZTkFNSUNfTUVOVUJBUl9JVEVNIH0gZnJvbSAnLi4vZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItdG9rZW4nXG5pbXBvcnQge1xuICBEeW5hbWljRGF0YXRhYmxlTWVudUJhcixcbiAgRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJDb2x1bW4sXG4gIER5bmFtaWNEYXRhdGFibGVNZW51QmFySXRlbSxcbiAgRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3csXG4gIER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93TGF5b3V0VHJpQ29sdW1uXG59IGZyb20gJy4uL21vZGVscy9keW5hbWljLWRhdGF0YWJsZS1tZW51LWJhcidcblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbSB7XG4gIC8vIHN0eWxlcz86IHN0cmluZyB8IHN0cmluZ1tdXG4gIC8vIGNzc0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW11cbiAgcG9ydGFsPzogQ29tcG9uZW50UG9ydGFsPG9iamVjdD5cbiAgLy8gY29tcG9uZW50Pzogc3RyaW5nIHwgQ29tcG9uZW50VHlwZTx7fT5cbiAgLy8gY29uZmlnPzogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbiB7XG4gIHN0eWxlcz86IHN0cmluZyB8IHN0cmluZ1tdXG4gIGNzc0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW11cbiAgaXRlbXM/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvd0xheW91dFRyaUNvbHVtbiB7XG4gIGNvbHVtbkxlZnQ/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Q29sdW1uXG4gIGNvbHVtbkNlbnRlcj86IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb2x1bW5cbiAgY29sdW1uUmlnaHQ/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Q29sdW1uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvdyB7XG4gIHN0eWxlcz86IHN0cmluZyB8IHN0cmluZ1tdXG4gIGNzc0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW11cbiAgcHJpb3JpdHk/OiBudW1iZXJcbiAgbGF5b3V0VHlwZT86IHN0cmluZ1xuICBsYXlvdXQ/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93TGF5b3V0VHJpQ29sdW1uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvd0NvbnRleHQge1xuICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbkNvbnRleHQge1xuICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uXG4gIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbUNvbnRleHQge1xuICBpdGVtOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckl0ZW1cbiAgcm93OiBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvd1xuICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb21wb25lbnQge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlZiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RHluYW1pY0RhdGF0YWJsZU1lbnVCYXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcblxuICBASW5wdXQoKVxuICBzZXQgZGVmKHZhbHVlOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhciB8IHVuZGVmaW5lZCkgeyB0aGlzLl9kZWYubmV4dCh2YWx1ZSkgfVxuICBnZXQgZGVmKCk6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuX2RlZi52YWx1ZSB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGRlZiQ6IE9ic2VydmFibGU8RHluYW1pY0RhdGF0YWJsZU1lbnVCYXIgfCB1bmRlZmluZWQ+XG5cbiAgcmVhZG9ubHkgX3Jvd3MkOiBPYnNlcnZhYmxlPElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRSb3dbXT5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF92YWx1ZUhlbHBlcjogRHluYW1pY1ZhbHVlSGVscGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9keW5hbWljQ29tcG9uZW50TG9hZGVyOiBUaGVTZWFtRHluYW1pY0NvbXBvbmVudExvYWRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChUSEVTRUFNX0RBVEFUQUJMRV9EWU5BTUlDX01FTlVCQVJfSVRFTSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZW51QmFySXRlbU1hbmlmZXN0cz86IElEYXRhdGFibGVEeW5hbWljTWVudUJhckl0ZW1NYW5pZmVzdFtdXG4gICkge1xuICAgIHRoaXMuZGVmJCA9IHRoaXMuX2RlZi5hc09ic2VydmFibGUoKVxuICAgICAgLy8gLnBpcGUodGFwKHYgPT4gY29uc29sZS5sb2coJ2RlZiQnLCB2KSkpXG5cbiAgICB0aGlzLl9yb3dzJCA9IHRoaXMuZGVmJC5waXBlKHN3aXRjaE1hcChkZWYgPT4gdGhpcy5fbWFwUm93cygoZGVmICYmIGRlZi5yb3dzKSB8fCBbXSkpKVxuICAgICAgLy8gLnBpcGUodGFwKHYgPT4gY29uc29sZS5sb2coJ19yb3dzJCcsIHYpKSlcbiAgfVxuXG4gIHByaXZhdGUgX21hcFJvd3Mocm93czogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dbXSk6IFByb21pc2U8SURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvd1tdPiB7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKHJvd3MubWFwKHIgPT4gdGhpcy5fbWFwUm93KHIpKSlcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX21hcFJvdyhyb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93KTogUHJvbWlzZTxJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93PiB7XG4gICAgY29uc3QgcmVzdWx0OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93ID0geyB9XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuX2NyZWF0ZVJvd0NvbnRleHQocm93KVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KHJvdywgJ3N0eWxlcycpKSB7XG4gICAgICByZXN1bHQuc3R5bGVzID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChyb3cuc3R5bGVzLCBjb250ZXh0KVxuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShyb3csICdjc3NDbGFzcycpKSB7XG4gICAgICByZXN1bHQuY3NzQ2xhc3MgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKHJvdy5jc3NDbGFzcywgY29udGV4dClcbiAgICB9XG5cbiAgICBpZiAoaGFzUHJvcGVydHkocm93LCAncHJpb3JpdHknKSkge1xuICAgICAgcmVzdWx0LnByaW9yaXR5ID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChyb3cucHJpb3JpdHksIGNvbnRleHQpXG4gICAgfVxuXG4gICAgcmVzdWx0LmxheW91dFR5cGUgPSByb3cubGF5b3V0LnR5cGVcbiAgICByZXN1bHQubGF5b3V0ID0gYXdhaXQgdGhpcy5fbWFwUm93TGF5b3V0KHJvdy5sYXlvdXQsIHJvdylcblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX21hcFJvd0xheW91dChcbiAgICBsYXlvdXQ6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93TGF5b3V0VHJpQ29sdW1uLFxuICAgIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dcbiAgKTogUHJvbWlzZTxJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93TGF5b3V0VHJpQ29sdW1uPiB7XG4gICAgY29uc3QgcmVzdWx0OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93TGF5b3V0VHJpQ29sdW1uID0geyB9XG5cbiAgICBpZiAoaGFzUHJvcGVydHkobGF5b3V0LCAnY29sdW1uTGVmdCcpKSB7XG4gICAgICByZXN1bHQuY29sdW1uTGVmdCA9IGF3YWl0IHRoaXMuX21hcENvbHVtbihsYXlvdXQuY29sdW1uTGVmdCwgcm93KVxuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShsYXlvdXQsICdjb2x1bW5DZW50ZXInKSkge1xuICAgICAgcmVzdWx0LmNvbHVtbkNlbnRlciA9IGF3YWl0IHRoaXMuX21hcENvbHVtbihsYXlvdXQuY29sdW1uQ2VudGVyLCByb3cpXG4gICAgfVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGxheW91dCwgJ2NvbHVtblJpZ2h0JykpIHtcbiAgICAgIHJlc3VsdC5jb2x1bW5SaWdodCA9IGF3YWl0IHRoaXMuX21hcENvbHVtbihsYXlvdXQuY29sdW1uUmlnaHQsIHJvdylcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9tYXBDb2x1bW4oXG4gICAgY29sdW1uOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckNvbHVtbixcbiAgICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93XG4gICk6IFByb21pc2U8SURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbj4ge1xuICAgIGNvbnN0IHJlc3VsdDogSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbiA9IHsgfVxuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLl9jcmVhdGVDb2x1bW5Db250ZXh0KGNvbHVtbiwgcm93KVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGNvbHVtbiwgJ3N0eWxlcycpKSB7XG4gICAgICByZXN1bHQuc3R5bGVzID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChjb2x1bW4uc3R5bGVzLCBjb250ZXh0KVxuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShjb2x1bW4sICdjc3NDbGFzcycpKSB7XG4gICAgICByZXN1bHQuY3NzQ2xhc3MgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGNvbHVtbi5jc3NDbGFzcywgY29udGV4dClcbiAgICB9XG5cbiAgICByZXN1bHQuaXRlbXMgPSBhd2FpdCBQcm9taXNlLmFsbChjb2x1bW4uaXRlbXMubWFwKHYgPT4gdGhpcy5fbWFwSXRlbSh2LCByb3csIGNvbHVtbikpKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfbWFwSXRlbShcbiAgICBpdGVtOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckl0ZW0sXG4gICAgcm93OiBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvdyxcbiAgICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uXG4gICk6IFByb21pc2U8SURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudEl0ZW0+IHtcbiAgICBjb25zdCByZXN1bHQ6IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRJdGVtID0geyB9XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuX2NyZWF0ZUl0ZW1Db250ZXh0KGl0ZW0sIHJvdywgY29sdW1uKVxuXG4gICAgLy8gaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdzdHlsZXMnKSkge1xuICAgIC8vICAgcmVzdWx0LnN0eWxlcyA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5zdHlsZXMsIGNvbnRleHQpXG4gICAgLy8gfVxuXG4gICAgLy8gaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdjc3NDbGFzcycpKSB7XG4gICAgLy8gICByZXN1bHQuY3NzQ2xhc3MgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGl0ZW0uY3NzQ2xhc3MsIGNvbnRleHQpXG4gICAgLy8gfVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdjb21wb25lbnQnKSkge1xuICAgICAgLy8gcmVzdWx0LmNvbXBvbmVudCA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5jb21wb25lbnQsIGNvbnRleHQpXG4gICAgICBjb25zdCBjb21wb25lbnQgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGl0ZW0uY29tcG9uZW50LCBjb250ZXh0KVxuXG4gICAgICBsZXQgZGF0YTogYW55XG4gICAgICBpZiAoaGFzUHJvcGVydHkoaXRlbSwgJ2RhdGEnKSkge1xuICAgICAgICAvLyByZXN1bHQuZGF0YSA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5kYXRhLCBjb250ZXh0KVxuICAgICAgICAvLyBjb25zb2xlLmxvZygnJWNkYXRhJywgJ2NvbG9yOmN5YW4nLCBpdGVtLmRhdGEpXG4gICAgICAgIGRhdGEgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGl0ZW0uZGF0YSwgY29udGV4dClcbiAgICAgICAgLy8gY29uc29sZS5sb2coJyVjZGF0YScsICdjb2xvcjpsaW1lZ3JlZW4nLCBkYXRhKVxuICAgICAgfVxuXG4gICAgICByZXN1bHQucG9ydGFsID0gYXdhaXQgdGhpcy5fZ2V0Q29tcG9uZW50UG9ydGFsKGNvbXBvbmVudCwgZGF0YSlcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVSb3dDb250ZXh0KHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3cpOiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93Q29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJvd1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUNvbHVtbkNvbnRleHQoXG4gICAgY29sdW1uOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckNvbHVtbixcbiAgICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93XG4gICk6IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb2x1bW5Db250ZXh0IHtcbiAgICByZXR1cm4ge1xuICAgICAgcm93LFxuICAgICAgY29sdW1uXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlSXRlbUNvbnRleHQoXG4gICAgaXRlbTogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJJdGVtLFxuICAgIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3csXG4gICAgY29sdW1uOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckNvbHVtblxuICApOiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbUNvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICBpdGVtLFxuICAgICAgcm93LFxuICAgICAgY29sdW1uXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfZ2V0Q29tcG9uZW50UG9ydGFsKGNvbXBvbmVudDogc3RyaW5nLCBkYXRhPzogYW55KTogUHJvbWlzZTxDb21wb25lbnRQb3J0YWw8b2JqZWN0PiB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IG1hbmlmZXN0ID0gKHRoaXMuX21lbnVCYXJJdGVtTWFuaWZlc3RzIHx8IFtdKS5maW5kKG0gPT4gbS5uYW1lID09PSBjb21wb25lbnQpXG5cbiAgICBpZiAoIW1hbmlmZXN0KSB7XG4gICAgICAvLyBUT0RPOiBNYWtlIHN1cmUgdGhlIGNvbXBvbmVudCBpcyBza2lwcGVkIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0c2lkZSBvZiBkZXYgbW9kZS5cbiAgICAgIHRocm93IEVycm9yKGBNZW51QmFyIG1hbmlmZXN0IGZvciAnJHtjb21wb25lbnR9JyBub3QgZm91bmQuYClcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBDcmVhdGUgYSBuZXcgaW5qZWN0b3Igd2l0aCB0aGUgZGF0YSBpbmplY3RlZFxuICAgIGxldCBpbmplY3RvciA9IHRoaXMuX2luamVjdG9yXG4gICAgaWYgKG1hbmlmZXN0LmRhdGFUb2tlbikge1xuICAgICAgaW5qZWN0b3IgPSBuZXcgUG9ydGFsSW5qZWN0b3IodGhpcy5faW5qZWN0b3IsIG5ldyBXZWFrTWFwKFtcbiAgICAgICAgW21hbmlmZXN0LmRhdGFUb2tlbiwgZGF0YV1cbiAgICAgIF0pKVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbWFuaWZlc3QuY29tcG9uZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5fZHluYW1pY0NvbXBvbmVudExvYWRlci5nZXRDb21wb25lbnRGYWN0b3J5PG9iamVjdD4obWFuaWZlc3QuY29tcG9uZW50KS5waXBlKFxuICAgICAgICBtYXAoY29tcG9uZW50RmFjdG9yeSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBDb21wb25lbnRQb3J0YWwoXG4gICAgICAgICAgICBjb21wb25lbnRGYWN0b3J5LmNvbXBvbmVudFR5cGUsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgaW5qZWN0b3IsXG4gICAgICAgICAgICAoY29tcG9uZW50RmFjdG9yeSBhcyBhbnkgLyogQ29tcG9uZW50RmFjdG9yeUJvdW5kVG9Nb2R1bGUgKi8pLm5nTW9kdWxlLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxuICAgICAgICAgIClcbiAgICAgICAgfSlcbiAgICAgICkudG9Qcm9taXNlKClcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBDb21wb25lbnRQb3J0YWwobWFuaWZlc3QuY29tcG9uZW50LCBudWxsLCBpbmplY3RvciwgbnVsbClcbiAgICB9XG4gIH1cblxufVxuIiwiPHNlYW0tZGF0YXRhYmxlLW1lbnUtYmFyLXJvdyAqbmdGb3I9XCJsZXQgcm93IG9mIF9yb3dzJCB8IGFzeW5jOyBsYXN0IGFzIGlzTGFzdFwiXG4gIFtjbGFzcy5tYi0yXT1cIiFpc0xhc3RcIlxuICBbbmdDbGFzc109XCIkYW55KHJvdy5jc3NDbGFzcylcIlxuICBbbmdTdHlsZV09XCIkYW55KHJvdy5zdHlsZXMpXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cubGF5b3V0VHlwZSA9PT0gJ3RyaS1jb2x1bW4nXCI+XG4gICAgPHNlYW0tZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1sZWZ0ICpuZ0lmPVwicm93LmxheW91dD8uY29sdW1uTGVmdFwiXG4gICAgICBbbmdDbGFzc109XCIkYW55KHJvdy5sYXlvdXQpLmNzc0NsYXNzXCJcbiAgICAgIFtuZ1N0eWxlXT1cIiRhbnkocm93LmxheW91dCkuc3R5bGVzXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicm93LmxheW91dD8uY29sdW1uTGVmdD8uaXRlbXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiByb3cubGF5b3V0Py5jb2x1bW5MZWZ0Py5pdGVtc1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIml0ZW0ucG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NlYW0tZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1sZWZ0PlxuICAgIDxzZWFtLWRhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tY2VudGVyICpuZ0lmPVwicm93LmxheW91dD8uY29sdW1uQ2VudGVyXCJcbiAgICAgIFtuZ0NsYXNzXT1cIiRhbnkocm93LmxheW91dCkuY3NzQ2xhc3NcIlxuICAgICAgW25nU3R5bGVdPVwiJGFueShyb3cubGF5b3V0KS5zdHlsZXNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cubGF5b3V0Py5jb2x1bW5DZW50ZXI/Lml0ZW1zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygcm93LmxheW91dD8uY29sdW1uQ2VudGVyPy5pdGVtc1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIml0ZW0ucG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NlYW0tZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1jZW50ZXI+XG4gICAgPHNlYW0tZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1yaWdodCAqbmdJZj1cInJvdy5sYXlvdXQ/LmNvbHVtblJpZ2h0XCJcbiAgICAgIFtuZ0NsYXNzXT1cIiRhbnkocm93LmxheW91dCkuY3NzQ2xhc3NcIlxuICAgICAgW25nU3R5bGVdPVwiJGFueShyb3cubGF5b3V0KS5zdHlsZXNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cubGF5b3V0Py5jb2x1bW5SaWdodD8uaXRlbXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiByb3cubGF5b3V0Py5jb2x1bW5SaWdodD8uaXRlbXNcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJpdGVtLnBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zZWFtLWRhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tcmlnaHQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC9zZWFtLWRhdGF0YWJsZS1tZW51LWJhci1yb3c+XG4iXX0=
@@ -58,12 +58,12 @@ export class DatatableDynamicComponent {
58
58
  this._tmp_rows$ = this._dynamicDef.def$.pipe(map(def => def ? def.rows : []));
59
59
  }
60
60
  }
61
- DatatableDynamicComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicComponent, deps: [{ token: i1.DynamicDatatableDefService }], target: i0.ɵɵFactoryTarget.Component });
62
- DatatableDynamicComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableDynamicComponent, selector: "seam-datatable-dynamic", inputs: { def: "def" }, providers: [
61
+ DatatableDynamicComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatatableDynamicComponent, deps: [{ token: i1.DynamicDatatableDefService }], target: i0.ɵɵFactoryTarget.Component });
62
+ DatatableDynamicComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DatatableDynamicComponent, selector: "seam-datatable-dynamic", inputs: { def: "def" }, providers: [
63
63
  DynamicDatatableDefService,
64
64
  DynamicDatatableRowActionsService
65
- ], ngImport: i0, template: "<ng-container *ngIf=\"_hasDef$ | async\">\n <seam-datatable *ngIf=\"_options$ | async as opts\"\n class=\"w-100 h-100\"\n [columns]=\"_tmp_columns$ | async\"\n [rows]=\"_tmp_rows$ | async\"\n [virtualization]=\"opts.virtualization\">\n\n <seam-datatable-menu-bar *ngIf=\"menuBar$ | async as menuBar\">\n <seam-datatable-dynamic-menu-bar-content [def]=\"menuBar\"></seam-datatable-dynamic-menu-bar-content>\n </seam-datatable-menu-bar>\n <!-- <seam-datatable-menu-bar *ngIf=\"_hasFilterMenu$ | async\">\n <div class=\"d-flex flex-row pb-2\">\n <div class=\"d-flex flex-row justify-content-end flex-grow-1\">\n <seam-data-filter-search seamDatatableFilter *ngIf=\"_hasFullSearch$\"></seam-data-filter-search>\n </div>\n </div>\n <div class=\"d-flex flex-row\">\n <div class=\"d-flex justify-content-center flex-grow-1\">\n <ng-container *ngFor=\"let r of _commonFilterMenuItems$ | async; let isFirst = first\">\n <seam-datatable-dynamic-filter-container\n [class.ml-1]=\"!isFirst\"\n [filterComponent]=\"r.component\"\n [options]=\"r.options\">\n </seam-datatable-dynamic-filter-container>\n </ng-container>\n </div>\n <seam-datatable-export-button *ngIf=\"_exporters$ | async as exporters\"\n [exporters]=\"exporters\">\n </seam-datatable-export-button>\n </div>\n </seam-datatable-menu-bar> -->\n\n <ng-template seamDatatableRowActionItem let-row>\n <seam-datatable-dynamic-action-menu [row]=\"row\"></seam-datatable-dynamic-action-menu>\n </ng-template>\n\n </seam-datatable>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DatatableComponent, selector: "seam-datatable", inputs: ["preferencesKey", "targetMarkerTemplate", "columns", "rows", "columnMode", "groupRowsBy", "groupedRows", "selected", "externalPaging", "externalSorting", "externalFiltering", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowIdentity", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "virtualization", "headerHeight", "rowHeight", "footerHeight", "scrollbarV", "scrollbarH", "dataSource"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction", "actionRefreshRequest", "hiddenColumnsChange"] }, { kind: "component", type: i3.DatatableMenuBarComponent, selector: "seam-datatable-menu-bar" }, { kind: "directive", type: i3.DatatableRowActionItemDirective, selector: "[seamDatatableRowActionItem]" }, { kind: "component", type: i4.DatatableDynamicActionMenuComponent, selector: "seam-datatable-dynamic-action-menu", inputs: ["row", "actionDefs"] }, { kind: "component", type: i5.DatatableDynamicMenuBarContentComponent, selector: "seam-datatable-dynamic-menu-bar-content", inputs: ["def"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicComponent, decorators: [{
65
+ ], ngImport: i0, template: "<ng-container *ngIf=\"_hasDef$ | async\">\n <seam-datatable *ngIf=\"_options$ | async as opts\"\n class=\"w-100 h-100\"\n [columns]=\"_tmp_columns$ | async\"\n [rows]=\"_tmp_rows$ | async\"\n [virtualization]=\"opts.virtualization\">\n\n <seam-datatable-menu-bar *ngIf=\"menuBar$ | async as menuBar\">\n <seam-datatable-dynamic-menu-bar-content [def]=\"menuBar\"></seam-datatable-dynamic-menu-bar-content>\n </seam-datatable-menu-bar>\n <!-- <seam-datatable-menu-bar *ngIf=\"_hasFilterMenu$ | async\">\n <div class=\"d-flex flex-row pb-2\">\n <div class=\"d-flex flex-row justify-content-end flex-grow-1\">\n <seam-data-filter-search seamDatatableFilter *ngIf=\"_hasFullSearch$\"></seam-data-filter-search>\n </div>\n </div>\n <div class=\"d-flex flex-row\">\n <div class=\"d-flex justify-content-center flex-grow-1\">\n <ng-container *ngFor=\"let r of _commonFilterMenuItems$ | async; let isFirst = first\">\n <seam-datatable-dynamic-filter-container\n [class.ml-1]=\"!isFirst\"\n [filterComponent]=\"r.component\"\n [options]=\"r.options\">\n </seam-datatable-dynamic-filter-container>\n </ng-container>\n </div>\n <seam-datatable-export-button *ngIf=\"_exporters$ | async as exporters\"\n [exporters]=\"exporters\">\n </seam-datatable-export-button>\n </div>\n </seam-datatable-menu-bar> -->\n\n <ng-template seamDatatableRowActionItem let-row>\n <seam-datatable-dynamic-action-menu [row]=\"row\"></seam-datatable-dynamic-action-menu>\n </ng-template>\n\n </seam-datatable>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DatatableComponent, selector: "seam-datatable", inputs: ["preferencesKey", "targetMarkerTemplate", "columns", "rows", "columnMode", "groupRowsBy", "groupedRows", "selected", "externalPaging", "externalSorting", "externalFiltering", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowIdentity", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "virtualization", "headerHeight", "rowHeight", "footerHeight", "scrollbarV", "scrollbarH", "dataSource", "actionItemColumnPosition", "columnFilterIcon", "columnFilterUpdateMethod", "columnFilterUpdateDebounce"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction", "actionRefreshRequest", "hiddenColumnsChange"] }, { kind: "component", type: i3.DatatableMenuBarComponent, selector: "seam-datatable-menu-bar" }, { kind: "directive", type: i3.DatatableRowActionItemDirective, selector: "[seamDatatableRowActionItem]" }, { kind: "component", type: i4.DatatableDynamicActionMenuComponent, selector: "seam-datatable-dynamic-action-menu", inputs: ["row", "actionDefs"] }, { kind: "component", type: i5.DatatableDynamicMenuBarContentComponent, selector: "seam-datatable-dynamic-menu-bar-content", inputs: ["def"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatatableDynamicComponent, decorators: [{
67
67
  type: Component,
68
68
  args: [{ selector: 'seam-datatable-dynamic', providers: [
69
69
  DynamicDatatableDefService,
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
72
72
  }], ctorParameters: function () { return [{ type: i1.DynamicDatatableDefService }]; }, propDecorators: { def: [{
73
73
  type: Input
74
74
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS1keW5hbWljL2RhdGF0YWJsZS1keW5hbWljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUtZHluYW1pYy9kYXRhdGFibGUtZHluYW1pYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUV6RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFRcEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDNUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUE7Ozs7Ozs7QUFJM0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBV0gsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyw0REFBNEQ7SUFDNUQsSUFBYSxHQUFHLENBQUMsS0FBNkM7UUFDNUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUF1REQsWUFDbUIsV0FBdUM7UUFBdkMsZ0JBQVcsR0FBWCxXQUFXLENBQTRCO1FBRXhELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBRTdELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUE7UUFFekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQTtRQUU5QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0I7YUFDN0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUV2RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCO2FBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTVELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUE7UUFFdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQTtRQUUxQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDbkMsQ0FBQTtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUMxQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUVoQyxDQUFBO0lBQ0gsQ0FBQzs7c0hBdkZVLHlCQUF5QjswR0FBekIseUJBQXlCLHlFQU56QjtRQUNULDBCQUEwQjtRQUMxQixpQ0FBaUM7S0FDbEMsMEJDcERILGtxREFzQ0E7MkZEaUJhLHlCQUF5QjtrQkFWckMsU0FBUzsrQkFDRSx3QkFBd0IsYUFHdkI7d0JBQ1QsMEJBQTBCO3dCQUMxQixpQ0FBaUM7cUJBQ2xDLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNO2lIQUtsQyxHQUFHO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBJRGF0YUV4cG9ydGVyIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZXhwb3J0ZXInXG5cbmltcG9ydCB7XG4gIERhdGF0YWJsZUR5bmFtaWNEZWYsXG4gIER5bmFtaWNEYXRhdGFibGVPcHRpb25zXG59IGZyb20gJy4vZGF0YXRhYmxlLWR5bmFtaWMtZGVmJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZURlZlNlcnZpY2UgfSBmcm9tICcuL2R5bmFtaWMtZGF0YXRhYmxlLWRlZi5zZXJ2aWNlJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9keW5hbWljLWRhdGF0YWJsZS1yb3ctYWN0aW9ucy5zZXJ2aWNlJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZUZpbHRlck1lbnVJdGVtIH0gZnJvbSAnLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtZmlsdGVyLW1lbnUtaXRlbSdcbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVNZW51QmFyIH0gZnJvbSAnLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtbWVudS1iYXInXG5cbi8qKlxuICogIyBFWFBFUklNRU5UQUxcbiAqXG4gKiBOT1RFOiBUaGlzIGNvbXBvbmVudCBpcyBzdGlsbCBleHBlcmltZW50YWwuIFdoZW4gc3RhYmxlIGFsbCBzdGFuZGFyZFxuICogZGF0YXRhYmxlcyBtdXN0IHVzZSB0aGlzIGNvbXBvbmVudCwgdW5sZXNzIHRoZXJlIGlzIGEgZ29vZCByZWFzb24gbm90IHRvLCBpblxuICogb3VyIGFwcHMuXG4gKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICpcbiAqIERhdGF0YWJsZSB0aGF0IGlzIGJ1aWx0IGZyb20gYSBqc29uIGRlZmluaXRpb24uXG4gKlxuICogQWxsIHN0YW5kYXJkIGRhdGF0YWJsZXMgaW4gb3VyIGFwcHMgbXVzdCB1c2UgdGhpcyBjb21wb25lbnQsIHVubGVzcyB0aGVyZSBpc1xuICogYSBnb29kIHJlYXNvbiBub3QgdG8uIElmIGEgc3RhbmRhcmQgZGF0YXRhYmxlIGRvZXMgbm90IHVzZSB0aGlzIGNvbXBvbmVudFxuICogdGhlbiBhbiBleHBsYWluYXRpb24gY29tbWVudCBuZWVkcyB0byBiZSBjbGVhcmx5IHByb3ZpZGVkIGluIHRoZSBjb2RlIHRvXG4gKiBhdm9pZCBnZXR0aW5nIG1pZ3JhdGVkIHRvIHRoaXMgY29tcG9uZW50LlxuICpcbiAqIEEgZmV3IHJlYXNvbnMgdGhpcyBjb21wb25lbnQgc2hvdWxkIHRvIGJlIHVzZWQ6XG4gKiAtIFdlIGNhbiwgbW9yZSBlYXNpbHksIGNvbnRyb2wgd2hhdCBhIGRhdGF0YWJsZSBpbiBvdXIgYXBwIGRvZXMgYnkgcmVxdWlyaW5nXG4gKiAgIHRoZSBkZWZpbml0aW9uIGZvbGxvdyBhIGpzb24gc2NoZW1hLCBpbnN0ZWFkIG9mIGhhdmluZyBmdWxsIHNjcmlwdGluZ1xuICogICBhY2Nlc3MgYXZhaWxhYmxlIHRvIHRoZSBkZXZlbG9wZXIuXG4gKiAgICsgQnkgdXNpbmcganNvbiB3ZSBjYW4gbWFpbnRhaW4gdGhlIHRhYmxlcyBmcm9tIGFueSBleHRlcm5hbCBhcHAvbGFuZ3VhZ2VcbiAqICAgICB0aGF0IGNhbiBwcm9kdWNlIGEganNvbiBzdHJpbmcuXG4gKiAgICsgTW9yZSBzY3JpcHRpbmcgYWNjZXNzIG9mdGVuIGxlYWRzIHRvIGRpZmZlcmVudCBoYWNrcyBhY3Jvc3MgdGhlIHRhYmxlc1xuICogICAgIHRoYXQgc2hvdWxkIGhhdmUganVzdCBiZWVuIHN1cHBvcnRlZCBieSB0aGlzIGNvbXBvbmVudCBpZiBpdCBpcyBhIGZlYXR1cmVcbiAqICAgICBhIGRhdGF0YWJsZSBzaG91bGQgYmUgYWJsZSB0byBkbyBpbiBhbiBhcHAgb2Ygb3Vycy5cbiAqIC0gV2UgY2FuIGFsbG93IGFueSBvZiBvdXIgdGFibGVzIHRvIGJlIGNvbmZpZ3VyZWQgYnkgdGhlIHNlcnZlci5cbiAqICAgKyBCeSBzdXBwb3J0aW5nIGNvbmZpZ3VyYXRpb24gb24gdGhlIHNlcnZlciB3ZSBjYW4gY2hhbmdlIHRoZSB0YWJsZXNcbiAqICAgICB3aXRob3V0IGEgbmV3IGJ1aWxkIGFuZCBkbyB0aGluZ3MgbGlrZSBhbGxvd2luZyBub24tZGV2ZWxvcGVycy9jbGllbnRzIHRvXG4gKiAgICAgbWFpbnRhaW4gdGhlIHRhYmxlcyBmdW5jdGlvbmFsaXR5LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLWRhdGF0YWJsZS1keW5hbWljJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGF0YWJsZS1keW5hbWljLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YXRhYmxlLWR5bmFtaWMuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRHluYW1pY0RhdGF0YWJsZURlZlNlcnZpY2UsXG4gICAgRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbnNTZXJ2aWNlXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERhdGF0YWJsZUR5bmFtaWNDb21wb25lbnQge1xuXG4gIC8qKiBUaGUgYERhdGF0YWJsZUR5bmFtaWNEZWZgIHRoYXQgZGVmaW5lcyB0aGUgZGF0YXRhYmxlLiAqL1xuICBASW5wdXQoKSBzZXQgZGVmKHZhbHVlOiBEYXRhdGFibGVEeW5hbWljRGVmIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIHRoaXMuX2R5bmFtaWNEZWYuc2V0RGVmKHZhbHVlIHx8IHVuZGVmaW5lZClcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyB3aGV0aGVyIHRoZSBkYXRhdGFibGUgaGFzIGEgZGVmLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfaGFzRGVmJDogT2JzZXJ2YWJsZTxib29sZWFuPlxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyB3aGV0aGVyIHRoZSBkYXRhdGFibGUgaGFzIGEgbWVudSBiYXIuXG4gICAqL1xuICBtZW51QmFyJDogT2JzZXJ2YWJsZTxEeW5hbWljRGF0YXRhYmxlTWVudUJhciB8IHVuZGVmaW5lZD5cblxuICAvKipcbiAgICogVGhlIGF2YWlsYWJsZSBleHBvcnRlcnMuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9leHBvcnRlcnMkOiBPYnNlcnZhYmxlPElEYXRhRXhwb3J0ZXJbXT5cblxuICAvKipcbiAgICogVGhlICdjb21tb24nIHR5cGUgZmlsdGVyIG1lbnUgaXRlbXMuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9jb21tb25GaWx0ZXJNZW51SXRlbXMkOiBPYnNlcnZhYmxlPER5bmFtaWNEYXRhdGFibGVGaWx0ZXJNZW51SXRlbVtdPlxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyB3aGV0aGVyIHRoZSBkYXRhdGFibGUgaGFzIGEgJ2Z1bGwtc2VhcmNoJyBtZW51IGl0ZW0uXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9oYXNGdWxsU2VhcmNoJDogT2JzZXJ2YWJsZTxib29sZWFuPlxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyB3aGV0aGVyIHRoZSBkYXRhdGFibGUgaGFzIGEgZmlsdGVyIG1lbnUuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9oYXNGaWx0ZXJNZW51JDogT2JzZXJ2YWJsZTxib29sZWFuPlxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyBkYXRhdGFibGUgb3B0aW9ucy5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgX29wdGlvbnMkOiBPYnNlcnZhYmxlPER5bmFtaWNEYXRhdGFibGVPcHRpb25zIHwgdW5kZWZpbmVkPlxuXG4gIC8qKlxuICAgKiBUT0RPOiBJbXBsZW1lbnQgZGVmIGNvbHVtbnMgcGFyc2VyLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfdG1wX2NvbHVtbnMkOiBPYnNlcnZhYmxlPGFueT5cblxuICAvKipcbiAgICogVE9ETzogSW1wbGVtZW50IGRlZiByb3dzIHBhcnNlci5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgX3RtcF9yb3dzJDogT2JzZXJ2YWJsZTxhbnk+XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZHluYW1pY0RlZjogRHluYW1pY0RhdGF0YWJsZURlZlNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5faGFzRGVmJCA9IHRoaXMuX2R5bmFtaWNEZWYuZGVmJC5waXBlKG1hcChkZWYgPT4gISFkZWYpKVxuXG4gICAgdGhpcy5tZW51QmFyJCA9IHRoaXMuX2R5bmFtaWNEZWYubWVudUJhciRcblxuICAgIHRoaXMuX2V4cG9ydGVycyQgPSB0aGlzLl9keW5hbWljRGVmLmV4cG9ydGVycyRcblxuICAgIHRoaXMuX2NvbW1vbkZpbHRlck1lbnVJdGVtcyQgPSB0aGlzLl9keW5hbWljRGVmLmZpbHRlck1lbnVJdGVtcyRcbiAgICAgIC5waXBlKG1hcChmID0+IGYuZmlsdGVyKF9mID0+IF9mLnR5cGUgPT09ICdjb21tb24nKSkpXG5cbiAgICB0aGlzLl9oYXNGdWxsU2VhcmNoJCA9IHRoaXMuX2R5bmFtaWNEZWYuZmlsdGVyTWVudUl0ZW1zJFxuICAgICAgLnBpcGUobWFwKGYgPT4gISFmLmZpbmQoX2YgPT4gX2YudHlwZSA9PT0gJ2Z1bGwtc2VhcmNoJykpKVxuXG4gICAgdGhpcy5faGFzRmlsdGVyTWVudSQgPSB0aGlzLl9keW5hbWljRGVmLmhhc0ZpbHRlck1lbnUkXG5cbiAgICB0aGlzLl9vcHRpb25zJCA9IHRoaXMuX2R5bmFtaWNEZWYub3B0aW9ucyRcblxuICAgIHRoaXMuX3RtcF9jb2x1bW5zJCA9IHRoaXMuX2R5bmFtaWNEZWYuZGVmJC5waXBlKFxuICAgICAgbWFwKGRlZiA9PiBkZWYgPyBkZWYuY29sdW1ucyA6IFtdKVxuICAgIClcblxuICAgIHRoaXMuX3RtcF9yb3dzJCA9IHRoaXMuX2R5bmFtaWNEZWYuZGVmJC5waXBlKFxuICAgICAgbWFwKGRlZiA9PiBkZWYgPyBkZWYucm93cyA6IFtdKSxcbiAgICAgIC8vIHRhcCh2ID0+IGNvbnNvbGUubG9nKCdfdG1wX3Jvd3MkJywgdikpXG4gICAgKVxuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJfaGFzRGVmJCB8IGFzeW5jXCI+XG4gIDxzZWFtLWRhdGF0YWJsZSAqbmdJZj1cIl9vcHRpb25zJCB8IGFzeW5jIGFzIG9wdHNcIlxuICAgIGNsYXNzPVwidy0xMDAgaC0xMDBcIlxuICAgIFtjb2x1bW5zXT1cIl90bXBfY29sdW1ucyQgfCBhc3luY1wiXG4gICAgW3Jvd3NdPVwiX3RtcF9yb3dzJCB8IGFzeW5jXCJcbiAgICBbdmlydHVhbGl6YXRpb25dPVwib3B0cy52aXJ0dWFsaXphdGlvblwiPlxuXG4gICAgPHNlYW0tZGF0YXRhYmxlLW1lbnUtYmFyICpuZ0lmPVwibWVudUJhciQgfCBhc3luYyBhcyBtZW51QmFyXCI+XG4gICAgICA8c2VhbS1kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50IFtkZWZdPVwibWVudUJhclwiPjwvc2VhbS1kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50PlxuICAgIDwvc2VhbS1kYXRhdGFibGUtbWVudS1iYXI+XG4gICAgPCEtLSA8c2VhbS1kYXRhdGFibGUtbWVudS1iYXIgKm5nSWY9XCJfaGFzRmlsdGVyTWVudSQgfCBhc3luY1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXJvdyBwYi0yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cganVzdGlmeS1jb250ZW50LWVuZCBmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgIDxzZWFtLWRhdGEtZmlsdGVyLXNlYXJjaCBzZWFtRGF0YXRhYmxlRmlsdGVyICpuZ0lmPVwiX2hhc0Z1bGxTZWFyY2gkXCI+PC9zZWFtLWRhdGEtZmlsdGVyLXNlYXJjaD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgciBvZiBfY29tbW9uRmlsdGVyTWVudUl0ZW1zJCB8IGFzeW5jOyBsZXQgaXNGaXJzdCA9IGZpcnN0XCI+XG4gICAgICAgICAgICA8c2VhbS1kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyXG4gICAgICAgICAgICAgIFtjbGFzcy5tbC0xXT1cIiFpc0ZpcnN0XCJcbiAgICAgICAgICAgICAgW2ZpbHRlckNvbXBvbmVudF09XCJyLmNvbXBvbmVudFwiXG4gICAgICAgICAgICAgIFtvcHRpb25zXT1cInIub3B0aW9uc1wiPlxuICAgICAgICAgICAgPC9zZWFtLWRhdGF0YWJsZS1keW5hbWljLWZpbHRlci1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2VhbS1kYXRhdGFibGUtZXhwb3J0LWJ1dHRvbiAqbmdJZj1cIl9leHBvcnRlcnMkIHwgYXN5bmMgYXMgZXhwb3J0ZXJzXCJcbiAgICAgICAgICBbZXhwb3J0ZXJzXT1cImV4cG9ydGVyc1wiPlxuICAgICAgICA8L3NlYW0tZGF0YXRhYmxlLWV4cG9ydC1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlYW0tZGF0YXRhYmxlLW1lbnUtYmFyPiAtLT5cblxuICAgIDxuZy10ZW1wbGF0ZSBzZWFtRGF0YXRhYmxlUm93QWN0aW9uSXRlbSBsZXQtcm93PlxuICAgICAgPHNlYW0tZGF0YXRhYmxlLWR5bmFtaWMtYWN0aW9uLW1lbnUgW3Jvd109XCJyb3dcIj48L3NlYW0tZGF0YXRhYmxlLWR5bmFtaWMtYWN0aW9uLW1lbnU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICA8L3NlYW0tZGF0YXRhYmxlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS1keW5hbWljL2RhdGF0YWJsZS1keW5hbWljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUtZHluYW1pYy9kYXRhdGFibGUtZHluYW1pYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUV6RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFRcEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDNUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUE7Ozs7Ozs7QUFJM0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBV0gsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyw0REFBNEQ7SUFDNUQsSUFBYSxHQUFHLENBQUMsS0FBNkM7UUFDNUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUF1REQsWUFDbUIsV0FBdUM7UUFBdkMsZ0JBQVcsR0FBWCxXQUFXLENBQTRCO1FBRXhELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBRTdELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUE7UUFFekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQTtRQUU5QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0I7YUFDN0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUV2RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCO2FBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTVELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUE7UUFFdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQTtRQUUxQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDbkMsQ0FBQTtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUMxQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUVoQyxDQUFBO0lBQ0gsQ0FBQzs7dUhBdkZVLHlCQUF5QjsyR0FBekIseUJBQXlCLHlFQU56QjtRQUNULDBCQUEwQjtRQUMxQixpQ0FBaUM7S0FDbEMsMEJDcERILGtxREFzQ0E7NEZEaUJhLHlCQUF5QjtrQkFWckMsU0FBUzsrQkFDRSx3QkFBd0IsYUFHdkI7d0JBQ1QsMEJBQTBCO3dCQUMxQixpQ0FBaUM7cUJBQ2xDLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNO2lIQUtsQyxHQUFHO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBJRGF0YUV4cG9ydGVyIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZXhwb3J0ZXInXG5cbmltcG9ydCB7XG4gIERhdGF0YWJsZUR5bmFtaWNEZWYsXG4gIER5bmFtaWNEYXRhdGFibGVPcHRpb25zXG59IGZyb20gJy4vZGF0YXRhYmxlLWR5bmFtaWMtZGVmJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZURlZlNlcnZpY2UgfSBmcm9tICcuL2R5bmFtaWMtZGF0YXRhYmxlLWRlZi5zZXJ2aWNlJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9keW5hbWljLWRhdGF0YWJsZS1yb3ctYWN0aW9ucy5zZXJ2aWNlJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZUZpbHRlck1lbnVJdGVtIH0gZnJvbSAnLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtZmlsdGVyLW1lbnUtaXRlbSdcbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVNZW51QmFyIH0gZnJvbSAnLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtbWVudS1iYXInXG5cbi8qKlxuICogIyBFWFBFUklNRU5UQUxcbiAqXG4gKiBOT1RFOiBUaGlzIGNvbXBvbmVudCBpcyBzdGlsbCBleHBlcmltZW50YWwuIFdoZW4gc3RhYmxlIGFsbCBzdGFuZGFyZFxuICogZGF0YXRhYmxlcyBtdXN0IHVzZSB0aGlzIGNvbXBvbmVudCwgdW5sZXNzIHRoZXJlIGlzIGEgZ29vZCByZWFzb24gbm90IHRvLCBpblxuICogb3VyIGFwcHMuXG4gKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICpcbiAqIERhdGF0YWJsZSB0aGF0IGlzIGJ1aWx0IGZyb20gYSBqc29uIGRlZmluaXRpb24uXG4gKlxuICogQWxsIHN0YW5kYXJkIGRhdGF0YWJsZXMgaW4gb3VyIGFwcHMgbXVzdCB1c2UgdGhpcyBjb21wb25lbnQsIHVubGVzcyB0aGVyZSBpc1xuICogYSBnb29kIHJlYXNvbiBub3QgdG8uIElmIGEgc3RhbmRhcmQgZGF0YXRhYmxlIGRvZXMgbm90IHVzZSB0aGlzIGNvbXBvbmVudFxuICogdGhlbiBhbiBleHBsYWluYXRpb24gY29tbWVudCBuZWVkcyB0byBiZSBjbGVhcmx5IHByb3ZpZGVkIGluIHRoZSBjb2RlIHRvXG4gKiBhdm9pZCBnZXR0aW5nIG1pZ3JhdGVkIHRvIHRoaXMgY29tcG9uZW50LlxuICpcbiAqIEEgZmV3IHJlYXNvbnMgdGhpcyBjb21wb25lbnQgc2hvdWxkIHRvIGJlIHVzZWQ6XG4gKiAtIFdlIGNhbiwgbW9yZSBlYXNpbHksIGNvbnRyb2wgd2hhdCBhIGRhdGF0YWJsZSBpbiBvdXIgYXBwIGRvZXMgYnkgcmVxdWlyaW5nXG4gKiAgIHRoZSBkZWZpbml0aW9uIGZvbGxvdyBhIGpzb24gc2NoZW1hLCBpbnN0ZWFkIG9mIGhhdmluZyBmdWxsIHNjcmlwdGluZ1xuICogICBhY2Nlc3MgYXZhaWxhYmxlIHRvIHRoZSBkZXZlbG9wZXIuXG4gKiAgICsgQnkgdXNpbmcganNvbiB3ZSBjYW4gbWFpbnRhaW4gdGhlIHRhYmxlcyBmcm9tIGFueSBleHRlcm5hbCBhcHAvbGFuZ3VhZ2VcbiAqICAgICB0aGF0IGNhbiBwcm9kdWNlIGEganNvbiBzdHJpbmcuXG4gKiAgICsgTW9yZSBzY3JpcHRpbmcgYWNjZXNzIG9mdGVuIGxlYWRzIHRvIGRpZmZlcmVudCBoYWNrcyBhY3Jvc3MgdGhlIHRhYmxlc1xuICogICAgIHRoYXQgc2hvdWxkIGhhdmUganVzdCBiZWVuIHN1cHBvcnRlZCBieSB0aGlzIGNvbXBvbmVudCBpZiBpdCBpcyBhIGZlYXR1cmVcbiAqICAgICBhIGRhdGF0YWJsZSBzaG91bGQgYmUgYWJsZSB0byBkbyBpbiBhbiBhcHAgb2Ygb3Vycy5cbiAqIC0gV2UgY2FuIGFsbG93IGFueSBvZiBvdXIgdGFibGVzIHRvIGJlIGNvbmZpZ3VyZWQgYnkgdGhlIHNlcnZlci5cbiAqICAgKyBCeSBzdXBwb3J0aW5nIGNvbmZpZ3VyYXRpb24gb24gdGhlIHNlcnZlciB3ZSBjYW4gY2hhbmdlIHRoZSB0YWJsZXNcbiAqICAgICB3aXRob3V0IGEgbmV3IGJ1aWxkIGFuZCBkbyB0aGluZ3MgbGlrZSBhbGxvd2luZyBub24tZGV2ZWxvcGVycy9jbGllbnRzIHRvXG4gKiAgICAgbWFpbnRhaW4gdGhlIHRhYmxlcyBmdW5jdGlvbmFsaXR5LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLWRhdGF0YWJsZS1keW5hbWljJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGF0YWJsZS1keW5hbWljLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YXRhYmxlLWR5bmFtaWMuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRHluYW1pY0RhdGF0YWJsZURlZlNlcnZpY2UsXG4gICAgRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbnNTZXJ2aWNlXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERhdGF0YWJsZUR5bmFtaWNDb21wb25lbnQge1xuXG4gIC8qKiBUaGUgYERhdGF0YWJsZUR5bmFtaWNEZWZgIHRoYXQgZGVmaW5lcyB0aGUgZGF0YXRhYmxlLiAqL1xuICBASW5wdXQoKSBzZXQgZGVmKHZhbHVlOiBEYXRhdGFibGVEeW5hbWljRGVmIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIHRoaXMuX2R5bmFtaWNEZWYuc2V0RGVmKHZhbHVlIHx8IHVuZGVmaW5lZClcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyB3aGV0aGVyIHRoZSBkYXRhdGFibGUgaGFzIGEgZGVmLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfaGFzRGVmJDogT2JzZXJ2YWJsZTxib29sZWFuPlxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyB3aGV0aGVyIHRoZSBkYXRhdGFibGUgaGFzIGEgbWVudSBiYXIuXG4gICAqL1xuICBtZW51QmFyJDogT2JzZXJ2YWJsZTxEeW5hbWljRGF0YXRhYmxlTWVudUJhciB8IHVuZGVmaW5lZD5cblxuICAvKipcbiAgICogVGhlIGF2YWlsYWJsZSBleHBvcnRlcnMuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9leHBvcnRlcnMkOiBPYnNlcnZhYmxlPElEYXRhRXhwb3J0ZXJbXT5cblxuICAvKipcbiAgICogVGhlICdjb21tb24nIHR5cGUgZmlsdGVyIG1lbnUgaXRlbXMuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9jb21tb25GaWx0ZXJNZW51SXRlbXMkOiBPYnNlcnZhYmxlPER5bmFtaWNEYXRhdGFibGVGaWx0ZXJNZW51SXRlbVtdPlxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyB3aGV0aGVyIHRoZSBkYXRhdGFibGUgaGFzIGEgJ2Z1bGwtc2VhcmNoJyBtZW51IGl0ZW0uXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9oYXNGdWxsU2VhcmNoJDogT2JzZXJ2YWJsZTxib29sZWFuPlxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyB3aGV0aGVyIHRoZSBkYXRhdGFibGUgaGFzIGEgZmlsdGVyIG1lbnUuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9oYXNGaWx0ZXJNZW51JDogT2JzZXJ2YWJsZTxib29sZWFuPlxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyBkYXRhdGFibGUgb3B0aW9ucy5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgX29wdGlvbnMkOiBPYnNlcnZhYmxlPER5bmFtaWNEYXRhdGFibGVPcHRpb25zIHwgdW5kZWZpbmVkPlxuXG4gIC8qKlxuICAgKiBUT0RPOiBJbXBsZW1lbnQgZGVmIGNvbHVtbnMgcGFyc2VyLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfdG1wX2NvbHVtbnMkOiBPYnNlcnZhYmxlPGFueT5cblxuICAvKipcbiAgICogVE9ETzogSW1wbGVtZW50IGRlZiByb3dzIHBhcnNlci5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgX3RtcF9yb3dzJDogT2JzZXJ2YWJsZTxhbnk+XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZHluYW1pY0RlZjogRHluYW1pY0RhdGF0YWJsZURlZlNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5faGFzRGVmJCA9IHRoaXMuX2R5bmFtaWNEZWYuZGVmJC5waXBlKG1hcChkZWYgPT4gISFkZWYpKVxuXG4gICAgdGhpcy5tZW51QmFyJCA9IHRoaXMuX2R5bmFtaWNEZWYubWVudUJhciRcblxuICAgIHRoaXMuX2V4cG9ydGVycyQgPSB0aGlzLl9keW5hbWljRGVmLmV4cG9ydGVycyRcblxuICAgIHRoaXMuX2NvbW1vbkZpbHRlck1lbnVJdGVtcyQgPSB0aGlzLl9keW5hbWljRGVmLmZpbHRlck1lbnVJdGVtcyRcbiAgICAgIC5waXBlKG1hcChmID0+IGYuZmlsdGVyKF9mID0+IF9mLnR5cGUgPT09ICdjb21tb24nKSkpXG5cbiAgICB0aGlzLl9oYXNGdWxsU2VhcmNoJCA9IHRoaXMuX2R5bmFtaWNEZWYuZmlsdGVyTWVudUl0ZW1zJFxuICAgICAgLnBpcGUobWFwKGYgPT4gISFmLmZpbmQoX2YgPT4gX2YudHlwZSA9PT0gJ2Z1bGwtc2VhcmNoJykpKVxuXG4gICAgdGhpcy5faGFzRmlsdGVyTWVudSQgPSB0aGlzLl9keW5hbWljRGVmLmhhc0ZpbHRlck1lbnUkXG5cbiAgICB0aGlzLl9vcHRpb25zJCA9IHRoaXMuX2R5bmFtaWNEZWYub3B0aW9ucyRcblxuICAgIHRoaXMuX3RtcF9jb2x1bW5zJCA9IHRoaXMuX2R5bmFtaWNEZWYuZGVmJC5waXBlKFxuICAgICAgbWFwKGRlZiA9PiBkZWYgPyBkZWYuY29sdW1ucyA6IFtdKVxuICAgIClcblxuICAgIHRoaXMuX3RtcF9yb3dzJCA9IHRoaXMuX2R5bmFtaWNEZWYuZGVmJC5waXBlKFxuICAgICAgbWFwKGRlZiA9PiBkZWYgPyBkZWYucm93cyA6IFtdKSxcbiAgICAgIC8vIHRhcCh2ID0+IGNvbnNvbGUubG9nKCdfdG1wX3Jvd3MkJywgdikpXG4gICAgKVxuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJfaGFzRGVmJCB8IGFzeW5jXCI+XG4gIDxzZWFtLWRhdGF0YWJsZSAqbmdJZj1cIl9vcHRpb25zJCB8IGFzeW5jIGFzIG9wdHNcIlxuICAgIGNsYXNzPVwidy0xMDAgaC0xMDBcIlxuICAgIFtjb2x1bW5zXT1cIl90bXBfY29sdW1ucyQgfCBhc3luY1wiXG4gICAgW3Jvd3NdPVwiX3RtcF9yb3dzJCB8IGFzeW5jXCJcbiAgICBbdmlydHVhbGl6YXRpb25dPVwib3B0cy52aXJ0dWFsaXphdGlvblwiPlxuXG4gICAgPHNlYW0tZGF0YXRhYmxlLW1lbnUtYmFyICpuZ0lmPVwibWVudUJhciQgfCBhc3luYyBhcyBtZW51QmFyXCI+XG4gICAgICA8c2VhbS1kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50IFtkZWZdPVwibWVudUJhclwiPjwvc2VhbS1kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50PlxuICAgIDwvc2VhbS1kYXRhdGFibGUtbWVudS1iYXI+XG4gICAgPCEtLSA8c2VhbS1kYXRhdGFibGUtbWVudS1iYXIgKm5nSWY9XCJfaGFzRmlsdGVyTWVudSQgfCBhc3luY1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXJvdyBwYi0yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cganVzdGlmeS1jb250ZW50LWVuZCBmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgIDxzZWFtLWRhdGEtZmlsdGVyLXNlYXJjaCBzZWFtRGF0YXRhYmxlRmlsdGVyICpuZ0lmPVwiX2hhc0Z1bGxTZWFyY2gkXCI+PC9zZWFtLWRhdGEtZmlsdGVyLXNlYXJjaD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgciBvZiBfY29tbW9uRmlsdGVyTWVudUl0ZW1zJCB8IGFzeW5jOyBsZXQgaXNGaXJzdCA9IGZpcnN0XCI+XG4gICAgICAgICAgICA8c2VhbS1kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyXG4gICAgICAgICAgICAgIFtjbGFzcy5tbC0xXT1cIiFpc0ZpcnN0XCJcbiAgICAgICAgICAgICAgW2ZpbHRlckNvbXBvbmVudF09XCJyLmNvbXBvbmVudFwiXG4gICAgICAgICAgICAgIFtvcHRpb25zXT1cInIub3B0aW9uc1wiPlxuICAgICAgICAgICAgPC9zZWFtLWRhdGF0YWJsZS1keW5hbWljLWZpbHRlci1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2VhbS1kYXRhdGFibGUtZXhwb3J0LWJ1dHRvbiAqbmdJZj1cIl9leHBvcnRlcnMkIHwgYXN5bmMgYXMgZXhwb3J0ZXJzXCJcbiAgICAgICAgICBbZXhwb3J0ZXJzXT1cImV4cG9ydGVyc1wiPlxuICAgICAgICA8L3NlYW0tZGF0YXRhYmxlLWV4cG9ydC1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlYW0tZGF0YXRhYmxlLW1lbnUtYmFyPiAtLT5cblxuICAgIDxuZy10ZW1wbGF0ZSBzZWFtRGF0YXRhYmxlUm93QWN0aW9uSXRlbSBsZXQtcm93PlxuICAgICAgPHNlYW0tZGF0YXRhYmxlLWR5bmFtaWMtYWN0aW9uLW1lbnUgW3Jvd109XCJyb3dcIj48L3NlYW0tZGF0YXRhYmxlLWR5bmFtaWMtYWN0aW9uLW1lbnU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICA8L3NlYW0tZGF0YXRhYmxlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -18,8 +18,8 @@ import { DatatableDynamicActionMenuItemDirective } from './directives/datatable-
18
18
  import * as i0 from "@angular/core";
19
19
  export class TheSeamDatatableDynamicModule {
20
20
  }
21
- TheSeamDatatableDynamicModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableDynamicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
- TheSeamDatatableDynamicModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableDynamicModule, declarations: [DatatableDynamicComponent,
21
+ TheSeamDatatableDynamicModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamDatatableDynamicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
+ TheSeamDatatableDynamicModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TheSeamDatatableDynamicModule, declarations: [DatatableDynamicComponent,
23
23
  DatatableDynamicFilterContainerComponent,
24
24
  DatatableDynamicActionMenuComponent,
25
25
  DatatableDynamicActionMenuItemDirective,
@@ -36,7 +36,7 @@ TheSeamDatatableDynamicModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14
36
36
  TheSeamButtonsModule], exports: [DatatableDynamicComponent,
37
37
  TheSeamDatatableModule,
38
38
  DatatableDynamicActionMenuItemDirective] });
39
- TheSeamDatatableDynamicModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableDynamicModule, imports: [CommonModule,
39
+ TheSeamDatatableDynamicModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamDatatableDynamicModule, imports: [CommonModule,
40
40
  TheSeamSharedModule,
41
41
  TheSeamDatatableModule,
42
42
  TheSeamTableCellTypesModule,
@@ -47,7 +47,7 @@ TheSeamDatatableDynamicModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12
47
47
  RouterModule,
48
48
  TheSeamMenuModule,
49
49
  TheSeamButtonsModule, TheSeamDatatableModule] });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableDynamicModule, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamDatatableDynamicModule, decorators: [{
51
51
  type: NgModule,
52
52
  args: [{
53
53
  declarations: [
@@ -77,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
77
77
  ]
78
78
  }]
79
79
  }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS1keW5hbWljL2RhdGF0YWJsZS1keW5hbWljLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRTlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ2pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQy9ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBRWpGLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFBO0FBQzdILE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLG1GQUFtRixDQUFBO0FBQzVJLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLG1GQUFtRixDQUFBO0FBQzNJLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ3pFLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLDJEQUEyRCxDQUFBOztBQTZCbkgsTUFBTSxPQUFPLDZCQUE2Qjs7MEhBQTdCLDZCQUE2QjsySEFBN0IsNkJBQTZCLGlCQXpCdEMseUJBQXlCO1FBQ3pCLHdDQUF3QztRQUN4QyxtQ0FBbUM7UUFDbkMsdUNBQXVDO1FBQ3ZDLHVDQUF1QyxhQUd2QyxZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLHNCQUFzQjtRQUN0QiwyQkFBMkI7UUFDM0IseUJBQXlCO1FBQ3pCLHdCQUF3QjtRQUN4QixpQkFBaUI7UUFDakIsWUFBWTtRQUNaLFlBQVk7UUFDWixpQkFBaUI7UUFDakIsb0JBQW9CLGFBR3BCLHlCQUF5QjtRQUN6QixzQkFBc0I7UUFDdEIsdUNBQXVDOzJIQUc5Qiw2QkFBNkIsWUFsQnRDLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsc0JBQXNCO1FBQ3RCLDJCQUEyQjtRQUMzQix5QkFBeUI7UUFDekIsd0JBQXdCO1FBQ3hCLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixvQkFBb0IsRUFJcEIsc0JBQXNCOzJGQUliLDZCQUE2QjtrQkEzQnpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHlCQUF5Qjt3QkFDekIsd0NBQXdDO3dCQUN4QyxtQ0FBbUM7d0JBQ25DLHVDQUF1Qzt3QkFDdkMsdUNBQXVDO3FCQUN4QztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIsaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx5QkFBeUI7d0JBQ3pCLHNCQUFzQjt3QkFDdEIsdUNBQXVDO3FCQUN4QztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5cbmltcG9ydCB7IFRoZVNlYW1CdXR0b25zTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2J1dHRvbnMnXG5pbXBvcnQgeyBUaGVTZWFtRGF0YUV4cG9ydGVyTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZXhwb3J0ZXInXG5pbXBvcnQgeyBUaGVTZWFtRGF0YUZpbHRlcnNNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZGF0YS1maWx0ZXJzJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZU1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9kYXRhdGFibGUnXG5pbXBvcnQgeyBUaGVTZWFtSWNvbk1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9pY29uJ1xuaW1wb3J0IHsgVGhlU2VhbU1lbnVNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vbWVudSdcbmltcG9ydCB7IFRoZVNlYW1TaGFyZWRNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vc2hhcmVkJ1xuaW1wb3J0IHsgVGhlU2VhbVRhYmxlQ2VsbFR5cGVzTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZXMnXG5cbmltcG9ydCB7IERhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUtZHluYW1pYy1hY3Rpb24tbWVudS9kYXRhdGFibGUtZHluYW1pYy1hY3Rpb24tbWVudS5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhdGFibGVEeW5hbWljRmlsdGVyQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyL2RhdGF0YWJsZS1keW5hbWljLWZpbHRlci1jb250YWluZXIuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50L2RhdGF0YWJsZS1keW5hbWljLW1lbnUtYmFyLWNvbnRlbnQuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlRHluYW1pY0NvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWR5bmFtaWMuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1keW5hbWljLWFjdGlvbi1tZW51LWl0ZW0uZGlyZWN0aXZlJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBEYXRhdGFibGVEeW5hbWljQ29tcG9uZW50LFxuICAgIERhdGF0YWJsZUR5bmFtaWNGaWx0ZXJDb250YWluZXJDb21wb25lbnQsXG4gICAgRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVDb21wb25lbnQsXG4gICAgRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgIERhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUaGVTZWFtU2hhcmVkTW9kdWxlLFxuICAgIFRoZVNlYW1EYXRhdGFibGVNb2R1bGUsXG4gICAgVGhlU2VhbVRhYmxlQ2VsbFR5cGVzTW9kdWxlLFxuICAgIFRoZVNlYW1EYXRhRXhwb3J0ZXJNb2R1bGUsXG4gICAgVGhlU2VhbURhdGFGaWx0ZXJzTW9kdWxlLFxuICAgIFRoZVNlYW1JY29uTW9kdWxlLFxuICAgIFBvcnRhbE1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgVGhlU2VhbU1lbnVNb2R1bGUsXG4gICAgVGhlU2VhbUJ1dHRvbnNNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIERhdGF0YWJsZUR5bmFtaWNDb21wb25lbnQsXG4gICAgVGhlU2VhbURhdGF0YWJsZU1vZHVsZSxcbiAgICBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1EaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUaGVTZWFtRGF0YXRhYmxlRHluYW1pY01vZHVsZSB7IH1cbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS1keW5hbWljL2RhdGF0YWJsZS1keW5hbWljLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRTlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ2pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQy9ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBRWpGLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFBO0FBQzdILE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLG1GQUFtRixDQUFBO0FBQzVJLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLG1GQUFtRixDQUFBO0FBQzNJLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ3pFLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLDJEQUEyRCxDQUFBOztBQTZCbkgsTUFBTSxPQUFPLDZCQUE2Qjs7MkhBQTdCLDZCQUE2Qjs0SEFBN0IsNkJBQTZCLGlCQXpCdEMseUJBQXlCO1FBQ3pCLHdDQUF3QztRQUN4QyxtQ0FBbUM7UUFDbkMsdUNBQXVDO1FBQ3ZDLHVDQUF1QyxhQUd2QyxZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLHNCQUFzQjtRQUN0QiwyQkFBMkI7UUFDM0IseUJBQXlCO1FBQ3pCLHdCQUF3QjtRQUN4QixpQkFBaUI7UUFDakIsWUFBWTtRQUNaLFlBQVk7UUFDWixpQkFBaUI7UUFDakIsb0JBQW9CLGFBR3BCLHlCQUF5QjtRQUN6QixzQkFBc0I7UUFDdEIsdUNBQXVDOzRIQUc5Qiw2QkFBNkIsWUFsQnRDLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsc0JBQXNCO1FBQ3RCLDJCQUEyQjtRQUMzQix5QkFBeUI7UUFDekIsd0JBQXdCO1FBQ3hCLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixvQkFBb0IsRUFJcEIsc0JBQXNCOzRGQUliLDZCQUE2QjtrQkEzQnpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHlCQUF5Qjt3QkFDekIsd0NBQXdDO3dCQUN4QyxtQ0FBbUM7d0JBQ25DLHVDQUF1Qzt3QkFDdkMsdUNBQXVDO3FCQUN4QztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIsaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx5QkFBeUI7d0JBQ3pCLHNCQUFzQjt3QkFDdEIsdUNBQXVDO3FCQUN4QztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5cbmltcG9ydCB7IFRoZVNlYW1CdXR0b25zTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2J1dHRvbnMnXG5pbXBvcnQgeyBUaGVTZWFtRGF0YUV4cG9ydGVyTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZXhwb3J0ZXInXG5pbXBvcnQgeyBUaGVTZWFtRGF0YUZpbHRlcnNNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZGF0YS1maWx0ZXJzJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZU1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9kYXRhdGFibGUnXG5pbXBvcnQgeyBUaGVTZWFtSWNvbk1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9pY29uJ1xuaW1wb3J0IHsgVGhlU2VhbU1lbnVNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vbWVudSdcbmltcG9ydCB7IFRoZVNlYW1TaGFyZWRNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vc2hhcmVkJ1xuaW1wb3J0IHsgVGhlU2VhbVRhYmxlQ2VsbFR5cGVzTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZXMnXG5cbmltcG9ydCB7IERhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUtZHluYW1pYy1hY3Rpb24tbWVudS9kYXRhdGFibGUtZHluYW1pYy1hY3Rpb24tbWVudS5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhdGFibGVEeW5hbWljRmlsdGVyQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyL2RhdGF0YWJsZS1keW5hbWljLWZpbHRlci1jb250YWluZXIuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50L2RhdGF0YWJsZS1keW5hbWljLW1lbnUtYmFyLWNvbnRlbnQuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlRHluYW1pY0NvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWR5bmFtaWMuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1keW5hbWljLWFjdGlvbi1tZW51LWl0ZW0uZGlyZWN0aXZlJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBEYXRhdGFibGVEeW5hbWljQ29tcG9uZW50LFxuICAgIERhdGF0YWJsZUR5bmFtaWNGaWx0ZXJDb250YWluZXJDb21wb25lbnQsXG4gICAgRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVDb21wb25lbnQsXG4gICAgRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgIERhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUaGVTZWFtU2hhcmVkTW9kdWxlLFxuICAgIFRoZVNlYW1EYXRhdGFibGVNb2R1bGUsXG4gICAgVGhlU2VhbVRhYmxlQ2VsbFR5cGVzTW9kdWxlLFxuICAgIFRoZVNlYW1EYXRhRXhwb3J0ZXJNb2R1bGUsXG4gICAgVGhlU2VhbURhdGFGaWx0ZXJzTW9kdWxlLFxuICAgIFRoZVNlYW1JY29uTW9kdWxlLFxuICAgIFBvcnRhbE1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgVGhlU2VhbU1lbnVNb2R1bGUsXG4gICAgVGhlU2VhbUJ1dHRvbnNNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIERhdGF0YWJsZUR5bmFtaWNDb21wb25lbnQsXG4gICAgVGhlU2VhbURhdGF0YWJsZU1vZHVsZSxcbiAgICBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1EaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUaGVTZWFtRGF0YXRhYmxlRHluYW1pY01vZHVsZSB7IH1cbiJdfQ==
@@ -386,9 +386,9 @@ export class DatatableDynamicActionMenuItemDirective {
386
386
  toggleAttribute(element, 'disabled', invalid);
387
387
  }
388
388
  }
389
- DatatableDynamicActionMenuItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicActionMenuItemDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.DynamicValueHelperService }, { token: i1.DynamicActionHelperService }, { token: i2.AssetReaderHelperService }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i4.LocationStrategy }], target: i0.ɵɵFactoryTarget.Directive });
390
- DatatableDynamicActionMenuItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: DatatableDynamicActionMenuItemDirective, selector: "[seamDatatableDynamicActionMenuItem]", inputs: { seamDatatableDynamicActionMenuItem: "seamDatatableDynamicActionMenuItem" }, exportAs: ["seamDatatableDynamicActionMenuItem"], usesOnChanges: true, ngImport: i0 });
391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicActionMenuItemDirective, decorators: [{
389
+ DatatableDynamicActionMenuItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatatableDynamicActionMenuItemDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.DynamicValueHelperService }, { token: i1.DynamicActionHelperService }, { token: i2.AssetReaderHelperService }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i4.LocationStrategy }], target: i0.ɵɵFactoryTarget.Directive });
390
+ DatatableDynamicActionMenuItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DatatableDynamicActionMenuItemDirective, selector: "[seamDatatableDynamicActionMenuItem]", inputs: { seamDatatableDynamicActionMenuItem: "seamDatatableDynamicActionMenuItem" }, exportAs: ["seamDatatableDynamicActionMenuItem"], usesOnChanges: true, ngImport: i0 });
391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatatableDynamicActionMenuItemDirective, decorators: [{
392
392
  type: Directive,
393
393
  args: [{
394
394
  selector: '[seamDatatableDynamicActionMenuItem]',
@@ -397,4 +397,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
397
397
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.DynamicValueHelperService }, { type: i1.DynamicActionHelperService }, { type: i2.AssetReaderHelperService }, { type: i3.Router }, { type: i3.ActivatedRoute }, { type: i4.LocationStrategy }]; }, propDecorators: { seamDatatableDynamicActionMenuItem: [{
398
398
  type: Input
399
399
  }] } });
400
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtYWN0aW9uLW1lbnUtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGlyZWN0aXZlcy9kYXRhdGFibGUtZHluYW1pYy1hY3Rpb24tbWVudS1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBRVQsS0FBSyxFQUNMLFNBQVMsR0FLVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQStDLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzdHLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFjLEVBQUUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25GLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQVVsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7Ozs7O0FBT3JGOzs7R0FHRztBQUNJLElBQU0sd0NBQXdDLEdBQTlDLE1BQU0sd0NBQXdDO0lBUW5ELFlBQ1UsTUFBYyxFQUNkLEtBQXFCLEVBQ04sUUFBdUIsRUFDdEMsUUFBbUIsRUFDbkIsRUFBYyxFQUNkLGdCQUFrQztRQUxsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFFckIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUUxQyxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLEdBQUcs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QXNCLENBQUMsVUFBbUIsS0FBSztRQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQTtRQUM5QyxlQUFlLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUMvQyxDQUFDOztvSUEzVFUsdUNBQXVDO3dIQUF2Qyx1Q0FBdUM7MkZBQXZDLHVDQUF1QztrQkFKbkQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0NBQXNDO29CQUNoRCxRQUFRLEVBQUUsb0NBQW9DO2lCQUMvQztrVUFLSyxrQ0FBa0M7c0JBRnJDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQXR0cmlidXRlLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBpc0Rldk1vZGUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUXVlcnlQYXJhbXNIYW5kbGluZywgUm91dGVyLCBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rV2l0aEhyZWYgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBmcm9tLCBmcm9tRXZlbnQsIE9ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwVG8sIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IEFzc2V0UmVhZGVySGVscGVyU2VydmljZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9hc3NldC1yZWFkZXInXG5pbXBvcnQge1xuICBEeW5hbWljQWN0aW9uSGVscGVyU2VydmljZSxcbiAgRHluYW1pY0FjdGlvblVpQW5jaG9yRGVmLFxuICBEeW5hbWljQWN0aW9uVWlCdXR0b25EZWYsXG4gIER5bmFtaWNBY3Rpb25VaURlZixcbiAgRHluYW1pY1ZhbHVlSGVscGVyU2VydmljZVxufSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZHluYW1pYydcbmltcG9ydCB7IGdldEF0dHJpYnV0ZSwgaGFzUHJvcGVydHksIHRvZ2dsZUF0dHJpYnV0ZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZVJvdyB9IGZyb20gJy4uL2RhdGF0YWJsZS1keW5hbWljLWRlZidcbmltcG9ydCB0eXBlIHsgRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQgfSBmcm9tICcuLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtYWN0aW9uLW1lbnUtcmVjb3JkJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbiB9IGZyb20gJy4uL21vZGVscy9keW5hbWljLWRhdGF0YWJsZS1yb3ctYWN0aW9uJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbkNvbnRleHQgfSBmcm9tICcuLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtcm93LWFjdGlvbi1jb250ZXh0J1xuXG4vKipcbiAqIENsYXNzIHRvIGFjdCBhcyBhIHN1YnN0aXR1dGUgdG8gYHJvdXRlckxpbmtgIGRpcmVjdGl2ZSB1bnRpbCB0aGUgbWVudSBpdGVtc1xuICogY2FuIGJlIGR5bmFtaWNhbGx5IGJ1aWx0IGluIGEgY2xlYW4gd2F5IHdpdGggb3Igd2l0aG91dCBgcm91dGVyTGlua2AuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1Sb3V0ZXJMaW5rIHtcblxuICBwcml2YXRlIF9yTGluaz86IFJvdXRlckxpbmtcbiAgcHJpdmF0ZSBfckxpbmtXaXRoSHJlZj86IFJvdXRlckxpbmtXaXRoSHJlZlxuXG4gIC8vIHByaXZhdGUgX2NsaWNrU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uXG4gIHByaXZhdGUgX3JMaW5rQ2xpY2tFdmVudExpc3RlbmVyPzogYW55XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBAQXR0cmlidXRlKCd0YWJpbmRleCcpIHRhYkluZGV4OiBzdHJpbmcgfCBudWxsLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgbG9jYXRpb25TdHJhdGVneTogTG9jYXRpb25TdHJhdGVneVxuICApIHtcbiAgICBpZiAoZWwubmF0aXZlRWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYScpIHtcbiAgICAgIHRoaXMuX3JMaW5rV2l0aEhyZWYgPSBuZXcgUm91dGVyTGlua1dpdGhIcmVmKFxuICAgICAgICByb3V0ZXIsXG4gICAgICAgIHJvdXRlLFxuICAgICAgICAnMCcsIC8vIFRPRE86IEZpeCB0eXBlLlxuICAgICAgICByZW5kZXJlcixcbiAgICAgICAgZWwubmF0aXZlRWxlbWVudCxcbiAgICAgICAgbG9jYXRpb25TdHJhdGVneVxuICAgICAgKVxuICAgICAgLy8gY29uc29sZS5sb2coJ3JMaW5rV2l0aEhyZWYnLCB0aGlzLnJMaW5rV2l0aEhyZWYpXG5cbiAgICAgIHRoaXMuX3JMaW5rQ2xpY2tFdmVudExpc3RlbmVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCd0aGlzLl9yTGlua1dpdGhIcmVmJywgdGhpcy5fckxpbmtXaXRoSHJlZiwgdGhpcy5fckxpbmtXaXRoSHJlZiAmJiB0aGlzLl9yTGlua1dpdGhIcmVmLmhyZWYpXG4gICAgICAgIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX3JMaW5rV2l0aEhyZWYub25DbGljayhldmVudC5idXR0b24sIGV2ZW50LmN0cmxLZXksIGV2ZW50LnNoaWZ0S2V5LCBldmVudC5hbHRLZXksIGV2ZW50Lm1ldGFLZXkpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3JMaW5rID0gbmV3IFJvdXRlckxpbmsoXG4gICAgICAgIHJvdXRlcixcbiAgICAgICAgcm91dGUsXG4gICAgICAgIHRhYkluZGV4IGFzIHN0cmluZyxcbiAgICAgICAgcmVuZGVyZXIsXG4gICAgICAgIGVsXG4gICAgICApXG4gICAgICAvLyBjb25zb2xlLmxvZygnckxpbmsnLCB0aGlzLnJMaW5rKVxuXG4gICAgICB0aGlzLl9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ3RoaXMuX3JMaW5rJywgdGhpcy5fckxpbmsgJiYgdGhpcy5fckxpbmsudXJsVHJlZSlcbiAgICAgICAgaWYgKHRoaXMuX3JMaW5rKSB7IHJldHVybiAodGhpcy5fckxpbmsgYXMgYW55KS5vbkNsaWNrKCkgfVxuICAgICAgfSlcblxuICAgICAgLy8gdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQoZWwubmF0aXZlRWxlbWVudCwgJ2NsaWNrJylcbiAgICAgIC8vICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAvLyAgICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICAvLyAgICAgICB0aGlzLl9yTGluay5vbkNsaWNrKClcbiAgICAgIC8vICAgICB9IGVsc2Uge1xuICAgICAgLy8gICAgICAgaWYgKHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uICYmICF0aGlzLl9jbGlja1N1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgIC8vICAgICAgICAgdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIH1cbiAgICAgIC8vICAgfSlcbiAgICB9XG4gIH1cblxuICBnZXQgcm91dGVyTGluaygpOiBSb3V0ZXJMaW5rIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuX3JMaW5rIH1cbiAgZ2V0IHJvdXRlckxpbmtXaXRoSHJlZigpOiBSb3V0ZXJMaW5rV2l0aEhyZWYgfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5fckxpbmtXaXRoSHJlZiB9XG5cbiAgc2V0IHJvdXRlckxpbmtJbnB1dChjb21tYW5kczogYW55W10gfCBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnJvdXRlckxpbmsgPSBjb21tYW5kc1xuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5yb3V0ZXJMaW5rID0gY29tbWFuZHNcbiAgICB9XG4gIH1cblxuICBzZXQgcXVlcnlQYXJhbXModmFsdWU6IHsgW2s6IHN0cmluZ106IGFueSB9KSB7XG4gICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICB0aGlzLl9yTGluay5xdWVyeVBhcmFtcyA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnF1ZXJ5UGFyYW1zID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgZnJhZ21lbnQodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLl9yTGluaykge1xuICAgICAgdGhpcy5fckxpbmsuZnJhZ21lbnQgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5mcmFnbWVudCA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgc2V0IHF1ZXJ5UGFyYW1zSGFuZGxpbmcodmFsdWU6IFF1ZXJ5UGFyYW1zSGFuZGxpbmcpIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnF1ZXJ5UGFyYW1zSGFuZGxpbmcgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5xdWVyeVBhcmFtc0hhbmRsaW5nID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgcHJlc2VydmVGcmFnbWVudCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLl9yTGluaykge1xuICAgICAgdGhpcy5fckxpbmsucHJlc2VydmVGcmFnbWVudCA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnByZXNlcnZlRnJhZ21lbnQgPSB2YWx1ZVxuICAgIH1cbiAgfVxuXG4gIHNldCBza2lwTG9jYXRpb25DaGFuZ2UodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnNraXBMb2NhdGlvbkNoYW5nZSA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnNraXBMb2NhdGlvbkNoYW5nZSA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgc2V0IHJlcGxhY2VVcmwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnJlcGxhY2VVcmwgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5yZXBsYWNlVXJsID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgc3RhdGUodmFsdWU6IHsgW2s6IHN0cmluZ106IGFueSB9KSB7XG4gICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICB0aGlzLl9yTGluay5zdGF0ZSA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnN0YXRlID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgdGFyZ2V0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi50YXJnZXQgPSB2YWx1ZSBhcyBzdHJpbmdcblxuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RhcmdldCcsIHZhbHVlKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9nZ2xlQXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RhcmdldCcsIGZhbHNlKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCkge1xuICAgIC8vIGlmICh0aGlzLl9jbGlja1N1YnNjcmlwdGlvbiAmJiAhdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgLy8gICB0aGlzLl9jbGlja1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAgLy8gfVxuICAgIGlmICh0aGlzLl9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lcikge1xuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fckxpbmtDbGlja0V2ZW50TGlzdGVuZXIpXG4gICAgICB0aGlzLl9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lciA9IG51bGxcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fckxpbmtXaXRoSHJlZiAmJiB0aGlzLl9yTGlua1dpdGhIcmVmLm5nT25EZXN0cm95KSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLm5nT25EZXN0cm95KClcbiAgICB9XG4gIH1cblxufVxuXG4vLyBUT0RPOiBSZWZhY3RvciB0aGlzIGRpcmVjdGl2ZS4gSXQgZ290IHdheSBtb3JlIGNvbXBsZXggaW5zdGVhZCBvZiBtb3JlXG4vLyBzaW1wbGlmaWVkIGxpa2UgaXQgd2FzIHN1cHBvc2VkIHRvIGJlLlxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NlYW1EYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1dJyxcbiAgZXhwb3J0QXM6ICdzZWFtRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtJ1xufSlcbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KClcbiAgLy8gZ2V0IHNlYW1EYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW0oKTogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQgeyByZXR1cm4gdGhpcy5fcmVjb3JkIH1cbiAgc2V0IHNlYW1EYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW0odmFsdWU6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkKSB7XG4gICAgdGhpcy5fcmVjb3JkLm5leHQodmFsdWUpXG4gIH1cbiAgcHJpdmF0ZSBfcmVjb3JkID0gbmV3IFJlcGxheVN1YmplY3Q8RHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQ+KDEpXG5cbiAgcHJpdmF0ZSBfY2xpY2tTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb25cbiAgcHJpdmF0ZSBfbWVudVJvdXRlckxpbms/OiBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1Sb3V0ZXJMaW5rXG5cbiAgcHJpdmF0ZSBfcmVjb3JkU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIF92YWx1ZUhlbHBlcjogRHluYW1pY1ZhbHVlSGVscGVyU2VydmljZSxcbiAgICBwcml2YXRlIF9hY3Rpb25IZWxwZXI6IER5bmFtaWNBY3Rpb25IZWxwZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2Fzc2V0UmVhZGVySGVscGVyOiBBc3NldFJlYWRlckhlbHBlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBfcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgX2xvY2F0aW9uU3RyYXRlZ3k6IExvY2F0aW9uU3RyYXRlZ3lcbiAgKSB7XG4gICAgdGhpcy5fcmVjb3JkU3Vic2NyaXB0aW9uID0gdGhpcy5fcmVjb3JkLnBpcGUoXG4gICAgICAvLyB0YXAodiA9PiBjb25zb2xlLmxvZygncmVjb3JkJywgdikpLFxuICAgICAgc3dpdGNoTWFwKHJlY29yZCA9PiB0aGlzLl91cGRhdGUocmVjb3JkKSksXG4gICAgICB0YXAoKCkgPT4geyB0aGlzLl9zZXRJbnZhbGlkQWN0aW9uU3RhdGUoZmFsc2UpIH0pLFxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgIGlmIChpc0Rldk1vZGUoKSkgeyBjb25zb2xlLmVycm9yKGVycm9yKSB9XG4gICAgICAgIHRoaXMuX3NldEludmFsaWRBY3Rpb25TdGF0ZSh0cnVlKVxuICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAgICAgfSksXG4gICAgICAvLyB0YXAodiA9PiBjb25zb2xlLmxvZygncmVjb3JkIERPTkUnLCB2KSlcbiAgICApLnN1YnNjcmliZSgpXG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9yZWNvcmRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgIHRoaXMuX3Vuc3ViQ2xpY2soKVxuICAgIGlmICh0aGlzLl9tZW51Um91dGVyTGluayAmJiB0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rV2l0aEhyZWYpIHtcbiAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnJvdXRlckxpbmtXaXRoSHJlZi5uZ09uRGVzdHJveSgpXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIC8vIGNvbnNvbGUubG9nKCduZ09uQ2hhbmdlcycsIGNoYW5nZXMsIHRoaXMsIHRoaXMuX21lbnVSb3V0ZXJMaW5rKVxuICAgIGlmICh0aGlzLl9tZW51Um91dGVyTGluayAmJiB0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rV2l0aEhyZWYpIHtcbiAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnJvdXRlckxpbmtXaXRoSHJlZi5uZ09uQ2hhbmdlcyh7fSlcbiAgICAgIGlmICh0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rV2l0aEhyZWYuaHJlZikge1xuICAgICAgICBpZiAoZ2V0QXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2hyZWYnKSAhPT0gdGhpcy5fbWVudVJvdXRlckxpbmsucm91dGVyTGlua1dpdGhIcmVmLmhyZWYpIHtcbiAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaHJlZicsIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnJvdXRlckxpbmtXaXRoSHJlZi5ocmVmKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0b2dnbGVBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaHJlZicsIGZhbHNlKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBfdXBkYXRlKHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICB0aGlzLl91bnN1YkNsaWNrKClcblxuICAgIHJldHVybiBmcm9tKHRoaXMuX2dldFVpUHJvcHMocmVjb3JkKSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCh1aVByb3BzID0+IHRoaXMuX2lzQW5jaG9yKClcbiAgICAgICAgPyB0aGlzLl91cGRhdGVBbmNob3JFbGVtZW50KHJlY29yZCwgdWlQcm9wcyBhcyBEeW5hbWljQWN0aW9uVWlBbmNob3JEZWYpXG4gICAgICAgIDogdGhpcy5fdXBkYXRlQnV0dG9uRWxlbWVudChyZWNvcmQsIHVpUHJvcHMgYXMgRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmKVxuICAgICAgKVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUFuY2hvckVsZW1lbnQoXG4gICAgcmVjb3JkOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZCxcbiAgICB1aVByb3BzOiBEeW5hbWljQWN0aW9uVWlBbmNob3JEZWZcbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgX3N0cmVhbTogT2JzZXJ2YWJsZTxhbnk+ID0gb2YodW5kZWZpbmVkKVxuXG4gICAgc3dpdGNoICh1aVByb3BzLnRyaWdnZXJUeXBlKSB7XG4gICAgICBjYXNlICdsaW5rJzoge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnSGFuZGxlIFwibGlua1wiIHRyaWdnZXJUeXBlLicsIHVpUHJvcHMpXG4gICAgICAgIC8vIHRoaXMuX3RyeUluaXRUYWJJbmRleCgpXG4gICAgICAgIHRoaXMuX3RyeUluaXRCbG9ja0NsaWNrKHJlY29yZCwgdWlQcm9wcylcbiAgICAgICAgdGhpcy5faW5pdE1lbnVJdGVtUm91dGVyTGluayhyZWNvcmQsIHVpUHJvcHMpXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2xpbmstZXh0ZXJuYWwnOiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdIYW5kbGUgXCJsaW5rLWV4dGVybmFsXCIgdHJpZ2dlclR5cGUuJywgdWlQcm9wcylcbiAgICAgICAgLy8gdGhpcy5fdHJ5SW5pdFRhYkluZGV4KClcbiAgICAgICAgdGhpcy5fdHJ5SW5pdEJsb2NrQ2xpY2socmVjb3JkLCB1aVByb3BzKVxuICAgICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcywgJ2xpbmtVcmwnKSkge1xuICAgICAgICAgIHRoaXMuX3NldEF0dHIoJ2hyZWYnLCB1aVByb3BzLmxpbmtVcmwpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMsICdsaW5rRXh0cmFzJykpIHtcbiAgICAgICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAndGFyZ2V0JykpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldEF0dHIoJ3RhcmdldCcsIHVpUHJvcHMubGlua0V4dHJhcy50YXJnZXQpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIFRPRE86IENvbnNpZGVyIG1ha2luZyB0aGUgSXRlbVJvdXRlckxpbmsgd29yayB3aXRoIGV4dGVybmFsIHVybHMuXG4gICAgICAgIC8vIHRoaXMuX2luaXRNZW51SXRlbVJvdXRlckxpbmsocmVjb3JkLCB1aVByb3BzKVxuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICAvLyBUT0RPOiBVbmxlc3Mgd2UgZGVjaWRlIHRvIGFkZCBhIHJvdXRlIGZvciBvcGVubmluZyBhc3NldHMsIHRoaXMgd291bGRcbiAgICAgIC8vIGJlIGNvbmZ1c2luZyB0byBhIHVzZXIuXG4gICAgICAvLyBjYXNlICdsaW5rLWFzc2V0Jzoge1xuICAgICAgLy8gICBjb25zb2xlLmxvZygnSGFuZGxlIFwibGluay1hc3NldFwiIHRyaWdnZXJUeXBlLicsIHVpUHJvcHMpXG4gICAgICAvLyAgIC8vIHRoaXMuX3RyeUluaXRUYWJJbmRleCgpXG4gICAgICAvLyAgIHRoaXMuX3RyeUluaXRCbG9ja0NsaWNrKHJlY29yZCwgdWlQcm9wcylcbiAgICAgIC8vICAgYnJlYWtcbiAgICAgIC8vIH1cbiAgICAgIGRlZmF1bHQ6IHRocm93IEVycm9yKCdbRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtRGlyZWN0aXZlXSAnICtcbiAgICAgICAgYHRyaWdnZXJUeXBlICR7dWlQcm9wcy50cmlnZ2VyVHlwZX0gaXMgbm90IHZhbGlkIGZvciBfdXBkYXRlQW5jaG9yRWxlbWVudCgpLmApXG4gICAgfVxuXG4gICAgcmV0dXJuIF9zdHJlYW0vLyAucGlwZShtYXBUbyh1bmRlZmluZWQpKVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQnV0dG9uRWxlbWVudChcbiAgICByZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkLFxuICAgIHVpUHJvcHM6IER5bmFtaWNBY3Rpb25VaUFuY2hvckRlZiB8IER5bmFtaWNBY3Rpb25VaUJ1dHRvbkRlZlxuICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBsZXQgX3N0cmVhbTogT2JzZXJ2YWJsZTxhbnk+ID0gb2YodW5kZWZpbmVkKVxuICAgIC8vIHRoaXMuX3VwZGF0ZUNsaWNrRWxlbWVudChyZWNvcmQsIHVpUHJvcHMgYXMgRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmKVxuICAgIHN3aXRjaCAodWlQcm9wcy50cmlnZ2VyVHlwZSkge1xuICAgICAgY2FzZSAnbGluay1hc3NldCc6IHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ0hhbmRsZSBcImxpbmstYXNzZXRcIiB0cmlnZ2VyVHlwZS4nLCB1aVByb3BzKVxuICAgICAgICAvLyB0aGlzLl90cnlJbml0VGFiSW5kZXgoKVxuICAgICAgICB0aGlzLl90cnlJbml0QmxvY2tDbGljayhyZWNvcmQsIHVpUHJvcHMpXG4gICAgICAgIF9zdHJlYW0gPSBfc3RyZWFtLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuX3VwZGF0ZUFzc2V0RWxlbWVudChyZWNvcmQsIHVpUHJvcHMpKSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2NsaWNrJzoge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnSGFuZGxlIFwiY2xpY2tcIiB0cmlnZ2VyVHlwZS4nLCB1aVByb3BzKVxuICAgICAgICB0aGlzLl90cnlJbml0QmxvY2tDbGljayhyZWNvcmQsIHVpUHJvcHMpXG4gICAgICAgIF9zdHJlYW0gPSBfc3RyZWFtLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuX3VwZGF0ZUNsaWNrRWxlbWVudChyZWNvcmQsIHVpUHJvcHMpKSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHRocm93IEVycm9yKCdbRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtRGlyZWN0aXZlXSAnICtcbiAgICAgICAgYHRyaWdnZXJUeXBlICR7dWlQcm9wcy50cmlnZ2VyVHlwZX0gaXMgbm90IHZhbGlkIGZvciBfdXBkYXRlQW5jaG9yRWxlbWVudCgpLmApXG4gICAgfVxuXG4gICAgcmV0dXJuIF9zdHJlYW0vLyAucGlwZShtYXBUbyh1bmRlZmluZWQpKVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQXNzZXRFbGVtZW50KFxuICAgIHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQsXG4gICAgdWlQcm9wczogRHluYW1pY0FjdGlvblVpQW5jaG9yRGVmIHwgRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIC8vIGNvbnNvbGUubG9nKCdfdXBkYXRlQXNzZXRFbGVtZW50JylcbiAgICAvLyByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAgIC8vIGNvbnNvbGUubG9nKCd0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQnLCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpXG4gICAgY29uc3QgdCA9IGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpLnBpcGUoXG4gICAgICB0YXAoZXZlbnQgPT4ge1xuICAgICAgICAvLyBjb25zdCBfY29udGV4dCA9IHRoaXMuX2dldENvbnRleHQocmVjb3JkLl9yb3csIHJlY29yZC5yb3dBY3Rpb24pXG4gICAgICAgIC8vIGNvbnN0IGNvbnRleHQgPSB7IC4uLl9jb250ZXh0LCBldmVudCwgdWlQcm9wcyB9XG4gICAgICAgIC8vIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWxTeW5jKHVpUHJvcHMuYmxvY2tDbGlja0V4cHIsIGNvbnRleHQpXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHJlY29yZCwgdWlQcm9wcylcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ191cGRhdGVDbGlja0VsZW1lbnQgY2xpY2snLCAoPGFueT5ldmVudCkuYnV0dG9uLCBldmVudClcbiAgICAgICAgaWYgKHRoaXMuX2Fzc2V0UmVhZGVySGVscGVyKSB7XG4gICAgICAgICAgaWYgKHVpUHJvcHMudHJpZ2dlclR5cGUgPT09ICdsaW5rLWFzc2V0JyAmJiBoYXNQcm9wZXJ0eSh1aVByb3BzLCAnbGlua1VybCcpKSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSB1aVByb3BzLmxpbmtVcmxcbiAgICAgICAgICAgIGxldCB0YXJnZXQ6IHN0cmluZyB8IHVuZGVmaW5lZFxuICAgICAgICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMsICdsaW5rRXh0cmFzJykgJiYgaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAndGFyZ2V0JykpIHtcbiAgICAgICAgICAgICAgdGFyZ2V0ID0gdWlQcm9wcy5saW5rRXh0cmFzLnRhcmdldFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fYXNzZXRSZWFkZXJIZWxwZXIub3BlbkxpbmsodXJsLCB0cnVlLCB0cnVlLCB0YXJnZXQpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGlmICghcmVzdWx0KSB7XG4gICAgICAgIC8vICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAvLyAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgIC8vIH1cbiAgICAgIH0pLFxuICAgICAgbWFwVG8odW5kZWZpbmVkKVxuICAgIClcblxuICAgIHJldHVybiBvZih1bmRlZmluZWQpLnBpcGUoXG4gICAgICAvLyB0YXAoKCkgPT4gY29uc29sZS5sb2coJ3N0YXJ0aW5nIF91cGRhdGVCdXR0b25FbGVtZW50JykpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHQpLFxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUNsaWNrRWxlbWVudChcbiAgICByZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkLFxuICAgIHVpUHJvcHM6IER5bmFtaWNBY3Rpb25VaUJ1dHRvbkRlZlxuICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAvLyBjb25zb2xlLmxvZygnX3VwZGF0ZUNsaWNrRWxlbWVudCcsIHJlY29yZCwgdWlQcm9wcylcbiAgICAvLyByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAgIHJldHVybiBmcm9tRXZlbnQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGV2ZW50ID0+IHtcbiAgICAgICAgY29uc3QgX2NvbnRleHQgPSB0aGlzLl9nZXRDb250ZXh0KHJlY29yZC5fcm93LCByZWNvcmQucm93QWN0aW9uKVxuICAgICAgICBjb25zdCBjb250ZXh0ID0geyAuLi5fY29udGV4dCwgZXZlbnQsIHVpUHJvcHMgfVxuICAgICAgICAvLyBjb25zb2xlLmxvZygnY2xpY2snLCAoPGFueT5ldmVudCkuYnV0dG9uLCBldmVudClcbiAgICAgICAgLy8gaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgLy8gICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIC8vICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9hY3Rpb25IZWxwZXIuZXhlYyh1aVByb3BzLl9hY3Rpb25EZWYsIGNvbnRleHQpXG4gICAgICB9KSxcbiAgICAgIG1hcFRvKHVuZGVmaW5lZClcbiAgICApXG4gIH1cblxuICBwcml2YXRlIF91bnN1YkNsaWNrKCkge1xuICAgIGlmICh0aGlzLl9jbGlja1N1YnNjcmlwdGlvbiAmJiAhdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICB0aGlzLl9jbGlja1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0QXR0cihhdHRyOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBhdHRyLCB2YWx1ZSlcbiAgfVxuXG4gIHByaXZhdGUgX3RyeUluaXRUYWJJbmRleCgpIHtcbiAgICBpZiAoZ2V0QXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4JykgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0YWJpbmRleCcsICcwJylcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF90cnlJbml0QmxvY2tDbGljayhcbiAgICByZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkLFxuICAgIHVpUHJvcHM6IER5bmFtaWNBY3Rpb25VaURlZlxuICApIHtcbiAgICB0aGlzLl91bnN1YkNsaWNrKClcbiAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcywgJ2Jsb2NrQ2xpY2tFeHByJykpIHtcbiAgICAgIHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uID0gdGhpcy5fYmxvY2tDbGlja0V4cHJPYnNlcnZhYmxlKHVpUHJvcHMsIHJlY29yZCkuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9ibG9ja0NsaWNrRXhwck9ic2VydmFibGUoXG4gICAgdWlQcm9wczogRHluYW1pY0FjdGlvblVpRGVmLFxuICAgIHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmRcbiAgKSB7XG4gICAgcmV0dXJuIGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpLnBpcGUoXG4gICAgICB0YXAoZXZlbnQgPT4ge1xuICAgICAgICBjb25zdCBfY29udGV4dCA9IHRoaXMuX2dldENvbnRleHQocmVjb3JkLl9yb3csIHJlY29yZC5yb3dBY3Rpb24pXG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB7IC4uLl9jb250ZXh0LCBldmVudCwgdWlQcm9wcyB9XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWxTeW5jKHVpUHJvcHMuYmxvY2tDbGlja0V4cHIsIGNvbnRleHQpXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdjbGljaycsIHJlc3VsdCwgKDxhbnk+ZXZlbnQpLmJ1dHRvbiwgZXZlbnQpXG4gICAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgbWFwVG8odW5kZWZpbmVkKVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRNZW51SXRlbVJvdXRlckxpbmsoXG4gICAgcmVjb3JkOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZCxcbiAgICB1aVByb3BzOiBEeW5hbWljQWN0aW9uVWlBbmNob3JEZWZcbiAgKSB7XG4gICAgdGhpcy5fbWVudVJvdXRlckxpbmsgPSBuZXcgRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtUm91dGVyTGluayhcbiAgICAgIHRoaXMuX3JvdXRlcixcbiAgICAgIHRoaXMuX3JvdXRlLFxuICAgICAgZ2V0QXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4JyksXG4gICAgICB0aGlzLl9yZW5kZXJlcixcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYsXG4gICAgICB0aGlzLl9sb2NhdGlvblN0cmF0ZWd5XG4gICAgKVxuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuX21lbnVSb3V0ZXJMaW5rKVxuXG4gICAgdGhpcy5fbWVudVJvdXRlckxpbmsucm91dGVyTGlua0lucHV0ID0gdWlQcm9wcy5saW5rVXJsIGFzIHN0cmluZ1xuXG4gICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMsICdsaW5rRXh0cmFzJykpIHtcbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICd0YXJnZXQnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay50YXJnZXQgPSB1aVByb3BzLmxpbmtFeHRyYXMudGFyZ2V0XG4gICAgICB9XG4gICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAncXVlcnlQYXJhbXMnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay5xdWVyeVBhcmFtcyA9IHVpUHJvcHMubGlua0V4dHJhcy5xdWVyeVBhcmFtc1xuICAgICAgfVxuICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMubGlua0V4dHJhcywgJ2ZyYWdtZW50JykpIHtcbiAgICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsuZnJhZ21lbnQgPSB1aVByb3BzLmxpbmtFeHRyYXMuZnJhZ21lbnRcbiAgICAgIH1cbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICdxdWVyeVBhcmFtc0hhbmRsaW5nJykpIHtcbiAgICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsucXVlcnlQYXJhbXNIYW5kbGluZyA9IHVpUHJvcHMubGlua0V4dHJhcy5xdWVyeVBhcmFtc0hhbmRsaW5nXG4gICAgICB9XG4gICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAncHJlc2VydmVGcmFnbWVudCcpKSB7XG4gICAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnByZXNlcnZlRnJhZ21lbnQgPSB1aVByb3BzLmxpbmtFeHRyYXMucHJlc2VydmVGcmFnbWVudFxuICAgICAgfVxuICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMubGlua0V4dHJhcywgJ3NraXBMb2NhdGlvbkNoYW5nZScpKSB7XG4gICAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnNraXBMb2NhdGlvbkNoYW5nZSA9IHVpUHJvcHMubGlua0V4dHJhcy5za2lwTG9jYXRpb25DaGFuZ2VcbiAgICAgIH1cbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICdyZXBsYWNlVXJsJykpIHtcbiAgICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsucmVwbGFjZVVybCA9IHVpUHJvcHMubGlua0V4dHJhcy5yZXBsYWNlVXJsXG4gICAgICB9XG4gICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAnc3RhdGUnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay5zdGF0ZSA9IHVpUHJvcHMubGlua0V4dHJhcy5zdGF0ZVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubmdPbkNoYW5nZXMoe30pXG4gIH1cblxuICBwcml2YXRlIF9pc0FuY2hvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdhJ1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VWlQcm9wcyhyZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkKTogUHJvbWlzZTxEeW5hbWljQWN0aW9uVWlEZWY+IHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5fZ2V0Q29udGV4dChyZWNvcmQuX3JvdywgcmVjb3JkLnJvd0FjdGlvbilcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9uSGVscGVyLmdldFVpUHJvcHMocmVjb3JkLnJvd0FjdGlvbi5hY3Rpb24sIGNvbnRleHQpXG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9nZXRDb250ZXh0KHJvdzogRHluYW1pY0RhdGF0YWJsZVJvdywgcm93QWN0aW9uRGVmOiBEeW5hbWljRGF0YXRhYmxlUm93QWN0aW9uKTogRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbkNvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICByb3dcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRJbnZhbGlkQWN0aW9uU3RhdGUoaW52YWxpZDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgIHRvZ2dsZUF0dHJpYnV0ZShlbGVtZW50LCAnZGlzYWJsZWQnLCBpbnZhbGlkKVxuICB9XG5cbn1cbiJdfQ==
400
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtYWN0aW9uLW1lbnUtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGlyZWN0aXZlcy9kYXRhdGFibGUtZHluYW1pYy1hY3Rpb24tbWVudS1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBRVQsS0FBSyxFQUNMLFNBQVMsR0FLVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQStDLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzdHLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFjLEVBQUUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25GLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQVVsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7Ozs7O0FBT3JGOzs7R0FHRztBQUNJLElBQU0sd0NBQXdDLEdBQTlDLE1BQU0sd0NBQXdDO0lBUW5ELFlBQ1UsTUFBYyxFQUNkLEtBQXFCLEVBQ04sUUFBdUIsRUFDdEMsUUFBbUIsRUFDbkIsRUFBYyxFQUNkLGdCQUFrQztRQUxsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFFckIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUUxQyxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLEdBQUcs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QXNCLENBQUMsVUFBbUIsS0FBSztRQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQTtRQUM5QyxlQUFlLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUMvQyxDQUFDOztxSUEzVFUsdUNBQXVDO3lIQUF2Qyx1Q0FBdUM7NEZBQXZDLHVDQUF1QztrQkFKbkQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0NBQXNDO29CQUNoRCxRQUFRLEVBQUUsb0NBQW9DO2lCQUMvQztrVUFLSyxrQ0FBa0M7c0JBRnJDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQXR0cmlidXRlLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBpc0Rldk1vZGUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUXVlcnlQYXJhbXNIYW5kbGluZywgUm91dGVyLCBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rV2l0aEhyZWYgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBmcm9tLCBmcm9tRXZlbnQsIE9ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwVG8sIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IEFzc2V0UmVhZGVySGVscGVyU2VydmljZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9hc3NldC1yZWFkZXInXG5pbXBvcnQge1xuICBEeW5hbWljQWN0aW9uSGVscGVyU2VydmljZSxcbiAgRHluYW1pY0FjdGlvblVpQW5jaG9yRGVmLFxuICBEeW5hbWljQWN0aW9uVWlCdXR0b25EZWYsXG4gIER5bmFtaWNBY3Rpb25VaURlZixcbiAgRHluYW1pY1ZhbHVlSGVscGVyU2VydmljZVxufSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZHluYW1pYydcbmltcG9ydCB7IGdldEF0dHJpYnV0ZSwgaGFzUHJvcGVydHksIHRvZ2dsZUF0dHJpYnV0ZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZVJvdyB9IGZyb20gJy4uL2RhdGF0YWJsZS1keW5hbWljLWRlZidcbmltcG9ydCB0eXBlIHsgRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQgfSBmcm9tICcuLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtYWN0aW9uLW1lbnUtcmVjb3JkJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbiB9IGZyb20gJy4uL21vZGVscy9keW5hbWljLWRhdGF0YWJsZS1yb3ctYWN0aW9uJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbkNvbnRleHQgfSBmcm9tICcuLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtcm93LWFjdGlvbi1jb250ZXh0J1xuXG4vKipcbiAqIENsYXNzIHRvIGFjdCBhcyBhIHN1YnN0aXR1dGUgdG8gYHJvdXRlckxpbmtgIGRpcmVjdGl2ZSB1bnRpbCB0aGUgbWVudSBpdGVtc1xuICogY2FuIGJlIGR5bmFtaWNhbGx5IGJ1aWx0IGluIGEgY2xlYW4gd2F5IHdpdGggb3Igd2l0aG91dCBgcm91dGVyTGlua2AuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1Sb3V0ZXJMaW5rIHtcblxuICBwcml2YXRlIF9yTGluaz86IFJvdXRlckxpbmtcbiAgcHJpdmF0ZSBfckxpbmtXaXRoSHJlZj86IFJvdXRlckxpbmtXaXRoSHJlZlxuXG4gIC8vIHByaXZhdGUgX2NsaWNrU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uXG4gIHByaXZhdGUgX3JMaW5rQ2xpY2tFdmVudExpc3RlbmVyPzogYW55XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBAQXR0cmlidXRlKCd0YWJpbmRleCcpIHRhYkluZGV4OiBzdHJpbmcgfCBudWxsLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgbG9jYXRpb25TdHJhdGVneTogTG9jYXRpb25TdHJhdGVneVxuICApIHtcbiAgICBpZiAoZWwubmF0aXZlRWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYScpIHtcbiAgICAgIHRoaXMuX3JMaW5rV2l0aEhyZWYgPSBuZXcgUm91dGVyTGlua1dpdGhIcmVmKFxuICAgICAgICByb3V0ZXIsXG4gICAgICAgIHJvdXRlLFxuICAgICAgICAnMCcsIC8vIFRPRE86IEZpeCB0eXBlLlxuICAgICAgICByZW5kZXJlcixcbiAgICAgICAgZWwubmF0aXZlRWxlbWVudCxcbiAgICAgICAgbG9jYXRpb25TdHJhdGVneVxuICAgICAgKVxuICAgICAgLy8gY29uc29sZS5sb2coJ3JMaW5rV2l0aEhyZWYnLCB0aGlzLnJMaW5rV2l0aEhyZWYpXG5cbiAgICAgIHRoaXMuX3JMaW5rQ2xpY2tFdmVudExpc3RlbmVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCd0aGlzLl9yTGlua1dpdGhIcmVmJywgdGhpcy5fckxpbmtXaXRoSHJlZiwgdGhpcy5fckxpbmtXaXRoSHJlZiAmJiB0aGlzLl9yTGlua1dpdGhIcmVmLmhyZWYpXG4gICAgICAgIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX3JMaW5rV2l0aEhyZWYub25DbGljayhldmVudC5idXR0b24sIGV2ZW50LmN0cmxLZXksIGV2ZW50LnNoaWZ0S2V5LCBldmVudC5hbHRLZXksIGV2ZW50Lm1ldGFLZXkpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3JMaW5rID0gbmV3IFJvdXRlckxpbmsoXG4gICAgICAgIHJvdXRlcixcbiAgICAgICAgcm91dGUsXG4gICAgICAgIHRhYkluZGV4IGFzIHN0cmluZyxcbiAgICAgICAgcmVuZGVyZXIsXG4gICAgICAgIGVsXG4gICAgICApXG4gICAgICAvLyBjb25zb2xlLmxvZygnckxpbmsnLCB0aGlzLnJMaW5rKVxuXG4gICAgICB0aGlzLl9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ3RoaXMuX3JMaW5rJywgdGhpcy5fckxpbmsgJiYgdGhpcy5fckxpbmsudXJsVHJlZSlcbiAgICAgICAgaWYgKHRoaXMuX3JMaW5rKSB7IHJldHVybiAodGhpcy5fckxpbmsgYXMgYW55KS5vbkNsaWNrKCkgfVxuICAgICAgfSlcblxuICAgICAgLy8gdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQoZWwubmF0aXZlRWxlbWVudCwgJ2NsaWNrJylcbiAgICAgIC8vICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAvLyAgICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICAvLyAgICAgICB0aGlzLl9yTGluay5vbkNsaWNrKClcbiAgICAgIC8vICAgICB9IGVsc2Uge1xuICAgICAgLy8gICAgICAgaWYgKHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uICYmICF0aGlzLl9jbGlja1N1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgIC8vICAgICAgICAgdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIH1cbiAgICAgIC8vICAgfSlcbiAgICB9XG4gIH1cblxuICBnZXQgcm91dGVyTGluaygpOiBSb3V0ZXJMaW5rIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuX3JMaW5rIH1cbiAgZ2V0IHJvdXRlckxpbmtXaXRoSHJlZigpOiBSb3V0ZXJMaW5rV2l0aEhyZWYgfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5fckxpbmtXaXRoSHJlZiB9XG5cbiAgc2V0IHJvdXRlckxpbmtJbnB1dChjb21tYW5kczogYW55W10gfCBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnJvdXRlckxpbmsgPSBjb21tYW5kc1xuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5yb3V0ZXJMaW5rID0gY29tbWFuZHNcbiAgICB9XG4gIH1cblxuICBzZXQgcXVlcnlQYXJhbXModmFsdWU6IHsgW2s6IHN0cmluZ106IGFueSB9KSB7XG4gICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICB0aGlzLl9yTGluay5xdWVyeVBhcmFtcyA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnF1ZXJ5UGFyYW1zID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgZnJhZ21lbnQodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLl9yTGluaykge1xuICAgICAgdGhpcy5fckxpbmsuZnJhZ21lbnQgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5mcmFnbWVudCA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgc2V0IHF1ZXJ5UGFyYW1zSGFuZGxpbmcodmFsdWU6IFF1ZXJ5UGFyYW1zSGFuZGxpbmcpIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnF1ZXJ5UGFyYW1zSGFuZGxpbmcgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5xdWVyeVBhcmFtc0hhbmRsaW5nID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgcHJlc2VydmVGcmFnbWVudCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLl9yTGluaykge1xuICAgICAgdGhpcy5fckxpbmsucHJlc2VydmVGcmFnbWVudCA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnByZXNlcnZlRnJhZ21lbnQgPSB2YWx1ZVxuICAgIH1cbiAgfVxuXG4gIHNldCBza2lwTG9jYXRpb25DaGFuZ2UodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnNraXBMb2NhdGlvbkNoYW5nZSA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnNraXBMb2NhdGlvbkNoYW5nZSA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgc2V0IHJlcGxhY2VVcmwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnJlcGxhY2VVcmwgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5yZXBsYWNlVXJsID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgc3RhdGUodmFsdWU6IHsgW2s6IHN0cmluZ106IGFueSB9KSB7XG4gICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICB0aGlzLl9yTGluay5zdGF0ZSA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnN0YXRlID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgdGFyZ2V0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi50YXJnZXQgPSB2YWx1ZSBhcyBzdHJpbmdcblxuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RhcmdldCcsIHZhbHVlKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9nZ2xlQXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RhcmdldCcsIGZhbHNlKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCkge1xuICAgIC8vIGlmICh0aGlzLl9jbGlja1N1YnNjcmlwdGlvbiAmJiAhdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgLy8gICB0aGlzLl9jbGlja1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAgLy8gfVxuICAgIGlmICh0aGlzLl9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lcikge1xuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fckxpbmtDbGlja0V2ZW50TGlzdGVuZXIpXG4gICAgICB0aGlzLl9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lciA9IG51bGxcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fckxpbmtXaXRoSHJlZiAmJiB0aGlzLl9yTGlua1dpdGhIcmVmLm5nT25EZXN0cm95KSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLm5nT25EZXN0cm95KClcbiAgICB9XG4gIH1cblxufVxuXG4vLyBUT0RPOiBSZWZhY3RvciB0aGlzIGRpcmVjdGl2ZS4gSXQgZ290IHdheSBtb3JlIGNvbXBsZXggaW5zdGVhZCBvZiBtb3JlXG4vLyBzaW1wbGlmaWVkIGxpa2UgaXQgd2FzIHN1cHBvc2VkIHRvIGJlLlxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NlYW1EYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1dJyxcbiAgZXhwb3J0QXM6ICdzZWFtRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtJ1xufSlcbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KClcbiAgLy8gZ2V0IHNlYW1EYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW0oKTogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQgeyByZXR1cm4gdGhpcy5fcmVjb3JkIH1cbiAgc2V0IHNlYW1EYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW0odmFsdWU6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkKSB7XG4gICAgdGhpcy5fcmVjb3JkLm5leHQodmFsdWUpXG4gIH1cbiAgcHJpdmF0ZSBfcmVjb3JkID0gbmV3IFJlcGxheVN1YmplY3Q8RHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQ+KDEpXG5cbiAgcHJpdmF0ZSBfY2xpY2tTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb25cbiAgcHJpdmF0ZSBfbWVudVJvdXRlckxpbms/OiBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1Sb3V0ZXJMaW5rXG5cbiAgcHJpdmF0ZSBfcmVjb3JkU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIF92YWx1ZUhlbHBlcjogRHluYW1pY1ZhbHVlSGVscGVyU2VydmljZSxcbiAgICBwcml2YXRlIF9hY3Rpb25IZWxwZXI6IER5bmFtaWNBY3Rpb25IZWxwZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2Fzc2V0UmVhZGVySGVscGVyOiBBc3NldFJlYWRlckhlbHBlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBfcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgX2xvY2F0aW9uU3RyYXRlZ3k6IExvY2F0aW9uU3RyYXRlZ3lcbiAgKSB7XG4gICAgdGhpcy5fcmVjb3JkU3Vic2NyaXB0aW9uID0gdGhpcy5fcmVjb3JkLnBpcGUoXG4gICAgICAvLyB0YXAodiA9PiBjb25zb2xlLmxvZygncmVjb3JkJywgdikpLFxuICAgICAgc3dpdGNoTWFwKHJlY29yZCA9PiB0aGlzLl91cGRhdGUocmVjb3JkKSksXG4gICAgICB0YXAoKCkgPT4geyB0aGlzLl9zZXRJbnZhbGlkQWN0aW9uU3RhdGUoZmFsc2UpIH0pLFxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgIGlmIChpc0Rldk1vZGUoKSkgeyBjb25zb2xlLmVycm9yKGVycm9yKSB9XG4gICAgICAgIHRoaXMuX3NldEludmFsaWRBY3Rpb25TdGF0ZSh0cnVlKVxuICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAgICAgfSksXG4gICAgICAvLyB0YXAodiA9PiBjb25zb2xlLmxvZygncmVjb3JkIERPTkUnLCB2KSlcbiAgICApLnN1YnNjcmliZSgpXG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9yZWNvcmRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgIHRoaXMuX3Vuc3ViQ2xpY2soKVxuICAgIGlmICh0aGlzLl9tZW51Um91dGVyTGluayAmJiB0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rV2l0aEhyZWYpIHtcbiAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnJvdXRlckxpbmtXaXRoSHJlZi5uZ09uRGVzdHJveSgpXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIC8vIGNvbnNvbGUubG9nKCduZ09uQ2hhbmdlcycsIGNoYW5nZXMsIHRoaXMsIHRoaXMuX21lbnVSb3V0ZXJMaW5rKVxuICAgIGlmICh0aGlzLl9tZW51Um91dGVyTGluayAmJiB0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rV2l0aEhyZWYpIHtcbiAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnJvdXRlckxpbmtXaXRoSHJlZi5uZ09uQ2hhbmdlcyh7fSlcbiAgICAgIGlmICh0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rV2l0aEhyZWYuaHJlZikge1xuICAgICAgICBpZiAoZ2V0QXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2hyZWYnKSAhPT0gdGhpcy5fbWVudVJvdXRlckxpbmsucm91dGVyTGlua1dpdGhIcmVmLmhyZWYpIHtcbiAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaHJlZicsIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnJvdXRlckxpbmtXaXRoSHJlZi5ocmVmKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0b2dnbGVBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaHJlZicsIGZhbHNlKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBfdXBkYXRlKHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICB0aGlzLl91bnN1YkNsaWNrKClcblxuICAgIHJldHVybiBmcm9tKHRoaXMuX2dldFVpUHJvcHMocmVjb3JkKSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCh1aVByb3BzID0+IHRoaXMuX2lzQW5jaG9yKClcbiAgICAgICAgPyB0aGlzLl91cGRhdGVBbmNob3JFbGVtZW50KHJlY29yZCwgdWlQcm9wcyBhcyBEeW5hbWljQWN0aW9uVWlBbmNob3JEZWYpXG4gICAgICAgIDogdGhpcy5fdXBkYXRlQnV0dG9uRWxlbWVudChyZWNvcmQsIHVpUHJvcHMgYXMgRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmKVxuICAgICAgKVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUFuY2hvckVsZW1lbnQoXG4gICAgcmVjb3JkOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZCxcbiAgICB1aVByb3BzOiBEeW5hbWljQWN0aW9uVWlBbmNob3JEZWZcbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgX3N0cmVhbTogT2JzZXJ2YWJsZTxhbnk+ID0gb2YodW5kZWZpbmVkKVxuXG4gICAgc3dpdGNoICh1aVByb3BzLnRyaWdnZXJUeXBlKSB7XG4gICAgICBjYXNlICdsaW5rJzoge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnSGFuZGxlIFwibGlua1wiIHRyaWdnZXJUeXBlLicsIHVpUHJvcHMpXG4gICAgICAgIC8vIHRoaXMuX3RyeUluaXRUYWJJbmRleCgpXG4gICAgICAgIHRoaXMuX3RyeUluaXRCbG9ja0NsaWNrKHJlY29yZCwgdWlQcm9wcylcbiAgICAgICAgdGhpcy5faW5pdE1lbnVJdGVtUm91dGVyTGluayhyZWNvcmQsIHVpUHJvcHMpXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2xpbmstZXh0ZXJuYWwnOiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdIYW5kbGUgXCJsaW5rLWV4dGVybmFsXCIgdHJpZ2dlclR5cGUuJywgdWlQcm9wcylcbiAgICAgICAgLy8gdGhpcy5fdHJ5SW5pdFRhYkluZGV4KClcbiAgICAgICAgdGhpcy5fdHJ5SW5pdEJsb2NrQ2xpY2socmVjb3JkLCB1aVByb3BzKVxuICAgICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcywgJ2xpbmtVcmwnKSkge1xuICAgICAgICAgIHRoaXMuX3NldEF0dHIoJ2hyZWYnLCB1aVByb3BzLmxpbmtVcmwpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMsICdsaW5rRXh0cmFzJykpIHtcbiAgICAgICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAndGFyZ2V0JykpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldEF0dHIoJ3RhcmdldCcsIHVpUHJvcHMubGlua0V4dHJhcy50YXJnZXQpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIFRPRE86IENvbnNpZGVyIG1ha2luZyB0aGUgSXRlbVJvdXRlckxpbmsgd29yayB3aXRoIGV4dGVybmFsIHVybHMuXG4gICAgICAgIC8vIHRoaXMuX2luaXRNZW51SXRlbVJvdXRlckxpbmsocmVjb3JkLCB1aVByb3BzKVxuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICAvLyBUT0RPOiBVbmxlc3Mgd2UgZGVjaWRlIHRvIGFkZCBhIHJvdXRlIGZvciBvcGVubmluZyBhc3NldHMsIHRoaXMgd291bGRcbiAgICAgIC8vIGJlIGNvbmZ1c2luZyB0byBhIHVzZXIuXG4gICAgICAvLyBjYXNlICdsaW5rLWFzc2V0Jzoge1xuICAgICAgLy8gICBjb25zb2xlLmxvZygnSGFuZGxlIFwibGluay1hc3NldFwiIHRyaWdnZXJUeXBlLicsIHVpUHJvcHMpXG4gICAgICAvLyAgIC8vIHRoaXMuX3RyeUluaXRUYWJJbmRleCgpXG4gICAgICAvLyAgIHRoaXMuX3RyeUluaXRCbG9ja0NsaWNrKHJlY29yZCwgdWlQcm9wcylcbiAgICAgIC8vICAgYnJlYWtcbiAgICAgIC8vIH1cbiAgICAgIGRlZmF1bHQ6IHRocm93IEVycm9yKCdbRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtRGlyZWN0aXZlXSAnICtcbiAgICAgICAgYHRyaWdnZXJUeXBlICR7dWlQcm9wcy50cmlnZ2VyVHlwZX0gaXMgbm90IHZhbGlkIGZvciBfdXBkYXRlQW5jaG9yRWxlbWVudCgpLmApXG4gICAgfVxuXG4gICAgcmV0dXJuIF9zdHJlYW0vLyAucGlwZShtYXBUbyh1bmRlZmluZWQpKVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQnV0dG9uRWxlbWVudChcbiAgICByZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkLFxuICAgIHVpUHJvcHM6IER5bmFtaWNBY3Rpb25VaUFuY2hvckRlZiB8IER5bmFtaWNBY3Rpb25VaUJ1dHRvbkRlZlxuICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBsZXQgX3N0cmVhbTogT2JzZXJ2YWJsZTxhbnk+ID0gb2YodW5kZWZpbmVkKVxuICAgIC8vIHRoaXMuX3VwZGF0ZUNsaWNrRWxlbWVudChyZWNvcmQsIHVpUHJvcHMgYXMgRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmKVxuICAgIHN3aXRjaCAodWlQcm9wcy50cmlnZ2VyVHlwZSkge1xuICAgICAgY2FzZSAnbGluay1hc3NldCc6IHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ0hhbmRsZSBcImxpbmstYXNzZXRcIiB0cmlnZ2VyVHlwZS4nLCB1aVByb3BzKVxuICAgICAgICAvLyB0aGlzLl90cnlJbml0VGFiSW5kZXgoKVxuICAgICAgICB0aGlzLl90cnlJbml0QmxvY2tDbGljayhyZWNvcmQsIHVpUHJvcHMpXG4gICAgICAgIF9zdHJlYW0gPSBfc3RyZWFtLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuX3VwZGF0ZUFzc2V0RWxlbWVudChyZWNvcmQsIHVpUHJvcHMpKSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2NsaWNrJzoge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnSGFuZGxlIFwiY2xpY2tcIiB0cmlnZ2VyVHlwZS4nLCB1aVByb3BzKVxuICAgICAgICB0aGlzLl90cnlJbml0QmxvY2tDbGljayhyZWNvcmQsIHVpUHJvcHMpXG4gICAgICAgIF9zdHJlYW0gPSBfc3RyZWFtLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuX3VwZGF0ZUNsaWNrRWxlbWVudChyZWNvcmQsIHVpUHJvcHMpKSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHRocm93IEVycm9yKCdbRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtRGlyZWN0aXZlXSAnICtcbiAgICAgICAgYHRyaWdnZXJUeXBlICR7dWlQcm9wcy50cmlnZ2VyVHlwZX0gaXMgbm90IHZhbGlkIGZvciBfdXBkYXRlQW5jaG9yRWxlbWVudCgpLmApXG4gICAgfVxuXG4gICAgcmV0dXJuIF9zdHJlYW0vLyAucGlwZShtYXBUbyh1bmRlZmluZWQpKVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQXNzZXRFbGVtZW50KFxuICAgIHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQsXG4gICAgdWlQcm9wczogRHluYW1pY0FjdGlvblVpQW5jaG9yRGVmIHwgRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIC8vIGNvbnNvbGUubG9nKCdfdXBkYXRlQXNzZXRFbGVtZW50JylcbiAgICAvLyByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAgIC8vIGNvbnNvbGUubG9nKCd0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQnLCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpXG4gICAgY29uc3QgdCA9IGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpLnBpcGUoXG4gICAgICB0YXAoZXZlbnQgPT4ge1xuICAgICAgICAvLyBjb25zdCBfY29udGV4dCA9IHRoaXMuX2dldENvbnRleHQocmVjb3JkLl9yb3csIHJlY29yZC5yb3dBY3Rpb24pXG4gICAgICAgIC8vIGNvbnN0IGNvbnRleHQgPSB7IC4uLl9jb250ZXh0LCBldmVudCwgdWlQcm9wcyB9XG4gICAgICAgIC8vIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWxTeW5jKHVpUHJvcHMuYmxvY2tDbGlja0V4cHIsIGNvbnRleHQpXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHJlY29yZCwgdWlQcm9wcylcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ191cGRhdGVDbGlja0VsZW1lbnQgY2xpY2snLCAoPGFueT5ldmVudCkuYnV0dG9uLCBldmVudClcbiAgICAgICAgaWYgKHRoaXMuX2Fzc2V0UmVhZGVySGVscGVyKSB7XG4gICAgICAgICAgaWYgKHVpUHJvcHMudHJpZ2dlclR5cGUgPT09ICdsaW5rLWFzc2V0JyAmJiBoYXNQcm9wZXJ0eSh1aVByb3BzLCAnbGlua1VybCcpKSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSB1aVByb3BzLmxpbmtVcmxcbiAgICAgICAgICAgIGxldCB0YXJnZXQ6IHN0cmluZyB8IHVuZGVmaW5lZFxuICAgICAgICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMsICdsaW5rRXh0cmFzJykgJiYgaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAndGFyZ2V0JykpIHtcbiAgICAgICAgICAgICAgdGFyZ2V0ID0gdWlQcm9wcy5saW5rRXh0cmFzLnRhcmdldFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fYXNzZXRSZWFkZXJIZWxwZXIub3BlbkxpbmsodXJsLCB0cnVlLCB0cnVlLCB0YXJnZXQpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGlmICghcmVzdWx0KSB7XG4gICAgICAgIC8vICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAvLyAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgIC8vIH1cbiAgICAgIH0pLFxuICAgICAgbWFwVG8odW5kZWZpbmVkKVxuICAgIClcblxuICAgIHJldHVybiBvZih1bmRlZmluZWQpLnBpcGUoXG4gICAgICAvLyB0YXAoKCkgPT4gY29uc29sZS5sb2coJ3N0YXJ0aW5nIF91cGRhdGVCdXR0b25FbGVtZW50JykpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHQpLFxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUNsaWNrRWxlbWVudChcbiAgICByZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkLFxuICAgIHVpUHJvcHM6IER5bmFtaWNBY3Rpb25VaUJ1dHRvbkRlZlxuICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAvLyBjb25zb2xlLmxvZygnX3VwZGF0ZUNsaWNrRWxlbWVudCcsIHJlY29yZCwgdWlQcm9wcylcbiAgICAvLyByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAgIHJldHVybiBmcm9tRXZlbnQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGV2ZW50ID0+IHtcbiAgICAgICAgY29uc3QgX2NvbnRleHQgPSB0aGlzLl9nZXRDb250ZXh0KHJlY29yZC5fcm93LCByZWNvcmQucm93QWN0aW9uKVxuICAgICAgICBjb25zdCBjb250ZXh0ID0geyAuLi5fY29udGV4dCwgZXZlbnQsIHVpUHJvcHMgfVxuICAgICAgICAvLyBjb25zb2xlLmxvZygnY2xpY2snLCAoPGFueT5ldmVudCkuYnV0dG9uLCBldmVudClcbiAgICAgICAgLy8gaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgLy8gICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIC8vICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9hY3Rpb25IZWxwZXIuZXhlYyh1aVByb3BzLl9hY3Rpb25EZWYsIGNvbnRleHQpXG4gICAgICB9KSxcbiAgICAgIG1hcFRvKHVuZGVmaW5lZClcbiAgICApXG4gIH1cblxuICBwcml2YXRlIF91bnN1YkNsaWNrKCkge1xuICAgIGlmICh0aGlzLl9jbGlja1N1YnNjcmlwdGlvbiAmJiAhdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICB0aGlzLl9jbGlja1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0QXR0cihhdHRyOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBhdHRyLCB2YWx1ZSlcbiAgfVxuXG4gIHByaXZhdGUgX3RyeUluaXRUYWJJbmRleCgpIHtcbiAgICBpZiAoZ2V0QXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4JykgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0YWJpbmRleCcsICcwJylcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF90cnlJbml0QmxvY2tDbGljayhcbiAgICByZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkLFxuICAgIHVpUHJvcHM6IER5bmFtaWNBY3Rpb25VaURlZlxuICApIHtcbiAgICB0aGlzLl91bnN1YkNsaWNrKClcbiAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcywgJ2Jsb2NrQ2xpY2tFeHByJykpIHtcbiAgICAgIHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uID0gdGhpcy5fYmxvY2tDbGlja0V4cHJPYnNlcnZhYmxlKHVpUHJvcHMsIHJlY29yZCkuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9ibG9ja0NsaWNrRXhwck9ic2VydmFibGUoXG4gICAgdWlQcm9wczogRHluYW1pY0FjdGlvblVpRGVmLFxuICAgIHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmRcbiAgKSB7XG4gICAgcmV0dXJuIGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpLnBpcGUoXG4gICAgICB0YXAoZXZlbnQgPT4ge1xuICAgICAgICBjb25zdCBfY29udGV4dCA9IHRoaXMuX2dldENvbnRleHQocmVjb3JkLl9yb3csIHJlY29yZC5yb3dBY3Rpb24pXG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB7IC4uLl9jb250ZXh0LCBldmVudCwgdWlQcm9wcyB9XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWxTeW5jKHVpUHJvcHMuYmxvY2tDbGlja0V4cHIsIGNvbnRleHQpXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdjbGljaycsIHJlc3VsdCwgKDxhbnk+ZXZlbnQpLmJ1dHRvbiwgZXZlbnQpXG4gICAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgbWFwVG8odW5kZWZpbmVkKVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRNZW51SXRlbVJvdXRlckxpbmsoXG4gICAgcmVjb3JkOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZCxcbiAgICB1aVByb3BzOiBEeW5hbWljQWN0aW9uVWlBbmNob3JEZWZcbiAgKSB7XG4gICAgdGhpcy5fbWVudVJvdXRlckxpbmsgPSBuZXcgRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtUm91dGVyTGluayhcbiAgICAgIHRoaXMuX3JvdXRlcixcbiAgICAgIHRoaXMuX3JvdXRlLFxuICAgICAgZ2V0QXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4JyksXG4gICAgICB0aGlzLl9yZW5kZXJlcixcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYsXG4gICAgICB0aGlzLl9sb2NhdGlvblN0cmF0ZWd5XG4gICAgKVxuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuX21lbnVSb3V0ZXJMaW5rKVxuXG4gICAgdGhpcy5fbWVudVJvdXRlckxpbmsucm91dGVyTGlua0lucHV0ID0gdWlQcm9wcy5saW5rVXJsIGFzIHN0cmluZ1xuXG4gICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMsICdsaW5rRXh0cmFzJykpIHtcbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICd0YXJnZXQnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay50YXJnZXQgPSB1aVByb3BzLmxpbmtFeHRyYXMudGFyZ2V0XG4gICAgICB9XG4gICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAncXVlcnlQYXJhbXMnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay5xdWVyeVBhcmFtcyA9IHVpUHJvcHMubGlua0V4dHJhcy5xdWVyeVBhcmFtc1xuICAgICAgfVxuICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMubGlua0V4dHJhcywgJ2ZyYWdtZW50JykpIHtcbiAgICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsuZnJhZ21lbnQgPSB1aVByb3BzLmxpbmtFeHRyYXMuZnJhZ21lbnRcbiAgICAgIH1cbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICdxdWVyeVBhcmFtc0hhbmRsaW5nJykpIHtcbiAgICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsucXVlcnlQYXJhbXNIYW5kbGluZyA9IHVpUHJvcHMubGlua0V4dHJhcy5xdWVyeVBhcmFtc0hhbmRsaW5nXG4gICAgICB9XG4gICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAncHJlc2VydmVGcmFnbWVudCcpKSB7XG4gICAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnByZXNlcnZlRnJhZ21lbnQgPSB1aVByb3BzLmxpbmtFeHRyYXMucHJlc2VydmVGcmFnbWVudFxuICAgICAgfVxuICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMubGlua0V4dHJhcywgJ3NraXBMb2NhdGlvbkNoYW5nZScpKSB7XG4gICAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnNraXBMb2NhdGlvbkNoYW5nZSA9IHVpUHJvcHMubGlua0V4dHJhcy5za2lwTG9jYXRpb25DaGFuZ2VcbiAgICAgIH1cbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICdyZXBsYWNlVXJsJykpIHtcbiAgICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsucmVwbGFjZVVybCA9IHVpUHJvcHMubGlua0V4dHJhcy5yZXBsYWNlVXJsXG4gICAgICB9XG4gICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAnc3RhdGUnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay5zdGF0ZSA9IHVpUHJvcHMubGlua0V4dHJhcy5zdGF0ZVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubmdPbkNoYW5nZXMoe30pXG4gIH1cblxuICBwcml2YXRlIF9pc0FuY2hvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdhJ1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VWlQcm9wcyhyZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkKTogUHJvbWlzZTxEeW5hbWljQWN0aW9uVWlEZWY+IHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5fZ2V0Q29udGV4dChyZWNvcmQuX3JvdywgcmVjb3JkLnJvd0FjdGlvbilcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9uSGVscGVyLmdldFVpUHJvcHMocmVjb3JkLnJvd0FjdGlvbi5hY3Rpb24sIGNvbnRleHQpXG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9nZXRDb250ZXh0KHJvdzogRHluYW1pY0RhdGF0YWJsZVJvdywgcm93QWN0aW9uRGVmOiBEeW5hbWljRGF0YXRhYmxlUm93QWN0aW9uKTogRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbkNvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICByb3dcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRJbnZhbGlkQWN0aW9uU3RhdGUoaW52YWxpZDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgIHRvZ2dsZUF0dHJpYnV0ZShlbGVtZW50LCAnZGlzYWJsZWQnLCBpbnZhbGlkKVxuICB9XG5cbn1cbiJdfQ==