@kirbydesign/designsystem 5.2.2 → 6.0.0-rc.0

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 (716) hide show
  1. package/bundles/kirbydesign-designsystem-testing-base.umd.js +1988 -1259
  2. package/bundles/kirbydesign-designsystem-testing-base.umd.js.map +1 -1
  3. package/bundles/kirbydesign-designsystem-testing-jasmine.umd.js +34 -16
  4. package/bundles/kirbydesign-designsystem-testing-jasmine.umd.js.map +1 -1
  5. package/bundles/kirbydesign-designsystem-testing-jest.umd.js +34 -16
  6. package/bundles/kirbydesign-designsystem-testing-jest.umd.js.map +1 -1
  7. package/bundles/kirbydesign-designsystem.umd.js +10025 -9233
  8. package/bundles/kirbydesign-designsystem.umd.js.map +1 -1
  9. package/esm2015/kirbydesign-designsystem.js +1 -115
  10. package/esm2015/lib/components/accordion/accordion-item.component.js +31 -20
  11. package/esm2015/lib/components/accordion/accordion.directive.js +11 -7
  12. package/esm2015/lib/components/app/app.component.js +23 -18
  13. package/esm2015/lib/components/app/app.module.js +13 -8
  14. package/esm2015/lib/components/avatar/avatar.component.js +31 -19
  15. package/esm2015/lib/components/button/button.component.js +63 -34
  16. package/esm2015/lib/components/calendar/calendar.component.js +59 -35
  17. package/esm2015/lib/components/calendar/helpers/calendar.helper.js +8 -8
  18. package/esm2015/lib/components/card/card-footer/card-footer.component.js +14 -11
  19. package/esm2015/lib/components/card/card-header/card-header.component.js +26 -15
  20. package/esm2015/lib/components/card/card.component.js +34 -25
  21. package/esm2015/lib/components/chart/chart-js/chart-js.service.js +48 -34
  22. package/esm2015/lib/components/chart/chart-js/chartjs-plugin-marker/chartjs-plugin-marker.js +1 -3
  23. package/esm2015/lib/components/chart/chart.component.js +36 -39
  24. package/esm2015/lib/components/chart/chart.module.js +13 -8
  25. package/esm2015/lib/components/chart/chart.types.js +1 -1
  26. package/esm2015/lib/components/chart/configs/chart-config.service.js +7 -4
  27. package/esm2015/lib/components/chart/configs/interaction-functions-extensions.config.js +8 -10
  28. package/esm2015/lib/components/chart/configs/shared.utils.js +1 -1
  29. package/esm2015/lib/components/chart/configs/type.config.js +1 -3
  30. package/esm2015/lib/components/chart/index.js +2 -1
  31. package/esm2015/lib/components/chart-deprecated/chart-deprecated-helper.js +7 -4
  32. package/esm2015/lib/components/chart-deprecated/chart-deprecated.component.js +56 -38
  33. package/esm2015/lib/components/chart-deprecated/options/areaspline.js +7 -9
  34. package/esm2015/lib/components/chart-deprecated/options/donut.js +5 -7
  35. package/esm2015/lib/components/chart-deprecated/options/timeseries.js +8 -10
  36. package/esm2015/lib/components/checkbox/checkbox.component.js +47 -21
  37. package/esm2015/lib/components/chip/chip.component.js +24 -13
  38. package/esm2015/lib/components/divider/divider.component.js +16 -12
  39. package/esm2015/lib/components/dropdown/dropdown.component.js +154 -61
  40. package/esm2015/lib/components/dropdown/keyboard-handler.service.js +9 -7
  41. package/esm2015/lib/components/empty-state/empty-state.component.js +27 -16
  42. package/esm2015/lib/components/fab-sheet/fab-sheet.component.js +37 -23
  43. package/esm2015/lib/components/flag/flag.component.js +21 -17
  44. package/esm2015/lib/components/form-field/directives/date/date-input.directive.js +16 -15
  45. package/esm2015/lib/components/form-field/directives/decimal-mask/decimal-mask.directive.js +41 -28
  46. package/esm2015/lib/components/form-field/form-field-message/form-field-message.component.js +17 -13
  47. package/esm2015/lib/components/form-field/form-field.component.js +39 -26
  48. package/esm2015/lib/components/form-field/input/input.component.js +65 -23
  49. package/esm2015/lib/components/form-field/input-counter/input-counter.component.js +14 -11
  50. package/esm2015/lib/components/form-field/textarea/textarea.component.js +51 -20
  51. package/esm2015/lib/components/grid/breakpoint-helper.service.js +9 -9
  52. package/esm2015/lib/components/grid/grid.component.js +21 -18
  53. package/esm2015/lib/components/icon/icon-registry.service.js +11 -19
  54. package/esm2015/lib/components/icon/icon-settings.js +2 -3
  55. package/esm2015/lib/components/icon/icon.component.js +27 -20
  56. package/esm2015/lib/components/icon/icon.module.js +13 -8
  57. package/esm2015/lib/components/icon/index.js +1 -2
  58. package/esm2015/lib/components/icon/kirby-icon-settings.js +2 -4
  59. package/esm2015/lib/components/index.js +11 -10
  60. package/esm2015/lib/components/item/item.component.js +33 -16
  61. package/esm2015/lib/components/item/item.module.js +13 -8
  62. package/esm2015/lib/components/item/label/label.component.js +18 -12
  63. package/esm2015/lib/components/item-group/item-group.component.js +15 -11
  64. package/esm2015/lib/components/item-sliding/item-sliding.component.js +19 -12
  65. package/esm2015/lib/components/list/directives/infinite-scroll.directive.js +18 -17
  66. package/esm2015/lib/components/list/directives/list-item-color.directive.js +17 -11
  67. package/esm2015/lib/components/list/helpers/list-helper.js +7 -4
  68. package/esm2015/lib/components/list/index.js +2 -3
  69. package/esm2015/lib/components/list/list-experimental/list-experimental.component.js +20 -13
  70. package/esm2015/lib/components/list/list-header/list-header.component.js +14 -11
  71. package/esm2015/lib/components/list/list-item/list-item.component.js +38 -24
  72. package/esm2015/lib/components/list/list-section-header/list-section-header.component.js +15 -14
  73. package/esm2015/lib/components/list/list.component.js +81 -40
  74. package/esm2015/lib/components/list/list.directive.js +34 -45
  75. package/esm2015/lib/components/list/list.module.js +33 -12
  76. package/esm2015/lib/components/list/pipes/group-by.pipe.js +10 -6
  77. package/esm2015/lib/components/loading-overlay/loading-overlay.component.js +20 -13
  78. package/esm2015/lib/components/loading-overlay/loading-overlay.service.js +9 -13
  79. package/esm2015/lib/components/modal/action-sheet/action-sheet.component.js +32 -18
  80. package/esm2015/lib/components/modal/alert/alert.component.js +38 -26
  81. package/esm2015/lib/components/modal/alert/config/alert-config.js +1 -1
  82. package/esm2015/lib/components/modal/footer/modal-footer.component.js +25 -13
  83. package/esm2015/lib/components/modal/modal-wrapper/compact/modal-compact-wrapper.component.js +25 -21
  84. package/esm2015/lib/components/modal/modal-wrapper/config/modal-config.js +1 -1
  85. package/esm2015/lib/components/modal/modal-wrapper/modal-wrapper.component.js +124 -56
  86. package/esm2015/lib/components/modal/services/action-sheet.helper.js +8 -8
  87. package/esm2015/lib/components/modal/services/alert.helper.js +10 -20
  88. package/esm2015/lib/components/modal/services/modal-animation-builder.service.js +7 -10
  89. package/esm2015/lib/components/modal/services/modal-navigation.service.js +8 -13
  90. package/esm2015/lib/components/modal/services/modal.controller.js +17 -16
  91. package/esm2015/lib/components/modal/services/modal.helper.js +10 -10
  92. package/esm2015/lib/components/page/index.js +2 -1
  93. package/esm2015/lib/components/page/page-footer/page-footer.component.js +21 -18
  94. package/esm2015/lib/components/page/page.component.js +187 -118
  95. package/esm2015/lib/components/page/page.module.js +60 -32
  96. package/esm2015/lib/components/popover/popover.component.js +27 -23
  97. package/esm2015/lib/components/progress-circle/progress-circle-ring.component.js +29 -17
  98. package/esm2015/lib/components/progress-circle/progress-circle.component.js +30 -21
  99. package/esm2015/lib/components/radio/radio-group/radio-group.component.js +60 -34
  100. package/esm2015/lib/components/radio/radio.component.js +36 -17
  101. package/esm2015/lib/components/range/range.component.js +51 -29
  102. package/esm2015/lib/components/reorder-list/reorder-list.component.js +32 -21
  103. package/esm2015/lib/components/router-outlet/router-outlet.component.js +18 -12
  104. package/esm2015/lib/components/router-outlet/router-outlet.module.js +13 -8
  105. package/esm2015/lib/components/section-header/section-header.component.js +15 -9
  106. package/esm2015/lib/components/segmented-control/segment-item.js +1 -1
  107. package/esm2015/lib/components/segmented-control/segmented-control.component.js +38 -29
  108. package/esm2015/lib/components/shared/component-loader.directive.js +15 -16
  109. package/esm2015/lib/components/shared/resize-observer/resize-observer.factory.js +7 -5
  110. package/esm2015/lib/components/shared/resize-observer/resize-observer.service.js +7 -10
  111. package/esm2015/lib/components/slide-button/slide-button.component.js +22 -19
  112. package/esm2015/lib/components/slides/slides.component.js +42 -20
  113. package/esm2015/lib/components/spinner/index.js +3 -0
  114. package/esm2015/lib/components/spinner/spinner.component.js +14 -11
  115. package/esm2015/lib/components/spinner/spinner.module.js +14 -9
  116. package/esm2015/lib/components/stock-chart-deprecated/options/stock-chart-deprecated-options.js +9 -3
  117. package/esm2015/lib/components/stock-chart-deprecated/stock-chart-deprecated.component.js +25 -20
  118. package/esm2015/lib/components/tabs/tab-button/tab-button.component.js +21 -18
  119. package/esm2015/lib/components/tabs/tabs.component.js +20 -16
  120. package/esm2015/lib/components/tabs/tabs.module.js +14 -9
  121. package/esm2015/lib/components/tabs/tabs.service.js +9 -7
  122. package/esm2015/lib/components/toast/config/toast-config.js +1 -1
  123. package/esm2015/lib/components/toast/services/toast.controller.js +8 -8
  124. package/esm2015/lib/components/toast/services/toast.helper.js +8 -12
  125. package/esm2015/lib/components/toggle/toggle.component.js +21 -14
  126. package/esm2015/lib/components/toggle-button/index.js +3 -0
  127. package/esm2015/lib/components/toggle-button/toggle-button.component.js +20 -13
  128. package/esm2015/lib/components/toggle-button/toggle-button.module.js +13 -8
  129. package/esm2015/lib/components/web-component-proxies.component.js +13 -15
  130. package/esm2015/lib/directives/element-as-button/element-as-button.directive.js +26 -17
  131. package/esm2015/lib/directives/fit-heading/fit-heading.directive.js +16 -17
  132. package/esm2015/lib/directives/fit-heading/fit-heading.module.js +12 -7
  133. package/esm2015/lib/directives/index.js +3 -1
  134. package/esm2015/lib/directives/key-handler/key-handler.directive.js +14 -14
  135. package/esm2015/lib/directives/modal-router-link/modal-router-link.directive.js +20 -15
  136. package/esm2015/lib/directives/theme-color/theme-color.directive.js +55 -24
  137. package/esm2015/lib/helpers/element-has-ancestor.js +1 -1
  138. package/esm2015/lib/helpers/line-clamp-helper.js +7 -8
  139. package/esm2015/lib/helpers/platform.service.js +9 -11
  140. package/esm2015/lib/index.js +1 -5
  141. package/esm2015/lib/kirby.module.js +166 -25
  142. package/esm2015/lib/types/window-ref.js +9 -7
  143. package/esm2015/testing-base/kirbydesign-designsystem-testing-base.js +1 -59
  144. package/esm2015/testing-base/lib/components/index.js +56 -0
  145. package/esm2015/testing-base/lib/components/mock.accordion-item.component.js +26 -18
  146. package/esm2015/testing-base/lib/components/mock.action-sheet.component.js +38 -24
  147. package/esm2015/testing-base/lib/components/mock.app.component.js +22 -14
  148. package/esm2015/testing-base/lib/components/mock.avatar.component.js +37 -24
  149. package/esm2015/testing-base/lib/components/mock.button.component.js +36 -24
  150. package/esm2015/testing-base/lib/components/mock.calendar.component.js +54 -31
  151. package/esm2015/testing-base/lib/components/mock.card-footer.component.js +22 -14
  152. package/esm2015/testing-base/lib/components/mock.card-header.component.js +30 -20
  153. package/esm2015/testing-base/lib/components/mock.card.component.js +34 -22
  154. package/esm2015/testing-base/lib/components/mock.chart-deprecated.component.js +38 -24
  155. package/esm2015/testing-base/lib/components/mock.chart.component.js +38 -25
  156. package/esm2015/testing-base/lib/components/mock.checkbox.component.js +36 -23
  157. package/esm2015/testing-base/lib/components/mock.chip.component.js +26 -18
  158. package/esm2015/testing-base/lib/components/mock.divider.component.js +24 -17
  159. package/esm2015/testing-base/lib/components/mock.dropdown.component.js +49 -30
  160. package/esm2015/testing-base/lib/components/mock.empty-state.component.js +30 -20
  161. package/esm2015/testing-base/lib/components/mock.fab-sheet.component.js +26 -18
  162. package/esm2015/testing-base/lib/components/mock.flag.component.js +26 -18
  163. package/esm2015/testing-base/lib/components/mock.form-field-message.component.js +26 -18
  164. package/esm2015/testing-base/lib/components/mock.form-field.component.js +26 -18
  165. package/esm2015/testing-base/lib/components/mock.grid.component.js +26 -18
  166. package/esm2015/testing-base/lib/components/mock.icon.component.js +29 -20
  167. package/esm2015/testing-base/lib/components/mock.input-counter.component.js +24 -17
  168. package/esm2015/testing-base/lib/components/mock.input.component.js +42 -27
  169. package/esm2015/testing-base/lib/components/mock.item-group.component.js +22 -14
  170. package/esm2015/testing-base/lib/components/mock.item-sliding.component.js +26 -18
  171. package/esm2015/testing-base/lib/components/mock.item.component.js +33 -22
  172. package/esm2015/testing-base/lib/components/mock.label.component.js +24 -17
  173. package/esm2015/testing-base/lib/components/mock.list-experimental.component.js +22 -14
  174. package/esm2015/testing-base/lib/components/mock.list-header.component.js +22 -14
  175. package/esm2015/testing-base/lib/components/mock.list-item.component.js +40 -25
  176. package/esm2015/testing-base/lib/components/mock.list-section-header.component.js +24 -17
  177. package/esm2015/testing-base/lib/components/mock.list.component.js +50 -30
  178. package/esm2015/testing-base/lib/components/mock.loading-overlay.component.js +26 -18
  179. package/esm2015/testing-base/lib/components/mock.modal-footer.component.js +26 -18
  180. package/esm2015/testing-base/lib/components/mock.page-footer.component.js +24 -17
  181. package/esm2015/testing-base/lib/components/mock.page.component.js +228 -125
  182. package/esm2015/testing-base/lib/components/mock.popover.component.js +29 -20
  183. package/esm2015/testing-base/lib/components/mock.progress-circle.component.js +28 -19
  184. package/esm2015/testing-base/lib/components/mock.radio-group.component.js +38 -24
  185. package/esm2015/testing-base/lib/components/mock.radio.component.js +30 -20
  186. package/esm2015/testing-base/lib/components/mock.range.component.js +44 -27
  187. package/esm2015/testing-base/lib/components/mock.reorder-list.component.js +32 -21
  188. package/esm2015/testing-base/lib/components/mock.router-outlet.component.js +24 -17
  189. package/esm2015/testing-base/lib/components/mock.section-header.component.js +22 -14
  190. package/esm2015/testing-base/lib/components/mock.segmented-control.component.js +35 -23
  191. package/esm2015/testing-base/lib/components/mock.slide-button.component.js +30 -20
  192. package/esm2015/testing-base/lib/components/mock.slides.component.js +51 -0
  193. package/esm2015/testing-base/lib/components/mock.spinner.component.js +22 -14
  194. package/esm2015/testing-base/lib/components/mock.tab-button.component.js +26 -18
  195. package/esm2015/testing-base/lib/components/mock.tabs.component.js +22 -14
  196. package/esm2015/testing-base/lib/components/mock.textarea.component.js +35 -23
  197. package/esm2015/testing-base/lib/components/mock.toggle-button.component.js +26 -18
  198. package/esm2015/testing-base/lib/components/mock.toggle.component.js +28 -19
  199. package/esm2015/testing-base/lib/components/mock.web-component-proxies.component.js +33 -0
  200. package/esm2015/testing-base/lib/directives/index.js +4 -0
  201. package/esm2015/testing-base/lib/directives/mock.accordion.directive.js +22 -13
  202. package/esm2015/testing-base/lib/directives/mock.fit-heading.directive.js +24 -15
  203. package/esm2015/testing-base/lib/directives/mock.theme-color.directive.js +24 -16
  204. package/esm2015/testing-base/lib/index.js +4 -0
  205. package/esm2015/testing-base/lib/kirby-testing-base.module.js +69 -7
  206. package/esm2015/testing-base/lib/mock-components.js +5 -2
  207. package/esm2015/testing-base/public_api.js +2 -2
  208. package/esm2015/testing-jasmine/kirbydesign-designsystem-testing-jasmine.js +1 -2
  209. package/esm2015/testing-jasmine/lib/kirby-testing.module.js +14 -8
  210. package/esm2015/testing-jasmine/lib/mock-providers.js +1 -1
  211. package/esm2015/testing-jest/kirbydesign-designsystem-testing-jest.js +1 -2
  212. package/esm2015/testing-jest/lib/kirby-testing.module.js +14 -8
  213. package/esm2015/testing-jest/lib/mock-providers.js +1 -1
  214. package/fesm2015/kirbydesign-designsystem-testing-base.js +1859 -1163
  215. package/fesm2015/kirbydesign-designsystem-testing-base.js.map +1 -1
  216. package/fesm2015/kirbydesign-designsystem-testing-jasmine.js +13 -8
  217. package/fesm2015/kirbydesign-designsystem-testing-jasmine.js.map +1 -1
  218. package/fesm2015/kirbydesign-designsystem-testing-jest.js +13 -8
  219. package/fesm2015/kirbydesign-designsystem-testing-jest.js.map +1 -1
  220. package/fesm2015/kirbydesign-designsystem.js +5261 -4353
  221. package/fesm2015/kirbydesign-designsystem.js.map +1 -1
  222. package/icons/svg/more.svg +5 -7
  223. package/kirbydesign-designsystem.d.ts +1 -114
  224. package/lib/components/accordion/accordion-item.component.d.ts +3 -0
  225. package/lib/components/accordion/accordion.directive.d.ts +3 -0
  226. package/lib/components/app/app.component.d.ts +3 -0
  227. package/lib/components/app/app.module.d.ts +7 -0
  228. package/lib/components/avatar/avatar.component.d.ts +5 -2
  229. package/lib/components/button/button.component.d.ts +5 -2
  230. package/lib/components/calendar/calendar.component.d.ts +3 -0
  231. package/lib/components/calendar/helpers/calendar.helper.d.ts +3 -0
  232. package/lib/components/card/card-footer/card-footer.component.d.ts +3 -0
  233. package/lib/components/card/card-header/card-header.component.d.ts +3 -0
  234. package/lib/components/card/card.component.d.ts +3 -0
  235. package/lib/components/chart/chart-js/chart-js.service.d.ts +7 -3
  236. package/lib/components/chart/chart.component.d.ts +5 -5
  237. package/lib/components/chart/chart.module.d.ts +5 -0
  238. package/lib/components/chart/chart.types.d.ts +1 -0
  239. package/lib/components/chart/configs/chart-config.service.d.ts +4 -1
  240. package/lib/components/chart/index.d.ts +1 -0
  241. package/lib/components/chart-deprecated/chart-deprecated-helper.d.ts +3 -0
  242. package/lib/components/chart-deprecated/chart-deprecated.component.d.ts +3 -0
  243. package/lib/components/checkbox/checkbox.component.d.ts +3 -0
  244. package/lib/components/chip/chip.component.d.ts +3 -0
  245. package/lib/components/divider/divider.component.d.ts +3 -0
  246. package/lib/components/dropdown/dropdown.component.d.ts +5 -2
  247. package/lib/components/dropdown/keyboard-handler.service.d.ts +3 -0
  248. package/lib/components/empty-state/empty-state.component.d.ts +3 -0
  249. package/lib/components/fab-sheet/fab-sheet.component.d.ts +3 -0
  250. package/lib/components/flag/flag.component.d.ts +3 -0
  251. package/lib/components/form-field/directives/date/date-input.directive.d.ts +3 -0
  252. package/lib/components/form-field/directives/decimal-mask/decimal-mask.directive.d.ts +3 -0
  253. package/lib/components/form-field/form-field-message/form-field-message.component.d.ts +3 -0
  254. package/lib/components/form-field/form-field.component.d.ts +3 -0
  255. package/lib/components/form-field/input/input.component.d.ts +4 -1
  256. package/lib/components/form-field/input-counter/input-counter.component.d.ts +5 -2
  257. package/lib/components/form-field/textarea/textarea.component.d.ts +3 -0
  258. package/lib/components/grid/breakpoint-helper.service.d.ts +3 -0
  259. package/lib/components/grid/grid.component.d.ts +3 -0
  260. package/lib/components/icon/icon-registry.service.d.ts +4 -2
  261. package/lib/components/icon/icon-settings.d.ts +0 -2
  262. package/lib/components/icon/icon.component.d.ts +4 -1
  263. package/lib/components/icon/icon.module.d.ts +6 -0
  264. package/lib/components/icon/index.d.ts +1 -1
  265. package/lib/components/index.d.ts +10 -9
  266. package/lib/components/item/item.component.d.ts +4 -1
  267. package/lib/components/item/item.module.d.ts +9 -0
  268. package/lib/components/item/label/label.component.d.ts +3 -0
  269. package/lib/components/item-group/item-group.component.d.ts +3 -0
  270. package/lib/components/item-sliding/item-sliding.component.d.ts +3 -0
  271. package/lib/components/list/directives/infinite-scroll.directive.d.ts +3 -0
  272. package/lib/components/list/directives/list-item-color.directive.d.ts +3 -0
  273. package/lib/components/list/helpers/list-helper.d.ts +3 -0
  274. package/lib/components/list/index.d.ts +1 -2
  275. package/lib/components/list/list-experimental/list-experimental.component.d.ts +3 -0
  276. package/lib/components/list/list-header/list-header.component.d.ts +3 -0
  277. package/lib/components/list/list-item/list-item.component.d.ts +3 -0
  278. package/lib/components/list/list-section-header/list-section-header.component.d.ts +3 -0
  279. package/lib/components/list/list.component.d.ts +3 -0
  280. package/lib/components/list/list.directive.d.ts +9 -6
  281. package/lib/components/list/list.module.d.ts +16 -0
  282. package/lib/components/list/pipes/group-by.pipe.d.ts +3 -0
  283. package/lib/components/loading-overlay/loading-overlay.component.d.ts +3 -0
  284. package/lib/components/loading-overlay/loading-overlay.service.d.ts +3 -0
  285. package/lib/components/modal/action-sheet/action-sheet.component.d.ts +3 -0
  286. package/lib/components/modal/alert/alert.component.d.ts +5 -2
  287. package/lib/components/modal/alert/config/alert-config.d.ts +0 -8
  288. package/lib/components/modal/footer/modal-footer.component.d.ts +3 -0
  289. package/lib/components/modal/modal-wrapper/compact/modal-compact-wrapper.component.d.ts +3 -0
  290. package/lib/components/modal/modal-wrapper/config/modal-config.d.ts +1 -8
  291. package/lib/components/modal/modal-wrapper/modal-wrapper.component.d.ts +5 -0
  292. package/lib/components/modal/services/action-sheet.helper.d.ts +3 -0
  293. package/lib/components/modal/services/alert.helper.d.ts +4 -2
  294. package/lib/components/modal/services/modal-animation-builder.service.d.ts +3 -0
  295. package/lib/components/modal/services/modal-navigation.service.d.ts +3 -0
  296. package/lib/components/modal/services/modal.controller.d.ts +3 -0
  297. package/lib/components/modal/services/modal.helper.d.ts +3 -0
  298. package/lib/components/page/index.d.ts +1 -0
  299. package/lib/components/page/page-footer/page-footer.component.d.ts +3 -0
  300. package/lib/components/page/page.component.d.ts +26 -0
  301. package/lib/components/page/page.module.d.ts +10 -0
  302. package/lib/components/popover/popover.component.d.ts +4 -1
  303. package/lib/components/progress-circle/progress-circle-ring.component.d.ts +3 -0
  304. package/lib/components/progress-circle/progress-circle.component.d.ts +3 -0
  305. package/lib/components/radio/radio-group/radio-group.component.d.ts +3 -0
  306. package/lib/components/radio/radio.component.d.ts +3 -0
  307. package/lib/components/range/range.component.d.ts +3 -0
  308. package/lib/components/reorder-list/reorder-list.component.d.ts +3 -0
  309. package/lib/components/router-outlet/router-outlet.component.d.ts +3 -0
  310. package/lib/components/router-outlet/router-outlet.module.d.ts +7 -0
  311. package/lib/components/section-header/section-header.component.d.ts +3 -0
  312. package/lib/components/segmented-control/segment-item.d.ts +0 -4
  313. package/lib/components/segmented-control/segmented-control.component.d.ts +4 -1
  314. package/lib/components/shared/component-loader.directive.d.ts +3 -0
  315. package/lib/components/shared/resize-observer/resize-observer.factory.d.ts +3 -0
  316. package/lib/components/shared/resize-observer/resize-observer.service.d.ts +3 -0
  317. package/lib/components/slide-button/slide-button.component.d.ts +3 -0
  318. package/lib/components/slides/slides.component.d.ts +5 -0
  319. package/lib/components/spinner/index.d.ts +2 -0
  320. package/lib/components/spinner/spinner.component.d.ts +3 -0
  321. package/lib/components/spinner/spinner.module.d.ts +6 -0
  322. package/lib/components/stock-chart-deprecated/stock-chart-deprecated.component.d.ts +3 -0
  323. package/lib/components/tabs/tab-button/tab-button.component.d.ts +3 -0
  324. package/lib/components/tabs/tabs.component.d.ts +3 -0
  325. package/lib/components/tabs/tabs.module.d.ts +9 -0
  326. package/lib/components/tabs/tabs.service.d.ts +3 -0
  327. package/lib/components/toast/config/toast-config.d.ts +1 -4
  328. package/lib/components/toast/services/toast.controller.d.ts +3 -0
  329. package/lib/components/toast/services/toast.helper.d.ts +3 -0
  330. package/lib/components/toggle/toggle.component.d.ts +3 -0
  331. package/lib/components/toggle-button/index.d.ts +2 -0
  332. package/lib/components/toggle-button/toggle-button.component.d.ts +3 -0
  333. package/lib/components/toggle-button/toggle-button.module.d.ts +6 -0
  334. package/lib/components/web-component-proxies.component.d.ts +3 -0
  335. package/lib/custom-elements-initializer.d.ts +1 -1
  336. package/lib/directives/element-as-button/element-as-button.directive.d.ts +3 -0
  337. package/lib/directives/fit-heading/fit-heading.directive.d.ts +3 -0
  338. package/lib/directives/fit-heading/fit-heading.module.d.ts +5 -0
  339. package/lib/directives/index.d.ts +2 -0
  340. package/lib/directives/key-handler/key-handler.directive.d.ts +3 -0
  341. package/lib/directives/modal-router-link/modal-router-link.directive.d.ts +3 -0
  342. package/lib/directives/theme-color/theme-color.directive.d.ts +3 -0
  343. package/lib/helpers/line-clamp-helper.d.ts +3 -0
  344. package/lib/helpers/platform.service.d.ts +3 -0
  345. package/lib/index.d.ts +0 -1
  346. package/lib/kirby.module.d.ts +69 -0
  347. package/lib/types/window-ref.d.ts +3 -0
  348. package/package.json +3 -4
  349. package/polyfills/intersection-observer-polyfill-loader.js +12 -12
  350. package/polyfills/resize-observer-polyfill-loader.js +1 -1
  351. package/readme.md +0 -16
  352. package/scss/_trigger-publish.scss +1 -0
  353. package/scss/_trigger.scss +1 -0
  354. package/scss/awesome-stylesheet.scss +1 -0
  355. package/scss/base/_awesome-partial.scss +1 -0
  356. package/scss/base/_index.scss +1 -0
  357. package/scss/base/_interaction-states.scss +1 -0
  358. package/scss/base/_link.scss +1 -0
  359. package/scss/base/index.scss +1 -0
  360. package/scss/interaction-state/_active.scss +1 -0
  361. package/scss/interaction-state/_focus.scss +1 -0
  362. package/scss/interaction-state/_hover.scss +1 -0
  363. package/scss/interaction-state/_index.scss +1 -0
  364. package/scss/interaction-state/_interaction-state.utilities.scss +1 -0
  365. package/scss/interaction-state/_layer.scss +1 -0
  366. package/scss/interaction-state/_state-layer.scss +1 -0
  367. package/scss/interaction-state/_utilities.scss +1 -0
  368. package/scss/interaction-state/ionic/_active.scss +1 -0
  369. package/scss/interaction-state/ionic/_hover.scss +1 -0
  370. package/scss/interaction-state/ionic/_index.scss +1 -0
  371. package/scss/interaction-states/_hover.scss +1 -0
  372. package/scss/interaction-states/_index.scss +1 -0
  373. package/scss/opt-out/_index.scss +1 -0
  374. package/scss/opt-out/_link.scss +1 -0
  375. package/testing-base/kirbydesign-designsystem-testing-base.d.ts +1 -58
  376. package/testing-base/lib/components/index.d.ts +55 -0
  377. package/testing-base/lib/components/mock.accordion-item.component.d.ts +3 -0
  378. package/testing-base/lib/components/mock.action-sheet.component.d.ts +3 -0
  379. package/testing-base/lib/components/mock.app.component.d.ts +3 -0
  380. package/testing-base/lib/components/mock.avatar.component.d.ts +4 -1
  381. package/testing-base/lib/components/mock.button.component.d.ts +4 -1
  382. package/testing-base/lib/components/mock.calendar.component.d.ts +4 -0
  383. package/testing-base/lib/components/mock.card-footer.component.d.ts +3 -0
  384. package/testing-base/lib/components/mock.card-header.component.d.ts +3 -0
  385. package/testing-base/lib/components/mock.card.component.d.ts +3 -0
  386. package/testing-base/lib/components/mock.chart-deprecated.component.d.ts +3 -0
  387. package/testing-base/lib/components/mock.chart.component.d.ts +5 -3
  388. package/testing-base/lib/components/mock.checkbox.component.d.ts +3 -0
  389. package/testing-base/lib/components/mock.chip.component.d.ts +3 -0
  390. package/testing-base/lib/components/mock.divider.component.d.ts +3 -0
  391. package/testing-base/lib/components/mock.dropdown.component.d.ts +4 -1
  392. package/testing-base/lib/components/mock.empty-state.component.d.ts +3 -0
  393. package/testing-base/lib/components/mock.fab-sheet.component.d.ts +3 -0
  394. package/testing-base/lib/components/mock.flag.component.d.ts +3 -0
  395. package/testing-base/lib/components/mock.form-field-message.component.d.ts +3 -0
  396. package/testing-base/lib/components/mock.form-field.component.d.ts +3 -0
  397. package/testing-base/lib/components/mock.grid.component.d.ts +3 -0
  398. package/testing-base/lib/components/mock.icon.component.d.ts +4 -1
  399. package/testing-base/lib/components/mock.input-counter.component.d.ts +3 -0
  400. package/testing-base/lib/components/mock.input.component.d.ts +4 -1
  401. package/testing-base/lib/components/mock.item-group.component.d.ts +3 -0
  402. package/testing-base/lib/components/mock.item-sliding.component.d.ts +3 -0
  403. package/testing-base/lib/components/mock.item.component.d.ts +4 -1
  404. package/testing-base/lib/components/mock.label.component.d.ts +3 -0
  405. package/testing-base/lib/components/mock.list-experimental.component.d.ts +3 -0
  406. package/testing-base/lib/components/mock.list-header.component.d.ts +3 -0
  407. package/testing-base/lib/components/mock.list-item.component.d.ts +3 -0
  408. package/testing-base/lib/components/mock.list-section-header.component.d.ts +3 -0
  409. package/testing-base/lib/components/mock.list.component.d.ts +3 -0
  410. package/testing-base/lib/components/mock.loading-overlay.component.d.ts +3 -0
  411. package/testing-base/lib/components/mock.modal-footer.component.d.ts +3 -0
  412. package/testing-base/lib/components/mock.page-footer.component.d.ts +3 -0
  413. package/testing-base/lib/components/mock.page.component.d.ts +24 -0
  414. package/testing-base/lib/components/mock.popover.component.d.ts +4 -1
  415. package/testing-base/lib/components/mock.progress-circle.component.d.ts +3 -0
  416. package/testing-base/lib/components/mock.radio-group.component.d.ts +3 -0
  417. package/testing-base/lib/components/mock.radio.component.d.ts +3 -0
  418. package/testing-base/lib/components/mock.range.component.d.ts +3 -0
  419. package/testing-base/lib/components/mock.reorder-list.component.d.ts +3 -0
  420. package/testing-base/lib/components/mock.router-outlet.component.d.ts +3 -0
  421. package/testing-base/lib/components/mock.section-header.component.d.ts +3 -0
  422. package/testing-base/lib/components/mock.segmented-control.component.d.ts +4 -1
  423. package/testing-base/lib/components/mock.slide-button.component.d.ts +3 -0
  424. package/testing-base/lib/components/mock.slides.component.d.ts +11 -0
  425. package/testing-base/lib/components/mock.spinner.component.d.ts +3 -0
  426. package/testing-base/lib/components/mock.tab-button.component.d.ts +3 -0
  427. package/testing-base/lib/components/mock.tabs.component.d.ts +3 -0
  428. package/testing-base/lib/components/mock.textarea.component.d.ts +3 -0
  429. package/testing-base/lib/components/mock.toggle-button.component.d.ts +3 -0
  430. package/testing-base/lib/components/mock.toggle.component.d.ts +3 -0
  431. package/testing-base/lib/components/mock.web-component-proxies.component.d.ts +8 -0
  432. package/testing-base/lib/directives/index.d.ts +3 -0
  433. package/testing-base/lib/directives/mock.accordion.directive.d.ts +3 -0
  434. package/testing-base/lib/directives/mock.fit-heading.directive.d.ts +3 -0
  435. package/testing-base/lib/directives/mock.theme-color.directive.d.ts +3 -0
  436. package/testing-base/lib/index.d.ts +3 -0
  437. package/testing-base/lib/kirby-testing-base.module.d.ts +61 -0
  438. package/testing-base/package.json +0 -1
  439. package/testing-base/public_api.d.ts +1 -1
  440. package/testing-jasmine/kirbydesign-designsystem-testing-jasmine.d.ts +1 -1
  441. package/testing-jasmine/lib/kirby-testing.module.d.ts +5 -0
  442. package/testing-jasmine/package.json +0 -1
  443. package/testing-jest/kirbydesign-designsystem-testing-jest.d.ts +1 -1
  444. package/testing-jest/lib/kirby-testing.module.d.ts +5 -0
  445. package/testing-jest/package.json +0 -1
  446. package/README.md +0 -7
  447. package/bundles/kirbydesign-designsystem-testing-base.umd.min.js +0 -2
  448. package/bundles/kirbydesign-designsystem-testing-base.umd.min.js.map +0 -1
  449. package/bundles/kirbydesign-designsystem-testing-jasmine.umd.min.js +0 -16
  450. package/bundles/kirbydesign-designsystem-testing-jasmine.umd.min.js.map +0 -1
  451. package/bundles/kirbydesign-designsystem-testing-jest.umd.min.js +0 -16
  452. package/bundles/kirbydesign-designsystem-testing-jest.umd.min.js.map +0 -1
  453. package/bundles/kirbydesign-designsystem.umd.min.js +0 -2
  454. package/bundles/kirbydesign-designsystem.umd.min.js.map +0 -1
  455. package/esm2015/index.metadata.json +0 -1
  456. package/esm2015/kirbydesign-designsystem.metadata.json +0 -1
  457. package/esm2015/lib/components/accordion/accordion-item.component.metadata.json +0 -1
  458. package/esm2015/lib/components/accordion/accordion.directive.metadata.json +0 -1
  459. package/esm2015/lib/components/accordion/index.metadata.json +0 -1
  460. package/esm2015/lib/components/angular-component-lib/utils.metadata.json +0 -1
  461. package/esm2015/lib/components/app/app.component.metadata.json +0 -1
  462. package/esm2015/lib/components/app/app.module.metadata.json +0 -1
  463. package/esm2015/lib/components/app/index.metadata.json +0 -1
  464. package/esm2015/lib/components/avatar/avatar.component.metadata.json +0 -1
  465. package/esm2015/lib/components/button/button.component.metadata.json +0 -1
  466. package/esm2015/lib/components/calendar/calendar.component.metadata.json +0 -1
  467. package/esm2015/lib/components/calendar/helpers/calendar-cell.model.metadata.json +0 -1
  468. package/esm2015/lib/components/calendar/helpers/calendar-options.model.metadata.json +0 -1
  469. package/esm2015/lib/components/calendar/helpers/calendar.helper.metadata.json +0 -1
  470. package/esm2015/lib/components/calendar/index.metadata.json +0 -1
  471. package/esm2015/lib/components/calendar/options/calendar-year-navigator-config.metadata.json +0 -1
  472. package/esm2015/lib/components/card/card-footer/card-footer.component.metadata.json +0 -1
  473. package/esm2015/lib/components/card/card-header/card-header.component.metadata.json +0 -1
  474. package/esm2015/lib/components/card/card.component.metadata.json +0 -1
  475. package/esm2015/lib/components/card/index.metadata.json +0 -1
  476. package/esm2015/lib/components/chart/chart-js/chart-js.service.metadata.json +0 -1
  477. package/esm2015/lib/components/chart/chart-js/chartjs-plugin-marker/chartjs-plugin-marker.metadata.json +0 -1
  478. package/esm2015/lib/components/chart/chart-js/configured-chart-js.metadata.json +0 -1
  479. package/esm2015/lib/components/chart/chart.component.metadata.json +0 -1
  480. package/esm2015/lib/components/chart/chart.module.metadata.json +0 -1
  481. package/esm2015/lib/components/chart/chart.types.metadata.json +0 -1
  482. package/esm2015/lib/components/chart/configs/annotations.config.metadata.json +0 -1
  483. package/esm2015/lib/components/chart/configs/chart-config.service.metadata.json +0 -1
  484. package/esm2015/lib/components/chart/configs/global-defaults.config.metadata.json +0 -1
  485. package/esm2015/lib/components/chart/configs/interaction-functions-extensions.config.metadata.json +0 -1
  486. package/esm2015/lib/components/chart/configs/shared.utils.metadata.json +0 -1
  487. package/esm2015/lib/components/chart/configs/type.config.metadata.json +0 -1
  488. package/esm2015/lib/components/chart/index.metadata.json +0 -1
  489. package/esm2015/lib/components/chart-deprecated/chart-deprecated-helper.metadata.json +0 -1
  490. package/esm2015/lib/components/chart-deprecated/chart-deprecated-type.metadata.json +0 -1
  491. package/esm2015/lib/components/chart-deprecated/chart-deprecated.component.metadata.json +0 -1
  492. package/esm2015/lib/components/chart-deprecated/index.metadata.json +0 -1
  493. package/esm2015/lib/components/chart-deprecated/options/activitygauge.metadata.json +0 -1
  494. package/esm2015/lib/components/chart-deprecated/options/areaspline.metadata.json +0 -1
  495. package/esm2015/lib/components/chart-deprecated/options/bar.metadata.json +0 -1
  496. package/esm2015/lib/components/chart-deprecated/options/column.metadata.json +0 -1
  497. package/esm2015/lib/components/chart-deprecated/options/donut.metadata.json +0 -1
  498. package/esm2015/lib/components/chart-deprecated/options/timeseries.metadata.json +0 -1
  499. package/esm2015/lib/components/checkbox/checkbox.component.metadata.json +0 -1
  500. package/esm2015/lib/components/chip/chip.component.metadata.json +0 -1
  501. package/esm2015/lib/components/divider/divider.component.metadata.json +0 -1
  502. package/esm2015/lib/components/dropdown/dropdown.component.metadata.json +0 -1
  503. package/esm2015/lib/components/dropdown/dropdown.types.metadata.json +0 -1
  504. package/esm2015/lib/components/dropdown/keyboard-handler.service.metadata.json +0 -1
  505. package/esm2015/lib/components/empty-state/empty-state.component.metadata.json +0 -1
  506. package/esm2015/lib/components/fab-sheet/fab-sheet.component.metadata.json +0 -1
  507. package/esm2015/lib/components/flag/flag.component.metadata.json +0 -1
  508. package/esm2015/lib/components/form-field/directives/date/date-input.directive.metadata.json +0 -1
  509. package/esm2015/lib/components/form-field/directives/decimal-mask/decimal-mask.directive.metadata.json +0 -1
  510. package/esm2015/lib/components/form-field/form-field-message/form-field-message.component.metadata.json +0 -1
  511. package/esm2015/lib/components/form-field/form-field.component.metadata.json +0 -1
  512. package/esm2015/lib/components/form-field/index.metadata.json +0 -1
  513. package/esm2015/lib/components/form-field/input/input.component.metadata.json +0 -1
  514. package/esm2015/lib/components/form-field/input-counter/input-counter.component.metadata.json +0 -1
  515. package/esm2015/lib/components/form-field/textarea/textarea.component.metadata.json +0 -1
  516. package/esm2015/lib/components/grid/breakpoint-helper.service.metadata.json +0 -1
  517. package/esm2015/lib/components/grid/grid-card-configuration.metadata.json +0 -1
  518. package/esm2015/lib/components/grid/grid.component.metadata.json +0 -1
  519. package/esm2015/lib/components/icon/icon-registry.service.metadata.json +0 -1
  520. package/esm2015/lib/components/icon/icon-settings.metadata.json +0 -1
  521. package/esm2015/lib/components/icon/icon.component.metadata.json +0 -1
  522. package/esm2015/lib/components/icon/icon.module.metadata.json +0 -1
  523. package/esm2015/lib/components/icon/index.metadata.json +0 -1
  524. package/esm2015/lib/components/icon/kirby-icon-settings.metadata.json +0 -1
  525. package/esm2015/lib/components/index.metadata.json +0 -1
  526. package/esm2015/lib/components/item/index.metadata.json +0 -1
  527. package/esm2015/lib/components/item/item.component.metadata.json +0 -1
  528. package/esm2015/lib/components/item/item.module.metadata.json +0 -1
  529. package/esm2015/lib/components/item/label/label.component.metadata.json +0 -1
  530. package/esm2015/lib/components/item-group/item-group.component.metadata.json +0 -1
  531. package/esm2015/lib/components/item-sliding/index.metadata.json +0 -1
  532. package/esm2015/lib/components/item-sliding/item-sliding.component.metadata.json +0 -1
  533. package/esm2015/lib/components/item-sliding/item-sliding.types.metadata.json +0 -1
  534. package/esm2015/lib/components/list/directives/infinite-scroll.directive.metadata.json +0 -1
  535. package/esm2015/lib/components/list/directives/list-item-color.directive.metadata.json +0 -1
  536. package/esm2015/lib/components/list/directives/scroll.model.metadata.json +0 -1
  537. package/esm2015/lib/components/list/helpers/list-helper.metadata.json +0 -1
  538. package/esm2015/lib/components/list/index.metadata.json +0 -1
  539. package/esm2015/lib/components/list/list-experimental/list-experimental.component.metadata.json +0 -1
  540. package/esm2015/lib/components/list/list-header/list-header.component.metadata.json +0 -1
  541. package/esm2015/lib/components/list/list-item/list-item.component.metadata.json +0 -1
  542. package/esm2015/lib/components/list/list-section-header/list-section-header.component.metadata.json +0 -1
  543. package/esm2015/lib/components/list/list-swipe-action.type.metadata.json +0 -1
  544. package/esm2015/lib/components/list/list.component.metadata.json +0 -1
  545. package/esm2015/lib/components/list/list.directive.metadata.json +0 -1
  546. package/esm2015/lib/components/list/list.event.metadata.json +0 -1
  547. package/esm2015/lib/components/list/list.module.metadata.json +0 -1
  548. package/esm2015/lib/components/list/pipes/group-by.pipe.metadata.json +0 -1
  549. package/esm2015/lib/components/loading-overlay/index.metadata.json +0 -1
  550. package/esm2015/lib/components/loading-overlay/loading-overlay.component.metadata.json +0 -1
  551. package/esm2015/lib/components/loading-overlay/loading-overlay.service.metadata.json +0 -1
  552. package/esm2015/lib/components/modal/action-sheet/action-sheet.component.metadata.json +0 -1
  553. package/esm2015/lib/components/modal/action-sheet/config/action-sheet-config.metadata.json +0 -1
  554. package/esm2015/lib/components/modal/action-sheet/config/action-sheet-item.metadata.json +0 -1
  555. package/esm2015/lib/components/modal/alert/alert.component.metadata.json +0 -1
  556. package/esm2015/lib/components/modal/alert/config/alert-config.metadata.json +0 -1
  557. package/esm2015/lib/components/modal/footer/modal-footer.component.metadata.json +0 -1
  558. package/esm2015/lib/components/modal/index.metadata.json +0 -1
  559. package/esm2015/lib/components/modal/modal-wrapper/compact/modal-compact-wrapper.component.metadata.json +0 -1
  560. package/esm2015/lib/components/modal/modal-wrapper/config/drawer-supplementary-action.metadata.json +0 -1
  561. package/esm2015/lib/components/modal/modal-wrapper/config/modal-config.helper.metadata.json +0 -1
  562. package/esm2015/lib/components/modal/modal-wrapper/config/modal-config.metadata.json +0 -1
  563. package/esm2015/lib/components/modal/modal-wrapper/modal-wrapper.component.metadata.json +0 -1
  564. package/esm2015/lib/components/modal/services/action-sheet.helper.metadata.json +0 -1
  565. package/esm2015/lib/components/modal/services/alert.helper.metadata.json +0 -1
  566. package/esm2015/lib/components/modal/services/modal-animation-builder.service.metadata.json +0 -1
  567. package/esm2015/lib/components/modal/services/modal-navigation.service.metadata.json +0 -1
  568. package/esm2015/lib/components/modal/services/modal.controller.metadata.json +0 -1
  569. package/esm2015/lib/components/modal/services/modal.helper.metadata.json +0 -1
  570. package/esm2015/lib/components/modal/services/modal.interfaces.metadata.json +0 -1
  571. package/esm2015/lib/components/page/index.metadata.json +0 -1
  572. package/esm2015/lib/components/page/page-footer/page-footer.component.metadata.json +0 -1
  573. package/esm2015/lib/components/page/page.component.metadata.json +0 -1
  574. package/esm2015/lib/components/page/page.module.metadata.json +0 -1
  575. package/esm2015/lib/components/popover/popover.component.metadata.json +0 -1
  576. package/esm2015/lib/components/progress-circle/progress-circle-ring.component.metadata.json +0 -1
  577. package/esm2015/lib/components/progress-circle/progress-circle.component.metadata.json +0 -1
  578. package/esm2015/lib/components/radio/index.metadata.json +0 -1
  579. package/esm2015/lib/components/radio/radio-group/radio-group.component.metadata.json +0 -1
  580. package/esm2015/lib/components/radio/radio.component.metadata.json +0 -1
  581. package/esm2015/lib/components/range/range.component.metadata.json +0 -1
  582. package/esm2015/lib/components/reorder-list/index.metadata.json +0 -1
  583. package/esm2015/lib/components/reorder-list/reorder-event.metadata.json +0 -1
  584. package/esm2015/lib/components/reorder-list/reorder-list.component.metadata.json +0 -1
  585. package/esm2015/lib/components/router-outlet/index.metadata.json +0 -1
  586. package/esm2015/lib/components/router-outlet/router-outlet.component.metadata.json +0 -1
  587. package/esm2015/lib/components/router-outlet/router-outlet.module.metadata.json +0 -1
  588. package/esm2015/lib/components/section-header/section-header.component.metadata.json +0 -1
  589. package/esm2015/lib/components/segmented-control/segment-item.metadata.json +0 -1
  590. package/esm2015/lib/components/segmented-control/segmented-control.component.metadata.json +0 -1
  591. package/esm2015/lib/components/shared/component-configuration.metadata.json +0 -1
  592. package/esm2015/lib/components/shared/component-loader.directive.metadata.json +0 -1
  593. package/esm2015/lib/components/shared/dynamic-component.metadata.json +0 -1
  594. package/esm2015/lib/components/shared/index.metadata.json +0 -1
  595. package/esm2015/lib/components/shared/resize-observer/resize-observer.factory.metadata.json +0 -1
  596. package/esm2015/lib/components/shared/resize-observer/resize-observer.service.metadata.json +0 -1
  597. package/esm2015/lib/components/shared/resize-observer/types/resize-observer-callback.metadata.json +0 -1
  598. package/esm2015/lib/components/shared/resize-observer/types/resize-observer-entry.metadata.json +0 -1
  599. package/esm2015/lib/components/shared/resize-observer/types/resize-observer.metadata.json +0 -1
  600. package/esm2015/lib/components/slide-button/slide-button.component.metadata.json +0 -1
  601. package/esm2015/lib/components/slides/slides.component.metadata.json +0 -1
  602. package/esm2015/lib/components/spinner/spinner.component.metadata.json +0 -1
  603. package/esm2015/lib/components/spinner/spinner.module.metadata.json +0 -1
  604. package/esm2015/lib/components/stock-chart-deprecated/index.metadata.json +0 -1
  605. package/esm2015/lib/components/stock-chart-deprecated/options/stock-chart-deprecated-options.metadata.json +0 -1
  606. package/esm2015/lib/components/stock-chart-deprecated/stock-chart-deprecated.component.metadata.json +0 -1
  607. package/esm2015/lib/components/tabs/index.metadata.json +0 -1
  608. package/esm2015/lib/components/tabs/tab-button/tab-button.component.metadata.json +0 -1
  609. package/esm2015/lib/components/tabs/tab-button/tab-button.events.metadata.json +0 -1
  610. package/esm2015/lib/components/tabs/tabs.component.metadata.json +0 -1
  611. package/esm2015/lib/components/tabs/tabs.module.metadata.json +0 -1
  612. package/esm2015/lib/components/tabs/tabs.service.metadata.json +0 -1
  613. package/esm2015/lib/components/toast/config/toast-config.metadata.json +0 -1
  614. package/esm2015/lib/components/toast/index.metadata.json +0 -1
  615. package/esm2015/lib/components/toast/services/toast.controller.metadata.json +0 -1
  616. package/esm2015/lib/components/toast/services/toast.helper.metadata.json +0 -1
  617. package/esm2015/lib/components/toggle/toggle.component.metadata.json +0 -1
  618. package/esm2015/lib/components/toggle-button/toggle-button.component.metadata.json +0 -1
  619. package/esm2015/lib/components/toggle-button/toggle-button.module.metadata.json +0 -1
  620. package/esm2015/lib/components/web-component-proxies.component.metadata.json +0 -1
  621. package/esm2015/lib/custom-elements-initializer.metadata.json +0 -1
  622. package/esm2015/lib/directives/element-as-button/element-as-button.directive.metadata.json +0 -1
  623. package/esm2015/lib/directives/fit-heading/fit-heading.directive.metadata.json +0 -1
  624. package/esm2015/lib/directives/fit-heading/fit-heading.module.metadata.json +0 -1
  625. package/esm2015/lib/directives/index.metadata.json +0 -1
  626. package/esm2015/lib/directives/key-handler/key-handler.directive.metadata.json +0 -1
  627. package/esm2015/lib/directives/modal-router-link/modal-router-link.directive.metadata.json +0 -1
  628. package/esm2015/lib/directives/theme-color/theme-color.directive.metadata.json +0 -1
  629. package/esm2015/lib/helpers/color-helper.metadata.json +0 -1
  630. package/esm2015/lib/helpers/deep-copy.metadata.json +0 -1
  631. package/esm2015/lib/helpers/design-token-helper.metadata.json +0 -1
  632. package/esm2015/lib/helpers/element-has-ancestor.metadata.json +0 -1
  633. package/esm2015/lib/helpers/index.metadata.json +0 -1
  634. package/esm2015/lib/helpers/line-clamp-helper.metadata.json +0 -1
  635. package/esm2015/lib/helpers/merge-deep.metadata.json +0 -1
  636. package/esm2015/lib/helpers/platform.service.metadata.json +0 -1
  637. package/esm2015/lib/helpers/string-helper.metadata.json +0 -1
  638. package/esm2015/lib/helpers/theme-color.type.metadata.json +0 -1
  639. package/esm2015/lib/helpers/unique-id-generator.helper.metadata.json +0 -1
  640. package/esm2015/lib/index.metadata.json +0 -1
  641. package/esm2015/lib/kirby.module.metadata.json +0 -1
  642. package/esm2015/lib/scss/scss-helper.metadata.json +0 -1
  643. package/esm2015/lib/types/window-ref.metadata.json +0 -1
  644. package/esm2015/testing-base/kirbydesign-designsystem-testing-base.metadata.json +0 -1
  645. package/esm2015/testing-base/lib/components/mock.accordion-item.component.metadata.json +0 -1
  646. package/esm2015/testing-base/lib/components/mock.action-sheet.component.metadata.json +0 -1
  647. package/esm2015/testing-base/lib/components/mock.app.component.metadata.json +0 -1
  648. package/esm2015/testing-base/lib/components/mock.avatar.component.metadata.json +0 -1
  649. package/esm2015/testing-base/lib/components/mock.button.component.metadata.json +0 -1
  650. package/esm2015/testing-base/lib/components/mock.calendar.component.metadata.json +0 -1
  651. package/esm2015/testing-base/lib/components/mock.card-footer.component.metadata.json +0 -1
  652. package/esm2015/testing-base/lib/components/mock.card-header.component.metadata.json +0 -1
  653. package/esm2015/testing-base/lib/components/mock.card.component.metadata.json +0 -1
  654. package/esm2015/testing-base/lib/components/mock.chart-deprecated.component.metadata.json +0 -1
  655. package/esm2015/testing-base/lib/components/mock.chart.component.metadata.json +0 -1
  656. package/esm2015/testing-base/lib/components/mock.checkbox.component.metadata.json +0 -1
  657. package/esm2015/testing-base/lib/components/mock.chip.component.metadata.json +0 -1
  658. package/esm2015/testing-base/lib/components/mock.divider.component.metadata.json +0 -1
  659. package/esm2015/testing-base/lib/components/mock.dropdown.component.metadata.json +0 -1
  660. package/esm2015/testing-base/lib/components/mock.empty-state.component.metadata.json +0 -1
  661. package/esm2015/testing-base/lib/components/mock.fab-sheet.component.metadata.json +0 -1
  662. package/esm2015/testing-base/lib/components/mock.flag.component.metadata.json +0 -1
  663. package/esm2015/testing-base/lib/components/mock.form-field-message.component.metadata.json +0 -1
  664. package/esm2015/testing-base/lib/components/mock.form-field.component.metadata.json +0 -1
  665. package/esm2015/testing-base/lib/components/mock.grid.component.metadata.json +0 -1
  666. package/esm2015/testing-base/lib/components/mock.icon.component.metadata.json +0 -1
  667. package/esm2015/testing-base/lib/components/mock.input-counter.component.metadata.json +0 -1
  668. package/esm2015/testing-base/lib/components/mock.input.component.metadata.json +0 -1
  669. package/esm2015/testing-base/lib/components/mock.item-group.component.metadata.json +0 -1
  670. package/esm2015/testing-base/lib/components/mock.item-sliding.component.metadata.json +0 -1
  671. package/esm2015/testing-base/lib/components/mock.item.component.metadata.json +0 -1
  672. package/esm2015/testing-base/lib/components/mock.label.component.metadata.json +0 -1
  673. package/esm2015/testing-base/lib/components/mock.list-experimental.component.metadata.json +0 -1
  674. package/esm2015/testing-base/lib/components/mock.list-header.component.metadata.json +0 -1
  675. package/esm2015/testing-base/lib/components/mock.list-item.component.metadata.json +0 -1
  676. package/esm2015/testing-base/lib/components/mock.list-section-header.component.metadata.json +0 -1
  677. package/esm2015/testing-base/lib/components/mock.list.component.metadata.json +0 -1
  678. package/esm2015/testing-base/lib/components/mock.loading-overlay.component.metadata.json +0 -1
  679. package/esm2015/testing-base/lib/components/mock.modal-footer.component.metadata.json +0 -1
  680. package/esm2015/testing-base/lib/components/mock.page-footer.component.metadata.json +0 -1
  681. package/esm2015/testing-base/lib/components/mock.page.component.metadata.json +0 -1
  682. package/esm2015/testing-base/lib/components/mock.popover.component.metadata.json +0 -1
  683. package/esm2015/testing-base/lib/components/mock.progress-circle.component.metadata.json +0 -1
  684. package/esm2015/testing-base/lib/components/mock.radio-group.component.metadata.json +0 -1
  685. package/esm2015/testing-base/lib/components/mock.radio.component.metadata.json +0 -1
  686. package/esm2015/testing-base/lib/components/mock.range.component.metadata.json +0 -1
  687. package/esm2015/testing-base/lib/components/mock.reorder-list.component.metadata.json +0 -1
  688. package/esm2015/testing-base/lib/components/mock.router-outlet.component.metadata.json +0 -1
  689. package/esm2015/testing-base/lib/components/mock.section-header.component.metadata.json +0 -1
  690. package/esm2015/testing-base/lib/components/mock.segmented-control.component.metadata.json +0 -1
  691. package/esm2015/testing-base/lib/components/mock.slide-button.component.metadata.json +0 -1
  692. package/esm2015/testing-base/lib/components/mock.spinner.component.metadata.json +0 -1
  693. package/esm2015/testing-base/lib/components/mock.tab-button.component.metadata.json +0 -1
  694. package/esm2015/testing-base/lib/components/mock.tabs.component.metadata.json +0 -1
  695. package/esm2015/testing-base/lib/components/mock.textarea.component.metadata.json +0 -1
  696. package/esm2015/testing-base/lib/components/mock.toggle-button.component.metadata.json +0 -1
  697. package/esm2015/testing-base/lib/components/mock.toggle.component.metadata.json +0 -1
  698. package/esm2015/testing-base/lib/directives/mock.accordion.directive.metadata.json +0 -1
  699. package/esm2015/testing-base/lib/directives/mock.fit-heading.directive.metadata.json +0 -1
  700. package/esm2015/testing-base/lib/directives/mock.theme-color.directive.metadata.json +0 -1
  701. package/esm2015/testing-base/lib/kirby-testing-base.module.metadata.json +0 -1
  702. package/esm2015/testing-base/lib/mock-components.metadata.json +0 -1
  703. package/esm2015/testing-base/lib/mock-directives.metadata.json +0 -1
  704. package/esm2015/testing-base/public_api.metadata.json +0 -1
  705. package/esm2015/testing-jasmine/kirbydesign-designsystem-testing-jasmine.metadata.json +0 -1
  706. package/esm2015/testing-jasmine/lib/kirby-testing.module.metadata.json +0 -1
  707. package/esm2015/testing-jasmine/lib/mock-providers.metadata.json +0 -1
  708. package/esm2015/testing-jasmine/public_api.metadata.json +0 -1
  709. package/esm2015/testing-jest/kirbydesign-designsystem-testing-jest.metadata.json +0 -1
  710. package/esm2015/testing-jest/lib/kirby-testing.module.metadata.json +0 -1
  711. package/esm2015/testing-jest/lib/mock-providers.metadata.json +0 -1
  712. package/esm2015/testing-jest/public_api.metadata.json +0 -1
  713. package/kirbydesign-designsystem.metadata.json +0 -1
  714. package/testing-base/kirbydesign-designsystem-testing-base.metadata.json +0 -1
  715. package/testing-jasmine/kirbydesign-designsystem-testing-jasmine.metadata.json +0 -1
  716. package/testing-jest/kirbydesign-designsystem-testing-jest.metadata.json +0 -1
