igniteui-angular 16.0.0-beta.2 → 16.0.0-beta.4

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 (349) hide show
  1. package/esm2022/lib/accordion/accordion.component.mjs +4 -4
  2. package/esm2022/lib/accordion/accordion.module.mjs +5 -5
  3. package/esm2022/lib/action-strip/action-strip.component.mjs +7 -7
  4. package/esm2022/lib/action-strip/action-strip.module.mjs +5 -5
  5. package/esm2022/lib/action-strip/grid-actions/grid-action-button.component.mjs +4 -4
  6. package/esm2022/lib/action-strip/grid-actions/grid-actions-base.directive.mjs +4 -4
  7. package/esm2022/lib/action-strip/grid-actions/grid-editing-actions.component.mjs +4 -4
  8. package/esm2022/lib/action-strip/grid-actions/grid-pinning-actions.component.mjs +4 -4
  9. package/esm2022/lib/avatar/avatar.component.mjs +4 -4
  10. package/esm2022/lib/avatar/avatar.module.mjs +5 -5
  11. package/esm2022/lib/badge/badge.component.mjs +4 -4
  12. package/esm2022/lib/badge/badge.module.mjs +5 -5
  13. package/esm2022/lib/banner/banner.component.mjs +4 -4
  14. package/esm2022/lib/banner/banner.directives.mjs +4 -4
  15. package/esm2022/lib/banner/banner.module.mjs +5 -5
  16. package/esm2022/lib/buttonGroup/buttonGroup.component.mjs +4 -4
  17. package/esm2022/lib/buttonGroup/buttongroup.module.mjs +5 -5
  18. package/esm2022/lib/calendar/calendar-base.mjs +4 -4
  19. package/esm2022/lib/calendar/calendar.component.mjs +4 -4
  20. package/esm2022/lib/calendar/calendar.directives.mjs +16 -16
  21. package/esm2022/lib/calendar/calendar.module.mjs +5 -5
  22. package/esm2022/lib/calendar/days-view/day-item.component.mjs +4 -4
  23. package/esm2022/lib/calendar/days-view/days-view.component.mjs +4 -4
  24. package/esm2022/lib/calendar/days-view/daysview-navigation.service.mjs +4 -4
  25. package/esm2022/lib/calendar/month-picker/month-picker-base.mjs +4 -4
  26. package/esm2022/lib/calendar/month-picker/month-picker.component.mjs +4 -4
  27. package/esm2022/lib/calendar/months-view/months-view.component.mjs +4 -4
  28. package/esm2022/lib/calendar/months-view.pipe.mjs +7 -7
  29. package/esm2022/lib/calendar/years-view/years-view.component.mjs +7 -7
  30. package/esm2022/lib/card/card.component.mjs +28 -28
  31. package/esm2022/lib/card/card.module.mjs +5 -5
  32. package/esm2022/lib/carousel/carousel.component.mjs +7 -7
  33. package/esm2022/lib/carousel/carousel.directives.mjs +10 -10
  34. package/esm2022/lib/carousel/carousel.module.mjs +5 -5
  35. package/esm2022/lib/carousel/slide.component.mjs +4 -4
  36. package/esm2022/lib/checkbox/checkbox.component.mjs +4 -4
  37. package/esm2022/lib/checkbox/checkbox.module.mjs +5 -5
  38. package/esm2022/lib/chips/chip.component.mjs +4 -4
  39. package/esm2022/lib/chips/chips-area.component.mjs +4 -4
  40. package/esm2022/lib/chips/chips.module.mjs +5 -5
  41. package/esm2022/lib/combo/combo-add-item.component.mjs +4 -4
  42. package/esm2022/lib/combo/combo-dropdown.component.mjs +4 -4
  43. package/esm2022/lib/combo/combo-item.component.mjs +4 -4
  44. package/esm2022/lib/combo/combo.api.mjs +4 -4
  45. package/esm2022/lib/combo/combo.common.mjs +4 -4
  46. package/esm2022/lib/combo/combo.component.mjs +4 -4
  47. package/esm2022/lib/combo/combo.directives.mjs +25 -25
  48. package/esm2022/lib/combo/combo.module.mjs +5 -5
  49. package/esm2022/lib/combo/combo.pipes.mjs +7 -7
  50. package/esm2022/lib/core/density.mjs +4 -4
  51. package/esm2022/lib/core/navigation/directives.mjs +7 -7
  52. package/esm2022/lib/core/navigation/nav.service.mjs +4 -4
  53. package/esm2022/lib/core/selection.mjs +4 -4
  54. package/esm2022/lib/core/touch.mjs +4 -4
  55. package/esm2022/lib/core/utils.mjs +4 -4
  56. package/esm2022/lib/date-common/calendar-container/calendar-container.component.mjs +4 -4
  57. package/esm2022/lib/date-common/picker-base.directive.mjs +4 -4
  58. package/esm2022/lib/date-common/picker-icons.common.mjs +10 -10
  59. package/esm2022/lib/date-picker/date-picker.component.mjs +4 -4
  60. package/esm2022/lib/date-picker/date-picker.module.mjs +5 -5
  61. package/esm2022/lib/date-range-picker/date-range-picker-inputs.common.mjs +16 -16
  62. package/esm2022/lib/date-range-picker/date-range-picker.component.mjs +4 -4
  63. package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +5 -5
  64. package/esm2022/lib/dialog/dialog.component.mjs +4 -4
  65. package/esm2022/lib/dialog/dialog.directives.mjs +7 -7
  66. package/esm2022/lib/dialog/dialog.module.mjs +5 -5
  67. package/esm2022/lib/directives/autocomplete/autocomplete.directive.mjs +4 -4
  68. package/esm2022/lib/directives/autocomplete/autocomplete.module.mjs +5 -5
  69. package/esm2022/lib/directives/button/button.directive.mjs +4 -4
  70. package/esm2022/lib/directives/button/button.module.mjs +5 -5
  71. package/esm2022/lib/directives/date-time-editor/date-time-editor.directive.mjs +4 -4
  72. package/esm2022/lib/directives/date-time-editor/date-time-editor.module.mjs +5 -5
  73. package/esm2022/lib/directives/divider/divider.directive.mjs +4 -4
  74. package/esm2022/lib/directives/divider/divider.module.mjs +5 -5
  75. package/esm2022/lib/directives/drag-drop/drag-drop.directive.mjs +13 -13
  76. package/esm2022/lib/directives/drag-drop/drag-drop.module.mjs +5 -5
  77. package/esm2022/lib/directives/filter/filter.directive.mjs +7 -7
  78. package/esm2022/lib/directives/filter/filter.module.mjs +5 -5
  79. package/esm2022/lib/directives/focus/focus.directive.mjs +4 -4
  80. package/esm2022/lib/directives/focus/focus.module.mjs +5 -5
  81. package/esm2022/lib/directives/focus-trap/focus-trap.directive.mjs +4 -4
  82. package/esm2022/lib/directives/focus-trap/focus-trap.module.mjs +5 -5
  83. package/esm2022/lib/directives/for-of/base.helper.component.mjs +4 -4
  84. package/esm2022/lib/directives/for-of/display.container.mjs +4 -4
  85. package/esm2022/lib/directives/for-of/for_of.directive.mjs +7 -7
  86. package/esm2022/lib/directives/for-of/for_of.module.mjs +5 -5
  87. package/esm2022/lib/directives/for-of/for_of.sync.service.mjs +7 -7
  88. package/esm2022/lib/directives/for-of/horizontal.virtual.helper.component.mjs +4 -4
  89. package/esm2022/lib/directives/for-of/virtual.helper.component.mjs +4 -4
  90. package/esm2022/lib/directives/form-control/form-control.directive.mjs +4 -4
  91. package/esm2022/lib/directives/form-control/form-control.module.mjs +5 -5
  92. package/esm2022/lib/directives/hint/hint.directive.mjs +4 -4
  93. package/esm2022/lib/directives/input/input.directive.mjs +14 -4
  94. package/esm2022/lib/directives/label/label.directive.mjs +4 -4
  95. package/esm2022/lib/directives/layout/layout.directive.mjs +7 -7
  96. package/esm2022/lib/directives/layout/layout.module.mjs +5 -5
  97. package/esm2022/lib/directives/mask/mask-parsing.service.mjs +4 -4
  98. package/esm2022/lib/directives/mask/mask.directive.mjs +4 -4
  99. package/esm2022/lib/directives/mask/mask.module.mjs +5 -5
  100. package/esm2022/lib/directives/notification/notifications.directive.mjs +4 -4
  101. package/esm2022/lib/directives/prefix/prefix.directive.mjs +4 -4
  102. package/esm2022/lib/directives/radio/radio-group.directive.mjs +4 -4
  103. package/esm2022/lib/directives/radio/radio-group.module.mjs +5 -5
  104. package/esm2022/lib/directives/ripple/ripple.directive.mjs +4 -4
  105. package/esm2022/lib/directives/ripple/ripple.module.mjs +5 -5
  106. package/esm2022/lib/directives/scroll-inertia/scroll_inertia.directive.mjs +4 -4
  107. package/esm2022/lib/directives/scroll-inertia/scroll_inertia.module.mjs +5 -5
  108. package/esm2022/lib/directives/suffix/suffix.directive.mjs +4 -4
  109. package/esm2022/lib/directives/template-outlet/template_outlet.directive.mjs +4 -4
  110. package/esm2022/lib/directives/text-highlight/text-highlight.directive.mjs +4 -4
  111. package/esm2022/lib/directives/text-highlight/text-highlight.module.mjs +5 -5
  112. package/esm2022/lib/directives/text-selection/text-selection.directive.mjs +4 -4
  113. package/esm2022/lib/directives/text-selection/text-selection.module.mjs +5 -5
  114. package/esm2022/lib/directives/toggle/toggle.directive.mjs +10 -10
  115. package/esm2022/lib/directives/toggle/toggle.module.mjs +5 -5
  116. package/esm2022/lib/directives/tooltip/tooltip-target.directive.mjs +4 -4
  117. package/esm2022/lib/directives/tooltip/tooltip.component.mjs +4 -4
  118. package/esm2022/lib/directives/tooltip/tooltip.directive.mjs +4 -4
  119. package/esm2022/lib/directives/tooltip/tooltip.module.mjs +5 -5
  120. package/esm2022/lib/drop-down/drop-down-group.component.mjs +4 -4
  121. package/esm2022/lib/drop-down/drop-down-item.base.mjs +4 -4
  122. package/esm2022/lib/drop-down/drop-down-item.component.mjs +4 -4
  123. package/esm2022/lib/drop-down/drop-down-navigation.directive.mjs +4 -4
  124. package/esm2022/lib/drop-down/drop-down.base.mjs +4 -4
  125. package/esm2022/lib/drop-down/drop-down.component.mjs +4 -4
  126. package/esm2022/lib/drop-down/drop-down.module.mjs +5 -5
  127. package/esm2022/lib/expansion-panel/expansion-panel-body.component.mjs +4 -4
  128. package/esm2022/lib/expansion-panel/expansion-panel-header.component.mjs +4 -4
  129. package/esm2022/lib/expansion-panel/expansion-panel.common.mjs +4 -4
  130. package/esm2022/lib/expansion-panel/expansion-panel.component.mjs +4 -4
  131. package/esm2022/lib/expansion-panel/expansion-panel.directives.mjs +10 -10
  132. package/esm2022/lib/expansion-panel/expansion-panel.module.mjs +5 -5
  133. package/esm2022/lib/expansion-panel/toggle-animation-component.mjs +4 -4
  134. package/esm2022/lib/grids/api.service.mjs +4 -4
  135. package/esm2022/lib/grids/cell.component.mjs +4 -4
  136. package/esm2022/lib/grids/column-actions/column-actions-base.directive.mjs +4 -4
  137. package/esm2022/lib/grids/column-actions/column-actions.component.mjs +13 -13
  138. package/esm2022/lib/grids/column-actions/column-hiding.directive.mjs +4 -4
  139. package/esm2022/lib/grids/column-actions/column-pinning.directive.mjs +4 -4
  140. package/esm2022/lib/grids/column-actions/public_api.mjs +13 -0
  141. package/esm2022/lib/grids/columns/column-group.component.mjs +4 -4
  142. package/esm2022/lib/grids/columns/column-layout.component.mjs +4 -4
  143. package/esm2022/lib/grids/columns/column.component.mjs +4 -4
  144. package/esm2022/lib/grids/columns/templates.directive.mjs +25 -25
  145. package/esm2022/lib/grids/columns/validators.directive.mjs +22 -22
  146. package/esm2022/lib/grids/common/crud.service.mjs +4 -4
  147. package/esm2022/lib/grids/common/pipes.mjs +55 -55
  148. package/esm2022/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.mjs +4 -4
  149. package/esm2022/lib/grids/filtering/base/grid-filtering-cell.component.mjs +4 -4
  150. package/esm2022/lib/grids/filtering/base/grid-filtering-row.component.mjs +4 -4
  151. package/esm2022/lib/grids/filtering/excel-style/base-filtering.component.mjs +4 -4
  152. package/esm2022/lib/grids/filtering/excel-style/excel-style-clear-filters.component.mjs +4 -4
  153. package/esm2022/lib/grids/filtering/excel-style/excel-style-conditional-filter.component.mjs +4 -4
  154. package/esm2022/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.mjs +4 -4
  155. package/esm2022/lib/grids/filtering/excel-style/excel-style-date-expression.component.mjs +4 -4
  156. package/esm2022/lib/grids/filtering/excel-style/excel-style-default-expression.component.mjs +4 -4
  157. package/esm2022/lib/grids/filtering/excel-style/excel-style-filtering.component.mjs +10 -10
  158. package/esm2022/lib/grids/filtering/excel-style/excel-style-header.component.mjs +4 -4
  159. package/esm2022/lib/grids/filtering/excel-style/excel-style-hiding.component.mjs +4 -4
  160. package/esm2022/lib/grids/filtering/excel-style/excel-style-moving.component.mjs +4 -4
  161. package/esm2022/lib/grids/filtering/excel-style/excel-style-pinning.component.mjs +4 -4
  162. package/esm2022/lib/grids/filtering/excel-style/excel-style-search.component.mjs +7 -7
  163. package/esm2022/lib/grids/filtering/excel-style/excel-style-selecting.component.mjs +4 -4
  164. package/esm2022/lib/grids/filtering/excel-style/excel-style-sorting.component.mjs +4 -4
  165. package/esm2022/lib/grids/filtering/grid-filtering.service.mjs +4 -4
  166. package/esm2022/lib/grids/grid/expandable-cell.component.mjs +4 -4
  167. package/esm2022/lib/grids/grid/grid-api.service.mjs +4 -4
  168. package/esm2022/lib/grids/grid/grid-row.component.mjs +4 -4
  169. package/esm2022/lib/grids/grid/grid-validation.service.mjs +4 -4
  170. package/esm2022/lib/grids/grid/grid.component.mjs +5 -6
  171. package/esm2022/lib/grids/grid/grid.details.pipe.mjs +4 -4
  172. package/esm2022/lib/grids/grid/grid.directives.mjs +34 -34
  173. package/esm2022/lib/grids/grid/grid.module.mjs +27 -24
  174. package/esm2022/lib/grids/grid/grid.pipes.mjs +13 -13
  175. package/esm2022/lib/grids/grid/grid.summary.pipe.mjs +4 -4
  176. package/esm2022/lib/grids/grid/groupby-row.component.mjs +4 -4
  177. package/esm2022/lib/grids/grid-base.directive.mjs +4 -4
  178. package/esm2022/lib/grids/grid-footer/grid-footer.component.mjs +4 -4
  179. package/esm2022/lib/grids/grid-mrl-navigation.service.mjs +4 -4
  180. package/esm2022/lib/grids/grid-navigation.service.mjs +4 -4
  181. package/esm2022/lib/grids/grid.common.mjs +4 -4
  182. package/esm2022/lib/grids/grid.rowEdit.directive.mjs +16 -16
  183. package/esm2022/lib/grids/grouping/grid-group-by-area.component.mjs +4 -4
  184. package/esm2022/lib/grids/grouping/group-by-area.directive.mjs +7 -7
  185. package/esm2022/lib/grids/grouping/tree-grid-group-by-area.component.mjs +4 -4
  186. package/esm2022/lib/grids/headers/grid-header-group.component.mjs +4 -4
  187. package/esm2022/lib/grids/headers/grid-header-row.component.mjs +4 -4
  188. package/esm2022/lib/grids/headers/grid-header.component.mjs +4 -4
  189. package/esm2022/lib/grids/headers/pipes.mjs +10 -10
  190. package/esm2022/lib/grids/hierarchical-grid/hierarchical-cell.component.mjs +4 -4
  191. package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid-api.service.mjs +4 -4
  192. package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.mjs +4 -4
  193. package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.mjs +4 -4
  194. package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.component.mjs +7 -7
  195. package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.module.mjs +27 -24
  196. package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.pipes.mjs +7 -7
  197. package/esm2022/lib/grids/hierarchical-grid/hierarchical-row.component.mjs +4 -4
  198. package/esm2022/lib/grids/hierarchical-grid/row-island-api.service.mjs +4 -4
  199. package/esm2022/lib/grids/hierarchical-grid/row-island.component.mjs +4 -4
  200. package/esm2022/lib/grids/moving/moving.drag.directive.mjs +4 -4
  201. package/esm2022/lib/grids/moving/moving.drop.directive.mjs +4 -4
  202. package/esm2022/lib/grids/moving/moving.service.mjs +4 -4
  203. package/esm2022/lib/grids/pivot-grid/pivot-data-selector.component.mjs +4 -4
  204. package/esm2022/lib/grids/pivot-grid/pivot-filtering.service.mjs +4 -4
  205. package/esm2022/lib/grids/pivot-grid/pivot-grid-navigation.service.mjs +4 -4
  206. package/esm2022/lib/grids/pivot-grid/pivot-grid.component.mjs +4 -4
  207. package/esm2022/lib/grids/pivot-grid/pivot-grid.directives.mjs +4 -4
  208. package/esm2022/lib/grids/pivot-grid/pivot-grid.module.mjs +27 -24
  209. package/esm2022/lib/grids/pivot-grid/pivot-grid.pipes.mjs +31 -31
  210. package/esm2022/lib/grids/pivot-grid/pivot-header-row.component.mjs +4 -4
  211. package/esm2022/lib/grids/pivot-grid/pivot-row-dimension-content.component.mjs +4 -4
  212. package/esm2022/lib/grids/pivot-grid/pivot-row-dimension-header-group.component.mjs +4 -4
  213. package/esm2022/lib/grids/pivot-grid/pivot-row-dimension-header.component.mjs +4 -4
  214. package/esm2022/lib/grids/pivot-grid/pivot-row.component.mjs +4 -4
  215. package/esm2022/lib/grids/public_api.mjs +5 -2
  216. package/esm2022/lib/grids/resizing/pivot-grid/pivot-resize-handle.directive.mjs +4 -4
  217. package/esm2022/lib/grids/resizing/pivot-grid/pivot-resizer.component.mjs +4 -4
  218. package/esm2022/lib/grids/resizing/pivot-grid/pivot-resizing.service.mjs +4 -4
  219. package/esm2022/lib/grids/resizing/resize-handle.directive.mjs +4 -4
  220. package/esm2022/lib/grids/resizing/resizer.component.mjs +4 -4
  221. package/esm2022/lib/grids/resizing/resizer.directive.mjs +4 -4
  222. package/esm2022/lib/grids/resizing/resizing.service.mjs +4 -4
  223. package/esm2022/lib/grids/row-drag.directive.mjs +10 -10
  224. package/esm2022/lib/grids/row.directive.mjs +4 -4
  225. package/esm2022/lib/grids/selection/drag-select.directive.mjs +4 -4
  226. package/esm2022/lib/grids/selection/row-selectors.mjs +10 -10
  227. package/esm2022/lib/grids/selection/selection.service.mjs +4 -4
  228. package/esm2022/lib/grids/state.directive.mjs +4 -4
  229. package/esm2022/lib/grids/summaries/grid-root-summary.pipe.mjs +4 -4
  230. package/esm2022/lib/grids/summaries/grid-summary.service.mjs +4 -4
  231. package/esm2022/lib/grids/summaries/summary-cell.component.mjs +4 -4
  232. package/esm2022/lib/grids/summaries/summary-row.component.mjs +4 -4
  233. package/esm2022/lib/grids/toolbar/common.mjs +16 -16
  234. package/esm2022/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.mjs +4 -4
  235. package/esm2022/lib/grids/toolbar/grid-toolbar-exporter.component.mjs +4 -4
  236. package/esm2022/lib/grids/toolbar/grid-toolbar-hiding.component.mjs +4 -4
  237. package/esm2022/lib/grids/toolbar/grid-toolbar-pinning.component.mjs +4 -4
  238. package/esm2022/lib/grids/toolbar/grid-toolbar.base.mjs +7 -7
  239. package/esm2022/lib/grids/toolbar/grid-toolbar.component.mjs +4 -4
  240. package/esm2022/lib/grids/tree-grid/public_api.mjs +7 -1
  241. package/esm2022/lib/grids/tree-grid/tree-cell.component.mjs +4 -4
  242. package/esm2022/lib/grids/tree-grid/tree-grid-api.service.mjs +4 -4
  243. package/esm2022/lib/grids/tree-grid/tree-grid-row.component.mjs +4 -4
  244. package/esm2022/lib/grids/tree-grid/tree-grid-selection.service.mjs +4 -4
  245. package/esm2022/lib/grids/tree-grid/tree-grid.component.mjs +4 -4
  246. package/esm2022/lib/grids/tree-grid/tree-grid.directives.mjs +4 -4
  247. package/esm2022/lib/grids/tree-grid/tree-grid.filtering.pipe.mjs +4 -4
  248. package/esm2022/lib/grids/tree-grid/tree-grid.grouping.pipe.mjs +4 -4
  249. package/esm2022/lib/grids/tree-grid/tree-grid.module.mjs +44 -39
  250. package/esm2022/lib/grids/tree-grid/tree-grid.pipes.mjs +22 -22
  251. package/esm2022/lib/grids/tree-grid/tree-grid.summary.pipe.mjs +4 -4
  252. package/esm2022/lib/icon/icon.component.mjs +4 -4
  253. package/esm2022/lib/icon/icon.module.mjs +5 -5
  254. package/esm2022/lib/icon/icon.service.mjs +4 -4
  255. package/esm2022/lib/input-group/input-group.component.mjs +4 -4
  256. package/esm2022/lib/input-group/input-group.module.mjs +5 -5
  257. package/esm2022/lib/list/list-item.component.mjs +4 -4
  258. package/esm2022/lib/list/list.common.mjs +16 -16
  259. package/esm2022/lib/list/list.component.mjs +19 -19
  260. package/esm2022/lib/list/list.module.mjs +5 -5
  261. package/esm2022/lib/navbar/navbar.component.mjs +10 -10
  262. package/esm2022/lib/navbar/navbar.module.mjs +5 -5
  263. package/esm2022/lib/navigation-drawer/navigation-drawer.component.mjs +4 -4
  264. package/esm2022/lib/navigation-drawer/navigation-drawer.directives.mjs +10 -10
  265. package/esm2022/lib/navigation-drawer/navigation-drawer.module.mjs +5 -5
  266. package/esm2022/lib/paginator/paginator-interfaces.mjs +4 -4
  267. package/esm2022/lib/paginator/paginator.component.mjs +13 -13
  268. package/esm2022/lib/paginator/paginator.module.mjs +5 -5
  269. package/esm2022/lib/progressbar/progressbar.common.mjs +7 -7
  270. package/esm2022/lib/progressbar/progressbar.component.mjs +10 -10
  271. package/esm2022/lib/progressbar/progressbar.module.mjs +5 -5
  272. package/esm2022/lib/query-builder/query-builder-header.component.mjs +4 -4
  273. package/esm2022/lib/query-builder/query-builder.component.mjs +7 -7
  274. package/esm2022/lib/query-builder/query-builder.module.mjs +5 -5
  275. package/esm2022/lib/radio/radio.component.mjs +4 -4
  276. package/esm2022/lib/select/select-group.component.mjs +4 -4
  277. package/esm2022/lib/select/select-item.component.mjs +4 -4
  278. package/esm2022/lib/select/select-navigation.directive.mjs +4 -4
  279. package/esm2022/lib/select/select.component.mjs +13 -13
  280. package/esm2022/lib/select/select.module.mjs +5 -5
  281. package/esm2022/lib/services/animation/angular-animation-service.mjs +4 -4
  282. package/esm2022/lib/services/csv/csv-exporter.mjs +4 -4
  283. package/esm2022/lib/services/direction/directionality.mjs +4 -4
  284. package/esm2022/lib/services/excel/excel-exporter.mjs +4 -4
  285. package/esm2022/lib/services/overlay/overlay.mjs +4 -4
  286. package/esm2022/lib/services/transaction/transaction-factory.service.mjs +7 -7
  287. package/esm2022/lib/simple-combo/simple-combo.component.mjs +4 -4
  288. package/esm2022/lib/simple-combo/simple-combo.module.mjs +5 -5
  289. package/esm2022/lib/slider/label/thumb-label.component.mjs +4 -4
  290. package/esm2022/lib/slider/slider.common.mjs +10 -10
  291. package/esm2022/lib/slider/slider.component.mjs +4 -4
  292. package/esm2022/lib/slider/slider.module.mjs +5 -5
  293. package/esm2022/lib/slider/thumb/thumb-slider.component.mjs +4 -4
  294. package/esm2022/lib/slider/ticks/tick.pipe.mjs +4 -4
  295. package/esm2022/lib/slider/ticks/ticks.component.mjs +4 -4
  296. package/esm2022/lib/snackbar/snackbar.component.mjs +4 -4
  297. package/esm2022/lib/snackbar/snackbar.module.mjs +5 -5
  298. package/esm2022/lib/splitter/splitter-pane/splitter-pane.component.mjs +4 -4
  299. package/esm2022/lib/splitter/splitter.component.mjs +7 -7
  300. package/esm2022/lib/splitter/splitter.module.mjs +5 -5
  301. package/esm2022/lib/stepper/step/step.component.mjs +4 -4
  302. package/esm2022/lib/stepper/stepper.component.mjs +4 -4
  303. package/esm2022/lib/stepper/stepper.directive.mjs +22 -22
  304. package/esm2022/lib/stepper/stepper.module.mjs +5 -5
  305. package/esm2022/lib/stepper/stepper.service.mjs +4 -4
  306. package/esm2022/lib/switch/switch.component.mjs +4 -4
  307. package/esm2022/lib/switch/switch.module.mjs +5 -5
  308. package/esm2022/lib/tabs/bottom-nav/bottom-nav-content.component.mjs +4 -4
  309. package/esm2022/lib/tabs/bottom-nav/bottom-nav-header.component.mjs +4 -4
  310. package/esm2022/lib/tabs/bottom-nav/bottom-nav-item.component.mjs +4 -4
  311. package/esm2022/lib/tabs/bottom-nav/bottom-nav.component.mjs +4 -4
  312. package/esm2022/lib/tabs/bottom-nav/bottom-nav.directives.mjs +7 -7
  313. package/esm2022/lib/tabs/bottom-nav/bottom-nav.module.mjs +5 -5
  314. package/esm2022/lib/tabs/tab-content.directive.mjs +4 -4
  315. package/esm2022/lib/tabs/tab-header.directive.mjs +4 -4
  316. package/esm2022/lib/tabs/tab-item.directive.mjs +4 -4
  317. package/esm2022/lib/tabs/tabs/tab-content.component.mjs +4 -4
  318. package/esm2022/lib/tabs/tabs/tab-header.component.mjs +4 -4
  319. package/esm2022/lib/tabs/tabs/tab-item.component.mjs +4 -4
  320. package/esm2022/lib/tabs/tabs/tabs.component.mjs +4 -4
  321. package/esm2022/lib/tabs/tabs/tabs.directives.mjs +7 -7
  322. package/esm2022/lib/tabs/tabs/tabs.module.mjs +5 -5
  323. package/esm2022/lib/tabs/tabs.directive.mjs +4 -4
  324. package/esm2022/lib/time-picker/time-picker.component.mjs +4 -4
  325. package/esm2022/lib/time-picker/time-picker.directives.mjs +7 -7
  326. package/esm2022/lib/time-picker/time-picker.module.mjs +5 -5
  327. package/esm2022/lib/time-picker/time-picker.pipes.mjs +7 -7
  328. package/esm2022/lib/toast/toast.component.mjs +4 -4
  329. package/esm2022/lib/toast/toast.module.mjs +5 -5
  330. package/esm2022/lib/tree/tree-navigation.service.mjs +4 -4
  331. package/esm2022/lib/tree/tree-node/tree-node.component.mjs +7 -7
  332. package/esm2022/lib/tree/tree-selection.service.mjs +4 -4
  333. package/esm2022/lib/tree/tree.component.mjs +10 -10
  334. package/esm2022/lib/tree/tree.module.mjs +5 -5
  335. package/esm2022/lib/tree/tree.service.mjs +4 -4
  336. package/fesm2022/igniteui-angular.mjs +3098 -3079
  337. package/fesm2022/igniteui-angular.mjs.map +1 -1
  338. package/lib/directives/input/input.directive.d.ts +3 -0
  339. package/lib/grids/column-actions/public_api.d.ts +7 -0
  340. package/lib/grids/grid/grid.module.d.ts +23 -20
  341. package/lib/grids/grid/public_api.d.ts +1 -1
  342. package/lib/grids/hierarchical-grid/hierarchical-grid.module.d.ts +23 -20
  343. package/lib/grids/hierarchical-grid/public_api.d.ts +1 -1
  344. package/lib/grids/pivot-grid/pivot-grid.module.d.ts +23 -20
  345. package/lib/grids/pivot-grid/public_api.d.ts +1 -1
  346. package/lib/grids/public_api.d.ts +2 -1
  347. package/lib/grids/tree-grid/public_api.d.ts +5 -1
  348. package/lib/grids/tree-grid/tree-grid.module.d.ts +40 -35
  349. package/package.json +6 -6
