@acorex/components 5.2.1 → 5.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (449) hide show
  1. package/esm2020/lib/action-sheet/action-sheet-item.component.mjs +3 -3
  2. package/esm2020/lib/action-sheet/action-sheet.component.mjs +3 -3
  3. package/esm2020/lib/action-sheet/action-sheet.module.mjs +4 -4
  4. package/esm2020/lib/alert/alert-button.component.mjs +4 -5
  5. package/esm2020/lib/alert/alert.component.mjs +35 -25
  6. package/esm2020/lib/alert/alert.module.mjs +10 -26
  7. package/esm2020/lib/alert/index.mjs +1 -5
  8. package/esm2020/lib/avatar/avatar-group.component.mjs +3 -3
  9. package/esm2020/lib/avatar/avatar.component.mjs +3 -3
  10. package/esm2020/lib/avatar/avatar.module.mjs +4 -4
  11. package/esm2020/lib/badge/badge.component.mjs +3 -3
  12. package/esm2020/lib/badge/badge.module.mjs +4 -4
  13. package/esm2020/lib/base/common.module.mjs +4 -4
  14. package/esm2020/lib/base/components.class.mjs +17 -0
  15. package/esm2020/lib/base/custom-cdk-overlay.service.mjs +6 -6
  16. package/esm2020/lib/base/events.class.mjs +1 -1
  17. package/esm2020/lib/base/index.mjs +2 -1
  18. package/esm2020/lib/base/infinite-scroll.directive.mjs +3 -3
  19. package/esm2020/lib/base/mixin/base-components.class.mjs +8 -8
  20. package/esm2020/lib/base/mixin/base-menu-mixin.class.mjs +18 -16
  21. package/esm2020/lib/base/mixin/color-look-mixing.class.mjs +1 -1
  22. package/esm2020/lib/base/mixin/datalist-component.class.mjs +2 -1
  23. package/esm2020/lib/base/mixin/textbox-mixin.class.mjs +2 -2
  24. package/esm2020/lib/base/overlay.service.mjs +3 -3
  25. package/esm2020/lib/base/responsive.directive.mjs +3 -3
  26. package/esm2020/lib/base/styles.class.mjs +1 -1
  27. package/esm2020/lib/breadcrumbs/breadcrumbs-item.component.mjs +3 -3
  28. package/esm2020/lib/breadcrumbs/breadcrumbs.component.mjs +3 -3
  29. package/esm2020/lib/breadcrumbs/breadcrumbs.module.mjs +4 -4
  30. package/esm2020/lib/button/button-group.component.mjs +4 -4
  31. package/esm2020/lib/button/button-item.class.mjs +1 -1
  32. package/esm2020/lib/button/button-item.component.mjs +3 -3
  33. package/esm2020/lib/button/button.component.mjs +3 -3
  34. package/esm2020/lib/button/button.module.mjs +8 -9
  35. package/esm2020/lib/calendar/calendar.class.mjs +3 -3
  36. package/esm2020/lib/calendar/calendar.component.mjs +63 -10
  37. package/esm2020/lib/calendar/calendar.module.mjs +8 -10
  38. package/esm2020/lib/calendar/index.mjs +1 -2
  39. package/esm2020/lib/carousel/carousel-arrows.component.mjs +3 -3
  40. package/esm2020/lib/carousel/carousel-item.component.mjs +3 -3
  41. package/esm2020/lib/carousel/carousel-pager.component.mjs +3 -3
  42. package/esm2020/lib/carousel/carousel.class.mjs +3 -3
  43. package/esm2020/lib/carousel/carousel.component.mjs +3 -3
  44. package/esm2020/lib/carousel/carousel.module.mjs +4 -4
  45. package/esm2020/lib/checkbox/checkbox.component.mjs +3 -3
  46. package/esm2020/lib/checkbox/checkbox.module.mjs +7 -7
  47. package/esm2020/lib/collapse/collapse-group.component.mjs +3 -3
  48. package/esm2020/lib/collapse/collapse.component.mjs +3 -3
  49. package/esm2020/lib/collapse/collapse.module.mjs +4 -4
  50. package/esm2020/lib/color-picker/color-picker.component.mjs +324 -0
  51. package/esm2020/lib/color-picker/color-picker.module.mjs +57 -0
  52. package/esm2020/lib/color-picker/index.mjs +3 -0
  53. package/esm2020/lib/datalist/datalist.component.mjs +3 -3
  54. package/esm2020/lib/datalist/datalist.module.mjs +4 -4
  55. package/esm2020/lib/datepicker/datepicker.component.mjs +13 -9
  56. package/esm2020/lib/datepicker/datepicker.module.mjs +8 -11
  57. package/esm2020/lib/decorators/addon.component.mjs +3 -3
  58. package/esm2020/lib/decorators/close-button.component.mjs +40 -0
  59. package/esm2020/lib/decorators/content.component.mjs +3 -3
  60. package/esm2020/lib/decorators/decorators.module.mjs +37 -7
  61. package/esm2020/lib/decorators/footer.component.mjs +24 -0
  62. package/esm2020/lib/decorators/header.component.mjs +6 -8
  63. package/esm2020/lib/decorators/icon.component.mjs +28 -0
  64. package/esm2020/lib/decorators/index.mjs +5 -1
  65. package/esm2020/lib/decorators/prefix.component.mjs +6 -6
  66. package/esm2020/lib/decorators/suffix.component.mjs +6 -6
  67. package/esm2020/lib/decorators/title.component.mjs +24 -0
  68. package/esm2020/lib/dialog/dialog.component.mjs +3 -3
  69. package/esm2020/lib/dialog/dialog.module.mjs +7 -7
  70. package/esm2020/lib/dialog/dialog.service.mjs +3 -3
  71. package/esm2020/lib/drawer/drawer-container.component.mjs +19 -59
  72. package/esm2020/lib/drawer/drawer.component.mjs +99 -129
  73. package/esm2020/lib/drawer/drawer.module.mjs +6 -7
  74. package/esm2020/lib/drawer/index.mjs +1 -2
  75. package/esm2020/lib/dropdown/dropdown-panel.component.mjs +6 -6
  76. package/esm2020/lib/dropdown/dropdown.module.mjs +7 -8
  77. package/esm2020/lib/form/form-field.component.mjs +3 -3
  78. package/esm2020/lib/form/form-field.module.mjs +4 -4
  79. package/esm2020/lib/form/form-hint.component.mjs +3 -3
  80. package/esm2020/lib/form/form.component.mjs +3 -3
  81. package/esm2020/lib/input-mask/input-mask.component.mjs +3 -3
  82. package/esm2020/lib/input-mask/input-mask.module.mjs +4 -4
  83. package/esm2020/lib/label/label.component.mjs +3 -3
  84. package/esm2020/lib/label/label.module.mjs +4 -4
  85. package/esm2020/lib/loading/loading-spinner.component.mjs +3 -3
  86. package/esm2020/lib/loading/loading.component.mjs +3 -3
  87. package/esm2020/lib/loading/loading.directive.mjs +3 -3
  88. package/esm2020/lib/loading/loading.module.mjs +4 -4
  89. package/esm2020/lib/loading/loading.service.mjs +3 -3
  90. package/esm2020/lib/menu/menu.component.mjs +85 -19
  91. package/esm2020/lib/menu/menu.module.mjs +7 -10
  92. package/esm2020/lib/number-box/number-box.component.mjs +5 -5
  93. package/esm2020/lib/number-box/number-box.module.mjs +8 -11
  94. package/esm2020/lib/page/base-page.class.mjs +6 -6
  95. package/esm2020/lib/page/index.mjs +1 -3
  96. package/esm2020/lib/page/page.component.mjs +3 -3
  97. package/esm2020/lib/page/page.module.mjs +7 -9
  98. package/esm2020/lib/password-box/password-box.component.mjs +5 -5
  99. package/esm2020/lib/password-box/password-box.module.mjs +8 -11
  100. package/esm2020/lib/picker/picker.component.mjs +267 -29
  101. package/esm2020/lib/picker/picker.model.class.mjs +2 -0
  102. package/esm2020/lib/picker/picker.module.mjs +4 -4
  103. package/esm2020/lib/popover/popover.component.mjs +8 -5
  104. package/esm2020/lib/popover/popover.module.mjs +4 -4
  105. package/esm2020/lib/popup/popup.component.mjs +15 -12
  106. package/esm2020/lib/popup/popup.module.mjs +7 -6
  107. package/esm2020/lib/popup/popup.service.mjs +3 -3
  108. package/esm2020/lib/progress-bar/progress-bar.component.mjs +3 -3
  109. package/esm2020/lib/progress-bar/progress-bar.module.mjs +4 -4
  110. package/esm2020/lib/radio/index.mjs +1 -1
  111. package/esm2020/lib/radio/radio.component.mjs +5 -5
  112. package/esm2020/lib/radio/radio.module.mjs +5 -5
  113. package/esm2020/lib/range-slider/range-slider.component.mjs +3 -3
  114. package/esm2020/lib/range-slider/range-slider.module.mjs +4 -4
  115. package/esm2020/lib/rating/rating.component.mjs +3 -3
  116. package/esm2020/lib/rating/rating.component.module.mjs +4 -4
  117. package/esm2020/lib/result/result.component.mjs +3 -3
  118. package/esm2020/lib/result/result.module.mjs +4 -4
  119. package/esm2020/lib/searchbox/index.mjs +3 -0
  120. package/esm2020/lib/searchbox/searchbox.component.mjs +47 -0
  121. package/esm2020/lib/searchbox/searchbox.module.mjs +24 -0
  122. package/esm2020/lib/selectbox/selectbox.component.mjs +35 -28
  123. package/esm2020/lib/selectbox/selectbox.module.mjs +9 -13
  124. package/esm2020/lib/selection-list/selection-list.component.mjs +5 -5
  125. package/esm2020/lib/selection-list/selection-list.module.mjs +4 -4
  126. package/esm2020/lib/switch/switch.component.mjs +3 -3
  127. package/esm2020/lib/switch/switch.module.mjs +4 -4
  128. package/esm2020/lib/tabs/tab-content.directive.mjs +3 -3
  129. package/esm2020/lib/tabs/tab-item.component.mjs +3 -3
  130. package/esm2020/lib/tabs/tabs.component.mjs +3 -3
  131. package/esm2020/lib/tabs/tabs.module.mjs +7 -7
  132. package/esm2020/lib/textarea/textarea.component.mjs +4 -4
  133. package/esm2020/lib/textarea/textarea.module.mjs +4 -4
  134. package/esm2020/lib/textbox/textbox.component.mjs +5 -5
  135. package/esm2020/lib/textbox/textbox.module.mjs +9 -13
  136. package/esm2020/lib/time-box/time-box.component.mjs +4 -4
  137. package/esm2020/lib/time-box/time-box.module.mjs +4 -4
  138. package/esm2020/lib/toast/toast.class.mjs +1 -1
  139. package/esm2020/lib/toast/toast.component.mjs +16 -14
  140. package/esm2020/lib/toast/toast.module.mjs +8 -6
  141. package/esm2020/lib/toast/toast.service.mjs +40 -12
  142. package/esm2020/lib/tooltip/tooltip.component.mjs +3 -3
  143. package/esm2020/lib/tooltip/tooltip.directive.mjs +3 -3
  144. package/esm2020/lib/tooltip/tooltip.module.mjs +4 -4
  145. package/esm2020/lib/treeview/tree-view.component.mjs +3 -3
  146. package/esm2020/lib/treeview/tree-view.module.mjs +4 -4
  147. package/esm2020/lib/validation/validation-rule.widget.mjs +3 -3
  148. package/esm2020/lib/validation/validation.module.mjs +4 -4
  149. package/esm2020/public-api.mjs +3 -2
  150. package/fesm2015/acorex-components.mjs +2140 -1521
  151. package/fesm2015/acorex-components.mjs.map +1 -1
  152. package/fesm2020/acorex-components.mjs +2125 -1522
  153. package/fesm2020/acorex-components.mjs.map +1 -1
  154. package/lib/alert/alert.component.d.ts +7 -6
  155. package/lib/alert/alert.module.d.ts +4 -8
  156. package/lib/alert/index.d.ts +0 -4
  157. package/lib/badge/badge.component.d.ts +3 -3
  158. package/lib/base/components.class.d.ts +11 -0
  159. package/lib/base/index.d.ts +1 -0
  160. package/lib/base/mixin/base-components.class.d.ts +2 -2
  161. package/lib/base/mixin/base-menu-mixin.class.d.ts +4 -3
  162. package/lib/base/mixin/button-mixin.class.d.ts +0 -3
  163. package/lib/base/mixin/color-look-mixing.class.d.ts +4 -4
  164. package/lib/base/mixin/mixin.class.d.ts +10 -9
  165. package/lib/base/mixin/selection-component.class.d.ts +3 -0
  166. package/lib/base/mixin/textbox-mixin.class.d.ts +3 -3
  167. package/lib/base/styles.class.d.ts +1 -1
  168. package/lib/button/button-group.component.d.ts +4 -4
  169. package/lib/button/button-item.class.d.ts +2 -2
  170. package/lib/button/button.module.d.ts +2 -3
  171. package/lib/calendar/calendar.component.d.ts +10 -1
  172. package/lib/calendar/calendar.module.d.ts +6 -8
  173. package/lib/calendar/index.d.ts +0 -1
  174. package/lib/checkbox/checkbox.module.d.ts +1 -1
  175. package/lib/color-picker/color-picker.component.d.ts +62 -0
  176. package/lib/color-picker/color-picker.module.d.ts +17 -0
  177. package/lib/color-picker/index.d.ts +2 -0
  178. package/lib/datepicker/datepicker.component.d.ts +1 -1
  179. package/lib/datepicker/datepicker.module.d.ts +3 -4
  180. package/lib/decorators/close-button.component.d.ts +13 -0
  181. package/lib/decorators/decorators.module.d.ts +10 -6
  182. package/lib/decorators/footer.component.d.ts +8 -0
  183. package/lib/decorators/header.component.d.ts +1 -1
  184. package/lib/decorators/icon.component.d.ts +10 -0
  185. package/lib/decorators/index.d.ts +4 -0
  186. package/lib/decorators/prefix.component.d.ts +1 -1
  187. package/lib/decorators/suffix.component.d.ts +1 -1
  188. package/lib/decorators/title.component.d.ts +9 -0
  189. package/lib/dialog/dialog.module.d.ts +1 -1
  190. package/lib/drawer/drawer-container.component.d.ts +5 -8
  191. package/lib/drawer/drawer.component.d.ts +23 -19
  192. package/lib/drawer/drawer.module.d.ts +2 -3
  193. package/lib/drawer/index.d.ts +0 -1
  194. package/lib/dropdown/dropdown.module.d.ts +3 -4
  195. package/lib/menu/menu.component.d.ts +10 -6
  196. package/lib/menu/menu.module.d.ts +2 -2
  197. package/lib/number-box/number-box.component.d.ts +1 -1
  198. package/lib/number-box/number-box.module.d.ts +2 -3
  199. package/lib/page/base-page.class.d.ts +2 -2
  200. package/lib/page/index.d.ts +0 -2
  201. package/lib/page/page.module.d.ts +1 -3
  202. package/lib/password-box/password-box.component.d.ts +1 -1
  203. package/lib/password-box/password-box.module.d.ts +1 -2
  204. package/lib/picker/picker.component.d.ts +55 -18
  205. package/lib/picker/picker.model.class.d.ts +10 -0
  206. package/lib/popover/popover.component.d.ts +2 -1
  207. package/lib/popup/popup.module.d.ts +2 -1
  208. package/lib/searchbox/index.d.ts +2 -0
  209. package/lib/searchbox/searchbox.component.d.ts +16 -0
  210. package/lib/searchbox/searchbox.module.d.ts +11 -0
  211. package/lib/selectbox/selectbox.component.d.ts +4 -14
  212. package/lib/selectbox/selectbox.module.d.ts +6 -7
  213. package/lib/tabs/tabs.module.d.ts +1 -1
  214. package/lib/textarea/textarea.component.d.ts +1 -1
  215. package/lib/textbox/textbox.component.d.ts +1 -1
  216. package/lib/textbox/textbox.module.d.ts +2 -3
  217. package/lib/time-box/time-box.component.d.ts +1 -1
  218. package/lib/toast/toast.class.d.ts +4 -3
  219. package/lib/toast/toast.component.d.ts +0 -2
  220. package/lib/toast/toast.module.d.ts +3 -1
  221. package/lib/toast/toast.service.d.ts +4 -0
  222. package/package.json +4 -4
  223. package/public-api.d.ts +2 -1
  224. package/acorex-components.d.ts.map +0 -1
  225. package/esm2020/lib/alert/alert-content.component.mjs +0 -21
  226. package/esm2020/lib/alert/alert-footer.component.mjs +0 -27
  227. package/esm2020/lib/alert/alert-suffix.component.mjs +0 -27
  228. package/esm2020/lib/alert/alert-title.component.mjs +0 -23
  229. package/esm2020/lib/calendar/inline-calendar.component.mjs +0 -39
  230. package/esm2020/lib/drawer/drawer-content.component.mjs +0 -27
  231. package/esm2020/lib/icon/icon.component.mjs +0 -28
  232. package/esm2020/lib/icon/icon.module.mjs +0 -21
  233. package/esm2020/lib/icon/index.mjs +0 -3
  234. package/esm2020/lib/page/page-footer.component.mjs +0 -28
  235. package/esm2020/lib/page/page-header.component.mjs +0 -28
  236. package/lib/action-sheet/action-sheet-item.component.d.ts.map +0 -1
  237. package/lib/action-sheet/action-sheet.component.d.ts.map +0 -1
  238. package/lib/action-sheet/action-sheet.module.d.ts.map +0 -1
  239. package/lib/action-sheet/index.d.ts.map +0 -1
  240. package/lib/alert/alert-button.component.d.ts.map +0 -1
  241. package/lib/alert/alert-content.component.d.ts +0 -5
  242. package/lib/alert/alert-content.component.d.ts.map +0 -1
  243. package/lib/alert/alert-footer.component.d.ts +0 -5
  244. package/lib/alert/alert-footer.component.d.ts.map +0 -1
  245. package/lib/alert/alert-suffix.component.d.ts +0 -5
  246. package/lib/alert/alert-suffix.component.d.ts.map +0 -1
  247. package/lib/alert/alert-title.component.d.ts +0 -5
  248. package/lib/alert/alert-title.component.d.ts.map +0 -1
  249. package/lib/alert/alert.component.d.ts.map +0 -1
  250. package/lib/alert/alert.module.d.ts.map +0 -1
  251. package/lib/alert/index.d.ts.map +0 -1
  252. package/lib/avatar/avatar-group.component.d.ts.map +0 -1
  253. package/lib/avatar/avatar.component.d.ts.map +0 -1
  254. package/lib/avatar/avatar.module.d.ts.map +0 -1
  255. package/lib/avatar/index.d.ts.map +0 -1
  256. package/lib/badge/badge.component.d.ts.map +0 -1
  257. package/lib/badge/badge.module.d.ts.map +0 -1
  258. package/lib/badge/index.d.ts.map +0 -1
  259. package/lib/base/common.module.d.ts.map +0 -1
  260. package/lib/base/custom-cdk-overlay.service.d.ts.map +0 -1
  261. package/lib/base/drawing.class.d.ts.map +0 -1
  262. package/lib/base/events.class.d.ts.map +0 -1
  263. package/lib/base/index.d.ts.map +0 -1
  264. package/lib/base/infinite-scroll.directive.d.ts.map +0 -1
  265. package/lib/base/mixin/base-components.class.d.ts.map +0 -1
  266. package/lib/base/mixin/base-menu-mixin.class.d.ts.map +0 -1
  267. package/lib/base/mixin/button-mixin.class.d.ts.map +0 -1
  268. package/lib/base/mixin/clickable-mixin.class.d.ts.map +0 -1
  269. package/lib/base/mixin/color-look-mixing.class.d.ts.map +0 -1
  270. package/lib/base/mixin/constratctor.d.ts.map +0 -1
  271. package/lib/base/mixin/datalist-component.class.d.ts.map +0 -1
  272. package/lib/base/mixin/datalist.class.d.ts.map +0 -1
  273. package/lib/base/mixin/dropdown-mixin.class.d.ts.map +0 -1
  274. package/lib/base/mixin/index.d.ts.map +0 -1
  275. package/lib/base/mixin/interactive-mixin.class.d.ts.map +0 -1
  276. package/lib/base/mixin/loading-mixin.class.d.ts.map +0 -1
  277. package/lib/base/mixin/mixin.class.d.ts.map +0 -1
  278. package/lib/base/mixin/selection-component.class.d.ts.map +0 -1
  279. package/lib/base/mixin/sizable-mixin.class.d.ts.map +0 -1
  280. package/lib/base/mixin/textbox-mixin.class.d.ts.map +0 -1
  281. package/lib/base/mixin/value-mixin.class.d.ts.map +0 -1
  282. package/lib/base/overlay.service.d.ts.map +0 -1
  283. package/lib/base/responsive.directive.d.ts.map +0 -1
  284. package/lib/base/styles.class.d.ts.map +0 -1
  285. package/lib/breadcrumbs/breadcrumbs-item.class.d.ts.map +0 -1
  286. package/lib/breadcrumbs/breadcrumbs-item.component.d.ts.map +0 -1
  287. package/lib/breadcrumbs/breadcrumbs.component.d.ts.map +0 -1
  288. package/lib/breadcrumbs/breadcrumbs.module.d.ts.map +0 -1
  289. package/lib/breadcrumbs/index.d.ts.map +0 -1
  290. package/lib/button/button-group.component.d.ts.map +0 -1
  291. package/lib/button/button-item.class.d.ts.map +0 -1
  292. package/lib/button/button-item.component.d.ts.map +0 -1
  293. package/lib/button/button.component.d.ts.map +0 -1
  294. package/lib/button/button.module.d.ts.map +0 -1
  295. package/lib/button/index.d.ts.map +0 -1
  296. package/lib/calendar/calendar.class.d.ts.map +0 -1
  297. package/lib/calendar/calendar.component.d.ts.map +0 -1
  298. package/lib/calendar/calendar.module.d.ts.map +0 -1
  299. package/lib/calendar/index.d.ts.map +0 -1
  300. package/lib/calendar/inline-calendar.component.d.ts +0 -14
  301. package/lib/calendar/inline-calendar.component.d.ts.map +0 -1
  302. package/lib/carousel/carousel-arrows.component.d.ts.map +0 -1
  303. package/lib/carousel/carousel-item.component.d.ts.map +0 -1
  304. package/lib/carousel/carousel-pager.component.d.ts.map +0 -1
  305. package/lib/carousel/carousel-splidejs.class.d.ts.map +0 -1
  306. package/lib/carousel/carousel.class.d.ts.map +0 -1
  307. package/lib/carousel/carousel.component.d.ts.map +0 -1
  308. package/lib/carousel/carousel.module.d.ts.map +0 -1
  309. package/lib/carousel/index.d.ts.map +0 -1
  310. package/lib/checkbox/checkbox.component.d.ts.map +0 -1
  311. package/lib/checkbox/checkbox.module.d.ts.map +0 -1
  312. package/lib/checkbox/index.d.ts.map +0 -1
  313. package/lib/collapse/collapse-group.component.d.ts.map +0 -1
  314. package/lib/collapse/collapse.component.d.ts.map +0 -1
  315. package/lib/collapse/collapse.module.d.ts.map +0 -1
  316. package/lib/collapse/index.d.ts.map +0 -1
  317. package/lib/datalist/datalist.component.d.ts.map +0 -1
  318. package/lib/datalist/datalist.module.d.ts.map +0 -1
  319. package/lib/datalist/index.d.ts.map +0 -1
  320. package/lib/datepicker/datepicker.component.d.ts.map +0 -1
  321. package/lib/datepicker/datepicker.module.d.ts.map +0 -1
  322. package/lib/datepicker/index.d.ts.map +0 -1
  323. package/lib/decorators/addon.component.d.ts.map +0 -1
  324. package/lib/decorators/content.component.d.ts.map +0 -1
  325. package/lib/decorators/decorators.module.d.ts.map +0 -1
  326. package/lib/decorators/header.component.d.ts.map +0 -1
  327. package/lib/decorators/index.d.ts.map +0 -1
  328. package/lib/decorators/prefix.component.d.ts.map +0 -1
  329. package/lib/decorators/suffix.component.d.ts.map +0 -1
  330. package/lib/dialog/dialog.class.d.ts.map +0 -1
  331. package/lib/dialog/dialog.component.d.ts.map +0 -1
  332. package/lib/dialog/dialog.module.d.ts.map +0 -1
  333. package/lib/dialog/dialog.service.d.ts.map +0 -1
  334. package/lib/dialog/index.d.ts.map +0 -1
  335. package/lib/drawer/drawer-container.component.d.ts.map +0 -1
  336. package/lib/drawer/drawer-content.component.d.ts +0 -8
  337. package/lib/drawer/drawer-content.component.d.ts.map +0 -1
  338. package/lib/drawer/drawer.component.d.ts.map +0 -1
  339. package/lib/drawer/drawer.module.d.ts.map +0 -1
  340. package/lib/drawer/index.d.ts.map +0 -1
  341. package/lib/dropdown/dropdown-panel.component.d.ts.map +0 -1
  342. package/lib/dropdown/dropdown.module.d.ts.map +0 -1
  343. package/lib/dropdown/index.d.ts.map +0 -1
  344. package/lib/form/form-field.component.d.ts.map +0 -1
  345. package/lib/form/form-field.module.d.ts.map +0 -1
  346. package/lib/form/form-hint.component.d.ts.map +0 -1
  347. package/lib/form/form.component.d.ts.map +0 -1
  348. package/lib/form/index.d.ts.map +0 -1
  349. package/lib/icon/icon.component.d.ts +0 -10
  350. package/lib/icon/icon.component.d.ts.map +0 -1
  351. package/lib/icon/icon.module.d.ts +0 -8
  352. package/lib/icon/icon.module.d.ts.map +0 -1
  353. package/lib/icon/index.d.ts +0 -2
  354. package/lib/icon/index.d.ts.map +0 -1
  355. package/lib/input-mask/index.d.ts.map +0 -1
  356. package/lib/input-mask/input-mask.component.d.ts.map +0 -1
  357. package/lib/input-mask/input-mask.module.d.ts.map +0 -1
  358. package/lib/label/index.d.ts.map +0 -1
  359. package/lib/label/label.component.d.ts.map +0 -1
  360. package/lib/label/label.module.d.ts.map +0 -1
  361. package/lib/loading/index.d.ts.map +0 -1
  362. package/lib/loading/loading-spinner.component.d.ts.map +0 -1
  363. package/lib/loading/loading.component.d.ts.map +0 -1
  364. package/lib/loading/loading.directive.d.ts.map +0 -1
  365. package/lib/loading/loading.module.d.ts.map +0 -1
  366. package/lib/loading/loading.service.d.ts.map +0 -1
  367. package/lib/menu/index.d.ts.map +0 -1
  368. package/lib/menu/menu.component.d.ts.map +0 -1
  369. package/lib/menu/menu.module.d.ts.map +0 -1
  370. package/lib/number-box/index.d.ts.map +0 -1
  371. package/lib/number-box/number-box.component.d.ts.map +0 -1
  372. package/lib/number-box/number-box.module.d.ts.map +0 -1
  373. package/lib/page/base-page.class.d.ts.map +0 -1
  374. package/lib/page/index.d.ts.map +0 -1
  375. package/lib/page/page-footer.component.d.ts +0 -7
  376. package/lib/page/page-footer.component.d.ts.map +0 -1
  377. package/lib/page/page-header.component.d.ts +0 -7
  378. package/lib/page/page-header.component.d.ts.map +0 -1
  379. package/lib/page/page.component.d.ts.map +0 -1
  380. package/lib/page/page.module.d.ts.map +0 -1
  381. package/lib/password-box/index.d.ts.map +0 -1
  382. package/lib/password-box/password-box.component.d.ts.map +0 -1
  383. package/lib/password-box/password-box.module.d.ts.map +0 -1
  384. package/lib/picker/index.d.ts.map +0 -1
  385. package/lib/picker/picker.component.d.ts.map +0 -1
  386. package/lib/picker/picker.module.d.ts.map +0 -1
  387. package/lib/popover/index.d.ts.map +0 -1
  388. package/lib/popover/popover.component.d.ts.map +0 -1
  389. package/lib/popover/popover.module.d.ts.map +0 -1
  390. package/lib/popup/index.d.ts.map +0 -1
  391. package/lib/popup/popup.component.d.ts.map +0 -1
  392. package/lib/popup/popup.module.d.ts.map +0 -1
  393. package/lib/popup/popup.service.d.ts.map +0 -1
  394. package/lib/progress-bar/index.d.ts.map +0 -1
  395. package/lib/progress-bar/progress-bar.component.d.ts.map +0 -1
  396. package/lib/progress-bar/progress-bar.module.d.ts.map +0 -1
  397. package/lib/radio/index.d.ts.map +0 -1
  398. package/lib/radio/radio.component.d.ts.map +0 -1
  399. package/lib/radio/radio.module.d.ts.map +0 -1
  400. package/lib/range-slider/index.d.ts.map +0 -1
  401. package/lib/range-slider/range-slider.component.d.ts.map +0 -1
  402. package/lib/range-slider/range-slider.module.d.ts.map +0 -1
  403. package/lib/rating/index.d.ts.map +0 -1
  404. package/lib/rating/rating.component.d.ts.map +0 -1
  405. package/lib/rating/rating.component.module.d.ts.map +0 -1
  406. package/lib/result/index.d.ts.map +0 -1
  407. package/lib/result/result.component.d.ts.map +0 -1
  408. package/lib/result/result.module.d.ts.map +0 -1
  409. package/lib/selectbox/index.d.ts.map +0 -1
  410. package/lib/selectbox/selectbox.component.d.ts.map +0 -1
  411. package/lib/selectbox/selectbox.module.d.ts.map +0 -1
  412. package/lib/selection-list/index.d.ts.map +0 -1
  413. package/lib/selection-list/selection-list.component.d.ts.map +0 -1
  414. package/lib/selection-list/selection-list.module.d.ts.map +0 -1
  415. package/lib/switch/index.d.ts.map +0 -1
  416. package/lib/switch/switch.component.d.ts.map +0 -1
  417. package/lib/switch/switch.module.d.ts.map +0 -1
  418. package/lib/tabs/index.d.ts.map +0 -1
  419. package/lib/tabs/tab-content.directive.d.ts.map +0 -1
  420. package/lib/tabs/tab-item.component.d.ts.map +0 -1
  421. package/lib/tabs/tabs.class.d.ts.map +0 -1
  422. package/lib/tabs/tabs.component.d.ts.map +0 -1
  423. package/lib/tabs/tabs.module.d.ts.map +0 -1
  424. package/lib/textarea/index.d.ts.map +0 -1
  425. package/lib/textarea/textarea.component.d.ts.map +0 -1
  426. package/lib/textarea/textarea.module.d.ts.map +0 -1
  427. package/lib/textbox/index.d.ts.map +0 -1
  428. package/lib/textbox/textbox.component.d.ts.map +0 -1
  429. package/lib/textbox/textbox.module.d.ts.map +0 -1
  430. package/lib/time-box/index.d.ts.map +0 -1
  431. package/lib/time-box/time-box.component.d.ts.map +0 -1
  432. package/lib/time-box/time-box.module.d.ts.map +0 -1
  433. package/lib/toast/index.d.ts.map +0 -1
  434. package/lib/toast/toast.class.d.ts.map +0 -1
  435. package/lib/toast/toast.component.d.ts.map +0 -1
  436. package/lib/toast/toast.module.d.ts.map +0 -1
  437. package/lib/toast/toast.service.d.ts.map +0 -1
  438. package/lib/tooltip/index.d.ts.map +0 -1
  439. package/lib/tooltip/tooltip.component.d.ts.map +0 -1
  440. package/lib/tooltip/tooltip.directive.d.ts.map +0 -1
  441. package/lib/tooltip/tooltip.module.d.ts.map +0 -1
  442. package/lib/treeview/index.d.ts.map +0 -1
  443. package/lib/treeview/tree-view.component.d.ts.map +0 -1
  444. package/lib/treeview/tree-view.module.d.ts.map +0 -1
  445. package/lib/validation/index.d.ts.map +0 -1
  446. package/lib/validation/validation-rule.widget.d.ts.map +0 -1
  447. package/lib/validation/validation.class.d.ts.map +0 -1
  448. package/lib/validation/validation.module.d.ts.map +0 -1
  449. package/public-api.d.ts.map +0 -1