@@ -10,6 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { EventEmitter, Injectable } from '@angular/core';
11
11
  import { ModalController } from '@ionic/angular';
12
12
  import { ActionSheetComponent } from '../action-sheet/action-sheet.component';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@ionic/angular";
13
15
  export class ActionSheetHelper {
14
16
  constructor(ionicModalController) {
15
17
  this.ionicModalController = ionicModalController;
@@ -40,11 +42,9 @@ export class ActionSheetHelper {
40
42
  });
41
43
  }
42
44
  }
43
- ActionSheetHelper.decorators = [
44
- { type: Injectable }
45
- ];
46
- /** @nocollapse */
47
- ActionSheetHelper.ctorParameters = () => [
48
- { type: ModalController }
49
- ];
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNoZWV0LmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9zZXJ2aWNlcy9hY3Rpb24tc2hlZXQuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQU85RSxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQW9CLG9CQUFxQztRQUFyQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQWlCO0lBQUcsQ0FBQztJQUVoRCxlQUFlLENBQUMsTUFBeUI7O1lBQ3BELE1BQU0sTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7WUFDbEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7WUFFdkQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO2dCQUN0RCxTQUFTLEVBQUUsb0JBQW9CO2dCQUMvQixRQUFRLEVBQUUsQ0FBQyxlQUFlLEVBQUUsb0JBQW9CLENBQUM7Z0JBQ2pELGNBQWMsa0NBQ1QsTUFBTSxLQUNULE1BQU0sRUFBRSxNQUFNLEVBQ2QsVUFBVSxFQUFFLFVBQVUsR0FDdkI7Z0JBQ0QsZUFBZSxFQUFFLElBQUk7YUFDdEIsQ0FBQyxDQUFDO1lBRUgsTUFBTSxrQkFBa0IsR0FBaUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNwRixNQUFNLHNCQUFzQixHQUFpQixVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDekUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FDdkIsQ0FBQztZQUNGLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3RCLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNqQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QyxDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDeEMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZDLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWSxFQUFFO2FBQ3RDLENBQUM7UUFDSixDQUFDO0tBQUE7OztZQW5DRixVQUFVOzs7O1lBVEYsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFjdGlvblNoZWV0Q29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9uLXNoZWV0L2FjdGlvbi1zaGVldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aW9uU2hlZXRDb25maWcgfSBmcm9tICcuLi9hY3Rpb24tc2hlZXQvY29uZmlnL2FjdGlvbi1zaGVldC1jb25maWcnO1xuaW1wb3J0IHsgQWN0aW9uU2hlZXRJdGVtIH0gZnJvbSAnLi4vYWN0aW9uLXNoZWV0L2NvbmZpZy9hY3Rpb24tc2hlZXQtaXRlbSc7XG5cbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICcuL21vZGFsLmludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWN0aW9uU2hlZXRIZWxwZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGlvbmljTW9kYWxDb250cm9sbGVyOiBNb2RhbENvbnRyb2xsZXIpIHt9XG5cbiAgcHVibGljIGFzeW5jIHNob3dBY3Rpb25TaGVldChjb25maWc6IEFjdGlvblNoZWV0Q29uZmlnKTogUHJvbWlzZTxPdmVybGF5PiB7XG4gICAgY29uc3QgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIGNvbnN0IGl0ZW1TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGlvblNoZWV0SXRlbT4oKTtcblxuICAgIGNvbnN0IGlvbk1vZGFsID0gYXdhaXQgdGhpcy5pb25pY01vZGFsQ29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBBY3Rpb25TaGVldENvbXBvbmVudCxcbiAgICAgIGNzc0NsYXNzOiBbJ2tpcmJ5LW92ZXJsYXknLCAna2lyYnktYWN0aW9uLXNoZWV0J10sXG4gICAgICBjb21wb25lbnRQcm9wczoge1xuICAgICAgICAuLi5jb25maWcsXG4gICAgICAgIGNhbmNlbDogY2FuY2VsLFxuICAgICAgICBpdGVtU2VsZWN0OiBpdGVtU2VsZWN0LFxuICAgICAgfSxcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNhbmNlbFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gY2FuY2VsLnN1YnNjcmliZSgoKSA9PiBpb25Nb2RhbC5kaXNtaXNzKCkpO1xuICAgIGNvbnN0IGl0ZW1TZWxlY3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IGl0ZW1TZWxlY3Quc3Vic2NyaWJlKChpdGVtKSA9PlxuICAgICAgaW9uTW9kYWwuZGlzbWlzcyhpdGVtKVxuICAgICk7XG4gICAgY29uc3Qgb25EaWREaXNtaXNzID0gaW9uTW9kYWwub25EaWREaXNtaXNzKCk7XG4gICAgb25EaWREaXNtaXNzLnRoZW4oKF8pID0+IHtcbiAgICAgIGNhbmNlbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgaXRlbVNlbGVjdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgaW9uTW9kYWwucHJlc2VudCgpO1xuICAgIHJldHVybiB7XG4gICAgICBkaXNtaXNzOiBpb25Nb2RhbC5kaXNtaXNzLmJpbmQoaW9uTW9kYWwpLFxuICAgICAgb25XaWxsRGlzbWlzczogaW9uTW9kYWwub25XaWxsRGlzbWlzcygpLFxuICAgICAgb25EaWREaXNtaXNzOiBpb25Nb2RhbC5vbkRpZERpc21pc3MoKSxcbiAgICB9O1xuICB9XG59XG4iXX0=
45
+ /** @nocollapse */ ActionSheetHelper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ActionSheetHelper, deps: [{ token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Injectable });
46
+ /** @nocollapse */ ActionSheetHelper.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ActionSheetHelper });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ActionSheetHelper, decorators: [{
48
+ type: Injectable
49
+ }], ctorParameters: function () { return [{ type: i1.ModalController }]; } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNoZWV0LmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9zZXJ2aWNlcy9hY3Rpb24tc2hlZXQuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBTzlFLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBb0Isb0JBQXFDO1FBQXJDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBaUI7SUFBRyxDQUFDO0lBRWhELGVBQWUsQ0FBQyxNQUF5Qjs7WUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNsQyxNQUFNLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztZQUV2RCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7Z0JBQ3RELFNBQVMsRUFBRSxvQkFBb0I7Z0JBQy9CLFFBQVEsRUFBRSxDQUFDLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQztnQkFDakQsY0FBYyxrQ0FDVCxNQUFNLEtBQ1QsTUFBTSxFQUFFLE1BQU0sRUFDZCxVQUFVLEVBQUUsVUFBVSxHQUN2QjtnQkFDRCxlQUFlLEVBQUUsSUFBSTthQUN0QixDQUFDLENBQUM7WUFFSCxNQUFNLGtCQUFrQixHQUFpQixNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3BGLE1BQU0sc0JBQXNCLEdBQWlCLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUN6RSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUN2QixDQUFDO1lBQ0YsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzdDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDdEIsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2pDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxDQUFDO1lBRUgsTUFBTSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDekIsT0FBTztnQkFDTCxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUN4QyxhQUFhLEVBQUUsUUFBUSxDQUFDLGFBQWEsRUFBRTtnQkFDdkMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZLEVBQUU7YUFDdEMsQ0FBQztRQUNKLENBQUM7S0FBQTs7a0lBbENVLGlCQUFpQjtzSUFBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGFsQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBY3Rpb25TaGVldENvbXBvbmVudCB9IGZyb20gJy4uL2FjdGlvbi1zaGVldC9hY3Rpb24tc2hlZXQuY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGlvblNoZWV0Q29uZmlnIH0gZnJvbSAnLi4vYWN0aW9uLXNoZWV0L2NvbmZpZy9hY3Rpb24tc2hlZXQtY29uZmlnJztcbmltcG9ydCB7IEFjdGlvblNoZWV0SXRlbSB9IGZyb20gJy4uL2FjdGlvbi1zaGVldC9jb25maWcvYWN0aW9uLXNoZWV0LWl0ZW0nO1xuXG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnLi9tb2RhbC5pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFjdGlvblNoZWV0SGVscGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpb25pY01vZGFsQ29udHJvbGxlcjogTW9kYWxDb250cm9sbGVyKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBzaG93QWN0aW9uU2hlZXQoY29uZmlnOiBBY3Rpb25TaGVldENvbmZpZyk6IFByb21pc2U8T3ZlcmxheT4ge1xuICAgIGNvbnN0IGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBjb25zdCBpdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpb25TaGVldEl0ZW0+KCk7XG5cbiAgICBjb25zdCBpb25Nb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogQWN0aW9uU2hlZXRDb21wb25lbnQsXG4gICAgICBjc3NDbGFzczogWydraXJieS1vdmVybGF5JywgJ2tpcmJ5LWFjdGlvbi1zaGVldCddLFxuICAgICAgY29tcG9uZW50UHJvcHM6IHtcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICBjYW5jZWw6IGNhbmNlbCxcbiAgICAgICAgaXRlbVNlbGVjdDogaXRlbVNlbGVjdCxcbiAgICAgIH0sXG4gICAgICBiYWNrZHJvcERpc21pc3M6IHRydWUsXG4gICAgfSk7XG5cbiAgICBjb25zdCBjYW5jZWxTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IGNhbmNlbC5zdWJzY3JpYmUoKCkgPT4gaW9uTW9kYWwuZGlzbWlzcygpKTtcbiAgICBjb25zdCBpdGVtU2VsZWN0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBpdGVtU2VsZWN0LnN1YnNjcmliZSgoaXRlbSkgPT5cbiAgICAgIGlvbk1vZGFsLmRpc21pc3MoaXRlbSlcbiAgICApO1xuICAgIGNvbnN0IG9uRGlkRGlzbWlzcyA9IGlvbk1vZGFsLm9uRGlkRGlzbWlzcygpO1xuICAgIG9uRGlkRGlzbWlzcy50aGVuKChfKSA9PiB7XG4gICAgICBjYW5jZWxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIGl0ZW1TZWxlY3RTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcblxuICAgIGF3YWl0IGlvbk1vZGFsLnByZXNlbnQoKTtcbiAgICByZXR1cm4ge1xuICAgICAgZGlzbWlzczogaW9uTW9kYWwuZGlzbWlzcy5iaW5kKGlvbk1vZGFsKSxcbiAgICAgIG9uV2lsbERpc21pc3M6IGlvbk1vZGFsLm9uV2lsbERpc21pc3MoKSxcbiAgICAgIG9uRGlkRGlzbWlzczogaW9uTW9kYWwub25EaWREaXNtaXNzKCksXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -10,6 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { Injectable } from '@angular/core';
11
11
  import { ModalController } from '@ionic/angular';
