@acorex/components 5.0.4 → 5.0.8

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 (336) hide show
  1. package/README.md +24 -24
  2. package/acorex-components.d.ts +5 -5
  3. package/bundles/acorex-components.umd.js +7172 -6743
  4. package/bundles/acorex-components.umd.js.map +1 -1
  5. package/esm2015/acorex-components.js +4 -4
  6. package/esm2015/lib/alert/alert-button.component.js +52 -52
  7. package/esm2015/lib/alert/alert-contnet.component.js +21 -21
  8. package/esm2015/lib/alert/alert-footer.component.js +27 -27
  9. package/esm2015/lib/alert/alert-suffix.component.js +27 -27
  10. package/esm2015/lib/alert/alert-title.component.js +23 -23
  11. package/esm2015/lib/alert/alert.component.js +130 -131
  12. package/esm2015/lib/alert/alert.module.js +43 -43
  13. package/esm2015/lib/alert/index.js +8 -8
  14. package/esm2015/lib/avatar/avatar.component.js +55 -55
  15. package/esm2015/lib/avatar/avatar.module.js +21 -21
  16. package/esm2015/lib/avatar/index.js +3 -3
  17. package/esm2015/lib/badge/badge.component.js +34 -0
  18. package/esm2015/lib/badge/badge.module.js +21 -0
  19. package/esm2015/lib/badge/index.js +3 -0
  20. package/esm2015/lib/base/common.module.js +18 -18
  21. package/esm2015/lib/base/custom-cdk-overlay.service.js +47 -47
  22. package/esm2015/lib/base/drawing.class.js +11 -11
  23. package/esm2015/lib/base/events.class.js +53 -53
  24. package/esm2015/lib/base/index.js +7 -7
  25. package/esm2015/lib/base/mixin/base-components.class.js +83 -83
  26. package/esm2015/lib/base/mixin/button-mixin.class.js +129 -129
  27. package/esm2015/lib/base/mixin/clickable-mixin.class.js +24 -24
  28. package/esm2015/lib/base/mixin/constratctor.js +2 -2
  29. package/esm2015/lib/base/mixin/datalist-component.class.js +97 -97
  30. package/esm2015/lib/base/mixin/dropdown-mixin.class.js +36 -36
  31. package/esm2015/lib/base/mixin/index.js +3 -3
  32. package/esm2015/lib/base/mixin/interactive-mixin.class.js +77 -72
  33. package/esm2015/lib/base/mixin/loading-mixin.class.js +18 -18
  34. package/esm2015/lib/base/mixin/mixin.class.js +22 -23
  35. package/esm2015/lib/base/mixin/selection-component.class.js +158 -158
  36. package/esm2015/lib/base/mixin/sizable-mixin.class.js +18 -18
  37. package/esm2015/lib/base/mixin/textbox-mixin.class.js +38 -38
  38. package/esm2015/lib/base/mixin/value-mixin.class.js +190 -190
  39. package/esm2015/lib/base/overlay.service.js +91 -91
  40. package/esm2015/lib/base/responsive.directive.js +34 -34
  41. package/esm2015/lib/base/styles.class.js +4 -4
  42. package/esm2015/lib/button/button-group.component.js +131 -131
  43. package/esm2015/lib/button/button-item.class.js +2 -2
  44. package/esm2015/lib/button/button-item.component.js +81 -81
  45. package/esm2015/lib/button/button.component.js +73 -51
  46. package/esm2015/lib/button/button.module.js +33 -37
  47. package/esm2015/lib/button/index.js +6 -7
  48. package/esm2015/lib/calendar/calendar.component.js +287 -59
  49. package/esm2015/lib/calendar/calendar.module.js +25 -24
  50. package/esm2015/lib/calendar/index.js +3 -3
  51. package/esm2015/lib/carousel/carousel-arrows.component.js +53 -53
  52. package/esm2015/lib/carousel/carousel-item.component.js +21 -21
  53. package/esm2015/lib/carousel/carousel-pager.component.js +74 -74
  54. package/esm2015/lib/carousel/carousel-splidejs.class.js +82 -82
  55. package/esm2015/lib/carousel/carousel.class.js +10 -10
  56. package/esm2015/lib/carousel/carousel.component.js +246 -246
  57. package/esm2015/lib/carousel/carousel.module.js +24 -24
  58. package/esm2015/lib/carousel/index.js +7 -7
  59. package/esm2015/lib/checkbox/checkbox.component.js +40 -40
  60. package/esm2015/lib/checkbox/checkbox.module.js +20 -20
  61. package/esm2015/lib/checkbox/index.js +3 -3
  62. package/esm2015/lib/datalist/datalist.component.js +81 -81
  63. package/esm2015/lib/datalist/datalist.module.js +22 -22
  64. package/esm2015/lib/datalist/index.js +3 -3
  65. package/esm2015/lib/datepicker/datepicker.component.js +80 -64
  66. package/esm2015/lib/datepicker/datepicker.module.js +23 -23
  67. package/esm2015/lib/datepicker/index.js +3 -3
  68. package/esm2015/lib/decorators/decorators.module.js +22 -22
  69. package/esm2015/lib/decorators/index.js +4 -4
  70. package/esm2015/lib/decorators/prefix.component.js +27 -27
  71. package/esm2015/lib/decorators/suffix.component.js +27 -35
  72. package/esm2015/lib/dialog/dialog.class.js +2 -2
  73. package/esm2015/lib/dialog/dialog.component.js +45 -45
  74. package/esm2015/lib/dialog/dialog.module.js +26 -26
  75. package/esm2015/lib/dialog/dialog.service.js +146 -127
  76. package/esm2015/lib/dialog/index.js +5 -5
  77. package/esm2015/lib/drawer/drawer-container.component.js +73 -73
  78. package/esm2015/lib/drawer/drawer-content.component.js +27 -27
  79. package/esm2015/lib/drawer/drawer.component.js +145 -145
  80. package/esm2015/lib/drawer/drawer.module.js +23 -23
  81. package/esm2015/lib/drawer/index.js +5 -5
  82. package/esm2015/lib/dropdown/dropdown-base.class.js +98 -0
  83. package/esm2015/lib/dropdown/dropdown-panel.component.js +84 -194
  84. package/esm2015/lib/dropdown/dropdown.component.js +32 -139
  85. package/esm2015/lib/dropdown/dropdown.module.js +25 -24
  86. package/esm2015/lib/dropdown/index.js +4 -4
  87. package/esm2015/lib/form/form-field.component.js +20 -20
  88. package/esm2015/lib/form/form-field.module.js +21 -21
  89. package/esm2015/lib/form/form-hint.component.js +20 -20
  90. package/esm2015/lib/form/form.component.js +51 -51
  91. package/esm2015/lib/form/index.js +5 -5
  92. package/esm2015/lib/icon/icon.component.js +28 -28
  93. package/esm2015/lib/icon/icon.module.js +21 -21
  94. package/esm2015/lib/icon/index.js +3 -3
  95. package/esm2015/lib/input-mask/index.js +3 -3
  96. package/esm2015/lib/input-mask/input-mask.component.js +42 -42
  97. package/esm2015/lib/input-mask/input-mask.module.js +23 -23
  98. package/esm2015/lib/label/index.js +3 -3
  99. package/esm2015/lib/label/label.component.js +20 -20
  100. package/esm2015/lib/label/label.module.js +21 -21
  101. package/esm2015/lib/loading/index.js +6 -6
  102. package/esm2015/lib/loading/loading-spinner.component.js +32 -32
  103. package/esm2015/lib/loading/loading.component.js +54 -54
  104. package/esm2015/lib/loading/loading.directive.js +67 -67
  105. package/esm2015/lib/loading/loading.module.js +35 -35
  106. package/esm2015/lib/loading/loading.service.js +155 -155
  107. package/esm2015/lib/number-box/index.js +3 -3
  108. package/esm2015/lib/number-box/number-box.component.js +289 -289
  109. package/esm2015/lib/number-box/number-box.module.js +32 -32
  110. package/esm2015/lib/page/base-page.class.js +66 -66
  111. package/esm2015/lib/page/index.js +5 -5
  112. package/esm2015/lib/page/page-footer.component.js +32 -32
  113. package/esm2015/lib/page/page.component.js +33 -33
  114. package/esm2015/lib/page/page.module.js +18 -18
  115. package/esm2015/lib/password-box/index.js +3 -0
  116. package/esm2015/lib/password-box/password-box.component.js +74 -0
  117. package/esm2015/lib/password-box/password-box.module.js +35 -0
  118. package/esm2015/lib/popover/index.js +3 -3
  119. package/esm2015/lib/popover/popover.component.js +220 -119
  120. package/esm2015/lib/popover/popover.module.js +19 -19
  121. package/esm2015/lib/popup/index.js +4 -4
  122. package/esm2015/lib/popup/popup.component.js +97 -97
  123. package/esm2015/lib/popup/popup.module.js +26 -26
  124. package/esm2015/lib/popup/popup.service.js +94 -94
  125. package/esm2015/lib/range-slider/index.js +3 -3
  126. package/esm2015/lib/range-slider/range-slider.component.js +22 -22
  127. package/esm2015/lib/range-slider/range-slider.module.js +21 -21
  128. package/esm2015/lib/selectbox/index.js +3 -3
  129. package/esm2015/lib/selectbox/selectbox.component.js +201 -193
  130. package/esm2015/lib/selectbox/selectbox.module.js +25 -21
  131. package/esm2015/lib/selection-list/index.js +3 -3
  132. package/esm2015/lib/selection-list/selection-list.component.js +47 -46
  133. package/esm2015/lib/selection-list/selection-list.module.js +21 -21
  134. package/esm2015/lib/side-menu/index.js +3 -3
  135. package/esm2015/lib/side-menu/side-menu.component.js +21 -21
  136. package/esm2015/lib/side-menu/side-menu.module.js +21 -21
  137. package/esm2015/lib/switch/index.js +3 -3
  138. package/esm2015/lib/switch/switch.component.js +30 -30
  139. package/esm2015/lib/switch/switch.module.js +21 -21
  140. package/esm2015/lib/tabs/index.js +8 -6
  141. package/esm2015/lib/tabs/tab-content.directive.js +27 -0
  142. package/esm2015/lib/tabs/tab-item.component.js +76 -0
  143. package/esm2015/lib/tabs/tab-strip.component.js +69 -61
  144. package/esm2015/lib/tabs/tab-view.component.js +45 -46
  145. package/esm2015/lib/tabs/tab.component.js +58 -59
  146. package/esm2015/lib/tabs/tabs.class.js +4 -4
  147. package/esm2015/lib/tabs/tabs.component.js +74 -0
  148. package/esm2015/lib/tabs/tabs.module.js +25 -23
  149. package/esm2015/lib/textbox/index.js +3 -3
  150. package/esm2015/lib/textbox/textbox.component.js +62 -62
  151. package/esm2015/lib/textbox/textbox.module.js +43 -43
  152. package/esm2015/lib/time-box/index.js +3 -3
  153. package/esm2015/lib/time-box/time-box.component.js +134 -134
  154. package/esm2015/lib/time-box/time-box.module.js +32 -32
  155. package/esm2015/lib/toast/index.js +5 -5
  156. package/esm2015/lib/toast/toast.class.js +2 -2
  157. package/esm2015/lib/toast/toast.component.js +50 -50
  158. package/esm2015/lib/toast/toast.module.js +22 -22
  159. package/esm2015/lib/toast/toast.service.js +114 -114
  160. package/esm2015/lib/tooltip/index.js +4 -4
  161. package/esm2015/lib/tooltip/tooltip.component.js +45 -45
  162. package/esm2015/lib/tooltip/tooltip.directive.js +86 -86
  163. package/esm2015/lib/tooltip/tooltip.module.js +23 -23
  164. package/esm2015/lib/validation/index.js +3 -3
  165. package/esm2015/lib/validation/validation-rule.widget.js +113 -113
  166. package/esm2015/lib/validation/validation.class.js +2 -2
  167. package/esm2015/lib/validation/validation.module.js +32 -32
  168. package/esm2015/public-api.js +41 -39
  169. package/fesm2015/acorex-components.js +6215 -5830
  170. package/fesm2015/acorex-components.js.map +1 -1
  171. package/lib/alert/alert-button.component.d.ts +13 -13
  172. package/lib/alert/alert-contnet.component.d.ts +5 -5
  173. package/lib/alert/alert-footer.component.d.ts +5 -5
  174. package/lib/alert/alert-suffix.component.d.ts +5 -5
  175. package/lib/alert/alert-title.component.d.ts +5 -5
  176. package/lib/alert/alert.component.d.ts +46 -46
  177. package/lib/alert/alert.module.d.ts +13 -13
  178. package/lib/alert/index.d.ts +7 -7
  179. package/lib/avatar/avatar.component.d.ts +20 -20
  180. package/lib/avatar/avatar.module.d.ts +8 -8
  181. package/lib/avatar/index.d.ts +2 -2
  182. package/lib/badge/badge.component.d.ts +11 -0
  183. package/lib/badge/badge.module.d.ts +8 -0
  184. package/lib/badge/index.d.ts +2 -0
  185. package/lib/base/common.module.d.ts +7 -7
  186. package/lib/base/custom-cdk-overlay.service.d.ts +19 -19
  187. package/lib/base/drawing.class.d.ts +9 -9
  188. package/lib/base/events.class.d.ts +72 -72
  189. package/lib/base/index.d.ts +6 -6
  190. package/lib/base/mixin/base-components.class.d.ts +84 -84
  191. package/lib/base/mixin/button-mixin.class.d.ts +81 -79
  192. package/lib/base/mixin/clickable-mixin.class.d.ts +42 -42
  193. package/lib/base/mixin/constratctor.d.ts +4 -4
  194. package/lib/base/mixin/datalist-component.class.d.ts +54 -54
  195. package/lib/base/mixin/dropdown-mixin.class.d.ts +47 -47
  196. package/lib/base/mixin/index.d.ts +2 -2
  197. package/lib/base/mixin/interactive-mixin.class.d.ts +62 -60
  198. package/lib/base/mixin/loading-mixin.class.d.ts +46 -46
  199. package/lib/base/mixin/mixin.class.d.ts +591 -814
  200. package/lib/base/mixin/selection-component.class.d.ts +55 -55
  201. package/lib/base/mixin/sizable-mixin.class.d.ts +40 -40
  202. package/lib/base/mixin/textbox-mixin.class.d.ts +58 -59
  203. package/lib/base/mixin/value-mixin.class.d.ts +70 -68
  204. package/lib/base/overlay.service.d.ts +31 -31
  205. package/lib/base/responsive.directive.d.ts +10 -10
  206. package/lib/base/styles.class.d.ts +17 -17
  207. package/lib/button/button-group.component.d.ts +36 -36
  208. package/lib/button/button-item.class.d.ts +22 -22
  209. package/lib/button/button-item.component.d.ts +92 -92
  210. package/lib/button/button.component.d.ts +21 -18
  211. package/lib/button/button.module.d.ts +12 -13
  212. package/lib/button/index.d.ts +5 -6
  213. package/lib/calendar/calendar.component.d.ts +56 -16
  214. package/lib/calendar/calendar.module.d.ts +12 -11
  215. package/lib/calendar/index.d.ts +2 -2
  216. package/lib/carousel/carousel-arrows.component.d.ts +14 -14
  217. package/lib/carousel/carousel-item.component.d.ts +8 -8
  218. package/lib/carousel/carousel-pager.component.d.ts +22 -22
  219. package/lib/carousel/carousel-splidejs.class.d.ts +18 -18
  220. package/lib/carousel/carousel.class.d.ts +48 -48
  221. package/lib/carousel/carousel.component.d.ts +62 -62
  222. package/lib/carousel/carousel.module.d.ts +11 -11
  223. package/lib/carousel/index.d.ts +6 -6
  224. package/lib/checkbox/checkbox.component.d.ts +12 -12
  225. package/lib/checkbox/checkbox.module.d.ts +9 -9
  226. package/lib/checkbox/index.d.ts +2 -2
  227. package/lib/datalist/datalist.component.d.ts +25 -25
  228. package/lib/datalist/datalist.module.d.ts +9 -9
  229. package/lib/datalist/index.d.ts +2 -2
  230. package/lib/datepicker/datepicker.component.d.ts +18 -18
  231. package/lib/datepicker/datepicker.module.d.ts +10 -10
  232. package/lib/datepicker/index.d.ts +2 -2
  233. package/lib/decorators/decorators.module.d.ts +9 -9
  234. package/lib/decorators/index.d.ts +3 -3
  235. package/lib/decorators/prefix.component.d.ts +8 -8
  236. package/lib/decorators/suffix.component.d.ts +8 -8
  237. package/lib/dialog/dialog.class.d.ts +12 -12
  238. package/lib/dialog/dialog.component.d.ts +15 -15
  239. package/lib/dialog/dialog.module.d.ts +13 -13
  240. package/lib/dialog/dialog.service.d.ts +36 -18
  241. package/lib/dialog/index.d.ts +4 -4
  242. package/lib/drawer/drawer-container.component.d.ts +13 -13
  243. package/lib/drawer/drawer-content.component.d.ts +8 -8
  244. package/lib/drawer/drawer.component.d.ts +30 -30
  245. package/lib/drawer/drawer.module.d.ts +10 -10
  246. package/lib/drawer/index.d.ts +4 -4
  247. package/lib/dropdown/dropdown-base.class.d.ts +92 -0
  248. package/lib/dropdown/dropdown-panel.component.d.ts +28 -117
  249. package/lib/dropdown/dropdown.component.d.ts +13 -31
  250. package/lib/dropdown/dropdown.module.d.ts +14 -13
  251. package/lib/dropdown/index.d.ts +3 -3
  252. package/lib/form/form-field.component.d.ts +8 -8
  253. package/lib/form/form-field.module.d.ts +10 -10
  254. package/lib/form/form-hint.component.d.ts +8 -8
  255. package/lib/form/form.component.d.ts +13 -13
  256. package/lib/form/index.d.ts +4 -4
  257. package/lib/icon/icon.component.d.ts +10 -10
  258. package/lib/icon/icon.module.d.ts +8 -8
  259. package/lib/icon/index.d.ts +2 -2
  260. package/lib/input-mask/index.d.ts +2 -2
  261. package/lib/input-mask/input-mask.component.d.ts +14 -14
  262. package/lib/input-mask/input-mask.module.d.ts +9 -9
  263. package/lib/label/index.d.ts +2 -2
  264. package/lib/label/label.component.d.ts +8 -8
  265. package/lib/label/label.module.d.ts +8 -8
  266. package/lib/loading/index.d.ts +5 -5
  267. package/lib/loading/loading-spinner.component.d.ts +5 -5
  268. package/lib/loading/loading.component.d.ts +19 -19
  269. package/lib/loading/loading.directive.d.ts +22 -22
  270. package/lib/loading/loading.module.d.ts +13 -13
  271. package/lib/loading/loading.service.d.ts +48 -48
  272. package/lib/number-box/index.d.ts +2 -2
  273. package/lib/number-box/number-box.component.d.ts +69 -69
  274. package/lib/number-box/number-box.module.d.ts +11 -11
  275. package/lib/page/base-page.class.d.ts +37 -37
  276. package/lib/page/index.d.ts +4 -4
  277. package/lib/page/page-footer.component.d.ts +7 -7
  278. package/lib/page/page.component.d.ts +13 -13
  279. package/lib/page/page.module.d.ts +7 -7
  280. package/lib/password-box/index.d.ts +2 -0
  281. package/lib/password-box/password-box.component.d.ts +24 -0
  282. package/lib/password-box/password-box.module.d.ts +12 -0
  283. package/lib/popover/index.d.ts +2 -2
  284. package/lib/popover/popover.component.d.ts +44 -30
  285. package/lib/popover/popover.module.d.ts +8 -8
  286. package/lib/popup/index.d.ts +3 -3
  287. package/lib/popup/popup.component.d.ts +33 -33
  288. package/lib/popup/popup.module.d.ts +12 -12
  289. package/lib/popup/popup.service.d.ts +37 -37
  290. package/lib/range-slider/index.d.ts +2 -2
  291. package/lib/range-slider/range-slider.component.d.ts +8 -8
  292. package/lib/range-slider/range-slider.module.d.ts +8 -8
  293. package/lib/selectbox/index.d.ts +2 -2
  294. package/lib/selectbox/selectbox.component.d.ts +29 -28
  295. package/lib/selectbox/selectbox.module.d.ts +14 -10
  296. package/lib/selection-list/index.d.ts +2 -2
  297. package/lib/selection-list/selection-list.component.d.ts +10 -10
  298. package/lib/selection-list/selection-list.module.d.ts +10 -10
  299. package/lib/side-menu/index.d.ts +2 -2
  300. package/lib/side-menu/side-menu.component.d.ts +8 -8
  301. package/lib/side-menu/side-menu.module.d.ts +8 -8
  302. package/lib/switch/index.d.ts +2 -2
  303. package/lib/switch/switch.component.d.ts +9 -9
  304. package/lib/switch/switch.module.d.ts +9 -9
  305. package/lib/tabs/index.d.ts +7 -5
  306. package/lib/tabs/tab-content.directive.d.ts +11 -0
  307. package/lib/tabs/tab-item.component.d.ts +16 -0
  308. package/lib/tabs/tab-strip.component.d.ts +19 -17
  309. package/lib/tabs/tab-view.component.d.ts +14 -14
  310. package/lib/tabs/tab.component.d.ts +18 -18
  311. package/lib/tabs/tabs.class.d.ts +18 -18
  312. package/lib/tabs/tabs.component.d.ts +19 -0
  313. package/lib/tabs/tabs.module.d.ts +12 -10
  314. package/lib/textbox/index.d.ts +2 -2
  315. package/lib/textbox/textbox.component.d.ts +19 -19
  316. package/lib/textbox/textbox.module.d.ts +13 -13
  317. package/lib/time-box/index.d.ts +2 -2
  318. package/lib/time-box/time-box.component.d.ts +29 -29
  319. package/lib/time-box/time-box.module.d.ts +11 -11
  320. package/lib/toast/index.d.ts +4 -4
  321. package/lib/toast/toast.class.d.ts +14 -14
  322. package/lib/toast/toast.component.d.ts +16 -16
  323. package/lib/toast/toast.module.d.ts +9 -9
  324. package/lib/toast/toast.service.d.ts +18 -18
  325. package/lib/tooltip/index.d.ts +3 -3
  326. package/lib/tooltip/tooltip.component.d.ts +10 -10
  327. package/lib/tooltip/tooltip.directive.d.ts +18 -18
  328. package/lib/tooltip/tooltip.module.d.ts +10 -10
  329. package/lib/validation/index.d.ts +2 -2
  330. package/lib/validation/validation-rule.widget.d.ts +25 -25
  331. package/lib/validation/validation.class.d.ts +17 -17
  332. package/lib/validation/validation.module.d.ts +9 -9
  333. package/package.json +18 -18
  334. package/public-api.d.ts +39 -37
  335. package/esm2015/lib/button/dropdown-button.component.js +0 -200
  336. package/lib/button/dropdown-button.component.d.ts +0 -234
