igniteui-angular 13.0.0-alpha.1 → 13.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/esm2020/lib/accordion/accordion.component.mjs +3 -3
  2. package/esm2020/lib/accordion/accordion.module.mjs +4 -4
  3. package/esm2020/lib/action-strip/action-strip.component.mjs +6 -6
  4. package/esm2020/lib/action-strip/action-strip.module.mjs +4 -4
  5. package/esm2020/lib/action-strip/grid-actions/grid-action-button.component.mjs +3 -3
  6. package/esm2020/lib/action-strip/grid-actions/grid-actions-base.directive.mjs +3 -3
  7. package/esm2020/lib/action-strip/grid-actions/grid-editing-actions.component.mjs +3 -3
  8. package/esm2020/lib/action-strip/grid-actions/grid-pinning-actions.component.mjs +3 -3
  9. package/esm2020/lib/avatar/avatar.component.mjs +7 -7
  10. package/esm2020/lib/badge/badge.component.mjs +7 -7
  11. package/esm2020/lib/banner/banner.component.mjs +7 -7
  12. package/esm2020/lib/banner/banner.directives.mjs +3 -3
  13. package/esm2020/lib/buttonGroup/buttonGroup.component.mjs +7 -7
  14. package/esm2020/lib/calendar/calendar-base.mjs +3 -3
  15. package/esm2020/lib/calendar/calendar.component.mjs +3 -3
  16. package/esm2020/lib/calendar/calendar.directives.mjs +15 -15
  17. package/esm2020/lib/calendar/calendar.module.mjs +4 -4
  18. package/esm2020/lib/calendar/days-view/day-item.component.mjs +3 -3
  19. package/esm2020/lib/calendar/days-view/days-view.component.mjs +3 -3
  20. package/esm2020/lib/calendar/days-view/daysview-navigation.service.mjs +3 -3
  21. package/esm2020/lib/calendar/month-picker/month-picker.component.mjs +3 -3
  22. package/esm2020/lib/calendar/month-picker-base.mjs +3 -3
  23. package/esm2020/lib/calendar/months-view/months-view.component.mjs +3 -3
  24. package/esm2020/lib/calendar/months-view.pipe.mjs +6 -6
  25. package/esm2020/lib/calendar/years-view/years-view.component.mjs +6 -6
  26. package/esm2020/lib/card/card.component.mjs +31 -31
  27. package/esm2020/lib/carousel/carousel.component.mjs +10 -10
  28. package/esm2020/lib/carousel/carousel.directives.mjs +9 -9
  29. package/esm2020/lib/carousel/slide.component.mjs +3 -3
  30. package/esm2020/lib/checkbox/checkbox.component.mjs +10 -10
  31. package/esm2020/lib/chips/chip.component.mjs +3 -3
  32. package/esm2020/lib/chips/chips-area.component.mjs +3 -3
  33. package/esm2020/lib/chips/chips.module.mjs +4 -4
  34. package/esm2020/lib/combo/combo-add-item.component.mjs +3 -3
  35. package/esm2020/lib/combo/combo-dropdown.component.mjs +3 -3
  36. package/esm2020/lib/combo/combo-item.component.mjs +3 -3
  37. package/esm2020/lib/combo/combo.api.mjs +3 -3
  38. package/esm2020/lib/combo/combo.component.mjs +7 -7
  39. package/esm2020/lib/combo/combo.directives.mjs +24 -24
  40. package/esm2020/lib/combo/combo.pipes.mjs +6 -6
  41. package/esm2020/lib/core/displayDensity.mjs +7 -7
  42. package/esm2020/lib/core/navigation/directives.mjs +10 -10
  43. package/esm2020/lib/core/navigation/nav.service.mjs +3 -3
  44. package/esm2020/lib/core/selection.mjs +3 -3
  45. package/esm2020/lib/core/touch.mjs +3 -3
  46. package/esm2020/lib/core/utils.mjs +3 -3
  47. package/esm2020/lib/data-operations/data-util.mjs +3 -5
  48. package/esm2020/lib/date-common/calendar-container/calendar-container.component.mjs +7 -7
  49. package/esm2020/lib/date-common/picker-base.directive.mjs +3 -3
  50. package/esm2020/lib/date-common/picker-icons.common.mjs +13 -13
  51. package/esm2020/lib/date-picker/date-picker.component.mjs +3 -3
  52. package/esm2020/lib/date-picker/date-picker.module.mjs +4 -4
  53. package/esm2020/lib/date-range-picker/date-range-picker-inputs.common.mjs +15 -15
  54. package/esm2020/lib/date-range-picker/date-range-picker.component.mjs +3 -3
  55. package/esm2020/lib/date-range-picker/date-range-picker.module.mjs +4 -4
  56. package/esm2020/lib/dialog/dialog.component.mjs +7 -7
  57. package/esm2020/lib/dialog/dialog.directives.mjs +6 -6
  58. package/esm2020/lib/directives/autocomplete/autocomplete.directive.mjs +7 -7
  59. package/esm2020/lib/directives/button/button.directive.mjs +7 -7
  60. package/esm2020/lib/directives/date-time-editor/date-time-editor.directive.mjs +7 -7
  61. package/esm2020/lib/directives/divider/divider.directive.mjs +7 -7
  62. package/esm2020/lib/directives/drag-drop/drag-drop.directive.mjs +16 -16
  63. package/esm2020/lib/directives/filter/filter.directive.mjs +10 -10
  64. package/esm2020/lib/directives/focus/focus.directive.mjs +7 -7
  65. package/esm2020/lib/directives/for-of/base.helper.component.mjs +3 -3
  66. package/esm2020/lib/directives/for-of/display.container.mjs +3 -3
  67. package/esm2020/lib/directives/for-of/for_of.directive.mjs +10 -10
  68. package/esm2020/lib/directives/for-of/for_of.sync.service.mjs +6 -6
  69. package/esm2020/lib/directives/for-of/horizontal.virtual.helper.component.mjs +3 -3
  70. package/esm2020/lib/directives/for-of/virtual.helper.component.mjs +3 -3
  71. package/esm2020/lib/directives/hint/hint.directive.mjs +3 -3
  72. package/esm2020/lib/directives/input/input.directive.mjs +3 -3
  73. package/esm2020/lib/directives/label/label.directive.mjs +3 -3
  74. package/esm2020/lib/directives/layout/layout.directive.mjs +10 -10
  75. package/esm2020/lib/directives/mask/mask-parsing.service.mjs +3 -3
  76. package/esm2020/lib/directives/mask/mask.directive.mjs +7 -7
  77. package/esm2020/lib/directives/notification/notifications.directive.mjs +3 -3
  78. package/esm2020/lib/directives/prefix/prefix.directive.mjs +7 -7
  79. package/esm2020/lib/directives/radio/radio-group.directive.mjs +7 -7
  80. package/esm2020/lib/directives/ripple/ripple.directive.mjs +7 -7
  81. package/esm2020/lib/directives/scroll-inertia/scroll_inertia.directive.mjs +7 -7
  82. package/esm2020/lib/directives/suffix/suffix.directive.mjs +7 -7
  83. package/esm2020/lib/directives/template-outlet/template_outlet.directive.mjs +7 -7
  84. package/esm2020/lib/directives/text-highlight/text-highlight.directive.mjs +7 -7
  85. package/esm2020/lib/directives/text-selection/text-selection.directive.mjs +7 -7
  86. package/esm2020/lib/directives/toggle/toggle.directive.mjs +13 -13
  87. package/esm2020/lib/directives/tooltip/tooltip.directive.mjs +10 -10
  88. package/esm2020/lib/drop-down/drop-down-group.component.mjs +3 -3
  89. package/esm2020/lib/drop-down/drop-down-item.base.mjs +3 -3
  90. package/esm2020/lib/drop-down/drop-down-item.component.mjs +3 -3
  91. package/esm2020/lib/drop-down/drop-down-navigation.directive.mjs +3 -3
  92. package/esm2020/lib/drop-down/drop-down.base.mjs +3 -3
  93. package/esm2020/lib/drop-down/drop-down.component.mjs +3 -3
  94. package/esm2020/lib/drop-down/public_api.mjs +4 -4
  95. package/esm2020/lib/expansion-panel/expansion-panel-body.component.mjs +3 -3
  96. package/esm2020/lib/expansion-panel/expansion-panel-header.component.mjs +3 -3
  97. package/esm2020/lib/expansion-panel/expansion-panel.component.mjs +3 -3
  98. package/esm2020/lib/expansion-panel/expansion-panel.directives.mjs +9 -9
  99. package/esm2020/lib/expansion-panel/expansion-panel.module.mjs +4 -4
  100. package/esm2020/lib/expansion-panel/toggle-animation-component.mjs +3 -3
  101. package/esm2020/lib/grids/api.service.mjs +3 -3
  102. package/esm2020/lib/grids/cell.component.mjs +3 -3
  103. package/esm2020/lib/grids/column-actions/column-actions-base.directive.mjs +3 -3
  104. package/esm2020/lib/grids/column-actions/column-actions.component.mjs +12 -12
  105. package/esm2020/lib/grids/column-actions/column-actions.module.mjs +4 -4
  106. package/esm2020/lib/grids/column-actions/column-hiding.directive.mjs +3 -3
  107. package/esm2020/lib/grids/column-actions/column-pinning.directive.mjs +3 -3
  108. package/esm2020/lib/grids/columns/column-group.component.mjs +3 -3
  109. package/esm2020/lib/grids/columns/column-layout.component.mjs +3 -3
  110. package/esm2020/lib/grids/columns/column.component.mjs +3 -3
  111. package/esm2020/lib/grids/columns/column.module.mjs +4 -4
  112. package/esm2020/lib/grids/columns/templates.directive.mjs +18 -18
  113. package/esm2020/lib/grids/common/crud.service.mjs +3 -3
  114. package/esm2020/lib/grids/common/grid-pipes.module.mjs +4 -4
  115. package/esm2020/lib/grids/common/grid.interface.mjs +1 -1
  116. package/esm2020/lib/grids/common/pipes.mjs +51 -51
  117. package/esm2020/lib/grids/common/shared.module.mjs +4 -4
  118. package/esm2020/lib/grids/common/strategy.mjs +11 -1
  119. package/esm2020/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.mjs +4 -4
  120. package/esm2020/lib/grids/filtering/base/filtering.module.mjs +4 -4
  121. package/esm2020/lib/grids/filtering/base/grid-filtering-cell.component.mjs +3 -3
  122. package/esm2020/lib/grids/filtering/base/grid-filtering-row.component.mjs +3 -3
  123. package/esm2020/lib/grids/filtering/excel-style/base-filtering.component.mjs +3 -3
  124. package/esm2020/lib/grids/filtering/excel-style/excel-style-clear-filters.component.mjs +3 -3
  125. package/esm2020/lib/grids/filtering/excel-style/excel-style-conditional-filter.component.mjs +3 -3
  126. package/esm2020/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.mjs +3 -3
  127. package/esm2020/lib/grids/filtering/excel-style/excel-style-date-expression.component.mjs +3 -3
  128. package/esm2020/lib/grids/filtering/excel-style/excel-style-default-expression.component.mjs +3 -3
  129. package/esm2020/lib/grids/filtering/excel-style/excel-style-header.component.mjs +3 -3
  130. package/esm2020/lib/grids/filtering/excel-style/excel-style-hiding.component.mjs +3 -3
  131. package/esm2020/lib/grids/filtering/excel-style/excel-style-moving.component.mjs +3 -3
  132. package/esm2020/lib/grids/filtering/excel-style/excel-style-pinning.component.mjs +3 -3
  133. package/esm2020/lib/grids/filtering/excel-style/excel-style-search.component.mjs +6 -6
  134. package/esm2020/lib/grids/filtering/excel-style/excel-style-selecting.component.mjs +3 -3
  135. package/esm2020/lib/grids/filtering/excel-style/excel-style-sorting.component.mjs +3 -3
  136. package/esm2020/lib/grids/filtering/excel-style/grid.excel-style-filtering.component.mjs +9 -9
  137. package/esm2020/lib/grids/filtering/excel-style/grid.excel-style-filtering.module.mjs +4 -4
  138. package/esm2020/lib/grids/filtering/grid-filtering.service.mjs +3 -3
  139. package/esm2020/lib/grids/grid/expandable-cell.component.mjs +3 -3
  140. package/esm2020/lib/grids/grid/grid-api.service.mjs +3 -3
  141. package/esm2020/lib/grids/grid/grid-row.component.mjs +3 -3
  142. package/esm2020/lib/grids/grid/grid.component.mjs +24 -6
  143. package/esm2020/lib/grids/grid/grid.details.pipe.mjs +3 -3
  144. package/esm2020/lib/grids/grid/grid.directives.mjs +24 -24
  145. package/esm2020/lib/grids/grid/grid.module.mjs +4 -4
  146. package/esm2020/lib/grids/grid/grid.pipes.mjs +15 -15
  147. package/esm2020/lib/grids/grid/grid.summary.pipe.mjs +3 -3
  148. package/esm2020/lib/grids/grid/groupby-row.component.mjs +3 -3
  149. package/esm2020/lib/grids/grid-base.directive.mjs +4 -4
  150. package/esm2020/lib/grids/grid-common.module.mjs +4 -4
  151. package/esm2020/lib/grids/grid-footer/grid-footer.component.mjs +3 -3
  152. package/esm2020/lib/grids/grid-mrl-navigation.service.mjs +3 -3
  153. package/esm2020/lib/grids/grid-navigation.service.mjs +3 -3
  154. package/esm2020/lib/grids/grid.common.mjs +3 -3
  155. package/esm2020/lib/grids/grid.rowEdit.directive.mjs +15 -15
  156. package/esm2020/lib/grids/grouping/grid-group-by-area.component.mjs +3 -3
  157. package/esm2020/lib/grids/grouping/group-by-area.directive.mjs +6 -6
  158. package/esm2020/lib/grids/grouping/tree-grid-group-by-area.component.mjs +3 -3
  159. package/esm2020/lib/grids/headers/grid-header-group.component.mjs +3 -3
  160. package/esm2020/lib/grids/headers/grid-header-row.component.mjs +4 -4
  161. package/esm2020/lib/grids/headers/grid-header.component.mjs +3 -3
  162. package/esm2020/lib/grids/headers/headers.module.mjs +4 -4
  163. package/esm2020/lib/grids/headers/pipes.mjs +9 -9
  164. package/esm2020/lib/grids/hierarchical-grid/hierarchical-cell.component.mjs +3 -3
  165. package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid-api.service.mjs +3 -3
  166. package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.mjs +3 -3
  167. package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.mjs +3 -3
  168. package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid.component.mjs +7 -7
  169. package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid.module.mjs +4 -4
  170. package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid.pipes.mjs +6 -6
  171. package/esm2020/lib/grids/hierarchical-grid/hierarchical-row.component.mjs +3 -3
  172. package/esm2020/lib/grids/hierarchical-grid/row-island-api.service.mjs +3 -3
  173. package/esm2020/lib/grids/hierarchical-grid/row-island.component.mjs +3 -3
  174. package/esm2020/lib/grids/moving/moving.drag.directive.mjs +3 -3
  175. package/esm2020/lib/grids/moving/moving.drop.directive.mjs +3 -3
  176. package/esm2020/lib/grids/moving/moving.module.mjs +4 -4
  177. package/esm2020/lib/grids/moving/moving.service.mjs +3 -3
  178. package/esm2020/lib/grids/public_api.mjs +2 -1
  179. package/esm2020/lib/grids/resizing/resize-handle.directive.mjs +3 -3
  180. package/esm2020/lib/grids/resizing/resize.module.mjs +4 -4
  181. package/esm2020/lib/grids/resizing/resizer.component.mjs +3 -3
  182. package/esm2020/lib/grids/resizing/resizer.directive.mjs +3 -3
  183. package/esm2020/lib/grids/resizing/resizing.service.mjs +3 -3
  184. package/esm2020/lib/grids/row-drag.directive.mjs +13 -13
  185. package/esm2020/lib/grids/row.directive.mjs +3 -3
  186. package/esm2020/lib/grids/selection/drag-select.directive.mjs +3 -3
  187. package/esm2020/lib/grids/selection/row-selectors.mjs +9 -9
  188. package/esm2020/lib/grids/selection/selection.module.mjs +4 -4
  189. package/esm2020/lib/grids/selection/selection.service.mjs +3 -3
  190. package/esm2020/lib/grids/state.directive.mjs +7 -7
  191. package/esm2020/lib/grids/summaries/grid-root-summary.pipe.mjs +3 -3
  192. package/esm2020/lib/grids/summaries/grid-summary.service.mjs +3 -3
  193. package/esm2020/lib/grids/summaries/summary-cell.component.mjs +3 -3
  194. package/esm2020/lib/grids/summaries/summary-row.component.mjs +3 -3
  195. package/esm2020/lib/grids/summaries/summary.module.mjs +4 -4
  196. package/esm2020/lib/grids/toolbar/common.mjs +15 -15
  197. package/esm2020/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.mjs +3 -3
  198. package/esm2020/lib/grids/toolbar/grid-toolbar-exporter.component.mjs +3 -3
  199. package/esm2020/lib/grids/toolbar/grid-toolbar-hiding.component.mjs +3 -3
  200. package/esm2020/lib/grids/toolbar/grid-toolbar-pinning.component.mjs +3 -3
  201. package/esm2020/lib/grids/toolbar/grid-toolbar.base.mjs +6 -6
  202. package/esm2020/lib/grids/toolbar/grid-toolbar.component.mjs +3 -3
  203. package/esm2020/lib/grids/toolbar/toolbar.module.mjs +4 -4
  204. package/esm2020/lib/grids/tree-grid/tree-cell.component.mjs +3 -3
  205. package/esm2020/lib/grids/tree-grid/tree-grid-api.service.mjs +3 -3
  206. package/esm2020/lib/grids/tree-grid/tree-grid-row.component.mjs +3 -3
  207. package/esm2020/lib/grids/tree-grid/tree-grid-selection.service.mjs +3 -3
  208. package/esm2020/lib/grids/tree-grid/tree-grid.component.mjs +3 -3
  209. package/esm2020/lib/grids/tree-grid/tree-grid.directives.mjs +3 -3
  210. package/esm2020/lib/grids/tree-grid/tree-grid.filtering.pipe.mjs +3 -3
  211. package/esm2020/lib/grids/tree-grid/tree-grid.grouping.pipe.mjs +3 -3
  212. package/esm2020/lib/grids/tree-grid/tree-grid.module.mjs +4 -4
  213. package/esm2020/lib/grids/tree-grid/tree-grid.pipes.mjs +21 -21
  214. package/esm2020/lib/grids/tree-grid/tree-grid.summary.pipe.mjs +3 -3
  215. package/esm2020/lib/icon/icon.component.mjs +3 -3
  216. package/esm2020/lib/icon/icon.service.mjs +3 -3
  217. package/esm2020/lib/icon/public_api.mjs +4 -4
  218. package/esm2020/lib/input-group/input-group.component.mjs +7 -7
  219. package/esm2020/lib/list/list-item.component.mjs +3 -3
  220. package/esm2020/lib/list/list.common.mjs +15 -15
  221. package/esm2020/lib/list/list.component.mjs +22 -22
  222. package/esm2020/lib/navbar/navbar.component.mjs +13 -13
  223. package/esm2020/lib/navigation-drawer/navigation-drawer.component.mjs +3 -3
  224. package/esm2020/lib/navigation-drawer/navigation-drawer.directives.mjs +9 -9
  225. package/esm2020/lib/navigation-drawer/navigation-drawer.module.mjs +4 -4
  226. package/esm2020/lib/paginator/paginator-interfaces.mjs +3 -3
  227. package/esm2020/lib/paginator/paginator.component.mjs +12 -12
  228. package/esm2020/lib/paginator/public_api.mjs +4 -4
  229. package/esm2020/lib/progressbar/progressbar.common.mjs +6 -6
  230. package/esm2020/lib/progressbar/progressbar.component.mjs +13 -13
  231. package/esm2020/lib/radio/radio.component.mjs +3 -3
  232. package/esm2020/lib/select/select-group.component.mjs +3 -3
  233. package/esm2020/lib/select/select-item.component.mjs +3 -3
  234. package/esm2020/lib/select/select-navigation.directive.mjs +3 -3
  235. package/esm2020/lib/select/select.component.mjs +12 -12
  236. package/esm2020/lib/select/select.module.mjs +4 -4
  237. package/esm2020/lib/services/csv/csv-exporter.mjs +3 -3
  238. package/esm2020/lib/services/direction/directionality.mjs +3 -3
  239. package/esm2020/lib/services/excel/excel-exporter.mjs +3 -3
  240. package/esm2020/lib/services/exporter-common/base-export-service.mjs +2 -2
  241. package/esm2020/lib/services/overlay/overlay.mjs +3 -3
  242. package/esm2020/lib/services/transaction/transaction-factory.service.mjs +6 -6
  243. package/esm2020/lib/slider/label/thumb-label.component.mjs +3 -3
  244. package/esm2020/lib/slider/slider.common.mjs +9 -9
  245. package/esm2020/lib/slider/slider.component.mjs +7 -7
  246. package/esm2020/lib/slider/thumb/thumb-slider.component.mjs +3 -3
  247. package/esm2020/lib/slider/ticks/tick.pipe.mjs +3 -3
  248. package/esm2020/lib/slider/ticks/ticks.component.mjs +3 -3
  249. package/esm2020/lib/snackbar/snackbar.component.mjs +7 -7
  250. package/esm2020/lib/splitter/splitter-pane/splitter-pane.component.mjs +3 -3
  251. package/esm2020/lib/splitter/splitter.component.mjs +6 -6
  252. package/esm2020/lib/splitter/splitter.module.mjs +4 -4
  253. package/esm2020/lib/stepper/step/step.component.mjs +3 -3
  254. package/esm2020/lib/stepper/stepper.common.mjs +1 -1
  255. package/esm2020/lib/stepper/stepper.component.mjs +7 -7
  256. package/esm2020/lib/stepper/stepper.directive.mjs +21 -21
  257. package/esm2020/lib/stepper/stepper.service.mjs +3 -3
  258. package/esm2020/lib/switch/switch.component.mjs +10 -10
  259. package/esm2020/lib/tabs/bottom-nav/bottom-nav-content.component.mjs +3 -3
  260. package/esm2020/lib/tabs/bottom-nav/bottom-nav-header.component.mjs +3 -3
  261. package/esm2020/lib/tabs/bottom-nav/bottom-nav-item.component.mjs +3 -3
  262. package/esm2020/lib/tabs/bottom-nav/bottom-nav.component.mjs +3 -3
  263. package/esm2020/lib/tabs/bottom-nav/bottom-nav.directives.mjs +6 -6
  264. package/esm2020/lib/tabs/bottom-nav/bottom-nav.module.mjs +4 -4
  265. package/esm2020/lib/tabs/tab-content.directive.mjs +3 -3
  266. package/esm2020/lib/tabs/tab-header.directive.mjs +3 -3
  267. package/esm2020/lib/tabs/tab-item.directive.mjs +3 -3
  268. package/esm2020/lib/tabs/tabs/tab-content.component.mjs +3 -3
  269. package/esm2020/lib/tabs/tabs/tab-header.component.mjs +3 -3
  270. package/esm2020/lib/tabs/tabs/tab-item.component.mjs +3 -3
  271. package/esm2020/lib/tabs/tabs/tabs.component.mjs +3 -3
  272. package/esm2020/lib/tabs/tabs/tabs.directives.mjs +6 -6
  273. package/esm2020/lib/tabs/tabs/tabs.module.mjs +4 -4
  274. package/esm2020/lib/tabs/tabs.directive.mjs +3 -3
  275. package/esm2020/lib/time-picker/time-picker.component.mjs +7 -7
  276. package/esm2020/lib/time-picker/time-picker.directives.mjs +12 -12
  277. package/esm2020/lib/time-picker/time-picker.pipes.mjs +6 -6
  278. package/esm2020/lib/toast/toast.component.mjs +53 -28
  279. package/esm2020/lib/tree/tree-navigation.service.mjs +3 -3
  280. package/esm2020/lib/tree/tree-node/tree-node.component.mjs +6 -6
  281. package/esm2020/lib/tree/tree-selection.service.mjs +3 -3
  282. package/esm2020/lib/tree/tree.component.mjs +13 -13
  283. package/esm2020/lib/tree/tree.service.mjs +3 -3
  284. package/esm2020/public_api.mjs +1 -2
  285. package/fesm2015/igniteui-angular.mjs +1778 -1739
  286. package/fesm2015/igniteui-angular.mjs.map +1 -1
  287. package/fesm2020/igniteui-angular.mjs +1778 -1739
  288. package/fesm2020/igniteui-angular.mjs.map +1 -1
  289. package/lib/data-operations/data-util.d.ts +2 -2
  290. package/lib/grids/common/grid.interface.d.ts +2 -1
  291. package/lib/grids/common/strategy.d.ts +6 -0
  292. package/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.d.ts +2 -1
  293. package/lib/grids/grid/grid.component.d.ts +18 -1
  294. package/lib/grids/grid/grid.pipes.d.ts +2 -2
  295. package/lib/grids/grid-base.directive.d.ts +4 -2
  296. package/lib/grids/headers/grid-header-row.component.d.ts +4 -2
  297. package/lib/grids/hierarchical-grid/hierarchical-grid.component.d.ts +2 -1
  298. package/lib/grids/public_api.d.ts +1 -0
  299. package/lib/stepper/stepper.common.d.ts +12 -12
  300. package/lib/toast/toast.component.d.ts +8 -4
  301. package/migrations/update-13_0_0/index.js +47 -0
  302. package/package.json +5 -5
  303. package/public_api.d.ts +0 -1
  304. package/schematics/tsconfig.tsbuildinfo +1 -1
  305. package/src/lib/grids/README.md +1 -0
  306. package/esm2020/lib/data-operations/grouping-strategy.mjs +0 -12
  307. package/lib/data-operations/grouping-strategy.d.ts +0 -6