12
12
  import { AlertComponent } from '../alert/alert.component';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@ionic/angular";
13
15
  export class AlertHelper {
14
16
  constructor(ionicModalController) {
15
17
  this.ionicModalController = ionicModalController;
@@ -32,14 +34,10 @@ export class AlertHelper {
32
34
  });
33
35
  }
34
36
  getComponentProps(config) {
35
- return Object.assign(Object.assign({}, config), { okBtnText: this.getOkBtnText(config), cancelBtnText: this.getCancelBtnText(config), okBtnIsDestructive: this.getOkBtnIsDestructive(config), iconName: config.icon && config.icon.name, iconThemeColor: config.icon && config.icon.themeColor });
37
+ return Object.assign(Object.assign({}, config), { okBtn: this.getOkBtn(config), cancelBtn: config.cancelBtn, okBtnIsDestructive: this.getOkBtnIsDestructive(config), iconName: config.icon && config.icon.name, iconThemeColor: config.icon && config.icon.themeColor });
36
38
  }
37
- getOkBtnText(config) {
39
+ getOkBtn(config) {
38
40
  let text;
39
- if (config.okBtnText) {
40
- console.warn('`okBtnText` will be deprecated on next major version. Please use `okBtn` instead.');
41
- text = config.okBtnText;
42
- }
43
41
  if (config.okBtn) {
44
42
  if (typeof config.okBtn === 'string') {
45
43
  text = config.okBtn;
@@ -53,18 +51,10 @@ export class AlertHelper {
53
51
  getOkBtnIsDestructive(config) {
54
52
  return typeof config.okBtn === 'object' ? config.okBtn.isDestructive : undefined;
55
53
  }
56
- getCancelBtnText(config) {
57
- if (config.cancelBtnText) {
58
- console.warn('`cancelBtnText` will be deprecated on next major version. Please use `cancelBtn` instead.');
59
- }
60
- return config.cancelBtn || config.cancelBtnText;
61
- }
62
54
  }
63
- AlertHelper.decorators = [
64
- { type: Injectable }
65
- ];
66
- /** @nocollapse */
67
- AlertHelper.ctorParameters = () => [
68
- { type: ModalController }
69
- ];
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL3NlcnZpY2VzL2FsZXJ0LmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJMUQsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFBb0Isb0JBQXFDO1FBQXJDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBaUI7SUFBRyxDQUFDO0lBRWhELFNBQVMsQ0FBQyxNQUFtQjs7WUFDeEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO2dCQUN0RCxTQUFTLEVBQUUsY0FBYztnQkFDekIsY0FBYyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7Z0JBQzlDLFFBQVEsRUFBRSxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUM7Z0JBQzFDLElBQUksRUFBRSxLQUFLO2dCQUNYLGVBQWUsRUFBRSxLQUFLO2FBQ3ZCLENBQUMsQ0FBQztZQUVILE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDeEMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZDLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWSxFQUFFO2FBQ3RDLENBQUM7UUFDSixDQUFDO0tBQUE7SUFFTyxpQkFBaUIsQ0FBQyxNQUFtQjtRQUMzQyx1Q0FDSyxNQUFNLEtBQ1QsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQ3BDLGFBQWEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQzVDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsRUFDdEQsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQ3pDLGNBQWMsRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUNyRDtJQUNKLENBQUM7SUFFTyxZQUFZLENBQUMsTUFBbUI7UUFDdEMsSUFBSSxJQUFZLENBQUM7UUFDakIsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFO1lBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQ1YsbUZBQW1GLENBQ3BGLENBQUM7WUFDRixJQUFJLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUN6QjtRQUNELElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNoQixJQUFJLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUU7Z0JBQ3BDLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO2FBQ3JCO2lCQUFNO2dCQUNMLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzthQUMxQjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQscUJBQXFCLENBQUMsTUFBTTtRQUMxQixPQUFPLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDbkYsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE1BQW1CO1FBQzFDLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUN4QixPQUFPLENBQUMsSUFBSSxDQUNWLDJGQUEyRixDQUM1RixDQUFDO1NBQ0g7UUFDRCxPQUFPLE1BQU0sQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDOzs7WUE3REYsVUFBVTs7OztZQU5GLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb2RhbENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5cbmltcG9ydCB7IEFsZXJ0Q29uZmlnIH0gZnJvbSAnLi4vYWxlcnQvY29uZmlnL2FsZXJ0LWNvbmZpZyc7XG5pbXBvcnQgeyBBbGVydENvbXBvbmVudCB9IGZyb20gJy4uL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnLi9tb2RhbC5pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFsZXJ0SGVscGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpb25pY01vZGFsQ29udHJvbGxlcjogTW9kYWxDb250cm9sbGVyKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBzaG93QWxlcnQoY29uZmlnOiBBbGVydENvbmZpZyk6IFByb21pc2U8T3ZlcmxheT4ge1xuICAgIGNvbnN0IGlvbk1vZGFsID0gYXdhaXQgdGhpcy5pb25pY01vZGFsQ29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBBbGVydENvbXBvbmVudCxcbiAgICAgIGNvbXBvbmVudFByb3BzOiB0aGlzLmdldENvbXBvbmVudFByb3BzKGNvbmZpZyksXG4gICAgICBjc3NDbGFzczogWydraXJieS1vdmVybGF5JywgJ2tpcmJ5LWFsZXJ0J10sXG4gICAgICBtb2RlOiAnaW9zJyxcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogZmFsc2UsXG4gICAgfSk7XG5cbiAgICBhd2FpdCBpb25Nb2RhbC5wcmVzZW50KCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc21pc3M6IGlvbk1vZGFsLmRpc21pc3MuYmluZChpb25Nb2RhbCksXG4gICAgICBvbldpbGxEaXNtaXNzOiBpb25Nb2RhbC5vbldpbGxEaXNtaXNzKCksXG4gICAgICBvbkRpZERpc21pc3M6IGlvbk1vZGFsLm9uRGlkRGlzbWlzcygpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldENvbXBvbmVudFByb3BzKGNvbmZpZzogQWxlcnRDb25maWcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgb2tCdG5UZXh0OiB0aGlzLmdldE9rQnRuVGV4dChjb25maWcpLFxuICAgICAgY2FuY2VsQnRuVGV4dDogdGhpcy5nZXRDYW5jZWxCdG5UZXh0KGNvbmZpZyksXG4gICAgICBva0J0bklzRGVzdHJ1Y3RpdmU6IHRoaXMuZ2V0T2tCdG5Jc0Rlc3RydWN0aXZlKGNvbmZpZyksXG4gICAgICBpY29uTmFtZTogY29uZmlnLmljb24gJiYgY29uZmlnLmljb24ubmFtZSxcbiAgICAgIGljb25UaGVtZUNvbG9yOiBjb25maWcuaWNvbiAmJiBjb25maWcuaWNvbi50aGVtZUNvbG9yLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldE9rQnRuVGV4dChjb25maWc6IEFsZXJ0Q29uZmlnKSB7XG4gICAgbGV0IHRleHQ6IHN0cmluZztcbiAgICBpZiAoY29uZmlnLm9rQnRuVGV4dCkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAnYG9rQnRuVGV4dGAgd2lsbCBiZSBkZXByZWNhdGVkIG9uIG5leHQgbWFqb3IgdmVyc2lvbi4gUGxlYXNlIHVzZSBgb2tCdG5gIGluc3RlYWQuJ1xuICAgICAgKTtcbiAgICAgIHRleHQgPSBjb25maWcub2tCdG5UZXh0O1xuICAgIH1cbiAgICBpZiAoY29uZmlnLm9rQnRuKSB7XG4gICAgICBpZiAodHlwZW9mIGNvbmZpZy5va0J0biA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGV4dCA9IGNvbmZpZy5va0J0bjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRleHQgPSBjb25maWcub2tCdG4udGV4dDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cblxuICBnZXRPa0J0bklzRGVzdHJ1Y3RpdmUoY29uZmlnKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBjb25maWcub2tCdG4gPT09ICdvYmplY3QnID8gY29uZmlnLm9rQnRuLmlzRGVzdHJ1Y3RpdmUgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGdldENhbmNlbEJ0blRleHQoY29uZmlnOiBBbGVydENvbmZpZykge1xuICAgIGlmIChjb25maWcuY2FuY2VsQnRuVGV4dCkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAnYGNhbmNlbEJ0blRleHRgIHdpbGwgYmUgZGVwcmVjYXRlZCBvbiBuZXh0IG1ham9yIHZlcnNpb24uIFBsZWFzZSB1c2UgYGNhbmNlbEJ0bmAgaW5zdGVhZC4nXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gY29uZmlnLmNhbmNlbEJ0biB8fCBjb25maWcuY2FuY2VsQnRuVGV4dDtcbiAgfVxufVxuIl19
55
+ /** @nocollapse */ AlertHelper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AlertHelper, deps: [{ token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Injectable });
56
+ /** @nocollapse */ AlertHelper.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AlertHelper });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AlertHelper, decorators: [{
58
+ type: Injectable
59
+ }], ctorParameters: function () { return [{ type: i1.ModalController }]; } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL3NlcnZpY2VzL2FsZXJ0LmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQU0xRCxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUFvQixvQkFBcUM7UUFBckMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFpQjtJQUFHLENBQUM7SUFFaEQsU0FBUyxDQUFDLE1BQW1COztZQUN4QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7Z0JBQ3RELFNBQVMsRUFBRSxjQUFjO2dCQUN6QixjQUFjLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztnQkFDOUMsUUFBUSxFQUFFLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQztnQkFDMUMsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsZUFBZSxFQUFFLEtBQUs7YUFDdkIsQ0FBQyxDQUFDO1lBRUgsTUFBTSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDekIsT0FBTztnQkFDTCxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUN4QyxhQUFhLEVBQUUsUUFBUSxDQUFDLGFBQWEsRUFBRTtnQkFDdkMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZLEVBQUU7YUFDdEMsQ0FBQztRQUNKLENBQUM7S0FBQTtJQUVPLGlCQUFpQixDQUFDLE1BQW1CO1FBQzNDLHVDQUNLLE1BQU0sS0FDVCxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDNUIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQzNCLGtCQUFrQixFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsRUFDdEQsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQ3pDLGNBQWMsRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUNyRDtJQUNKLENBQUM7SUFFTyxRQUFRLENBQUMsTUFBbUI7UUFDbEMsSUFBSSxJQUFZLENBQUM7UUFFakIsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO1lBQ2hCLElBQUksT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTtnQkFDcEMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7YUFDckI7aUJBQU07Z0JBQ0wsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2FBQzFCO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUFNO1FBQzFCLE9BQU8sT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNuRixDQUFDOzs0SEE5Q1UsV0FBVztnSUFBWCxXQUFXOzRGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb2RhbENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5cbmltcG9ydCB7IEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0Q29uZmlnIH0gZnJvbSAnLi4vYWxlcnQvY29uZmlnL2FsZXJ0LWNvbmZpZyc7XG5cbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICcuL21vZGFsLmludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWxlcnRIZWxwZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGlvbmljTW9kYWxDb250cm9sbGVyOiBNb2RhbENvbnRyb2xsZXIpIHt9XG5cbiAgcHVibGljIGFzeW5jIHNob3dBbGVydChjb25maWc6IEFsZXJ0Q29uZmlnKTogUHJvbWlzZTxPdmVybGF5PiB7XG4gICAgY29uc3QgaW9uTW9kYWwgPSBhd2FpdCB0aGlzLmlvbmljTW9kYWxDb250cm9sbGVyLmNyZWF0ZSh7XG4gICAgICBjb21wb25lbnQ6IEFsZXJ0Q29tcG9uZW50LFxuICAgICAgY29tcG9uZW50UHJvcHM6IHRoaXMuZ2V0Q29tcG9uZW50UHJvcHMoY29uZmlnKSxcbiAgICAgIGNzc0NsYXNzOiBbJ2tpcmJ5LW92ZXJsYXknLCAna2lyYnktYWxlcnQnXSxcbiAgICAgIG1vZGU6ICdpb3MnLFxuICAgICAgYmFja2Ryb3BEaXNtaXNzOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIGF3YWl0IGlvbk1vZGFsLnByZXNlbnQoKTtcbiAgICByZXR1cm4ge1xuICAgICAgZGlzbWlzczogaW9uTW9kYWwuZGlzbWlzcy5iaW5kKGlvbk1vZGFsKSxcbiAgICAgIG9uV2lsbERpc21pc3M6IGlvbk1vZGFsLm9uV2lsbERpc21pc3MoKSxcbiAgICAgIG9uRGlkRGlzbWlzczogaW9uTW9kYWwub25EaWREaXNtaXNzKCksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29tcG9uZW50UHJvcHMoY29uZmlnOiBBbGVydENvbmZpZykge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBva0J0bjogdGhpcy5nZXRPa0J0bihjb25maWcpLFxuICAgICAgY2FuY2VsQnRuOiBjb25maWcuY2FuY2VsQnRuLFxuICAgICAgb2tCdG5Jc0Rlc3RydWN0aXZlOiB0aGlzLmdldE9rQnRuSXNEZXN0cnVjdGl2ZShjb25maWcpLFxuICAgICAgaWNvbk5hbWU6IGNvbmZpZy5pY29uICYmIGNvbmZpZy5pY29uLm5hbWUsXG4gICAgICBpY29uVGhlbWVDb2xvcjogY29uZmlnLmljb24gJiYgY29uZmlnLmljb24udGhlbWVDb2xvcixcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPa0J0bihjb25maWc6IEFsZXJ0Q29uZmlnKSB7XG4gICAgbGV0IHRleHQ6IHN0cmluZztcblxuICAgIGlmIChjb25maWcub2tCdG4pIHtcbiAgICAgIGlmICh0eXBlb2YgY29uZmlnLm9rQnRuID09PSAnc3RyaW5nJykge1xuICAgICAgICB0ZXh0ID0gY29uZmlnLm9rQnRuO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGV4dCA9IGNvbmZpZy5va0J0bi50ZXh0O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGV4dDtcbiAgfVxuXG4gIGdldE9rQnRuSXNEZXN0cnVjdGl2ZShjb25maWcpIHtcbiAgICByZXR1cm4gdHlwZW9mIGNvbmZpZy5va0J0biA9PT0gJ29iamVjdCcgPyBjb25maWcub2tCdG4uaXNEZXN0cnVjdGl2ZSA6IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -247,13 +247,10 @@ export class ModalAnimationBuilderService {
247
247
  };
248
248
  }
249
249
  }