@@ -1,45 +1,283 @@
1
- import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
2
- import { AXBaseComponent } from '../base';
1
+ import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewChild, ViewChildren } from '@angular/core';
2
+ import { AXBaseValueComponentMixin } from '../base';
3
+ import { VALUE_INPUTS, VALUE_OUTPUT } from '../base/mixin/value-mixin.class';
3
4
  import * as i0 from "@angular/core";
4
- import * as i1 from "../carousel/carousel.component";
5
- import * as i2 from "../carousel/carousel-item.component";
6
- import * as i3 from "@angular/common";
7
- export class AXPickerComponent extends AXBaseComponent {
8
- /**
9
- * @ignore
10
- */
5
+ import * as i1 from "@angular/common";
6
+ export class AXPickerComponent extends AXBaseValueComponentMixin {
11
7
  constructor(elementRef, cdr) {
12
8
  super(elementRef, cdr);
9
+ this.cdr = cdr;
13
10
  this.items = [];
14
- this.onItemChanged = new EventEmitter();
11
+ this.OnChange = new EventEmitter();
12
+ this.touchOrMouse = {
13
+ isTouchable: 'ontouchstart' in window,
14
+ isMouseDown: false
15
+ };
16
+ this.draggingInfo = {
17
+ isDragging: false,
18
+ groupIndex: null,
19
+ startPageY: null
20
+ };
21
+ this.itemPerDegree = 23;
22
+ this.safeDoTimeoutId = null;
15
23
  }
16
- _emitOnSlideChanged(i) {
17
- this.onItemChanged.emit({
18
- component: this,
19
- value: this.items[i],
24
+ ngOnInit() {
25
+ this.currentIndexList = this.getInitialCurrentIndexList();
26
+ this.lastCurrentIndexList = [].concat(this.currentIndexList);
27
+ this.groupsRectList = new Array(this.items.length);
28
+ this.eventsRegister();
29
+ window.addEventListener('resize', this.safeGetRectsBindEvents.bind(this));
30
+ }
31
+ ngAfterViewInit() {
32
+ this.getGroupsRectList();
33
+ }
34
+ ngOnDestroy() {
35
+ window.removeEventListener('resize', this.safeGetRectsBindEvents.bind(this));
36
+ }
37
+ setGroupData(gIndex, groupData) {
38
+ if (!this.currentIndexList) {
39
+ this.currentIndexList = this.getInitialCurrentIndexList();
40
+ }
41
+ this.items[gIndex] = groupData;
42
+ const iCI = groupData.currentIndex;
43
+ let movedIndex = 0;
44
+ if (typeof iCI === 'number' && iCI >= 0 && groupData.list && groupData.list.length && iCI <= groupData.list.length - 1) {
45
+ movedIndex = Math.round(iCI);
46
+ }
47
+ this.currentIndexList[gIndex] = movedIndex;
48
+ this.lastCurrentIndexList = [].concat(this.currentIndexList);
49
+ }
50
+ getInitialCurrentIndexList() {
51
+ return this.items.map((item, index) => {
52
+ const iCI = item.currentIndex;
53
+ if (typeof iCI === 'number' && iCI >= 0 && item.list && item.list.length && iCI <= item.list.length - 1) {
54
+ return Math.round(iCI);
55
+ }
56
+ return 0;
20
57
  });
21
58
  }
22
- handleMoveChange(e) {
23
- this._emitOnSlideChanged(e.value);
59
+ safeGetRectsBindEvents() {
60
+ if (this.safeDoTimeoutId) {
61
+ clearTimeout(this.safeDoTimeoutId);
62
+ }
63
+ this.safeDoTimeoutId = setTimeout(() => {
64
+ this.getGroupsRectList();
65
+ }, 200);
66
+ }
67
+ getGroupsRectList() {
68
+ if (this.pickerGroupLayer) {
69
+ this.pickerGroupLayer.toArray().forEach((item, index) => {
70
+ this.groupsRectList[index] = item.nativeElement.getBoundingClientRect();
71
+ });
72
+ }
73
+ }
74
+ eventsRegister() {
75
+ const handleEventLayer = this.pickerHandleLayer.nativeElement;
76
+ if (handleEventLayer) {
77
+ this.addEventsForElement(handleEventLayer);
78
+ }
79
+ }
80
+ addEventsForElement(el) {
81
+ const _ = this.touchOrMouse.isTouchable;
82
+ const eventHandlerList = [
83
+ { name: _ ? 'touchstart' : 'mousedown', handler: this.handleStart },
84
+ { name: _ ? 'touchmove' : 'mousemove', handler: this.handleMove },
85
+ { name: _ ? 'touchend' : 'mouseup', handler: this.handleEnd },
86
+ { name: _ ? 'touchcancel' : 'mouseleave', handler: this.handleCancel }
87
+ ];
88
+ eventHandlerList.forEach((item, index) => {
89
+ el.removeEventListener(item.name, item.handler, false);
90
+ el.addEventListener(item.name, item.handler.bind(this), false);
91
+ });
92
+ }
93
+ triggerMiddleLayerGroupClick(gIndex) {
94
+ const data = this.items;
95
+ if (typeof gIndex === 'number' && typeof data[gIndex].onClick === 'function') {
96
+ data[gIndex].onClick(gIndex, this.currentIndexList[gIndex]);
97
+ }
98
+ }
99
+ triggerAboveLayerClick(ev, gIndex) {
100
+ const movedIndex = this.currentIndexList[gIndex] + 1;
101
+ this.currentIndexList[gIndex] = movedIndex;
102
+ this.correctionCurrentIndex(ev, gIndex);
103
+ }
104
+ triggerMiddleLayerClick(ev, gIndex) {
105
+ this.triggerMiddleLayerGroupClick(gIndex);
106
+ }
107
+ triggerBelowLayerClick(ev, gIndex) {
108
+ const movedIndex = this.currentIndexList[gIndex] - 1;
109
+ this.currentIndexList[gIndex] = movedIndex;
110
+ this.correctionCurrentIndex(ev, gIndex);
111
+ }
112
+ getTouchInfo(ev) {
113
+ return this.touchOrMouse.isTouchable ? ev.changedTouches[0] || ev.touches[0] : ev;
114
+ }
115
+ getGroupIndexBelongsEvent(ev) {
116
+ const touchInfo = this.getTouchInfo(ev);
117
+ for (let i = 0; i < this.groupsRectList.length; i++) {
118
+ const item = this.groupsRectList[i];
119
+ if (item.left < touchInfo.pageX && touchInfo.pageX < item.right) {
120
+ return i;
121
+ }
122
+ }
123
+ return null;
124
+ }
125
+ handleEventClick(ev) {
126
+ const gIndex = this.getGroupIndexBelongsEvent(ev);
127
+ switch (ev.target.dataset.type) {
128
+ case 'top':
129
+ this.triggerAboveLayerClick(ev, gIndex);
130
+ break;
131
+ case 'middle':
132
+ this.triggerMiddleLayerClick(ev, gIndex);
133
+ break;
134
+ case 'bottom':
135
+ this.triggerBelowLayerClick(ev, gIndex);
136
+ break;
137
+ default:
138
+ }
139
+ }
140
+ handleStart(ev) {
141
+ if (ev.cancelable) {
142
+ ev.preventDefault();
143
+ ev.stopPropagation();
144
+ }
145
+ const touchInfo = this.getTouchInfo(ev);
146
+ this.draggingInfo.startPageY = touchInfo.pageY;
147
+ if (!this.touchOrMouse.isTouchable) {
148
+ this.touchOrMouse.isMouseDown = true;
149
+ }
150
+ }
151
+ handleMove(ev) {
152
+ ev.preventDefault();
153
+ ev.stopPropagation();
154
+ if (this.touchOrMouse.isTouchable || this.touchOrMouse.isMouseDown) {
155
+ this.draggingInfo.isDragging = true;
156
+ this.setCurrentIndexOnMove(ev);
157
+ }
158
+ }
159
+ handleEnd(ev) {
160
+ ev.preventDefault();
161
+ ev.stopPropagation();
162
+ if (!this.draggingInfo.isDragging) {
163
+ this.handleEventClick(ev);
164
+ }
165
+ this.draggingInfo.isDragging = false;
166
+ this.touchOrMouse.isMouseDown = false;
167
+ this.correctionAfterDragging(ev);
168
+ }
169
+ handleCancel(ev) {
170
+ ev.preventDefault();
171
+ ev.stopPropagation();
172
+ if (this.touchOrMouse.isTouchable || this.touchOrMouse.isMouseDown) {
173
+ this.correctionAfterDragging(ev);
174
+ this.touchOrMouse.isMouseDown = false;
175
+ this.draggingInfo.isDragging = false;
176
+ }
177
+ }
178
+ setCurrentIndexOnMove(ev) {
179
+ const touchInfo = this.getTouchInfo(ev);
180
+ if (this.draggingInfo.groupIndex === null) {
181
+ this.draggingInfo.groupIndex = this.getGroupIndexBelongsEvent(ev);
182
+ }
183
+ const gIndex = this.draggingInfo.groupIndex;
184
+ if (typeof gIndex === 'number' && (this.items[gIndex].divider || !this.items[gIndex].list)) {
185
+ return;
186
+ }
187
+ const moveCount = (this.draggingInfo.startPageY - touchInfo.pageY) / 32;
188
+ const movedIndex = this.currentIndexList[gIndex] + moveCount;
189
+ this.currentIndexList[gIndex] = movedIndex;
190
+ this.draggingInfo.startPageY = touchInfo.pageY;
191
+ }
192
+ correctionAfterDragging(ev) {
193
+ const gIndex = this.draggingInfo.groupIndex;
194
+ this.correctionCurrentIndex(ev, gIndex);
195
+ this.draggingInfo.groupIndex = null;
196
+ this.draggingInfo.startPageY = null;
197
+ }
198
+ correctionCurrentIndex(ev, gIndex) {
199
+ setTimeout(() => {
200
+ if (typeof gIndex === 'number' && this.items[gIndex].divider !== true && this.items[gIndex].list.length > 0) {
201
+ const unsafeGroupIndex = this.currentIndexList[gIndex];
202
+ let movedIndex = unsafeGroupIndex;
203
+ if (unsafeGroupIndex > this.items[gIndex].list.length - 1) {
204
+ movedIndex = this.items[gIndex].list.length - 1;
205
+ }
206
+ else if (unsafeGroupIndex < 0) {
207
+ movedIndex = 0;
208
+ }
209
+ movedIndex = Math.round(movedIndex);
210
+ this.currentIndexList[gIndex] = movedIndex;
211
+ if (movedIndex !== this.lastCurrentIndexList[gIndex]) {
212
+ this.OnChange.emit({ gIndex, iIndex: movedIndex });
213
+ }
214
+ this.lastCurrentIndexList = [].concat(this.currentIndexList);
215
+ }
216
+ }, 100);
217
+ }
218
+ isCurrentItem(gIndex, iIndex) {
219
+ return this.currentIndexList[gIndex] === iIndex;
220
+ }
221
+ getCurrentIndexList() {
222
+ return this.currentIndexList;
223
+ }
224
+ getGroupClass(gIndex) {
225
+ const group = this.items[gIndex];
226
+ const defaultWeightClass = 'weight-' + (group.weight || 1);
227
+ const groupClass = [defaultWeightClass];
228
+ if (group.className) {
229
+ groupClass.push(group.className);
230
+ }
231
+ return groupClass;
232
+ }
233
+ getItemClass(gIndex, iIndex, isDivider = false) {
234
+ const group = this.items[gIndex];
235
+ const itemClass = [];
236
+ if (!isDivider && this.isCurrentItem(gIndex, iIndex)) {
237
+ itemClass.push('smooth-item-selected');
238
+ }
239
+ if (group.textAlign) {
240
+ itemClass.push('text-' + group.textAlign);
241
+ }
242
+ return itemClass;
243
+ }
244
+ getItemStyle(gIndex, iIndex) {
245
+ const gapCount = this.currentIndexList[gIndex] - iIndex;
246
+ if (Math.abs(gapCount) < (90 / this.itemPerDegree)) {
247
+ const rotateStyle = {
248
+ transform: 'rotateX(' + gapCount * this.itemPerDegree + 'deg) translate3d(0, 0, 5.625em)',
249
+ opacity: (1 - Math.abs(gapCount) / (90 / this.itemPerDegree)).toString()
250
+ };
251
+ if (!this.draggingInfo.isDragging) {
252
+ rotateStyle['transition'] = 'transform 150ms ease-out';
253
+ }
254
+ return rotateStyle;
255
+ }
256
+ if (gapCount > 0) {
257
+ return { transform: 'rotateX(90deg) translate3d(0, 0, 5.625em)' };
258
+ }
259
+ else {
260
+ return { transform: 'rotateX(-90deg) translate3d(0, 0, 5.625em)' };
261
+ }
24
262
  }
25
263
  }
26
- AXPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
27
- AXPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AXPickerComponent, selector: "ax-picker", inputs: { width: "width", height: "height", itemHeight: "itemHeight", items: "items" }, outputs: { onItemChanged: "onItemChanged" }, host: { classAttribute: "ax-picker" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-carousel [width]=\"width\" [height]=\"height\" [fixedWidth]=\"width\" [fixedHeight]=\"itemHeight\" [drag]=\"'free'\" [centered]=\"true\" [vertical]=\"true\" [loop]=\"true\" [wheel]=\"true\" (onSlideChanged)=\"handleMoveChange($event)\">\r\n <ax-carousel-item class=\"ax-picker-item\" *ngFor=\"let item of items\">\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\r\n </ax-carousel-item>\r\n</ax-carousel>\r\n", components: [{ type: i1.AXCarouselComponent, selector: "ax-carousel", inputs: ["perMove", "focus", "breakpoints", "heightRatio", "height", "fixedHeight", "width", "fixedWidth", "perPage", "gap", "autoplay", "snap", "autoWidth", "drag", "wheel", "interval", "padding", "centered", "vertical", "loop", "rewind"], outputs: ["onOptionsChanged", "onSlideChanged", "perMoveChange", "focusChange", "breakpointsChange", "heightRatioChange", "heightChange", "fixedHeightChange", "widthChange", "fixedWidthChange", "perPageChange", "autoplayChange", "snapChange", "autoWidthChange", "dragChange", "wheelChange", "intervalChange", "paddingChange", "centeredChange", "verticalChange", "loopChange", "rewindChange", "onItemsChanged"] }, { type: i2.AXCarouselItemComponent, selector: "ax-carousel-item" }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPickerComponent, decorators: [{
264
+ AXPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXPickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
265
+ AXPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AXPickerComponent, selector: "ax-picker", inputs: { readonly: "readonly", allowNull: "allowNull", value: "value", debounceTime: "debounceTime", name: "name", checked: "checked", items: "items" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", OnChange: "OnChange" }, host: { classAttribute: "ax-picker" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "pickerHandleLayer", first: true, predicate: ["pickerHandleLayer"], descendants: true, static: true }, { propertyName: "pickerGroupLayer", predicate: ["pickerGroupLayer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- <ax-carousel [width]=\"width\" [height]=\"height\" [fixedWidth]=\"width\" [fixedHeight]=\"itemHeight\" [centered]=\"true\" [vertical]=\"true\" [loop]=\"false\" [wheel]=\"true\" (onSlideChanged)=\"_handleMoveChange($event)\">\r\n <ax-carousel-item class=\"ax-picker-item\" *ngFor=\"let item of items\">\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\r\n </ax-carousel-item>\r\n</ax-carousel> -->\r\n<div class=\"ng-data-picker flex-box\">\r\n\r\n <!-- picker-group-layer -->\r\n <div #pickerGroupLayer *ngFor=\"let group of items; let gI = index\" class=\"picker-group\" [ngClass]=\"getGroupClass(gI)\">\r\n\r\n <div class=\"picker-list\">\r\n <div *ngIf=\"group.divider else ngIfElse\" class=\"picker-item divider\" [ngClass]=\"getItemClass(gI, i, true)\">\r\n {{ group.text }}\r\n </div>\r\n\r\n <div #ngIfElse *ngFor=\"let item of group.list; let i = index\" class=\"picker-item\" [ngClass]=\"getItemClass(gI, i)\"\r\n [ngStyle]=\"getItemStyle(gI, i)\">\r\n {{ item.value || item }}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div #pickerHandleLayer class=\"picker-handle-layer flex-box dir-column\">\r\n <div data-type=\"top\" class=\"picker-top weight-1\"></div>\r\n <div data-type=\"middle\" class=\"picker-middle\"></div>\r\n <div data-type=\"bottom\" class=\"picker-bottom weight-1\"></div>\r\n </div>\r\n\r\n</div>", directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXPickerComponent, decorators: [{
29
267
  type: Component,
30
- args: [{ selector: 'ax-picker', host: { class: 'ax-picker' }, template: "<ax-carousel [width]=\"width\" [height]=\"height\" [fixedWidth]=\"width\" [fixedHeight]=\"itemHeight\" [drag]=\"'free'\" [centered]=\"true\" [vertical]=\"true\" [loop]=\"true\" [wheel]=\"true\" (onSlideChanged)=\"handleMoveChange($event)\">\r\n <ax-carousel-item class=\"ax-picker-item\" *ngFor=\"let item of items\">\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\r\n </ax-carousel-item>\r\n</ax-carousel>\r\n" }]
31
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { itemTemplate: [{
268
+ args: [{ selector: 'ax-picker', host: { class: 'ax-picker' }, inputs: [...VALUE_INPUTS], outputs: [...VALUE_OUTPUT], template: "<!-- <ax-carousel [width]=\"width\" [height]=\"height\" [fixedWidth]=\"width\" [fixedHeight]=\"itemHeight\" [centered]=\"true\" [vertical]=\"true\" [loop]=\"false\" [wheel]=\"true\" (onSlideChanged)=\"_handleMoveChange($event)\">\r\n <ax-carousel-item class=\"ax-picker-item\" *ngFor=\"let item of items\">\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\r\n </ax-carousel-item>\r\n</ax-carousel> -->\r\n<div class=\"ng-data-picker flex-box\">\r\n\r\n <!-- picker-group-layer -->\r\n <div #pickerGroupLayer *ngFor=\"let group of items; let gI = index\" class=\"picker-group\" [ngClass]=\"getGroupClass(gI)\">\r\n\r\n <div class=\"picker-list\">\r\n <div *ngIf=\"group.divider else ngIfElse\" class=\"picker-item divider\" [ngClass]=\"getItemClass(gI, i, true)\">\r\n {{ group.text }}\r\n </div>\r\n\r\n <div #ngIfElse *ngFor=\"let item of group.list; let i = index\" class=\"picker-item\" [ngClass]=\"getItemClass(gI, i)\"\r\n [ngStyle]=\"getItemStyle(gI, i)\">\r\n {{ item.value || item }}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div #pickerHandleLayer class=\"picker-handle-layer flex-box dir-column\">\r\n <div data-type=\"top\" class=\"picker-top weight-1\"></div>\r\n <div data-type=\"middle\" class=\"picker-middle\"></div>\r\n <div data-type=\"bottom\" class=\"picker-bottom weight-1\"></div>\r\n </div>\r\n\r\n</div>" }]
269
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { pickerGroupLayer: [{
270
+ type: ViewChildren,
271
+ args: ['pickerGroupLayer']
272
+ }], pickerHandleLayer: [{
273
+ type: ViewChild,
274
+ args: ['pickerHandleLayer', { static: true }]
275
+ }], itemTemplate: [{
32
276
  type: ContentChild,
33
277
  args: [TemplateRef]
34
- }], width: [{
35
- type: Input
36
- }], height: [{
37
- type: Input
38
- }], itemHeight: [{
39
- type: Input
40
278
  }], items: [{
41
279
  type: Input
42
- }], onItemChanged: [{
280
+ }], OnChange: [{
43
281
  type: Output
44
282
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvcGlja2VyL3BpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3BpY2tlci9waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6SSxPQUFPLEVBQUUsZUFBZSxFQUF1QixNQUFNLFNBQVMsQ0FBQzs7Ozs7QUFjL0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGVBQWU7SUFxQmxEOztNQUVFO0lBQ0YsWUFBWSxVQUFzQixFQUFFLEdBQXNCO1FBQ3RELEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFWM0IsVUFBSyxHQUFpQixFQUFFLENBQUM7UUFJbEIsa0JBQWEsR0FBMkMsSUFBSSxZQUFZLEVBQTRCLENBQUM7SUFPNUcsQ0FBQztJQUdPLG1CQUFtQixDQUFDLENBQVM7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDcEIsU0FBUyxFQUFFLElBQUk7WUFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDdkIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUdELGdCQUFnQixDQUFDLENBQU07UUFDbkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVyQyxDQUFDOzs4R0F4Q1EsaUJBQWlCO2tHQUFqQixpQkFBaUIsdVFBR1osV0FBVyx1RUNsQjdCLHFnQkFNQTsyRkRTYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0ksV0FBVyxRQUVmLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRTtpSUFNNUIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFdBQVc7Z0JBSXpCLEtBQUs7c0JBREosS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFLQyxhQUFhO3NCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50LCBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnLi4vYmFzZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tlckl0ZW0ge1xyXG4gICAgaWQ/OiBzdHJpbmc7XHJcbiAgICBuYW1lPzogc3RyaW5nO1xyXG4gICAgdGV4dD86IHN0cmluZztcclxuICAgIGFjdGl2ZT86IGJvb2xlYW5cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LXBpY2tlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIGhvc3Q6IHsgY2xhc3M6ICdheC1waWNrZXInIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50IHtcclxuXHJcblxyXG4gICAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZilcclxuICAgIGl0ZW1UZW1wbGF0ZTpUZW1wbGF0ZVJlZjxhbnk+XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHdpZHRoOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGhlaWdodDogc3RyaW5nO1xyXG4gICAgQElucHV0KClcclxuICAgIGl0ZW1IZWlnaHQ6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgaXRlbXM6IFBpY2tlckl0ZW1bXSA9IFtdO1xyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBvbkl0ZW1DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxhbnk+PigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgKiAgQGlnbm9yZVxyXG4gICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9lbWl0T25TbGlkZUNoYW5nZWQoaTogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5vbkl0ZW1DaGFuZ2VkLmVtaXQoe1xyXG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLml0ZW1zW2ldLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBoYW5kbGVNb3ZlQ2hhbmdlKGU6IGFueSkge1xyXG4gICAgICAgIHRoaXMuX2VtaXRPblNsaWRlQ2hhbmdlZChlLnZhbHVlKVxyXG5cclxuICAgIH1cclxufVxyXG4iLCI8YXgtY2Fyb3VzZWwgW3dpZHRoXT1cIndpZHRoXCIgW2hlaWdodF09XCJoZWlnaHRcIiBbZml4ZWRXaWR0aF09XCJ3aWR0aFwiIFtmaXhlZEhlaWdodF09XCJpdGVtSGVpZ2h0XCIgW2RyYWddPVwiJ2ZyZWUnXCIgW2NlbnRlcmVkXT1cInRydWVcIiBbdmVydGljYWxdPVwidHJ1ZVwiIFtsb29wXT1cInRydWVcIiBbd2hlZWxdPVwidHJ1ZVwiIChvblNsaWRlQ2hhbmdlZCk9XCJoYW5kbGVNb3ZlQ2hhbmdlKCRldmVudClcIj5cclxuICAgIDxheC1jYXJvdXNlbC1pdGVtIGNsYXNzPVwiYXgtcGlja2VyLWl0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2F4LWNhcm91c2VsLWl0ZW0+XHJcbjwvYXgtY2Fyb3VzZWw+XHJcbiJdfQ==
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvcGlja2VyL3BpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3BpY2tlci9waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFKLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFTN0UsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHlCQUF5QjtJQXlCNUQsWUFBWSxVQUFzQixFQUFVLEdBQXNCO1FBQzlELEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEaUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFqQnpELFVBQUssR0FBaUIsRUFBRSxDQUFBO1FBQ3ZCLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUsvRCxpQkFBWSxHQUFHO1lBQ1gsV0FBVyxFQUFFLGNBQWMsSUFBSSxNQUFNO1lBQ3JDLFdBQVcsRUFBRSxLQUFLO1NBQ3JCLENBQUE7UUFDRCxpQkFBWSxHQUFHO1lBQ1gsVUFBVSxFQUFFLEtBQUs7WUFDakIsVUFBVSxFQUFFLElBQUk7WUFDaEIsVUFBVSxFQUFFLElBQUk7U0FDbkIsQ0FBQTtRQUNELGtCQUFhLEdBQUcsRUFBRSxDQUFBO1FBQ2xCLG9CQUFlLEdBQVEsSUFBSSxDQUFBO0lBRzNCLENBQUM7SUFH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QkFBMEIsQ0FBQTthQUN6RDtZQUNELE9BQU8sV0FBVyxDQUFBO1NBQ3JCO1FBQ0QsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO1lBQ2QsT0FBTyxFQUFFLFNBQVMsRUFBRSwyQ0FBMkMsRUFBRSxDQUFBO1NBQ3BFO2FBQU07WUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLDRDQUE0QyxFQUFFLENBQUE7U0FDckU7SUFDTCxDQUFDOzs4R0F2U1EsaUJBQWlCO2tHQUFqQixpQkFBaUIsNlhBS1osV0FBVyx1U0NoQjdCLDA5Q0E4Qk07MkZEbkJPLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDSSxXQUFXLFFBRWYsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQ3BCLENBQUMsR0FBRyxZQUFZLENBQUMsV0FDaEIsQ0FBQyxHQUFHLFlBQVksQ0FBQztpSUFJUSxnQkFBZ0I7c0JBQWpELFlBQVk7dUJBQUMsa0JBQWtCO2dCQUNrQixpQkFBaUI7c0JBQWxFLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUdoRCxZQUFZO3NCQURYLFlBQVk7dUJBQUMsV0FBVztnQkFHaEIsS0FBSztzQkFBYixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZVZhbHVlQ29tcG9uZW50TWl4aW4gfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgVkFMVUVfSU5QVVRTLCBWQUxVRV9PVVRQVVQgfSBmcm9tICcuLi9iYXNlL21peGluL3ZhbHVlLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgUGlja2VySXRlbSB9IGZyb20gJy4vcGlja2VyLm1vZGVsLmNsYXNzJztcclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LXBpY2tlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIGhvc3Q6IHsgY2xhc3M6ICdheC1waWNrZXInIH0sXHJcbiAgICBpbnB1dHM6IFsuLi5WQUxVRV9JTlBVVFNdLFxyXG4gICAgb3V0cHV0czogWy4uLlZBTFVFX09VVFBVVF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlVmFsdWVDb21wb25lbnRNaXhpbiB7XHJcblxyXG4gICAgQFZpZXdDaGlsZHJlbigncGlja2VyR3JvdXBMYXllcicpIHBpY2tlckdyb3VwTGF5ZXJcclxuICAgIEBWaWV3Q2hpbGQoJ3BpY2tlckhhbmRsZUxheWVyJywgeyBzdGF0aWM6IHRydWUgfSkgcGlja2VySGFuZGxlTGF5ZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZilcclxuICAgIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PlxyXG5cclxuICAgIEBJbnB1dCgpIGl0ZW1zOiBQaWNrZXJJdGVtW10gPSBbXVxyXG4gICAgQE91dHB1dCgpIE9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXHJcblxyXG4gICAgY3VycmVudEluZGV4TGlzdDogbnVtYmVyW11cclxuICAgIGxhc3RDdXJyZW50SW5kZXhMaXN0OiBudW1iZXJbXVxyXG4gICAgZ3JvdXBzUmVjdExpc3Q6IGFueVtdXHJcbiAgICB0b3VjaE9yTW91c2UgPSB7XHJcbiAgICAgICAgaXNUb3VjaGFibGU6ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyxcclxuICAgICAgICBpc01vdXNlRG93bjogZmFsc2VcclxuICAgIH1cclxuICAgIGRyYWdnaW5nSW5mbyA9IHtcclxuICAgICAgICBpc0RyYWdnaW5nOiBmYWxzZSxcclxuICAgICAgICBncm91cEluZGV4OiBudWxsLFxyXG4gICAgICAgIHN0YXJ0UGFnZVk6IG51bGxcclxuICAgIH1cclxuICAgIGl0ZW1QZXJEZWdyZWUgPSAyM1xyXG4gICAgc2FmZURvVGltZW91dElkOiBhbnkgPSBudWxsXHJcbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRJbmRleExpc3QgPSB0aGlzLmdldEluaXRpYWxDdXJyZW50SW5kZXhMaXN0KClcclxuICAgICAgICB0aGlzLmxhc3RDdXJyZW50SW5kZXhMaXN0ID0gW10uY29uY2F0KHRoaXMuY3VycmVudEluZGV4TGlzdClcclxuXHJcbiAgICAgICAgdGhpcy5ncm91cHNSZWN0TGlzdCA9IG5ldyBBcnJheSh0aGlzLml0ZW1zLmxlbmd0aClcclxuXHJcbiAgICAgICAgdGhpcy5ldmVudHNSZWdpc3RlcigpXHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuc2FmZUdldFJlY3RzQmluZEV2ZW50cy5iaW5kKHRoaXMpKVxyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLmdldEdyb3Vwc1JlY3RMaXN0KClcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5zYWZlR2V0UmVjdHNCaW5kRXZlbnRzLmJpbmQodGhpcykpXHJcbiAgICB9XHJcblxyXG4gICAgc2V0R3JvdXBEYXRhKGdJbmRleCwgZ3JvdXBEYXRhKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRJbmRleExpc3QpIHtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50SW5kZXhMaXN0ID0gdGhpcy5nZXRJbml0aWFsQ3VycmVudEluZGV4TGlzdCgpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXRlbXNbZ0luZGV4XSA9IGdyb3VwRGF0YVxyXG4gICAgICAgIGNvbnN0IGlDSSA9IGdyb3VwRGF0YS5jdXJyZW50SW5kZXhcclxuICAgICAgICBsZXQgbW92ZWRJbmRleCA9IDBcclxuICAgICAgICBpZiAodHlwZW9mIGlDSSA9PT0gJ251bWJlcicgJiYgaUNJID49IDAgJiYgZ3JvdXBEYXRhLmxpc3QgJiYgZ3JvdXBEYXRhLmxpc3QubGVuZ3RoICYmIGlDSSA8PSBncm91cERhdGEubGlzdC5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICAgIG1vdmVkSW5kZXggPSBNYXRoLnJvdW5kKGlDSSlcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jdXJyZW50SW5kZXhMaXN0W2dJbmRleF0gPSBtb3ZlZEluZGV4XHJcbiAgICAgICAgdGhpcy5sYXN0Q3VycmVudEluZGV4TGlzdCA9IFtdLmNvbmNhdCh0aGlzLmN1cnJlbnRJbmRleExpc3QpXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SW5pdGlhbEN1cnJlbnRJbmRleExpc3QoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpQ0kgPSBpdGVtLmN1cnJlbnRJbmRleFxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGlDSSA9PT0gJ251bWJlcicgJiYgaUNJID49IDAgJiYgaXRlbS5saXN0ICYmIGl0ZW0ubGlzdC5sZW5ndGggJiYgaUNJIDw9IGl0ZW0ubGlzdC5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gTWF0aC5yb3VuZChpQ0kpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDBcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIHNhZmVHZXRSZWN0c0JpbmRFdmVudHMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2FmZURvVGltZW91dElkKSB7XHJcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNhZmVEb1RpbWVvdXRJZClcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zYWZlRG9UaW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5nZXRHcm91cHNSZWN0TGlzdCgpXHJcbiAgICAgICAgfSwgMjAwKVxyXG4gICAgfVxyXG5cclxuICAgIGdldEdyb3Vwc1JlY3RMaXN0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnBpY2tlckdyb3VwTGF5ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5waWNrZXJHcm91cExheWVyLnRvQXJyYXkoKS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ncm91cHNSZWN0TGlzdFtpbmRleF0gPSBpdGVtLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZXZlbnRzUmVnaXN0ZXIoKSB7XHJcbiAgICAgICAgY29uc3QgaGFuZGxlRXZlbnRMYXllciA9IHRoaXMucGlja2VySGFuZGxlTGF5ZXIubmF0aXZlRWxlbWVudFxyXG4gICAgICAgIGlmIChoYW5kbGVFdmVudExheWVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkRXZlbnRzRm9yRWxlbWVudChoYW5kbGVFdmVudExheWVyKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhZGRFdmVudHNGb3JFbGVtZW50KGVsKSB7XHJcbiAgICAgICAgY29uc3QgXyA9IHRoaXMudG91Y2hPck1vdXNlLmlzVG91Y2hhYmxlXHJcbiAgICAgICAgY29uc3QgZXZlbnRIYW5kbGVyTGlzdCA9IFtcclxuICAgICAgICAgICAgeyBuYW1lOiBfID8gJ3RvdWNoc3RhcnQnIDogJ21vdXNlZG93bicsIGhhbmRsZXI6IHRoaXMuaGFuZGxlU3RhcnQgfSxcclxuICAgICAgICAgICAgeyBuYW1lOiBfID8gJ3RvdWNobW92ZScgOiAnbW91c2Vtb3ZlJywgaGFuZGxlcjogdGhpcy5oYW5kbGVNb3ZlIH0sXHJcbiAgICAgICAgICAgIHsgbmFtZTogXyA/ICd0b3VjaGVuZCcgOiAnbW91c2V1cCcsIGhhbmRsZXI6IHRoaXMuaGFuZGxlRW5kIH0sXHJcbiAgICAgICAgICAgIHsgbmFtZTogXyA/ICd0b3VjaGNhbmNlbCcgOiAnbW91c2VsZWF2ZScsIGhhbmRsZXI6IHRoaXMuaGFuZGxlQ2FuY2VsIH1cclxuICAgICAgICBdXHJcbiAgICAgICAgZXZlbnRIYW5kbGVyTGlzdC5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKGl0ZW0ubmFtZSwgaXRlbS5oYW5kbGVyLCBmYWxzZSlcclxuICAgICAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihpdGVtLm5hbWUsIGl0ZW0uaGFuZGxlci5iaW5kKHRoaXMpLCBmYWxzZSlcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIHRyaWdnZXJNaWRkbGVMYXllckdyb3VwQ2xpY2soZ0luZGV4KSB7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuaXRlbXNcclxuICAgICAgICBpZiAodHlwZW9mIGdJbmRleCA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGRhdGFbZ0luZGV4XS5vbkNsaWNrID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIGRhdGFbZ0luZGV4XS5vbkNsaWNrKGdJbmRleCwgdGhpcy5jdXJyZW50SW5kZXhMaXN0W2dJbmRleF0pXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRyaWdnZXJBYm92ZUxheWVyQ2xpY2soZXYsIGdJbmRleCkge1xyXG4gICAgICAgIGNvbnN0IG1vdmVkSW5kZXggPSB0aGlzLmN1cnJlbnRJbmRleExpc3RbZ0luZGV4XSArIDFcclxuICAgICAgICB0aGlzLmN1cnJlbnRJbmRleExpc3RbZ0luZGV4XSA9IG1vdmVkSW5kZXhcclxuICAgICAgICB0aGlzLmNvcnJlY3Rpb25DdXJyZW50SW5kZXgoZXYsIGdJbmRleClcclxuICAgIH1cclxuXHJcbiAgICB0cmlnZ2VyTWlkZGxlTGF5ZXJDbGljayhldiwgZ0luZGV4KSB7XHJcbiAgICAgICAgdGhpcy50cmlnZ2VyTWlkZGxlTGF5ZXJHcm91cENsaWNrKGdJbmRleClcclxuICAgIH1cclxuXHJcbiAgICB0cmlnZ2VyQmVsb3dMYXllckNsaWNrKGV2LCBnSW5kZXgpIHtcclxuICAgICAgICBjb25zdCBtb3ZlZEluZGV4ID0gdGhpcy5jdXJyZW50SW5kZXhMaXN0W2dJbmRleF0gLSAxXHJcbiAgICAgICAgdGhpcy5jdXJyZW50SW5kZXhMaXN0W2dJbmRleF0gPSBtb3ZlZEluZGV4XHJcbiAgICAgICAgdGhpcy5jb3JyZWN0aW9uQ3VycmVudEluZGV4KGV2LCBnSW5kZXgpXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VG91Y2hJbmZvKGV2KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudG91Y2hPck1vdXNlLmlzVG91Y2hhYmxlID8gZXYuY2hhbmdlZFRvdWNoZXNbMF0gfHwgZXYudG91Y2hlc1swXSA6IGV2XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0R3JvdXBJbmRleEJlbG9uZ3NFdmVudChldikge1xyXG4gICAgICAgIGNvbnN0IHRvdWNoSW5mbyA9IHRoaXMuZ2V0VG91Y2hJbmZvKGV2KVxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5ncm91cHNSZWN0TGlzdC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5ncm91cHNSZWN0TGlzdFtpXVxyXG4gICAgICAgICAgICBpZiAoaXRlbS5sZWZ0IDwgdG91Y2hJbmZvLnBhZ2VYICYmIHRvdWNoSW5mby5wYWdlWCA8IGl0ZW0ucmlnaHQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGxcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVFdmVudENsaWNrKGV2KSB7XHJcbiAgICAgICAgY29uc3QgZ0luZGV4ID0gdGhpcy5nZXRHcm91cEluZGV4QmVsb25nc0V2ZW50KGV2KVxyXG4gICAgICAgIHN3aXRjaCAoZXYudGFyZ2V0LmRhdGFzZXQudHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlICd0b3AnOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyQWJvdmVMYXllckNsaWNrKGV2LCBnSW5kZXgpXHJcbiAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICBjYXNlICdtaWRkbGUnOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyTWlkZGxlTGF5ZXJDbGljayhldiwgZ0luZGV4KVxyXG4gICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgY2FzZSAnYm90dG9tJzpcclxuICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlckJlbG93TGF5ZXJDbGljayhldiwgZ0luZGV4KVxyXG4gICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlU3RhcnQoZXYpIHtcclxuICAgICAgICBpZiAoZXYuY2FuY2VsYWJsZSkge1xyXG4gICAgICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpXHJcbiAgICAgICAgICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHRvdWNoSW5mbyA9IHRoaXMuZ2V0VG91Y2hJbmZvKGV2KVxyXG4gICAgICAgIHRoaXMuZHJhZ2dpbmdJbmZvLnN0YXJ0UGFnZVkgPSB0b3VjaEluZm8ucGFnZVlcclxuICAgICAgICBpZiAoIXRoaXMudG91Y2hPck1vdXNlLmlzVG91Y2hhYmxlKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG91Y2hPck1vdXNlLmlzTW91c2VEb3duID0gdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVNb3ZlKGV2KSB7XHJcbiAgICAgICAgZXYucHJldmVudERlZmF1bHQoKVxyXG4gICAgICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpXHJcbiAgICAgICAgaWYgKHRoaXMudG91Y2hPck1vdXNlLmlzVG91Y2hhYmxlIHx8IHRoaXMudG91Y2hPck1vdXNlLmlzTW91c2VEb3duKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZHJhZ2dpbmdJbmZvLmlzRHJhZ2dpbmcgPSB0cnVlXHJcbiAgICAgICAgICAgIHRoaXMuc2V0Q3VycmVudEluZGV4T25Nb3ZlKGV2KVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVFbmQoZXYpIHtcclxuICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpXHJcbiAgICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKClcclxuICAgICAgICBpZiAoIXRoaXMuZHJhZ2dpbmdJbmZvLmlzRHJhZ2dpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVFdmVudENsaWNrKGV2KVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRyYWdnaW5nSW5mby5pc0RyYWdnaW5nID0gZmFsc2VcclxuICAgICAgICB0aGlzLnRvdWNoT3JNb3VzZS5pc01vdXNlRG93biA9IGZhbHNlXHJcbiAgICAgICAgdGhpcy5jb3JyZWN0aW9uQWZ0ZXJEcmFnZ2luZyhldilcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVDYW5jZWwoZXYpIHtcclxuICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpXHJcbiAgICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKClcclxuICAgICAgICBpZiAodGhpcy50b3VjaE9yTW91c2UuaXNUb3VjaGFibGUgfHwgdGhpcy50b3VjaE9yTW91c2UuaXNNb3VzZURvd24pIHtcclxuICAgICAgICAgICAgdGhpcy5jb3JyZWN0aW9uQWZ0ZXJEcmFnZ2luZyhldilcclxuICAgICAgICAgICAgdGhpcy50b3VjaE9yTW91c2UuaXNNb3VzZURvd24gPSBmYWxzZVxyXG4gICAgICAgICAgICB0aGlzLmRyYWdnaW5nSW5mby5pc0RyYWdnaW5nID0gZmFsc2VcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0Q3VycmVudEluZGV4T25Nb3ZlKGV2KSB7XHJcbiAgICAgICAgY29uc3QgdG91Y2hJbmZvID0gdGhpcy5nZXRUb3VjaEluZm8oZXYpXHJcbiAgICAgICAgaWYgKHRoaXMuZHJhZ2dpbmdJbmZvLmdyb3VwSW5kZXggPT09IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5kcmFnZ2luZ0luZm8uZ3JvdXBJbmRleCA9IHRoaXMuZ2V0R3JvdXBJbmRleEJlbG9uZ3NFdmVudChldilcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZ0luZGV4ID0gdGhpcy5kcmFnZ2luZ0luZm8uZ3JvdXBJbmRleFxyXG4gICAgICAgIGlmICh0eXBlb2YgZ0luZGV4ID09PSAnbnVtYmVyJyAmJiAodGhpcy5pdGVtc1tnSW5kZXhdLmRpdmlkZXIgfHwgIXRoaXMuaXRlbXNbZ0luZGV4XS5saXN0KSkge1xyXG4gICAgICAgICAgICByZXR1cm5cclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgbW92ZUNvdW50ID0gKHRoaXMuZHJhZ2dpbmdJbmZvLnN0YXJ0UGFnZVkgLSB0b3VjaEluZm8ucGFnZVkpIC8gMzJcclxuICAgICAgICBjb25zdCBtb3ZlZEluZGV4ID0gdGhpcy5jdXJyZW50SW5kZXhMaXN0W2dJbmRleF0gKyBtb3ZlQ291bnRcclxuICAgICAgICB0aGlzLmN1cnJlbnRJbmRleExpc3RbZ0luZGV4XSA9IG1vdmVkSW5kZXhcclxuICAgICAgICB0aGlzLmRyYWdnaW5nSW5mby5zdGFydFBhZ2VZID0gdG91Y2hJbmZvLnBhZ2VZXHJcbiAgICB9XHJcblxyXG4gICAgY29ycmVjdGlvbkFmdGVyRHJhZ2dpbmcoZXYpIHtcclxuICAgICAgICBjb25zdCBnSW5kZXggPSB0aGlzLmRyYWdnaW5nSW5mby5ncm91cEluZGV4XHJcbiAgICAgICAgdGhpcy5jb3JyZWN0aW9uQ3VycmVudEluZGV4KGV2LCBnSW5kZXgpXHJcbiAgICAgICAgdGhpcy5kcmFnZ2luZ0luZm8uZ3JvdXBJbmRleCA9IG51bGxcclxuICAgICAgICB0aGlzLmRyYWdnaW5nSW5mby5zdGFydFBhZ2VZID0gbnVsbFxyXG4gICAgfVxyXG5cclxuICAgIGNvcnJlY3Rpb25DdXJyZW50SW5kZXgoZXYsIGdJbmRleCkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGdJbmRleCA9PT0gJ251bWJlcicgJiYgdGhpcy5pdGVtc1tnSW5kZXhdLmRpdmlkZXIgIT09IHRydWUgJiYgdGhpcy5pdGVtc1tnSW5kZXhdLmxpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdW5zYWZlR3JvdXBJbmRleCA9IHRoaXMuY3VycmVudEluZGV4TGlzdFtnSW5kZXhdXHJcbiAgICAgICAgICAgICAgICBsZXQgbW92ZWRJbmRleCA9IHVuc2FmZUdyb3VwSW5kZXhcclxuICAgICAgICAgICAgICAgIGlmICh1bnNhZmVHcm91cEluZGV4ID4gdGhpcy5pdGVtc1tnSW5kZXhdLmxpc3QubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vdmVkSW5kZXggPSB0aGlzLml0ZW1zW2dJbmRleF0ubGlzdC5sZW5ndGggLSAxXHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHVuc2FmZUdyb3VwSW5kZXggPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbW92ZWRJbmRleCA9IDBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG1vdmVkSW5kZXggPSBNYXRoLnJvdW5kKG1vdmVkSW5kZXgpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmRleExpc3RbZ0luZGV4XSA9IG1vdmVkSW5kZXhcclxuICAgICAgICAgICAgICAgIGlmIChtb3ZlZEluZGV4ICE9PSB0aGlzLmxhc3RDdXJyZW50SW5kZXhMaXN0W2dJbmRleF0pIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLk9uQ2hhbmdlLmVtaXQoeyBnSW5kZXgsIGlJbmRleDogbW92ZWRJbmRleCB9KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0Q3VycmVudEluZGV4TGlzdCA9IFtdLmNvbmNhdCh0aGlzLmN1cnJlbnRJbmRleExpc3QpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAxMDApXHJcbiAgICB9XHJcblxyXG4gICAgaXNDdXJyZW50SXRlbShnSW5kZXgsIGlJbmRleCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRJbmRleExpc3RbZ0luZGV4XSA9PT0gaUluZGV4XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q3VycmVudEluZGV4TGlzdCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50SW5kZXhMaXN0XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0R3JvdXBDbGFzcyhnSW5kZXgpIHtcclxuICAgICAgICBjb25zdCBncm91cCA9IHRoaXMuaXRlbXNbZ0luZGV4XVxyXG4gICAgICAgIGNvbnN0IGRlZmF1bHRXZWlnaHRDbGFzcyA9ICd3ZWlnaHQtJyArIChncm91cC53ZWlnaHQgfHwgMSlcclxuICAgICAgICBjb25zdCBncm91cENsYXNzID0gW2RlZmF1bHRXZWlnaHRDbGFzc11cclxuICAgICAgICBpZiAoZ3JvdXAuY2xhc3NOYW1lKSB7XHJcbiAgICAgICAgICAgIGdyb3VwQ2xhc3MucHVzaChncm91cC5jbGFzc05hbWUpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBncm91cENsYXNzXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SXRlbUNsYXNzKGdJbmRleCwgaUluZGV4LCBpc0RpdmlkZXIgPSBmYWxzZSkge1xyXG4gICAgICAgIGNvbnN0IGdyb3VwID0gdGhpcy5pdGVtc1tnSW5kZXhdXHJcbiAgICAgICAgY29uc3QgaXRlbUNsYXNzID0gW11cclxuICAgICAgICBpZiAoIWlzRGl2aWRlciAmJiB0aGlzLmlzQ3VycmVudEl0ZW0oZ0luZGV4LCBpSW5kZXgpKSB7XHJcbiAgICAgICAgICAgIGl0ZW1DbGFzcy5wdXNoKCdzbW9vdGgtaXRlbS1zZWxlY3RlZCcpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChncm91cC50ZXh0QWxpZ24pIHtcclxuICAgICAgICAgICAgaXRlbUNsYXNzLnB1c2goJ3RleHQtJyArIGdyb3VwLnRleHRBbGlnbilcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGl0ZW1DbGFzc1xyXG4gICAgfVxyXG5cclxuICAgIGdldEl0ZW1TdHlsZShnSW5kZXgsIGlJbmRleCkge1xyXG4gICAgICAgIGNvbnN0IGdhcENvdW50ID0gdGhpcy5jdXJyZW50SW5kZXhMaXN0W2dJbmRleF0gLSBpSW5kZXhcclxuICAgICAgICBpZiAoTWF0aC5hYnMoZ2FwQ291bnQpIDwgKDkwIC8gdGhpcy5pdGVtUGVyRGVncmVlKSkge1xyXG4gICAgICAgICAgICBjb25zdCByb3RhdGVTdHlsZSA9IHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3JvdGF0ZVgoJyArIGdhcENvdW50ICogdGhpcy5pdGVtUGVyRGVncmVlICsgJ2RlZykgdHJhbnNsYXRlM2QoMCwgMCwgNS42MjVlbSknLFxyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogKDEgLSBNYXRoLmFicyhnYXBDb3VudCkgLyAoOTAgLyB0aGlzLml0ZW1QZXJEZWdyZWUpKS50b1N0cmluZygpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCF0aGlzLmRyYWdnaW5nSW5mby5pc0RyYWdnaW5nKSB7XHJcbiAgICAgICAgICAgICAgICByb3RhdGVTdHlsZVsndHJhbnNpdGlvbiddID0gJ3RyYW5zZm9ybSAxNTBtcyBlYXNlLW91dCdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcm90YXRlU3R5bGVcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGdhcENvdW50ID4gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4geyB0cmFuc2Zvcm06ICdyb3RhdGVYKDkwZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCA1LjYyNWVtKScgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IHRyYW5zZm9ybTogJ3JvdGF0ZVgoLTkwZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCA1LjYyNWVtKScgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8IS0tIDxheC1jYXJvdXNlbCBbd2lkdGhdPVwid2lkdGhcIiBbaGVpZ2h0XT1cImhlaWdodFwiIFtmaXhlZFdpZHRoXT1cIndpZHRoXCIgW2ZpeGVkSGVpZ2h0XT1cIml0ZW1IZWlnaHRcIiAgW2NlbnRlcmVkXT1cInRydWVcIiBbdmVydGljYWxdPVwidHJ1ZVwiIFtsb29wXT1cImZhbHNlXCIgW3doZWVsXT1cInRydWVcIiAob25TbGlkZUNoYW5nZWQpPVwiX2hhbmRsZU1vdmVDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgPGF4LWNhcm91c2VsLWl0ZW0gY2xhc3M9XCJheC1waWNrZXItaXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvYXgtY2Fyb3VzZWwtaXRlbT5cclxuPC9heC1jYXJvdXNlbD4gLS0+XHJcbjxkaXYgY2xhc3M9XCJuZy1kYXRhLXBpY2tlciBmbGV4LWJveFwiPlxyXG5cclxuICA8IS0tIHBpY2tlci1ncm91cC1sYXllciAtLT5cclxuICA8ZGl2ICNwaWNrZXJHcm91cExheWVyICpuZ0Zvcj1cImxldCBncm91cCBvZiBpdGVtczsgbGV0IGdJID0gaW5kZXhcIiBjbGFzcz1cInBpY2tlci1ncm91cFwiIFtuZ0NsYXNzXT1cImdldEdyb3VwQ2xhc3MoZ0kpXCI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInBpY2tlci1saXN0XCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJncm91cC5kaXZpZGVyIGVsc2UgbmdJZkVsc2VcIiBjbGFzcz1cInBpY2tlci1pdGVtIGRpdmlkZXJcIiBbbmdDbGFzc109XCJnZXRJdGVtQ2xhc3MoZ0ksIGksIHRydWUpXCI+XHJcbiAgICAgICAge3sgZ3JvdXAudGV4dCB9fVxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgI25nSWZFbHNlICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwLmxpc3Q7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cInBpY2tlci1pdGVtXCIgW25nQ2xhc3NdPVwiZ2V0SXRlbUNsYXNzKGdJLCBpKVwiXHJcbiAgICAgICAgW25nU3R5bGVdPVwiZ2V0SXRlbVN0eWxlKGdJLCBpKVwiPlxyXG4gICAgICAgIHt7IGl0ZW0udmFsdWUgfHwgaXRlbSB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAjcGlja2VySGFuZGxlTGF5ZXIgY2xhc3M9XCJwaWNrZXItaGFuZGxlLWxheWVyIGZsZXgtYm94IGRpci1jb2x1bW5cIj5cclxuICAgIDxkaXYgZGF0YS10eXBlPVwidG9wXCIgY2xhc3M9XCJwaWNrZXItdG9wIHdlaWdodC0xXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGRhdGEtdHlwZT1cIm1pZGRsZVwiIGNsYXNzPVwicGlja2VyLW1pZGRsZVwiPjwvZGl2PlxyXG4gICAgPGRpdiBkYXRhLXR5cGU9XCJib3R0b21cIiBjbGFzcz1cInBpY2tlci1ib3R0b20gd2VpZ2h0LTFcIj48L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLm1vZGVsLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9waWNrZXIvcGlja2VyLm1vZGVsLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFBpY2tlckl0ZW0ge1xyXG4gIHRleHRBbGlnbj86ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnIHwgJ2p1c3RpZnknIHwgJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdub3dyYXAnIHwgJ3dyYXAnXHJcbiAgd2VpZ2h0PzogMSB8IDIgfCAzIHwgNCB8IDUgfCA2IHwgNyB8IDggfCA5IHwgMTAgfCAxMSB8IDEyXHJcbiAgY2xhc3NOYW1lPzogc3RyaW5nXHJcblxyXG4gIG9uQ2xpY2s/OiBGdW5jdGlvblxyXG4gIGN1cnJlbnRJbmRleD86IG51bWJlclxyXG4gIGxpc3Q/Olx0QXJyYXk8YW55PlxyXG5cclxuICBkaXZpZGVyPzogYm9vbGVhblxyXG4gIHRleHQ/OiBzdHJpbmdcclxufSJdfQ==
@@ -5,10 +5,10 @@ import { AXCarouselModule } from '../carousel';
5
5
  import * as i0 from "@angular/core";
6
6
  export class AXPickerModule {
7
7
  }
8
- AXPickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- AXPickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPickerModule, declarations: [AXPickerComponent], imports: [CommonModule, AXCarouselModule], exports: [AXPickerComponent] });
10
- AXPickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPickerModule, providers: [], imports: [[CommonModule, AXCarouselModule]] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPickerModule, decorators: [{
8
+ AXPickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXPickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ AXPickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXPickerModule, declarations: [AXPickerComponent], imports: [CommonModule, AXCarouselModule], exports: [AXPickerComponent] });
10
+ AXPickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXPickerModule, providers: [], imports: [[CommonModule, AXCarouselModule]] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXPickerModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [AXPickerComponent],
@@ -38,6 +38,7 @@ export class AXPopoverComponent extends AXInteractiveComponenetMixin {
38
38
  this.closeTrigger = 'clickout';
39
39
  //
40
40
  this.hasBackdrop = false;
41
+ this.adaptivityEnabled = false;
41
42
  //
42
43
  this._mousePos = { x: 0, y: 0 };
43
44
  this._isScrollAttached = false;
@@ -150,7 +151,7 @@ export class AXPopoverComponent extends AXInteractiveComponenetMixin {
150
151
  if (!targetRef)
151
152
  return;
152
153
  if (!this._overlayRef) {
153
- if (this._platform.is('Mobile')) {
154
+ if (this._platform.is('Mobile') && this.adaptivityEnabled) {
154
155
  this._openAsActionsheet();
155
156
  }
156
157
  else {
@@ -219,9 +220,9 @@ export class AXPopoverComponent extends AXInteractiveComponenetMixin {
219
220
  this.focus();
220
221
  }
221
222
  }
222
- AXPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPopoverComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.Overlay }, { token: i2.AXPlatform }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
223
- AXPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AXPopoverComponent, selector: "ax-popover", inputs: { target: "target", position: "position", openTrigger: "openTrigger", closeTrigger: "closeTrigger", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass" }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, host: { listeners: { "keydown": "_handleKeydownHandler($event)" } }, viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
224
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPopoverComponent, decorators: [{
223
+ AXPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXPopoverComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.Overlay }, { token: i2.AXPlatform }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
224
+ AXPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AXPopoverComponent, selector: "ax-popover", inputs: { target: "target", position: "position", openTrigger: "openTrigger", closeTrigger: "closeTrigger", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass", adaptivityEnabled: "adaptivityEnabled" }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, host: { listeners: { "keydown": "_handleKeydownHandler($event)" } }, viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXPopoverComponent, decorators: [{
225
226
  type: Component,
226
227
  args: [{ selector: 'ax-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #baseTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>" }]
227
228
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.Overlay }, { type: i2.AXPlatform }, { type: i0.ViewContainerRef }]; }, propDecorators: { target: [{
@@ -239,6 +240,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
239
240
  type: Input
240
241
  }], backdropClass: [{
241
242
  type: Input
243
+ }], adaptivityEnabled: [{
244
+ type: Input
242
245
  }], onOpened: [{
243
246
  type: Output
244
247
  }], onClosed: [{
@@ -247,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
247
250
  type: HostListener,
248
251
  args: ['keydown', ['$event']]
249
252
  }] } });
250
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNkIsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFlLFVBQVUsRUFBb0IsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbE4sT0FBTyxFQUFFLGVBQWUsRUFBZ0MsNEJBQTRCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEcsT0FBTyxFQUFFLGFBQWEsRUFBdUIsTUFBTSxjQUFjLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFZOUMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLDRCQUE0QjtJQUVsRSxZQUNVLFdBQXVCLEVBQ3hCLElBQXVCLEVBQ3RCLEtBQWEsRUFDYixRQUFpQixFQUNqQixTQUFxQixFQUNyQixpQkFBbUM7UUFHM0MsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQVJqQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN4QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsYUFBUSxHQUFSLFFBQVEs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QWM7Z0JBUXpCLFdBQVc7c0JBRFYsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFPTixRQUFRO3NCQURQLE1BQU07Z0JBR1AsUUFBUTtzQkFEUCxNQUFNO2dCQTREUCxxQkFBcUI7c0JBRHBCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgTmdab25lLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uLCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmLCBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBIb3N0TGlzdGVuZXIsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCwgQVhDb25uZWN0ZWRQb3NpdGlvbiwgQVhFdmVudCwgQVhJbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBBWERyYXdpbmdVdGlsLCBBWFBsYXRmb3JtLCBBWFBvaW50IH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuXHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtcG9wb3ZlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFBvcG92ZXJDb21wb25lbnQgZXh0ZW5kcyBBWEludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcclxuICAgIHByaXZhdGUgX3BsYXRmb3JtOiBBWFBsYXRmb3JtLFxyXG4gICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuXHJcbiAgKSB7XHJcbiAgICBzdXBlcihfZWxlbWVudFJlZiwgX2Nkcik7XHJcbiAgfVxyXG4gIC8vXHJcbiAgcHJpdmF0ZSBfdGFyZ2V0OiBIVE1MRWxlbWVudDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgdGFyZ2V0KCk6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IEFYQmFzZUNvbXBvbmVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFyZ2V0O1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHRhcmdldCh2OiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBBWEJhc2VDb21wb25lbnQpIHtcclxuICAgIGlmICh2IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpXHJcbiAgICAgIHRoaXMuX3RhcmdldCA9IHY7XHJcbiAgICBlbHNlIGlmICh2IGluc3RhbmNlb2YgRWxlbWVudFJlZilcclxuICAgICAgdGhpcy5fdGFyZ2V0ID0gdi5uYXRpdmVFbGVtZW50O1xyXG4gICAgZWxzZSBpZiAodiBpbnN0YW5jZW9mIEFYQmFzZUNvbXBvbmVudClcclxuICAgICAgdGhpcy5fdGFyZ2V0ID0gdi5fZ2V0SW5uZXJFbGVtZW50KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBwb3NpdGlvbjogQVhDb25uZWN0ZWRQb3NpdGlvbiB8IEFYQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtcclxuICAgIHtcclxuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xyXG4gICAgfVxyXG4gIF07XHJcbiAgLy9cclxuICBAVmlld0NoaWxkKCdiYXNlVGVtcGxhdGUnKVxyXG4gIF9iYXNlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XHJcbiAgX3RlbXBsYXRlUG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDtcclxuXHJcbiAgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgLy9cclxuICBASW5wdXQoKVxyXG4gIG9wZW5UcmlnZ2VyOiAnbWFudWFsJyB8ICdjbGljaycgfCAnbW91c2VvdmVyJyB8ICd0b2dnbGUnID0gJ3RvZ2dsZSc7XHJcbiAgLy9cclxuICBASW5wdXQoKVxyXG4gIGNsb3NlVHJpZ2dlcjogJ21hbnVhbCcgfCAnY2xpY2tvdXQnIHwgJ21vdXNlb3V0JyA9ICdjbGlja291dCc7XHJcbiAgLy9cclxuICBASW5wdXQoKVxyXG4gIGhhc0JhY2tkcm9wOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYmFja2Ryb3BDbGFzczogc3RyaW5nO1xyXG4gIC8vXHJcbiAgcHJpdmF0ZSBfbW91c2VQb3M6IEFYUG9pbnQgPSB7IHg6IDAsIHk6IDAgfTtcclxuICBwcml2YXRlIF9pc1Njcm9sbEF0dGFjaGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLy9cclxuICBAT3V0cHV0KClcclxuICBvbk9wZW5lZDogRXZlbnRFbWl0dGVyPEFYRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uQ2xvc2VkOiBFdmVudEVtaXR0ZXI8QVhFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRXZlbnQ+KCk7XHJcblxyXG4gIF9lbWl0T25PcGVuZWRFdmVudCgpIHtcclxuICAgIHRoaXMub25PcGVuZWQuZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KClcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgX2VtaXRPbkNsb3NlZEV2ZW50KCkge1xyXG4gICAgdGhpcy5vbkNsb3NlZC5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8vXHJcbiAgb25WaWV3SW5pdCgpIHtcclxuICAgIGlmICh0aGlzLl90YXJnZXQpIHtcclxuICAgICAgaWYgKHRoaXMub3BlblRyaWdnZXIgPT09ICdtb3VzZW92ZXInKSB7XHJcbiAgICAgICAgY29uc3QgbW91c2VFbnRlciQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5fdGFyZ2V0LCAnbW91c2VvdmVyJyk7XHJcbiAgICAgICAgdGhpcy5fYWRkU3ViKG1vdXNlRW50ZXIkLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgICAgIGNvbnN0IHBvaW50ID0geyB4OiBlLmNsaWVudFgsIHk6IGUuY2xpZW50WSB9O1xyXG4gICAgICAgICAgaWYgKEFYRHJhd2luZ1V0aWwuaXNJbkVsZW1lbnRCb3VuZChwb2ludCwgdGhpcy5fdGFyZ2V0KSlcclxuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmNsb3NlVHJpZ2dlciA9PT0gJ21vdXNlb3V0Jykge1xyXG4gICAgICAgIGNvbnN0IG1vdXNlTW92ZSQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZW1vdmUnKTtcclxuICAgICAgICB0aGlzLl9hZGRTdWIobW91c2VNb3ZlJC5waXBlKHRocm90dGxlVGltZSg1MCkpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgICAgIHRoaXMuX21vdXNlUG9zLnggPSBlLmNsaWVudFg7XHJcbiAgICAgICAgICB0aGlzLl9tb3VzZVBvcy55ID0gZS5jbGllbnRZO1xyXG4gICAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmICghXy5zb21lKFt0aGlzLl90YXJnZXQsIHRoaXMuX292ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnRdLCBlbCA9PiBfLmluY2x1ZGVzKGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KHRoaXMuX21vdXNlUG9zLngsIHRoaXMuX21vdXNlUG9zLnkpLCBlbCkpKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgICB9LCAxMDApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgfVxyXG4gICAgICAvL1xyXG4gICAgICBpZiAodGhpcy5vcGVuVHJpZ2dlciA9PT0gJ2NsaWNrJyB8fCB0aGlzLm9wZW5UcmlnZ2VyID09PSAndG9nZ2xlJykge1xyXG4gICAgICAgIGNvbnN0IGNsaWNrJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLl90YXJnZXQsICdjbGljaycpO1xyXG4gICAgICAgIHRoaXMuX2FkZFN1YihjbGljayQuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vcGVuVHJpZ2dlciA9PSAndG9nZ2xlJyA/IHRoaXMudG9nZ2xlKCkgOiB0aGlzLm9wZW4oKTtcclxuICAgICAgICB9KSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy9cclxuICBvbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHtcclxuICAgICAgcz8udW5zdWJzY3JpYmUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgX2hhbmRsZUtleWRvd25IYW5kbGVyKGU6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIC8vIGlmIChlLmtleSA9PT0gJ0VudGVyJyAmJiBlLnR5cGUgPT09ICdrZXlkb3duJykge1xyXG4gICAgLy8gICB0aGlzLnRvZ2dsZSgpO1xyXG4gICAgLy8gfVxyXG4gICAgaWYgKGUua2V5ID09PSAnRXNjYXBlJykge1xyXG4gICAgICBpZiAodGhpcy5pc09wZW4pIHtcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlKCkge1xyXG4gICAgdGhpcy5pc09wZW4gPyB0aGlzLmNsb3NlKCkgOiB0aGlzLm9wZW4oKTtcclxuICB9XHJcbiAgLy9cclxuICBjbG9zZSgpIHtcclxuICAgIGlmICghdGhpcy5pc09wZW4pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICB0aGlzLl9lbWl0T25DbG9zZWRFdmVudCgpO1xyXG4gIH1cclxuXHJcbiAgZGlzcG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYgPSBudWxsO1xyXG4gIH1cclxuICAvL1xyXG4gIG9wZW4oKSB7XHJcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZW5zdXJlT3ZlcmxheUNyZWF0ZWQoKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKHRoaXMuX3RlbXBsYXRlUG9ydGFsKTtcclxuICAgIHRoaXMuX2VtaXRPbk9wZW5lZEV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9lbnN1cmVPdmVybGF5Q3JlYXRlZCgpIHtcclxuICAgIGNvbnN0IHRhcmdldFJlZiA9IHRoaXMuX3RhcmdldDtcclxuICAgIGlmICghdGFyZ2V0UmVmKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgaWYgKCF0aGlzLl9vdmVybGF5UmVmKSB7XHJcbiAgICAgIGlmICh0aGlzLl9wbGF0Zm9ybS5pcygnTW9iaWxlJykpIHtcclxuICAgICAgICB0aGlzLl9vcGVuQXNBY3Rpb25zaGVldCgpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX29wZW5Bc1BvcG92ZXIodGFyZ2V0UmVmKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuY2xvc2VUcmlnZ2VyID09ICdjbGlja291dCcpIHtcclxuICAgICAgICB0aGlzLl9hZGRTdWIodGhpcy5fb3ZlcmxheVJlZi5fb3V0c2lkZVBvaW50ZXJFdmVudHMuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gYy50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICBjb25zdCBjb21FbGVtID0gdGFyZ2V0UmVmO1xyXG4gICAgICAgICAgaWYgKCEoY29tRWxlbS5jb250YWlucyh0YXJnZXQpKSkge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX2FkZFN1Yih0aGlzLl9vdmVybGF5UmVmLmF0dGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuX2lzU2Nyb2xsQXR0YWNoZWQpIHtcclxuICAgICAgICAgIHRoaXMuX2FkZFN1Yih0aGlzLl9wbGF0Zm9ybS5zY3JvbGwuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIShjLm5hdGl2ZUV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnLmF4LW92ZXJsYXktcGFuZScpKVxyXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24oKTtcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICAgIHRoaXMuX2lzU2Nyb2xsQXR0YWNoZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSkpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLl90ZW1wbGF0ZVBvcnRhbCkge1xyXG4gICAgICB0aGlzLl90ZW1wbGF0ZVBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLl9iYXNlVGVtcGxhdGUsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfb3BlbkFzUG9wb3Zlcih0YXJnZXRSZWY6IEhUTUxFbGVtZW50KSB7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKClcclxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0YXJnZXRSZWYpXHJcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoQXJyYXkuaXNBcnJheSh0aGlzLnBvc2l0aW9uKSA/IHRoaXMucG9zaXRpb24gOiBbdGhpcy5wb3NpdGlvbl0pXHJcbiAgICAgICAgLndpdGhQdXNoKGZhbHNlKSxcclxuICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcclxuICAgICAgcGFuZWxDbGFzczogWydheC1hbmltYXRlLWZhZGVJbicsICdheC1hbmltYXRlLWZhc3RlciddLFxyXG4gICAgICBtYXhIZWlnaHQ6ICd1bnNldCcsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLmhhc0JhY2tkcm9wLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiBbdGhpcy5iYWNrZHJvcENsYXNzIHx8ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCddXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX29wZW5Bc0FjdGlvbnNoZWV0KCkge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmZsZXhpYmxlQ29ubmVjdGVkVG8oZG9jdW1lbnQuYm9keSkud2l0aFBvc2l0aW9ucyhbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xyXG4gICAgICAgIH1cclxuICAgICAgXSksXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYXgtYW5pbWF0ZS1zbGlkZUluVXAnLCAnYXgtYW5pbWF0ZS1mYXN0ZXInXSxcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIHdpZHRoOiAnMTAwJSdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9vdmVybGF5UmVmID8gdGhpcy5fb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hZGRTdWIoc3ViOiBTdWJzY3JpcHRpb24pIHtcclxuICAgIHRoaXMuX3N1YnMucHVzaChzdWIpO1xyXG4gIH1cclxuXHJcblxyXG4gIHVwZGF0ZVBvc2l0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb24oKTtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjYmFzZVRlbXBsYXRlPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNkIsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFlLFVBQVUsRUFBb0IsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbE4sT0FBTyxFQUFFLGVBQWUsRUFBZ0MsNEJBQTRCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEcsT0FBTyxFQUFFLGFBQWEsRUFBdUIsTUFBTSxjQUFjLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFZOUMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLDRCQUE0QjtJQUVsRSxZQUNVLFdBQXVCLEVBQ3hCLElBQXVCLEVBQ3RCLEtBQWEsRUFDYixRQUFpQixFQUNqQixTQUFxQixFQUNyQixpQkFBbUM7UUFHM0MsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQVJqQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN4QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsYUFBUSxHQUFSLFFBQVEs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QWVOLFFBQVE7c0JBRFAsS0FBSztnQkFpQk4sYUFBYTtzQkFEWixTQUFTO3VCQUFDLGNBQWM7Z0JBUXpCLFdBQVc7c0JBRFYsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBT04sUUFBUTtzQkFEUCxNQUFNO2dCQUdQLFFBQVE7c0JBRFAsTUFBTTtnQkE0RFAscUJBQXFCO3NCQURwQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE5nWm9uZSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiwgSG9zdExpc3RlbmVyLCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQsIEFYQ29ubmVjdGVkUG9zaXRpb24sIEFYRXZlbnQsIEFYSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQVhEcmF3aW5nVXRpbCwgQVhQbGF0Zm9ybSwgQVhQb2ludCB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcblxyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXBvcG92ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhQb3BvdmVyQ29tcG9uZW50IGV4dGVuZHMgQVhJbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbiB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX3pvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIF9wbGF0Zm9ybTogQVhQbGF0Zm9ybSxcclxuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcblxyXG4gICkge1xyXG4gICAgc3VwZXIoX2VsZW1lbnRSZWYsIF9jZHIpO1xyXG4gIH1cclxuICAvL1xyXG4gIHByaXZhdGUgX3RhcmdldDogSFRNTEVsZW1lbnQ7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHRhcmdldCgpOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBBWEJhc2VDb21wb25lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RhcmdldDtcclxuICB9XHJcbiAgcHVibGljIHNldCB0YXJnZXQodjogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmIHwgQVhCYXNlQ29tcG9uZW50KSB7XHJcbiAgICBpZiAodiBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KVxyXG4gICAgICB0aGlzLl90YXJnZXQgPSB2O1xyXG4gICAgZWxzZSBpZiAodiBpbnN0YW5jZW9mIEVsZW1lbnRSZWYpXHJcbiAgICAgIHRoaXMuX3RhcmdldCA9IHYubmF0aXZlRWxlbWVudDtcclxuICAgIGVsc2UgaWYgKHYgaW5zdGFuY2VvZiBBWEJhc2VDb21wb25lbnQpXHJcbiAgICAgIHRoaXMuX3RhcmdldCA9IHYuX2dldElubmVyRWxlbWVudCgpO1xyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcG9zaXRpb246IEFYQ29ubmVjdGVkUG9zaXRpb24gfCBBWENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbSdcclxuICAgIH1cclxuICBdO1xyXG4gIC8vXHJcbiAgQFZpZXdDaGlsZCgnYmFzZVRlbXBsYXRlJylcclxuICBfYmFzZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmO1xyXG4gIF90ZW1wbGF0ZVBvcnRhbDogVGVtcGxhdGVQb3J0YWw7XHJcblxyXG4gIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIC8vXHJcbiAgQElucHV0KClcclxuICBvcGVuVHJpZ2dlcjogJ21hbnVhbCcgfCAnY2xpY2snIHwgJ21vdXNlb3ZlcicgfCAndG9nZ2xlJyA9ICd0b2dnbGUnO1xyXG4gIC8vXHJcbiAgQElucHV0KClcclxuICBjbG9zZVRyaWdnZXI6ICdtYW51YWwnIHwgJ2NsaWNrb3V0JyB8ICdtb3VzZW91dCcgPSAnY2xpY2tvdXQnO1xyXG4gIC8vXHJcbiAgQElucHV0KClcclxuICBoYXNCYWNrZHJvcDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGJhY2tkcm9wQ2xhc3M6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBhZGFwdGl2aXR5RW5hYmxlZDogYm9vbGVhbj1mYWxzZTtcclxuICAvL1xyXG4gIHByaXZhdGUgX21vdXNlUG9zOiBBWFBvaW50ID0geyB4OiAwLCB5OiAwIH07XHJcbiAgcHJpdmF0ZSBfaXNTY3JvbGxBdHRhY2hlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8vXHJcbiAgQE91dHB1dCgpXHJcbiAgb25PcGVuZWQ6IEV2ZW50RW1pdHRlcjxBWEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhFdmVudD4oKTtcclxuICBAT3V0cHV0KClcclxuICBvbkNsb3NlZDogRXZlbnRFbWl0dGVyPEFYRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEV2ZW50PigpO1xyXG5cclxuICBfZW1pdE9uT3BlbmVkRXZlbnQoKSB7XHJcbiAgICB0aGlzLm9uT3BlbmVkLmVtaXQoe1xyXG4gICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIF9lbWl0T25DbG9zZWRFdmVudCgpIHtcclxuICAgIHRoaXMub25DbG9zZWQuZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KClcclxuICAgIH0pO1xyXG4gIH1cclxuICAvL1xyXG4gIG9uVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5fdGFyZ2V0KSB7XHJcbiAgICAgIGlmICh0aGlzLm9wZW5UcmlnZ2VyID09PSAnbW91c2VvdmVyJykge1xyXG4gICAgICAgIGNvbnN0IG1vdXNlRW50ZXIkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuX3RhcmdldCwgJ21vdXNlb3ZlcicpO1xyXG4gICAgICAgIHRoaXMuX2FkZFN1Yihtb3VzZUVudGVyJC5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBwb2ludCA9IHsgeDogZS5jbGllbnRYLCB5OiBlLmNsaWVudFkgfTtcclxuICAgICAgICAgIGlmIChBWERyYXdpbmdVdGlsLmlzSW5FbGVtZW50Qm91bmQocG9pbnQsIHRoaXMuX3RhcmdldCkpXHJcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xyXG4gICAgICAgIH0pKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5jbG9zZVRyaWdnZXIgPT09ICdtb3VzZW91dCcpIHtcclxuICAgICAgICBjb25zdCBtb3VzZU1vdmUkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2Vtb3ZlJyk7XHJcbiAgICAgICAgdGhpcy5fYWRkU3ViKG1vdXNlTW92ZSQucGlwZSh0aHJvdHRsZVRpbWUoNTApKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9tb3VzZVBvcy54ID0gZS5jbGllbnRYO1xyXG4gICAgICAgICAgdGhpcy5fbW91c2VQb3MueSA9IGUuY2xpZW50WTtcclxuICAgICAgICAgIGlmICh0aGlzLmlzT3Blbikge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoIV8uc29tZShbdGhpcy5fdGFyZ2V0LCB0aGlzLl9vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50XSwgZWwgPT4gXy5pbmNsdWRlcyhkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCh0aGlzLl9tb3VzZVBvcy54LCB0aGlzLl9tb3VzZVBvcy55KSwgZWwpKSlcclxuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgICAgfSwgMTAwKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pKTtcclxuXHJcbiAgICAgIH1cclxuICAgICAgLy9cclxuICAgICAgaWYgKHRoaXMub3BlblRyaWdnZXIgPT09ICdjbGljaycgfHwgdGhpcy5vcGVuVHJpZ2dlciA9PT0gJ3RvZ2dsZScpIHtcclxuICAgICAgICBjb25zdCBjbGljayQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5fdGFyZ2V0LCAnY2xpY2snKTtcclxuICAgICAgICB0aGlzLl9hZGRTdWIoY2xpY2skLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgICAgIHRoaXMub3BlblRyaWdnZXIgPT0gJ3RvZ2dsZScgPyB0aGlzLnRvZ2dsZSgpIDogdGhpcy5vcGVuKCk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vXHJcbiAgb25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiB7XHJcbiAgICAgIHM/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gIF9oYW5kbGVLZXlkb3duSGFuZGxlcihlOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAvLyBpZiAoZS5rZXkgPT09ICdFbnRlcicgJiYgZS50eXBlID09PSAna2V5ZG93bicpIHtcclxuICAgIC8vICAgdGhpcy50b2dnbGUoKTtcclxuICAgIC8vIH1cclxuICAgIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHtcclxuICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZSgpIHtcclxuICAgIHRoaXMuaXNPcGVuID8gdGhpcy5jbG9zZSgpIDogdGhpcy5vcGVuKCk7XHJcbiAgfVxyXG4gIC8vXHJcbiAgY2xvc2UoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNPcGVuKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRldGFjaCgpO1xyXG4gICAgdGhpcy5fZW1pdE9uQ2xvc2VkRXZlbnQoKTtcclxuICB9XHJcblxyXG4gIGRpc3Bvc2UoKSB7XHJcbiAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gbnVsbDtcclxuICB9XHJcbiAgLy9cclxuICBvcGVuKCkge1xyXG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX2Vuc3VyZU92ZXJsYXlDcmVhdGVkKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaCh0aGlzLl90ZW1wbGF0ZVBvcnRhbCk7XHJcbiAgICB0aGlzLl9lbWl0T25PcGVuZWRFdmVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZW5zdXJlT3ZlcmxheUNyZWF0ZWQoKSB7XHJcbiAgICBjb25zdCB0YXJnZXRSZWYgPSB0aGlzLl90YXJnZXQ7XHJcbiAgICBpZiAoIXRhcmdldFJlZilcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGlmICghdGhpcy5fb3ZlcmxheVJlZikge1xyXG4gICAgICBpZiAodGhpcy5fcGxhdGZvcm0uaXMoJ01vYmlsZScpICYmIHRoaXMuYWRhcHRpdml0eUVuYWJsZWQpIHtcclxuICAgICAgICB0aGlzLl9vcGVuQXNBY3Rpb25zaGVldCgpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX29wZW5Bc1BvcG92ZXIodGFyZ2V0UmVmKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuY2xvc2VUcmlnZ2VyID09ICdjbGlja291dCcpIHtcclxuICAgICAgICB0aGlzLl9hZGRTdWIodGhpcy5fb3ZlcmxheVJlZi5fb3V0c2lkZVBvaW50ZXJFdmVudHMuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gYy50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICBjb25zdCBjb21FbGVtID0gdGFyZ2V0UmVmO1xyXG4gICAgICAgICAgaWYgKCEoY29tRWxlbS5jb250YWlucyh0YXJnZXQpKSkge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX2FkZFN1Yih0aGlzLl9vdmVybGF5UmVmLmF0dGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuX2lzU2Nyb2xsQXR0YWNoZWQpIHtcclxuICAgICAgICAgIHRoaXMuX2FkZFN1Yih0aGlzLl9wbGF0Zm9ybS5zY3JvbGwuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIShjLm5hdGl2ZUV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnLmF4LW92ZXJsYXktcGFuZScpKVxyXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24oKTtcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICAgIHRoaXMuX2lzU2Nyb2xsQXR0YWNoZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSkpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLl90ZW1wbGF0ZVBvcnRhbCkge1xyXG4gICAgICB0aGlzLl90ZW1wbGF0ZVBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLl9iYXNlVGVtcGxhdGUsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfb3BlbkFzUG9wb3Zlcih0YXJnZXRSZWY6IEhUTUxFbGVtZW50KSB7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKClcclxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0YXJnZXRSZWYpXHJcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoQXJyYXkuaXNBcnJheSh0aGlzLnBvc2l0aW9uKSA/IHRoaXMucG9zaXRpb24gOiBbdGhpcy5wb3NpdGlvbl0pXHJcbiAgICAgICAgLndpdGhQdXNoKGZhbHNlKSxcclxuICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcclxuICAgICAgcGFuZWxDbGFzczogWydheC1hbmltYXRlLWZhZGVJbicsICdheC1hbmltYXRlLWZhc3RlciddLFxyXG4gICAgICBtYXhIZWlnaHQ6ICd1bnNldCcsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLmhhc0JhY2tkcm9wLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiBbdGhpcy5iYWNrZHJvcENsYXNzIHx8ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCddXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX29wZW5Bc0FjdGlvbnNoZWV0KCkge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmZsZXhpYmxlQ29ubmVjdGVkVG8oZG9jdW1lbnQuYm9keSkud2l0aFBvc2l0aW9ucyhbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xyXG4gICAgICAgIH1cclxuICAgICAgXSksXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYXgtYW5pbWF0ZS1zbGlkZUluVXAnLCAnYXgtYW5pbWF0ZS1mYXN0ZXInXSxcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIHdpZHRoOiAnMTAwJSdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9vdmVybGF5UmVmID8gdGhpcy5fb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hZGRTdWIoc3ViOiBTdWJzY3JpcHRpb24pIHtcclxuICAgIHRoaXMuX3N1YnMucHVzaChzdWIpO1xyXG4gIH1cclxuXHJcblxyXG4gIHVwZGF0ZVBvc2l0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb24oKTtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjYmFzZVRlbXBsYXRlPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -4,10 +4,10 @@ import { AXPopoverComponent } from "./popover.component";
4
4
  import * as i0 from "@angular/core";
5
5
  export class AXPopoverModule {
6
6
  }
7
- AXPopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- AXPopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPopoverModule, declarations: [AXPopoverComponent], imports: [CommonModule], exports: [AXPopoverComponent] });
9
- AXPopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPopoverModule, providers: [], imports: [[CommonModule]] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPopoverModule, decorators: [{
7
+ AXPopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ AXPopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXPopoverModule, declarations: [AXPopoverComponent], imports: [CommonModule], exports: [AXPopoverComponent] });
9
+ AXPopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXPopoverModule, providers: [], imports: [[CommonModule]] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXPopoverModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  declarations: [AXPopoverComponent],