@@ -1,18 +1,18 @@
1
- import { ElementRef, OnInit } from '@angular/core';
2
- import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
3
- import * as i0 from "@angular/core";
4
- export declare class AXTooltipDirective implements OnInit {
5
- private overlay;
6
- private overlayPositionBuilder;
7
- private elementRef;
8
- text: string;
9
- position: string;
10
- private overlayRef;
11
- positions: any;
12
- constructor(overlay: Overlay, overlayPositionBuilder: OverlayPositionBuilder, elementRef: ElementRef);
13
- ngOnInit(): void;
14
- show(): void;
15
- hide(): void;
16
- static ɵfac: i0.ɵɵFactoryDeclaration<AXTooltipDirective, never>;
17
- static ɵdir: i0.ɵɵDirectiveDeclaration<AXTooltipDirective, "[axTooltip]", never, { "text": "axTooltip"; "position": "axTooltipPositon"; }, {}, never>;
18
- }
1
+ import { ElementRef, OnInit } from '@angular/core';
2
+ import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
3
+ import * as i0 from "@angular/core";
4
+ export declare class AXTooltipDirective implements OnInit {
5
+ private overlay;
6
+ private overlayPositionBuilder;
7
+ private elementRef;
8
+ text: string;
9
+ position: string;
10
+ private overlayRef;
11
+ positions: any;
12
+ constructor(overlay: Overlay, overlayPositionBuilder: OverlayPositionBuilder, elementRef: ElementRef);
13
+ ngOnInit(): void;
14
+ show(): void;
15
+ hide(): void;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXTooltipDirective, never>;
17
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXTooltipDirective, "[axTooltip]", never, { "text": "axTooltip"; "position": "axTooltipPositon"; }, {}, never>;
18
+ }
@@ -1,10 +1,10 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./tooltip.component";
3
- import * as i2 from "./tooltip.directive";
4
- import * as i3 from "@angular/common";
5
- import * as i4 from "@angular/cdk/overlay";
6
- export declare class AXTooltipModule {
7
- static ɵfac: i0.ɵɵFactoryDeclaration<AXTooltipModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXTooltipModule, [typeof i1.AXTooltipComponent, typeof i2.AXTooltipDirective], [typeof i3.CommonModule, typeof i4.OverlayModule], [typeof i1.AXTooltipComponent, typeof i2.AXTooltipDirective]>;
9
- static ɵinj: i0.ɵɵInjectorDeclaration<AXTooltipModule>;
10
- }
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./tooltip.component";
3
+ import * as i2 from "./tooltip.directive";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "@angular/cdk/overlay";
6
+ export declare class AXTooltipModule {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXTooltipModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXTooltipModule, [typeof i1.AXTooltipComponent, typeof i2.AXTooltipDirective], [typeof i3.CommonModule, typeof i4.OverlayModule], [typeof i1.AXTooltipComponent, typeof i2.AXTooltipDirective]>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXTooltipModule>;
10
+ }
@@ -1,2 +1,2 @@
1
- export * from './validation-rule.widget';
2
- export * from './validation.module';
1
+ export * from './validation-rule.widget';
2
+ export * from './validation.module';
@@ -1,25 +1,25 @@
1
- import { ChangeDetectorRef, ElementRef } from '@angular/core';
2
- import { AXValidationRuleResult, AXValidationRule, AXValidationRuleTypes } from './validation.class';
3
- import { AXBaseComponentMixin } from '../base';
4
- import * as i0 from "@angular/core";
5
- export declare class AXValidationRules {
6
- private static registredRules;
7
- static addRule(name: string, rule: AXValidationRule): void;
8
- static get(name: string): {
9
- name: string;
10
- rule: AXValidationRule;
11
- };
12
- }
13
- export declare class AXValidationRuleComponent extends AXBaseComponentMixin implements AXValidationRule {
14
- rule: AXValidationRuleTypes;
15
- message: string;
16
- showMessage: boolean;
17
- value: any;
18
- enabled: boolean;
19
- constructor(elementRef: ElementRef, cdr: ChangeDetectorRef);
20
- onInit(): void;
21
- validate(value: any): Promise<AXValidationRuleResult>;
22
- private _internalValidate;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<AXValidationRuleComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<AXValidationRuleComponent, "ax-validation-rule", never, { "rule": "rule"; "message": "message"; "showMessage": "showMessage"; "value": "value"; "enabled": "enabled"; }, {}, never, never>;
25
- }
1
+ import { ChangeDetectorRef, ElementRef } from '@angular/core';
2
+ import { AXValidationRuleResult, AXValidationRule, AXValidationRuleTypes } from './validation.class';
3
+ import { AXBaseComponentMixin } from '../base';
4
+ import * as i0 from "@angular/core";
5
+ export declare class AXValidationRules {
6
+ private static registredRules;
7
+ static addRule(name: string, rule: AXValidationRule): void;
8
+ static get(name: string): {
9
+ name: string;
10
+ rule: AXValidationRule;
11
+ };
12
+ }
13
+ export declare class AXValidationRuleComponent extends AXBaseComponentMixin implements AXValidationRule {
14
+ rule: AXValidationRuleTypes;
15
+ message: string;
16
+ showMessage: boolean;
17
+ value: any;
18
+ enabled: boolean;
19
+ constructor(elementRef: ElementRef, cdr: ChangeDetectorRef);
20
+ onInit(): void;
21
+ validate(value: any): Promise<AXValidationRuleResult>;
22
+ private _internalValidate;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXValidationRuleComponent, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXValidationRuleComponent, "ax-validation-rule", never, { "rule": "rule"; "message": "message"; "showMessage": "showMessage"; "value": "value"; "enabled": "enabled"; }, {}, never, never>;
25
+ }
@@ -1,17 +1,17 @@
1
- export declare type AXValidationRuleTypes = 'required' | 'regex' | 'callback' | 'custom';
2
- export interface AXValidationRule {
3
- message?: string;
4
- rule: AXValidationRuleTypes;
5
- value?: any;
6
- enabled?: boolean;
7
- }
8
- export interface AXValidationRuleResult {
9
- message?: string;
10
- result: boolean;
11
- target?: any;
12
- value?: any;
13
- }
14
- export interface AXValidationResult {
15
- result: boolean;
16
- items?: AXValidationRuleResult[];
17
- }
1
+ export declare type AXValidationRuleTypes = 'required' | 'regex' | 'callback' | 'custom';
2
+ export interface AXValidationRule {
3
+ message?: string;
4
+ rule: AXValidationRuleTypes;
5
+ value?: any;
6
+ enabled?: boolean;
7
+ }
8
+ export interface AXValidationRuleResult {
9
+ message?: string;
10
+ result: boolean;
11
+ target?: any;
12
+ value?: any;
13
+ }
14
+ export interface AXValidationResult {
15
+ result: boolean;
16
+ items?: AXValidationRuleResult[];
17
+ }
@@ -1,9 +1,9 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./validation-rule.widget";
3
- import * as i2 from "@angular/common";
4
- export declare class AXValidationModule {
5
- constructor();
6
- static ɵfac: i0.ɵɵFactoryDeclaration<AXValidationModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXValidationModule, [typeof i1.AXValidationRuleComponent], [typeof i2.CommonModule], [typeof i1.AXValidationRuleComponent]>;
8
- static ɵinj: i0.ɵɵInjectorDeclaration<AXValidationModule>;
9
- }
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./validation-rule.widget";
3
+ import * as i2 from "@angular/common";
4
+ export declare class AXValidationModule {
5
+ constructor();
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXValidationModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXValidationModule, [typeof i1.AXValidationRuleComponent], [typeof i2.CommonModule], [typeof i1.AXValidationRuleComponent]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXValidationModule>;
9
+ }
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
- "name": "@acorex/components",
3
- "version": "5.0.4",
4
- "peerDependencies": {
5
- "@angular/common": "^12.2.6",
6
- "@angular/core": "^12.2.6"
7
- },
8
- "dependencies": {
9
- "@splidejs/splide": "^2.4.21",
10
- "ngx-mask": "^12.0.0",
11
- "tslib": "^2.3.0"
12
- },
13
- "main": "bundles/acorex-components.umd.js",
14
- "module": "fesm2015/acorex-components.js",
15
- "es2015": "fesm2015/acorex-components.js",
16
- "esm2015": "esm2015/acorex-components.js",
17
- "fesm2015": "fesm2015/acorex-components.js",
18
- "typings": "acorex-components.d.ts",
19
- "sideEffects": false
2
+ "name": "@acorex/components",
3
+ "version": "5.0.8",
4
+ "peerDependencies": {
5
+ "@angular/common": "^12.2.6",
6
+ "@angular/core": "^12.2.6"
7
+ },
8
+ "dependencies": {
9
+ "@splidejs/splide": "^2.4.21",
10
+ "ngx-mask": "^12.0.0",
11
+ "tslib": "^2.3.0"
12
+ },
13
+ "main": "bundles/acorex-components.umd.js",
14
+ "module": "fesm2015/acorex-components.js",
15
+ "es2015": "fesm2015/acorex-components.js",
16
+ "esm2015": "esm2015/acorex-components.js",
17
+ "fesm2015": "fesm2015/acorex-components.js",
18
+ "typings": "acorex-components.d.ts",
19
+ "sideEffects": false
20
20
  }