250
- /** @nocollapse */ ModalAnimationBuilderService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ModalAnimationBuilderService_Factory() { return new ModalAnimationBuilderService(i0.ɵɵinject(i1.AnimationController), i0.ɵɵinject(i2.PlatformService)); }, token: ModalAnimationBuilderService, providedIn: "root" });
251
- ModalAnimationBuilderService.decorators = [
252
- { type: Injectable, args: [{ providedIn: 'root' },] }
253
- ];
254
- /** @nocollapse */
255
- ModalAnimationBuilderService.ctorParameters = () => [
256
- { type: AnimationController },
257
- { type: PlatformService }
258
- ];
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYW5pbWF0aW9uLWJ1aWxkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC1hbmltYXRpb24tYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUErQixtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFHcEUsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxZQUFvQixhQUFrQyxFQUFVLFFBQXlCO1FBQXJFLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBRXhFLGdCQUFXLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ2hELGdCQUFXLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQy9DLGFBQVEsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUN4Qyx5QkFBb0IsR0FBRztZQUN0QyxvQkFBb0IsRUFBRSxJQUFJO1NBQzNCLENBQUM7SUFQMEYsQ0FBQztJQVN0RixjQUFjLENBQUMsZUFBd0M7UUFDNUQsT0FBTyxDQUFDLE1BQW1CLEVBQUUsWUFBMEIsRUFBYSxFQUFFO1lBQ3BFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWE7aUJBQ3pDLE1BQU0sRUFBRTtpQkFDUixVQUFVLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUUsQ0FBQztpQkFD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QUFDOzRCQUNULEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7NEJBQ3RELEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSx3QkFBd0IsRUFBRTt5QkFDakUsQ0FBQyxDQUFDO3dCQUVMLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO3FCQUNwRTtpQkFDRjthQUNGO2lCQUFNO2dCQUNMLGFBQWEsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDOUMsSUFBSSx3QkFBd0IsRUFBRTtvQkFDNUIsYUFBYSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2lCQUN0RDthQUNGO1lBRUQsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7OztZQTVRRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7O1lBTEksbUJBQW1CO1lBR2hELGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmltYXRpb24sIEFuaW1hdGlvbkJ1aWxkZXIsIEFuaW1hdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5cbmltcG9ydCB7IEtpcmJ5QW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vYW5pbWF0aW9uL2tpcmJ5LWFuaW1hdGlvbic7XG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzL3BsYXRmb3JtLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1vZGFsQW5pbWF0aW9uQnVpbGRlclNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFuaW1hdGlvbkN0cmw6IEFuaW1hdGlvbkNvbnRyb2xsZXIsIHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtU2VydmljZSkge31cblxuICBwcml2YXRlIHJlYWRvbmx5IGVhc2luZ0VudGVyID0gS2lyYnlBbmltYXRpb24uRWFzaW5nLm1vZGFsLmVudGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IGVhc2luZ0xlYXZlID0gS2lyYnlBbmltYXRpb24uRWFzaW5nLm1vZGFsLmV4aXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZHVyYXRpb24gPSBLaXJieUFuaW1hdGlvbi5EdXJhdGlvbi5MT05HO1xuICBwcml2YXRlIHJlYWRvbmx5IFN3aXBlVG9DbG9zZURlZmF1bHRzID0ge1xuICAgIE1JTl9QUkVTRU5USU5HX1NDQUxFOiAwLjkzLFxuICB9O1xuXG4gIHB1YmxpYyBlbnRlckFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3A/OiBIVE1MSW9uQmFja2Ryb3BFbGVtZW50KTogQW5pbWF0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIChiYXNlRWw6IEhUTUxFbGVtZW50LCBwcmVzZW50aW5nRWw/OiBIVE1MRWxlbWVudCk6IEFuaW1hdGlvbiA9PiB7XG4gICAgICBjb25zdCBiYWNrZHJvcEFuaW1hdGlvbiA9IHRoaXMuYW5pbWF0aW9uQ3RybFxuICAgICAgICAuY3JlYXRlKClcbiAgICAgICAgLmFkZEVsZW1lbnQoYmFzZUVsLnF1ZXJ5U2VsZWN0b3IoJ2lvbi1iYWNrZHJvcCcpISlcbiAgICAgICAgLmZyb21Ubygnb3BhY2l0eScsIDAuMDEsICd2YXIoLS1iYWNrZHJvcC1vcGFjaXR5KScpXG4gICAgICAgIC5iZWZvcmVTdHlsZXMoe1xuICAgICAgICAgICdwb2ludGVyLWV2ZW50cyc6ICdub25lJyxcbiAgICAgICAgfSlcbiAgICAgICAgLmFmdGVyQ2xlYXJTdHlsZXMoWydwb2ludGVyLWV2ZW50cyddKTtcblxuICAgICAgY29uc3Qgd3JhcHBlckFuaW1hdGlvbiA9IHRoaXMuYW5pbWF0aW9uQ3RybFxuICAgICAgICAuY3JlYXRlKClcbiAgICAgICAgLmFkZEVsZW1lbnQoYmFzZUVsLnF1ZXJ5U2VsZWN0b3JBbGwoJy5tb2RhbC13cmFwcGVyLCAubW9kYWwtc2hhZG93JykhKVxuICAgICAgICAuYmVmb3JlU3R5bGVzKHsgb3BhY2l0eTogMSB9KVxuICAgICAgICAuZnJvbVRvKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlWSgxMDB2aCknLCAndHJhbnNsYXRlWSgwdmgpJyk7XG5cbiAgICAgIGNvbnN0IGJhc2VBbmltYXRpb24gPSB0aGlzLmFuaW1hdGlvbkN0cmxcbiAgICAgICAgLmNyZWF0ZSgpXG4gICAgICAgIC5hZGRFbGVtZW50KGJhc2VFbClcbiAgICAgICAgLmVhc2luZyh0aGlzLmVhc2luZ0VudGVyKVxuICAgICAgICAuZHVyYXRpb24odGhpcy5kdXJhdGlvbilcbiAgICAgICAgLmFkZEFuaW1hdGlvbih3cmFwcGVyQW5pbWF0aW9uKTtcblxuICAgICAgbGV0IGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbjogQW5pbWF0aW9uO1xuICAgICAgaWYgKGN1cnJlbnRCYWNrZHJvcCkge1xuICAgICAgICBjdXJyZW50QmFja2Ryb3BBbmltYXRpb24gPSB0aGlzLmFuaW1hdGlvbkN0cmxcbiAgICAgICAgICAuY3JlYXRlKClcbiAgICAgICAgICAuYWRkRWxlbWVudChjdXJyZW50QmFja2Ryb3ApXG4gICAgICAgICAgLmZyb21Ubygnb3BhY2l0eScsICd2YXIoLS1iYWNrZHJvcC1vcGFjaXR5KScsIDAuMDEpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJlc2VudGluZ0VsKSB7XG4gICAgICAgIGNvbnN0IGlzTW9iaWxlID0gIXRoaXMucGxhdGZvcm0uaXNQaGFibGV0T3JCaWdnZXIoKTtcbiAgICAgICAgY29uc3QgaGFzQ2FyZE1vZGFsID1cbiAgICAgICAgICBwcmVzZW50aW5nRWwudGFnTmFtZSA9PT0gJ0lPTi1NT0RBTCcgJiZcbiAgICAgICAgICAocHJlc2VudGluZ0VsIGFzIEhUTUxJb25Nb2RhbEVsZW1lbnQpLnByZXNlbnRpbmdFbGVtZW50ICE9PSB1bmRlZmluZWQ7XG5cbiAgICAgICAgY29uc3QgcHJlc2VudGluZ0FuaW1hdGlvbiA9IHRoaXMuYW5pbWF0aW9uQ3RybC5jcmVhdGUoKS5iZWZvcmVTdHlsZXMoe1xuICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLFxuICAgICAgICAgICd0cmFuc2Zvcm0tb3JpZ2luJzogJ3RvcCBjZW50ZXInLFxuICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgYm9keUVsID0gZG9jdW1lbnQuYm9keTtcblxuICAgICAgICBpZiAoaXNNb2JpbGUpIHtcbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb2VzIG5vdCBzdXBwb3J0IGBtYXgoKWAgKGV4OiBGaXJlZm94KVxuICAgICAgICAgICAqIE5vIG5lZWQgdG8gd29ycnkgYWJvdXQgc3RhdHVzYmFyIHBhZGRpbmcgc2luY2UgZW5naW5lcyBsaWtlIEdlY2tvXG4gICAgICAgICAgICogYXJlIG5vdCB1c2VkIGFzIHRoZSBlbmdpbmUgZm9yIHN0YW5kbG9uZSBDb3Jkb3ZhL0NhcGFjaXRvciBhcHBzXG4gICAgICAgICAgICovXG4gICAgICAgICAgY29uc3QgdHJhbnNmb3JtT2Zmc2V0ID0gIUNTUy5zdXBwb3J0cygnd2lkdGgnLCAnbWF4KDBweCwgMXB4KScpXG4gICAgICAgICAgICA/ICczMHB4J1xuICAgICAgICAgICAgOiAnbWF4KDMwcHgsIHZhcigtLWlvbi1zYWZlLWFyZWEtdG9wKSknO1xuICAgICAgICAgIGNvbnN0IG1vZGFsVHJhbnNmb3JtID0gaGFzQ2FyZE1vZGFsID8gJy0xMHB4JyA6IHRyYW5zZm9ybU9mZnNldDtcbiAgICAgICAgICBjb25zdCB0b1ByZXNlbnRpbmdTY2FsZSA9IHRoaXMuU3dpcGVUb0Nsb3NlRGVmYXVsdHMuTUlOX1BSRVNFTlRJTkdfU0NBTEU7XG4gICAgICAgICAgY29uc3QgZmluYWxUcmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke21vZGFsVHJhbnNmb3JtfSkgc2NhbGUoJHt0b1ByZXNlbnRpbmdTY2FsZX0pYDtcblxuICAgICAgICAgIHByZXNlbnRpbmdBbmltYXRpb25cbiAgICAgICAgICAgIC5hZnRlclN0eWxlcyh7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmJlZm9yZUFkZFdyaXRlKCgpID0+IGJvZHlFbC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1jb2xvcicsICdibGFjaycpKVxuICAgICAgICAgICAgLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsKVxuICAgICAgICAgICAgLmtleWZyYW1lcyhbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiAnY29udHJhc3QoMSknLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMHB4KSBzY2FsZSgxKScsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMHB4JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9mZnNldDogMSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6ICdjb250cmFzdCgwLjg1KScsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcxMHB4IDEwcHggMCAwJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKHByZXNlbnRpbmdBbmltYXRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgICBpZiAoY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghaGFzQ2FyZE1vZGFsKSB7XG4gICAgICAgICAgICB3cmFwcGVyQW5pbWF0aW9uLmZyb21Ubygnb3BhY2l0eScsICcwJywgJzEnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdG9QcmVzZW50aW5nU2NhbGUgPSBoYXNDYXJkTW9kYWxcbiAgICAgICAgICAgICAgPyB0aGlzLlN3aXBlVG9DbG9zZURlZmF1bHRzLk1JTl9QUkVTRU5USU5HX1NDQUxFXG4gICAgICAgICAgICAgIDogMTtcbiAgICAgICAgICAgIGNvbnN0IGZpbmFsVHJhbnNmb3JtID0gYHRyYW5zbGF0ZVkoLTEwcHgpIHNjYWxlKCR7dG9QcmVzZW50aW5nU2NhbGV9KWA7XG5cbiAgICAgICAgICAgIHByZXNlbnRpbmdBbmltYXRpb25cbiAgICAgICAgICAgICAgLmFmdGVyU3R5bGVzKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuYWRkRWxlbWVudChwcmVzZW50aW5nRWwucXVlcnlTZWxlY3RvcignLm1vZGFsLXdyYXBwZXInKSEpXG4gICAgICAgICAgICAgIC5rZXlmcmFtZXMoW1xuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLCBmaWx0ZXI6ICdjb250cmFzdCgxKScsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCkgc2NhbGUoMSknIH0sXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIGZpbHRlcjogJ2NvbnRyYXN0KDAuODUpJywgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSB9LFxuICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgY29uc3Qgc2hhZG93QW5pbWF0aW9uID0gdGhpcy5hbmltYXRpb25DdHJsXG4gICAgICAgICAgICAgIC5jcmVhdGUoKVxuICAgICAgICAgICAgICAuYWZ0ZXJTdHlsZXMoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5hZGRFbGVtZW50KHByZXNlbnRpbmdFbC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtc2hhZG93JykhKVxuICAgICAgICAgICAgICAua2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMCwgb3BhY2l0eTogJzEnLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApIHNjYWxlKDEpJyB9LFxuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBvcGFjaXR5OiAnMCcsIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0gfSxcbiAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKFtwcmVzZW50aW5nQW5pbWF0aW9uLCBzaGFkb3dBbmltYXRpb25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgaWYgKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbikge1xuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJhc2VBbmltYXRpb247XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBsZWF2ZUFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3A/OiBIVE1MSW9uQmFja2Ryb3BFbGVtZW50KTogQW5pbWF0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIChiYXNlRWw6IEhUTUxFbGVtZW50LCBwcmVzZW50aW5nRWw/OiBIVE1MRWxlbWVudCk6IEFuaW1hdGlvbiA9PiB7XG4gICAgICBjb25zdCBiYWNrZHJvcEFuaW1hdGlvbiA9IHRoaXMuYW5pbWF0aW9uQ3RybFxuICAgICAgICAuY3JlYXRlKClcbiAgICAgICAgLmFkZEVsZW1lbnQoYmFzZUVsLnF1ZXJ5U2VsZWN0b3IoJ2lvbi1iYWNrZHJvcCcpISlcbiAgICAgICAgLmZyb21Ubygnb3BhY2l0eScsICd2YXIoLS1iYWNrZHJvcC1vcGFjaXR5KScsIDAuMCk7XG5cbiAgICAgIGNvbnN0IHdyYXBwZXJBbmltYXRpb24gPSB0aGlzLmFuaW1hdGlvbkN0cmxcbiAgICAgICAgLmNyZWF0ZSgpXG4gICAgICAgIC5hZGRFbGVtZW50KGJhc2VFbC5xdWVyeVNlbGVjdG9yQWxsKCcubW9kYWwtd3JhcHBlciwgLm1vZGFsLXNoYWRvdycpISlcbiAgICAgICAgLmJlZm9yZVN0eWxlcyh7IG9wYWNpdHk6IDEgfSlcbiAgICAgICAgLmZyb21UbygndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZVkoMHZoKScsICd0cmFuc2xhdGVZKDEwMHZoKScpO1xuXG4gICAgICBjb25zdCBiYXNlQW5pbWF0aW9uID0gdGhpcy5hbmltYXRpb25DdHJsXG4gICAgICAgIC5jcmVhdGUoKVxuICAgICAgICAuYWRkRWxlbWVudChiYXNlRWwpXG4gICAgICAgIC5lYXNpbmcodGhpcy5lYXNpbmdMZWF2ZSlcbiAgICAgICAgLmR1cmF0aW9uKHRoaXMuZHVyYXRpb24pXG4gICAgICAgIC5hZGRBbmltYXRpb24od3JhcHBlckFuaW1hdGlvbik7XG5cbiAgICAgIGxldCBjdXJyZW50QmFja2Ryb3BBbmltYXRpb246IEFuaW1hdGlvbjtcbiAgICAgIGlmIChjdXJyZW50QmFja2Ryb3ApIHtcbiAgICAgICAgY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uID0gdGhpcy5hbmltYXRpb25DdHJsXG4gICAgICAgICAgLmNyZWF0ZSgpXG4gICAgICAgICAgLmFkZEVsZW1lbnQoY3VycmVudEJhY2tkcm9wKVxuICAgICAgICAgIC5mcm9tVG8oJ29wYWNpdHknLCAwLjAxLCAndmFyKC0tYmFja2Ryb3Atb3BhY2l0eSknKVxuICAgICAgICAgIC5hZnRlclN0eWxlcyh7IG9wYWNpdHk6ICd2YXIoLS1iYWNrZHJvcC1vcGFjaXR5KScgfSk7IC8vRW5zdXJlcyBiYWNrZHJvcCBpcyByZXNldCB0byBkZWZhdWx0IG9wYWNpdHkgYWZ0ZXIgc3dpcGUgdG8gY2xvc2VcbiAgICAgIH1cblxuICAgICAgaWYgKHByZXNlbnRpbmdFbCkge1xuICAgICAgICBjb25zdCBpc01vYmlsZSA9ICF0aGlzLnBsYXRmb3JtLmlzUGhhYmxldE9yQmlnZ2VyKCk7XG4gICAgICAgIGNvbnN0IGhhc0NhcmRNb2RhbCA9XG4gICAgICAgICAgcHJlc2VudGluZ0VsLnRhZ05hbWUgPT09ICdJT04tTU9EQUwnICYmXG4gICAgICAgICAgKHByZXNlbnRpbmdFbCBhcyBIVE1MSW9uTW9kYWxFbGVtZW50KS5wcmVzZW50aW5nRWxlbWVudCAhPT0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGNvbnN0IHByZXNlbnRpbmdBbmltYXRpb24gPSB0aGlzLmFuaW1hdGlvbkN0cmxcbiAgICAgICAgICAuY3JlYXRlKClcbiAgICAgICAgICAuYmVmb3JlQ2xlYXJTdHlsZXMoWyd0cmFuc2Zvcm0nXSlcbiAgICAgICAgICAuYWZ0ZXJDbGVhclN0eWxlcyhbJ3RyYW5zZm9ybSddKVxuICAgICAgICAgIC5vbkZpbmlzaCgoY3VycmVudFN0ZXApID0+IHtcbiAgICAgICAgICAgIC8vIG9ubHkgcmVzZXQgYmFja2dyb3VuZCBjb2xvciBpZiB0aGlzIGlzIHRoZSBsYXN0IGNhcmQtc3R5bGUgbW9kYWxcbiAgICAgICAgICAgIGlmIChjdXJyZW50U3RlcCAhPT0gMSkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHByZXNlbnRpbmdFbC5zdHlsZS5zZXRQcm9wZXJ0eSgnb3ZlcmZsb3cnLCAnJyk7XG5cbiAgICAgICAgICAgIGNvbnN0IG51bU1vZGFscyA9IEFycmF5LmZyb20oYm9keUVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ2lvbi1tb2RhbCcpKS5maWx0ZXIoXG4gICAgICAgICAgICAgIChtKSA9PiBtLnByZXNlbnRpbmdFbGVtZW50ICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICkubGVuZ3RoO1xuICAgICAgICAgICAgaWYgKG51bU1vZGFscyA8PSAxKSB7XG4gICAgICAgICAgICAgIGJvZHlFbC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1jb2xvcicsICcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBib2R5RWwgPSBkb2N1bWVudC5ib2R5O1xuXG4gICAgICAgIGlmIChpc01vYmlsZSkge1xuICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybU9mZnNldCA9ICFDU1Muc3VwcG9ydHMoJ3dpZHRoJywgJ21heCgwcHgsIDFweCknKVxuICAgICAgICAgICAgPyAnMzBweCdcbiAgICAgICAgICAgIDogJ21heCgzMHB4LCB2YXIoLS1pb24tc2FmZS1hcmVhLXRvcCkpJztcbiAgICAgICAgICBjb25zdCBtb2RhbFRyYW5zZm9ybSA9IGhhc0NhcmRNb2RhbCA/ICctMTBweCcgOiB0cmFuc2Zvcm1PZmZzZXQ7XG4gICAgICAgICAgY29uc3QgdG9QcmVzZW50aW5nU2NhbGUgPSB0aGlzLlN3aXBlVG9DbG9zZURlZmF1bHRzLk1JTl9QUkVTRU5USU5HX1NDQUxFO1xuICAgICAgICAgIGNvbnN0IGZpbmFsVHJhbnNmb3JtID0gYHRyYW5zbGF0ZVkoJHttb2RhbFRyYW5zZm9ybX0pIHNjYWxlKCR7dG9QcmVzZW50aW5nU2NhbGV9KWA7XG5cbiAgICAgICAgICBwcmVzZW50aW5nQW5pbWF0aW9uLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsKS5rZXlmcmFtZXMoW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICAgIGZpbHRlcjogJ2NvbnRyYXN0KDAuODUpJyxcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSxcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMTBweCAxMHB4IDAgMCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBvZmZzZXQ6IDEsXG4gICAgICAgICAgICAgIGZpbHRlcjogJ2NvbnRyYXN0KDEpJyxcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwcHgpIHNjYWxlKDEpJyxcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMHB4JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSk7XG5cbiAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihwcmVzZW50aW5nQW5pbWF0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihiYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgICAgaWYgKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbikge1xuICAgICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWhhc0NhcmRNb2RhbCkge1xuICAgICAgICAgICAgd3JhcHBlckFuaW1hdGlvbi5mcm9tVG8oJ29wYWNpdHknLCAnMScsICcwJyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHRvUHJlc2VudGluZ1NjYWxlID0gaGFzQ2FyZE1vZGFsXG4gICAgICAgICAgICAgID8gdGhpcy5Td2lwZVRvQ2xvc2VEZWZhdWx0cy5NSU5fUFJFU0VOVElOR19TQ0FMRVxuICAgICAgICAgICAgICA6IDE7XG4gICAgICAgICAgICBjb25zdCBmaW5hbFRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKC0xMHB4KSBzY2FsZSgke3RvUHJlc2VudGluZ1NjYWxlfSlgO1xuXG4gICAgICAgICAgICBwcmVzZW50aW5nQW5pbWF0aW9uXG4gICAgICAgICAgICAgIC5hZGRFbGVtZW50KHByZXNlbnRpbmdFbC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtd3JhcHBlcicpISlcbiAgICAgICAgICAgICAgLmFmdGVyU3R5bGVzKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgwLCAwLCAwKScsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5rZXlmcmFtZXMoW1xuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLCBmaWx0ZXI6ICdjb250cmFzdCgwLjg1KScsIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0gfSxcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMSwgZmlsdGVyOiAnY29udHJhc3QoMSknLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApIHNjYWxlKDEpJyB9LFxuICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgY29uc3Qgc2hhZG93QW5pbWF0aW9uID0gdGhpcy5hbmltYXRpb25DdHJsXG4gICAgICAgICAgICAgIC5jcmVhdGUoKVxuICAgICAgICAgICAgICAuYWRkRWxlbWVudChwcmVzZW50aW5nRWwucXVlcnlTZWxlY3RvcignLm1vZGFsLXNoYWRvdycpISlcbiAgICAgICAgICAgICAgLmFmdGVyU3R5bGVzKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApIHNjYWxlKDEpJyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmtleWZyYW1lcyhbXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDAsIG9wYWNpdHk6ICcwJywgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSB9LFxuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBvcGFjaXR5OiAnMScsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCkgc2NhbGUoMSknIH0sXG4gICAgICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihbcHJlc2VudGluZ0FuaW1hdGlvbiwgc2hhZG93QW5pbWF0aW9uXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihiYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgIGlmIChjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pIHtcbiAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBiYXNlQW5pbWF0aW9uO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
250
+ /** @nocollapse */ ModalAnimationBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ModalAnimationBuilderService, deps: [{ token: i1.AnimationController }, { token: i2.PlatformService }], target: i0.ɵɵFactoryTarget.Injectable });
251
+ /** @nocollapse */ ModalAnimationBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ModalAnimationBuilderService, providedIn: 'root' });
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ModalAnimationBuilderService, decorators: [{
253
+ type: Injectable,
254
+ args: [{ providedIn: 'root' }]
255
+ }], ctorParameters: function () { return [{ type: i1.AnimationController }, { type: i2.PlatformService }]; } });
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYW5pbWF0aW9uLWJ1aWxkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC1hbmltYXRpb24tYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUErQixtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFHcEUsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxZQUFvQixhQUFrQyxFQUFVLFFBQXlCO1FBQXJFLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBRXhFLGdCQUFXLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ2hELGdCQUFXLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQy9DLGFBQVEsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUN4Qyx5QkFBb0IsR0FBRztZQUN0QyxvQkFBb0IsRUFBRSxJQUFJO1NBQzNCLENBQUM7SUFQMEYsQ0FBQztJQVN0RixjQUFjLENBQUMsZUFBd0M7UUFDNUQsT0FBTyxDQUFDLE1BQW1CLEVBQUUsWUFBMEIsRUFBYSxFQUFFO1lBQ3BFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWE7aUJBQ3pDLE1BQU0sRUFBRTtpQkFDUixVQUFVLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUUsQ0FBQztpQkFD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QUFDOzRCQUNULEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7NEJBQ3RELEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSx3QkFBd0IsRUFBRTt5QkFDakUsQ0FBQyxDQUFDO3dCQUVMLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO3FCQUNwRTtpQkFDRjthQUNGO2lCQUFNO2dCQUNMLGFBQWEsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDOUMsSUFBSSx3QkFBd0IsRUFBRTtvQkFDNUIsYUFBYSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2lCQUN0RDthQUNGO1lBRUQsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7NklBM1FVLDRCQUE0QjtpSkFBNUIsNEJBQTRCLGNBRGYsTUFBTTs0RkFDbkIsNEJBQTRCO2tCQUR4QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFuaW1hdGlvbiwgQW5pbWF0aW9uQnVpbGRlciwgQW5pbWF0aW9uQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuaW1wb3J0IHsgS2lyYnlBbmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi9hbmltYXRpb24va2lyYnktYW5pbWF0aW9uJztcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2hlbHBlcnMvcGxhdGZvcm0uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTW9kYWxBbmltYXRpb25CdWlsZGVyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5pbWF0aW9uQ3RybDogQW5pbWF0aW9uQ29udHJvbGxlciwgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm1TZXJ2aWNlKSB7fVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWFzaW5nRW50ZXIgPSBLaXJieUFuaW1hdGlvbi5FYXNpbmcubW9kYWwuZW50ZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWFzaW5nTGVhdmUgPSBLaXJieUFuaW1hdGlvbi5FYXNpbmcubW9kYWwuZXhpdDtcbiAgcHJpdmF0ZSByZWFkb25seSBkdXJhdGlvbiA9IEtpcmJ5QW5pbWF0aW9uLkR1cmF0aW9uLkxPTkc7XG4gIHByaXZhdGUgcmVhZG9ubHkgU3dpcGVUb0Nsb3NlRGVmYXVsdHMgPSB7XG4gICAgTUlOX1BSRVNFTlRJTkdfU0NBTEU6IDAuOTMsXG4gIH07XG5cbiAgcHVibGljIGVudGVyQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcD86IEhUTUxJb25CYWNrZHJvcEVsZW1lbnQpOiBBbmltYXRpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gKGJhc2VFbDogSFRNTEVsZW1lbnQsIHByZXNlbnRpbmdFbD86IEhUTUxFbGVtZW50KTogQW5pbWF0aW9uID0+IHtcbiAgICAgIGNvbnN0IGJhY2tkcm9wQW5pbWF0aW9uID0gdGhpcy5hbmltYXRpb25DdHJsXG4gICAgICAgIC5jcmVhdGUoKVxuICAgICAgICAuYWRkRWxlbWVudChiYXNlRWwucXVlcnlTZWxlY3RvcignaW9uLWJhY2tkcm9wJykhKVxuICAgICAgICAuZnJvbVRvKCdvcGFjaXR5JywgMC4wMSwgJ3ZhcigtLWJhY2tkcm9wLW9wYWNpdHkpJylcbiAgICAgICAgLmJlZm9yZVN0eWxlcyh7XG4gICAgICAgICAgJ3BvaW50ZXItZXZlbnRzJzogJ25vbmUnLFxuICAgICAgICB9KVxuICAgICAgICAuYWZ0ZXJDbGVhclN0eWxlcyhbJ3BvaW50ZXItZXZlbnRzJ10pO1xuXG4gICAgICBjb25zdCB3cmFwcGVyQW5pbWF0aW9uID0gdGhpcy5hbmltYXRpb25DdHJsXG4gICAgICAgIC5jcmVhdGUoKVxuICAgICAgICAuYWRkRWxlbWVudChiYXNlRWwucXVlcnlTZWxlY3RvckFsbCgnLm1vZGFsLXdyYXBwZXIsIC5tb2RhbC1zaGFkb3cnKSEpXG4gICAgICAgIC5iZWZvcmVTdHlsZXMoeyBvcGFjaXR5OiAxIH0pXG4gICAgICAgIC5mcm9tVG8oJ3RyYW5zZm9ybScsICd0cmFuc2xhdGVZKDEwMHZoKScsICd0cmFuc2xhdGVZKDB2aCknKTtcblxuICAgICAgY29uc3QgYmFzZUFuaW1hdGlvbiA9IHRoaXMuYW5pbWF0aW9uQ3RybFxuICAgICAgICAuY3JlYXRlKClcbiAgICAgICAgLmFkZEVsZW1lbnQoYmFzZUVsKVxuICAgICAgICAuZWFzaW5nKHRoaXMuZWFzaW5nRW50ZXIpXG4gICAgICAgIC5kdXJhdGlvbih0aGlzLmR1cmF0aW9uKVxuICAgICAgICAuYWRkQW5pbWF0aW9uKHdyYXBwZXJBbmltYXRpb24pO1xuXG4gICAgICBsZXQgY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uOiBBbmltYXRpb247XG4gICAgICBpZiAoY3VycmVudEJhY2tkcm9wKSB7XG4gICAgICAgIGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbiA9IHRoaXMuYW5pbWF0aW9uQ3RybFxuICAgICAgICAgIC5jcmVhdGUoKVxuICAgICAgICAgIC5hZGRFbGVtZW50KGN1cnJlbnRCYWNrZHJvcClcbiAgICAgICAgICAuZnJvbVRvKCdvcGFjaXR5JywgJ3ZhcigtLWJhY2tkcm9wLW9wYWNpdHkpJywgMC4wMSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcmVzZW50aW5nRWwpIHtcbiAgICAgICAgY29uc3QgaXNNb2JpbGUgPSAhdGhpcy5wbGF0Zm9ybS5pc1BoYWJsZXRPckJpZ2dlcigpO1xuICAgICAgICBjb25zdCBoYXNDYXJkTW9kYWwgPVxuICAgICAgICAgIHByZXNlbnRpbmdFbC50YWdOYW1lID09PSAnSU9OLU1PREFMJyAmJlxuICAgICAgICAgIChwcmVzZW50aW5nRWwgYXMgSFRNTElvbk1vZGFsRWxlbWVudCkucHJlc2VudGluZ0VsZW1lbnQgIT09IHVuZGVmaW5lZDtcblxuICAgICAgICBjb25zdCBwcmVzZW50aW5nQW5pbWF0aW9uID0gdGhpcy5hbmltYXRpb25DdHJsLmNyZWF0ZSgpLmJlZm9yZVN0eWxlcyh7XG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScsXG4gICAgICAgICAgJ3RyYW5zZm9ybS1vcmlnaW4nOiAndG9wIGNlbnRlcicsXG4gICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBib2R5RWwgPSBkb2N1bWVudC5ib2R5O1xuXG4gICAgICAgIGlmIChpc01vYmlsZSkge1xuICAgICAgICAgIC8qKlxuICAgICAgICAgICAqIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvZXMgbm90IHN1cHBvcnQgYG1heCgpYCAoZXg6IEZpcmVmb3gpXG4gICAgICAgICAgICogTm8gbmVlZCB0byB3b3JyeSBhYm91dCBzdGF0dXNiYXIgcGFkZGluZyBzaW5jZSBlbmdpbmVzIGxpa2UgR2Vja29cbiAgICAgICAgICAgKiBhcmUgbm90IHVzZWQgYXMgdGhlIGVuZ2luZSBmb3Igc3RhbmRsb25lIENvcmRvdmEvQ2FwYWNpdG9yIGFwcHNcbiAgICAgICAgICAgKi9cbiAgICAgICAgICBjb25zdCB0cmFuc2Zvcm1PZmZzZXQgPSAhQ1NTLnN1cHBvcnRzKCd3aWR0aCcsICdtYXgoMHB4LCAxcHgpJylcbiAgICAgICAgICAgID8gJzMwcHgnXG4gICAgICAgICAgICA6ICdtYXgoMzBweCwgdmFyKC0taW9uLXNhZmUtYXJlYS10b3ApKSc7XG4gICAgICAgICAgY29uc3QgbW9kYWxUcmFuc2Zvcm0gPSBoYXNDYXJkTW9kYWwgPyAnLTEwcHgnIDogdHJhbnNmb3JtT2Zmc2V0O1xuICAgICAgICAgIGNvbnN0IHRvUHJlc2VudGluZ1NjYWxlID0gdGhpcy5Td2lwZVRvQ2xvc2VEZWZhdWx0cy5NSU5fUFJFU0VOVElOR19TQ0FMRTtcbiAgICAgICAgICBjb25zdCBmaW5hbFRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKCR7bW9kYWxUcmFuc2Zvcm19KSBzY2FsZSgke3RvUHJlc2VudGluZ1NjYWxlfSlgO1xuXG4gICAgICAgICAgcHJlc2VudGluZ0FuaW1hdGlvblxuICAgICAgICAgICAgLmFmdGVyU3R5bGVzKHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYmVmb3JlQWRkV3JpdGUoKCkgPT4gYm9keUVsLnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLWNvbG9yJywgJ2JsYWNrJykpXG4gICAgICAgICAgICAuYWRkRWxlbWVudChwcmVzZW50aW5nRWwpXG4gICAgICAgICAgICAua2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6ICdjb250cmFzdCgxKScsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwcHgpIHNjYWxlKDEpJyxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcwcHgnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0OiAxLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogJ2NvbnRyYXN0KDAuODUpJyxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzEwcHggMTBweCAwIDAnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24ocHJlc2VudGluZ0FuaW1hdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oYmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICAgIGlmIChjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pIHtcbiAgICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFoYXNDYXJkTW9kYWwpIHtcbiAgICAgICAgICAgIHdyYXBwZXJBbmltYXRpb24uZnJvbVRvKCdvcGFjaXR5JywgJzAnLCAnMScpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0b1ByZXNlbnRpbmdTY2FsZSA9IGhhc0NhcmRNb2RhbFxuICAgICAgICAgICAgICA/IHRoaXMuU3dpcGVUb0Nsb3NlRGVmYXVsdHMuTUlOX1BSRVNFTlRJTkdfU0NBTEVcbiAgICAgICAgICAgICAgOiAxO1xuICAgICAgICAgICAgY29uc3QgZmluYWxUcmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgtMTBweCkgc2NhbGUoJHt0b1ByZXNlbnRpbmdTY2FsZX0pYDtcblxuICAgICAgICAgICAgcHJlc2VudGluZ0FuaW1hdGlvblxuICAgICAgICAgICAgICAuYWZ0ZXJTdHlsZXMoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5hZGRFbGVtZW50KHByZXNlbnRpbmdFbC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtd3JhcHBlcicpISlcbiAgICAgICAgICAgICAgLmtleWZyYW1lcyhbXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDAsIGZpbHRlcjogJ2NvbnRyYXN0KDEpJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSBzY2FsZSgxKScgfSxcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMSwgZmlsdGVyOiAnY29udHJhc3QoMC44NSknLCB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtIH0sXG4gICAgICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgICBjb25zdCBzaGFkb3dBbmltYXRpb24gPSB0aGlzLmFuaW1hdGlvbkN0cmxcbiAgICAgICAgICAgICAgLmNyZWF0ZSgpXG4gICAgICAgICAgICAgIC5hZnRlclN0eWxlcyh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsLnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC1zaGFkb3cnKSEpXG4gICAgICAgICAgICAgIC5rZXlmcmFtZXMoW1xuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLCBvcGFjaXR5OiAnMScsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCkgc2NhbGUoMSknIH0sXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIG9wYWNpdHk6ICcwJywgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSB9LFxuICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oW3ByZXNlbnRpbmdBbmltYXRpb24sIHNoYWRvd0FuaW1hdGlvbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oYmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICBpZiAoY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKSB7XG4gICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYmFzZUFuaW1hdGlvbjtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGxlYXZlQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcD86IEhUTUxJb25CYWNrZHJvcEVsZW1lbnQpOiBBbmltYXRpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gKGJhc2VFbDogSFRNTEVsZW1lbnQsIHByZXNlbnRpbmdFbD86IEhUTUxFbGVtZW50KTogQW5pbWF0aW9uID0+IHtcbiAgICAgIGNvbnN0IGJhY2tkcm9wQW5pbWF0aW9uID0gdGhpcy5hbmltYXRpb25DdHJsXG4gICAgICAgIC5jcmVhdGUoKVxuICAgICAgICAuYWRkRWxlbWVudChiYXNlRWwucXVlcnlTZWxlY3RvcignaW9uLWJhY2tkcm9wJykhKVxuICAgICAgICAuZnJvbVRvKCdvcGFjaXR5JywgJ3ZhcigtLWJhY2tkcm9wLW9wYWNpdHkpJywgMC4wKTtcblxuICAgICAgY29uc3Qgd3JhcHBlckFuaW1hdGlvbiA9IHRoaXMuYW5pbWF0aW9uQ3RybFxuICAgICAgICAuY3JlYXRlKClcbiAgICAgICAgLmFkZEVsZW1lbnQoYmFzZUVsLnF1ZXJ5U2VsZWN0b3JBbGwoJy5tb2RhbC13cmFwcGVyLCAubW9kYWwtc2hhZG93JykhKVxuICAgICAgICAuYmVmb3JlU3R5bGVzKHsgb3BhY2l0eTogMSB9KVxuICAgICAgICAuZnJvbVRvKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlWSgwdmgpJywgJ3RyYW5zbGF0ZVkoMTAwdmgpJyk7XG5cbiAgICAgIGNvbnN0IGJhc2VBbmltYXRpb24gPSB0aGlzLmFuaW1hdGlvbkN0cmxcbiAgICAgICAgLmNyZWF0ZSgpXG4gICAgICAgIC5hZGRFbGVtZW50KGJhc2VFbClcbiAgICAgICAgLmVhc2luZyh0aGlzLmVhc2luZ0xlYXZlKVxuICAgICAgICAuZHVyYXRpb24odGhpcy5kdXJhdGlvbilcbiAgICAgICAgLmFkZEFuaW1hdGlvbih3cmFwcGVyQW5pbWF0aW9uKTtcblxuICAgICAgbGV0IGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbjogQW5pbWF0aW9uO1xuICAgICAgaWYgKGN1cnJlbnRCYWNrZHJvcCkge1xuICAgICAgICBjdXJyZW50QmFja2Ryb3BBbmltYXRpb24gPSB0aGlzLmFuaW1hdGlvbkN0cmxcbiAgICAgICAgICAuY3JlYXRlKClcbiAgICAgICAgICAuYWRkRWxlbWVudChjdXJyZW50QmFja2Ryb3ApXG4gICAgICAgICAgLmZyb21Ubygnb3BhY2l0eScsIDAuMDEsICd2YXIoLS1iYWNrZHJvcC1vcGFjaXR5KScpXG4gICAgICAgICAgLmFmdGVyU3R5bGVzKHsgb3BhY2l0eTogJ3ZhcigtLWJhY2tkcm9wLW9wYWNpdHkpJyB9KTsgLy9FbnN1cmVzIGJhY2tkcm9wIGlzIHJlc2V0IHRvIGRlZmF1bHQgb3BhY2l0eSBhZnRlciBzd2lwZSB0byBjbG9zZVxuICAgICAgfVxuXG4gICAgICBpZiAocHJlc2VudGluZ0VsKSB7XG4gICAgICAgIGNvbnN0IGlzTW9iaWxlID0gIXRoaXMucGxhdGZvcm0uaXNQaGFibGV0T3JCaWdnZXIoKTtcbiAgICAgICAgY29uc3QgaGFzQ2FyZE1vZGFsID1cbiAgICAgICAgICBwcmVzZW50aW5nRWwudGFnTmFtZSA9PT0gJ0lPTi1NT0RBTCcgJiZcbiAgICAgICAgICAocHJlc2VudGluZ0VsIGFzIEhUTUxJb25Nb2RhbEVsZW1lbnQpLnByZXNlbnRpbmdFbGVtZW50ICE9PSB1bmRlZmluZWQ7XG5cbiAgICAgICAgY29uc3QgcHJlc2VudGluZ0FuaW1hdGlvbiA9IHRoaXMuYW5pbWF0aW9uQ3RybFxuICAgICAgICAgIC5jcmVhdGUoKVxuICAgICAgICAgIC5iZWZvcmVDbGVhclN0eWxlcyhbJ3RyYW5zZm9ybSddKVxuICAgICAgICAgIC5hZnRlckNsZWFyU3R5bGVzKFsndHJhbnNmb3JtJ10pXG4gICAgICAgICAgLm9uRmluaXNoKChjdXJyZW50U3RlcCkgPT4ge1xuICAgICAgICAgICAgLy8gb25seSByZXNldCBiYWNrZ3JvdW5kIGNvbG9yIGlmIHRoaXMgaXMgdGhlIGxhc3QgY2FyZC1zdHlsZSBtb2RhbFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRTdGVwICE9PSAxKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHJlc2VudGluZ0VsLnN0eWxlLnNldFByb3BlcnR5KCdvdmVyZmxvdycsICcnKTtcblxuICAgICAgICAgICAgY29uc3QgbnVtTW9kYWxzID0gQXJyYXkuZnJvbShib2R5RWwucXVlcnlTZWxlY3RvckFsbCgnaW9uLW1vZGFsJykpLmZpbHRlcihcbiAgICAgICAgICAgICAgKG0pID0+IG0ucHJlc2VudGluZ0VsZW1lbnQgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgKS5sZW5ndGg7XG4gICAgICAgICAgICBpZiAobnVtTW9kYWxzIDw9IDEpIHtcbiAgICAgICAgICAgICAgYm9keUVsLnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLWNvbG9yJywgJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGJvZHlFbCA9IGRvY3VtZW50LmJvZHk7XG5cbiAgICAgICAgaWYgKGlzTW9iaWxlKSB7XG4gICAgICAgICAgY29uc3QgdHJhbnNmb3JtT2Zmc2V0ID0gIUNTUy5zdXBwb3J0cygnd2lkdGgnLCAnbWF4KDBweCwgMXB4KScpXG4gICAgICAgICAgICA/ICczMHB4J1xuICAgICAgICAgICAgOiAnbWF4KDMwcHgsIHZhcigtLWlvbi1zYWZlLWFyZWEtdG9wKSknO1xuICAgICAgICAgIGNvbnN0IG1vZGFsVHJhbnNmb3JtID0gaGFzQ2FyZE1vZGFsID8gJy0xMHB4JyA6IHRyYW5zZm9ybU9mZnNldDtcbiAgICAgICAgICBjb25zdCB0b1ByZXNlbnRpbmdTY2FsZSA9IHRoaXMuU3dpcGVUb0Nsb3NlRGVmYXVsdHMuTUlOX1BSRVNFTlRJTkdfU0NBTEU7XG4gICAgICAgICAgY29uc3QgZmluYWxUcmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke21vZGFsVHJhbnNmb3JtfSkgc2NhbGUoJHt0b1ByZXNlbnRpbmdTY2FsZX0pYDtcblxuICAgICAgICAgIHByZXNlbnRpbmdBbmltYXRpb24uYWRkRWxlbWVudChwcmVzZW50aW5nRWwpLmtleWZyYW1lcyhbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgICAgICAgZmlsdGVyOiAnY29udHJhc3QoMC44NSknLFxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcxMHB4IDEwcHggMCAwJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG9mZnNldDogMSxcbiAgICAgICAgICAgICAgZmlsdGVyOiAnY29udHJhc3QoMSknLFxuICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDBweCkgc2NhbGUoMSknLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcwcHgnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdKTtcblxuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKHByZXNlbnRpbmdBbmltYXRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgICBpZiAoY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghaGFzQ2FyZE1vZGFsKSB7XG4gICAgICAgICAgICB3cmFwcGVyQW5pbWF0aW9uLmZyb21Ubygnb3BhY2l0eScsICcxJywgJzAnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdG9QcmVzZW50aW5nU2NhbGUgPSBoYXNDYXJkTW9kYWxcbiAgICAgICAgICAgICAgPyB0aGlzLlN3aXBlVG9DbG9zZURlZmF1bHRzLk1JTl9QUkVTRU5USU5HX1NDQUxFXG4gICAgICAgICAgICAgIDogMTtcbiAgICAgICAgICAgIGNvbnN0IGZpbmFsVHJhbnNmb3JtID0gYHRyYW5zbGF0ZVkoLTEwcHgpIHNjYWxlKCR7dG9QcmVzZW50aW5nU2NhbGV9KWA7XG5cbiAgICAgICAgICAgIHByZXNlbnRpbmdBbmltYXRpb25cbiAgICAgICAgICAgICAgLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsLnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC13cmFwcGVyJykhKVxuICAgICAgICAgICAgICAuYWZ0ZXJTdHlsZXMoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAsIDAsIDApJyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmtleWZyYW1lcyhbXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDAsIGZpbHRlcjogJ2NvbnRyYXN0KDAuODUpJywgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSB9LFxuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBmaWx0ZXI6ICdjb250cmFzdCgxKScsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCkgc2NhbGUoMSknIH0sXG4gICAgICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgICBjb25zdCBzaGFkb3dBbmltYXRpb24gPSB0aGlzLmFuaW1hdGlvbkN0cmxcbiAgICAgICAgICAgICAgLmNyZWF0ZSgpXG4gICAgICAgICAgICAgIC5hZGRFbGVtZW50KHByZXNlbnRpbmdFbC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtc2hhZG93JykhKVxuICAgICAgICAgICAgICAuYWZ0ZXJTdHlsZXMoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCkgc2NhbGUoMSknLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAua2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMCwgb3BhY2l0eTogJzAnLCB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtIH0sXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIG9wYWNpdHk6ICcxJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSBzY2FsZSgxKScgfSxcbiAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKFtwcmVzZW50aW5nQW5pbWF0aW9uLCBzaGFkb3dBbmltYXRpb25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgaWYgKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbikge1xuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJhc2VBbmltYXRpb247XG4gICAgfTtcbiAgfVxufVxuIl19
@@ -88,9 +88,7 @@ export class ModalNavigationService {
88
88
  return routePathsWithoutChildSegments;
89
89
  }
