@ng-nest/ui 17.0.1 → 17.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (659) hide show
  1. package/affix/affix.component.d.ts +1 -2
  2. package/affix/affix.module.d.ts +1 -3
  3. package/alert/alert.component.d.ts +4 -5
  4. package/alert/alert.module.d.ts +1 -8
  5. package/anchor/anchor-inner.component.d.ts +1 -1
  6. package/anchor/anchor.component.d.ts +6 -7
  7. package/anchor/anchor.module.d.ts +2 -6
  8. package/api/api.component.d.ts +4 -4
  9. package/api/api.module.d.ts +1 -2
  10. package/auto-complete/auto-complete-portal.component.d.ts +3 -5
  11. package/auto-complete/auto-complete.component.d.ts +12 -13
  12. package/auto-complete/auto-complete.module.d.ts +1 -9
  13. package/avatar/avatar-group.component.d.ts +1 -2
  14. package/avatar/avatar.component.d.ts +6 -7
  15. package/avatar/avatar.module.d.ts +2 -6
  16. package/back-top/back-top.component.d.ts +7 -12
  17. package/back-top/back-top.module.d.ts +1 -5
  18. package/badge/badge.component.d.ts +3 -8
  19. package/badge/badge.module.d.ts +1 -3
  20. package/base-form/base-form.component.d.ts +1 -1
  21. package/base-form/base-form.module.d.ts +1 -2
  22. package/border/border.component.d.ts +4 -4
  23. package/border/border.module.d.ts +1 -1
  24. package/button/button.component.d.ts +8 -10
  25. package/button/button.module.d.ts +1 -5
  26. package/button/buttons.component.d.ts +4 -5
  27. package/calendar/calendar.component.d.ts +9 -13
  28. package/calendar/calendar.module.d.ts +1 -10
  29. package/card/card.component.d.ts +2 -6
  30. package/card/card.module.d.ts +1 -5
  31. package/carousel/carousel-panel.component.d.ts +10 -13
  32. package/carousel/carousel.component.d.ts +4 -7
  33. package/carousel/carousel.module.d.ts +1 -5
  34. package/cascade/cascade-portal.component.d.ts +4 -5
  35. package/cascade/cascade.component.d.ts +14 -13
  36. package/cascade/cascade.module.d.ts +1 -9
  37. package/checkbox/checkbox.component.d.ts +6 -8
  38. package/checkbox/checkbox.module.d.ts +1 -8
  39. package/collapse/collapse-panel.component.d.ts +5 -8
  40. package/collapse/collapse.component.d.ts +3 -7
  41. package/collapse/collapse.module.d.ts +1 -5
  42. package/color/color.component.d.ts +4 -5
  43. package/color/color.module.d.ts +1 -3
  44. package/color-picker/color-picker-portal.component.d.ts +7 -11
  45. package/color-picker/color-picker.component.d.ts +11 -12
  46. package/color-picker/color-picker.module.d.ts +1 -11
  47. package/comment/comment-reply.component.d.ts +4 -9
  48. package/comment/comment.component.d.ts +5 -9
  49. package/comment/comment.module.d.ts +1 -11
  50. package/container/aside.component.d.ts +5 -5
  51. package/container/container.component.d.ts +2 -3
  52. package/container/container.module.d.ts +1 -3
  53. package/container/footer.component.d.ts +5 -7
  54. package/container/header.component.d.ts +5 -7
  55. package/container/main.component.d.ts +4 -4
  56. package/crumb/crumb.component.d.ts +4 -5
  57. package/crumb/crumb.module.d.ts +1 -5
  58. package/date-picker/date-picker-portal.component.d.ts +5 -9
  59. package/date-picker/date-picker.component.d.ts +14 -16
  60. package/date-picker/date-picker.module.d.ts +2 -21
  61. package/date-picker/date-quarter.pipe.d.ts +1 -1
  62. package/date-picker/date-range-portal.component.d.ts +1 -1
  63. package/date-picker/date-range.component.d.ts +17 -19
  64. package/date-picker/picker-date.component.d.ts +8 -11
  65. package/date-picker/picker-month.component.d.ts +8 -11
  66. package/date-picker/picker-quarter.component.d.ts +9 -14
  67. package/date-picker/picker-year.component.d.ts +5 -8
  68. package/description/description-item.component.d.ts +1 -2
  69. package/description/description.component.d.ts +4 -5
  70. package/description/description.module.d.ts +2 -5
  71. package/dialog/dialog-container.component.d.ts +1 -2
  72. package/dialog/dialog-portal.component.d.ts +1 -1
  73. package/dialog/dialog-portal.directives.d.ts +13 -17
  74. package/dialog/dialog.component.d.ts +15 -17
  75. package/dialog/dialog.module.d.ts +1 -14
  76. package/dialog/dialog.service.d.ts +8 -10
  77. package/doc/doc.component.d.ts +6 -6
  78. package/doc/doc.module.d.ts +1 -2
  79. package/drag/drag.directive.d.ts +5 -6
  80. package/drag/drag.module.d.ts +1 -2
  81. package/drawer/drawer-container.component.d.ts +1 -2
  82. package/drawer/drawer-portal.component.d.ts +1 -2
  83. package/drawer/drawer-portal.directives.d.ts +5 -6
  84. package/drawer/drawer.component.d.ts +10 -15
  85. package/drawer/drawer.module.d.ts +2 -8
  86. package/drawer/drawer.service.d.ts +5 -7
  87. package/dropdown/dropdown-portal.component.d.ts +1 -1
  88. package/dropdown/dropdown.component.d.ts +10 -13
  89. package/dropdown/dropdown.module.d.ts +1 -7
  90. package/empty/empty.component.d.ts +4 -7
  91. package/empty/empty.module.d.ts +1 -6
  92. package/esm2022/affix/affix.component.mjs +10 -10
  93. package/esm2022/affix/affix.module.mjs +4 -7
  94. package/esm2022/alert/alert.component.mjs +26 -18
  95. package/esm2022/alert/alert.module.mjs +4 -12
  96. package/esm2022/alert/alert.property.mjs +1 -1
  97. package/esm2022/anchor/anchor-inner.component.mjs +3 -2
  98. package/esm2022/anchor/anchor.component.mjs +21 -21
  99. package/esm2022/anchor/anchor.module.mjs +4 -9
  100. package/esm2022/anchor/anchor.property.mjs +1 -1
  101. package/esm2022/api/api.component.mjs +13 -11
  102. package/esm2022/api/api.module.mjs +4 -6
  103. package/esm2022/auto-complete/auto-complete-portal.component.mjs +14 -15
  104. package/esm2022/auto-complete/auto-complete.component.mjs +43 -30
  105. package/esm2022/auto-complete/auto-complete.module.mjs +5 -14
  106. package/esm2022/avatar/avatar-group.component.mjs +6 -6
  107. package/esm2022/avatar/avatar.component.mjs +17 -18
  108. package/esm2022/avatar/avatar.module.mjs +4 -9
  109. package/esm2022/avatar/avatar.property.mjs +1 -1
  110. package/esm2022/back-top/back-top.component.mjs +25 -29
  111. package/esm2022/back-top/back-top.module.mjs +4 -9
  112. package/esm2022/badge/badge.component.mjs +18 -22
  113. package/esm2022/badge/badge.module.mjs +4 -7
  114. package/esm2022/base-form/base-form.component.mjs +9 -4
  115. package/esm2022/base-form/base-form.module.mjs +4 -5
  116. package/esm2022/base-form/base-form.property.mjs +1 -1
  117. package/esm2022/border/border.component.mjs +13 -11
  118. package/esm2022/border/border.module.mjs +3 -3
  119. package/esm2022/button/button.component.mjs +19 -23
  120. package/esm2022/button/button.module.mjs +4 -9
  121. package/esm2022/button/button.property.mjs +1 -1
  122. package/esm2022/button/buttons.component.mjs +15 -14
  123. package/esm2022/calendar/calendar.component.mjs +35 -25
  124. package/esm2022/calendar/calendar.module.mjs +4 -14
  125. package/esm2022/card/card.component.mjs +14 -16
  126. package/esm2022/card/card.module.mjs +4 -9
  127. package/esm2022/carousel/carousel-panel.component.mjs +37 -33
  128. package/esm2022/carousel/carousel.component.mjs +19 -22
  129. package/esm2022/carousel/carousel.module.mjs +5 -10
  130. package/esm2022/carousel/carousel.property.mjs +1 -1
  131. package/esm2022/cascade/cascade-portal.component.mjs +19 -17
  132. package/esm2022/cascade/cascade.component.mjs +37 -30
  133. package/esm2022/cascade/cascade.module.mjs +5 -14
  134. package/esm2022/checkbox/checkbox.component.mjs +31 -23
  135. package/esm2022/checkbox/checkbox.module.mjs +4 -12
  136. package/esm2022/collapse/collapse-panel.component.mjs +19 -20
  137. package/esm2022/collapse/collapse.component.mjs +11 -14
  138. package/esm2022/collapse/collapse.module.mjs +4 -9
  139. package/esm2022/color/color.component.mjs +15 -16
  140. package/esm2022/color/color.module.mjs +4 -7
  141. package/esm2022/color-picker/color-picker-portal.component.mjs +53 -35
  142. package/esm2022/color-picker/color-picker.component.mjs +36 -35
  143. package/esm2022/color-picker/color-picker.module.mjs +5 -42
  144. package/esm2022/comment/comment-reply.component.mjs +18 -18
  145. package/esm2022/comment/comment.component.mjs +32 -24
  146. package/esm2022/comment/comment.module.mjs +4 -41
  147. package/esm2022/comment/comment.property.mjs +1 -1
  148. package/esm2022/container/aside.component.mjs +15 -12
  149. package/esm2022/container/container.component.mjs +14 -13
  150. package/esm2022/container/container.module.mjs +5 -35
  151. package/esm2022/container/footer.component.mjs +17 -20
  152. package/esm2022/container/header.component.mjs +17 -20
  153. package/esm2022/container/main.component.mjs +14 -11
  154. package/esm2022/core/config/config.service.mjs +8 -3
  155. package/esm2022/core/services/preloading-strategy.service.mjs +4 -3
  156. package/esm2022/crumb/crumb.component.mjs +15 -15
  157. package/esm2022/crumb/crumb.module.mjs +4 -9
  158. package/esm2022/date-picker/date-picker-portal.component.mjs +36 -27
  159. package/esm2022/date-picker/date-picker.component.mjs +51 -46
  160. package/esm2022/date-picker/date-picker.module.mjs +5 -106
  161. package/esm2022/date-picker/date-quarter.pipe.mjs +3 -3
  162. package/esm2022/date-picker/date-range-portal.component.mjs +22 -11
  163. package/esm2022/date-picker/date-range.component.mjs +53 -51
  164. package/esm2022/date-picker/picker-date.component.mjs +44 -38
  165. package/esm2022/date-picker/picker-month.component.mjs +30 -28
  166. package/esm2022/date-picker/picker-quarter.component.mjs +30 -30
  167. package/esm2022/date-picker/picker-year.component.mjs +25 -23
  168. package/esm2022/description/description-item.component.mjs +7 -9
  169. package/esm2022/description/description.component.mjs +13 -13
  170. package/esm2022/description/description.module.mjs +4 -8
  171. package/esm2022/dialog/dialog-container.component.mjs +8 -7
  172. package/esm2022/dialog/dialog-portal.component.mjs +27 -11
  173. package/esm2022/dialog/dialog-portal.directives.mjs +39 -39
  174. package/esm2022/dialog/dialog-ref.mjs +1 -1
  175. package/esm2022/dialog/dialog.component.mjs +40 -47
  176. package/esm2022/dialog/dialog.module.mjs +11 -69
  177. package/esm2022/dialog/dialog.service.mjs +15 -16
  178. package/esm2022/doc/doc.component.mjs +12 -9
  179. package/esm2022/doc/doc.module.mjs +4 -6
  180. package/esm2022/drag/drag.directive.mjs +10 -10
  181. package/esm2022/drag/drag.module.mjs +4 -6
  182. package/esm2022/drawer/drawer-container.component.mjs +8 -7
  183. package/esm2022/drawer/drawer-portal.component.mjs +12 -11
  184. package/esm2022/drawer/drawer-portal.directives.mjs +17 -16
  185. package/esm2022/drawer/drawer.component.mjs +23 -32
  186. package/esm2022/drawer/drawer.module.mjs +9 -25
  187. package/esm2022/drawer/drawer.service.mjs +14 -14
  188. package/esm2022/dropdown/dropdown-portal.component.mjs +7 -5
  189. package/esm2022/dropdown/dropdown.component.mjs +31 -24
  190. package/esm2022/dropdown/dropdown.module.mjs +5 -12
  191. package/esm2022/empty/empty.component.mjs +21 -17
  192. package/esm2022/empty/empty.module.mjs +4 -10
  193. package/esm2022/examples/examples.component.mjs +12 -9
  194. package/esm2022/examples/examples.module.mjs +4 -6
  195. package/esm2022/find/find.component.mjs +48 -29
  196. package/esm2022/find/find.module.mjs +4 -52
  197. package/esm2022/form/control.component.mjs +69 -39
  198. package/esm2022/form/form.component.mjs +27 -18
  199. package/esm2022/form/form.module.mjs +4 -69
  200. package/esm2022/highlight/highlight.component.mjs +26 -23
  201. package/esm2022/highlight/highlight.module.mjs +4 -8
  202. package/esm2022/i18n/i18n.directive.mjs +13 -10
  203. package/esm2022/i18n/i18n.module.mjs +3 -3
  204. package/esm2022/i18n/i18n.pipe.mjs +4 -3
  205. package/esm2022/i18n/i18n.service.mjs +7 -11
  206. package/esm2022/icon/icon.component.mjs +20 -21
  207. package/esm2022/icon/icon.module.mjs +4 -9
  208. package/esm2022/icon/icon.property.mjs +1 -1
  209. package/esm2022/icon/icon.service.mjs +35 -34
  210. package/esm2022/image/image-group.component.mjs +4 -3
  211. package/esm2022/image/image-preview.component.mjs +26 -31
  212. package/esm2022/image/image.component.mjs +30 -29
  213. package/esm2022/image/image.module.mjs +4 -13
  214. package/esm2022/inner/inner.component.mjs +14 -13
  215. package/esm2022/inner/inner.module.mjs +4 -7
  216. package/esm2022/input/input-group.component.mjs +12 -13
  217. package/esm2022/input/input.component.mjs +33 -34
  218. package/esm2022/input/input.module.mjs +4 -11
  219. package/esm2022/input-number/input-number.component.mjs +23 -26
  220. package/esm2022/input-number/input-number.module.mjs +4 -11
  221. package/esm2022/keyword/keyword.directive.mjs +13 -13
  222. package/esm2022/keyword/keyword.module.mjs +4 -7
  223. package/esm2022/keyword/keyword.property.mjs +3 -3
  224. package/esm2022/layout/col.component.mjs +14 -18
  225. package/esm2022/layout/layout.module.mjs +4 -7
  226. package/esm2022/layout/layout.property.mjs +1 -1
  227. package/esm2022/layout/row.component.mjs +12 -12
  228. package/esm2022/link/link.component.mjs +17 -18
  229. package/esm2022/link/link.module.mjs +4 -10
  230. package/esm2022/list/list-drop-group.directive.mjs +3 -2
  231. package/esm2022/list/list-option.component.mjs +16 -16
  232. package/esm2022/list/list.component.mjs +38 -32
  233. package/esm2022/list/list.module.mjs +4 -52
  234. package/esm2022/loading/loading.component.mjs +19 -21
  235. package/esm2022/loading/loading.module.mjs +4 -10
  236. package/esm2022/menu/menu-node.component.mjs +17 -17
  237. package/esm2022/menu/menu.component.mjs +21 -23
  238. package/esm2022/menu/menu.module.mjs +4 -11
  239. package/esm2022/message/message.component.mjs +10 -11
  240. package/esm2022/message/message.module.mjs +5 -12
  241. package/esm2022/message/message.service.mjs +12 -12
  242. package/esm2022/message-box/message-box.component.mjs +20 -8
  243. package/esm2022/message-box/message-box.module.mjs +5 -47
  244. package/esm2022/message-box/message-box.service.mjs +12 -11
  245. package/esm2022/notification/notification.component.mjs +10 -11
  246. package/esm2022/notification/notification.module.mjs +5 -12
  247. package/esm2022/notification/notification.service.mjs +14 -10
  248. package/esm2022/outlet/outlet.directive.mjs +9 -9
  249. package/esm2022/outlet/outlet.module.mjs +4 -6
  250. package/esm2022/page-header/page-header.component.mjs +19 -18
  251. package/esm2022/page-header/page-header.module.mjs +4 -8
  252. package/esm2022/pagination/pagination.component.mjs +39 -29
  253. package/esm2022/pagination/pagination.module.mjs +4 -13
  254. package/esm2022/pattern/pattern.component.mjs +12 -9
  255. package/esm2022/pattern/pattern.module.mjs +4 -6
  256. package/esm2022/popconfirm/popconfirm.component.mjs +24 -25
  257. package/esm2022/popconfirm/popconfirm.module.mjs +4 -11
  258. package/esm2022/popover/popover-portal.component.mjs +15 -14
  259. package/esm2022/popover/popover.directive.mjs +16 -18
  260. package/esm2022/popover/popover.module.mjs +5 -11
  261. package/esm2022/portal/portal.module.mjs +6 -9
  262. package/esm2022/portal/portal.service.mjs +12 -11
  263. package/esm2022/progress/progress.component.mjs +16 -18
  264. package/esm2022/progress/progress.module.mjs +4 -9
  265. package/esm2022/radio/radio.component.mjs +21 -21
  266. package/esm2022/radio/radio.module.mjs +4 -12
  267. package/esm2022/rate/rate.component.mjs +22 -21
  268. package/esm2022/rate/rate.module.mjs +4 -11
  269. package/esm2022/resizable/resizable.directive.mjs +56 -45
  270. package/esm2022/resizable/resizable.module.mjs +5 -7
  271. package/esm2022/resizable/resizable.property.mjs +3 -3
  272. package/esm2022/result/result.component.mjs +15 -18
  273. package/esm2022/result/result.module.mjs +4 -9
  274. package/esm2022/ripple/ripple.directive.mjs +11 -10
  275. package/esm2022/ripple/ripple.module.mjs +5 -8
  276. package/esm2022/select/select-portal.component.mjs +6 -4
  277. package/esm2022/select/select.component.mjs +52 -50
  278. package/esm2022/select/select.module.mjs +5 -46
  279. package/esm2022/skeleton/skeleton.component.mjs +14 -16
  280. package/esm2022/skeleton/skeleton.module.mjs +4 -8
  281. package/esm2022/slider/slider.component.mjs +38 -35
  282. package/esm2022/slider/slider.module.mjs +5 -11
  283. package/esm2022/slider-select/slider-select.component.mjs +45 -37
  284. package/esm2022/slider-select/slider-select.module.mjs +4 -36
  285. package/esm2022/statistic/countdown.component.mjs +14 -15
  286. package/esm2022/statistic/statistic.component.mjs +13 -13
  287. package/esm2022/statistic/statistic.module.mjs +4 -9
  288. package/esm2022/steps/steps.component.mjs +17 -18
  289. package/esm2022/steps/steps.module.mjs +4 -9
  290. package/esm2022/switch/switch.component.mjs +18 -17
  291. package/esm2022/switch/switch.module.mjs +4 -11
  292. package/esm2022/table/table-body.component.mjs +19 -9
  293. package/esm2022/table/table-foot.component.mjs +12 -15
  294. package/esm2022/table/table-head.component.mjs +33 -27
  295. package/esm2022/table/table.component.mjs +20 -10
  296. package/esm2022/table/table.module.mjs +4 -69
  297. package/esm2022/tabs/tab-content.component.mjs +12 -9
  298. package/esm2022/tabs/tab-link.directive.mjs +7 -5
  299. package/esm2022/tabs/tab.component.mjs +11 -10
  300. package/esm2022/tabs/tabs.component.mjs +28 -26
  301. package/esm2022/tabs/tabs.module.mjs +5 -26
  302. package/esm2022/tag/tag.component.mjs +16 -19
  303. package/esm2022/tag/tag.module.mjs +4 -9
  304. package/esm2022/text-retract/text-retract.component.mjs +17 -18
  305. package/esm2022/text-retract/text-retract.module.mjs +4 -10
  306. package/esm2022/textarea/textarea.component.mjs +24 -24
  307. package/esm2022/textarea/textarea.module.mjs +4 -10
  308. package/esm2022/theme/theme.component.mjs +44 -30
  309. package/esm2022/theme/theme.module.mjs +4 -40
  310. package/esm2022/time-ago/time-ago.module.mjs +4 -6
  311. package/esm2022/time-ago/time-ago.pipe.mjs +20 -20
  312. package/esm2022/time-picker/time-picker-frame.component.mjs +31 -29
  313. package/esm2022/time-picker/time-picker-portal.component.mjs +19 -19
  314. package/esm2022/time-picker/time-picker.component.mjs +39 -40
  315. package/esm2022/time-picker/time-picker.module.mjs +5 -46
  316. package/esm2022/time-range/time-range.module.mjs +4 -4
  317. package/esm2022/time-range/time-range.pipe.mjs +3 -3
  318. package/esm2022/timeline/timeline.component.mjs +17 -19
  319. package/esm2022/timeline/timeline.module.mjs +4 -11
  320. package/esm2022/tooltip/tooltip-portal.component.mjs +15 -14
  321. package/esm2022/tooltip/tooltip.directive.mjs +15 -18
  322. package/esm2022/tooltip/tooltip.module.mjs +5 -11
  323. package/esm2022/transfer/transfer.component.mjs +68 -54
  324. package/esm2022/transfer/transfer.module.mjs +4 -57
  325. package/esm2022/tree/tree-node.component.mjs +36 -29
  326. package/esm2022/tree/tree.component.mjs +10 -12
  327. package/esm2022/tree/tree.module.mjs +4 -41
  328. package/esm2022/tree/tree.service.mjs +4 -3
  329. package/esm2022/tree-file/tree-file.component.mjs +34 -30
  330. package/esm2022/tree-file/tree-file.module.mjs +4 -13
  331. package/esm2022/tree-select/tree-select-portal.component.mjs +25 -25
  332. package/esm2022/tree-select/tree-select.component.mjs +53 -51
  333. package/esm2022/tree-select/tree-select.module.mjs +6 -54
  334. package/esm2022/typography/typography.component.mjs +11 -11
  335. package/esm2022/typography/typography.module.mjs +4 -7
  336. package/esm2022/upload/upload-portal.component.mjs +11 -12
  337. package/esm2022/upload/upload.component.mjs +42 -39
  338. package/esm2022/upload/upload.module.mjs +4 -53
  339. package/examples/examples.component.d.ts +6 -6
  340. package/examples/examples.module.d.ts +1 -2
  341. package/fesm2022/ng-nest-ui-affix.mjs +12 -15
  342. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  343. package/fesm2022/ng-nest-ui-alert.mjs +26 -25
  344. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  345. package/fesm2022/ng-nest-ui-anchor.mjs +24 -26
  346. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  347. package/fesm2022/ng-nest-ui-api.mjs +15 -15
  348. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  349. package/fesm2022/ng-nest-ui-auto-complete.mjs +58 -50
  350. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  351. package/fesm2022/ng-nest-ui-avatar.mjs +23 -27
  352. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  353. package/fesm2022/ng-nest-ui-back-top.mjs +26 -33
  354. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  355. package/fesm2022/ng-nest-ui-badge.mjs +20 -26
  356. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  357. package/fesm2022/ng-nest-ui-base-form.mjs +11 -6
  358. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  359. package/fesm2022/ng-nest-ui-border.mjs +14 -12
  360. package/fesm2022/ng-nest-ui-border.mjs.map +1 -1
  361. package/fesm2022/ng-nest-ui-button.mjs +30 -38
  362. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  363. package/fesm2022/ng-nest-ui-calendar.mjs +35 -33
  364. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  365. package/fesm2022/ng-nest-ui-card.mjs +15 -21
  366. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  367. package/fesm2022/ng-nest-ui-carousel.mjs +52 -54
  368. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  369. package/fesm2022/ng-nest-ui-cascade.mjs +54 -51
  370. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  371. package/fesm2022/ng-nest-ui-checkbox.mjs +32 -30
  372. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  373. package/fesm2022/ng-nest-ui-collapse.mjs +27 -36
  374. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  375. package/fesm2022/ng-nest-ui-color-picker.mjs +84 -98
  376. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  377. package/fesm2022/ng-nest-ui-color.mjs +16 -18
  378. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  379. package/fesm2022/ng-nest-ui-comment.mjs +43 -72
  380. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  381. package/fesm2022/ng-nest-ui-container.mjs +61 -94
  382. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  383. package/fesm2022/ng-nest-ui-core.mjs +10 -4
  384. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  385. package/fesm2022/ng-nest-ui-crumb.mjs +16 -20
  386. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  387. package/fesm2022/ng-nest-ui-date-picker.mjs +247 -293
  388. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  389. package/fesm2022/ng-nest-ui-description.mjs +19 -25
  390. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  391. package/fesm2022/ng-nest-ui-dialog.mjs +180 -223
  392. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  393. package/fesm2022/ng-nest-ui-doc.mjs +13 -12
  394. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  395. package/fesm2022/ng-nest-ui-drag.mjs +13 -14
  396. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  397. package/fesm2022/ng-nest-ui-drawer.mjs +114 -133
  398. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  399. package/fesm2022/ng-nest-ui-dropdown.mjs +39 -33
  400. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  401. package/fesm2022/ng-nest-ui-empty.mjs +21 -24
  402. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  403. package/fesm2022/ng-nest-ui-examples.mjs +13 -12
  404. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  405. package/fesm2022/ng-nest-ui-find.mjs +49 -76
  406. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  407. package/fesm2022/ng-nest-ui-form.mjs +88 -112
  408. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  409. package/fesm2022/ng-nest-ui-highlight.mjs +28 -27
  410. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  411. package/fesm2022/ng-nest-ui-i18n.mjs +21 -21
  412. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  413. package/fesm2022/ng-nest-ui-icon.mjs +55 -57
  414. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  415. package/fesm2022/ng-nest-ui-image.mjs +50 -61
  416. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  417. package/fesm2022/ng-nest-ui-inner.mjs +15 -17
  418. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  419. package/fesm2022/ng-nest-ui-input-number.mjs +25 -31
  420. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  421. package/fesm2022/ng-nest-ui-input.mjs +41 -49
  422. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  423. package/fesm2022/ng-nest-ui-keyword.mjs +17 -19
  424. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  425. package/fesm2022/ng-nest-ui-layout.mjs +25 -31
  426. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  427. package/fesm2022/ng-nest-ui-link.mjs +18 -24
  428. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  429. package/fesm2022/ng-nest-ui-list.mjs +51 -86
  430. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  431. package/fesm2022/ng-nest-ui-loading.mjs +20 -27
  432. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  433. package/fesm2022/ng-nest-ui-menu.mjs +33 -41
  434. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  435. package/fesm2022/ng-nest-ui-message-box.mjs +33 -58
  436. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  437. package/fesm2022/ng-nest-ui-message.mjs +22 -28
  438. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  439. package/fesm2022/ng-nest-ui-notification.mjs +24 -26
  440. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  441. package/fesm2022/ng-nest-ui-outlet.mjs +11 -13
  442. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  443. package/fesm2022/ng-nest-ui-page-header.mjs +20 -23
  444. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  445. package/fesm2022/ng-nest-ui-pagination.mjs +39 -37
  446. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  447. package/fesm2022/ng-nest-ui-pattern.mjs +13 -12
  448. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  449. package/fesm2022/ng-nest-ui-popconfirm.mjs +25 -33
  450. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  451. package/fesm2022/ng-nest-ui-popover.mjs +31 -35
  452. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  453. package/fesm2022/ng-nest-ui-portal.mjs +25 -25
  454. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  455. package/fesm2022/ng-nest-ui-progress.mjs +16 -22
  456. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  457. package/fesm2022/ng-nest-ui-radio.mjs +22 -28
  458. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  459. package/fesm2022/ng-nest-ui-rate.mjs +23 -27
  460. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  461. package/fesm2022/ng-nest-ui-resizable.mjs +62 -52
  462. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  463. package/fesm2022/ng-nest-ui-result.mjs +16 -23
  464. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  465. package/fesm2022/ng-nest-ui-ripple.mjs +14 -15
  466. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  467. package/fesm2022/ng-nest-ui-select.mjs +59 -92
  468. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  469. package/fesm2022/ng-nest-ui-skeleton.mjs +15 -20
  470. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  471. package/fesm2022/ng-nest-ui-slider-select.mjs +46 -66
  472. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  473. package/fesm2022/ng-nest-ui-slider.mjs +40 -42
  474. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  475. package/fesm2022/ng-nest-ui-statistic.mjs +25 -30
  476. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  477. package/fesm2022/ng-nest-ui-steps.mjs +18 -23
  478. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  479. package/fesm2022/ng-nest-ui-switch.mjs +19 -23
  480. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  481. package/fesm2022/ng-nest-ui-table.mjs +86 -128
  482. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  483. package/fesm2022/ng-nest-ui-tabs.mjs +52 -63
  484. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  485. package/fesm2022/ng-nest-ui-tag.mjs +17 -24
  486. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  487. package/fesm2022/ng-nest-ui-text-retract.mjs +17 -23
  488. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  489. package/fesm2022/ng-nest-ui-textarea.mjs +25 -29
  490. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  491. package/fesm2022/ng-nest-ui-theme.mjs +45 -64
  492. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  493. package/fesm2022/ng-nest-ui-time-ago.mjs +21 -23
  494. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  495. package/fesm2022/ng-nest-ui-time-picker.mjs +82 -119
  496. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  497. package/fesm2022/ng-nest-ui-time-range.mjs +5 -5
  498. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  499. package/fesm2022/ng-nest-ui-timeline.mjs +18 -26
  500. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  501. package/fesm2022/ng-nest-ui-tooltip.mjs +30 -35
  502. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  503. package/fesm2022/ng-nest-ui-transfer.mjs +68 -104
  504. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  505. package/fesm2022/ng-nest-ui-tree-file.mjs +35 -39
  506. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  507. package/fesm2022/ng-nest-ui-tree-select.mjs +77 -119
  508. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  509. package/fesm2022/ng-nest-ui-tree.mjs +48 -76
  510. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  511. package/fesm2022/ng-nest-ui-typography.mjs +13 -15
  512. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  513. package/fesm2022/ng-nest-ui-upload.mjs +51 -95
  514. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  515. package/find/find.component.d.ts +6 -7
  516. package/find/find.module.d.ts +1 -13
  517. package/form/control.component.d.ts +6 -7
  518. package/form/form.component.d.ts +4 -6
  519. package/form/form.module.d.ts +1 -24
  520. package/highlight/highlight.component.d.ts +12 -10
  521. package/highlight/highlight.module.d.ts +1 -4
  522. package/i18n/i18n.directive.d.ts +6 -7
  523. package/i18n/i18n.module.d.ts +1 -1
  524. package/i18n/i18n.pipe.d.ts +1 -1
  525. package/i18n/i18n.service.d.ts +3 -2
  526. package/icon/icon.component.d.ts +7 -9
  527. package/icon/icon.module.d.ts +1 -3
  528. package/icon/icon.property.d.ts +1 -1
  529. package/icon/icon.service.d.ts +6 -7
  530. package/image/image-group.component.d.ts +1 -1
  531. package/image/image-preview.component.d.ts +5 -10
  532. package/image/image.component.d.ts +9 -14
  533. package/image/image.module.d.ts +3 -11
  534. package/inner/inner.component.d.ts +2 -3
  535. package/inner/inner.module.d.ts +1 -3
  536. package/input/input-group.component.d.ts +3 -6
  537. package/input/input.component.d.ts +8 -10
  538. package/input/input.module.d.ts +2 -8
  539. package/input-number/input-number.component.d.ts +5 -6
  540. package/input-number/input-number.module.d.ts +1 -7
  541. package/keyword/keyword.directive.d.ts +3 -4
  542. package/keyword/keyword.module.d.ts +1 -3
  543. package/keyword/keyword.property.d.ts +1 -1
  544. package/layout/col.component.d.ts +5 -7
  545. package/layout/layout.module.d.ts +1 -3
  546. package/layout/row.component.d.ts +3 -4
  547. package/link/link.component.d.ts +5 -7
  548. package/link/link.module.d.ts +1 -6
  549. package/list/list-drop-group.directive.d.ts +1 -1
  550. package/list/list-option.component.d.ts +6 -7
  551. package/list/list.component.d.ts +9 -12
  552. package/list/list.module.d.ts +1 -13
  553. package/loading/loading.component.d.ts +7 -10
  554. package/loading/loading.module.d.ts +1 -6
  555. package/menu/menu-node.component.d.ts +6 -7
  556. package/menu/menu.component.d.ts +4 -7
  557. package/menu/menu.module.d.ts +1 -7
  558. package/message/message.component.d.ts +3 -6
  559. package/message/message.module.d.ts +1 -5
  560. package/message/message.service.d.ts +4 -5
  561. package/message-box/message-box.component.d.ts +1 -1
  562. package/message-box/message-box.module.d.ts +1 -11
  563. package/message-box/message-box.service.d.ts +2 -5
  564. package/notification/notification.component.d.ts +3 -6
  565. package/notification/notification.module.d.ts +1 -5
  566. package/notification/notification.service.d.ts +1 -3
  567. package/outlet/outlet.directive.d.ts +4 -5
  568. package/outlet/outlet.module.d.ts +1 -2
  569. package/package.json +64 -64
  570. package/page-header/page-header.component.d.ts +5 -7
  571. package/page-header/page-header.module.d.ts +1 -4
  572. package/pagination/pagination.component.d.ts +8 -10
  573. package/pagination/pagination.module.d.ts +1 -9
  574. package/pattern/pattern.component.d.ts +4 -4
  575. package/pattern/pattern.module.d.ts +1 -2
  576. package/popconfirm/popconfirm.component.d.ts +6 -9
  577. package/popconfirm/popconfirm.module.d.ts +1 -7
  578. package/popover/popover-portal.component.d.ts +4 -5
  579. package/popover/popover.directive.d.ts +9 -10
  580. package/popover/popover.module.d.ts +1 -6
  581. package/portal/portal.module.d.ts +1 -3
  582. package/portal/portal.service.d.ts +3 -4
  583. package/progress/progress.component.d.ts +3 -7
  584. package/progress/progress.module.d.ts +1 -5
  585. package/radio/radio.component.d.ts +6 -8
  586. package/radio/radio.module.d.ts +1 -8
  587. package/rate/rate.component.d.ts +6 -8
  588. package/rate/rate.module.d.ts +1 -7
  589. package/resizable/resizable.directive.d.ts +5 -7
  590. package/resizable/resizable.module.d.ts +1 -2
  591. package/resizable/resizable.property.d.ts +1 -1
  592. package/result/result.component.d.ts +3 -7
  593. package/result/result.module.d.ts +1 -5
  594. package/ripple/ripple.directive.d.ts +4 -5
  595. package/ripple/ripple.module.d.ts +1 -3
  596. package/select/select-portal.component.d.ts +1 -1
  597. package/select/select.component.d.ts +14 -15
  598. package/select/select.module.d.ts +1 -12
  599. package/skeleton/skeleton.component.d.ts +3 -6
  600. package/skeleton/skeleton.module.d.ts +1 -4
  601. package/slider/slider.component.d.ts +5 -7
  602. package/slider/slider.module.d.ts +1 -7
  603. package/slider-select/slider-select.component.d.ts +6 -7
  604. package/slider-select/slider-select.module.d.ts +1 -9
  605. package/statistic/countdown.component.d.ts +6 -7
  606. package/statistic/statistic.component.d.ts +2 -3
  607. package/statistic/statistic.module.d.ts +1 -5
  608. package/steps/steps.component.d.ts +4 -7
  609. package/steps/steps.module.d.ts +1 -5
  610. package/style/core/index.css +1 -1
  611. package/style/params/colors.scss +1 -1
  612. package/switch/switch.component.d.ts +6 -7
  613. package/switch/switch.module.d.ts +1 -7
  614. package/table/table-body.component.d.ts +1 -1
  615. package/table/table-foot.component.d.ts +3 -6
  616. package/table/table-head.component.d.ts +5 -7
  617. package/table/table.component.d.ts +1 -1
  618. package/table/table.module.d.ts +4 -17
  619. package/tabs/tab-content.component.d.ts +6 -6
  620. package/tabs/tab-link.directive.d.ts +2 -2
  621. package/tabs/tab.component.d.ts +2 -3
  622. package/tabs/tabs.component.d.ts +8 -9
  623. package/tabs/tabs.module.d.ts +3 -9
  624. package/tag/tag.component.d.ts +4 -8
  625. package/tag/tag.module.d.ts +1 -5
  626. package/text-retract/text-retract.component.d.ts +6 -10
  627. package/text-retract/text-retract.module.d.ts +1 -6
  628. package/textarea/textarea.component.d.ts +5 -7
  629. package/textarea/textarea.module.d.ts +1 -6
  630. package/theme/theme.component.d.ts +8 -9
  631. package/theme/theme.module.d.ts +1 -10
  632. package/time-ago/time-ago.module.d.ts +1 -1
  633. package/time-ago/time-ago.pipe.d.ts +6 -9
  634. package/time-picker/time-picker-frame.component.d.ts +5 -6
  635. package/time-picker/time-picker-portal.component.d.ts +5 -7
  636. package/time-picker/time-picker.component.d.ts +14 -16
  637. package/time-picker/time-picker.module.d.ts +2 -13
  638. package/time-range/time-range.module.d.ts +1 -1
  639. package/time-range/time-range.pipe.d.ts +1 -1
  640. package/timeline/timeline.component.d.ts +5 -8
  641. package/timeline/timeline.module.d.ts +1 -7
  642. package/tooltip/tooltip-portal.component.d.ts +4 -5
  643. package/tooltip/tooltip.directive.d.ts +8 -9
  644. package/tooltip/tooltip.module.d.ts +1 -6
  645. package/transfer/transfer.component.d.ts +6 -9
  646. package/transfer/transfer.module.d.ts +1 -15
  647. package/tree/tree-node.component.d.ts +6 -10
  648. package/tree/tree.component.d.ts +1 -1
  649. package/tree/tree.module.d.ts +1 -11
  650. package/tree-file/tree-file.component.d.ts +5 -10
  651. package/tree-file/tree-file.module.d.ts +1 -9
  652. package/tree-select/tree-select-portal.component.d.ts +5 -7
  653. package/tree-select/tree-select.component.d.ts +14 -15
  654. package/tree-select/tree-select.module.d.ts +1 -14
  655. package/typography/typography.component.d.ts +3 -4
  656. package/typography/typography.module.d.ts +1 -3
  657. package/upload/upload-portal.component.d.ts +5 -7
  658. package/upload/upload.component.d.ts +12 -15
  659. package/upload/upload.module.d.ts +1 -14