package/public-api.d.ts CHANGED
@@ -1,37 +1,39 @@
1
- /**
2
- * Public API refrences of components
3
- * @module @acorex/components
4
- */
5
- export * from "./lib/alert";
6
- export * from "./lib/avatar";
7
- export * from "./lib/base";
8
- export * from "./lib/button";
9
- export * from "./lib/calendar";
10
- export * from "./lib/carousel";
11
- export * from "./lib/checkbox";
12
- export * from "./lib/datalist";
13
- export * from "./lib/datepicker";
14
- export * from "./lib/decorators";
15
- export * from "./lib/dialog";
16
- export * from "./lib/drawer";
17
- export * from "./lib/dropdown";
18
- export * from "./lib/form";
19
- export * from "./lib/icon";
20
- export * from "./lib/input-mask";
21
- export * from "./lib/label";
22
- export * from "./lib/loading";
23
- export * from "./lib/number-box";
24
- export * from "./lib/page";
25
- export * from "./lib/popover";
26
- export * from "./lib/range-slider";
27
- export * from "./lib/popup";
28
- export * from "./lib/selectbox";
29
- export * from "./lib/selection-list";
30
- export * from "./lib/side-menu";
31
- export * from "./lib/switch";
32
- export * from "./lib/tabs";
33
- export * from "./lib/time-box";
34
- export * from "./lib/toast";
35
- export * from "./lib/tooltip";
36
- export * from "./lib/textbox";
37
- export * from "./lib/validation";
1
+ /**
2
+ * Public API refrences of components
3
+ * @module @acorex/components
4
+ */
5
+ export * from "./lib/alert";
6
+ export * from "./lib/avatar";
7
+ export * from "./lib/badge";
8
+ export * from "./lib/base";
9
+ export * from "./lib/button";
10
+ export * from "./lib/calendar";
11
+ export * from "./lib/carousel";
12
+ export * from "./lib/checkbox";
13
+ export * from "./lib/datalist";
14
+ export * from "./lib/datepicker";
15
+ export * from "./lib/decorators";
16
+ export * from "./lib/dialog";
17
+ export * from "./lib/drawer";
18
+ export * from "./lib/dropdown";
19
+ export * from "./lib/form";
20
+ export * from "./lib/icon";
21
+ export * from "./lib/input-mask";
22
+ export * from "./lib/label";
23
+ export * from "./lib/loading";
24
+ export * from "./lib/number-box";
25
+ export * from "./lib/page";
26
+ export * from "./lib/password-box";
27
+ export * from "./lib/popover";
28
+ export * from "./lib/popup";
29
+ export * from "./lib/range-slider";
30
+ export * from "./lib/selectbox";
31
+ export * from "./lib/selection-list";
32
+ export * from "./lib/side-menu";
33
+ export * from "./lib/switch";
34
+ export * from "./lib/tabs";
35
+ export * from "./lib/time-box";
36
+ export * from "./lib/toast";
37
+ export * from "./lib/tooltip";
38
+ export * from "./lib/textbox";
39
+ export * from "./lib/validation";
@@ -1,200 +0,0 @@
1
- import { TemplatePortal } from '@angular/cdk/portal';
2
- import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, HostListener, Input, Output, ViewChild, ViewChildren, ViewEncapsulation } from '@angular/core';
3
- import { AXBaseComponent } from '../base';
4
- import { BUTTON_INPUTS, _ButtonComponentMixin } from '../base/mixin/button-mixin.class';
5
- import { _ClickableComponenetMixin } from '../base/mixin/clickable-mixin.class';
6
- import { _DropdownComponenetMixin } from '../base/mixin/dropdown-mixin.class';
7
- import { _InteractiveComponenetMixin } from '../base/mixin/interactive-mixin.class';
8
- import { _SizableComponenetMixin } from '../base/mixin/sizable-mixin.class';
9
- import { AXButtonItemComponent } from './button-item.component';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/cdk/overlay";
12
- import * as i2 from "@acorex/core";
13
- import * as i3 from "../icon/icon.component";
14
- import * as i4 from "./button-item.component";
15
- import * as i5 from "../decorators/prefix.component";
16
- import * as i6 from "@angular/common";
17
- export const AXBaseDropdownButtonMixin = _SizableComponenetMixin(_InteractiveComponenetMixin(_ClickableComponenetMixin(_ButtonComponentMixin(_DropdownComponenetMixin((AXBaseComponent))))));
18
- export class AXDropdownButtonComponent extends AXBaseDropdownButtonMixin {
19
- constructor(_elementRef, _cdr, _overlay, _platform, _viewContainerRef) {
20
- super(_elementRef, _cdr);
21
- this._overlay = _overlay;
22
- this._platform = _platform;
23
- this._viewContainerRef = _viewContainerRef;
24
- this.onItemClick = new EventEmitter();
25
- this._subs = [];
26
- this.dropdownIcon = 'ax-ic-chevron ax-transform ax--rotate-90';
27
- this.splited = true;
28
- }
29
- get items() {
30
- return this._items || [];
31
- }
32
- set items(v) {
33
- this._items = v;
34
- this._cdr.markForCheck();
35
- }
36
- _getAllButtons() {
37
- return [...Array.from(this._viewButtons), ...Array.from(this._contentButtons)];
38
- }
39
- onViewInit() {
40
- this._getAllButtons().forEach(c => {
41
- this._subs.push(c.onClick.subscribe(this._handleOnItemClick.bind(this)));
42
- });
43
- }
44
- onDestroy() {
45
- var _a, _b;
46
- (_a = this._overlayRef) === null || _a === void 0 ? void 0 : _a.detach();
47
- (_b = this._overlayRef) === null || _b === void 0 ? void 0 : _b.dispose();
48
- this._subs.forEach(s => {
49
- s === null || s === void 0 ? void 0 : s.unsubscribe();
50
- });
51
- }
52
- _handleKeydownHandler(e) {
53
- if (e.key === 'Enter' && e.type === 'keydown') {
54
- this.toggle();
55
- }
56
- if (e.key === 'Escape') {
57
- if (this.isOpen) {
58
- this.close();
59
- e.stopPropagation();
60
- }
61
- }
62
- }
63
- _emitOnClickEvent(e) {
64
- if (!this.splited) {
65
- this.toggle();
66
- }
67
- else {
68
- super._emitOnClickEvent(e);
69
- }
70
- }
71
- _handleArrowClickEvent(e) {
72
- this.toggle();
73
- }
74
- _emitOnItemClickEvent(e, item) {
75
- this.onItemClick.emit({
76
- component: this,
77
- htmlElement: this._getHostElement(),
78
- nativeEvent: e.nativeEvent,
79
- name: item.name,
80
- data: item.data,
81
- });
82
- this.close();
83
- }
84
- _handleOnItemClick(e) {
85
- this.close();
86
- this._emitOnItemClickEvent(e, e.component);
87
- }
88
- toggle() {
89
- if (this.disabled !== true) {
90
- this.isOpen ? this.close() : this.open();
91
- }
92
- }
93
- close() {
94
- var _a, _b;
95
- if (!this.isOpen) {
96
- return;
97
- }
98
- (_a = this._overlayRef) === null || _a === void 0 ? void 0 : _a.detach();
99
- (_b = this._subs[1]) === null || _b === void 0 ? void 0 : _b.unsubscribe();
100
- this._emitOnClosedEvent();
101
- }
102
- open() {
103
- if (this.isOpen) {
104
- return;
105
- }
106
- this._ensureOverlayCreated();
107
- this._overlayRef.attach(this._templatePortal);
108
- this._emitOnOpenedEvent();
109
- }
110
- _ensureOverlayCreated() {
111
- let baseSize = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', '')) / 2;
112
- if (!this._overlayRef) {
113
- const positionStrategy = this._overlay.position()
114
- .flexibleConnectedTo(this._getInnerElement())
115
- .withPositions([
116
- {
117
- originX: 'start',
118
- originY: 'bottom',
119
- overlayX: 'start',
120
- overlayY: 'top',
121
- offsetY: baseSize
122
- },
123
- {
124
- originX: 'start',
125
- originY: 'top',
126
- overlayX: 'start',
127
- overlayY: 'bottom'
128
- }
129
- ])
130
- .withPush(false);
131
- this._overlayRef = this._overlay.create({
132
- positionStrategy,
133
- scrollStrategy: this._overlay.scrollStrategies.close(),
134
- panelClass: ['animate__animated', 'animate__fadeIn', 'animate__faster'],
135
- hasBackdrop: false,
136
- backdropClass: ['cdk-overlay-transparent-backdrop']
137
- });
138
- this._subs[0] = this._overlayRef._outsidePointerEvents.subscribe(c => {
139
- const target = c.target;
140
- const comElem = this._getHostElement();
141
- if (!(comElem.contains(target))) {
142
- this.close();
143
- }
144
- });
145
- this._subs[1] = this._overlayRef.attachments().subscribe(() => {
146
- if (this.fitParent === true) {
147
- this._dropdownWidth = this._getHostElement().offsetWidth;
148
- }
149
- else {
150
- this._dropdownWidth = this._getHostElement().offsetWidth * 1.5;
151
- }
152
- this._subs[2] = this._platform.scroll.subscribe(c => {
153
- if (!c.nativeEvent.target.closest('.ax-overlay-pane'))
154
- this.close();
155
- });
156
- });
157
- }
158
- if (!this._templatePortal) {
159
- this._templatePortal = new TemplatePortal(this._baseTemplate, this._viewContainerRef);
160
- }
161
- }
162
- get isOpen() {
163
- return this._overlayRef ? this._overlayRef.hasAttached() : false;
164
- }
165
- }
166
- AXDropdownButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i2.AXPlatform }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
167
- AXDropdownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: { disabled: "disabled", tabIndex: "tabIndex", size: "size", cssClass: "cssClass", text: "text", submitBehavior: "submitBehavior", cancelBehavior: "cancelBehavior", color: "color", look: "look", toggleable: "toggleable", selected: "selected", items: "items", dropdownIcon: "dropdownIcon", splited: "splited" }, outputs: { onClick: "onClick", onBlur: "onBlur", onFocus: "onFocus", onItemClick: "onItemClick" }, host: { listeners: { "keydown": "_handleKeydownHandler($event)" }, classAttribute: "ax-dropdown-button" }, queries: [{ propertyName: "_contentButtons", predicate: AXButtonItemComponent }], viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }, { propertyName: "_viewButtons", predicate: AXButtonItemComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<button [ngClass]=\"_classes\" class=\"{{cssClass}}\" [disabled]=\"disabled\" [tabindex]=\"tabIndex\" [attr.style]=\"cssStyle\"\n (click)=\"_emitOnClickEvent($event)\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\n <ng-content select=\"ax-loading\">\n </ng-content>\n <ng-content select=\"ax-prefix\">\n </ng-content>\n <ng-content select=\"ax-icon\">\n </ng-content>\n <span *ngIf=\"text\">{{text}}</span>\n <ng-content select=\"ax-suffix\">\n </ng-content>\n <ng-container *ngIf=\"!splited\">\n <ax-icon [icon]=\"dropdownIcon\"></ax-icon>\n </ng-container>\n</button>\n<button class=\"ax-button ax-dropdown-arrow {{cssClass}}\" (click)=\"_handleArrowClickEvent($event)\" *ngIf=\"splited\">\n <ax-icon [icon]=\"dropdownIcon\"></ax-icon>\n</button>\n<ng-template #baseTemplate>\n <div class=\"ax-overlay-pane ax-dropdown-list\" [style.min-width.px]=\"_dropdownWidth\">\n <ng-container *ngIf=\"items && items.length;else panelTpl\">\n <ax-button-item [text]=\"item.text\" [color]=\"item.color\" *ngFor=\"let item of items\">\n <ax-prefix *ngIf=\"item.iconClass\">\n <ax-icon [icon]=\"item.iconClass\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n <ng-template #panelTpl>\n <ng-content select=\"ng-container[panel],ax-button-item\">\n </ng-content>\n </ng-template>\n </div>\n</ng-template>", components: [{ type: i3.AXIconComponent, selector: "ax-icon", inputs: ["icon"] }, { type: i4.AXButtonItemComponent, selector: "ax-button-item", inputs: ["text", "tooltip", "selected", "seperated", "name", "data", "color"] }, { type: i5.AXDecoratorPrefixComponent, selector: "ax-prefix" }], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownButtonComponent, decorators: [{
169
- type: Component,
170
- args: [{
171
- selector: 'ax-dropdown-button',
172
- templateUrl: 'dropdown-button.component.html',
173
- inputs: ['disabled', 'tabIndex', 'size', 'cssClass', ...BUTTON_INPUTS],
174
- outputs: ['onClick', 'onBlur', 'onFocus'],
175
- encapsulation: ViewEncapsulation.None,
176
- changeDetection: ChangeDetectionStrategy.OnPush,
177
- host: { class: 'ax-dropdown-button' }
178
- }]
179
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i2.AXPlatform }, { type: i0.ViewContainerRef }]; }, propDecorators: { _contentButtons: [{
180
- type: ContentChildren,
181
- args: [AXButtonItemComponent]
182
- }], _viewButtons: [{
183
- type: ViewChildren,
184
- args: [AXButtonItemComponent]
185
- }], onItemClick: [{
186
- type: Output
187
- }], items: [{
188
- type: Input
189
- }], _baseTemplate: [{
190
- type: ViewChild,
191
- args: ['baseTemplate']
192
- }], dropdownIcon: [{
193
- type: Input
194
- }], splited: [{
195
- type: Input
196
- }], _handleKeydownHandler: [{
197
- type: HostListener,
198
- args: ['keydown', ['$event']]
199
- }] } });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvYnV0dG9uL2Ryb3Bkb3duLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2J1dHRvbi9kcm9wZG93bi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBR04sU0FBUyxFQUNULFlBQVksRUFFWixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBeUUsTUFBTSxTQUFTLENBQUM7QUFDakgsT0FBTyxFQUFFLGFBQWEsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQUVoRSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FDbEMsdUJBQXVCLENBQ25CLDJCQUEyQixDQUN2Qix5QkFBeUIsQ0FDckIscUJBQXFCLENBQ2pCLHdCQUF3QixDQUFDLENBQUMsZUFB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LFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3JFLENBQUM7O3NIQWhNUSx5QkFBeUI7MEdBQXpCLHlCQUF5QixzbUJBRWpCLHFCQUFxQiw4SkFDeEIscUJBQXFCLHVFQ3hEdkMsMitDQWdDYzsyRkRxQkQseUJBQXlCO2tCQVRyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLGFBQWEsQ0FBQztvQkFDdEUsT0FBTyxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUM7b0JBQ3pDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO2lCQUN4QzsrTUFHMkMsZUFBZTtzQkFBdEQsZUFBZTt1QkFBQyxxQkFBcUI7Z0JBQ0QsWUFBWTtzQkFBaEQsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBR25DLFdBQVc7c0JBRFYsTUFBTTtnQkFTSSxLQUFLO3NCQURmLEtBQUs7Z0JBWU4sYUFBYTtzQkFEWixTQUFTO3VCQUFDLGNBQWM7Z0JBd0N6QixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLHFCQUFxQjtzQkFEcEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBsYXRmb3JtIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50LCBBWEJ1dHRvbkNsaWNrRXZlbnQsIEFYQ2xpY2tFdmVudCwgQVhTdHlsZUJ1dHRvbkxvb2ssIEFYU3R5bGVDb2xvclR5cGUgfSBmcm9tICcuLi9iYXNlJztcbmltcG9ydCB7IEJVVFRPTl9JTlBVVFMsIF9CdXR0b25Db21wb25lbnRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vYnV0dG9uLW1peGluLmNsYXNzJztcbmltcG9ydCB7IF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2NsaWNrYWJsZS1taXhpbi5jbGFzcyc7XG5pbXBvcnQgeyBfRGF0YWxpc3RDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2RhdGFsaXN0LWNvbXBvbmVudC5jbGFzcyc7XG5pbXBvcnQgeyBfRHJvcGRvd25Db21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2Ryb3Bkb3duLW1peGluLmNsYXNzJztcbmltcG9ydCB7IF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vaW50ZXJhY3RpdmUtbWl4aW4uY2xhc3MnO1xuaW1wb3J0IHsgX1NpemFibGVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL3NpemFibGUtbWl4aW4uY2xhc3MnO1xuaW1wb3J0IHsgX1ZhbHVlQ29tcG9uZW5ldE1peGluIH0gZnJvbSAnLi4vYmFzZS9taXhpbi92YWx1ZS1taXhpbi5jbGFzcyc7XG5pbXBvcnQgeyBBWEJ1dHRvbkl0ZW0gfSBmcm9tICcuL2J1dHRvbi1pdGVtLmNsYXNzJztcbmltcG9ydCB7IEFYQnV0dG9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uLWl0ZW0uY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IEFYQmFzZURyb3Bkb3duQnV0dG9uTWl4aW4gPVxuICAgIF9TaXphYmxlQ29tcG9uZW5ldE1peGluKFxuICAgICAgICBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4oXG4gICAgICAgICAgICBfQ2xpY2thYmxlQ29tcG9uZW5ldE1peGluKFxuICAgICAgICAgICAgICAgIF9CdXR0b25Db21wb25lbnRNaXhpbihcbiAgICAgICAgICAgICAgICAgICAgX0Ryb3Bkb3duQ29tcG9uZW5ldE1peGluKChBWEJhc2VDb21wb25lbnQpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICApXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXgtZHJvcGRvd24tYnV0dG9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2Ryb3Bkb3duLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3RhYkluZGV4JywgJ3NpemUnLCAnY3NzQ2xhc3MnLCAuLi5CVVRUT05fSU5QVVRTXSxcbiAgICBvdXRwdXRzOiBbJ29uQ2xpY2snLCAnb25CbHVyJywgJ29uRm9jdXMnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdheC1kcm9wZG93bi1idXR0b24nIH1cbn0pXG5leHBvcnQgY2xhc3MgQVhEcm9wZG93bkJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIEFYQmFzZURyb3Bkb3duQnV0dG9uTWl4aW4ge1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihBWEJ1dHRvbkl0ZW1Db21wb25lbnQpIF9jb250ZW50QnV0dG9uczogUXVlcnlMaXN0PEFYQnV0dG9uSXRlbUNvbXBvbmVudD47XG4gICAgQFZpZXdDaGlsZHJlbihBWEJ1dHRvbkl0ZW1Db21wb25lbnQpIF92aWV3QnV0dG9uczogUXVlcnlMaXN0PEFYQnV0dG9uSXRlbUNvbXBvbmVudD47XG5cbiAgICBAT3V0cHV0KClcbiAgICBvbkl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEFYQnV0dG9uQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQnV0dG9uQ2xpY2tFdmVudD4oKTtcblxuXG5cblxuXG4gICAgcHJpdmF0ZSBfaXRlbXM6IEFYQnV0dG9uSXRlbVtdO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBpdGVtcygpOiBBWEJ1dHRvbkl0ZW1bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pdGVtcyB8fCBbXTtcbiAgICB9XG4gICAgcHVibGljIHNldCBpdGVtcyh2OiBBWEJ1dHRvbkl0ZW1bXSkge1xuICAgICAgICB0aGlzLl9pdGVtcyA9IHY7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cblxuXG4gICAgQFZpZXdDaGlsZCgnYmFzZVRlbXBsYXRlJylcbiAgICBfYmFzZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuICAgIF90ZW1wbGF0ZVBvcnRhbDogVGVtcGxhdGVQb3J0YWw7XG5cbiAgICBfZHJvcGRvd25XaWR0aDogbnVtYmVyO1xuICAgIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIF9wbGF0Zm9ybTogQVhQbGF0Zm9ybSxcbiAgICAgICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcihfZWxlbWVudFJlZiwgX2NkcilcbiAgICB9XG5cblxuXG4gICAgcHJpdmF0ZSBfZ2V0QWxsQnV0dG9ucygpOiBBWEJ1dHRvbkl0ZW1Db21wb25lbnRbXSB7XG4gICAgICAgIHJldHVybiBbLi4uQXJyYXkuZnJvbSh0aGlzLl92aWV3QnV0dG9ucyksIC4uLkFycmF5LmZyb20odGhpcy5fY29udGVudEJ1dHRvbnMpXTtcbiAgICB9XG5cblxuICAgIG9uVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuX2dldEFsbEJ1dHRvbnMoKS5mb3JFYWNoKGMgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc3Vicy5wdXNoKGMub25DbGljay5zdWJzY3JpYmUodGhpcy5faGFuZGxlT25JdGVtQ2xpY2suYmluZCh0aGlzKSkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gICAgICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHtcbiAgICAgICAgICAgIHM/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgZHJvcGRvd25JY29uOiBzdHJpbmcgPSAnYXgtaWMtY2hldnJvbiBheC10cmFuc2Zvcm0gYXgtLXJvdGF0ZS05MCc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNwbGl0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgX2hhbmRsZUtleWRvd25IYW5kbGVyKGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmIGUudHlwZSA9PT0gJ2tleWRvd24nKSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgX2VtaXRPbkNsaWNrRXZlbnQoZTogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuc3BsaXRlZCkge1xuICAgICAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLl9lbWl0T25DbGlja0V2ZW50KGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgX2hhbmRsZUFycm93Q2xpY2tFdmVudChlOiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgfVxuXG4gICAgX2VtaXRPbkl0ZW1DbGlja0V2ZW50KGU6IEFYQ2xpY2tFdmVudCwgaXRlbTogQVhCdXR0b25JdGVtQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25JdGVtQ2xpY2suZW1pdCh7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgICBodG1sRWxlbWVudDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSxcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBlLm5hdGl2ZUV2ZW50LFxuICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgICAgICAgICAgZGF0YTogaXRlbS5kYXRhLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2hhbmRsZU9uSXRlbUNsaWNrKGU6IEFYQ2xpY2tFdmVudCkge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIHRoaXMuX2VtaXRPbkl0ZW1DbGlja0V2ZW50KGUsIGUuY29tcG9uZW50KTtcblxuICAgIH1cblxuXG4gICAgdG9nZ2xlKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCAhPT0gdHJ1ZSkge1xuICAgICAgICAgICAgdGhpcy5pc09wZW4gPyB0aGlzLmNsb3NlKCkgOiB0aGlzLm9wZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsb3NlKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgICAgIHRoaXMuX3N1YnNbMV0/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2VtaXRPbkNsb3NlZEV2ZW50KCk7XG4gICAgfVxuXG4gICAgb3BlbigpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZW5zdXJlT3ZlcmxheUNyZWF0ZWQoKTtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5hdHRhY2godGhpcy5fdGVtcGxhdGVQb3J0YWwpO1xuICAgICAgICB0aGlzLl9lbWl0T25PcGVuZWRFdmVudCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Vuc3VyZU92ZXJsYXlDcmVhdGVkKCkge1xuICAgICAgICBsZXQgYmFzZVNpemUgPSBOdW1iZXIoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tYXgtYmFzZS1zaXplJykucmVwbGFjZSgncHgnLCAnJykpIC8gMjtcblxuICAgICAgICBpZiAoIXRoaXMuX292ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKClcbiAgICAgICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLl9nZXRJbm5lckVsZW1lbnQoKSlcbiAgICAgICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0WTogYmFzZVNpemVcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgLndpdGhQdXNoKGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKCksXG4gICAgICAgICAgICAgICAgcGFuZWxDbGFzczogWydhbmltYXRlX19hbmltYXRlZCcsICdhbmltYXRlX19mYWRlSW4nLCAnYW5pbWF0ZV9fZmFzdGVyJ10sXG4gICAgICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6IFsnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLl9zdWJzWzBdID0gdGhpcy5fb3ZlcmxheVJlZi5fb3V0c2lkZVBvaW50ZXJFdmVudHMuc3Vic2NyaWJlKGMgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGMudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbUVsZW0gPSB0aGlzLl9nZXRIb3N0RWxlbWVudCgpO1xuICAgICAgICAgICAgICAgIGlmICghKGNvbUVsZW0uY29udGFpbnModGFyZ2V0KSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5fc3Vic1sxXSA9IHRoaXMuX292ZXJsYXlSZWYuYXR0YWNobWVudHMoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpdFBhcmVudCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9kcm9wZG93bldpZHRoID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9kcm9wZG93bldpZHRoID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5vZmZzZXRXaWR0aCAqIDEuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fc3Vic1syXSA9IHRoaXMuX3BsYXRmb3JtLnNjcm9sbC5zdWJzY3JpYmUoYyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghKGMubmF0aXZlRXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCcuYXgtb3ZlcmxheS1wYW5lJykpXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuX3RlbXBsYXRlUG9ydGFsKSB7XG4gICAgICAgICAgICB0aGlzLl90ZW1wbGF0ZVBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLl9iYXNlVGVtcGxhdGUsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX292ZXJsYXlSZWYgPyB0aGlzLl9vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkgOiBmYWxzZTtcbiAgICB9XG5cblxufSIsIjxidXR0b24gW25nQ2xhc3NdPVwiX2NsYXNzZXNcIiBjbGFzcz1cInt7Y3NzQ2xhc3N9fVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiIFthdHRyLnN0eWxlXT1cImNzc1N0eWxlXCJcbiAgICAoY2xpY2spPVwiX2VtaXRPbkNsaWNrRXZlbnQoJGV2ZW50KVwiIChmb2N1cyk9XCJfZW1pdE9uRm9jdXNFdmVudCgkZXZlbnQpXCIgKGJsdXIpPVwiX2VtaXRPbkJsdXJFdmVudCgkZXZlbnQpXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtbG9hZGluZ1wiPlxuICAgIDwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj5cbiAgICA8L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtaWNvblwiPlxuICAgIDwvbmctY29udGVudD5cbiAgICA8c3BhbiAqbmdJZj1cInRleHRcIj57e3RleHR9fTwvc3Bhbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj5cbiAgICA8L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzcGxpdGVkXCI+XG4gICAgICAgIDxheC1pY29uIFtpY29uXT1cImRyb3Bkb3duSWNvblwiPjwvYXgtaWNvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvYnV0dG9uPlxuPGJ1dHRvbiBjbGFzcz1cImF4LWJ1dHRvbiBheC1kcm9wZG93bi1hcnJvdyB7e2Nzc0NsYXNzfX1cIiAoY2xpY2spPVwiX2hhbmRsZUFycm93Q2xpY2tFdmVudCgkZXZlbnQpXCIgKm5nSWY9XCJzcGxpdGVkXCI+XG4gICAgPGF4LWljb24gW2ljb25dPVwiZHJvcGRvd25JY29uXCI+PC9heC1pY29uPlxuPC9idXR0b24+XG48bmctdGVtcGxhdGUgI2Jhc2VUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtb3ZlcmxheS1wYW5lIGF4LWRyb3Bkb3duLWxpc3RcIiBbc3R5bGUubWluLXdpZHRoLnB4XT1cIl9kcm9wZG93bldpZHRoXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtcyAmJiBpdGVtcy5sZW5ndGg7ZWxzZSBwYW5lbFRwbFwiPlxuICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIFt0ZXh0XT1cIml0ZW0udGV4dFwiIFtjb2xvcl09XCJpdGVtLmNvbG9yXCIgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiPlxuICAgICAgICAgICAgICAgIDxheC1wcmVmaXggKm5nSWY9XCJpdGVtLmljb25DbGFzc1wiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBbaWNvbl09XCJpdGVtLmljb25DbGFzc1wiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3BhbmVsVHBsPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibmctY29udGFpbmVyW3BhbmVsXSxheC1idXR0b24taXRlbVwiPlxuICAgICAgICAgICAgPC9uZy1jb250ZW50PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=