90
90
  findChildRouteForUrl(url, routes) {
91
- const moduleRelativePaths = this.getRoutePaths(routes, [''])
92
- .sort()
93
- .reverse(); // Ensure child paths are evaluated first
91
+ const moduleRelativePaths = this.getRoutePaths(routes, ['']).sort().reverse(); // Ensure child paths are evaluated first
94
92
  let matchedChildRoute = moduleRelativePaths.find((path) => url.endsWith(path));
95
93
  if (!matchedChildRoute) {
96
94
  // No static child route found matching current route - look for child route with url params:
@@ -267,13 +265,10 @@ export class ModalNavigationService {
267
265
  return parentRoute;
268
266
  }
269
267
  }
270
- /** @nocollapse */ ModalNavigationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ModalNavigationService_Factory() { return new ModalNavigationService(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i1.ActivatedRoute)); }, token: ModalNavigationService, providedIn: "root" });
271
- ModalNavigationService.decorators = [
272
- { type: Injectable, args: [{ providedIn: 'root' },] }
273
- ];
274
- /** @nocollapse */
275
- ModalNavigationService.ctorParameters = () => [
276
- { type: Router },
277
- { type: ActivatedRoute }
278
- ];
279
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtbmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL3NlcnZpY2VzL21vZGFsLW5hdmlnYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFpQixNQUFNLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRixPQUFPLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUt6RSxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQW9CLE1BQWMsRUFBVSxLQUFxQjtRQUE3QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUE0THpELDJCQUFzQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDdEQsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUEwQixFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUMxRSxDQUFDO0lBOUxrRSxDQUFDO0lBRXJFLFlBQVksQ0FBQyxHQUFXO1FBQ3RCLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ2pDLE9BQU8sVUFBVSxDQUFDLFVBQVUsRUFBRTtZQUM1QixVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztTQUNw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O0tBQUE7SUFFTyxnQkFBZ0IsQ0FBQyxxQkFBcUM7UUFDNUQsSUFBSSxXQUFXLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDO1FBQy9DLE9BQU8sV0FBVyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUNwRSxXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztTQUNsQztRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7Ozs7WUFwVUYsVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7OztZQU5xQixNQUFNO1lBQXBELGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkVuZCwgUGFyYW1zLCBSb3V0ZSwgUm91dGVyLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QsIG1hcCwgcGFpcndpc2UsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTW9kYWxSb3V0ZUFjdGl2YXRpb24gfSBmcm9tICcuL21vZGFsLmludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1vZGFsTmF2aWdhdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge31cblxuICBpc01vZGFsUm91dGUodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXJsLmluY2x1ZGVzKCcobW9kYWw6Jyk7XG4gIH1cblxuICBwcml2YXRlIGdldEN1cnJlbnRBY3RpdmF0ZWRSb3V0ZSgpOiBBY3RpdmF0ZWRSb3V0ZSB7XG4gICAgbGV0IGNoaWxkUm91dGUgPSB0aGlzLnJvdXRlLnJvb3Q7XG4gICAgd2hpbGUgKGNoaWxkUm91dGUuZmlyc3RDaGlsZCkge1xuICAgICAgY2hpbGRSb3V0ZSA9IGNoaWxkUm91dGUuZmlyc3RDaGlsZDtcbiAgICB9XG4gICAgcmV0dXJuIGNoaWxkUm91dGU7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldE1vZGFsUm91dGVzKFxuICAgIHJvdXRlQ29uZmlnOiBSb3V0ZXNbXSxcbiAgICBtb2R1bGVSb290Um91dGVQYXRoPzogc3RyaW5nXG4gICk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCBmbGF0dGVuZWRSb3V0ZXM6IFJvdXRlcyA9IFtdLmNvbmNhdCguLi5yb3V0ZUNvbmZpZyk7XG4gICAgbGV0IG1vZGFsUm91dGVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IG1vZHVsZVJvb3RQYXRocyA9IGF3YWl0IHRoaXMuZ2V0TW9kdWxlUm9vdFBhdGgoZmxhdHRlbmVkUm91dGVzLCBtb2R1bGVSb290Um91dGVQYXRoKTtcbiAgICBpZiAobW9kdWxlUm9vdFBhdGhzKSB7XG4gICAgICBtb2RhbFJvdXRlcyA9IHRoaXMuZ2V0TW9kYWxSb3V0ZVBhdGhzKGZsYXR0ZW5lZFJvdXRlcywgbW9kdWxlUm9vdFBhdGhzKTtcbiAgICB9XG4gICAgcmV0dXJuIG1vZGFsUm91dGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRNb2R1bGVSb290UGF0aChyb3V0ZXM6IFJvdXRlcywgbW9kdWxlUm9vdFJvdXRlUGF0aD86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBpZiAobW9kdWxlUm9vdFJvdXRlUGF0aCkge1xuICAgICAgY29uc3QgdHJpbW1lZFBhdGhzID0gbW9kdWxlUm9vdFJvdXRlUGF0aFxuICAgICAgICAudHJpbSgpXG4gICAgICAgIC5zcGxpdCgnLycpXG4gICAgICAgIC5maWx0ZXIoKHBhdGgpID0+ICEhcGF0aCk7XG4gICAgICBjb25zdCByb290UGF0aCA9IFsnJ107XG4gICAgICByZXR1cm4gcm9vdFBhdGguY29uY2F0KHRyaW1tZWRQYXRocyk7XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudFJvdXRlUGF0aHMgPSBhd2FpdCB0aGlzLmdldEN1cnJlbnRSb3V0ZVBhdGhzKCk7XG4gICAgY29uc3QgbW9kdWxlUm9vdFBhdGhzID0gdGhpcy5nZXRSb3V0ZVBhdGhzV2l0aG91dENoaWxkU2VnbWVudHMoY3VycmVudFJvdXRlUGF0aHMsIHJvdXRlcyk7XG4gICAgcmV0dXJuIG1vZHVsZVJvb3RQYXRocztcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0Q3VycmVudFJvdXRlUGF0aHMoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGNvbnN0IHJvb3RQYXRoID0gWycnXTtcbiAgICBjb25zdCBjdXJyZW50TmF2aWdhdGlvbiA9IHRoaXMucm91dGVyLmdldEN1cnJlbnROYXZpZ2F0aW9uKCk7XG5cbiAgICBpZiAoIXRoaXMucm91dGVyLm5hdmlnYXRlZCAmJiAhY3VycmVudE5hdmlnYXRpb24pIHtcbiAgICAgIC8vIElmIHJvdXRlciBoYXNuJ3QgbmF2aWdhdGVkIHlldCBhbmQgd2UgYXJlIG5vdCBpbiB0aGUgbWlkZGxlIG9mIG5hdmlnYXRpbmcsIGFzc3VtZSByb290OlxuICAgICAgcmV0dXJuIHJvb3RQYXRoO1xuICAgIH1cblxuICAgIGlmIChjdXJyZW50TmF2aWdhdGlvbikge1xuICAgICAgLy8gV2FpdCBmb3IgY3VycmVudCBuYXZpZ2F0aW9uIHRvIGZpbmlzaDpcbiAgICAgIGF3YWl0IHRoaXMubmF2aWdhdGlvbkVuZExpc3RlbmVyJC5waXBlKGZpcnN0KCkpLnRvUHJvbWlzZSgpO1xuICAgIH1cblxuICAgIGxldCBjaGlsZFJvdXRlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5yb290O1xuICAgIHdoaWxlIChjaGlsZFJvdXRlLmZpcnN0Q2hpbGQpIHtcbiAgICAgIGNoaWxkUm91dGUgPSBjaGlsZFJvdXRlLmZpcnN0Q2hpbGQ7XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRCYWNrZHJvcFJvdXRlUGF0aCA9IGNoaWxkUm91dGUucGF0aEZyb21Sb290LmZpbHRlcihcbiAgICAgIChyb3V0ZSkgPT4gcm91dGUub3V0bGV0ICE9PSAnbW9kYWwnXG4gICAgKTtcblxuICAgIHJldHVybiByb290UGF0aC5jb25jYXQoXG4gICAgICAuLi5jdXJyZW50QmFja2Ryb3BSb3V0ZVBhdGgubWFwKChyb3V0ZSkgPT5cbiAgICAgICAgcm91dGUudXJsLmZpbHRlcigoc2VnbWVudCkgPT4gISFzZWdtZW50LnBhdGgpLm1hcCgoc2VnbWVudCkgPT4gc2VnbWVudC5wYXRoKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFJvdXRlUGF0aHNXaXRob3V0Q2hpbGRTZWdtZW50cyhyb3V0ZVBhdGhzOiBzdHJpbmdbXSwgcm91dGVzOiBSb3V0ZXMpOiBzdHJpbmdbXSB7XG4gICAgaWYgKCFyb3V0ZVBhdGhzLmxlbmd0aCkgcmV0dXJuIHJvdXRlUGF0aHM7XG5cbiAgICBjb25zdCBtYXRjaGVkQ2hpbGRSb3V0ZSA9IHRoaXMuZmluZENoaWxkUm91dGVGb3JVcmwocm91dGVQYXRocy5qb2luKCcvJyksIHJvdXRlcyk7XG5cbiAgICBpZiAoIW1hdGNoZWRDaGlsZFJvdXRlKSByZXR1cm4gcm91dGVQYXRocztcblxuICAgIGNvbnN0IHN0YXJ0U2xhc2hSZWdleCA9IC9eXFwvLztcbiAgICBjb25zdCByZWxhdGl2ZUNoaWxkUm91dGUgPSBtYXRjaGVkQ2hpbGRSb3V0ZS5yZXBsYWNlKHN0YXJ0U2xhc2hSZWdleCwgJycpO1xuICAgIGNvbnN0IGNoaWxkU2VnbWVudENvdW50ID0gcmVsYXRpdmVDaGlsZFJvdXRlLnNwbGl0KCcvJykubGVuZ3RoO1xuICAgIGNvbnN0IHJvdXRlUGF0aHNXaXRob3V0Q2hpbGRTZWdtZW50cyA9IHJvdXRlUGF0aHMuc2xpY2UoMCwgLWNoaWxkU2VnbWVudENvdW50KTsgLy8gUmVtb3ZlIGNoaWxkIHNlZ21lbnRzIGZyb20gZW5kIG9mIHJvdXRlIHBhdGggYXJyYXlcbiAgICByZXR1cm4gcm91dGVQYXRoc1dpdGhvdXRDaGlsZFNlZ21lbnRzO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kQ2hpbGRSb3V0ZUZvclVybCh1cmw6IHN0cmluZywgcm91dGVzOiBSb3V0ZXMpIHtcbiAgICBjb25zdCBtb2R1bGVSZWxhdGl2ZVBhdGhzID0gdGhpcy5nZXRSb3V0ZVBhdGhzKHJvdXRlcywgWycnXSlcbiAgICAgIC5zb3J0KClcbiAgICAgIC5yZXZlcnNlKCk7IC8vIEVuc3VyZSBjaGlsZCBwYXRocyBhcmUgZXZhbHVhdGVkIGZpcnN0XG4gICAgbGV0IG1hdGNoZWRDaGlsZFJvdXRlID0gbW9kdWxlUmVsYXRpdmVQYXRocy5maW5kKChwYXRoKSA9PiB1cmwuZW5kc1dpdGgocGF0aCkpO1xuICAgIGlmICghbWF0Y2hlZENoaWxkUm91dGUpIHtcbiAgICAgIC8vIE5vIHN0YXRpYyBjaGlsZCByb3V0ZSBmb3VuZCBtYXRjaGluZyBjdXJyZW50IHJvdXRlIC0gbG9vayBmb3IgY2hpbGQgcm91dGUgd2l0aCB1cmwgcGFyYW1zOlxuICAgICAgY29uc3QgZXhhY3RNYXRjaCA9IGZhbHNlO1xuICAgICAgbWF0Y2hlZENoaWxkUm91dGUgPSBtb2R1bGVSZWxhdGl2ZVBhdGhzLmZpbmQoXG4gICAgICAgIChwYXRoKSA9PlxuICAgICAgICAgIHBhdGguaW5jbHVkZXMoJy86JykgJiYgdGhpcy5wYXRoQ29udGFpbnNDaGlsZFJvdXRlV2l0aFVybFBhcmFtcyh1cmwsIHBhdGgsIGV4YWN0TWF0Y2gpXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gbWF0Y2hlZENoaWxkUm91dGU7XG4gIH1cblxuICBwcml2YXRlIHBhdGhDb250YWluc0NoaWxkUm91dGVXaXRoVXJsUGFyYW1zKFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBjaGlsZFJvdXRlV2l0aFVybFBhcmFtczogc3RyaW5nLFxuICAgIGV4YWN0TWF0Y2g6IGJvb2xlYW5cbiAgKSB7XG4gICAgY29uc3QgcGF0aFNlZ21lbnRzID0gcGF0aC5zcGxpdCgnLycpO1xuICAgIGNvbnN0IHN0YXJ0U2xhc2hSZWdleCA9IC9eXFwvLztcbiAgICBsZXQgY2hpbGRSb3V0ZVRvTWF0Y2ggPSBjaGlsZFJvdXRlV2l0aFVybFBhcmFtcztcbiAgICBpZiAoIWV4YWN0TWF0Y2gpIHtcbiAgICAgIGNvbnN0IHJlbGF0aXZlQ2hpbGRSb3V0ZSA9IGNoaWxkUm91dGVXaXRoVXJsUGFyYW1zLnJlcGxhY2Uoc3RhcnRTbGFzaFJlZ2V4LCAnJyk7XG4gICAgICBjaGlsZFJvdXRlVG9NYXRjaCA9IHJlbGF0aXZlQ2hpbGRSb3V0ZTtcbiAgICB9XG4gICAgY29uc3QgY2hpbGRSb3V0ZVNlZ21lbnRzID0gY2hpbGRSb3V0ZVRvTWF0Y2guc3BsaXQoJy8nKTtcbiAgICAvLyBNYXRjaCBlYWNoIGNoaWxkIHJvdXRlIHNlZ21lbnQgYWdhaW5zdCB1cmxcbiAgICAvLyBNYXRjaCBiYWNrd2FyZHMgZnJvbSBlbmQgdG8gc3RhcnQgb2YgY2hpbGQgcm91dGUsIGkuZS4gXCJ1cmwgZW5kcyB3aXRoIGNoaWxkIHJvdXRlXCI6XG4gICAgY29uc3QgcGF0aENvbnRhaW5zQ2hpbGRSb3V0ZSA9IGNoaWxkUm91dGVTZWdtZW50cy5yZXZlcnNlKCkuZXZlcnkoKGNoaWxkUm91dGVTZWdtZW50KSA9PiB7XG4gICAgICBjb25zdCBwYXRoU2VnbWVudCA9IHBhdGhTZWdtZW50cy5wb3AoKTtcbiAgICAgIC8vIHVybCBwYXJhbXMgKGUuZy4gYC86aWQvYCkgYXJlIHRyZWF0ZWQgYXMgYSBtYXRjaDpcbiAgICAgIHJldHVybiBjaGlsZFJvdXRlU2VnbWVudC5zdGFydHNXaXRoKCc6JykgfHwgY2hpbGRSb3V0ZVNlZ21lbnQgPT09IHBhdGhTZWdtZW50O1xuICAgIH0pO1xuICAgIGlmIChleGFjdE1hdGNoKSB7XG4gICAgICAvLyBPbmx5IG1hdGNoIGlmIHdlJ3ZlIHJlYWNoZWQgdGhlIHN0YXJ0IG9mIHRoZSB1cmwgdG8gbWF0Y2ggYWdhaW5zdDpcbiAgICAgIHJldHVybiBwYXRoU2VnbWVudHMubGVuZ3RoID09PSAwICYmIHBhdGhDb250YWluc0NoaWxkUm91dGU7XG4gICAgfVxuICAgIHJldHVybiBwYXRoQ29udGFpbnNDaGlsZFJvdXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSb3V0ZVBhdGhzKHJvdXRlczogUm91dGVzLCBwYXJlbnRQYXRoOiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShyb3V0ZXMpXG4gICAgICA/IChbXSBhcyBzdHJpbmdbXSkuY29uY2F0KC4uLnJvdXRlcy5tYXAoKHJvdXRlKSA9PiB0aGlzLmdldFJvdXRlUGF0aChyb3V0ZSwgcGFyZW50UGF0aCkpKVxuICAgICAgOiBbXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Um91dGVQYXRoKHJvdXRlOiBSb3V0ZSwgcGFyZW50UGF0aDogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgcm91dGVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmICghIXJvdXRlLm91dGxldCkgcmV0dXJuIHJvdXRlczsgLy8gRG9uJ3QgcmV0dXJuIHJlbGF0aXZlIHBhdGhzIGZvciBvdXRsZXQgcm91dGVzXG5cbiAgICBjb25zdCBjdXJyZW50UGF0aCA9IFsuLi5wYXJlbnRQYXRoXTtcbiAgICBpZiAoISFyb3V0ZS5wYXRoKSB7XG4gICAgICBjdXJyZW50UGF0aC5wdXNoKHJvdXRlLnBhdGgpO1xuICAgICAgcm91dGVzLnB1c2goY3VycmVudFBhdGguam9pbignLycpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm91dGVzLmNvbmNhdCh0aGlzLmdldFJvdXRlUGF0aHMocm91dGUuY2hpbGRyZW4sIGN1cnJlbnRQYXRoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZGFsUm91dGVQYXRoKHJvdXRlOiBSb3V0ZSwgcGFyZW50UGF0aDogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgbW9kYWxPdXRsZXROYW1lID0gJ21vZGFsJztcbiAgICBpZiAoISFyb3V0ZS5wYXRoICYmIHJvdXRlLm91dGxldCA9PT0gbW9kYWxPdXRsZXROYW1lKSB7XG4gICAgICBjb25zdCBtb2RhbE91dGxldFBhdGggPSBgKCR7bW9kYWxPdXRsZXROYW1lfToke3JvdXRlLnBhdGh9KWA7XG4gICAgICBjb25zdCBtb2RhbFJvdXRlUGF0aCA9IFsuLi5wYXJlbnRQYXRoLCBtb2RhbE91dGxldFBhdGhdLmpvaW4oJy8nKTtcbiAgICAgIHJldHVybiBbbW9kYWxSb3V0ZVBhdGhdO1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW50UGF0aCA9IFsuLi5wYXJlbnRQYXRoXTtcbiAgICBpZiAoISFyb3V0ZS5wYXRoKSB7XG4gICAgICBjdXJyZW50UGF0aC5wdXNoKHJvdXRlLnBhdGgpO1xuICAgIH1cbiAgICByZXR1cm4gKFtdIGFzIHN0cmluZ1tdKS5jb25jYXQoLi4udGhpcy5nZXRNb2RhbFJvdXRlUGF0aHMocm91dGUuY2hpbGRyZW4sIGN1cnJlbnRQYXRoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZGFsUm91dGVQYXRocyhyb3V0ZXM6IFJvdXRlcywgcGFyZW50UGF0aDogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkocm91dGVzKVxuICAgICAgPyAoW10gYXMgc3RyaW5nW10pLmNvbmNhdCguLi5yb3V0ZXMubWFwKChyb3V0ZSkgPT4gdGhpcy5nZXRNb2RhbFJvdXRlUGF0aChyb3V0ZSwgcGFyZW50UGF0aCkpKVxuICAgICAgOiBbXTtcbiAgfVxuXG4gIHByaXZhdGUgaXNOZXdNb2RhbFdpbmRvdyhuYXZpZ2F0aW9uRW5kOiBOYXZpZ2F0aW9uRW5kKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY3VycmVudE5hdmlnYXRpb24gPSB0aGlzLnJvdXRlci5nZXRDdXJyZW50TmF2aWdhdGlvbigpO1xuICAgIGlmICghY3VycmVudE5hdmlnYXRpb24gfHwgIWN1cnJlbnROYXZpZ2F0aW9uLnByZXZpb3VzTmF2aWdhdGlvbikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IHByZXZpb3VzUm91dGVQYXRoID0gKFxuICAgICAgY3VycmVudE5hdmlnYXRpb24ucHJldmlvdXNOYXZpZ2F0aW9uLmZpbmFsVXJsIHx8XG4gICAgICBjdXJyZW50TmF2aWdhdGlvbi5wcmV2aW91c05hdmlnYXRpb24uZXh0cmFjdGVkVXJsXG4gICAgKS50b1N0cmluZygpO1xuICAgIGNvbnN0IHdhc01vZGFsUm91dGUgPSB0aGlzLmlzTW9kYWxSb3V0ZShwcmV2aW91c1JvdXRlUGF0aCk7XG4gICAgY29uc3QgaXNNb2RhbFJvdXRlID0gdGhpcy5pc01vZGFsUm91dGUobmF2aWdhdGlvbkVuZC51cmxBZnRlclJlZGlyZWN0cyk7XG4gICAgaWYgKCF3YXNNb2RhbFJvdXRlICYmIGlzTW9kYWxSb3V0ZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudE1vZGFsUm91dGVQYXJlbnQgPSBuYXZpZ2F0aW9uRW5kLnVybEFmdGVyUmVkaXJlY3RzLnNwbGl0KCcvKG1vZGFsOicpWzBdO1xuICAgIGNvbnN0IHByZXZpb3VzTW9kYWxSb3V0ZVBhcmVudCA9IHByZXZpb3VzUm91dGVQYXRoLnNwbGl0KCcvKG1vZGFsOicpWzBdO1xuXG4gICAgcmV0dXJuIHByZXZpb3VzTW9kYWxSb3V0ZVBhcmVudCAhPT0gY3VycmVudE1vZGFsUm91dGVQYXJlbnQ7XG4gIH1cblxuICBwcml2YXRlIG5hdmlnYXRpb25FbmRMaXN0ZW5lciQgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICBmaWx0ZXIoKGV2ZW50KTogZXZlbnQgaXMgTmF2aWdhdGlvbkVuZCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpXG4gICk7XG5cbiAgcHJpdmF0ZSBhc3luYyB3YWl0Rm9yQ3VycmVudFRoZW5HZXROYXZpZ2F0aW9uRW5kU3RyZWFtKCk6IFByb21pc2U8T2JzZXJ2YWJsZTxOYXZpZ2F0aW9uRW5kPj4ge1xuICAgIGlmICh0aGlzLnJvdXRlci5nZXRDdXJyZW50TmF2aWdhdGlvbigpKSB7XG4gICAgICBjb25zdCBjdXJyZW50TmF2aWdhdGlvbkVuZCA9IGF3YWl0IHRoaXMubmF2aWdhdGlvbkVuZExpc3RlbmVyJC5waXBlKGZpcnN0KCkpLnRvUHJvbWlzZSgpO1xuICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvbkVuZExpc3RlbmVyJC5waXBlKHN0YXJ0V2l0aChjdXJyZW50TmF2aWdhdGlvbkVuZCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uRW5kTGlzdGVuZXIkO1xuICB9XG5cbiAgcHJpdmF0ZSBtb2RhbFJvdXRlQWN0aXZhdGVkRm9yKFxuICAgIG5hdmlnYXRpb25FbmQkOiBPYnNlcnZhYmxlPE5hdmlnYXRpb25FbmQ+LFxuICAgIG1vZGFsUm91dGVTZXQ6IFNldDxzdHJpbmc+LFxuICAgIG1vZGFsUm91dGVzQ29udGFpbnNVcmxQYXJhbXM6IGJvb2xlYW5cbiAgKTogT2JzZXJ2YWJsZTxNb2RhbFJvdXRlQWN0aXZhdGlvbj4ge1xuICAgIHJldHVybiBuYXZpZ2F0aW9uRW5kJC5waXBlKFxuICAgICAgZmlsdGVyKChuYXZpZ2F0aW9uRW5kKSA9PlxuICAgICAgICB0aGlzLm1vZGFsUm91dGVTZXRDb250YWluc1BhdGgobW9kYWxSb3V0ZVNldCwgbmF2aWdhdGlvbkVuZCwgbW9kYWxSb3V0ZXNDb250YWluc1VybFBhcmFtcylcbiAgICAgICksXG4gICAgICBtYXAoKG5hdmlnYXRpb25FbmQpID0+ICh7XG4gICAgICAgIHJvdXRlOiB0aGlzLmdldEN1cnJlbnRBY3RpdmF0ZWRSb3V0ZSgpLFxuICAgICAgICBpc05ld01vZGFsOiB0aGlzLmlzTmV3TW9kYWxXaW5kb3cobmF2aWdhdGlvbkVuZCksXG4gICAgICB9KSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBtb2RhbFJvdXRlRGVhY3RpdmF0ZWRGb3IoXG4gICAgbmF2aWdhdGlvbkVuZCQ6IE9ic2VydmFibGU8TmF2aWdhdGlvbkVuZD4sXG4gICAgbW9kYWxSb3V0ZVNldDogU2V0PHN0cmluZz4sXG4gICAgbW9kYWxSb3V0ZXNDb250YWluc1VybFBhcmFtczogYm9vbGVhblxuICApOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gbmF2aWdhdGlvbkVuZCQucGlwZShcbiAgICAgIHBhaXJ3aXNlKCksXG4gICAgICBmaWx0ZXIoKFtwcmV2TmF2aWdhdGlvbiwgX10pID0+XG4gICAgICAgIHRoaXMubW9kYWxSb3V0ZVNldENvbnRhaW5zUGF0aChtb2RhbFJvdXRlU2V0LCBwcmV2TmF2aWdhdGlvbiwgbW9kYWxSb3V0ZXNDb250YWluc1VybFBhcmFtcylcbiAgICAgICksIC8vIE9ubHkgZW1pdCBpZiBwcmV2aW91cyByb3V0ZSB3YXMgbW9kYWxcbiAgICAgIG1hcCgoW18sIGN1cnJlbnROYXZpZ2F0aW9uXSkgPT4ge1xuICAgICAgICBjb25zdCBpc05ld01vZGFsUm91dGUgPSB0aGlzLmlzTW9kYWxSb3V0ZShjdXJyZW50TmF2aWdhdGlvbi51cmxBZnRlclJlZGlyZWN0cyk7XG4gICAgICAgIC8vIERlYWN0aXZhdGUgbW9kYWwgcm91dGUgaWYgbmV3IHJvdXRlIGlzIE5PVCBtb2RhbCBPUiBpcyBvdXRzaWRlIGN1cnJlbnQgcGFyZW50IHJvdXRlOlxuICAgICAgICByZXR1cm4gIWlzTmV3TW9kYWxSb3V0ZSB8fCB0aGlzLmlzTmV3TW9kYWxXaW5kb3coY3VycmVudE5hdmlnYXRpb24pO1xuICAgICAgfSksXG4gICAgICBmaWx0ZXIoKGlzRGVhY3RpdmF0aW9uKSA9PiBpc0RlYWN0aXZhdGlvbilcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBtb2RhbFJvdXRlU2V0Q29udGFpbnNQYXRoKFxuICAgIG1vZGFsUm91dGVTZXQ6IFNldDxzdHJpbmc+LFxuICAgIG5hdmlnYXRpb25FbmQ6IE5hdmlnYXRpb25FbmQsXG4gICAgbW9kYWxSb3V0ZXNDb250YWluc1VybFBhcmFtczogYm9vbGVhblxuICApIHtcbiAgICBjb25zdCBwYXRobmFtZSA9IG5hdmlnYXRpb25FbmQudXJsQWZ0ZXJSZWRpcmVjdHMuc3BsaXQoJz8nKVswXTtcbiAgICBsZXQgaGFzUm91dGUgPSBtb2RhbFJvdXRlU2V0LmhhcyhwYXRobmFtZSk7XG4gICAgaWYgKCFoYXNSb3V0ZSAmJiBtb2RhbFJvdXRlc0NvbnRhaW5zVXJsUGFyYW1zKSB7XG4gICAgICAvLyBVc2UgYGZvciAuLi4gb2ZgIGluc3RlYWQgb2YgYGZvckVhY2hgIHNvIHdlIGNhbiBicmVhayBvdXQgb2YgdGhlIGxvb3AgaWYgcm91dGUgaXMgZm91bmQ6XG4gICAgICBmb3IgKGxldCByb3V0ZSBvZiBtb2RhbFJvdXRlU2V0KSB7XG4gICAgICAgIGNvbnN0IGV4YWN0TWF0Y2ggPSB0cnVlO1xuICAgICAgICBjb25zdCByb3V0ZU1hdGNoZXNQYXRoID0gdGhpcy5wYXRoQ29udGFpbnNDaGlsZFJvdXRlV2l0aFVybFBhcmFtcyhcbiAgICAgICAgICBwYXRobmFtZSxcbiAgICAgICAgICByb3V0ZSxcbiAgICAgICAgICBleGFjdE1hdGNoXG4gICAgICAgICk7XG4gICAgICAgIGlmIChyb3V0ZU1hdGNoZXNQYXRoKSB7XG4gICAgICAgICAgaGFzUm91dGUgPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBoYXNSb3V0ZTtcbiAgfVxuXG4gIGFzeW5jIGdldE1vZGFsTmF2aWdhdGlvbihcbiAgICByb3V0ZUNvbmZpZzogUm91dGVzW10sXG4gICAgbW9kdWxlUm9vdFJvdXRlUGF0aD86IHN0cmluZ1xuICApOiBQcm9taXNlPHsgYWN0aXZhdGVkJDogT2JzZXJ2YWJsZTxNb2RhbFJvdXRlQWN0aXZhdGlvbj47IGRlYWN0aXZhdGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPiB9PiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocm91dGVDb25maWcpKSB7XG4gICAgICBjb25zdCBuYXZpZ2F0aW9uRW5kJCA9IGF3YWl0IHRoaXMud2FpdEZvckN1cnJlbnRUaGVuR2V0TmF2aWdhdGlvbkVuZFN0cmVhbSgpO1xuICAgICAgY29uc3QgbW9kYWxSb3V0ZXMgPSBhd2FpdCB0aGlzLmdldE1vZGFsUm91dGVzKHJvdXRlQ29uZmlnLCBtb2R1bGVSb290Um91dGVQYXRoKTtcbiAgICAgIGNvbnN0IGhhc01vZGFsUm91dGVzID0gbW9kYWxSb3V0ZXMubGVuZ3RoID4gMDtcbiAgICAgIGlmIChoYXNNb2RhbFJvdXRlcykge1xuICAgICAgICBjb25zdCBtb2RhbFJvdXRlc0NvbnRhaW5zVXJsUGFyYW1zID0gbW9kYWxSb3V0ZXMuc29tZSgocm91dGUpID0+IHJvdXRlLmluY2x1ZGVzKCcvOicpKTtcbiAgICAgICAgY29uc3QgbW9kYWxSb3V0ZVNldCA9IG5ldyBTZXQobW9kYWxSb3V0ZXMpO1xuICAgICAgICBjb25zdCBhY3RpdmF0ZWQkID0gdGhpcy5tb2RhbFJvdXRlQWN0aXZhdGVkRm9yKFxuICAgICAgICAgIG5hdmlnYXRpb25FbmQkLFxuICAgICAgICAgIG1vZGFsUm91dGVTZXQsXG4gICAgICAgICAgbW9kYWxSb3V0ZXNDb250YWluc1VybFBhcmFtc1xuICAgICAgICApO1xuICAgICAgICBjb25zdCBkZWFjdGl2YXRlZCQgPSB0aGlzLm1vZGFsUm91dGVEZWFjdGl2YXRlZEZvcihcbiAgICAgICAgICBuYXZpZ2F0aW9uRW5kJCxcbiAgICAgICAgICBtb2RhbFJvdXRlU2V0LFxuICAgICAgICAgIG1vZGFsUm91dGVzQ29udGFpbnNVcmxQYXJhbXNcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHsgYWN0aXZhdGVkJCwgZGVhY3RpdmF0ZWQkIH07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IGFjdGl2YXRlZCQ6IEVNUFRZLCBkZWFjdGl2YXRlZCQ6IEVNUFRZIH07XG4gIH1cblxuICBhc3luYyBuYXZpZ2F0ZVRvTW9kYWwocGF0aDogc3RyaW5nIHwgc3RyaW5nW10sIHF1ZXJ5UGFyYW1zPzogUGFyYW1zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgY29tbWFuZHMgPSBBcnJheS5pc0FycmF5KHBhdGgpID8gcGF0aCA6IHBhdGguc3BsaXQoJy8nKTtcbiAgICBjb25zdCBjaGlsZFBhdGggPSBjb21tYW5kcy5wb3AoKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbLi4uY29tbWFuZHMsIHsgb3V0bGV0czogeyBtb2RhbDogW2NoaWxkUGF0aF0gfSB9XSwge1xuICAgICAgcXVlcnlQYXJhbXMsXG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLmdldEN1cnJlbnRBY3RpdmF0ZWRSb3V0ZSgpLFxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBhc3luYyBuYXZpZ2F0ZVdpdGhpbk1vZGFsKHJlbGF0aXZlUGF0aDogc3RyaW5nLCBxdWVyeVBhcmFtcz86IFBhcmFtcyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcmVsYXRpdmVQYXRoXSwge1xuICAgICAgcXVlcnlQYXJhbXMsXG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLmdldEN1cnJlbnRBY3RpdmF0ZWRSb3V0ZSgpLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbmF2aWdhdGVPdXRPZk1vZGFsT3V0bGV0KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGxldCByZXN1bHQgPSBQcm9taXNlLnJlc29sdmUodHJ1ZSk7XG4gICAgY29uc3QgY3VycmVudEFjdGl2YXRlZFJvdXRlID0gdGhpcy5nZXRDdXJyZW50QWN0aXZhdGVkUm91dGUoKTtcbiAgICBpZiAoY3VycmVudEFjdGl2YXRlZFJvdXRlLm91dGxldCA9PT0gJ21vZGFsJykge1xuICAgICAgY29uc3QgcGFyZW50Um91dGUgPSB0aGlzLmdldEJhY2tkcm9wUm91dGUoY3VycmVudEFjdGl2YXRlZFJvdXRlKTtcbiAgICAgIHJlc3VsdCA9IHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi8nXSwge1xuICAgICAgICByZWxhdGl2ZVRvOiBwYXJlbnRSb3V0ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCYWNrZHJvcFJvdXRlKGN1cnJlbnRBY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICBsZXQgcGFyZW50Um91dGUgPSBjdXJyZW50QWN0aXZhdGVkUm91dGUucGFyZW50O1xuICAgIHdoaWxlIChwYXJlbnRSb3V0ZSAmJiAhcGFyZW50Um91dGUuY29tcG9uZW50ICYmICEhcGFyZW50Um91dGUucGFyZW50KSB7XG4gICAgICBwYXJlbnRSb3V0ZSA9IHBhcmVudFJvdXRlLnBhcmVudDtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmVudFJvdXRlO1xuICB9XG59XG4iXX0=
268
+ /** @nocollapse */ ModalNavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ModalNavigationService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
269
+ /** @nocollapse */ ModalNavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ModalNavigationService, providedIn: 'root' });
270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ModalNavigationService, decorators: [{
271
+ type: Injectable,
272
+ args: [{ providedIn: 'root' }]
273
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }]; } });
274
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtbmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL3NlcnZpY2VzL21vZGFsLW5hdmlnYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFpQixNQUFNLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRixPQUFPLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUt6RSxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQW9CLE1BQWMsRUFBVSxLQUFxQjtRQUE3QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUEwTHpELDJCQUFzQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDdEQsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUEwQixFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUMxRSxDQUFDO0lBNUxrRSxDQUFDO0lBRXJFLFlBQVksQ0FBQyxHQUFXO1FBQ3RCLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ2pDLE9BQU8sVUFBVSxDQUFDLFVBQVUsRUFBRTtZQUM1QixVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztTQUNw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S0FBQTtJQUVPLGdCQUFnQixDQUFDLHFCQUFxQztRQUM1RCxJQUFJLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7UUFDL0MsT0FBTyxXQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQ3BFLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs7dUlBalVVLHNCQUFzQjsySUFBdEIsc0JBQXNCLGNBRFQsTUFBTTs0RkFDbkIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBQYXJhbXMsIFJvdXRlLCBSb3V0ZXIsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBFTVBUWSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCwgbWFwLCBwYWlyd2lzZSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBNb2RhbFJvdXRlQWN0aXZhdGlvbiB9IGZyb20gJy4vbW9kYWwuaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTW9kYWxOYXZpZ2F0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7fVxuXG4gIGlzTW9kYWxSb3V0ZSh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1cmwuaW5jbHVkZXMoJyhtb2RhbDonKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q3VycmVudEFjdGl2YXRlZFJvdXRlKCk6IEFjdGl2YXRlZFJvdXRlIHtcbiAgICBsZXQgY2hpbGRSb3V0ZSA9IHRoaXMucm91dGUucm9vdDtcbiAgICB3aGlsZSAoY2hpbGRSb3V0ZS5maXJzdENoaWxkKSB7XG4gICAgICBjaGlsZFJvdXRlID0gY2hpbGRSb3V0ZS5maXJzdENoaWxkO1xuICAgIH1cbiAgICByZXR1cm4gY2hpbGRSb3V0ZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0TW9kYWxSb3V0ZXMoXG4gICAgcm91dGVDb25maWc6IFJvdXRlc1tdLFxuICAgIG1vZHVsZVJvb3RSb3V0ZVBhdGg/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGNvbnN0IGZsYXR0ZW5lZFJvdXRlczogUm91dGVzID0gW10uY29uY2F0KC4uLnJvdXRlQ29uZmlnKTtcbiAgICBsZXQgbW9kYWxSb3V0ZXM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgbW9kdWxlUm9vdFBhdGhzID0gYXdhaXQgdGhpcy5nZXRNb2R1bGVSb290UGF0aChmbGF0dGVuZWRSb3V0ZXMsIG1vZHVsZVJvb3RSb3V0ZVBhdGgpO1xuICAgIGlmIChtb2R1bGVSb290UGF0aHMpIHtcbiAgICAgIG1vZGFsUm91dGVzID0gdGhpcy5nZXRNb2RhbFJvdXRlUGF0aHMoZmxhdHRlbmVkUm91dGVzLCBtb2R1bGVSb290UGF0aHMpO1xuICAgIH1cbiAgICByZXR1cm4gbW9kYWxSb3V0ZXM7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldE1vZHVsZVJvb3RQYXRoKHJvdXRlczogUm91dGVzLCBtb2R1bGVSb290Um91dGVQYXRoPzogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGlmIChtb2R1bGVSb290Um91dGVQYXRoKSB7XG4gICAgICBjb25zdCB0cmltbWVkUGF0aHMgPSBtb2R1bGVSb290Um91dGVQYXRoXG4gICAgICAgIC50cmltKClcbiAgICAgICAgLnNwbGl0KCcvJylcbiAgICAgICAgLmZpbHRlcigocGF0aCkgPT4gISFwYXRoKTtcbiAgICAgIGNvbnN0IHJvb3RQYXRoID0gWycnXTtcbiAgICAgIHJldHVybiByb290UGF0aC5jb25jYXQodHJpbW1lZFBhdGhzKTtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50Um91dGVQYXRocyA9IGF3YWl0IHRoaXMuZ2V0Q3VycmVudFJvdXRlUGF0aHMoKTtcbiAgICBjb25zdCBtb2R1bGVSb290UGF0aHMgPSB0aGlzLmdldFJvdXRlUGF0aHNXaXRob3V0Q2hpbGRTZWdtZW50cyhjdXJyZW50Um91dGVQYXRocywgcm91dGVzKTtcbiAgICByZXR1cm4gbW9kdWxlUm9vdFBhdGhzO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRDdXJyZW50Um91dGVQYXRocygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgY29uc3Qgcm9vdFBhdGggPSBbJyddO1xuICAgIGNvbnN0IGN1cnJlbnROYXZpZ2F0aW9uID0gdGhpcy5yb3V0ZXIuZ2V0Q3VycmVudE5hdmlnYXRpb24oKTtcblxuICAgIGlmICghdGhpcy5yb3V0ZXIubmF2aWdhdGVkICYmICFjdXJyZW50TmF2aWdhdGlvbikge1xuICAgICAgLy8gSWYgcm91dGVyIGhhc24ndCBuYXZpZ2F0ZWQgeWV0IGFuZCB3ZSBhcmUgbm90IGluIHRoZSBtaWRkbGUgb2YgbmF2aWdhdGluZywgYXNzdW1lIHJvb3Q6XG4gICAgICByZXR1cm4gcm9vdFBhdGg7XG4gICAgfVxuXG4gICAgaWYgKGN1cnJlbnROYXZpZ2F0aW9uKSB7XG4gICAgICAvLyBXYWl0IGZvciBjdXJyZW50IG5hdmlnYXRpb24gdG8gZmluaXNoOlxuICAgICAgYXdhaXQgdGhpcy5uYXZpZ2F0aW9uRW5kTGlzdGVuZXIkLnBpcGUoZmlyc3QoKSkudG9Qcm9taXNlKCk7XG4gICAgfVxuXG4gICAgbGV0IGNoaWxkUm91dGUgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnJvb3Q7XG4gICAgd2hpbGUgKGNoaWxkUm91dGUuZmlyc3RDaGlsZCkge1xuICAgICAgY2hpbGRSb3V0ZSA9IGNoaWxkUm91dGUuZmlyc3RDaGlsZDtcbiAgICB9XG4gICAgY29uc3QgY3VycmVudEJhY2tkcm9wUm91dGVQYXRoID0gY2hpbGRSb3V0ZS5wYXRoRnJvbVJvb3QuZmlsdGVyKFxuICAgICAgKHJvdXRlKSA9PiByb3V0ZS5vdXRsZXQgIT09ICdtb2RhbCdcbiAgICApO1xuXG4gICAgcmV0dXJuIHJvb3RQYXRoLmNvbmNhdChcbiAgICAgIC4uLmN1cnJlbnRCYWNrZHJvcFJvdXRlUGF0aC5tYXAoKHJvdXRlKSA9PlxuICAgICAgICByb3V0ZS51cmwuZmlsdGVyKChzZWdtZW50KSA9PiAhIXNlZ21lbnQucGF0aCkubWFwKChzZWdtZW50KSA9PiBzZWdtZW50LnBhdGgpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Um91dGVQYXRoc1dpdGhvdXRDaGlsZFNlZ21lbnRzKHJvdXRlUGF0aHM6IHN0cmluZ1tdLCByb3V0ZXM6IFJvdXRlcyk6IHN0cmluZ1tdIHtcbiAgICBpZiAoIXJvdXRlUGF0aHMubGVuZ3RoKSByZXR1cm4gcm91dGVQYXRocztcblxuICAgIGNvbnN0IG1hdGNoZWRDaGlsZFJvdXRlID0gdGhpcy5maW5kQ2hpbGRSb3V0ZUZvclVybChyb3V0ZVBhdGhzLmpvaW4oJy8nKSwgcm91dGVzKTtcblxuICAgIGlmICghbWF0Y2hlZENoaWxkUm91dGUpIHJldHVybiByb3V0ZVBhdGhzO1xuXG4gICAgY29uc3Qgc3RhcnRTbGFzaFJlZ2V4ID0gL15cXC8vO1xuICAgIGNvbnN0IHJlbGF0aXZlQ2hpbGRSb3V0ZSA9IG1hdGNoZWRDaGlsZFJvdXRlLnJlcGxhY2Uoc3RhcnRTbGFzaFJlZ2V4LCAnJyk7XG4gICAgY29uc3QgY2hpbGRTZWdtZW50Q291bnQgPSByZWxhdGl2ZUNoaWxkUm91dGUuc3BsaXQoJy8nKS5sZW5ndGg7XG4gICAgY29uc3Qgcm91dGVQYXRoc1dpdGhvdXRDaGlsZFNlZ21lbnRzID0gcm91dGVQYXRocy5zbGljZSgwLCAtY2hpbGRTZWdtZW50Q291bnQpOyAvLyBSZW1vdmUgY2hpbGQgc2VnbWVudHMgZnJvbSBlbmQgb2Ygcm91dGUgcGF0aCBhcnJheVxuICAgIHJldHVybiByb3V0ZVBhdGhzV2l0aG91dENoaWxkU2VnbWVudHM7XG4gIH1cblxuICBwcml2YXRlIGZpbmRDaGlsZFJvdXRlRm9yVXJsKHVybDogc3RyaW5nLCByb3V0ZXM6IFJvdXRlcykge1xuICAgIGNvbnN0IG1vZHVsZVJlbGF0aXZlUGF0aHMgPSB0aGlzLmdldFJvdXRlUGF0aHMocm91dGVzLCBbJyddKS5zb3J0KCkucmV2ZXJzZSgpOyAvLyBFbnN1cmUgY2hpbGQgcGF0aHMgYXJlIGV2YWx1YXRlZCBmaXJzdFxuICAgIGxldCBtYXRjaGVkQ2hpbGRSb3V0ZSA9IG1vZHVsZVJlbGF0aXZlUGF0aHMuZmluZCgocGF0aCkgPT4gdXJsLmVuZHNXaXRoKHBhdGgpKTtcbiAgICBpZiAoIW1hdGNoZWRDaGlsZFJvdXRlKSB7XG4gICAgICAvLyBObyBzdGF0aWMgY2hpbGQgcm91dGUgZm91bmQgbWF0Y2hpbmcgY3VycmVudCByb3V0ZSAtIGxvb2sgZm9yIGNoaWxkIHJvdXRlIHdpdGggdXJsIHBhcmFtczpcbiAgICAgIGNvbnN0IGV4YWN0TWF0Y2ggPSBmYWxzZTtcbiAgICAgIG1hdGNoZWRDaGlsZFJvdXRlID0gbW9kdWxlUmVsYXRpdmVQYXRocy5maW5kKFxuICAgICAgICAocGF0aCkgPT5cbiAgICAgICAgICBwYXRoLmluY2x1ZGVzKCcvOicpICYmIHRoaXMucGF0aENvbnRhaW5zQ2hpbGRSb3V0ZVdpdGhVcmxQYXJhbXModXJsLCBwYXRoLCBleGFjdE1hdGNoKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG1hdGNoZWRDaGlsZFJvdXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXRoQ29udGFpbnNDaGlsZFJvdXRlV2l0aFVybFBhcmFtcyhcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgY2hpbGRSb3V0ZVdpdGhVcmxQYXJhbXM6IHN0cmluZyxcbiAgICBleGFjdE1hdGNoOiBib29sZWFuXG4gICkge1xuICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IHBhdGguc3BsaXQoJy8nKTtcbiAgICBjb25zdCBzdGFydFNsYXNoUmVnZXggPSAvXlxcLy87XG4gICAgbGV0IGNoaWxkUm91dGVUb01hdGNoID0gY2hpbGRSb3V0ZVdpdGhVcmxQYXJhbXM7XG4gICAgaWYgKCFleGFjdE1hdGNoKSB7XG4gICAgICBjb25zdCByZWxhdGl2ZUNoaWxkUm91dGUgPSBjaGlsZFJvdXRlV2l0aFVybFBhcmFtcy5yZXBsYWNlKHN0YXJ0U2xhc2hSZWdleCwgJycpO1xuICAgICAgY2hpbGRSb3V0ZVRvTWF0Y2ggPSByZWxhdGl2ZUNoaWxkUm91dGU7XG4gICAgfVxuICAgIGNvbnN0IGNoaWxkUm91dGVTZWdtZW50cyA9IGNoaWxkUm91dGVUb01hdGNoLnNwbGl0KCcvJyk7XG4gICAgLy8gTWF0Y2ggZWFjaCBjaGlsZCByb3V0ZSBzZWdtZW50IGFnYWluc3QgdXJsXG4gICAgLy8gTWF0Y2ggYmFja3dhcmRzIGZyb20gZW5kIHRvIHN0YXJ0IG9mIGNoaWxkIHJvdXRlLCBpLmUuIFwidXJsIGVuZHMgd2l0aCBjaGlsZCByb3V0ZVwiOlxuICAgIGNvbnN0IHBhdGhDb250YWluc0NoaWxkUm91dGUgPSBjaGlsZFJvdXRlU2VnbWVudHMucmV2ZXJzZSgpLmV2ZXJ5KChjaGlsZFJvdXRlU2VnbWVudCkgPT4ge1xuICAgICAgY29uc3QgcGF0aFNlZ21lbnQgPSBwYXRoU2VnbWVudHMucG9wKCk7XG4gICAgICAvLyB1cmwgcGFyYW1zIChlLmcuIGAvOmlkL2ApIGFyZSB0cmVhdGVkIGFzIGEgbWF0Y2g6XG4gICAgICByZXR1cm4gY2hpbGRSb3V0ZVNlZ21lbnQuc3RhcnRzV2l0aCgnOicpIHx8IGNoaWxkUm91dGVTZWdtZW50ID09PSBwYXRoU2VnbWVudDtcbiAgICB9KTtcbiAgICBpZiAoZXhhY3RNYXRjaCkge1xuICAgICAgLy8gT25seSBtYXRjaCBpZiB3ZSd2ZSByZWFjaGVkIHRoZSBzdGFydCBvZiB0aGUgdXJsIHRvIG1hdGNoIGFnYWluc3Q6XG4gICAgICByZXR1cm4gcGF0aFNlZ21lbnRzLmxlbmd0aCA9PT0gMCAmJiBwYXRoQ29udGFpbnNDaGlsZFJvdXRlO1xuICAgIH1cbiAgICByZXR1cm4gcGF0aENvbnRhaW5zQ2hpbGRSb3V0ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Um91dGVQYXRocyhyb3V0ZXM6IFJvdXRlcywgcGFyZW50UGF0aDogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkocm91dGVzKVxuICAgICAgPyAoW10gYXMgc3RyaW5nW10pLmNvbmNhdCguLi5yb3V0ZXMubWFwKChyb3V0ZSkgPT4gdGhpcy5nZXRSb3V0ZVBhdGgocm91dGUsIHBhcmVudFBhdGgpKSlcbiAgICAgIDogW107XG4gIH1cblxuICBwcml2YXRlIGdldFJvdXRlUGF0aChyb3V0ZTogUm91dGUsIHBhcmVudFBhdGg6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHJvdXRlczogc3RyaW5nW10gPSBbXTtcbiAgICBpZiAoISFyb3V0ZS5vdXRsZXQpIHJldHVybiByb3V0ZXM7IC8vIERvbid0IHJldHVybiByZWxhdGl2ZSBwYXRocyBmb3Igb3V0bGV0IHJvdXRlc1xuXG4gICAgY29uc3QgY3VycmVudFBhdGggPSBbLi4ucGFyZW50UGF0aF07XG4gICAgaWYgKCEhcm91dGUucGF0aCkge1xuICAgICAgY3VycmVudFBhdGgucHVzaChyb3V0ZS5wYXRoKTtcbiAgICAgIHJvdXRlcy5wdXNoKGN1cnJlbnRQYXRoLmpvaW4oJy8nKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvdXRlcy5jb25jYXQodGhpcy5nZXRSb3V0ZVBhdGhzKHJvdXRlLmNoaWxkcmVuLCBjdXJyZW50UGF0aCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb2RhbFJvdXRlUGF0aChyb3V0ZTogUm91dGUsIHBhcmVudFBhdGg6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IG1vZGFsT3V0bGV0TmFtZSA9ICdtb2RhbCc7XG4gICAgaWYgKCEhcm91dGUucGF0aCAmJiByb3V0ZS5vdXRsZXQgPT09IG1vZGFsT3V0bGV0TmFtZSkge1xuICAgICAgY29uc3QgbW9kYWxPdXRsZXRQYXRoID0gYCgke21vZGFsT3V0bGV0TmFtZX06JHtyb3V0ZS5wYXRofSlgO1xuICAgICAgY29uc3QgbW9kYWxSb3V0ZVBhdGggPSBbLi4ucGFyZW50UGF0aCwgbW9kYWxPdXRsZXRQYXRoXS5qb2luKCcvJyk7XG4gICAgICByZXR1cm4gW21vZGFsUm91dGVQYXRoXTtcbiAgICB9XG4gICAgY29uc3QgY3VycmVudFBhdGggPSBbLi4ucGFyZW50UGF0aF07XG4gICAgaWYgKCEhcm91dGUucGF0aCkge1xuICAgICAgY3VycmVudFBhdGgucHVzaChyb3V0ZS5wYXRoKTtcbiAgICB9XG4gICAgcmV0dXJuIChbXSBhcyBzdHJpbmdbXSkuY29uY2F0KC4uLnRoaXMuZ2V0TW9kYWxSb3V0ZVBhdGhzKHJvdXRlLmNoaWxkcmVuLCBjdXJyZW50UGF0aCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb2RhbFJvdXRlUGF0aHMocm91dGVzOiBSb3V0ZXMsIHBhcmVudFBhdGg6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHJvdXRlcylcbiAgICAgID8gKFtdIGFzIHN0cmluZ1tdKS5jb25jYXQoLi4ucm91dGVzLm1hcCgocm91dGUpID0+IHRoaXMuZ2V0TW9kYWxSb3V0ZVBhdGgocm91dGUsIHBhcmVudFBhdGgpKSlcbiAgICAgIDogW107XG4gIH1cblxuICBwcml2YXRlIGlzTmV3TW9kYWxXaW5kb3cobmF2aWdhdGlvbkVuZDogTmF2aWdhdGlvbkVuZCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGN1cnJlbnROYXZpZ2F0aW9uID0gdGhpcy5yb3V0ZXIuZ2V0Q3VycmVudE5hdmlnYXRpb24oKTtcbiAgICBpZiAoIWN1cnJlbnROYXZpZ2F0aW9uIHx8ICFjdXJyZW50TmF2aWdhdGlvbi5wcmV2aW91c05hdmlnYXRpb24pIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCBwcmV2aW91c1JvdXRlUGF0aCA9IChcbiAgICAgIGN1cnJlbnROYXZpZ2F0aW9uLnByZXZpb3VzTmF2aWdhdGlvbi5maW5hbFVybCB8fFxuICAgICAgY3VycmVudE5hdmlnYXRpb24ucHJldmlvdXNOYXZpZ2F0aW9uLmV4dHJhY3RlZFVybFxuICAgICkudG9TdHJpbmcoKTtcbiAgICBjb25zdCB3YXNNb2RhbFJvdXRlID0gdGhpcy5pc01vZGFsUm91dGUocHJldmlvdXNSb3V0ZVBhdGgpO1xuICAgIGNvbnN0IGlzTW9kYWxSb3V0ZSA9IHRoaXMuaXNNb2RhbFJvdXRlKG5hdmlnYXRpb25FbmQudXJsQWZ0ZXJSZWRpcmVjdHMpO1xuICAgIGlmICghd2FzTW9kYWxSb3V0ZSAmJiBpc01vZGFsUm91dGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRNb2RhbFJvdXRlUGFyZW50ID0gbmF2aWdhdGlvbkVuZC51cmxBZnRlclJlZGlyZWN0cy5zcGxpdCgnLyhtb2RhbDonKVswXTtcbiAgICBjb25zdCBwcmV2aW91c01vZGFsUm91dGVQYXJlbnQgPSBwcmV2aW91c1JvdXRlUGF0aC5zcGxpdCgnLyhtb2RhbDonKVswXTtcblxuICAgIHJldHVybiBwcmV2aW91c01vZGFsUm91dGVQYXJlbnQgIT09IGN1cnJlbnRNb2RhbFJvdXRlUGFyZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBuYXZpZ2F0aW9uRW5kTGlzdGVuZXIkID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgZmlsdGVyKChldmVudCk6IGV2ZW50IGlzIE5hdmlnYXRpb25FbmQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKVxuICApO1xuXG4gIHByaXZhdGUgYXN5bmMgd2FpdEZvckN1cnJlbnRUaGVuR2V0TmF2aWdhdGlvbkVuZFN0cmVhbSgpOiBQcm9taXNlPE9ic2VydmFibGU8TmF2aWdhdGlvbkVuZD4+IHtcbiAgICBpZiAodGhpcy5yb3V0ZXIuZ2V0Q3VycmVudE5hdmlnYXRpb24oKSkge1xuICAgICAgY29uc3QgY3VycmVudE5hdmlnYXRpb25FbmQgPSBhd2FpdCB0aGlzLm5hdmlnYXRpb25FbmRMaXN0ZW5lciQucGlwZShmaXJzdCgpKS50b1Byb21pc2UoKTtcbiAgICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb25FbmRMaXN0ZW5lciQucGlwZShzdGFydFdpdGgoY3VycmVudE5hdmlnYXRpb25FbmQpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvbkVuZExpc3RlbmVyJDtcbiAgfVxuXG4gIHByaXZhdGUgbW9kYWxSb3V0ZUFjdGl2YXRlZEZvcihcbiAgICBuYXZpZ2F0aW9uRW5kJDogT2JzZXJ2YWJsZTxOYXZpZ2F0aW9uRW5kPixcbiAgICBtb2RhbFJvdXRlU2V0OiBTZXQ8c3RyaW5nPixcbiAgICBtb2RhbFJvdXRlc0NvbnRhaW5zVXJsUGFyYW1zOiBib29sZWFuXG4gICk6IE9ic2VydmFibGU8TW9kYWxSb3V0ZUFjdGl2YXRpb24+IHtcbiAgICByZXR1cm4gbmF2aWdhdGlvbkVuZCQucGlwZShcbiAgICAgIGZpbHRlcigobmF2aWdhdGlvbkVuZCkgPT5cbiAgICAgICAgdGhpcy5tb2RhbFJvdXRlU2V0Q29udGFpbnNQYXRoKG1vZGFsUm91dGVTZXQsIG5hdmlnYXRpb25FbmQsIG1vZGFsUm91dGVzQ29udGFpbnNVcmxQYXJhbXMpXG4gICAgICApLFxuICAgICAgbWFwKChuYXZpZ2F0aW9uRW5kKSA9PiAoe1xuICAgICAgICByb3V0ZTogdGhpcy5nZXRDdXJyZW50QWN0aXZhdGVkUm91dGUoKSxcbiAgICAgICAgaXNOZXdNb2RhbDogdGhpcy5pc05ld01vZGFsV2luZG93KG5hdmlnYXRpb25FbmQpLFxuICAgICAgfSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbW9kYWxSb3V0ZURlYWN0aXZhdGVkRm9yKFxuICAgIG5hdmlnYXRpb25FbmQkOiBPYnNlcnZhYmxlPE5hdmlnYXRpb25FbmQ+LFxuICAgIG1vZGFsUm91dGVTZXQ6IFNldDxzdHJpbmc+LFxuICAgIG1vZGFsUm91dGVzQ29udGFpbnNVcmxQYXJhbXM6IGJvb2xlYW5cbiAgKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIG5hdmlnYXRpb25FbmQkLnBpcGUoXG4gICAgICBwYWlyd2lzZSgpLFxuICAgICAgZmlsdGVyKChbcHJldk5hdmlnYXRpb24sIF9dKSA9PlxuICAgICAgICB0aGlzLm1vZGFsUm91dGVTZXRDb250YWluc1BhdGgobW9kYWxSb3V0ZVNldCwgcHJldk5hdmlnYXRpb24sIG1vZGFsUm91dGVzQ29udGFpbnNVcmxQYXJhbXMpXG4gICAgICApLCAvLyBPbmx5IGVtaXQgaWYgcHJldmlvdXMgcm91dGUgd2FzIG1vZGFsXG4gICAgICBtYXAoKFtfLCBjdXJyZW50TmF2aWdhdGlvbl0pID0+IHtcbiAgICAgICAgY29uc3QgaXNOZXdNb2RhbFJvdXRlID0gdGhpcy5pc01vZGFsUm91dGUoY3VycmVudE5hdmlnYXRpb24udXJsQWZ0ZXJSZWRpcmVjdHMpO1xuICAgICAgICAvLyBEZWFjdGl2YXRlIG1vZGFsIHJvdXRlIGlmIG5ldyByb3V0ZSBpcyBOT1QgbW9kYWwgT1IgaXMgb3V0c2lkZSBjdXJyZW50IHBhcmVudCByb3V0ZTpcbiAgICAgICAgcmV0dXJuICFpc05ld01vZGFsUm91dGUgfHwgdGhpcy5pc05ld01vZGFsV2luZG93KGN1cnJlbnROYXZpZ2F0aW9uKTtcbiAgICAgIH0pLFxuICAgICAgZmlsdGVyKChpc0RlYWN0aXZhdGlvbikgPT4gaXNEZWFjdGl2YXRpb24pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbW9kYWxSb3V0ZVNldENvbnRhaW5zUGF0aChcbiAgICBtb2RhbFJvdXRlU2V0OiBTZXQ8c3RyaW5nPixcbiAgICBuYXZpZ2F0aW9uRW5kOiBOYXZpZ2F0aW9uRW5kLFxuICAgIG1vZGFsUm91dGVzQ29udGFpbnNVcmxQYXJhbXM6IGJvb2xlYW5cbiAgKSB7XG4gICAgY29uc3QgcGF0aG5hbWUgPSBuYXZpZ2F0aW9uRW5kLnVybEFmdGVyUmVkaXJlY3RzLnNwbGl0KCc/JylbMF07XG4gICAgbGV0IGhhc1JvdXRlID0gbW9kYWxSb3V0ZVNldC5oYXMocGF0aG5hbWUpO1xuICAgIGlmICghaGFzUm91dGUgJiYgbW9kYWxSb3V0ZXNDb250YWluc1VybFBhcmFtcykge1xuICAgICAgLy8gVXNlIGBmb3IgLi4uIG9mYCBpbnN0ZWFkIG9mIGBmb3JFYWNoYCBzbyB3ZSBjYW4gYnJlYWsgb3V0IG9mIHRoZSBsb29wIGlmIHJvdXRlIGlzIGZvdW5kOlxuICAgICAgZm9yIChsZXQgcm91dGUgb2YgbW9kYWxSb3V0ZVNldCkge1xuICAgICAgICBjb25zdCBleGFjdE1hdGNoID0gdHJ1ZTtcbiAgICAgICAgY29uc3Qgcm91dGVNYXRjaGVzUGF0aCA9IHRoaXMucGF0aENvbnRhaW5zQ2hpbGRSb3V0ZVdpdGhVcmxQYXJhbXMoXG4gICAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgICAgcm91dGUsXG4gICAgICAgICAgZXhhY3RNYXRjaFxuICAgICAgICApO1xuICAgICAgICBpZiAocm91dGVNYXRjaGVzUGF0aCkge1xuICAgICAgICAgIGhhc1JvdXRlID0gdHJ1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaGFzUm91dGU7XG4gIH1cblxuICBhc3luYyBnZXRNb2RhbE5hdmlnYXRpb24oXG4gICAgcm91dGVDb25maWc6IFJvdXRlc1tdLFxuICAgIG1vZHVsZVJvb3RSb3V0ZVBhdGg/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTx7IGFjdGl2YXRlZCQ6IE9ic2VydmFibGU8TW9kYWxSb3V0ZUFjdGl2YXRpb24+OyBkZWFjdGl2YXRlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gfT4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHJvdXRlQ29uZmlnKSkge1xuICAgICAgY29uc3QgbmF2aWdhdGlvbkVuZCQgPSBhd2FpdCB0aGlzLndhaXRGb3JDdXJyZW50VGhlbkdldE5hdmlnYXRpb25FbmRTdHJlYW0oKTtcbiAgICAgIGNvbnN0IG1vZGFsUm91dGVzID0gYXdhaXQgdGhpcy5nZXRNb2RhbFJvdXRlcyhyb3V0ZUNvbmZpZywgbW9kdWxlUm9vdFJvdXRlUGF0aCk7XG4gICAgICBjb25zdCBoYXNNb2RhbFJvdXRlcyA9IG1vZGFsUm91dGVzLmxlbmd0aCA+IDA7XG4gICAgICBpZiAoaGFzTW9kYWxSb3V0ZXMpIHtcbiAgICAgICAgY29uc3QgbW9kYWxSb3V0ZXNDb250YWluc1VybFBhcmFtcyA9IG1vZGFsUm91dGVzLnNvbWUoKHJvdXRlKSA9PiByb3V0ZS5pbmNsdWRlcygnLzonKSk7XG4gICAgICAgIGNvbnN0IG1vZGFsUm91dGVTZXQgPSBuZXcgU2V0KG1vZGFsUm91dGVzKTtcbiAgICAgICAgY29uc3QgYWN0aXZhdGVkJCA9IHRoaXMubW9kYWxSb3V0ZUFjdGl2YXRlZEZvcihcbiAgICAgICAgICBuYXZpZ2F0aW9uRW5kJCxcbiAgICAgICAgICBtb2RhbFJvdXRlU2V0LFxuICAgICAgICAgIG1vZGFsUm91dGVzQ29udGFpbnNVcmxQYXJhbXNcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZGVhY3RpdmF0ZWQkID0gdGhpcy5tb2RhbFJvdXRlRGVhY3RpdmF0ZWRGb3IoXG4gICAgICAgICAgbmF2aWdhdGlvbkVuZCQsXG4gICAgICAgICAgbW9kYWxSb3V0ZVNldCxcbiAgICAgICAgICBtb2RhbFJvdXRlc0NvbnRhaW5zVXJsUGFyYW1zXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB7IGFjdGl2YXRlZCQsIGRlYWN0aXZhdGVkJCB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyBhY3RpdmF0ZWQkOiBFTVBUWSwgZGVhY3RpdmF0ZWQkOiBFTVBUWSB9O1xuICB9XG5cbiAgYXN5bmMgbmF2aWdhdGVUb01vZGFsKHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLCBxdWVyeVBhcmFtcz86IFBhcmFtcyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGNvbW1hbmRzID0gQXJyYXkuaXNBcnJheShwYXRoKSA/IHBhdGggOiBwYXRoLnNwbGl0KCcvJyk7XG4gICAgY29uc3QgY2hpbGRQYXRoID0gY29tbWFuZHMucG9wKCk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWy4uLmNvbW1hbmRzLCB7IG91dGxldHM6IHsgbW9kYWw6IFtjaGlsZFBhdGhdIH0gfV0sIHtcbiAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgcmVsYXRpdmVUbzogdGhpcy5nZXRDdXJyZW50QWN0aXZhdGVkUm91dGUoKSxcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgYXN5bmMgbmF2aWdhdGVXaXRoaW5Nb2RhbChyZWxhdGl2ZVBhdGg6IHN0cmluZywgcXVlcnlQYXJhbXM/OiBQYXJhbXMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3JlbGF0aXZlUGF0aF0sIHtcbiAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgcmVsYXRpdmVUbzogdGhpcy5nZXRDdXJyZW50QWN0aXZhdGVkUm91dGUoKSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIG5hdmlnYXRlT3V0T2ZNb2RhbE91dGxldCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBsZXQgcmVzdWx0ID0gUHJvbWlzZS5yZXNvbHZlKHRydWUpO1xuICAgIGNvbnN0IGN1cnJlbnRBY3RpdmF0ZWRSb3V0ZSA9IHRoaXMuZ2V0Q3VycmVudEFjdGl2YXRlZFJvdXRlKCk7XG4gICAgaWYgKGN1cnJlbnRBY3RpdmF0ZWRSb3V0ZS5vdXRsZXQgPT09ICdtb2RhbCcpIHtcbiAgICAgIGNvbnN0IHBhcmVudFJvdXRlID0gdGhpcy5nZXRCYWNrZHJvcFJvdXRlKGN1cnJlbnRBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICByZXN1bHQgPSB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4vJ10sIHtcbiAgICAgICAgcmVsYXRpdmVUbzogcGFyZW50Um91dGUsXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QmFja2Ryb3BSb3V0ZShjdXJyZW50QWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgbGV0IHBhcmVudFJvdXRlID0gY3VycmVudEFjdGl2YXRlZFJvdXRlLnBhcmVudDtcbiAgICB3aGlsZSAocGFyZW50Um91dGUgJiYgIXBhcmVudFJvdXRlLmNvbXBvbmVudCAmJiAhIXBhcmVudFJvdXRlLnBhcmVudCkge1xuICAgICAgcGFyZW50Um91dGUgPSBwYXJlbnRSb3V0ZS5wYXJlbnQ7XG4gICAgfVxuICAgIHJldHVybiBwYXJlbnRSb3V0ZTtcbiAgfVxufVxuIl19
@@ -15,6 +15,11 @@ import { ActionSheetHelper } from './action-sheet.helper';
15
15
  import { AlertHelper } from './alert.helper';