@@ -1,11 +1,13 @@
1
+ import { __decorate } from "tslib";
1
2
  import { CommonModule } from '@angular/common';
2
- import { Component, EventEmitter, HostBinding, Inject, Input, NgModule, Optional, Output, } from '@angular/core';
3
+ import { Component, EventEmitter, HostBinding, Inject, Input, NgModule, Optional, Output } from '@angular/core';
3
4
  import { takeUntil } from 'rxjs/operators';
4
5
  import { IgxOverlayService, HorizontalAlignment, VerticalAlignment, GlobalPositionStrategy } from '../services/public_api';
5
6
  import { mkenum } from '../core/utils';
6
7
  import { IgxNotificationsDirective } from '../directives/notification/notifications.directive';
7
8
  import { useAnimation } from '@angular/animations';
8
9
  import { fadeIn, fadeOut } from '../animations/fade';
10
+ import { DeprecateProperty } from '../core/deprecateDecorators';
9
11
  import * as i0 from "@angular/core";
10
12
  import * as i1 from "../core/navigation";
11
13
  import * as i2 from "../services/public_api";
@@ -73,30 +75,35 @@ export class IgxToastComponent extends IgxNotificationsDirective {
73
75
  * @hidden
74
76
  */
75
77
  this.isVisibleChange = new EventEmitter();
76
- /**
77
- * Sets/gets the position of the toast.
78
- * If not set, the `position` attribute will have value `IgxToastPosition.Bottom`.
79
- * ```html
80
- * <igx-toast [position]="top"></igx-toast>
81
- * ```
82
- * ```typescript
83
- * let toastPosition = this.toast.position;
84
- * ```
85
- *
86
- * @memberof IgxToastComponent
87
- */
88
- this.position = 'bottom';
78
+ this._position = 'bottom';
89
79
  this._positionSettings = {
90
80
  horizontalDirection: HorizontalAlignment.Center,
91
- verticalDirection: this.position === 'bottom'
92
- ? VerticalAlignment.Bottom
93
- : this.position === 'middle'
94
- ? VerticalAlignment.Middle
95
- : VerticalAlignment.Top,
81
+ verticalDirection: VerticalAlignment.Bottom,
96
82
  openAnimation: useAnimation(fadeIn),
97
83
  closeAnimation: useAnimation(fadeOut),
98
84
  };
99
85
  }
86
+ /**
87
+ * Sets/gets the position of the toast.
88
+ * If not set, the `position` attribute will have value `IgxToastPosition.Bottom`.
89
+ * ```html
90
+ * <igx-toast [position]="top"></igx-toast>
91
+ * ```
92
+ * ```typescript
93
+ * let toastPosition = this.toast.position;
94
+ * ```
95
+ *
96
+ * @memberof IgxToastComponent
97
+ */
98
+ get position() {
99
+ return this._position;
100
+ }
101
+ set position(position) {
102
+ if (position) {
103
+ this._position = position;
104
+ this._positionSettings.verticalDirection = this.calculatePosition();
105
+ }
106
+ }
100
107
  /**
101
108
  * Get the position and animation settings used by the toast.
102
109
  * ```typescript
@@ -149,10 +156,13 @@ export class IgxToastComponent extends IgxNotificationsDirective {
149
156
  * this.toast.open();
150
157
  * ```
151
158
  */
152
- open(message) {
159
+ open(message, settings) {
153
160
  if (message !== undefined) {
154
161
  this.textMessage = message;
155
162
  }
163
+ if (settings !== undefined) {
164
+ this.positionSettings = settings;
165
+ }
156
166
  this.strategy = new GlobalPositionStrategy(this.positionSettings);
157
167
  super.open();
158
168
  }
@@ -184,10 +194,25 @@ export class IgxToastComponent extends IgxNotificationsDirective {
184
194
  this.isVisibleChange.emit(closedEventArgs);
185
195
  });
186
196
  }
197
+ ngOnChanges(changes) {
198
+ if (changes['position'] && this._positionSettings) {
199
+ this._positionSettings.verticalDirection = this.calculatePosition();
200
+ }
201
+ }
202
+ calculatePosition() {
203
+ return this.position === 'bottom'
204
+ ? VerticalAlignment.Bottom
205
+ : this.position === 'middle'
206
+ ? VerticalAlignment.Middle
207
+ : VerticalAlignment.Top;
208
+ }
187
209
  }