@@ -25,10 +25,10 @@ export class IgxGridDetailsPipe {
25
25
  });
26
26
  return result;
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridDetailsPipe, deps: [{ token: IGX_GRID_BASE }], target: i0.ɵɵFactoryTarget.Pipe }); }
29
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridDetailsPipe, isStandalone: true, name: "gridDetails" }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridDetailsPipe, deps: [{ token: IGX_GRID_BASE }], target: i0.ɵɵFactoryTarget.Pipe }); }
29
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: IgxGridDetailsPipe, isStandalone: true, name: "gridDetails" }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridDetailsPipe, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridDetailsPipe, decorators: [{
32
32
  type: Pipe,
33
33
  args: [{
34
34
  name: 'gridDetails',
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
38
38
  type: Inject,
39
39
  args: [IGX_GRID_BASE]
40
40
  }] }]; } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5kZXRhaWxzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvZ3JpZC9ncmlkLmRldGFpbHMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFZLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUVuRSxjQUFjO0FBS2QsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQixZQUEyQyxJQUFjO1FBQWQsU0FBSSxHQUFKLElBQUksQ0FBVTtJQUFJLENBQUM7SUFFdkQsU0FBUyxDQUFDLFVBQWlCLEVBQUUsVUFBbUIsRUFBRSxlQUFrQyxFQUFFLFlBQW9CO1FBQzdHLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDYixPQUFPLFVBQVUsQ0FBQztTQUNyQjtRQUNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzVELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVTLGFBQWEsQ0FBQyxVQUFpQixFQUFFLGdCQUFtQztRQUMxRSxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM5QyxNQUFNLFVBQVUsR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzttSEF2QlEsa0JBQWtCLGtCQUVQLGFBQWE7aUhBRnhCLGtCQUFrQjs7Z0dBQWxCLGtCQUFrQjtrQkFKOUIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsYUFBYTtvQkFDbkIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFHZ0IsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSwgUGlwZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmlkVHlwZSwgSUdYX0dSSURfQkFTRSB9IGZyb20gJy4uL2NvbW1vbi9ncmlkLmludGVyZmFjZSc7XG5cbi8qKiBAaGlkZGVuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ2dyaWREZXRhaWxzJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneEdyaWREZXRhaWxzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChJR1hfR1JJRF9CQVNFKSBwcml2YXRlIGdyaWQ6IEdyaWRUeXBlKSB7IH1cblxuICAgIHB1YmxpYyB0cmFuc2Zvcm0oY29sbGVjdGlvbjogYW55W10sIGhhc0RldGFpbHM6IGJvb2xlYW4sIGV4cGFuc2lvblN0YXRlczogTWFwPGFueSwgYm9vbGVhbj4sIF9waXBlVHJpZ2dlcjogbnVtYmVyKSB7XG4gICAgICAgIGlmICghaGFzRGV0YWlscykge1xuICAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzID0gdGhpcy5hZGREZXRhaWxSb3dzKGNvbGxlY3Rpb24sIGV4cGFuc2lvblN0YXRlcyk7XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFkZERldGFpbFJvd3MoY29sbGVjdGlvbjogYW55W10sIF9leHBhbnNpb25TdGF0ZXM6IE1hcDxhbnksIGJvb2xlYW4+KSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICBjb2xsZWN0aW9uLmZvckVhY2goKHYpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHYpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmdyaWQuaXNHcm91cEJ5UmVjb3JkKHYpICYmICF0aGlzLmdyaWQuaXNTdW1tYXJ5Um93KHYpICYmXG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkLmdyaWRBUEkuZ2V0X3Jvd19leHBhbnNpb25fc3RhdGUodikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZXRhaWxzT2JqID0geyBkZXRhaWxzRGF0YTogdiB9O1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGRldGFpbHNPYmopO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5kZXRhaWxzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvZ3JpZC9ncmlkLmRldGFpbHMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFZLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUVuRSxjQUFjO0FBS2QsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQixZQUEyQyxJQUFjO1FBQWQsU0FBSSxHQUFKLElBQUksQ0FBVTtJQUFJLENBQUM7SUFFdkQsU0FBUyxDQUFDLFVBQWlCLEVBQUUsVUFBbUIsRUFBRSxlQUFrQyxFQUFFLFlBQW9CO1FBQzdHLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDYixPQUFPLFVBQVUsQ0FBQztTQUNyQjtRQUNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzVELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVTLGFBQWEsQ0FBQyxVQUFpQixFQUFFLGdCQUFtQztRQUMxRSxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM5QyxNQUFNLFVBQVUsR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs4R0F2QlEsa0JBQWtCLGtCQUVQLGFBQWE7NEdBRnhCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFKOUIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsYUFBYTtvQkFDbkIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFHZ0IsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSwgUGlwZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmlkVHlwZSwgSUdYX0dSSURfQkFTRSB9IGZyb20gJy4uL2NvbW1vbi9ncmlkLmludGVyZmFjZSc7XG5cbi8qKiBAaGlkZGVuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ2dyaWREZXRhaWxzJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneEdyaWREZXRhaWxzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChJR1hfR1JJRF9CQVNFKSBwcml2YXRlIGdyaWQ6IEdyaWRUeXBlKSB7IH1cblxuICAgIHB1YmxpYyB0cmFuc2Zvcm0oY29sbGVjdGlvbjogYW55W10sIGhhc0RldGFpbHM6IGJvb2xlYW4sIGV4cGFuc2lvblN0YXRlczogTWFwPGFueSwgYm9vbGVhbj4sIF9waXBlVHJpZ2dlcjogbnVtYmVyKSB7XG4gICAgICAgIGlmICghaGFzRGV0YWlscykge1xuICAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzID0gdGhpcy5hZGREZXRhaWxSb3dzKGNvbGxlY3Rpb24sIGV4cGFuc2lvblN0YXRlcyk7XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFkZERldGFpbFJvd3MoY29sbGVjdGlvbjogYW55W10sIF9leHBhbnNpb25TdGF0ZXM6IE1hcDxhbnksIGJvb2xlYW4+KSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICBjb2xsZWN0aW9uLmZvckVhY2goKHYpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHYpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmdyaWQuaXNHcm91cEJ5UmVjb3JkKHYpICYmICF0aGlzLmdyaWQuaXNTdW1tYXJ5Um93KHYpICYmXG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkLmdyaWRBUEkuZ2V0X3Jvd19leHBhbnNpb25fc3RhdGUodikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZXRhaWxzT2JqID0geyBkZXRhaWxzRGF0YTogdiB9O1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGRldGFpbHNPYmopO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4iXX0=