16
16
  import { ModalNavigationService } from './modal-navigation.service';
17
17
  import { ModalHelper } from './modal.helper';
18
+ import * as i0 from "@angular/core";
19
+ import * as i1 from "./modal.helper";
20
+ import * as i2 from "./action-sheet.helper";
21
+ import * as i3 from "./alert.helper";
22
+ import * as i4 from "./modal-navigation.service";
18
23
  export class ModalController {
19
24
  constructor(modalHelper, actionSheetHelper, alertHelper, modalNavigationService, routeConfig) {
20
25
  this.modalHelper = modalHelper;
@@ -56,9 +61,6 @@ export class ModalController {
56
61
  }
57
62
  showModal(config, onClose) {
58
63
  return __awaiter(this, void 0, void 0, function* () {
59
- if (config.hasOwnProperty('dim')) {
60
- console.warn('ModalConfig.dim is deprecated - please remove from your configuration.');
61
- }
62
64
  yield this.showAndRegisterOverlay(() => this.modalHelper.showModalWindow(config), onClose);
63
65
  });
64
66
  }
@@ -78,7 +80,7 @@ export class ModalController {
78
80
  component: null,
79
81
  modalRoute: modalRoute,
80
82
  siblingModalRouteActivated$: siblingModalRouteActivated$,
81
- flavor: 'modal',
83
+ flavor: 'modal', // Todo: Should it be possible to specify flavor as data in RouteConfig?
82
84
  };
83
85
  yield this.showAndRegisterOverlay(() => this.modalHelper.showModalWindow(config), null, onWillClose);
84
86
  });