188
- IgxToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxToastComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.IgxNavigationService, optional: true }, { token: IgxOverlayService }], target: i0.ɵɵFactoryTarget.Component });
189
- IgxToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-rc.2", type: IgxToastComponent, selector: "igx-toast", inputs: { id: "id", role: "role", position: "position", positionSettings: "positionSettings" }, outputs: { isVisibleChange: "isVisibleChange" }, host: { properties: { "class.igx-toast": "this.cssClass", "attr.id": "this.id", "attr.role": "this.role" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span>{{ textMessage }}</span>\n\n" });
190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxToastComponent, decorators: [{
210
+ IgxToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxToastComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.IgxNavigationService, optional: true }, { token: IgxOverlayService }], target: i0.ɵɵFactoryTarget.Component });
211
+ IgxToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: IgxToastComponent, selector: "igx-toast", inputs: { id: "id", role: "role", position: "position", positionSettings: "positionSettings" }, outputs: { isVisibleChange: "isVisibleChange" }, host: { properties: { "class.igx-toast": "this.cssClass", "attr.id": "this.id", "attr.role": "this.role" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n<span>{{ textMessage }}</span>\n\n" });
212
+ __decorate([
213
+ DeprecateProperty('`position` is deprecated. We suggest using `positionSettings` property instead.')
214
+ ], IgxToastComponent.prototype, "position", null);
215
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxToastComponent, decorators: [{
191
216
  type: Component,
192
217
  args: [{ selector: 'igx-toast', template: "<ng-content></ng-content>\n<span>{{ textMessage }}</span>\n\n" }]
193
218
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.IgxNavigationService, decorators: [{
@@ -220,10 +245,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.2", ng
220
245
  */
221
246
  export class IgxToastModule {
222
247
  }
223
- IgxToastModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
224
- IgxToastModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxToastModule, declarations: [IgxToastComponent], imports: [CommonModule], exports: [IgxToastComponent] });
225
- IgxToastModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxToastModule, imports: [[CommonModule]] });
226
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxToastModule, decorators: [{
248
+ IgxToastModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
249
+ IgxToastModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxToastModule, declarations: [IgxToastComponent], imports: [CommonModule], exports: [IgxToastComponent] });
250
+ IgxToastModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxToastModule, imports: [[CommonModule]] });
251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxToastModule, decorators: [{
227
252
  type: NgModule,
228
253
  args: [{
229
254
  declarations: [IgxToastComponent],
@@ -231,4 +256,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.2", ng
231
256
  imports: [CommonModule],
232
257
  }]
233
258
  }] });
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL3RvYXN0L3RvYXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi90b2FzdC90b2FzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVILFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUVSLFFBQVEsRUFDUixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixzQkFBc0IsRUFFekIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRS9GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBRXJELElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQUVoQjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7SUFDbkMsTUFBTSxFQUFFLFFBQVE7SUFDaEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsR0FBRyxFQUFFLEtBQUs7Q0FDYixDQUFDLENBQUM7QUFJSDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUtILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSx5QkFBeUI7SUF1SDVELFlBQ1ksUUFBb0IsRUFDNUIsR0FBc0IsRUFDVixVQUFnQyxFQUNqQixjQUFpQztRQUU1RCxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFMekMsYUFBUSxHQUFSLFFBQVEsQ0FBWTtRQXRIaEM7O1dBRUc7UUFFSSxhQUFRLEdBQUcsV0FBVyxDQUFDO1FBRTlCOzs7Ozs7Ozs7V0FTRztRQUdJLE9BQUUsR0FBRyxhQUFhLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFFckM7Ozs7Ozs7Ozs7O1dBV0c7UUFHSSxTQUFJLEdBQUcsT0FBTyxDQUFDO1FBRXRCOztXQUVHO1FBRUksb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUVqRTs7Ozs7Ozs7Ozs7V0FXRztRQUVJLGFBQVEsR0FBcUIsUUFBUSxDQUFDO1FBc0NwQyxzQkFBaUIsR0FBcUI7WUFDM0MsbUJBQW1CLEVBQUUsbUJBQW1CLENBQUMsTUFBTTtZQUMvQyxpQkFBaUIsRUFDYixJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVE7Z0JBQ3RCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNO2dCQUMxQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRO29CQUN4QixDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTTtvQkFDMUIsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUc7WUFDbkMsYUFBYSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUM7WUFDbkMsY0FBYyxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUM7U0FDeEMsQ0FBQztJQXFCRixDQUFDO0lBbkVEOzs7Ozs7T0FNRztJQUNGLElBQ1csZ0JBQWdCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW1CRztJQUNILElBQVcsZ0JBQWdCLENBQUMsUUFBMEI7UUFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQztJQUN0QyxDQUFDO0lBY0Y7Ozs7Ozs7T0FPRztJQUNILElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQVdEOzs7Ozs7O09BT0c7SUFDSSxJQUFJLENBQUMsT0FBZ0I7UUFDeEIsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO1NBQzlCO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xFLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssTUFBTTtRQUNWLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNmO2FBQU07WUFDSCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEI7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDaEQsTUFBTSxlQUFlLEdBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDaEQsTUFBTSxlQUFlLEdBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7bUhBN0tRLGlCQUFpQixpSUEySGQsaUJBQWlCO3VHQTNIcEIsaUJBQWlCLHVVQ2pFOUIsK0RBR0E7Z0dEOERhLGlCQUFpQjtrQkFKN0IsU0FBUzsrQkFDSSxXQUFXOzswQkE2SGhCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsaUJBQWlCOzRDQXJIdEIsUUFBUTtzQkFEZCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFldkIsRUFBRTtzQkFGUixXQUFXO3VCQUFDLFNBQVM7O3NCQUNyQixLQUFLO2dCQWlCQyxJQUFJO3NCQUZWLFdBQVc7dUJBQUMsV0FBVzs7c0JBQ3ZCLEtBQUs7Z0JBT0MsZUFBZTtzQkFEckIsTUFBTTtnQkFnQkEsUUFBUTtzQkFEZCxLQUFLO2dCQVdNLGdCQUFnQjtzQkFEMUIsS0FBSzs7QUE4R1g7O0dBRUc7QUFNSCxNQUFNLE9BQU8sY0FBYzs7Z0hBQWQsY0FBYztpSEFBZCxjQUFjLGlCQXhMZCxpQkFBaUIsYUFzTGhCLFlBQVksYUF0TGIsaUJBQWlCO2lIQXdMakIsY0FBYyxZQUZkLENBQUMsWUFBWSxDQUFDO2dHQUVkLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ01vZHVsZSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElneE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9uYXZpZ2F0aW9uJztcbmltcG9ydCB7XG4gICAgSWd4T3ZlcmxheVNlcnZpY2UsXG4gICAgSG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICBWZXJ0aWNhbEFsaWdubWVudCxcbiAgICBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5LFxuICAgIFBvc2l0aW9uU2V0dGluZ3Ncbn0gZnJvbSAnLi4vc2VydmljZXMvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBta2VudW0gfSBmcm9tICcuLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IElneE5vdGlmaWNhdGlvbnNEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb25zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb2dnbGVWaWV3RXZlbnRBcmdzIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy90b2dnbGUvdG9nZ2xlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyB1c2VBbmltYXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IGZhZGVJbiwgZmFkZU91dCB9IGZyb20gJy4uL2FuaW1hdGlvbnMvZmFkZSc7XG5cbmxldCBORVhUX0lEID0gMDtcblxuLyoqXG4gKiBFbnVtZXJhdGlvbiBmb3IgdG9hc3QgcG9zaXRpb25cbiAqIENhbiBiZTpcbiAqIEJvdHRvbVxuICogTWlkZGxlXG4gKiBUb3BcbiAqL1xuZXhwb3J0IGNvbnN0IElneFRvYXN0UG9zaXRpb24gPSBta2VudW0oe1xuICAgIEJvdHRvbTogJ2JvdHRvbScsXG4gICAgTWlkZGxlOiAnbWlkZGxlJyxcbiAgICBUb3A6ICd0b3AnXG59KTtcblxuZXhwb3J0IHR5cGUgSWd4VG9hc3RQb3NpdGlvbiA9ICh0eXBlb2YgSWd4VG9hc3RQb3NpdGlvbilba2V5b2YgdHlwZW9mIElneFRvYXN0UG9zaXRpb25dO1xuXG4vKipcbiAqICoqSWduaXRlIFVJIGZvciBBbmd1bGFyIFRvYXN0KiogLVxuICogW0RvY3VtZW50YXRpb25dKGh0dHBzOi8vd3d3LmluZnJhZ2lzdGljcy5jb20vcHJvZHVjdHMvaWduaXRlLXVpLWFuZ3VsYXIvYW5ndWxhci9jb21wb25lbnRzL3RvYXN0KVxuICpcbiAqIFRoZSBJZ25pdGUgVUkgVG9hc3QgcHJvdmlkZXMgaW5mb3JtYXRpb24gYW5kIHdhcm5pbmcgbWVzc2FnZXMgdGhhdCBhcmUgbm9uLWludGVyYWN0aXZlIGFuZCBjYW5ub3RcbiAqIGJlIGRpc21pc3NlZCBieSB0aGUgdXNlci4gVG9hc3RzIGNhbiBiZSBkaXNwbGF5ZWQgYXQgdGhlIGJvdHRvbSwgbWlkZGxlLCBvciB0b3Agb2YgdGhlIHBhZ2UuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYGh0bWxcbiAqIDxidXR0b24gKGNsaWNrKT1cInRvYXN0Lm9wZW4oKVwiPlNob3cgbm90aWZpY2F0aW9uPC9idXR0b24+XG4gKiA8aWd4LXRvYXN0ICN0b2FzdCBkaXNwbGF5VGltZT1cIjEwMDBcIj5cbiAqICAgICAgTm90aWZpY2F0aW9uIGRpc3BsYXllZFxuICogPC9pZ3gtdG9hc3Q+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdpZ3gtdG9hc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAndG9hc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIElneFRvYXN0Q29tcG9uZW50IGV4dGVuZHMgSWd4Tm90aWZpY2F0aW9uc0RpcmVjdGl2ZVxuICAgIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtdG9hc3QnKVxuICAgIHB1YmxpYyBjc3NDbGFzcyA9ICdpZ3gtdG9hc3QnO1xuXG4gICAgLyoqXG4gICAgICogU2V0cy9nZXRzIHRoZSBgaWRgIG9mIHRoZSB0b2FzdC5cbiAgICAgKiBJZiBub3Qgc2V0LCB0aGUgYGlkYCB3aWxsIGhhdmUgdmFsdWUgYFwiaWd4LXRvYXN0LTBcImAuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtdG9hc3QgaWQgPSBcIm15LWZpcnN0LXRvYXN0XCI+PC9pZ3gtdG9hc3Q+XG4gICAgICogYGBgXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCB0b2FzdElkID0gdGhpcy50b2FzdC5pZDtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkID0gYGlneC10b2FzdC0ke05FWFRfSUQrK31gO1xuXG4gICAgLyoqXG4gICAgICogU2V0cy9nZXRzIHRoZSBgcm9sZWAgYXR0cmlidXRlLlxuICAgICAqIElmIG5vdCBzZXQsIGByb2xlYCB3aWxsIGhhdmUgdmFsdWUgYFwiYWxlcnRcImAuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtdG9hc3QgW3JvbGVdID0gXCInbm90aWZ5J1wiPjwvaWd4LXRvYXN0PlxuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgdG9hc3RSb2xlID0gdGhpcy50b2FzdC5yb2xlO1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIElneFRvYXN0Q29tcG9uZW50XG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJvbGUgPSAnYWxlcnQnO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpc1Zpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRvZ2dsZVZpZXdFdmVudEFyZ3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzL2dldHMgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b2FzdC5cbiAgICAgKiBJZiBub3Qgc2V0LCB0aGUgYHBvc2l0aW9uYCBhdHRyaWJ1dGUgd2lsbCBoYXZlIHZhbHVlIGBJZ3hUb2FzdFBvc2l0aW9uLkJvdHRvbWAuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtdG9hc3QgW3Bvc2l0aW9uXT1cInRvcFwiPjwvaWd4LXRvYXN0PlxuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgdG9hc3RQb3NpdGlvbiA9IHRoaXMudG9hc3QucG9zaXRpb247XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgSWd4VG9hc3RDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwb3NpdGlvbjogSWd4VG9hc3RQb3NpdGlvbiA9ICdib3R0b20nO1xuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBwb3NpdGlvbiBhbmQgYW5pbWF0aW9uIHNldHRpbmdzIHVzZWQgYnkgdGhlIHRvYXN0LlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBAVmlld0NoaWxkKCd0b2FzdCcsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyB0b2FzdDogSWd4VG9hc3RDb21wb25lbnQ7XG4gICAgICogbGV0IGN1cnJlbnRQb3NpdGlvbjogUG9zaXRpb25TZXR0aW5ncyA9IHRoaXMudG9hc3QucG9zaXRpb25TZXR0aW5nc1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgICBASW5wdXQoKVxuICAgICBwdWJsaWMgZ2V0IHBvc2l0aW9uU2V0dGluZ3MoKTogUG9zaXRpb25TZXR0aW5ncyB7XG4gICAgICAgICByZXR1cm4gdGhpcy5fcG9zaXRpb25TZXR0aW5ncztcbiAgICAgfVxuXG4gICAgIC8qKlxuICAgICAgKiBTZXQgdGhlIHBvc2l0aW9uIGFuZCBhbmltYXRpb24gc2V0dGluZ3MgdXNlZCBieSB0aGUgdG9hc3QuXG4gICAgICAqIGBgYGh0bWxcbiAgICAgICogPGlneC10b2FzdCBbcG9zaXRpb25TZXR0aW5nc109XCJuZXdQb3NpdGlvblNldHRpbmdzXCI+PC9pZ3gtdG9hc3Q+XG4gICAgICAqIGBgYFxuICAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICAqIGltcG9ydCB7IHNsaWRlSW5Ub3AsIHNsaWRlT3V0Qm90dG9tIH0gZnJvbSAnaWduaXRldWktYW5ndWxhcic7XG4gICAgICAqIC4uLlxuICAgICAgKiBAVmlld0NoaWxkKCd0b2FzdCcsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyB0b2FzdDogSWd4VG9hc3RDb21wb25lbnQ7XG4gICAgICAqICBwdWJsaWMgbmV3UG9zaXRpb25TZXR0aW5nczogUG9zaXRpb25TZXR0aW5ncyA9IHtcbiAgICAgICogICAgICBvcGVuQW5pbWF0aW9uOiB1c2VBbmltYXRpb24oc2xpZGVJblRvcCwgeyBwYXJhbXM6IHsgZHVyYXRpb246ICcxMDAwbXMnLCBmcm9tUG9zaXRpb246ICd0cmFuc2xhdGVZKDEwMCUpJ319KSxcbiAgICAgICogICAgICBjbG9zZUFuaW1hdGlvbjogdXNlQW5pbWF0aW9uKHNsaWRlT3V0Qm90dG9tLCB7IHBhcmFtczogeyBkdXJhdGlvbjogJzEwMDBtcycsIGZyb21Qb3NpdGlvbjogJ3RyYW5zbGF0ZVkoMCknfX0pLFxuICAgICAgKiAgICAgIGhvcml6b250YWxEaXJlY3Rpb246IEhvcml6b250YWxBbGlnbm1lbnQuTGVmdCxcbiAgICAgICogICAgICB2ZXJ0aWNhbERpcmVjdGlvbjogVmVydGljYWxBbGlnbm1lbnQuTWlkZGxlLFxuICAgICAgKiAgICAgIGhvcml6b250YWxTdGFydFBvaW50OiBIb3Jpem9udGFsQWxpZ25tZW50LkxlZnQsXG4gICAgICAqICAgICAgdmVydGljYWxTdGFydFBvaW50OiBWZXJ0aWNhbEFsaWdubWVudC5NaWRkbGVcbiAgICAgICogIH07XG4gICAgICAqIHRoaXMudG9hc3QucG9zaXRpb25TZXR0aW5ncyA9IHRoaXMubmV3UG9zaXRpb25TZXR0aW5ncztcbiAgICAgICogYGBgXG4gICAgICAqL1xuICAgICBwdWJsaWMgc2V0IHBvc2l0aW9uU2V0dGluZ3Moc2V0dGluZ3M6IFBvc2l0aW9uU2V0dGluZ3MpIHtcbiAgICAgICAgIHRoaXMuX3Bvc2l0aW9uU2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgICAgfVxuXG4gICAgIHByaXZhdGUgX3Bvc2l0aW9uU2V0dGluZ3M6IFBvc2l0aW9uU2V0dGluZ3MgPSB7XG4gICAgICAgIGhvcml6b250YWxEaXJlY3Rpb246IEhvcml6b250YWxBbGlnbm1lbnQuQ2VudGVyLFxuICAgICAgICB2ZXJ0aWNhbERpcmVjdGlvbjpcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPT09ICdib3R0b20nXG4gICAgICAgICAgICAgICAgPyBWZXJ0aWNhbEFsaWdubWVudC5Cb3R0b21cbiAgICAgICAgICAgICAgICA6IHRoaXMucG9zaXRpb24gPT09ICdtaWRkbGUnXG4gICAgICAgICAgICAgICAgICAgID8gVmVydGljYWxBbGlnbm1lbnQuTWlkZGxlXG4gICAgICAgICAgICAgICAgICAgIDogVmVydGljYWxBbGlnbm1lbnQuVG9wLFxuICAgICAgICBvcGVuQW5pbWF0aW9uOiB1c2VBbmltYXRpb24oZmFkZUluKSxcbiAgICAgICAgY2xvc2VBbmltYXRpb246IHVzZUFuaW1hdGlvbihmYWRlT3V0KSxcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbmF0aXZlRWxlbWVudCBvZiB0aGUgdG9hc3QuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBuYXRpdmVFbGVtZW50ID0gdGhpcy50b2FzdC5lbGVtZW50O1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIElneFRvYXN0Q29tcG9uZW50XG4gICAgICovXG4gICAgcHVibGljIGdldCBlbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBuYXZTZXJ2aWNlOiBJZ3hOYXZpZ2F0aW9uU2VydmljZSxcbiAgICAgICAgQEluamVjdChJZ3hPdmVybGF5U2VydmljZSkgb3ZlcmxheVNlcnZpY2U6IElneE92ZXJsYXlTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKF9lbGVtZW50LCBjZHIsIG92ZXJsYXlTZXJ2aWNlLCBuYXZTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93cyB0aGUgdG9hc3QuXG4gICAgICogSWYgYGF1dG9IaWRlYCBpcyBlbmFibGVkLCB0aGUgdG9hc3Qgd2lsbCBoaWRlIGFmdGVyIGBkaXNwbGF5VGltZWAgaXMgb3Zlci5cbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiB0aGlzLnRvYXN0Lm9wZW4oKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgb3BlbihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgICAgIGlmIChtZXNzYWdlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dE1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdHJhdGVneSA9IG5ldyBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5KHRoaXMucG9zaXRpb25TZXR0aW5ncyk7XG4gICAgICAgIHN1cGVyLm9wZW4oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPcGVucyBvciBjbG9zZXMgdGhlIHRvYXN0LCBkZXBlbmRpbmcgb24gaXRzIGN1cnJlbnQgc3RhdGUuXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogdGhpcy50b2FzdC50b2dnbGUoKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICAgcHVibGljIHRvZ2dsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29sbGFwc2VkIHx8IHRoaXMuaXNDbG9zaW5nKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMub3BlbmVkLnBpcGUodGFrZVVudGlsKHRoaXMuZCQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3BlbmVkRXZlbnRBcmdzOiBUb2dnbGVWaWV3RXZlbnRBcmdzID0geyBvd25lcjogdGhpcywgaWQ6IHRoaXMuX292ZXJsYXlJZCB9O1xuICAgICAgICAgICAgdGhpcy5pc1Zpc2libGVDaGFuZ2UuZW1pdChvcGVuZWRFdmVudEFyZ3MpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNsb3NlZC5waXBlKHRha2VVbnRpbCh0aGlzLmQkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNsb3NlZEV2ZW50QXJnczogVG9nZ2xlVmlld0V2ZW50QXJncyA9IHsgb3duZXI6IHRoaXMsIGlkOiB0aGlzLl9vdmVybGF5SWQgfTtcbiAgICAgICAgICAgIHRoaXMuaXNWaXNpYmxlQ2hhbmdlLmVtaXQoY2xvc2VkRXZlbnRBcmdzKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtJZ3hUb2FzdENvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0lneFRvYXN0Q29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgSWd4VG9hc3RNb2R1bGUgeyB9XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48c3Bhbj57eyB0ZXh0TWVzc2FnZSB9fTwvc3Bhbj5cblxuIl19
259
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL3RvYXN0L3RvYXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi90b2FzdC90b2FzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFSCxTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFHUixRQUFRLEVBQ1IsTUFBTSxFQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsc0JBQXNCLEVBRXpCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUUvRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQUVoRSxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFFaEI7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0lBQ25DLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEdBQUcs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QyxpQkFBaUI7Z0JBZXZCLEVBQUU7c0JBRlIsV0FBVzt1QkFBQyxTQUFTOztzQkFDckIsS0FBSztnQkFpQkMsSUFBSTtzQkFGVixXQUFXO3VCQUFDLFdBQVc7O3NCQUN2QixLQUFLO2dCQU9DLGVBQWU7c0JBRHJCLE1BQU07Z0JBaUJJLFFBQVE7c0JBRGxCLEtBQUs7Z0JBb0JNLGdCQUFnQjtzQkFEMUIsS0FBSzs7QUEwSFg7O0dBRUc7QUFNSCxNQUFNLE9BQU8sY0FBYzs7Z0hBQWQsY0FBYztpSEFBZCxjQUFjLGlCQTdNZCxpQkFBaUIsYUEyTWhCLFlBQVksYUEzTWIsaUJBQWlCO2lIQTZNakIsY0FBYyxZQUZkLENBQUMsWUFBWSxDQUFDO2dHQUVkLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ01vZHVsZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSWd4TmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL25hdmlnYXRpb24nO1xuaW1wb3J0IHtcbiAgICBJZ3hPdmVybGF5U2VydmljZSxcbiAgICBIb3Jpem9udGFsQWxpZ25tZW50LFxuICAgIFZlcnRpY2FsQWxpZ25tZW50LFxuICAgIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgUG9zaXRpb25TZXR0aW5nc1xufSBmcm9tICcuLi9zZXJ2aWNlcy9wdWJsaWNfYXBpJztcbmltcG9ydCB7IG1rZW51bSB9IGZyb20gJy4uL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgSWd4Tm90aWZpY2F0aW9uc0RpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbnMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRvZ2dsZVZpZXdFdmVudEFyZ3MgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3RvZ2dsZS90b2dnbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IHVzZUFuaW1hdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgZmFkZUluLCBmYWRlT3V0IH0gZnJvbSAnLi4vYW5pbWF0aW9ucy9mYWRlJztcbmltcG9ydCB7IERlcHJlY2F0ZVByb3BlcnR5IH0gZnJvbSAnLi4vY29yZS9kZXByZWNhdGVEZWNvcmF0b3JzJztcblxubGV0IE5FWFRfSUQgPSAwO1xuXG4vKipcbiAqIEVudW1lcmF0aW9uIGZvciB0b2FzdCBwb3NpdGlvblxuICogQ2FuIGJlOlxuICogQm90dG9tXG4gKiBNaWRkbGVcbiAqIFRvcFxuICovXG5leHBvcnQgY29uc3QgSWd4VG9hc3RQb3NpdGlvbiA9IG1rZW51bSh7XG4gICAgQm90dG9tOiAnYm90dG9tJyxcbiAgICBNaWRkbGU6ICdtaWRkbGUnLFxuICAgIFRvcDogJ3RvcCdcbn0pO1xuXG5leHBvcnQgdHlwZSBJZ3hUb2FzdFBvc2l0aW9uID0gKHR5cGVvZiBJZ3hUb2FzdFBvc2l0aW9uKVtrZXlvZiB0eXBlb2YgSWd4VG9hc3RQb3NpdGlvbl07XG5cbi8qKlxuICogKipJZ25pdGUgVUkgZm9yIEFuZ3VsYXIgVG9hc3QqKiAtXG4gKiBbRG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly93d3cuaW5mcmFnaXN0aWNzLmNvbS9wcm9kdWN0cy9pZ25pdGUtdWktYW5ndWxhci9hbmd1bGFyL2NvbXBvbmVudHMvdG9hc3QpXG4gKlxuICogVGhlIElnbml0ZSBVSSBUb2FzdCBwcm92aWRlcyBpbmZvcm1hdGlvbiBhbmQgd2FybmluZyBtZXNzYWdlcyB0aGF0IGFyZSBub24taW50ZXJhY3RpdmUgYW5kIGNhbm5vdFxuICogYmUgZGlzbWlzc2VkIGJ5IHRoZSB1c2VyLiBUb2FzdHMgY2FuIGJlIGRpc3BsYXllZCBhdCB0aGUgYm90dG9tLCBtaWRkbGUsIG9yIHRvcCBvZiB0aGUgcGFnZS5cbiAqXG4gKiBFeGFtcGxlOlxuICogYGBgaHRtbFxuICogPGJ1dHRvbiAoY2xpY2spPVwidG9hc3Qub3BlbigpXCI+U2hvdyBub3RpZmljYXRpb248L2J1dHRvbj5cbiAqIDxpZ3gtdG9hc3QgI3RvYXN0IGRpc3BsYXlUaW1lPVwiMTAwMFwiPlxuICogICAgICBOb3RpZmljYXRpb24gZGlzcGxheWVkXG4gKiA8L2lneC10b2FzdD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lneC10b2FzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICd0b2FzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSWd4VG9hc3RDb21wb25lbnQgZXh0ZW5kcyBJZ3hOb3RpZmljYXRpb25zRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC10b2FzdCcpXG4gICAgcHVibGljIGNzc0NsYXNzID0gJ2lneC10b2FzdCc7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzL2dldHMgdGhlIGBpZGAgb2YgdGhlIHRvYXN0LlxuICAgICAqIElmIG5vdCBzZXQsIHRoZSBgaWRgIHdpbGwgaGF2ZSB2YWx1ZSBgXCJpZ3gtdG9hc3QtMFwiYC5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC10b2FzdCBpZCA9IFwibXktZmlyc3QtdG9hc3RcIj48L2lneC10b2FzdD5cbiAgICAgKiBgYGBcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IHRvYXN0SWQgPSB0aGlzLnRvYXN0LmlkO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQgPSBgaWd4LXRvYXN0LSR7TkVYVF9JRCsrfWA7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzL2dldHMgdGhlIGByb2xlYCBhdHRyaWJ1dGUuXG4gICAgICogSWYgbm90IHNldCwgYHJvbGVgIHdpbGwgaGF2ZSB2YWx1ZSBgXCJhbGVydFwiYC5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC10b2FzdCBbcm9sZV0gPSBcIidub3RpZnknXCI+PC9pZ3gtdG9hc3Q+XG4gICAgICogYGBgXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCB0b2FzdFJvbGUgPSB0aGlzLnRvYXN0LnJvbGU7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgSWd4VG9hc3RDb21wb25lbnRcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcm9sZSA9ICdhbGVydCc7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGlzVmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VG9nZ2xlVmlld0V2ZW50QXJncz4oKTtcblxuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvYXN0LlxuICAgICAqIElmIG5vdCBzZXQsIHRoZSBgcG9zaXRpb25gIGF0dHJpYnV0ZSB3aWxsIGhhdmUgdmFsdWUgYElneFRvYXN0UG9zaXRpb24uQm90dG9tYC5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC10b2FzdCBbcG9zaXRpb25dPVwidG9wXCI+PC9pZ3gtdG9hc3Q+XG4gICAgICogYGBgXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCB0b2FzdFBvc2l0aW9uID0gdGhpcy50b2FzdC5wb3NpdGlvbjtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hUb2FzdENvbXBvbmVudFxuICAgICAqL1xuICAgIEBEZXByZWNhdGVQcm9wZXJ0eSgnYHBvc2l0aW9uYCBpcyBkZXByZWNhdGVkLiBXZSBzdWdnZXN0IHVzaW5nIGBwb3NpdGlvblNldHRpbmdzYCBwcm9wZXJ0eSBpbnN0ZWFkLicpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IHBvc2l0aW9uKCk6IElneFRvYXN0UG9zaXRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcG9zaXRpb247XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBwb3NpdGlvbihwb3NpdGlvbjogSWd4VG9hc3RQb3NpdGlvbikge1xuICAgICAgICBpZiAocG9zaXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX3Bvc2l0aW9uID0gcG9zaXRpb247XG4gICAgICAgICAgICB0aGlzLl9wb3NpdGlvblNldHRpbmdzLnZlcnRpY2FsRGlyZWN0aW9uID0gdGhpcy5jYWxjdWxhdGVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBwb3NpdGlvbiBhbmQgYW5pbWF0aW9uIHNldHRpbmdzIHVzZWQgYnkgdGhlIHRvYXN0LlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBAVmlld0NoaWxkKCd0b2FzdCcsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyB0b2FzdDogSWd4VG9hc3RDb21wb25lbnQ7XG4gICAgICogbGV0IGN1cnJlbnRQb3NpdGlvbjogUG9zaXRpb25TZXR0aW5ncyA9IHRoaXMudG9hc3QucG9zaXRpb25TZXR0aW5nc1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgICBASW5wdXQoKVxuICAgICBwdWJsaWMgZ2V0IHBvc2l0aW9uU2V0dGluZ3MoKTogUG9zaXRpb25TZXR0aW5ncyB7XG4gICAgICAgICByZXR1cm4gdGhpcy5fcG9zaXRpb25TZXR0aW5ncztcbiAgICAgfVxuXG4gICAgIC8qKlxuICAgICAgKiBTZXQgdGhlIHBvc2l0aW9uIGFuZCBhbmltYXRpb24gc2V0dGluZ3MgdXNlZCBieSB0aGUgdG9hc3QuXG4gICAgICAqIGBgYGh0bWxcbiAgICAgICogPGlneC10b2FzdCBbcG9zaXRpb25TZXR0aW5nc109XCJuZXdQb3NpdGlvblNldHRpbmdzXCI+PC9pZ3gtdG9hc3Q+XG4gICAgICAqIGBgYFxuICAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICAqIGltcG9ydCB7IHNsaWRlSW5Ub3AsIHNsaWRlT3V0Qm90dG9tIH0gZnJvbSAnaWduaXRldWktYW5ndWxhcic7XG4gICAgICAqIC4uLlxuICAgICAgKiBAVmlld0NoaWxkKCd0b2FzdCcsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyB0b2FzdDogSWd4VG9hc3RDb21wb25lbnQ7XG4gICAgICAqICBwdWJsaWMgbmV3UG9zaXRpb25TZXR0aW5nczogUG9zaXRpb25TZXR0aW5ncyA9IHtcbiAgICAgICogICAgICBvcGVuQW5pbWF0aW9uOiB1c2VBbmltYXRpb24oc2xpZGVJblRvcCwgeyBwYXJhbXM6IHsgZHVyYXRpb246ICcxMDAwbXMnLCBmcm9tUG9zaXRpb246ICd0cmFuc2xhdGVZKDEwMCUpJ319KSxcbiAgICAgICogICAgICBjbG9zZUFuaW1hdGlvbjogdXNlQW5pbWF0aW9uKHNsaWRlT3V0Qm90dG9tLCB7IHBhcmFtczogeyBkdXJhdGlvbjogJzEwMDBtcycsIGZyb21Qb3NpdGlvbjogJ3RyYW5zbGF0ZVkoMCknfX0pLFxuICAgICAgKiAgICAgIGhvcml6b250YWxEaXJlY3Rpb246IEhvcml6b250YWxBbGlnbm1lbnQuTGVmdCxcbiAgICAgICogICAgICB2ZXJ0aWNhbERpcmVjdGlvbjogVmVydGljYWxBbGlnbm1lbnQuTWlkZGxlLFxuICAgICAgKiAgICAgIGhvcml6b250YWxTdGFydFBvaW50OiBIb3Jpem9udGFsQWxpZ25tZW50LkxlZnQsXG4gICAgICAqICAgICAgdmVydGljYWxTdGFydFBvaW50OiBWZXJ0aWNhbEFsaWdubWVudC5NaWRkbGVcbiAgICAgICogIH07XG4gICAgICAqIHRoaXMudG9hc3QucG9zaXRpb25TZXR0aW5ncyA9IHRoaXMubmV3UG9zaXRpb25TZXR0aW5ncztcbiAgICAgICogYGBgXG4gICAgICAqL1xuICAgICBwdWJsaWMgc2V0IHBvc2l0aW9uU2V0dGluZ3Moc2V0dGluZ3M6IFBvc2l0aW9uU2V0dGluZ3MpIHtcbiAgICAgICAgIHRoaXMuX3Bvc2l0aW9uU2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgICAgfVxuXG4gICAgIHByaXZhdGUgX3Bvc2l0aW9uOiBJZ3hUb2FzdFBvc2l0aW9uID0gJ2JvdHRvbSc7XG4gICAgIHByaXZhdGUgX3Bvc2l0aW9uU2V0dGluZ3M6IFBvc2l0aW9uU2V0dGluZ3MgPSB7XG4gICAgICAgIGhvcml6b250YWxEaXJlY3Rpb246IEhvcml6b250YWxBbGlnbm1lbnQuQ2VudGVyLFxuICAgICAgICB2ZXJ0aWNhbERpcmVjdGlvbjogVmVydGljYWxBbGlnbm1lbnQuQm90dG9tLFxuICAgICAgICBvcGVuQW5pbWF0aW9uOiB1c2VBbmltYXRpb24oZmFkZUluKSxcbiAgICAgICAgY2xvc2VBbmltYXRpb246IHVzZUFuaW1hdGlvbihmYWRlT3V0KSxcbiAgICAgfTtcblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG5hdGl2ZUVsZW1lbnQgb2YgdGhlIHRvYXN0LlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgbmF0aXZlRWxlbWVudCA9IHRoaXMudG9hc3QuZWxlbWVudDtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hUb2FzdENvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgbmF2U2VydmljZTogSWd4TmF2aWdhdGlvblNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoSWd4T3ZlcmxheVNlcnZpY2UpIG92ZXJsYXlTZXJ2aWNlOiBJZ3hPdmVybGF5U2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihfZWxlbWVudCwgY2RyLCBvdmVybGF5U2VydmljZSwgbmF2U2VydmljZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvd3MgdGhlIHRvYXN0LlxuICAgICAqIElmIGBhdXRvSGlkZWAgaXMgZW5hYmxlZCwgdGhlIHRvYXN0IHdpbGwgaGlkZSBhZnRlciBgZGlzcGxheVRpbWVgIGlzIG92ZXIuXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogdGhpcy50b2FzdC5vcGVuKCk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIG9wZW4obWVzc2FnZT86IHN0cmluZywgc2V0dGluZ3M/OiBQb3NpdGlvblNldHRpbmdzKSB7XG4gICAgICAgIGlmIChtZXNzYWdlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dE1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZXR0aW5ncyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uU2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN0cmF0ZWd5ID0gbmV3IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kodGhpcy5wb3NpdGlvblNldHRpbmdzKTtcbiAgICAgICAgc3VwZXIub3BlbigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW5zIG9yIGNsb3NlcyB0aGUgdG9hc3QsIGRlcGVuZGluZyBvbiBpdHMgY3VycmVudCBzdGF0ZS5cbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiB0aGlzLnRvYXN0LnRvZ2dsZSgpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgICBwdWJsaWMgdG9nZ2xlKCkge1xuICAgICAgICBpZiAodGhpcy5jb2xsYXBzZWQgfHwgdGhpcy5pc0Nsb3NpbmcpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5vcGVuZWQucGlwZSh0YWtlVW50aWwodGhpcy5kJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcGVuZWRFdmVudEFyZ3M6IFRvZ2dsZVZpZXdFdmVudEFyZ3MgPSB7IG93bmVyOiB0aGlzLCBpZDogdGhpcy5fb3ZlcmxheUlkIH07XG4gICAgICAgICAgICB0aGlzLmlzVmlzaWJsZUNoYW5nZS5lbWl0KG9wZW5lZEV2ZW50QXJncyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2xvc2VkLnBpcGUodGFrZVVudGlsKHRoaXMuZCQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2xvc2VkRXZlbnRBcmdzOiBUb2dnbGVWaWV3RXZlbnRBcmdzID0geyBvd25lcjogdGhpcywgaWQ6IHRoaXMuX292ZXJsYXlJZCB9O1xuICAgICAgICAgICAgdGhpcy5pc1Zpc2libGVDaGFuZ2UuZW1pdChjbG9zZWRFdmVudEFyZ3MpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlc1sncG9zaXRpb24nXSAmJiB0aGlzLl9wb3NpdGlvblNldHRpbmdzKSB7XG4gICAgICAgICAgICB0aGlzLl9wb3NpdGlvblNldHRpbmdzLnZlcnRpY2FsRGlyZWN0aW9uID0gdGhpcy5jYWxjdWxhdGVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQb3NpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9zaXRpb24gPT09ICdib3R0b20nXG4gICAgICAgICAgICA/IFZlcnRpY2FsQWxpZ25tZW50LkJvdHRvbVxuICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAnbWlkZGxlJ1xuICAgICAgICAgICAgICAgID8gVmVydGljYWxBbGlnbm1lbnQuTWlkZGxlXG4gICAgICAgICAgICAgICAgOiBWZXJ0aWNhbEFsaWdubWVudC5Ub3A7XG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtJZ3hUb2FzdENvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0lneFRvYXN0Q29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgSWd4VG9hc3RNb2R1bGUgeyB9XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48c3Bhbj57eyB0ZXh0TWVzc2FnZSB9fTwvc3Bhbj5cblxuIl19
@@ -230,9 +230,9 @@ export class IgxTreeNavigationService {
230
230
  return this.visibleChildren[nodeIndex + dir] || node;
231
231
  }