@@ -97,4 +97,4 @@ export class XDialogRef {
97
97
  this._isFristFullscreen = false;
98
98
  }
99
99
  }
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RpYWxvZy9kaWFsb2ctcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQWtCLE1BQU0sb0JBQW9CLENBQUM7QUFJM0UsMEJBQTBCO0FBQzFCLE1BQU0sT0FBTyxVQUFVO0lBT3JCLFlBQ1MsVUFBc0IsRUFDdEIsaUJBQXlDLEVBQ3pDLFFBQW1CLEVBQ25CLGFBQTZCO1FBSDdCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF3QjtRQUN6QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQVJ0QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLG1CQUFjLEdBQThCLEVBQUUsQ0FBQztRQUMvQyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUN4Qix1QkFBa0IsR0FBRyxJQUFJLENBQUM7SUFNL0IsQ0FBQztJQUVKLEtBQUssQ0FBQyxNQUFZO1FBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0I7YUFDcEMsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsRUFDcEUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxD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bEcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsR0FBRyxjQUFlLENBQUMsVUFBVSxDQUFDO29CQUMvRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxHQUFHLGNBQWUsQ0FBQyxTQUFTLENBQUM7b0JBQzdELE1BQU0sZUFBZSxHQUFHLGNBQWMsRUFBRSxhQUFhLENBQUMsa0JBQWtCLENBQUUsQ0FBQztvQkFDM0UsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUMsWUFBWSxDQUFDO29CQUNqRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxHQUFHLGNBQWMsRUFBRSxhQUFhLENBQUMsMEJBQTBCLENBQUUsQ0FBQztvQkFDbEcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDO29CQUM5RixJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztnQkFDL0MsQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUNGO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNsQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBvcnRhbFJlc2l6YWJsZVByZWZpeCwgWFBvcnRhbFNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBYRGlhbG9nUG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2ctcG9ydGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhEaWFsb2dSZWZPcHRpb24gfSBmcm9tICcuL2RpYWxvZy5wcm9wZXJ0eSc7XHJcblxyXG4vLyBUT0RPOiBhZGQgbW9yZSBmdW5jdGlvblxyXG5leHBvcnQgY2xhc3MgWERpYWxvZ1JlZjxDPiB7XHJcbiAgY29tcG9uZW50SW5zdGFuY2UhOiBDO1xyXG4gIG9wdGlvbiE6IFhEaWFsb2dSZWZPcHRpb247XHJcbiAgZnVsbHNjcmVlbiA9IGZhbHNlO1xyXG4gIGRyYWdIYW5kbGVSZWZzOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PltdID0gW107XHJcbiAgYWZ0ZXJDbG9zZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICBwcml2YXRlIF9pc0ZyaXN0RnVsbHNjcmVlbiA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcclxuICAgIHB1YmxpYyBjb250YWluZXJJbnN0YW5jZTogWERpYWxvZ1BvcnRhbENvbXBvbmVudCxcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIHBvcnRhbFNlcnZpY2U6IFhQb3J0YWxTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBjbG9zZShyZXN1bHQ/OiBhbnkpIHtcclxuICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UuYW5pbWF0aW9uQ2hhbmdlZFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudC5zdGF0ZSA9PT0gJ3ZvaWQnICYmIGV2ZW50LmFjdGlvbiA9PT0gJ2RvbmUnKSxcclxuICAgICAgICB0YWtlKDEpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xyXG4gICAgICAgIHRoaXMuYWZ0ZXJDbG9zZS5uZXh0KHJlc3VsdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5jb250YWluZXJJbnN0YW5jZS5wbGFjZW1lbnQgPSAndm9pZCc7XHJcbiAgfVxyXG5cclxuICBvbkZ1bGxzY3JlZW4oKSB7XHJcbiAgICBsZXQgeyBkaWFsb2dCb3gsIGRpYWxvZ1JlZiwgb3ZlcmxheUVsZW1lbnQsIGRpc3RhbmNlLCBob3N0RWxlbWVudCwgZGVmYXVsdE1heGltaXplIH0gPSB0aGlzLmNvbnRhaW5lckluc3RhbmNlO1xyXG4gICAgaWYgKCFkaWFsb2dSZWYuZnVsbHNjcmVlbikge1xyXG4gICAgICBkaWFsb2dSZWYub3ZlcmxheVJlZi51cGRhdGVTaXplKHtcclxuICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgIGhlaWdodDogJzEwMCUnLFxyXG4gICAgICAgIG1pbldpZHRoOiAnMTAwJScsXHJcbiAgICAgICAgbWluSGVpZ2h0OiAnMTAwJSdcclxuICAgICAgfSk7XHJcbiAgICAgIGRpYWxvZ1JlZi5mdWxsc2NyZWVuID0gdHJ1ZTtcclxuICAgICAgZGlhbG9nQm94WydtaW5XaWR0aCddID0gJzEwMCUnO1xyXG4gICAgICBkaWFsb2dCb3hbJ21pbkhlaWdodCddID0gJzEwMCUnO1xyXG4gICAgICBkaWFsb2dCb3hbJ2RyYWdnYWJsZSddID0gZmFsc2U7XHJcbiAgICAgIGRpYWxvZ0JveFsncmVzaXphYmxlJ10gPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMub3B0aW9uLnJlc2l6YWJsZSkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUob3ZlcmxheUVsZW1lbnQsICdtYXJnaW4nLCAnMCAwIDAgMCcpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbi5kcmFnZ2FibGUpIHtcclxuICAgICAgICBkaWFsb2dCb3hbJ2Rpc3RhbmNlJ10gPSB7IHg6IDAsIHk6IDAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKG92ZXJsYXlFbGVtZW50LCAneC1kaWFsb2ctcG9ydGFsLWZ1bGxzY3JlZW4nKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRpYWxvZ0JveFsnbWluV2lkdGgnXSA9IHRoaXMub3B0aW9uLm1pbldpZHRoO1xyXG4gICAgICBkaWFsb2dCb3hbJ21pbkhlaWdodCddID0gdGhpcy5vcHRpb24ubWluSGVpZ2h0O1xyXG4gICAgICBpZiAodGhpcy5faXNGcmlzdEZ1bGxzY3JlZW4gJiYgZGVmYXVsdE1heGltaXplKSB7XHJcbiAgICAgICAgdGhpcy5vcHRpb24uZHJhZ2dhYmxlID0gZGlhbG9nQm94WydkcmFnZ2FibGUnXTtcclxuICAgICAgICB0aGlzLm9wdGlvbi5yZXNpemFibGUgPSBkaWFsb2dCb3hbJ3Jlc2l6YWJsZSddO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRpYWxvZ0JveFsnZHJhZ2dhYmxlJ10gPSB0aGlzLm9wdGlvbi5kcmFnZ2FibGU7XHJcbiAgICAgICAgZGlhbG9nQm94WydyZXNpemFibGUnXSA9IHRoaXMub3B0aW9uLnJlc2l6YWJsZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZGlhbG9nUmVmLm92ZXJsYXlSZWY/LnVwZGF0ZVNpemUoe1xyXG4gICAgICAgIHdpZHRoOiBkaWFsb2dCb3hbJ3dpZHRoJ10sXHJcbiAgICAgICAgaGVpZ2h0OiBkaWFsb2dCb3hbJ2hlaWdodCddLFxyXG4gICAgICAgIG1pbldpZHRoOiBkaWFsb2dCb3hbJ21pbldpZHRoJ10sXHJcbiAgICAgICAgbWluSGVpZ2h0OiBkaWFsb2dCb3hbJ21pbkhlaWdodCddXHJcbiAgICAgIH0pO1xyXG4gICAgICBkaWFsb2dSZWYuZnVsbHNjcmVlbiA9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5vcHRpb24uZHJhZ2dhYmxlKSB7XHJcbiAgICAgICAgZGlhbG9nQm94WydkaXN0YW5jZSddID0geyAuLi5kaXN0YW5jZSB9O1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbi5yZXNpemFibGUpIHtcclxuICAgICAgICBpZiAoZGlhbG9nQm94WydtYXJnaW5Ub3AnXSkge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShvdmVybGF5RWxlbWVudCwgJ21hcmdpbi10b3AnLCBgJHtkaWFsb2dCb3hbJ21hcmdpblRvcCddfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZGlhbG9nQm94WydtYXJnaW5MZWZ0J10pIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUob3ZlcmxheUVsZW1lbnQsICdtYXJnaW4tbGVmdCcsIGAke2RpYWxvZ0JveFsnbWFyZ2luTGVmdCddfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZGlhbG9nQm94WydtYXJnaW5SaWdodCddKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKG92ZXJsYXlFbGVtZW50LCAnbWFyZ2luLXJpZ2h0JywgYCR7ZGlhbG9nQm94WydtYXJnaW5SaWdodCddfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZGlhbG9nQm94WydtYXJnaW5Cb3R0b20nXSkge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShvdmVybGF5RWxlbWVudCwgJ21hcmdpbi1ib3R0b20nLCBgJHtkaWFsb2dCb3hbJ21hcmdpbkJvdHRvbSddfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKG92ZXJsYXlFbGVtZW50LCAneC1kaWFsb2ctcG9ydGFsLWZ1bGxzY3JlZW4nKTtcclxuICAgICAgaWYgKHRoaXMuX2lzRnJpc3RGdWxsc2NyZWVuICYmIGRlZmF1bHRNYXhpbWl6ZSkge1xyXG4gICAgICAgIGRpYWxvZ1JlZi5vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHRoaXMucG9ydGFsU2VydmljZS5zZXRQbGFjZSh0aGlzLm9wdGlvbi5wbGFjZW1lbnQsIHRoaXMub3B0aW9uLm9mZnNldCEpKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGhvc3RFbGVtZW50LCBQb3J0YWxSZXNpemFibGVQcmVmaXgpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgT2JqZWN0LmFzc2lnbihkaWFsb2dCb3gsIHRoaXMucG9ydGFsU2VydmljZS5zZXRSZXNpemFibGUob3ZlcmxheUVsZW1lbnQhLCB0aGlzLm9wdGlvbi5wbGFjZW1lbnQpKTtcclxuICAgICAgICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2Uub2Zmc2V0TGVmdCA9IG92ZXJsYXlFbGVtZW50IS5vZmZzZXRMZWZ0O1xyXG4gICAgICAgICAgdGhpcy5jb250YWluZXJJbnN0YW5jZS5vZmZzZXRUb3AgPSBvdmVybGF5RWxlbWVudCEub2Zmc2V0VG9wO1xyXG4gICAgICAgICAgY29uc3QgZGlhbG9nRHJhZ2dhYmxlID0gb3ZlcmxheUVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJy54LWRpYWxvZy1wb3J0YWwnKSE7XHJcbiAgICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLmluaXRIZWlnaHQgPSBkaWFsb2dEcmFnZ2FibGUuY2xpZW50SGVpZ2h0O1xyXG4gICAgICAgICAgdGhpcy5jb250YWluZXJJbnN0YW5jZS5kaWFsb2dDb250ZW50ID0gb3ZlcmxheUVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJy54LWRpYWxvZy1wb3J0YWwtY29udGVudCcpITtcclxuICAgICAgICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UuaW5pdENvbnRlbnRIZWlnaHQgPSB0aGlzLmNvbnRhaW5lckluc3RhbmNlLmRpYWxvZ0NvbnRlbnQ/LmNsaWVudEhlaWdodDtcclxuICAgICAgICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UuZGlhbG9nQm94ID0gZGlhbG9nQm94O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLl9pc0ZyaXN0RnVsbHNjcmVlbiA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RpYWxvZy9kaWFsb2ctcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQWtCLE1BQU0sb0JBQW9CLENBQUM7QUFJM0UsMEJBQTBCO0FBQzFCLE1BQU0sT0FBTyxVQUFVO0lBUXJCLFlBQ1MsVUFBc0IsRUFDdEIsaUJBQXlDLEVBQ3pDLFFBQW1CLEVBQ25CLGFBQTZCO1FBSDdCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF3QjtRQUN6QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQVR0QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLG1CQUFjLEdBQThCLEVBQUUsQ0FBQztRQUMvQyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUN4Qix1QkFBa0IsR0FBRyxJQUFJLENBQUM7SUFPL0IsQ0FBQztJQUVKLEtBQUssQ0FBQyxNQUFZO1FBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0I7YUFDcEMsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsRUFDcEUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxD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Q2xHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEdBQUcsY0FBZSxDQUFDLFVBQVUsQ0FBQztvQkFDL0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxjQUFlLENBQUMsU0FBUyxDQUFDO29CQUM3RCxNQUFNLGVBQWUsR0FBRyxjQUFjLEVBQUUsYUFBYSxDQUFDLGtCQUFrQixDQUFFLENBQUM7b0JBQzNFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQztvQkFDakUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsR0FBRyxjQUFjLEVBQUUsYUFBYSxDQUFDLDBCQUEwQixDQUFFLENBQUM7b0JBQ2xHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQztvQkFDOUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtRQUNELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgRWxlbWVudFJlZiwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIGZpbHRlciwgdGFrZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBQb3J0YWxSZXNpemFibGVQcmVmaXgsIFhQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvcG9ydGFsJztcclxuaW1wb3J0IHsgWERpYWxvZ1BvcnRhbENvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9nLXBvcnRhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYRGlhbG9nUmVmT3B0aW9uIH0gZnJvbSAnLi9kaWFsb2cucHJvcGVydHknO1xyXG5cclxuLy8gVE9ETzogYWRkIG1vcmUgZnVuY3Rpb25cclxuZXhwb3J0IGNsYXNzIFhEaWFsb2dSZWY8Qz4ge1xyXG4gIGNvbXBvbmVudEluc3RhbmNlITogQztcclxuICBvcHRpb24hOiBYRGlhbG9nUmVmT3B0aW9uO1xyXG4gIGZ1bGxzY3JlZW4gPSBmYWxzZTtcclxuICBkcmFnSGFuZGxlUmVmczogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5bXSA9IFtdO1xyXG4gIGFmdGVyQ2xvc2UgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgcHJpdmF0ZSBfaXNGcmlzdEZ1bGxzY3JlZW4gPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBvdmVybGF5UmVmOiBPdmVybGF5UmVmLFxyXG4gICAgcHVibGljIGNvbnRhaW5lckluc3RhbmNlOiBYRGlhbG9nUG9ydGFsQ29tcG9uZW50LFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgcG9ydGFsU2VydmljZTogWFBvcnRhbFNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGNsb3NlKHJlc3VsdD86IGFueSkge1xyXG4gICAgdGhpcy5jb250YWluZXJJbnN0YW5jZS5hbmltYXRpb25DaGFuZ2VkXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LnN0YXRlID09PSAndm9pZCcgJiYgZXZlbnQuYWN0aW9uID09PSAnZG9uZScpLFxyXG4gICAgICAgIHRha2UoMSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XHJcbiAgICAgICAgdGhpcy5hZnRlckNsb3NlLm5leHQocmVzdWx0KTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLnBsYWNlbWVudCA9ICd2b2lkJztcclxuICB9XHJcblxyXG4gIG9uRnVsbHNjcmVlbigpIHtcclxuICAgIGxldCB7IGRpYWxvZ0JveCwgZGlhbG9nUmVmLCBvdmVybGF5RWxlbWVudCwgZGlzdGFuY2UsIGhvc3RFbGVtZW50LCBkZWZhdWx0TWF4aW1pemUgfSA9IHRoaXMuY29udGFpbmVySW5zdGFuY2U7XHJcbiAgICBpZiAoIWRpYWxvZ1JlZi5mdWxsc2NyZWVuKSB7XHJcbiAgICAgIGRpYWxvZ1JlZi5vdmVybGF5UmVmLnVwZGF0ZVNpemUoe1xyXG4gICAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXHJcbiAgICAgICAgbWluV2lkdGg6ICcxMDAlJyxcclxuICAgICAgICBtaW5IZWlnaHQ6ICcxMDAlJ1xyXG4gICAgICB9KTtcclxuICAgICAgZGlhbG9nUmVmLmZ1bGxzY3JlZW4gPSB0cnVlO1xyXG4gICAgICBkaWFsb2dCb3hbJ21pbldpZHRoJ10gPSAnMTAwJSc7XHJcbiAgICAgIGRpYWxvZ0JveFsnbWluSGVpZ2h0J10gPSAnMTAwJSc7XHJcbiAgICAgIGRpYWxvZ0JveFsnZHJhZ2dhYmxlJ10gPSBmYWxzZTtcclxuICAgICAgZGlhbG9nQm94WydyZXNpemFibGUnXSA9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5vcHRpb24ucmVzaXphYmxlKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShvdmVybGF5RWxlbWVudCwgJ21hcmdpbicsICcwIDAgMCAwJyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMub3B0aW9uLmRyYWdnYWJsZSkge1xyXG4gICAgICAgIGRpYWxvZ0JveFsnZGlzdGFuY2UnXSA9IHsgeDogMCwgeTogMCB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Mob3ZlcmxheUVsZW1lbnQsICd4LWRpYWxvZy1wb3J0YWwtZnVsbHNjcmVlbicpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGlhbG9nQm94WydtaW5XaWR0aCddID0gdGhpcy5vcHRpb24ubWluV2lkdGg7XHJcbiAgICAgIGRpYWxvZ0JveFsnbWluSGVpZ2h0J10gPSB0aGlzLm9wdGlvbi5taW5IZWlnaHQ7XHJcbiAgICAgIGlmICh0aGlzLl9pc0ZyaXN0RnVsbHNjcmVlbiAmJiBkZWZhdWx0TWF4aW1pemUpIHtcclxuICAgICAgICB0aGlzLm9wdGlvbi5kcmFnZ2FibGUgPSBkaWFsb2dCb3hbJ2RyYWdnYWJsZSddO1xyXG4gICAgICAgIHRoaXMub3B0aW9uLnJlc2l6YWJsZSA9IGRpYWxvZ0JveFsncmVzaXphYmxlJ107XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZGlhbG9nQm94WydkcmFnZ2FibGUnXSA9IHRoaXMub3B0aW9uLmRyYWdnYWJsZTtcclxuICAgICAgICBkaWFsb2dCb3hbJ3Jlc2l6YWJsZSddID0gdGhpcy5vcHRpb24ucmVzaXphYmxlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBkaWFsb2dSZWYub3ZlcmxheVJlZj8udXBkYXRlU2l6ZSh7XHJcbiAgICAgICAgd2lkdGg6IGRpYWxvZ0JveFsnd2lkdGgnXSxcclxuICAgICAgICBoZWlnaHQ6IGRpYWxvZ0JveFsnaGVpZ2h0J10sXHJcbiAgICAgICAgbWluV2lkdGg6IGRpYWxvZ0JveFsnbWluV2lkdGgnXSxcclxuICAgICAgICBtaW5IZWlnaHQ6IGRpYWxvZ0JveFsnbWluSGVpZ2h0J11cclxuICAgICAgfSk7XHJcbiAgICAgIGRpYWxvZ1JlZi5mdWxsc2NyZWVuID0gZmFsc2U7XHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbi5kcmFnZ2FibGUpIHtcclxuICAgICAgICBkaWFsb2dCb3hbJ2Rpc3RhbmNlJ10gPSB7IC4uLmRpc3RhbmNlIH07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMub3B0aW9uLnJlc2l6YWJsZSkge1xyXG4gICAgICAgIGlmIChkaWFsb2dCb3hbJ21hcmdpblRvcCddKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKG92ZXJsYXlFbGVtZW50LCAnbWFyZ2luLXRvcCcsIGAke2RpYWxvZ0JveFsnbWFyZ2luVG9wJ119YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkaWFsb2dCb3hbJ21hcmdpbkxlZnQnXSkge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShvdmVybGF5RWxlbWVudCwgJ21hcmdpbi1sZWZ0JywgYCR7ZGlhbG9nQm94WydtYXJnaW5MZWZ0J119YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkaWFsb2dCb3hbJ21hcmdpblJpZ2h0J10pIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUob3ZlcmxheUVsZW1lbnQsICdtYXJnaW4tcmlnaHQnLCBgJHtkaWFsb2dCb3hbJ21hcmdpblJpZ2h0J119YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkaWFsb2dCb3hbJ21hcmdpbkJvdHRvbSddKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKG92ZXJsYXlFbGVtZW50LCAnbWFyZ2luLWJvdHRvbScsIGAke2RpYWxvZ0JveFsnbWFyZ2luQm90dG9tJ119YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3Mob3ZlcmxheUVsZW1lbnQsICd4LWRpYWxvZy1wb3J0YWwtZnVsbHNjcmVlbicpO1xyXG4gICAgICBpZiAodGhpcy5faXNGcmlzdEZ1bGxzY3JlZW4gJiYgZGVmYXVsdE1heGltaXplKSB7XHJcbiAgICAgICAgZGlhbG9nUmVmLm92ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3koXHJcbiAgICAgICAgICB0aGlzLnBvcnRhbFNlcnZpY2Uuc2V0UGxhY2UodGhpcy5vcHRpb24ucGxhY2VtZW50LCB0aGlzLm9wdGlvbi5vZmZzZXQhKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhob3N0RWxlbWVudCwgUG9ydGFsUmVzaXphYmxlUHJlZml4KTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24oZGlhbG9nQm94LCB0aGlzLnBvcnRhbFNlcnZpY2Uuc2V0UmVzaXphYmxlKG92ZXJsYXlFbGVtZW50ISwgdGhpcy5vcHRpb24ucGxhY2VtZW50KSk7XHJcbiAgICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLm9mZnNldExlZnQgPSBvdmVybGF5RWxlbWVudCEub2Zmc2V0TGVmdDtcclxuICAgICAgICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2Uub2Zmc2V0VG9wID0gb3ZlcmxheUVsZW1lbnQhLm9mZnNldFRvcDtcclxuICAgICAgICAgIGNvbnN0IGRpYWxvZ0RyYWdnYWJsZSA9IG92ZXJsYXlFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCcueC1kaWFsb2ctcG9ydGFsJykhO1xyXG4gICAgICAgICAgdGhpcy5jb250YWluZXJJbnN0YW5jZS5pbml0SGVpZ2h0ID0gZGlhbG9nRHJhZ2dhYmxlLmNsaWVudEhlaWdodDtcclxuICAgICAgICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UuZGlhbG9nQ29udGVudCA9IG92ZXJsYXlFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCcueC1kaWFsb2ctcG9ydGFsLWNvbnRlbnQnKSE7XHJcbiAgICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLmluaXRDb250ZW50SGVpZ2h0ID0gdGhpcy5jb250YWluZXJJbnN0YW5jZS5kaWFsb2dDb250ZW50Py5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLmRpYWxvZ0JveCA9IGRpYWxvZ0JveDtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5faXNGcmlzdEZ1bGxzY3JlZW4gPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,20 +1,42 @@
1
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, Optional, Inject, HostBinding } from '@angular/core';
2
- import { XMoveBoxAnimation, XIsChange, XIsFunction, XIsEmpty, XClearClass, XOpacityAnimation } from '@ng-nest/ui/core';
1
+ import { Component, ViewEncapsulation, Renderer2, ElementRef, ChangeDetectorRef, ChangeDetectionStrategy, ViewChild, ViewContainerRef, HostBinding, inject } from '@angular/core';
2
+ import { XMoveBoxAnimation, XIsChange, XIsFunction, XConfigService, XIsEmpty, XClearClass, XOpacityAnimation } from '@ng-nest/ui/core';
3
3
  import { XDialogPrefix, XDialogProperty, XDialogContainer, X_DIALOG_CONTAINER } from './dialog.property';