@@ -156,15 +158,14 @@ export class ModalController {
156
158
  this.destroy$.complete();
157
159
  }
158
160
  }
159
- ModalController.decorators = [
160
- { type: Injectable }
161
- ];
162
- /** @nocollapse */
163
- ModalController.ctorParameters = () => [
164
- { type: ModalHelper },
165
- { type: ActionSheetHelper },
166
- { type: AlertHelper },
167
- { type: ModalNavigationService },
168
- { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [ROUTES,] }] }
169
- ];
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWtDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUk3QyxNQUFNLE9BQU8sZUFBZTtJQUsxQixZQUNVLFdBQXdCLEVBQ3hCLGlCQUFvQyxFQUNwQyxXQUF3QixFQUN4QixzQkFBOEMsRUFDbEIsV0FBcUI7UUFKakQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQ2xCLGdCQUFXLEdBQVgsV0FBVyxDQUFVO1FBVG5ELGFBQVEsR0FBYyxFQUFFLENBQUM7UUFDaEIsb0NBQStCLEdBQUcsNENBQTRDLENBQUM7UUFDeEYsYUFBUSxHQUFHLElBQUksT0FBTyxF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QUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLCtCQUErQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFWSxPQUFPOztZQUNsQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBTyxPQUFPLEVBQUUsRUFBRTtnQkFDbEMsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDMUIsQ0FBQyxDQUFBLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztLQUFBO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7WUFuTEYsVUFBVTs7OztZQUhGLFdBQVc7WUFIWCxpQkFBaUI7WUFDakIsV0FBVztZQUNYLHNCQUFzQjt3Q0FlMUIsUUFBUSxZQUFJLE1BQU0sU0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zLCBSb3V0ZXMsIFJPVVRFUyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBLaXJieUFuaW1hdGlvbiB9IGZyb20gJy4uLy4uLy4uL2FuaW1hdGlvbi9raXJieS1hbmltYXRpb24nO1xuaW1wb3J0IHsgQWN0aW9uU2hlZXRDb25maWcgfSBmcm9tICcuLi9hY3Rpb24tc2hlZXQvY29uZmlnL2FjdGlvbi1zaGVldC1jb25maWcnO1xuaW1wb3J0IHsgQWxlcnRDb25maWcgfSBmcm9tICcuLi9hbGVydC9jb25maWcvYWxlcnQtY29uZmlnJztcbmltcG9ydCB7IE1vZGFsQ29uZmlnIH0gZnJvbSAnLi4vbW9kYWwtd3JhcHBlci9jb25maWcvbW9kYWwtY29uZmlnJztcblxuaW1wb3J0IHsgQWN0aW9uU2hlZXRIZWxwZXIgfSBmcm9tICcuL2FjdGlvbi1zaGVldC5oZWxwZXInO1xuaW1wb3J0IHsgQWxlcnRIZWxwZXIgfSBmcm9tICcuL2FsZXJ0LmhlbHBlcic7XG5pbXBvcnQgeyBNb2RhbE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kYWxIZWxwZXIgfSBmcm9tICcuL21vZGFsLmhlbHBlcic7XG5pbXBvcnQgeyBNb2RhbFJvdXRlQWN0aXZhdGlvbiwgT3ZlcmxheSB9IGZyb20gJy4vbW9kYWwuaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2RhbENvbnRyb2xsZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIG92ZXJsYXlzOiBPdmVybGF5W10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBub092ZXJsYXlSZWdpc3RlcmVkRXJyb3JNZXNzYWdlID0gJ05vIG1vZGFsIG92ZXJsYXlzIGFyZSBjdXJyZW50bHkgcmVnaXN0ZXJlZCc7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbW9kYWxIZWxwZXI6IE1vZGFsSGVscGVyLFxuICAgIHByaXZhdGUgYWN0aW9uU2hlZXRIZWxwZXI6IEFjdGlvblNoZWV0SGVscGVyLFxuICAgIHByaXZhdGUgYWxlcnRIZWxwZXI6IEFsZXJ0SGVscGVyLFxuICAgIHByaXZhdGUgbW9kYWxOYXZpZ2F0aW9uU2VydmljZTogTW9kYWxOYXZpZ2F0aW9uU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFJPVVRFUykgcHJpdmF0ZSByb3V0ZUNvbmZpZzogUm91dGVzW11cbiAgKSB7fVxuXG4gIGFzeW5jIGluaXRpYWxpemUobW9kdWxlUm9vdFJvdXRlUGF0aD86IHN0cmluZykge1xuICAgIGNvbnN0IG1vZGFsTmF2aWdhdGlvbiA9IGF3YWl0IHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5nZXRNb2RhbE5hdmlnYXRpb24oXG4gICAgICB0aGlzLnJvdXRlQ29uZmlnLFxuICAgICAgbW9kdWxlUm9vdFJvdXRlUGF0aFxuICAgICk7XG4gICAgdGhpcy5vbk1vZGFsUm91dGVBY3RpdmF0ZWQobW9kYWxOYXZpZ2F0aW9uLmFjdGl2YXRlZCQpO1xuICAgIHRoaXMub25Nb2RhbFJvdXRlRGVhY3RpdmF0ZWQobW9kYWxOYXZpZ2F0aW9uLmRlYWN0aXZhdGVkJCk7IC8vIFRPRE86IERvIHdlIHdhbnQgdG8gY2xvc2UgbW9kYWwgd2hlbiByb3V0aW5nIG91dCBvZiBtb2RhbCByb3V0ZT8gT3Igc2hvdWxkIHRoZSBjb2RlIHRoYXQgbmF2aWdhdGVzIGNsb3NlIHRoZSB3aW5kb3c/P1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vZGFsUm91dGVBY3RpdmF0ZWQobW9kYWxSb3V0ZUFjdGl2YXRlZCQ6IE9ic2VydmFibGU8TW9kYWxSb3V0ZUFjdGl2YXRpb24+KSB7XG4gICAgY29uc3QgbmF2aWdhdGVPbldpbGxDbG9zZSA9ICgpID0+IHtcbiAgICAgIHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5uYXZpZ2F0ZU91dE9mTW9kYWxPdXRsZXQoKTtcbiAgICB9O1xuICAgIGNvbnN0IHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJCA9IG1vZGFsUm91dGVBY3RpdmF0ZWQkLnBpcGUoXG4gICAgICBmaWx0ZXIoKG1vZGFsUm91dGVBY3RpdmF0aW9uKSA9PiAhbW9kYWxSb3V0ZUFjdGl2YXRpb24uaXNOZXdNb2RhbCksXG4gICAgICBtYXAoKG1vZGFsUm91dGVBY3RpdmF0aW9uKSA9PiBtb2RhbFJvdXRlQWN0aXZhdGlvbi5yb3V0ZSlcbiAgICApO1xuXG4gICAgbW9kYWxSb3V0ZUFjdGl2YXRlZCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLm92ZXJsYXlzLmxlbmd0aCA9PT0gMClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKG1vZGFsUm91dGVBY3RpdmF0aW9uKSA9PiB7XG4gICAgICAgIGlmIChtb2RhbFJvdXRlQWN0aXZhdGlvbi5pc05ld01vZGFsKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5zaG93TW9kYWxSb3V0ZShcbiAgICAgICAgICAgIG1vZGFsUm91dGVBY3RpdmF0aW9uLnJvdXRlLFxuICAgICAgICAgICAgc2libGluZ01vZGFsUm91dGVBY3RpdmF0ZWQkLFxuICAgICAgICAgICAgbmF2aWdhdGVPbldpbGxDbG9zZVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vZGFsUm91dGVEZWFjdGl2YXRlZChtb2RhbFJvdXRlRGVhY3RpdmF0ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+KSB7XG4gICAgbW9kYWxSb3V0ZURlYWN0aXZhdGVkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMub3ZlcmxheXMubGVuZ3RoID4gMCkgLy8gVE9ETzogVGhpcyBhbHNvIGZpcmVzIHdoZW4gY2xvc2luZyBvdmVybGF5IC0gc2hvdWxkIHdlIGNoZWNrIGZvciBpc0Nsb3Npbmc/P1xuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMuaGlkZUFsbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2hvd01vZGFsKGNvbmZpZzogTW9kYWxDb25maWcsIG9uQ2xvc2U/OiAoZGF0YT86IGFueSkgPT4gdm9pZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChjb25maWcuaGFzT3duUHJvcGVydHkoJ2RpbScpKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ01vZGFsQ29uZmlnLmRpbSBpcyBkZXByZWNhdGVkIC0gcGxlYXNlIHJlbW92ZSBmcm9tIHlvdXIgY29uZmlndXJhdGlvbi4nKTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5zaG93QW5kUmVnaXN0ZXJPdmVybGF5KCgpID0+IHRoaXMubW9kYWxIZWxwZXIuc2hvd01vZGFsV2luZG93KGNvbmZpZyksIG9uQ2xvc2UpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIG5hdmlnYXRlVG9Nb2RhbChwYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSwgcXVlcnlQYXJhbXM/OiBQYXJhbXMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5tb2RhbE5hdmlnYXRpb25TZXJ2aWNlLm5hdmlnYXRlVG9Nb2RhbChwYXRoLCBxdWVyeVBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbmF2aWdhdGVXaXRoaW5Nb2RhbChyZWxhdGl2ZVBhdGg6IHN0cmluZywgcXVlcnlQYXJhbXM/OiBQYXJhbXMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5tb2RhbE5hdmlnYXRpb25TZXJ2aWNlLm5hdmlnYXRlV2l0aGluTW9kYWwocmVsYXRpdmVQYXRoLCBxdWVyeVBhcmFtcyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNob3dNb2RhbFJvdXRlKFxuICAgIG1vZGFsUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJDogT2JzZXJ2YWJsZTxBY3RpdmF0ZWRSb3V0ZT4sXG4gICAgb25XaWxsQ2xvc2U6IChkYXRhPzogYW55KSA9PiB2b2lkXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbmZpZzogTW9kYWxDb25maWcgPSB7XG4gICAgICBjb21wb25lbnQ6IG51bGwsXG4gICAgICBtb2RhbFJvdXRlOiBtb2RhbFJvdXRlLFxuICAgICAgc2libGluZ01vZGFsUm91dGVBY3RpdmF0ZWQkOiBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQsXG4gICAgICBmbGF2b3I6ICdtb2RhbCcsIC8vIFRvZG86IFNob3VsZCBpdCBiZSBwb3NzaWJsZSB0byBzcGVjaWZ5IGZsYXZvciBhcyBkYXRhIGluIFJvdXRlQ29uZmlnP1xuICAgIH07XG4gICAgYXdhaXQgdGhpcy5zaG93QW5kUmVnaXN0ZXJPdmVybGF5KFxuICAgICAgKCkgPT4gdGhpcy5tb2RhbEhlbHBlci5zaG93TW9kYWxXaW5kb3coY29uZmlnKSxcbiAgICAgIG51bGwsXG4gICAgICBvbldpbGxDbG9zZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FjdGlvblNoZWV0KFxuICAgIGNvbmZpZzogQWN0aW9uU2hlZXRDb25maWcsXG4gICAgb25DbG9zZT86IChkYXRhPzogYW55KSA9PiB2b2lkXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2hvd0FuZFJlZ2lzdGVyT3ZlcmxheShcbiAgICAgICgpID0+IHRoaXMuYWN0aW9uU2hlZXRIZWxwZXIuc2hvd0FjdGlvblNoZWV0KGNvbmZpZyksXG4gICAgICBvbkNsb3NlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzaG93QWxlcnQoY29uZmlnOiBBbGVydENvbmZpZywgb25DbG9zZT86IChyZXN1bHQ6IGJvb2xlYW4pID0+IHZvaWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNob3dBbmRSZWdpc3Rlck92ZXJsYXkoKCkgPT4gdGhpcy5hbGVydEhlbHBlci5zaG93QWxlcnQoY29uZmlnKSwgb25DbG9zZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNob3dBbmRSZWdpc3Rlck92ZXJsYXkoXG4gICAgc2hvd092ZXJsYXk6ICgpID0+IFByb21pc2U8T3ZlcmxheT4sXG4gICAgb25DbG9zZU92ZXJsYXk/OiAoZGF0YT86IGFueSkgPT4gdm9pZCxcbiAgICBvbldpbGxDbG9zZU92ZXJsYXk/OiAoZGF0YT86IGFueSkgPT4gdm9pZFxuICApIHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgc2hvd092ZXJsYXkoKTtcbiAgICBpZiAoIW92ZXJsYXkpIHJldHVybjtcblxuICAgIHRoaXMub3ZlcmxheXMucHVzaChvdmVybGF5KTtcblxuICAgIGlmICh0eXBlb2Ygb25XaWxsQ2xvc2VPdmVybGF5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBvdmVybGF5Lm9uV2lsbERpc21pc3MudGhlbigoZXZlbnQpID0+IG9uV2lsbENsb3NlT3ZlcmxheShldmVudC5kYXRhKSk7XG4gICAgfVxuXG4gICAgb3ZlcmxheS5vbkRpZERpc21pc3MudGhlbigoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMub3ZlcmxheXMucG9wKCk7XG4gICAgICBpZiAodHlwZW9mIG9uQ2xvc2VPdmVybGF5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG9uQ2xvc2VPdmVybGF5KGV2ZW50LmRhdGEpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyUHJlc2VudGluZ0VsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLm1vZGFsSGVscGVyLnJlZ2lzdGVyUHJlc2VudGluZ0VsZW1lbnQoZWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaGlkZVRvcG1vc3QoZGF0YT86IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLm92ZXJsYXlzW3RoaXMub3ZlcmxheXMubGVuZ3RoIC0gMV07XG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5ub092ZXJsYXlSZWdpc3RlcmVkRXJyb3JNZXNzYWdlKTtcbiAgICB9XG4gICAgcmV0dXJuIG92ZXJsYXkuZGlzbWlzcyhkYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gbmV4dCBtYWpvciB2ZXJzaW9uLiBJbmplY3QgTW9kYWwgaW4gZW1iZWRkZWQgY29tcG9uZW50IGFuZCB1c2UgTW9kYWwuc2Nyb2xsVG9Ub3AgaW5zdGVhZC5cbiAgICovXG4gIHB1YmxpYyBzY3JvbGxUb1RvcChkdXJhdGlvbj86IEtpcmJ5QW5pbWF0aW9uLkR1cmF0aW9uKSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgJ01vZGFsQ29udHJvbGxlci5zY3JvbGxUb1RvcCBpcyBkZXByZWNhdGVkIC0gcGxlYXNlIGluamVjdCBNb2RhbCBpbiBlbWJlZGRlZCBjb21wb25lbnQgYW5kIHVzZSBNb2RhbC5zY3JvbGxUb1RvcCBpbnN0ZWFkLidcbiAgICApO1xuICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLm92ZXJsYXlzW3RoaXMub3ZlcmxheXMubGVuZ3RoIC0gMV07XG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5ub092ZXJsYXlSZWdpc3RlcmVkRXJyb3JNZXNzYWdlKTtcbiAgICB9XG4gICAgdGhpcy5tb2RhbEhlbHBlci5zY3JvbGxUb1RvcCh0aGlzLm5vT3ZlcmxheVJlZ2lzdGVyZWRFcnJvck1lc3NhZ2UsIGR1cmF0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gbmV4dCBtYWpvciB2ZXJzaW9uLiBJbmplY3QgTW9kYWwgaW4gZW1iZWRkZWQgY29tcG9uZW50IGFuZCB1c2UgTW9kYWwuc2Nyb2xsVG9Cb3R0b20gaW5zdGVhZC5cbiAgICovXG4gIHB1YmxpYyBzY3JvbGxUb0JvdHRvbShkdXJhdGlvbj86IEtpcmJ5QW5pbWF0aW9uLkR1cmF0aW9uKSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgJ01vZGFsQ29udHJvbGxlci5zY3JvbGxUb0JvdHRvbSBpcyBkZXByZWNhdGVkIC0gcGxlYXNlIGluamVjdCBNb2RhbCBpbiBlbWJlZGRlZCBjb21wb25lbnQgYW5kIHVzZSBNb2RhbC5zY3JvbGxUb0JvdHRvbSBpbnN0ZWFkLidcbiAgICApO1xuICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLm92ZXJsYXlzW3RoaXMub3ZlcmxheXMubGVuZ3RoIC0gMV07XG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5ub092ZXJsYXlSZWdpc3RlcmVkRXJyb3JNZXNzYWdlKTtcbiAgICB9XG4gICAgdGhpcy5tb2RhbEhlbHBlci5zY3JvbGxUb0JvdHRvbSh0aGlzLm5vT3ZlcmxheVJlZ2lzdGVyZWRFcnJvck1lc3NhZ2UsIGR1cmF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoaWRlQWxsKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgdGhpcy5vdmVybGF5cy5tYXAoYXN5bmMgKG92ZXJsYXkpID0+IHtcbiAgICAgICAgYXdhaXQgb3ZlcmxheS5kaXNtaXNzKCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
161
+ /** @nocollapse */ ModalController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ModalController, deps: [{ token: i1.ModalHelper }, { token: i2.ActionSheetHelper }, { token: i3.AlertHelper }, { token: i4.ModalNavigationService }, { token: ROUTES, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
162
+ /** @nocollapse */ ModalController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ModalController });
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ModalController, decorators: [{
164
+ type: Injectable
165
+ }], ctorParameters: function () { return [{ type: i1.ModalHelper }, { type: i2.ActionSheetHelper }, { type: i3.AlertHelper }, { type: i4.ModalNavigationService }, { type: undefined, decorators: [{
166
+ type: Optional
167
+ }, {
168
+ type: Inject,
169
+ args: [ROUTES]
170
+ }] }]; } });
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWtDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBSTdDLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQ1UsV0FBd0IsRUFDeEIsaUJBQW9DLEVBQ3BDLFdBQXdCLEVBQ3hCLHNCQUE4QyxFQUNsQixXQUFxQjtRQUpqRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQVU7UUFUbkQsYUFBUSxHQUFjLEVBQUUsQ0FBQztRQUNoQixvQ0FBK0IsR0FBRyw0Q0FBNEMsQ0FBQztRQUN4RixhQUFRLEdBQUcsSUFBSSxP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QyxPQUFPLEVBQUU7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLCtCQUErQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFWSxPQUFPOztZQUNsQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBTyxPQUFPLEVBQUUsRUFBRTtnQkFDbEMsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDMUIsQ0FBQyxDQUFBLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztLQUFBO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOztnSUEvS1UsZUFBZSwrSUFVSixNQUFNO29JQVZqQixlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVU7OzBCQVdOLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcywgUm91dGVzLCBST1VURVMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgS2lyYnlBbmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi9hbmltYXRpb24va2lyYnktYW5pbWF0aW9uJztcbmltcG9ydCB7IEFjdGlvblNoZWV0Q29uZmlnIH0gZnJvbSAnLi4vYWN0aW9uLXNoZWV0L2NvbmZpZy9hY3Rpb24tc2hlZXQtY29uZmlnJztcbmltcG9ydCB7IEFsZXJ0Q29uZmlnIH0gZnJvbSAnLi4vYWxlcnQvY29uZmlnL2FsZXJ0LWNvbmZpZyc7XG5pbXBvcnQgeyBNb2RhbENvbmZpZyB9IGZyb20gJy4uL21vZGFsLXdyYXBwZXIvY29uZmlnL21vZGFsLWNvbmZpZyc7XG5cbmltcG9ydCB7IEFjdGlvblNoZWV0SGVscGVyIH0gZnJvbSAnLi9hY3Rpb24tc2hlZXQuaGVscGVyJztcbmltcG9ydCB7IEFsZXJ0SGVscGVyIH0gZnJvbSAnLi9hbGVydC5oZWxwZXInO1xuaW1wb3J0IHsgTW9kYWxOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4vbW9kYWwtbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZGFsSGVscGVyIH0gZnJvbSAnLi9tb2RhbC5oZWxwZXInO1xuaW1wb3J0IHsgTW9kYWxSb3V0ZUFjdGl2YXRpb24sIE92ZXJsYXkgfSBmcm9tICcuL21vZGFsLmludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTW9kYWxDb250cm9sbGVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBvdmVybGF5czogT3ZlcmxheVtdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgbm9PdmVybGF5UmVnaXN0ZXJlZEVycm9yTWVzc2FnZSA9ICdObyBtb2RhbCBvdmVybGF5cyBhcmUgY3VycmVudGx5IHJlZ2lzdGVyZWQnO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1vZGFsSGVscGVyOiBNb2RhbEhlbHBlcixcbiAgICBwcml2YXRlIGFjdGlvblNoZWV0SGVscGVyOiBBY3Rpb25TaGVldEhlbHBlcixcbiAgICBwcml2YXRlIGFsZXJ0SGVscGVyOiBBbGVydEhlbHBlcixcbiAgICBwcml2YXRlIG1vZGFsTmF2aWdhdGlvblNlcnZpY2U6IE1vZGFsTmF2aWdhdGlvblNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChST1VURVMpIHByaXZhdGUgcm91dGVDb25maWc6IFJvdXRlc1tdXG4gICkge31cblxuICBhc3luYyBpbml0aWFsaXplKG1vZHVsZVJvb3RSb3V0ZVBhdGg/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBtb2RhbE5hdmlnYXRpb24gPSBhd2FpdCB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UuZ2V0TW9kYWxOYXZpZ2F0aW9uKFxuICAgICAgdGhpcy5yb3V0ZUNvbmZpZyxcbiAgICAgIG1vZHVsZVJvb3RSb3V0ZVBhdGhcbiAgICApO1xuICAgIHRoaXMub25Nb2RhbFJvdXRlQWN0aXZhdGVkKG1vZGFsTmF2aWdhdGlvbi5hY3RpdmF0ZWQkKTtcbiAgICB0aGlzLm9uTW9kYWxSb3V0ZURlYWN0aXZhdGVkKG1vZGFsTmF2aWdhdGlvbi5kZWFjdGl2YXRlZCQpOyAvLyBUT0RPOiBEbyB3ZSB3YW50IHRvIGNsb3NlIG1vZGFsIHdoZW4gcm91dGluZyBvdXQgb2YgbW9kYWwgcm91dGU/IE9yIHNob3VsZCB0aGUgY29kZSB0aGF0IG5hdmlnYXRlcyBjbG9zZSB0aGUgd2luZG93Pz9cbiAgfVxuXG4gIHByaXZhdGUgb25Nb2RhbFJvdXRlQWN0aXZhdGVkKG1vZGFsUm91dGVBY3RpdmF0ZWQkOiBPYnNlcnZhYmxlPE1vZGFsUm91dGVBY3RpdmF0aW9uPikge1xuICAgIGNvbnN0IG5hdmlnYXRlT25XaWxsQ2xvc2UgPSAoKSA9PiB7XG4gICAgICB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UubmF2aWdhdGVPdXRPZk1vZGFsT3V0bGV0KCk7XG4gICAgfTtcbiAgICBjb25zdCBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQgPSBtb2RhbFJvdXRlQWN0aXZhdGVkJC5waXBlKFxuICAgICAgZmlsdGVyKChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4gIW1vZGFsUm91dGVBY3RpdmF0aW9uLmlzTmV3TW9kYWwpLFxuICAgICAgbWFwKChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4gbW9kYWxSb3V0ZUFjdGl2YXRpb24ucm91dGUpXG4gICAgKTtcblxuICAgIG1vZGFsUm91dGVBY3RpdmF0ZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5vdmVybGF5cy5sZW5ndGggPT09IDApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4ge1xuICAgICAgICBpZiAobW9kYWxSb3V0ZUFjdGl2YXRpb24uaXNOZXdNb2RhbCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuc2hvd01vZGFsUm91dGUoXG4gICAgICAgICAgICBtb2RhbFJvdXRlQWN0aXZhdGlvbi5yb3V0ZSxcbiAgICAgICAgICAgIHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJCxcbiAgICAgICAgICAgIG5hdmlnYXRlT25XaWxsQ2xvc2VcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25Nb2RhbFJvdXRlRGVhY3RpdmF0ZWQobW9kYWxSb3V0ZURlYWN0aXZhdGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPikge1xuICAgIG1vZGFsUm91dGVEZWFjdGl2YXRlZCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLm92ZXJsYXlzLmxlbmd0aCA+IDApIC8vIFRPRE86IFRoaXMgYWxzbyBmaXJlcyB3aGVuIGNsb3Npbmcgb3ZlcmxheSAtIHNob3VsZCB3ZSBjaGVjayBmb3IgaXNDbG9zaW5nPz9cbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLmhpZGVBbGwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNob3dNb2RhbChjb25maWc6IE1vZGFsQ29uZmlnLCBvbkNsb3NlPzogKGRhdGE/OiBhbnkpID0+IHZvaWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNob3dBbmRSZWdpc3Rlck92ZXJsYXkoKCkgPT4gdGhpcy5tb2RhbEhlbHBlci5zaG93TW9kYWxXaW5kb3coY29uZmlnKSwgb25DbG9zZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbmF2aWdhdGVUb01vZGFsKHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLCBxdWVyeVBhcmFtcz86IFBhcmFtcyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UubmF2aWdhdGVUb01vZGFsKHBhdGgsIHF1ZXJ5UGFyYW1zKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBuYXZpZ2F0ZVdpdGhpbk1vZGFsKHJlbGF0aXZlUGF0aDogc3RyaW5nLCBxdWVyeVBhcmFtcz86IFBhcmFtcyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UubmF2aWdhdGVXaXRoaW5Nb2RhbChyZWxhdGl2ZVBhdGgsIHF1ZXJ5UGFyYW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2hvd01vZGFsUm91dGUoXG4gICAgbW9kYWxSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgc2libGluZ01vZGFsUm91dGVBY3RpdmF0ZWQkOiBPYnNlcnZhYmxlPEFjdGl2YXRlZFJvdXRlPixcbiAgICBvbldpbGxDbG9zZTogKGRhdGE/OiBhbnkpID0+IHZvaWRcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29uZmlnOiBNb2RhbENvbmZpZyA9IHtcbiAgICAgIGNvbXBvbmVudDogbnVsbCxcbiAgICAgIG1vZGFsUm91dGU6IG1vZGFsUm91dGUsXG4gICAgICBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQ6IHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJCxcbiAgICAgIGZsYXZvcjogJ21vZGFsJywgLy8gVG9kbzogU2hvdWxkIGl0IGJlIHBvc3NpYmxlIHRvIHNwZWNpZnkgZmxhdm9yIGFzIGRhdGEgaW4gUm91dGVDb25maWc/XG4gICAgfTtcbiAgICBhd2FpdCB0aGlzLnNob3dBbmRSZWdpc3Rlck92ZXJsYXkoXG4gICAgICAoKSA9PiB0aGlzLm1vZGFsSGVscGVyLnNob3dNb2RhbFdpbmRvdyhjb25maWcpLFxuICAgICAgbnVsbCxcbiAgICAgIG9uV2lsbENsb3NlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzaG93QWN0aW9uU2hlZXQoXG4gICAgY29uZmlnOiBBY3Rpb25TaGVldENvbmZpZyxcbiAgICBvbkNsb3NlPzogKGRhdGE/OiBhbnkpID0+IHZvaWRcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5zaG93QW5kUmVnaXN0ZXJPdmVybGF5KFxuICAgICAgKCkgPT4gdGhpcy5hY3Rpb25TaGVldEhlbHBlci5zaG93QWN0aW9uU2hlZXQoY29uZmlnKSxcbiAgICAgIG9uQ2xvc2VcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNob3dBbGVydChjb25maWc6IEFsZXJ0Q29uZmlnLCBvbkNsb3NlPzogKHJlc3VsdDogYm9vbGVhbikgPT4gdm9pZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2hvd0FuZFJlZ2lzdGVyT3ZlcmxheSgoKSA9PiB0aGlzLmFsZXJ0SGVscGVyLnNob3dBbGVydChjb25maWcpLCBvbkNsb3NlKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2hvd0FuZFJlZ2lzdGVyT3ZlcmxheShcbiAgICBzaG93T3ZlcmxheTogKCkgPT4gUHJvbWlzZTxPdmVybGF5PixcbiAgICBvbkNsb3NlT3ZlcmxheT86IChkYXRhPzogYW55KSA9PiB2b2lkLFxuICAgIG9uV2lsbENsb3NlT3ZlcmxheT86IChkYXRhPzogYW55KSA9PiB2b2lkXG4gICkge1xuICAgIGNvbnN0IG92ZXJsYXkgPSBhd2FpdCBzaG93T3ZlcmxheSgpO1xuICAgIGlmICghb3ZlcmxheSkgcmV0dXJuO1xuXG4gICAgdGhpcy5vdmVybGF5cy5wdXNoKG92ZXJsYXkpO1xuXG4gICAgaWYgKHR5cGVvZiBvbldpbGxDbG9zZU92ZXJsYXkgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIG92ZXJsYXkub25XaWxsRGlzbWlzcy50aGVuKChldmVudCkgPT4gb25XaWxsQ2xvc2VPdmVybGF5KGV2ZW50LmRhdGEpKTtcbiAgICB9XG5cbiAgICBvdmVybGF5Lm9uRGlkRGlzbWlzcy50aGVuKChldmVudCkgPT4ge1xuICAgICAgdGhpcy5vdmVybGF5cy5wb3AoKTtcbiAgICAgIGlmICh0eXBlb2Ygb25DbG9zZU92ZXJsYXkgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb25DbG9zZU92ZXJsYXkoZXZlbnQuZGF0YSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJQcmVzZW50aW5nRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIHRoaXMubW9kYWxIZWxwZXIucmVnaXN0ZXJQcmVzZW50aW5nRWxlbWVudChlbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoaWRlVG9wbW9zdChkYXRhPzogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMub3ZlcmxheXNbdGhpcy5vdmVybGF5cy5sZW5ndGggLSAxXTtcbiAgICBpZiAoIW92ZXJsYXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLm5vT3ZlcmxheVJlZ2lzdGVyZWRFcnJvck1lc3NhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gb3ZlcmxheS5kaXNtaXNzKGRhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVtb3ZlZCBpbiBuZXh0IG1ham9yIHZlcnNpb24uIEluamVjdCBNb2RhbCBpbiBlbWJlZGRlZCBjb21wb25lbnQgYW5kIHVzZSBNb2RhbC5zY3JvbGxUb1RvcCBpbnN0ZWFkLlxuICAgKi9cbiAgcHVibGljIHNjcm9sbFRvVG9wKGR1cmF0aW9uPzogS2lyYnlBbmltYXRpb24uRHVyYXRpb24pIHtcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICAnTW9kYWxDb250cm9sbGVyLnNjcm9sbFRvVG9wIGlzIGRlcHJlY2F0ZWQgLSBwbGVhc2UgaW5qZWN0IE1vZGFsIGluIGVtYmVkZGVkIGNvbXBvbmVudCBhbmQgdXNlIE1vZGFsLnNjcm9sbFRvVG9wIGluc3RlYWQuJ1xuICAgICk7XG4gICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMub3ZlcmxheXNbdGhpcy5vdmVybGF5cy5sZW5ndGggLSAxXTtcbiAgICBpZiAoIW92ZXJsYXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLm5vT3ZlcmxheVJlZ2lzdGVyZWRFcnJvck1lc3NhZ2UpO1xuICAgIH1cbiAgICB0aGlzLm1vZGFsSGVscGVyLnNjcm9sbFRvVG9wKHRoaXMubm9PdmVybGF5UmVnaXN0ZXJlZEVycm9yTWVzc2FnZSwgZHVyYXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVtb3ZlZCBpbiBuZXh0IG1ham9yIHZlcnNpb24uIEluamVjdCBNb2RhbCBpbiBlbWJlZGRlZCBjb21wb25lbnQgYW5kIHVzZSBNb2RhbC5zY3JvbGxUb0JvdHRvbSBpbnN0ZWFkLlxuICAgKi9cbiAgcHVibGljIHNjcm9sbFRvQm90dG9tKGR1cmF0aW9uPzogS2lyYnlBbmltYXRpb24uRHVyYXRpb24pIHtcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICAnTW9kYWxDb250cm9sbGVyLnNjcm9sbFRvQm90dG9tIGlzIGRlcHJlY2F0ZWQgLSBwbGVhc2UgaW5qZWN0IE1vZGFsIGluIGVtYmVkZGVkIGNvbXBvbmVudCBhbmQgdXNlIE1vZGFsLnNjcm9sbFRvQm90dG9tIGluc3RlYWQuJ1xuICAgICk7XG4gICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMub3ZlcmxheXNbdGhpcy5vdmVybGF5cy5sZW5ndGggLSAxXTtcbiAgICBpZiAoIW92ZXJsYXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLm5vT3ZlcmxheVJlZ2lzdGVyZWRFcnJvck1lc3NhZ2UpO1xuICAgIH1cbiAgICB0aGlzLm1vZGFsSGVscGVyLnNjcm9sbFRvQm90dG9tKHRoaXMubm9PdmVybGF5UmVnaXN0ZXJlZEVycm9yTWVzc2FnZSwgZHVyYXRpb24pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGhpZGVBbGwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICB0aGlzLm92ZXJsYXlzLm1hcChhc3luYyAob3ZlcmxheSkgPT4ge1xuICAgICAgICBhd2FpdCBvdmVybGF5LmRpc21pc3MoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19