232
232
  }
233
- IgxTreeNavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeNavigationService, deps: [{ token: i1.IgxTreeService }, { token: i2.IgxTreeSelectionService }], target: i0.ɵɵFactoryTarget.Injectable });
234
- IgxTreeNavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeNavigationService });
235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeNavigationService, decorators: [{
233
+ IgxTreeNavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeNavigationService, deps: [{ token: i1.IgxTreeService }, { token: i2.IgxTreeSelectionService }], target: i0.ɵɵFactoryTarget.Injectable });
234
+ IgxTreeNavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeNavigationService });
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeNavigationService, decorators: [{
236
236
  type: Injectable
237
237
  }], ctorParameters: function () { return [{ type: i1.IgxTreeService }, { type: i2.IgxTreeSelectionService }]; } });
238
238
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1uYXZpZ2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvdHJlZS90cmVlLW5hdmlnYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBd0Isb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBRS9CLHdCQUF3QjtBQUV4QixNQUFNLE9BQU8sd0JBQXdCO0lBYWpDLFlBQW9CLFdBQTJCLEVBQVUsZ0JBQXlDO1FBQTlFLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFWMUYsaUJBQVksR0FBcUIsSUFBSSxDQUFDO1FBQ3RDLHFCQUFnQixHQUFxQixJQUFJLENBQUM7UUFDMUMsZ0JBQVcsR0FBcUIsSUFBSSxDQUFDO1FBRXJDLHFCQUFnQixHQUF1QixFQUFFLENBQUM7UUFDMUMsdUJBQWtCLEdBQTBCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDdEQsc0JBQWlCLEdBQTBCLElBQUksR0FBRyxFQUFFLENBQUM7UUFFckQsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBR3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3QixJQUFJLENBQUMsZ0JBQWdCO2dCQUNqQixJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2pHLEVBQUUsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFFBQVEsQ0FBQyxJQUFhO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFdBQVcsQ0FBQyxLQUF1QjtRQUMxQyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssS0FBSyxFQUFFO1lBQzdCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDdkM7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDbEQ7SUFDTCxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxVQUFVLENBQUMsS0FBdUI7UUFDekMsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLEtBQUssRUFBRTtZQUM1QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRU0scUJBQXFCLENBQUMsSUFBc0I7UUFDL0MsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwQzthQUFNO1lBQ0gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLG9CQUFvQjtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN0RCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxJQUFzQixFQUFFLFFBQWlCLEVBQUUsVUFBVSxHQUFHLElBQUk7UUFDcEYsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVELENBQUMsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pFO1FBRUQsSUFBSSxVQUFVLEVBQUU7WUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzVCO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksdUJBQXVCLENBQUMsSUFBc0IsRUFBRSxXQUFvQixJQUFJO1FBQzNFLElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7U0FDMUI7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQsNERBQTREO0lBQ3JELGFBQWEsQ0FBQyxLQUFvQjtRQUNyQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ25CLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQzVDLElBQUksR0FBRyxLQUFLLE9BQU8sRUFBRTtnQkFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQ3RDO1lBQ0QsT0FBTztTQUNWO1FBQ0QsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNkLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoQztJQUNMLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFvQjtRQUN6QyxRQUFRLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDN0IsS0FBSyxNQUFNO2dCQUNQLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RELE1BQU07WUFDVixLQUFLLEtBQUs7Z0JBQ04sSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEYsTUFBTTtZQUNWLEtBQUssV0FBVyxDQUFDO1lBQ2pCLEtBQUssTUFBTTtnQkFDUCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU07WUFDVixLQUFLLFlBQVksQ0FBQztZQUNsQixLQUFLLE9BQU87Z0JBQ1IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hCLE1BQU07WUFDVixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssSUFBSTtnQkFDTCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNwQyxNQUFNO1lBQ1YsS0FBSyxXQUFXLENBQUM7WUFDakIsS0FBSyxNQUFNO2dCQUNQLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLEdBQUc7Z0JBQ0osSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0QixNQUFNO1lBQ1YsS0FBSyxHQUFHLENBQUM7WUFDVCxLQUFLLFVBQVUsQ0FBQztZQUNoQixLQUFLLE9BQU87Z0JBQ1IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2pDLE1BQU07WUFDVjtnQkFDSSxPQUFPO1NBQ2Q7SUFDTCxDQUFDO0lBRU8sZUFBZTtRQUNuQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUU7WUFDNUgsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDL0I7YUFBTTtZQUNILE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1lBQy9DLElBQUksVUFBVSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQzVDO1NBQ0o7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUM3QjtpQkFBTTtnQkFDSCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7b0JBQ3hELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQzFCLE9BQU87aUJBQ1Y7Z0JBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzNFLElBQUksVUFBVSxFQUFFO29CQUNaLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDNUM7YUFDSjtTQUNKO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQWEsRUFBRSxLQUFvQjtRQUN6RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEUsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUMzQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDZixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzdDO2FBQU07WUFDSCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEM7SUFDTCxDQUFDO0lBRU8sY0FBYztRQUNsQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN4RyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO2dCQUNsRixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDakI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxXQUFXLENBQUMsUUFBUSxHQUFHLEtBQUs7UUFDaEMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUU7WUFDbkQsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ25DLElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM1RCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFO1lBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3hEO2FBQU07WUFDSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN0RDtJQUNMLENBQUM7SUFFRCxvRkFBb0Y7SUFDNUUsY0FBYyxDQUFDLElBQXNCLEVBQUUsTUFBYyxDQUFDO1FBQzFELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3pELENBQUM7OzBIQWpQUSx3QkFBd0I7OEhBQXhCLHdCQUF3QjtnR0FBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hUcmVlLCBJZ3hUcmVlTm9kZSwgSWd4VHJlZVNlbGVjdGlvblR5cGUgfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBOQVZJR0FUSU9OX0tFWVMgfSBmcm9tICcuLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IElneFRyZWVTZXJ2aWNlIH0gZnJvbSAnLi90cmVlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWd4VHJlZVNlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuL3RyZWUtc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG4vKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJZ3hUcmVlTmF2aWdhdGlvblNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgdHJlZTogSWd4VHJlZTtcblxuICAgIHByaXZhdGUgX2ZvY3VzZWROb2RlOiBJZ3hUcmVlTm9kZTxhbnk+ID0gbnVsbDtcbiAgICBwcml2YXRlIF9sYXN0Rm9jdXNlZE5vZGU6IElneFRyZWVOb2RlPGFueT4gPSBudWxsO1xuICAgIHByaXZhdGUgX2FjdGl2ZU5vZGU6IElneFRyZWVOb2RlPGFueT4gPSBudWxsO1xuXG4gICAgcHJpdmF0ZSBfdmlzaWJsZUNoaWxkcmVuOiBJZ3hUcmVlTm9kZTxhbnk+W10gPSBbXTtcbiAgICBwcml2YXRlIF9pbnZpc2libGVDaGlsZHJlbjogU2V0PElneFRyZWVOb2RlPGFueT4+ID0gbmV3IFNldCgpO1xuICAgIHByaXZhdGUgX2Rpc2FibGVkQ2hpbGRyZW46IFNldDxJZ3hUcmVlTm9kZTxhbnk+PiA9IG5ldyBTZXQoKTtcblxuICAgIHByaXZhdGUgX2NhY2hlQ2hhbmdlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJlZVNlcnZpY2U6IElneFRyZWVTZXJ2aWNlLCBwcml2YXRlIHNlbGVjdGlvblNlcnZpY2U6IElneFRyZWVTZWxlY3Rpb25TZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuX2NhY2hlQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl92aXNpYmxlQ2hpbGRyZW4gPVxuICAgICAgICAgICAgICAgIHRoaXMudHJlZT8ubm9kZXMgP1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyZWUubm9kZXMuZmlsdGVyKGUgPT4gISh0aGlzLl9pbnZpc2libGVDaGlsZHJlbi5oYXMoZSkgfHwgdGhpcy5fZGlzYWJsZWRDaGlsZHJlbi5oYXMoZSkpKSA6XG4gICAgICAgICAgICAgICAgICAgIFtdO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXIodHJlZTogSWd4VHJlZSkge1xuICAgICAgICB0aGlzLnRyZWUgPSB0cmVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZm9jdXNlZE5vZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb2N1c2VkTm9kZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGZvY3VzZWROb2RlKHZhbHVlOiBJZ3hUcmVlTm9kZTxhbnk+KSB7XG4gICAgICAgIGlmICh0aGlzLl9mb2N1c2VkTm9kZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9sYXN0Rm9jdXNlZE5vZGUgPSB0aGlzLl9mb2N1c2VkTm9kZTtcbiAgICAgICAgaWYgKHRoaXMuX2xhc3RGb2N1c2VkTm9kZSkge1xuICAgICAgICAgICAgdGhpcy5fbGFzdEZvY3VzZWROb2RlLnRhYkluZGV4ID0gLTE7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZm9jdXNlZE5vZGUgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX2ZvY3VzZWROb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c2VkTm9kZS50YWJJbmRleCA9IDA7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c2VkTm9kZS5oZWFkZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhY3RpdmVOb2RlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlTm9kZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGFjdGl2ZU5vZGUodmFsdWU6IElneFRyZWVOb2RlPGFueT4pIHtcbiAgICAgICAgaWYgKHRoaXMuX2FjdGl2ZU5vZGUgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYWN0aXZlTm9kZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnRyZWUuYWN0aXZlTm9kZUNoYW5nZWQuZW1pdCh0aGlzLl9hY3RpdmVOb2RlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHZpc2libGVDaGlsZHJlbigpOiBJZ3hUcmVlTm9kZTxhbnk+W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZUNoaWxkcmVuO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVfZGlzYWJsZWRfY2FjaGUobm9kZTogSWd4VHJlZU5vZGU8YW55Pik6IHZvaWQge1xuICAgICAgICBpZiAobm9kZS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWRDaGlsZHJlbi5hZGQobm9kZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9kaXNhYmxlZENoaWxkcmVuLmRlbGV0ZShub2RlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jYWNoZUNoYW5nZS5uZXh0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGluaXRfaW52aXNpYmxlX2NhY2hlKCkge1xuICAgICAgICB0aGlzLnRyZWUubm9kZXMuZmlsdGVyKGUgPT4gZS5sZXZlbCA9PT0gMCkuZm9yRWFjaChub2RlID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlX3Zpc2libGVfY2FjaGUobm9kZSwgbm9kZS5leHBhbmRlZCwgZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fY2FjaGVDaGFuZ2UubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVfdmlzaWJsZV9jYWNoZShub2RlOiBJZ3hUcmVlTm9kZTxhbnk+LCBleHBhbmRlZDogYm9vbGVhbiwgc2hvdWxkRW1pdCA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV4cGFuZGVkKSB7XG4gICAgICAgICAgICBub2RlLl9jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9pbnZpc2libGVDaGlsZHJlbi5kZWxldGUoY2hpbGQpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlX3Zpc2libGVfY2FjaGUoY2hpbGQsIGNoaWxkLmV4cGFuZGVkLCBmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5vZGUuYWxsQ2hpbGRyZW4uZm9yRWFjaChjID0+IHRoaXMuX2ludmlzaWJsZUNoaWxkcmVuLmFkZChjKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2hvdWxkRW1pdCkge1xuICAgICAgICAgICAgdGhpcy5fY2FjaGVDaGFuZ2UubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgbm9kZSBhcyBmb2N1c2VkIChhbmQgYWN0aXZlKVxuICAgICAqXG4gICAgICogQHBhcmFtIG5vZGUgdGFyZ2V0IG5vZGVcbiAgICAgKiBAcGFyYW0gaXNBY3RpdmUgaWYgdHJ1ZSwgc2V0cyB0aGUgbm9kZSBhcyBhY3RpdmVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0Rm9jdXNlZEFuZEFjdGl2ZU5vZGUobm9kZTogSWd4VHJlZU5vZGU8YW55PiwgaXNBY3RpdmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmIChpc0FjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVOb2RlID0gbm9kZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvY3VzZWROb2RlID0gbm9kZTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3Iga2V5ZG93biBldmVudHMuIFVzZWQgaW4gdHJlZS5jb21wb25lbnQudHMgKi9cbiAgICBwdWJsaWMgaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKCF0aGlzLmZvY3VzZWROb2RlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCEoTkFWSUdBVElPTl9LRVlTLmhhcyhrZXkpIHx8IGtleSA9PT0gJyonKSkge1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gJ2VudGVyJykge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlTm9kZSA9IHRoaXMuZm9jdXNlZE5vZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgaWYgKGV2ZW50LnJlcGVhdCkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmhhbmRsZU5hdmlnYXRpb24oZXZlbnQpLCAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlTmF2aWdhdGlvbihldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX2NhY2hlQ2hhbmdlLm5leHQoKTtcbiAgICAgICAgdGhpcy5fY2FjaGVDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZU5hdmlnYXRpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICAgICAgY2FzZSAnaG9tZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRGb2N1c2VkQW5kQWN0aXZlTm9kZSh0aGlzLnZpc2libGVDaGlsZHJlblswXSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdlbmQnOlxuICAgICAgICAgICAgICAgIHRoaXMuc2V0Rm9jdXNlZEFuZEFjdGl2ZU5vZGUodGhpcy52aXNpYmxlQ2hpbGRyZW5bdGhpcy52aXNpYmxlQ2hpbGRyZW4ubGVuZ3RoIC0gMV0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnYXJyb3dsZWZ0JzpcbiAgICAgICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQXJyb3dMZWZ0KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdhcnJvd3JpZ2h0JzpcbiAgICAgICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUFycm93UmlnaHQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Fycm93dXAnOlxuICAgICAgICAgICAgY2FzZSAndXAnOlxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlVXBEb3duQXJyb3codHJ1ZSwgZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnYXJyb3dkb3duJzpcbiAgICAgICAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlVXBEb3duQXJyb3coZmFsc2UsIGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJyonOlxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQXN0ZXJpc2soKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJyAnOlxuICAgICAgICAgICAgY2FzZSAnc3BhY2ViYXInOlxuICAgICAgICAgICAgY2FzZSAnc3BhY2UnOlxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU3BhY2UoZXZlbnQuc2hpZnRLZXkpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUFycm93TGVmdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZE5vZGUuZXhwYW5kZWQgJiYgIXRoaXMudHJlZVNlcnZpY2UuY29sbGFwc2luZ05vZGVzLmhhcyh0aGlzLmZvY3VzZWROb2RlKSAmJiB0aGlzLmZvY3VzZWROb2RlLl9jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU5vZGUgPSB0aGlzLmZvY3VzZWROb2RlO1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkTm9kZS5jb2xsYXBzZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IHRoaXMuZm9jdXNlZE5vZGUucGFyZW50Tm9kZTtcbiAgICAgICAgICAgIGlmIChwYXJlbnROb2RlICYmICFwYXJlbnROb2RlLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRGb2N1c2VkQW5kQWN0aXZlTm9kZShwYXJlbnROb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQXJyb3dSaWdodCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZE5vZGUuX2NoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5mb2N1c2VkTm9kZS5leHBhbmRlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlTm9kZSA9IHRoaXMuZm9jdXNlZE5vZGU7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c2VkTm9kZS5leHBhbmQoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHJlZVNlcnZpY2UuY29sbGFwc2luZ05vZGVzLmhhcyh0aGlzLmZvY3VzZWROb2RlKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzZWROb2RlLmV4cGFuZCgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0Q2hpbGQgPSB0aGlzLmZvY3VzZWROb2RlLl9jaGlsZHJlbi5maW5kKG5vZGUgPT4gIW5vZGUuZGlzYWJsZWQpO1xuICAgICAgICAgICAgICAgIGlmIChmaXJzdENoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Rm9jdXNlZEFuZEFjdGl2ZU5vZGUoZmlyc3RDaGlsZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVVcERvd25BcnJvdyhpc1VwOiBib29sZWFuLCBldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXh0ID0gdGhpcy5nZXRWaXNpYmxlTm9kZSh0aGlzLmZvY3VzZWROb2RlLCBpc1VwID8gLTEgOiAxKTtcbiAgICAgICAgaWYgKG5leHQgPT09IHRoaXMuZm9jdXNlZE5vZGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudC5jdHJsS2V5KSB7XG4gICAgICAgICAgICB0aGlzLnNldEZvY3VzZWRBbmRBY3RpdmVOb2RlKG5leHQsIGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0Rm9jdXNlZEFuZEFjdGl2ZU5vZGUobmV4dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUFzdGVyaXNrKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBub2RlcyA9IHRoaXMuZm9jdXNlZE5vZGUucGFyZW50Tm9kZSA/IHRoaXMuZm9jdXNlZE5vZGUucGFyZW50Tm9kZS5fY2hpbGRyZW4gOiB0aGlzLnRyZWUucm9vdE5vZGVzO1xuICAgICAgICBub2Rlcz8uZm9yRWFjaChub2RlID0+IHtcbiAgICAgICAgICAgIGlmICghbm9kZS5kaXNhYmxlZCAmJiAoIW5vZGUuZXhwYW5kZWQgfHwgdGhpcy50cmVlU2VydmljZS5jb2xsYXBzaW5nTm9kZXMuaGFzKG5vZGUpKSkge1xuICAgICAgICAgICAgICAgIG5vZGUuZXhwYW5kKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlU3BhY2Uoc2hpZnRLZXkgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50cmVlLnNlbGVjdGlvbiA9PT0gSWd4VHJlZVNlbGVjdGlvblR5cGUuTm9uZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVOb2RlID0gdGhpcy5mb2N1c2VkTm9kZTtcbiAgICAgICAgaWYgKHNoaWZ0S2V5KSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvblNlcnZpY2Uuc2VsZWN0TXVsdGlwbGVOb2Rlcyh0aGlzLmZvY3VzZWROb2RlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWROb2RlLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvblNlcnZpY2UuZGVzZWxlY3ROb2RlKHRoaXMuZm9jdXNlZE5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25TZXJ2aWNlLnNlbGVjdE5vZGUodGhpcy5mb2N1c2VkTm9kZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogR2V0cyB0aGUgbmV4dCB2aXNpYmxlIG5vZGUgaW4gdGhlIGdpdmVuIGRpcmVjdGlvbiAtIDEgLT4gbmV4dCwgLTEgLT4gcHJldmlvdXMgKi9cbiAgICBwcml2YXRlIGdldFZpc2libGVOb2RlKG5vZGU6IElneFRyZWVOb2RlPGFueT4sIGRpcjogMSB8IC0xID0gMSk6IElneFRyZWVOb2RlPGFueT4ge1xuICAgICAgICBjb25zdCBub2RlSW5kZXggPSB0aGlzLnZpc2libGVDaGlsZHJlbi5pbmRleE9mKG5vZGUpO1xuICAgICAgICByZXR1cm4gdGhpcy52aXNpYmxlQ2hpbGRyZW5bbm9kZUluZGV4ICsgZGlyXSB8fCBub2RlO1xuICAgIH1cbn1cbiJdfQ==
@@ -84,9 +84,9 @@ export class IgxTreeNodeLinkDirective {
84
84
  this.target.removeLinkChild(this);
85
85
  }