@@ -12,10 +12,10 @@ export class IgxGroupByRowTemplateDirective {
12
12
  constructor(template) {
13
13
  this.template = template;
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGroupByRowTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
16
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-rc.4", type: IgxGroupByRowTemplateDirective, isStandalone: true, selector: "[igxGroupByRow]", ngImport: i0 }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGroupByRowTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
16
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IgxGroupByRowTemplateDirective, isStandalone: true, selector: "[igxGroupByRow]", ngImport: i0 }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGroupByRowTemplateDirective, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGroupByRowTemplateDirective, decorators: [{
19
19
  type: Directive,
20
20
  args: [{
21
21
  selector: '[igxGroupByRow]',
@@ -29,10 +29,10 @@ export class IgxGridDetailTemplateDirective {
29
29
  static ngTemplateContextGuard(_dir, ctx) {
30
30
  return true;
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridDetailTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
33
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-rc.4", type: IgxGridDetailTemplateDirective, isStandalone: true, selector: "[igxGridDetail]", ngImport: i0 }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridDetailTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
33
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IgxGridDetailTemplateDirective, isStandalone: true, selector: "[igxGridDetail]", ngImport: i0 }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridDetailTemplateDirective, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridDetailTemplateDirective, decorators: [{
36
36
  type: Directive,
37
37
  args: [{
38
38
  selector: '[igxGridDetail]',
@@ -46,10 +46,10 @@ export class IgxRowExpandedIndicatorDirective {
46
46
  static ngTemplateContextGuard(_directive, context) {
47
47
  return true;
48
48
  }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxRowExpandedIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
50
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-rc.4", type: IgxRowExpandedIndicatorDirective, isStandalone: true, selector: "[igxRowExpandedIndicator]", ngImport: i0 }); }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxRowExpandedIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
50
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IgxRowExpandedIndicatorDirective, isStandalone: true, selector: "[igxRowExpandedIndicator]", ngImport: i0 }); }
51
51
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxRowExpandedIndicatorDirective, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxRowExpandedIndicatorDirective, decorators: [{
53
53
  type: Directive,
54
54
  args: [{
55
55
  selector: '[igxRowExpandedIndicator]',
@@ -63,10 +63,10 @@ export class IgxRowCollapsedIndicatorDirective {
63
63
  static ngTemplateContextGuard(_directive, context) {
64
64
  return true;
65
65
  }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxRowCollapsedIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
67
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-rc.4", type: IgxRowCollapsedIndicatorDirective, isStandalone: true, selector: "[igxRowCollapsedIndicator]", ngImport: i0 }); }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxRowCollapsedIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
67
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IgxRowCollapsedIndicatorDirective, isStandalone: true, selector: "[igxRowCollapsedIndicator]", ngImport: i0 }); }
68
68
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxRowCollapsedIndicatorDirective, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxRowCollapsedIndicatorDirective, decorators: [{
70
70
  type: Directive,
71
71
  args: [{
72
72
  selector: '[igxRowCollapsedIndicator]',
@@ -80,10 +80,10 @@ export class IgxHeaderExpandIndicatorDirective {
80
80
  static ngTemplateContextGuard(_directive, context) {
81
81
  return true;
82
82
  }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxHeaderExpandIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
84
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-rc.4", type: IgxHeaderExpandIndicatorDirective, isStandalone: true, selector: "[igxHeaderExpandedIndicator]", ngImport: i0 }); }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxHeaderExpandIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
84
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IgxHeaderExpandIndicatorDirective, isStandalone: true, selector: "[igxHeaderExpandedIndicator]", ngImport: i0 }); }
85
85
  }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxHeaderExpandIndicatorDirective, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxHeaderExpandIndicatorDirective, decorators: [{
87
87
  type: Directive,
88
88
  args: [{
89
89
  selector: '[igxHeaderExpandedIndicator]',
@@ -97,10 +97,10 @@ export class IgxHeaderCollapseIndicatorDirective {
97
97
  static ngTemplateContextGuard(_directive, context) {
98
98
  return true;
99
99
  }
100
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxHeaderCollapseIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
101
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-rc.4", type: IgxHeaderCollapseIndicatorDirective, isStandalone: true, selector: "[igxHeaderCollapsedIndicator]", ngImport: i0 }); }
100
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxHeaderCollapseIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
101
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IgxHeaderCollapseIndicatorDirective, isStandalone: true, selector: "[igxHeaderCollapsedIndicator]", ngImport: i0 }); }
102
102
  }
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxHeaderCollapseIndicatorDirective, decorators: [{
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxHeaderCollapseIndicatorDirective, decorators: [{
104
104
  type: Directive,
105
105
  args: [{
106
106
  selector: '[igxHeaderCollapsedIndicator]',
@@ -114,10 +114,10 @@ export class IgxExcelStyleHeaderIconDirective {
114
114
  static ngTemplateContextGuard(_directive, context) {
115
115
  return true;
116
116
  }
117
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxExcelStyleHeaderIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
118
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-rc.4", type: IgxExcelStyleHeaderIconDirective, isStandalone: true, selector: "[igxExcelStyleHeaderIcon]", ngImport: i0 }); }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxExcelStyleHeaderIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
118
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IgxExcelStyleHeaderIconDirective, isStandalone: true, selector: "[igxExcelStyleHeaderIcon]", ngImport: i0 }); }
119
119
  }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxExcelStyleHeaderIconDirective, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxExcelStyleHeaderIconDirective, decorators: [{
121
121
  type: Directive,
122
122
  args: [{
123
123
  selector: '[igxExcelStyleHeaderIcon]',
@@ -131,10 +131,10 @@ export class IgxSortHeaderIconDirective {
131
131
  static ngTemplateContextGuard(_directive, context) {
132
132
  return true;
133
133
  }
134
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxSortHeaderIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
135
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-rc.4", type: IgxSortHeaderIconDirective, isStandalone: true, selector: "[igxSortHeaderIcon]", ngImport: i0 }); }
134
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxSortHeaderIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
135
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IgxSortHeaderIconDirective, isStandalone: true, selector: "[igxSortHeaderIcon]", ngImport: i0 }); }
136
136
  }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxSortHeaderIconDirective, decorators: [{
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxSortHeaderIconDirective, decorators: [{
138
138
  type: Directive,
139
139
  args: [{
140
140
  selector: '[igxSortHeaderIcon]',
@@ -148,10 +148,10 @@ export class IgxSortAscendingHeaderIconDirective {
148
148
  static ngTemplateContextGuard(_directive, context) {
149
149
  return true;
150
150
  }
151
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxSortAscendingHeaderIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
152
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-rc.4", type: IgxSortAscendingHeaderIconDirective, isStandalone: true, selector: "[igxSortAscendingHeaderIcon]", ngImport: i0 }); }
151
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxSortAscendingHeaderIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
152
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IgxSortAscendingHeaderIconDirective, isStandalone: true, selector: "[igxSortAscendingHeaderIcon]", ngImport: i0 }); }
153
153
  }
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxSortAscendingHeaderIconDirective, decorators: [{
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxSortAscendingHeaderIconDirective, decorators: [{
155
155
  type: Directive,
156
156
  args: [{
157
157
  selector: '[igxSortAscendingHeaderIcon]',
@@ -165,10 +165,10 @@ export class IgxSortDescendingHeaderIconDirective {
165
165
  static ngTemplateContextGuard(_directive, context) {
166
166
  return true;
167
167
  }
168
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxSortDescendingHeaderIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
169
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-rc.4", type: IgxSortDescendingHeaderIconDirective, isStandalone: true, selector: "[igxSortDescendingHeaderIcon]", ngImport: i0 }); }
168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxSortDescendingHeaderIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
169
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IgxSortDescendingHeaderIconDirective, isStandalone: true, selector: "[igxSortDescendingHeaderIcon]", ngImport: i0 }); }
170
170
  }
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxSortDescendingHeaderIconDirective, decorators: [{
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxSortDescendingHeaderIconDirective, decorators: [{
172
172
  type: Directive,
173
173
  args: [{
174
174
  selector: '[igxSortDescendingHeaderIcon]',
@@ -231,10 +231,10 @@ export class IgxGroupAreaDropDirective extends IgxDropDirective {
231
231
  return true;
232
232
  }
233
233
  }
234
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGroupAreaDropDirective, deps: [{ token: i1.IgxGroupByAreaDirective }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
235
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-rc.4", type: IgxGroupAreaDropDirective, isStandalone: true, selector: "[igxGroupAreaDrop]", host: { properties: { "class.igx-drop-area--hover": "this.hovered" } }, usesInheritance: true, ngImport: i0 }); }
234
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGroupAreaDropDirective, deps: [{ token: i1.IgxGroupByAreaDirective }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
235
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IgxGroupAreaDropDirective, isStandalone: true, selector: "[igxGroupAreaDrop]", host: { properties: { "class.igx-drop-area--hover": "this.hovered" } }, usesInheritance: true, ngImport: i0 }); }
236
236
  }
237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGroupAreaDropDirective, decorators: [{
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGroupAreaDropDirective, decorators: [{
238
238
  type: Directive,
239
239
  args: [{
240
240
  selector: '[igxGroupAreaDrop]',
@@ -244,4 +244,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
244
244
  type: HostBinding,
245
245
  args: ['class.igx-drop-area--hover']
246
246
  }] } });
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5kaXJlY3RpdmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2dyaWRzL2dyaWQvZ3JpZC5kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlDLFdBQVcsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7O0FBWWxGOztHQUVHO0FBS0gsTUFBTSxPQUFPLDhCQUE4QjtJQUNoQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBb0MsRUFDckUsR0FBWTtRQUNaLE9BQU8sSUFBSSxDQUFBO0lBQ2YsQ0FBQztJQUVELFlBQW1CLFFBQW1EO1FBQW5ELGFBQVEsR0FBUixRQUFRLENBQTJDO0lBQUksQ0FBQzttSEFObEUsOEJBQThCO3VHQUE5Qiw4QkFBOEI7O2dHQUE5Qiw4QkFBOEI7a0JBSjFDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ25COztBQVdEOztHQUVHO0FBS0gsTUFBTSxPQUFPLDhCQUE4QjtJQUNoQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBb0MsRUFDckUsR0FBWTtRQUNaLE9BQU8sSUFBSSxDQUFBO0lBQ2YsQ0FBQzttSEFKUSw4QkFBOEI7dUdBQTlCLDhCQUE4Qjs7Z0dBQTlCLDhCQUE4QjtrQkFKMUMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7O0FBUUQ7O0dBRUc7QUFLSCxNQUFNLE9BQU8sZ0NBQWdDO0lBQ2xDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxVQUE0QyxFQUN6RSxPQUFnQjtRQUNwQixPQUFPLElBQUksQ0FBQTtJQUNmLENBQUM7bUhBSlEsZ0NBQWdDO3VHQUFo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b3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIE5nWm9uZSwgSG9zdEJpbmRpbmcsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hEcm9wRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9kcmFnLWRyb3AvZHJhZy1kcm9wLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJZ3hDb2x1bW5Nb3ZpbmdEcmFnRGlyZWN0aXZlIH0gZnJvbSAnLi4vbW92aW5nL21vdmluZy5kcmFnLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJZ3hHcm91cEJ5QXJlYURpcmVjdGl2ZSB9IGZyb20gJy4uL2dyb3VwaW5nL2dyb3VwLWJ5LWFyZWEuZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gICAgQ29sdW1uVHlwZSxcbiAgICBJZ3hHcmlkTWFzdGVyRGV0YWlsQ29udGV4dCxcbiAgICBJZ3hHcm91cEJ5Um93VGVtcGxhdGVDb250ZXh0LFxuICAgIElneEdyaWRIZWFkZXJUZW1wbGF0ZUNvbnRleHQsXG4gICAgSWd4R3JpZFJvd1RlbXBsYXRlQ29udGV4dCxcbiAgICBJZ3hHcmlkVGVtcGxhdGVDb250ZXh0XG59IGZyb20gJy4uL2NvbW1vbi9ncmlkLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hHcm91cEJ5Um93XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hHcm91cEJ5Um93VGVtcGxhdGVEaXJlY3RpdmUge1xuICAgIHB1YmxpYyBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChfZGlyOiBJZ3hHcm91cEJ5Um93VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIGN0eDogdW5rbm93bik6IGN0eCBpcyBJZ3hHcm91cEJ5Um93VGVtcGxhdGVDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneEdyb3VwQnlSb3dUZW1wbGF0ZUNvbnRleHQ+KSB7IH1cblxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4R3JpZERldGFpbF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZERldGFpbFRlbXBsYXRlRGlyZWN0aXZlIHtcbiAgICBwdWJsaWMgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoX2RpcjogSWd4R3JpZERldGFpbFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBjdHg6IHVua25vd24pOiBjdHggaXMgSWd4R3JpZE1hc3RlckRldGFpbENvbnRleHQge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneFJvd0V4cGFuZGVkSW5kaWNhdG9yXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hSb3dFeHBhbmRlZEluZGljYXRvckRpcmVjdGl2ZSB7XG4gICAgcHVibGljIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKF9kaXJlY3RpdmU6IElneFJvd0V4cGFuZGVkSW5kaWNhdG9yRGlyZWN0aXZlLFxuICAgICAgICAgICAgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgSWd4R3JpZFJvd1RlbXBsYXRlQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4Um93Q29sbGFwc2VkSW5kaWNhdG9yXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hSb3dDb2xsYXBzZWRJbmRpY2F0b3JEaXJlY3RpdmUge1xuICAgIHB1YmxpYyBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChfZGlyZWN0aXZlOiBJZ3hSb3dDb2xsYXBzZWRJbmRpY2F0b3JEaXJlY3RpdmUsXG4gICAgICAgIGNvbnRleHQ6IHVua25vd24pOiBjb250ZXh0IGlzIElneEdyaWRSb3dUZW1wbGF0ZUNvbnRleHQge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbn1cblxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4SGVhZGVyRXhwYW5kZWRJbmRpY2F0b3JdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneEhlYWRlckV4cGFuZEluZGljYXRvckRpcmVjdGl2ZSB7XG4gICAgcHVibGljIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKF9kaXJlY3RpdmU6IElneEhlYWRlckV4cGFuZEluZGljYXRvckRpcmVjdGl2ZSxcbiAgICAgICAgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgSWd4R3JpZFRlbXBsYXRlQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4SGVhZGVyQ29sbGFwc2VkSW5kaWNhdG9yXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hIZWFkZXJDb2xsYXBzZUluZGljYXRvckRpcmVjdGl2ZSB7XG4gICAgcHVibGljIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKF9kaXJlY3RpdmU6IElneEhlYWRlckNvbGxhcHNlSW5kaWNhdG9yRGlyZWN0aXZlLFxuICAgICAgICBjb250ZXh0OiB1bmtub3duKTogY29udGV4dCBpcyBJZ3hHcmlkVGVtcGxhdGVDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hFeGNlbFN0eWxlSGVhZGVySWNvbl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4RXhjZWxTdHlsZUhlYWRlckljb25EaXJlY3RpdmUge1xuICAgIHB1YmxpYyBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChfZGlyZWN0aXZlOiBJZ3hFeGNlbFN0eWxlSGVhZGVySWNvbkRpcmVjdGl2ZSxcbiAgICAgICAgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgSWd4R3JpZEhlYWRlclRlbXBsYXRlQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4U29ydEhlYWRlckljb25dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneFNvcnRIZWFkZXJJY29uRGlyZWN0aXZlIHtcbiAgICBwdWJsaWMgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoX2RpcmVjdGl2ZTogSWd4U29ydEhlYWRlckljb25EaXJlY3RpdmUsXG4gICAgICAgIGNvbnRleHQ6IHVua25vd24pOiBjb250ZXh0IGlzIElneEdyaWRIZWFkZXJUZW1wbGF0ZUNvbnRleHQge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneFNvcnRBc2NlbmRpbmdIZWFkZXJJY29uXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hTb3J0QXNjZW5kaW5nSGVhZGVySWNvbkRpcmVjdGl2ZSB7XG4gICAgcHVibGljIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKF9kaXJlY3RpdmU6IElneFNvcnRBc2NlbmRpbmdIZWFkZXJJY29uRGlyZWN0aXZlLFxuICAgICAgICBjb250ZXh0OiB1bmtub3duKTogY29udGV4dCBpcyBJZ3hHcmlkSGVhZGVyVGVtcGxhdGVDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hTb3J0RGVzY2VuZGluZ0hlYWRlckljb25dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneFNvcnREZXNjZW5kaW5nSGVhZGVySWNvbkRpcmVjdGl2ZSB7XG4gICAgcHVibGljIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKF9kaXJlY3RpdmU6IElneFNvcnREZXNjZW5kaW5nSGVhZGVySWNvbkRpcmVjdGl2ZSxcbiAgICAgICAgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgSWd4R3JpZEhlYWRlclRlbXBsYXRlQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4R3JvdXBBcmVhRHJvcF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JvdXBBcmVhRHJvcERpcmVjdGl2ZSBleHRlbmRzIElneERyb3BEaXJlY3RpdmUge1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZHJvcC1hcmVhLS1ob3ZlcicpXG4gICAgcHVibGljIGhvdmVyZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGdyb3VwQXJlYTogSWd4R3JvdXBCeUFyZWFEaXJlY3RpdmUsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHpvbmU6IE5nWm9uZSkge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCByZW5kZXJlciwgem9uZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIG9uRHJhZ0VudGVyKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGRyYWc6IElneENvbHVtbk1vdmluZ0RyYWdEaXJlY3RpdmUgPSBldmVudC5kZXRhaWwub3duZXI7XG4gICAgICAgIGNvbnN0IGNvbHVtbjogQ29sdW1uVHlwZSA9IGRyYWcuY29sdW1uO1xuICAgICAgICBpZiAoIXRoaXMuY29sdW1uQmVsb25nc1RvR3JpZChjb2x1bW4pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc0dyb3VwZWQgPSB0aGlzLmdyb3VwQXJlYS5leHByZXNzaW9uc1xuICAgICAgICAgICAgPyB0aGlzLmdyb3VwQXJlYS5leHByZXNzaW9ucy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uZmllbGROYW1lID09PSBjb2x1bW4uZmllbGQpICE9PSAtMVxuICAgICAgICAgICAgOiBmYWxzZTtcbiAgICAgICAgaWYgKGNvbHVtbi5ncm91cGFibGUgJiYgIWlzR3JvdXBlZCAmJiAhY29sdW1uLmNvbHVtbkdyb3VwICYmICEhY29sdW1uLmZpZWxkKSB7XG4gICAgICAgICAgICBkcmFnLmljb24uaW5uZXJUZXh0ID0gJ2dyb3VwX3dvcmsnO1xuICAgICAgICAgICAgdGhpcy5ob3ZlcmVkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRyYWcuaWNvbi5pbm5lclRleHQgPSAnYmxvY2snO1xuICAgICAgICAgICAgdGhpcy5ob3ZlcmVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgb25EcmFnTGVhdmUoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgZHJhZzogSWd4Q29sdW1uTW92aW5nRHJhZ0RpcmVjdGl2ZSA9IGV2ZW50LmRldGFpbC5vd25lcjtcbiAgICAgICAgY29uc3QgY29sdW1uOiBDb2x1bW5UeXBlID0gZHJhZy5jb2x1bW47XG4gICAgICAgIGlmICghdGhpcy5jb2x1bW5CZWxvbmdzVG9HcmlkKGNvbHVtbikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBldmVudC5kZXRhaWwub3duZXIuaWNvbi5pbm5lclRleHQgPSAnYmxvY2snO1xuICAgICAgICB0aGlzLmhvdmVyZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3Nlc3RQYXJlbnRCeUF0dHIoZWxlbSwgYXR0cikge1xuICAgICAgICByZXR1cm4gZWxlbS5oYXNBdHRyaWJ1dGUoYXR0cikgP1xuICAgICAgICAgICAgZWxlbSA6XG4gICAgICAgICAgICB0aGlzLmNsb3Nlc3RQYXJlbnRCeUF0dHIoZWxlbS5wYXJlbnRFbGVtZW50LCBhdHRyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbHVtbkJlbG9uZ3NUb0dyaWQoY29sdW1uOiBDb2x1bW5UeXBlKSB7XG4gICAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgY2xvc2VzdEdyaWRJRCA9IHRoaXMuY2xvc2VzdFBhcmVudEJ5QXR0cihlbGVtLCAnaWd4R3JvdXBBcmVhRHJvcCcpLmdldEF0dHJpYnV0ZSgnZ3JpZElkJyk7XG4gICAgICAgIGlmICghY29sdW1uKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBncmlkID0gY29sdW1uLmdyaWQ7XG4gICAgICAgICAgICBpZiAoIWdyaWQgfHwgZ3JpZC5pZCAhPT0gY2xvc2VzdEdyaWRJRCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5kaXJlY3RpdmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2dyaWRzL2dyaWQvZ3JpZC5kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlDLFdBQVcsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7O0FBWWxGOztHQUVHO0FBS0gsTUFBTSxPQUFPLDhCQUE4QjtJQUNoQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBb0MsRUFDckUsR0FBWTtRQUNaLE9BQU8sSUFBSSxDQUFBO0lBQ2YsQ0FBQztJQUVELFlBQW1CLFFBQW1EO1FBQW5ELGFBQVEsR0FBUixRQUFRLENBQTJDO0lBQUksQ0FBQzs4R0FObEUsOEJBQThCO2tHQUE5Qiw4QkFBOEI7OzJGQUE5Qiw4QkFBOEI7a0JBSjFDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ25COztBQVdEOztHQUVHO0FBS0gsTUFBTSxPQUFPLDhCQUE4QjtJQUNoQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBb0MsRUFDckUsR0FBWTtRQUNaLE9BQU8sSUFBSSxDQUFBO0lBQ2YsQ0FBQzs4R0FKUSw4QkFBOEI7a0dBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFKMUMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7O0FBUUQ7O0dBRUc7QUFLSCxNQUFNLE9BQU8sZ0NBQWdDO0lBQ2xDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxVQUE0QyxFQUN6RSxPQUFnQjtRQUNwQixPQUFPLElBQUksQ0FBQTtJQUNmLENBQUM7OEdBSlEsZ0NBQWdDO2tHQUFo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b3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIE5nWm9uZSwgSG9zdEJpbmRpbmcsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hEcm9wRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9kcmFnLWRyb3AvZHJhZy1kcm9wLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJZ3hDb2x1bW5Nb3ZpbmdEcmFnRGlyZWN0aXZlIH0gZnJvbSAnLi4vbW92aW5nL21vdmluZy5kcmFnLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJZ3hHcm91cEJ5QXJlYURpcmVjdGl2ZSB9IGZyb20gJy4uL2dyb3VwaW5nL2dyb3VwLWJ5LWFyZWEuZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gICAgQ29sdW1uVHlwZSxcbiAgICBJZ3hHcmlkTWFzdGVyRGV0YWlsQ29udGV4dCxcbiAgICBJZ3hHcm91cEJ5Um93VGVtcGxhdGVDb250ZXh0LFxuICAgIElneEdyaWRIZWFkZXJUZW1wbGF0ZUNvbnRleHQsXG4gICAgSWd4R3JpZFJvd1RlbXBsYXRlQ29udGV4dCxcbiAgICBJZ3hHcmlkVGVtcGxhdGVDb250ZXh0XG59IGZyb20gJy4uL2NvbW1vbi9ncmlkLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hHcm91cEJ5Um93XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hHcm91cEJ5Um93VGVtcGxhdGVEaXJlY3RpdmUge1xuICAgIHB1YmxpYyBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChfZGlyOiBJZ3hHcm91cEJ5Um93VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIGN0eDogdW5rbm93bik6IGN0eCBpcyBJZ3hHcm91cEJ5Um93VGVtcGxhdGVDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneEdyb3VwQnlSb3dUZW1wbGF0ZUNvbnRleHQ+KSB7IH1cblxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4R3JpZERldGFpbF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZERldGFpbFRlbXBsYXRlRGlyZWN0aXZlIHtcbiAgICBwdWJsaWMgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoX2RpcjogSWd4R3JpZERldGFpbFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBjdHg6IHVua25vd24pOiBjdHggaXMgSWd4R3JpZE1hc3RlckRldGFpbENvbnRleHQge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneFJvd0V4cGFuZGVkSW5kaWNhdG9yXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hSb3dFeHBhbmRlZEluZGljYXRvckRpcmVjdGl2ZSB7XG4gICAgcHVibGljIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKF9kaXJlY3RpdmU6IElneFJvd0V4cGFuZGVkSW5kaWNhdG9yRGlyZWN0aXZlLFxuICAgICAgICAgICAgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgSWd4R3JpZFJvd1RlbXBsYXRlQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4Um93Q29sbGFwc2VkSW5kaWNhdG9yXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hSb3dDb2xsYXBzZWRJbmRpY2F0b3JEaXJlY3RpdmUge1xuICAgIHB1YmxpYyBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChfZGlyZWN0aXZlOiBJZ3hSb3dDb2xsYXBzZWRJbmRpY2F0b3JEaXJlY3RpdmUsXG4gICAgICAgIGNvbnRleHQ6IHVua25vd24pOiBjb250ZXh0IGlzIElneEdyaWRSb3dUZW1wbGF0ZUNvbnRleHQge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbn1cblxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4SGVhZGVyRXhwYW5kZWRJbmRpY2F0b3JdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneEhlYWRlckV4cGFuZEluZGljYXRvckRpcmVjdGl2ZSB7XG4gICAgcHVibGljIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKF9kaXJlY3RpdmU6IElneEhlYWRlckV4cGFuZEluZGljYXRvckRpcmVjdGl2ZSxcbiAgICAgICAgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgSWd4R3JpZFRlbXBsYXRlQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4SGVhZGVyQ29sbGFwc2VkSW5kaWNhdG9yXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hIZWFkZXJDb2xsYXBzZUluZGljYXRvckRpcmVjdGl2ZSB7XG4gICAgcHVibGljIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKF9kaXJlY3RpdmU6IElneEhlYWRlckNvbGxhcHNlSW5kaWNhdG9yRGlyZWN0aXZlLFxuICAgICAgICBjb250ZXh0OiB1bmtub3duKTogY29udGV4dCBpcyBJZ3hHcmlkVGVtcGxhdGVDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hFeGNlbFN0eWxlSGVhZGVySWNvbl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4RXhjZWxTdHlsZUhlYWRlckljb25EaXJlY3RpdmUge1xuICAgIHB1YmxpYyBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChfZGlyZWN0aXZlOiBJZ3hFeGNlbFN0eWxlSGVhZGVySWNvbkRpcmVjdGl2ZSxcbiAgICAgICAgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgSWd4R3JpZEhlYWRlclRlbXBsYXRlQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4U29ydEhlYWRlckljb25dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneFNvcnRIZWFkZXJJY29uRGlyZWN0aXZlIHtcbiAgICBwdWJsaWMgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoX2RpcmVjdGl2ZTogSWd4U29ydEhlYWRlckljb25EaXJlY3RpdmUsXG4gICAgICAgIGNvbnRleHQ6IHVua25vd24pOiBjb250ZXh0IGlzIElneEdyaWRIZWFkZXJUZW1wbGF0ZUNvbnRleHQge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneFNvcnRBc2NlbmRpbmdIZWFkZXJJY29uXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hTb3J0QXNjZW5kaW5nSGVhZGVySWNvbkRpcmVjdGl2ZSB7XG4gICAgcHVibGljIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKF9kaXJlY3RpdmU6IElneFNvcnRBc2NlbmRpbmdIZWFkZXJJY29uRGlyZWN0aXZlLFxuICAgICAgICBjb250ZXh0OiB1bmtub3duKTogY29udGV4dCBpcyBJZ3hHcmlkSGVhZGVyVGVtcGxhdGVDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hTb3J0RGVzY2VuZGluZ0hlYWRlckljb25dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneFNvcnREZXNjZW5kaW5nSGVhZGVySWNvbkRpcmVjdGl2ZSB7XG4gICAgcHVibGljIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKF9kaXJlY3RpdmU6IElneFNvcnREZXNjZW5kaW5nSGVhZGVySWNvbkRpcmVjdGl2ZSxcbiAgICAgICAgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgSWd4R3JpZEhlYWRlclRlbXBsYXRlQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4R3JvdXBBcmVhRHJvcF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JvdXBBcmVhRHJvcERpcmVjdGl2ZSBleHRlbmRzIElneERyb3BEaXJlY3RpdmUge1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZHJvcC1hcmVhLS1ob3ZlcicpXG4gICAgcHVibGljIGhvdmVyZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGdyb3VwQXJlYTogSWd4R3JvdXBCeUFyZWFEaXJlY3RpdmUsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHpvbmU6IE5nWm9uZSkge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCByZW5kZXJlciwgem9uZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIG9uRHJhZ0VudGVyKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGRyYWc6IElneENvbHVtbk1vdmluZ0RyYWdEaXJlY3RpdmUgPSBldmVudC5kZXRhaWwub3duZXI7XG4gICAgICAgIGNvbnN0IGNvbHVtbjogQ29sdW1uVHlwZSA9IGRyYWcuY29sdW1uO1xuICAgICAgICBpZiAoIXRoaXMuY29sdW1uQmVsb25nc1RvR3JpZChjb2x1bW4pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc0dyb3VwZWQgPSB0aGlzLmdyb3VwQXJlYS5leHByZXNzaW9uc1xuICAgICAgICAgICAgPyB0aGlzLmdyb3VwQXJlYS5leHByZXNzaW9ucy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uZmllbGROYW1lID09PSBjb2x1bW4uZmllbGQpICE9PSAtMVxuICAgICAgICAgICAgOiBmYWxzZTtcbiAgICAgICAgaWYgKGNvbHVtbi5ncm91cGFibGUgJiYgIWlzR3JvdXBlZCAmJiAhY29sdW1uLmNvbHVtbkdyb3VwICYmICEhY29sdW1uLmZpZWxkKSB7XG4gICAgICAgICAgICBkcmFnLmljb24uaW5uZXJUZXh0ID0gJ2dyb3VwX3dvcmsnO1xuICAgICAgICAgICAgdGhpcy5ob3ZlcmVkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRyYWcuaWNvbi5pbm5lclRleHQgPSAnYmxvY2snO1xuICAgICAgICAgICAgdGhpcy5ob3ZlcmVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgb25EcmFnTGVhdmUoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgZHJhZzogSWd4Q29sdW1uTW92aW5nRHJhZ0RpcmVjdGl2ZSA9IGV2ZW50LmRldGFpbC5vd25lcjtcbiAgICAgICAgY29uc3QgY29sdW1uOiBDb2x1bW5UeXBlID0gZHJhZy5jb2x1bW47XG4gICAgICAgIGlmICghdGhpcy5jb2x1bW5CZWxvbmdzVG9HcmlkKGNvbHVtbikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBldmVudC5kZXRhaWwub3duZXIuaWNvbi5pbm5lclRleHQgPSAnYmxvY2snO1xuICAgICAgICB0aGlzLmhvdmVyZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3Nlc3RQYXJlbnRCeUF0dHIoZWxlbSwgYXR0cikge1xuICAgICAgICByZXR1cm4gZWxlbS5oYXNBdHRyaWJ1dGUoYXR0cikgP1xuICAgICAgICAgICAgZWxlbSA6XG4gICAgICAgICAgICB0aGlzLmNsb3Nlc3RQYXJlbnRCeUF0dHIoZWxlbS5wYXJlbnRFbGVtZW50LCBhdHRyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbHVtbkJlbG9uZ3NUb0dyaWQoY29sdW1uOiBDb2x1bW5UeXBlKSB7XG4gICAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgY2xvc2VzdEdyaWRJRCA9IHRoaXMuY2xvc2VzdFBhcmVudEJ5QXR0cihlbGVtLCAnaWd4R3JvdXBBcmVhRHJvcCcpLmdldEF0dHJpYnV0ZSgnZ3JpZElkJyk7XG4gICAgICAgIGlmICghY29sdW1uKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBncmlkID0gY29sdW1uLmdyaWQ7XG4gICAgICAgICAgICBpZiAoIWdyaWQgfHwgZ3JpZC5pZCAhPT0gY2xvc2VzdEdyaWRJRCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -17,35 +17,38 @@ import * as i13 from "../columns/column.component";
17
17
  import * as i14 from "../columns/column-group.component";
18
18
  import * as i15 from "../columns/column-layout.component";
19
19
  import * as i16 from "../columns/validators.directive";
20
- import * as i17 from "../selection/row-selectors";
21
- import * as i18 from "../toolbar/common";
22
- import * as i19 from "../toolbar/grid-toolbar-advanced-filtering.component";
23
- import * as i20 from "../toolbar/grid-toolbar.component";
24
- import * as i21 from "../toolbar/grid-toolbar-exporter.component";
25
- import * as i22 from "../toolbar/grid-toolbar-hiding.component";
26
- import * as i23 from "../toolbar/grid-toolbar-pinning.component";
27
- import * as i24 from "../filtering/excel-style/excel-style-filtering.component";
28
- import * as i25 from "../filtering/excel-style/excel-style-header.component";
29
- import * as i26 from "../filtering/excel-style/excel-style-sorting.component";
30
- import * as i27 from "../filtering/excel-style/excel-style-pinning.component";
31
- import * as i28 from "../filtering/excel-style/excel-style-hiding.component";
32
- import * as i29 from "../filtering/excel-style/excel-style-selecting.component";
33
- import * as i30 from "../filtering/excel-style/excel-style-clear-filters.component";
34
- import * as i31 from "../filtering/excel-style/excel-style-conditional-filter.component";
35
- import * as i32 from "../filtering/excel-style/excel-style-moving.component";
36
- import * as i33 from "../filtering/excel-style/excel-style-search.component";
37
- import * as i34 from "../../paginator/paginator.component";
38
- import * as i35 from "../../paginator/paginator-interfaces";
20
+ import * as i17 from "../column-actions/column-actions.component";
21
+ import * as i18 from "../column-actions/column-hiding.directive";
22
+ import * as i19 from "../column-actions/column-pinning.directive";
23
+ import * as i20 from "../selection/row-selectors";
24
+ import * as i21 from "../toolbar/common";
25
+ import * as i22 from "../toolbar/grid-toolbar-advanced-filtering.component";
26
+ import * as i23 from "../toolbar/grid-toolbar.component";
27
+ import * as i24 from "../toolbar/grid-toolbar-exporter.component";
28
+ import * as i25 from "../toolbar/grid-toolbar-hiding.component";
29
+ import * as i26 from "../toolbar/grid-toolbar-pinning.component";
30
+ import * as i27 from "../filtering/excel-style/excel-style-filtering.component";
31
+ import * as i28 from "../filtering/excel-style/excel-style-header.component";
32
+ import * as i29 from "../filtering/excel-style/excel-style-sorting.component";
33
+ import * as i30 from "../filtering/excel-style/excel-style-pinning.component";
34
+ import * as i31 from "../filtering/excel-style/excel-style-hiding.component";
35
+ import * as i32 from "../filtering/excel-style/excel-style-selecting.component";
36
+ import * as i33 from "../filtering/excel-style/excel-style-clear-filters.component";
37
+ import * as i34 from "../filtering/excel-style/excel-style-conditional-filter.component";
38
+ import * as i35 from "../filtering/excel-style/excel-style-moving.component";
39
+ import * as i36 from "../filtering/excel-style/excel-style-search.component";
40
+ import * as i37 from "../../paginator/paginator.component";
41
+ import * as i38 from "../../paginator/paginator-interfaces";
39
42
  /**
40
43
  * @hidden
41
44
  * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
42
45
  */
43
46
  export class IgxGridModule {
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
45
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridModule, imports: [i1.IgxGridComponent, i2.IgxGroupByRowTemplateDirective, i2.IgxGridDetailTemplateDirective, i2.IgxRowExpandedIndicatorDirective, i2.IgxRowCollapsedIndicatorDirective, i2.IgxHeaderExpandIndicatorDirective, i2.IgxHeaderCollapseIndicatorDirective, i2.IgxExcelStyleHeaderIconDirective, i2.IgxSortHeaderIconDirective, i2.IgxSortAscendingHeaderIconDirective, i2.IgxSortDescendingHeaderIconDirective, i2.IgxGroupAreaDropDirective, i3.IgxRowDirective, i4.IgxRowAddTextDirective, i4.IgxRowEditActionsDirective, i4.IgxRowEditTextDirective, i4.IgxRowEditTabStopDirective, i5.IgxGridFooterComponent, i6.IgxAdvancedFilteringDialogComponent, i2.IgxRowExpandedIndicatorDirective, i2.IgxRowCollapsedIndicatorDirective, i2.IgxHeaderExpandIndicatorDirective, i2.IgxHeaderCollapseIndicatorDirective, i2.IgxExcelStyleHeaderIconDirective, i2.IgxSortAscendingHeaderIconDirective, i2.IgxSortDescendingHeaderIconDirective, i2.IgxSortHeaderIconDirective, i2.IgxGroupAreaDropDirective, i7.IgxDragIndicatorIconDirective, i7.IgxRowDragGhostDirective, i8.IgxGridStateDirective, i9.IgxGridHeaderComponent, i10.IgxGridHeaderGroupComponent, i11.IgxGridHeaderRowComponent, i12.IgxFilterCellTemplateDirective, i12.IgxSummaryTemplateDirective, i12.IgxCellTemplateDirective, i12.IgxCellValidationErrorDirective, i12.IgxCellHeaderTemplateDirective, i12.IgxCellFooterTemplateDirective, i12.IgxCellEditorTemplateDirective, i12.IgxCollapsibleIndicatorTemplateDirective, i13.IgxColumnComponent, i14.IgxColumnGroupComponent, i15.IgxColumnLayoutComponent, i16.IgxColumnRequiredValidatorDirective, i16.IgxColumnMinValidatorDirective, i16.IgxColumnMaxValidatorDirective, i16.IgxColumnEmailValidatorDirective, i16.IgxColumnMinLengthValidatorDirective, i16.IgxColumnMaxLengthValidatorDirective, i16.IgxColumPatternValidatorDirective, i17.IgxRowSelectorDirective, i17.IgxGroupByRowSelectorDirective, i17.IgxHeadSelectorDirective, i18.IgxCSVTextDirective, i18.IgxExcelTextDirective, i18.IgxGridToolbarActionsComponent, i19.IgxGridToolbarAdvancedFilteringComponent, i20.IgxGridToolbarComponent, i21.IgxGridToolbarExporterComponent, i22.IgxGridToolbarHidingComponent, i23.IgxGridToolbarPinningComponent, i18.IgxGridToolbarTitleComponent, i18.IgxGridToolbarDirective, i24.IgxGridExcelStyleFilteringComponent, i25.IgxExcelStyleHeaderComponent, i26.IgxExcelStyleSortingComponent, i27.IgxExcelStylePinningComponent, i28.IgxExcelStyleHidingComponent, i29.IgxExcelStyleSelectingComponent, i30.IgxExcelStyleClearFiltersComponent, i31.IgxExcelStyleConditionalFilterComponent, i32.IgxExcelStyleMovingComponent, i33.IgxExcelStyleSearchComponent, i24.IgxExcelStyleColumnOperationsTemplateDirective, i24.IgxExcelStyleFilterOperationsTemplateDirective, i33.IgxExcelStyleLoadingValuesTemplateDirective, i34.IgxPaginatorComponent, i34.IgxPageNavigationComponent, i34.IgxPageSizeSelectorComponent, i34.IgxPaginatorContentDirective, i35.IgxPaginatorDirective], exports: [i1.IgxGridComponent, i2.IgxGroupByRowTemplateDirective, i2.IgxGridDetailTemplateDirective, i2.IgxRowExpandedIndicatorDirective, i2.IgxRowCollapsedIndicatorDirective, i2.IgxHeaderExpandIndicatorDirective, i2.IgxHeaderCollapseIndicatorDirective, i2.IgxExcelStyleHeaderIconDirective, i2.IgxSortHeaderIconDirective, i2.IgxSortAscendingHeaderIconDirective, i2.IgxSortDescendingHeaderIconDirective, i2.IgxGroupAreaDropDirective, i3.IgxRowDirective, i4.IgxRowAddTextDirective, i4.IgxRowEditActionsDirective, i4.IgxRowEditTextDirective, i4.IgxRowEditTabStopDirective, i5.IgxGridFooterComponent, i6.IgxAdvancedFilteringDialogComponent, i2.IgxRowExpandedIndicatorDirective, i2.IgxRowCollapsedIndicatorDirective, i2.IgxHeaderExpandIndicatorDirective, i2.IgxHeaderCollapseIndicatorDirective, i2.IgxExcelStyleHeaderIconDirective, i2.IgxSortAscendingHeaderIconDirective, i2.IgxSortDescendingHeaderIconDirective, i2.IgxSortHeaderIconDirective, i2.IgxGroupAreaDropDirective, i7.IgxDragIndicatorIconDirective, i7.IgxRowDragGhostDirective, i8.IgxGridStateDirective, i9.IgxGridHeaderComponent, i10.IgxGridHeaderGroupComponent, i11.IgxGridHeaderRowComponent, i12.IgxFilterCellTemplateDirective, i12.IgxSummaryTemplateDirective, i12.IgxCellTemplateDirective, i12.IgxCellValidationErrorDirective, i12.IgxCellHeaderTemplateDirective, i12.IgxCellFooterTemplateDirective, i12.IgxCellEditorTemplateDirective, i12.IgxCollapsibleIndicatorTemplateDirective, i13.IgxColumnComponent, i14.IgxColumnGroupComponent, i15.IgxColumnLayoutComponent, i16.IgxColumnRequiredValidatorDirective, i16.IgxColumnMinValidatorDirective, i16.IgxColumnMaxValidatorDirective, i16.IgxColumnEmailValidatorDirective, i16.IgxColumnMinLengthValidatorDirective, i16.IgxColumnMaxLengthValidatorDirective, i16.IgxColumPatternValidatorDirective, i17.IgxRowSelectorDirective, i17.IgxGroupByRowSelectorDirective, i17.IgxHeadSelectorDirective, i18.IgxCSVTextDirective, i18.IgxExcelTextDirective, i18.IgxGridToolbarActionsComponent, i19.IgxGridToolbarAdvancedFilteringComponent, i20.IgxGridToolbarComponent, i21.IgxGridToolbarExporterComponent, i22.IgxGridToolbarHidingComponent, i23.IgxGridToolbarPinningComponent, i18.IgxGridToolbarTitleComponent, i18.IgxGridToolbarDirective, i24.IgxGridExcelStyleFilteringComponent, i25.IgxExcelStyleHeaderComponent, i26.IgxExcelStyleSortingComponent, i27.IgxExcelStylePinningComponent, i28.IgxExcelStyleHidingComponent, i29.IgxExcelStyleSelectingComponent, i30.IgxExcelStyleClearFiltersComponent, i31.IgxExcelStyleConditionalFilterComponent, i32.IgxExcelStyleMovingComponent, i33.IgxExcelStyleSearchComponent, i24.IgxExcelStyleColumnOperationsTemplateDirective, i24.IgxExcelStyleFilterOperationsTemplateDirective, i33.IgxExcelStyleLoadingValuesTemplateDirective, i34.IgxPaginatorComponent, i34.IgxPageNavigationComponent, i34.IgxPageSizeSelectorComponent, i34.IgxPaginatorContentDirective, i35.IgxPaginatorDirective] }); }
46
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridModule, imports: [i1.IgxGridComponent, i6.IgxAdvancedFilteringDialogComponent, i22.IgxGridToolbarHidingComponent, i23.IgxGridToolbarPinningComponent, i24.IgxGridExcelStyleFilteringComponent, i31.IgxExcelStyleConditionalFilterComponent, i33.IgxExcelStyleSearchComponent, i34.IgxPaginatorComponent, i34.IgxPageSizeSelectorComponent] }); }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
48
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: IgxGridModule, imports: [i1.IgxGridComponent, i2.IgxGroupByRowTemplateDirective, i2.IgxGridDetailTemplateDirective, i2.IgxRowExpandedIndicatorDirective, i2.IgxRowCollapsedIndicatorDirective, i2.IgxHeaderExpandIndicatorDirective, i2.IgxHeaderCollapseIndicatorDirective, i2.IgxExcelStyleHeaderIconDirective, i2.IgxSortHeaderIconDirective, i2.IgxSortAscendingHeaderIconDirective, i2.IgxSortDescendingHeaderIconDirective, i2.IgxGroupAreaDropDirective, i3.IgxRowDirective, i4.IgxRowAddTextDirective, i4.IgxRowEditActionsDirective, i4.IgxRowEditTextDirective, i4.IgxRowEditTabStopDirective, i5.IgxGridFooterComponent, i6.IgxAdvancedFilteringDialogComponent, i2.IgxRowExpandedIndicatorDirective, i2.IgxRowCollapsedIndicatorDirective, i2.IgxHeaderExpandIndicatorDirective, i2.IgxHeaderCollapseIndicatorDirective, i2.IgxExcelStyleHeaderIconDirective, i2.IgxSortAscendingHeaderIconDirective, i2.IgxSortDescendingHeaderIconDirective, i2.IgxSortHeaderIconDirective, i2.IgxGroupAreaDropDirective, i7.IgxDragIndicatorIconDirective, i7.IgxRowDragGhostDirective, i8.IgxGridStateDirective, i9.IgxGridHeaderComponent, i10.IgxGridHeaderGroupComponent, i11.IgxGridHeaderRowComponent, i12.IgxFilterCellTemplateDirective, i12.IgxSummaryTemplateDirective, i12.IgxCellTemplateDirective, i12.IgxCellValidationErrorDirective, i12.IgxCellHeaderTemplateDirective, i12.IgxCellFooterTemplateDirective, i12.IgxCellEditorTemplateDirective, i12.IgxCollapsibleIndicatorTemplateDirective, i13.IgxColumnComponent, i14.IgxColumnGroupComponent, i15.IgxColumnLayoutComponent, i16.IgxColumnRequiredValidatorDirective, i16.IgxColumnMinValidatorDirective, i16.IgxColumnMaxValidatorDirective, i16.IgxColumnEmailValidatorDirective, i16.IgxColumnMinLengthValidatorDirective, i16.IgxColumnMaxLengthValidatorDirective, i16.IgxColumPatternValidatorDirective, i17.IgxColumnActionsComponent, i18.IgxColumnHidingDirective, i19.IgxColumnPinningDirective, i20.IgxRowSelectorDirective, i20.IgxGroupByRowSelectorDirective, i20.IgxHeadSelectorDirective, i21.IgxCSVTextDirective, i21.IgxExcelTextDirective, i21.IgxGridToolbarActionsComponent, i22.IgxGridToolbarAdvancedFilteringComponent, i23.IgxGridToolbarComponent, i24.IgxGridToolbarExporterComponent, i25.IgxGridToolbarHidingComponent, i26.IgxGridToolbarPinningComponent, i21.IgxGridToolbarTitleComponent, i21.IgxGridToolbarDirective, i27.IgxGridExcelStyleFilteringComponent, i28.IgxExcelStyleHeaderComponent, i29.IgxExcelStyleSortingComponent, i30.IgxExcelStylePinningComponent, i31.IgxExcelStyleHidingComponent, i32.IgxExcelStyleSelectingComponent, i33.IgxExcelStyleClearFiltersComponent, i34.IgxExcelStyleConditionalFilterComponent, i35.IgxExcelStyleMovingComponent, i36.IgxExcelStyleSearchComponent, i27.IgxExcelStyleColumnOperationsTemplateDirective, i27.IgxExcelStyleFilterOperationsTemplateDirective, i36.IgxExcelStyleLoadingValuesTemplateDirective, i37.IgxPaginatorComponent, i37.IgxPageNavigationComponent, i37.IgxPageSizeSelectorComponent, i37.IgxPaginatorContentDirective, i38.IgxPaginatorDirective], exports: [i1.IgxGridComponent, i2.IgxGroupByRowTemplateDirective, i2.IgxGridDetailTemplateDirective, i2.IgxRowExpandedIndicatorDirective, i2.IgxRowCollapsedIndicatorDirective, i2.IgxHeaderExpandIndicatorDirective, i2.IgxHeaderCollapseIndicatorDirective, i2.IgxExcelStyleHeaderIconDirective, i2.IgxSortHeaderIconDirective, i2.IgxSortAscendingHeaderIconDirective, i2.IgxSortDescendingHeaderIconDirective, i2.IgxGroupAreaDropDirective, i3.IgxRowDirective, i4.IgxRowAddTextDirective, i4.IgxRowEditActionsDirective, i4.IgxRowEditTextDirective, i4.IgxRowEditTabStopDirective, i5.IgxGridFooterComponent, i6.IgxAdvancedFilteringDialogComponent, i2.IgxRowExpandedIndicatorDirective, i2.IgxRowCollapsedIndicatorDirective, i2.IgxHeaderExpandIndicatorDirective, i2.IgxHeaderCollapseIndicatorDirective, i2.IgxExcelStyleHeaderIconDirective, i2.IgxSortAscendingHeaderIconDirective, i2.IgxSortDescendingHeaderIconDirective, i2.IgxSortHeaderIconDirective, i2.IgxGroupAreaDropDirective, i7.IgxDragIndicatorIconDirective, i7.IgxRowDragGhostDirective, i8.IgxGridStateDirective, i9.IgxGridHeaderComponent, i10.IgxGridHeaderGroupComponent, i11.IgxGridHeaderRowComponent, i12.IgxFilterCellTemplateDirective, i12.IgxSummaryTemplateDirective, i12.IgxCellTemplateDirective, i12.IgxCellValidationErrorDirective, i12.IgxCellHeaderTemplateDirective, i12.IgxCellFooterTemplateDirective, i12.IgxCellEditorTemplateDirective, i12.IgxCollapsibleIndicatorTemplateDirective, i13.IgxColumnComponent, i14.IgxColumnGroupComponent, i15.IgxColumnLayoutComponent, i16.IgxColumnRequiredValidatorDirective, i16.IgxColumnMinValidatorDirective, i16.IgxColumnMaxValidatorDirective, i16.IgxColumnEmailValidatorDirective, i16.IgxColumnMinLengthValidatorDirective, i16.IgxColumnMaxLengthValidatorDirective, i16.IgxColumPatternValidatorDirective, i17.IgxColumnActionsComponent, i18.IgxColumnHidingDirective, i19.IgxColumnPinningDirective, i20.IgxRowSelectorDirective, i20.IgxGroupByRowSelectorDirective, i20.IgxHeadSelectorDirective, i21.IgxCSVTextDirective, i21.IgxExcelTextDirective, i21.IgxGridToolbarActionsComponent, i22.IgxGridToolbarAdvancedFilteringComponent, i23.IgxGridToolbarComponent, i24.IgxGridToolbarExporterComponent, i25.IgxGridToolbarHidingComponent, i26.IgxGridToolbarPinningComponent, i21.IgxGridToolbarTitleComponent, i21.IgxGridToolbarDirective, i27.IgxGridExcelStyleFilteringComponent, i28.IgxExcelStyleHeaderComponent, i29.IgxExcelStyleSortingComponent, i30.IgxExcelStylePinningComponent, i31.IgxExcelStyleHidingComponent, i32.IgxExcelStyleSelectingComponent, i33.IgxExcelStyleClearFiltersComponent, i34.IgxExcelStyleConditionalFilterComponent, i35.IgxExcelStyleMovingComponent, i36.IgxExcelStyleSearchComponent, i27.IgxExcelStyleColumnOperationsTemplateDirective, i27.IgxExcelStyleFilterOperationsTemplateDirective, i36.IgxExcelStyleLoadingValuesTemplateDirective, i37.IgxPaginatorComponent, i37.IgxPageNavigationComponent, i37.IgxPageSizeSelectorComponent, i37.IgxPaginatorContentDirective, i38.IgxPaginatorDirective] }); }
49
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridModule, imports: [i1.IgxGridComponent, i6.IgxAdvancedFilteringDialogComponent, i17.IgxColumnActionsComponent, i25.IgxGridToolbarHidingComponent, i26.IgxGridToolbarPinningComponent, i27.IgxGridExcelStyleFilteringComponent, i34.IgxExcelStyleConditionalFilterComponent, i36.IgxExcelStyleSearchComponent, i37.IgxPaginatorComponent, i37.IgxPageSizeSelectorComponent] }); }
47
50
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridModule, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridModule, decorators: [{
49
52
  type: NgModule,
50
53
  args: [{
51
54
  imports: [
@@ -56,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
56
59
  ]
57
60
  }]
58
61
  }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvZ3JpZC9ncmlkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVuRDs7O0dBR0c7QUFTSCxNQUFNLE9BQU8sYUFBYTttSEFBYixhQUFhO29IQUFiLGFBQWE7b0hBQWIsYUFBYTs7Z0dBQWIsYUFBYTtrQkFSekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsR0FBRyxtQkFBbUI7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxHQUFHLG1CQUFtQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUdYX0dSSURfRElSRUNUSVZFUyB9IGZyb20gJy4vcHVibGljX2FwaSc7XG5cbi8qKlxuICogQGhpZGRlblxuICogSU1QT1JUQU5UOiBUaGUgZm9sbG93aW5nIGlzIE5nTW9kdWxlIGV4cG9ydGVkIGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSBiZWZvcmUgc3RhbmRhbG9uZSBjb21wb25lbnRzXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICAuLi5JR1hfR1JJRF9ESVJFQ1RJVkVTXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICAuLi5JR1hfR1JJRF9ESVJFQ1RJVkVTXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZE1vZHVsZSB7fVxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvZ3JpZC9ncmlkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVuRDs7O0dBR0c7QUFTSCxNQUFNLE9BQU8sYUFBYTs4R0FBYixhQUFhOytHQUFiLGFBQWE7K0dBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFSekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsR0FBRyxtQkFBbUI7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxHQUFHLG1CQUFtQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUdYX0dSSURfRElSRUNUSVZFUyB9IGZyb20gJy4vcHVibGljX2FwaSc7XG5cbi8qKlxuICogQGhpZGRlblxuICogSU1QT1JUQU5UOiBUaGUgZm9sbG93aW5nIGlzIE5nTW9kdWxlIGV4cG9ydGVkIGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSBiZWZvcmUgc3RhbmRhbG9uZSBjb21wb25lbnRzXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICAuLi5JR1hfR1JJRF9ESVJFQ1RJVkVTXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICAuLi5JR1hfR1JJRF9ESVJFQ1RJVkVTXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZE1vZHVsZSB7fVxuIl19
@@ -25,10 +25,10 @@ export class IgxGridSortingPipe {
25
25
  this.grid.setFilteredSortedData(result, pinned);
26
26
  return result;
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridSortingPipe, deps: [{ token: IGX_GRID_BASE }], target: i0.ɵɵFactoryTarget.Pipe }); }
29
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridSortingPipe, isStandalone: true, name: "gridSort" }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridSortingPipe, deps: [{ token: IGX_GRID_BASE }], target: i0.ɵɵFactoryTarget.Pipe }); }
29
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: IgxGridSortingPipe, isStandalone: true, name: "gridSort" }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridSortingPipe, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridSortingPipe, decorators: [{
32
32
  type: Pipe,
33
33
  args: [{
34
34
  name: 'gridSort',
@@ -68,10 +68,10 @@ export class IgxGridGroupingPipe {
68
68
  this.grid.groupingMetadata = fullResult.metadata;
69
69
  return result;
70
70
  }
71
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridGroupingPipe, deps: [{ token: IGX_GRID_BASE }], target: i0.ɵɵFactoryTarget.Pipe }); }
72
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridGroupingPipe, isStandalone: true, name: "gridGroupBy" }); }
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridGroupingPipe, deps: [{ token: IGX_GRID_BASE }], target: i0.ɵɵFactoryTarget.Pipe }); }
72
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: IgxGridGroupingPipe, isStandalone: true, name: "gridGroupBy" }); }
73
73
  }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridGroupingPipe, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridGroupingPipe, decorators: [{
75
75
  type: Pipe,
76
76
  args: [{
77
77
  name: 'gridGroupBy',
@@ -108,10 +108,10 @@ export class IgxGridPagingPipe {
108
108
  this.grid.pagingState = state;
109
109
  return result;
110
110
  }
111
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridPagingPipe, deps: [{ token: IGX_GRID_BASE }], target: i0.ɵɵFactoryTarget.Pipe }); }
112
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridPagingPipe, isStandalone: true, name: "gridPaging" }); }
111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridPagingPipe, deps: [{ token: IGX_GRID_BASE }], target: i0.ɵɵFactoryTarget.Pipe }); }
112
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: IgxGridPagingPipe, isStandalone: true, name: "gridPaging" }); }
113
113
  }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridPagingPipe, decorators: [{
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridPagingPipe, decorators: [{
115
115
  type: Pipe,
116
116
  args: [{
117
117
  name: 'gridPaging',
@@ -141,10 +141,10 @@ export class IgxGridFilteringPipe {
141
141
  this.grid.setFilteredData(result, pinned);
142
142
  return result;
143
143
  }
144
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridFilteringPipe, deps: [{ token: IGX_GRID_BASE }], target: i0.ɵɵFactoryTarget.Pipe }); }
145
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridFilteringPipe, isStandalone: true, name: "gridFiltering" }); }
144
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridFilteringPipe, deps: [{ token: IGX_GRID_BASE }], target: i0.ɵɵFactoryTarget.Pipe }); }
145
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: IgxGridFilteringPipe, isStandalone: true, name: "gridFiltering" }); }
146
146
  }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridFilteringPipe, decorators: [{
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridFilteringPipe, decorators: [{
148
148
  type: Pipe,
149
149
  args: [{
150
150
  name: 'gridFiltering',
@@ -154,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
154
154
  type: Inject,
155
155
  args: [IGX_GRID_BASE]
156
156
  }] }]; } });
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9ncmlkcy9ncmlkL2dyaWQucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHM0QsT0FBTyxFQUE2Qix3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRXZILE9BQU8sRUFBWSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFzQixNQUFNLDBDQUEwQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJakQ7O0dBRUc7QUFLSCxNQUFNLE9BQU8sa0JBQWtCO0lBRTNCLFlBQTJDLElBQWM7UUFBZCxTQUFJLEdBQUosSUFBSSxDQUFVO0lBQUksQ0FBQztJQUV2RCxTQUFTLENBQUMsVUFBaUIsRUFBRSxlQUFxQyxFQUFFLGdCQUF1QyxFQUFFLE9BQTZCLEVBQzdJLEVBQVUsRUFBRSxXQUFtQixFQUFFLE1BQU87UUFDeEMsSUFBSSxNQUFhLENBQUM7UUFDbEIsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQ3JCLE1BQU0sR0FBRyxVQUFVLENBQUM7U0FDdkI7YUFBTTtZQUNILE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuRjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRWhELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7bUhBaEJRLGtCQUFrQixrQkFFUCxhQUFhO2lIQUZ4QixrQkFBa0I7O2dHQUFsQixrQkFBa0I7a0JBSjlCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBR2dCLE1BQU07MkJBQUMsYUFBYTs7QUFpQnJDOztHQUVHO0FBS0gsTUFBTSxPQUFPLG1CQUFtQjtJQUU1QixZQUEyQyxJQUFjO1FBQWQsU0FBSSxHQUFKLElBQUksQ0FBVTtJQUFJLENBQUM7SUFFdkQsU0FBUyxDQUFDLFVBQWlCLEVBQUUsVUFBdUQsRUFDdkYsU0FBc0QsRUFDdEQsZ0JBQXVDLEVBQUUsZUFBd0IsRUFDakUsRUFBVSxFQUFFLGFBQW9CLEVBQUUsWUFBb0I7UUFFdEQsTUFBTSxLQUFLLEdBQUcsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsZUFBZSxFQUFFLENBQUM7UUFDbEUsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ2xELElBQUksTUFBc0IsQ0FBQztRQUMzQixNQUFNLFVBQVUsR0FBbUIsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUU5RCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFDM0IsNkNBQTZDO1lBQzdDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QyxNQUFNLEdBQUc7Z0JBQ0wsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLFFBQVEsRUFBRSxVQUFVO2FBQ3ZCLENBQUM7U0FDTDthQUFNO1lBQ0gsS0FBSyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1lBQ25ELEtBQUssQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDakQsTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUNsSDtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUNqRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO21IQTlCUSxtQkFBbUIsa0JBRVIsYUFBYTtpSEFGeEIsbUJBQW1COztnR0FBbkIsbUJBQW1CO2tCQUovQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxhQUFhO29CQUNuQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OzBCQUdnQixNQUFNOzJCQUFDLGFBQWE7O0FBK0JyQzs7R0FFRztBQUtILE1BQU0sT0FBTyxpQkFBaUI7SUFFMUIsWUFBMkMsSUFBYztRQUFkLFNBQUksR0FBSixJQUFJLENBQVU7SUFBSSxDQUFDO0lBRXZELFNBQVMsQ0FBQyxVQUEwQixFQUFFLE9BQWdCLEVBQUUsSUFBSSxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsRUFBRSxFQUFFLENBQVM7UUFDNUYsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxjQUFjLENBQUMsS0FBSyxFQUFFO1lBQzNELE9BQU8sVUFBVSxDQUFDO1NBQ3JCO1FBQ0QsTUFBTSxLQUFLLEdBQUc7WUFDVixLQUFLLEVBQUUsSUFBSTtZQUNYLGNBQWMsRUFBRSxPQUFPO1NBQzFCLENBQUM7UUFDRixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztRQUMvRixRQUFRLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTFDLE1BQU0sTUFBTSxHQUFHO1lBQ1gsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQzlELFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztTQUN6RSxDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDaEM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDOUIsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzttSEF4QlEsaUJBQWlCLGtCQUVOLGFBQWE7aUhBRnhCLGlCQUFpQjs7Z0dBQWpCLGlCQUFpQjtrQkFKN0IsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFHZ0IsTUFBTTsyQkFBQyxhQUFhOztBQXlCckM7O0dBRUc7QUFLSCxNQUFNLE9BQU8sb0JBQW9CO0lBRTdCLFlBQTJDLElBQWM7UUFBZCxTQUFJLEdBQUosSUFBSSxDQUFVO0lBQUksQ0FBQztJQUV2RCxTQUFTLENBQUMsVUFBaUIsRUFBRSxlQUEwQyxFQUMxRSxjQUFrQyxFQUNsQyx1QkFBa0QsRUFBRSxFQUFVLEVBQUUsV0FBbUIsRUFBRSxvQkFBNEIsRUFBRSxNQUFPO1FBQzFILE1BQU0sS0FBSyxHQUFHO1lBQ1YsZUFBZTtZQUNmLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLHVCQUF1QjtTQUMxQixDQUFDO1FBRUYsSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsRUFBRTtZQUN4SCxPQUFPLFVBQVUsQ0FBQztTQUNyQjtRQUVELE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7bUhBcEJRLG9CQUFvQixrQkFFVCxhQUFhO2lIQUZ4QixvQkFBb0I7O2dHQUFwQixvQkFBb0I7a0JBSmhDLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGVBQWU7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBR2dCLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVBcnJheSB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgRGF0YVV0aWwgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZGF0YS11dGlsJztcbmltcG9ydCB7IElHcm91cEJ5RXhwYW5kU3RhdGUgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1leHBhbmQtc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IElHcm91cEJ5UmVzdWx0IH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2dyb3VwaW5nLXJlc3VsdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSwgRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1leHByZXNzaW9ucy10cmVlJztcbmltcG9ydCB7IElHcm91cGluZ0V4cHJlc3Npb24gfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBpbmctZXhwcmVzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR3JpZFR5cGUsIElHWF9HUklEX0JBU0UgfSBmcm9tICcuLi9jb21tb24vZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmlsdGVyVXRpbCwgSUZpbHRlcmluZ1N0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBHcmlkUGFnaW5nTW9kZSB9IGZyb20gJy4uL2NvbW1vbi9lbnVtcyc7XG5pbXBvcnQgeyBJU29ydGluZ0V4cHJlc3Npb24gfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvc29ydGluZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBJR3JpZFNvcnRpbmdTdHJhdGVneSwgSUdyaWRHcm91cGluZ1N0cmF0ZWd5IH0gZnJvbSAnLi4vY29tbW9uL3N0cmF0ZWd5JztcblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBQaXBlKHtcbiAgICBuYW1lOiAnZ3JpZFNvcnQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZFNvcnRpbmdQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KElHWF9HUklEX0JBU0UpIHByaXZhdGUgZ3JpZDogR3JpZFR5cGUpIHsgfVxuXG4gICAgcHVibGljIHRyYW5zZm9ybShjb2xsZWN0aW9uOiBhbnlbXSwgc29ydEV4cHJlc3Npb25zOiBJU29ydGluZ0V4cHJlc3Npb25bXSwgZ3JvdXBFeHByZXNzaW9uczogSUdyb3VwaW5nRXhwcmVzc2lvbltdLCBzb3J0aW5nOiBJR3JpZFNvcnRpbmdTdHJhdGVneSxcbiAgICAgICAgaWQ6IHN0cmluZywgcGlwZVRyaWdnZXI6IG51bWJlciwgcGlubmVkPyk6IGFueVtdIHtcbiAgICAgICAgbGV0IHJlc3VsdDogYW55W107XG4gICAgICAgIGNvbnN0IGV4cHJlc3Npb25zID0gZ3JvdXBFeHByZXNzaW9ucy5jb25jYXQoc29ydEV4cHJlc3Npb25zKTtcbiAgICAgICAgaWYgKCFleHByZXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IGNvbGxlY3Rpb247XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQgPSBEYXRhVXRpbC5zb3J0KGNsb25lQXJyYXkoY29sbGVjdGlvbiksIGV4cHJlc3Npb25zLCBzb3J0aW5nLCB0aGlzLmdyaWQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ3JpZC5zZXRGaWx0ZXJlZFNvcnRlZERhdGEocmVzdWx0LCBwaW5uZWQpO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdncmlkR3JvdXBCeScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hHcmlkR3JvdXBpbmdQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KElHWF9HUklEX0JBU0UpIHByaXZhdGUgZ3JpZDogR3JpZFR5cGUpIHsgfVxuXG4gICAgcHVibGljIHRyYW5zZm9ybShjb2xsZWN0aW9uOiBhbnlbXSwgZXhwcmVzc2lvbjogSUdyb3VwaW5nRXhwcmVzc2lvbiB8IElHcm91cGluZ0V4cHJlc3Npb25bXSxcbiAgICAgICAgZXhwYW5zaW9uOiBJR3JvdXBCeUV4cGFuZFN0YXRlIHwgSUdyb3VwQnlFeHBhbmRTdGF0ZVtdLFxuICAgICAgICBncm91cGluZ1N0cmF0ZWd5OiBJR3JpZEdyb3VwaW5nU3RyYXRlZ3ksIGRlZmF1bHRFeHBhbmRlZDogYm9vbGVhbixcbiAgICAgICAgaWQ6IHN0cmluZywgZ3JvdXBzUmVjb3JkczogYW55W10sIF9waXBlVHJpZ2dlcjogbnVtYmVyKTogSUdyb3VwQnlSZXN1bHQge1xuXG4gICAgICAgIGNvbnN0IHN0YXRlID0geyBleHByZXNzaW9uczogW10sIGV4cGFuc2lvbjogW10sIGRlZmF1bHRFeHBhbmRlZCB9O1xuICAgICAgICBzdGF0ZS5leHByZXNzaW9ucyA9IHRoaXMuZ3JpZC5ncm91cGluZ0V4cHJlc3Npb25zO1xuICAgICAgICBsZXQgcmVzdWx0OiBJR3JvdXBCeVJlc3VsdDtcbiAgICAgICAgY29uc3QgZnVsbFJlc3VsdDogSUdyb3VwQnlSZXN1bHQgPSB7IGRhdGE6IFtdLCBtZXRhZGF0YTogW10gfTtcblxuICAgICAgICBpZiAoIXN0YXRlLmV4cHJlc3Npb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgLy8gZW1wdHkgdGhlIGFycmF5IHdpdGhvdXQgY2hhbmdpbmcgcmVmZXJlbmNlXG4gICAgICAgICAgICBncm91cHNSZWNvcmRzLnNwbGljZSgwLCBncm91cHNSZWNvcmRzLmxlbmd0aCk7XG4gICAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICAgICAgZGF0YTogY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICBtZXRhZGF0YTogY29sbGVjdGlvblxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRlLmV4cGFuc2lvbiA9IHRoaXMuZ3JpZC5ncm91cGluZ0V4cGFuc2lvblN0YXRlO1xuICAgICAgICAgICAgc3RhdGUuZGVmYXVsdEV4cGFuZGVkID0gdGhpcy5ncmlkLmdyb3Vwc0V4cGFuZGVkO1xuICAgICAgICAgICAgcmVzdWx0ID0gRGF0YVV0aWwuZ3JvdXAoY2xvbmVBcnJheShjb2xsZWN0aW9uKSwgc3RhdGUsIGdyb3VwaW5nU3RyYXRlZ3ksIHRoaXMuZ3JpZCwgZ3JvdXBzUmVjb3JkcywgZnVsbFJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ncmlkLmdyb3VwaW5nRmxhdFJlc3VsdCA9IHJlc3VsdC5kYXRhO1xuICAgICAgICB0aGlzLmdyaWQuZ3JvdXBpbmdSZXN1bHQgPSBmdWxsUmVzdWx0LmRhdGE7XG4gICAgICAgIHRoaXMuZ3JpZC5ncm91cGluZ01ldGFkYXRhID0gZnVsbFJlc3VsdC5tZXRhZGF0YTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ2dyaWRQYWdpbmcnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZFBhZ2luZ1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoSUdYX0dSSURfQkFTRSkgcHJpdmF0ZSBncmlkOiBHcmlkVHlwZSkgeyB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKGNvbGxlY3Rpb246IElHcm91cEJ5UmVzdWx0LCBlbmFibGVkOiBib29sZWFuLCBwYWdlID0gMCwgcGVyUGFnZSA9IDE1LCBfOiBudW1iZXIpOiBJR3JvdXBCeVJlc3VsdCB7XG4gICAgICAgIGlmICghZW5hYmxlZCB8fCB0aGlzLmdyaWQucGFnaW5nTW9kZSAhPT0gR3JpZFBhZ2luZ01vZGUuTG9jYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgICAgICAgaW5kZXg6IHBhZ2UsXG4gICAgICAgICAgICByZWNvcmRzUGVyUGFnZTogcGVyUGFnZVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB0b3RhbCA9IHRoaXMuZ3JpZC5fdG90YWxSZWNvcmRzID49IDAgPyB0aGlzLmdyaWQuX3RvdGFsUmVjb3JkcyA6IGNvbGxlY3Rpb24uZGF0YT8ubGVuZ3RoO1xuICAgICAgICBEYXRhVXRpbC5jb3JyZWN0UGFnaW5nU3RhdGUoc3RhdGUsIHRvdGFsKTtcblxuICAgICAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgICAgICBkYXRhOiBEYXRhVXRpbC5wYWdlKGNsb25lQXJyYXkoY29sbGVjdGlvbi5kYXRhKSwgc3RhdGUsIHRvdGFsKSxcbiAgICAgICAgICAgIG1ldGFkYXRhOiBEYXRhVXRpbC5wYWdlKGNsb25lQXJyYXkoY29sbGVjdGlvbi5tZXRhZGF0YSksIHN0YXRlLCB0b3RhbClcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHRoaXMuZ3JpZC5wYWdlICE9PSBzdGF0ZS5pbmRleCkge1xuICAgICAgICAgICAgdGhpcy5ncmlkLnBhZ2UgPSBzdGF0ZS5pbmRleDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdyaWQucGFnaW5nU3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ2dyaWRGaWx0ZXJpbmcnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZEZpbHRlcmluZ1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoSUdYX0dSSURfQkFTRSkgcHJpdmF0ZSBncmlkOiBHcmlkVHlwZSkgeyB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKGNvbGxlY3Rpb246IGFueVtdLCBleHByZXNzaW9uc1RyZWU6IElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUsXG4gICAgICAgIGZpbHRlclN0cmF0ZWd5OiBJRmlsdGVyaW5nU3RyYXRlZ3ksXG4gICAgICAgIGFkdmFuY2VkRXhwcmVzc2lvbnNUcmVlOiBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLCBpZDogc3RyaW5nLCBwaXBlVHJpZ2dlcjogbnVtYmVyLCBmaWx0ZXJpbmdQaXBlVHJpZ2dlcjogbnVtYmVyLCBwaW5uZWQ/KSB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgICAgICAgZXhwcmVzc2lvbnNUcmVlLFxuICAgICAgICAgICAgc3RyYXRlZ3k6IGZpbHRlclN0cmF0ZWd5LFxuICAgICAgICAgICAgYWR2YW5jZWRFeHByZXNzaW9uc1RyZWVcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLmVtcHR5KHN0YXRlLmV4cHJlc3Npb25zVHJlZSkgJiYgRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLmVtcHR5KHN0YXRlLmFkdmFuY2VkRXhwcmVzc2lvbnNUcmVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN1bHQgPSBGaWx0ZXJVdGlsLmZpbHRlcihjbG9uZUFycmF5KGNvbGxlY3Rpb24pLCBzdGF0ZSwgdGhpcy5ncmlkKTtcbiAgICAgICAgdGhpcy5ncmlkLnNldEZpbHRlcmVkRGF0YShyZXN1bHQsIHBpbm5lZCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuIl19
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9ncmlkcy9ncmlkL2dyaWQucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHM0QsT0FBTyxFQUE2Qix3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRXZILE9BQU8sRUFBWSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFzQixNQUFNLDBDQUEwQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJakQ7O0dBRUc7QUFLSCxNQUFNLE9BQU8sa0JBQWtCO0lBRTNCLFlBQTJDLElBQWM7UUFBZCxTQUFJLEdBQUosSUFBSSxDQUFVO0lBQUksQ0FBQztJQUV2RCxTQUFTLENBQUMsVUFBaUIsRUFBRSxlQUFxQyxFQUFFLGdCQUF1QyxFQUFFLE9BQTZCLEVBQzdJLEVBQVUsRUFBRSxXQUFtQixFQUFFLE1BQU87UUFDeEMsSUFBSSxNQUFhLENBQUM7UUFDbEIsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQ3JCLE1BQU0sR0FBRyxVQUFVLENBQUM7U0FDdkI7YUFBTTtZQUNILE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJ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QUFrQyxFQUNsQyx1QkFBa0QsRUFBRSxFQUFVLEVBQUUsV0FBbUIsRUFBRSxvQkFBNEIsRUFBRSxNQUFPO1FBQzFILE1BQU0sS0FBSyxHQUFHO1lBQ1YsZUFBZTtZQUNmLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLHVCQUF1QjtTQUMxQixDQUFDO1FBRUYsSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsRUFBRTtZQUN4SCxPQUFPLFVBQVUsQ0FBQztTQUNyQjtRQUVELE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7OEdBcEJRLG9CQUFvQixrQkFFVCxhQUFhOzRHQUZ4QixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSmhDLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGVBQWU7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBR2dCLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVBcnJheSB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgRGF0YVV0aWwgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZGF0YS11dGlsJztcbmltcG9ydCB7IElHcm91cEJ5RXhwYW5kU3RhdGUgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1leHBhbmQtc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IElHcm91cEJ5UmVzdWx0IH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2dyb3VwaW5nLXJlc3VsdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSwgRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1leHByZXNzaW9ucy10cmVlJztcbmltcG9ydCB7IElHcm91cGluZ0V4cHJlc3Npb24gfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBpbmctZXhwcmVzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR3JpZFR5cGUsIElHWF9HUklEX0JBU0UgfSBmcm9tICcuLi9jb21tb24vZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmlsdGVyVXRpbCwgSUZpbHRlcmluZ1N0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBHcmlkUGFnaW5nTW9kZSB9IGZyb20gJy4uL2NvbW1vbi9lbnVtcyc7XG5pbXBvcnQgeyBJU29ydGluZ0V4cHJlc3Npb24gfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvc29ydGluZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBJR3JpZFNvcnRpbmdTdHJhdGVneSwgSUdyaWRHcm91cGluZ1N0cmF0ZWd5IH0gZnJvbSAnLi4vY29tbW9uL3N0cmF0ZWd5JztcblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBQaXBlKHtcbiAgICBuYW1lOiAnZ3JpZFNvcnQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZFNvcnRpbmdQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KElHWF9HUklEX0JBU0UpIHByaXZhdGUgZ3JpZDogR3JpZFR5cGUpIHsgfVxuXG4gICAgcHVibGljIHRyYW5zZm9ybShjb2xsZWN0aW9uOiBhbnlbXSwgc29ydEV4cHJlc3Npb25zOiBJU29ydGluZ0V4cHJlc3Npb25bXSwgZ3JvdXBFeHByZXNzaW9uczogSUdyb3VwaW5nRXhwcmVzc2lvbltdLCBzb3J0aW5nOiBJR3JpZFNvcnRpbmdTdHJhdGVneSxcbiAgICAgICAgaWQ6IHN0cmluZywgcGlwZVRyaWdnZXI6IG51bWJlciwgcGlubmVkPyk6IGFueVtdIHtcbiAgICAgICAgbGV0IHJlc3VsdDogYW55W107XG4gICAgICAgIGNvbnN0IGV4cHJlc3Npb25zID0gZ3JvdXBFeHByZXNzaW9ucy5jb25jYXQoc29ydEV4cHJlc3Npb25zKTtcbiAgICAgICAgaWYgKCFleHByZXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IGNvbGxlY3Rpb247XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQgPSBEYXRhVXRpbC5zb3J0KGNsb25lQXJyYXkoY29sbGVjdGlvbiksIGV4cHJlc3Npb25zLCBzb3J0aW5nLCB0aGlzLmdyaWQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ3JpZC5zZXRGaWx0ZXJlZFNvcnRlZERhdGEocmVzdWx0LCBwaW5uZWQpO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdncmlkR3JvdXBCeScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hHcmlkR3JvdXBpbmdQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KElHWF9HUklEX0JBU0UpIHByaXZhdGUgZ3JpZDogR3JpZFR5cGUpIHsgfVxuXG4gICAgcHVibGljIHRyYW5zZm9ybShjb2xsZWN0aW9uOiBhbnlbXSwgZXhwcmVzc2lvbjogSUdyb3VwaW5nRXhwcmVzc2lvbiB8IElHcm91cGluZ0V4cHJlc3Npb25bXSxcbiAgICAgICAgZXhwYW5zaW9uOiBJR3JvdXBCeUV4cGFuZFN0YXRlIHwgSUdyb3VwQnlFeHBhbmRTdGF0ZVtdLFxuICAgICAgICBncm91cGluZ1N0cmF0ZWd5OiBJR3JpZEdyb3VwaW5nU3RyYXRlZ3ksIGRlZmF1bHRFeHBhbmRlZDogYm9vbGVhbixcbiAgICAgICAgaWQ6IHN0cmluZywgZ3JvdXBzUmVjb3JkczogYW55W10sIF9waXBlVHJpZ2dlcjogbnVtYmVyKTogSUdyb3VwQnlSZXN1bHQge1xuXG4gICAgICAgIGNvbnN0IHN0YXRlID0geyBleHByZXNzaW9uczogW10sIGV4cGFuc2lvbjogW10sIGRlZmF1bHRFeHBhbmRlZCB9O1xuICAgICAgICBzdGF0ZS5leHByZXNzaW9ucyA9IHRoaXMuZ3JpZC5ncm91cGluZ0V4cHJlc3Npb25zO1xuICAgICAgICBsZXQgcmVzdWx0OiBJR3JvdXBCeVJlc3VsdDtcbiAgICAgICAgY29uc3QgZnVsbFJlc3VsdDogSUdyb3VwQnlSZXN1bHQgPSB7IGRhdGE6IFtdLCBtZXRhZGF0YTogW10gfTtcblxuICAgICAgICBpZiAoIXN0YXRlLmV4cHJlc3Npb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgLy8gZW1wdHkgdGhlIGFycmF5IHdpdGhvdXQgY2hhbmdpbmcgcmVmZXJlbmNlXG4gICAgICAgICAgICBncm91cHNSZWNvcmRzLnNwbGljZSgwLCBncm91cHNSZWNvcmRzLmxlbmd0aCk7XG4gICAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICAgICAgZGF0YTogY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICBtZXRhZGF0YTogY29sbGVjdGlvblxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRlLmV4cGFuc2lvbiA9IHRoaXMuZ3JpZC5ncm91cGluZ0V4cGFuc2lvblN0YXRlO1xuICAgICAgICAgICAgc3RhdGUuZGVmYXVsdEV4cGFuZGVkID0gdGhpcy5ncmlkLmdyb3Vwc0V4cGFuZGVkO1xuICAgICAgICAgICAgcmVzdWx0ID0gRGF0YVV0aWwuZ3JvdXAoY2xvbmVBcnJheShjb2xsZWN0aW9uKSwgc3RhdGUsIGdyb3VwaW5nU3RyYXRlZ3ksIHRoaXMuZ3JpZCwgZ3JvdXBzUmVjb3JkcywgZnVsbFJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ncmlkLmdyb3VwaW5nRmxhdFJlc3VsdCA9IHJlc3VsdC5kYXRhO1xuICAgICAgICB0aGlzLmdyaWQuZ3JvdXBpbmdSZXN1bHQgPSBmdWxsUmVzdWx0LmRhdGE7XG4gICAgICAgIHRoaXMuZ3JpZC5ncm91cGluZ01ldGFkYXRhID0gZnVsbFJlc3VsdC5tZXRhZGF0YTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ2dyaWRQYWdpbmcnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZFBhZ2luZ1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoSUdYX0dSSURfQkFTRSkgcHJpdmF0ZSBncmlkOiBHcmlkVHlwZSkgeyB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKGNvbGxlY3Rpb246IElHcm91cEJ5UmVzdWx0LCBlbmFibGVkOiBib29sZWFuLCBwYWdlID0gMCwgcGVyUGFnZSA9IDE1LCBfOiBudW1iZXIpOiBJR3JvdXBCeVJlc3VsdCB7XG4gICAgICAgIGlmICghZW5hYmxlZCB8fCB0aGlzLmdyaWQucGFnaW5nTW9kZSAhPT0gR3JpZFBhZ2luZ01vZGUuTG9jYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgICAgICAgaW5kZXg6IHBhZ2UsXG4gICAgICAgICAgICByZWNvcmRzUGVyUGFnZTogcGVyUGFnZVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB0b3RhbCA9IHRoaXMuZ3JpZC5fdG90YWxSZWNvcmRzID49IDAgPyB0aGlzLmdyaWQuX3RvdGFsUmVjb3JkcyA6IGNvbGxlY3Rpb24uZGF0YT8ubGVuZ3RoO1xuICAgICAgICBEYXRhVXRpbC5jb3JyZWN0UGFnaW5nU3RhdGUoc3RhdGUsIHRvdGFsKTtcblxuICAgICAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgICAgICBkYXRhOiBEYXRhVXRpbC5wYWdlKGNsb25lQXJyYXkoY29sbGVjdGlvbi5kYXRhKSwgc3RhdGUsIHRvdGFsKSxcbiAgICAgICAgICAgIG1ldGFkYXRhOiBEYXRhVXRpbC5wYWdlKGNsb25lQXJyYXkoY29sbGVjdGlvbi5tZXRhZGF0YSksIHN0YXRlLCB0b3RhbClcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHRoaXMuZ3JpZC5wYWdlICE9PSBzdGF0ZS5pbmRleCkge1xuICAgICAgICAgICAgdGhpcy5ncmlkLnBhZ2UgPSBzdGF0ZS5pbmRleDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdyaWQucGFnaW5nU3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ2dyaWRGaWx0ZXJpbmcnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZEZpbHRlcmluZ1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoSUdYX0dSSURfQkFTRSkgcHJpdmF0ZSBncmlkOiBHcmlkVHlwZSkgeyB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKGNvbGxlY3Rpb246IGFueVtdLCBleHByZXNzaW9uc1RyZWU6IElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUsXG4gICAgICAgIGZpbHRlclN0cmF0ZWd5OiBJRmlsdGVyaW5nU3RyYXRlZ3ksXG4gICAgICAgIGFkdmFuY2VkRXhwcmVzc2lvbnNUcmVlOiBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLCBpZDogc3RyaW5nLCBwaXBlVHJpZ2dlcjogbnVtYmVyLCBmaWx0ZXJpbmdQaXBlVHJpZ2dlcjogbnVtYmVyLCBwaW5uZWQ/KSB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgICAgICAgZXhwcmVzc2lvbnNUcmVlLFxuICAgICAgICAgICAgc3RyYXRlZ3k6IGZpbHRlclN0cmF0ZWd5LFxuICAgICAgICAgICAgYWR2YW5jZWRFeHByZXNzaW9uc1RyZWVcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLmVtcHR5KHN0YXRlLmV4cHJlc3Npb25zVHJlZSkgJiYgRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLmVtcHR5KHN0YXRlLmFkdmFuY2VkRXhwcmVzc2lvbnNUcmVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN1bHQgPSBGaWx0ZXJVdGlsLmZpbHRlcihjbG9uZUFycmF5KGNvbGxlY3Rpb24pLCBzdGF0ZSwgdGhpcy5ncmlkKTtcbiAgICAgICAgdGhpcy5ncmlkLnNldEZpbHRlcmVkRGF0YShyZXN1bHQsIHBpbm5lZCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuIl19
@@ -116,10 +116,10 @@ export class IgxGridSummaryPipe {
116
116
  });