4
- import { PortalResizablePrefix } from '@ng-nest/ui/portal';
4
+ import { PortalResizablePrefix, XPortalService } from '@ng-nest/ui/portal';
5
5
  import { Subject } from 'rxjs';
6
+ import { Overlay } from '@angular/cdk/overlay';
7
+ import { XI18nService } from '@ng-nest/ui/i18n';
6
8
  import { map, takeUntil } from 'rxjs/operators';
9
+ import { CommonModule } from '@angular/common';
10
+ import { XAlertComponent } from '@ng-nest/ui/alert';
11
+ import { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button';
12
+ import { XOutletDirective } from '@ng-nest/ui/outlet';
7
13
  import * as i0 from "@angular/core";
8
- import * as i1 from "@ng-nest/ui/portal";
9
- import * as i2 from "@angular/cdk/overlay";
10
- import * as i3 from "@ng-nest/ui/i18n";
11
- import * as i4 from "@ng-nest/ui/core";
12
- import * as i5 from "@angular/common";
13
- import * as i6 from "@ng-nest/ui/button";
14
- import * as i7 from "@ng-nest/ui/alert";
15
- import * as i8 from "@ng-nest/ui/outlet";
16
- import * as i9 from "./dialog-container.component";
14
+ import * as i1 from "@angular/common";
17
15
  export class XDialogComponent extends XDialogProperty {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.locale = {};
19
+ this.initHeight = 0;
20
+ this.initContentHeight = 0;
21
+ this.isMaximize = false;
22
+ this.isDefaultMaximize = false;
23
+ this.dialogBox = {};
24
+ this.contentBox = {};
25
+ this.distance = { x: 0, y: 0 };
26
+ this.viewInit = false;
27
+ this.action = null;
28
+ this.containerInit = false;
29
+ this._unSubject = new Subject();
30
+ this.renderer = inject(Renderer2);
31
+ this.elementRef = inject(ElementRef);
32
+ this.cdr = inject(ChangeDetectorRef);
33
+ this.viewContainerRef = inject(ViewContainerRef);
34
+ this.protalService = inject(XPortalService);
35
+ this.overlay = inject(Overlay);
36
+ this.i18n = inject(XI18nService);
37
+ this.container = inject(X_DIALOG_CONTAINER, { optional: true });
38
+ this.configService = inject(XConfigService);
39
+ }
18
40
  get getVisible() {
19
41
  return this.visible;
20
42
  }
@@ -35,32 +57,8 @@ export class XDialogComponent extends XDialogProperty {
35
57
  }
36
58
  : {};
37
59
  }
