ontimize-web-ngx 15.6.2 → 15.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/esm2020/lib/components/app-header/o-app-header.component.mjs +4 -4
  2. package/esm2020/lib/components/app-header/o-app-header.module.mjs +5 -5
  3. package/esm2020/lib/components/app-sidenav/image/o-app-sidenav-image.component.mjs +4 -4
  4. package/esm2020/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.mjs +4 -4
  5. package/esm2020/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.mjs +4 -4
  6. package/esm2020/lib/components/app-sidenav/o-app-sidenav.component.mjs +4 -4
  7. package/esm2020/lib/components/app-sidenav/o-app-sidenav.module.mjs +5 -5
  8. package/esm2020/lib/components/bar-menu/locale-menu-item/o-locale-bar-menu-item.component.mjs +4 -4
  9. package/esm2020/lib/components/bar-menu/menu-group/o-bar-menu-group.component.mjs +4 -4
  10. package/esm2020/lib/components/bar-menu/menu-item/o-bar-menu-item.component.mjs +4 -4
  11. package/esm2020/lib/components/bar-menu/menu-nested/o-bar-menu-nested.component.mjs +4 -4
  12. package/esm2020/lib/components/bar-menu/menu-separator/o-bar-menu-separator.component.mjs +4 -4
  13. package/esm2020/lib/components/bar-menu/o-bar-menu-base.class.mjs +4 -4
  14. package/esm2020/lib/components/bar-menu/o-bar-menu.component.mjs +4 -4
  15. package/esm2020/lib/components/bar-menu/o-bar-menu.module.mjs +5 -5
  16. package/esm2020/lib/components/bar-menu/o-base-menu-item.class.mjs +4 -4
  17. package/esm2020/lib/components/breadcrumb/o-breadcrumb.component.mjs +4 -4
  18. package/esm2020/lib/components/breadcrumb/o-breadcrumb.module.mjs +5 -5
  19. package/esm2020/lib/components/button/o-button.component.mjs +4 -4
  20. package/esm2020/lib/components/button/o-button.module.mjs +5 -5
  21. package/esm2020/lib/components/button-toggle/o-button-toggle-group/o-button-toggle-group.component.mjs +4 -4
  22. package/esm2020/lib/components/button-toggle/o-button-toggle.component.mjs +4 -4
  23. package/esm2020/lib/components/button-toggle/o-button-toggle.module.mjs +5 -5
  24. package/esm2020/lib/components/card-menu-item/o-card-menu-item.component.mjs +4 -4
  25. package/esm2020/lib/components/card-menu-item/o-card-menu-item.module.mjs +5 -5
  26. package/esm2020/lib/components/container/column/o-column.component.mjs +4 -4
  27. package/esm2020/lib/components/container/column/o-column.module.mjs +5 -5
  28. package/esm2020/lib/components/container/column-collapsible/o-column-collapsible.component.mjs +4 -4
  29. package/esm2020/lib/components/container/column-collapsible/o-column-collapsible.module.mjs +5 -5
  30. package/esm2020/lib/components/container/o-container-collapsible-component.class.mjs +4 -4
  31. package/esm2020/lib/components/container/o-container-component.class.mjs +4 -4
  32. package/esm2020/lib/components/container/row/o-row.component.mjs +4 -4
  33. package/esm2020/lib/components/container/row/o-row.module.mjs +5 -5
  34. package/esm2020/lib/components/container/row-collapsible/o-row-collapsible.component.mjs +4 -4
  35. package/esm2020/lib/components/container/row-collapsible/o-row-collapsible.module.mjs +5 -5
  36. package/esm2020/lib/components/contextmenu/context-menu/o-context-menu-content.component.mjs +4 -4
  37. package/esm2020/lib/components/contextmenu/context-menu/o-wrapper-content-menu/o-wrapper-content-menu.component.mjs +4 -4
  38. package/esm2020/lib/components/contextmenu/context-menu-group/o-context-menu-group.component.mjs +4 -4
  39. package/esm2020/lib/components/contextmenu/context-menu-item/o-context-menu-item.component.mjs +4 -4
  40. package/esm2020/lib/components/contextmenu/context-menu-separator/o-context-menu-separator.component.mjs +4 -4
  41. package/esm2020/lib/components/contextmenu/o-content-menu-base-item.class.mjs +4 -4
  42. package/esm2020/lib/components/contextmenu/o-context-menu-overlay.service.mjs +4 -4
  43. package/esm2020/lib/components/contextmenu/o-context-menu.component.mjs +4 -4
  44. package/esm2020/lib/components/contextmenu/o-context-menu.directive.mjs +4 -4
  45. package/esm2020/lib/components/contextmenu/o-context-menu.module.mjs +5 -5
  46. package/esm2020/lib/components/contextmenu/o-context-menu.service.mjs +4 -4
  47. package/esm2020/lib/components/dual-list-selector/dual-list-selector-item/date/o-dual-list-selector-date-item.component.mjs +4 -4
  48. package/esm2020/lib/components/dual-list-selector/o-dual-list-selector.component.mjs +4 -4
  49. package/esm2020/lib/components/dual-list-selector/o-dual-list-selector.module.mjs +5 -5
  50. package/esm2020/lib/components/expandable-container/o-expandable-container.component.mjs +4 -4
  51. package/esm2020/lib/components/expandable-container/o-expandable-container.module.mjs +5 -5
  52. package/esm2020/lib/components/filter-builder/filter-builder-menu/filter-builder-menu.component.mjs +4 -4
  53. package/esm2020/lib/components/filter-builder/o-filter-builder-clear.directive.mjs +4 -4
  54. package/esm2020/lib/components/filter-builder/o-filter-builder-query.directive.mjs +4 -4
  55. package/esm2020/lib/components/filter-builder/o-filter-builder.component.mjs +4 -4
  56. package/esm2020/lib/components/filter-builder/o-filter-builder.module.mjs +5 -5
  57. package/esm2020/lib/components/form/guards/o-form-can-deactivate.guard.mjs +4 -4
  58. package/esm2020/lib/components/form/navigation/o-form-confirm-exit.service.mjs +4 -4
  59. package/esm2020/lib/components/form/navigation/o-form-navigation.component.mjs +4 -4
  60. package/esm2020/lib/components/form/o-form.component.mjs +4 -4
  61. package/esm2020/lib/components/form/o-form.module.mjs +5 -5
  62. package/esm2020/lib/components/form/services/o-form-message.service.mjs +4 -4
  63. package/esm2020/lib/components/form/toolbar/o-form-toolbar.component.mjs +4 -4
  64. package/esm2020/lib/components/form/toolbar/o-form-toolbar.module.mjs +5 -5
  65. package/esm2020/lib/components/form-container/o-form-container.component.mjs +4 -4
  66. package/esm2020/lib/components/form-container/o-form-container.module.mjs +5 -5
  67. package/esm2020/lib/components/grid/grid-item/o-grid-item.component.mjs +4 -4
  68. package/esm2020/lib/components/grid/grid-item/o-grid-item.directive.mjs +4 -4
  69. package/esm2020/lib/components/grid/o-grid.component.mjs +4 -4
  70. package/esm2020/lib/components/grid/o-grid.module.mjs +5 -5
  71. package/esm2020/lib/components/grid/skeketon/o-grid-skeleton.component.mjs +4 -4
  72. package/esm2020/lib/components/image/fullscreen/fullscreen-dialog.component.mjs +4 -4
  73. package/esm2020/lib/components/image/o-image.component.mjs +4 -4
  74. package/esm2020/lib/components/image/o-image.module.mjs +5 -5
  75. package/esm2020/lib/components/input/checkbox/o-checkbox.component.mjs +4 -4
  76. package/esm2020/lib/components/input/checkbox/o-checkbox.module.mjs +5 -5
  77. package/esm2020/lib/components/input/combo/combo-renderer/boolean/o-combo-renderer-boolean.component.mjs +4 -4
  78. package/esm2020/lib/components/input/combo/combo-renderer/currency/o-combo-renderer-currency.component.mjs +4 -4
  79. package/esm2020/lib/components/input/combo/combo-renderer/date/o-combo-renderer-date.component.mjs +4 -4
  80. package/esm2020/lib/components/input/combo/combo-renderer/icon/o-combo-renderer-icon.component.mjs +4 -4
  81. package/esm2020/lib/components/input/combo/combo-renderer/integer/o-combo-renderer-integer.component.mjs +4 -4
  82. package/esm2020/lib/components/input/combo/combo-renderer/o-combo-renderer.class.mjs +4 -4
  83. package/esm2020/lib/components/input/combo/combo-renderer/percentage/o-combo-renderer-percentage.component.mjs +4 -4
  84. package/esm2020/lib/components/input/combo/combo-renderer/real/o-combo-renderer-real.component.mjs +4 -4
  85. package/esm2020/lib/components/input/combo/combo-search/o-combo-search.component.mjs +4 -4
  86. package/esm2020/lib/components/input/combo/o-combo.component.mjs +4 -4
  87. package/esm2020/lib/components/input/combo/o-combo.module.mjs +5 -5
  88. package/esm2020/lib/components/input/currency-input/o-currency-input.component.mjs +4 -4
  89. package/esm2020/lib/components/input/currency-input/o-currency-input.module.mjs +5 -5
  90. package/esm2020/lib/components/input/date-input/o-date-input.component.mjs +4 -4
  91. package/esm2020/lib/components/input/date-input/o-date-input.module.mjs +5 -5
  92. package/esm2020/lib/components/input/date-range/o-daterange-input.component.mjs +4 -4
  93. package/esm2020/lib/components/input/date-range/o-daterange-input.module.mjs +5 -5
  94. package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.component.mjs +4 -4
  95. package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.directive.mjs +4 -4
  96. package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.module.mjs +5 -5
  97. package/esm2020/lib/components/input/date-range-legacy/o-daterange-picker.component.mjs +4 -4
  98. package/esm2020/lib/components/input/email-input/o-email-input.component.mjs +4 -4
  99. package/esm2020/lib/components/input/email-input/o-email-input.module.mjs +5 -5
  100. package/esm2020/lib/components/input/file-input/o-file-input.component.mjs +4 -4
  101. package/esm2020/lib/components/input/file-input/o-file-input.module.mjs +5 -5
  102. package/esm2020/lib/components/input/hour-input/index.mjs +4 -0
  103. package/esm2020/lib/components/input/hour-input/o-hour-input.component.mjs +38 -9
  104. package/esm2020/lib/components/input/hour-input/o-hour-input.directive.mjs +46 -0
  105. package/esm2020/lib/components/input/hour-input/o-hour-input.module.mjs +8 -7
  106. package/esm2020/lib/components/input/html-input/o-html-input.component.mjs +4 -4
  107. package/esm2020/lib/components/input/html-input/o-html-input.module.mjs +5 -5
  108. package/esm2020/lib/components/input/index.mjs +2 -3
  109. package/esm2020/lib/components/input/integer-input/o-integer-input.component.mjs +4 -4
  110. package/esm2020/lib/components/input/integer-input/o-integer-input.module.mjs +5 -5
  111. package/esm2020/lib/components/input/listpicker/listpicker-renderer/currency/o-list-picker-renderer-currency.component.mjs +4 -4
  112. package/esm2020/lib/components/input/listpicker/listpicker-renderer/date/o-list-picker-renderer-date.component.mjs +4 -4
  113. package/esm2020/lib/components/input/listpicker/listpicker-renderer/integer/o-list-picker-renderer-integer.component.mjs +4 -4
  114. package/esm2020/lib/components/input/listpicker/listpicker-renderer/o-list-picker-renderer.class.mjs +4 -4
  115. package/esm2020/lib/components/input/listpicker/listpicker-renderer/percentage/o-list-picker-renderer-percentage.component.mjs +4 -4
  116. package/esm2020/lib/components/input/listpicker/listpicker-renderer/real/o-list-picker-renderer-real.component.mjs +4 -4
  117. package/esm2020/lib/components/input/listpicker/o-list-picker-dialog.component.mjs +4 -4
  118. package/esm2020/lib/components/input/listpicker/o-list-picker.component.mjs +4 -4
  119. package/esm2020/lib/components/input/listpicker/o-list-picker.module.mjs +5 -5
  120. package/esm2020/lib/components/input/nif-input/o-nif-input.component.mjs +4 -4
  121. package/esm2020/lib/components/input/nif-input/o-nif-input.module.mjs +5 -5
  122. package/esm2020/lib/components/input/o-boolean-form-data-component.class.mjs +4 -4
  123. package/esm2020/lib/components/input/o-form-service-component.class.mjs +4 -4
  124. package/esm2020/lib/components/input/password-input/o-password-input.component.mjs +4 -4
  125. package/esm2020/lib/components/input/password-input/o-password-input.module.mjs +5 -5
  126. package/esm2020/lib/components/input/percent-input/o-percent-input.component.mjs +4 -4
  127. package/esm2020/lib/components/input/percent-input/o-percent-input.module.mjs +5 -5
  128. package/esm2020/lib/components/input/phone-input/data/country-code.mjs +4 -4
  129. package/esm2020/lib/components/input/phone-input/o-phone-input.component.mjs +4 -4
  130. package/esm2020/lib/components/input/phone-input/o-phone-input.module.mjs +5 -5
  131. package/esm2020/lib/components/input/radio/o-radio.component.mjs +4 -4
  132. package/esm2020/lib/components/input/radio/o-radio.module.mjs +5 -5
  133. package/esm2020/lib/components/input/real-input/o-real-input.component.mjs +4 -4
  134. package/esm2020/lib/components/input/real-input/o-real-input.module.mjs +5 -5
  135. package/esm2020/lib/components/input/search-input/o-search-input.component.mjs +4 -4
  136. package/esm2020/lib/components/input/search-input/o-search-input.module.mjs +5 -5
  137. package/esm2020/lib/components/input/slide-toggle/o-slide-toggle.component.mjs +4 -4
  138. package/esm2020/lib/components/input/slide-toggle/o-slide-toggle.module.mjs +5 -5
  139. package/esm2020/lib/components/input/slider/o-slider.component.mjs +4 -4
  140. package/esm2020/lib/components/input/slider/o-slider.module.mjs +5 -5
  141. package/esm2020/lib/components/input/text-input/o-text-input.component.mjs +4 -4
  142. package/esm2020/lib/components/input/text-input/o-text-input.module.mjs +5 -5
  143. package/esm2020/lib/components/input/textarea-input/o-textarea-input.component.mjs +4 -4
  144. package/esm2020/lib/components/input/textarea-input/o-textarea-input.module.mjs +5 -5
  145. package/esm2020/lib/components/input/time-input/o-time-input.component.mjs +4 -4
  146. package/esm2020/lib/components/input/time-input/o-time-input.module.mjs +5 -5
  147. package/esm2020/lib/components/language-selector/o-language-selector.component.mjs +4 -4
  148. package/esm2020/lib/components/language-selector/o-language-selector.module.mjs +5 -5
  149. package/esm2020/lib/components/list/list-item/o-list-item.component.mjs +4 -4
  150. package/esm2020/lib/components/list/list-item/o-list-item.directive.mjs +4 -4
  151. package/esm2020/lib/components/list/o-list.component.mjs +4 -4
  152. package/esm2020/lib/components/list/o-list.module.mjs +5 -5
  153. package/esm2020/lib/components/list/renderers/avatar/o-list-item-avatar.component.mjs +4 -4
  154. package/esm2020/lib/components/list/renderers/card/o-list-item-card.component.mjs +4 -4
  155. package/esm2020/lib/components/list/renderers/card-image/o-list-item-card-image.component.mjs +4 -4
  156. package/esm2020/lib/components/list/renderers/o-list-item-card-renderer.class.mjs +4 -4
  157. package/esm2020/lib/components/list/renderers/o-list-item-text-renderer.class.mjs +4 -4
  158. package/esm2020/lib/components/list/renderers/text/o-list-item-text.component.mjs +4 -4
  159. package/esm2020/lib/components/list/skeleton/o-list-skeleton.component.mjs +4 -4
  160. package/esm2020/lib/components/material/ckeditor/ck-editor.component.mjs +4 -4
  161. package/esm2020/lib/components/material/ckeditor/ck-editor.module.mjs +5 -5
  162. package/esm2020/lib/components/o-data-toolbar/o-data-toolbar.component.mjs +4 -4
  163. package/esm2020/lib/components/o-data-toolbar/o-data-toolbar.module.mjs +5 -5
  164. package/esm2020/lib/components/o-form-data-component.class.mjs +4 -4
  165. package/esm2020/lib/components/o-repeatable-skeleton.component.mjs +4 -4
  166. package/esm2020/lib/components/o-service-base-component.class.mjs +24 -10
  167. package/esm2020/lib/components/o-service-component.class.mjs +7 -7
  168. package/esm2020/lib/components/o-skeleton.component.mjs +4 -4
  169. package/esm2020/lib/components/table/column/calculated/o-table-column-calculated.component.mjs +4 -4
  170. package/esm2020/lib/components/table/column/cell-editor/boolean/o-table-cell-editor-boolean.component.mjs +4 -4
  171. package/esm2020/lib/components/table/column/cell-editor/date/o-table-cell-editor-date.component.mjs +4 -4
  172. package/esm2020/lib/components/table/column/cell-editor/email/o-table-cell-editor-email.component.mjs +4 -4
  173. package/esm2020/lib/components/table/column/cell-editor/integer/o-table-cell-editor-integer.component.mjs +4 -4
  174. package/esm2020/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.mjs +10 -4
  175. package/esm2020/lib/components/table/column/cell-editor/real/o-table-cell-editor-real.component.mjs +4 -4
  176. package/esm2020/lib/components/table/column/cell-editor/text/o-table-cell-editor-text.component.mjs +4 -4
  177. package/esm2020/lib/components/table/column/cell-editor/time/o-table-cell-editor-time.component.mjs +26 -12
  178. package/esm2020/lib/components/table/column/cell-renderer/action/o-table-cell-renderer-action.component.mjs +4 -4
  179. package/esm2020/lib/components/table/column/cell-renderer/boolean/o-table-cell-renderer-boolean.component.mjs +4 -4
  180. package/esm2020/lib/components/table/column/cell-renderer/currency/o-table-cell-renderer-currency.component.mjs +4 -4
  181. package/esm2020/lib/components/table/column/cell-renderer/date/o-table-cell-renderer-date.component.mjs +4 -4
  182. package/esm2020/lib/components/table/column/cell-renderer/image/o-table-cell-renderer-image.component.mjs +4 -4
  183. package/esm2020/lib/components/table/column/cell-renderer/integer/o-table-cell-renderer-integer.component.mjs +4 -4
  184. package/esm2020/lib/components/table/column/cell-renderer/o-base-table-cell-renderer.class.mjs +4 -4
  185. package/esm2020/lib/components/table/column/cell-renderer/percentage/o-table-cell-renderer-percentage.component.mjs +4 -4
  186. package/esm2020/lib/components/table/column/cell-renderer/real/o-table-cell-renderer-real.component.mjs +4 -4
  187. package/esm2020/lib/components/table/column/cell-renderer/service/o-table-cell-renderer-service.component.mjs +4 -4
  188. package/esm2020/lib/components/table/column/cell-renderer/time/o-table-cell-renderer-time.component.mjs +4 -4
  189. package/esm2020/lib/components/table/column/cell-renderer/translate/o-table-cell-renderer-translate.component.mjs +4 -4
  190. package/esm2020/lib/components/table/column/o-table-column.component.mjs +4 -4
  191. package/esm2020/lib/components/table/extensions/contextmenu/o-table-context-menu.component.mjs +20 -14
  192. package/esm2020/lib/components/table/extensions/default-o-table.datasource.mjs +137 -66
  193. package/esm2020/lib/components/table/extensions/dialog/apply-configuration/o-table-apply-configuration-dialog.component.mjs +4 -4
  194. package/esm2020/lib/components/table/extensions/dialog/export/o-table-export-dialog.component.mjs +4 -4
  195. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +42 -65
  196. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.mjs +78 -11
  197. package/esm2020/lib/components/table/extensions/dialog/group-by-columns/o-table-group-by-columns-dialog.component.mjs +4 -4
  198. package/esm2020/lib/components/table/extensions/dialog/o-table-base-dialog.class.mjs +4 -4
  199. package/esm2020/lib/components/table/extensions/dialog/store-configuration/o-table-store-configuration-dialog.component.mjs +4 -4
  200. package/esm2020/lib/components/table/extensions/dialog/visible-columns/o-table-visible-columns-dialog.component.mjs +5 -5
  201. package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.component.mjs +4 -4
  202. package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.service.mjs +4 -4
  203. package/esm2020/lib/components/table/extensions/footer/aggregate/o-table-column-aggregate.component.mjs +6 -6
  204. package/esm2020/lib/components/table/extensions/footer/expanded/o-table-expanded-footer.directive.mjs +11 -14
  205. package/esm2020/lib/components/table/extensions/footer/paginator/o-table-mat-paginator-intl.mjs +4 -4
  206. package/esm2020/lib/components/table/extensions/footer/paginator/o-table-paginator.component.mjs +4 -4
  207. package/esm2020/lib/components/table/extensions/header/table-button/o-table-button.component.mjs +4 -4
  208. package/esm2020/lib/components/table/extensions/header/table-buttons/o-table-buttons.component.mjs +4 -4
  209. package/esm2020/lib/components/table/extensions/header/table-column-resizer/o-table-column-resizer.component.mjs +4 -4
  210. package/esm2020/lib/components/table/extensions/header/table-column-select-all/o-table-column-select-all.directive.mjs +4 -4
  211. package/esm2020/lib/components/table/extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component.mjs +21 -5
  212. package/esm2020/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.mjs +70 -53
  213. package/esm2020/lib/components/table/extensions/header/table-columns-grouping/columns/o-table-columns-grouping-column.component.mjs +4 -4
  214. package/esm2020/lib/components/table/extensions/header/table-columns-grouping/o-table-columns-grouping.component.mjs +4 -4
  215. package/esm2020/lib/components/table/extensions/header/table-header/o-table-header.component.mjs +4 -4
  216. package/esm2020/lib/components/table/extensions/header/table-header-column-filter-icon/o-table-header-column-filter-icon.component.mjs +28 -13
  217. package/esm2020/lib/components/table/extensions/header/table-header-select-all/o-table-header-select-all.component.mjs +4 -4
  218. package/esm2020/lib/components/table/extensions/header/table-insertable-row/o-table-insertable-row.component.mjs +4 -4
  219. package/esm2020/lib/components/table/extensions/header/table-menu/o-table-menu.component.mjs +4 -4
  220. package/esm2020/lib/components/table/extensions/header/table-option/o-table-option.component.mjs +4 -4
  221. package/esm2020/lib/components/table/extensions/header/table-quickfilter/o-table-quickfilter.component.mjs +4 -4
  222. package/esm2020/lib/components/table/extensions/o-table-datasource.service.mjs +4 -4
  223. package/esm2020/lib/components/table/extensions/o-table-strategy.service.mjs +10 -4
  224. package/esm2020/lib/components/table/extensions/pipes/o-table-row-class.pipe.mjs +4 -4
  225. package/esm2020/lib/components/table/extensions/row/o-table-row.directive.mjs +4 -4
  226. package/esm2020/lib/components/table/extensions/row/table-row-expandable/o-table-row-expandable.component.mjs +4 -4
  227. package/esm2020/lib/components/table/extensions/skeleton/o-table-skeleton.component.mjs +19 -19
  228. package/esm2020/lib/components/table/extensions/sort/o-mat-sort-header.mjs +14 -7
  229. package/esm2020/lib/components/table/extensions/sort/o-mat-sort-module.mjs +5 -5
  230. package/esm2020/lib/components/table/extensions/sort/o-mat-sort.mjs +4 -4
  231. package/esm2020/lib/components/table/index.mjs +2 -1
  232. package/esm2020/lib/components/table/o-table-base.class.mjs +1 -1
  233. package/esm2020/lib/components/table/o-table-loading.service.mjs +113 -0
  234. package/esm2020/lib/components/table/o-table.component.mjs +107 -65
  235. package/esm2020/lib/components/table/o-table.module.mjs +12 -8
  236. package/esm2020/lib/components/tree/header/tree-menu/o-tree-menu.component.mjs +4 -4
  237. package/esm2020/lib/components/tree/o-tree-dao.service.mjs +35 -4
  238. package/esm2020/lib/components/tree/o-tree.component.mjs +147 -25
  239. package/esm2020/lib/components/tree/o-tree.datasource.mjs +28 -14
  240. package/esm2020/lib/components/tree/o-tree.module.mjs +5 -5
  241. package/esm2020/lib/components/tree/tree-node/tree-node.component.mjs +5 -23
  242. package/esm2020/lib/components/user-info/o-user-info.component.mjs +4 -4
  243. package/esm2020/lib/components/user-info/o-user-info.module.mjs +5 -5
  244. package/esm2020/lib/components/user-info/user-info-configuration/o-user-info-configuration.directive.mjs +4 -4
  245. package/esm2020/lib/components/user-info/user-info-configuration-item/o-user-info-configuration-item.directive.mjs +4 -4
  246. package/esm2020/lib/config/o-modules.mjs +5 -5
  247. package/esm2020/lib/directives/input-regulate.directive.mjs +4 -4
  248. package/esm2020/lib/directives/keyboard-listener.directive.mjs +4 -4
  249. package/esm2020/lib/directives/locker.directive.mjs +4 -4
  250. package/esm2020/lib/directives/o-file-drag-and-drop.directive.mjs +4 -4
  251. package/esm2020/lib/directives/o-hidden.directive.mjs +4 -4
  252. package/esm2020/lib/directives/o-mat-error.directive.mjs +4 -4
  253. package/esm2020/lib/directives/o-mat-prefix.directive.mjs +4 -4
  254. package/esm2020/lib/directives/o-mat-suffix.directive.mjs +4 -4
  255. package/esm2020/lib/directives/o-tab-group.directive.mjs +4 -4
  256. package/esm2020/lib/i18n/i18n.mjs +13 -4
  257. package/esm2020/lib/interfaces/pagination-data.interface.mjs +2 -0
  258. package/esm2020/lib/layouts/app-layout/app-layout-header/o-app-layout-header.component.mjs +4 -4
  259. package/esm2020/lib/layouts/app-layout/app-layout-sidenav/o-app-layout-sidenav.component.mjs +4 -4
  260. package/esm2020/lib/layouts/app-layout/o-app-layout.component.mjs +4 -4
  261. package/esm2020/lib/layouts/app-layout/o-app-layout.module.mjs +5 -5
  262. package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.component.mjs +4 -4
  263. package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.module.mjs +5 -5
  264. package/esm2020/lib/layouts/form-layout/dialog/o-form-layout-dialog.component.mjs +4 -4
  265. package/esm2020/lib/layouts/form-layout/dialog/options/o-form-layout-dialog-options.directive.mjs +4 -4
  266. package/esm2020/lib/layouts/form-layout/directives/o-form-layout-manager-content.directive.mjs +4 -4
  267. package/esm2020/lib/layouts/form-layout/guards/o-form-layout-can-activate-child.guard.mjs +4 -4
  268. package/esm2020/lib/layouts/form-layout/o-form-layout-manager.component.mjs +4 -4
  269. package/esm2020/lib/layouts/form-layout/o-form-layout-manager.module.mjs +5 -5
  270. package/esm2020/lib/layouts/form-layout/split-pane/o-form-layout-split-pane.component.mjs +4 -4
  271. package/esm2020/lib/layouts/form-layout/split-pane/options/o-form-layout-split-pane-options.directive.mjs +4 -4
  272. package/esm2020/lib/layouts/form-layout/tabgroup/o-form-layout-tabgroup.component.mjs +4 -4
  273. package/esm2020/lib/layouts/form-layout/tabgroup/options/o-form-layout-tabgroup-options.directive.mjs +4 -4
  274. package/esm2020/lib/ontimize-web-ngx.module.mjs +5 -5
  275. package/esm2020/lib/pipes/columns-filter.pipe.mjs +4 -4
  276. package/esm2020/lib/pipes/is-empty-value.pipe.mjs +4 -4
  277. package/esm2020/lib/pipes/o-currency.pipe.mjs +4 -4
  278. package/esm2020/lib/pipes/o-icon.pipe.mjs +4 -4
  279. package/esm2020/lib/pipes/o-integer.pipe.mjs +4 -4
  280. package/esm2020/lib/pipes/o-moment.pipe.mjs +4 -4
  281. package/esm2020/lib/pipes/o-percentage.pipe.mjs +4 -4
  282. package/esm2020/lib/pipes/o-real.pipe.mjs +4 -4
  283. package/esm2020/lib/pipes/o-safe.pipe.mjs +4 -4
  284. package/esm2020/lib/pipes/o-translate.pipe.mjs +8 -8
  285. package/esm2020/lib/pipes/order-by.pipe.mjs +4 -4
  286. package/esm2020/lib/services/app-menu.service.mjs +4 -4
  287. package/esm2020/lib/services/appearance.service.mjs +4 -4
  288. package/esm2020/lib/services/auth-guard.service.mjs +4 -4
  289. package/esm2020/lib/services/auth.service.mjs +4 -4
  290. package/esm2020/lib/services/base-service-response.adapter.mjs +4 -4
  291. package/esm2020/lib/services/base-service.class.mjs +4 -4
  292. package/esm2020/lib/services/currency.service.mjs +4 -4
  293. package/esm2020/lib/services/dialog.service.mjs +4 -4
  294. package/esm2020/lib/services/icon.service.mjs +4 -4
  295. package/esm2020/lib/services/jsonapi/jsonapi-preferences.service.mjs +4 -4
  296. package/esm2020/lib/services/jsonapi/jsonapi-service-response.adapter.mjs +4 -4
  297. package/esm2020/lib/services/jsonapi/jsonapi.service.mjs +4 -4
  298. package/esm2020/lib/services/local-storage.service.mjs +4 -4
  299. package/esm2020/lib/services/login-storage.service.mjs +4 -4
  300. package/esm2020/lib/services/moment.service.mjs +4 -4
  301. package/esm2020/lib/services/navigation.service.mjs +4 -4
  302. package/esm2020/lib/services/number.service.mjs +4 -4
  303. package/esm2020/lib/services/o-auth.service.mjs +4 -4
  304. package/esm2020/lib/services/o-breadcrumb.service.mjs +4 -4
  305. package/esm2020/lib/services/o-error-dialog-manager.service.mjs +4 -4
  306. package/esm2020/lib/services/o-form-layout-manager.service.mjs +4 -4
  307. package/esm2020/lib/services/o-modules-info.service.mjs +4 -4
  308. package/esm2020/lib/services/o-user-info.service.mjs +4 -4
  309. package/esm2020/lib/services/ontimize/o-preference-response.adapter.mjs +4 -4
  310. package/esm2020/lib/services/ontimize/ontimize-base-service.class.mjs +4 -4
  311. package/esm2020/lib/services/ontimize/ontimize-ee.service.mjs +4 -4
  312. package/esm2020/lib/services/ontimize/ontimize-export-3xx.service.mjs +4 -4
  313. package/esm2020/lib/services/ontimize/ontimize-export.service.mjs +4 -4
  314. package/esm2020/lib/services/ontimize/ontimize-file.service.mjs +4 -4
  315. package/esm2020/lib/services/ontimize/ontimize-preferences.service.mjs +4 -4
  316. package/esm2020/lib/services/ontimize/ontimize-service-response.adapter.mjs +4 -4
  317. package/esm2020/lib/services/ontimize/ontimize.service.mjs +4 -4
  318. package/esm2020/lib/services/ontimize-export-data-base-provider.service.mjs +4 -4
  319. package/esm2020/lib/services/ontimize-export-data-provider-3x.service.mjs +4 -4
  320. package/esm2020/lib/services/ontimize-export-data-provider.service.mjs +4 -4
  321. package/esm2020/lib/services/ontimize-icon-registry.service.mjs +4 -4
  322. package/esm2020/lib/services/pagination-context.service.mjs +4 -4
  323. package/esm2020/lib/services/parser/o-service-response.parser.mjs +4 -4
  324. package/esm2020/lib/services/permissions/o-permissions.module.mjs +5 -5
  325. package/esm2020/lib/services/permissions/ontimize-ee-permissions.service.mjs +4 -4
  326. package/esm2020/lib/services/permissions/ontimize-permissions.service.mjs +4 -4
  327. package/esm2020/lib/services/permissions/permissions-can-activate.guard.mjs +4 -4
  328. package/esm2020/lib/services/permissions/permissions.service.mjs +4 -4
  329. package/esm2020/lib/services/remote-config.service.mjs +5 -5
  330. package/esm2020/lib/services/request-adapter/jsonapi-request-arguments.adapter.mjs +4 -4
  331. package/esm2020/lib/services/request-adapter/ontimize-request-arguments.adapter.mjs +4 -4
  332. package/esm2020/lib/services/share-can-activate-child.service.mjs +4 -4
  333. package/esm2020/lib/services/snackbar.service.mjs +4 -4
  334. package/esm2020/lib/services/state/index.mjs +3 -1
  335. package/esm2020/lib/services/state/o-app-menu-component-state.service.mjs +4 -4
  336. package/esm2020/lib/services/state/o-component-state.service.mjs +10 -10
  337. package/esm2020/lib/services/state/o-filter-builder-component-state.service.mjs +4 -4
  338. package/esm2020/lib/services/state/o-form-layout-manager-component-state.service.mjs +4 -4
  339. package/esm2020/lib/services/state/o-grid-component-state.service.mjs +4 -4
  340. package/esm2020/lib/services/state/o-list-component-state.service.mjs +4 -4
  341. package/esm2020/lib/services/state/o-table-component-state.class.mjs +1 -1
  342. package/esm2020/lib/services/state/o-table-component-state.service.mjs +4 -4
  343. package/esm2020/lib/services/state/o-tree-component-state.class.mjs +1 -1
  344. package/esm2020/lib/services/state/o-tree-component-state.service.mjs +57 -17
  345. package/esm2020/lib/services/translate/o-translate.parser.mjs +4 -4
  346. package/esm2020/lib/services/translate/o-translate.service.mjs +4 -4
  347. package/esm2020/lib/shared/components/dialog/o-dialog-internal.component.mjs +4 -4
  348. package/esm2020/lib/shared/components/dialog/o-dialog.component.mjs +4 -4
  349. package/esm2020/lib/shared/components/error403/o-error-403.component.mjs +4 -4
  350. package/esm2020/lib/shared/components/filter/load-filter/o-load-filter-dialog.component.mjs +4 -4
  351. package/esm2020/lib/shared/components/filter/store-filter/o-store-filter-dialog.component.mjs +4 -4
  352. package/esm2020/lib/shared/components/snackbar/o-snackbar-base.class.mjs +4 -4
  353. package/esm2020/lib/shared/components/snackbar/o-snackbar.component.mjs +4 -4
  354. package/esm2020/lib/shared/components/validation/o-error.component.mjs +4 -4
  355. package/esm2020/lib/shared/components/validation/o-validator.component.mjs +4 -4
  356. package/esm2020/lib/shared/material/custom.material.module.mjs +5 -5
  357. package/esm2020/lib/shared/material/date/ontimize-moment-date-adapter.mjs +4 -4
  358. package/esm2020/lib/shared/shared.module.mjs +5 -5
  359. package/esm2020/lib/types/aggregate-function.type.mjs +1 -1
  360. package/esm2020/lib/types/table/o-table-global-config.type.mjs +1 -1
  361. package/esm2020/lib/types/table/o-table-initialization-options.type.mjs +1 -1
  362. package/esm2020/lib/types/tree-flat-node.type.mjs +1 -1
  363. package/fesm2015/ontimize-web-ngx.mjs +2150 -1464
  364. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  365. package/fesm2020/ontimize-web-ngx.mjs +2121 -1459
  366. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  367. package/lib/components/dual-list-selector/o-dual-list-selector.component.d.ts +1 -1
  368. package/lib/components/input/hour-input/index.d.ts +3 -0
  369. package/lib/components/input/hour-input/o-hour-input.component.d.ts +6 -2
  370. package/lib/components/input/hour-input/o-hour-input.directive.d.ts +8 -0
  371. package/lib/components/input/hour-input/o-hour-input.module.d.ts +5 -4
  372. package/lib/components/input/index.d.ts +1 -2
  373. package/lib/components/o-service-base-component.class.d.ts +6 -1
  374. package/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.d.ts +5 -3
  375. package/lib/components/table/column/cell-editor/time/o-table-cell-editor-time.component.d.ts +2 -2
  376. package/lib/components/table/extensions/default-o-table.datasource.d.ts +6 -1
  377. package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.d.ts +10 -3
  378. package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.d.ts +10 -3
  379. package/lib/components/table/extensions/dialog/group-by-columns/o-table-group-by-columns-dialog.component.d.ts +1 -1
  380. package/lib/components/table/extensions/footer/aggregate/o-table-column-aggregate.component.d.ts +1 -1
  381. package/lib/components/table/extensions/footer/expanded/o-table-expanded-footer.directive.d.ts +1 -2
  382. package/lib/components/table/extensions/header/o-table-header-components.d.ts +2 -2
  383. package/lib/components/table/extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component.d.ts +19 -2
  384. package/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.d.ts +10 -9
  385. package/lib/components/table/extensions/header/table-header-column-filter-icon/o-table-header-column-filter-icon.component.d.ts +7 -1
  386. package/lib/components/table/extensions/o-table-strategy.service.d.ts +2 -1
  387. package/lib/components/table/extensions/skeleton/o-table-skeleton.component.d.ts +1 -0
  388. package/lib/components/table/extensions/sort/o-mat-sort-header.d.ts +5 -3
  389. package/lib/components/table/index.d.ts +1 -0
  390. package/lib/components/table/o-table-base.class.d.ts +15 -4
  391. package/lib/components/table/o-table-loading.service.d.ts +28 -0
  392. package/lib/components/table/o-table.component.d.ts +7 -3
  393. package/lib/components/table/o-table.module.d.ts +2 -1
  394. package/lib/components/tree/o-tree-dao.service.d.ts +4 -2
  395. package/lib/components/tree/o-tree.component.d.ts +21 -2
  396. package/lib/components/tree/o-tree.datasource.d.ts +3 -0
  397. package/lib/components/tree/tree-node/tree-node.component.d.ts +0 -4
  398. package/lib/i18n/i18n.d.ts +9 -0
  399. package/lib/interfaces/pagination-data.interface.d.ts +6 -0
  400. package/lib/services/state/index.d.ts +2 -0
  401. package/lib/services/state/o-table-component-state.class.d.ts +1 -1
  402. package/lib/services/state/o-tree-component-state.class.d.ts +3 -0
  403. package/lib/services/state/o-tree-component-state.service.d.ts +4 -1
  404. package/lib/types/aggregate-function.type.d.ts +2 -1
  405. package/lib/types/table/o-table-global-config.type.d.ts +4 -0
  406. package/lib/types/table/o-table-initialization-options.type.d.ts +4 -0
  407. package/lib/types/tree-flat-node.type.d.ts +5 -1
  408. package/package.json +2 -2
