@ng-nest/ui 16.0.11 → 17.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/README.md +1 -1
  2. package/date-picker/date-range.component.d.ts +2 -2
  3. package/dialog/dialog.property.d.ts +1 -1
  4. package/drawer/drawer.property.d.ts +1 -1
  5. package/esm2022/affix/affix.component.mjs +6 -7
  6. package/esm2022/affix/affix.module.mjs +6 -7
  7. package/esm2022/affix/affix.property.mjs +5 -6
  8. package/esm2022/alert/alert.component.mjs +6 -7
  9. package/esm2022/alert/alert.module.mjs +6 -7
  10. package/esm2022/alert/alert.property.mjs +5 -6
  11. package/esm2022/anchor/anchor-inner.component.mjs +5 -6
  12. package/esm2022/anchor/anchor.component.mjs +6 -7
  13. package/esm2022/anchor/anchor.module.mjs +6 -7
  14. package/esm2022/anchor/anchor.property.mjs +9 -11
  15. package/esm2022/api/api.component.mjs +6 -7
  16. package/esm2022/api/api.module.mjs +6 -7
  17. package/esm2022/auto-complete/auto-complete-portal.component.mjs +6 -7
  18. package/esm2022/auto-complete/auto-complete.component.mjs +6 -7
  19. package/esm2022/auto-complete/auto-complete.module.mjs +6 -7
  20. package/esm2022/auto-complete/auto-complete.property.mjs +5 -6
  21. package/esm2022/avatar/avatar-group.component.mjs +6 -7
  22. package/esm2022/avatar/avatar.component.mjs +6 -7
  23. package/esm2022/avatar/avatar.module.mjs +6 -7
  24. package/esm2022/avatar/avatar.property.mjs +9 -11
  25. package/esm2022/back-top/back-top.component.mjs +6 -7
  26. package/esm2022/back-top/back-top.module.mjs +6 -7
  27. package/esm2022/back-top/back-top.property.mjs +5 -6
  28. package/esm2022/badge/badge.component.mjs +6 -7
  29. package/esm2022/badge/badge.module.mjs +6 -7
  30. package/esm2022/badge/badge.property.mjs +5 -6
  31. package/esm2022/base-form/base-form.component.mjs +5 -6
  32. package/esm2022/base-form/base-form.module.mjs +6 -7
  33. package/esm2022/base-form/base-form.property.mjs +5 -6
  34. package/esm2022/border/border.component.mjs +6 -7
  35. package/esm2022/border/border.module.mjs +6 -7
  36. package/esm2022/button/button.component.mjs +7 -8
  37. package/esm2022/button/button.module.mjs +6 -7
  38. package/esm2022/button/button.property.mjs +9 -11
  39. package/esm2022/button/buttons.component.mjs +6 -7
  40. package/esm2022/calendar/calendar.component.mjs +7 -8
  41. package/esm2022/calendar/calendar.module.mjs +6 -7
  42. package/esm2022/calendar/calendar.property.mjs +5 -6
  43. package/esm2022/card/card.component.mjs +6 -7
  44. package/esm2022/card/card.module.mjs +6 -7
  45. package/esm2022/card/card.property.mjs +5 -6
  46. package/esm2022/carousel/carousel-panel.component.mjs +7 -8
  47. package/esm2022/carousel/carousel.component.mjs +6 -7
  48. package/esm2022/carousel/carousel.module.mjs +6 -7
  49. package/esm2022/carousel/carousel.property.mjs +9 -11
  50. package/esm2022/cascade/cascade-portal.component.mjs +6 -7
  51. package/esm2022/cascade/cascade.component.mjs +6 -7
  52. package/esm2022/cascade/cascade.module.mjs +6 -7
  53. package/esm2022/cascade/cascade.property.mjs +5 -6
  54. package/esm2022/checkbox/checkbox.component.mjs +6 -7
  55. package/esm2022/checkbox/checkbox.module.mjs +6 -7
  56. package/esm2022/checkbox/checkbox.property.mjs +5 -6
  57. package/esm2022/collapse/collapse-panel.component.mjs +7 -8
  58. package/esm2022/collapse/collapse.component.mjs +6 -7
  59. package/esm2022/collapse/collapse.module.mjs +6 -7
  60. package/esm2022/collapse/collapse.property.mjs +9 -11
  61. package/esm2022/color/color.component.mjs +6 -7
  62. package/esm2022/color/color.module.mjs +6 -7
  63. package/esm2022/color/color.property.mjs +5 -6
  64. package/esm2022/color-picker/color-picker-portal.component.mjs +7 -8
  65. package/esm2022/color-picker/color-picker.component.mjs +6 -7
  66. package/esm2022/color-picker/color-picker.module.mjs +6 -7
  67. package/esm2022/color-picker/color-picker.property.mjs +5 -6
  68. package/esm2022/comment/comment-reply.component.mjs +6 -7
  69. package/esm2022/comment/comment.component.mjs +7 -8
  70. package/esm2022/comment/comment.module.mjs +6 -7
  71. package/esm2022/comment/comment.property.mjs +9 -11
  72. package/esm2022/container/aside.component.mjs +6 -7
  73. package/esm2022/container/container.component.mjs +6 -7
  74. package/esm2022/container/container.module.mjs +6 -7
  75. package/esm2022/container/container.property.mjs +17 -21
  76. package/esm2022/container/footer.component.mjs +7 -8
  77. package/esm2022/container/header.component.mjs +7 -8
  78. package/esm2022/container/main.component.mjs +6 -7
  79. package/esm2022/core/config/config.service.mjs +6 -7
  80. package/esm2022/core/services/http.service.mjs +6 -7
  81. package/esm2022/core/services/preloading-strategy.service.mjs +5 -6
  82. package/esm2022/core/services/reuse-strategy.service.mjs +2 -3
  83. package/esm2022/core/services/storage.service.mjs +6 -7
  84. package/esm2022/core/theme/theme.service.mjs +6 -7
  85. package/esm2022/crumb/crumb.component.mjs +7 -8
  86. package/esm2022/crumb/crumb.module.mjs +6 -7
  87. package/esm2022/crumb/crumb.property.mjs +5 -6
  88. package/esm2022/date-picker/date-picker-portal.component.mjs +6 -7
  89. package/esm2022/date-picker/date-picker.component.mjs +6 -7
  90. package/esm2022/date-picker/date-picker.module.mjs +6 -7
  91. package/esm2022/date-picker/date-picker.property.mjs +25 -31
  92. package/esm2022/date-picker/date-quarter.pipe.mjs +6 -7
  93. package/esm2022/date-picker/date-range-portal.component.mjs +6 -7
  94. package/esm2022/date-picker/date-range.component.mjs +6 -7
  95. package/esm2022/date-picker/picker-date.component.mjs +6 -7
  96. package/esm2022/date-picker/picker-month.component.mjs +6 -7
  97. package/esm2022/date-picker/picker-quarter.component.mjs +6 -7
  98. package/esm2022/date-picker/picker-year.component.mjs +6 -7
  99. package/esm2022/description/description-item.component.mjs +6 -7
  100. package/esm2022/description/description.component.mjs +6 -7
  101. package/esm2022/description/description.module.mjs +6 -7
  102. package/esm2022/description/description.property.mjs +9 -11
  103. package/esm2022/dialog/dialog-container.component.mjs +6 -7
  104. package/esm2022/dialog/dialog-portal.component.mjs +6 -7
  105. package/esm2022/dialog/dialog-portal.directives.mjs +31 -37
  106. package/esm2022/dialog/dialog.component.mjs +7 -8
  107. package/esm2022/dialog/dialog.module.mjs +6 -7
  108. package/esm2022/dialog/dialog.property.mjs +9 -11
  109. package/esm2022/dialog/dialog.service.mjs +6 -7
  110. package/esm2022/doc/doc.component.mjs +6 -7
  111. package/esm2022/doc/doc.module.mjs +6 -7
  112. package/esm2022/drag/drag.directive.mjs +6 -7
  113. package/esm2022/drag/drag.module.mjs +6 -7
  114. package/esm2022/drag/drag.property.mjs +5 -6
  115. package/esm2022/drawer/drawer-container.component.mjs +6 -7
  116. package/esm2022/drawer/drawer-portal.component.mjs +6 -7
  117. package/esm2022/drawer/drawer-portal.directives.mjs +15 -18
  118. package/esm2022/drawer/drawer.component.mjs +7 -8
  119. package/esm2022/drawer/drawer.module.mjs +6 -7
  120. package/esm2022/drawer/drawer.property.mjs +9 -11
  121. package/esm2022/drawer/drawer.service.mjs +6 -7
  122. package/esm2022/dropdown/dropdown-portal.component.mjs +6 -7
  123. package/esm2022/dropdown/dropdown.component.mjs +6 -7
  124. package/esm2022/dropdown/dropdown.module.mjs +6 -7
  125. package/esm2022/dropdown/dropdown.property.mjs +5 -6
  126. package/esm2022/empty/empty.component.mjs +6 -7
  127. package/esm2022/empty/empty.module.mjs +6 -7
  128. package/esm2022/empty/empty.property.mjs +5 -6
  129. package/esm2022/examples/examples.component.mjs +6 -7
  130. package/esm2022/examples/examples.module.mjs +6 -7
  131. package/esm2022/find/find.component.mjs +6 -7
  132. package/esm2022/find/find.module.mjs +6 -7
  133. package/esm2022/find/find.property.mjs +5 -6
  134. package/esm2022/form/control.component.mjs +6 -7
  135. package/esm2022/form/form.component.mjs +6 -7
  136. package/esm2022/form/form.module.mjs +6 -7
  137. package/esm2022/form/form.property.mjs +9 -11
  138. package/esm2022/highlight/highlight.component.mjs +7 -8
  139. package/esm2022/highlight/highlight.module.mjs +6 -7
  140. package/esm2022/highlight/highlight.property.mjs +5 -6
  141. package/esm2022/i18n/i18n.directive.mjs +6 -7
  142. package/esm2022/i18n/i18n.module.mjs +6 -7
  143. package/esm2022/i18n/i18n.pipe.mjs +6 -7
  144. package/esm2022/i18n/i18n.service.mjs +7 -8
  145. package/esm2022/icon/icon.component.mjs +6 -7
  146. package/esm2022/icon/icon.module.mjs +6 -7
  147. package/esm2022/icon/icon.property.mjs +5 -6
  148. package/esm2022/icon/icon.service.mjs +7 -8
  149. package/esm2022/image/image-group.component.mjs +5 -6
  150. package/esm2022/image/image-preview.component.mjs +7 -8
  151. package/esm2022/image/image.component.mjs +7 -8
  152. package/esm2022/image/image.module.mjs +6 -7
  153. package/esm2022/image/image.property.mjs +9 -11
  154. package/esm2022/inner/inner.component.mjs +6 -7
  155. package/esm2022/inner/inner.module.mjs +6 -7
  156. package/esm2022/inner/inner.property.mjs +5 -6
  157. package/esm2022/input/input-group.component.mjs +6 -7
  158. package/esm2022/input/input.component.mjs +7 -8
  159. package/esm2022/input/input.module.mjs +6 -7
  160. package/esm2022/input/input.property.mjs +9 -11
  161. package/esm2022/input-number/input-number.component.mjs +6 -7
  162. package/esm2022/input-number/input-number.module.mjs +6 -7
  163. package/esm2022/input-number/input-number.property.mjs +5 -6
  164. package/esm2022/keyword/keyword.directive.mjs +6 -7
  165. package/esm2022/keyword/keyword.module.mjs +6 -7
  166. package/esm2022/keyword/keyword.property.mjs +5 -6
  167. package/esm2022/layout/col.component.mjs +7 -8
  168. package/esm2022/layout/layout.module.mjs +6 -7
  169. package/esm2022/layout/layout.property.mjs +9 -11
  170. package/esm2022/layout/row.component.mjs +6 -7
  171. package/esm2022/link/link.component.mjs +6 -7
  172. package/esm2022/link/link.module.mjs +6 -7
  173. package/esm2022/link/link.property.mjs +5 -6
  174. package/esm2022/list/list-drop-group.directive.mjs +5 -6
  175. package/esm2022/list/list-option.component.mjs +6 -7
  176. package/esm2022/list/list.component.mjs +7 -8
  177. package/esm2022/list/list.module.mjs +6 -7
  178. package/esm2022/list/list.property.mjs +9 -11
  179. package/esm2022/loading/loading.component.mjs +6 -7
  180. package/esm2022/loading/loading.module.mjs +6 -7
  181. package/esm2022/loading/loading.property.mjs +5 -6
  182. package/esm2022/menu/menu-node.component.mjs +6 -7
  183. package/esm2022/menu/menu.component.mjs +6 -7
  184. package/esm2022/menu/menu.module.mjs +6 -7
  185. package/esm2022/menu/menu.property.mjs +9 -11
  186. package/esm2022/message/message.component.mjs +6 -7
  187. package/esm2022/message/message.module.mjs +6 -7
  188. package/esm2022/message/message.service.mjs +6 -7
  189. package/esm2022/message-box/message-box.component.mjs +6 -7
  190. package/esm2022/message-box/message-box.module.mjs +6 -7
  191. package/esm2022/message-box/message-box.service.mjs +6 -7
  192. package/esm2022/notification/notification.component.mjs +6 -7
  193. package/esm2022/notification/notification.module.mjs +6 -7
  194. package/esm2022/notification/notification.service.mjs +6 -7
  195. package/esm2022/outlet/outlet.directive.mjs +6 -7
  196. package/esm2022/outlet/outlet.module.mjs +6 -7
  197. package/esm2022/page-header/page-header.component.mjs +6 -7
  198. package/esm2022/page-header/page-header.module.mjs +6 -7
  199. package/esm2022/page-header/page-header.property.mjs +5 -6
  200. package/esm2022/pagination/pagination.component.mjs +6 -7
  201. package/esm2022/pagination/pagination.module.mjs +6 -7
  202. package/esm2022/pagination/pagination.property.mjs +5 -6
  203. package/esm2022/pattern/pattern.component.mjs +6 -7
  204. package/esm2022/pattern/pattern.module.mjs +6 -7
  205. package/esm2022/popconfirm/popconfirm.component.mjs +6 -7
  206. package/esm2022/popconfirm/popconfirm.module.mjs +6 -7
  207. package/esm2022/popconfirm/popconfirm.property.mjs +5 -6
  208. package/esm2022/popover/popover-portal.component.mjs +6 -7
  209. package/esm2022/popover/popover.directive.mjs +6 -7
  210. package/esm2022/popover/popover.module.mjs +6 -7
  211. package/esm2022/popover/popover.property.mjs +5 -6
  212. package/esm2022/portal/portal.module.mjs +6 -7
  213. package/esm2022/portal/portal.service.mjs +6 -7
  214. package/esm2022/progress/progress.component.mjs +6 -7
  215. package/esm2022/progress/progress.module.mjs +6 -7
  216. package/esm2022/progress/progress.property.mjs +5 -6
  217. package/esm2022/radio/radio.component.mjs +6 -7
  218. package/esm2022/radio/radio.module.mjs +6 -7
  219. package/esm2022/radio/radio.property.mjs +5 -6
  220. package/esm2022/rate/rate.component.mjs +6 -7
  221. package/esm2022/rate/rate.module.mjs +6 -7
  222. package/esm2022/rate/rate.property.mjs +5 -6
  223. package/esm2022/resizable/resizable.directive.mjs +6 -7
  224. package/esm2022/resizable/resizable.module.mjs +6 -7
  225. package/esm2022/resizable/resizable.property.mjs +5 -6
  226. package/esm2022/result/result.component.mjs +6 -7
  227. package/esm2022/result/result.module.mjs +6 -7
  228. package/esm2022/result/result.property.mjs +5 -6
  229. package/esm2022/ripple/ripple.directive.mjs +6 -7
  230. package/esm2022/ripple/ripple.module.mjs +6 -7
  231. package/esm2022/ripple/ripple.property.mjs +5 -6
  232. package/esm2022/select/select-portal.component.mjs +6 -7
  233. package/esm2022/select/select.component.mjs +6 -7
  234. package/esm2022/select/select.module.mjs +6 -7
  235. package/esm2022/select/select.property.mjs +5 -6
  236. package/esm2022/skeleton/skeleton.component.mjs +6 -7
  237. package/esm2022/skeleton/skeleton.module.mjs +6 -7
  238. package/esm2022/skeleton/skeleton.property.mjs +5 -6
  239. package/esm2022/slider/slider.component.mjs +7 -8
  240. package/esm2022/slider/slider.module.mjs +6 -7
  241. package/esm2022/slider/slider.property.mjs +5 -6
  242. package/esm2022/slider-select/slider-select.component.mjs +6 -7
  243. package/esm2022/slider-select/slider-select.module.mjs +6 -7
  244. package/esm2022/slider-select/slider-select.property.mjs +5 -6
  245. package/esm2022/statistic/countdown.component.mjs +6 -7
  246. package/esm2022/statistic/statistic.component.mjs +6 -7
  247. package/esm2022/statistic/statistic.module.mjs +6 -7
  248. package/esm2022/statistic/statistic.property.mjs +9 -11
  249. package/esm2022/steps/steps.component.mjs +6 -7
  250. package/esm2022/steps/steps.module.mjs +6 -7
  251. package/esm2022/steps/steps.property.mjs +5 -6
  252. package/esm2022/switch/switch.component.mjs +6 -7
  253. package/esm2022/switch/switch.module.mjs +6 -7
  254. package/esm2022/switch/switch.property.mjs +5 -6
  255. package/esm2022/table/table-body.component.mjs +6 -7
  256. package/esm2022/table/table-foot.component.mjs +6 -7
  257. package/esm2022/table/table-head.component.mjs +6 -7
  258. package/esm2022/table/table.component.mjs +6 -7
  259. package/esm2022/table/table.module.mjs +6 -7
  260. package/esm2022/table/table.property.mjs +17 -21
  261. package/esm2022/tabs/tab-content.component.mjs +6 -7
  262. package/esm2022/tabs/tab-link.directive.mjs +13 -15
  263. package/esm2022/tabs/tab.component.mjs +6 -7
  264. package/esm2022/tabs/tabs.component.mjs +7 -8
  265. package/esm2022/tabs/tabs.module.mjs +6 -7
  266. package/esm2022/tabs/tabs.property.mjs +9 -11
  267. package/esm2022/tag/tag.component.mjs +6 -7
  268. package/esm2022/tag/tag.module.mjs +6 -7
  269. package/esm2022/tag/tag.property.mjs +5 -6
  270. package/esm2022/text-retract/text-retract.component.mjs +6 -7
  271. package/esm2022/text-retract/text-retract.module.mjs +6 -7
  272. package/esm2022/text-retract/text-retract.property.mjs +5 -6
  273. package/esm2022/textarea/textarea.component.mjs +6 -7
  274. package/esm2022/textarea/textarea.module.mjs +6 -7
  275. package/esm2022/textarea/textarea.property.mjs +5 -6
  276. package/esm2022/theme/theme.component.mjs +6 -7
  277. package/esm2022/theme/theme.module.mjs +6 -7
  278. package/esm2022/theme/theme.property.mjs +5 -6
  279. package/esm2022/time-ago/time-ago.module.mjs +6 -7
  280. package/esm2022/time-ago/time-ago.pipe.mjs +6 -7
  281. package/esm2022/time-picker/time-picker-frame.component.mjs +6 -7
  282. package/esm2022/time-picker/time-picker-portal.component.mjs +6 -7
  283. package/esm2022/time-picker/time-picker.component.mjs +6 -7
  284. package/esm2022/time-picker/time-picker.module.mjs +6 -7
  285. package/esm2022/time-picker/time-picker.property.mjs +5 -6
  286. package/esm2022/time-range/time-range.module.mjs +6 -7
  287. package/esm2022/time-range/time-range.pipe.mjs +5 -6
  288. package/esm2022/timeline/timeline.component.mjs +7 -8
  289. package/esm2022/timeline/timeline.module.mjs +6 -7
  290. package/esm2022/timeline/timeline.property.mjs +5 -6
  291. package/esm2022/tooltip/tooltip-portal.component.mjs +6 -7
  292. package/esm2022/tooltip/tooltip.directive.mjs +6 -7
  293. package/esm2022/tooltip/tooltip.module.mjs +6 -7
  294. package/esm2022/tooltip/tooltip.property.mjs +5 -6
  295. package/esm2022/transfer/transfer.component.mjs +7 -8
  296. package/esm2022/transfer/transfer.module.mjs +6 -7
  297. package/esm2022/transfer/transfer.property.mjs +5 -6
  298. package/esm2022/tree/tree-node.component.mjs +6 -7
  299. package/esm2022/tree/tree.component.mjs +30 -14
  300. package/esm2022/tree/tree.module.mjs +6 -7
  301. package/esm2022/tree/tree.property.mjs +9 -11
  302. package/esm2022/tree/tree.service.mjs +5 -6
  303. package/esm2022/tree-file/tree-file.component.mjs +7 -8
  304. package/esm2022/tree-file/tree-file.module.mjs +6 -7
  305. package/esm2022/tree-file/tree-file.property.mjs +5 -6
  306. package/esm2022/tree-select/tree-select-portal.component.mjs +6 -7
  307. package/esm2022/tree-select/tree-select.component.mjs +6 -7
  308. package/esm2022/tree-select/tree-select.module.mjs +6 -7
  309. package/esm2022/tree-select/tree-select.property.mjs +5 -6
  310. package/esm2022/typography/typography.component.mjs +6 -7
  311. package/esm2022/typography/typography.module.mjs +6 -7
  312. package/esm2022/typography/typography.property.mjs +5 -6
  313. package/esm2022/upload/upload-portal.component.mjs +6 -7
  314. package/esm2022/upload/upload.component.mjs +8 -9
  315. package/esm2022/upload/upload.module.mjs +6 -7
  316. package/esm2022/upload/upload.property.mjs +5 -6
  317. package/fesm2022/ng-nest-ui-affix.mjs +11 -11
  318. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  319. package/fesm2022/ng-nest-ui-alert.mjs +11 -11
  320. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  321. package/fesm2022/ng-nest-ui-anchor.mjs +17 -17
  322. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  323. package/fesm2022/ng-nest-ui-api.mjs +8 -8
  324. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  325. package/fesm2022/ng-nest-ui-auto-complete.mjs +15 -15
  326. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  327. package/fesm2022/ng-nest-ui-avatar.mjs +18 -18
  328. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  329. package/fesm2022/ng-nest-ui-back-top.mjs +12 -12
  330. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  331. package/fesm2022/ng-nest-ui-badge.mjs +11 -11
  332. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  333. package/fesm2022/ng-nest-ui-base-form.mjs +11 -11
  334. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  335. package/fesm2022/ng-nest-ui-border.mjs +8 -8
  336. package/fesm2022/ng-nest-ui-border.mjs.map +1 -1
  337. package/fesm2022/ng-nest-ui-button.mjs +20 -20
  338. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  339. package/fesm2022/ng-nest-ui-calendar.mjs +12 -12
  340. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  341. package/fesm2022/ng-nest-ui-card.mjs +11 -11
  342. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  343. package/fesm2022/ng-nest-ui-carousel.mjs +20 -20
  344. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  345. package/fesm2022/ng-nest-ui-cascade.mjs +16 -16
  346. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  347. package/fesm2022/ng-nest-ui-checkbox.mjs +11 -11
  348. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  349. package/fesm2022/ng-nest-ui-collapse.mjs +19 -19
  350. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  351. package/fesm2022/ng-nest-ui-color-picker.mjs +16 -16
  352. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  353. package/fesm2022/ng-nest-ui-color.mjs +12 -12
  354. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  355. package/fesm2022/ng-nest-ui-comment.mjs +20 -20
  356. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  357. package/fesm2022/ng-nest-ui-container.mjs +38 -38
  358. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  359. package/fesm2022/ng-nest-ui-core.mjs +20 -20
  360. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  361. package/fesm2022/ng-nest-ui-crumb.mjs +12 -12
  362. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  363. package/fesm2022/ng-nest-ui-date-picker.mjs +58 -58
  364. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  365. package/fesm2022/ng-nest-ui-description.mjs +18 -18
  366. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  367. package/fesm2022/ng-nest-ui-dialog.mjs +51 -51
  368. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  369. package/fesm2022/ng-nest-ui-doc.mjs +8 -8
  370. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  371. package/fesm2022/ng-nest-ui-drag.mjs +11 -11
  372. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  373. package/fesm2022/ng-nest-ui-drawer.mjs +38 -38
  374. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  375. package/fesm2022/ng-nest-ui-dropdown.mjs +16 -16
  376. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  377. package/fesm2022/ng-nest-ui-empty.mjs +11 -11
  378. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  379. package/fesm2022/ng-nest-ui-examples.mjs +8 -8
  380. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  381. package/fesm2022/ng-nest-ui-find.mjs +11 -11
  382. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  383. package/fesm2022/ng-nest-ui-form.mjs +18 -18
  384. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  385. package/fesm2022/ng-nest-ui-highlight.mjs +13 -13
  386. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  387. package/fesm2022/ng-nest-ui-i18n.mjs +17 -17
  388. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  389. package/fesm2022/ng-nest-ui-icon.mjs +16 -16
  390. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  391. package/fesm2022/ng-nest-ui-image.mjs +23 -23
  392. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  393. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  394. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  395. package/fesm2022/ng-nest-ui-input-number.mjs +11 -11
  396. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  397. package/fesm2022/ng-nest-ui-input.mjs +19 -19
  398. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  399. package/fesm2022/ng-nest-ui-keyword.mjs +11 -11
  400. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  401. package/fesm2022/ng-nest-ui-layout.mjs +19 -19
  402. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  403. package/fesm2022/ng-nest-ui-link.mjs +11 -11
  404. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  405. package/fesm2022/ng-nest-ui-list.mjs +22 -22
  406. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  407. package/fesm2022/ng-nest-ui-loading.mjs +11 -11
  408. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  409. package/fesm2022/ng-nest-ui-menu.mjs +18 -18
  410. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  411. package/fesm2022/ng-nest-ui-message-box.mjs +13 -13
  412. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  413. package/fesm2022/ng-nest-ui-message.mjs +12 -12
  414. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  415. package/fesm2022/ng-nest-ui-notification.mjs +12 -12
  416. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  417. package/fesm2022/ng-nest-ui-outlet.mjs +8 -8
  418. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  419. package/fesm2022/ng-nest-ui-page-header.mjs +11 -11
  420. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  421. package/fesm2022/ng-nest-ui-pagination.mjs +11 -11
  422. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  423. package/fesm2022/ng-nest-ui-pattern.mjs +8 -8
  424. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  425. package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -11
  426. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  427. package/fesm2022/ng-nest-ui-popover.mjs +15 -15
  428. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  429. package/fesm2022/ng-nest-ui-portal.mjs +8 -8
  430. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  431. package/fesm2022/ng-nest-ui-progress.mjs +11 -11
  432. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  433. package/fesm2022/ng-nest-ui-radio.mjs +11 -11
  434. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  435. package/fesm2022/ng-nest-ui-rate.mjs +11 -11
  436. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  437. package/fesm2022/ng-nest-ui-resizable.mjs +11 -11
  438. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  439. package/fesm2022/ng-nest-ui-result.mjs +11 -11
  440. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  441. package/fesm2022/ng-nest-ui-ripple.mjs +13 -13
  442. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  443. package/fesm2022/ng-nest-ui-select.mjs +15 -15
  444. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  445. package/fesm2022/ng-nest-ui-skeleton.mjs +11 -11
  446. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  447. package/fesm2022/ng-nest-ui-slider-select.mjs +11 -11
  448. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  449. package/fesm2022/ng-nest-ui-slider.mjs +12 -12
  450. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  451. package/fesm2022/ng-nest-ui-statistic.mjs +19 -19
  452. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  453. package/fesm2022/ng-nest-ui-steps.mjs +11 -11
  454. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  455. package/fesm2022/ng-nest-ui-switch.mjs +11 -11
  456. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  457. package/fesm2022/ng-nest-ui-table.mjs +32 -32
  458. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  459. package/fesm2022/ng-nest-ui-tabs.mjs +33 -33
  460. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  461. package/fesm2022/ng-nest-ui-tag.mjs +11 -11
  462. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  463. package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
  464. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  465. package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
  466. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  467. package/fesm2022/ng-nest-ui-theme.mjs +11 -11
  468. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  469. package/fesm2022/ng-nest-ui-time-ago.mjs +8 -8
  470. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  471. package/fesm2022/ng-nest-ui-time-picker.mjs +20 -20
  472. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  473. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  474. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  475. package/fesm2022/ng-nest-ui-timeline.mjs +12 -12
  476. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  477. package/fesm2022/ng-nest-ui-tooltip.mjs +15 -15
  478. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  479. package/fesm2022/ng-nest-ui-transfer.mjs +12 -12
  480. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  481. package/fesm2022/ng-nest-ui-tree-file.mjs +12 -12
  482. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  483. package/fesm2022/ng-nest-ui-tree-select.mjs +15 -15
  484. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  485. package/fesm2022/ng-nest-ui-tree.mjs +45 -28
  486. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  487. package/fesm2022/ng-nest-ui-typography.mjs +11 -11
  488. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  489. package/fesm2022/ng-nest-ui-upload.mjs +18 -18
  490. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  491. package/package.json +52 -52
  492. package/style/core/base.scss +0 -7
  493. package/style/core/index.css +0 -7
  494. package/style/core/index.css.map +1 -1