117
117
  return data;
118
118
  }
119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridSummaryPipe, deps: [{ token: IGX_GRID_BASE }], target: i0.ɵɵFactoryTarget.Pipe }); }
120
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridSummaryPipe, isStandalone: true, name: "gridSummary" }); }
119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridSummaryPipe, deps: [{ token: IGX_GRID_BASE }], target: i0.ɵɵFactoryTarget.Pipe }); }
120
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: IgxGridSummaryPipe, isStandalone: true, name: "gridSummary" }); }
121
121
  }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridSummaryPipe, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridSummaryPipe, decorators: [{
123
123
  type: Pipe,
124
124
  args: [{
125
125
  name: 'gridSummary',
@@ -129,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
129
129
  type: Inject,
130
130
  args: [IGX_GRID_BASE]
131
131
  }] }]; } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5zdW1tYXJ5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvZ3JpZC9ncmlkLnN1bW1hcnkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFJNUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEYsT0FBTyxFQUFZLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUtuRSxjQUFjO0FBS2QsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQixZQUEyQyxJQUFjO1FBQWQsU0FBSSxHQUFKLElBQUksQ0FBVTtJQUFJLENBQUM7SUFFdkQsU0FBUyxDQUFDLFVBQTBCLEVBQ3ZDLFVBQW1CLEVBQ25CLHNCQUFrRCxFQUNsRCxlQUFvQyxFQUNwQyxFQUFVLEVBQUUsV0FBVyxFQUFFLENBQVMsRUFBRSxFQUFVO1FBRTlDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLHNCQUFzQixLQUFLLDBCQUEwQixDQUFDLGFBQWEsRUFBRTtZQUN4RyxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUM7U0FDMUI7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFjLEVBQUUsVUFBMEIsRUFBRSxlQUFvQyxFQUFFLFdBQVc7UUFDaEgsTUFBTSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDOUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7UUFDdEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMs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ZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJU3VtbWFyeVJlY29yZCB9IGZyb20gJy4uL3N1bW1hcmllcy9ncmlkLXN1bW1hcnknO1xuaW1wb3J0IHsgSUdyb3VwQnlSZWNvcmQgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1yZWNvcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElHcm91cEJ5UmVzdWx0IH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2dyb3VwaW5nLXJlc3VsdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR3JpZFN1bW1hcnlDYWxjdWxhdGlvbk1vZGUsIEdyaWRTdW1tYXJ5UG9zaXRpb24gfSBmcm9tICcuLi9jb21tb24vZW51bXMnO1xuaW1wb3J0IHsgR3JpZFR5cGUsIElHWF9HUklEX0JBU0UgfSBmcm9tICcuLi9jb21tb24vZ3JpZC5pbnRlcmZhY2UnO1xuXG4vKiogQGhpZGRlbiAqL1xuaW50ZXJmYWNlIElTa2lwUmVjb3JkIHsgc2tpcD86IGJvb2xlYW4gfVxuXG4vKiogQGhpZGRlbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdncmlkU3VtbWFyeScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hHcmlkU3VtbWFyeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoSUdYX0dSSURfQkFTRSkgcHJpdmF0ZSBncmlkOiBHcmlkVHlwZSkgeyB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKGNvbGxlY3Rpb246IElHcm91cEJ5UmVzdWx0LFxuICAgICAgICBoYXNTdW1tYXJ5OiBib29sZWFuLFxuICAgICAgICBzdW1tYXJ5Q2FsY3VsYXRpb25Nb2RlOiBHcmlkU3VtbWFyeUNhbGN1bGF0aW9uTW9kZSxcbiAgICAgICAgc3VtbWFyeVBvc2l0aW9uOiBHcmlkU3VtbWFyeVBvc2l0aW9uLFxuICAgICAgICBpZDogc3RyaW5nLCBzaG93U3VtbWFyeSwgXzogbnVtYmVyLCBfXzogbnVtYmVyKTogYW55W10ge1xuXG4gICAgICAgIGlmICghY29sbGVjdGlvbi5kYXRhIHx8ICFoYXNTdW1tYXJ5IHx8IHN1bW1hcnlDYWxjdWxhdGlvbk1vZGUgPT09IEdyaWRTdW1tYXJ5Q2FsY3VsYXRpb25Nb2RlLnJvb3RMZXZlbE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uLmRhdGE7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5hZGRTdW1tYXJ5Um93cyhpZCwgY29sbGVjdGlvbiwgc3VtbWFyeVBvc2l0aW9uLCBzaG93U3VtbWFyeSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRTdW1tYXJ5Um93cyhncmlkSWQ6IHN0cmluZywgY29sbGVjdGlvbjogSUdyb3VwQnlSZXN1bHQsIHN1bW1hcnlQb3NpdGlvbjogR3JpZFN1bW1hcnlQb3NpdGlvbiwgc2hvd1N1bW1hcnkpOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IHJlY29yZHNXaXRoU3VtbWFyeSA9IFtdO1xuICAgICAgICBjb25zdCBsYXN0Q2hpbGRNYXAgPSBuZXcgTWFwPGFueSwgSUdyb3VwQnlSZWNvcmRbXT4oKTtcbiAgICAgICAgY29uc3QgbWF4U3VtbWFyeUhlaWdodCA9IHRoaXMuZ3JpZC5zdW1tYXJ5U2VydmljZS5jYWxjTWF4U3VtbWFyeUhlaWdodCgpO1xuXG4gICAgICAgIGlmIChjb2xsZWN0aW9uLm1ldGFkYXRhLmxlbmd0aCAmJiAhdGhpcy5ncmlkLmlzR3JvdXBCeVJlY29yZChjb2xsZWN0aW9uLmRhdGFbMF0pICYmXG4gICAgICAgICAgICB0aGlzLmdyaWQuaXNHcm91cEJ5UmVjb3JkKGNvbGxlY3Rpb24ubWV0YWRhdGFbMF0pICYmIHN1bW1hcnlQb3NpdGlvbiA9PT0gR3JpZFN1bW1hcnlQb3NpdGlvbi5ib3R0b20pIHtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwczogQXJyYXk8SUdyb3VwQnlSZWNvcmQgJiBJU2tpcFJlY29yZD4gPSBbXTtcbiAgICAgICAgICAgIGdyb3Vwcy5wdXNoKGNvbGxlY3Rpb24ubWV0YWRhdGFbMF0pO1xuICAgICAgICAgICAgd2hpbGUgKGdyb3Vwc1tncm91cHMubGVuZ3RoIC0gMV0uZ3JvdXBQYXJlbnQpIHtcbiAgICAgICAgICAgICAgICBncm91cHMucHVzaChncm91cHNbZ3JvdXBzLmxlbmd0aCAtIDFdLmdyb3VwUGFyZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGdyb3Vwcy5yZXZlcnNlKCk7XG4gICAgICAgICAgICBncm91cHMuZm9yRWFjaChnID0+IGcuc2tpcCA9IHRydWUpO1xuICAgICAgICAgICAgY29sbGVjdGlvbi5kYXRhLnNwbGljZSgwLCAwLCAuLi5ncm91cHMpO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIGNvbGxlY3Rpb24uZGF0YSkge1xuICAgICAgICAgICAgbGV0IHNraXBBZGQgPSBmYWxzZTtcbiAgICAgICAgICAgIGxldCByZWNvcmRJZDtcbiAgICAgICAgICAgIGxldCBncm91cEJ5UmVjb3JkOiBJR3JvdXBCeVJlY29yZCA9IG51bGw7XG4gICAgICAgICAgICBpZiAodGhpcy5ncmlkLmlzR3JvdXBCeVJlY29yZChyZWNvcmQpKSB7XG4gICAgICAgICAgICAgICAgc2tpcEFkZCA9ICEhcmVjb3JkLnNraXA7XG4gICAgICAgICAgICAgICAgcmVjb3JkLnNraXAgPSBudWxsO1xuICAgICAgICAgICAgICAgIGdyb3VwQnlSZWNvcmQgPSByZWNvcmQgYXMgSUdyb3VwQnlSZWNvcmQ7XG4gICAgICAgICAgICAgICAgcmVjb3JkSWQgPSB0aGlzLmdyaWQuZ3JpZEFQSS5nZXRfZ3JvdXBCeV9yZWNvcmRfaWQoZ3JvdXBCeVJlY29yZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlY29yZElkID0gdGhpcy5ncmlkLmdyaWRBUEkuZ2V0X3Jvd19pZChyZWNvcmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFza2lwQWRkKSB7XG4gICAgICAgICAgICAgICAgcmVjb3Jkc1dpdGhTdW1tYXJ5LnB1c2gocmVjb3JkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHN1bW1hcnlQb3NpdGlvbiA9PT0gR3JpZFN1bW1hcnlQb3NpdGlvbi5ib3R0b20gJiYgc2hvd1N1bW1hcnkgJiZcbiAgICAgICAgICAgICAgICAoZ3JvdXBCeVJlY29yZCAmJiAhdGhpcy5ncmlkLmlzRXhwYW5kZWRHcm91cChncm91cEJ5UmVjb3JkKSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRzID0gdGhpcy5yZW1vdmVEZWxldGVkUmVjb3JkKHRoaXMuZ3JpZCwgZ3JvdXBCeVJlY29yZC5yZWNvcmRzLnNsaWNlKCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1bW1hcmllcyA9IHRoaXMuZ3JpZC5zdW1tYXJ5U2VydmljZS5jYWxjdWxhdGVTdW1tYXJpZXMocmVjb3JkSWQsIHJlY29yZHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1bW1hcnlSZWNvcmQ6IElTdW1tYXJ5UmVjb3JkID0ge1xuICAgICAgICAgICAgICAgICAgICBzdW1tYXJpZXMsXG4gICAgICAgICAgICAgICAgICAgIG1heDogbWF4U3VtbWFyeUhlaWdodFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmVjb3Jkc1dpdGhTdW1tYXJ5LnB1c2goc3VtbWFyeVJlY29yZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc3VtbWFyeVBvc2l0aW9uID09PSBHcmlkU3VtbWFyeVBvc2l0aW9uLmJvdHRvbSAmJiBsYXN0Q2hpbGRNYXAuaGFzKHJlY29yZElkKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwUmVjb3JkcyA9IGxhc3RDaGlsZE1hcC5nZXQocmVjb3JkSWQpO1xuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBncm91cFJlY29yZCBvZiBncm91cFJlY29yZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3JvdXBSZWNvcmRJZCA9IHRoaXMuZ3JpZC5ncmlkQVBJLmdldF9ncm91cEJ5X3JlY29yZF9pZChncm91cFJlY29yZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZHMgPSB0aGlzLnJlbW92ZURlbGV0ZWRSZWNvcmQodGhpcy5ncmlkLCBncm91cFJlY29yZC5yZWNvcmRzLnNsaWNlKCkpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdW1tYXJpZXMgPSB0aGlzLmdyaWQuc3VtbWFyeVNlcnZpY2UuY2FsY3VsYXRlU3VtbWFyaWVzKGdyb3VwUmVjb3JkSWQsIHJlY29yZHMsIGdyb3VwUmVjb3JkKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3VtbWFyeVJlY29yZDogSVN1bW1hcnlSZWNvcmQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdW1tYXJpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXg6IG1heFN1bW1hcnlIZWlnaHRcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgcmVjb3Jkc1dpdGhTdW1tYXJ5LnB1c2goc3VtbWFyeVJlY29yZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzaG93U3VtbWFyaWVzID0gc2hvd1N1bW1hcnkgPyBmYWxzZSA6IChncm91cEJ5UmVjb3JkICYmICF0aGlzLmdyaWQuaXNFeHBhbmRlZEdyb3VwKGdyb3VwQnlSZWNvcmQpKTtcbiAgICAgICAgICAgIGlmIChncm91cEJ5UmVjb3JkID09PSBudWxsIHx8IHNob3dTdW1tYXJpZXMpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHN1bW1hcnlQb3NpdGlvbiA9PT0gR3JpZFN1bW1hcnlQb3NpdGlvbi50b3ApIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRzID0gdGhpcy5yZW1vdmVEZWxldGVkUmVjb3JkKHRoaXMuZ3JpZCwgZ3JvdXBCeVJlY29yZC5yZWNvcmRzLnNsaWNlKCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1bW1hcmllcyA9IHRoaXMuZ3JpZC5zdW1tYXJ5U2VydmljZS5jYWxjdWxhdGVTdW1tYXJpZXMocmVjb3JkSWQsIHJlY29yZHMsIGdyb3VwQnlSZWNvcmQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1bW1hcnlSZWNvcmQ6IElTdW1tYXJ5UmVjb3JkID0ge1xuICAgICAgICAgICAgICAgICAgICBzdW1tYXJpZXMsXG4gICAgICAgICAgICAgICAgICAgIG1heDogbWF4U3VtbWFyeUhlaWdodFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmVjb3Jkc1dpdGhTdW1tYXJ5LnB1c2goc3VtbWFyeVJlY29yZCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHN1bW1hcnlQb3NpdGlvbiA9PT0gR3JpZFN1bW1hcnlQb3NpdGlvbi5ib3R0b20pIHtcbiAgICAgICAgICAgICAgICBsZXQgbGFzdENoaWxkID0gZ3JvdXBCeVJlY29yZDtcblxuICAgICAgICAgICAgICAgIHdoaWxlIChsYXN0Q2hpbGQuZ3JvdXBzICYmIGxhc3RDaGlsZC5ncm91cHMubGVuZ3RoID4gMCAmJiB0aGlzLmdyaWQuaXNFeHBhbmRlZEdyb3VwKGxhc3RDaGlsZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgbGFzdENoaWxkID0gbGFzdENoaWxkLmdyb3Vwc1tsYXN0Q2hpbGQuZ3JvdXBzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxldCBsYXN0Q2hpbGRJZDtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ncmlkLmlzRXhwYW5kZWRHcm91cChsYXN0Q2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGxhc3RDaGlsZElkID0gdGhpcy5ncmlkLmdyaWRBUEkuZ2V0X3Jvd19pZChsYXN0Q2hpbGQucmVjb3Jkc1tsYXN0Q2hpbGQucmVjb3Jkcy5sZW5ndGggLSAxXSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbGFzdENoaWxkSWQgPSB0aGlzLmdyaWQuZ3JpZEFQSS5nZXRfZ3JvdXBCeV9yZWNvcmRfaWQobGFzdENoaWxkKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsZXQgZ3JvdXBSZWNvcmRzID0gbGFzdENoaWxkTWFwLmdldChsYXN0Q2hpbGRJZCk7XG4gICAgICAgICAgICAgICAgaWYgKCFncm91cFJlY29yZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXBSZWNvcmRzID0gW107XG4gICAgICAgICAgICAgICAgICAgIGxhc3RDaGlsZE1hcC5zZXQobGFzdENoaWxkSWQsIGdyb3VwUmVjb3Jkcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGdyb3VwUmVjb3Jkcy51bnNoaWZ0KGdyb3VwQnlSZWNvcmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZWNvcmRzV2l0aFN1bW1hcnk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVEZWxldGVkUmVjb3JkKGdyaWQ6IEdyaWRUeXBlLCBkYXRhOiBhbnlbXSkge1xuICAgICAgICBpZiAoIWdyaWQudHJhbnNhY3Rpb25zLmVuYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRlbGV0ZWRSb3dzID0gZ3JpZC50cmFuc2FjdGlvbnMuZ2V0VHJhbnNhY3Rpb25Mb2coKS5maWx0ZXIodCA9PiB0LnR5cGUgPT09ICdkZWxldGUnKS5tYXAodCA9PiB0LmlkKTtcbiAgICAgICAgZGVsZXRlZFJvd3MuZm9yRWFjaChyb3dJRCA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ZW1wRGF0YSA9IGdyaWQucHJpbWFyeUtleSA/IGRhdGEubWFwKHJlYyA9PiByZWNbZ3JpZC5wcmltYXJ5S2V5XSkgOiBkYXRhO1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0ZW1wRGF0YS5pbmRleE9mKHJvd0lEKTtcbiAgICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBkYXRhLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG59XG4iXX0=
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5zdW1tYXJ5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvZ3JpZC9ncmlkLnN1bW1hcnkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFJNUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEYsT0FBTyxFQUFZLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUtuRSxjQUFjO0FBS2QsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQixZQUEyQyxJQUFjO1FBQWQsU0FBSSxHQUFKLElBQUksQ0FBVTtJQUFJLENBQUM7SUFFdkQsU0FBUyxDQUFDLFVBQTBCLEVBQ3ZDLFVBQW1CLEVBQ25CLHNCQUFrRCxFQUNsRCxlQUFvQyxFQUNwQyxFQUFVLEVBQUUsV0FBVyxFQUFFLENBQVMsRUFBRSxFQUFVO1FBRTlDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLHNCQUFzQixLQUFLLDBCQUEwQixDQUFDLGFBQWEsRUFBRTtZQUN4RyxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUM7U0FDMUI7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFjLEVBQUUsVUFBMEIsRUFBRSxlQUFvQyxFQUFFLFdBQVc7UUFDaEgsTUFBTSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDOUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7UUFDdEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMs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ZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJU3VtbWFyeVJlY29yZCB9IGZyb20gJy4uL3N1bW1hcmllcy9ncmlkLXN1bW1hcnknO1xuaW1wb3J0IHsgSUdyb3VwQnlSZWNvcmQgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1yZWNvcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElHcm91cEJ5UmVzdWx0IH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2dyb3VwaW5nLXJlc3VsdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR3JpZFN1bW1hcnlDYWxjdWxhdGlvbk1vZGUsIEdyaWRTdW1tYXJ5UG9zaXRpb24gfSBmcm9tICcuLi9jb21tb24vZW51bXMnO1xuaW1wb3J0IHsgR3JpZFR5cGUsIElHWF9HUklEX0JBU0UgfSBmcm9tICcuLi9jb21tb24vZ3JpZC5pbnRlcmZhY2UnO1xuXG4vKiogQGhpZGRlbiAqL1xuaW50ZXJmYWNlIElTa2lwUmVjb3JkIHsgc2tpcD86IGJvb2xlYW4gfVxuXG4vKiogQGhpZGRlbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdncmlkU3VtbWFyeScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hHcmlkU3VtbWFyeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoSUdYX0dSSURfQkFTRSkgcHJpdmF0ZSBncmlkOiBHcmlkVHlwZSkgeyB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKGNvbGxlY3Rpb246IElHcm91cEJ5UmVzdWx0LFxuICAgICAgICBoYXNTdW1tYXJ5OiBib29sZWFuLFxuICAgICAgICBzdW1tYXJ5Q2FsY3VsYXRpb25Nb2RlOiBHcmlkU3VtbWFyeUNhbGN1bGF0aW9uTW9kZSxcbiAgICAgICAgc3VtbWFyeVBvc2l0aW9uOiBHcmlkU3VtbWFyeVBvc2l0aW9uLFxuICAgICAgICBpZDogc3RyaW5nLCBzaG93U3VtbWFyeSwgXzogbnVtYmVyLCBfXzogbnVtYmVyKTogYW55W10ge1xuXG4gICAgICAgIGlmICghY29sbGVjdGlvbi5kYXRhIHx8ICFoYXNTdW1tYXJ5IHx8IHN1bW1hcnlDYWxjdWxhdGlvbk1vZGUgPT09IEdyaWRTdW1tYXJ5Q2FsY3VsYXRpb25Nb2RlLnJvb3RMZXZlbE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uLmRhdGE7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5hZGRTdW1tYXJ5Um93cyhpZCwgY29sbGVjdGlvbiwgc3VtbWFyeVBvc2l0aW9uLCBzaG93U3VtbWFyeSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRTdW1tYXJ5Um93cyhncmlkSWQ6IHN0cmluZywgY29sbGVjdGlvbjogSUdyb3VwQnlSZXN1bHQsIHN1bW1hcnlQb3NpdGlvbjogR3JpZFN1bW1hcnlQb3NpdGlvbiwgc2hvd1N1bW1hcnkpOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IHJlY29yZHNXaXRoU3VtbWFyeSA9IFtdO1xuICAgICAgICBjb25zdCBsYXN0Q2hpbGRNYXAgPSBuZXcgTWFwPGFueSwgSUdyb3VwQnlSZWNvcmRbXT4oKTtcbiAgICAgICAgY29uc3QgbWF4U3VtbWFyeUhlaWdodCA9IHRoaXMuZ3JpZC5zdW1tYXJ5U2VydmljZS5jYWxjTWF4U3VtbWFyeUhlaWdodCgpO1xuXG4gICAgICAgIGlmIChjb2xsZWN0aW9uLm1ldGFkYXRhLmxlbmd0aCAmJiAhdGhpcy5ncmlkLmlzR3JvdXBCeVJlY29yZChjb2xsZWN0aW9uLmRhdGFbMF0pICYmXG4gICAgICAgICAgICB0aGlzLmdyaWQuaXNHcm91cEJ5UmVjb3JkKGNvbGxlY3Rpb24ubWV0YWRhdGFbMF0pICYmIHN1bW1hcnlQb3NpdGlvbiA9PT0gR3JpZFN1bW1hcnlQb3NpdGlvbi5ib3R0b20pIHtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwczogQXJyYXk8SUdyb3VwQnlSZWNvcmQgJiBJU2tpcFJlY29yZD4gPSBbXTtcbiAgICAgICAgICAgIGdyb3Vwcy5wdXNoKGNvbGxlY3Rpb24ubWV0YWRhdGFbMF0pO1xuICAgICAgICAgICAgd2hpbGUgKGdyb3Vwc1tncm91cHMubGVuZ3RoIC0gMV0uZ3JvdXBQYXJlbnQpIHtcbiAgICAgICAgICAgICAgICBncm91cHMucHVzaChncm91cHNbZ3JvdXBzLmxlbmd0aCAtIDFdLmdyb3VwUGFyZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGdyb3Vwcy5yZXZlcnNlKCk7XG4gICAgICAgICAgICBncm91cHMuZm9yRWFjaChnID0+IGcuc2tpcCA9IHRydWUpO1xuICAgICAgICAgICAgY29sbGVjdGlvbi5kYXRhLnNwbGljZSgwLCAwLCAuLi5ncm91cHMpO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIGNvbGxlY3Rpb24uZGF0YSkge1xuICAgICAgICAgICAgbGV0IHNraXBBZGQgPSBmYWxzZTtcbiAgICAgICAgICAgIGxldCByZWNvcmRJZDtcbiAgICAgICAgICAgIGxldCBncm91cEJ5UmVjb3JkOiBJR3JvdXBCeVJlY29yZCA9IG51bGw7XG4gICAgICAgICAgICBpZiAodGhpcy5ncmlkLmlzR3JvdXBCeVJlY29yZChyZWNvcmQpKSB7XG4gICAgICAgICAgICAgICAgc2tpcEFkZCA9ICEhcmVjb3JkLnNraXA7XG4gICAgICAgICAgICAgICAgcmVjb3JkLnNraXAgPSBudWxsO1xuICAgICAgICAgICAgICAgIGdyb3VwQnlSZWNvcmQgPSByZWNvcmQgYXMgSUdyb3VwQnlSZWNvcmQ7XG4gICAgICAgICAgICAgICAgcmVjb3JkSWQgPSB0aGlzLmdyaWQuZ3JpZEFQSS5nZXRfZ3JvdXBCeV9yZWNvcmRfaWQoZ3JvdXBCeVJlY29yZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlY29yZElkID0gdGhpcy5ncmlkLmdyaWRBUEkuZ2V0X3Jvd19pZChyZWNvcmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFza2lwQWRkKSB7XG4gICAgICAgICAgICAgICAgcmVjb3Jkc1dpdGhTdW1tYXJ5LnB1c2gocmVjb3JkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHN1bW1hcnlQb3NpdGlvbiA9PT0gR3JpZFN1bW1hcnlQb3NpdGlvbi5ib3R0b20gJiYgc2hvd1N1bW1hcnkgJiZcbiAgICAgICAgICAgICAgICAoZ3JvdXBCeVJlY29yZCAmJiAhdGhpcy5ncmlkLmlzRXhwYW5kZWRHcm91cChncm91cEJ5UmVjb3JkKSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRzID0gdGhpcy5yZW1vdmVEZWxldGVkUmVjb3JkKHRoaXMuZ3JpZCwgZ3JvdXBCeVJlY29yZC5yZWNvcmRzLnNsaWNlKCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1bW1hcmllcyA9IHRoaXMuZ3JpZC5zdW1tYXJ5U2VydmljZS5jYWxjdWxhdGVTdW1tYXJpZXMocmVjb3JkSWQsIHJlY29yZHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1bW1hcnlSZWNvcmQ6IElTdW1tYXJ5UmVjb3JkID0ge1xuICAgICAgICAgICAgICAgICAgICBzdW1tYXJpZXMsXG4gICAgICAgICAgICAgICAgICAgIG1heDogbWF4U3VtbWFyeUhlaWdodFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmVjb3Jkc1dpdGhTdW1tYXJ5LnB1c2goc3VtbWFyeVJlY29yZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc3VtbWFyeVBvc2l0aW9uID09PSBHcmlkU3VtbWFyeVBvc2l0aW9uLmJvdHRvbSAmJiBsYXN0Q2hpbGRNYXAuaGFzKHJlY29yZElkKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwUmVjb3JkcyA9IGxhc3RDaGlsZE1hcC5nZXQocmVjb3JkSWQpO1xuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBncm91cFJlY29yZCBvZiBncm91cFJlY29yZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3JvdXBSZWNvcmRJZCA9IHRoaXMuZ3JpZC5ncmlkQVBJLmdldF9ncm91cEJ5X3JlY29yZF9pZChncm91cFJlY29yZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZHMgPSB0aGlzLnJlbW92ZURlbGV0ZWRSZWNvcmQodGhpcy5ncmlkLCBncm91cFJlY29yZC5yZWNvcmRzLnNsaWNlKCkpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdW1tYXJpZXMgPSB0aGlzLmdyaWQuc3VtbWFyeVNlcnZpY2UuY2FsY3VsYXRlU3VtbWFyaWVzKGdyb3VwUmVjb3JkSWQsIHJlY29yZHMsIGdyb3VwUmVjb3JkKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3VtbWFyeVJlY29yZDogSVN1bW1hcnlSZWNvcmQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdW1tYXJpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXg6IG1heFN1bW1hcnlIZWlnaHRcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgcmVjb3Jkc1dpdGhTdW1tYXJ5LnB1c2goc3VtbWFyeVJlY29yZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzaG93U3VtbWFyaWVzID0gc2hvd1N1bW1hcnkgPyBmYWxzZSA6IChncm91cEJ5UmVjb3JkICYmICF0aGlzLmdyaWQuaXNFeHBhbmRlZEdyb3VwKGdyb3VwQnlSZWNvcmQpKTtcbiAgICAgICAgICAgIGlmIChncm91cEJ5UmVjb3JkID09PSBudWxsIHx8IHNob3dTdW1tYXJpZXMpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHN1bW1hcnlQb3NpdGlvbiA9PT0gR3JpZFN1bW1hcnlQb3NpdGlvbi50b3ApIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRzID0gdGhpcy5yZW1vdmVEZWxldGVkUmVjb3JkKHRoaXMuZ3JpZCwgZ3JvdXBCeVJlY29yZC5yZWNvcmRzLnNsaWNlKCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1bW1hcmllcyA9IHRoaXMuZ3JpZC5zdW1tYXJ5U2VydmljZS5jYWxjdWxhdGVTdW1tYXJpZXMocmVjb3JkSWQsIHJlY29yZHMsIGdyb3VwQnlSZWNvcmQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1bW1hcnlSZWNvcmQ6IElTdW1tYXJ5UmVjb3JkID0ge1xuICAgICAgICAgICAgICAgICAgICBzdW1tYXJpZXMsXG4gICAgICAgICAgICAgICAgICAgIG1heDogbWF4U3VtbWFyeUhlaWdodFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmVjb3Jkc1dpdGhTdW1tYXJ5LnB1c2goc3VtbWFyeVJlY29yZCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHN1bW1hcnlQb3NpdGlvbiA9PT0gR3JpZFN1bW1hcnlQb3NpdGlvbi5ib3R0b20pIHtcbiAgICAgICAgICAgICAgICBsZXQgbGFzdENoaWxkID0gZ3JvdXBCeVJlY29yZDtcblxuICAgICAgICAgICAgICAgIHdoaWxlIChsYXN0Q2hpbGQuZ3JvdXBzICYmIGxhc3RDaGlsZC5ncm91cHMubGVuZ3RoID4gMCAmJiB0aGlzLmdyaWQuaXNFeHBhbmRlZEdyb3VwKGxhc3RDaGlsZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgbGFzdENoaWxkID0gbGFzdENoaWxkLmdyb3Vwc1tsYXN0Q2hpbGQuZ3JvdXBzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxldCBsYXN0Q2hpbGRJZDtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ncmlkLmlzRXhwYW5kZWRHcm91cChsYXN0Q2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGxhc3RDaGlsZElkID0gdGhpcy5ncmlkLmdyaWRBUEkuZ2V0X3Jvd19pZChsYXN0Q2hpbGQucmVjb3Jkc1tsYXN0Q2hpbGQucmVjb3Jkcy5sZW5ndGggLSAxXSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbGFzdENoaWxkSWQgPSB0aGlzLmdyaWQuZ3JpZEFQSS5nZXRfZ3JvdXBCeV9yZWNvcmRfaWQobGFzdENoaWxkKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsZXQgZ3JvdXBSZWNvcmRzID0gbGFzdENoaWxkTWFwLmdldChsYXN0Q2hpbGRJZCk7XG4gICAgICAgICAgICAgICAgaWYgKCFncm91cFJlY29yZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXBSZWNvcmRzID0gW107XG4gICAgICAgICAgICAgICAgICAgIGxhc3RDaGlsZE1hcC5zZXQobGFzdENoaWxkSWQsIGdyb3VwUmVjb3Jkcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGdyb3VwUmVjb3Jkcy51bnNoaWZ0KGdyb3VwQnlSZWNvcmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZWNvcmRzV2l0aFN1bW1hcnk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVEZWxldGVkUmVjb3JkKGdyaWQ6IEdyaWRUeXBlLCBkYXRhOiBhbnlbXSkge1xuICAgICAgICBpZiAoIWdyaWQudHJhbnNhY3Rpb25zLmVuYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRlbGV0ZWRSb3dzID0gZ3JpZC50cmFuc2FjdGlvbnMuZ2V0VHJhbnNhY3Rpb25Mb2coKS5maWx0ZXIodCA9PiB0LnR5cGUgPT09ICdkZWxldGUnKS5tYXAodCA9PiB0LmlkKTtcbiAgICAgICAgZGVsZXRlZFJvd3MuZm9yRWFjaChyb3dJRCA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ZW1wRGF0YSA9IGdyaWQucHJpbWFyeUtleSA/IGRhdGEubWFwKHJlYyA9PiByZWNbZ3JpZC5wcmltYXJ5S2V5XSkgOiBkYXRhO1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0ZW1wRGF0YS5pbmRleE9mKHJvd0lEKTtcbiAgICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBkYXRhLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG59XG4iXX0=