@@ -215,13 +215,13 @@ export class OTableColumnResizerComponent {
215
215
  this.maxWidth = maxWidth;
216
216
  }
217
217
  }
218
- OTableColumnResizerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableColumnResizerComponent, deps: [{ token: forwardRef(() => OTableBase) }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
219
- OTableColumnResizerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OTableColumnResizerComponent, selector: "o-table-column-resizer", inputs: { column: "column" }, host: { listeners: { "mousedown": "onMousedown($event)", "touchstart": "onMousedown($event)", "document:mouseup": "onMouseup()", "document:touchend": "onMouseup()" }, properties: { "class.o-table-column-resizer": "true", "class.disabled": "isDisabled" } }, ngImport: i0, template: "<span class=\"resizer\" (click)=\"onClick($event)\"></span>", styles: [".o-table-column-resizer{display:inline-block;width:13px}.o-table-column-resizer:not(.disabled){cursor:col-resize}.o-table-column-resizer span{height:100%;width:1px;display:block;margin-left:auto;margin-right:auto}.o-table-column-resizer.disabled{cursor:default}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
218
+ OTableColumnResizerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableColumnResizerComponent, deps: [{ token: forwardRef(() => OTableBase) }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
219
+ OTableColumnResizerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OTableColumnResizerComponent, selector: "o-table-column-resizer", inputs: { column: "column" }, host: { listeners: { "mousedown": "onMousedown($event)", "touchstart": "onMousedown($event)", "document:mouseup": "onMouseup()", "document:touchend": "onMouseup()" }, properties: { "class.o-table-column-resizer": "true", "class.disabled": "isDisabled" } }, ngImport: i0, template: "<span class=\"resizer\" (click)=\"onClick($event)\"></span>", styles: [".o-table-column-resizer{display:inline-block;width:13px}.o-table-column-resizer:not(.disabled){cursor:col-resize}.o-table-column-resizer span{height:100%;width:1px;display:block;margin-left:auto;margin-right:auto}.o-table-column-resizer.disabled{cursor:default}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
220
220
  __decorate([
221
221
  BooleanInputConverter(),
222
222
  __metadata("design:type", Boolean)
223
223
  ], OTableColumnResizerComponent.prototype, "disabled", void 0);
224
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableColumnResizerComponent, decorators: [{
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableColumnResizerComponent, decorators: [{
225
225
  type: Component,
226
226
  args: [{ selector: 'o-table-column-resizer', inputs: DEFAULT_INPUTS_O_TABLE_COLUMN_RESIZER, outputs: DEFAULT_OUTPUTS_O_TABLE_COLUMN_RESIZER, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
227
227
  '[class.o-table-column-resizer]': 'true',
@@ -243,4 +243,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
243
243
  type: HostListener,
244
244
  args: ['document:touchend']
245
245
  }] } });
246
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jb2x1bW4tcmVzaXplci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL2hlYWRlci90YWJsZS1jb2x1bW4tcmVzaXplci9vLXRhYmxlLWNvbHVtbi1yZXNpemVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2V4dGVuc2lvbnMvaGVhZGVyL3RhYmxlLWNvbHVtbi1yZXNpemVyL28tdGFibGUtY29sdW1uLXJlc2l6ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEVBR04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFFekQsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUc7SUFDbkQsUUFBUTtDQUNULENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxFQUdyRCxDQUFDO0FBZUYsTUFBTSxPQUFPLDRCQUE0QjtJQXlCdkMsWUFDK0MsS0FBaUIsRUFDcEQsS0FBaUIsRUFDakIsTUFBYyxFQUNkLFFBQW1CO1FBSGdCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDcEQsVUFBSyxHQUFMLEtBQUssQ0FBWTtR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QVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM1QixRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDN0M7YUFBTTtZQUNMLFFBQVEsR0FBRyxZQUFZLENBQUM7U0FDekI7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDOzt5SEFqUFUsNEJBQTRCLGtCQTBCN0IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQzs2R0ExQjNCLDRCQUE0Qiw2VkN6Q3pDLDZEQUF1RDtBRDRDckQ7SUFBQyxxQkFBcUIsRUFBRTs7OERBQ0U7MkZBSmYsNEJBQTRCO2tCQWJ4QyxTQUFTOytCQUNFLHdCQUF3QixVQUMxQixxQ0FBcUMsV0FDcEMsc0NBQXNDLG1CQUc5Qix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLGdDQUFnQyxFQUFFLE1BQU07d0JBQ3hDLGtCQUFrQixFQUFFLFlBQVk7cUJBQ2pDOzswQkE0QkUsTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDO2tIQXRCdEMsUUFBUSxNQW9EUixXQUFXO3NCQUZWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDcEMsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBU3RDLFNBQVM7c0JBRlIsWUFBWTt1QkFBQyxrQkFBa0I7O3NCQUMvQixZQUFZO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCb29sZWFuSW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kZWNvcmF0b3JzL2lucHV0LWNvbnZlcnRlcic7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbC91dGlsJztcbmltcG9ydCB0eXBlIHsgT0NvbHVtbiB9IGZyb20gJy4uLy4uLy4uL2NvbHVtbi9vLWNvbHVtbi5jbGFzcyc7XG5pbXBvcnQgeyBPVGFibGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vby10YWJsZS1iYXNlLmNsYXNzJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5QVVRTX09fVEFCTEVfQ09MVU1OX1JFU0laRVIgPSBbXG4gICdjb2x1bW4nXG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9PVVRQVVRTX09fVEFCTEVfQ09MVU1OX1JFU0laRVIgPSBbXG4gIC8vICdyZXNpemluZycsXG4gIC8vICdyZXNpemVkJ1xuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby10YWJsZS1jb2x1bW4tcmVzaXplcicsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19UQUJMRV9DT0xVTU5fUkVTSVpFUixcbiAgb3V0cHV0czogREVGQVVMVF9PVVRQVVRTX09fVEFCTEVfQ09MVU1OX1JFU0laRVIsXG4gIHRlbXBsYXRlVXJsOiAnLi9vLXRhYmxlLWNvbHVtbi1yZXNpemVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vby10YWJsZS1jb2x1bW4tcmVzaXplci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Muby10YWJsZS1jb2x1bW4tcmVzaXplcl0nOiAndHJ1ZScsXG4gICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnaXNEaXNhYmxlZCcsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgT1RhYmxlQ29sdW1uUmVzaXplckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBjb2x1bW46IE9Db2x1bW47XG4gIEBCb29sZWFuSW5wdXRDb252ZXJ0ZXIoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIHJlc2l6aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAvLyByZXNpemVkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIHByb3RlY3RlZCBzdGFydFdpZHRoOiBhbnk7XG4gIHByb3RlY3RlZCBtaW5XaWR0aDogYW55O1xuICBwcm90ZWN0ZWQgbWF4V2lkdGg6IGFueTtcblxuICBwcm90ZWN0ZWQgc3RhcnRYOiBhbnk7XG5cbiAgcHJvdGVjdGVkIGhlYWRlckVsOiBhbnk7XG5cbiAgcHJvdGVjdGVkIG5leHRPQ29sdW1uczogT0NvbHVtbltdO1xuXG4gIHByb3RlY3RlZCBkcmFnTGlzdGVuZXJzOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xuICBwcm90ZWN0ZWQgaXNSZXNpemluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgYmxvY2tlZE1pbkNvbHMgPSBbXTtcbiAgcHJvdGVjdGVkIGJsb2NrZWRNYXhDb2xzID0gW107XG5cbiAgcHJvdGVjdGVkIGNvbHVtbnNTdGFydFdpZHRoID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IE9UYWJsZUJhc2UpKSBwdWJsaWMgdGFibGU6IE9UYWJsZUJhc2UsXG4gICAgcHJvdGVjdGVkIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHByb3RlY3RlZCBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcm90ZWN0ZWQgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmhlYWRlckVsID0gdGhpcy5nZXRIZWFkZXJFTCgpO1xuICAgICAgaWYgKHRoaXMuaGVhZGVyRWwpIHtcbiAgICAgICAgdGhpcy5uZXh0T0NvbHVtbnMgPSB0aGlzLmdldEZvbGxvd2luZ09Db2x1bW5zKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdG9wRHJhZ2dpbmcoKTtcbiAgfVxuXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uICYmICF0aGlzLmNvbHVtbi5yZXNpemFibGU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZWRvd24oZTogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5zdGFydFJlc2l6ZShlKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJylcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6dG91Y2hlbmQnKVxuICBvbk1vdXNldXAoKSB7XG4gICAgdGhpcy5pc1Jlc2l6aW5nID0gZmFsc2U7XG4gICAgdGhpcy5zdG9wRHJhZ2dpbmcoKTtcbiAgICAvLyB0aGlzLnJlc2l6ZS5lbWl0KHRoaXMuZWxlbWVudC5jbGllbnRXaWR0aCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3RvcERyYWdnaW5nKCkge1xuICAgIHRoaXMuaXNSZXNpemluZyA9IGZhbHNlO1xuICAgIHRoaXMuY29sdW1uc1N0YXJ0V2lkdGggPSB7fTtcbiAgICB3aGlsZSAodGhpcy5kcmFnTGlzdGVuZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZjdCA9IHRoaXMuZHJhZ0xpc3RlbmVycy5wb3AoKTtcbiAgICAgIGlmIChmY3QpIHtcbiAgICAgICAgZmN0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3RhcnRSZXNpemUoc3RhcnRFdmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICBzdGFydEV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgc3RhcnRFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHRoaXMuaGVhZGVyRWwpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IERPTVdpZHRoID0gdGhpcy50YWJsZS5nZXRDbGllbnRXaWR0aENvbHVtbih0aGlzLmNvbHVtbik7XG4gICAgdGhpcy5zdGFydFggPSAoc3RhcnRFdmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpID8gc3RhcnRFdmVudC5zY3JlZW5YIDogc3RhcnRFdmVudC50b3VjaGVzWzBdLnNjcmVlblg7XG4gICAgdGhpcy5zdGFydFdpZHRoID0gRE9NV2lkdGg7XG4gICAgdGhpcy5taW5XaWR0aCA9IHRoaXMuY29sdW1uLmdldE1pbldpZHRoVmFsdWUoKTtcbiAgICB0aGlzLmluaXRpYWxpemVXaWR0aERhdGEoKTtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLmRyYWdMaXN0ZW5lcnMucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnbW91c2V1cCcsICgpID0+IHRoaXMuc3RvcERyYWdnaW5nKCkpKTtcbiAgICAgIHRoaXMuZHJhZ0xpc3RlbmVycy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICd0b3VjaGVuZCcsICgpID0+IHRoaXMuc3RvcERyYWdnaW5nKCkpKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG1vdmVFdmVudCA9IChzdGFydEV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudCkgPyAnbW91c2Vtb3ZlJyA6ICd0b3VjaG1vdmUnO1xuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuZHJhZ0xpc3RlbmVycy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsIG1vdmVFdmVudCwgKGU6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB0aGlzLnJlc2l6ZUV2ZW50KGUpKSk7XG4gICAgfSk7XG4gICAgdGhpcy5pc1Jlc2l6aW5nID0gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNpemVFdmVudChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNSZXNpemluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBtb3ZlbWVudFggPSAoZXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50KSA/IChldmVudC5zY3JlZW5YIC0gdGhpcy5zdGFydFgpIDogKGV2ZW50LnRvdWNoZXNbMF0uc2NyZWVuWCAtIHRoaXMuc3RhcnRYKTtcbiAgICBpZiAobW92ZW1lbnRYID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5ld0NvbHVtbldpZHRoID0gdGhpcy5zdGFydFdpZHRoICsgbW92ZW1lbnRYO1xuXG4gICAgY29uc3QgbGVzc1RoYW5NaW4gPSBuZXdDb2x1bW5XaWR0aCA8IHRoaXMubWluV2lkdGg7XG4gICAgY29uc3QgbW9yZVRoYW5NYXggPSBuZXdDb2x1bW5XaWR0aCA+IHRoaXMubWF4V2lkdGg7XG4gICAgaWYgKGxlc3NUaGFuTWluIHx8IG1vcmVUaGFuTWF4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy50YWJsZS5ob3Jpem9udGFsU2Nyb2xsKSB7XG4gICAgICB0aGlzLmNhbGN1bGF0ZU5ld0NvbHVtbnNXaWR0aChtb3ZlbWVudFgsIG5ld0NvbHVtbldpZHRoKTtcbiAgICAgIHRoaXMudXBkYXRlQmxvY2tlZENvbHMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2x1bW4uc2V0V2lkdGgobmV3Q29sdW1uV2lkdGgpO1xuICAgIH1cbiAgICB0aGlzLnRhYmxlLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRIZWFkZXJFTCgpOiBOb2RlIHtcbiAgICBsZXQgZWxlbWVudDtcbiAgICBsZXQgY3VycmVudEVsOiBOb2RlID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgd2hpbGUgKCFlbGVtZW50ICYmIGN1cnJlbnRFbCkge1xuICAgICAgaWYgKGN1cnJlbnRFbC5ub2RlTmFtZSA9PT0gJ1RIJykge1xuICAgICAgICBlbGVtZW50ID0gY3VycmVudEVsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY3VycmVudEVsID0gY3VycmVudEVsLnBhcmVudEVsZW1lbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjdXJyZW50RWw7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Rm9sbG93aW5nT0NvbHVtbnMoKTogT0NvbHVtbltdIHtcbiAgICBjb25zdCByZXN1bHQ6IE9Db2x1bW5bXSA9IFtdO1xuICAgIGxldCBuZXh0VGg6IGFueSA9IHRoaXMuaGVhZGVyRWwubmV4dFNpYmxpbmc7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgd2hpbGUgKG5leHRUaCkge1xuICAgICAgY29uc3Qgb0NvbDogT0NvbHVtbiA9IHNlbGYudGFibGUuZ2V0T0NvbHVtbkZyb21UaChuZXh0VGgpO1xuICAgICAgaWYgKFV0aWwuaXNEZWZpbmVkKG9Db2wpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKG9Db2wpO1xuICAgICAgfVxuICAgICAgbmV4dFRoID0gbmV4dFRoLm5leHRTaWJsaW5nO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUJsb2NrZWRDb2xzKCkge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHRoaXMuYmxvY2tlZE1pbkNvbHMgPSBbXTtcbiAgICB0aGlzLmJsb2NrZWRNYXhDb2xzID0gW107XG4gICAgY29uc3QgY29sdW1ucyA9IFt0aGlzLmNvbHVtbiwgLi4udGhpcy5uZXh0T0NvbHVtbnNdO1xuICAgIGNvbHVtbnMuZm9yRWFjaChvQ29sID0+IHtcbiAgICAgIGNvbnN0IERPTVdpZHRoID0gdGhpcy50YWJsZS5nZXRDbGllbnRXaWR0aENvbHVtbihvQ29sKTtcbiAgICAgIGlmIChET01XaWR0aCA8PSBvQ29sLmdldE1pbldpZHRoVmFsdWUoKSkge1xuICAgICAgICBzZWxmLmJsb2NrZWRNaW5Db2xzLnB1c2gob0NvbC5hdHRyKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1heFcgPSBvQ29sLmdldE1heFdpZHRoVmFsdWUoKTtcbiAgICAgIGlmIChVdGlsLmlzRGVmaW5lZChtYXhXKSAmJiBET01XaWR0aCA+PSBtYXhXKSB7XG4gICAgICAgIHNlbGYuYmxvY2tlZE1heENvbHMucHVzaChvQ29sLmF0dHIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNhbGN1bGF0ZU5ld0NvbHVtbnNXaWR0aChtb3ZlbWVudFg6IG51bWJlciwgbmV3Q29sdW1uV2lkdGg6IG51bWJlcikge1xuICAgIGNvbnN0IHBvc2l0aXZlID0gKG1vdmVtZW50WCA+IDApO1xuICAgIGlmIChwb3NpdGl2ZSkge1xuICAgICAgdGhpcy5jYWxjdWxhdGVVc2luZ05leHRDb2x1bW5zUmVzdHJpY3Rpb25zKG1vdmVtZW50WCwgbmV3Q29sdW1uV2lkdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNhbGN1bGF0ZVVzaW5nT3duQ29sdW1uUmVzdHJpY3Rpb24obW92ZW1lbnRYLCBuZXdDb2x1bW5XaWR0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNhbGN1bGF0ZVVzaW5nTmV4dENvbHVtbnNSZXN0cmljdGlvbnMobW92ZW1lbnRYOiBudW1iZXIsIG5ld0NvbHVtbldpZHRoOiBudW1iZXIpIHtcbiAgICBjb25zdCBhdmFpbGFibGVDb2xzID0gdGhpcy5uZXh0T0NvbHVtbnMubGVuZ3RoIC0gdGhpcy5ibG9ja2VkTWluQ29scy5sZW5ndGg7XG4gICAgaWYgKGF2YWlsYWJsZUNvbHMgPD0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB3aWR0aFJhdGlvID0gbW92ZW1lbnRYIC8gYXZhaWxhYmxlQ29scztcbiAgICBjb25zdCBjb2xzID0gdGhpcy5uZXh0T0NvbHVtbnMuZmlsdGVyKChvQ29sOiBPQ29sdW1uKSA9PiB0aGlzLmJsb2NrZWRNaW5Db2xzLmluZGV4T2Yob0NvbC5hdHRyKSA9PT0gLTEpO1xuICAgIGNvbHMuZm9yRWFjaChvQ29sID0+IHtcbiAgICAgIGxldCBuZXdXaWR0aCA9ICh0aGlzLmNvbHVtbnNTdGFydFdpZHRoW29Db2wuYXR0cl0gLSB3aWR0aFJhdGlvKTtcbiAgICAgIGNvbnN0IG1pbldpZHRoID0gb0NvbC5nZXRNaW5XaWR0aFZhbHVlKCk7XG4gICAgICBpZiAobmV3V2lkdGggPD0gbWluV2lkdGgpIHtcbiAgICAgICAgbmV3V2lkdGggPSBtaW5XaWR0aDtcbiAgICAgICAgdGhpcy5ibG9ja2VkTWluQ29scy5wdXNoKG9Db2wuYXR0cik7XG4gICAgICB9XG4gICAgICBvQ29sLnNldFdpZHRoKG5ld1dpZHRoKTtcbiAgICB9KTtcbiAgICB0aGlzLmNvbHVtbi5zZXRXaWR0aChuZXdDb2x1bW5XaWR0aCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2FsY3VsYXRlVXNpbmdPd25Db2x1bW5SZXN0cmljdGlvbihtb3ZlbWVudFg6IG51bWJlciwgbmV3Q29sdW1uV2lkdGg6IG51bWJlcikge1xuICAgIGxldCB3aWR0aFJhdGlvID0gTWF0aC5hYnMobW92ZW1lbnRYKSAvIHRoaXMubmV4dE9Db2x1bW5zLmxlbmd0aDtcbiAgICBsZXQgd2lkdGhEaWZmZXJlbmNlID0gMDtcbiAgICBpZiAod2lkdGhSYXRpbyA+IDAgJiYgdGhpcy5ibG9ja2VkTWF4Q29scy5sZW5ndGggPCB0aGlzLm5leHRPQ29sdW1ucy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGNvbHMgPSB0aGlzLm5leHRPQ29sdW1ucy5maWx0ZXIoKG9Db2w6IE9Db2x1bW4pID0+IHRoaXMuYmxvY2tlZE1heENvbHMuaW5kZXhPZihvQ29sLmF0dHIpID09PSAtMSk7XG4gICAgICBjb2xzLmZvckVhY2gob0NvbCA9PiB7XG4gICAgICAgIGxldCBuZXdXaWR0aFZhbHVlID0gKHRoaXMuY29sdW1uc1N0YXJ0V2lkdGhbb0NvbC5hdHRyXSArIHdpZHRoUmF0aW8pO1xuICAgICAgICBjb25zdCBtYXhXaWR0aCA9IG9Db2wuZ2V0TWF4V2lkdGhWYWx1ZSgpO1xuICAgICAgICBpZiAobWF4V2lkdGggJiYgbmV3V2lkdGhWYWx1ZSA+IG1heFdpZHRoKSB7XG4gICAgICAgICAgY29uc3QgZGlmZiA9IG5ld1dpZHRoVmFsdWUgLSBtYXhXaWR0aDtcbiAgICAgICAgICBuZXdXaWR0aFZhbHVlID0gbWF4V2lkdGg7XG4gICAgICAgICAgdGhpcy5ibG9ja2VkTWF4Q29scy5wdXNoKG9Db2wuYXR0cik7XG4gICAgICAgICAgY29uc3Qgbm90QmxvY2tlZCA9IHRoaXMubmV4dE9Db2x1bW5zLmxlbmd0aCAtIHRoaXMuYmxvY2tlZE1heENvbHMubGVuZ3RoO1xuICAgICAgICAgIHdpZHRoUmF0aW8gKz0gbm90QmxvY2tlZCA+IDAgPyBNYXRoLmZsb29yKGRpZmYgLyBub3RCbG9ja2VkKSA6IDA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgRE9NV2lkdGggPSB0aGlzLnRhYmxlLmdldENsaWVudFdpZHRoQ29sdW1uKG9Db2wpO1xuICAgICAgICB3aWR0aERpZmZlcmVuY2UgKz0gbmV3V2lkdGhWYWx1ZSAtIERPTVdpZHRoO1xuICAgICAgICBvQ29sLnNldFdpZHRoKG5ld1dpZHRoVmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IG5ld1dpZHRoID0gTWF0aC5taW4odGhpcy5zdGFydFdpZHRoIC0gd2lkdGhEaWZmZXJlbmNlLCBuZXdDb2x1bW5XaWR0aCk7XG4gICAgdGhpcy5jb2x1bW4uc2V0V2lkdGgobmV3V2lkdGgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGluaXRpYWxpemVXaWR0aERhdGEoKSB7XG4gICAgbGV0IG1heFdpZHRoID0gdGhpcy5jb2x1bW4uZ2V0TWF4V2lkdGhWYWx1ZSgpO1xuICAgIGxldCBuZXh0Q29sTWluV2lkdGhBY3VtID0gMDtcbiAgICBsZXQgbmV4dENvbFdpZHRoQWN1bSA9IDA7XG4gICAgdGhpcy5uZXh0T0NvbHVtbnMuZm9yRWFjaCgoY29sOiBPQ29sdW1uKSA9PiB7XG4gICAgICBuZXh0Q29sTWluV2lkdGhBY3VtICs9IGNvbC5nZXRNaW5XaWR0aFZhbHVlKCk7XG4gICAgICBjb25zdCBET01XaWR0aCA9IHRoaXMudGFibGUuZ2V0Q2xpZW50V2lkdGhDb2x1bW4oY29sKTtcbiAgICAgIG5leHRDb2xXaWR0aEFjdW0gKz0gRE9NV2lkdGg7XG4gICAgICB0aGlzLmNvbHVtbnNTdGFydFdpZHRoW2NvbC5hdHRyXSA9IERPTVdpZHRoO1xuICAgIH0pO1xuICAgIGNvbnN0IGNhbGNNYXhXaWR0aCA9IHRoaXMuaGVhZGVyRWwuY2xpZW50V2lkdGggKyAobmV4dENvbFdpZHRoQWN1bSAtIG5leHRDb2xNaW5XaWR0aEFjdW0pO1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZChtYXhXaWR0aCkpIHtcbiAgICAgIG1heFdpZHRoID0gTWF0aC5taW4obWF4V2lkdGgsIGNhbGNNYXhXaWR0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1heFdpZHRoID0gY2FsY01heFdpZHRoO1xuICAgIH1cbiAgICB0aGlzLm1heFdpZHRoID0gbWF4V2lkdGg7XG4gIH1cblxufVxuIiwiPHNwYW4gY2xhc3M9XCJyZXNpemVyXCIgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPjwvc3Bhbj4iXX0=
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jb2x1bW4tcmVzaXplci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL2hlYWRlci90YWJsZS1jb2x1bW4tcmVzaXplci9vLXRhYmxlLWNvbHVtbi1yZXNpemVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2V4dGVuc2lvbnMvaGVhZGVyL3RhYmxlLWNvbHVtbi1yZXNpemVyL28tdGFibGUtY29sdW1uLXJlc2l6ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEVBR04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFFekQsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUc7SUFDbkQsUUFBUTtDQUNULENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxFQUdyRCxDQUFDO0FBZUYsTUFBTSxPQUFPLDRCQUE0QjtJQXlCdkMsWUFDK0MsS0FBaUIsRUFDcEQsS0FBaUIsRUFDakIsTUFBYyxFQUNkLFFBQW1CO1FBSGdCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDcEQsVUFBSyxHQUFMLEtBQUssQ0FBWTtR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QVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM1QixRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDN0M7YUFBTTtZQUNMLFFBQVEsR0FBRyxZQUFZLENBQUM7U0FDekI7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDOzswSEFqUFUsNEJBQTRCLGtCQTBCN0IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQzs4R0ExQjNCLDRCQUE0Qiw2VkN6Q3pDLDZEQUF1RDtBRDRDckQ7SUFBQyxxQkFBcUIsRUFBRTs7OERBQ0U7NEZBSmYsNEJBQTRCO2tCQWJ4QyxTQUFTOytCQUNFLHdCQUF3QixVQUMxQixxQ0FBcUMsV0FDcEMsc0NBQXNDLG1CQUc5Qix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLGdDQUFnQyxFQUFFLE1BQU07d0JBQ3hDLGtCQUFrQixFQUFFLFlBQVk7cUJBQ2pDOzswQkE0QkUsTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDO2tIQXRCdEMsUUFBUSxNQW9EUixXQUFXO3NCQUZWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDcEMsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBU3RDLFNBQVM7c0JBRlIsWUFBWTt1QkFBQyxrQkFBa0I7O3NCQUMvQixZQUFZO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCb29sZWFuSW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kZWNvcmF0b3JzL2lucHV0LWNvbnZlcnRlcic7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbC91dGlsJztcbmltcG9ydCB0eXBlIHsgT0NvbHVtbiB9IGZyb20gJy4uLy4uLy4uL2NvbHVtbi9vLWNvbHVtbi5jbGFzcyc7XG5pbXBvcnQgeyBPVGFibGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vby10YWJsZS1iYXNlLmNsYXNzJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5QVVRTX09fVEFCTEVfQ09MVU1OX1JFU0laRVIgPSBbXG4gICdjb2x1bW4nXG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9PVVRQVVRTX09fVEFCTEVfQ09MVU1OX1JFU0laRVIgPSBbXG4gIC8vICdyZXNpemluZycsXG4gIC8vICdyZXNpemVkJ1xuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby10YWJsZS1jb2x1bW4tcmVzaXplcicsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19UQUJMRV9DT0xVTU5fUkVTSVpFUixcbiAgb3V0cHV0czogREVGQVVMVF9PVVRQVVRTX09fVEFCTEVfQ09MVU1OX1JFU0laRVIsXG4gIHRlbXBsYXRlVXJsOiAnLi9vLXRhYmxlLWNvbHVtbi1yZXNpemVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vby10YWJsZS1jb2x1bW4tcmVzaXplci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Muby10YWJsZS1jb2x1bW4tcmVzaXplcl0nOiAndHJ1ZScsXG4gICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnaXNEaXNhYmxlZCcsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgT1RhYmxlQ29sdW1uUmVzaXplckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBjb2x1bW46IE9Db2x1bW47XG4gIEBCb29sZWFuSW5wdXRDb252ZXJ0ZXIoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIHJlc2l6aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAvLyByZXNpemVkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIHByb3RlY3RlZCBzdGFydFdpZHRoOiBhbnk7XG4gIHByb3RlY3RlZCBtaW5XaWR0aDogYW55O1xuICBwcm90ZWN0ZWQgbWF4V2lkdGg6IGFueTtcblxuICBwcm90ZWN0ZWQgc3RhcnRYOiBhbnk7XG5cbiAgcHJvdGVjdGVkIGhlYWRlckVsOiBhbnk7XG5cbiAgcHJvdGVjdGVkIG5leHRPQ29sdW1uczogT0NvbHVtbltdO1xuXG4gIHByb3RlY3RlZCBkcmFnTGlzdGVuZXJzOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xuICBwcm90ZWN0ZWQgaXNSZXNpemluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgYmxvY2tlZE1pbkNvbHMgPSBbXTtcbiAgcHJvdGVjdGVkIGJsb2NrZWRNYXhDb2xzID0gW107XG5cbiAgcHJvdGVjdGVkIGNvbHVtbnNTdGFydFdpZHRoID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IE9UYWJsZUJhc2UpKSBwdWJsaWMgdGFibGU6IE9UYWJsZUJhc2UsXG4gICAgcHJvdGVjdGVkIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHByb3RlY3RlZCBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcm90ZWN0ZWQgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmhlYWRlckVsID0gdGhpcy5nZXRIZWFkZXJFTCgpO1xuICAgICAgaWYgKHRoaXMuaGVhZGVyRWwpIHtcbiAgICAgICAgdGhpcy5uZXh0T0NvbHVtbnMgPSB0aGlzLmdldEZvbGxvd2luZ09Db2x1bW5zKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdG9wRHJhZ2dpbmcoKTtcbiAgfVxuXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uICYmICF0aGlzLmNvbHVtbi5yZXNpemFibGU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZWRvd24oZTogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5zdGFydFJlc2l6ZShlKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJylcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6dG91Y2hlbmQnKVxuICBvbk1vdXNldXAoKSB7XG4gICAgdGhpcy5pc1Jlc2l6aW5nID0gZmFsc2U7XG4gICAgdGhpcy5zdG9wRHJhZ2dpbmcoKTtcbiAgICAvLyB0aGlzLnJlc2l6ZS5lbWl0KHRoaXMuZWxlbWVudC5jbGllbnRXaWR0aCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3RvcERyYWdnaW5nKCkge1xuICAgIHRoaXMuaXNSZXNpemluZyA9IGZhbHNlO1xuICAgIHRoaXMuY29sdW1uc1N0YXJ0V2lkdGggPSB7fTtcbiAgICB3aGlsZSAodGhpcy5kcmFnTGlzdGVuZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZjdCA9IHRoaXMuZHJhZ0xpc3RlbmVycy5wb3AoKTtcbiAgICAgIGlmIChmY3QpIHtcbiAgICAgICAgZmN0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3RhcnRSZXNpemUoc3RhcnRFdmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICBzdGFydEV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgc3RhcnRFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHRoaXMuaGVhZGVyRWwpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IERPTVdpZHRoID0gdGhpcy50YWJsZS5nZXRDbGllbnRXaWR0aENvbHVtbih0aGlzLmNvbHVtbik7XG4gICAgdGhpcy5zdGFydFggPSAoc3RhcnRFdmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpID8gc3RhcnRFdmVudC5zY3JlZW5YIDogc3RhcnRFdmVudC50b3VjaGVzWzBdLnNjcmVlblg7XG4gICAgdGhpcy5zdGFydFdpZHRoID0gRE9NV2lkdGg7XG4gICAgdGhpcy5taW5XaWR0aCA9IHRoaXMuY29sdW1uLmdldE1pbldpZHRoVmFsdWUoKTtcbiAgICB0aGlzLmluaXRpYWxpemVXaWR0aERhdGEoKTtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLmRyYWdMaXN0ZW5lcnMucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnbW91c2V1cCcsICgpID0+IHRoaXMuc3RvcERyYWdnaW5nKCkpKTtcbiAgICAgIHRoaXMuZHJhZ0xpc3RlbmVycy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICd0b3VjaGVuZCcsICgpID0+IHRoaXMuc3RvcERyYWdnaW5nKCkpKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG1vdmVFdmVudCA9IChzdGFydEV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudCkgPyAnbW91c2Vtb3ZlJyA6ICd0b3VjaG1vdmUnO1xuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuZHJhZ0xpc3RlbmVycy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsIG1vdmVFdmVudCwgKGU6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB0aGlzLnJlc2l6ZUV2ZW50KGUpKSk7XG4gICAgfSk7XG4gICAgdGhpcy5pc1Jlc2l6aW5nID0gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNpemVFdmVudChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNSZXNpemluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBtb3ZlbWVudFggPSAoZXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50KSA/IChldmVudC5zY3JlZW5YIC0gdGhpcy5zdGFydFgpIDogKGV2ZW50LnRvdWNoZXNbMF0uc2NyZWVuWCAtIHRoaXMuc3RhcnRYKTtcbiAgICBpZiAobW92ZW1lbnRYID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5ld0NvbHVtbldpZHRoID0gdGhpcy5zdGFydFdpZHRoICsgbW92ZW1lbnRYO1xuXG4gICAgY29uc3QgbGVzc1RoYW5NaW4gPSBuZXdDb2x1bW5XaWR0aCA8IHRoaXMubWluV2lkdGg7XG4gICAgY29uc3QgbW9yZVRoYW5NYXggPSBuZXdDb2x1bW5XaWR0aCA+IHRoaXMubWF4V2lkdGg7XG4gICAgaWYgKGxlc3NUaGFuTWluIHx8IG1vcmVUaGFuTWF4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy50YWJsZS5ob3Jpem9udGFsU2Nyb2xsKSB7XG4gICAgICB0aGlzLmNhbGN1bGF0ZU5ld0NvbHVtbnNXaWR0aChtb3ZlbWVudFgsIG5ld0NvbHVtbldpZHRoKTtcbiAgICAgIHRoaXMudXBkYXRlQmxvY2tlZENvbHMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2x1bW4uc2V0V2lkdGgobmV3Q29sdW1uV2lkdGgpO1xuICAgIH1cbiAgICB0aGlzLnRhYmxlLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRIZWFkZXJFTCgpOiBOb2RlIHtcbiAgICBsZXQgZWxlbWVudDtcbiAgICBsZXQgY3VycmVudEVsOiBOb2RlID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgd2hpbGUgKCFlbGVtZW50ICYmIGN1cnJlbnRFbCkge1xuICAgICAgaWYgKGN1cnJlbnRFbC5ub2RlTmFtZSA9PT0gJ1RIJykge1xuICAgICAgICBlbGVtZW50ID0gY3VycmVudEVsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY3VycmVudEVsID0gY3VycmVudEVsLnBhcmVudEVsZW1lbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjdXJyZW50RWw7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Rm9sbG93aW5nT0NvbHVtbnMoKTogT0NvbHVtbltdIHtcbiAgICBjb25zdCByZXN1bHQ6IE9Db2x1bW5bXSA9IFtdO1xuICAgIGxldCBuZXh0VGg6IGFueSA9IHRoaXMuaGVhZGVyRWwubmV4dFNpYmxpbmc7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgd2hpbGUgKG5leHRUaCkge1xuICAgICAgY29uc3Qgb0NvbDogT0NvbHVtbiA9IHNlbGYudGFibGUuZ2V0T0NvbHVtbkZyb21UaChuZXh0VGgpO1xuICAgICAgaWYgKFV0aWwuaXNEZWZpbmVkKG9Db2wpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKG9Db2wpO1xuICAgICAgfVxuICAgICAgbmV4dFRoID0gbmV4dFRoLm5leHRTaWJsaW5nO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUJsb2NrZWRDb2xzKCkge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHRoaXMuYmxvY2tlZE1pbkNvbHMgPSBbXTtcbiAgICB0aGlzLmJsb2NrZWRNYXhDb2xzID0gW107XG4gICAgY29uc3QgY29sdW1ucyA9IFt0aGlzLmNvbHVtbiwgLi4udGhpcy5uZXh0T0NvbHVtbnNdO1xuICAgIGNvbHVtbnMuZm9yRWFjaChvQ29sID0+IHtcbiAgICAgIGNvbnN0IERPTVdpZHRoID0gdGhpcy50YWJsZS5nZXRDbGllbnRXaWR0aENvbHVtbihvQ29sKTtcbiAgICAgIGlmIChET01XaWR0aCA8PSBvQ29sLmdldE1pbldpZHRoVmFsdWUoKSkge1xuICAgICAgICBzZWxmLmJsb2NrZWRNaW5Db2xzLnB1c2gob0NvbC5hdHRyKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1heFcgPSBvQ29sLmdldE1heFdpZHRoVmFsdWUoKTtcbiAgICAgIGlmIChVdGlsLmlzRGVmaW5lZChtYXhXKSAmJiBET01XaWR0aCA+PSBtYXhXKSB7XG4gICAgICAgIHNlbGYuYmxvY2tlZE1heENvbHMucHVzaChvQ29sLmF0dHIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNhbGN1bGF0ZU5ld0NvbHVtbnNXaWR0aChtb3ZlbWVudFg6IG51bWJlciwgbmV3Q29sdW1uV2lkdGg6IG51bWJlcikge1xuICAgIGNvbnN0IHBvc2l0aXZlID0gKG1vdmVtZW50WCA+IDApO1xuICAgIGlmIChwb3NpdGl2ZSkge1xuICAgICAgdGhpcy5jYWxjdWxhdGVVc2luZ05leHRDb2x1bW5zUmVzdHJpY3Rpb25zKG1vdmVtZW50WCwgbmV3Q29sdW1uV2lkdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNhbGN1bGF0ZVVzaW5nT3duQ29sdW1uUmVzdHJpY3Rpb24obW92ZW1lbnRYLCBuZXdDb2x1bW5XaWR0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNhbGN1bGF0ZVVzaW5nTmV4dENvbHVtbnNSZXN0cmljdGlvbnMobW92ZW1lbnRYOiBudW1iZXIsIG5ld0NvbHVtbldpZHRoOiBudW1iZXIpIHtcbiAgICBjb25zdCBhdmFpbGFibGVDb2xzID0gdGhpcy5uZXh0T0NvbHVtbnMubGVuZ3RoIC0gdGhpcy5ibG9ja2VkTWluQ29scy5sZW5ndGg7XG4gICAgaWYgKGF2YWlsYWJsZUNvbHMgPD0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB3aWR0aFJhdGlvID0gbW92ZW1lbnRYIC8gYXZhaWxhYmxlQ29scztcbiAgICBjb25zdCBjb2xzID0gdGhpcy5uZXh0T0NvbHVtbnMuZmlsdGVyKChvQ29sOiBPQ29sdW1uKSA9PiB0aGlzLmJsb2NrZWRNaW5Db2xzLmluZGV4T2Yob0NvbC5hdHRyKSA9PT0gLTEpO1xuICAgIGNvbHMuZm9yRWFjaChvQ29sID0+IHtcbiAgICAgIGxldCBuZXdXaWR0aCA9ICh0aGlzLmNvbHVtbnNTdGFydFdpZHRoW29Db2wuYXR0cl0gLSB3aWR0aFJhdGlvKTtcbiAgICAgIGNvbnN0IG1pbldpZHRoID0gb0NvbC5nZXRNaW5XaWR0aFZhbHVlKCk7XG4gICAgICBpZiAobmV3V2lkdGggPD0gbWluV2lkdGgpIHtcbiAgICAgICAgbmV3V2lkdGggPSBtaW5XaWR0aDtcbiAgICAgICAgdGhpcy5ibG9ja2VkTWluQ29scy5wdXNoKG9Db2wuYXR0cik7XG4gICAgICB9XG4gICAgICBvQ29sLnNldFdpZHRoKG5ld1dpZHRoKTtcbiAgICB9KTtcbiAgICB0aGlzLmNvbHVtbi5zZXRXaWR0aChuZXdDb2x1bW5XaWR0aCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2FsY3VsYXRlVXNpbmdPd25Db2x1bW5SZXN0cmljdGlvbihtb3ZlbWVudFg6IG51bWJlciwgbmV3Q29sdW1uV2lkdGg6IG51bWJlcikge1xuICAgIGxldCB3aWR0aFJhdGlvID0gTWF0aC5hYnMobW92ZW1lbnRYKSAvIHRoaXMubmV4dE9Db2x1bW5zLmxlbmd0aDtcbiAgICBsZXQgd2lkdGhEaWZmZXJlbmNlID0gMDtcbiAgICBpZiAod2lkdGhSYXRpbyA+IDAgJiYgdGhpcy5ibG9ja2VkTWF4Q29scy5sZW5ndGggPCB0aGlzLm5leHRPQ29sdW1ucy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGNvbHMgPSB0aGlzLm5leHRPQ29sdW1ucy5maWx0ZXIoKG9Db2w6IE9Db2x1bW4pID0+IHRoaXMuYmxvY2tlZE1heENvbHMuaW5kZXhPZihvQ29sLmF0dHIpID09PSAtMSk7XG4gICAgICBjb2xzLmZvckVhY2gob0NvbCA9PiB7XG4gICAgICAgIGxldCBuZXdXaWR0aFZhbHVlID0gKHRoaXMuY29sdW1uc1N0YXJ0V2lkdGhbb0NvbC5hdHRyXSArIHdpZHRoUmF0aW8pO1xuICAgICAgICBjb25zdCBtYXhXaWR0aCA9IG9Db2wuZ2V0TWF4V2lkdGhWYWx1ZSgpO1xuICAgICAgICBpZiAobWF4V2lkdGggJiYgbmV3V2lkdGhWYWx1ZSA+IG1heFdpZHRoKSB7XG4gICAgICAgICAgY29uc3QgZGlmZiA9IG5ld1dpZHRoVmFsdWUgLSBtYXhXaWR0aDtcbiAgICAgICAgICBuZXdXaWR0aFZhbHVlID0gbWF4V2lkdGg7XG4gICAgICAgICAgdGhpcy5ibG9ja2VkTWF4Q29scy5wdXNoKG9Db2wuYXR0cik7XG4gICAgICAgICAgY29uc3Qgbm90QmxvY2tlZCA9IHRoaXMubmV4dE9Db2x1bW5zLmxlbmd0aCAtIHRoaXMuYmxvY2tlZE1heENvbHMubGVuZ3RoO1xuICAgICAgICAgIHdpZHRoUmF0aW8gKz0gbm90QmxvY2tlZCA+IDAgPyBNYXRoLmZsb29yKGRpZmYgLyBub3RCbG9ja2VkKSA6IDA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgRE9NV2lkdGggPSB0aGlzLnRhYmxlLmdldENsaWVudFdpZHRoQ29sdW1uKG9Db2wpO1xuICAgICAgICB3aWR0aERpZmZlcmVuY2UgKz0gbmV3V2lkdGhWYWx1ZSAtIERPTVdpZHRoO1xuICAgICAgICBvQ29sLnNldFdpZHRoKG5ld1dpZHRoVmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IG5ld1dpZHRoID0gTWF0aC5taW4odGhpcy5zdGFydFdpZHRoIC0gd2lkdGhEaWZmZXJlbmNlLCBuZXdDb2x1bW5XaWR0aCk7XG4gICAgdGhpcy5jb2x1bW4uc2V0V2lkdGgobmV3V2lkdGgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGluaXRpYWxpemVXaWR0aERhdGEoKSB7XG4gICAgbGV0IG1heFdpZHRoID0gdGhpcy5jb2x1bW4uZ2V0TWF4V2lkdGhWYWx1ZSgpO1xuICAgIGxldCBuZXh0Q29sTWluV2lkdGhBY3VtID0gMDtcbiAgICBsZXQgbmV4dENvbFdpZHRoQWN1bSA9IDA7XG4gICAgdGhpcy5uZXh0T0NvbHVtbnMuZm9yRWFjaCgoY29sOiBPQ29sdW1uKSA9PiB7XG4gICAgICBuZXh0Q29sTWluV2lkdGhBY3VtICs9IGNvbC5nZXRNaW5XaWR0aFZhbHVlKCk7XG4gICAgICBjb25zdCBET01XaWR0aCA9IHRoaXMudGFibGUuZ2V0Q2xpZW50V2lkdGhDb2x1bW4oY29sKTtcbiAgICAgIG5leHRDb2xXaWR0aEFjdW0gKz0gRE9NV2lkdGg7XG4gICAgICB0aGlzLmNvbHVtbnNTdGFydFdpZHRoW2NvbC5hdHRyXSA9IERPTVdpZHRoO1xuICAgIH0pO1xuICAgIGNvbnN0IGNhbGNNYXhXaWR0aCA9IHRoaXMuaGVhZGVyRWwuY2xpZW50V2lkdGggKyAobmV4dENvbFdpZHRoQWN1bSAtIG5leHRDb2xNaW5XaWR0aEFjdW0pO1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZChtYXhXaWR0aCkpIHtcbiAgICAgIG1heFdpZHRoID0gTWF0aC5taW4obWF4V2lkdGgsIGNhbGNNYXhXaWR0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1heFdpZHRoID0gY2FsY01heFdpZHRoO1xuICAgIH1cbiAgICB0aGlzLm1heFdpZHRoID0gbWF4V2lkdGg7XG4gIH1cblxufVxuIiwiPHNwYW4gY2xhc3M9XCJyZXNpemVyXCIgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPjwvc3Bhbj4iXX0=
@@ -15,17 +15,17 @@ export class OTableColumnSelectAllDirective {
15
15
  this.resizable = false;
16
16
  }
17
17
  }
18
- OTableColumnSelectAllDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableColumnSelectAllDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
19
- OTableColumnSelectAllDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: OTableColumnSelectAllDirective, selector: "o-table-column-select-all", inputs: { width: "width", minWidth: ["min-width", "minWidth"], maxWidth: ["max-width", "maxWidth"], title: "title", resizable: "resizable" }, ngImport: i0 });
18
+ OTableColumnSelectAllDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableColumnSelectAllDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
19
+ OTableColumnSelectAllDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: OTableColumnSelectAllDirective, selector: "o-table-column-select-all", inputs: { width: "width", minWidth: ["min-width", "minWidth"], maxWidth: ["max-width", "maxWidth"], title: "title", resizable: "resizable" }, ngImport: i0 });
20
20
  __decorate([
21
21
  BooleanInputConverter(),
22
22
  __metadata("design:type", Boolean)
23
23
  ], OTableColumnSelectAllDirective.prototype, "resizable", void 0);
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableColumnSelectAllDirective, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableColumnSelectAllDirective, decorators: [{
25
25
  type: Directive,
26
26
  args: [{
27
27
  selector: 'o-table-column-select-all',
28
28
  inputs: DEFAULT_INPUTS_O_TABLE_COLUMN_SELECTALL
29
29
  }]
30
30
  }], propDecorators: { resizable: [] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jb2x1bW4tc2VsZWN0LWFsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL2hlYWRlci90YWJsZS1jb2x1bW4tc2VsZWN0LWFsbC9vLXRhYmxlLWNvbHVtbi1zZWxlY3QtYWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7QUFFbEYsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQUc7SUFDckQsT0FBTztJQUVQLHFCQUFxQjtJQUdyQixxQkFBcUI7SUFDckIsT0FBTztJQUNQLFdBQVc7Q0FDWixDQUFBO0FBS0QsTUFBTSxPQUFPLDhCQUE4QjtJQUozQztRQVNTLFVBQUssR0FBVyxNQUFNLENBQUM7UUFFdkIsY0FBUyxHQUFXLEtBQUssQ0FBQztLQUVsQzs7MkhBVFksOEJBQThCOytHQUE5Qiw4QkFBOEI7QUFNekM7SUFBQyxxQkFBcUIsRUFBRTs7aUVBQ1M7MkZBUHRCLDhCQUE4QjtrQkFKMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsdUNBQXVDO2lCQUNoRDs4QkFRUSxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kZWNvcmF0b3JzL2lucHV0LWNvbnZlcnRlcic7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX1RBQkxFX0NPTFVNTl9TRUxFQ1RBTEwgPSBbXG4gICd3aWR0aCcsXG4gIC8vIG9ubHkgaW4gcGl4ZWxzXG4gICdtaW5XaWR0aDogbWluLXdpZHRoJyxcblxuICAvLyBvbmx5IGluIHBpeGVsc1xuICAnbWF4V2lkdGg6IG1heC13aWR0aCcsXG4gICd0aXRsZScsXG4gICdyZXNpemFibGUnXG5dXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdvLXRhYmxlLWNvbHVtbi1zZWxlY3QtYWxsJyxcbiAgaW5wdXRzOiBERUZBVUxUX0lOUFVUU19PX1RBQkxFX0NPTFVNTl9TRUxFQ1RBTExcbn0pXG5leHBvcnQgY2xhc3MgT1RhYmxlQ29sdW1uU2VsZWN0QWxsRGlyZWN0aXZlIHtcblxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcbiAgcHVibGljIG1pbldpZHRoOiBzdHJpbmc7XG4gIHB1YmxpYyBtYXhXaWR0aDogc3RyaW5nO1xuICBwdWJsaWMgd2lkdGg6IHN0cmluZyA9ICcxOHB4JztcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHB1YmxpYyByZXNpemFibGU6Ym9vbGVhbiA9IGZhbHNlO1xuXG59XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jb2x1bW4tc2VsZWN0LWFsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL2hlYWRlci90YWJsZS1jb2x1bW4tc2VsZWN0LWFsbC9vLXRhYmxlLWNvbHVtbi1zZWxlY3QtYWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7QUFFbEYsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQUc7SUFDckQsT0FBTztJQUVQLHFCQUFxQjtJQUdyQixxQkFBcUI7SUFDckIsT0FBTztJQUNQLFdBQVc7Q0FDWixDQUFBO0FBS0QsTUFBTSxPQUFPLDhCQUE4QjtJQUozQztRQVNTLFVBQUssR0FBVyxNQUFNLENBQUM7UUFFdkIsY0FBUyxHQUFXLEtBQUssQ0FBQztLQUVsQzs7NEhBVFksOEJBQThCO2dIQUE5Qiw4QkFBOEI7QUFNekM7SUFBQyxxQkFBcUIsRUFBRTs7aUVBQ1M7NEZBUHRCLDhCQUE4QjtrQkFKMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsdUNBQXVDO2lCQUNoRDs4QkFRUSxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kZWNvcmF0b3JzL2lucHV0LWNvbnZlcnRlcic7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX1RBQkxFX0NPTFVNTl9TRUxFQ1RBTEwgPSBbXG4gICd3aWR0aCcsXG4gIC8vIG9ubHkgaW4gcGl4ZWxzXG4gICdtaW5XaWR0aDogbWluLXdpZHRoJyxcblxuICAvLyBvbmx5IGluIHBpeGVsc1xuICAnbWF4V2lkdGg6IG1heC13aWR0aCcsXG4gICd0aXRsZScsXG4gICdyZXNpemFibGUnXG5dXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdvLXRhYmxlLWNvbHVtbi1zZWxlY3QtYWxsJyxcbiAgaW5wdXRzOiBERUZBVUxUX0lOUFVUU19PX1RBQkxFX0NPTFVNTl9TRUxFQ1RBTExcbn0pXG5leHBvcnQgY2xhc3MgT1RhYmxlQ29sdW1uU2VsZWN0QWxsRGlyZWN0aXZlIHtcblxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcbiAgcHVibGljIG1pbldpZHRoOiBzdHJpbmc7XG4gIHB1YmxpYyBtYXhXaWR0aDogc3RyaW5nO1xuICBwdWJsaWMgd2lkdGg6IHN0cmluZyA9ICcxOHB4JztcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHB1YmxpYyByZXNpemFibGU6Ym9vbGVhbiA9IGZhbHNlO1xuXG59XG4iXX0=
@@ -1,22 +1,38 @@
1
1
  import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { Util } from '../../../../../../util/util';
3
+ import { Codes } from '../../../../../../util/codes';
2
4
  import * as i0 from "@angular/core";
3
5
  export const DEFAULT_INPUTS_O_TABLE_COLUMN_FILTER_COLUMN = [
4
6
  'attr',
5
7
  'sort',
6
8
  'startView:start-view',
7
9
  'queryMethod:query-method',
8
- 'filterValuesInData: filter-values-in-data'
10
+ 'filterValuesInData: filter-values-in-data',
11
+ 'filterLocked:filter-locked',
12
+ 'filterLockedMessage:filter-locked-message',
13
+ 'service',
14
+ 'serviceType:service-type',
15
+ 'entity',
16
+ 'visibleColumns: visible-columns',
17
+ 'separator'
9
18
  ];
10
19
  export class OTableColumnsFilterColumnComponent {
11
20
  constructor() {
12
21
  this.attr = '';
13
22
  this.sort = '';
14
23
  this.startView = 'month';
24
+ this.filterLocked = false;
25
+ this.filterLockedMessage = 'O_TABLE_COLUMN_FILTER_COLUMN.DEFAULT_LOCKED_MESSAGE';
26
+ this.separator = Codes.SPACE_SEPARATOR;
27
+ }
28
+ ngOnInit() {
29
+ this.visibleColsArray = Util.parseArray(this.visibleColumns, true);
30
+ this.filterValuesInData = this.filterValuesInData ?? (this.queryMethod ? 'all-data' : 'current-page');
15
31
  }
16
32
  }
17
- OTableColumnsFilterColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableColumnsFilterColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- OTableColumnsFilterColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OTableColumnsFilterColumnComponent, selector: "o-table-columns-filter-column", inputs: { attr: "attr", sort: "sort", startView: ["start-view", "startView"], queryMethod: ["query-method", "queryMethod"], filterValuesInData: ["filter-values-in-data", "filterValuesInData"] }, ngImport: i0, template: ' ', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableColumnsFilterColumnComponent, decorators: [{
33
+ OTableColumnsFilterColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableColumnsFilterColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
+ OTableColumnsFilterColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OTableColumnsFilterColumnComponent, selector: "o-table-columns-filter-column", inputs: { attr: "attr", sort: "sort", startView: ["start-view", "startView"], queryMethod: ["query-method", "queryMethod"], filterValuesInData: ["filter-values-in-data", "filterValuesInData"], filterLocked: ["filter-locked", "filterLocked"], filterLockedMessage: ["filter-locked-message", "filterLockedMessage"], service: "service", serviceType: ["service-type", "serviceType"], entity: "entity", visibleColumns: ["visible-columns", "visibleColumns"], separator: "separator" }, ngImport: i0, template: ' ', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableColumnsFilterColumnComponent, decorators: [{
20
36
  type: Component,
21
37
  args: [{
22
38
  selector: 'o-table-columns-filter-column',
@@ -25,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
25
41
  inputs: DEFAULT_INPUTS_O_TABLE_COLUMN_FILTER_COLUMN
26
42
  }]
27
43
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jb2x1bW5zLWZpbHRlci1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9oZWFkZXIvdGFibGUtY29sdW1ucy1maWx0ZXIvY29sdW1ucy9vLXRhYmxlLWNvbHVtbnMtZmlsdGVyLWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFXbkUsTUFBTSxDQUFDLE1BQU0sMkNBQTJDLEdBQUc7SUFFekQsTUFBTTtJQUVOLE1BQU07SUFFTixzQkFBc0I7SUFDdEIsMEJBQTBCO0lBRTFCLDJDQUEyQztDQUM1QyxDQUFDO0FBU0YsTUFBTSxPQUFPLGtDQUFrQztJQVAvQztRQVNTLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUF3QixFQUFFLENBQUM7UUFDL0IsY0FBUyxHQUF5QyxPQUFPLENBQUM7S0FJbEU7OytIQVJZLGtDQUFrQzttSEFBbEMsa0NBQWtDLHdRQUxuQyxHQUFHOzJGQUtGLGtDQUFrQztrQkFQOUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsK0JBQStCO29CQUN6QyxRQUFRLEVBQUUsR0FBRztvQkFDYixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsTUFBTSxFQUFFLDJDQUEyQztpQkFDcEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuZXhwb3J0IHR5cGUgT0ZpbHRlckNvbHVtbiA9IHtcbiAgYXR0cjogc3RyaW5nO1xuICBzb3J0OiAnYXNjJyB8ICdkZXNjJyB8ICcnO1xuICBzdGFydFZpZXc6ICdtb250aCcgfCAneWVhcicgfCAnbXVsdGkteWVhcicgfCAnJztcbiAgcXVlcnlNZXRob2Q/OiBzdHJpbmc7XG4gIGZpbHRlclZhbHVlc0luRGF0YT86ICdjdXJyZW50LXBhZ2UnIHwgJ2FsbC1kYXRhJztcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX1RBQkxFX0NPTFVNTl9GSUxURVJfQ09MVU1OID0gW1xuICAvLyBhdHRyIFtzdHJpbmddOiBjb2x1bW4gbmFtZS5cbiAgJ2F0dHInLFxuICAvLyBzb3J0IFthc2N8ZGVzY106IGluaXRpYWwgc29ydGluZywgd2l0aCB0aGUgZm9ybWF0IGNvbHVtbjpbQVNDfERFU0NdLlxuICAnc29ydCcsXG4gIC8vIHN0YXJ0VmlldyBbbW9udGh8eWVhcnxtdWx0aS15ZWFyXTogRGF0ZXBpY2tlciBpbml0aWFsIHZpZXcgaW4gY2FzZSBvZiBkYXRlIGNvbHVtbi5cbiAgJ3N0YXJ0VmlldzpzdGFydC12aWV3JyxcbiAgJ3F1ZXJ5TWV0aG9kOnF1ZXJ5LW1ldGhvZCcsXG4gIC8vZmlsdGVyLXZhbHVlcy1pbi1kYXRhOiAgJ2N1cnJlbnQtcGFnZScgfCAnYWxsLWRhdGEnOiBzZXQgbW9kZSB0byBmaWx0ZXIgYnkuIERlZmF1bHQgJ2N1cnJlbnQtcGFnZSdcbiAgJ2ZpbHRlclZhbHVlc0luRGF0YTogZmlsdGVyLXZhbHVlcy1pbi1kYXRhJ1xuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby10YWJsZS1jb2x1bW5zLWZpbHRlci1jb2x1bW4nLFxuICB0ZW1wbGF0ZTogJyAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW5wdXRzOiBERUZBVUxUX0lOUFVUU19PX1RBQkxFX0NPTFVNTl9GSUxURVJfQ09MVU1OXG59KVxuXG5leHBvcnQgY2xhc3MgT1RhYmxlQ29sdW1uc0ZpbHRlckNvbHVtbkNvbXBvbmVudCB7XG5cbiAgcHVibGljIGF0dHI6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgc29ydDogJ2FzYycgfCAnZGVzYycgfCAnJyA9ICcnO1xuICBwdWJsaWMgc3RhcnRWaWV3OiAnbW9udGgnIHwgJ3llYXInIHwgJ211bHRpLXllYXInIHwgJycgPSAnbW9udGgnO1xuICBwdWJsaWMgcXVlcnlNZXRob2Q6IHN0cmluZztcbiAgcHVibGljIGZpbHRlclZhbHVlc0luRGF0YTogJ2N1cnJlbnQtcGFnZScgfCAnYWxsLWRhdGEnO1xuXG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jb2x1bW5zLWZpbHRlci1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9oZWFkZXIvdGFibGUtY29sdW1ucy1maWx0ZXIvY29sdW1ucy9vLXRhYmxlLWNvbHVtbnMtZmlsdGVyLWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQWtCckQsTUFBTSxDQUFDLE1BQU0sMkNBQTJDLEdBQUc7SUFFekQsTUFBTTtJQUVOLE1BQU07SUFFTixzQkFBc0I7SUFDdEIsMEJBQTBCO0lBRTFCLDJDQUEyQztJQUUzQyw0QkFBNEI7SUFFNUIsMkNBQTJDO0lBRTNDLFNBQVM7SUFFVCwwQkFBMEI7SUFFMUIsUUFBUTtJQUNSLGlDQUFpQztJQUNqQyxXQUFXO0NBQ1osQ0FBQztBQVNGLE1BQU0sT0FBTyxrQ0FBa0M7SUFQL0M7UUFTUyxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFNBQUksR0FBd0IsRUFBRSxDQUFDO1FBQy9CLGNBQVMsR0FBeUMsT0FBTyxDQUFDO1FBSTFELGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLHdCQUFtQixHQUFXLHFEQUFxRCxDQUFDO1FBT3BGLGNBQVMsR0FBVyxLQUFLLENBQUMsZUFBZSxDQUFDO0tBT2xEO0lBTEMsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEcsQ0FBQzs7Z0lBckJVLGtDQUFrQztvSEFBbEMsa0NBQWtDLG1pQkFMbkMsR0FBRzs0RkFLRixrQ0FBa0M7a0JBUDlDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLCtCQUErQjtvQkFDekMsUUFBUSxFQUFFLEdBQUc7b0JBQ2IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE1BQU0sRUFBRSwyQ0FBMkM7aUJBQ3BEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IENvZGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vdXRpbC9jb2Rlcyc7XG5cblxuZXhwb3J0IHR5cGUgT0ZpbHRlckNvbHVtbiA9IHtcbiAgYXR0cjogc3RyaW5nO1xuICBzb3J0OiAnYXNjJyB8ICdkZXNjJyB8ICcnO1xuICBzdGFydFZpZXc6ICdtb250aCcgfCAneWVhcicgfCAnbXVsdGkteWVhcicgfCAnJztcbiAgcXVlcnlNZXRob2Q/OiBzdHJpbmc7XG4gIGZpbHRlclZhbHVlc0luRGF0YT86ICdjdXJyZW50LXBhZ2UnIHwgJ2FsbC1kYXRhJztcbiAgc2VydmljZT86IHN0cmluZztcbiAgZW50aXR5Pzogc3RyaW5nO1xuICBzZXJ2aWNlVHlwZT86IHN0cmluZztcbiAgc2VwYXJhdG9yPzogc3RyaW5nO1xuICB2aXNpYmxlQ29sdW1ucz86IHN0cmluZ1tdO1xuICBmaWx0ZXJMb2NrZWQ/OiBib29sZWFuO1xuICBmaWx0ZXJMb2NrZWRNZXNzYWdlPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5QVVRTX09fVEFCTEVfQ09MVU1OX0ZJTFRFUl9DT0xVTU4gPSBbXG4gIC8vIGF0dHIgW3N0cmluZ106IGNvbHVtbiBuYW1lLlxuICAnYXR0cicsXG4gIC8vIHNvcnQgW2FzY3xkZXNjXTogaW5pdGlhbCBzb3J0aW5nLCB3aXRoIHRoZSBmb3JtYXQgY29sdW1uOltBU0N8REVTQ10uXG4gICdzb3J0JyxcbiAgLy8gc3RhcnRWaWV3IFttb250aHx5ZWFyfG11bHRpLXllYXJdOiBEYXRlcGlja2VyIGluaXRpYWwgdmlldyBpbiBjYXNlIG9mIGRhdGUgY29sdW1uLlxuICAnc3RhcnRWaWV3OnN0YXJ0LXZpZXcnLFxuICAncXVlcnlNZXRob2Q6cXVlcnktbWV0aG9kJyxcbiAgLy9maWx0ZXItdmFsdWVzLWluLWRhdGE6ICAnY3VycmVudC1wYWdlJyB8ICdhbGwtZGF0YSc6IHNldCBtb2RlIHRvIGZpbHRlciBieS4gRGVmYXVsdCAnY3VycmVudC1wYWdlJ1xuICAnZmlsdGVyVmFsdWVzSW5EYXRhOiBmaWx0ZXItdmFsdWVzLWluLWRhdGEnLFxuICAvL2ZpbHRlci1sb2NrZWRcbiAgJ2ZpbHRlckxvY2tlZDpmaWx0ZXItbG9ja2VkJyxcbiAgLy9maWx0ZXItbG9ja2VkLW1lc3NhZ2VcbiAgJ2ZpbHRlckxvY2tlZE1lc3NhZ2U6ZmlsdGVyLWxvY2tlZC1tZXNzYWdlJyxcbiAgLy9zZXJ2aWNlXG4gICdzZXJ2aWNlJyxcbiAgLy9zZXJ2aWNlLXR5cGVcbiAgJ3NlcnZpY2VUeXBlOnNlcnZpY2UtdHlwZScsXG4gIC8vZW50aXR5XG4gICdlbnRpdHknLFxuICAndmlzaWJsZUNvbHVtbnM6IHZpc2libGUtY29sdW1ucycsXG4gICdzZXBhcmF0b3InXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLXRhYmxlLWNvbHVtbnMtZmlsdGVyLWNvbHVtbicsXG4gIHRlbXBsYXRlOiAnICcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fVEFCTEVfQ09MVU1OX0ZJTFRFUl9DT0xVTU5cbn0pXG5cbmV4cG9ydCBjbGFzcyBPVGFibGVDb2x1bW5zRmlsdGVyQ29sdW1uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgYXR0cjogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBzb3J0OiAnYXNjJyB8ICdkZXNjJyB8ICcnID0gJyc7XG4gIHB1YmxpYyBzdGFydFZpZXc6ICdtb250aCcgfCAneWVhcicgfCAnbXVsdGkteWVhcicgfCAnJyA9ICdtb250aCc7XG4gIHB1YmxpYyBxdWVyeU1ldGhvZDogc3RyaW5nO1xuICBwdWJsaWMgZmlsdGVyVmFsdWVzSW5EYXRhOiAnY3VycmVudC1wYWdlJyB8ICdhbGwtZGF0YSc7XG5cbiAgcHVibGljIGZpbHRlckxvY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgZmlsdGVyTG9ja2VkTWVzc2FnZTogc3RyaW5nID0gJ09fVEFCTEVfQ09MVU1OX0ZJTFRFUl9DT0xVTU4uREVGQVVMVF9MT0NLRURfTUVTU0FHRSc7XG4gIHB1YmxpYyBzZXJ2aWNlOiBzdHJpbmc7XG4gIHB1YmxpYyBzZXJ2aWNlVHlwZTogc3RyaW5nO1xuICBwdWJsaWMgZW50aXR5OiBzdHJpbmc7XG5cbiAgcHVibGljIHZpc2libGVDb2xzQXJyYXk6IHN0cmluZ1tdO1xuICBwdWJsaWMgdmlzaWJsZUNvbHVtbnM6IHN0cmluZztcbiAgcHVibGljIHNlcGFyYXRvcjogc3RyaW5nID0gQ29kZXMuU1BBQ0VfU0VQQVJBVE9SO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudmlzaWJsZUNvbHNBcnJheSA9IFV0aWwucGFyc2VBcnJheSh0aGlzLnZpc2libGVDb2x1bW5zLCB0cnVlKTtcbiAgICB0aGlzLmZpbHRlclZhbHVlc0luRGF0YSA9IHRoaXMuZmlsdGVyVmFsdWVzSW5EYXRhID8/ICh0aGlzLnF1ZXJ5TWV0aG9kID8gJ2FsbC1kYXRhJyA6ICdjdXJyZW50LXBhZ2UnKTtcbiAgfVxuXG59XG4iXX0=
@@ -3,10 +3,10 @@ import { ChangeDetectionStrategy, Component, ContentChildren, forwardRef, Inject
3
3
  import { BooleanInputConverter } from '../../../../../decorators/input-converter';
4
4
  import { Codes } from '../../../../../util/codes';
5
5
  import { Util } from '../../../../../util/util';
6
- import { OTableComponent } from '../../../o-table.component';
7
6
  import { OTableColumnsFilterColumnComponent } from './columns/o-table-columns-filter-column.component';
7
+ import { OTableBase } from '../../../o-table-base.class';
8
8
  import * as i0 from "@angular/core";
9
- import * as i1 from "../../../o-table.component";
9
+ import * as i1 from "../../../o-table-base.class";
10
10
  export const DEFAULT_INPUTS_O_TABLE_COLUMN_FILTER = [
11
11
  'columns',
12
12
  'preloadValues: preload-values',
@@ -15,18 +15,6 @@ export const DEFAULT_INPUTS_O_TABLE_COLUMN_FILTER = [
15
15
  ];
16
16
  export const DEFAULT_OUTPUTS_O_TABLE_COLUMN_FILTER = [];
17
17
  export class OTableColumnsFilterComponent {
18
- get mode() {
19
- return this._mode;
20
- }
21
- set mode(val) {
22
- const m = OTableColumnsFilterComponent.OTableColumnsFilterModes.find(e => e === val);
23
- if (Util.isDefined(m)) {
24
- this._mode = m;
25
- }
26
- else {
27
- console.error('Invalid `o-table-columns-filter` mode (' + val + ')');
28
- }
29
- }
30
18
  constructor(injector, table) {
31
19
  this.injector = injector;
32
20
  this.table = table;
@@ -39,7 +27,6 @@ export class OTableColumnsFilterComponent {
39
27
  if (this.columnsArray.length === 0) {
40
28
  this.columnsArray = this.table.oTableOptions.visibleColumns;
41
29
  }
42
- const self = this;
43
30
  let columns = Util.parseArray(this._columns, true);
44
31
  columns.forEach((colData, i, arr) => {
45
32
  const colDef = colData.split(Codes.TYPE_SEPARATOR);
@@ -49,29 +36,56 @@ export class OTableColumnsFilterComponent {
49
36
  compType = OTableColumnsFilterComponent.DEFAULT_COMPARISON_TYPE;
50
37
  }
51
38
  arr[i] = colName;
52
- self.columnsComparisonProperty[colName] = compType;
39
+ this.columnsComparisonProperty[colName] = compType;
53
40
  });
54
41
  this.table.setOTableColumnsFilter(this);
55
42
  this.filterValuesInData = this.filterValuesInData ?? this.getFilterValuesInDataByDefault();
56
43
  }
57
- getFilterValuesInDataByDefault() {
58
- return this.table.pageable ? 'current-page' : 'all-data';
59
- }
60
44
  ngAfterContentInit() {
61
- if (Util.isDefined(this.filterColumns)) {
62
- const newColumns = this.parseFilterColumns(this.filterColumns);
63
- const mergedMap = new Map();
64
- this.columnsArray.forEach(col => {
65
- mergedMap.set(col.attr, col);
66
- });
67
- newColumns.forEach(col => {
68
- mergedMap.set(col.attr, col);
69
- });
70
- this.columnsArray = Array.from(mergedMap.values());
45
+ if (!Util.isDefined(this.filterColumns))
46
+ return;
47
+ const newColumns = this.parseFilterColumns(this.filterColumns);
48
+ const mergedMap = new Map();
49
+ for (const col of this.columnsArray) {
50
+ mergedMap.set(col.attr, col);
51
+ }
52
+ ;
53
+ for (const col of newColumns) {
54
+ mergedMap.set(col.attr, col);
55
+ }
56
+ this.columnsArray = Array.from(mergedMap.values());
57
+ }
58
+ get mode() {
59
+ return this._mode;
60
+ }
61
+ set mode(val) {
62
+ const m = OTableColumnsFilterComponent.OTableColumnsFilterModes.find(e => e === val);
63
+ if (Util.isDefined(m)) {
64
+ this._mode = m;
65
+ }
66
+ else {
67
+ console.error('Invalid `o-table-columns-filter` mode (' + val + ')');
71
68
  }
72
69
  }
70
+ set columns(arg) {
71
+ this._columns = arg;
72
+ this._columnsArray = this.parseColumns(this._columns);
73
+ }
74
+ set columnsArray(arg) {
75
+ this._columnsArray = arg;
76
+ }
77
+ get columnsArray() {
78
+ return this._columnsArray;
79
+ }
80
+ getFilterColumnByAttr(attr) {
81
+ return this.filterColumns.find(filterColumn => filterColumn.attr === attr);
82
+ }
83
+ getFilterValuesInDataByDefault() {
84
+ return this.table.pageable ? 'current-page' : 'all-data';
85
+ }
73
86
  isColumnFilterable(attr) {
74
- return Util.isDefined(this.columnsArray.find(x => x.attr === attr));
87
+ const filterColumnDefinition = this.columnsArray.find(x => x.attr === attr);
88
+ return Util.isDefined(filterColumnDefinition) && (filterColumnDefinition.filterLocked ?? true);
75
89
  }
76
90
  getSortValueOfFilterColumn(attr) {
77
91
  let sortValue = '';
@@ -108,12 +122,13 @@ export class OTableColumnsFilterComponent {
108
122
  }
109
123
  getFilterValuesInData(attr) {
110
124
  let filterValuesInData = this.filterValuesInData;
111
- if (Util.isDefined(this.columnsArray)) {
112
- this.columnsArray.forEach(column => {
113
- if (column.attr == attr && (column.filterValuesInData === 'current-page' || column.filterValuesInData === 'all-data')) {
125
+ if (Util.isDefined(this.filterColumns)) {
126
+ for (const column of this.filterColumns) {
127
+ if (column.attr === attr && (column.filterValuesInData === 'current-page' || column.filterValuesInData === 'all-data')) {
114
128
  filterValuesInData = column.filterValuesInData;
129
+ break;
115
130
  }
116
- });
131
+ }
117
132
  }
118
133
  return filterValuesInData;
119
134
  }
@@ -125,16 +140,6 @@ export class OTableColumnsFilterComponent {
125
140
  return column.renderer ? column.renderer.getCellData(val) : val;
126
141
  }
127
142
  }
128
- set columns(arg) {
129
- this._columns = arg;
130
- this._columnsArray = this.parseColumns(this._columns);
131
- }
132
- set columnsArray(arg) {
133
- this._columnsArray = arg;
134
- }
135
- get columnsArray() {
136
- return this._columnsArray;
137
- }
138
143
  parseColumns(columns) {
139
144
  return columns.split(';')
140
145
  .map(x => {
@@ -153,6 +158,18 @@ export class OTableColumnsFilterComponent {
153
158
  obj.sort = x.sort;
154
159
  obj.startView = x.startView;
155
160
  obj.queryMethod = x.queryMethod;
161
+ if (x.service) {
162
+ obj.service = x.service;
163
+ }
164
+ if (x.serviceType) {
165
+ obj.serviceType = x.serviceType;
166
+ }
167
+ if (x.separator) {
168
+ obj.separator = x.separator;
169
+ }
170
+ if (x.visibleColumns) {
171
+ obj.visibleColumns = Util.parseArray(x.visibleColumns, true);
172
+ }
156
173
  obj.filterValuesInData = (x.filterValuesInData || this.filterValuesInData) ?? this.getFilterValuesInDataByDefault();
157
174
  return obj;
158
175
  });
@@ -161,13 +178,13 @@ export class OTableColumnsFilterComponent {
161
178
  OTableColumnsFilterComponent.DEFAULT_COMPARISON_TYPE = 'VIEW';
162
179
  OTableColumnsFilterComponent.MODEL_COMPARISON_TYPE = 'MODEL';
163
180
  OTableColumnsFilterComponent.OTableColumnsFilterModes = ['default', 'selection', 'custom'];
164
- OTableColumnsFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableColumnsFilterComponent, deps: [{ token: i0.Injector }, { token: forwardRef(() => OTableComponent) }], target: i0.ɵɵFactoryTarget.Component });
165
- OTableColumnsFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OTableColumnsFilterComponent, selector: "o-table-columns-filter", inputs: { columns: "columns", preloadValues: ["preload-values", "preloadValues"], mode: "mode", filterValuesInData: ["filter-values-in-data", "filterValuesInData"] }, queries: [{ propertyName: "filterColumns", predicate: OTableColumnsFilterColumnComponent, descendants: true }], ngImport: i0, template: ' ', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
181
+ OTableColumnsFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableColumnsFilterComponent, deps: [{ token: i0.Injector }, { token: forwardRef(() => OTableBase) }], target: i0.ɵɵFactoryTarget.Component });
182
+ OTableColumnsFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OTableColumnsFilterComponent, selector: "o-table-columns-filter", inputs: { columns: "columns", preloadValues: ["preload-values", "preloadValues"], mode: "mode", filterValuesInData: ["filter-values-in-data", "filterValuesInData"] }, queries: [{ propertyName: "filterColumns", predicate: OTableColumnsFilterColumnComponent, descendants: true }], ngImport: i0, template: ' ', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
166
183
  __decorate([
167
184
  BooleanInputConverter(),
168
185
  __metadata("design:type", Boolean)
169
186
  ], OTableColumnsFilterComponent.prototype, "preloadValues", void 0);
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableColumnsFilterComponent, decorators: [{
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableColumnsFilterComponent, decorators: [{
171
188
  type: Component,
172
189
  args: [{
173
190
  selector: 'o-table-columns-filter',
@@ -176,13 +193,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
176
193
  inputs: DEFAULT_INPUTS_O_TABLE_COLUMN_FILTER,
177
194
  outputs: DEFAULT_OUTPUTS_O_TABLE_COLUMN_FILTER
178
195
  }]
179
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.OTableComponent, decorators: [{
196
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.OTableBase, decorators: [{
180
197
  type: Inject,
181
- args: [forwardRef(() => OTableComponent)]
182
- }] }]; }, propDecorators: { preloadValues: [], mode: [{
183
- type: Input
184
- }], filterColumns: [{
198
+ args: [forwardRef(() => OTableBase)]
199
+ }] }]; }, propDecorators: { preloadValues: [], filterColumns: [{
185
200
  type: ContentChildren,
186
201
  args: [OTableColumnsFilterColumnComponent, { descendants: true }]
202
+ }], mode: [{
203
+ type: Input
187
204
  }] } });
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jb2x1bW5zLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL2hlYWRlci90YWJsZS1jb2x1bW5zLWZpbHRlci9vLXRhYmxlLWNvbHVtbnMtZmlsdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFvQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUosT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFpQixrQ0FBa0MsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOzs7QUFFdEgsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUc7SUFFbEQsU0FBUztJQUVULCtCQUErQjtJQUUvQixNQUFNO0lBRU4sMkNBQTJDO0NBQzVDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxFQUNwRCxDQUFDO0FBVUYsTUFBTSxPQUFPLDRCQUE0QjtJQVl2QyxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQ0ksSUFBSSxDQUFDLEdBQVc7UUFDbEIsTUFBTSxDQUFDLEdBQUcsNEJBQTRCLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxF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ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJvb2xlYW5JbnB1dENvbnZlcnRlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RlY29yYXRvcnMvaW5wdXQtY29udmVydGVyJztcbmltcG9ydCB7IENvZGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbC9jb2Rlcyc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbC91dGlsJztcbmltcG9ydCB0eXBlIHsgT0NvbHVtbiB9IGZyb20gJy4uLy4uLy4uL2NvbHVtbi9vLWNvbHVtbi5jbGFzcyc7XG5pbXBvcnQgeyBPVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9vLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPRmlsdGVyQ29sdW1uLCBPVGFibGVDb2x1bW5zRmlsdGVyQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9jb2x1bW5zL28tdGFibGUtY29sdW1ucy1maWx0ZXItY29sdW1uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX1RBQkxFX0NPTFVNTl9GSUxURVIgPSBbXG4gIC8vIGNvbHVtbnMgW3N0cmluZ106IGNvbHVtbnMgdGhhdCBtaWdodCBiZSBmaWx0ZXJlZCwgc2VwYXJhdGVkIGJ5ICc7Jy4gRGVmYXVsdDogYWxsIHZpc2libGUgY29sdW1ucy5cbiAgJ2NvbHVtbnMnLFxuICAvLyBwcmVsb2FkVmFsdWVzIFt0cnVlfGZhbHNlfHllc3xub106IGluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSBsaXN0IHZhbHVlcyB3aGVuIHRoZSBmaWx0ZXIgZGlhbG9nIGlzIG9wZW5lZC4gRGVmYXVsdDogdHJ1ZS5cbiAgJ3ByZWxvYWRWYWx1ZXM6IHByZWxvYWQtdmFsdWVzJyxcbiAgLy8gbW9kZSBbZGVmYXVsdCB8IHNlbGVjdGlvbiB8ICBjdXN0b21dXG4gICdtb2RlJyxcbiAgLy9maWx0ZXItdmFsdWVzLWluLWRhdGE6ICdjdXJyZW50LXBhZ2UnIHwgJ2FsbC1kYXRhJzogc2V0IG1vZGUgdG8gZmlsdGVyIGJ5LiBEZWZhdWx0ICdjdXJyZW50LXBhZ2UnXG4gICdmaWx0ZXJWYWx1ZXNJbkRhdGE6IGZpbHRlci12YWx1ZXMtaW4tZGF0YSdcbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX09VVFBVVFNfT19UQUJMRV9DT0xVTU5fRklMVEVSID0gW1xuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby10YWJsZS1jb2x1bW5zLWZpbHRlcicsXG4gIHRlbXBsYXRlOiAnICcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fVEFCTEVfQ09MVU1OX0ZJTFRFUixcbiAgb3V0cHV0czogREVGQVVMVF9PVVRQVVRTX09fVEFCTEVfQ09MVU1OX0ZJTFRFUlxufSlcblxuZXhwb3J0IGNsYXNzIE9UYWJsZUNvbHVtbnNGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQge1xuXG4gIHB1YmxpYyBzdGF0aWMgREVGQVVMVF9DT01QQVJJU09OX1RZUEUgPSAnVklFVyc7XG4gIHB1YmxpYyBzdGF0aWMgTU9ERUxfQ09NUEFSSVNPTl9UWVBFID0gJ01PREVMJztcbiAgcHVibGljIHN0YXRpYyBPVGFibGVDb2x1bW5zRmlsdGVyTW9kZXMgPSBbJ2RlZmF1bHQnLCAnc2VsZWN0aW9uJywgJ2N1c3RvbSddO1xuXG4gIHByb3RlY3RlZCBfY29sdW1uczogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX21vZGU6IHN0cmluZyA9ICdkZWZhdWx0JztcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHByZWxvYWRWYWx1ZXM6IGJvb2xlYW4gPSB0cnVlO1xuICBmaWx0ZXJWYWx1ZXNJbkRhdGE6ICdjdXJyZW50LXBhZ2UnIHwgJ2FsbC1kYXRhJztcblxuICBnZXQgbW9kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9tb2RlO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IG1vZGUodmFsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBtID0gT1RhYmxlQ29sdW1uc0ZpbHRlckNvbXBvbmVudC5PVGFibGVDb2x1bW5zRmlsdGVyTW9kZXMuZmluZChlID0+IGUgPT09IHZhbCk7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKG0pKSB7XG4gICAgICB0aGlzLl9tb2RlID0gbTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBgby10YWJsZS1jb2x1bW5zLWZpbHRlcmAgbW9kZSAoJyArIHZhbCArICcpJyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9jb2x1bW5zQXJyYXk6IEFycmF5PE9GaWx0ZXJDb2x1bW4+ID0gW107XG4gIHByb3RlY3RlZCBjb2x1bW5zQ29tcGFyaXNvblByb3BlcnR5OiBvYmplY3QgPSB7fTtcblxuICBAQ29udGVudENoaWxkcmVuKE9UYWJsZUNvbHVtbnNGaWx0ZXJDb2x1bW5Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgZmlsdGVyQ29sdW1uczogUXVlcnlMaXN0PE9UYWJsZUNvbHVtbnNGaWx0ZXJDb2x1bW5Db21wb25lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IE9UYWJsZUNvbXBvbmVudCkpIHByb3RlY3RlZCB0YWJsZTogT1RhYmxlQ29tcG9uZW50XG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuY29sdW1uc0FycmF5Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5jb2x1bW5zQXJyYXkgPSB0aGlzLnRhYmxlLm9UYWJsZU9wdGlvbnMudmlzaWJsZUNvbHVtbnM7XG4gICAgfVxuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIGxldCBjb2x1bW5zID0gVXRpbC5wYXJzZUFycmF5KHRoaXMuX2NvbHVtbnMsIHRydWUpO1xuXG4gICAgY29sdW1ucy5mb3JFYWNoKChjb2xEYXRhLCBpLCBhcnIpID0+IHtcbiAgICAgIGNvbnN0IGNvbERlZiA9IGNvbERhdGEuc3BsaXQoQ29kZXMuVFlQRV9TRVBBUkFUT1IpO1xuICAgICAgY29uc3QgY29sTmFtZSA9IGNvbERlZlswXTtcbiAgICAgIGxldCBjb21wVHlwZSA9IChjb2xEZWZbMV0gfHwgJycpLnRvVXBwZXJDYXNlKCk7XG4gICAgICBpZiAoW09UYWJsZUNvbHVtbnNGaWx0ZXJDb21wb25lbnQuREVGQVVMVF9DT01QQVJJU09OX1RZUEUsIE9UYWJsZUNvbHVtbnNGaWx0ZXJDb21wb25lbnQuTU9ERUxfQ09NUEFSSVNPTl9UWVBFXS5pbmRleE9mKGNvbXBUeXBlKSA9PT0gLTEpIHtcbiAgICAgICAgY29tcFR5cGUgPSBPVGFibGVDb2x1bW5zRmlsdGVyQ29tcG9uZW50LkRFRkFVTFRfQ09NUEFSSVNPTl9UWVBFO1xuICAgICAgfVxuICAgICAgYXJyW2ldID0gY29sTmFtZTtcbiAgICAgIHNlbGYuY29sdW1uc0NvbXBhcmlzb25Qcm9wZXJ0eVtjb2xOYW1lXSA9IGNvbXBUeXBlO1xuICAgIH0pO1xuXG4gICAgdGhpcy50YWJsZS5zZXRPVGFibGVDb2x1bW5zRmlsdGVyKHRoaXMpO1xuXG4gICAgdGhpcy5maWx0ZXJWYWx1ZXNJbkRhdGEgPSB0aGlzLmZpbHRlclZhbHVlc0luRGF0YSA/PyB0aGlzLmdldEZpbHRlclZhbHVlc0luRGF0YUJ5RGVmYXVsdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWx0ZXJWYWx1ZXNJbkRhdGFCeURlZmF1bHQoKSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGUucGFnZWFibGUgPyAnY3VycmVudC1wYWdlJyA6ICdhbGwtZGF0YSc7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuZmlsdGVyQ29sdW1ucykpIHtcbiAgICAgIGNvbnN0IG5ld0NvbHVtbnMgPSB0aGlzLnBhcnNlRmlsdGVyQ29sdW1ucyh0aGlzLmZpbHRlckNvbHVtbnMpO1xuXG4gICAgICAvLyBDcmVhdGUgYSBtYXAgdG8gbWVyZ2UgYXJyYXlzIGJhc2VkIG9uIHRoZSBcImF0dHJcIiBwcm9wZXJ0eVxuICAgICAgY29uc3QgbWVyZ2VkTWFwID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcblxuICAgICAgLy8gQWRkIGV4aXN0aW5nIGNvbHVtbnMgdG8gdGhlIG1hcFxuICAgICAgdGhpcy5jb2x1bW5zQXJyYXkuZm9yRWFjaChjb2wgPT4ge1xuICAgICAgICBtZXJnZWRNYXAuc2V0KGNvbC5hdHRyLCBjb2wpO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIEFkZCBuZXcgY29sdW1ucyB0byB0aGUgbWFwLCBvdmVycmlkaW5nIGV4aXN0aW5nIG9uZXMgd2l0aCB0aGUgc2FtZSBcImF0dHJcIlxuICAgICAgbmV3Q29sdW1ucy5mb3JFYWNoKGNvbCA9PiB7XG4gICAgICAgIG1lcmdlZE1hcC5zZXQoY29sLmF0dHIsIGNvbCk7XG4gICAgICB9KTtcblxuICAgICAgLy8gQ29udmVydCB0aGUgbWFwIHZhbHVlcyBiYWNrIHRvIGFuIGFycmF5XG4gICAgICB0aGlzLmNvbHVtbnNBcnJheSA9IEFycmF5LmZyb20obWVyZ2VkTWFwLnZhbHVlcygpKTtcblxuICAgIH1cbiAgfVxuXG4gIGlzQ29sdW1uRmlsdGVyYWJsZShhdHRyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gVXRpbC5pc0RlZmluZWQodGhpcy5jb2x1bW5zQXJyYXkuZmluZCh4ID0+IHguYXR0ciA9PT0gYXR0cikpO1xuICB9XG5cbiAgZ2V0U29ydFZhbHVlT2ZGaWx0ZXJDb2x1bW4oYXR0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgc29ydFZhbHVlID0gJyc7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuY29sdW1uc0FycmF5KSkge1xuICAgICAgdGhpcy5jb2x1bW5zQXJyYXkuZm9yRWFjaChjb2x1bW4gPT4ge1xuICAgICAgICBpZiAoY29sdW1uLmF0dHIgPT0gYXR0cikge1xuICAgICAgICAgIHNvcnRWYWx1ZSA9IGNvbHVtbi5zb3J0O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHNvcnRWYWx1ZTtcbiAgfVxuXG4gIGdldFN0YXJ0Vmlld1ZhbHVlT2ZGaWx0ZXJDb2x1bW4oYXR0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgc3RhcnRWaWV3ID0gJyc7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuY29sdW1uc0FycmF5KSkge1xuICAgICAgdGhpcy5jb2x1bW5zQXJyYXkuZm9yRWFjaChjb2x1bW4gPT4ge1xuICAgICAgICBpZiAoY29sdW1uLmF0dHIgPT0gYXR0cikge1xuICAgICAgICAgIHN0YXJ0VmlldyA9IGNvbHVtbi5zdGFydFZpZXc7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gc3RhcnRWaWV3O1xuICB9XG5cbiAgZ2V0UXVlcnlNZXRob2RPZkZpbHRlckNvbHVtbihhdHRyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBxdWVyeU1ldGhvZCA9ICcnO1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZCh0aGlzLmNvbHVtbnNBcnJheSkpIHtcbiAgICAgIHRoaXMuY29sdW1uc0FycmF5LmZvckVhY2goY29sdW1uID0+IHtcbiAgICAgICAgaWYgKGNvbHVtbi5hdHRyID09IGF0dHIpIHtcbiAgICAgICAgICBxdWVyeU1ldGhvZCA9IGNvbHVtbi5xdWVyeU1ldGhvZDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBxdWVyeU1ldGhvZDtcbiAgfVxuXG4gIGdldEZpbHRlclZhbHVlc0luRGF0YShhdHRyOiBzdHJpbmcpOiAnY3VycmVudC1wYWdlJyB8ICdhbGwtZGF0YScge1xuICAgIGxldCBmaWx0ZXJWYWx1ZXNJbkRhdGE6ICdjdXJyZW50LXBhZ2UnIHwgJ2FsbC1kYXRhJyA9IHRoaXMuZmlsdGVyVmFsdWVzSW5EYXRhO1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZCh0aGlzLmNvbHVtbnNBcnJheSkpIHtcbiAgICAgIHRoaXMuY29sdW1uc0FycmF5LmZvckVhY2goY29sdW1uID0+IHtcbiAgICAgICAgaWYgKGNvbHVtbi5hdHRyID09IGF0dHIgJiYgKGNvbHVtbi5maWx0ZXJWYWx1ZXNJbkRhdGEgPT09ICdjdXJyZW50LXBhZ2UnIHx8IGNvbHVtbi5maWx0ZXJWYWx1ZXNJbkRhdGEgPT09ICdhbGwtZGF0YScpKSB7XG4gICAgICAgICAgZmlsdGVyVmFsdWVzSW5EYXRhID0gY29sdW1uLmZpbHRlclZhbHVlc0luRGF0YTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBmaWx0ZXJWYWx1ZXNJbkRhdGE7XG4gIH1cblxuICBnZXRDb2x1bW5Db21wYXJpc29uVmFsdWUoY29sdW1uOiBPQ29sdW1uLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKCFjb2x1bW4gfHwgdGhpcy5jb2x1bW5zQ29tcGFyaXNvblByb3BlcnR5W2NvbHVtbi5hdHRyXSA9PT0gT1RhYmxlQ29sdW1uc0ZpbHRlckNvbXBvbmVudC5NT0RFTF9DT01QQVJJU09OX1RZUEUpIHtcbiAgICAgIHJldHVybiB2YWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjb2x1bW4ucmVuZGVyZXIgPyBjb2x1bW4ucmVuZGVyZXIuZ2V0Q2VsbERhdGEodmFsKSA6IHZhbDtcbiAgICB9XG4gIH1cblxuICBzZXQgY29sdW1ucyhhcmc6IHN0cmluZykge1xuICAgIHRoaXMuX2NvbHVtbnMgPSBhcmc7XG4gICAgdGhpcy5fY29sdW1uc0FycmF5ID0gdGhpcy5wYXJzZUNvbHVtbnModGhpcy5fY29sdW1ucyk7XG4gIH1cblxuICBzZXQgY29sdW1uc0FycmF5KGFyZzogT0ZpbHRlckNvbHVtbltdKSB7XG4gICAgdGhpcy5fY29sdW1uc0FycmF5ID0gYXJnO1xuICB9XG5cbiAgZ2V0IGNvbHVtbnNBcnJheSgpOiBPRmlsdGVyQ29sdW1uW10ge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5zQXJyYXk7XG4gIH1cblxuICBwYXJzZUNvbHVtbnMoY29sdW1uczogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGNvbHVtbnMuc3BsaXQoJzsnKVxuICAgICAgLm1hcCh4ID0+IHtcbiAgICAgICAgbGV0IG9iajogT0ZpbHRlckNvbHVtbiA9IHsgYXR0cjogJycsIHNvcnQ6ICcnLCBzdGFydFZpZXc6ICcnIH07XG4gICAgICAgIG9iai5hdHRyID0geDtcbiAgICAgICAgb2JqLnNvcnQgPSAnJztcbiAgICAgICAgb2JqLnN0YXJ0VmlldyA9ICcnO1xuICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgfSk7XG4gIH1cblxuICBwYXJzZUZpbHRlckNvbHVtbnMoY29sdW1uczogUXVlcnlMaXN0PE9UYWJsZUNvbHVtbnNGaWx0ZXJDb2x1bW5Db21wb25lbnQ+KSB7XG4gICAgcmV0dXJuIGNvbHVtbnNcbiAgICAgIC5tYXAoeCA9PiB7XG4gICAgICAgIGxldCBvYmo6IE9GaWx0ZXJDb2x1bW4gPSB7IGF0dHI6ICcnLCBzb3J0OiAnJywgc3RhcnRWaWV3OiAnJywgcXVlcnlNZXRob2Q6IHZvaWQgMCB9O1xuICAgICAgICBvYmouYXR0ciA9IHguYXR0cjtcbiAgICAgICAgb2JqLnNvcnQgPSB4LnNvcnQ7XG4gICAgICAgIG9iai5zdGFydFZpZXcgPSB4LnN0YXJ0VmlldztcbiAgICAgICAgb2JqLnF1ZXJ5TWV0aG9kID0geC5xdWVyeU1ldGhvZDtcbiAgICAgICAgb2JqLmZpbHRlclZhbHVlc0luRGF0YSA9ICh4LmZpbHRlclZhbHVlc0luRGF0YSB8fCB0aGlzLmZpbHRlclZhbHVlc0luRGF0YSkgPz8gdGhpcy5nZXRGaWx0ZXJWYWx1ZXNJbkRhdGFCeURlZmF1bHQoKTtcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jb2x1bW5zLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL2hlYWRlci90YWJsZS1jb2x1bW5zLWZpbHRlci9vLXRhYmxlLWNvbHVtbnMtZmlsdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFvQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUosT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRCxPQUFPLEVBQWlCLGtDQUFrQyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDdEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFFekQsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUc7SUFFbEQsU0FBUztJQUVULCtCQUErQjtJQUUvQixNQUFNO0lBRU4sMkNBQTJDO0NBQzVDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxFQUNwRCxDQUFDO0FBVUYsTUFBTSxPQUFPLDRCQUE0QjtJQWlCdkMsWUFDWSxRQUFrQixFQUNpQixLQUFpQjtRQURwRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2lCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFadEQsVUFBSyxHQUFXLFNBQVMsQ0FBQztRQUVwQyxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUdwQixrQkFBYSxH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Q0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDOzBIQUpqRSw0QkFBNEIsMENBbUI3QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDOzhHQW5CM0IsNEJBQTRCLG1RQWV0QixrQ0FBa0MsZ0RBckJ6QyxHQUFHO0FBY2I7SUFBQyxxQkFBcUIsRUFBRTs7bUVBQ007NEZBVG5CLDRCQUE0QjtrQkFSeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUUsR0FBRztvQkFDYixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsTUFBTSxFQUFFLG9DQUFvQztvQkFDNUMsT0FBTyxFQUFFLHFDQUFxQztpQkFDL0M7OzBCQXFCSSxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7NENBVnRDLGFBQWEsTUFNK0QsYUFBYTtzQkFBeEYsZUFBZTt1QkFBQyxrQ0FBa0MsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBMER0RSxJQUFJO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIGZvcndhcmRSZWYsIEluamVjdCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCb29sZWFuSW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kZWNvcmF0b3JzL2lucHV0LWNvbnZlcnRlcic7XG5pbXBvcnQgeyBDb2RlcyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWwvY29kZXMnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgdHlwZSB7IE9Db2x1bW4gfSBmcm9tICcuLi8uLi8uLi9jb2x1bW4vby1jb2x1bW4uY2xhc3MnO1xuaW1wb3J0IHsgT0ZpbHRlckNvbHVtbiwgT1RhYmxlQ29sdW1uc0ZpbHRlckNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vY29sdW1ucy9vLXRhYmxlLWNvbHVtbnMtZmlsdGVyLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT1RhYmxlQmFzZSB9IGZyb20gJy4uLy4uLy4uL28tdGFibGUtYmFzZS5jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX1RBQkxFX0NPTFVNTl9GSUxURVIgPSBbXG4gIC8vIGNvbHVtbnMgW3N0cmluZ106IGNvbHVtbnMgdGhhdCBtaWdodCBiZSBmaWx0ZXJlZCwgc2VwYXJhdGVkIGJ5ICc7Jy4gRGVmYXVsdDogYWxsIHZpc2libGUgY29sdW1ucy5cbiAgJ2NvbHVtbnMnLFxuICAvLyBwcmVsb2FkVmFsdWVzIFt0cnVlfGZhbHNlfHllc3xub106IGluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSBsaXN0IHZhbHVlcyB3aGVuIHRoZSBmaWx0ZXIgZGlhbG9nIGlzIG9wZW5lZC4gRGVmYXVsdDogdHJ1ZS5cbiAgJ3ByZWxvYWRWYWx1ZXM6IHByZWxvYWQtdmFsdWVzJyxcbiAgLy8gbW9kZSBbZGVmYXVsdCB8IHNlbGVjdGlvbiB8ICBjdXN0b21dXG4gICdtb2RlJyxcbiAgLy9maWx0ZXItdmFsdWVzLWluLWRhdGE6ICdjdXJyZW50LXBhZ2UnIHwgJ2FsbC1kYXRhJzogc2V0IG1vZGUgdG8gZmlsdGVyIGJ5LiBEZWZhdWx0ICdjdXJyZW50LXBhZ2UnXG4gICdmaWx0ZXJWYWx1ZXNJbkRhdGE6IGZpbHRlci12YWx1ZXMtaW4tZGF0YSdcbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX09VVFBVVFNfT19UQUJMRV9DT0xVTU5fRklMVEVSID0gW1xuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby10YWJsZS1jb2x1bW5zLWZpbHRlcicsXG4gIHRlbXBsYXRlOiAnICcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fVEFCTEVfQ09MVU1OX0ZJTFRFUixcbiAgb3V0cHV0czogREVGQVVMVF9PVVRQVVRTX09fVEFCTEVfQ09MVU1OX0ZJTFRFUlxufSlcblxuZXhwb3J0IGNsYXNzIE9UYWJsZUNvbHVtbnNGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQge1xuXG4gIHB1YmxpYyBzdGF0aWMgREVGQVVMVF9DT01QQVJJU09OX1RZUEUgPSAnVklFVyc7XG4gIHB1YmxpYyBzdGF0aWMgTU9ERUxfQ09NUEFSSVNPTl9UWVBFID0gJ01PREVMJztcbiAgcHVibGljIHN0YXRpYyBPVGFibGVDb2x1bW5zRmlsdGVyTW9kZXMgPSBbJ2RlZmF1bHQnLCAnc2VsZWN0aW9uJywgJ2N1c3RvbSddO1xuXG4gIHByb3RlY3RlZCBfY29sdW1uczogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX21vZGU6IHN0cmluZyA9ICdkZWZhdWx0JztcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHByZWxvYWRWYWx1ZXM6IGJvb2xlYW4gPSB0cnVlO1xuICBmaWx0ZXJWYWx1ZXNJbkRhdGE6ICdjdXJyZW50LXBhZ2UnIHwgJ2FsbC1kYXRhJztcblxuICBwcm90ZWN0ZWQgX2NvbHVtbnNBcnJheTogQXJyYXk8T0ZpbHRlckNvbHVtbj4gPSBbXTtcbiAgcHJvdGVjdGVkIGNvbHVtbnNDb21wYXJpc29uUHJvcGVydHk6IG9iamVjdCA9IHt9O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oT1RhYmxlQ29sdW1uc0ZpbHRlckNvbHVtbkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBmaWx0ZXJDb2x1bW5zOiBRdWVyeUxpc3Q8T1RhYmxlQ29sdW1uc0ZpbHRlckNvbHVtbkNvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gT1RhYmxlQmFzZSkpIHB1YmxpYyB0YWJsZTogT1RhYmxlQmFzZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmNvbHVtbnNBcnJheS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuY29sdW1uc0FycmF5ID0gdGhpcy50YWJsZS5vVGFibGVPcHRpb25zLnZpc2libGVDb2x1bW5zO1xuICAgIH1cbiAgICBsZXQgY29sdW1ucyA9IFV0aWwucGFyc2VBcnJheSh0aGlzLl9jb2x1bW5zLCB0cnVlKTtcblxuICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sRGF0YSwgaSwgYXJyKSA9PiB7XG4gICAgICBjb25zdCBjb2xEZWYgPSBjb2xEYXRhLnNwbGl0KENvZGVzLlRZUEVfU0VQQVJBVE9SKTtcbiAgICAgIGNvbnN0IGNvbE5hbWUgPSBjb2xEZWZbMF07XG4gICAgICBsZXQgY29tcFR5cGUgPSAoY29sRGVmWzFdIHx8ICcnKS50b1VwcGVyQ2FzZSgpO1xuICAgICAgaWYgKFtPVGFibGVDb2x1bW5zRmlsdGVyQ29tcG9uZW50LkRFRkFVTFRfQ09NUEFSSVNPTl9UWVBFLCBPVGFibGVDb2x1bW5zRmlsdGVyQ29tcG9uZW50Lk1PREVMX0NPTVBBUklTT05fVFlQRV0uaW5kZXhPZihjb21wVHlwZSkgPT09IC0xKSB7XG4gICAgICAgIGNvbXBUeXBlID0gT1RhYmxlQ29sdW1uc0ZpbHRlckNvbXBvbmVudC5ERUZBVUxUX0NPTVBBUklTT05fVFlQRTtcbiAgICAgIH1cbiAgICAgIGFycltpXSA9IGNvbE5hbWU7XG4gICAgICB0aGlzLmNvbHVtbnNDb21wYXJpc29uUHJvcGVydHlbY29sTmFtZV0gPSBjb21wVHlwZTtcbiAgICB9KTtcblxuICAgIHRoaXMudGFibGUuc2V0T1RhYmxlQ29sdW1uc0ZpbHRlcih0aGlzKTtcblxuICAgIHRoaXMuZmlsdGVyVmFsdWVzSW5EYXRhID0gdGhpcy5maWx0ZXJWYWx1ZXNJbkRhdGEgPz8gdGhpcy5nZXRGaWx0ZXJWYWx1ZXNJbkRhdGFCeURlZmF1bHQoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHRoaXMuZmlsdGVyQ29sdW1ucykpIHJldHVybjtcblxuICAgIGNvbnN0IG5ld0NvbHVtbnMgPSB0aGlzLnBhcnNlRmlsdGVyQ29sdW1ucyh0aGlzLmZpbHRlckNvbHVtbnMpO1xuXG4gICAgLy8gQ3JlYXRlIGEgbWFwIHRvIG1lcmdlIGFycmF5cyBiYXNlZCBvbiB0aGUgXCJhdHRyXCIgcHJvcGVydHlcbiAgICBjb25zdCBtZXJnZWRNYXAgPSBuZXcgTWFwPHN0cmluZywgYW55PigpO1xuXG4gICAgLy8gQWRkIGV4aXN0aW5nIGNvbHVtbnMgdG8gdGhlIG1hcFxuICAgIGZvciAoY29uc3QgY29sIG9mIHRoaXMuY29sdW1uc0FycmF5KSB7XG4gICAgICBtZXJnZWRNYXAuc2V0KGNvbC5hdHRyLCBjb2wpO1xuICAgIH07XG5cbiAgICAvLyBBZGQgbmV3IGNvbHVtbnMgdG8gdGhlIG1hcCwgb3ZlcnJpZGluZyBleGlzdGluZyBvbmVzIHdpdGggdGhlIHNhbWUgXCJhdHRyXCJcbiAgICBmb3IgKGNvbnN0IGNvbCBvZiBuZXdDb2x1bW5zKSB7XG4gICAgICBtZXJnZWRNYXAuc2V0KGNvbC5hdHRyLCBjb2wpO1xuICAgIH1cblxuICAgIC8vIENvbnZlcnQgdGhlIG1hcCB2YWx1ZXMgYmFjayB0byBhbiBhcnJheVxuICAgIHRoaXMuY29sdW1uc0FycmF5ID0gQXJyYXkuZnJvbShtZXJnZWRNYXAudmFsdWVzKCkpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gR2V0dGVycyAvIFNldHRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBnZXQgbW9kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9tb2RlO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IG1vZGUodmFsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBtID0gT1RhYmxlQ29sdW1uc0ZpbHRlckNvbXBvbmVudC5PVGFibGVDb2x1bW5zRmlsdGVyTW9kZXMuZmluZChlID0+IGUgPT09IHZhbCk7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKG0pKSB7XG4gICAgICB0aGlzLl9tb2RlID0gbTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBgby10YWJsZS1jb2x1bW5zLWZpbHRlcmAgbW9kZSAoJyArIHZhbCArICcpJyk7XG4gICAgfVxuICB9XG5cbiAgc2V0IGNvbHVtbnMoYXJnOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb2x1bW5zID0gYXJnO1xuICAgIHRoaXMuX2NvbHVtbnNBcnJheSA9IHRoaXMucGFyc2VDb2x1bW5zKHRoaXMuX2NvbHVtbnMpO1xuICB9XG5cbiAgc2V0IGNvbHVtbnNBcnJheShhcmc6IE9GaWx0ZXJDb2x1bW5bXSkge1xuICAgIHRoaXMuX2NvbHVtbnNBcnJheSA9IGFyZztcbiAgfVxuXG4gIGdldCBjb2x1bW5zQXJyYXkoKTogT0ZpbHRlckNvbHVtbltdIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uc0FycmF5O1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tIE1FVEhPRFMgLS0tLS0tLS0tLS0tLS0tLS1cbiAgZ2V0RmlsdGVyQ29sdW1uQnlBdHRyKGF0dHI6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckNvbHVtbnMuZmluZChmaWx0ZXJDb2x1bW4gPT4gZmlsdGVyQ29sdW1uLmF0dHIgPT09IGF0dHIpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWx0ZXJWYWx1ZXNJbkRhdGFCeURlZmF1bHQoKSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGUucGFnZWFibGUgPyAnY3VycmVudC1wYWdlJyA6ICdhbGwtZGF0YSc7XG4gIH1cblxuICBpc0NvbHVtbkZpbHRlcmFibGUoYXR0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZmlsdGVyQ29sdW1uRGVmaW5pdGlvbiA9IHRoaXMuY29sdW1uc0FycmF5LmZpbmQoeCA9PiB4LmF0dHIgPT09IGF0dHIpO1xuICAgIHJldHVybiBVdGlsLmlzRGVmaW5lZChmaWx0ZXJDb2x1bW5EZWZpbml0aW9uKSAmJiAoZmlsdGVyQ29sdW1uRGVmaW5pdGlvbi5maWx0ZXJMb2NrZWQgPz8gdHJ1ZSk7XG4gIH1cblxuICBnZXRTb3J0VmFsdWVPZkZpbHRlckNvbHVtbihhdHRyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBzb3J0VmFsdWUgPSAnJztcbiAgICBpZiAoVXRpbC5pc0RlZmluZWQodGhpcy5jb2x1bW5zQXJyYXkpKSB7XG4gICAgICB0aGlzLmNvbHVtbnNBcnJheS5mb3JFYWNoKGNvbHVtbiA9PiB7XG4gICAgICAgIGlmIChjb2x1bW4uYXR0ciA9PSBhdHRyKSB7XG4gICAgICAgICAgc29ydFZhbHVlID0gY29sdW1uLnNvcnQ7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gc29ydFZhbHVlO1xuICB9XG5cbiAgZ2V0U3RhcnRWaWV3VmFsdWVPZkZpbHRlckNvbHVtbihhdHRyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBzdGFydFZpZXcgPSAnJztcbiAgICBpZiAoVXRpbC5pc0RlZmluZWQodGhpcy5jb2x1bW5zQXJyYXkpKSB7XG4gICAgICB0aGlzLmNvbHVtbnNBcnJheS5mb3JFYWNoKGNvbHVtbiA9PiB7XG4gICAgICAgIGlmIChjb2x1bW4uYXR0ciA9PSBhdHRyKSB7XG4gICAgICAgICAgc3RhcnRWaWV3ID0gY29sdW1uLnN0YXJ0VmlldztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBzdGFydFZpZXc7XG4gIH1cblxuICBnZXRRdWVyeU1ldGhvZE9mRmlsdGVyQ29sdW1uKGF0dHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IHF1ZXJ5TWV0aG9kID0gJyc7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuY29sdW1uc0FycmF5KSkge1xuICAgICAgdGhpcy5jb2x1bW5zQXJyYXkuZm9yRWFjaChjb2x1bW4gPT4ge1xuICAgICAgICBpZiAoY29sdW1uLmF0dHIgPT0gYXR0cikge1xuICAgICAgICAgIHF1ZXJ5TWV0aG9kID0gY29sdW1uLnF1ZXJ5TWV0aG9kO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHF1ZXJ5TWV0aG9kO1xuICB9XG5cbiAgZ2V0RmlsdGVyVmFsdWVzSW5EYXRhKGF0dHI6IHN0cmluZyk6ICdjdXJyZW50LXBhZ2UnIHwgJ2FsbC1kYXRhJyB7XG4gICAgbGV0IGZpbHRlclZhbHVlc0luRGF0YTogJ2N1cnJlbnQtcGFnZScgfCAnYWxsLWRhdGEnID0gdGhpcy5maWx0ZXJWYWx1ZXNJbkRhdGE7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuZmlsdGVyQ29sdW1ucykpIHtcbiAgICAgIGZvciAoY29uc3QgY29sdW1uIG9mIHRoaXMuZmlsdGVyQ29sdW1ucykge1xuICAgICAgICBpZiAoY29sdW1uLmF0dHIgPT09IGF0dHIgJiYgKGNvbHVtbi5maWx0ZXJWYWx1ZXNJbkRhdGEgPT09ICdjdXJyZW50LXBhZ2UnIHx8IGNvbHVtbi5maWx0ZXJWYWx1ZXNJbkRhdGEgPT09ICdhbGwtZGF0YScpKSB7XG4gICAgICAgICAgZmlsdGVyVmFsdWVzSW5EYXRhID0gY29sdW1uLmZpbHRlclZhbHVlc0luRGF0YTtcbiAgICAgICAgICBicmVhazsgLy8gc2FsaW1vcyBkZWwgYnVjbGUgdW5hIHZleiBlbmNvbnRyYWRhIGxhIGNvaW5jaWRlbmNpYVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmaWx0ZXJWYWx1ZXNJbkRhdGE7XG4gIH1cblxuICBnZXRDb2x1bW5Db21wYXJpc29uVmFsdWUoY29sdW1uOiBPQ29sdW1uLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKCFjb2x1bW4gfHwgdGhpcy5jb2x1bW5zQ29tcGFyaXNvblByb3BlcnR5W2NvbHVtbi5hdHRyXSA9PT0gT1RhYmxlQ29sdW1uc0ZpbHRlckNvbXBvbmVudC5NT0RFTF9DT01QQVJJU09OX1RZUEUpIHtcbiAgICAgIHJldHVybiB2YWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjb2x1bW4ucmVuZGVyZXIgPyBjb2x1bW4ucmVuZGVyZXIuZ2V0Q2VsbERhdGEodmFsKSA6IHZhbDtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSBQYXJzaW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcGFyc2VDb2x1bW5zKGNvbHVtbnM6IHN0cmluZykge1xuICAgIHJldHVybiBjb2x1bW5zLnNwbGl0KCc7JylcbiAgICAgIC5tYXAoeCA9PiB7XG4gICAgICAgIGxldCBvYmo6IE9GaWx0ZXJDb2x1bW4gPSB7IGF0dHI6ICcnLCBzb3J0OiAnJywgc3RhcnRWaWV3OiAnJyB9O1xuICAgICAgICBvYmouYXR0ciA9IHg7XG4gICAgICAgIG9iai5zb3J0ID0gJyc7XG4gICAgICAgIG9iai5zdGFydFZpZXcgPSAnJztcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgIH0pO1xuICB9XG5cbiAgcGFyc2VGaWx0ZXJDb2x1bW5zKGNvbHVtbnM6IFF1ZXJ5TGlzdDxPVGFibGVDb2x1bW5zRmlsdGVyQ29sdW1uQ29tcG9uZW50Pikge1xuICAgIHJldHVybiBjb2x1bW5zXG4gICAgICAubWFwKHggPT4ge1xuICAgICAgICBsZXQgb2JqOiBPRmlsdGVyQ29sdW1uID0geyBhdHRyOiAnJywgc29ydDogJycsIHN0YXJ0VmlldzogJycsIHF1ZXJ5TWV0aG9kOiB2b2lkIDAgfTtcbiAgICAgICAgb2JqLmF0dHIgPSB4LmF0dHI7XG4gICAgICAgIG9iai5zb3J0ID0geC5zb3J0O1xuICAgICAgICBvYmouc3RhcnRWaWV3ID0geC5zdGFydFZpZXc7XG4gICAgICAgIG9iai5xdWVyeU1ldGhvZCA9IHgucXVlcnlNZXRob2Q7XG4gICAgICAgIGlmICh4LnNlcnZpY2UpIHtcbiAgICAgICAgICBvYmouc2VydmljZSA9IHguc2VydmljZVxuICAgICAgICB9XG4gICAgICAgIGlmICh4LnNlcnZpY2VUeXBlKSB7XG4gICAgICAgICAgb2JqLnNlcnZpY2VUeXBlID0geC5zZXJ2aWNlVHlwZVxuICAgICAgICB9XG4gICAgICAgIGlmICh4LnNlcGFyYXRvcikge1xuICAgICAgICAgIG9iai5zZXBhcmF0b3IgPSB4LnNlcGFyYXRvclxuICAgICAgICB9XG4gICAgICAgIGlmICh4LnZpc2libGVDb2x1bW5zKSB7XG4gICAgICAgICAgb2JqLnZpc2libGVDb2x1bW5zID0gVXRpbC5wYXJzZUFycmF5KHgudmlzaWJsZUNvbHVtbnMsIHRydWUpXG4gICAgICAgIH1cbiAgICAgICAgb2JqLmZpbHRlclZhbHVlc0luRGF0YSA9ICh4LmZpbHRlclZhbHVlc0luRGF0YSB8fCB0aGlzLmZpbHRlclZhbHVlc0luRGF0YSkgPz8gdGhpcy5nZXRGaWx0ZXJWYWx1ZXNJbkRhdGFCeURlZmF1bHQoKTtcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
@@ -36,8 +36,8 @@ export class OTableColumnsGroupingColumnComponent {
36
36
  };
37
37
  }
38
38
  }
39
- OTableColumnsGroupingColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableColumnsGroupingColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
- OTableColumnsGroupingColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OTableColumnsGroupingColumnComponent, selector: "o-table-columns-grouping-column", inputs: { attr: "attr", title: "title", aggregateName: ["aggregate-name", "aggregateName"], aggregate: "aggregate", aggregateFunction: ["aggregate-function", "aggregateFunction"], expandGroupsSameLevel: ["expand-groups-same-level", "expandGroupsSameLevel"], changeAggregateSameLevel: ["change-aggregate-same-level", "changeAggregateSameLevel"] }, ngImport: i0, template: ' ', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
+ OTableColumnsGroupingColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableColumnsGroupingColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
+ OTableColumnsGroupingColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OTableColumnsGroupingColumnComponent, selector: "o-table-columns-grouping-column", inputs: { attr: "attr", title: "title", aggregateName: ["aggregate-name", "aggregateName"], aggregate: "aggregate", aggregateFunction: ["aggregate-function", "aggregateFunction"], expandGroupsSameLevel: ["expand-groups-same-level", "expandGroupsSameLevel"], changeAggregateSameLevel: ["change-aggregate-same-level", "changeAggregateSameLevel"] }, ngImport: i0, template: ' ', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
41
  __decorate([
42
42
  BooleanInputConverter(),
43
43
  __metadata("design:type", Boolean)
@@ -46,7 +46,7 @@ __decorate([
46
46
  BooleanInputConverter(),
47
47
  __metadata("design:type", Boolean)
48
48
  ], OTableColumnsGroupingColumnComponent.prototype, "changeAggregateSameLevel", void 0);
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableColumnsGroupingColumnComponent, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableColumnsGroupingColumnComponent, decorators: [{
50
50
  type: Component,
51
51
  args: [{
52
52
  selector: 'o-table-columns-grouping-column',
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
55
55
  inputs: DEFAULT_INPUTS_O_TABLE_COLUMN_GROUPING_COLUMN
56
56
  }]
57
57
  }], propDecorators: { expandGroupsSameLevel: [], changeAggregateSameLevel: [] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jb2x1bW5zLWdyb3VwaW5nLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL2hlYWRlci90YWJsZS1jb2x1bW5zLWdyb3VwaW5nL2NvbHVtbnMvby10YWJsZS1jb2x1bW5zLWdyb3VwaW5nLWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFHckYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUVuRCxNQUFNLENBQUMsTUFBTSw2Q0FBNkMsR0FBRztJQUUzRCxNQUFNO0lBRU4sT0FBTztJQUVQLCtCQUErQjtJQUUvQixXQUFXO0lBRVgsdUNBQXVDO0lBRXZDLGlEQUFpRDtJQUVqRCx1REFBdUQ7Q0FDeEQsQ0FBQztBQVNGLE1BQU0sT0FBTyxvQ0FBb0M7SUFQakQ7UUFjRSwwQkFBcUIsR0FBWSxJQUFJLENBQUM7UUFFdEMsNkJBQXdCLEdBQVksSUFBSSxDQUFDO0tBc0IxQztJQXBCQyxJQUFJLFNBQVMsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDaEYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUI7U0FDMUMsQ0FBQTtJQUNILENBQUM7O2lJQTlCVSxvQ0FBb0M7cUhBQXBDLG9DQUFvQyxrYUFMckMsR0FBRztBQVdiO0lBQUMscUJBQXFCLEVBQUU7O21GQUNjO0FBQ3RDO0lBQUMscUJBQXFCLEVBQUU7O3NGQUNpQjsyRkFUOUIsb0NBQW9DO2tCQVBoRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLFFBQVEsRUFBRSxHQUFHO29CQUNiLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxNQUFNLEVBQUUsNkNBQTZDO2lCQUN0RDs4QkFTQyxxQkFBcUIsTUFFckIsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCb29sZWFuSW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9kZWNvcmF0b3JzL2lucHV0LWNvbnZlcnRlcic7XG5pbXBvcnQgeyBHcm91cGVkQ29sdW1uQWdncmVnYXRlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvby10YWJsZS1jb2x1bW5zLWdyb3VwaW5nLWludGVyZmFjZSc7XG5pbXBvcnQgeyBBZ2dyZWdhdGVGdW5jdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZ3JlZ2F0ZS1mdW5jdGlvbi50eXBlJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi91dGlsL3V0aWwnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlBVVFNfT19UQUJMRV9DT0xVTU5fR1JPVVBJTkdfQ09MVU1OID0gW1xuICAvLyBhdHRyIFtzdHJpbmddOiBjb2x1bW4gbmFtZS5cbiAgJ2F0dHInLFxuICAvLyB0aXRsZSBbc3RyaW5nXTogVGl0bGUgZm9yIHRoZSBoZWFkZXIgYWdncmVnYXRlIGNvbHVtblxuICAndGl0bGUnLFxuICAvLyBhZ2dyZWdhdGUtbmFtZSBbc3RyaW5nXTogTmFtZSBvZiB0aGUgYWdncmVnYXRlIG9wdGlvblxuICAnYWdncmVnYXRlTmFtZTogYWdncmVnYXRlLW5hbWUnLFxuICAvLyBhZ2dyZWdhdGUgW3N1bSB8IGNvdW50IHwgYXZnIHwgbWluIHxtYXhdXG4gICdhZ2dyZWdhdGUnLFxuICAvLyBmdW5jdGlvbi1hZ2dyZWdhdGUgWyAodmFsdWU6IGFueVtdKSA9PiBudW1iZXJdIEZ1bmN0aW9uIHRoYXQgY2FsY3VsYXRlcyBhIHZhbHVlIG9uIHRoZSB2YWx1ZXMgb2YgdGhlIGNvbHVtbiAnYXR0cidcbiAgJ2FnZ3JlZ2F0ZUZ1bmN0aW9uOiBhZ2dyZWdhdGUtZnVuY3Rpb24nLFxuICAvLyBleHBhbmQtZ3JvdXBzLXNhbWUtbGV2ZWxbYm9vbGVhbl06IEluZGljYXRlcyBpZiBjbGljayBpbiByb3cgZXhwYW5kcy9jb2xsYXBzZXMgYWxsIHJvd3Mgb24gc2FtZSBsZXZlbC4gQnkgZGVmYXVsdDogdHJ1ZVxuICAnZXhwYW5kR3JvdXBzU2FtZUxldmVsOiBleHBhbmQtZ3JvdXBzLXNhbWUtbGV2ZWwnLFxuICAvLyBhZ2dyZWdhdGUgW2Jvb2xlYW5dXG4gICdjaGFuZ2VBZ2dyZWdhdGVTYW1lTGV2ZWw6IGNoYW5nZS1hZ2dyZWdhdGUtc2FtZS1sZXZlbCcsXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLXRhYmxlLWNvbHVtbnMtZ3JvdXBpbmctY29sdW1uJyxcbiAgdGVtcGxhdGU6ICcgJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19UQUJMRV9DT0xVTU5fR1JPVVBJTkdfQ09MVU1OXG59KVxuXG5leHBvcnQgY2xhc3MgT1RhYmxlQ29sdW1uc0dyb3VwaW5nQ29sdW1uQ29tcG9uZW50IHtcbiAgcHVibGljIGF0dHI6IHN0cmluZztcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBhZ2dyZWdhdGVOYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgX2FnZ3JlZ2F0ZTogc3RyaW5nO1xuICBwdWJsaWMgYWdncmVnYXRlRnVuY3Rpb246IEFnZ3JlZ2F0ZUZ1bmN0aW9uO1xuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgZXhwYW5kR3JvdXBzU2FtZUxldmVsOiBib29sZWFuID0gdHJ1ZTtcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIGNoYW5nZUFnZ3JlZ2F0ZVNhbWVMZXZlbDogYm9vbGVhbiA9IHRydWU7XG5cbiAgc2V0IGFnZ3JlZ2F0ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fYWdncmVnYXRlID0gdmFsdWU7XG4gIH1cblxuICBnZXQgYWdncmVnYXRlKCk6IHN0cmluZyB7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuYWdncmVnYXRlRnVuY3Rpb24pICYmIFV0aWwuaXNEZWZpbmVkKHRoaXMuYWdncmVnYXRlTmFtZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmFnZ3JlZ2F0ZU5hbWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9hZ2dyZWdhdGU7XG4gIH1cblxuICBnZXRBZ2dyZWdhdGVDb25maWd1cmF0aW9uKCk6IEdyb3VwZWRDb2x1bW5BZ2dyZWdhdGVDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgYXR0cjogdGhpcy5hdHRyLFxuICAgICAgdGl0bGU6IHRoaXMudGl0bGUsXG4gICAgICBhZ2dyZWdhdGVOYW1lOiB0aGlzLmFnZ3JlZ2F0ZU5hbWUsXG4gICAgICBhZ2dyZWdhdGU6IHRoaXMuYWdncmVnYXRlLFxuICAgICAgYWdncmVnYXRlRnVuY3Rpb246IHRoaXMuYWdncmVnYXRlRnVuY3Rpb25cbiAgICB9XG4gIH1cbn1cbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jb2x1bW5zLWdyb3VwaW5nLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL2hlYWRlci90YWJsZS1jb2x1bW5zLWdyb3VwaW5nL2NvbHVtbnMvby10YWJsZS1jb2x1bW5zLWdyb3VwaW5nLWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFHckYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUVuRCxNQUFNLENBQUMsTUFBTSw2Q0FBNkMsR0FBRztJQUUzRCxNQUFNO0lBRU4sT0FBTztJQUVQLCtCQUErQjtJQUUvQixXQUFXO0lBRVgsdUNBQXVDO0lBRXZDLGlEQUFpRDtJQUVqRCx1REFBdUQ7Q0FDeEQsQ0FBQztBQVNGLE1BQU0sT0FBTyxvQ0FBb0M7SUFQakQ7UUFjRSwwQkFBcUIsR0FBWSxJQUFJLENBQUM7UUFFdEMsNkJBQXdCLEdBQVksSUFBSSxDQUFDO0tBc0IxQztJQXBCQyxJQUFJLFNBQVMsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDaEYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUI7U0FDMUMsQ0FBQTtJQUNILENBQUM7O2tJQTlCVSxvQ0FBb0M7c0hBQXBDLG9DQUFvQyxrYUFMckMsR0FBRztBQVdiO0lBQUMscUJBQXFCLEVBQUU7O21GQUNjO0FBQ3RDO0lBQUMscUJBQXFCLEVBQUU7O3NGQUNpQjs0RkFUOUIsb0NBQW9DO2tCQVBoRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLFFBQVEsRUFBRSxHQUFHO29CQUNiLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxNQUFNLEVBQUUsNkNBQTZDO2lCQUN0RDs4QkFTQyxxQkFBcUIsTUFFckIsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCb29sZWFuSW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9kZWNvcmF0b3JzL2lucHV0LWNvbnZlcnRlcic7XG5pbXBvcnQgeyBHcm91cGVkQ29sdW1uQWdncmVnYXRlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvby10YWJsZS1jb2x1bW5zLWdyb3VwaW5nLWludGVyZmFjZSc7XG5pbXBvcnQgeyBBZ2dyZWdhdGVGdW5jdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZ3JlZ2F0ZS1mdW5jdGlvbi50eXBlJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi91dGlsL3V0aWwnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlBVVFNfT19UQUJMRV9DT0xVTU5fR1JPVVBJTkdfQ09MVU1OID0gW1xuICAvLyBhdHRyIFtzdHJpbmddOiBjb2x1bW4gbmFtZS5cbiAgJ2F0dHInLFxuICAvLyB0aXRsZSBbc3RyaW5nXTogVGl0bGUgZm9yIHRoZSBoZWFkZXIgYWdncmVnYXRlIGNvbHVtblxuICAndGl0bGUnLFxuICAvLyBhZ2dyZWdhdGUtbmFtZSBbc3RyaW5nXTogTmFtZSBvZiB0aGUgYWdncmVnYXRlIG9wdGlvblxuICAnYWdncmVnYXRlTmFtZTogYWdncmVnYXRlLW5hbWUnLFxuICAvLyBhZ2dyZWdhdGUgW3N1bSB8IGNvdW50IHwgYXZnIHwgbWluIHxtYXhdXG4gICdhZ2dyZWdhdGUnLFxuICAvLyBmdW5jdGlvbi1hZ2dyZWdhdGUgWyAodmFsdWU6IGFueVtdKSA9PiBudW1iZXJdIEZ1bmN0aW9uIHRoYXQgY2FsY3VsYXRlcyBhIHZhbHVlIG9uIHRoZSB2YWx1ZXMgb2YgdGhlIGNvbHVtbiAnYXR0cidcbiAgJ2FnZ3JlZ2F0ZUZ1bmN0aW9uOiBhZ2dyZWdhdGUtZnVuY3Rpb24nLFxuICAvLyBleHBhbmQtZ3JvdXBzLXNhbWUtbGV2ZWxbYm9vbGVhbl06IEluZGljYXRlcyBpZiBjbGljayBpbiByb3cgZXhwYW5kcy9jb2xsYXBzZXMgYWxsIHJvd3Mgb24gc2FtZSBsZXZlbC4gQnkgZGVmYXVsdDogdHJ1ZVxuICAnZXhwYW5kR3JvdXBzU2FtZUxldmVsOiBleHBhbmQtZ3JvdXBzLXNhbWUtbGV2ZWwnLFxuICAvLyBhZ2dyZWdhdGUgW2Jvb2xlYW5dXG4gICdjaGFuZ2VBZ2dyZWdhdGVTYW1lTGV2ZWw6IGNoYW5nZS1hZ2dyZWdhdGUtc2FtZS1sZXZlbCcsXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLXRhYmxlLWNvbHVtbnMtZ3JvdXBpbmctY29sdW1uJyxcbiAgdGVtcGxhdGU6ICcgJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19UQUJMRV9DT0xVTU5fR1JPVVBJTkdfQ09MVU1OXG59KVxuXG5leHBvcnQgY2xhc3MgT1RhYmxlQ29sdW1uc0dyb3VwaW5nQ29sdW1uQ29tcG9uZW50IHtcbiAgcHVibGljIGF0dHI6IHN0cmluZztcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBhZ2dyZWdhdGVOYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgX2FnZ3JlZ2F0ZTogc3RyaW5nO1xuICBwdWJsaWMgYWdncmVnYXRlRnVuY3Rpb246IEFnZ3JlZ2F0ZUZ1bmN0aW9uO1xuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgZXhwYW5kR3JvdXBzU2FtZUxldmVsOiBib29sZWFuID0gdHJ1ZTtcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIGNoYW5nZUFnZ3JlZ2F0ZVNhbWVMZXZlbDogYm9vbGVhbiA9IHRydWU7XG5cbiAgc2V0IGFnZ3JlZ2F0ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fYWdncmVnYXRlID0gdmFsdWU7XG4gIH1cblxuICBnZXQgYWdncmVnYXRlKCk6IHN0cmluZyB7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuYWdncmVnYXRlRnVuY3Rpb24pICYmIFV0aWwuaXNEZWZpbmVkKHRoaXMuYWdncmVnYXRlTmFtZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmFnZ3JlZ2F0ZU5hbWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9hZ2dyZWdhdGU7XG4gIH1cblxuICBnZXRBZ2dyZWdhdGVDb25maWd1cmF0aW9uKCk6IEdyb3VwZWRDb2x1bW5BZ2dyZWdhdGVDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgYXR0cjogdGhpcy5hdHRyLFxuICAgICAgdGl0bGU6IHRoaXMudGl0bGUsXG4gICAgICBhZ2dyZWdhdGVOYW1lOiB0aGlzLmFnZ3JlZ2F0ZU5hbWUsXG4gICAgICBhZ2dyZWdhdGU6IHRoaXMuYWdncmVnYXRlLFxuICAgICAgYWdncmVnYXRlRnVuY3Rpb246IHRoaXMuYWdncmVnYXRlRnVuY3Rpb25cbiAgICB9XG4gIH1cbn1cbiJdfQ==