@@ -13,7 +13,7 @@ const X_CONFIG_NAME = 'find';
13
13
  /**
14
14
  * Find Property
15
15
  */
16
- class XFindProperty extends XControlValueAccessor {
16
+ export class XFindProperty extends XControlValueAccessor {
17
17
  constructor() {
18
18
  super(...arguments);
19
19
  /**
@@ -107,8 +107,8 @@ class XFindProperty extends XControlValueAccessor {
107
107
  */
108
108
  this.treeChecked = [];
109
109
  }
110
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XFindProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
111
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XFindProperty, selector: "x-find-property", inputs: { size: "size", bordered: "bordered", multiple: "multiple", columnLabel: "columnLabel", dialogTitle: "dialogTitle", dialogCheckboxLabel: "dialogCheckboxLabel", dialogCheckboxWidth: "dialogCheckboxWidth", dialogEmptyContent: "dialogEmptyContent", dialogWidth: "dialogWidth", dialogHeight: "dialogHeight", dialogVisible: "dialogVisible", dialogButtonsCenter: "dialogButtonsCenter", tableData: "tableData", tableIndex: "tableIndex", tableSize: "tableSize", tableQuery: "tableQuery", tableTotal: "tableTotal", tableColumns: "tableColumns", tableActivatedRow: "tableActivatedRow", tableCheckedRow: "tableCheckedRow", tableLoading: "tableLoading", tableVirtualScroll: "tableVirtualScroll", tableBodyHeight: "tableBodyHeight", tableMinBufferPx: "tableMinBufferPx", tableMaxBufferPx: "tableMaxBufferPx", tableAdaptionHeight: "tableAdaptionHeight", tableDocPercent: "tableDocPercent", tableRowHeight: "tableRowHeight", treeData: "treeData", treeActivatedId: "treeActivatedId", treeExpandedLevel: "treeExpandedLevel", treeChecked: "treeChecked", treeCheckbox: "treeCheckbox", treeTableConnect: "treeTableConnect", search: "search" }, outputs: { dialogVisibleChange: "dialogVisibleChange", tableIndexChange: "tableIndexChange", tableSizeChange: "tableSizeChange", tableSortChange: "tableSortChange", tableRowEmit: "tableRowEmit", treeActivatedChange: "treeActivatedChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
110
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XFindProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
111
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XFindProperty, selector: "x-find-property", inputs: { size: "size", bordered: "bordered", multiple: "multiple", columnLabel: "columnLabel", dialogTitle: "dialogTitle", dialogCheckboxLabel: "dialogCheckboxLabel", dialogCheckboxWidth: "dialogCheckboxWidth", dialogEmptyContent: "dialogEmptyContent", dialogWidth: "dialogWidth", dialogHeight: "dialogHeight", dialogVisible: "dialogVisible", dialogButtonsCenter: "dialogButtonsCenter", tableData: "tableData", tableIndex: "tableIndex", tableSize: "tableSize", tableQuery: "tableQuery", tableTotal: "tableTotal", tableColumns: "tableColumns", tableActivatedRow: "tableActivatedRow", tableCheckedRow: "tableCheckedRow", tableLoading: "tableLoading", tableVirtualScroll: "tableVirtualScroll", tableBodyHeight: "tableBodyHeight", tableMinBufferPx: "tableMinBufferPx", tableMaxBufferPx: "tableMaxBufferPx", tableAdaptionHeight: "tableAdaptionHeight", tableDocPercent: "tableDocPercent", tableRowHeight: "tableRowHeight", treeData: "treeData", treeActivatedId: "treeActivatedId", treeExpandedLevel: "treeExpandedLevel", treeChecked: "treeChecked", treeCheckbox: "treeCheckbox", treeTableConnect: "treeTableConnect", search: "search" }, outputs: { dialogVisibleChange: "dialogVisibleChange", tableIndexChange: "tableIndexChange", tableSizeChange: "tableSizeChange", tableSortChange: "tableSortChange", tableRowEmit: "tableRowEmit", treeActivatedChange: "treeActivatedChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
112
112
  }
113
113
  __decorate([
114
114
  XWithConfig(X_CONFIG_NAME, 'medium')
@@ -180,8 +180,7 @@ __decorate([
180
180
  __decorate([
181
181
  XInputBoolean()
182
182
  ], XFindProperty.prototype, "treeCheckbox", void 0);
183
- export { XFindProperty };
184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XFindProperty, decorators: [{
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XFindProperty, decorators: [{
185
184
  type: Component,
186
185
  args: [{ selector: `${XFindPrefix}-property`, template: '' }]
187
186
  }], propDecorators: { size: [{
@@ -267,4 +266,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
267
266
  }], search: [{
268
267
  type: Input
269
268
  }] } });
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2ZpbmQvZmluZC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGFBQWEsRUFFYixZQUFZLEVBRVosWUFBWSxFQUlaLFdBQVcsRUFHWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7O0FBRTNFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO0FBQ3BDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQztBQU83Qjs7R0FFRztBQUNILE1BQ2EsYUFBYyxTQUFRLHFCQUFrQztJQURyRTs7UUFZRTs7O1dBR0c7UUFDdUIsYUFBUSxHQUFhLEtBQUssQ0FBQztRQW9DckQ7OztXQUdHO1FBQ3VCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQ3pEOzs7V0FHRztRQUNPLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFPNUQ7OztXQUdHO1FBQ00sY0FBUyxHQUFxQixFQUFFLENBQUM7UUFXMUM7OztXQUdHO1FBQ00sZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUNqQzs7O1dBR0c7UUFDTSxlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ2hDOzs7V0FHRztRQUNPLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDeEQ7OztXQUdHO1FBQ08sb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3ZEOzs7V0FHRztRQUNPLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4RDs7O1dBR0c7UUFDTSxpQkFBWSxHQUFtQixFQUFFLENBQUM7UUFN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VTtzQkFBekQsS0FBSztnQkFLMkMsU0FBUztzQkFBekQsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0ksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUtHLGVBQWU7c0JBQXhCLE1BQU07Z0JBS0csZUFBZTtzQkFBeEIsTUFBTTtnQkFLRSxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFLSSxZQUFZO3NCQUFyQixNQUFNO2dCQUtFLGVBQWU7c0JBQXZCLEtBQUs7Z0JBS2lFLFlBQVk7c0JBQWxGLEtBQUs7Z0JBS2dFLGtCQUFrQjtzQkFBdkYsS0FBSztnQkFLbUIsZUFBZTtzQkFBdkMsS0FBSztnQkFLRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBS0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUttQixtQkFBbUI7c0JBQTNDLEtBQUs7Z0JBS21CLGVBQWU7c0JBQXZDLEtBQUs7Z0JBSzJELGNBQWM7c0JBQTlFLEtBQUs7Z0JBS21CLFFBQVE7c0JBQWhDLEtBQUs7Z0JBS0ksbUJBQW1CO3NCQUE1QixNQUFNO2dCQUtFLGVBQWU7c0JBQXZCLEtBQUs7Z0JBSzJELGlCQUFpQjtzQkFBakYsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtvQixZQUFZO3NCQUFyQyxLQUFLO2dCQUtHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIFhJbnB1dEJvb2xlYW4sXHJcbiAgWEJvb2xlYW4sXHJcbiAgWERhdGFDb252ZXJ0LFxyXG4gIFhEYXRhLFxyXG4gIFhJbnB1dE51bWJlcixcclxuICBYTnVtYmVyLFxyXG4gIFhTb3J0LFxyXG4gIFhRdWVyeSxcclxuICBYV2l0aENvbmZpZyxcclxuICBYRmlsdGVyLFxyXG4gIFhTaXplXHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUYWJsZUNvbHVtbiwgWFRhYmxlUm93IH0gZnJvbSAnQG5nLW5lc3QvdWkvdGFibGUnO1xyXG5pbXBvcnQgeyBYVHJlZU5vZGUgfSBmcm9tICdAbmctbmVzdC91aS90cmVlJztcclxuaW1wb3J0IHsgWENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBYRm9ybU9wdGlvbiB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcblxyXG4vKipcclxuICogRmluZFxyXG4gKiBAc2VsZWN0b3IgeC1maW5kXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWEZpbmRQcmVmaXggPSAneC1maW5kJztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICdmaW5kJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZpbmRTZWFyY2hPcHRpb24gZXh0ZW5kcyBYRmlsdGVyIHtcclxuICBsYWJlbD86IHN0cmluZztcclxuICBidXR0b24/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGaW5kIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hGaW5kUHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWEZpbmRQcm9wZXJ0eSBleHRlbmRzIFhDb250cm9sVmFsdWVBY2Nlc3NvcjxhbnkgfCBhbnlbXT4gaW1wbGVtZW50cyBYRmluZE9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhTaXplPihYX0NPTkZJR19OQU1FLCAnbWVkaXVtJykgb3ZlcnJpZGUgc2l6ZSE6IFhTaXplO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrovrnmoYZcclxuICAgKiBAZW5fVVMgRGlzcGxheSBCb3JkZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgdHJ1ZSkgYm9yZGVyZWQhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJXHJcbiAgICogQGVuX1VTIE11bHRpcGxlIGNob2ljZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbXVsdGlwbGU6IFhCb29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieS4rSBsYWJlbCDlkI3np7DlrZfmrrVcclxuICAgKiBAZW5fVVMgQ2hlY2sgdGhlIGxhYmVsIG5hbWUgZmllbGRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0NPTkZJR19OQU1FLCAnbGFiZWwnKSBjb2x1bW5MYWJlbCE6IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG5qCH6aKYXHJcbiAgICogQGVuX1VTIEJ1bGxldCB0aXRsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxzdHJpbmc+KFhfQ09ORklHX05BTUUsICfmn6Xmib7pgInmi6knKSBkaWFsb2dUaXRsZSE6IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG6KGo5qC86YCJ5oup5YiX5aS05ZCN56ewXHJcbiAgICogQGVuX1VTIEJhbGwgRm9ybSBTZWxlY3QgTGlzdCBOYW1lXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfTkFNRSwgJ+mAieaLqScpIGRpYWxvZ0NoZWNrYm94TGFiZWwhOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuihqOagvOmAieaLqeWIl+WuvVxyXG4gICAqIEBlbl9VUyBCYWxsIEZvcm0gU2VsZWN0IExpc3Qgd2lkdGhcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8bnVtYmVyPihYX0NPTkZJR19OQU1FLCA2MCkgQFhJbnB1dE51bWJlcigpIGRpYWxvZ0NoZWNrYm94V2lkdGghOiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhumAieaLqeaVsOaNruS4uuepuueahOaPkOekuuS/oeaBr1xyXG4gICAqIEBlbl9VUyBCYWxsIGJveCBzZWxlY3Rpb24gZGF0YSBlbXB0eSBwcm9tcHQgaW5mb3JtYXRpb25cclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0NPTkZJR19OQU1FLCAn6K+36YCJ5oup5pWw5o2uJykgZGlhbG9nRW1wdHlDb250ZW50ITogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnmoYblrr3luqZcclxuICAgKiBAZW5fVVMgQnVsbGV0IGZyYW1lIHdpZHRoXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlhbG9nV2lkdGg/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhumrmOW6plxyXG4gICAqIEBlbl9VUyBIZWlnaHQgb2YgYnVsbGV0IGZyYW1lXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlhbG9nSGVpZ2h0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnmoYbmmL7npLrvvIzpmpDol49cclxuICAgKiBAZW5fVVMgQnVsbGV0IGJveCBkaXNwbGF5LCBoaWRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBkaWFsb2dWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuaYvuekuu+8jOmakOiXj1xyXG4gICAqIEBlbl9VUyBCdWxsZXQgYm94IGRpc3BsYXksIGhpZGVcclxuICAgKi9cclxuICBAT3V0cHV0KCkgZGlhbG9nVmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5oyJ6ZKu5bGF5LitXHJcbiAgICogQGVuX1VTIEJ1dHRvbiBjZW50ZXJlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSkgQFhJbnB1dEJvb2xlYW4oKSBkaWFsb2dCdXR0b25zQ2VudGVyPzogWEJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzooYzmlbDmja5cclxuICAgKiBAZW5fVVMgVGFibGUgcm93IGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSB0YWJsZURhdGE6IFhEYXRhPFhUYWJsZVJvdz4gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86aG156CBXHJcbiAgICogQGVuX1VTIFRhYmxlIHBhZ2UgbnVtYmVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPG51bWJlcj4oWF9DT05GSUdfTkFNRSwgMSkgdGFibGVJbmRleCE6IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5q+P6aG15pWw5o2u5p2h5pWwXHJcbiAgICogQGVuX1VTIE51bWJlciBvZiBkYXRhIGl0ZW1zIHBlciBwYWdlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPG51bWJlcj4oWF9DT05GSUdfTkFNRSwgMTApIHRhYmxlU2l6ZSE6IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC85p+l6K+i5p2h5Lu2XHJcbiAgICogQGVuX1VTIE51bWJlciBvZiBkYXRhIGl0ZW1zIHBlciBwYWdlXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGFibGVRdWVyeTogWFF1ZXJ5ID0ge307XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOaVsOaNruaAu+adoeaVsFxyXG4gICAqIEBlbl9VUyBUb3RhbCBudW1iZXIgb2YgdGFibGUgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlVG90YWw6IG51bWJlciA9IDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmhteeggeWPmOWMlueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBQYWdlIG51bWJlciBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgdGFibGVJbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmr4/pobXmmL7npLrmnaHmlbDlj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgU2hvdyB0aGUgbnVtYmVyIG9mIGV2ZW50cyBvbiBlYWNoIHBhZ2VcclxuICAgKi9cclxuICBAT3V0cHV0KCkgdGFibGVTaXplQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaOkuW6j+eCueWHu+eahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBTb3J0IGNsaWNrIGV2ZW50c1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB0YWJsZVNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhTb3J0W10+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOWIl+WPguaVsFxyXG4gICAqIEBlbl9VUyBUYWJsZSBjb2x1bW4gcGFyYW1ldGVyc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlQ29sdW1uczogWFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5Lit6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIEN1cnJlbnRseSBzZWxlY3RlZCByb3cgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlQWN0aXZhdGVkUm93PzogYW55O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzooYzngrnlh7vkuovku7ZcclxuICAgKiBAZW5fVVMgVGFibGUgcm93IGNsaWNrIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHRhYmxlUm93RW1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzooYzngrnlh7vkuovku7ZcclxuICAgKiBAZW5fVVMgVGFibGUgcm93IGNsaWNrIGV2ZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgdGFibGVDaGVja2VkUm93OiB7IFtwcm9wZXJ0eTogc3RyaW5nXTogYW55W10gfSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmK/lkKblkK/nlKjliqDovb0gbG9hZGluZ1xyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGVuYWJsZSBsb2FkaW5nIGxvYWRpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIHRhYmxlTG9hZGluZyE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzlvIDlkK/omZrmi5/mu5rliqhcclxuICAgKiBAZW5fVVMgVGFibGUgb3BlbnMgdmlydHVhbCBzY3JvbGxpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8Ym9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgdGFibGVWaXJ0dWFsU2Nyb2xsITogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC8IGJvZHkg5pWw5o2u6auY5bqmXHJcbiAgICogQGVuX1VTIFRhYmxlIGJvZHkgZGF0YSBoZWlnaHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgdGFibGVCb2R5SGVpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzotoXlh7rlj6/op4bnqpflj6PnvJPlhrLljLrnmoTmnIDlsI/lgLzvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgVGhlIHRhYmxlIGV4Y2VlZHMgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHZpc2libGUgd2luZG93IGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGFibGVNaW5CdWZmZXJQeDogbnVtYmVyID0gMTAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzmuLLmn5PmlrDmlbDmja7nvJPlhrLljLrnmoTlg4/ntKDvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgVGhlIHBpeGVscyBvZiB0aGUgbmV3IGRhdGEgYnVmZmVyIGZvciB0aGUgdGFibGUgcmVuZGVyaW5nLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSB0YWJsZU1heEJ1ZmZlclB4OiBudW1iZXIgPSAyMDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOiHqumAguW6lOmrmOW6pu+8jHRhYmxlIOmrmOW6puetieS6juWxj+W5lemrmOW6puWHj+aOieatpOWkhOiuvue9rueahOaVsOWAvFxyXG4gICAqIEBlbl9VUyBUYWJsZSBhZGFwdGl2ZSBoZWlnaHQsIHRhYmxlIGhlaWdodCBpcyBlcXVhbCB0byB0aGUgc2NyZWVuIGhlaWdodCBtaW51cyB0aGUgdmFsdWUgc2V0IGhlcmVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgdGFibGVBZGFwdGlvbkhlaWdodD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOaWh+aho+mrmOW6pueZvuWIhuavlO+8jOW8ueeql+eZvuWIhuavlOmrmOW6pueUqOWIsFxyXG4gICAqIEBlbl9VUyBUYWJsZSBkb2N1bWVudCBoZWlnaHQgcGVyY2VudGFnZSwgdXNlZCBmb3IgcG9wLXVwIHdpbmRvdyBwZXJjZW50YWdlIGhlaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSB0YWJsZURvY1BlcmNlbnQ6IFhOdW1iZXIgPSAxO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzooYzpq5jluqbvvIzljZXkvY0gcHhcclxuICAgKiBAZW5fVVMgVGFibGUgcm93IGhlaWdodCwgdW5pdCBweFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxudW1iZXI+KFhfQ09ORklHX05BTUUsIDQyKSBAWElucHV0TnVtYmVyKCkgdGFibGVSb3dIZWlnaHQhOiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeiKgueCueaVsOaNrlxyXG4gICAqIEBlbl9VUyBUcmVlIG5vZGUgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYRGF0YUNvbnZlcnQoKSB0cmVlRGF0YTogWERhdGE8WFRyZWVOb2RlPiA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvZPliY3ngrnlh7vpgInkuK3nmoToioLngrnlj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgVGhlIGV2ZW50IG9mIHRoZSB0cmVlIGN1cnJlbnRseSBjbGlja2VkIG9uIHRoZSBzZWxlY3RlZCBub2RlIGNoYW5nZVxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB0cmVlQWN0aXZhdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxYVHJlZU5vZGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeW9k+WJjea/gOa0u+eahOiKgueCuSBJZFxyXG4gICAqIEBlbl9VUyBJZCBvZiB0aGUgY3VycmVudGx5IGFjdGl2ZSBub2RlIG9mIHRoZSB0cmVlXHJcbiAgICovXHJcbiAgQElucHV0KCkgdHJlZUFjdGl2YXRlZElkOiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkem7mOiupOWxleW8gOeahOWxgue6p1xyXG4gICAqIEBlbl9VUyBUaGUgbGV2ZWwgb2YgdGhlIHRyZWUgZXhwYW5kZWQgYnkgZGVmYXVsdFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYTnVtYmVyPihYX0NPTkZJR19OQU1FLCAwKSBAWElucHV0TnVtYmVyKCkgdHJlZUV4cGFuZGVkTGV2ZWwhOiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJEgY2hlY2tib3gg6YCJ5Lit55qE6IqC54K5XHJcbiAgICogQGVuX1VTIFRyZWUgY2hlY2tib3ggc2VsZWN0ZWQgbm9kZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRyZWVDaGVja2VkOiBhbnlbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHmmL7npLrlpJrpgInmoYZcclxuICAgKiBAZW5fVVMgVHJlZSBkaXNwbGF5IGNoZWNrYm94XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSB0cmVlQ2hlY2tib3g/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5ZKM6KGo5qC85ZCM5pe25a2Y5Zyo55qE5pe25YCZ77yM5qCR6IqC54K5IGlkIOWvueW6lOihqOagvOeahOWxnuaAp++8jOeUqOadpeWBmuihqOagvOaVsOaNrui/h+a7pFxyXG4gICAqIEBlbl9VUyBXaGVuIHRoZSB0cmVlIGFuZCB0aGUgdGFibGUgZXhpc3QgYXQgdGhlIHNhbWUgdGltZSwgdGhlIHRyZWUgbm9kZSBpZCBjb3JyZXNwb25kcyB0byB0aGUgYXR0cmlidXRlIG9mIHRoZSB0YWJsZSwgd2hpY2ggaXMgdXNlZCB0byBmaWx0ZXIgdGhlIHRhYmxlIGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSB0cmVlVGFibGVDb25uZWN0OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaVsOaNruafpeivoui/h+a7pOihqOWNlVxyXG4gICAqIEBlbl9VUyBmb3JtIGZvciBkYXRhIGZpbHRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNlYXJjaCE6IFhGaW5kU2VhcmNoT3B0aW9uO1xyXG59XHJcblxyXG4vKipcclxuICogRmluZCBPcHRpb25cclxuICogQHVuZG9jdW1lbnQgdHJ1ZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYRmluZE9wdGlvbiBleHRlbmRzIFhGb3JtT3B0aW9uIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBzaXplPzogWFNpemU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui+ueahhlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IEJvcmRlclxyXG4gICAqL1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAiVxyXG4gICAqIEBlbl9VUyBNdWx0aXBsZSBzZWxlY3RcclxuICAgKi9cclxuICBtdWx0aXBsZT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInkuK0gbGFiZWwg5ZCN56ew5a2X5q61XHJcbiAgICogQGVuX1VTIENoZWNrIHRoZSBsYWJlbCBuYW1lIGZpZWxkXHJcbiAgICovXHJcbiAgY29sdW1uTGFiZWw/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuagh+mimFxyXG4gICAqIEBlbl9VUyBCdWxsZXQgdGl0bGVcclxuICAgKi9cclxuICBkaWFsb2dUaXRsZT86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG6KGo5qC86YCJ5oup5qGG5YiX5aS05ZCN56ewXHJcbiAgICogQGVuX1VTIEJhbGwgRm9ybSBTZWxlY3QgQm94IExpc3QgTmFtZVxyXG4gICAqL1xyXG4gIGRpYWxvZ0NoZWNrYm94TGFiZWw/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuihqOagvOmAieaLqeahhuWIl+WktOWuveW6plxyXG4gICAqIEBlbl9VUyBCYWxsIEZvcm0gU2VsZWN0IEJveCBMaXN0IHdpZHRoXHJcbiAgICovXHJcbiAgZGlhbG9nQ2hlY2tib3hXaWR0aD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG6YCJ5oup5pWw5o2u5Li656m655qE5o+Q56S65YaF5a65XHJcbiAgICogQGVuX1VTIEJhbGwgYm94IHNlbGVjdGlvbiBkYXRhIGVtcHR5IHByb21wdCBpbmZvcm1hdGlvblxyXG4gICAqL1xyXG4gIGRpYWxvZ0VtcHR5Q29udGVudD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG5a695bqmXHJcbiAgICogQGVuX1VTIEJ1bGxldCBmcmFtZSB3aWR0aFxyXG4gICAqL1xyXG4gIGRpYWxvZ1dpZHRoPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnmoYbpq5jluqZcclxuICAgKiBAZW5fVVMgSGVpZ2h0IG9mIGJ1bGxldCBmcmFtZVxyXG4gICAqL1xyXG4gIGRpYWxvZ0hlaWdodD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG5pi+56S677yM6ZqQ6JePXHJcbiAgICogQGVuX1VTIEJ1bGxldCBib3ggc2hvdywgaGlkZVxyXG4gICAqL1xyXG4gIGRpYWxvZ1Zpc2libGU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnmoYbmmL7npLrvvIzpmpDol49cclxuICAgKiBAZW5fVVMgQnVsbGV0IGJveCBzaG93LCBoaWRlXHJcbiAgICovXHJcbiAgLy8gZGlhbG9nVmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5oyJ6ZKu5bGF5LitXHJcbiAgICogQGVuX1VTIEJ1dHRvbiBjZW50ZXJcclxuICAgKi9cclxuICBkaWFsb2dCdXR0b25zQ2VudGVyPzogWEJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzooYzmlbDmja5cclxuICAgKiBAZW5fVVMgVGFibGUgcm93IGRhdGFcclxuICAgKi9cclxuICB0YWJsZURhdGE/OiBYRGF0YTxYVGFibGVSb3c+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzpobXnoIFcclxuICAgKiBAZW5fVVMgVGFibGUgcGFnZSBudW1iZXJcclxuICAgKi9cclxuICB0YWJsZUluZGV4PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmr4/pobXmlbDmja7mnaHmlbBcclxuICAgKiBAZW5fVVMgTnVtYmVyIG9mIGRhdGEgaXRlbXMgcGVyIHBhZ2VcclxuICAgKi9cclxuICB0YWJsZVNpemU/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOaVsOaNruaAu+adoeaVsFxyXG4gICAqIEBlbl9VUyBUb3RhbCBudW1iZXIgb2YgdGFibGUgZGF0YVxyXG4gICAqL1xyXG4gIHRhYmxlVG90YWw/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmhteeggeWPmOWMlueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBQYWdlIG51bWJlciBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICAvLyB0YWJsZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOavj+mhteaYvuekuuadoeaVsOWPmOWMlueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBTaG93IHRoZSBudW1iZXIgb2YgZXZlbnRzIG9uIGVhY2ggcGFnZVxyXG4gICAqL1xyXG4gIC8vIHRhYmxlU2l6ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjpLluo/ngrnlh7vnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgU29ydCBjbGljayBldmVudHNcclxuICAgKi9cclxuICAvLyB0YWJsZVNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhTb3J0W10+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOWIl+WPguaVsFxyXG4gICAqIEBlbl9VUyBUYWJsZSBjb2x1bW4gcGFyYW1ldGVyc1xyXG4gICAqL1xyXG4gIHRhYmxlQ29sdW1ucz86IFhUYWJsZUNvbHVtbltdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlbDmja5cclxuICAgKiBAZW5fVVMgQ3VycmVudGx5IHNlbGVjdGVkIHJvdyBkYXRhXHJcbiAgICovXHJcbiAgdGFibGVBY3RpdmF0ZWRSb3c/OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOihjOeCueWHu+S6i+S7tlxyXG4gICAqIEBlbl9VUyBUYWJsZSByb3cgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICAvLyB0YWJsZVJvd0VtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86KGM54K55Ye75LqL5Lu2XHJcbiAgICogQGVuX1VTIFRhYmxlIHJvdyBjbGljayBldmVudFxyXG4gICAqL1xyXG4gIHRhYmxlQ2hlY2tlZFJvdz86IHsgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnlbXSB9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmK/lkKblkK/nlKjliqDovb0gbG9hZGluZ1xyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGVuYWJsZSBsb2FkaW5nXHJcbiAgICovXHJcbiAgdGFibGVMb2FkaW5nPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOW8gOWQr+iZmuaLn+a7muWKqFxyXG4gICAqIEBlbl9VUyBUYWJsZSBvcGVucyB2aXJ0dWFsIHNjcm9sbGluZ1xyXG4gICAqL1xyXG4gIHRhYmxlVmlydHVhbFNjcm9sbD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvCBib2R5IOaVsOaNrumrmOW6plxyXG4gICAqIEBlbl9VUyBUYWJsZSBib2R5IGRhdGEgaGVpZ2h0XHJcbiAgICovXHJcbiAgdGFibGVCb2R5SGVpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzotoXlh7rlj6/op4bnqpflj6PnvJPlhrLljLrnmoTmnIDlsI/lgLzvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgVGhlIHRhYmxlIGV4Y2VlZHMgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHZpc2libGUgd2luZG93IGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgdGFibGVNaW5CdWZmZXJQeD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC85riy5p+T5paw5pWw5o2u57yT5Yay5Yy655qE5YOP57Sg77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIFRoZSBwaXhlbHMgb2YgdGhlIG5ldyBkYXRhIGJ1ZmZlciBmb3IgdGhlIHRhYmxlIHJlbmRlcmluZywgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgdGFibGVNYXhCdWZmZXJQeD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86Ieq6YCC5bqU6auY5bqm77yMdGFibGUg6auY5bqm562J5LqO5bGP5bmV6auY5bqm5YeP5o6J5q2k5aSE6K6+572u55qE5pWw5YC8XHJcbiAgICogQGVuX1VTIFRhYmxlIGFkYXB0aXZlIGhlaWdodCwgdGFibGUgaGVpZ2h0IGlzIGVxdWFsIHRvIHRoZSBzY3JlZW4gaGVpZ2h0IG1pbnVzIHRoZSB2YWx1ZSBzZXQgaGVyZVxyXG4gICAqL1xyXG4gIHRhYmxlQWRhcHRpb25IZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzmlofmoaPpq5jluqbnmb7liIbmr5TvvIzlvLnnqpfnmb7liIbmr5Tpq5jluqbnlKjliLBcclxuICAgKiBAZW5fVVMgVGFibGUgZG9jdW1lbnQgaGVpZ2h0IHBlcmNlbnRhZ2UsIHVzZWQgZm9yIHBvcC11cCB3aW5kb3cgcGVyY2VudGFnZSBoZWlnaHRcclxuICAgKi9cclxuICB0YWJsZURvY1BlcmNlbnQ/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzooYzpq5jluqbvvIzljZXkvY0gcHhcclxuICAgKiBAZW5fVVMgVGFibGUgcm93IGhlaWdodCwgdW5pdCBweFxyXG4gICAqL1xyXG4gIHRhYmxlUm93SGVpZ2h0PzogWE51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeiKgueCueaVsOaNrlxyXG4gICAqIEBlbl9VUyBUcmVlIG5vZGUgZGF0YVxyXG4gICAqL1xyXG4gIHRyZWVEYXRhPzogWERhdGE8WFRyZWVOb2RlPjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5b2T5YmN54K55Ye76YCJ5Lit55qE6IqC54K55Y+Y5YyW55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFRoZSBldmVudCBvZiB0aGUgdHJlZSBjdXJyZW50bHkgY2xpY2tlZCBvbiB0aGUgc2VsZWN0ZWQgbm9kZSBjaGFuZ2VcclxuICAgKi9cclxuICAvLyB0cmVlQWN0aXZhdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxYVHJlZU5vZGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeW9k+WJjea/gOa0u+eahOiKgueCuSBJZFxyXG4gICAqIEBlbl9VUyBJZCBvZiB0aGUgY3VycmVudGx5IGFjdGl2ZSBub2RlIG9mIHRoZSB0cmVlXHJcbiAgICovXHJcbiAgdHJlZUFjdGl2YXRlZElkPzogYW55O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHpu5jorqTlsZXlvIDnmoTlsYLnuqdcclxuICAgKiBAZW5fVVMgVGhlIGxldmVsIG9mIHRoZSB0cmVlIGV4cGFuZGVkIGJ5IGRlZmF1bHRcclxuICAgKi9cclxuICB0cmVlRXhwYW5kZWRMZXZlbD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkSBjaGVja2JveCDpgInkuK3nmoToioLngrlcclxuICAgKiBAZW5fVVMgVHJlZSBjaGVja2JveCBzZWxlY3RlZCBub2RlXHJcbiAgICovXHJcbiAgdHJlZUNoZWNrZWQ/OiBhbnlbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5pi+56S65aSa6YCJ5qGGXHJcbiAgICogQGVuX1VTIFRyZWUgZGlzcGxheSBjaGVja2JveFxyXG4gICAqL1xyXG4gIHRyZWVDaGVja2JveD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlkozooajmoLzlkIzml7blrZjlnKjnmoTml7blgJnvvIzmoJHoioLngrkgaWQg5a+55bqU6KGo5qC855qE5bGe5oCn77yM55So5p2l5YGa6KGo5qC85pWw5o2u6L+H5rukXHJcbiAgICogQGVuX1VTIFdoZW4gdGhlIHRyZWUgYW5kIHRoZSB0YWJsZSBleGlzdCBhdCB0aGUgc2FtZSB0aW1lLCB0aGUgdHJlZSBub2RlIGlkIGNvcnJlc3BvbmRzIHRvIHRoZSBhdHRyaWJ1dGUgb2YgdGhlIHRhYmxlLCB3aGljaCBpcyB1c2VkIHRvIGZpbHRlciB0aGUgdGFibGUgZGF0YVxyXG4gICAqL1xyXG4gIHRyZWVUYWJsZUNvbm5lY3Q/OiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmlbDmja7mn6Xor6Lov4fmu6TooajljZVcclxuICAgKiBAZW5fVVMgZm9ybSBmb3IgZGF0YSBmaWx0ZXJcclxuICAgKi9cclxuICBzZWFyY2g/OiBYRmluZFNlYXJjaE9wdGlvbjtcclxufVxyXG4iXX0=
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2ZpbmQvZmluZC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGFBQWEsRUFFYixZQUFZLEVBRVosWUFBWSxFQUlaLFdBQVcsRUFHWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7O0FBRTNFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO0FBQ3BDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQztBQU83Qjs7R0FFRztBQUVILE1BQU0sT0FBTyxhQUFjLFNBQVEscUJBQWtDO0lBRHJFOztRQVlFOzs7V0FHRztRQUN1QixhQUFRLEdBQWEsS0FBSyxDQUFDO1FBb0NyRDs7O1dBR0c7UUFDdUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDekQ7OztXQUdHO1FBQ08sd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQU81RDs7O1dBR0c7UUFDTSxjQUFTLEdBQXFCLEVBQUUsQ0FBQztRQVcxQzs7O1dBR0c7UUFDTSxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ2pDOzs7V0FHRztRQUNNLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDaEM7OztXQUdHO1FBQ08scUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN4RDs7O1dBR0c7UUFDTyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkQ7OztXQUdHO1FBQ08sb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3hEOzs7V0FHRztRQUNNLGlCQUFZLEdBQW1CLEVBQUUsQ0FBQztRQU0zQzs7O1dBR0c7UUFDTyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakQ7OztXQUdHO1FBQ00sb0JBQWUsR0FBa0MsRUFBRSxDQUFDO1FBZ0I3RDs7O1dBR0c7UUFDTSxxQkFBZ0IsR0FBVyxHQUFHLENBQUM7UUFDeEM7OztXQUdHO1FBQ00scUJBQWdCLEdBQVcsR0FBRyxDQUFDO1FBTXhDOzs7V0FHRztRQUNzQixvQkFBZSxHQUFZLENBQUMsQ0FBQztRQU10RDs7O1dBR0c7UUFDc0IsYUFBUSxHQUFxQixFQUFFLENBQUM7UUFDekQ7OztXQUdHO1FBQ08sd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQVc5RDs7O1dBR0c7UUFDTSxnQkFBVyxHQUFVLEVBQUUsQ0FBQztLQWdCbEM7aUlBL01ZLGFBQWE7cUhBQWIsYUFBYSwyNkNBRGtDLEVBQUU7O0FBTUc7SUFBckQsV0FBVyxDQUFRLGFBQWEsRUFBRSxRQUFRLENBQUM7MkNBQXVCO0FBS047SUFBNUQsYUFBYSxFQUFFO0lBQUUsV0FBVyxDQUFXLGFBQWEsRUFBRSxJQUFJLENBQUM7K0NBQXFCO0FBS2hFO0lBQWhCLGFBQWEsRUFBRTsrQ0FBNEI7QUFLQztJQUE1QyxXQUFXLENBQVMsYUFBYSxFQUFFLE9BQU8sQ0FBQztrREFBc0I7QUFLdEI7SUFBM0MsV0FBVyxDQUFTLGFBQWEsRUFBRSxNQUFNLENBQUM7a0RBQXNCO0FBS3ZCO0lBQXpDLFdBQVcsQ0FBUyxhQUFhLEVBQUUsSUFBSSxDQUFDOzBEQUE4QjtBQUtmO0lBQXZELFdBQVcsQ0FBUyxhQUFhLEVBQUUsRUFBRSxDQUFDO0lBQUUsWUFBWSxFQUFFOzBEQUE4QjtBQUt4QztJQUE1QyxXQUFXLENBQVMsYUFBYSxFQUFFLE9BQU8sQ0FBQzt5REFBNkI7QUFleEQ7SUFBaEIsYUFBYSxFQUFFO29EQUFnQztBQVVPO0lBQXRELFdBQVcsQ0FBVyxhQUFhLENBQUM7SUFBRSxhQUFhLEVBQUU7MERBQWdDO0FBVy9DO0lBQXRDLFdBQVcsQ0FBUyxhQUFhLEVBQUUsQ0FBQyxDQUFDO2lEQUFxQjtBQUtuQjtJQUF2QyxXQUFXLENBQVMsYUFBYSxFQUFFLEVBQUUsQ0FBQztnREFBb0I7QUFrREc7SUFBN0QsV0FBVyxDQUFXLGFBQWEsRUFBRSxLQUFLLENBQUM7SUFBRSxhQUFhLEVBQUU7bURBQXlCO0FBS3pCO0lBQTVELFdBQVcsQ0FBVSxhQUFhLEVBQUUsS0FBSyxDQUFDO0lBQUUsYUFBYSxFQUFFO3lEQUE4QjtBQUsxRTtJQUFmLFlBQVksRUFBRTtzREFBMEI7QUFlekI7SUFBZixZQUFZLEVBQUU7MERBQStCO0FBSzlCO0lBQWYsWUFBWSxFQUFFO3NEQUE4QjtBQUtXO0lBQXZELFdBQVcsQ0FBUyxhQUFhLEVBQUUsRUFBRSxDQUFDO0lBQUUsWUFBWSxFQUFFO3FEQUF5QjtBQUtoRTtJQUFmLFlBQVksRUFBRTsrQ0FBaUM7QUFlUTtJQUF2RCxXQUFXLENBQVUsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUFFLFlBQVksRUFBRTt3REFBNkI7QUFVbkU7SUFBaEIsYUFBYSxFQUFFO21EQUF5QjsyRkFwTXZDLGFBQWE7a0JBRHpCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxXQUFXLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU1DLElBQUk7c0JBQWxFLEtBQUs7Z0JBS2dFLFFBQVE7c0JBQTdFLEtBQUs7Z0JBS29CLFFBQVE7c0JBQWpDLEtBQUs7Z0JBS2dELFdBQVc7c0JBQWhFLEtBQUs7Z0JBSytDLFdBQVc7c0JBQS9ELEtBQUs7Z0JBSzZDLG1CQUFtQjtzQkFBckUsS0FBSztnQkFLMkQsbUJBQW1CO3NCQUFuRixLQUFLO2dCQUtnRCxrQkFBa0I7c0JBQXZFLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtvQixhQUFhO3NCQUF0QyxLQUFLO2dCQUtJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFLeUQsbUJBQW1CO3NCQUFsRixLQUFLO2dCQU1HLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSzBDLFVBQVU7c0JBQXpELEtBQUs7Z0JBSzJDLFNBQVM7c0JBQXpELEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFLRyxlQUFlO3NCQUF4QixNQUFNO2dCQUtHLGVBQWU7c0JBQXhCLE1BQU07Z0JBS0UsWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBS0ksWUFBWTtzQkFBckIsTUFBTTtnQkFLRSxlQUFlO3NCQUF2QixLQUFLO2dCQUtpRSxZQUFZO3NCQUFsRixLQUFLO2dCQUtnRSxrQkFBa0I7c0JBQXZGLEtBQUs7Z0JBS21CLGVBQWU7c0JBQXZDLEtBQUs7Z0JBS0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUtHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFLbUIsbUJBQW1CO3NCQUEzQyxLQUFLO2dCQUttQixlQUFlO3NCQUF2QyxLQUFLO2dCQUsyRCxjQUFjO3NCQUE5RSxLQUFLO2dCQUttQixRQUFRO3NCQUFoQyxLQUFLO2dCQUtJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFLRSxlQUFlO3NCQUF2QixLQUFLO2dCQUsyRCxpQkFBaUI7c0JBQWpGLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLb0IsWUFBWTtzQkFBckMsS0FBSztnQkFLRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBYSW5wdXRCb29sZWFuLFxyXG4gIFhCb29sZWFuLFxyXG4gIFhEYXRhQ29udmVydCxcclxuICBYRGF0YSxcclxuICBYSW5wdXROdW1iZXIsXHJcbiAgWE51bWJlcixcclxuICBYU29ydCxcclxuICBYUXVlcnksXHJcbiAgWFdpdGhDb25maWcsXHJcbiAgWEZpbHRlcixcclxuICBYU2l6ZVxyXG59IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYVGFibGVDb2x1bW4sIFhUYWJsZVJvdyB9IGZyb20gJ0BuZy1uZXN0L3VpL3RhYmxlJztcclxuaW1wb3J0IHsgWFRyZWVOb2RlIH0gZnJvbSAnQG5nLW5lc3QvdWkvdHJlZSc7XHJcbmltcG9ydCB7IFhDb250cm9sVmFsdWVBY2Nlc3NvciwgWEZvcm1PcHRpb24gfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuLyoqXHJcbiAqIEZpbmRcclxuICogQHNlbGVjdG9yIHgtZmluZFxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhGaW5kUHJlZml4ID0gJ3gtZmluZCc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAnZmluZCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhGaW5kU2VhcmNoT3B0aW9uIGV4dGVuZHMgWEZpbHRlciB7XHJcbiAgbGFiZWw/OiBzdHJpbmc7XHJcbiAgYnV0dG9uPzogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogRmluZCBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiBgJHtYRmluZFByZWZpeH0tcHJvcGVydHlgLCB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhGaW5kUHJvcGVydHkgZXh0ZW5kcyBYQ29udHJvbFZhbHVlQWNjZXNzb3I8YW55IHwgYW55W10+IGltcGxlbWVudHMgWEZpbmRPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYU2l6ZT4oWF9DT05GSUdfTkFNRSwgJ21lZGl1bScpIG92ZXJyaWRlIHNpemUhOiBYU2l6ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S66L655qGGXHJcbiAgICogQGVuX1VTIERpc3BsYXkgQm9yZGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIGJvcmRlcmVkITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAiVxyXG4gICAqIEBlbl9VUyBNdWx0aXBsZSBjaG9pY2VcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG11bHRpcGxlOiBYQm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInkuK0gbGFiZWwg5ZCN56ew5a2X5q61XHJcbiAgICogQGVuX1VTIENoZWNrIHRoZSBsYWJlbCBuYW1lIGZpZWxkXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfTkFNRSwgJ2xhYmVsJykgY29sdW1uTGFiZWwhOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuagh+mimFxyXG4gICAqIEBlbl9VUyBCdWxsZXQgdGl0bGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0NPTkZJR19OQU1FLCAn5p+l5om+6YCJ5oupJykgZGlhbG9nVGl0bGUhOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuihqOagvOmAieaLqeWIl+WktOWQjeensFxyXG4gICAqIEBlbl9VUyBCYWxsIEZvcm0gU2VsZWN0IExpc3QgTmFtZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxzdHJpbmc+KFhfQ09ORklHX05BTUUsICfpgInmi6knKSBkaWFsb2dDaGVja2JveExhYmVsITogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnmoYbooajmoLzpgInmi6nliJflrr1cclxuICAgKiBAZW5fVVMgQmFsbCBGb3JtIFNlbGVjdCBMaXN0IHdpZHRoXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPG51bWJlcj4oWF9DT05GSUdfTkFNRSwgNjApIEBYSW5wdXROdW1iZXIoKSBkaWFsb2dDaGVja2JveFdpZHRoITogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnmoYbpgInmi6nmlbDmja7kuLrnqbrnmoTmj5DnpLrkv6Hmga9cclxuICAgKiBAZW5fVVMgQmFsbCBib3ggc2VsZWN0aW9uIGRhdGEgZW1wdHkgcHJvbXB0IGluZm9ybWF0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfTkFNRSwgJ+ivt+mAieaLqeaVsOaNricpIGRpYWxvZ0VtcHR5Q29udGVudCE6IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG5a695bqmXHJcbiAgICogQGVuX1VTIEJ1bGxldCBmcmFtZSB3aWR0aFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpYWxvZ1dpZHRoPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnmoYbpq5jluqZcclxuICAgKiBAZW5fVVMgSGVpZ2h0IG9mIGJ1bGxldCBmcmFtZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpYWxvZ0hlaWdodD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG5pi+56S677yM6ZqQ6JePXHJcbiAgICogQGVuX1VTIEJ1bGxldCBib3ggZGlzcGxheSwgaGlkZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgZGlhbG9nVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnmoYbmmL7npLrvvIzpmpDol49cclxuICAgKiBAZW5fVVMgQnVsbGV0IGJveCBkaXNwbGF5LCBoaWRlXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGRpYWxvZ1Zpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaMiemSruWxheS4rVxyXG4gICAqIEBlbl9VUyBCdXR0b24gY2VudGVyZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUpIEBYSW5wdXRCb29sZWFuKCkgZGlhbG9nQnV0dG9uc0NlbnRlcj86IFhCb29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIFRhYmxlIHJvdyBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGFibGVEYXRhOiBYRGF0YTxYVGFibGVSb3c+ID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOmhteeggVxyXG4gICAqIEBlbl9VUyBUYWJsZSBwYWdlIG51bWJlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxudW1iZXI+KFhfQ09ORklHX05BTUUsIDEpIHRhYmxlSW5kZXghOiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOavj+mhteaVsOaNruadoeaVsFxyXG4gICAqIEBlbl9VUyBOdW1iZXIgb2YgZGF0YSBpdGVtcyBwZXIgcGFnZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxudW1iZXI+KFhfQ09ORklHX05BTUUsIDEwKSB0YWJsZVNpemUhOiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOafpeivouadoeS7tlxyXG4gICAqIEBlbl9VUyBOdW1iZXIgb2YgZGF0YSBpdGVtcyBwZXIgcGFnZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlUXVlcnk6IFhRdWVyeSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzmlbDmja7mgLvmnaHmlbBcclxuICAgKiBAZW5fVVMgVG90YWwgbnVtYmVyIG9mIHRhYmxlIGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSB0YWJsZVRvdGFsOiBudW1iZXIgPSAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpobXnoIHlj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgUGFnZSBudW1iZXIgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHRhYmxlSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5q+P6aG15pi+56S65p2h5pWw5Y+Y5YyW55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFNob3cgdGhlIG51bWJlciBvZiBldmVudHMgb24gZWFjaCBwYWdlXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHRhYmxlU2l6ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjpLluo/ngrnlh7vnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgU29ydCBjbGljayBldmVudHNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgdGFibGVTb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxYU29ydFtdPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzliJflj4LmlbBcclxuICAgKiBAZW5fVVMgVGFibGUgY29sdW1uIHBhcmFtZXRlcnNcclxuICAgKi9cclxuICBASW5wdXQoKSB0YWJsZUNvbHVtbnM6IFhUYWJsZUNvbHVtbltdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieS4reihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBDdXJyZW50bHkgc2VsZWN0ZWQgcm93IGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSB0YWJsZUFjdGl2YXRlZFJvdz86IGFueTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86KGM54K55Ye75LqL5Lu2XHJcbiAgICogQGVuX1VTIFRhYmxlIHJvdyBjbGljayBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB0YWJsZVJvd0VtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86KGM54K55Ye75LqL5Lu2XHJcbiAgICogQGVuX1VTIFRhYmxlIHJvdyBjbGljayBldmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlQ2hlY2tlZFJvdzogeyBbcHJvcGVydHk6IHN0cmluZ106IGFueVtdIH0gPSB7fTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5ZCv55So5Yqg6L29IGxvYWRpbmdcclxuICAgKiBAZW5fVVMgV2hldGhlciB0byBlbmFibGUgbG9hZGluZyBsb2FkaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSB0YWJsZUxvYWRpbmchOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC85byA5ZCv6Jma5ouf5rua5YqoXHJcbiAgICogQGVuX1VTIFRhYmxlIG9wZW5zIHZpcnR1YWwgc2Nyb2xsaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPGJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIHRhYmxlVmlydHVhbFNjcm9sbCE6IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvCBib2R5IOaVsOaNrumrmOW6plxyXG4gICAqIEBlbl9VUyBUYWJsZSBib2R5IGRhdGEgaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIHRhYmxlQm9keUhlaWdodD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86LaF5Ye65Y+v6KeG56qX5Y+j57yT5Yay5Yy655qE5pyA5bCP5YC877yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIFRoZSB0YWJsZSBleGNlZWRzIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB2aXNpYmxlIHdpbmRvdyBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlTWluQnVmZmVyUHg6IG51bWJlciA9IDEwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC85riy5p+T5paw5pWw5o2u57yT5Yay5Yy655qE5YOP57Sg77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIFRoZSBwaXhlbHMgb2YgdGhlIG5ldyBkYXRhIGJ1ZmZlciBmb3IgdGhlIHRhYmxlIHJlbmRlcmluZywgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGFibGVNYXhCdWZmZXJQeDogbnVtYmVyID0gMjAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzoh6rpgILlupTpq5jluqbvvIx0YWJsZSDpq5jluqbnrYnkuo7lsY/luZXpq5jluqblh4/mjonmraTlpITorr7nva7nmoTmlbDlgLxcclxuICAgKiBAZW5fVVMgVGFibGUgYWRhcHRpdmUgaGVpZ2h0LCB0YWJsZSBoZWlnaHQgaXMgZXF1YWwgdG8gdGhlIHNjcmVlbiBoZWlnaHQgbWludXMgdGhlIHZhbHVlIHNldCBoZXJlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIHRhYmxlQWRhcHRpb25IZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzmlofmoaPpq5jluqbnmb7liIbmr5TvvIzlvLnnqpfnmb7liIbmr5Tpq5jluqbnlKjliLBcclxuICAgKiBAZW5fVVMgVGFibGUgZG9jdW1lbnQgaGVpZ2h0IHBlcmNlbnRhZ2UsIHVzZWQgZm9yIHBvcC11cCB3aW5kb3cgcGVyY2VudGFnZSBoZWlnaHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgdGFibGVEb2NQZXJjZW50OiBYTnVtYmVyID0gMTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86KGM6auY5bqm77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIFRhYmxlIHJvdyBoZWlnaHQsIHVuaXQgcHhcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8bnVtYmVyPihYX0NPTkZJR19OQU1FLCA0MikgQFhJbnB1dE51bWJlcigpIHRhYmxlUm93SGVpZ2h0ITogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgVHJlZSBub2RlIGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBAWERhdGFDb252ZXJ0KCkgdHJlZURhdGE6IFhEYXRhPFhUcmVlTm9kZT4gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5b2T5YmN54K55Ye76YCJ5Lit55qE6IqC54K55Y+Y5YyW55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFRoZSBldmVudCBvZiB0aGUgdHJlZSBjdXJyZW50bHkgY2xpY2tlZCBvbiB0aGUgc2VsZWN0ZWQgbm9kZSBjaGFuZ2VcclxuICAgKi9cclxuICBAT3V0cHV0KCkgdHJlZUFjdGl2YXRlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFRyZWVOb2RlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvZPliY3mv4DmtLvnmoToioLngrkgSWRcclxuICAgKiBAZW5fVVMgSWQgb2YgdGhlIGN1cnJlbnRseSBhY3RpdmUgbm9kZSBvZiB0aGUgdHJlZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRyZWVBY3RpdmF0ZWRJZDogYW55O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHpu5jorqTlsZXlvIDnmoTlsYLnuqdcclxuICAgKiBAZW5fVVMgVGhlIGxldmVsIG9mIHRoZSB0cmVlIGV4cGFuZGVkIGJ5IGRlZmF1bHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WE51bWJlcj4oWF9DT05GSUdfTkFNRSwgMCkgQFhJbnB1dE51bWJlcigpIHRyZWVFeHBhbmRlZExldmVsITogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCRIGNoZWNrYm94IOmAieS4reeahOiKgueCuVxyXG4gICAqIEBlbl9VUyBUcmVlIGNoZWNrYm94IHNlbGVjdGVkIG5vZGVcclxuICAgKi9cclxuICBASW5wdXQoKSB0cmVlQ2hlY2tlZDogYW55W10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5pi+56S65aSa6YCJ5qGGXHJcbiAgICogQGVuX1VTIFRyZWUgZGlzcGxheSBjaGVja2JveFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgdHJlZUNoZWNrYm94PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeWSjOihqOagvOWQjOaXtuWtmOWcqOeahOaXtuWAme+8jOagkeiKgueCuSBpZCDlr7nlupTooajmoLznmoTlsZ7mgKfvvIznlKjmnaXlgZrooajmoLzmlbDmja7ov4fmu6RcclxuICAgKiBAZW5fVVMgV2hlbiB0aGUgdHJlZSBhbmQgdGhlIHRhYmxlIGV4aXN0IGF0IHRoZSBzYW1lIHRpbWUsIHRoZSB0cmVlIG5vZGUgaWQgY29ycmVzcG9uZHMgdG8gdGhlIGF0dHJpYnV0ZSBvZiB0aGUgdGFibGUsIHdoaWNoIGlzIHVzZWQgdG8gZmlsdGVyIHRoZSB0YWJsZSBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgdHJlZVRhYmxlQ29ubmVjdDogYW55O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmlbDmja7mn6Xor6Lov4fmu6TooajljZVcclxuICAgKiBAZW5fVVMgZm9ybSBmb3IgZGF0YSBmaWx0ZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBzZWFyY2ghOiBYRmluZFNlYXJjaE9wdGlvbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEZpbmQgT3B0aW9uXHJcbiAqIEB1bmRvY3VtZW50IHRydWVcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZpbmRPcHRpb24gZXh0ZW5kcyBYRm9ybU9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrovrnmoYZcclxuICAgKiBAZW5fVVMgRGlzcGxheSBCb3JkZXJcclxuICAgKi9cclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrpgIlcclxuICAgKiBAZW5fVVMgTXVsdGlwbGUgc2VsZWN0XHJcbiAgICovXHJcbiAgbXVsdGlwbGU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5LitIGxhYmVsIOWQjeensOWtl+autVxyXG4gICAqIEBlbl9VUyBDaGVjayB0aGUgbGFiZWwgbmFtZSBmaWVsZFxyXG4gICAqL1xyXG4gIGNvbHVtbkxhYmVsPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnmoYbmoIfpophcclxuICAgKiBAZW5fVVMgQnVsbGV0IHRpdGxlXHJcbiAgICovXHJcbiAgZGlhbG9nVGl0bGU/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuihqOagvOmAieaLqeahhuWIl+WktOWQjeensFxyXG4gICAqIEBlbl9VUyBCYWxsIEZvcm0gU2VsZWN0IEJveCBMaXN0IE5hbWVcclxuICAgKi9cclxuICBkaWFsb2dDaGVja2JveExhYmVsPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnmoYbooajmoLzpgInmi6nmoYbliJflpLTlrr3luqZcclxuICAgKiBAZW5fVVMgQmFsbCBGb3JtIFNlbGVjdCBCb3ggTGlzdCB3aWR0aFxyXG4gICAqL1xyXG4gIGRpYWxvZ0NoZWNrYm94V2lkdGg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhumAieaLqeaVsOaNruS4uuepuueahOaPkOekuuWGheWuuVxyXG4gICAqIEBlbl9VUyBCYWxsIGJveCBzZWxlY3Rpb24gZGF0YSBlbXB0eSBwcm9tcHQgaW5mb3JtYXRpb25cclxuICAgKi9cclxuICBkaWFsb2dFbXB0eUNvbnRlbnQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuWuveW6plxyXG4gICAqIEBlbl9VUyBCdWxsZXQgZnJhbWUgd2lkdGhcclxuICAgKi9cclxuICBkaWFsb2dXaWR0aD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG6auY5bqmXHJcbiAgICogQGVuX1VTIEhlaWdodCBvZiBidWxsZXQgZnJhbWVcclxuICAgKi9cclxuICBkaWFsb2dIZWlnaHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuaYvuekuu+8jOmakOiXj1xyXG4gICAqIEBlbl9VUyBCdWxsZXQgYm94IHNob3csIGhpZGVcclxuICAgKi9cclxuICBkaWFsb2dWaXNpYmxlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG5pi+56S677yM6ZqQ6JePXHJcbiAgICogQGVuX1VTIEJ1bGxldCBib3ggc2hvdywgaGlkZVxyXG4gICAqL1xyXG4gIC8vIGRpYWxvZ1Zpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaMiemSruWxheS4rVxyXG4gICAqIEBlbl9VUyBCdXR0b24gY2VudGVyXHJcbiAgICovXHJcbiAgZGlhbG9nQnV0dG9uc0NlbnRlcj86IFhCb29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIFRhYmxlIHJvdyBkYXRhXHJcbiAgICovXHJcbiAgdGFibGVEYXRhPzogWERhdGE8WFRhYmxlUm93PjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86aG156CBXHJcbiAgICogQGVuX1VTIFRhYmxlIHBhZ2UgbnVtYmVyXHJcbiAgICovXHJcbiAgdGFibGVJbmRleD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5q+P6aG15pWw5o2u5p2h5pWwXHJcbiAgICogQGVuX1VTIE51bWJlciBvZiBkYXRhIGl0ZW1zIHBlciBwYWdlXHJcbiAgICovXHJcbiAgdGFibGVTaXplPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzmlbDmja7mgLvmnaHmlbBcclxuICAgKiBAZW5fVVMgVG90YWwgbnVtYmVyIG9mIHRhYmxlIGRhdGFcclxuICAgKi9cclxuICB0YWJsZVRvdGFsPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpobXnoIHlj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgUGFnZSBudW1iZXIgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgLy8gdGFibGVJbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmr4/pobXmmL7npLrmnaHmlbDlj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgU2hvdyB0aGUgbnVtYmVyIG9mIGV2ZW50cyBvbiBlYWNoIHBhZ2VcclxuICAgKi9cclxuICAvLyB0YWJsZVNpemVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6S5bqP54K55Ye755qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFNvcnQgY2xpY2sgZXZlbnRzXHJcbiAgICovXHJcbiAgLy8gdGFibGVTb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxYU29ydFtdPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzliJflj4LmlbBcclxuICAgKiBAZW5fVVMgVGFibGUgY29sdW1uIHBhcmFtZXRlcnNcclxuICAgKi9cclxuICB0YWJsZUNvbHVtbnM/OiBYVGFibGVDb2x1bW5bXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5Lit6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIEN1cnJlbnRseSBzZWxlY3RlZCByb3cgZGF0YVxyXG4gICAqL1xyXG4gIHRhYmxlQWN0aXZhdGVkUm93PzogYW55O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzooYzngrnlh7vkuovku7ZcclxuICAgKiBAZW5fVVMgVGFibGUgcm93IGNsaWNrIGV2ZW50XHJcbiAgICovXHJcbiAgLy8gdGFibGVSb3dFbWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOihjOeCueWHu+S6i+S7tlxyXG4gICAqIEBlbl9VUyBUYWJsZSByb3cgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICB0YWJsZUNoZWNrZWRSb3c/OiB7IFtwcm9wZXJ0eTogc3RyaW5nXTogYW55W10gfTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5ZCv55So5Yqg6L29IGxvYWRpbmdcclxuICAgKiBAZW5fVVMgV2hldGhlciB0byBlbmFibGUgbG9hZGluZ1xyXG4gICAqL1xyXG4gIHRhYmxlTG9hZGluZz86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzlvIDlkK/omZrmi5/mu5rliqhcclxuICAgKiBAZW5fVVMgVGFibGUgb3BlbnMgdmlydHVhbCBzY3JvbGxpbmdcclxuICAgKi9cclxuICB0YWJsZVZpcnR1YWxTY3JvbGw/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLwgYm9keSDmlbDmja7pq5jluqZcclxuICAgKiBAZW5fVVMgVGFibGUgYm9keSBkYXRhIGhlaWdodFxyXG4gICAqL1xyXG4gIHRhYmxlQm9keUhlaWdodD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86LaF5Ye65Y+v6KeG56qX5Y+j57yT5Yay5Yy655qE5pyA5bCP5YC877yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIFRoZSB0YWJsZSBleGNlZWRzIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB2aXNpYmxlIHdpbmRvdyBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIHRhYmxlTWluQnVmZmVyUHg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOa4suafk+aWsOaVsOaNrue8k+WGsuWMuueahOWDj+e0oO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBUaGUgcGl4ZWxzIG9mIHRoZSBuZXcgZGF0YSBidWZmZXIgZm9yIHRoZSB0YWJsZSByZW5kZXJpbmcsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIHRhYmxlTWF4QnVmZmVyUHg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOiHqumAguW6lOmrmOW6pu+8jHRhYmxlIOmrmOW6puetieS6juWxj+W5lemrmOW6puWHj+aOieatpOWkhOiuvue9rueahOaVsOWAvFxyXG4gICAqIEBlbl9VUyBUYWJsZSBhZGFwdGl2ZSBoZWlnaHQsIHRhYmxlIGhlaWdodCBpcyBlcXVhbCB0byB0aGUgc2NyZWVuIGhlaWdodCBtaW51cyB0aGUgdmFsdWUgc2V0IGhlcmVcclxuICAgKi9cclxuICB0YWJsZUFkYXB0aW9uSGVpZ2h0PzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC85paH5qGj6auY5bqm55m+5YiG5q+U77yM5by556qX55m+5YiG5q+U6auY5bqm55So5YiwXHJcbiAgICogQGVuX1VTIFRhYmxlIGRvY3VtZW50IGhlaWdodCBwZXJjZW50YWdlLCB1c2VkIGZvciBwb3AtdXAgd2luZG93IHBlcmNlbnRhZ2UgaGVpZ2h0XHJcbiAgICovXHJcbiAgdGFibGVEb2NQZXJjZW50PzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86KGM6auY5bqm77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIFRhYmxlIHJvdyBoZWlnaHQsIHVuaXQgcHhcclxuICAgKi9cclxuICB0YWJsZVJvd0hlaWdodD86IFhOdW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgVHJlZSBub2RlIGRhdGFcclxuICAgKi9cclxuICB0cmVlRGF0YT86IFhEYXRhPFhUcmVlTm9kZT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeW9k+WJjeeCueWHu+mAieS4reeahOiKgueCueWPmOWMlueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBUaGUgZXZlbnQgb2YgdGhlIHRyZWUgY3VycmVudGx5IGNsaWNrZWQgb24gdGhlIHNlbGVjdGVkIG5vZGUgY2hhbmdlXHJcbiAgICovXHJcbiAgLy8gdHJlZUFjdGl2YXRlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFRyZWVOb2RlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvZPliY3mv4DmtLvnmoToioLngrkgSWRcclxuICAgKiBAZW5fVVMgSWQgb2YgdGhlIGN1cnJlbnRseSBhY3RpdmUgbm9kZSBvZiB0aGUgdHJlZVxyXG4gICAqL1xyXG4gIHRyZWVBY3RpdmF0ZWRJZD86IGFueTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR6buY6K6k5bGV5byA55qE5bGC57qnXHJcbiAgICogQGVuX1VTIFRoZSBsZXZlbCBvZiB0aGUgdHJlZSBleHBhbmRlZCBieSBkZWZhdWx0XHJcbiAgICovXHJcbiAgdHJlZUV4cGFuZGVkTGV2ZWw/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJEgY2hlY2tib3gg6YCJ5Lit55qE6IqC54K5XHJcbiAgICogQGVuX1VTIFRyZWUgY2hlY2tib3ggc2VsZWN0ZWQgbm9kZVxyXG4gICAqL1xyXG4gIHRyZWVDaGVja2VkPzogYW55W107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeaYvuekuuWkmumAieahhlxyXG4gICAqIEBlbl9VUyBUcmVlIGRpc3BsYXkgY2hlY2tib3hcclxuICAgKi9cclxuICB0cmVlQ2hlY2tib3g/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5ZKM6KGo5qC85ZCM5pe25a2Y5Zyo55qE5pe25YCZ77yM5qCR6IqC54K5IGlkIOWvueW6lOihqOagvOeahOWxnuaAp++8jOeUqOadpeWBmuihqOagvOaVsOaNrui/h+a7pFxyXG4gICAqIEBlbl9VUyBXaGVuIHRoZSB0cmVlIGFuZCB0aGUgdGFibGUgZXhpc3QgYXQgdGhlIHNhbWUgdGltZSwgdGhlIHRyZWUgbm9kZSBpZCBjb3JyZXNwb25kcyB0byB0aGUgYXR0cmlidXRlIG9mIHRoZSB0YWJsZSwgd2hpY2ggaXMgdXNlZCB0byBmaWx0ZXIgdGhlIHRhYmxlIGRhdGFcclxuICAgKi9cclxuICB0cmVlVGFibGVDb25uZWN0PzogYW55O1xyXG5cclxuICAvKipcclxuICAgKiBAemhfQ04g5pWw5o2u5p+l6K+i6L+H5ruk6KGo5Y2VXHJcbiAgICogQGVuX1VTIGZvcm0gZm9yIGRhdGEgZmlsdGVyXHJcbiAgICovXHJcbiAgc2VhcmNoPzogWEZpbmRTZWFyY2hPcHRpb247XHJcbn1cclxuIl19
@@ -25,7 +25,7 @@ import * as i16 from "@ng-nest/ui/time-picker";
25
25
  import * as i17 from "@ng-nest/ui/textarea";
26
26
  import * as i18 from "@ng-nest/ui/find";
27
27
  import * as i19 from "@ng-nest/ui/auto-complete";
28
- class XControlComponent extends XControlProperty {
28
+ export class XControlComponent extends XControlProperty {
29
29
  constructor(
30
30
  // @Host() @Optional() public form: XFormComponent,
31
31
  cdr, configService, i18n) {
@@ -180,14 +180,13 @@ class XControlComponent extends XControlProperty {
180
180
  return new XInputControl(option);
181
181
  }
182
182
  }
183
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XControlComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.XConfigService }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
184
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XControlComponent, selector: "x-control", inputs: { option: "option", form: "form" }, viewQueries: [{ propertyName: "control", first: true, predicate: FormControlName, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"x-control\" [formGroup]=\"form.formGroup\">\r\n <ng-container [ngSwitch]=\"option.control\">\r\n <ng-container *ngSwitchCase=\"'input'\">\r\n <x-input [formControlName]=\"option.id\" (clearEmit)=\"option.clearClick && option.clearClick($event)\"></x-input>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n <x-select [formControlName]=\"option.id\"></x-select>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'cascade'\">\r\n <x-cascade [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-cascade>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox [formControlName]=\"option.id\"></x-checkbox>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'color-picker'\">\r\n <x-color-picker [formControlName]=\"option.id\"></x-color-picker>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-picker'\">\r\n <x-date-picker [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-date-picker>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'input-number'\">\r\n <x-input-number [formControlName]=\"option.id\"></x-input-number>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <x-radio [formControlName]=\"option.id\"></x-radio>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rate'\">\r\n <x-rate [formControlName]=\"option.id\"></x-rate>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'slider-select'\">\r\n <x-slider-select [formControlName]=\"option.id\"></x-slider-select>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'switch'\">\r\n <x-switch [formControlName]=\"option.id\"></x-switch>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'time-picker'\">\r\n <x-time-picker [formControlName]=\"option.id\"></x-time-picker>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'textarea'\">\r\n <x-textarea [formControlName]=\"option.id\" (clearEmit)=\"option.clearClick && option.clearClick($event)\"></x-textarea>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'auto-complete'\">\r\n <x-auto-complete [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-auto-complete>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'find'\">\r\n <x-find [formControlName]=\"option.id\"></x-find>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n", styles: [".x-control{margin:0;padding:0}.x-control x-input,.x-control x-select,.x-control x-date-picker,.x-control x-time-picker,.x-control x-input-number,.x-control x-slider-select,.x-control x-cascade,.x-control x-color-picker,.x-control x-textarea,.x-control x-auto-complete{width:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.XInputComponent, selector: "x-input" }, { kind: "component", type: i6.XSelectComponent, selector: "x-select" }, { kind: "component", type: i7.XCascadeComponent, selector: "x-cascade" }, { kind: "component", type: i8.XCheckboxComponent, selector: "x-checkbox" }, { kind: "component", type: i9.XColorPickerComponent, selector: "x-color-picker" }, { kind: "component", type: i10.XDatePickerComponent, selector: "x-date-picker" }, { kind: "component", type: i11.XInputNumberComponent, selector: "x-input-number" }, { kind: "component", type: i12.XRadioComponent, selector: "x-radio" }, { kind: "component", type: i13.XRateComponent, selector: "x-rate" }, { kind: "component", type: i14.XSliderSelectComponent, selector: "x-slider-select" }, { kind: "component", type: i15.XSwitchComponent, selector: "x-switch" }, { kind: "component", type: i16.XTimePickerComponent, selector: "x-time-picker" }, { kind: "component", type: i17.XTextareaComponent, selector: "x-textarea" }, { kind: "component", type: i18.XFindComponent, selector: "x-find" }, { kind: "component", type: i19.XAutoCompleteComponent, selector: "x-auto-complete" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
183
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XControlComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.XConfigService }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
184
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XControlComponent, selector: "x-control", inputs: { option: "option", form: "form" }, viewQueries: [{ propertyName: "control", first: true, predicate: FormControlName, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"x-control\" [formGroup]=\"form.formGroup\">\r\n <ng-container [ngSwitch]=\"option.control\">\r\n <ng-container *ngSwitchCase=\"'input'\">\r\n <x-input [formControlName]=\"option.id\" (clearEmit)=\"option.clearClick && option.clearClick($event)\"></x-input>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n <x-select [formControlName]=\"option.id\"></x-select>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'cascade'\">\r\n <x-cascade [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-cascade>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox [formControlName]=\"option.id\"></x-checkbox>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'color-picker'\">\r\n <x-color-picker [formControlName]=\"option.id\"></x-color-picker>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-picker'\">\r\n <x-date-picker [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-date-picker>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'input-number'\">\r\n <x-input-number [formControlName]=\"option.id\"></x-input-number>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <x-radio [formControlName]=\"option.id\"></x-radio>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rate'\">\r\n <x-rate [formControlName]=\"option.id\"></x-rate>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'slider-select'\">\r\n <x-slider-select [formControlName]=\"option.id\"></x-slider-select>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'switch'\">\r\n <x-switch [formControlName]=\"option.id\"></x-switch>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'time-picker'\">\r\n <x-time-picker [formControlName]=\"option.id\"></x-time-picker>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'textarea'\">\r\n <x-textarea [formControlName]=\"option.id\" (clearEmit)=\"option.clearClick && option.clearClick($event)\"></x-textarea>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'auto-complete'\">\r\n <x-auto-complete [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-auto-complete>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'find'\">\r\n <x-find [formControlName]=\"option.id\"></x-find>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n", styles: [".x-control{margin:0;padding:0}.x-control x-input,.x-control x-select,.x-control x-date-picker,.x-control x-time-picker,.x-control x-input-number,.x-control x-slider-select,.x-control x-cascade,.x-control x-color-picker,.x-control x-textarea,.x-control x-auto-complete{width:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.XInputComponent, selector: "x-input" }, { kind: "component", type: i6.XSelectComponent, selector: "x-select" }, { kind: "component", type: i7.XCascadeComponent, selector: "x-cascade" }, { kind: "component", type: i8.XCheckboxComponent, selector: "x-checkbox" }, { kind: "component", type: i9.XColorPickerComponent, selector: "x-color-picker" }, { kind: "component", type: i10.XDatePickerComponent, selector: "x-date-picker" }, { kind: "component", type: i11.XInputNumberComponent, selector: "x-input-number" }, { kind: "component", type: i12.XRadioComponent, selector: "x-radio" }, { kind: "component", type: i13.XRateComponent, selector: "x-rate" }, { kind: "component", type: i14.XSliderSelectComponent, selector: "x-slider-select" }, { kind: "component", type: i15.XSwitchComponent, selector: "x-switch" }, { kind: "component", type: i16.XTimePickerComponent, selector: "x-time-picker" }, { kind: "component", type: i17.XTextareaComponent, selector: "x-textarea" }, { kind: "component", type: i18.XFindComponent, selector: "x-find" }, { kind: "component", type: i19.XAutoCompleteComponent, selector: "x-auto-complete" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
185
185
  }
186
- export { XControlComponent };
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XControlComponent, decorators: [{
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XControlComponent, decorators: [{
188
187
  type: Component,
189
188
  args: [{ selector: 'x-control', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-control\" [formGroup]=\"form.formGroup\">\r\n <ng-container [ngSwitch]=\"option.control\">\r\n <ng-container *ngSwitchCase=\"'input'\">\r\n <x-input [formControlName]=\"option.id\" (clearEmit)=\"option.clearClick && option.clearClick($event)\"></x-input>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n <x-select [formControlName]=\"option.id\"></x-select>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'cascade'\">\r\n <x-cascade [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-cascade>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox [formControlName]=\"option.id\"></x-checkbox>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'color-picker'\">\r\n <x-color-picker [formControlName]=\"option.id\"></x-color-picker>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-picker'\">\r\n <x-date-picker [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-date-picker>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'input-number'\">\r\n <x-input-number [formControlName]=\"option.id\"></x-input-number>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <x-radio [formControlName]=\"option.id\"></x-radio>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rate'\">\r\n <x-rate [formControlName]=\"option.id\"></x-rate>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'slider-select'\">\r\n <x-slider-select [formControlName]=\"option.id\"></x-slider-select>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'switch'\">\r\n <x-switch [formControlName]=\"option.id\"></x-switch>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'time-picker'\">\r\n <x-time-picker [formControlName]=\"option.id\"></x-time-picker>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'textarea'\">\r\n <x-textarea [formControlName]=\"option.id\" (clearEmit)=\"option.clearClick && option.clearClick($event)\"></x-textarea>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'auto-complete'\">\r\n <x-auto-complete [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-auto-complete>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'find'\">\r\n <x-find [formControlName]=\"option.id\"></x-find>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n", styles: [".x-control{margin:0;padding:0}.x-control x-input,.x-control x-select,.x-control x-date-picker,.x-control x-time-picker,.x-control x-input-number,.x-control x-slider-select,.x-control x-cascade,.x-control x-color-picker,.x-control x-textarea,.x-control x-auto-complete{width:100%}\n"] }]
190
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.XConfigService }, { type: i2.XI18nService }]; }, propDecorators: { option: [{
189
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.XConfigService }, { type: i2.XI18nService }], propDecorators: { option: [{
191
190
  type: Input
192
191
  }], form: [{
193
192
  type: Input
@@ -195,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
195
194
  type: ViewChild,
196
195
  args: [FormControlName]
197
196
  }] } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9mb3JtL2NvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZm9ybS9jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsU0FBUyxFQUtWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxnQkFBZ0IsRUFJaEIsZUFBZSxFQUVmLGFBQWEsRUFFYixjQUFjLEVBRWQsZ0JBQWdCLEVBRWhCLGFBQWEsRUFHYixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBRW5CLGNBQWMsRUFFZCxZQUFZLEVBRVosb0JBQW9CLEVBRXBCLGtCQUFrQixFQUVsQixtQkFBbUIsRUFHbkIsWUFBWSxFQUdaLGdCQUFnQixFQUNoQixvQkFBb0IsRUFFckIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBd0QsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2SSxPQUFPLEVBQUUsUUFBUSxFQUFrQixXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RCxNQU9hLGlCQUFrQixTQUFRLGdCQUFnQjtJQVlyRDtJQUNFLG1EQUFtRDtJQUM1QyxHQUFzQixFQUN0QixhQUE2QixFQUM3QixJQUFrQjtRQUV6QixLQUFLLEVBQUUsQ0FB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WUFDcEUsS0FBSyxjQUFjO2dCQUNqQixPQUFPLElBQUksbUJBQW1CLENBQUMsTUFBbUMsQ0FBQyxDQUFDO1lBQ3RFLEtBQUssZUFBZTtnQkFDbEIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLE1BQW9DLENBQUMsQ0FBQztZQUN4RSxLQUFLLFNBQVM7Z0JBQ1osT0FBTyxJQUFJLGVBQWUsQ0FBQyxNQUErQixDQUFDLENBQUM7WUFDOUQsS0FBSyxjQUFjO2dCQUNqQixPQUFPLElBQUksbUJBQW1CLENBQUMsTUFBbUMsQ0FBQyxDQUFDO1lBQ3RFLEtBQUssVUFBVTtnQkFDYixPQUFPLElBQUksZ0JBQWdCLENBQUMsTUFBZ0MsQ0FBQyxDQUFDO1lBQ2hFLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksWUFBWSxDQUFDLE1BQTRCLENBQUMsQ0FBQztZQUN4RCxLQUFLLGVBQWU7Z0JBQ2xCLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxNQUFvQyxDQUFDLENBQUM7WUFDeEU7Z0JBQ0UsT0FBTyxJQUFJLGFBQWEsQ0FBQyxNQUE2QixDQUFDLENBQUM7U0FDM0Q7SUFDSCxDQUFDO2tJQXBLVSxpQkFBaUI7c0hBQWpCLGlCQUFpQixzSUFHakIsZUFBZSx1RUNqRTVCLG1oRkFpREE7O1NEYWEsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsV0FBVyxpQkFHTixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO2dLQUc3QixNQUFNO3NCQUF2QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDc0IsT0FBTztzQkFBbEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uSW5pdCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIE9uRGVzdHJveVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFhDb250cm9sUHJvcGVydHksXHJcbiAgWEZvcm1Db250cm9sT3B0aW9uLFxyXG4gIFhGb3JtQ29udHJvbENvbXBvbmVudCxcclxuICBYRm9ybUNvbnRyb2xUeXBlLFxyXG4gIFhDYXNjYWRlQ29udHJvbCxcclxuICBYQ2FzY2FkZUNvbnRyb2xPcHRpb24sXHJcbiAgWElucHV0Q29udHJvbCxcclxuICBYSW5wdXRDb250cm9sT3B0aW9uLFxyXG4gIFhTZWxlY3RDb250cm9sLFxyXG4gIFhTZWxlY3RDb250cm9sT3B0aW9uLFxyXG4gIFhDaGVja2JveENvbnRyb2wsXHJcbiAgWENoZWNrYm94Q29udHJvbE9wdGlvbixcclxuICBYUmFkaW9Db250cm9sLFxyXG4gIFhSYWRpb0NvbnRyb2xPcHRpb24sXHJcbiAgWERhdGVQaWNrZXJDb250cm9sT3B0aW9uLFxyXG4gIFhEYXRlUGlja2VyQ29udHJvbCxcclxuICBYSW5wdXROdW1iZXJDb250cm9sLFxyXG4gIFhJbnB1dE51bWJlckNvbnRyb2xPcHRpb24sXHJcbiAgWFN3aXRjaENvbnRyb2wsXHJcbiAgWFN3aXRjaENvbnRyb2xPcHRpb24sXHJcbiAgWFJhdGVDb250cm9sLFxyXG4gIFhSYXRlQ29udHJvbE9wdGlvbixcclxuICBYU2xpZGVyU2VsZWN0Q29udHJvbCxcclxuICBYU2xpZGVyU2VsZWN0Q29udHJvbE9wdGlvbixcclxuICBYVGltZVBpY2tlckNvbnRyb2wsXHJcbiAgWFRpbWVQaWNrZXJDb250cm9sT3B0aW9uLFxyXG4gIFhDb2xvclBpY2tlckNvbnRyb2wsXHJcbiAgWENvbG9yUGlja2VyQ29udHJvbE9wdGlvbixcclxuICBYRm9ybUNvbnRyb2wsXHJcbiAgWEZpbmRDb250cm9sLFxyXG4gIFhGaW5kQ29udHJvbE9wdGlvbixcclxuICBYVGV4dGFyZWFDb250cm9sT3B0aW9uLFxyXG4gIFhUZXh0YXJlYUNvbnRyb2wsXHJcbiAgWEF1dG9Db21wbGV0ZUNvbnRyb2wsXHJcbiAgWEF1dG9Db21wbGV0ZUNvbnRyb2xPcHRpb25cclxufSBmcm9tICcuL2Zvcm0ucHJvcGVydHknO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbE5hbWUsIFZhbGlkYXRvcnMsIFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9yRm4sIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbFN0YXR1cyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhDb25maWdTZXJ2aWNlLCBYSXNGdW5jdGlvbiB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBYSTE4bkZvcm0sIFhJMThuU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5pbXBvcnQgeyBYRm9ybUlucHV0VmFsaWRhdG9yIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAneC1jb250cm9sJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udHJvbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhDb250cm9sQ29tcG9uZW50IGV4dGVuZHMgWENvbnRyb2xQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBvdmVycmlkZSBvcHRpb24hOiBYRm9ybUNvbnRyb2xPcHRpb247XHJcbiAgQElucHV0KCkgZm9ybTogYW55O1xyXG4gIEBWaWV3Q2hpbGQoRm9ybUNvbnRyb2xOYW1lKSBjb250cm9sITogRm9ybUNvbnRyb2xOYW1lO1xyXG4gIGxvY2FsZTogWEkxOG5Gb3JtID0ge307XHJcbiAgcHJpdmF0ZSBfc2hhcmVkUHJvcHMgPSBbJ3NwYW4nLCAnZGlyZWN0aW9uJywgJ2p1c3RpZnknLCAnYWxpZ24nLCAnbGFiZWxXaWR0aCcsICdsYWJlbEFsaWduJ107XHJcbiAgcHJpdmF0ZSBfY2hhbmdlUHJvcHMgPSBbJ2xhYmVsJywgLi4udGhpcy5fc2hhcmVkUHJvcHNdO1xyXG4gIHByaXZhdGUgX2NvbnRyb2whOiBYRm9ybUNvbnRyb2xUeXBlO1xyXG4gIHByaXZhdGUgX3ZhbGlkYXRvckZuczogVmFsaWRhdG9yRm5bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBfZm9ybUNvbnRyb2whOiBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gQEhvc3QoKSBAT3B0aW9uYWwoKSBwdWJsaWMgZm9ybTogWEZvcm1Db21wb25lbnQsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSxcclxuICAgIHB1YmxpYyBpMThuOiBYSTE4blNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub3B0aW9uID0geyAuLi50aGlzLm9wdGlvbiB9O1xyXG4gICAgdGhpcy5zZXRQcm9wcygpO1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMub3B0aW9uLmxhYmVsKSkgdGhpcy5vcHRpb24ubGFiZWwgPSAnJztcclxuICAgIHRoaXMub3B0aW9uLmxhYmVsID0gYCR7dGhpcy5vcHRpb24ubGFiZWx9JHt0aGlzLmZvcm0ubGFiZWxTdWZmaXh9YDtcclxuICAgIHRoaXMuX2NvbnRyb2wgPSB0aGlzLmNyZWF0ZUNvbnRyb2wodGhpcy5vcHRpb24pO1xyXG4gICAgdGhpcy5fZm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMuX2NvbnRyb2wudmFsdWUsIHsgbm9uTnVsbGFibGU6IHRoaXMuX2NvbnRyb2wubm9uTnVsbGFibGUgfSk7XHJcbiAgICB0aGlzLnNldFZhbGlkYXRvcnMoKTtcclxuICAgIHRoaXMuX2Zvcm1Db250cm9sLnN0YXR1c0NoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0TWVzc2FnZXMoeCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2NvbnRyb2wuc2V0VmFsaWRhdG9ycyA9ICgpID0+IHRoaXMuc2V0VmFsaWRhdG9ycygpO1xyXG4gICAgdGhpcy5mb3JtLmZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuX2NvbnRyb2wuaWQsIHRoaXMuX2Zvcm1Db250cm9sKTtcclxuICAgIHRoaXMub3B0aW9uLmNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgdGhpcy5fY2hhbmdlUHJvcHMuZm9yRWFjaCgoeDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yICYmIHRoaXMub3B0aW9uW3hdKSB7XHJcbiAgICAgICAgICAodGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgYXMgYW55KVt4XSA9IHRoaXMub3B0aW9uW3hdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuZm9ybS5jb250cm9sQ29tcG9uZW50c1t0aGlzLl9jb250cm9sLmlkXS5mb3JtQ29udHJvbENoYW5nZXMoKTtcclxuICAgIH07XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC5mb3JtIGFzIFhJMThuRm9ybSksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbGUgPSB4O1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IhLCB0aGlzLl9jb250cm9sIGFzIENvbnRyb2xWYWx1ZUFjY2Vzc29yKTtcclxuICAgIHRoaXMuZm9ybS5jb250cm9sVHlwZXNbdGhpcy5fY29udHJvbC5pZF0gPSB0aGlzLl9jb250cm9sO1xyXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xDb21wb25lbnRzW3RoaXMuX2NvbnRyb2wuaWRdID0gdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgYXMgWEZvcm1Db250cm9sQ29tcG9uZW50O1xyXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xDb21wb25lbnRzW3RoaXMuX2NvbnRyb2wuaWRdLmZvcm1Db250cm9sQ2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRWYWxpZGF0b3JzKCkge1xyXG4gICAgdGhpcy5fdmFsaWRhdG9yRm5zID0gW107XHJcbiAgICBpZiAodGhpcy5fY29udHJvbC5kaXNhYmxlZCB8fCB0aGlzLmZvcm0uZGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy5fZm9ybUNvbnRyb2wuZGlzYWJsZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fZm9ybUNvbnRyb2wuZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5fY29udHJvbC5yZXF1aXJlZCAmJiAhdGhpcy5mb3JtLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuX3ZhbGlkYXRvckZucyA9IFsuLi50aGlzLl92YWxpZGF0b3JGbnMsIFZhbGlkYXRvcnMucmVxdWlyZWRdO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX2NvbnRyb2wucGF0dGVybikge1xyXG4gICAgICB0aGlzLnNldFBhdHRlcm4oKTtcclxuICAgIH1cclxuICAgIGlmIChYSXNGdW5jdGlvbih0aGlzLl9jb250cm9sLmlucHV0VmFsaWRhdG9yKSkge1xyXG4gICAgICB0aGlzLl92YWxpZGF0b3JGbnMgPSBbLi4udGhpcy5fdmFsaWRhdG9yRm5zLCBYRm9ybUlucHV0VmFsaWRhdG9yKHRoaXMuX2NvbnRyb2wuaW5wdXRWYWxpZGF0b3IhKV07XHJcbiAgICB9XHJcbiAgICB0aGlzLl9mb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKHRoaXMuX3ZhbGlkYXRvckZucyk7XHJcbiAgICB0aGlzLl9mb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICBzZXRQcm9wcygpIHtcclxuICAgIGZvciAobGV0IHByb3Agb2YgdGhpcy5fc2hhcmVkUHJvcHMpIHtcclxuICAgICAgaWYgKFhJc0VtcHR5KHRoaXMub3B0aW9uW3Byb3BdKSkgdGhpcy5vcHRpb25bcHJvcF0gPSAodGhpcy5mb3JtIGFzIGFueSlbcHJvcF07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRQYXR0ZXJuKCkge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5fY29udHJvbC5wYXR0ZXJuKSkge1xyXG4gICAgICBmb3IgKGNvbnN0IHB0IG9mIHRoaXMuX2NvbnRyb2wucGF0dGVybikge1xyXG4gICAgICAgIHRoaXMuX3ZhbGlkYXRvckZucyA9IFsuLi50aGlzLl92YWxpZGF0b3JGbnMsIFZhbGlkYXRvcnMucGF0dGVybihwdCldO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl92YWxpZGF0b3JGbnMgPSBbLi4udGhpcy5fdmFsaWRhdG9yRm5zLCBWYWxpZGF0b3JzLnBhdHRlcm4odGhpcy5fY29udHJvbC5wYXR0ZXJuIGFzIFJlZ0V4cCldO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0UGF0dGVybk1zZyhwYXR0ZXJuOiBzdHJpbmcpIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2NvbnRyb2wucGF0dGVybikpIHtcclxuICAgICAgcmV0dXJuICh0aGlzLl9jb250cm9sLm1lc3NhZ2UgYXMgQXJyYXk8YW55PilbdGhpcy5fY29udHJvbC5wYXR0ZXJuLmZpbmRJbmRleCgoeCkgPT4gU3RyaW5nKHgpID09PSBwYXR0ZXJuKV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5fY29udHJvbC5tZXNzYWdlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0TWVzc2FnZXMoc3RhdGU6IEZvcm1Db250cm9sU3RhdHVzKSB7XHJcbiAgICBsZXQgY29udHJvbDogWEZvcm1Db250cm9sID0gdGhpcy5fZm9ybUNvbnRyb2w7XHJcbiAgICBpZiAoc3RhdGUgPT09ICdJTlZBTElEJyAmJiB0aGlzLl9mb3JtQ29udHJvbC5lcnJvcnMgIT09IG51bGwpIHtcclxuICAgICAgbGV0IG1lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBjb250cm9sLmVycm9ycykge1xyXG4gICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5fY29udHJvbC5sYWJlbCB8fCB0aGlzLl9jb250cm9sLmlkO1xyXG4gICAgICAgIGlmIChrZXkgPT09ICdyZXF1aXJlZCcpIHtcclxuICAgICAgICAgIG1lc3NhZ2VzID0gWy4uLm1lc3NhZ2VzLCBgJHtsYWJlbH0gJHt0aGlzLmxvY2FsZT8ucmVxdWlyZWQgfHwgJ3JlcXVpcmVkJ31gXTtcclxuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ3BhdHRlcm4nKSB7XHJcbiAgICAgICAgICBtZXNzYWdlcyA9IFsuLi5tZXNzYWdlcywgYCR7bGFiZWx9ICR7dGhpcy5nZXRQYXR0ZXJuTXNnKGNvbnRyb2wuZXJyb3JzW2tleV0ucmVxdWlyZWRQYXR0ZXJuKX1gXTtcclxuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2lucHV0VmFsaWRhdG9yJykge1xyXG4gICAgICAgICAgbWVzc2FnZXMgPSBbLi4ubWVzc2FnZXMsIGAke2xhYmVsfSAke3RoaXMuX2NvbnRyb2wubWVzc2FnZX1gXTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgY29udHJvbC5tZXNzYWdlcyA9IG1lc3NhZ2VzO1xyXG4gICAgfSBlbHNlIGlmIChzdGF0ZSA9PT0gJ1ZBTElEJykge1xyXG4gICAgICBjb250cm9sLm1lc3NhZ2VzID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVDb250cm9sKG9wdGlvbjogWEZvcm1Db250cm9sT3B0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKG9wdGlvbi5jb250cm9sKSB7XHJcbiAgICAgIGNhc2UgJ2lucHV0JzpcclxuICAgICAgICByZXR1cm4gbmV3IFhJbnB1dENvbnRyb2wob3B0aW9uIGFzIFhJbnB1dENvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdzZWxlY3QnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFNlbGVjdENvbnRyb2wob3B0aW9uIGFzIFhTZWxlY3RDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnY2hlY2tib3gnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWENoZWNrYm94Q29udHJvbChvcHRpb24gYXMgWENoZWNrYm94Q29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ3JhZGlvJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhSYWRpb0NvbnRyb2wob3B0aW9uIGFzIFhSYWRpb0NvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdzd2l0Y2gnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFN3aXRjaENvbnRyb2wob3B0aW9uIGFzIFhTd2l0Y2hDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAncmF0ZSc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYUmF0ZUNvbnRyb2wob3B0aW9uIGFzIFhSYXRlQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ2RhdGUtcGlja2VyJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhEYXRlUGlja2VyQ29udHJvbChvcHRpb24gYXMgWERhdGVQaWNrZXJDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAndGltZS1waWNrZXInOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFRpbWVQaWNrZXJDb250cm9sKG9wdGlvbiBhcyBYVGltZVBpY2tlckNvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdpbnB1dC1udW1iZXInOlxyXG4gICAgICAgIHJldHVybiBuZXcgWElucHV0TnVtYmVyQ29udHJvbChvcHRpb24gYXMgWElucHV0TnVtYmVyQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ3NsaWRlci1zZWxlY3QnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFNsaWRlclNlbGVjdENvbnRyb2wob3B0aW9uIGFzIFhTbGlkZXJTZWxlY3RDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnY2FzY2FkZSc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYQ2FzY2FkZUNvbnRyb2wob3B0aW9uIGFzIFhDYXNjYWRlQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ2NvbG9yLXBpY2tlcic6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYQ29sb3JQaWNrZXJDb250cm9sKG9wdGlvbiBhcyBYQ29sb3JQaWNrZXJDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAndGV4dGFyZWEnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFRleHRhcmVhQ29udHJvbChvcHRpb24gYXMgWFRleHRhcmVhQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ2ZpbmQnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWEZpbmRDb250cm9sKG9wdGlvbiBhcyBYRmluZENvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdhdXRvLWNvbXBsZXRlJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhBdXRvQ29tcGxldGVDb250cm9sKG9wdGlvbiBhcyBYQXV0b0NvbXBsZXRlQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYSW5wdXRDb250cm9sKG9wdGlvbiBhcyBYSW5wdXRDb250cm9sT3B0aW9uKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtY29udHJvbFwiIFtmb3JtR3JvdXBdPVwiZm9ybS5mb3JtR3JvdXBcIj5cclxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJvcHRpb24uY29udHJvbFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2lucHV0J1wiPlxyXG4gICAgICA8eC1pbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiIChjbGVhckVtaXQpPVwib3B0aW9uLmNsZWFyQ2xpY2sgJiYgb3B0aW9uLmNsZWFyQ2xpY2soJGV2ZW50KVwiPjwveC1pbnB1dD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIj5cclxuICAgICAgPHgtc2VsZWN0IFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LXNlbGVjdD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2Nhc2NhZGUnXCI+XHJcbiAgICAgIDx4LWNhc2NhZGUgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIiAobm9kZUVtaXQpPVwib3B0aW9uLm5vZGVDbGljayAmJiBvcHRpb24ubm9kZUNsaWNrKCRldmVudClcIj48L3gtY2FzY2FkZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NoZWNrYm94J1wiPlxyXG4gICAgICA8eC1jaGVja2JveCBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC1jaGVja2JveD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NvbG9yLXBpY2tlcidcIj5cclxuICAgICAgPHgtY29sb3ItcGlja2VyIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LWNvbG9yLXBpY2tlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUtcGlja2VyJ1wiPlxyXG4gICAgICA8eC1kYXRlLXBpY2tlciBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiIChub2RlRW1pdCk9XCJvcHRpb24ubm9kZUNsaWNrICYmIG9wdGlvbi5ub2RlQ2xpY2soJGV2ZW50KVwiPjwveC1kYXRlLXBpY2tlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2lucHV0LW51bWJlcidcIj5cclxuICAgICAgPHgtaW5wdXQtbnVtYmVyIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LWlucHV0LW51bWJlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3JhZGlvJ1wiPlxyXG4gICAgICA8eC1yYWRpbyBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC1yYWRpbz5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3JhdGUnXCI+XHJcbiAgICAgIDx4LXJhdGUgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtcmF0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NsaWRlci1zZWxlY3QnXCI+XHJcbiAgICAgIDx4LXNsaWRlci1zZWxlY3QgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtc2xpZGVyLXNlbGVjdD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3N3aXRjaCdcIj5cclxuICAgICAgPHgtc3dpdGNoIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LXN3aXRjaD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RpbWUtcGlja2VyJ1wiPlxyXG4gICAgICA8eC10aW1lLXBpY2tlciBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC10aW1lLXBpY2tlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RleHRhcmVhJ1wiPlxyXG4gICAgICA8eC10ZXh0YXJlYSBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiIChjbGVhckVtaXQpPVwib3B0aW9uLmNsZWFyQ2xpY2sgJiYgb3B0aW9uLmNsZWFyQ2xpY2soJGV2ZW50KVwiPjwveC10ZXh0YXJlYT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2F1dG8tY29tcGxldGUnXCI+XHJcbiAgICAgIDx4LWF1dG8tY29tcGxldGUgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIiAobm9kZUVtaXQpPVwib3B0aW9uLm5vZGVDbGljayAmJiBvcHRpb24ubm9kZUNsaWNrKCRldmVudClcIj48L3gtYXV0by1jb21wbGV0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ZpbmQnXCI+XHJcbiAgICAgIDx4LWZpbmQgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtZmluZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuIl19
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9mb3JtL2NvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZm9ybS9jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsU0FBUyxFQUtWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxnQkFBZ0IsRUFJaEIsZUFBZSxFQUVmLGFBQWEsRUFFYixjQUFjLEVBRWQsZ0JBQWdCLEVBRWhCLGFBQWEsRUFHYixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBRW5CLGNBQWMsRUFFZCxZQUFZLEVBRVosb0JBQW9CLEVBRXBCLGtCQUFrQixFQUVsQixtQkFBbUIsRUFHbkIsWUFBWSxFQUdaLGdCQUFnQixFQUNoQixvQkFBb0IsRUFFckIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBd0QsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2SSxPQUFPLEVBQUUsUUFBUSxFQUFrQixXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVM1RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZ0JBQWdCO0lBWXJEO0lBQ0UsbURBQW1EO0lBQzVDLEdBQXNCLEVBQ3RCLGFBQTZCLEVBQzdCLElBQWtCO1FBRXpCLEtBQUssRUFBRSxDQUFDO1FBSkQsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBQzdCLFNBQUksR0FBSixJQUFJLENBQWM7UUFaM0IsV0FBTSxHQUFjLEVBQUUsQ0FBQztRQUNmLGlCQUFZLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3JGLGlCQUFZLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFL0Msa0JBQWEsR0FBa0IsRUFBRSxDQUFDO1FBQ2xDLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBVXpDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzVHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQy9FLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQXFCLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDekQ7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3JFLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTthQUNuQixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBaUIsQ0FBQyxFQUMvQixTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUMzQjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWMsRUFBRSxJQUFJLENBQUMsUUFBZ0MsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN6RCxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFzQyxDQUFDO1FBQ3BHLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3JFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzdCO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ25FO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7UUFDRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ2xHO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsUUFBUTtRQUNOLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNsQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUksSUFBSSxDQUFDLElBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvRTtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEMsS0FBSyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtnQkFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDdEU7U0FDRjthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBaUIsQ0FBQyxDQUFDLENBQUM7U0FDbkc7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQWU7UUFDM0IsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEMsT0FBUSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQXNCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQztTQUM3RzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBd0I7UUFDbEMsSUFBSSxPQUFPLEdBQWlCLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDOUMsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtZQUM1RCxJQUFJLFFBQVEsR0FBYSxFQUFFLENBQUM7WUFDNUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxHQUFHLEtBQUssVUFBVSxFQUFFO29CQUN0QixRQUFRLEdBQUcsQ0FBQyxHQUFHLFFBQVEsRUFBRSxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsSUFBSSxVQUFVLEVBQUUsQ0FBQyxDQUFDO2lCQUM3RTtxQkFBTSxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7b0JBQzVCLFFBQVEsR0FBRyxDQUFDLEdBQUcsUUFBUSxFQUFFLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ2pHO3FCQUFNLElBQUksR0FBRyxLQUFLLGdCQUFnQixFQUFFO29CQUNuQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLFFBQVEsRUFBRSxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7aUJBQy9EO2FBQ0Y7WUFDRCxPQUFPLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztTQUM3QjthQUFNLElBQUksS0FBSyxLQUFLLE9BQU8sRUFBRTtZQUM1QixPQUFPLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsTUFBMEI7UUFDdEMsUUFBUSxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ3RCLEtBQUssT0FBTztnQkFDVixPQUFPLElBQUksYUFBYSxDQUFDLE1BQTZCLENBQUMsQ0FBQztZQUMxRCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxJQUFJLGNBQWMsQ0FBQyxNQUE4QixDQUFDLENBQUM7WUFDNUQsS0FBSyxVQUFVO2dCQUNiLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxNQUFnQyxDQUFDLENBQUM7WUFDaEUsS0FBSyxPQUFPO2dCQUNWLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBNkIsQ0FBQyxDQUFDO1lBQzFELEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksY0FBYyxDQUFDLE1BQThCLENBQUMsQ0FBQztZQUM1RCxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUE0QixDQUFDLENBQUM7WUFDeEQsS0FBSyxhQUFhO2dCQUNoQixPQUFPLElBQUksa0JBQWtCLENBQUMsTUFBa0MsQ0FBQyxDQUFDO1lBQ3BFLEtBQUssYUFBYTtnQkFDaEIsT0FBTyxJQUFJLGtCQUFrQixDQUFDLE1BQWtDLENBQUMsQ0FBQztZQUNwRSxLQUFLLGNBQWM7Z0JBQ2pCLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxNQUFtQyxDQUFDLENBQUM7WUFDdEUsS0FBSyxlQUFlO2dCQUNsQixPQUFPLElBQUksb0JBQW9CLENBQUMsTUFBb0MsQ0FBQyxDQUFDO1lBQ3hFLEtBQUssU0FBUztnQkFDWixPQUFPLElBQUksZUFBZSxDQUFDLE1BQStCLENBQUMsQ0FBQztZQUM5RCxLQUFLLGNBQWM7Z0JBQ2pCLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxNQUFtQyxDQUFDLENBQUM7WUFDdEUsS0FBSyxVQUFVO2dCQUNiLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxNQUFnQyxDQUFDLENBQUM7WUFDaEUsS0FBSyxNQUFNO2dCQUNULE9BQU8sSUFBSSxZQUFZLENBQUMsTUFBNEIsQ0FBQyxDQUFDO1lBQ3hELEtBQUssZUFBZTtnQkFDbEIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLE1BQW9DLENBQUMsQ0FBQztZQUN4RTtnQkFDRSxPQUFPLElBQUksYUFBYSxDQUFDLE1BQTZCLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7aUlBcEtVLGlCQUFpQjtxSEFBakIsaUJBQWlCLHNJQUdqQixlQUFlLHVFQ2pFNUIsbWhGQWlEQTs7MkZEYWEsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLFdBQVcsaUJBR04saUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4SUFHN0IsTUFBTTtzQkFBdkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ3NCLE9BQU87c0JBQWxDLFNBQVM7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIElucHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPbkluaXQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBPbkRlc3Ryb3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBYQ29udHJvbFByb3BlcnR5LFxyXG4gIFhGb3JtQ29udHJvbE9wdGlvbixcclxuICBYRm9ybUNvbnRyb2xDb21wb25lbnQsXHJcbiAgWEZvcm1Db250cm9sVHlwZSxcclxuICBYQ2FzY2FkZUNvbnRyb2wsXHJcbiAgWENhc2NhZGVDb250cm9sT3B0aW9uLFxyXG4gIFhJbnB1dENvbnRyb2wsXHJcbiAgWElucHV0Q29udHJvbE9wdGlvbixcclxuICBYU2VsZWN0Q29udHJvbCxcclxuICBYU2VsZWN0Q29udHJvbE9wdGlvbixcclxuICBYQ2hlY2tib3hDb250cm9sLFxyXG4gIFhDaGVja2JveENvbnRyb2xPcHRpb24sXHJcbiAgWFJhZGlvQ29udHJvbCxcclxuICBYUmFkaW9Db250cm9sT3B0aW9uLFxyXG4gIFhEYXRlUGlja2VyQ29udHJvbE9wdGlvbixcclxuICBYRGF0ZVBpY2tlckNvbnRyb2wsXHJcbiAgWElucHV0TnVtYmVyQ29udHJvbCxcclxuICBYSW5wdXROdW1iZXJDb250cm9sT3B0aW9uLFxyXG4gIFhTd2l0Y2hDb250cm9sLFxyXG4gIFhTd2l0Y2hDb250cm9sT3B0aW9uLFxyXG4gIFhSYXRlQ29udHJvbCxcclxuICBYUmF0ZUNvbnRyb2xPcHRpb24sXHJcbiAgWFNsaWRlclNlbGVjdENvbnRyb2wsXHJcbiAgWFNsaWRlclNlbGVjdENvbnRyb2xPcHRpb24sXHJcbiAgWFRpbWVQaWNrZXJDb250cm9sLFxyXG4gIFhUaW1lUGlja2VyQ29udHJvbE9wdGlvbixcclxuICBYQ29sb3JQaWNrZXJDb250cm9sLFxyXG4gIFhDb2xvclBpY2tlckNvbnRyb2xPcHRpb24sXHJcbiAgWEZvcm1Db250cm9sLFxyXG4gIFhGaW5kQ29udHJvbCxcclxuICBYRmluZENvbnRyb2xPcHRpb24sXHJcbiAgWFRleHRhcmVhQ29udHJvbE9wdGlvbixcclxuICBYVGV4dGFyZWFDb250cm9sLFxyXG4gIFhBdXRvQ29tcGxldGVDb250cm9sLFxyXG4gIFhBdXRvQ29tcGxldGVDb250cm9sT3B0aW9uXHJcbn0gZnJvbSAnLi9mb3JtLnByb3BlcnR5JztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2xOYW1lLCBWYWxpZGF0b3JzLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2xTdGF0dXMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFhJc0VtcHR5LCBYQ29uZmlnU2VydmljZSwgWElzRnVuY3Rpb24gfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWEkxOG5Gb3JtLCBYSTE4blNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgWEZvcm1JbnB1dFZhbGlkYXRvciB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3gtY29udHJvbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYQ29udHJvbENvbXBvbmVudCBleHRlbmRzIFhDb250cm9sUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgb3ZlcnJpZGUgb3B0aW9uITogWEZvcm1Db250cm9sT3B0aW9uO1xyXG4gIEBJbnB1dCgpIGZvcm06IGFueTtcclxuICBAVmlld0NoaWxkKEZvcm1Db250cm9sTmFtZSkgY29udHJvbCE6IEZvcm1Db250cm9sTmFtZTtcclxuICBsb2NhbGU6IFhJMThuRm9ybSA9IHt9O1xyXG4gIHByaXZhdGUgX3NoYXJlZFByb3BzID0gWydzcGFuJywgJ2RpcmVjdGlvbicsICdqdXN0aWZ5JywgJ2FsaWduJywgJ2xhYmVsV2lkdGgnLCAnbGFiZWxBbGlnbiddO1xyXG4gIHByaXZhdGUgX2NoYW5nZVByb3BzID0gWydsYWJlbCcsIC4uLnRoaXMuX3NoYXJlZFByb3BzXTtcclxuICBwcml2YXRlIF9jb250cm9sITogWEZvcm1Db250cm9sVHlwZTtcclxuICBwcml2YXRlIF92YWxpZGF0b3JGbnM6IFZhbGlkYXRvckZuW10gPSBbXTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgX2Zvcm1Db250cm9sITogVW50eXBlZEZvcm1Db250cm9sO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIEBIb3N0KCkgQE9wdGlvbmFsKCkgcHVibGljIGZvcm06IFhGb3JtQ29tcG9uZW50LFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgaTE4bjogWEkxOG5TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm9wdGlvbiA9IHsgLi4udGhpcy5vcHRpb24gfTtcclxuICAgIHRoaXMuc2V0UHJvcHMoKTtcclxuICAgIGlmIChYSXNFbXB0eSh0aGlzLm9wdGlvbi5sYWJlbCkpIHRoaXMub3B0aW9uLmxhYmVsID0gJyc7XHJcbiAgICB0aGlzLm9wdGlvbi5sYWJlbCA9IGAke3RoaXMub3B0aW9uLmxhYmVsfSR7dGhpcy5mb3JtLmxhYmVsU3VmZml4fWA7XHJcbiAgICB0aGlzLl9jb250cm9sID0gdGhpcy5jcmVhdGVDb250cm9sKHRoaXMub3B0aW9uKTtcclxuICAgIHRoaXMuX2Zvcm1Db250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0aGlzLl9jb250cm9sLnZhbHVlLCB7IG5vbk51bGxhYmxlOiB0aGlzLl9jb250cm9sLm5vbk51bGxhYmxlIH0pO1xyXG4gICAgdGhpcy5zZXRWYWxpZGF0b3JzKCk7XHJcbiAgICB0aGlzLl9mb3JtQ29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLnNldE1lc3NhZ2VzKHgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9jb250cm9sLnNldFZhbGlkYXRvcnMgPSAoKSA9PiB0aGlzLnNldFZhbGlkYXRvcnMoKTtcclxuICAgIHRoaXMuZm9ybS5mb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLl9jb250cm9sLmlkLCB0aGlzLl9mb3JtQ29udHJvbCk7XHJcbiAgICB0aGlzLm9wdGlvbi5jaGFuZ2UgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2NoYW5nZVByb3BzLmZvckVhY2goKHg6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciAmJiB0aGlzLm9wdGlvblt4XSkge1xyXG4gICAgICAgICAgKHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yIGFzIGFueSlbeF0gPSB0aGlzLm9wdGlvblt4XTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbENvbXBvbmVudHNbdGhpcy5fY29udHJvbC5pZF0uZm9ybUNvbnRyb2xDaGFuZ2VzKCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pMThuLmxvY2FsZUNoYW5nZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHgpID0+IHguZm9ybSBhcyBYSTE4bkZvcm0pLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9jYWxlID0geDtcclxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yISwgdGhpcy5fY29udHJvbCBhcyBDb250cm9sVmFsdWVBY2Nlc3Nvcik7XHJcbiAgICB0aGlzLmZvcm0uY29udHJvbFR5cGVzW3RoaXMuX2NvbnRyb2wuaWRdID0gdGhpcy5fY29udHJvbDtcclxuICAgIHRoaXMuZm9ybS5jb250cm9sQ29tcG9uZW50c1t0aGlzLl9jb250cm9sLmlkXSA9IHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yIGFzIFhGb3JtQ29udHJvbENvbXBvbmVudDtcclxuICAgIHRoaXMuZm9ybS5jb250cm9sQ29tcG9uZW50c1t0aGlzLl9jb250cm9sLmlkXS5mb3JtQ29udHJvbENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0VmFsaWRhdG9ycygpIHtcclxuICAgIHRoaXMuX3ZhbGlkYXRvckZucyA9IFtdO1xyXG4gICAgaWYgKHRoaXMuX2NvbnRyb2wuZGlzYWJsZWQgfHwgdGhpcy5mb3JtLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuX2Zvcm1Db250cm9sLmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2Zvcm1Db250cm9sLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX2NvbnRyb2wucmVxdWlyZWQgJiYgIXRoaXMuZm9ybS5kaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLl92YWxpZGF0b3JGbnMgPSBbLi4udGhpcy5fdmFsaWRhdG9yRm5zLCBWYWxpZGF0b3JzLnJlcXVpcmVkXTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9jb250cm9sLnBhdHRlcm4pIHtcclxuICAgICAgdGhpcy5zZXRQYXR0ZXJuKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoWElzRnVuY3Rpb24odGhpcy5fY29udHJvbC5pbnB1dFZhbGlkYXRvcikpIHtcclxuICAgICAgdGhpcy5fdmFsaWRhdG9yRm5zID0gWy4uLnRoaXMuX3ZhbGlkYXRvckZucywgWEZvcm1JbnB1dFZhbGlkYXRvcih0aGlzLl9jb250cm9sLmlucHV0VmFsaWRhdG9yISldO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLl92YWxpZGF0b3JGbnMpO1xyXG4gICAgdGhpcy5fZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0UHJvcHMoKSB7XHJcbiAgICBmb3IgKGxldCBwcm9wIG9mIHRoaXMuX3NoYXJlZFByb3BzKSB7XHJcbiAgICAgIGlmIChYSXNFbXB0eSh0aGlzLm9wdGlvbltwcm9wXSkpIHRoaXMub3B0aW9uW3Byb3BdID0gKHRoaXMuZm9ybSBhcyBhbnkpW3Byb3BdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0UGF0dGVybigpIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2NvbnRyb2wucGF0dGVybikpIHtcclxuICAgICAgZm9yIChjb25zdCBwdCBvZiB0aGlzLl9jb250cm9sLnBhdHRlcm4pIHtcclxuICAgICAgICB0aGlzLl92YWxpZGF0b3JGbnMgPSBbLi4udGhpcy5fdmFsaWRhdG9yRm5zLCBWYWxpZGF0b3JzLnBhdHRlcm4ocHQpXTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fdmFsaWRhdG9yRm5zID0gWy4uLnRoaXMuX3ZhbGlkYXRvckZucywgVmFsaWRhdG9ycy5wYXR0ZXJuKHRoaXMuX2NvbnRyb2wucGF0dGVybiBhcyBSZWdFeHApXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFBhdHRlcm5Nc2cocGF0dGVybjogc3RyaW5nKSB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl9jb250cm9sLnBhdHRlcm4pKSB7XHJcbiAgICAgIHJldHVybiAodGhpcy5fY29udHJvbC5tZXNzYWdlIGFzIEFycmF5PGFueT4pW3RoaXMuX2NvbnRyb2wucGF0dGVybi5maW5kSW5kZXgoKHgpID0+IFN0cmluZyh4KSA9PT0gcGF0dGVybildO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2NvbnRyb2wubWVzc2FnZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldE1lc3NhZ2VzKHN0YXRlOiBGb3JtQ29udHJvbFN0YXR1cykge1xyXG4gICAgbGV0IGNvbnRyb2w6IFhGb3JtQ29udHJvbCA9IHRoaXMuX2Zvcm1Db250cm9sO1xyXG4gICAgaWYgKHN0YXRlID09PSAnSU5WQUxJRCcgJiYgdGhpcy5fZm9ybUNvbnRyb2wuZXJyb3JzICE9PSBudWxsKSB7XHJcbiAgICAgIGxldCBtZXNzYWdlczogc3RyaW5nW10gPSBbXTtcclxuICAgICAgZm9yIChjb25zdCBrZXkgaW4gY29udHJvbC5lcnJvcnMpIHtcclxuICAgICAgICBjb25zdCBsYWJlbCA9IHRoaXMuX2NvbnRyb2wubGFiZWwgfHwgdGhpcy5fY29udHJvbC5pZDtcclxuICAgICAgICBpZiAoa2V5ID09PSAncmVxdWlyZWQnKSB7XHJcbiAgICAgICAgICBtZXNzYWdlcyA9IFsuLi5tZXNzYWdlcywgYCR7bGFiZWx9ICR7dGhpcy5sb2NhbGU/LnJlcXVpcmVkIHx8ICdyZXF1aXJlZCd9YF07XHJcbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdwYXR0ZXJuJykge1xyXG4gICAgICAgICAgbWVzc2FnZXMgPSBbLi4ubWVzc2FnZXMsIGAke2xhYmVsfSAke3RoaXMuZ2V0UGF0dGVybk1zZyhjb250cm9sLmVycm9yc1trZXldLnJlcXVpcmVkUGF0dGVybil9YF07XHJcbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdpbnB1dFZhbGlkYXRvcicpIHtcclxuICAgICAgICAgIG1lc3NhZ2VzID0gWy4uLm1lc3NhZ2VzLCBgJHtsYWJlbH0gJHt0aGlzLl9jb250cm9sLm1lc3NhZ2V9YF07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnRyb2wubWVzc2FnZXMgPSBtZXNzYWdlcztcclxuICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09ICdWQUxJRCcpIHtcclxuICAgICAgY29udHJvbC5tZXNzYWdlcyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlQ29udHJvbChvcHRpb246IFhGb3JtQ29udHJvbE9wdGlvbikge1xyXG4gICAgc3dpdGNoIChvcHRpb24uY29udHJvbCkge1xyXG4gICAgICBjYXNlICdpbnB1dCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYSW5wdXRDb250cm9sKG9wdGlvbiBhcyBYSW5wdXRDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnc2VsZWN0JzpcclxuICAgICAgICByZXR1cm4gbmV3IFhTZWxlY3RDb250cm9sKG9wdGlvbiBhcyBYU2VsZWN0Q29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ2NoZWNrYm94JzpcclxuICAgICAgICByZXR1cm4gbmV3IFhDaGVja2JveENvbnRyb2wob3B0aW9uIGFzIFhDaGVja2JveENvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdyYWRpbyc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYUmFkaW9Db250cm9sKG9wdGlvbiBhcyBYUmFkaW9Db250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnc3dpdGNoJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhTd2l0Y2hDb250cm9sKG9wdGlvbiBhcyBYU3dpdGNoQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ3JhdGUnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFJhdGVDb250cm9sKG9wdGlvbiBhcyBYUmF0ZUNvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdkYXRlLXBpY2tlcic6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYRGF0ZVBpY2tlckNvbnRyb2wob3B0aW9uIGFzIFhEYXRlUGlja2VyQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ3RpbWUtcGlja2VyJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhUaW1lUGlja2VyQ29udHJvbChvcHRpb24gYXMgWFRpbWVQaWNrZXJDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnaW5wdXQtbnVtYmVyJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhJbnB1dE51bWJlckNvbnRyb2wob3B0aW9uIGFzIFhJbnB1dE51bWJlckNvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdzbGlkZXItc2VsZWN0JzpcclxuICAgICAgICByZXR1cm4gbmV3IFhTbGlkZXJTZWxlY3RDb250cm9sKG9wdGlvbiBhcyBYU2xpZGVyU2VsZWN0Q29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ2Nhc2NhZGUnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWENhc2NhZGVDb250cm9sKG9wdGlvbiBhcyBYQ2FzY2FkZUNvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdjb2xvci1waWNrZXInOlxyXG4gICAgICAgIHJldHVybiBuZXcgWENvbG9yUGlja2VyQ29udHJvbChvcHRpb24gYXMgWENvbG9yUGlja2VyQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ3RleHRhcmVhJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhUZXh0YXJlYUNvbnRyb2wob3B0aW9uIGFzIFhUZXh0YXJlYUNvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdmaW5kJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhGaW5kQ29udHJvbChvcHRpb24gYXMgWEZpbmRDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnYXV0by1jb21wbGV0ZSc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYQXV0b0NvbXBsZXRlQ29udHJvbChvcHRpb24gYXMgWEF1dG9Db21wbGV0ZUNvbnRyb2xPcHRpb24pO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBuZXcgWElucHV0Q29udHJvbChvcHRpb24gYXMgWElucHV0Q29udHJvbE9wdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LWNvbnRyb2xcIiBbZm9ybUdyb3VwXT1cImZvcm0uZm9ybUdyb3VwXCI+XHJcbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwib3B0aW9uLmNvbnRyb2xcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidpbnB1dCdcIj5cclxuICAgICAgPHgtaW5wdXQgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIiAoY2xlYXJFbWl0KT1cIm9wdGlvbi5jbGVhckNsaWNrICYmIG9wdGlvbi5jbGVhckNsaWNrKCRldmVudClcIj48L3gtaW5wdXQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzZWxlY3QnXCI+XHJcbiAgICAgIDx4LXNlbGVjdCBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC1zZWxlY3Q+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjYXNjYWRlJ1wiPlxyXG4gICAgICA8eC1jYXNjYWRlIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCIgKG5vZGVFbWl0KT1cIm9wdGlvbi5ub2RlQ2xpY2sgJiYgb3B0aW9uLm5vZGVDbGljaygkZXZlbnQpXCI+PC94LWNhc2NhZGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjaGVja2JveCdcIj5cclxuICAgICAgPHgtY2hlY2tib3ggW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtY2hlY2tib3g+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjb2xvci1waWNrZXInXCI+XHJcbiAgICAgIDx4LWNvbG9yLXBpY2tlciBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC1jb2xvci1waWNrZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXRlLXBpY2tlcidcIj5cclxuICAgICAgPHgtZGF0ZS1waWNrZXIgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIiAobm9kZUVtaXQpPVwib3B0aW9uLm5vZGVDbGljayAmJiBvcHRpb24ubm9kZUNsaWNrKCRldmVudClcIj48L3gtZGF0ZS1waWNrZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidpbnB1dC1udW1iZXInXCI+XHJcbiAgICAgIDx4LWlucHV0LW51bWJlciBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC1pbnB1dC1udW1iZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidyYWRpbydcIj5cclxuICAgICAgPHgtcmFkaW8gW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtcmFkaW8+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidyYXRlJ1wiPlxyXG4gICAgICA8eC1yYXRlIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LXJhdGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzbGlkZXItc2VsZWN0J1wiPlxyXG4gICAgICA8eC1zbGlkZXItc2VsZWN0IFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LXNsaWRlci1zZWxlY3Q+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzd2l0Y2gnXCI+XHJcbiAgICAgIDx4LXN3aXRjaCBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC1zd2l0Y2g+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0aW1lLXBpY2tlcidcIj5cclxuICAgICAgPHgtdGltZS1waWNrZXIgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtdGltZS1waWNrZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0ZXh0YXJlYSdcIj5cclxuICAgICAgPHgtdGV4dGFyZWEgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIiAoY2xlYXJFbWl0KT1cIm9wdGlvbi5jbGVhckNsaWNrICYmIG9wdGlvbi5jbGVhckNsaWNrKCRldmVudClcIj48L3gtdGV4dGFyZWE+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidhdXRvLWNvbXBsZXRlJ1wiPlxyXG4gICAgICA8eC1hdXRvLWNvbXBsZXRlIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCIgKG5vZGVFbWl0KT1cIm9wdGlvbi5ub2RlQ2xpY2sgJiYgb3B0aW9uLm5vZGVDbGljaygkZXZlbnQpXCI+PC94LWF1dG8tY29tcGxldGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidmaW5kJ1wiPlxyXG4gICAgICA8eC1maW5kIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LWZpbmQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -9,7 +9,7 @@ import * as i4 from "@ng-nest/ui/layout";
9
9
  import * as i5 from "@ng-nest/ui/icon";
10
10
  import * as i6 from "@ng-nest/ui/outlet";
11
11
  import * as i7 from "./control.component";
12
- class XFormComponent extends XFormProperty {
12
+ export class XFormComponent extends XFormProperty {
13
13
  constructor(cdr, configService) {
14
14
  super();
15
15
  this.cdr = cdr;
@@ -108,12 +108,11 @@ class XFormComponent extends XFormProperty {
108
108
  trackByControl(_index, item) {
109
109
  return item.id;
110
110
  }
111
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XFormComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
112
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XFormComponent, selector: "x-form", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form\r\n #form\r\n class=\"x-form\"\r\n [class.x-form-has-content]=\"content.innerHTML.trim()\"\r\n [formGroup]=\"formGroup\"\r\n [style.width]=\"width\"\r\n [style.padding-bottom.rem]=\"controlsType === 'controls' ? this.space : 0\"\r\n [ngClass]=\"classMap\"\r\n (ngSubmit)=\"onSubmit($event)\"\r\n>\r\n <ng-container [ngSwitch]=\"controlsType\">\r\n <ng-container *ngSwitchCase=\"'controls'\">\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: controls }\"> </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rows'\">\r\n <ng-container *ngTemplateOutlet=\"rowsTemp; context: { rows: controls }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <div class=\"x-form-content\" #content><ng-content></ng-content></div>\r\n</form>\r\n\r\n<ng-template #rowsTemp let-rows=\"rows\">\r\n <ng-container *ngFor=\"let row of rows\">\r\n <div class=\"x-form-category\" [hidden]=\"row.hidden\">\r\n <ng-container *ngTemplateOutlet=\"titleTemp; context: { row: row }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: row.controls }\"></ng-container>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #controlsTemp let-controls=\"controls\">\r\n <x-row [space]=\"space\">\r\n <x-col\r\n [style.padding-top.rem]=\"space\"\r\n [span]=\"!control.span ? span : control.span\"\r\n *ngFor=\"let control of controls; trackBy: trackByControl\"\r\n [hidden]=\"control.hidden\"\r\n >\r\n <ng-container *xOutlet=\"controlTpl[control.id]; context: { $option: control }\">\r\n <x-control [option]=\"control\" [form]=\"this\"></x-control>\r\n </ng-container>\r\n </x-col>\r\n </x-row>\r\n</ng-template>\r\n\r\n<ng-template #titleTemp let-row=\"row\">\r\n <label class=\"x-form-title\">\r\n <x-icon *ngIf=\"row.icon\" [type]=\"row.icon\"></x-icon>\r\n <span>{{ row.title }}</span>\r\n </label>\r\n</ng-template>\r\n", styles: [".x-form{margin:0;padding:0;display:inline-block;overflow:hidden}.x-form-title{display:inline-flex;align-items:center;font-size:var(--x-font-size-medium)}.x-form-title>x-icon{margin-right:.25rem}.x-form-category{width:100%;overflow:hidden}.x-form-rows>x-row[hidden]{display:none}.x-form-rows>x-row:not(:first-child){margin-top:1.5rem}.x-form x-col[hidden]{display:none}.x-form-has-content .x-form-content{margin-top:1.5rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.XRowComponent, selector: "x-row" }, { kind: "component", type: i4.XColComponent, selector: "x-col" }, { kind: "component", type: i5.XIconComponent, selector: "x-icon" }, { kind: "directive", type: i6.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i7.XControlComponent, selector: "x-control", inputs: ["option", "form"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
111
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XFormComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
112
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XFormComponent, selector: "x-form", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form\r\n #form\r\n class=\"x-form\"\r\n [class.x-form-has-content]=\"content.innerHTML.trim()\"\r\n [formGroup]=\"formGroup\"\r\n [style.width]=\"width\"\r\n [style.padding-bottom.rem]=\"controlsType === 'controls' ? this.space : 0\"\r\n [ngClass]=\"classMap\"\r\n (ngSubmit)=\"onSubmit($event)\"\r\n>\r\n <ng-container [ngSwitch]=\"controlsType\">\r\n <ng-container *ngSwitchCase=\"'controls'\">\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: controls }\"> </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rows'\">\r\n <ng-container *ngTemplateOutlet=\"rowsTemp; context: { rows: controls }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <div class=\"x-form-content\" #content><ng-content></ng-content></div>\r\n</form>\r\n\r\n<ng-template #rowsTemp let-rows=\"rows\">\r\n <ng-container *ngFor=\"let row of rows\">\r\n <div class=\"x-form-category\" [hidden]=\"row.hidden\">\r\n <ng-container *ngTemplateOutlet=\"titleTemp; context: { row: row }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: row.controls }\"></ng-container>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #controlsTemp let-controls=\"controls\">\r\n <x-row [space]=\"space\">\r\n <x-col\r\n [style.padding-top.rem]=\"space\"\r\n [span]=\"!control.span ? span : control.span\"\r\n *ngFor=\"let control of controls; trackBy: trackByControl\"\r\n [hidden]=\"control.hidden\"\r\n >\r\n <ng-container *xOutlet=\"controlTpl[control.id]; context: { $option: control }\">\r\n <x-control [option]=\"control\" [form]=\"this\"></x-control>\r\n </ng-container>\r\n </x-col>\r\n </x-row>\r\n</ng-template>\r\n\r\n<ng-template #titleTemp let-row=\"row\">\r\n <label class=\"x-form-title\">\r\n <x-icon *ngIf=\"row.icon\" [type]=\"row.icon\"></x-icon>\r\n <span>{{ row.title }}</span>\r\n </label>\r\n</ng-template>\r\n", styles: [".x-form{margin:0;padding:0;display:inline-block;overflow:hidden}.x-form-title{display:inline-flex;align-items:center;font-size:var(--x-font-size-medium)}.x-form-title>x-icon{margin-right:.25rem}.x-form-category{width:100%;overflow:hidden}.x-form-rows>x-row[hidden]{display:none}.x-form-rows>x-row:not(:first-child){margin-top:1.5rem}.x-form x-col[hidden]{display:none}.x-form-has-content .x-form-content{margin-top:1.5rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.XRowComponent, selector: "x-row" }, { kind: "component", type: i4.XColComponent, selector: "x-col" }, { kind: "component", type: i5.XIconComponent, selector: "x-icon" }, { kind: "directive", type: i6.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i7.XControlComponent, selector: "x-control", inputs: ["option", "form"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
113
113
  }
114
- export { XFormComponent };
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XFormComponent, decorators: [{
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XFormComponent, decorators: [{
116
115
  type: Component,
117
116
  args: [{ selector: `${XFormPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\r\n #form\r\n class=\"x-form\"\r\n [class.x-form-has-content]=\"content.innerHTML.trim()\"\r\n [formGroup]=\"formGroup\"\r\n [style.width]=\"width\"\r\n [style.padding-bottom.rem]=\"controlsType === 'controls' ? this.space : 0\"\r\n [ngClass]=\"classMap\"\r\n (ngSubmit)=\"onSubmit($event)\"\r\n>\r\n <ng-container [ngSwitch]=\"controlsType\">\r\n <ng-container *ngSwitchCase=\"'controls'\">\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: controls }\"> </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rows'\">\r\n <ng-container *ngTemplateOutlet=\"rowsTemp; context: { rows: controls }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <div class=\"x-form-content\" #content><ng-content></ng-content></div>\r\n</form>\r\n\r\n<ng-template #rowsTemp let-rows=\"rows\">\r\n <ng-container *ngFor=\"let row of rows\">\r\n <div class=\"x-form-category\" [hidden]=\"row.hidden\">\r\n <ng-container *ngTemplateOutlet=\"titleTemp; context: { row: row }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: row.controls }\"></ng-container>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #controlsTemp let-controls=\"controls\">\r\n <x-row [space]=\"space\">\r\n <x-col\r\n [style.padding-top.rem]=\"space\"\r\n [span]=\"!control.span ? span : control.span\"\r\n *ngFor=\"let control of controls; trackBy: trackByControl\"\r\n [hidden]=\"control.hidden\"\r\n >\r\n <ng-container *xOutlet=\"controlTpl[control.id]; context: { $option: control }\">\r\n <x-control [option]=\"control\" [form]=\"this\"></x-control>\r\n </ng-container>\r\n </x-col>\r\n </x-row>\r\n</ng-template>\r\n\r\n<ng-template #titleTemp let-row=\"row\">\r\n <label class=\"x-form-title\">\r\n <x-icon *ngIf=\"row.icon\" [type]=\"row.icon\"></x-icon>\r\n <span>{{ row.title }}</span>\r\n </label>\r\n</ng-template>\r\n", styles: [".x-form{margin:0;padding:0;display:inline-block;overflow:hidden}.x-form-title{display:inline-flex;align-items:center;font-size:var(--x-font-size-medium)}.x-form-title>x-icon{margin-right:.25rem}.x-form-category{width:100%;overflow:hidden}.x-form-rows>x-row[hidden]{display:none}.x-form-rows>x-row:not(:first-child){margin-top:1.5rem}.x-form x-col[hidden]{display:none}.x-form-has-content .x-form-content{margin-top:1.5rem}\n"] }]
118
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9mb3JtL2Zvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZm9ybS9mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFDTCxhQUFhLEVBRWIsV0FBVyxFQUtaLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFNBQVMsRUFBNEIsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7O0FBRXZFLE1BT2EsY0FBZSxTQUFRLGFBQWE7SUFNL0MsWUFBbUIsR0FBc0IsRUFBUyxhQUE2QjtRQUM3RSxLQUFLLEVBQUUsQ0FBQztRQURTLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVMsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBSi9FLHNCQUFpQixHQUFrRCxFQUFFLENBQUM7UUFDdEUsaUJBQVksR0FBNkMsRUFBRSxDQUFDO1FBQzVELFdBQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBSXBGLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUM3QixTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25C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SUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDO2tJQXpHVSxjQUFjO3NIQUFkLGNBQWMsMEZDbkIzQiw0OURBbURBOztTRGhDYSxjQUFjOzRGQUFkLGNBQWM7a0JBUDFCLFNBQVM7K0JBQ0UsR0FBRyxXQUFXLEVBQUUsaUJBR1gsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgWEZvcm1Qcm9wZXJ0eSxcclxuICBYRm9ybVJvdyxcclxuICBYRm9ybVByZWZpeCxcclxuICBYRm9ybUNvbnRyb2xPcHRpb24sXHJcbiAgWEZvcm1Db250cm9sLFxyXG4gIFhGb3JtQ29udHJvbENvbXBvbmVudCxcclxuICBYRm9ybUNvbnRyb2xUeXBlXHJcbn0gZnJvbSAnLi9mb3JtLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzQ2hhbmdlLCBYQm9vbGVhbiwgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYRm9ybVByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mb3JtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWEZvcm1Db21wb25lbnQgZXh0ZW5kcyBYRm9ybVByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb250cm9sc1R5cGUhOiAnY29udHJvbHMnIHwgJ3Jvd3MnO1xyXG4gIGNvbnRyb2xDb21wb25lbnRzOiB7IFtwcm9wZXJ0eTogc3RyaW5nXTogWEZvcm1Db250cm9sQ29tcG9uZW50IH0gPSB7fTtcclxuICBjb250cm9sVHlwZXM6IHsgW3Byb3BlcnR5OiBzdHJpbmddOiBYRm9ybUNvbnRyb2xUeXBlIH0gPSB7fTtcclxuICBmb3JtSWQgPSBOdW1iZXIoTWF0aC5yYW5kb20oKS50b1N0cmluZygpLnN1YnN0cmluZygyLCA2KSArIERhdGUubm93KCkpLnRvU3RyaW5nKDM2KTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgZGlzYWJsZWQgfSA9IGNoYW5nZXM7XHJcbiAgICBYSXNDaGFuZ2UoZGlzYWJsZWQpICYmIHRoaXMuc2V0RGlzYWJsZWQoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRDb250cm9scygpO1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5zZXREaXNhYmxlZCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29udHJvbHMoKSB7XHJcbiAgICBpZiAodGhpcy5jb250cm9scyAmJiB0aGlzLmNvbnRyb2xzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5jb250cm9sc1R5cGUgPSB0aGlzLmNvbnRyb2xzWzBdLmNvbnRyb2xzID8gJ3Jvd3MnIDogJ2NvbnRyb2xzJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgdGhpcy5jbGFzc01hcFtgJHtYRm9ybVByZWZpeH0tJHt0aGlzLmNvbnRyb2xzVHlwZX1gXSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZCgpIHtcclxuICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmNvbnRyb2xDb21wb25lbnRzKS5sZW5ndGggPT09IDApIHJldHVybjtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIGZvciAobGV0IGtleSBpbiB0aGlzLmNvbnRyb2xDb21wb25lbnRzKSB7XHJcbiAgICAgICAgbGV0IFtjb250cm9sLCB0eXBlXSA9IFt0aGlzLmNvbnRyb2xDb21wb25lbnRzW2tleV0sIHRoaXMuY29udHJvbFR5cGVzW2tleV1dO1xyXG4gICAgICAgIGNvbnRyb2wuZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgIGNvbnRyb2wucmVxdWlyZWQgPSBmYWxzZTtcclxuICAgICAgICBkZWxldGUgKGNvbnRyb2wgYXMgYW55KS5wYXR0ZXJuO1xyXG4gICAgICAgIHR5cGUuc2V0VmFsaWRhdG9ycyAmJiB0eXBlLnNldFZhbGlkYXRvcnMoKTtcclxuICAgICAgICBjb250cm9sLmZvcm1Db250cm9sQ2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5jb250cm9sQ29tcG9uZW50cykge1xyXG4gICAgICAgIGxldCBbY29udHJvbCwgdHlwZV0gPSBbdGhpcy5jb250cm9sQ29tcG9uZW50c1trZXldLCB0aGlzLmNvbnRyb2xUeXBlc1trZXldXTtcclxuICAgICAgICBjb250cm9sLmRpc2FibGVkID0gdHlwZS5kaXNhYmxlZCBhcyBYQm9vbGVhbjtcclxuICAgICAgICBjb250cm9sLnJlcXVpcmVkID0gdHlwZS5yZXF1aXJlZCBhcyBYQm9vbGVhbjtcclxuICAgICAgICBjb250cm9sLnBhdHRlcm4gPSB0eXBlLnBhdHRlcm4gYXMgUmVnRXhwIHwgUmVnRXhwW107XHJcbiAgICAgICAgdHlwZS5zZXRWYWxpZGF0b3JzICYmIHR5cGUuc2V0VmFsaWRhdG9ycygpO1xyXG4gICAgICAgIGNvbnRyb2wuZm9ybUNvbnRyb2xDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZm9ybUdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICB9XHJcblxyXG4gIHNldFZhbGlkYXRvcigpIHtcclxuICAgIGZvciAobGV0IGtleSBpbiB0aGlzLmNvbnRyb2xDb21wb25lbnRzKSB7XHJcbiAgICAgIGxldCBbY29udHJvbCwgdHlwZV0gPSBbdGhpcy5jb250cm9sQ29tcG9uZW50c1trZXldLCB0aGlzLmNvbnRyb2xUeXBlc1trZXldXTtcclxuICAgICAgY29udHJvbC5mb3JtQ29udHJvbFZhbGlkYXRvcigpO1xyXG4gICAgICB0eXBlLnNldFZhbGlkYXRvcnMgJiYgdHlwZS5zZXRWYWxpZGF0b3JzKCk7XHJcbiAgICAgIGNvbnRyb2wuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0VmFsaWRhdG9yKCkge1xyXG4gICAgZm9yIChsZXQga2V5IGluIHRoaXMuY29udHJvbENvbXBvbmVudHMpIHtcclxuICAgICAgbGV0IFtjb250cm9sXSA9IFt0aGlzLmNvbnRyb2xDb21wb25lbnRzW2tleV1dO1xyXG4gICAgICBjb250cm9sLnZhbGlkYXRvciA9IGZhbHNlO1xyXG4gICAgICBjb250cm9sLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRWYWxpZGF0b3JNZXNzYWdlcygpOiBzdHJpbmdbXSB7XHJcbiAgICBsZXQgcmVzdWx0OiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLnZhbGlkKSByZXR1cm4gcmVzdWx0O1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IGVhY2hDb250cm9scyA9IChhcnJheTogWEZvcm1Db250cm9sT3B0aW9uW10pID0+IHtcclxuICAgICAgICBmb3IgKGNvbnN0IGN0ciBvZiBhcnJheSkge1xyXG4gICAgICAgICAgY29uc3QgZm9ybUN0ciA9IHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzW2N0ci5pZF0gYXMgWEZvcm1Db250cm9sO1xyXG4gICAgICAgICAgaWYgKGZvcm1DdHIgJiYgZm9ybUN0ci5pbnZhbGlkKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IFsuLi5yZXN1bHQsIC4uLihmb3JtQ3RyLm1lc3NhZ2VzIGFzIHN0cmluZ1tdKV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICBpZiAodGhpcy5jb250cm9sc1R5cGUgPT09ICdyb3dzJykge1xyXG4gICAgICAgIGZvciAoY29uc3Qgcm93IG9mIHRoaXMuY29udHJvbHMgYXMgWEZvcm1Sb3dbXSkge1xyXG4gICAgICAgICAgZWFjaENvbnRyb2xzKHJvdy5jb250cm9scyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGVhY2hDb250cm9scyh0aGlzLmNvbnRyb2xzIGFzIFhGb3JtQ29udHJvbE9wdGlvbltdKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KGV2ZW50OiBTdWJtaXRFdmVudCkge1xyXG4gICAgdGhpcy5zZXRWYWxpZGF0b3IoKTtcclxuICAgIHRoaXMueFN1Ym1pdC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlDb250cm9sKF9pbmRleDogbnVtYmVyLCBpdGVtOiBYRm9ybUNvbnRyb2xPcHRpb24pIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybVxyXG4gICNmb3JtXHJcbiAgY2xhc3M9XCJ4LWZvcm1cIlxyXG4gIFtjbGFzcy54LWZvcm0taGFzLWNvbnRlbnRdPVwiY29udGVudC5pbm5lckhUTUwudHJpbSgpXCJcclxuICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXHJcbiAgW3N0eWxlLndpZHRoXT1cIndpZHRoXCJcclxuICBbc3R5bGUucGFkZGluZy1ib3R0b20ucmVtXT1cImNvbnRyb2xzVHlwZSA9PT0gJ2NvbnRyb2xzJyA/IHRoaXMuc3BhY2UgOiAwXCJcclxuICBbbmdDbGFzc109XCJjbGFzc01hcFwiXHJcbiAgKG5nU3VibWl0KT1cIm9uU3VibWl0KCRldmVudClcIlxyXG4+XHJcbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29udHJvbHNUeXBlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY29udHJvbHMnXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250cm9sc1RlbXA7IGNvbnRleHQ6IHsgY29udHJvbHM6IGNvbnRyb2xzIH1cIj4gPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidyb3dzJ1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicm93c1RlbXA7IGNvbnRleHQ6IHsgcm93czogY29udHJvbHMgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPGRpdiBjbGFzcz1cIngtZm9ybS1jb250ZW50XCIgI2NvbnRlbnQ+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PlxyXG48L2Zvcm0+XHJcblxyXG48bmctdGVtcGxhdGUgI3Jvd3NUZW1wIGxldC1yb3dzPVwicm93c1wiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1mb3JtLWNhdGVnb3J5XCIgW2hpZGRlbl09XCJyb3cuaGlkZGVuXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aXRsZVRlbXA7IGNvbnRleHQ6IHsgcm93OiByb3cgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udHJvbHNUZW1wOyBjb250ZXh0OiB7IGNvbnRyb2xzOiByb3cuY29udHJvbHMgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvbnRyb2xzVGVtcCBsZXQtY29udHJvbHM9XCJjb250cm9sc1wiPlxyXG4gIDx4LXJvdyBbc3BhY2VdPVwic3BhY2VcIj5cclxuICAgIDx4LWNvbFxyXG4gICAgICBbc3R5bGUucGFkZGluZy10b3AucmVtXT1cInNwYWNlXCJcclxuICAgICAgW3NwYW5dPVwiIWNvbnRyb2wuc3BhbiA/IHNwYW4gOiBjb250cm9sLnNwYW5cIlxyXG4gICAgICAqbmdGb3I9XCJsZXQgY29udHJvbCBvZiBjb250cm9sczsgdHJhY2tCeTogdHJhY2tCeUNvbnRyb2xcIlxyXG4gICAgICBbaGlkZGVuXT1cImNvbnRyb2wuaGlkZGVuXCJcclxuICAgID5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImNvbnRyb2xUcGxbY29udHJvbC5pZF07IGNvbnRleHQ6IHsgJG9wdGlvbjogY29udHJvbCB9XCI+XHJcbiAgICAgICAgPHgtY29udHJvbCBbb3B0aW9uXT1cImNvbnRyb2xcIiBbZm9ybV09XCJ0aGlzXCI+PC94LWNvbnRyb2w+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC94LWNvbD5cclxuICA8L3gtcm93PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICN0aXRsZVRlbXAgbGV0LXJvdz1cInJvd1wiPlxyXG4gIDxsYWJlbCBjbGFzcz1cIngtZm9ybS10aXRsZVwiPlxyXG4gICAgPHgtaWNvbiAqbmdJZj1cInJvdy5pY29uXCIgW3R5cGVdPVwicm93Lmljb25cIj48L3gtaWNvbj5cclxuICAgIDxzcGFuPnt7IHJvdy50aXRsZSB9fTwvc3Bhbj5cclxuICA8L2xhYmVsPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
117
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.XConfigService }] });
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9mb3JtL2Zvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZm9ybS9mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFDTCxhQUFhLEVBRWIsV0FBVyxFQUtaLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFNBQVMsRUFBNEIsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7O0FBU3ZFLE1BQU0sT0FBTyxjQUFlLFNBQVEsYUFBYTtJQU0vQyxZQUFtQixHQUFzQixFQUFTLGFBQTZCO1FBQzdFLEtBQUssRUFBRSxDQUFDO1FBRFMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFKL0Usc0JBQWlCLEdBQWtELEVBQUUsQ0FBQztRQUN0RSxpQkFBWSxHQUE2QyxFQUFFLENBQUM7UUFDNUQsV0FBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFJcEYsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzdCLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7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T0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7aUlBekdVLGNBQWM7cUhBQWQsY0FBYywwRkNuQjNCLDQ5REFtREE7OzJGRGhDYSxjQUFjO2tCQVAxQixTQUFTOytCQUNFLEdBQUcsV0FBVyxFQUFFLGlCQUdYLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFhGb3JtUHJvcGVydHksXHJcbiAgWEZvcm1Sb3csXHJcbiAgWEZvcm1QcmVmaXgsXHJcbiAgWEZvcm1Db250cm9sT3B0aW9uLFxyXG4gIFhGb3JtQ29udHJvbCxcclxuICBYRm9ybUNvbnRyb2xDb21wb25lbnQsXHJcbiAgWEZvcm1Db250cm9sVHlwZVxyXG59IGZyb20gJy4vZm9ybS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0NoYW5nZSwgWEJvb2xlYW4sIFhDb25maWdTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WEZvcm1QcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhGb3JtQ29tcG9uZW50IGV4dGVuZHMgWEZvcm1Qcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29udHJvbHNUeXBlITogJ2NvbnRyb2xzJyB8ICdyb3dzJztcclxuICBjb250cm9sQ29tcG9uZW50czogeyBbcHJvcGVydHk6IHN0cmluZ106IFhGb3JtQ29udHJvbENvbXBvbmVudCB9ID0ge307XHJcbiAgY29udHJvbFR5cGVzOiB7IFtwcm9wZXJ0eTogc3RyaW5nXTogWEZvcm1Db250cm9sVHlwZSB9ID0ge307XHJcbiAgZm9ybUlkID0gTnVtYmVyKE1hdGgucmFuZG9tKCkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMiwgNikgKyBEYXRlLm5vdygpKS50b1N0cmluZygzNik7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCB7IGRpc2FibGVkIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGRpc2FibGVkKSAmJiB0aGlzLnNldERpc2FibGVkKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q29udHJvbHMoKTtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RGlzYWJsZWQoKTtcclxuICB9XHJcblxyXG4gIHNldENvbnRyb2xzKCkge1xyXG4gICAgaWYgKHRoaXMuY29udHJvbHMgJiYgdGhpcy5jb250cm9scy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbHNUeXBlID0gdGhpcy5jb250cm9sc1swXS5jb250cm9scyA/ICdyb3dzJyA6ICdjb250cm9scyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIHRoaXMuY2xhc3NNYXBbYCR7WEZvcm1QcmVmaXh9LSR7dGhpcy5jb250cm9sc1R5cGV9YF0gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWQoKSB7XHJcbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy5jb250cm9sQ29tcG9uZW50cykubGVuZ3RoID09PSAwKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5jb250cm9sQ29tcG9uZW50cykge1xyXG4gICAgICAgIGxldCBbY29udHJvbCwgdHlwZV0gPSBbdGhpcy5jb250cm9sQ29tcG9uZW50c1trZXldLCB0aGlzLmNvbnRyb2xUeXBlc1trZXldXTtcclxuICAgICAgICBjb250cm9sLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICBjb250cm9sLnJlcXVpcmVkID0gZmFsc2U7XHJcbiAgICAgICAgZGVsZXRlIChjb250cm9sIGFzIGFueSkucGF0dGVybjtcclxuICAgICAgICB0eXBlLnNldFZhbGlkYXRvcnMgJiYgdHlwZS5zZXRWYWxpZGF0b3JzKCk7XHJcbiAgICAgICAgY29udHJvbC5mb3JtQ29udHJvbENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZm9yIChsZXQga2V5IGluIHRoaXMuY29udHJvbENvbXBvbmVudHMpIHtcclxuICAgICAgICBsZXQgW2NvbnRyb2wsIHR5cGVdID0gW3RoaXMuY29udHJvbENvbXBvbmVudHNba2V5XSwgdGhpcy5jb250cm9sVHlwZXNba2V5XV07XHJcbiAgICAgICAgY29udHJvbC5kaXNhYmxlZCA9IHR5cGUuZGlzYWJsZWQgYXMgWEJvb2xlYW47XHJcbiAgICAgICAgY29udHJvbC5yZXF1aXJlZCA9IHR5cGUucmVxdWlyZWQgYXMgWEJvb2xlYW47XHJcbiAgICAgICAgY29udHJvbC5wYXR0ZXJuID0gdHlwZS5wYXR0ZXJuIGFzIFJlZ0V4cCB8IFJlZ0V4cFtdO1xyXG4gICAgICAgIHR5cGUuc2V0VmFsaWRhdG9ycyAmJiB0eXBlLnNldFZhbGlkYXRvcnMoKTtcclxuICAgICAgICBjb250cm9sLmZvcm1Db250cm9sQ2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICBzZXRWYWxpZGF0b3IoKSB7XHJcbiAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5jb250cm9sQ29tcG9uZW50cykge1xyXG4gICAgICBsZXQgW2NvbnRyb2wsIHR5cGVdID0gW3RoaXMuY29udHJvbENvbXBvbmVudHNba2V5XSwgdGhpcy5jb250cm9sVHlwZXNba2V5XV07XHJcbiAgICAgIGNvbnRyb2wuZm9ybUNvbnRyb2xWYWxpZGF0b3IoKTtcclxuICAgICAgdHlwZS5zZXRWYWxpZGF0b3JzICYmIHR5cGUuc2V0VmFsaWRhdG9ycygpO1xyXG4gICAgICBjb250cm9sLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldFZhbGlkYXRvcigpIHtcclxuICAgIGZvciAobGV0IGtleSBpbiB0aGlzLmNvbnRyb2xDb21wb25lbnRzKSB7XHJcbiAgICAgIGxldCBbY29udHJvbF0gPSBbdGhpcy5jb250cm9sQ29tcG9uZW50c1trZXldXTtcclxuICAgICAgY29udHJvbC52YWxpZGF0b3IgPSBmYWxzZTtcclxuICAgICAgY29udHJvbC5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VmFsaWRhdG9yTWVzc2FnZXMoKTogc3RyaW5nW10ge1xyXG4gICAgbGV0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcclxuICAgIGlmICh0aGlzLmZvcm1Hcm91cC52YWxpZCkgcmV0dXJuIHJlc3VsdDtcclxuICAgIGVsc2Uge1xyXG4gICAgICBjb25zdCBlYWNoQ29udHJvbHMgPSAoYXJyYXk6IFhGb3JtQ29udHJvbE9wdGlvbltdKSA9PiB7XHJcbiAgICAgICAgZm9yIChjb25zdCBjdHIgb2YgYXJyYXkpIHtcclxuICAgICAgICAgIGNvbnN0IGZvcm1DdHIgPSB0aGlzLmZvcm1Hcm91cC5jb250cm9sc1tjdHIuaWRdIGFzIFhGb3JtQ29udHJvbDtcclxuICAgICAgICAgIGlmIChmb3JtQ3RyICYmIGZvcm1DdHIuaW52YWxpZCkge1xyXG4gICAgICAgICAgICByZXN1bHQgPSBbLi4ucmVzdWx0LCAuLi4oZm9ybUN0ci5tZXNzYWdlcyBhcyBzdHJpbmdbXSldO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgICAgaWYgKHRoaXMuY29udHJvbHNUeXBlID09PSAncm93cycpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHJvdyBvZiB0aGlzLmNvbnRyb2xzIGFzIFhGb3JtUm93W10pIHtcclxuICAgICAgICAgIGVhY2hDb250cm9scyhyb3cuY29udHJvbHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBlYWNoQ29udHJvbHModGhpcy5jb250cm9scyBhcyBYRm9ybUNvbnRyb2xPcHRpb25bXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdChldmVudDogU3VibWl0RXZlbnQpIHtcclxuICAgIHRoaXMuc2V0VmFsaWRhdG9yKCk7XHJcbiAgICB0aGlzLnhTdWJtaXQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Q29udHJvbChfaW5kZXg6IG51bWJlciwgaXRlbTogWEZvcm1Db250cm9sT3B0aW9uKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcbn1cclxuIiwiPGZvcm1cclxuICAjZm9ybVxyXG4gIGNsYXNzPVwieC1mb3JtXCJcclxuICBbY2xhc3MueC1mb3JtLWhhcy1jb250ZW50XT1cImNvbnRlbnQuaW5uZXJIVE1MLnRyaW0oKVwiXHJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxyXG4gIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiXHJcbiAgW3N0eWxlLnBhZGRpbmctYm90dG9tLnJlbV09XCJjb250cm9sc1R5cGUgPT09ICdjb250cm9scycgPyB0aGlzLnNwYWNlIDogMFwiXHJcbiAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIlxyXG4gIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgkZXZlbnQpXCJcclxuPlxyXG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbnRyb2xzVHlwZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NvbnRyb2xzJ1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udHJvbHNUZW1wOyBjb250ZXh0OiB7IGNvbnRyb2xzOiBjb250cm9scyB9XCI+IDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncm93cydcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvd3NUZW1wOyBjb250ZXh0OiB7IHJvd3M6IGNvbnRyb2xzIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWZvcm0tY29udGVudFwiICNjb250ZW50PjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2Rpdj5cclxuPC9mb3JtPlxyXG5cclxuPG5nLXRlbXBsYXRlICNyb3dzVGVtcCBsZXQtcm93cz1cInJvd3NcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByb3cgb2Ygcm93c1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtZm9ybS1jYXRlZ29yeVwiIFtoaWRkZW5dPVwicm93LmhpZGRlblwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVUZW1wOyBjb250ZXh0OiB7IHJvdzogcm93IH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xzVGVtcDsgY29udGV4dDogeyBjb250cm9sczogcm93LmNvbnRyb2xzIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNjb250cm9sc1RlbXAgbGV0LWNvbnRyb2xzPVwiY29udHJvbHNcIj5cclxuICA8eC1yb3cgW3NwYWNlXT1cInNwYWNlXCI+XHJcbiAgICA8eC1jb2xcclxuICAgICAgW3N0eWxlLnBhZGRpbmctdG9wLnJlbV09XCJzcGFjZVwiXHJcbiAgICAgIFtzcGFuXT1cIiFjb250cm9sLnNwYW4gPyBzcGFuIDogY29udHJvbC5zcGFuXCJcclxuICAgICAgKm5nRm9yPVwibGV0IGNvbnRyb2wgb2YgY29udHJvbHM7IHRyYWNrQnk6IHRyYWNrQnlDb250cm9sXCJcclxuICAgICAgW2hpZGRlbl09XCJjb250cm9sLmhpZGRlblwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJjb250cm9sVHBsW2NvbnRyb2wuaWRdOyBjb250ZXh0OiB7ICRvcHRpb246IGNvbnRyb2wgfVwiPlxyXG4gICAgICAgIDx4LWNvbnRyb2wgW29wdGlvbl09XCJjb250cm9sXCIgW2Zvcm1dPVwidGhpc1wiPjwveC1jb250cm9sPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwveC1jb2w+XHJcbiAgPC94LXJvdz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdGl0bGVUZW1wIGxldC1yb3c9XCJyb3dcIj5cclxuICA8bGFiZWwgY2xhc3M9XCJ4LWZvcm0tdGl0bGVcIj5cclxuICAgIDx4LWljb24gKm5nSWY9XCJyb3cuaWNvblwiIFt0eXBlXT1cInJvdy5pY29uXCI+PC94LWljb24+XHJcbiAgICA8c3Bhbj57eyByb3cudGl0bGUgfX08L3NwYW4+XHJcbiAgPC9sYWJlbD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -47,9 +47,9 @@ const modules = [
47
47
  XBaseFormModule,
48
48
  XI18nModule
49
49
  ];
50
- class XFormModule {
51
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
52
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: XFormModule, declarations: [XFormComponent, XControlComponent, XFormProperty, XControlProperty], imports: [CommonModule, FormsModule, ReactiveFormsModule, XLayoutModule,
50
+ export class XFormModule {
51
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
52
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: XFormModule, declarations: [XFormComponent, XControlComponent, XFormProperty, XControlProperty], imports: [CommonModule, FormsModule, ReactiveFormsModule, XLayoutModule,
53
53
  XIconModule,
54
54
  XInputModule,
55
55
  XSelectModule,
@@ -69,10 +69,9 @@ class XFormModule {
69
69
  XOutletModule,
70
70
  XBaseFormModule,
71
71
  XI18nModule], exports: [XFormComponent, XControlComponent] }); }
72
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XFormModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, modules] }); }
72
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XFormModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, modules] }); }
73
73
  }
74
- export { XFormModule };
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XFormModule, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XFormModule, decorators: [{
76
75
  type: NgModule,
77
76
  args: [{
78
77
  declarations: [XFormComponent, XControlComponent, XFormProperty, XControlProperty],
@@ -80,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
80
79
  imports: [CommonModule, FormsModule, ReactiveFormsModule, ...modules]
81
80
  }]
82
81
  }] });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9mb3JtL2Zvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRS9DLE1BQU0sT0FBTyxHQUFHO0lBQ2QsYUFBYTtJQUNiLFdBQVc7SUFDWCxZQUFZO0lBQ1osYUFBYTtJQUNiLGNBQWM7SUFDZCxlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsV0FBVztJQUNYLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsZUFBZTtJQUNmLFdBQVc7Q0FDWixDQUFDO0FBRUYsTUFLYSxXQUFXO2tJQUFYLFdBQVc7bUlBQVgsV0FBVyxpQkFKUCxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixhQUV2RSxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQXpCeEQsYUFBYTtZQUNiLFdBQVc7WUFDWCxZQUFZO1lBQ1osYUFBYTtZQUNiLGNBQWM7WUFDZCxlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsZUFBZTtZQUNmLFdBQVcsYUFLRCxjQUFjLEVBQUUsaUJBQWlCO21JQUdoQyxXQUFXLFlBRlosWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBSyxPQUFPOztTQUV6RCxXQUFXOzRGQUFYLFdBQVc7a0JBTHZCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQztvQkFDbEYsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDO29CQUM1QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLEdBQUcsT0FBTyxDQUFDO2lCQUN0RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFhGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYTGF5b3V0TW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvbGF5b3V0JztcclxuaW1wb3J0IHsgWENvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2wuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWEZvcm1Qcm9wZXJ0eSwgWENvbnRyb2xQcm9wZXJ0eSB9IGZyb20gJy4vZm9ybS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJbnB1dE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2lucHV0JztcclxuaW1wb3J0IHsgWFNlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3NlbGVjdCc7XHJcbmltcG9ydCB7IFhDYXNjYWRlTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY2FzY2FkZSc7XHJcbmltcG9ydCB7IFhDaGVja2JveE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NoZWNrYm94JztcclxuaW1wb3J0IHsgWENvbG9yUGlja2VyTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29sb3ItcGlja2VyJztcclxuaW1wb3J0IHsgWERhdGVQaWNrZXJNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9kYXRlLXBpY2tlcic7XHJcbmltcG9ydCB7IFhJbnB1dE51bWJlck1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2lucHV0LW51bWJlcic7XHJcbmltcG9ydCB7IFhSYWRpb01vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3JhZGlvJztcclxuaW1wb3J0IHsgWFJhdGVNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9yYXRlJztcclxuaW1wb3J0IHsgWFNsaWRlclNlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3NsaWRlci1zZWxlY3QnO1xyXG5pbXBvcnQgeyBYU3dpdGNoTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvc3dpdGNoJztcclxuaW1wb3J0IHsgWFRpbWVQaWNrZXJNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS90aW1lLXBpY2tlcic7XHJcbmltcG9ydCB7IFhJY29uTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaWNvbic7XHJcbmltcG9ydCB7IFhGaW5kTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvZmluZCc7XHJcbmltcG9ydCB7IFhUZXh0YXJlYU1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3RleHRhcmVhJztcclxuaW1wb3J0IHsgWE91dGxldE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL291dGxldCc7XHJcbmltcG9ydCB7IFhCYXNlRm9ybU1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcbmltcG9ydCB7IFhBdXRvQ29tcGxldGVNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9hdXRvLWNvbXBsZXRlJztcclxuaW1wb3J0IHsgWEkxOG5Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuXHJcbmNvbnN0IG1vZHVsZXMgPSBbXHJcbiAgWExheW91dE1vZHVsZSxcclxuICBYSWNvbk1vZHVsZSxcclxuICBYSW5wdXRNb2R1bGUsXHJcbiAgWFNlbGVjdE1vZHVsZSxcclxuICBYQ2FzY2FkZU1vZHVsZSxcclxuICBYQ2hlY2tib3hNb2R1bGUsXHJcbiAgWENvbG9yUGlja2VyTW9kdWxlLFxyXG4gIFhEYXRlUGlja2VyTW9kdWxlLFxyXG4gIFhJbnB1dE51bWJlck1vZHVsZSxcclxuICBYUmFkaW9Nb2R1bGUsXHJcbiAgWFJhdGVNb2R1bGUsXHJcbiAgWFNsaWRlclNlbGVjdE1vZHVsZSxcclxuICBYU3dpdGNoTW9kdWxlLFxyXG4gIFhUaW1lUGlja2VyTW9kdWxlLFxyXG4gIFhUZXh0YXJlYU1vZHVsZSxcclxuICBYRmluZE1vZHVsZSxcclxuICBYQXV0b0NvbXBsZXRlTW9kdWxlLFxyXG4gIFhPdXRsZXRNb2R1bGUsXHJcbiAgWEJhc2VGb3JtTW9kdWxlLFxyXG4gIFhJMThuTW9kdWxlXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1hGb3JtQ29tcG9uZW50LCBYQ29udHJvbENvbXBvbmVudCwgWEZvcm1Qcm9wZXJ0eSwgWENvbnRyb2xQcm9wZXJ0eV0sXHJcbiAgZXhwb3J0czogW1hGb3JtQ29tcG9uZW50LCBYQ29udHJvbENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIC4uLm1vZHVsZXNdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRm9ybU1vZHVsZSB7fVxyXG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9mb3JtL2Zvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRS9DLE1BQU0sT0FBTyxHQUFHO0lBQ2QsYUFBYTtJQUNiLFdBQVc7SUFDWCxZQUFZO0lBQ1osYUFBYTtJQUNiLGNBQWM7SUFDZCxlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsV0FBVztJQUNYLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsZUFBZTtJQUNmLFdBQVc7Q0FDWixDQUFDO0FBT0YsTUFBTSxPQUFPLFdBQVc7aUlBQVgsV0FBVztrSUFBWCxXQUFXLGlCQUpQLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLGFBRXZFLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBekJ4RCxhQUFhO1lBQ2IsV0FBVztZQUNYLFlBQVk7WUFDWixhQUFhO1lBQ2IsY0FBYztZQUNkLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGFBQWE7WUFDYixlQUFlO1lBQ2YsV0FBVyxhQUtELGNBQWMsRUFBRSxpQkFBaUI7a0lBR2hDLFdBQVcsWUFGWixZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFLLE9BQU87OzJGQUV6RCxXQUFXO2tCQUx2QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ2xGLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxHQUFHLE9BQU8sQ0FBQztpQkFDdEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgWExheW91dE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2xheW91dCc7XHJcbmltcG9ydCB7IFhDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhGb3JtUHJvcGVydHksIFhDb250cm9sUHJvcGVydHkgfSBmcm9tICcuL2Zvcm0ucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSW5wdXRNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9pbnB1dCc7XHJcbmltcG9ydCB7IFhTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9zZWxlY3QnO1xyXG5pbXBvcnQgeyBYQ2FzY2FkZU1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2Nhc2NhZGUnO1xyXG5pbXBvcnQgeyBYQ2hlY2tib3hNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9jaGVja2JveCc7XHJcbmltcG9ydCB7IFhDb2xvclBpY2tlck1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvbG9yLXBpY2tlcic7XHJcbmltcG9ydCB7IFhEYXRlUGlja2VyTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvZGF0ZS1waWNrZXInO1xyXG5pbXBvcnQgeyBYSW5wdXROdW1iZXJNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9pbnB1dC1udW1iZXInO1xyXG5pbXBvcnQgeyBYUmFkaW9Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9yYWRpbyc7XHJcbmltcG9ydCB7IFhSYXRlTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvcmF0ZSc7XHJcbmltcG9ydCB7IFhTbGlkZXJTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9zbGlkZXItc2VsZWN0JztcclxuaW1wb3J0IHsgWFN3aXRjaE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3N3aXRjaCc7XHJcbmltcG9ydCB7IFhUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvdGltZS1waWNrZXInO1xyXG5pbXBvcnQgeyBYSWNvbk1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYRmluZE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2ZpbmQnO1xyXG5pbXBvcnQgeyBYVGV4dGFyZWFNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS90ZXh0YXJlYSc7XHJcbmltcG9ydCB7IFhPdXRsZXRNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9vdXRsZXQnO1xyXG5pbXBvcnQgeyBYQmFzZUZvcm1Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBYQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvYXV0by1jb21wbGV0ZSc7XHJcbmltcG9ydCB7IFhJMThuTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcblxyXG5jb25zdCBtb2R1bGVzID0gW1xyXG4gIFhMYXlvdXRNb2R1bGUsXHJcbiAgWEljb25Nb2R1bGUsXHJcbiAgWElucHV0TW9kdWxlLFxyXG4gIFhTZWxlY3RNb2R1bGUsXHJcbiAgWENhc2NhZGVNb2R1bGUsXHJcbiAgWENoZWNrYm94TW9kdWxlLFxyXG4gIFhDb2xvclBpY2tlck1vZHVsZSxcclxuICBYRGF0ZVBpY2tlck1vZHVsZSxcclxuICBYSW5wdXROdW1iZXJNb2R1bGUsXHJcbiAgWFJhZGlvTW9kdWxlLFxyXG4gIFhSYXRlTW9kdWxlLFxyXG4gIFhTbGlkZXJTZWxlY3RNb2R1bGUsXHJcbiAgWFN3aXRjaE1vZHVsZSxcclxuICBYVGltZVBpY2tlck1vZHVsZSxcclxuICBYVGV4dGFyZWFNb2R1bGUsXHJcbiAgWEZpbmRNb2R1bGUsXHJcbiAgWEF1dG9Db21wbGV0ZU1vZHVsZSxcclxuICBYT3V0bGV0TW9kdWxlLFxyXG4gIFhCYXNlRm9ybU1vZHVsZSxcclxuICBYSTE4bk1vZHVsZVxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtYRm9ybUNvbXBvbmVudCwgWENvbnRyb2xDb21wb25lbnQsIFhGb3JtUHJvcGVydHksIFhDb250cm9sUHJvcGVydHldLFxyXG4gIGV4cG9ydHM6IFtYRm9ybUNvbXBvbmVudCwgWENvbnRyb2xDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCAuLi5tb2R1bGVzXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWEZvcm1Nb2R1bGUge31cclxuIl19