38
- constructor(renderer, elementRef, cdr, viewContainerRef, protalService, overlay, i18n, configService, container) {
39
- super();
40
- this.renderer = renderer;
41
- this.elementRef = elementRef;
42
- this.cdr = cdr;
43
- this.viewContainerRef = viewContainerRef;
44
- this.protalService = protalService;
45
- this.overlay = overlay;
46
- this.i18n = i18n;
47
- this.configService = configService;
48
- this.container = container;
49
- this.locale = {};
50
- this.initHeight = 0;
51
- this.initContentHeight = 0;
52
- this.isMaximize = false;
53
- this.isDefaultMaximize = false;
54
- this.dialogBox = {};
55
- this.contentBox = {};
56
- this.distance = { x: 0, y: 0 };
57
- this.viewInit = false;
58
- this.action = null;
59
- this.containerInit = false;
60
- this._unSubject = new Subject();
61
- this.scrollStrategy = this.protalService.overlay.scrollStrategies.block();
62
- }
63
60
  ngOnInit() {
61
+ this.scrollStrategy = this.protalService.overlay.scrollStrategies.block();
64
62
  this.i18n.localeChange
65
63
  .pipe(map((x) => x.dialog), takeUntil(this._unSubject))
66
64
  .subscribe((x) => {
@@ -280,22 +278,17 @@ export class XDialogComponent extends XDialogProperty {
280
278
  this.renderer.setStyle(this.dialogContent, 'height', `${contentHeight}px`);
281
279
  }
282
280
  }
283
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XDialogComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i1.XPortalService }, { token: i2.Overlay }, { token: i3.XI18nService }, { token: i4.XConfigService }, { token: X_DIALOG_CONTAINER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
284
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XDialogComponent, selector: "x-dialog", host: { properties: { "class.x-dialog-visible": "this.getVisible" } }, viewQueries: [{ propertyName: "dialogTpl", first: true, predicate: ["dialogTpl"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #dialogTpl>\r\n <div class=\"x-dialog-backdrop\" *ngIf=\"container && hasBackdrop\" [@x-opacity-animation]=\"visible\" (click)=\"onClose('close')\"></div>\r\n <div\r\n class=\"x-dialog\"\r\n [@x-move-box-animation]=\"placement\"\r\n (@x-move-box-animation.done)=\"moveDone($event)\"\r\n [class.x-dialog-maximize]=\"isMaximize\"\r\n [class.x-dialog-resizable]=\"resizable\"\r\n [class.x-dialog-default-maximize]=\"isDefaultMaximize\"\r\n [ngStyle]=\"getStyle\"\r\n >\r\n <x-alert\r\n [draggable]=\"draggable && dialogBox['draggable']\"\r\n [resizable]=\"resizable && dialogBox['resizable']\"\r\n [dragFreeDragPosition]=\"dialogBox['distance']\"\r\n [offsetLeft]=\"offsetLeft\"\r\n [offsetTop]=\"offsetTop\"\r\n [minWidth]=\"dialogBox['minWidth']\"\r\n [minHeight]=\"dialogBox['minHeight']\"\r\n [dragBoundary]=\"'.cdk-overlay-container'\"\r\n [title]=\"title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"type\"\r\n [effect]=\"effect\"\r\n [hideClose]=\"hideClose\"\r\n [closeText]=\"closeText\"\r\n [operationTpl]=\"operationTpl\"\r\n (close)=\"onClose('close')\"\r\n (dragEnded)=\"onDragEnded($event)\"\r\n (resizing)=\"onResizing($event)\"\r\n showIcon=\"false\"\r\n duration=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #contentTpl>\r\n <div class=\"x-dialog-inner\">\r\n <div class=\"x-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"x-dialog-buttons\" [class.x-dialog-buttons-center]=\"buttonsCenter\">\r\n <ng-container *xOutlet=\"footer\">\r\n <x-buttons space=\"1\" *ngIf=\"showCancel || showConfirm\">\r\n <x-button *ngIf=\"showCancel\" (click)=\"onClose('cancel')\">{{ getCancelText }}</x-button>\r\n <x-button *ngIf=\"showConfirm\" type=\"primary\" (click)=\"onClose('confirm')\">{{ getConfirmText }}</x-button>\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #operationTpl>\r\n <ng-container *ngIf=\"maximize || resizable\">\r\n <x-button size=\"small\" [icon]=\"isMaximize ? 'fto-minimize' : 'fto-maximize'\" [onlyIcon]=\"true\" (click)=\"onSize()\"></x-button>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"container && visible\">\r\n <ng-container *ngTemplateOutlet=\"dialogTpl\"></ng-container>\r\n</ng-container>\r\n", styles: [".x-dialog{margin:0;padding:0;width:100%;height:100%}.x-dialog>x-alert{height:100%}.x-dialog>x-alert .x-alert{min-height:100%;height:-moz-fit-content;height:fit-content;align-items:inherit;padding:0}.x-dialog>x-alert .x-alert-inner{min-height:100%;display:flex;flex-direction:column}.x-dialog>x-alert .x-alert-title{padding:1rem 1rem 0}.x-dialog>x-alert .x-alert-content{flex:1;display:flex;flex-direction:column;padding:0 1rem .5rem}.x-dialog-inner{display:flex;flex-direction:column;margin:.5rem 0;flex:1}.x-dialog-buttons{display:flex;justify-content:flex-end}.x-dialog-buttons>x-buttons{margin-top:1rem;align-self:flex-end}.x-dialog-buttons-center{justify-content:center}.x-dialog-content{display:inline-flex;flex-direction:column;flex:1;max-height:70vh;overflow:auto;min-height:2rem}.x-dialog-maximize>x-alert .x-alert{left:0!important;top:0!important}.x-dialog-maximize .x-dialog-content{max-height:calc(100vh - 7rem)!important;height:calc(100vh - 7rem)!important}.x-dialog-default-maximize .x-dialog-content{max-height:calc(100vh - 7rem)!important;height:calc(100vh - 7rem)!important;flex:initial}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i6.XButtonComponent, selector: "x-button" }, { kind: "component", type: i6.XButtonsComponent, selector: "x-buttons" }, { kind: "component", type: i7.XAlertComponent, selector: "x-alert" }, { kind: "directive", type: i8.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], animations: [XMoveBoxAnimation, XOpacityAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
281
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
282
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XDialogComponent, isStandalone: true, selector: "x-dialog", host: { properties: { "class.x-dialog-visible": "this.getVisible" } }, viewQueries: [{ propertyName: "dialogTpl", first: true, predicate: ["dialogTpl"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #dialogTpl>\r\n <div class=\"x-dialog-backdrop\" *ngIf=\"container && hasBackdrop\" [@x-opacity-animation]=\"visible\" (click)=\"onClose('close')\"></div>\r\n <div\r\n class=\"x-dialog\"\r\n [@x-move-box-animation]=\"placement\"\r\n (@x-move-box-animation.done)=\"moveDone($event)\"\r\n [class.x-dialog-maximize]=\"isMaximize\"\r\n [class.x-dialog-resizable]=\"resizable\"\r\n [class.x-dialog-default-maximize]=\"isDefaultMaximize\"\r\n [ngStyle]=\"getStyle\"\r\n >\r\n <x-alert\r\n [draggable]=\"draggable && dialogBox['draggable']\"\r\n [resizable]=\"resizable && dialogBox['resizable']\"\r\n [dragFreeDragPosition]=\"dialogBox['distance']\"\r\n [offsetLeft]=\"offsetLeft\"\r\n [offsetTop]=\"offsetTop\"\r\n [minWidth]=\"dialogBox['minWidth']\"\r\n [minHeight]=\"dialogBox['minHeight']\"\r\n [dragBoundary]=\"'.cdk-overlay-container'\"\r\n [title]=\"title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"type\"\r\n [effect]=\"effect\"\r\n [hideClose]=\"hideClose\"\r\n [closeText]=\"closeText\"\r\n [operationTpl]=\"operationTpl\"\r\n (close)=\"onClose('close')\"\r\n (dragEnded)=\"onDragEnded($event)\"\r\n (resizing)=\"onResizing($event)\"\r\n showIcon=\"false\"\r\n duration=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #contentTpl>\r\n <div class=\"x-dialog-inner\">\r\n <div class=\"x-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"x-dialog-buttons\" [class.x-dialog-buttons-center]=\"buttonsCenter\">\r\n <ng-container *xOutlet=\"footer\">\r\n <x-buttons space=\"1\" *ngIf=\"showCancel || showConfirm\">\r\n <x-button *ngIf=\"showCancel\" (click)=\"onClose('cancel')\">{{ getCancelText }}</x-button>\r\n <x-button *ngIf=\"showConfirm\" type=\"primary\" (click)=\"onClose('confirm')\">{{ getConfirmText }}</x-button>\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #operationTpl>\r\n <ng-container *ngIf=\"maximize || resizable\">\r\n <x-button size=\"small\" [icon]=\"isMaximize ? 'fto-minimize' : 'fto-maximize'\" [onlyIcon]=\"true\" (click)=\"onSize()\"></x-button>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"container && visible\">\r\n <ng-container *ngTemplateOutlet=\"dialogTpl\"></ng-container>\r\n</ng-container>\r\n", styles: [".x-dialog{margin:0;padding:0;width:100%;height:100%}.x-dialog>x-alert{height:100%}.x-dialog>x-alert .x-alert{min-height:100%;height:-moz-fit-content;height:fit-content;align-items:inherit;padding:0}.x-dialog>x-alert .x-alert-inner{min-height:100%;display:flex;flex-direction:column}.x-dialog>x-alert .x-alert-title{padding:1rem 1rem 0}.x-dialog>x-alert .x-alert-content{flex:1;display:flex;flex-direction:column;padding:0 1rem .5rem}.x-dialog-inner{display:flex;flex-direction:column;margin:.5rem 0;flex:1}.x-dialog-buttons{display:flex;justify-content:flex-end}.x-dialog-buttons>x-buttons{margin-top:1rem;align-self:flex-end}.x-dialog-buttons-center{justify-content:center}.x-dialog-content{display:inline-flex;flex-direction:column;flex:1;max-height:70vh;overflow:auto;min-height:2rem}.x-dialog-maximize>x-alert .x-alert{left:0!important;top:0!important}.x-dialog-maximize .x-dialog-content{max-height:calc(100vh - 7rem)!important;height:calc(100vh - 7rem)!important}.x-dialog-default-maximize .x-dialog-content{max-height:calc(100vh - 7rem)!important;height:calc(100vh - 7rem)!important;flex:initial}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: XAlertComponent, selector: "x-alert" }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XButtonsComponent, selector: "x-buttons" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], animations: [XMoveBoxAnimation, XOpacityAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
285
283
  }
286
284
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XDialogComponent, decorators: [{
287
285
  type: Component,
288
- args: [{ selector: `${XDialogPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XMoveBoxAnimation, XOpacityAnimation], template: "<ng-template #dialogTpl>\r\n <div class=\"x-dialog-backdrop\" *ngIf=\"container && hasBackdrop\" [@x-opacity-animation]=\"visible\" (click)=\"onClose('close')\"></div>\r\n <div\r\n class=\"x-dialog\"\r\n [@x-move-box-animation]=\"placement\"\r\n (@x-move-box-animation.done)=\"moveDone($event)\"\r\n [class.x-dialog-maximize]=\"isMaximize\"\r\n [class.x-dialog-resizable]=\"resizable\"\r\n [class.x-dialog-default-maximize]=\"isDefaultMaximize\"\r\n [ngStyle]=\"getStyle\"\r\n >\r\n <x-alert\r\n [draggable]=\"draggable && dialogBox['draggable']\"\r\n [resizable]=\"resizable && dialogBox['resizable']\"\r\n [dragFreeDragPosition]=\"dialogBox['distance']\"\r\n [offsetLeft]=\"offsetLeft\"\r\n [offsetTop]=\"offsetTop\"\r\n [minWidth]=\"dialogBox['minWidth']\"\r\n [minHeight]=\"dialogBox['minHeight']\"\r\n [dragBoundary]=\"'.cdk-overlay-container'\"\r\n [title]=\"title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"type\"\r\n [effect]=\"effect\"\r\n [hideClose]=\"hideClose\"\r\n [closeText]=\"closeText\"\r\n [operationTpl]=\"operationTpl\"\r\n (close)=\"onClose('close')\"\r\n (dragEnded)=\"onDragEnded($event)\"\r\n (resizing)=\"onResizing($event)\"\r\n showIcon=\"false\"\r\n duration=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #contentTpl>\r\n <div class=\"x-dialog-inner\">\r\n <div class=\"x-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"x-dialog-buttons\" [class.x-dialog-buttons-center]=\"buttonsCenter\">\r\n <ng-container *xOutlet=\"footer\">\r\n <x-buttons space=\"1\" *ngIf=\"showCancel || showConfirm\">\r\n <x-button *ngIf=\"showCancel\" (click)=\"onClose('cancel')\">{{ getCancelText }}</x-button>\r\n <x-button *ngIf=\"showConfirm\" type=\"primary\" (click)=\"onClose('confirm')\">{{ getConfirmText }}</x-button>\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #operationTpl>\r\n <ng-container *ngIf=\"maximize || resizable\">\r\n <x-button size=\"small\" [icon]=\"isMaximize ? 'fto-minimize' : 'fto-maximize'\" [onlyIcon]=\"true\" (click)=\"onSize()\"></x-button>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"container && visible\">\r\n <ng-container *ngTemplateOutlet=\"dialogTpl\"></ng-container>\r\n</ng-container>\r\n", styles: [".x-dialog{margin:0;padding:0;width:100%;height:100%}.x-dialog>x-alert{height:100%}.x-dialog>x-alert .x-alert{min-height:100%;height:-moz-fit-content;height:fit-content;align-items:inherit;padding:0}.x-dialog>x-alert .x-alert-inner{min-height:100%;display:flex;flex-direction:column}.x-dialog>x-alert .x-alert-title{padding:1rem 1rem 0}.x-dialog>x-alert .x-alert-content{flex:1;display:flex;flex-direction:column;padding:0 1rem .5rem}.x-dialog-inner{display:flex;flex-direction:column;margin:.5rem 0;flex:1}.x-dialog-buttons{display:flex;justify-content:flex-end}.x-dialog-buttons>x-buttons{margin-top:1rem;align-self:flex-end}.x-dialog-buttons-center{justify-content:center}.x-dialog-content{display:inline-flex;flex-direction:column;flex:1;max-height:70vh;overflow:auto;min-height:2rem}.x-dialog-maximize>x-alert .x-alert{left:0!important;top:0!important}.x-dialog-maximize .x-dialog-content{max-height:calc(100vh - 7rem)!important;height:calc(100vh - 7rem)!important}.x-dialog-default-maximize .x-dialog-content{max-height:calc(100vh - 7rem)!important;height:calc(100vh - 7rem)!important;flex:initial}\n"] }]
289
- }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i1.XPortalService }, { type: i2.Overlay }, { type: i3.XI18nService }, { type: i4.XConfigService }, { type: i9.XDialogContainerComponent, decorators: [{
290
- type: Optional
291
- }, {
292
- type: Inject,
293
- args: [X_DIALOG_CONTAINER]
294
- }] }], propDecorators: { getVisible: [{
286
+ args: [{ selector: `${XDialogPrefix}`, standalone: true, imports: [CommonModule, XAlertComponent, XButtonComponent, XButtonsComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XMoveBoxAnimation, XOpacityAnimation], template: "<ng-template #dialogTpl>\r\n <div class=\"x-dialog-backdrop\" *ngIf=\"container && hasBackdrop\" [@x-opacity-animation]=\"visible\" (click)=\"onClose('close')\"></div>\r\n <div\r\n class=\"x-dialog\"\r\n [@x-move-box-animation]=\"placement\"\r\n (@x-move-box-animation.done)=\"moveDone($event)\"\r\n [class.x-dialog-maximize]=\"isMaximize\"\r\n [class.x-dialog-resizable]=\"resizable\"\r\n [class.x-dialog-default-maximize]=\"isDefaultMaximize\"\r\n [ngStyle]=\"getStyle\"\r\n >\r\n <x-alert\r\n [draggable]=\"draggable && dialogBox['draggable']\"\r\n [resizable]=\"resizable && dialogBox['resizable']\"\r\n [dragFreeDragPosition]=\"dialogBox['distance']\"\r\n [offsetLeft]=\"offsetLeft\"\r\n [offsetTop]=\"offsetTop\"\r\n [minWidth]=\"dialogBox['minWidth']\"\r\n [minHeight]=\"dialogBox['minHeight']\"\r\n [dragBoundary]=\"'.cdk-overlay-container'\"\r\n [title]=\"title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"type\"\r\n [effect]=\"effect\"\r\n [hideClose]=\"hideClose\"\r\n [closeText]=\"closeText\"\r\n [operationTpl]=\"operationTpl\"\r\n (close)=\"onClose('close')\"\r\n (dragEnded)=\"onDragEnded($event)\"\r\n (resizing)=\"onResizing($event)\"\r\n showIcon=\"false\"\r\n duration=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #contentTpl>\r\n <div class=\"x-dialog-inner\">\r\n <div class=\"x-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"x-dialog-buttons\" [class.x-dialog-buttons-center]=\"buttonsCenter\">\r\n <ng-container *xOutlet=\"footer\">\r\n <x-buttons space=\"1\" *ngIf=\"showCancel || showConfirm\">\r\n <x-button *ngIf=\"showCancel\" (click)=\"onClose('cancel')\">{{ getCancelText }}</x-button>\r\n <x-button *ngIf=\"showConfirm\" type=\"primary\" (click)=\"onClose('confirm')\">{{ getConfirmText }}</x-button>\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #operationTpl>\r\n <ng-container *ngIf=\"maximize || resizable\">\r\n <x-button size=\"small\" [icon]=\"isMaximize ? 'fto-minimize' : 'fto-maximize'\" [onlyIcon]=\"true\" (click)=\"onSize()\"></x-button>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"container && visible\">\r\n <ng-container *ngTemplateOutlet=\"dialogTpl\"></ng-container>\r\n</ng-container>\r\n", styles: [".x-dialog{margin:0;padding:0;width:100%;height:100%}.x-dialog>x-alert{height:100%}.x-dialog>x-alert .x-alert{min-height:100%;height:-moz-fit-content;height:fit-content;align-items:inherit;padding:0}.x-dialog>x-alert .x-alert-inner{min-height:100%;display:flex;flex-direction:column}.x-dialog>x-alert .x-alert-title{padding:1rem 1rem 0}.x-dialog>x-alert .x-alert-content{flex:1;display:flex;flex-direction:column;padding:0 1rem .5rem}.x-dialog-inner{display:flex;flex-direction:column;margin:.5rem 0;flex:1}.x-dialog-buttons{display:flex;justify-content:flex-end}.x-dialog-buttons>x-buttons{margin-top:1rem;align-self:flex-end}.x-dialog-buttons-center{justify-content:center}.x-dialog-content{display:inline-flex;flex-direction:column;flex:1;max-height:70vh;overflow:auto;min-height:2rem}.x-dialog-maximize>x-alert .x-alert{left:0!important;top:0!important}.x-dialog-maximize .x-dialog-content{max-height:calc(100vh - 7rem)!important;height:calc(100vh - 7rem)!important}.x-dialog-default-maximize .x-dialog-content{max-height:calc(100vh - 7rem)!important;height:calc(100vh - 7rem)!important;flex:initial}\n"] }]
287
+ }], propDecorators: { getVisible: [{
295
288
  type: HostBinding,
296
289
  args: ['class.x-dialog-visible']
297
290
  }], dialogTpl: [{
298
291
  type: ViewChild,
299
292
  args: ['dialogTpl']
300
293
  }] } });
301
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUlqQix1QkFBdUIsRUFHdkIsU0FBUyxFQUlULFFBQVEsRUFDUixNQUFNLEVBQ04sV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFrQixRQUFRLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkksT0FBTyxFQUFFLGFBQWEsRUFBcUIsZUFBZSxFQUFFLGdCQUFnQixFQUFpQixrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNJLE9BQU8sRUFBRSxxQkFBcUIsRUFBa0IsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEVBQWdCLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc3QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7OztBQWFoRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBZTtJQUNuRCxJQUEyQyxVQUFVO1FBQ25ELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBcUJELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FB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LENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFtQixDQUFDLEVBQUU7WUFDL0csSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsR0FBRyxhQUFhLElBQUksQ0FBQyxDQUFDO1NBQzVFO0lBQ0gsQ0FBQztpSUFqU1UsZ0JBQWdCLHFQQXFETCxrQkFBa0I7cUhBckQ3QixnQkFBZ0IsMlFDcEM3QiwrOEVBK0RBLHF5REQ3QmMsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQzs7MkZBRXZDLGdCQUFnQjtrQkFSNUIsU0FBUzsrQkFDRSxHQUFHLGFBQWEsRUFBRSxpQkFHYixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUM7OzBCQXVEL0MsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0I7eUNBcERHLFVBQVU7c0JBQXBELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUdiLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIE9uRGVzdHJveSxcclxuICBPcHRpb25hbCxcclxuICBJbmplY3QsXHJcbiAgSG9zdEJpbmRpbmdcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWE1vdmVCb3hBbmltYXRpb24sIFhJc0NoYW5nZSwgWElzRnVuY3Rpb24sIFhDb25maWdTZXJ2aWNlLCBYSXNFbXB0eSwgWENsZWFyQ2xhc3MsIFhPcGFjaXR5QW5pbWF0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhEaWFsb2dQcmVmaXgsIFhEaWFsb2dPdmVybGF5UmVmLCBYRGlhbG9nUHJvcGVydHksIFhEaWFsb2dDb250YWluZXIsIFhEaWFsb2dBY3Rpb24sIFhfRElBTE9HX0NPTlRBSU5FUiB9IGZyb20gJy4vZGlhbG9nLnByb3BlcnR5JztcclxuaW1wb3J0IHsgUG9ydGFsUmVzaXphYmxlUHJlZml4LCBYUG9ydGFsU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3BvcnRhbCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCbG9ja1Njcm9sbFN0cmF0ZWd5LCBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBYSTE4bkRpYWxvZywgWEkxOG5TZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDZGtEcmFnRW5kIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IFhSZXNpemFibGVFdmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3Jlc2l6YWJsZSc7XHJcbmltcG9ydCB7IFhEaWFsb2dDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy1jb250YWluZXIuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYRGlhbG9nUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBhbmltYXRpb25zOiBbWE1vdmVCb3hBbmltYXRpb24sIFhPcGFjaXR5QW5pbWF0aW9uXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWERpYWxvZ0NvbXBvbmVudCBleHRlbmRzIFhEaWFsb2dQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLngtZGlhbG9nLXZpc2libGUnKSBnZXQgZ2V0VmlzaWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnZpc2libGU7XHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZ1RwbCcpIGRpYWxvZ1RwbCE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xyXG4gIGRpYWxvZ1JlZiE6IFhEaWFsb2dPdmVybGF5UmVmO1xyXG4gIGJhY2tkcm9wQ2xpY2skITogU3Vic2NyaXB0aW9uO1xyXG4gIHNjcm9sbFN0cmF0ZWd5OiBCbG9ja1Njcm9sbFN0cmF0ZWd5O1xyXG4gIGxvY2FsZTogWEkxOG5EaWFsb2cgPSB7fTtcclxuICBvdmVybGF5RWxlbWVudD86IEhUTUxFbGVtZW50O1xyXG4gIGRpYWxvZ0NvbnRlbnQ/OiBIVE1MRWxlbWVudDtcclxuICBpbml0SGVpZ2h0PyA9IDA7XHJcbiAgaW5pdENvbnRlbnRIZWlnaHQ/ID0gMDtcclxuICBpc01heGltaXplID0gZmFsc2U7XHJcbiAgaXNEZWZhdWx0TWF4aW1pemUgPSBmYWxzZTtcclxuICBkaWFsb2dCb3g6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICBjb250ZW50Qm94OiBYUmVzaXphYmxlRXZlbnQgPSB7fTtcclxuICBkaXN0YW5jZSA9IHsgeDogMCwgeTogMCB9O1xyXG4gIHZpZXdJbml0ID0gZmFsc2U7XHJcbiAgYWN0aW9uOiBYRGlhbG9nQWN0aW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgY29udGFpbmVySW5pdCA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBnZXQgZ2V0Q2FuY2VsVGV4dCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNhbmNlbFRleHQgfHwgdGhpcy5sb2NhbGUuY2FuY2VsVGV4dDtcclxuICB9XHJcblxyXG4gIGdldCBnZXRDb25maXJtVGV4dCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpcm1UZXh0IHx8IHRoaXMubG9jYWxlLmNvbmZpcm1UZXh0O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldFN0eWxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFpbmVyXHJcbiAgICAgID8ge1xyXG4gICAgICAgICAgLi4udGhpcy5wcm90YWxTZXJ2aWNlLnNldENvbnRhaW5lclN0eWxlKHRoaXMucGxhY2VtZW50LCB0aGlzLm9mZnNldCksXHJcbiAgICAgICAgICB3aWR0aDogdGhpcy53aWR0aCxcclxuICAgICAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQsXHJcbiAgICAgICAgICBtaW5XaWR0aDogdGhpcy5taW5XaWR0aCxcclxuICAgICAgICAgIG1pbkhlaWdodDogdGhpcy5taW5IZWlnaHRcclxuICAgICAgICB9XHJcbiAgICAgIDoge307XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHB1YmxpYyBwcm90YWxTZXJ2aWNlOiBYUG9ydGFsU2VydmljZSxcclxuICAgIHB1YmxpYyBvdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHVibGljIGkxOG46IFhJMThuU2VydmljZSxcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoWF9ESUFMT0dfQ09OVEFJTkVSKSBwdWJsaWMgY29udGFpbmVyPzogWERpYWxvZ0NvbnRhaW5lckNvbXBvbmVudFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLnByb3RhbFNlcnZpY2Uub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaTE4bi5sb2NhbGVDaGFuZ2VcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKCh4KSA9PiB4LmRpYWxvZyBhcyBYSTE4bkRpYWxvZyksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbGUgPSB4O1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuZGlhbG9nQm94WydkcmFnZ2FibGUnXSA9IHRoaXMuZHJhZ2dhYmxlO1xyXG4gICAgdGhpcy5kaWFsb2dCb3hbJ3Jlc2l6YWJsZSddID0gdGhpcy5yZXNpemFibGU7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHZpc2libGUsIHBsYWNlbWVudCB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZSh2aXNpYmxlKSAmJiB0aGlzLnNldFZpc2libGUoKTtcclxuICAgIGlmIChYSXNDaGFuZ2UocGxhY2VtZW50KSkge1xyXG4gICAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMudmlld0luaXQgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnZpc2libGUgJiYgdGhpcy5jcmVhdGUoKSk7XHJcbiAgfVxyXG5cclxuICB1bnN1YnNjcmliZSgpIHtcclxuICAgIHRoaXMuYmFja2Ryb3BDbGljayQ/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIGZvciAobGV0IGtleSBpbiB0aGlzLmNsYXNzTWFwKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGtleSk7XHJcbiAgICB9XHJcbiAgICBYQ2xlYXJDbGFzcyh0aGlzLmNsYXNzTWFwKTtcclxuICAgIHRoaXMuY2xhc3NNYXAgPSB7XHJcbiAgICAgIFtgJHtYRGlhbG9nUHJlZml4fS0ke3RoaXMucGxhY2VtZW50fWBdOiAhWElzRW1wdHkodGhpcy5wbGFjZW1lbnQpXHJcbiAgICB9O1xyXG4gICAgZm9yIChsZXQga2V5IGluIHRoaXMuY2xhc3NNYXApIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwga2V5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFZpc2libGUoKSB7XHJcbiAgICBpZiAoIXRoaXMudmlld0luaXQpIHJldHVybjtcclxuICAgIGlmICh0aGlzLnZpc2libGUpIHtcclxuICAgICAgdGhpcy5jcmVhdGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub25DbG9zZSgnY2xvc2UnLCBmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGUoKSB7XHJcbiAgICBpZiAodGhpcy5jb250YWluZXIpIHtcclxuICAgICAgdGhpcy5jb250YWluZXJJbml0ID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLnByb3RhbFNlcnZpY2UuYXR0YWNoKHtcclxuICAgICAgY29udGVudDogdGhpcy5kaWFsb2dUcGwsXHJcbiAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcclxuICAgICAgb3ZlcmxheUNvbmZpZzoge1xyXG4gICAgICAgIHBhbmVsQ2xhc3M6IFtYRGlhbG9nQ29udGFpbmVyLCB0aGlzLmNsYXNzTmFtZV0sXHJcbiAgICAgICAgaGFzQmFja2Ryb3A6IEJvb2xlYW4odGhpcy5oYXNCYWNrZHJvcCksXHJcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKCksXHJcbiAgICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXHJcbiAgICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCxcclxuICAgICAgICBtaW5XaWR0aDogdGhpcy5taW5XaWR0aCxcclxuICAgICAgICBtaW5IZWlnaHQ6IHRoaXMubWluSGVpZ2h0LFxyXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMucHJvdGFsU2VydmljZS5zZXRQbGFjZSh0aGlzLnBsYWNlbWVudCwgdGhpcy5vZmZzZXQpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgY29uc3QgeyBob3N0RWxlbWVudCwgb3ZlcmxheUVsZW1lbnQgfSA9IHRoaXMuZGlhbG9nUmVmLm92ZXJsYXlSZWYhO1xyXG4gICAgdGhpcy5vdmVybGF5RWxlbWVudCA9IG92ZXJsYXlFbGVtZW50O1xyXG4gICAgdGhpcy5zZXRXaWR0aEhlaWdodCgpO1xyXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLmRpYWxvZ0JveCwge1xyXG4gICAgICB3aWR0aDogdGhpcy53aWR0aCxcclxuICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCxcclxuICAgICAgbWluV2lkdGg6IHRoaXMubWluV2lkdGgsXHJcbiAgICAgIG1pbkhlaWdodDogdGhpcy5taW5IZWlnaHRcclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMucmVzaXphYmxlICYmICF0aGlzLmlzRGVmYXVsdE1heGltaXplKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoaG9zdEVsZW1lbnQsIFBvcnRhbFJlc2l6YWJsZVByZWZpeCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5kaWFsb2dCb3gsIHRoaXMucHJvdGFsU2VydmljZS5zZXRSZXNpemFibGUodGhpcy5vdmVybGF5RWxlbWVudCEsIHRoaXMucGxhY2VtZW50KSk7XHJcbiAgICAgICAgdGhpcy5vZmZzZXRMZWZ0ID0gdGhpcy5vdmVybGF5RWxlbWVudCEub2Zmc2V0TGVmdDtcclxuICAgICAgICB0aGlzLm9mZnNldFRvcCA9IHRoaXMub3ZlcmxheUVsZW1lbnQhLm9mZnNldFRvcDtcclxuICAgICAgICBjb25zdCBkaWFsb2dEcmFnZ2FibGUgPSB0aGlzLm92ZXJsYXlFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCcueC1hbGVydC1kcmFnZ2FibGUnKSE7XHJcbiAgICAgICAgdGhpcy5pbml0SGVpZ2h0ID0gZGlhbG9nRHJhZ2dhYmxlLmNsaWVudEhlaWdodDtcclxuICAgICAgICB0aGlzLmRpYWxvZ0NvbnRlbnQgPSB0aGlzLm92ZXJsYXlFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCcueC1kaWFsb2ctY29udGVudCcpITtcclxuICAgICAgICB0aGlzLmluaXRDb250ZW50SGVpZ2h0ID0gdGhpcy5kaWFsb2dDb250ZW50LmNsaWVudEhlaWdodDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5oYXNCYWNrZHJvcCAmJiB0aGlzLmJhY2tkcm9wQ2xvc2UgJiYgdGhpcy5kaWFsb2dSZWY/Lm92ZXJsYXlSZWYpIHtcclxuICAgICAgdGhpcy5iYWNrZHJvcENsaWNrJCA9IHRoaXMuZGlhbG9nUmVmLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQ2xvc2UoJ2Nsb3NlJykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0V2lkdGhIZWlnaHQoKSB7XHJcbiAgICBjb25zdCB3cyA9IFsnMTAwJScsICcxMDB2dyddO1xyXG4gICAgY29uc3QgaHMgPSBbJzEwMCUnLCAnMTAwdmgnXTtcclxuICAgIGlmICh3cy5pbmNsdWRlcyh0aGlzLndpZHRoIGFzIHN0cmluZykgJiYgaHMuaW5jbHVkZXModGhpcy5oZWlnaHQgYXMgc3RyaW5nKSkge1xyXG4gICAgICB0aGlzLmlzRGVmYXVsdE1heGltaXplID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZXNpemFibGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kcmFnZ2FibGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5tYXhpbWl6ZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcG9ydGFsQXR0YWNoZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaWFsb2dSZWY/Lm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlKGFjdGlvbjogWERpYWxvZ0FjdGlvbiwgZXhlY0Z1bmN0aW9uID0gdHJ1ZSkge1xyXG4gICAgaWYgKCF0aGlzLnBvcnRhbEF0dGFjaGVkKCkgJiYgIXRoaXMuY29udGFpbmVyKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5jb250YWluZXIgJiYgIXRoaXMuY29udGFpbmVySW5pdCkgcmV0dXJuO1xyXG4gICAgaWYgKFhJc0Z1bmN0aW9uKHRoaXMuYmVmb3JlQ2xvc2UpICYmIGV4ZWNGdW5jdGlvbikge1xyXG4gICAgICB0aGlzLmJlZm9yZUNsb3NlKGFjdGlvbik7XHJcbiAgICAgIHRoaXMuYWN0aW9uID0gYWN0aW9uO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMudmlzaWJsZSk7XHJcbiAgICAgIGlmICh0aGlzLnBvcnRhbEF0dGFjaGVkKCkpIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZj8ub3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChbYWN0aW9uLCB0aGlzLmFjdGlvbl0uaW5jbHVkZXMoJ2NvbmZpcm0nKSkge1xyXG4gICAgICAgIHRoaXMuY29uZmlybS5lbWl0KCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFthY3Rpb24sIHRoaXMuYWN0aW9uXS5pbmNsdWRlcygnY2FuY2VsJykpIHtcclxuICAgICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jb250YWluZXJJbml0ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuYWN0aW9uID0gbnVsbDtcclxuICAgICAgdGhpcy5jbG9zZS5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkRyYWdFbmRlZCgkZXZlbnQ6IENka0RyYWdFbmQpIHtcclxuICAgIHRoaXMuZGlzdGFuY2UgPSB7IHg6IHRoaXMuZGlzdGFuY2UueCArICRldmVudC5kaXN0YW5jZS54LCB5OiB0aGlzLmRpc3RhbmNlLnkgKyAkZXZlbnQuZGlzdGFuY2UueSB9O1xyXG4gIH1cclxuXHJcbiAgb25TaXplKCkge1xyXG4gICAgaWYgKCF0aGlzLmRpYWxvZ1JlZikgcmV0dXJuO1xyXG4gICAgdGhpcy5pc01heGltaXplID0gIXRoaXMuaXNNYXhpbWl6ZTtcclxuICAgIGlmICh0aGlzLmlzTWF4aW1pemUpIHtcclxuICAgICAgdGhpcy5vbk1heGltaXplKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9uTWluaW1pemUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTWF4aW1pemUoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5vdmVybGF5UmVmPy51cGRhdGVTaXplKHtcclxuICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgaGVpZ2h0OiAnMTAwJScsXHJcbiAgICAgIG1pbldpZHRoOiAnMTAwJScsXHJcbiAgICAgIG1pbkhlaWdodDogJzEwMCUnXHJcbiAgICB9KTtcclxuICAgIHRoaXMuZGlhbG9nQm94WydtaW5XaWR0aCddID0gJzEwMCUnO1xyXG4gICAgdGhpcy5kaWFsb2dCb3hbJ21pbkhlaWdodCddID0gJzEwMCUnO1xyXG4gICAgdGhpcy5kaWFsb2dCb3hbJ2RyYWdnYWJsZSddID0gZmFsc2U7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsncmVzaXphYmxlJ10gPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLnJlc2l6YWJsZSkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheUVsZW1lbnQsICdtYXJnaW4nLCAnMCAwIDAgMCcpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZHJhZ2dhYmxlKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nQm94WydkaXN0YW5jZSddID0geyB4OiAwLCB5OiAwIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbk1pbmltaXplKCkge1xyXG4gICAgdGhpcy5kaWFsb2dCb3hbJ21pbldpZHRoJ10gPSB0aGlzLm1pbldpZHRoO1xyXG4gICAgdGhpcy5kaWFsb2dCb3hbJ21pbkhlaWdodCddID0gdGhpcy5taW5IZWlnaHQ7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsnZHJhZ2dhYmxlJ10gPSB0aGlzLmRyYWdnYWJsZTtcclxuICAgIHRoaXMuZGlhbG9nQm94WydyZXNpemFibGUnXSA9IHRoaXMucmVzaXphYmxlO1xyXG4gICAgdGhpcy5kaWFsb2dSZWYub3ZlcmxheVJlZj8udXBkYXRlU2l6ZSh7XHJcbiAgICAgIHdpZHRoOiB0aGlzLmRpYWxvZ0JveFsnd2lkdGgnXSxcclxuICAgICAgaGVpZ2h0OiB0aGlzLmRpYWxvZ0JveFsnaGVpZ2h0J10sXHJcbiAgICAgIG1pbldpZHRoOiB0aGlzLmRpYWxvZ0JveFsnbWluV2lkdGgnXSxcclxuICAgICAgbWluSGVpZ2h0OiB0aGlzLmRpYWxvZ0JveFsnbWluSGVpZ2h0J11cclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuZHJhZ2dhYmxlKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nQm94WydkaXN0YW5jZSddID0geyAuLi50aGlzLmRpc3RhbmNlIH07XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5yZXNpemFibGUpIHtcclxuICAgICAgaWYgKHRoaXMuZGlhbG9nQm94WydtYXJnaW5Ub3AnXSkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5RWxlbWVudCwgJ21hcmdpbi10b3AnLCBgJHt0aGlzLmRpYWxvZ0JveFsnbWFyZ2luVG9wJ119YCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZGlhbG9nQm94WydtYXJnaW5MZWZ0J10pIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheUVsZW1lbnQsICdtYXJnaW4tbGVmdCcsIGAke3RoaXMuZGlhbG9nQm94WydtYXJnaW5MZWZ0J119YCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZGlhbG9nQm94WydtYXJnaW5SaWdodCddKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlFbGVtZW50LCAnbWFyZ2luLXJpZ2h0JywgYCR7dGhpcy5kaWFsb2dCb3hbJ21hcmdpblJpZ2h0J119YCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZGlhbG9nQm94WydtYXJnaW5Cb3R0b20nXSkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5RWxlbWVudCwgJ21hcmdpbi1ib3R0b20nLCBgJHt0aGlzLmRpYWxvZ0JveFsnbWFyZ2luQm90dG9tJ119YCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1vdmVEb25lKCRldmVudDogeyB0b1N0YXRlOiBzdHJpbmcgfSkge1xyXG4gICAgaWYgKCRldmVudC50b1N0YXRlID09PSAndm9pZCcpIHtcclxuICAgICAgdGhpcy5jbG9zZURvbmUuZW1pdCgkZXZlbnQpO1xyXG4gICAgICB0aGlzLmlzTWF4aW1pemUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kaWFsb2dCb3ggPSB7XHJcbiAgICAgICAgZHJhZ2dhYmxlOiB0aGlzLmRyYWdnYWJsZSxcclxuICAgICAgICByZXNpemFibGU6IHRoaXMucmVzaXphYmxlXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuZGlzdGFuY2UgPSB7IHg6IDAsIHk6IDAgfTtcclxuICAgICAgdGhpcy5kaWFsb2dSZWY/Lm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0RvbmUuZW1pdCgkZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25SZXNpemluZyhldmVudDogWFJlc2l6YWJsZUV2ZW50KSB7XHJcbiAgICBjb25zdCBjb250ZW50SGVpZ2h0ID0gTnVtYmVyKHRoaXMuaW5pdENvbnRlbnRIZWlnaHQpICsgTnVtYmVyKGV2ZW50LmNsaWVudEhlaWdodCkgLSBOdW1iZXIodGhpcy5pbml0SGVpZ2h0KTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kaWFsb2dDb250ZW50LCAnbWF4LWhlaWdodCcsICdpbml0aWFsJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZGlhbG9nQ29udGVudCwgJ2ZsZXgnLCAnaW5pdGlhbCcpO1xyXG4gICAgaWYgKFsndG9wLXN0YXJ0JywgJ3RvcC1lbmQnLCAnYm90dG9tJywgJ3RvcCcsICdib3R0b20tc3RhcnQnLCAnYm90dG9tLWVuZCddLmluY2x1ZGVzKGV2ZW50LmRpcmVjdGlvbiBhcyBzdHJpbmcpKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kaWFsb2dDb250ZW50LCAnaGVpZ2h0JywgYCR7Y29udGVudEhlaWdodH1weGApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2RpYWxvZ1RwbD5cclxuICA8ZGl2IGNsYXNzPVwieC1kaWFsb2ctYmFja2Ryb3BcIiAqbmdJZj1cImNvbnRhaW5lciAmJiBoYXNCYWNrZHJvcFwiIFtAeC1vcGFjaXR5LWFuaW1hdGlvbl09XCJ2aXNpYmxlXCIgKGNsaWNrKT1cIm9uQ2xvc2UoJ2Nsb3NlJylcIj48L2Rpdj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cIngtZGlhbG9nXCJcclxuICAgIFtAeC1tb3ZlLWJveC1hbmltYXRpb25dPVwicGxhY2VtZW50XCJcclxuICAgIChAeC1tb3ZlLWJveC1hbmltYXRpb24uZG9uZSk9XCJtb3ZlRG9uZSgkZXZlbnQpXCJcclxuICAgIFtjbGFzcy54LWRpYWxvZy1tYXhpbWl6ZV09XCJpc01heGltaXplXCJcclxuICAgIFtjbGFzcy54LWRpYWxvZy1yZXNpemFibGVdPVwicmVzaXphYmxlXCJcclxuICAgIFtjbGFzcy54LWRpYWxvZy1kZWZhdWx0LW1heGltaXplXT1cImlzRGVmYXVsdE1heGltaXplXCJcclxuICAgIFtuZ1N0eWxlXT1cImdldFN0eWxlXCJcclxuICA+XHJcbiAgICA8eC1hbGVydFxyXG4gICAgICBbZHJhZ2dhYmxlXT1cImRyYWdnYWJsZSAmJiBkaWFsb2dCb3hbJ2RyYWdnYWJsZSddXCJcclxuICAgICAgW3Jlc2l6YWJsZV09XCJyZXNpemFibGUgJiYgZGlhbG9nQm94WydyZXNpemFibGUnXVwiXHJcbiAgICAgIFtkcmFnRnJlZURyYWdQb3NpdGlvbl09XCJkaWFsb2dCb3hbJ2Rpc3RhbmNlJ11cIlxyXG4gICAgICBbb2Zmc2V0TGVmdF09XCJvZmZzZXRMZWZ0XCJcclxuICAgICAgW29mZnNldFRvcF09XCJvZmZzZXRUb3BcIlxyXG4gICAgICBbbWluV2lkdGhdPVwiZGlhbG9nQm94WydtaW5XaWR0aCddXCJcclxuICAgICAgW21pbkhlaWdodF09XCJkaWFsb2dCb3hbJ21pbkhlaWdodCddXCJcclxuICAgICAgW2RyYWdCb3VuZGFyeV09XCInLmNkay1vdmVybGF5LWNvbnRhaW5lcidcIlxyXG4gICAgICBbdGl0bGVdPVwidGl0bGVcIlxyXG4gICAgICBbY29udGVudF09XCJjb250ZW50VHBsXCJcclxuICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgIFtlZmZlY3RdPVwiZWZmZWN0XCJcclxuICAgICAgW2hpZGVDbG9zZV09XCJoaWRlQ2xvc2VcIlxyXG4gICAgICBbY2xvc2VUZXh0XT1cImNsb3NlVGV4dFwiXHJcbiAgICAgIFtvcGVyYXRpb25UcGxdPVwib3BlcmF0aW9uVHBsXCJcclxuICAgICAgKGNsb3NlKT1cIm9uQ2xvc2UoJ2Nsb3NlJylcIlxyXG4gICAgICAoZHJhZ0VuZGVkKT1cIm9uRHJhZ0VuZGVkKCRldmVudClcIlxyXG4gICAgICAocmVzaXppbmcpPVwib25SZXNpemluZygkZXZlbnQpXCJcclxuICAgICAgc2hvd0ljb249XCJmYWxzZVwiXHJcbiAgICAgIGR1cmF0aW9uPVwiMFwiXHJcbiAgICAgIG1hbnVhbFxyXG4gICAgICBkaXNhYmxlZEFuaW1hdGlvblxyXG4gICAgPjwveC1hbGVydD5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY29udGVudFRwbD5cclxuICA8ZGl2IGNsYXNzPVwieC1kaWFsb2ctaW5uZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWRpYWxvZy1jb250ZW50XCI+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIngtZGlhbG9nLWJ1dHRvbnNcIiBbY2xhc3MueC1kaWFsb2ctYnV0dG9ucy1jZW50ZXJdPVwiYnV0dG9uc0NlbnRlclwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwiZm9vdGVyXCI+XHJcbiAgICAgICAgPHgtYnV0dG9ucyBzcGFjZT1cIjFcIiAqbmdJZj1cInNob3dDYW5jZWwgfHwgc2hvd0NvbmZpcm1cIj5cclxuICAgICAgICAgIDx4LWJ1dHRvbiAqbmdJZj1cInNob3dDYW5jZWxcIiAoY2xpY2spPVwib25DbG9zZSgnY2FuY2VsJylcIj57eyBnZXRDYW5jZWxUZXh0IH19PC94LWJ1dHRvbj5cclxuICAgICAgICAgIDx4LWJ1dHRvbiAqbmdJZj1cInNob3dDb25maXJtXCIgdHlwZT1cInByaW1hcnlcIiAoY2xpY2spPVwib25DbG9zZSgnY29uZmlybScpXCI+e3sgZ2V0Q29uZmlybVRleHQgfX08L3gtYnV0dG9uPlxyXG4gICAgICAgIDwveC1idXR0b25zPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNvcGVyYXRpb25UcGw+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1heGltaXplIHx8IHJlc2l6YWJsZVwiPlxyXG4gICAgPHgtYnV0dG9uIHNpemU9XCJzbWFsbFwiIFtpY29uXT1cImlzTWF4aW1pemUgPyAnZnRvLW1pbmltaXplJyA6ICdmdG8tbWF4aW1pemUnXCIgW29ubHlJY29uXT1cInRydWVcIiAoY2xpY2spPVwib25TaXplKClcIj48L3gtYnV0dG9uPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRhaW5lciAmJiB2aXNpYmxlXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRpYWxvZ1RwbFwiPjwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
294
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLGlCQUFpQixFQUNqQix1QkFBdUIsRUFHdkIsU0FBUyxFQUVULGdCQUFnQixFQUVoQixXQUFXLEVBQ1gsTUFBTSxFQUdQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxjQUFjLEVBQ2QsUUFBUSxFQUNSLFdBQVcsRUFDWCxpQkFBaUIsRUFDbEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQ0wsYUFBYSxFQUViLGVBQWUsRUFDZixnQkFBZ0IsRUFFaEIsa0JBQWtCLEVBQ25CLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNFLE9BQU8sRUFBZ0IsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBdUIsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEUsT0FBTyxFQUFlLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBWXRELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxlQUFlO0lBVnJEOztRQWtCRSxXQUFNLEdBQWdCLEVBQUUsQ0FBQztRQUd6QixlQUFVLEdBQUksQ0FBQyxDQUFDO1FBQ2hCLHNCQUFpQixHQUFJLENBQUMsQ0FBQztRQUN2QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMxQixjQUFTLEdBQTJCLEVBQUUsQ0FBQztRQUN2QyxlQUFVLEdBQW9CLEVBQUUsQ0FBQztRQUNqQyxhQUFRLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUMxQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFdBQU0sR0FBeUIsSUFBSSxDQUFDO1FBQ3BDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRWQsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFzQmpDLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDNUMsa0JBQWEsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdkMsWUFBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQixTQUFJLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BDLGNBQVMsR0FBRyxNQUFNLENBQTRCLGtCQUFrQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdEYsa0JBQWEsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7S0EwT3hDO0lBN1JDLElBQTJDLFVBQVU7UUFDbkQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFxQkQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTO1lBQ25CLENBQUMsQ0FBQztnQkFDRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUNwRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7YUFDMUI7WUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1QsQ0FBQztJQVlELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTthQUNuQixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBcUIsQ0FBQyxFQUNuQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUMzQjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDN0MsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDdkMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN4QyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVc7UUFDVCxLQUFLLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDL0Q7UUFDRCxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxDQUFDLEdBQUcsYUFBYSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDbEUsQ0FBQztRQUNGLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMzQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2Y7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDMUIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUN6QyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDdkIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxhQUFhLEVBQUU7Z0JBQ2IsVUFBVSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDOUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUN0QyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7Z0JBQ3JELEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQzNFO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVcsQ0FBQztRQUNuRSxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzVCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztTQUMxQixDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLHFCQUFxQixDQUFDLENBQUM7WUFDM0QsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDckcsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBZSxDQUFDLFVBQVUsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBZSxDQUFDLFNBQVMsQ0FBQztnQkFDaEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUMsb0JBQW9CLENBQUUsQ0FBQztnQkFDbEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUMsWUFBWSxDQUFDO2dCQUMvQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFFLENBQUM7Z0JBQzlFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztZQUMzRCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUU7WUFDeEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ3hHO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3QixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQWdCLENBQUMsRUFBRTtZQUMzRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1lBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxPQUFPLENBQUMsTUFBcUIsRUFBRSxZQUFZLEdBQUcsSUFBSTtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQ3RELElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQUUsT0FBTztRQUNsRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksWUFBWSxFQUFFO1lBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7U0FDdEI7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNwQjtZQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNyQjtZQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNwQjtZQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWtCO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDckcsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ25DLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDO1lBQ3BDLEtBQUssRUFBRSxNQUFNO1lBQ2IsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsTUFBTTtZQUNoQixTQUFTLEVBQUUsTUFBTTtTQUNsQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDbEU7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQzdDO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDO1lBQ3BDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUM5QixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7WUFDaEMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO1lBQ3BDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztTQUN2QyxDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUM3RjtZQUNELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMvRjtZQUNELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNqRztZQUNELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNuRztTQUNGO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUEyQjtRQUNsQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFO1lBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUc7Z0JBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7YUFDMUIsQ0FBQztZQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQztTQUN2QzthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQXNCO1FBQy9CLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFtQixDQUFDLEVBQUU7WUFDL0csSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsR0FBRyxhQUFhLElBQUksQ0FBQyxDQUFDO1NBQzVFO0lBQ0gsQ0FBQztpSUE3UlUsZ0JBQWdCO3FIQUFoQixnQkFBZ0IsK1JDMUQ3QiwrOEVBK0RBLDBvQ0RaWSxZQUFZLCtYQUFFLGVBQWUsb0RBQUUsZ0JBQWdCLHFEQUFFLGlCQUFpQixzREFBRSxnQkFBZ0IsK0VBS2xGLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUM7OzJGQUV2QyxnQkFBZ0I7a0JBVjVCLFNBQVM7K0JBQ0UsR0FBRyxhQUFhLEVBQUUsY0FDaEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFHaEYsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDOzhCQUdQLFVBQVU7c0JBQXBELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUdiLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIE9uRGVzdHJveSxcclxuICBIb3N0QmluZGluZyxcclxuICBpbmplY3QsXHJcbiAgT25Jbml0LFxyXG4gIEFmdGVyVmlld0luaXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBYTW92ZUJveEFuaW1hdGlvbixcclxuICBYSXNDaGFuZ2UsXHJcbiAgWElzRnVuY3Rpb24sXHJcbiAgWENvbmZpZ1NlcnZpY2UsXHJcbiAgWElzRW1wdHksXHJcbiAgWENsZWFyQ2xhc3MsXHJcbiAgWE9wYWNpdHlBbmltYXRpb25cclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHtcclxuICBYRGlhbG9nUHJlZml4LFxyXG4gIFhEaWFsb2dPdmVybGF5UmVmLFxyXG4gIFhEaWFsb2dQcm9wZXJ0eSxcclxuICBYRGlhbG9nQ29udGFpbmVyLFxyXG4gIFhEaWFsb2dBY3Rpb24sXHJcbiAgWF9ESUFMT0dfQ09OVEFJTkVSXHJcbn0gZnJvbSAnLi9kaWFsb2cucHJvcGVydHknO1xyXG5pbXBvcnQgeyBQb3J0YWxSZXNpemFibGVQcmVmaXgsIFhQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvcG9ydGFsJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJsb2NrU2Nyb2xsU3RyYXRlZ3ksIE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IFhJMThuRGlhbG9nLCBYSTE4blNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENka0RyYWdFbmQgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgWFJlc2l6YWJsZUV2ZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvcmVzaXphYmxlJztcclxuaW1wb3J0IHsgWERpYWxvZ0NvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYQWxlcnRDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9hbGVydCc7XHJcbmltcG9ydCB7IFhCdXR0b25Db21wb25lbnQsIFhCdXR0b25zQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgWE91dGxldERpcmVjdGl2ZSB9IGZyb20gJ0BuZy1uZXN0L3VpL291dGxldCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WERpYWxvZ1ByZWZpeH1gLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgWEFsZXJ0Q29tcG9uZW50LCBYQnV0dG9uQ29tcG9uZW50LCBYQnV0dG9uc0NvbXBvbmVudCwgWE91dGxldERpcmVjdGl2ZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBhbmltYXRpb25zOiBbWE1vdmVCb3hBbmltYXRpb24sIFhPcGFjaXR5QW5pbWF0aW9uXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWERpYWxvZ0NvbXBvbmVudCBleHRlbmRzIFhEaWFsb2dQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MueC1kaWFsb2ctdmlzaWJsZScpIGdldCBnZXRWaXNpYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZTtcclxuICB9XHJcbiAgQFZpZXdDaGlsZCgnZGlhbG9nVHBsJykgZGlhbG9nVHBsITogVGVtcGxhdGVSZWY8dm9pZD47XHJcbiAgZGlhbG9nUmVmITogWERpYWxvZ092ZXJsYXlSZWY7XHJcbiAgYmFja2Ryb3BDbGljayQhOiBTdWJzY3JpcHRpb247XHJcbiAgc2Nyb2xsU3RyYXRlZ3khOiBCbG9ja1Njcm9sbFN0cmF0ZWd5O1xyXG4gIGxvY2FsZTogWEkxOG5EaWFsb2cgPSB7fTtcclxuICBvdmVybGF5RWxlbWVudD86IEhUTUxFbGVtZW50O1xyXG4gIGRpYWxvZ0NvbnRlbnQ/OiBIVE1MRWxlbWVudDtcclxuICBpbml0SGVpZ2h0PyA9IDA7XHJcbiAgaW5pdENvbnRlbnRIZWlnaHQ/ID0gMDtcclxuICBpc01heGltaXplID0gZmFsc2U7XHJcbiAgaXNEZWZhdWx0TWF4aW1pemUgPSBmYWxzZTtcclxuICBkaWFsb2dCb3g6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICBjb250ZW50Qm94OiBYUmVzaXphYmxlRXZlbnQgPSB7fTtcclxuICBkaXN0YW5jZSA9IHsgeDogMCwgeTogMCB9O1xyXG4gIHZpZXdJbml0ID0gZmFsc2U7XHJcbiAgYWN0aW9uOiBYRGlhbG9nQWN0aW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgY29udGFpbmVySW5pdCA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBnZXQgZ2V0Q2FuY2VsVGV4dCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNhbmNlbFRleHQgfHwgdGhpcy5sb2NhbGUuY2FuY2VsVGV4dDtcclxuICB9XHJcblxyXG4gIGdldCBnZXRDb25maXJtVGV4dCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpcm1UZXh0IHx8IHRoaXMubG9jYWxlLmNvbmZpcm1UZXh0O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldFN0eWxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFpbmVyXHJcbiAgICAgID8ge1xyXG4gICAgICAgICAgLi4udGhpcy5wcm90YWxTZXJ2aWNlLnNldENvbnRhaW5lclN0eWxlKHRoaXMucGxhY2VtZW50LCB0aGlzLm9mZnNldCksXHJcbiAgICAgICAgICB3aWR0aDogdGhpcy53aWR0aCxcclxuICAgICAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQsXHJcbiAgICAgICAgICBtaW5XaWR0aDogdGhpcy5taW5XaWR0aCxcclxuICAgICAgICAgIG1pbkhlaWdodDogdGhpcy5taW5IZWlnaHRcclxuICAgICAgICB9XHJcbiAgICAgIDoge307XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XHJcbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xyXG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICBwcml2YXRlIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XHJcbiAgcHJpdmF0ZSBwcm90YWxTZXJ2aWNlID0gaW5qZWN0KFhQb3J0YWxTZXJ2aWNlKTtcclxuICBwcml2YXRlIG92ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XHJcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KFhJMThuU2VydmljZSk7XHJcbiAgY29udGFpbmVyID0gaW5qZWN0PFhEaWFsb2dDb250YWluZXJDb21wb25lbnQ+KFhfRElBTE9HX0NPTlRBSU5FUiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcclxuICBjb25maWdTZXJ2aWNlID0gaW5qZWN0KFhDb25maWdTZXJ2aWNlKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5wcm90YWxTZXJ2aWNlLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xyXG4gICAgdGhpcy5pMThuLmxvY2FsZUNoYW5nZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHgpID0+IHguZGlhbG9nIGFzIFhJMThuRGlhbG9nKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLmxvY2FsZSA9IHg7XHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5kaWFsb2dCb3hbJ2RyYWdnYWJsZSddID0gdGhpcy5kcmFnZ2FibGU7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsncmVzaXphYmxlJ10gPSB0aGlzLnJlc2l6YWJsZTtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgdmlzaWJsZSwgcGxhY2VtZW50IH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKHZpc2libGUpICYmIHRoaXMuc2V0VmlzaWJsZSgpO1xyXG4gICAgaWYgKFhJc0NoYW5nZShwbGFjZW1lbnQpKSB7XHJcbiAgICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy52aWV3SW5pdCA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudmlzaWJsZSAmJiB0aGlzLmNyZWF0ZSgpKTtcclxuICB9XHJcblxyXG4gIHVuc3Vic2NyaWJlKCkge1xyXG4gICAgdGhpcy5iYWNrZHJvcENsaWNrJD8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgZm9yIChsZXQga2V5IGluIHRoaXMuY2xhc3NNYXApIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwga2V5KTtcclxuICAgIH1cclxuICAgIFhDbGVhckNsYXNzKHRoaXMuY2xhc3NNYXApO1xyXG4gICAgdGhpcy5jbGFzc01hcCA9IHtcclxuICAgICAgW2Ake1hEaWFsb2dQcmVmaXh9LSR7dGhpcy5wbGFjZW1lbnR9YF06ICFYSXNFbXB0eSh0aGlzLnBsYWNlbWVudClcclxuICAgIH07XHJcbiAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5jbGFzc01hcCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBrZXkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0VmlzaWJsZSgpIHtcclxuICAgIGlmICghdGhpcy52aWV3SW5pdCkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMudmlzaWJsZSkge1xyXG4gICAgICB0aGlzLmNyZWF0ZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vbkNsb3NlKCdjbG9zZScsIGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNyZWF0ZSgpIHtcclxuICAgIGlmICh0aGlzLmNvbnRhaW5lcikge1xyXG4gICAgICB0aGlzLmNvbnRhaW5lckluaXQgPSB0cnVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMucHJvdGFsU2VydmljZS5hdHRhY2goe1xyXG4gICAgICBjb250ZW50OiB0aGlzLmRpYWxvZ1RwbCxcclxuICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICBvdmVybGF5Q29uZmlnOiB7XHJcbiAgICAgICAgcGFuZWxDbGFzczogW1hEaWFsb2dDb250YWluZXIsIHRoaXMuY2xhc3NOYW1lXSxcclxuICAgICAgICBoYXNCYWNrZHJvcDogQm9vbGVhbih0aGlzLmhhc0JhY2tkcm9wKSxcclxuICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSxcclxuICAgICAgICB3aWR0aDogdGhpcy53aWR0aCxcclxuICAgICAgICBoZWlnaHQ6IHRoaXMuaGVpZ2h0LFxyXG4gICAgICAgIG1pbldpZHRoOiB0aGlzLm1pbldpZHRoLFxyXG4gICAgICAgIG1pbkhlaWdodDogdGhpcy5taW5IZWlnaHQsXHJcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5wcm90YWxTZXJ2aWNlLnNldFBsYWNlKHRoaXMucGxhY2VtZW50LCB0aGlzLm9mZnNldClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBjb25zdCB7IGhvc3RFbGVtZW50LCBvdmVybGF5RWxlbWVudCB9ID0gdGhpcy5kaWFsb2dSZWYub3ZlcmxheVJlZiE7XHJcbiAgICB0aGlzLm92ZXJsYXlFbGVtZW50ID0gb3ZlcmxheUVsZW1lbnQ7XHJcbiAgICB0aGlzLnNldFdpZHRoSGVpZ2h0KCk7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMuZGlhbG9nQm94LCB7XHJcbiAgICAgIHdpZHRoOiB0aGlzLndpZHRoLFxyXG4gICAgICBoZWlnaHQ6IHRoaXMuaGVpZ2h0LFxyXG4gICAgICBtaW5XaWR0aDogdGhpcy5taW5XaWR0aCxcclxuICAgICAgbWluSGVpZ2h0OiB0aGlzLm1pbkhlaWdodFxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5yZXNpemFibGUgJiYgIXRoaXMuaXNEZWZhdWx0TWF4aW1pemUpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhob3N0RWxlbWVudCwgUG9ydGFsUmVzaXphYmxlUHJlZml4KTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmRpYWxvZ0JveCwgdGhpcy5wcm90YWxTZXJ2aWNlLnNldFJlc2l6YWJsZSh0aGlzLm92ZXJsYXlFbGVtZW50ISwgdGhpcy5wbGFjZW1lbnQpKTtcclxuICAgICAgICB0aGlzLm9mZnNldExlZnQgPSB0aGlzLm92ZXJsYXlFbGVtZW50IS5vZmZzZXRMZWZ0O1xyXG4gICAgICAgIHRoaXMub2Zmc2V0VG9wID0gdGhpcy5vdmVybGF5RWxlbWVudCEub2Zmc2V0VG9wO1xyXG4gICAgICAgIGNvbnN0IGRpYWxvZ0RyYWdnYWJsZSA9IHRoaXMub3ZlcmxheUVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJy54LWFsZXJ0LWRyYWdnYWJsZScpITtcclxuICAgICAgICB0aGlzLmluaXRIZWlnaHQgPSBkaWFsb2dEcmFnZ2FibGUuY2xpZW50SGVpZ2h0O1xyXG4gICAgICAgIHRoaXMuZGlhbG9nQ29udGVudCA9IHRoaXMub3ZlcmxheUVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJy54LWRpYWxvZy1jb250ZW50JykhO1xyXG4gICAgICAgIHRoaXMuaW5pdENvbnRlbnRIZWlnaHQgPSB0aGlzLmRpYWxvZ0NvbnRlbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmhhc0JhY2tkcm9wICYmIHRoaXMuYmFja2Ryb3BDbG9zZSAmJiB0aGlzLmRpYWxvZ1JlZj8ub3ZlcmxheVJlZikge1xyXG4gICAgICB0aGlzLmJhY2tkcm9wQ2xpY2skID0gdGhpcy5kaWFsb2dSZWYub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMub25DbG9zZSgnY2xvc2UnKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRXaWR0aEhlaWdodCgpIHtcclxuICAgIGNvbnN0IHdzID0gWycxMDAlJywgJzEwMHZ3J107XHJcbiAgICBjb25zdCBocyA9IFsnMTAwJScsICcxMDB2aCddO1xyXG4gICAgaWYgKHdzLmluY2x1ZGVzKHRoaXMud2lkdGggYXMgc3RyaW5nKSAmJiBocy5pbmNsdWRlcyh0aGlzLmhlaWdodCBhcyBzdHJpbmcpKSB7XHJcbiAgICAgIHRoaXMuaXNEZWZhdWx0TWF4aW1pemUgPSB0cnVlO1xyXG4gICAgICB0aGlzLnJlc2l6YWJsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRyYWdnYWJsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLm1heGltaXplID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwb3J0YWxBdHRhY2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmRpYWxvZ1JlZj8ub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xvc2UoYWN0aW9uOiBYRGlhbG9nQWN0aW9uLCBleGVjRnVuY3Rpb24gPSB0cnVlKSB7XHJcbiAgICBpZiAoIXRoaXMucG9ydGFsQXR0YWNoZWQoKSAmJiAhdGhpcy5jb250YWluZXIpIHJldHVybjtcclxuICAgIGlmICh0aGlzLmNvbnRhaW5lciAmJiAhdGhpcy5jb250YWluZXJJbml0KSByZXR1cm47XHJcbiAgICBpZiAoWElzRnVuY3Rpb24odGhpcy5iZWZvcmVDbG9zZSkgJiYgZXhlY0Z1bmN0aW9uKSB7XHJcbiAgICAgIHRoaXMuYmVmb3JlQ2xvc2UoYWN0aW9uKTtcclxuICAgICAgdGhpcy5hY3Rpb24gPSBhY3Rpb247XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodGhpcy52aXNpYmxlKTtcclxuICAgICAgaWYgKHRoaXMucG9ydGFsQXR0YWNoZWQoKSkge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmPy5vdmVybGF5UmVmPy5kZXRhY2goKTtcclxuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFthY3Rpb24sIHRoaXMuYWN0aW9uXS5pbmNsdWRlcygnY29uZmlybScpKSB7XHJcbiAgICAgICAgdGhpcy5jb25maXJtLmVtaXQoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoW2FjdGlvbiwgdGhpcy5hY3Rpb25dLmluY2x1ZGVzKCdjYW5jZWwnKSkge1xyXG4gICAgICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNvbnRhaW5lckluaXQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5hY3Rpb24gPSBudWxsO1xyXG4gICAgICB0aGlzLmNsb3NlLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRHJhZ0VuZGVkKCRldmVudDogQ2RrRHJhZ0VuZCkge1xyXG4gICAgdGhpcy5kaXN0YW5jZSA9IHsgeDogdGhpcy5kaXN0YW5jZS54ICsgJGV2ZW50LmRpc3RhbmNlLngsIHk6IHRoaXMuZGlzdGFuY2UueSArICRldmVudC5kaXN0YW5jZS55IH07XHJcbiAgfVxyXG5cclxuICBvblNpemUoKSB7XHJcbiAgICBpZiAoIXRoaXMuZGlhbG9nUmVmKSByZXR1cm47XHJcbiAgICB0aGlzLmlzTWF4aW1pemUgPSAhdGhpcy5pc01heGltaXplO1xyXG4gICAgaWYgKHRoaXMuaXNNYXhpbWl6ZSkge1xyXG4gICAgICB0aGlzLm9uTWF4aW1pemUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub25NaW5pbWl6ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25NYXhpbWl6ZSgpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLm92ZXJsYXlSZWY/LnVwZGF0ZVNpemUoe1xyXG4gICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcclxuICAgICAgbWluV2lkdGg6ICcxMDAlJyxcclxuICAgICAgbWluSGVpZ2h0OiAnMTAwJSdcclxuICAgIH0pO1xyXG4gICAgdGhpcy5kaWFsb2dCb3hbJ21pbldpZHRoJ10gPSAnMTAwJSc7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsnbWluSGVpZ2h0J10gPSAnMTAwJSc7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsnZHJhZ2dhYmxlJ10gPSBmYWxzZTtcclxuICAgIHRoaXMuZGlhbG9nQm94WydyZXNpemFibGUnXSA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMucmVzaXphYmxlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5RWxlbWVudCwgJ21hcmdpbicsICcwIDAgMCAwJyk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kcmFnZ2FibGUpIHtcclxuICAgICAgdGhpcy5kaWFsb2dCb3hbJ2Rpc3RhbmNlJ10gPSB7IHg6IDAsIHk6IDAgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTWluaW1pemUoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsnbWluV2lkdGgnXSA9IHRoaXMubWluV2lkdGg7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsnbWluSGVpZ2h0J10gPSB0aGlzLm1pbkhlaWdodDtcclxuICAgIHRoaXMuZGlhbG9nQm94WydkcmFnZ2FibGUnXSA9IHRoaXMuZHJhZ2dhYmxlO1xyXG4gICAgdGhpcy5kaWFsb2dCb3hbJ3Jlc2l6YWJsZSddID0gdGhpcy5yZXNpemFibGU7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5vdmVybGF5UmVmPy51cGRhdGVTaXplKHtcclxuICAgICAgd2lkdGg6IHRoaXMuZGlhbG9nQm94Wyd3aWR0aCddLFxyXG4gICAgICBoZWlnaHQ6IHRoaXMuZGlhbG9nQm94WydoZWlnaHQnXSxcclxuICAgICAgbWluV2lkdGg6IHRoaXMuZGlhbG9nQm94WydtaW5XaWR0aCddLFxyXG4gICAgICBtaW5IZWlnaHQ6IHRoaXMuZGlhbG9nQm94WydtaW5IZWlnaHQnXVxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5kcmFnZ2FibGUpIHtcclxuICAgICAgdGhpcy5kaWFsb2dCb3hbJ2Rpc3RhbmNlJ10gPSB7IC4uLnRoaXMuZGlzdGFuY2UgfTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJlc2l6YWJsZSkge1xyXG4gICAgICBpZiAodGhpcy5kaWFsb2dCb3hbJ21hcmdpblRvcCddKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlFbGVtZW50LCAnbWFyZ2luLXRvcCcsIGAke3RoaXMuZGlhbG9nQm94WydtYXJnaW5Ub3AnXX1gKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kaWFsb2dCb3hbJ21hcmdpbkxlZnQnXSkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5RWxlbWVudCwgJ21hcmdpbi1sZWZ0JywgYCR7dGhpcy5kaWFsb2dCb3hbJ21hcmdpbkxlZnQnXX1gKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kaWFsb2dCb3hbJ21hcmdpblJpZ2h0J10pIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheUVsZW1lbnQsICdtYXJnaW4tcmlnaHQnLCBgJHt0aGlzLmRpYWxvZ0JveFsnbWFyZ2luUmlnaHQnXX1gKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kaWFsb2dCb3hbJ21hcmdpbkJvdHRvbSddKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlFbGVtZW50LCAnbWFyZ2luLWJvdHRvbScsIGAke3RoaXMuZGlhbG9nQm94WydtYXJnaW5Cb3R0b20nXX1gKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbW92ZURvbmUoJGV2ZW50OiB7IHRvU3RhdGU6IHN0cmluZyB9KSB7XHJcbiAgICBpZiAoJGV2ZW50LnRvU3RhdGUgPT09ICd2b2lkJykge1xyXG4gICAgICB0aGlzLmNsb3NlRG9uZS5lbWl0KCRldmVudCk7XHJcbiAgICAgIHRoaXMuaXNNYXhpbWl6ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRpYWxvZ0JveCA9IHtcclxuICAgICAgICBkcmFnZ2FibGU6IHRoaXMuZHJhZ2dhYmxlLFxyXG4gICAgICAgIHJlc2l6YWJsZTogdGhpcy5yZXNpemFibGVcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5kaXN0YW5jZSA9IHsgeDogMCwgeTogMCB9O1xyXG4gICAgICB0aGlzLmRpYWxvZ1JlZj8ub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93RG9uZS5lbWl0KCRldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblJlc2l6aW5nKGV2ZW50OiBYUmVzaXphYmxlRXZlbnQpIHtcclxuICAgIGNvbnN0IGNvbnRlbnRIZWlnaHQgPSBOdW1iZXIodGhpcy5pbml0Q29udGVudEhlaWdodCkgKyBOdW1iZXIoZXZlbnQuY2xpZW50SGVpZ2h0KSAtIE51bWJlcih0aGlzLmluaXRIZWlnaHQpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRpYWxvZ0NvbnRlbnQsICdtYXgtaGVpZ2h0JywgJ2luaXRpYWwnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kaWFsb2dDb250ZW50LCAnZmxleCcsICdpbml0aWFsJyk7XHJcbiAgICBpZiAoWyd0b3Atc3RhcnQnLCAndG9wLWVuZCcsICdib3R0b20nLCAndG9wJywgJ2JvdHRvbS1zdGFydCcsICdib3R0b20tZW5kJ10uaW5jbHVkZXMoZXZlbnQuZGlyZWN0aW9uIGFzIHN0cmluZykpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRpYWxvZ0NvbnRlbnQsICdoZWlnaHQnLCBgJHtjb250ZW50SGVpZ2h0fXB4YCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjZGlhbG9nVHBsPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWRpYWxvZy1iYWNrZHJvcFwiICpuZ0lmPVwiY29udGFpbmVyICYmIGhhc0JhY2tkcm9wXCIgW0B4LW9wYWNpdHktYW5pbWF0aW9uXT1cInZpc2libGVcIiAoY2xpY2spPVwib25DbG9zZSgnY2xvc2UnKVwiPjwvZGl2PlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwieC1kaWFsb2dcIlxyXG4gICAgW0B4LW1vdmUtYm94LWFuaW1hdGlvbl09XCJwbGFjZW1lbnRcIlxyXG4gICAgKEB4LW1vdmUtYm94LWFuaW1hdGlvbi5kb25lKT1cIm1vdmVEb25lKCRldmVudClcIlxyXG4gICAgW2NsYXNzLngtZGlhbG9nLW1heGltaXplXT1cImlzTWF4aW1pemVcIlxyXG4gICAgW2NsYXNzLngtZGlhbG9nLXJlc2l6YWJsZV09XCJyZXNpemFibGVcIlxyXG4gICAgW2NsYXNzLngtZGlhbG9nLWRlZmF1bHQtbWF4aW1pemVdPVwiaXNEZWZhdWx0TWF4aW1pemVcIlxyXG4gICAgW25nU3R5bGVdPVwiZ2V0U3R5bGVcIlxyXG4gID5cclxuICAgIDx4LWFsZXJ0XHJcbiAgICAgIFtkcmFnZ2FibGVdPVwiZHJhZ2dhYmxlICYmIGRpYWxvZ0JveFsnZHJhZ2dhYmxlJ11cIlxyXG4gICAgICBbcmVzaXphYmxlXT1cInJlc2l6YWJsZSAmJiBkaWFsb2dCb3hbJ3Jlc2l6YWJsZSddXCJcclxuICAgICAgW2RyYWdGcmVlRHJhZ1Bvc2l0aW9uXT1cImRpYWxvZ0JveFsnZGlzdGFuY2UnXVwiXHJcbiAgICAgIFtvZmZzZXRMZWZ0XT1cIm9mZnNldExlZnRcIlxyXG4gICAgICBbb2Zmc2V0VG9wXT1cIm9mZnNldFRvcFwiXHJcbiAgICAgIFttaW5XaWR0aF09XCJkaWFsb2dCb3hbJ21pbldpZHRoJ11cIlxyXG4gICAgICBbbWluSGVpZ2h0XT1cImRpYWxvZ0JveFsnbWluSGVpZ2h0J11cIlxyXG4gICAgICBbZHJhZ0JvdW5kYXJ5XT1cIicuY2RrLW92ZXJsYXktY29udGFpbmVyJ1wiXHJcbiAgICAgIFt0aXRsZV09XCJ0aXRsZVwiXHJcbiAgICAgIFtjb250ZW50XT1cImNvbnRlbnRUcGxcIlxyXG4gICAgICBbdHlwZV09XCJ0eXBlXCJcclxuICAgICAgW2VmZmVjdF09XCJlZmZlY3RcIlxyXG4gICAgICBbaGlkZUNsb3NlXT1cImhpZGVDbG9zZVwiXHJcbiAgICAgIFtjbG9zZVRleHRdPVwiY2xvc2VUZXh0XCJcclxuICAgICAgW29wZXJhdGlvblRwbF09XCJvcGVyYXRpb25UcGxcIlxyXG4gICAgICAoY2xvc2UpPVwib25DbG9zZSgnY2xvc2UnKVwiXHJcbiAgICAgIChkcmFnRW5kZWQpPVwib25EcmFnRW5kZWQoJGV2ZW50KVwiXHJcbiAgICAgIChyZXNpemluZyk9XCJvblJlc2l6aW5nKCRldmVudClcIlxyXG4gICAgICBzaG93SWNvbj1cImZhbHNlXCJcclxuICAgICAgZHVyYXRpb249XCIwXCJcclxuICAgICAgbWFudWFsXHJcbiAgICAgIGRpc2FibGVkQW5pbWF0aW9uXHJcbiAgICA+PC94LWFsZXJ0PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNjb250ZW50VHBsPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWRpYWxvZy1pbm5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtZGlhbG9nLWNvbnRlbnRcIj5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1kaWFsb2ctYnV0dG9uc1wiIFtjbGFzcy54LWRpYWxvZy1idXR0b25zLWNlbnRlcl09XCJidXR0b25zQ2VudGVyXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJmb290ZXJcIj5cclxuICAgICAgICA8eC1idXR0b25zIHNwYWNlPVwiMVwiICpuZ0lmPVwic2hvd0NhbmNlbCB8fCBzaG93Q29uZmlybVwiPlxyXG4gICAgICAgICAgPHgtYnV0dG9uICpuZ0lmPVwic2hvd0NhbmNlbFwiIChjbGljayk9XCJvbkNsb3NlKCdjYW5jZWwnKVwiPnt7IGdldENhbmNlbFRleHQgfX08L3gtYnV0dG9uPlxyXG4gICAgICAgICAgPHgtYnV0dG9uICpuZ0lmPVwic2hvd0NvbmZpcm1cIiB0eXBlPVwicHJpbWFyeVwiIChjbGljayk9XCJvbkNsb3NlKCdjb25maXJtJylcIj57eyBnZXRDb25maXJtVGV4dCB9fTwveC1idXR0b24+XHJcbiAgICAgICAgPC94LWJ1dHRvbnM+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI29wZXJhdGlvblRwbD5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibWF4aW1pemUgfHwgcmVzaXphYmxlXCI+XHJcbiAgICA8eC1idXR0b24gc2l6ZT1cInNtYWxsXCIgW2ljb25dPVwiaXNNYXhpbWl6ZSA/ICdmdG8tbWluaW1pemUnIDogJ2Z0by1tYXhpbWl6ZSdcIiBbb25seUljb25dPVwidHJ1ZVwiIChjbGljayk9XCJvblNpemUoKVwiPjwveC1idXR0b24+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiY29udGFpbmVyICYmIHZpc2libGVcIj5cclxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGlhbG9nVHBsXCI+PC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
@@ -1,71 +1,32 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
2
  import { XDialogComponent } from './dialog.component';
4
- import { XAlertModule } from '@ng-nest/ui/alert';
5
- import { XPortalModule } from '@ng-nest/ui/portal';
6
- import { XButtonModule } from '@ng-nest/ui/button';
7
- import { XIconModule } from '@ng-nest/ui/icon';
8
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
9
- import { XInputModule } from '@ng-nest/ui/input';
10
- import { XOutletModule } from '@ng-nest/ui/outlet';
11
- import { XResizableModule } from '@ng-nest/ui/resizable';
12
- import { DragDropModule } from '@angular/cdk/drag-drop';
13
- import { XDialogContainerProperty, XDialogProperty } from './dialog.property';
14
3
  import { XDialogActionsDirective, XDialogCloseDirective, XDialogContentDirective, XDialogDragHandleDirective, XDialogFullscreenDirective, XDialogTitleDirective } from './dialog-portal.directives';
15
- import { XDialogPortalComponent } from './dialog-portal.component';
16
- import { XDialogService } from './dialog.service';
17
4
  import { XDialogContainerComponent } from './dialog-container.component';
18
- import { XI18nModule } from '@ng-nest/ui/i18n';
19
5
  import * as i0 from "@angular/core";
20
6
  export class XDialogModule {
21
7
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
22
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: XDialogModule, declarations: [XDialogComponent,
8
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: XDialogModule, imports: [XDialogComponent,
23
9
  XDialogContainerComponent,
24
10
  XDialogCloseDirective,
25
11
  XDialogTitleDirective,
26
12
  XDialogContentDirective,
27
13
  XDialogActionsDirective,
28
14
  XDialogDragHandleDirective,
29
- XDialogFullscreenDirective,
30
- XDialogPortalComponent,
31
- XDialogProperty,
32
- XDialogContainerProperty], imports: [CommonModule,
33
- FormsModule,
34
- ReactiveFormsModule,
35
- DragDropModule,
36
- XInputModule,
37
- XButtonModule,
38
- XIconModule,
39
- XPortalModule,
40
- XAlertModule,
41
- XOutletModule,
42
- XResizableModule,
43
- XI18nModule], exports: [XDialogComponent,
15
+ XDialogFullscreenDirective], exports: [XDialogComponent,
44
16
  XDialogContainerComponent,
45
17
  XDialogCloseDirective,
46
18
  XDialogTitleDirective,
47
19
  XDialogContentDirective,
48
20
  XDialogActionsDirective,
49
21
  XDialogDragHandleDirective,
50
- XDialogFullscreenDirective,
51
- XDialogPortalComponent] }); }
52
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XDialogModule, providers: [XDialogService], imports: [CommonModule,
53
- FormsModule,
54
- ReactiveFormsModule,
55
- DragDropModule,
56
- XInputModule,
57
- XButtonModule,
58
- XIconModule,
59
- XPortalModule,
60
- XAlertModule,
61
- XOutletModule,
62
- XResizableModule,
63
- XI18nModule] }); }
22
+ XDialogFullscreenDirective] }); }
23
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XDialogModule, imports: [XDialogComponent,
24
+ XDialogContainerComponent] }); }
64
25
  }
65
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XDialogModule, decorators: [{
66
27
  type: NgModule,
67
28
  args: [{
68
- declarations: [
29
+ exports: [
69
30
  XDialogComponent,
70
31
  XDialogContainerComponent,
71
32
  XDialogCloseDirective,
@@ -73,12 +34,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
73
34
  XDialogContentDirective,
74
35
  XDialogActionsDirective,
75
36
  XDialogDragHandleDirective,
76
- XDialogFullscreenDirective,
77
- XDialogPortalComponent,
78
- XDialogProperty,
79
- XDialogContainerProperty
37
+ XDialogFullscreenDirective
80
38
  ],
81
- exports: [
39
+ imports: [
82
40
  XDialogComponent,
83
41
  XDialogContainerComponent,
84
42
  XDialogCloseDirective,
@@ -86,24 +44,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
86
44
  XDialogContentDirective,
87
45
  XDialogActionsDirective,
88
46
  XDialogDragHandleDirective,
89
- XDialogFullscreenDirective,
90
- XDialogPortalComponent
91
- ],
92
- imports: [
93
- CommonModule,
94
- FormsModule,
95
- ReactiveFormsModule,
96
- DragDropModule,
97
- XInputModule,
98
- XButtonModule,
99
- XIconModule,
100
- XPortalModule,
101
- XAlertModule,
102
- XOutletModule,
103
- XResizableModule,
104
- XI18nModule
105
- ],
106
- providers: [XDialogService]
47
+ XDialogFullscreenDirective
48
+ ]
107
49
  }]
108
50
  }] });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RpYWxvZy9kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLHFCQUFxQixFQUN0QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBMkMvQyxNQUFNLE9BQU8sYUFBYTtpSUFBYixhQUFhO2tJQUFiLGFBQWEsaUJBdkN0QixnQkFBZ0I7WUFDaEIseUJBQXlCO1lBQ3pCLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsdUJBQXVCO1lBQ3ZCLHVCQUF1QjtZQUN2QiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLHNCQUFzQjtZQUN0QixlQUFlO1lBQ2Ysd0JBQXdCLGFBY3hCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxZQUFZO1lBQ1osYUFBYTtZQUNiLFdBQVc7WUFDWCxhQUFhO1lBQ2IsWUFBWTtZQUNaLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsV0FBVyxhQXRCWCxnQkFBZ0I7WUFDaEIseUJBQXlCO1lBQ3pCLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsdUJBQXVCO1lBQ3ZCLHVCQUF1QjtZQUN2QiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLHNCQUFzQjtrSUFrQmIsYUFBYSxhQUZiLENBQUMsY0FBYyxDQUFDLFlBYnpCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxZQUFZO1lBQ1osYUFBYTtZQUNiLFdBQVc7WUFDWCxhQUFhO1lBQ2IsWUFBWTtZQUNaLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsV0FBVzs7MkZBSUYsYUFBYTtrQkF6Q3pCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIseUJBQXlCO3dCQUN6QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2Ysd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3dCQUNoQix5QkFBeUI7d0JBQ3pCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixXQUFXO3FCQUNaO29CQUNELFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWEFsZXJ0TW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvYWxlcnQnO1xyXG5pbXBvcnQgeyBYUG9ydGFsTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvcG9ydGFsJztcclxuaW1wb3J0IHsgWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2J1dHRvbic7XHJcbmltcG9ydCB7IFhJY29uTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaWNvbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYSW5wdXRNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9pbnB1dCc7XHJcbmltcG9ydCB7IFhPdXRsZXRNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9vdXRsZXQnO1xyXG5pbXBvcnQgeyBYUmVzaXphYmxlTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvcmVzaXphYmxlJztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgWERpYWxvZ0NvbnRhaW5lclByb3BlcnR5LCBYRGlhbG9nUHJvcGVydHkgfSBmcm9tICcuL2RpYWxvZy5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7XHJcbiAgWERpYWxvZ0FjdGlvbnNEaXJlY3RpdmUsXHJcbiAgWERpYWxvZ0Nsb3NlRGlyZWN0aXZlLFxyXG4gIFhEaWFsb2dDb250ZW50RGlyZWN0aXZlLFxyXG4gIFhEaWFsb2dEcmFnSGFuZGxlRGlyZWN0aXZlLFxyXG4gIFhEaWFsb2dGdWxsc2NyZWVuRGlyZWN0aXZlLFxyXG4gIFhEaWFsb2dUaXRsZURpcmVjdGl2ZVxyXG59IGZyb20gJy4vZGlhbG9nLXBvcnRhbC5kaXJlY3RpdmVzJztcclxuaW1wb3J0IHsgWERpYWxvZ1BvcnRhbENvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9nLXBvcnRhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYRGlhbG9nU2VydmljZSB9IGZyb20gJy4vZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBYRGlhbG9nQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhJMThuTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgWERpYWxvZ0NvbXBvbmVudCxcclxuICAgIFhEaWFsb2dDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBYRGlhbG9nQ2xvc2VEaXJlY3RpdmUsXHJcbiAgICBYRGlhbG9nVGl0bGVEaXJlY3RpdmUsXHJcbiAgICBYRGlhbG9nQ29udGVudERpcmVjdGl2ZSxcclxuICAgIFhEaWFsb2dBY3Rpb25zRGlyZWN0aXZlLFxyXG4gICAgWERpYWxvZ0RyYWdIYW5kbGVEaXJlY3RpdmUsXHJcbiAgICBYRGlhbG9nRnVsbHNjcmVlbkRpcmVjdGl2ZSxcclxuICAgIFhEaWFsb2dQb3J0YWxDb21wb25lbnQsXHJcbiAgICBYRGlhbG9nUHJvcGVydHksXHJcbiAgICBYRGlhbG9nQ29udGFpbmVyUHJvcGVydHlcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFhEaWFsb2dDb21wb25lbnQsXHJcbiAgICBYRGlhbG9nQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgWERpYWxvZ0Nsb3NlRGlyZWN0aXZlLFxyXG4gICAgWERpYWxvZ1RpdGxlRGlyZWN0aXZlLFxyXG4gICAgWERpYWxvZ0NvbnRlbnREaXJlY3RpdmUsXHJcbiAgICBYRGlhbG9nQWN0aW9uc0RpcmVjdGl2ZSxcclxuICAgIFhEaWFsb2dEcmFnSGFuZGxlRGlyZWN0aXZlLFxyXG4gICAgWERpYWxvZ0Z1bGxzY3JlZW5EaXJlY3RpdmUsXHJcbiAgICBYRGlhbG9nUG9ydGFsQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgIFhJbnB1dE1vZHVsZSxcclxuICAgIFhCdXR0b25Nb2R1bGUsXHJcbiAgICBYSWNvbk1vZHVsZSxcclxuICAgIFhQb3J0YWxNb2R1bGUsXHJcbiAgICBYQWxlcnRNb2R1bGUsXHJcbiAgICBYT3V0bGV0TW9kdWxlLFxyXG4gICAgWFJlc2l6YWJsZU1vZHVsZSxcclxuICAgIFhJMThuTW9kdWxlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtYRGlhbG9nU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhEaWFsb2dNb2R1bGUge31cclxuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RpYWxvZy9kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIscUJBQXFCLEVBQ3RCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBd0J6RSxNQUFNLE9BQU8sYUFBYTtpSUFBYixhQUFhO2tJQUFiLGFBQWEsWUFWdEIsZ0JBQWdCO1lBQ2hCLHlCQUF5QjtZQUN6QixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLHVCQUF1QjtZQUN2Qix1QkFBdUI7WUFDdkIsMEJBQTBCO1lBQzFCLDBCQUEwQixhQWpCMUIsZ0JBQWdCO1lBQ2hCLHlCQUF5QjtZQUN6QixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLHVCQUF1QjtZQUN2Qix1QkFBdUI7WUFDdkIsMEJBQTBCO1lBQzFCLDBCQUEwQjtrSUFhakIsYUFBYSxZQVZ0QixnQkFBZ0I7WUFDaEIseUJBQXlCOzsyRkFTaEIsYUFBYTtrQkF0QnpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIseUJBQXlCO3dCQUN6QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3FCQUMzQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3dCQUNoQix5QkFBeUI7d0JBQ3pCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7cUJBQzNCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgWERpYWxvZ0FjdGlvbnNEaXJlY3RpdmUsXHJcbiAgWERpYWxvZ0Nsb3NlRGlyZWN0aXZlLFxyXG4gIFhEaWFsb2dDb250ZW50RGlyZWN0aXZlLFxyXG4gIFhEaWFsb2dEcmFnSGFuZGxlRGlyZWN0aXZlLFxyXG4gIFhEaWFsb2dGdWxsc2NyZWVuRGlyZWN0aXZlLFxyXG4gIFhEaWFsb2dUaXRsZURpcmVjdGl2ZVxyXG59IGZyb20gJy4vZGlhbG9nLXBvcnRhbC5kaXJlY3RpdmVzJztcclxuaW1wb3J0IHsgWERpYWxvZ0NvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbXHJcbiAgICBYRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgWERpYWxvZ0NvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFhEaWFsb2dDbG9zZURpcmVjdGl2ZSxcclxuICAgIFhEaWFsb2dUaXRsZURpcmVjdGl2ZSxcclxuICAgIFhEaWFsb2dDb250ZW50RGlyZWN0aXZlLFxyXG4gICAgWERpYWxvZ0FjdGlvbnNEaXJlY3RpdmUsXHJcbiAgICBYRGlhbG9nRHJhZ0hhbmRsZURpcmVjdGl2ZSxcclxuICAgIFhEaWFsb2dGdWxsc2NyZWVuRGlyZWN0aXZlXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBYRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgWERpYWxvZ0NvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFhEaWFsb2dDbG9zZURpcmVjdGl2ZSxcclxuICAgIFhEaWFsb2dUaXRsZURpcmVjdGl2ZSxcclxuICAgIFhEaWFsb2dDb250ZW50RGlyZWN0aXZlLFxyXG4gICAgWERpYWxvZ0FjdGlvbnNEaXJlY3RpdmUsXHJcbiAgICBYRGlhbG9nRHJhZ0hhbmRsZURpcmVjdGl2ZSxcclxuICAgIFhEaWFsb2dGdWxsc2NyZWVuRGlyZWN0aXZlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWERpYWxvZ01vZHVsZSB7fVxyXG4iXX0=