86
86
  }
87
- IgxTreeNodeLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeNodeLinkDirective, deps: [{ token: IGX_TREE_NODE_COMPONENT, optional: true }, { token: i1.IgxTreeNavigationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
88
- IgxTreeNodeLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-rc.2", type: IgxTreeNodeLinkDirective, selector: "[igxTreeNodeLink]", inputs: { parentNode: ["igxTreeNodeLink", "parentNode"] }, host: { listeners: { "blur": "handleBlur()", "focus": "handleFocus()" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabIndex" } }, ngImport: i0 });
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeNodeLinkDirective, decorators: [{
87
+ IgxTreeNodeLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeNodeLinkDirective, deps: [{ token: IGX_TREE_NODE_COMPONENT, optional: true }, { token: i1.IgxTreeNavigationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
88
+ IgxTreeNodeLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: IgxTreeNodeLinkDirective, selector: "[igxTreeNodeLink]", inputs: { parentNode: ["igxTreeNodeLink", "parentNode"] }, host: { listeners: { "blur": "handleBlur()", "focus": "handleFocus()" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabIndex" } }, ngImport: i0 });
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeNodeLinkDirective, decorators: [{
90
90
  type: Directive,
91
91
  args: [{
92
92
  selector: `[igxTreeNodeLink]`
@@ -577,11 +577,11 @@ export class IgxTreeNodeComponent extends ToggleAnimationPlayer {
577
577
  }
578
578
  }
579
579
  }
580
- IgxTreeNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeNodeComponent, deps: [{ token: IGX_TREE_COMPONENT }, { token: i2.IgxTreeSelectionService }, { token: i3.IgxTreeService }, { token: i1.IgxTreeNavigationService }, { token: i0.ChangeDetectorRef }, { token: i4.AnimationBuilder }, { token: i0.ElementRef }, { token: IGX_TREE_NODE_COMPONENT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
581
- IgxTreeNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-rc.2", type: IgxTreeNodeComponent, selector: "igx-tree-node", inputs: { data: "data", loading: "loading", resourceStrings: "resourceStrings", active: "active", disabled: "disabled", selected: "selected", expanded: "expanded" }, outputs: { selectedChange: "selectedChange", expandedChange: "expandedChange" }, host: { properties: { "class.igx-tree-node--disabled": "this.disabled", "class.igx-tree-node": "this.cssClass", "attr.role": "this.role" } }, providers: [
580
+ IgxTreeNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeNodeComponent, deps: [{ token: IGX_TREE_COMPONENT }, { token: i2.IgxTreeSelectionService }, { token: i3.IgxTreeService }, { token: i1.IgxTreeNavigationService }, { token: i0.ChangeDetectorRef }, { token: i4.AnimationBuilder }, { token: i0.ElementRef }, { token: IGX_TREE_NODE_COMPONENT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
581
+ IgxTreeNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: IgxTreeNodeComponent, selector: "igx-tree-node", inputs: { data: "data", loading: "loading", resourceStrings: "resourceStrings", active: "active", disabled: "disabled", selected: "selected", expanded: "expanded" }, outputs: { selectedChange: "selectedChange", expandedChange: "expandedChange" }, host: { properties: { "class.igx-tree-node--disabled": "this.disabled", "class.igx-tree-node": "this.cssClass", "attr.role": "this.role" } }, providers: [
582
582
  { provide: IGX_TREE_NODE_COMPONENT, useExisting: IgxTreeNodeComponent }
583
583
  ], queries: [{ propertyName: "linkChildren", predicate: IgxTreeNodeLinkDirective, read: ElementRef }, { propertyName: "_children", predicate: IGX_TREE_NODE_COMPONENT, read: IGX_TREE_NODE_COMPONENT }, { propertyName: "allChildren", predicate: IGX_TREE_NODE_COMPONENT, descendants: true, read: IGX_TREE_NODE_COMPONENT }], viewQueries: [{ propertyName: "header", first: true, predicate: ["ghostTemplate"], descendants: true, read: ElementRef }, { propertyName: "_defaultExpandIndicatorTemplate", first: true, predicate: ["defaultIndicator"], descendants: true, read: TemplateRef, static: true }, { propertyName: "childrenContainer", first: true, predicate: ["childrenContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #noDragTemplate>\n <ng-template *ngTemplateOutlet=\"headerTemplate\"></ng-template>\n</ng-template>\n\n<!-- Will switch templates depending on dragDrop -->\n<ng-template *ngTemplateOutlet=\"noDragTemplate\">\n</ng-template>\n\n<div #childrenContainer\n *ngIf=\"expanded && !loading\"\n class=\"igx-tree-node__group\"\n role=\"group\"\n>\n <ng-content select=\"igx-tree-node\"></ng-content>\n</div>\n\n\n<ng-template #defaultIndicator>\n <igx-icon [attr.aria-label]=\"expanded ? resourceStrings.igx_collapse : resourceStrings.igx_expand\">\n {{ expanded ? \"keyboard_arrow_down\" : \"keyboard_arrow_right\" }}\n </igx-icon>\n</ng-template>\n\n<!-- separated in a template in case this ever needs to be templatable -->\n<ng-template #selectMarkerTemplate>\n <igx-checkbox [checked]=\"selected\" [readonly]=\"true\" [indeterminate]=\"indeterminate\" [tabindex]=\"-1\">\n </igx-checkbox>\n</ng-template>\n\n<ng-template #headerTemplate>\n <div #ghostTemplate class=\"igx-tree-node__wrapper\"\n [attr.role]=\"role\"\n [tabIndex]=\"tabIndex\"\n [ngClass]=\"{\n 'igx-tree-node__wrapper--cosy': isCosy,\n 'igx-tree-node__wrapper--compact': isCompact,\n 'igx-tree-node__wrapper--selected': selected,\n 'igx-tree-node__wrapper--active' : this.active,\n 'igx-tree-node__wrapper--focused' : this.focused,\n 'igx-tree-node__wrapper--disabled' : this.disabled\n }\"\n (pointerdown)=\"onPointerDown($event)\"\n (focus)=\"handleFocus()\"\n (blur)=\"clearFocus()\"\n >\n <div aria-hidden=\"true\">\n <span *ngFor=\"let item of [].constructor(level)\"\n aria-hidden=\"true\"\n class=\"igx-tree-node__spacer\"\n ></span>\n </div>\n\n <!-- Expand/Collapse indicator -->\n <span *ngIf=\"!loading\"\n class=\"igx-tree-node__toggle-button\"\n [ngClass]=\"{ 'igx-tree-node__toggle-button--hidden': !_children?.length }\"\n (click)=\"indicatorClick()\"\n >\n <ng-container *ngTemplateOutlet=\"expandIndicatorTemplate, context: { $implicit: expanded }\">\n </ng-container>\n </span>\n <span *ngIf=\"loading\"\n class=\"igx-tree-node__toggle-button\"\n >\n \t<igx-circular-bar\n \t[animate]=\"false\"\n \t[indeterminate]=\"true\"\n \t[textVisibility]=\"false\"\n \t>\n \t</igx-circular-bar>\n </span>\n\n <!-- Item selection -->\n <div *ngIf=\"showSelectors\"\n class=\"igx-tree-node__select\"\n (pointerdown)=\"$event.preventDefault()\"\n (click)=\"onSelectorClick($event)\">\n <ng-container *ngTemplateOutlet=\"selectMarkerTemplate\">\n </ng-container>\n </div>\n\n <div class=\"igx-tree-node__content\">\n <!-- Ghost content -->\n <ng-content></ng-content>\n </div>\n </div>\n\n <!-- Buffer element for 'move after' when D&D is implemented-->\n <div class=\"igx-tree-node__drop-indicator\">\n <span aria-hidden=\"true\" class=\"igx-tree-node__spacer\" *ngFor=\"let item of [].constructor(level)\"></span>\n <!-- style rules target this div, do not delete it -->\n <div></div>\n </div>\n</ng-template>\n\n<ng-template #dragTemplate>\n <!-- Drag drop goes here\n igxDrop\n #dropRef=\"drop\"\n [igxNodeDrag]=\"this\"\n (dragStart)=\"logDrop(dropRef)\"\n (leave)=\"emitLeave()\"\n (enter)=\"emitEnter()\" -->\n <div class=\"igx-tree-node__drag-wrapper\">\n <ng-template *ngTemplateOutlet=\"headerTemplate\"></ng-template>\n </div>\n</ng-template>\n", components: [{ type: i5.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { type: i6.IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["id", "labelId", "value", "name", "tabindex", "labelPosition", "disableRipple", "required", "aria-labelledby", "aria-label", "indeterminate", "checked", "disabled", "readonly", "disableTransitions"], outputs: ["change"] }, { type: i7.IgxCircularProgressBarComponent, selector: "igx-circular-bar", inputs: ["id", "indeterminate", "textVisibility", "text", "value"] }], directives: [{ type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
584
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeNodeComponent, decorators: [{
584
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeNodeComponent, decorators: [{
585
585
  type: Component,
586
586
  args: [{ selector: 'igx-tree-node', providers: [
587
587
  { provide: IGX_TREE_NODE_COMPONENT, useExisting: IgxTreeNodeComponent }
@@ -309,9 +309,9 @@ export class IgxTreeSelectionService {
309
309
  });
310
310
  }
311
311
  }
312
- IgxTreeSelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeSelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
313
- IgxTreeSelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeSelectionService });
314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeSelectionService, decorators: [{
312
+ IgxTreeSelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeSelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
313
+ IgxTreeSelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeSelectionService });
314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeSelectionService, decorators: [{
315
315
  type: Injectable
316
316
  }] });
317
317
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1zZWxlY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi90cmVlL3RyZWUtc2VsZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXdCLG9CQUFvQixFQUEyQixNQUFNLFVBQVUsQ0FBQzs7QUFNOUYsQ0FBQztBQUVGLHdCQUF3QjtBQUV4QixNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBR1ksa0JBQWEsR0FBMEIsSUFBSSxHQUFHLEVBQW9CLENBQUM7UUFDbkUsdUJBQWtCLEdBQTBCLElBQUksR0FBRyxFQUFvQixDQUFDO0tBMlZuRjtJQXRWVSxRQUFRLENBQUMsSUFBYTtRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsMEVBQTBFO0lBQ25FLG1CQUFtQixDQUFDLElBQXNCLEVBQUUsS0FBYTtRQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QixPQUFPO1NBQ1Y7UUFDRCxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RILE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJ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QUF1Qjs2SEFBdkIsdUJBQXVCO2dHQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hUcmVlLCBJZ3hUcmVlTm9kZSwgSWd4VHJlZVNlbGVjdGlvblR5cGUsIElUcmVlTm9kZVNlbGVjdGlvbkV2ZW50IH0gZnJvbSAnLi9jb21tb24nO1xuXG4vKiogQSBjb2xsZWN0aW9uIGNvbnRhaW5pbmcgdGhlIG5vZGVzIGFmZmVjdGVkIGluIHRoZSBzZWxlY3Rpb24gYXMgd2VsbCBhcyB0aGVpciBkaXJlY3QgcGFyZW50cyAqL1xuaW50ZXJmYWNlIENhc2NhZGVTZWxlY3Rpb25Ob2RlQ29sbGVjdGlvbiB7XG4gICAgbm9kZXM6IFNldDxJZ3hUcmVlTm9kZTxhbnk+PjtcbiAgICBwYXJlbnRzOiBTZXQ8SWd4VHJlZU5vZGU8YW55Pj47XG59O1xuXG4vKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJZ3hUcmVlU2VsZWN0aW9uU2VydmljZSB7XG4gICAgcHJpdmF0ZSB0cmVlOiBJZ3hUcmVlO1xuICAgIHByaXZhdGUgbm9kZVNlbGVjdGlvbjogU2V0PElneFRyZWVOb2RlPGFueT4+ID0gbmV3IFNldDxJZ3hUcmVlTm9kZTxhbnk+PigpO1xuICAgIHByaXZhdGUgaW5kZXRlcm1pbmF0ZU5vZGVzOiBTZXQ8SWd4VHJlZU5vZGU8YW55Pj4gPSBuZXcgU2V0PElneFRyZWVOb2RlPGFueT4+KCk7XG5cbiAgICBwcml2YXRlIG5vZGVzVG9CZVNlbGVjdGVkOiBTZXQ8SWd4VHJlZU5vZGU8YW55Pj47XG4gICAgcHJpdmF0ZSBub2Rlc1RvQmVJbmRldGVybWluYXRlOiBTZXQ8SWd4VHJlZU5vZGU8YW55Pj47XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXIodHJlZTogSWd4VHJlZSkge1xuICAgICAgICB0aGlzLnRyZWUgPSB0cmVlO1xuICAgIH1cblxuICAgIC8qKiBTZWxlY3QgcmFuZ2UgZnJvbSBsYXN0IHNlbGVjdGVkIG5vZGUgdG8gdGhlIGN1cnJlbnQgc3BlY2lmaWVkIG5vZGUuICovXG4gICAgcHVibGljIHNlbGVjdE11bHRpcGxlTm9kZXMobm9kZTogSWd4VHJlZU5vZGU8YW55PiwgZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubm9kZVNlbGVjdGlvbi5zaXplKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdE5vZGUobm9kZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGFzdFNlbGVjdGVkTm9kZUluZGV4ID0gdGhpcy50cmVlLm5vZGVzLnRvQXJyYXkoKS5pbmRleE9mKHRoaXMuZ2V0U2VsZWN0ZWROb2RlcygpW3RoaXMubm9kZVNlbGVjdGlvbi5zaXplIC0gMV0pO1xuICAgICAgICBjb25zdCBjdXJyZW50Tm9kZUluZGV4ID0gdGhpcy50cmVlLm5vZGVzLnRvQXJyYXkoKS5pbmRleE9mKG5vZGUpO1xuICAgICAgICBjb25zdCBub2RlcyA9IHRoaXMudHJlZS5ub2Rlcy50b0FycmF5KCkuc2xpY2UoTWF0aC5taW4oY3VycmVudE5vZGVJbmRleCwgbGFzdFNlbGVjdGVkTm9kZUluZGV4KSxcbiAgICAgICAgICAgIE1hdGgubWF4KGN1cnJlbnROb2RlSW5kZXgsIGxhc3RTZWxlY3RlZE5vZGVJbmRleCkgKyAxKTtcblxuICAgICAgICBjb25zdCBhZGRlZCA9IG5vZGVzLmZpbHRlcihfbm9kZSA9PiAhdGhpcy5pc05vZGVTZWxlY3RlZChfbm9kZSkpO1xuICAgICAgICBjb25zdCBuZXdTZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGVkTm9kZXMoKS5jb25jYXQoYWRkZWQpO1xuICAgICAgICB0aGlzLmVtaXROb2RlU2VsZWN0aW9uRXZlbnQobmV3U2VsZWN0aW9uLCBhZGRlZCwgW10sIGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKiogU2VsZWN0IHRoZSBzcGVjaWZpZWQgbm9kZSBhbmQgZW1pdCBldmVudC4gKi9cbiAgICBwdWJsaWMgc2VsZWN0Tm9kZShub2RlOiBJZ3hUcmVlTm9kZTxhbnk+LCBldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRyZWUuc2VsZWN0aW9uID09PSBJZ3hUcmVlU2VsZWN0aW9uVHlwZS5Ob25lKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbWl0Tm9kZVNlbGVjdGlvbkV2ZW50KFsuLi50aGlzLmdldFNlbGVjdGVkTm9kZXMoKSwgbm9kZV0sIFtub2RlXSwgW10sIGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKiogRGVzZWxlY3QgdGhlIHNwZWNpZmllZCBub2RlIGFuZCBlbWl0IGV2ZW50LiAqL1xuICAgIHB1YmxpYyBkZXNlbGVjdE5vZGUobm9kZTogSWd4VHJlZU5vZGU8YW55PiwgZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXdTZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGVkTm9kZXMoKS5maWx0ZXIociA9PiByICE9PSBub2RlKTtcbiAgICAgICAgdGhpcy5lbWl0Tm9kZVNlbGVjdGlvbkV2ZW50KG5ld1NlbGVjdGlvbiwgW10sIFtub2RlXSwgZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBDbGVhcnMgbm9kZSBzZWxlY3Rpb24gKi9cbiAgICBwdWJsaWMgY2xlYXJOb2Rlc1NlbGVjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ub2RlU2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZU5vZGVzLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzTm9kZVNlbGVjdGVkKG5vZGU6IElneFRyZWVOb2RlPGFueT4pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZVNlbGVjdGlvbi5oYXMobm9kZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzTm9kZUluZGV0ZXJtaW5hdGUobm9kZTogSWd4VHJlZU5vZGU8YW55Pik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRldGVybWluYXRlTm9kZXMuaGFzKG5vZGUpO1xuICAgIH1cblxuICAgIC8qKiBTZWxlY3Qgc3BlY2lmaWVkIG5vZGVzLiBObyBldmVudCBpcyBlbWl0dGVkLiAqL1xuICAgIHB1YmxpYyBzZWxlY3ROb2Rlc1dpdGhOb0V2ZW50KG5vZGVzOiBJZ3hUcmVlTm9kZTxhbnk+W10sIGNsZWFyUHJldlNlbGVjdGlvbiA9IGZhbHNlLCBzaG91bGRFbWl0ID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50cmVlICYmIHRoaXMudHJlZS5zZWxlY3Rpb24gPT09IElneFRyZWVTZWxlY3Rpb25UeXBlLkNhc2NhZGluZykge1xuICAgICAgICAgICAgdGhpcy5jYXNjYWRlU2VsZWN0Tm9kZXNXaXRoTm9FdmVudChub2RlcywgY2xlYXJQcmV2U2VsZWN0aW9uKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9sZFNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0ZWROb2RlcygpO1xuXG4gICAgICAgIGlmIChjbGVhclByZXZTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMubm9kZVNlbGVjdGlvbi5jbGVhcigpO1xuICAgICAgICB9XG4gICAgICAgIG5vZGVzLmZvckVhY2gobm9kZSA9PiB0aGlzLm5vZGVTZWxlY3Rpb24uYWRkKG5vZGUpKTtcblxuICAgICAgICBpZiAoc2hvdWxkRW1pdCkge1xuICAgICAgICAgICAgdGhpcy5lbWl0U2VsZWN0ZWRDaGFuZ2VFdmVudChvbGRTZWxlY3Rpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIERlc2VsZWN0IHNwZWNpZmllZCBub2Rlcy4gTm8gZXZlbnQgaXMgZW1pdHRlZC4gKi9cbiAgICBwdWJsaWMgZGVzZWxlY3ROb2Rlc1dpdGhOb0V2ZW50KG5vZGVzPzogSWd4VHJlZU5vZGU8YW55PltdLCBzaG91bGRFbWl0ID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBvbGRTZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGVkTm9kZXMoKTtcblxuICAgICAgICBpZiAoIW5vZGVzKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVTZWxlY3Rpb24uY2xlYXIoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRyZWUgJiYgdGhpcy50cmVlLnNlbGVjdGlvbiA9PT0gSWd4VHJlZVNlbGVjdGlvblR5cGUuQ2FzY2FkaW5nKSB7XG4gICAgICAgICAgICB0aGlzLmNhc2NhZGVEZXNlbGVjdE5vZGVzV2l0aE5vRXZlbnQobm9kZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbm9kZXMuZm9yRWFjaChub2RlID0+IHRoaXMubm9kZVNlbGVjdGlvbi5kZWxldGUobm9kZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNob3VsZEVtaXQpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdFNlbGVjdGVkQ2hhbmdlRXZlbnQob2xkU2VsZWN0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDYWxsZWQgb24gYG5vZGUubmdPbkRlc3Ryb3lgIHRvIGVuc3VyZSBzdGF0ZSBpcyBjb3JyZWN0IGFmdGVyIG5vZGUgaXMgcmVtb3ZlZCAqL1xuICAgIHB1YmxpYyBlbnN1cmVTdGF0ZU9uTm9kZURlbGV0ZShub2RlOiBJZ3hUcmVlTm9kZTxhbnk+KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRyZWU/LnNlbGVjdGlvbiAhPT0gSWd4VHJlZVNlbGVjdGlvblR5cGUuQ2FzY2FkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzTm9kZVNlbGVjdGVkKG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgLy8gbm9kZSBpcyBkZXN0cm95ZWQsIGRvIG5vdCBlbWl0IGV2ZW50XG4gICAgICAgICAgICAgICAgdGhpcy5kZXNlbGVjdE5vZGVzV2l0aE5vRXZlbnQoW25vZGVdLCBmYWxzZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICghbm9kZS5wYXJlbnROb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgYXNzaXRhbnRMZWFmTm9kZSA9IG5vZGUucGFyZW50Tm9kZT8uYWxsQ2hpbGRyZW4uZmluZChlID0+ICFlLl9jaGlsZHJlbj8ubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICBpZiAoIWFzc2l0YW50TGVhZk5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnJldHJpZ2dlck5vZGVTdGF0ZShhc3NpdGFudExlYWZOb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHJpZ2dlcnMgYSBub2RlJ3Mgc2VsZWN0aW9uIHN0YXRlICovXG4gICAgcHJpdmF0ZSByZXRyaWdnZXJOb2RlU3RhdGUobm9kZTogSWd4VHJlZU5vZGU8YW55Pik6IHZvaWQge1xuICAgICAgICBpZiAobm9kZS5zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5ub2RlU2VsZWN0aW9uLmRlbGV0ZShub2RlKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Tm9kZXNXaXRoTm9FdmVudChbbm9kZV0sIGZhbHNlLCBmYWxzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVTZWxlY3Rpb24uYWRkKG5vZGUpO1xuICAgICAgICAgICAgdGhpcy5kZXNlbGVjdE5vZGVzV2l0aE5vRXZlbnQoW25vZGVdLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBhcnJheSBvZiB0aGUgc2VsZWN0ZWQgbm9kZXMuICovXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RlZE5vZGVzKCk6IElneFRyZWVOb2RlPGFueT5bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVTZWxlY3Rpb24uc2l6ZSA/IEFycmF5LmZyb20odGhpcy5ub2RlU2VsZWN0aW9uKSA6IFtdO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIGFycmF5IG9mIHRoZSBub2RlcyBpbiBpbmRldGVybWluYXRlIHN0YXRlLiAqL1xuICAgIHByaXZhdGUgZ2V0SW5kZXRlcm1pbmF0ZU5vZGVzKCk6IElneFRyZWVOb2RlPGFueT5bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmluZGV0ZXJtaW5hdGVOb2Rlcy5zaXplID8gQXJyYXkuZnJvbSh0aGlzLmluZGV0ZXJtaW5hdGVOb2RlcykgOiBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGVtaXROb2RlU2VsZWN0aW9uRXZlbnQoXG4gICAgICAgIG5ld1NlbGVjdGlvbjogSWd4VHJlZU5vZGU8YW55PltdLCBhZGRlZDogSWd4VHJlZU5vZGU8YW55PltdLCByZW1vdmVkOiBJZ3hUcmVlTm9kZTxhbnk+W10sIGV2ZW50OiBFdmVudFxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy50cmVlLnNlbGVjdGlvbiA9PT0gSWd4VHJlZVNlbGVjdGlvblR5cGUuQ2FzY2FkaW5nKSB7XG4gICAgICAgICAgICB0aGlzLmVtaXRDYXNjYWRlTm9kZVNlbGVjdGlvbkV2ZW50KG5ld1NlbGVjdGlvbiwgYWRkZWQsIHJlbW92ZWQsIGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXJyU2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3RlZE5vZGVzKCk7XG4gICAgICAgIGlmICh0aGlzLmFyZUVxdWFsQ29sbGVjdGlvbnMoY3VyclNlbGVjdGlvbiwgbmV3U2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXJnczogSVRyZWVOb2RlU2VsZWN0aW9uRXZlbnQgPSB7XG4gICAgICAgICAgICBvbGRTZWxlY3Rpb246IGN1cnJTZWxlY3Rpb24sIG5ld1NlbGVjdGlvbixcbiAgICAgICAgICAgIGFkZGVkLCByZW1vdmVkLCBldmVudCwgY2FuY2VsOiBmYWxzZSwgb3duZXI6IHRoaXMudHJlZVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnRyZWUubm9kZVNlbGVjdGlvbi5lbWl0KGFyZ3MpO1xuICAgICAgICBpZiAoYXJncy5jYW5jZWwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlbGVjdE5vZGVzV2l0aE5vRXZlbnQoYXJncy5uZXdTZWxlY3Rpb24sIHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXJlRXF1YWxDb2xsZWN0aW9ucyhmaXJzdDogSWd4VHJlZU5vZGU8YW55PltdLCBzZWNvbmQ6IElneFRyZWVOb2RlPGFueT5bXSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmlyc3QubGVuZ3RoID09PSBzZWNvbmQubGVuZ3RoICYmIG5ldyBTZXQoZmlyc3QuY29uY2F0KHNlY29uZCkpLnNpemUgPT09IGZpcnN0Lmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhc2NhZGVTZWxlY3ROb2Rlc1dpdGhOb0V2ZW50KG5vZGVzPzogSWd4VHJlZU5vZGU8YW55PltdLCBjbGVhclByZXZTZWxlY3Rpb24gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBvbGRTZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGVkTm9kZXMoKTtcblxuICAgICAgICBpZiAoY2xlYXJQcmV2U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGVOb2Rlcy5jbGVhcigpO1xuICAgICAgICAgICAgdGhpcy5ub2RlU2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZU5vZGVzTmV3U2VsZWN0aW9uU3RhdGUoeyBhZGRlZDogbm9kZXMsIHJlbW92ZWQ6IFtdIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbmV3U2VsZWN0aW9uID0gWy4uLm9sZFNlbGVjdGlvbiwgLi4ubm9kZXNdO1xuICAgICAgICAgICAgY29uc3QgYXJnczogUGFydGlhbDxJVHJlZU5vZGVTZWxlY3Rpb25FdmVudD4gPSB7IG9sZFNlbGVjdGlvbiwgbmV3U2VsZWN0aW9uIH07XG5cbiAgICAgICAgICAgIC8vIHJldHJpZXZlIG9ubHkgdGhlIHJvd3Mgd2l0aG91dCB0aGVpciBwYXJlbnRzL2NoaWxkcmVuIHdoaWNoIGhhcyB0byBiZSBhZGRlZCB0byB0aGUgc2VsZWN0aW9uXG4gICAgICAgICAgICB0aGlzLnBvcHVsYXRlQWRkUmVtb3ZlQXJncyhhcmdzKTtcblxuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVOb2Rlc05ld1NlbGVjdGlvblN0YXRlKGFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubm9kZVNlbGVjdGlvbiA9IG5ldyBTZXQodGhpcy5ub2Rlc1RvQmVTZWxlY3RlZCk7XG4gICAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZU5vZGVzID0gbmV3IFNldCh0aGlzLm5vZGVzVG9CZUluZGV0ZXJtaW5hdGUpO1xuXG4gICAgICAgIHRoaXMuZW1pdFNlbGVjdGVkQ2hhbmdlRXZlbnQob2xkU2VsZWN0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhc2NhZGVEZXNlbGVjdE5vZGVzV2l0aE5vRXZlbnQobm9kZXM6IElneFRyZWVOb2RlPGFueT5bXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBhcmdzID0geyBhZGRlZDogW10sIHJlbW92ZWQ6IG5vZGVzIH07XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlTm9kZXNOZXdTZWxlY3Rpb25TdGF0ZShhcmdzKTtcblxuICAgICAgICB0aGlzLm5vZGVTZWxlY3Rpb24gPSBuZXcgU2V0PElneFRyZWVOb2RlPGFueT4+KHRoaXMubm9kZXNUb0JlU2VsZWN0ZWQpO1xuICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGVOb2RlcyA9IG5ldyBTZXQ8SWd4VHJlZU5vZGU8YW55Pj4odGhpcy5ub2Rlc1RvQmVJbmRldGVybWluYXRlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBwb3B1bGF0ZXMgdGhlIG5vZGVzVG9CZVNlbGVjdGVkIGFuZCBub2Rlc1RvQmVJbmRldGVybWluYXRlIHNldHNcbiAgICAgKiB3aXRoIHRoZSBub2RlcyB3aGljaCB3aWxsIGJlIGV2ZW50dWFsbHkgaW4gc2VsZWN0ZWQvaW5kZXRlcm1pbmF0ZSBzdGF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgY2FsY3VsYXRlTm9kZXNOZXdTZWxlY3Rpb25TdGF0ZShhcmdzOiBQYXJ0aWFsPElUcmVlTm9kZVNlbGVjdGlvbkV2ZW50Pik6IHZvaWQge1xuICAgICAgICB0aGlzLm5vZGVzVG9CZVNlbGVjdGVkID0gbmV3IFNldDxJZ3hUcmVlTm9kZTxhbnk+PihhcmdzLm9sZFNlbGVjdGlvbiA/IGFyZ3Mub2xkU2VsZWN0aW9uIDogdGhpcy5nZXRTZWxlY3RlZE5vZGVzKCkpO1xuICAgICAgICB0aGlzLm5vZGVzVG9CZUluZGV0ZXJtaW5hdGUgPSBuZXcgU2V0PElneFRyZWVOb2RlPGFueT4+KHRoaXMuZ2V0SW5kZXRlcm1pbmF0ZU5vZGVzKCkpO1xuXG4gICAgICAgIHRoaXMuY2FzY2FkZVNlbGVjdGlvblN0YXRlKGFyZ3MucmVtb3ZlZCwgZmFsc2UpO1xuICAgICAgICB0aGlzLmNhc2NhZGVTZWxlY3Rpb25TdGF0ZShhcmdzLmFkZGVkLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvKiogRW5zdXJlcyBwcm9wZXIgc2VsZWN0aW9uIHN0YXRlIGZvciBhbGwgcHJlZGVzY2Vzc29ycyBhbmQgZGVzY2VuZGFudHMgZHVyaW5nIGEgc2VsZWN0aW9uIGV2ZW50ICovXG4gICAgcHJpdmF0ZSBjYXNjYWRlU2VsZWN0aW9uU3RhdGUobm9kZXM6IElneFRyZWVOb2RlPGFueT5bXSwgc2VsZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFub2RlcyB8fCBub2Rlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub2RlcyAmJiBub2Rlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlQ29sbGVjdGlvbjogQ2FzY2FkZVNlbGVjdGlvbk5vZGVDb2xsZWN0aW9uID0gdGhpcy5nZXRDYXNjYWRpbmdOb2RlQ29sbGVjdGlvbihub2Rlcyk7XG5cbiAgICAgICAgICAgIG5vZGVDb2xsZWN0aW9uLm5vZGVzLmZvckVhY2gobm9kZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZXNUb0JlU2VsZWN0ZWQuYWRkKG5vZGUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZXNUb0JlU2VsZWN0ZWQuZGVsZXRlKG5vZGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm5vZGVzVG9CZUluZGV0ZXJtaW5hdGUuZGVsZXRlKG5vZGUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIEFycmF5LmZyb20obm9kZUNvbGxlY3Rpb24ucGFyZW50cykuZm9yRWFjaCgocGFyZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVQYXJlbnRTZWxlY3Rpb25TdGF0ZShwYXJlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGVtaXRDYXNjYWRlTm9kZVNlbGVjdGlvbkV2ZW50KG5ld1NlbGVjdGlvbiwgYWRkZWQsIHJlbW92ZWQsIGV2ZW50Pyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBjdXJyU2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3RlZE5vZGVzKCk7XG4gICAgICAgIGlmICh0aGlzLmFyZUVxdWFsQ29sbGVjdGlvbnMoY3VyclNlbGVjdGlvbiwgbmV3U2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXJnczogSVRyZWVOb2RlU2VsZWN0aW9uRXZlbnQgPSB7XG4gICAgICAgICAgICBvbGRTZWxlY3Rpb246IGN1cnJTZWxlY3Rpb24sIG5ld1NlbGVjdGlvbixcbiAgICAgICAgICAgIGFkZGVkLCByZW1vdmVkLCBldmVudCwgY2FuY2VsOiBmYWxzZSwgb3duZXI6IHRoaXMudHJlZVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuY2FsY3VsYXRlTm9kZXNOZXdTZWxlY3Rpb25TdGF0ZShhcmdzKTtcblxuICAgICAgICBhcmdzLm5ld1NlbGVjdGlvbiA9IEFycmF5LmZyb20odGhpcy5ub2Rlc1RvQmVTZWxlY3RlZCk7XG5cbiAgICAgICAgLy8gcmV0cmlldmUgbm9kZXMvcGFyZW50cy9jaGlsZHJlbiB3aGljaCBoYXMgYmVlbiBhZGRlZC9yZW1vdmVkIGZyb20gdGhlIHNlbGVjdGlvblxuICAgICAgICB0aGlzLnBvcHVsYXRlQWRkUmVtb3ZlQXJncyhhcmdzKTtcblxuICAgICAgICB0aGlzLnRyZWUubm9kZVNlbGVjdGlvbi5lbWl0KGFyZ3MpO1xuXG4gICAgICAgIGlmIChhcmdzLmNhbmNlbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaWYgYXJncy5uZXdTZWxlY3Rpb24gaGFzbid0IGJlZW4gbW9kaWZpZWRcbiAgICAgICAgaWYgKHRoaXMuYXJlRXF1YWxDb2xsZWN0aW9ucyhBcnJheS5mcm9tKHRoaXMubm9kZXNUb0JlU2VsZWN0ZWQpLCBhcmdzLm5ld1NlbGVjdGlvbikpIHtcbiAgICAgICAgICAgIHRoaXMubm9kZVNlbGVjdGlvbiA9IG5ldyBTZXQ8SWd4VHJlZU5vZGU8YW55Pj4odGhpcy5ub2Rlc1RvQmVTZWxlY3RlZCk7XG4gICAgICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGVOb2RlcyA9IG5ldyBTZXQodGhpcy5ub2Rlc1RvQmVJbmRldGVybWluYXRlKTtcbiAgICAgICAgICAgIHRoaXMuZW1pdFNlbGVjdGVkQ2hhbmdlRXZlbnQoY3VyclNlbGVjdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBzZWxlY3QgdGhlIG5vZGVzIHdpdGhpbiB0aGUgbW9kaWZpZWQgYXJncy5uZXdTZWxlY3Rpb24gd2l0aCBubyBldmVudFxuICAgICAgICAgICAgdGhpcy5jYXNjYWRlU2VsZWN0Tm9kZXNXaXRoTm9FdmVudChhcmdzLm5ld1NlbGVjdGlvbiwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZWN1cnNpdmVseSBoYW5kbGUgdGhlIHNlbGVjdGlvbiBzdGF0ZSBvZiB0aGUgZGlyZWN0IGFuZCBpbmRpcmVjdCBwYXJlbnRzXG4gICAgICovXG4gICAgcHJpdmF0ZSBoYW5kbGVQYXJlbnRTZWxlY3Rpb25TdGF0ZShub2RlOiBJZ3hUcmVlTm9kZTxhbnk+KSB7XG4gICAgICAgIGlmICghbm9kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaGFuZGxlTm9kZVNlbGVjdGlvblN0YXRlKG5vZGUpO1xuICAgICAgICBpZiAobm9kZS5wYXJlbnROb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVBhcmVudFNlbGVjdGlvblN0YXRlKG5vZGUucGFyZW50Tm9kZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgdGhlIHNlbGVjdGlvbiBzdGF0ZSBvZiBhIGdpdmVuIG5vZGUgYmFzZWQgdGhlIHNlbGVjdGlvbiBzdGF0ZXMgb2YgaXRzIGRpcmVjdCBjaGlsZHJlblxuICAgICAqL1xuICAgIHByaXZhdGUgaGFuZGxlTm9kZVNlbGVjdGlvblN0YXRlKG5vZGU6IElneFRyZWVOb2RlPGFueT4pIHtcbiAgICAgICAgY29uc3Qgbm9kZXNBcnJheSA9IChub2RlICYmIG5vZGUuX2NoaWxkcmVuKSA/IG5vZGUuX2NoaWxkcmVuLnRvQXJyYXkoKSA6IFtdO1xuICAgICAgICBpZiAobm9kZXNBcnJheS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmIChub2Rlc0FycmF5LmV2ZXJ5KG4gPT4gdGhpcy5ub2Rlc1RvQmVTZWxlY3RlZC5oYXMobikpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ub2Rlc1RvQmVTZWxlY3RlZC5hZGQobm9kZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5ub2Rlc1RvQmVJbmRldGVybWluYXRlLmRlbGV0ZShub2RlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobm9kZXNBcnJheS5zb21lKG4gPT4gdGhpcy5ub2Rlc1RvQmVTZWxlY3RlZC5oYXMobikgfHwgdGhpcy5ub2Rlc1RvQmVJbmRldGVybWluYXRlLmhhcyhuKSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGVzVG9CZUluZGV0ZXJtaW5hdGUuYWRkKG5vZGUpO1xuICAgICAgICAgICAgICAgIHRoaXMubm9kZXNUb0JlU2VsZWN0ZWQuZGVsZXRlKG5vZGUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGVzVG9CZUluZGV0ZXJtaW5hdGUuZGVsZXRlKG5vZGUpO1xuICAgICAgICAgICAgICAgIHRoaXMubm9kZXNUb0JlU2VsZWN0ZWQuZGVsZXRlKG5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gaWYgdGhlIGNoaWxkcmVuIG9mIHRoZSBub2RlIGhhcyBiZWVuIGRlbGV0ZWQgYW5kIHRoZSBub2RlIHdhcyBzZWxlY3RlZCBkbyBub3QgY2hhbmdlIGl0cyBzdGF0ZVxuICAgICAgICAgICAgaWYgKHRoaXMuaXNOb2RlU2VsZWN0ZWQobm9kZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGVzVG9CZVNlbGVjdGVkLmFkZChub2RlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ub2Rlc1RvQmVTZWxlY3RlZC5kZWxldGUobm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm5vZGVzVG9CZUluZGV0ZXJtaW5hdGUuZGVsZXRlKG5vZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGEgY29sbGVjdGlvbiBvZiBhbGwgbm9kZXMgYWZmZWN0ZWQgYnkgdGhlIGNoYW5nZSBldmVudFxuICAgICAqXG4gICAgICogQHBhcmFtIG5vZGVzVG9CZVByb2Nlc3NlZCBzZXQgb2YgdGhlIG5vZGVzIHRvIGJlIHNlbGVjdGVkL2Rlc2VsZWN0ZWRcbiAgICAgKiBAcmV0dXJucyBhIGNvbGxlY3Rpb24gb2YgYWxsIGFmZmVjdGVkIG5vZGVzIGFuZCBhbGwgdGhlaXIgcGFyZW50c1xuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0Q2FzY2FkaW5nTm9kZUNvbGxlY3Rpb24obm9kZXM6IElneFRyZWVOb2RlPGFueT5bXSk6IENhc2NhZGVTZWxlY3Rpb25Ob2RlQ29sbGVjdGlvbiB7XG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb246IENhc2NhZGVTZWxlY3Rpb25Ob2RlQ29sbGVjdGlvbiA9IHtcbiAgICAgICAgICAgIHBhcmVudHM6IG5ldyBTZXQ8SWd4VHJlZU5vZGU8YW55Pj4oKSxcbiAgICAgICAgICAgIG5vZGVzOiBuZXcgU2V0PElneFRyZWVOb2RlPGFueT4+KG5vZGVzKVxuICAgICAgICB9O1xuXG4gICAgICAgIEFycmF5LmZyb20oY29sbGVjdGlvbi5ub2RlcykuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm9kZUFuZEFsbENoaWxkcmVuID0gbm9kZS5hbGxDaGlsZHJlbj8udG9BcnJheSgpIHx8IFtdO1xuICAgICAgICAgICAgbm9kZUFuZEFsbENoaWxkcmVuLmZvckVhY2gobiA9PiB7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbi5ub2Rlcy5hZGQobik7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKG5vZGUgJiYgbm9kZS5wYXJlbnROb2RlKSB7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbi5wYXJlbnRzLmFkZChub2RlLnBhcmVudE5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmV0cmlldmUgdGhlIG5vZGVzIHdoaWNoIHNob3VsZCBiZSBhZGRlZC9yZW1vdmVkIHRvL2Zyb20gdGhlIG9sZCBzZWxlY3Rpb25cbiAgICAgKi9cbiAgICBwcml2YXRlIHBvcHVsYXRlQWRkUmVtb3ZlQXJncyhhcmdzOiBQYXJ0aWFsPElUcmVlTm9kZVNlbGVjdGlvbkV2ZW50Pik6IHZvaWQge1xuICAgICAgICBhcmdzLnJlbW92ZWQgPSBhcmdzLm9sZFNlbGVjdGlvbi5maWx0ZXIoeCA9PiBhcmdzLm5ld1NlbGVjdGlvbi5pbmRleE9mKHgpIDwgMCk7XG4gICAgICAgIGFyZ3MuYWRkZWQgPSBhcmdzLm5ld1NlbGVjdGlvbi5maWx0ZXIoeCA9PiBhcmdzLm9sZFNlbGVjdGlvbi5pbmRleE9mKHgpIDwgMCk7XG4gICAgfVxuXG4gICAgLyoqIEVtaXRzIHRoZSBgc2VsZWN0ZWRDaGFuZ2VgIGV2ZW50IGZvciBlYWNoIG5vZGUgYWZmZWN0ZWQgYnkgdGhlIHNlbGVjdGlvbiAqL1xuICAgIHByaXZhdGUgZW1pdFNlbGVjdGVkQ2hhbmdlRXZlbnQob2xkU2VsZWN0aW9uOiBJZ3hUcmVlTm9kZTxhbnk+W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRTZWxlY3RlZE5vZGVzKCkuZm9yRWFjaChuID0+IHtcbiAgICAgICAgICAgIGlmIChvbGRTZWxlY3Rpb24uaW5kZXhPZihuKSA8IDApIHtcbiAgICAgICAgICAgICAgICBuLnNlbGVjdGVkQ2hhbmdlLmVtaXQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG9sZFNlbGVjdGlvbi5mb3JFYWNoKG4gPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLm5vZGVTZWxlY3Rpb24uaGFzKG4pKSB7XG4gICAgICAgICAgICAgICAgbi5zZWxlY3RlZENoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -25,9 +25,9 @@ import * as i3 from "./tree.service";
25
25
  */
26
26
  export class IgxTreeSelectMarkerDirective {
27
27
  }
28
- IgxTreeSelectMarkerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeSelectMarkerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
29
- IgxTreeSelectMarkerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-rc.2", type: IgxTreeSelectMarkerDirective, selector: "[igxTreeSelectMarker]", ngImport: i0 });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeSelectMarkerDirective, decorators: [{
28
+ IgxTreeSelectMarkerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeSelectMarkerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
29
+ IgxTreeSelectMarkerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: IgxTreeSelectMarkerDirective, selector: "[igxTreeSelectMarker]", ngImport: i0 });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeSelectMarkerDirective, decorators: [{
31
31
  type: Directive,
32
32
  args: [{
33
33
  selector: '[igxTreeSelectMarker]'
@@ -39,9 +39,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.2", ng
39
39
  */
40
40
  export class IgxTreeExpandIndicatorDirective {
41
41
  }
42
- IgxTreeExpandIndicatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeExpandIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
43
- IgxTreeExpandIndicatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-rc.2", type: IgxTreeExpandIndicatorDirective, selector: "[igxTreeExpandIndicator]", ngImport: i0 });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeExpandIndicatorDirective, decorators: [{
42
+ IgxTreeExpandIndicatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeExpandIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
43
+ IgxTreeExpandIndicatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: IgxTreeExpandIndicatorDirective, selector: "[igxTreeExpandIndicator]", ngImport: i0 });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeExpandIndicatorDirective, decorators: [{
45
45
  type: Directive,
46
46
  args: [{
47
47
  selector: '[igxTreeExpandIndicator]'
@@ -412,14 +412,14 @@ export class IgxTreeComponent extends DisplayDensityBase {
412
412
  }
413
413
  }
414
414
  }
415
- IgxTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeComponent, deps: [{ token: i1.IgxTreeNavigationService }, { token: i2.IgxTreeSelectionService }, { token: i3.IgxTreeService }, { token: i0.ElementRef }, { token: DisplayDensityToken, optional: true }], target: i0.ɵɵFactoryTarget.Component });
416
- IgxTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-rc.2", type: IgxTreeComponent, selector: "igx-tree", inputs: { selection: "selection", singleBranchExpand: "singleBranchExpand", animationSettings: "animationSettings" }, outputs: { nodeSelection: "nodeSelection", nodeExpanding: "nodeExpanding", nodeExpanded: "nodeExpanded", nodeCollapsing: "nodeCollapsing", nodeCollapsed: "nodeCollapsed", activeNodeChanged: "activeNodeChanged" }, host: { properties: { "class.igx-tree": "this.cssClass" } }, providers: [
415
+ IgxTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeComponent, deps: [{ token: i1.IgxTreeNavigationService }, { token: i2.IgxTreeSelectionService }, { token: i3.IgxTreeService }, { token: i0.ElementRef }, { token: DisplayDensityToken, optional: true }], target: i0.ɵɵFactoryTarget.Component });
416
+ IgxTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: IgxTreeComponent, selector: "igx-tree", inputs: { selection: "selection", singleBranchExpand: "singleBranchExpand", animationSettings: "animationSettings" }, outputs: { nodeSelection: "nodeSelection", nodeExpanding: "nodeExpanding", nodeExpanded: "nodeExpanded", nodeCollapsing: "nodeCollapsing", nodeCollapsed: "nodeCollapsed", activeNodeChanged: "activeNodeChanged" }, host: { properties: { "class.igx-tree": "this.cssClass" } }, providers: [
417
417
  IgxTreeService,
418
418
  IgxTreeSelectionService,
419
419
  IgxTreeNavigationService,
420
420
  { provide: IGX_TREE_COMPONENT, useExisting: IgxTreeComponent },
421
421
  ], queries: [{ propertyName: "expandIndicator", first: true, predicate: IgxTreeExpandIndicatorDirective, descendants: true, read: TemplateRef }, { propertyName: "nodes", predicate: IgxTreeNodeComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"igx-tree__root\" role=\"tree\" (keydown)=\"handleKeydown($event)\">\n <ng-content select=\"igx-tree-node\"></ng-content>\n</div>\n" });
422
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeComponent, decorators: [{
422
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeComponent, decorators: [{
423
423
  type: Component,
424
424
  args: [{ selector: 'igx-tree', providers: [
425
425
  IgxTreeService,
@@ -467,8 +467,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.2", ng
467
467
  */
468
468
  export class IgxTreeModule {
469
469
  }
470
- IgxTreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
471
- IgxTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeModule, declarations: [IgxTreeSelectMarkerDirective, IgxTreeExpandIndicatorDirective, IgxTreeNodeLinkDirective, IgxTreeComponent, IgxTreeNodeComponent], imports: [CommonModule,
470
+ IgxTreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
471
+ IgxTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeModule, declarations: [IgxTreeSelectMarkerDirective, IgxTreeExpandIndicatorDirective, IgxTreeNodeLinkDirective, IgxTreeComponent, IgxTreeNodeComponent], imports: [CommonModule,
472
472
  FormsModule,
473
473
  IgxIconModule,
474
474
  IgxInputGroupModule,
@@ -478,7 +478,7 @@ IgxTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
478
478
  IgxInputGroupModule,
479
479
  IgxCheckboxModule,
480
480
  IgxExpansionPanelModule] });
481
- IgxTreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeModule, imports: [[
481
+ IgxTreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeModule, imports: [[
482
482
  CommonModule,
483
483
  FormsModule,
484
484
  IgxIconModule,
@@ -489,7 +489,7 @@ IgxTreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
489
489
  IgxInputGroupModule,
490
490
  IgxCheckboxModule,
491
491
  IgxExpansionPanelModule] });
492
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeModule, decorators: [{
492
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeModule, decorators: [{
493
493
  type: NgModule,
494
494
  args: [{
495
495
  declarations: [
@@ -62,9 +62,9 @@ export class IgxTreeService {
62
62
  this.tree = tree;
63
63
  }
64
64
  }
65
- IgxTreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
66
- IgxTreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeService });
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.2", ngImport: i0, type: IgxTreeService, decorators: [{
65
+ IgxTreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
66
+ IgxTreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeService });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: IgxTreeService, decorators: [{
68
68
  type: Injectable
69
69
  }] });
70
70
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL3RyZWUvdHJlZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLHdCQUF3QjtBQUV4QixNQUFNLE9BQU8sY0FBYztJQUQzQjtRQUVXLGtCQUFhLEdBQTBCLElBQUksR0FBRyxFQUFvQixDQUFDO1FBQ25FLG9CQUFlLEdBQTBCLElBQUksR0FBRyxFQUFvQixDQUFDO1FBNERwRSxvQkFBZSxHQUV2QixDQUFDLElBQXNCLEVBQUUsSUFBc0IsRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDbEc7SUE1REc7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLElBQXNCLEVBQUUsU0FBbUI7UUFDckQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2xDO2FBQU07WUFDSCxPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3pELElBQUksU0FBUyxFQUFFO29CQUNYLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztpQkFDaEI7cUJBQU07b0JBQ0gsQ0FBQyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7aUJBQ3RCO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksVUFBVSxDQUFDLElBQXNCO1FBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLFFBQVEsQ0FBQyxJQUFzQjtRQUNsQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25DO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUFzQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxRQUFRLENBQUMsSUFBYTtRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDOztnSEE1RFEsY0FBYztvSEFBZCxjQUFjO2dHQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hUcmVlLCBJZ3hUcmVlTm9kZSB9IGZyb20gJy4vY29tbW9uJztcblxuLyoqIEBoaWRkZW4gQGludGVybmFsICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSWd4VHJlZVNlcnZpY2Uge1xuICAgIHB1YmxpYyBleHBhbmRlZE5vZGVzOiBTZXQ8SWd4VHJlZU5vZGU8YW55Pj4gPSBuZXcgU2V0PElneFRyZWVOb2RlPGFueT4+KCk7XG4gICAgcHVibGljIGNvbGxhcHNpbmdOb2RlczogU2V0PElneFRyZWVOb2RlPGFueT4+ID0gbmV3IFNldDxJZ3hUcmVlTm9kZTxhbnk+PigpO1xuICAgIHByaXZhdGUgdHJlZTogSWd4VHJlZTtcblxuICAgIC8qKlxuICAgICAqIEFkZHMgdGhlIG5vZGUgdG8gdGhlIGBleHBhbmRlZE5vZGVzYCBzZXQgYW5kIGZpcmVzIHRoZSBub2RlcyBjaGFuZ2UgZXZlbnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBub2RlIHRhcmdldCBub2RlXG4gICAgICogQHBhcmFtIHVpVHJpZ2dlciBpcyB0aGUgZXZlbnQgdHJpZ2dlcmVkIGJ5IGEgdWkgaW50ZXJyYWN0aW9uIChzbyB3ZSBrbm93IGlmIHdlIHNob3VsZCBhbmltYXRlKVxuICAgICAqIEByZXR1cm5zIHZvaWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZXhwYW5kKG5vZGU6IElneFRyZWVOb2RlPGFueT4sIHVpVHJpZ2dlcj86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb2xsYXBzaW5nTm9kZXMuZGVsZXRlKG5vZGUpO1xuICAgICAgICBpZiAoIXRoaXMuZXhwYW5kZWROb2Rlcy5oYXMobm9kZSkpIHtcbiAgICAgICAgICAgIG5vZGUuZXhwYW5kZWRDaGFuZ2UuZW1pdCh0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV4cGFuZGVkTm9kZXMuYWRkKG5vZGUpO1xuICAgICAgICBpZiAodGhpcy50cmVlLnNpbmdsZUJyYW5jaEV4cGFuZCkge1xuICAgICAgICAgICAgdGhpcy50cmVlLmZpbmROb2Rlcyhub2RlLCB0aGlzLnNpYmxpbmdDb21wYXJlcik/LmZvckVhY2goZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHVpVHJpZ2dlcikge1xuICAgICAgICAgICAgICAgICAgICBlLmNvbGxhcHNlKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZS5leHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIG5vZGUgdG8gdGhlIGBjb2xsYXBzaW5nYCBjb2xsZWN0aW9uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbm9kZSB0YXJnZXQgbm9kZVxuICAgICAqL1xuICAgIHB1YmxpYyBjb2xsYXBzaW5nKG5vZGU6IElneFRyZWVOb2RlPGFueT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb2xsYXBzaW5nTm9kZXMuYWRkKG5vZGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgdGhlIG5vZGUgZnJvbSB0aGUgJ2V4cGFuZGVkTm9kZXMnIHNldCBhbmQgZW1pdHMgdGhlIG5vZGUncyBjaGFuZ2UgZXZlbnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBub2RlIHRhcmdldCBub2RlXG4gICAgICogQHJldHVybnMgdm9pZFxuICAgICAqL1xuICAgIHB1YmxpYyBjb2xsYXBzZShub2RlOiBJZ3hUcmVlTm9kZTxhbnk+KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV4cGFuZGVkTm9kZXMuaGFzKG5vZGUpKSB7XG4gICAgICAgICAgICBub2RlLmV4cGFuZGVkQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29sbGFwc2luZ05vZGVzLmRlbGV0ZShub2RlKTtcbiAgICAgICAgdGhpcy5leHBhbmRlZE5vZGVzLmRlbGV0ZShub2RlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNFeHBhbmRlZChub2RlOiBJZ3hUcmVlTm9kZTxhbnk+KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGFuZGVkTm9kZXMuaGFzKG5vZGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlcih0cmVlOiBJZ3hUcmVlKSB7XG4gICAgICAgIHRoaXMudHJlZSA9IHRyZWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaWJsaW5nQ29tcGFyZXI6XG4gICAgKGRhdGE6IElneFRyZWVOb2RlPGFueT4sIG5vZGU6IElneFRyZWVOb2RlPGFueT4pID0+IGJvb2xlYW4gPVxuICAgIChkYXRhOiBJZ3hUcmVlTm9kZTxhbnk+LCBub2RlOiBJZ3hUcmVlTm9kZTxhbnk+KSA9PiBub2RlICE9PSBkYXRhICYmIG5vZGUubGV2ZWwgPT09IGRhdGEubGV2ZWw7XG59XG4iXX0=
@@ -39,7 +39,6 @@ export * from './lib/data-operations/groupby-expand-state.interface';
39
39
  export * from './lib/data-operations/groupby-record.interface';
40
40
  export * from './lib/data-operations/groupby-state.interface';
41
41
  export * from './lib/data-operations/grouping-expression.interface';
42
- export * from './lib/data-operations/grouping-strategy';
43
42
  export * from './lib/data-operations/sorting-strategy';
44
43
  export * from './lib/data-operations/paging-state.interface';
45
44
  export * from './lib/data-operations/data-util';
@@ -111,4 +110,4 @@ export * from './lib/core/density';
111
110
  export { changei18n, getCurrentResourceStrings } from './lib/core/i18n/resources';
112
111
  export { PickerInteractionMode } from './lib/date-common/types';
113
112
  export { SplitterType } from './lib/splitter/splitter.component';
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7O0dBRUc7QUFFSDs7R0FFRztBQUNILGNBQWMsdUJBQXVCLENBQUM7QUFHdEM7O0dBRUc7QUFDSCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDhDQUE4QyxDQUFDO0FBRTdEOztHQUVHO0FBQ0gsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRDs7R0FFRztBQUNILGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx1QkFBdUIsQ0FBQztBQUV0Qzs7R0FFRztBQUNILGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxVQUFVLEVBQUUseUJBQXlCLEVBQW9CLE1BQU0sMkJBQTJCLENBQUM7QUFZcEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG4vKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGlnbml0ZXVpLWFuZ3VsYXJcbiAqL1xuXG4vKipcbiAqIEFuaW1hdGlvbnNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5pbWF0aW9ucy9tYWluJztcblxuXG4vKipcbiAqIERpcmVjdGl2ZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9uYXZpZ2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RpdmlkZXIvZGl2aWRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kcmFnLWRyb3AvZHJhZy1kcm9wLnN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZHJhZy1kcm9wL2RyYWctZHJvcC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9maWx0ZXIvZmlsdGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2ZvY3VzL2ZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2Zvci1vZi9mb3Jfb2YuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvbGF5b3V0L2xheW91dC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9tYXNrL21hc2suZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcmFkaW8vcmFkaW8tZ3JvdXAuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcmlwcGxlL3JpcHBsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90ZXh0LWhpZ2hsaWdodC90ZXh0LWhpZ2hsaWdodC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90ZXh0LXNlbGVjdGlvbi90ZXh0LXNlbGVjdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90ZW1wbGF0ZS1vdXRsZXQvdGVtcGxhdGVfb3V0bGV0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3RvZ2dsZS90b2dnbGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RhdGUtdGltZS1lZGl0b3IvcHVibGljX2FwaSc7XG5cbi8qKlxuICogRGF0YSBvcGVyYXRpb25zXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctZXhwcmVzc2lvbi5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1leHByZXNzaW9ucy10cmVlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctY29uZGl0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctc3RhdGUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctc3RyYXRlZ3knO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1vcGVyYXRpb25zL2dyb3VwYnktZXhwYW5kLXN0YXRlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1yZWNvcmQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9ncm91cGJ5LXN0YXRlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBpbmctZXhwcmVzc2lvbi5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1vcGVyYXRpb25zL2dyb3VwaW5nLXN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9zb3J0aW5nLXN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9wYWdpbmctc3RhdGUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9kYXRhLXV0aWwnO1xuXG4vKipcbiAqIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWN0aW9uLXN0cmlwL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWNjb3JkaW9uL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFkZ2UvYmFkZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhbm5lci9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbkdyb3VwL2J1dHRvbkdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWxlbmRhci9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2Fyb3VzZWwvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hpcHMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21iby9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtcGlja2VyL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcC1kb3duL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvY29tbW9uL2VudW1zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbW1vbi9ldmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvZmlsdGVyaW5nL2V4Y2VsLXN0eWxlL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvZ3JpZC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL3RyZWUtZ3JpZC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2hpZXJhcmNoaWNhbC1ncmlkL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvY29sdW1ucy90ZW1wbGF0ZXMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbHVtbnMvY29sdW1uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb2x1bW5zL2NvbHVtbi1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvY29sdW1ucy9jb2x1bW4tbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9oaWVyYXJjaGljYWwtZ3JpZC9oaWVyYXJjaGljYWwtZ3JpZC5waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pY29uL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5wdXQtZ3JvdXAvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9saXN0L3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZXhwYW5zaW9uLXBhbmVsL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2YmFyL25hdmJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2aWdhdGlvbi1kcmF3ZXIvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdpbmF0b3IvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdpbmF0b3IvcGFnaW5hdG9yLWludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvZ3Jlc3NiYXIvcHJvZ3Jlc3NiYXIuY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Byb2dyZXNzYmFyL3Byb2dyZXNzYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yYWRpby9yYWRpby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2xpZGVyL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYnMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJzL2JvdHRvbS1uYXYvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJzL3RhYnMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci5kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2FzdC90b2FzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0L3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3BsaXR0ZXIvc3BsaXR0ZXItcGFuZS9zcGxpdHRlci1wYW5lLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zcGxpdHRlci9zcGxpdHRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3BsaXR0ZXIvc3BsaXR0ZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXBwZXIvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXJhbmdlLXBpY2tlci9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtY29tbW9uL3B1YmxpY19hcGknO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb2x1bW4tYWN0aW9ucy9jb2x1bW4tYWN0aW9ucy1iYXNlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb2x1bW4tYWN0aW9ucy9jb2x1bW4tYWN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJlZS9wdWJsaWNfYXBpJztcblxuLyoqXG4gKiBFeHBvcnRlciBzZXJ2aWNlcywgY2xhc3NlcywgaW50ZXJmYWNlcyBhbmQgZW51bXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2RhdGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvZGVuc2l0eSc7XG5leHBvcnQgeyBDYW5jZWxhYmxlRXZlbnRBcmdzLCBDYW5jZWxhYmxlQnJvd3NlckV2ZW50QXJncyB9IGZyb20gJy4vbGliL2NvcmUvdXRpbHMnO1xuZXhwb3J0IHsgY2hhbmdlaTE4biwgZ2V0Q3VycmVudFJlc291cmNlU3RyaW5ncywgSVJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUNhcm91c2VsUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2Nhcm91c2VsLXJlc291cmNlcyc7XG5leHBvcnQgeyBJR3JpZFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9ncmlkLXJlc291cmNlcyc7XG5leHBvcnQgeyBJUGFnaW5hdG9yUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL3BhZ2luYXRvci1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUNhbGVuZGFyUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2NhbGVuZGFyLXJlc291cmNlcyc7XG5leHBvcnQgeyBJVGltZVBpY2tlclJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi90aW1lLXBpY2tlci1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSURhdGVQaWNrZXJSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vZGF0ZS1waWNrZXItcmVzb3VyY2VzJztcbmV4cG9ydCB7IElEYXRlUmFuZ2VQaWNrZXJSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vZGF0ZS1yYW5nZS1waWNrZXItcmVzb3VyY2VzJztcbmV4cG9ydCB7IElMaXN0UmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2xpc3QtcmVzb3VyY2VzJztcbmV4cG9ydCB7IElUcmVlUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL3RyZWUtcmVzb3VyY2VzJztcbmV4cG9ydCB7IElJbnB1dFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9pbnB1dC1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUNoaXBSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vY2hpcC1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgUGlja2VySW50ZXJhY3Rpb25Nb2RlIH0gZnJvbSAnLi9saWIvZGF0ZS1jb21tb24vdHlwZXMnO1xuZXhwb3J0IHsgU3BsaXR0ZXJUeXBlIH0gZnJvbSAnLi9saWIvc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50JztcbiJdfQ==
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7O0dBRUc7QUFFSDs7R0FFRztBQUNILGNBQWMsdUJBQXVCLENBQUM7QUFHdEM7O0dBRUc7QUFDSCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDhDQUE4QyxDQUFDO0FBRTdEOztHQUVHO0FBQ0gsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsaUNBQWlDLENBQUM7QUFFaEQ7O0dBRUc7QUFDSCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsOEJBQThCLENBQUM7QUFFN0MsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsdUJBQXVCLENBQUM7QUFFdEM7O0dBRUc7QUFDSCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLHlCQUF5QixFQUFvQixNQUFNLDJCQUEyQixDQUFDO0FBWXBHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBpZ25pdGV1aS1hbmd1bGFyXG4gKi9cblxuLyoqXG4gKiBBbmltYXRpb25zXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2FuaW1hdGlvbnMvbWFpbic7XG5cblxuLyoqXG4gKiBEaXJlY3RpdmVzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvbmF2aWdhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvYnV0dG9uL2J1dHRvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kaXZpZGVyL2RpdmlkZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZHJhZy1kcm9wL2RyYWctZHJvcC5zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RyYWctZHJvcC9kcmFnLWRyb3AuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZmlsdGVyL2ZpbHRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9mb2N1cy9mb2N1cy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9mb3Itb2YvZm9yX29mLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2xheW91dC9sYXlvdXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvbWFzay9tYXNrLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3JhZGlvL3JhZGlvLWdyb3VwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3JpcHBsZS9yaXBwbGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdGV4dC1oaWdobGlnaHQvdGV4dC1oaWdobGlnaHQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdGV4dC1zZWxlY3Rpb24vdGV4dC1zZWxlY3Rpb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdGVtcGxhdGUtb3V0bGV0L3RlbXBsYXRlX291dGxldC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90b2dnbGUvdG9nZ2xlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kYXRlLXRpbWUtZWRpdG9yL3B1YmxpY19hcGknO1xuXG4vKipcbiAqIERhdGEgb3BlcmF0aW9uc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctZXhwcmVzc2lvbnMtdHJlZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLWNvbmRpdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLXN0YXRlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLXN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9ncm91cGJ5LWV4cGFuZC1zdGF0ZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1vcGVyYXRpb25zL2dyb3VwYnktcmVjb3JkLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1zdGF0ZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1vcGVyYXRpb25zL2dyb3VwaW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9zb3J0aW5nLXN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9wYWdpbmctc3RhdGUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtb3BlcmF0aW9ucy9kYXRhLXV0aWwnO1xuXG4vKipcbiAqIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWN0aW9uLXN0cmlwL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWNjb3JkaW9uL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFkZ2UvYmFkZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhbm5lci9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbkdyb3VwL2J1dHRvbkdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWxlbmRhci9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2Fyb3VzZWwvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hpcHMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21iby9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtcGlja2VyL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcC1kb3duL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvY29tbW9uL2VudW1zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbW1vbi9ldmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvZmlsdGVyaW5nL2V4Y2VsLXN0eWxlL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvZ3JpZC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL3RyZWUtZ3JpZC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2hpZXJhcmNoaWNhbC1ncmlkL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvY29sdW1ucy90ZW1wbGF0ZXMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWRzL2NvbHVtbnMvY29sdW1uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb2x1bW5zL2NvbHVtbi1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZHMvY29sdW1ucy9jb2x1bW4tbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9oaWVyYXJjaGljYWwtZ3JpZC9oaWVyYXJjaGljYWwtZ3JpZC5waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pY29uL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5wdXQtZ3JvdXAvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9saXN0L3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZXhwYW5zaW9uLXBhbmVsL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2YmFyL25hdmJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2aWdhdGlvbi1kcmF3ZXIvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdpbmF0b3IvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdpbmF0b3IvcGFnaW5hdG9yLWludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvZ3Jlc3NiYXIvcHJvZ3Jlc3NiYXIuY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Byb2dyZXNzYmFyL3Byb2dyZXNzYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yYWRpby9yYWRpby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2xpZGVyL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYnMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJzL2JvdHRvbS1uYXYvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJzL3RhYnMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci5kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2FzdC90b2FzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0L3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3BsaXR0ZXIvc3BsaXR0ZXItcGFuZS9zcGxpdHRlci1wYW5lLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zcGxpdHRlci9zcGxpdHRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3BsaXR0ZXIvc3BsaXR0ZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXBwZXIvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXJhbmdlLXBpY2tlci9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtY29tbW9uL3B1YmxpY19hcGknO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb2x1bW4tYWN0aW9ucy9jb2x1bW4tYWN0aW9ucy1iYXNlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkcy9jb2x1bW4tYWN0aW9ucy9jb2x1bW4tYWN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJlZS9wdWJsaWNfYXBpJztcblxuLyoqXG4gKiBFeHBvcnRlciBzZXJ2aWNlcywgY2xhc3NlcywgaW50ZXJmYWNlcyBhbmQgZW51bXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2RhdGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvZGVuc2l0eSc7XG5leHBvcnQgeyBDYW5jZWxhYmxlRXZlbnRBcmdzLCBDYW5jZWxhYmxlQnJvd3NlckV2ZW50QXJncyB9IGZyb20gJy4vbGliL2NvcmUvdXRpbHMnO1xuZXhwb3J0IHsgY2hhbmdlaTE4biwgZ2V0Q3VycmVudFJlc291cmNlU3RyaW5ncywgSVJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUNhcm91c2VsUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2Nhcm91c2VsLXJlc291cmNlcyc7XG5leHBvcnQgeyBJR3JpZFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9ncmlkLXJlc291cmNlcyc7XG5leHBvcnQgeyBJUGFnaW5hdG9yUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL3BhZ2luYXRvci1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUNhbGVuZGFyUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2NhbGVuZGFyLXJlc291cmNlcyc7XG5leHBvcnQgeyBJVGltZVBpY2tlclJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi90aW1lLXBpY2tlci1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSURhdGVQaWNrZXJSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vZGF0ZS1waWNrZXItcmVzb3VyY2VzJztcbmV4cG9ydCB7IElEYXRlUmFuZ2VQaWNrZXJSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vZGF0ZS1yYW5nZS1waWNrZXItcmVzb3VyY2VzJztcbmV4cG9ydCB7IElMaXN0UmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL2xpc3QtcmVzb3VyY2VzJztcbmV4cG9ydCB7IElUcmVlUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi9saWIvY29yZS9pMThuL3RyZWUtcmVzb3VyY2VzJztcbmV4cG9ydCB7IElJbnB1dFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4vbGliL2NvcmUvaTE4bi9pbnB1dC1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgSUNoaXBSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuL2xpYi9jb3JlL2kxOG4vY2hpcC1yZXNvdXJjZXMnO1xuZXhwb3J0IHsgUGlja2VySW50ZXJhY3Rpb25Nb2RlIH0gZnJvbSAnLi9saWIvZGF0ZS1jb21tb24vdHlwZXMnO1xuZXhwb3J0IHsgU3BsaXR0ZXJUeXBlIH0gZnJvbSAnLi9saWIvc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50JztcbiJdfQ==