@ng-nest/ui 17.0.11 → 18.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (923) hide show
  1. package/README.md +1 -1
  2. package/affix/affix.component.d.ts +0 -2
  3. package/affix/affix.property.d.ts +12 -7
  4. package/alert/alert.component.d.ts +12 -11
  5. package/alert/alert.property.d.ts +36 -35
  6. package/anchor/anchor.component.d.ts +15 -18
  7. package/anchor/anchor.property.d.ts +17 -8
  8. package/api/api.component.d.ts +2 -7
  9. package/auto-complete/auto-complete-portal.component.d.ts +20 -25
  10. package/auto-complete/auto-complete.component.d.ts +17 -34
  11. package/auto-complete/auto-complete.property.d.ts +282 -20
  12. package/avatar/avatar.component.d.ts +29 -19
  13. package/avatar/avatar.property.d.ts +78 -12
  14. package/back-top/back-top.component.d.ts +12 -17
  15. package/back-top/back-top.property.d.ts +12 -8
  16. package/badge/badge.component.d.ts +9 -16
  17. package/badge/badge.property.d.ts +95 -13
  18. package/base-form/base-form.component.d.ts +53 -26
  19. package/base-form/base-form.module.d.ts +1 -2
  20. package/base-form/base-form.property.d.ts +173 -45
  21. package/button/button.component.d.ts +16 -14
  22. package/button/button.property.d.ts +242 -100
  23. package/button/buttons.component.d.ts +8 -10
  24. package/calendar/calendar.component.d.ts +41 -27
  25. package/calendar/calendar.property.d.ts +69 -10
  26. package/card/card.component.d.ts +4 -6
  27. package/card/card.property.d.ts +50 -9
  28. package/carousel/carousel-panel.component.d.ts +15 -14
  29. package/carousel/carousel.component.d.ts +18 -19
  30. package/carousel/carousel.property.d.ts +168 -28
  31. package/cascade/cascade-portal.component.d.ts +28 -28
  32. package/cascade/cascade.component.d.ts +24 -30
  33. package/cascade/cascade.property.d.ts +292 -20
  34. package/checkbox/checkbox.component.d.ts +17 -17
  35. package/checkbox/checkbox.property.d.ts +274 -35
  36. package/collapse/collapse-panel.component.d.ts +5 -2
  37. package/collapse/collapse.component.d.ts +3 -7
  38. package/collapse/collapse.property.d.ts +113 -20
  39. package/color/color.component.d.ts +4 -9
  40. package/color/color.property.d.ts +36 -8
  41. package/color-picker/color-picker-portal.component.d.ts +40 -52
  42. package/color-picker/color-picker.component.d.ts +19 -28
  43. package/color-picker/color-picker.property.d.ts +260 -10
  44. package/comment/comment-reply.component.d.ts +1 -8
  45. package/comment/comment.component.d.ts +4 -14
  46. package/comment/comment.property.d.ts +21 -15
  47. package/container/aside.component.d.ts +3 -8
  48. package/container/container.component.d.ts +5 -9
  49. package/container/container.property.d.ts +33 -19
  50. package/container/footer.component.d.ts +2 -5
  51. package/container/header.component.d.ts +2 -5
  52. package/container/main.component.d.ts +2 -7
  53. package/core/animation/badge.d.ts +8 -0
  54. package/core/animation/connect.d.ts +8 -1
  55. package/core/animation/consts.d.ts +4 -0
  56. package/core/animation/drop.d.ts +4 -0
  57. package/core/animation/fade.d.ts +4 -0
  58. package/core/animation/move.d.ts +4 -0
  59. package/core/animation/opacity.d.ts +4 -0
  60. package/core/animation/slide.d.ts +4 -1
  61. package/core/config/config.d.ts +174 -108
  62. package/core/config/config.service.d.ts +5 -5
  63. package/core/config/index.d.ts +1 -0
  64. package/core/functions/chunk.d.ts +12 -1
  65. package/core/functions/clone-deep.d.ts +16 -0
  66. package/core/functions/convert.d.ts +77 -4
  67. package/core/functions/csspx.d.ts +5 -0
  68. package/core/functions/date.d.ts +59 -3
  69. package/core/functions/drop.d.ts +13 -1
  70. package/core/functions/flex.d.ts +4 -0
  71. package/core/functions/group-by.d.ts +5 -1
  72. package/core/functions/guid.d.ts +2 -1
  73. package/core/functions/has-in.d.ts +4 -0
  74. package/core/functions/order-by.d.ts +5 -1
  75. package/core/functions/parent-path.d.ts +8 -0
  76. package/core/functions/property.d.ts +12 -6
  77. package/core/functions/public-api.d.ts +1 -0
  78. package/core/functions/remove.d.ts +5 -1
  79. package/core/functions/resize.d.ts +13 -1
  80. package/core/interfaces/data.type.d.ts +172 -3
  81. package/core/interfaces/identify.type.d.ts +60 -0
  82. package/core/interfaces/layout.type.d.ts +88 -37
  83. package/core/interfaces/result-list.type.d.ts +91 -3
  84. package/core/services/http.service.d.ts +0 -22
  85. package/core/services/repository.service.d.ts +1 -1
  86. package/core/services/reuse-strategy.service.d.ts +0 -22
  87. package/core/services/storage.service.d.ts +0 -21
  88. package/core/theme/theme.d.ts +45 -1
  89. package/core/theme/theme.service.d.ts +46 -11
  90. package/core/util/animation.d.ts +1 -1
  91. package/core/util/camel-to-kebab.d.ts +13 -0
  92. package/core/util/check.d.ts +10 -2
  93. package/core/util/computed-style.d.ts +8 -0
  94. package/core/util/host.d.ts +3 -2
  95. package/core/util/html.d.ts +3 -2
  96. package/core/util/kebab-to-camel.d.ts +13 -0
  97. package/core/util/log.d.ts +10 -2
  98. package/core/util/option.d.ts +3 -4
  99. package/core/util/public-api.d.ts +2 -0
  100. package/crumb/crumb.component.d.ts +1 -10
  101. package/crumb/crumb.property.d.ts +12 -8
  102. package/date-picker/date-picker-portal.component.d.ts +80 -33
  103. package/date-picker/date-picker.component.d.ts +74 -32
  104. package/date-picker/date-picker.property.d.ts +662 -214
  105. package/date-picker/date-range-portal.component.d.ts +102 -49
  106. package/date-picker/date-range.component.d.ts +87 -43
  107. package/date-picker/picker-date.component.d.ts +63 -17
  108. package/date-picker/picker-month.component.d.ts +59 -13
  109. package/date-picker/picker-quarter.component.d.ts +61 -15
  110. package/date-picker/picker-year.component.d.ts +8 -11
  111. package/description/description-item.component.d.ts +1 -1
  112. package/description/description.component.d.ts +6 -10
  113. package/description/description.property.d.ts +135 -16
  114. package/dialog/dialog-portal.component.d.ts +4 -4
  115. package/dialog/dialog-portal.directives.d.ts +1 -1
  116. package/dialog/dialog.component.d.ts +30 -23
  117. package/dialog/dialog.property.d.ts +77 -134
  118. package/doc/doc.component.d.ts +2 -5
  119. package/drag/drag.directive.d.ts +1 -1
  120. package/drag/drag.property.d.ts +4 -5
  121. package/drawer/drawer-container.component.d.ts +1 -1
  122. package/drawer/drawer-portal.component.d.ts +1 -1
  123. package/drawer/drawer.component.d.ts +15 -14
  124. package/drawer/drawer.property.d.ts +26 -18
  125. package/dropdown/dropdown-portal.component.d.ts +36 -45
  126. package/dropdown/dropdown.component.d.ts +17 -21
  127. package/dropdown/dropdown.property.d.ts +24 -21
  128. package/empty/empty.component.d.ts +0 -7
  129. package/empty/empty.property.d.ts +27 -4
  130. package/esm2022/affix/affix.component.mjs +6 -11
  131. package/esm2022/affix/affix.module.mjs +4 -4
  132. package/esm2022/affix/affix.property.mjs +22 -20
  133. package/esm2022/alert/alert.component.mjs +39 -44
  134. package/esm2022/alert/alert.module.mjs +4 -4
  135. package/esm2022/alert/alert.property.mjs +102 -107
  136. package/esm2022/anchor/anchor-inner.component.mjs +3 -3
  137. package/esm2022/anchor/anchor.component.mjs +73 -95
  138. package/esm2022/anchor/anchor.module.mjs +4 -4
  139. package/esm2022/anchor/anchor.property.mjs +45 -35
  140. package/esm2022/api/api.component.mjs +11 -14
  141. package/esm2022/api/api.module.mjs +4 -4
  142. package/esm2022/auto-complete/auto-complete-portal.component.mjs +36 -47
  143. package/esm2022/auto-complete/auto-complete.component.mjs +122 -162
  144. package/esm2022/auto-complete/auto-complete.module.mjs +4 -4
  145. package/esm2022/auto-complete/auto-complete.property.mjs +142 -55
  146. package/esm2022/avatar/avatar-group.component.mjs +3 -3
  147. package/esm2022/avatar/avatar.component.mjs +75 -81
  148. package/esm2022/avatar/avatar.module.mjs +4 -4
  149. package/esm2022/avatar/avatar.property.mjs +116 -45
  150. package/esm2022/back-top/back-top.component.mjs +57 -73
  151. package/esm2022/back-top/back-top.module.mjs +4 -4
  152. package/esm2022/back-top/back-top.property.mjs +37 -29
  153. package/esm2022/badge/badge.component.mjs +51 -59
  154. package/esm2022/badge/badge.module.mjs +4 -4
  155. package/esm2022/badge/badge.property.mjs +111 -38
  156. package/esm2022/base-form/base-form.component.mjs +89 -81
  157. package/esm2022/base-form/base-form.module.mjs +7 -8
  158. package/esm2022/base-form/base-form.property.mjs +200 -89
  159. package/esm2022/button/button.component.mjs +50 -59
  160. package/esm2022/button/button.module.mjs +4 -4
  161. package/esm2022/button/button.property.mjs +293 -98
  162. package/esm2022/button/buttons.component.mjs +35 -21
  163. package/esm2022/calendar/calendar.component.mjs +56 -84
  164. package/esm2022/calendar/calendar.module.mjs +4 -4
  165. package/esm2022/calendar/calendar.property.mjs +78 -24
  166. package/esm2022/card/card.component.mjs +10 -14
  167. package/esm2022/card/card.module.mjs +4 -4
  168. package/esm2022/card/card.property.mjs +57 -22
  169. package/esm2022/carousel/carousel-panel.component.mjs +98 -76
  170. package/esm2022/carousel/carousel.component.mjs +55 -65
  171. package/esm2022/carousel/carousel.module.mjs +4 -4
  172. package/esm2022/carousel/carousel.property.mjs +215 -85
  173. package/esm2022/cascade/cascade-portal.component.mjs +77 -69
  174. package/esm2022/cascade/cascade.component.mjs +107 -135
  175. package/esm2022/cascade/cascade.module.mjs +4 -4
  176. package/esm2022/cascade/cascade.property.mjs +137 -48
  177. package/esm2022/checkbox/checkbox.component.mjs +68 -83
  178. package/esm2022/checkbox/checkbox.module.mjs +4 -4
  179. package/esm2022/checkbox/checkbox.property.mjs +136 -73
  180. package/esm2022/collapse/collapse-panel.component.mjs +31 -21
  181. package/esm2022/collapse/collapse.component.mjs +16 -21
  182. package/esm2022/collapse/collapse.module.mjs +4 -4
  183. package/esm2022/collapse/collapse.property.mjs +156 -66
  184. package/esm2022/color/color.component.mjs +25 -26
  185. package/esm2022/color/color.module.mjs +4 -4
  186. package/esm2022/color/color.property.mjs +47 -27
  187. package/esm2022/color-picker/color-picker-portal.component.mjs +120 -130
  188. package/esm2022/color-picker/color-picker.component.mjs +76 -117
  189. package/esm2022/color-picker/color-picker.module.mjs +4 -4
  190. package/esm2022/color-picker/color-picker.property.mjs +123 -27
  191. package/esm2022/comment/comment-reply.component.mjs +9 -24
  192. package/esm2022/comment/comment.component.mjs +11 -40
  193. package/esm2022/comment/comment.module.mjs +4 -4
  194. package/esm2022/comment/comment.property.mjs +27 -50
  195. package/esm2022/container/aside.component.mjs +12 -15
  196. package/esm2022/container/container.component.mjs +21 -24
  197. package/esm2022/container/container.module.mjs +4 -4
  198. package/esm2022/container/container.property.mjs +55 -51
  199. package/esm2022/container/footer.component.mjs +14 -16
  200. package/esm2022/container/header.component.mjs +14 -16
  201. package/esm2022/container/main.component.mjs +10 -13
  202. package/esm2022/core/animation/badge.mjs +17 -3
  203. package/esm2022/core/animation/connect.mjs +17 -99
  204. package/esm2022/core/animation/consts.mjs +5 -1
  205. package/esm2022/core/animation/drop.mjs +5 -1
  206. package/esm2022/core/animation/fade.mjs +13 -3
  207. package/esm2022/core/animation/move.mjs +5 -1
  208. package/esm2022/core/animation/opacity.mjs +5 -1
  209. package/esm2022/core/animation/slide.mjs +5 -23
  210. package/esm2022/core/config/config.mjs +1 -1
  211. package/esm2022/core/config/config.service.mjs +11 -59
  212. package/esm2022/core/config/index.mjs +2 -0
  213. package/esm2022/core/functions/chunk.mjs +12 -1
  214. package/esm2022/core/functions/clone-deep.mjs +17 -1
  215. package/esm2022/core/functions/convert.mjs +110 -13
  216. package/esm2022/core/functions/csspx.mjs +17 -0
  217. package/esm2022/core/functions/date.mjs +80 -4
  218. package/esm2022/core/functions/drop.mjs +13 -1
  219. package/esm2022/core/functions/flex.mjs +5 -1
  220. package/esm2022/core/functions/group-by.mjs +5 -1
  221. package/esm2022/core/functions/guid.mjs +3 -2
  222. package/esm2022/core/functions/has-in.mjs +5 -1
  223. package/esm2022/core/functions/order-by.mjs +5 -1
  224. package/esm2022/core/functions/parent-path.mjs +9 -1
  225. package/esm2022/core/functions/property.mjs +16 -8
  226. package/esm2022/core/functions/public-api.mjs +2 -1
  227. package/esm2022/core/functions/remove.mjs +5 -1
  228. package/esm2022/core/functions/resize.mjs +7 -5
  229. package/esm2022/core/interfaces/data.type.mjs +97 -8
  230. package/esm2022/core/interfaces/identify.type.mjs +5 -2
  231. package/esm2022/core/interfaces/layout.type.mjs +1 -1
  232. package/esm2022/core/interfaces/result-list.type.mjs +1 -1
  233. package/esm2022/core/services/http.service.mjs +4 -33
  234. package/esm2022/core/services/preloading-strategy.service.mjs +4 -6
  235. package/esm2022/core/services/repository.service.mjs +1 -1
  236. package/esm2022/core/services/reuse-strategy.service.mjs +1 -26
  237. package/esm2022/core/services/storage.service.mjs +4 -26
  238. package/esm2022/core/theme/theme.mjs +55 -11
  239. package/esm2022/core/theme/theme.service.mjs +92 -20
  240. package/esm2022/core/util/animation.mjs +2 -23
  241. package/esm2022/core/util/camel-to-kebab.mjs +16 -0
  242. package/esm2022/core/util/check.mjs +11 -3
  243. package/esm2022/core/util/computed-style.mjs +9 -1
  244. package/esm2022/core/util/host.mjs +4 -3
  245. package/esm2022/core/util/html.mjs +5 -4
  246. package/esm2022/core/util/kebab-to-camel.mjs +16 -0
  247. package/esm2022/core/util/log.mjs +11 -3
  248. package/esm2022/core/util/option.mjs +4 -5
  249. package/esm2022/core/util/public-api.mjs +3 -1
  250. package/esm2022/crumb/crumb.component.mjs +6 -29
  251. package/esm2022/crumb/crumb.module.mjs +4 -4
  252. package/esm2022/crumb/crumb.property.mjs +21 -26
  253. package/esm2022/date-picker/date-picker-portal.component.mjs +86 -102
  254. package/esm2022/date-picker/date-picker.component.mjs +157 -191
  255. package/esm2022/date-picker/date-picker.module.mjs +4 -4
  256. package/esm2022/date-picker/date-picker.property.mjs +440 -462
  257. package/esm2022/date-picker/date-quarter.pipe.mjs +3 -3
  258. package/esm2022/date-picker/date-range-portal.component.mjs +172 -186
  259. package/esm2022/date-picker/date-range.component.mjs +224 -266
  260. package/esm2022/date-picker/picker-date.component.mjs +150 -150
  261. package/esm2022/date-picker/picker-month.component.mjs +115 -118
  262. package/esm2022/date-picker/picker-quarter.component.mjs +120 -119
  263. package/esm2022/date-picker/picker-year.component.mjs +121 -108
  264. package/esm2022/description/description-item.component.mjs +12 -11
  265. package/esm2022/description/description.component.mjs +33 -48
  266. package/esm2022/description/description.module.mjs +4 -4
  267. package/esm2022/description/description.property.mjs +175 -52
  268. package/esm2022/dialog/dialog-container.component.mjs +3 -3
  269. package/esm2022/dialog/dialog-portal.component.mjs +14 -20
  270. package/esm2022/dialog/dialog-portal.directives.mjs +20 -20
  271. package/esm2022/dialog/dialog-ref.mjs +1 -1
  272. package/esm2022/dialog/dialog.component.mjs +117 -131
  273. package/esm2022/dialog/dialog.module.mjs +4 -4
  274. package/esm2022/dialog/dialog.property.mjs +149 -139
  275. package/esm2022/dialog/dialog.service.mjs +7 -7
  276. package/esm2022/doc/doc.component.mjs +11 -12
  277. package/esm2022/doc/doc.module.mjs +4 -4
  278. package/esm2022/drag/drag.directive.mjs +8 -21
  279. package/esm2022/drag/drag.module.mjs +4 -4
  280. package/esm2022/drag/drag.property.mjs +10 -16
  281. package/esm2022/drawer/drawer-container.component.mjs +9 -9
  282. package/esm2022/drawer/drawer-portal.component.mjs +11 -13
  283. package/esm2022/drawer/drawer-portal.directives.mjs +9 -9
  284. package/esm2022/drawer/drawer.component.mjs +40 -59
  285. package/esm2022/drawer/drawer.module.mjs +4 -4
  286. package/esm2022/drawer/drawer.property.mjs +47 -54
  287. package/esm2022/drawer/drawer.service.mjs +6 -6
  288. package/esm2022/dropdown/dropdown-portal.component.mjs +90 -91
  289. package/esm2022/dropdown/dropdown.component.mjs +75 -91
  290. package/esm2022/dropdown/dropdown.module.mjs +4 -4
  291. package/esm2022/dropdown/dropdown.property.mjs +62 -59
  292. package/esm2022/empty/empty.component.mjs +6 -26
  293. package/esm2022/empty/empty.module.mjs +4 -4
  294. package/esm2022/empty/empty.property.mjs +41 -20
  295. package/esm2022/examples/examples.component.mjs +11 -12
  296. package/esm2022/examples/examples.module.mjs +4 -4
  297. package/esm2022/find/find.component.mjs +188 -232
  298. package/esm2022/find/find.module.mjs +4 -4
  299. package/esm2022/find/find.property.mjs +234 -193
  300. package/esm2022/form/control.component.mjs +138 -116
  301. package/esm2022/form/form.component.mjs +28 -36
  302. package/esm2022/form/form.module.mjs +4 -4
  303. package/esm2022/form/form.property.mjs +57 -55
  304. package/esm2022/highlight/highlight.component.mjs +54 -59
  305. package/esm2022/highlight/highlight.module.mjs +4 -4
  306. package/esm2022/highlight/highlight.property.mjs +25 -21
  307. package/esm2022/highlight/highlight.service.mjs +17 -0
  308. package/esm2022/highlight/public-api.mjs +2 -1
  309. package/esm2022/i18n/i18n.directive.mjs +17 -31
  310. package/esm2022/i18n/i18n.module.mjs +4 -4
  311. package/esm2022/i18n/i18n.pipe.mjs +4 -4
  312. package/esm2022/i18n/i18n.property.mjs +2 -2
  313. package/esm2022/i18n/i18n.service.mjs +4 -4
  314. package/esm2022/i18n/languages/ar_EG.mjs +122 -77
  315. package/esm2022/i18n/languages/bg_BG.mjs +135 -87
  316. package/esm2022/i18n/languages/ca_ES.mjs +130 -82
  317. package/esm2022/i18n/languages/cs_CZ.mjs +127 -79
  318. package/esm2022/i18n/languages/da_DK.mjs +129 -81
  319. package/esm2022/i18n/languages/de_DE.mjs +125 -77
  320. package/esm2022/i18n/languages/el_GR.mjs +132 -84
  321. package/esm2022/i18n/languages/en_GB.mjs +5 -2
  322. package/esm2022/i18n/languages/en_US.mjs +5 -2
  323. package/esm2022/i18n/languages/es_ES.mjs +131 -83
  324. package/esm2022/i18n/languages/et_EE.mjs +130 -82
  325. package/esm2022/i18n/languages/fa_IR.mjs +109 -61
  326. package/esm2022/i18n/languages/fi_FI.mjs +134 -86
  327. package/esm2022/i18n/languages/fr_BE.mjs +128 -80
  328. package/esm2022/i18n/languages/fr_FR.mjs +127 -79
  329. package/esm2022/i18n/languages/he_IL.mjs +119 -74
  330. package/esm2022/i18n/languages/hi_IN.mjs +104 -56
  331. package/esm2022/i18n/languages/hr_HR.mjs +133 -85
  332. package/esm2022/i18n/languages/hu_HU.mjs +132 -84
  333. package/esm2022/i18n/languages/hy_AM.mjs +133 -85
  334. package/esm2022/i18n/languages/id_ID.mjs +119 -71
  335. package/esm2022/i18n/languages/is_IS.mjs +125 -77
  336. package/esm2022/i18n/languages/it_IT.mjs +127 -79
  337. package/esm2022/i18n/languages/ja_JP.mjs +95 -47
  338. package/esm2022/i18n/languages/ka_GE.mjs +106 -58
  339. package/esm2022/i18n/languages/kn_IN.mjs +110 -62
  340. package/esm2022/i18n/languages/ko_KR.mjs +126 -70
  341. package/esm2022/i18n/languages/ku_IQ.mjs +117 -85
  342. package/esm2022/i18n/languages/lv_LV.mjs +128 -72
  343. package/esm2022/i18n/languages/mn_MN.mjs +138 -82
  344. package/esm2022/i18n/languages/ms_MY.mjs +124 -68
  345. package/esm2022/i18n/languages/nb_NO.mjs +133 -77
  346. package/esm2022/i18n/languages/ne_NP.mjs +117 -61
  347. package/esm2022/i18n/languages/nl_BE.mjs +134 -78
  348. package/esm2022/i18n/languages/nl_NL.mjs +134 -78
  349. package/esm2022/i18n/languages/pl_PL.mjs +132 -76
  350. package/esm2022/i18n/languages/pt_BR.mjs +133 -77
  351. package/esm2022/i18n/languages/pt_PT.mjs +133 -77
  352. package/esm2022/i18n/languages/ro_RO.mjs +130 -74
  353. package/esm2022/i18n/languages/ru_RU.mjs +131 -75
  354. package/esm2022/i18n/languages/sk_SK.mjs +130 -83
  355. package/esm2022/i18n/languages/sl_SI.mjs +121 -73
  356. package/esm2022/i18n/languages/sr_RS.mjs +138 -90
  357. package/esm2022/i18n/languages/sv_SE.mjs +132 -84
  358. package/esm2022/i18n/languages/ta_IN.mjs +117 -61
  359. package/esm2022/i18n/languages/th_TH.mjs +99 -43
  360. package/esm2022/i18n/languages/tr_TR.mjs +126 -70
  361. package/esm2022/i18n/languages/uk_UA.mjs +124 -68
  362. package/esm2022/i18n/languages/vi_VN.mjs +133 -77
  363. package/esm2022/i18n/languages/zh_CN.mjs +5 -2
  364. package/esm2022/i18n/languages/zh_TW.mjs +5 -2
  365. package/esm2022/icon/icon.component.mjs +46 -77
  366. package/esm2022/icon/icon.module.mjs +4 -4
  367. package/esm2022/icon/icon.property.mjs +52 -30
  368. package/esm2022/icon/icon.service.mjs +15 -14
  369. package/esm2022/image/image-group.component.mjs +15 -15
  370. package/esm2022/image/image-preview.component.mjs +47 -46
  371. package/esm2022/image/image.component.mjs +34 -53
  372. package/esm2022/image/image.module.mjs +4 -4
  373. package/esm2022/image/image.property.mjs +152 -38
  374. package/esm2022/index.mjs +1 -3
  375. package/esm2022/inner/inner.component.mjs +15 -20
  376. package/esm2022/inner/inner.module.mjs +4 -4
  377. package/esm2022/inner/inner.property.mjs +17 -15
  378. package/esm2022/input/input-group.component.mjs +5 -7
  379. package/esm2022/input/input.component.mjs +130 -143
  380. package/esm2022/input/input.module.mjs +4 -4
  381. package/esm2022/input/input.property.mjs +205 -143
  382. package/esm2022/input-number/input-number.component.mjs +68 -86
  383. package/esm2022/input-number/input-number.module.mjs +4 -4
  384. package/esm2022/input-number/input-number.property.mjs +130 -60
  385. package/esm2022/keyword/keyword.directive.mjs +46 -54
  386. package/esm2022/keyword/keyword.module.mjs +4 -4
  387. package/esm2022/keyword/keyword.property.mjs +32 -28
  388. package/esm2022/layout/col.component.mjs +48 -51
  389. package/esm2022/layout/layout.module.mjs +4 -4
  390. package/esm2022/layout/layout.property.mjs +71 -63
  391. package/esm2022/layout/row.component.mjs +36 -27
  392. package/esm2022/link/link.component.mjs +18 -45
  393. package/esm2022/link/link.module.mjs +4 -4
  394. package/esm2022/link/link.property.mjs +101 -41
  395. package/esm2022/list/list-drop-group.directive.mjs +9 -18
  396. package/esm2022/list/list-option.component.mjs +16 -33
  397. package/esm2022/list/list.component.mjs +160 -164
  398. package/esm2022/list/list.module.mjs +4 -4
  399. package/esm2022/list/list.property.mjs +195 -188
  400. package/esm2022/loading/loading.component.mjs +44 -45
  401. package/esm2022/loading/loading.module.mjs +4 -4
  402. package/esm2022/loading/loading.property.mjs +50 -52
  403. package/esm2022/menu/menu-node.component.mjs +21 -21
  404. package/esm2022/menu/menu.component.mjs +57 -76
  405. package/esm2022/menu/menu.module.mjs +4 -4
  406. package/esm2022/menu/menu.property.mjs +56 -73
  407. package/esm2022/message/message.component.mjs +8 -8
  408. package/esm2022/message/message.module.mjs +4 -4
  409. package/esm2022/message/message.property.mjs +1 -1
  410. package/esm2022/message/message.service.mjs +7 -7
  411. package/esm2022/message-box/message-box.component.mjs +5 -5
  412. package/esm2022/message-box/message-box.module.mjs +4 -4
  413. package/esm2022/message-box/message-box.service.mjs +6 -6
  414. package/esm2022/notification/notification.component.mjs +8 -8
  415. package/esm2022/notification/notification.module.mjs +4 -4
  416. package/esm2022/notification/notification.property.mjs +1 -1
  417. package/esm2022/notification/notification.service.mjs +8 -8
  418. package/esm2022/outlet/outlet.directive.mjs +12 -14
  419. package/esm2022/outlet/outlet.module.mjs +4 -4
  420. package/esm2022/outlet/outlet.property.mjs +2 -2
  421. package/esm2022/page-header/page-header.component.mjs +12 -28
  422. package/esm2022/page-header/page-header.module.mjs +4 -4
  423. package/esm2022/page-header/page-header.property.mjs +31 -27
  424. package/esm2022/pagination/pagination.component.mjs +74 -100
  425. package/esm2022/pagination/pagination.module.mjs +4 -4
  426. package/esm2022/pagination/pagination.property.mjs +99 -136
  427. package/esm2022/pattern/pattern.component.mjs +12 -13
  428. package/esm2022/pattern/pattern.module.mjs +4 -4
  429. package/esm2022/pattern/pattern.property.mjs +2 -2
  430. package/esm2022/popconfirm/popconfirm.component.mjs +35 -47
  431. package/esm2022/popconfirm/popconfirm.module.mjs +4 -4
  432. package/esm2022/popconfirm/popconfirm.property.mjs +76 -62
  433. package/esm2022/popover/popover-portal.component.mjs +24 -75
  434. package/esm2022/popover/popover.directive.mjs +70 -86
  435. package/esm2022/popover/popover.module.mjs +4 -4
  436. package/esm2022/popover/popover.property.mjs +71 -58
  437. package/esm2022/portal/portal.module.mjs +4 -4
  438. package/esm2022/portal/portal.property.mjs +1 -1
  439. package/esm2022/portal/portal.service.mjs +4 -4
  440. package/esm2022/progress/progress.component.mjs +173 -167
  441. package/esm2022/progress/progress.module.mjs +4 -4
  442. package/esm2022/progress/progress.property.mjs +67 -71
  443. package/esm2022/radio/radio.component.mjs +45 -61
  444. package/esm2022/radio/radio.module.mjs +4 -4
  445. package/esm2022/radio/radio.property.mjs +139 -66
  446. package/esm2022/rate/rate.component.mjs +61 -79
  447. package/esm2022/rate/rate.module.mjs +4 -4
  448. package/esm2022/rate/rate.property.mjs +121 -29
  449. package/esm2022/resizable/resizable.directive.mjs +30 -45
  450. package/esm2022/resizable/resizable.module.mjs +4 -4
  451. package/esm2022/resizable/resizable.property.mjs +16 -46
  452. package/esm2022/result/result.component.mjs +13 -17
  453. package/esm2022/result/result.module.mjs +4 -4
  454. package/esm2022/result/result.property.mjs +25 -17
  455. package/esm2022/ripple/ripple.directive.mjs +38 -27
  456. package/esm2022/ripple/ripple.module.mjs +4 -4
  457. package/esm2022/ripple/ripple.property.mjs +27 -20
  458. package/esm2022/select/select-portal.component.mjs +52 -67
  459. package/esm2022/select/select.component.mjs +301 -289
  460. package/esm2022/select/select.module.mjs +4 -4
  461. package/esm2022/select/select.property.mjs +195 -102
  462. package/esm2022/skeleton/skeleton.component.mjs +12 -23
  463. package/esm2022/skeleton/skeleton.module.mjs +4 -4
  464. package/esm2022/skeleton/skeleton.property.mjs +31 -28
  465. package/esm2022/slider/slider.component.mjs +103 -149
  466. package/esm2022/slider/slider.module.mjs +4 -4
  467. package/esm2022/slider/slider.property.mjs +60 -79
  468. package/esm2022/slider-select/slider-select.component.mjs +201 -220
  469. package/esm2022/slider-select/slider-select.module.mjs +4 -4
  470. package/esm2022/slider-select/slider-select.property.mjs +143 -70
  471. package/esm2022/statistic/countdown.component.mjs +13 -16
  472. package/esm2022/statistic/statistic.component.mjs +23 -21
  473. package/esm2022/statistic/statistic.module.mjs +4 -4
  474. package/esm2022/statistic/statistic.property.mjs +68 -34
  475. package/esm2022/steps/steps.component.mjs +33 -63
  476. package/esm2022/steps/steps.module.mjs +4 -4
  477. package/esm2022/steps/steps.property.mjs +28 -39
  478. package/esm2022/switch/switch.component.mjs +22 -37
  479. package/esm2022/switch/switch.module.mjs +4 -4
  480. package/esm2022/switch/switch.property.mjs +122 -32
  481. package/esm2022/table/table-body.component.mjs +134 -139
  482. package/esm2022/table/table-foot.component.mjs +15 -18
  483. package/esm2022/table/table-head.component.mjs +60 -91
  484. package/esm2022/table/table.component.mjs +192 -222
  485. package/esm2022/table/table.module.mjs +4 -4
  486. package/esm2022/table/table.property.mjs +396 -341
  487. package/esm2022/tabs/tab-content.component.mjs +13 -16
  488. package/esm2022/tabs/tab-link.directive.mjs +6 -6
  489. package/esm2022/tabs/tab.component.mjs +9 -17
  490. package/esm2022/tabs/tabs.component.mjs +83 -135
  491. package/esm2022/tabs/tabs.module.mjs +4 -4
  492. package/esm2022/tabs/tabs.property.mjs +80 -91
  493. package/esm2022/tag/tag.component.mjs +19 -33
  494. package/esm2022/tag/tag.module.mjs +4 -4
  495. package/esm2022/tag/tag.property.mjs +44 -68
  496. package/esm2022/text-retract/text-retract.component.mjs +29 -46
  497. package/esm2022/text-retract/text-retract.module.mjs +4 -4
  498. package/esm2022/text-retract/text-retract.property.mjs +22 -18
  499. package/esm2022/textarea/textarea.component.mjs +49 -79
  500. package/esm2022/textarea/textarea.module.mjs +4 -4
  501. package/esm2022/textarea/textarea.property.mjs +124 -47
  502. package/esm2022/theme/theme.component.mjs +86 -81
  503. package/esm2022/theme/theme.module.mjs +4 -4
  504. package/esm2022/theme/theme.property.mjs +35 -46
  505. package/esm2022/time-ago/time-ago.module.mjs +4 -4
  506. package/esm2022/time-ago/time-ago.pipe.mjs +12 -11
  507. package/esm2022/time-ago/time-ago.property.mjs +2 -2
  508. package/esm2022/time-picker/time-picker-frame.component.mjs +173 -188
  509. package/esm2022/time-picker/time-picker-portal.component.mjs +35 -42
  510. package/esm2022/time-picker/time-picker.component.mjs +139 -170
  511. package/esm2022/time-picker/time-picker.module.mjs +4 -4
  512. package/esm2022/time-picker/time-picker.property.mjs +158 -70
  513. package/esm2022/time-range/time-range.module.mjs +4 -4
  514. package/esm2022/time-range/time-range.pipe.mjs +10 -10
  515. package/esm2022/time-range/time-range.property.mjs +2 -2
  516. package/esm2022/timeline/timeline.component.mjs +14 -38
  517. package/esm2022/timeline/timeline.module.mjs +4 -4
  518. package/esm2022/timeline/timeline.property.mjs +30 -30
  519. package/esm2022/tooltip/tooltip-portal.component.mjs +51 -65
  520. package/esm2022/tooltip/tooltip.directive.mjs +65 -62
  521. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  522. package/esm2022/tooltip/tooltip.property.mjs +53 -47
  523. package/esm2022/transfer/transfer.component.mjs +225 -184
  524. package/esm2022/transfer/transfer.module.mjs +4 -4
  525. package/esm2022/transfer/transfer.property.mjs +84 -76
  526. package/esm2022/tree/tree-node.component.mjs +142 -132
  527. package/esm2022/tree/tree.component.mjs +236 -232
  528. package/esm2022/tree/tree.module.mjs +4 -4
  529. package/esm2022/tree/tree.property.mjs +228 -226
  530. package/esm2022/tree/tree.service.mjs +4 -4
  531. package/esm2022/tree-file/tree-file.component.mjs +34 -43
  532. package/esm2022/tree-file/tree-file.module.mjs +4 -4
  533. package/esm2022/tree-file/tree-file.property.mjs +45 -56
  534. package/esm2022/tree-select/tree-select-portal.component.mjs +45 -78
  535. package/esm2022/tree-select/tree-select.component.mjs +283 -296
  536. package/esm2022/tree-select/tree-select.module.mjs +4 -4
  537. package/esm2022/tree-select/tree-select.property.mjs +203 -125
  538. package/esm2022/typography/typography.component.mjs +13 -10
  539. package/esm2022/typography/typography.module.mjs +4 -4
  540. package/esm2022/typography/typography.property.mjs +12 -11
  541. package/esm2022/upload/upload-portal.component.mjs +54 -57
  542. package/esm2022/upload/upload.component.mjs +79 -98
  543. package/esm2022/upload/upload.module.mjs +4 -4
  544. package/esm2022/upload/upload.property.mjs +73 -68
  545. package/examples/examples.component.d.ts +2 -5
  546. package/fesm2022/ng-nest-ui-affix.mjs +30 -32
  547. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  548. package/fesm2022/ng-nest-ui-alert.mjs +142 -152
  549. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  550. package/fesm2022/ng-nest-ui-anchor.mjs +121 -133
  551. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  552. package/fesm2022/ng-nest-ui-api.mjs +14 -17
  553. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  554. package/fesm2022/ng-nest-ui-auto-complete.mjs +296 -260
  555. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  556. package/fesm2022/ng-nest-ui-avatar.mjs +195 -130
  557. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  558. package/fesm2022/ng-nest-ui-back-top.mjs +95 -103
  559. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  560. package/fesm2022/ng-nest-ui-badge.mjs +161 -96
  561. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  562. package/fesm2022/ng-nest-ui-base-form.mjs +286 -166
  563. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  564. package/fesm2022/ng-nest-ui-button.mjs +376 -175
  565. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  566. package/fesm2022/ng-nest-ui-calendar.mjs +134 -108
  567. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  568. package/fesm2022/ng-nest-ui-card.mjs +67 -36
  569. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  570. package/fesm2022/ng-nest-ui-carousel.mjs +365 -223
  571. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  572. package/fesm2022/ng-nest-ui-cascade.mjs +318 -249
  573. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  574. package/fesm2022/ng-nest-ui-checkbox.mjs +203 -155
  575. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  576. package/fesm2022/ng-nest-ui-collapse.mjs +202 -106
  577. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  578. package/fesm2022/ng-nest-ui-color-picker.mjs +316 -270
  579. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  580. package/fesm2022/ng-nest-ui-color.mjs +73 -54
  581. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  582. package/fesm2022/ng-nest-ui-comment.mjs +44 -108
  583. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  584. package/fesm2022/ng-nest-ui-container.mjs +119 -123
  585. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  586. package/fesm2022/ng-nest-ui-core.mjs +985 -664
  587. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  588. package/fesm2022/ng-nest-ui-crumb.mjs +28 -55
  589. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  590. package/fesm2022/ng-nest-ui-date-picker.mjs +1552 -1671
  591. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  592. package/fesm2022/ng-nest-ui-description.mjs +218 -109
  593. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  594. package/fesm2022/ng-nest-ui-dialog.mjs +307 -316
  595. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  596. package/fesm2022/ng-nest-ui-doc.mjs +14 -15
  597. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  598. package/fesm2022/ng-nest-ui-drag.mjs +20 -39
  599. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  600. package/fesm2022/ng-nest-ui-drawer.mjs +116 -145
  601. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  602. package/fesm2022/ng-nest-ui-dropdown.mjs +223 -238
  603. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  604. package/fesm2022/ng-nest-ui-empty.mjs +49 -46
  605. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  606. package/fesm2022/ng-nest-ui-examples.mjs +14 -15
  607. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  608. package/fesm2022/ng-nest-ui-find.mjs +422 -425
  609. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  610. package/fesm2022/ng-nest-ui-form.mjs +218 -203
  611. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  612. package/fesm2022/ng-nest-ui-highlight.mjs +93 -81
  613. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  614. package/fesm2022/ng-nest-ui-i18n.mjs +5892 -3516
  615. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  616. package/fesm2022/ng-nest-ui-icon.mjs +112 -120
  617. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  618. package/fesm2022/ng-nest-ui-image.mjs +244 -147
  619. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  620. package/fesm2022/ng-nest-ui-inner.mjs +33 -35
  621. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  622. package/fesm2022/ng-nest-ui-input-number.mjs +198 -146
  623. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  624. package/fesm2022/ng-nest-ui-input.mjs +340 -292
  625. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  626. package/fesm2022/ng-nest-ui-keyword.mjs +78 -82
  627. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  628. package/fesm2022/ng-nest-ui-layout.mjs +151 -140
  629. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  630. package/fesm2022/ng-nest-ui-link.mjs +119 -86
  631. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  632. package/fesm2022/ng-nest-ui-list.mjs +376 -400
  633. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  634. package/fesm2022/ng-nest-ui-loading.mjs +94 -97
  635. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  636. package/fesm2022/ng-nest-ui-menu.mjs +131 -167
  637. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  638. package/fesm2022/ng-nest-ui-message-box.mjs +13 -13
  639. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  640. package/fesm2022/ng-nest-ui-message.mjs +17 -17
  641. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  642. package/fesm2022/ng-nest-ui-notification.mjs +18 -18
  643. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  644. package/fesm2022/ng-nest-ui-outlet.mjs +16 -18
  645. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  646. package/fesm2022/ng-nest-ui-page-header.mjs +44 -55
  647. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  648. package/fesm2022/ng-nest-ui-pagination.mjs +173 -236
  649. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  650. package/fesm2022/ng-nest-ui-pattern.mjs +16 -17
  651. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  652. package/fesm2022/ng-nest-ui-popconfirm.mjs +110 -107
  653. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  654. package/fesm2022/ng-nest-ui-popover.mjs +163 -215
  655. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  656. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  657. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  658. package/fesm2022/ng-nest-ui-progress.mjs +240 -238
  659. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  660. package/fesm2022/ng-nest-ui-radio.mjs +184 -127
  661. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  662. package/fesm2022/ng-nest-ui-rate.mjs +182 -108
  663. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  664. package/fesm2022/ng-nest-ui-resizable.mjs +46 -91
  665. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  666. package/fesm2022/ng-nest-ui-result.mjs +38 -34
  667. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  668. package/fesm2022/ng-nest-ui-ripple.mjs +66 -48
  669. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  670. package/fesm2022/ng-nest-ui-select.mjs +547 -459
  671. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  672. package/fesm2022/ng-nest-ui-skeleton.mjs +44 -52
  673. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  674. package/fesm2022/ng-nest-ui-slider-select.mjs +344 -290
  675. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  676. package/fesm2022/ng-nest-ui-slider.mjs +163 -228
  677. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  678. package/fesm2022/ng-nest-ui-statistic.mjs +102 -68
  679. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  680. package/fesm2022/ng-nest-ui-steps.mjs +61 -102
  681. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  682. package/fesm2022/ng-nest-ui-switch.mjs +145 -69
  683. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  684. package/fesm2022/ng-nest-ui-table.mjs +784 -800
  685. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  686. package/fesm2022/ng-nest-ui-tabs.mjs +185 -259
  687. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  688. package/fesm2022/ng-nest-ui-tag.mjs +63 -101
  689. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  690. package/fesm2022/ng-nest-ui-text-retract.mjs +52 -64
  691. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  692. package/fesm2022/ng-nest-ui-textarea.mjs +173 -126
  693. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  694. package/fesm2022/ng-nest-ui-theme.mjs +123 -129
  695. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  696. package/fesm2022/ng-nest-ui-time-ago.mjs +16 -15
  697. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  698. package/fesm2022/ng-nest-ui-time-picker.mjs +498 -463
  699. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  700. package/fesm2022/ng-nest-ui-time-range.mjs +14 -14
  701. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  702. package/fesm2022/ng-nest-ui-timeline.mjs +44 -68
  703. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  704. package/fesm2022/ng-nest-ui-tooltip.mjs +168 -170
  705. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  706. package/fesm2022/ng-nest-ui-transfer.mjs +311 -262
  707. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  708. package/fesm2022/ng-nest-ui-tree-file.mjs +80 -99
  709. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  710. package/fesm2022/ng-nest-ui-tree-select.mjs +527 -495
  711. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  712. package/fesm2022/ng-nest-ui-tree.mjs +601 -587
  713. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  714. package/fesm2022/ng-nest-ui-typography.mjs +26 -22
  715. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  716. package/fesm2022/ng-nest-ui-upload.mjs +204 -220
  717. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  718. package/fesm2022/ng-nest-ui.mjs +0 -2
  719. package/fesm2022/ng-nest-ui.mjs.map +1 -1
  720. package/find/find.component.d.ts +30 -34
  721. package/find/find.property.d.ts +321 -108
  722. package/form/control.component.d.ts +37 -18
  723. package/form/form.component.d.ts +8 -10
  724. package/form/form.property.d.ts +111 -27
  725. package/highlight/highlight.component.d.ts +10 -17
  726. package/highlight/highlight.property.d.ts +40 -11
  727. package/highlight/highlight.service.d.ts +8 -0
  728. package/highlight/public-api.d.ts +1 -0
  729. package/i18n/i18n.directive.d.ts +6 -9
  730. package/i18n/i18n.property.d.ts +6 -2
  731. package/i18n/i18n.service.d.ts +2 -2
  732. package/i18n/languages/ar_EG.d.ts +56 -0
  733. package/i18n/languages/bg_BG.d.ts +56 -0
  734. package/i18n/languages/ca_ES.d.ts +56 -0
  735. package/i18n/languages/cs_CZ.d.ts +56 -0
  736. package/i18n/languages/da_DK.d.ts +56 -0
  737. package/i18n/languages/de_DE.d.ts +56 -0
  738. package/i18n/languages/el_GR.d.ts +56 -0
  739. package/i18n/languages/en_GB.d.ts +3 -0
  740. package/i18n/languages/en_US.d.ts +3 -0
  741. package/i18n/languages/es_ES.d.ts +56 -0
  742. package/i18n/languages/et_EE.d.ts +56 -0
  743. package/i18n/languages/fa_IR.d.ts +56 -0
  744. package/i18n/languages/fi_FI.d.ts +56 -0
  745. package/i18n/languages/fr_BE.d.ts +60 -4
  746. package/i18n/languages/fr_FR.d.ts +56 -0
  747. package/i18n/languages/he_IL.d.ts +56 -0
  748. package/i18n/languages/hi_IN.d.ts +56 -0
  749. package/i18n/languages/hr_HR.d.ts +56 -0
  750. package/i18n/languages/hu_HU.d.ts +56 -0
  751. package/i18n/languages/hy_AM.d.ts +56 -0
  752. package/i18n/languages/id_ID.d.ts +56 -0
  753. package/i18n/languages/is_IS.d.ts +56 -0
  754. package/i18n/languages/it_IT.d.ts +56 -0
  755. package/i18n/languages/ja_JP.d.ts +56 -0
  756. package/i18n/languages/ka_GE.d.ts +56 -0
  757. package/i18n/languages/kn_IN.d.ts +56 -0
  758. package/i18n/languages/ko_KR.d.ts +56 -0
  759. package/i18n/languages/ku_IQ.d.ts +32 -0
  760. package/i18n/languages/lv_LV.d.ts +56 -0
  761. package/i18n/languages/mn_MN.d.ts +56 -0
  762. package/i18n/languages/ms_MY.d.ts +56 -0
  763. package/i18n/languages/nb_NO.d.ts +56 -0
  764. package/i18n/languages/ne_NP.d.ts +56 -0
  765. package/i18n/languages/nl_BE.d.ts +56 -0
  766. package/i18n/languages/nl_NL.d.ts +56 -0
  767. package/i18n/languages/pl_PL.d.ts +56 -0
  768. package/i18n/languages/pt_BR.d.ts +56 -0
  769. package/i18n/languages/pt_PT.d.ts +56 -0
  770. package/i18n/languages/ro_RO.d.ts +56 -0
  771. package/i18n/languages/ru_RU.d.ts +56 -0
  772. package/i18n/languages/sk_SK.d.ts +56 -1
  773. package/i18n/languages/sl_SI.d.ts +56 -0
  774. package/i18n/languages/sr_RS.d.ts +56 -0
  775. package/i18n/languages/sv_SE.d.ts +56 -0
  776. package/i18n/languages/ta_IN.d.ts +56 -0
  777. package/i18n/languages/th_TH.d.ts +56 -0
  778. package/i18n/languages/tr_TR.d.ts +56 -0
  779. package/i18n/languages/uk_UA.d.ts +56 -0
  780. package/i18n/languages/vi_VN.d.ts +56 -0
  781. package/i18n/languages/zh_CN.d.ts +3 -0
  782. package/i18n/languages/zh_TW.d.ts +3 -0
  783. package/icon/icon.component.d.ts +8 -14
  784. package/icon/icon.property.d.ts +31 -13
  785. package/icon/icon.service.d.ts +1 -1
  786. package/image/image-group.component.d.ts +1 -3
  787. package/image/image-preview.component.d.ts +11 -13
  788. package/image/image.component.d.ts +10 -11
  789. package/image/image.property.d.ts +117 -16
  790. package/index.d.ts +0 -2
  791. package/inner/inner.component.d.ts +3 -10
  792. package/inner/inner.property.d.ts +8 -4
  793. package/input/input-group.component.d.ts +0 -2
  794. package/input/input.component.d.ts +32 -30
  795. package/input/input.property.d.ts +347 -65
  796. package/input-number/input-number.component.d.ts +14 -19
  797. package/input-number/input-number.property.d.ts +292 -26
  798. package/keyword/keyword.directive.d.ts +4 -12
  799. package/keyword/keyword.property.d.ts +11 -7
  800. package/layout/col.component.d.ts +8 -11
  801. package/layout/layout.property.d.ts +25 -18
  802. package/layout/row.component.d.ts +7 -8
  803. package/link/link.component.d.ts +7 -13
  804. package/link/link.property.d.ts +64 -11
  805. package/list/list-drop-group.directive.d.ts +3 -5
  806. package/list/list-option.component.d.ts +7 -9
  807. package/list/list.component.d.ts +35 -30
  808. package/list/list.property.d.ts +126 -61
  809. package/loading/loading.component.d.ts +12 -12
  810. package/loading/loading.property.d.ts +20 -11
  811. package/menu/menu-node.component.d.ts +11 -8
  812. package/menu/menu.component.d.ts +18 -19
  813. package/menu/menu.property.d.ts +23 -28
  814. package/message/message.property.d.ts +1 -1
  815. package/notification/notification.property.d.ts +1 -1
  816. package/outlet/outlet.directive.d.ts +4 -4
  817. package/outlet/outlet.property.d.ts +1 -1
  818. package/package.json +78 -84
  819. package/page-header/page-header.component.d.ts +4 -8
  820. package/page-header/page-header.property.d.ts +11 -8
  821. package/pagination/pagination.component.d.ts +15 -22
  822. package/pagination/pagination.property.d.ts +34 -66
  823. package/pattern/pattern.component.d.ts +2 -5
  824. package/pattern/pattern.property.d.ts +1 -1
  825. package/popconfirm/popconfirm.component.d.ts +12 -14
  826. package/popconfirm/popconfirm.property.d.ts +32 -19
  827. package/popover/popover-portal.component.d.ts +16 -33
  828. package/popover/popover.directive.d.ts +6 -12
  829. package/popover/popover.property.d.ts +31 -22
  830. package/portal/portal.property.d.ts +2 -2
  831. package/portal/portal.service.d.ts +2 -2
  832. package/progress/progress.component.d.ts +25 -30
  833. package/progress/progress.property.d.ts +29 -20
  834. package/radio/radio.component.d.ts +14 -15
  835. package/radio/radio.property.d.ts +271 -31
  836. package/rate/rate.component.d.ts +14 -17
  837. package/rate/rate.property.d.ts +259 -12
  838. package/resizable/resizable.directive.d.ts +5 -5
  839. package/resizable/resizable.property.d.ts +14 -14
  840. package/result/result.component.d.ts +5 -7
  841. package/result/result.property.d.ts +11 -7
  842. package/ripple/ripple.directive.d.ts +5 -4
  843. package/ripple/ripple.property.d.ts +14 -5
  844. package/select/select-portal.component.d.ts +39 -43
  845. package/select/select.component.d.ts +53 -56
  846. package/select/select.property.d.ts +317 -37
  847. package/skeleton/skeleton.component.d.ts +4 -8
  848. package/skeleton/skeleton.property.d.ts +17 -8
  849. package/slider/slider.component.d.ts +34 -31
  850. package/slider/slider.property.d.ts +26 -22
  851. package/slider-select/slider-select.component.d.ts +38 -38
  852. package/slider-select/slider-select.property.d.ts +302 -28
  853. package/statistic/countdown.component.d.ts +2 -5
  854. package/statistic/statistic.component.d.ts +3 -8
  855. package/statistic/statistic.property.d.ts +44 -13
  856. package/steps/steps.component.d.ts +6 -16
  857. package/steps/steps.property.d.ts +15 -10
  858. package/style/core/index.css +0 -38
  859. package/style/core/index.css.map +1 -1
  860. package/style/core/var.scss +0 -4
  861. package/style/mixins/compatibility.scss +0 -1
  862. package/style/mixins/form.scss +8 -2
  863. package/style/params/index.scss +0 -1
  864. package/style/params/primary.scss +7 -28
  865. package/switch/switch.component.d.ts +9 -10
  866. package/switch/switch.property.d.ts +265 -16
  867. package/table/table-body.component.d.ts +21 -20
  868. package/table/table-foot.component.d.ts +7 -5
  869. package/table/table-head.component.d.ts +17 -19
  870. package/table/table.component.d.ts +62 -50
  871. package/table/table.property.d.ts +180 -178
  872. package/tabs/tab-content.component.d.ts +6 -8
  873. package/tabs/tab.component.d.ts +3 -5
  874. package/tabs/tabs.component.d.ts +17 -24
  875. package/tabs/tabs.property.d.ts +28 -24
  876. package/tag/tag.component.d.ts +7 -8
  877. package/tag/tag.property.d.ts +19 -21
  878. package/text-retract/text-retract.component.d.ts +4 -14
  879. package/text-retract/text-retract.property.d.ts +9 -5
  880. package/textarea/textarea.component.d.ts +17 -20
  881. package/textarea/textarea.property.d.ts +266 -30
  882. package/theme/theme.component.d.ts +24 -13
  883. package/theme/theme.property.d.ts +67 -16
  884. package/time-ago/time-ago.pipe.d.ts +7 -3
  885. package/time-ago/time-ago.property.d.ts +1 -1
  886. package/time-picker/time-picker-frame.component.d.ts +52 -39
  887. package/time-picker/time-picker-portal.component.d.ts +29 -29
  888. package/time-picker/time-picker.component.d.ts +29 -30
  889. package/time-picker/time-picker.property.d.ts +314 -23
  890. package/time-range/time-range.property.d.ts +1 -1
  891. package/timeline/timeline.component.d.ts +5 -13
  892. package/timeline/timeline.property.d.ts +12 -8
  893. package/tooltip/tooltip-portal.component.d.ts +23 -29
  894. package/tooltip/tooltip.directive.d.ts +10 -9
  895. package/tooltip/tooltip.property.d.ts +18 -14
  896. package/transfer/transfer.component.d.ts +23 -20
  897. package/transfer/transfer.property.d.ts +81 -25
  898. package/tree/tree-node.component.d.ts +21 -21
  899. package/tree/tree.component.d.ts +29 -28
  900. package/tree/tree.property.d.ts +129 -79
  901. package/tree-file/tree-file.component.d.ts +7 -9
  902. package/tree-file/tree-file.property.d.ts +40 -16
  903. package/tree-select/tree-select-portal.component.d.ts +38 -49
  904. package/tree-select/tree-select.component.d.ts +50 -53
  905. package/tree-select/tree-select.property.d.ts +328 -39
  906. package/typography/typography.component.d.ts +1 -1
  907. package/typography/typography.property.d.ts +3 -3
  908. package/upload/upload-portal.component.d.ts +14 -14
  909. package/upload/upload.component.d.ts +18 -17
  910. package/upload/upload.property.d.ts +73 -24
  911. package/border/border.component.d.ts +0 -11
  912. package/border/border.module.d.ts +0 -7
  913. package/border/border.property.d.ts +0 -6
  914. package/border/index.d.ts +0 -5
  915. package/border/public-api.d.ts +0 -3
  916. package/esm2022/border/border.component.mjs +0 -21
  917. package/esm2022/border/border.module.mjs +0 -16
  918. package/esm2022/border/border.property.mjs +0 -7
  919. package/esm2022/border/ng-nest-ui-border.mjs +0 -5
  920. package/esm2022/border/public-api.mjs +0 -4
  921. package/fesm2022/ng-nest-ui-border.mjs +0 -47
  922. package/fesm2022/ng-nest-ui-border.mjs.map +0 -1
  923. package/style/params/colors.scss +0 -38
@@ -1,6 +1,5 @@
1
- import { __decorate } from "tslib";
2
- import { XDataConvert, XProperty, XInputBoolean, XInputNumber, XWithConfig } from '@ng-nest/ui/core';
3
- import { Input, Output, EventEmitter, Component } from '@angular/core';
1
+ import { XProperty, XPropertyFunction, XToBoolean, XToNumber, XToCssPixelValue } from '@ng-nest/ui/core';
2
+ import { Component, input, output, model } from '@angular/core';
4
3
  import * as i0 from "@angular/core";
5
4
  /**
6
5
  * Tree
@@ -8,267 +7,218 @@ import * as i0 from "@angular/core";
8
7
  * @decorator component
9
8
  */
10
9
  export const XTreePrefix = 'x-tree';
11
- const X_CONFIG_NAME = 'tree';
10
+ const X_TREE_CONFIG_NAME = 'tree';
12
11
  /**
13
12
  * Tree Property
14
13
  */
15
- export class XTreeProperty extends XProperty {
14
+ export class XTreeProperty extends XPropertyFunction(X_TREE_CONFIG_NAME) {
16
15
  constructor() {
17
16
  super(...arguments);
18
17
  /**
19
18
  * @zh_CN 节点数据
20
19
  * @en_US Node data
21
20
  */
22
- this.data = [];
21
+ this.data = input([]);
22
+ /**
23
+ * @zh_CN 显示多选框
24
+ * @en_US Show checkbox
25
+ */
26
+ this.checkbox = input(false, { transform: XToBoolean });
27
+ /**
28
+ * @zh_CN 开启懒加载节点,data 必须设置成函数类型
29
+ * @en_US Open lazy loading node, data must be set to function type
30
+ */
31
+ this.lazy = input(false, { transform: XToBoolean });
32
+ /**
33
+ * @zh_CN 当前激活的节点 Id, 当 multiple 为 true 时,值为数组(默认是 Id 数组,objectArray 为 true,对象数组)
34
+ * @en_US Currently active node Id. When Multiple is true, the value is the Id array
35
+ */
36
+ this.activatedId = model(null);
23
37
  /**
24
38
  * @zh_CN 展开的节点
25
39
  * @en_US Expanded node
26
40
  */
27
- this.expanded = [];
41
+ this.expanded = model([]);
28
42
  /**
29
43
  * @zh_CN checkbox 选中的节点
30
44
  * @en_US Checkbox selected node
31
45
  */
32
- this.checked = [];
46
+ this.checked = model([]);
47
+ /**
48
+ * @zh_CN 展开所有节点
49
+ * @en_US Expand all nodes
50
+ */
51
+ this.expandedAll = input(false, { transform: XToBoolean });
33
52
  /**
34
53
  * @zh_CN 默认展开的层级
35
54
  * @en_US Default expanded level
36
55
  */
37
- this.expandedLevel = -1;
56
+ this.expandedLevel = input(-1, { transform: XToNumber });
57
+ /**
58
+ * @zh_CN 点击节点就触发展开/收起的操作,请确保节点上没有其它操作(checkbox、自定义的操作按钮)
59
+ * @en_US Click the node to trigger the expand/collapse operation, please make sure that there are no other operations on the node (checkbox, custom operation button)
60
+ */
61
+ this.nodeOpen = input(false, { transform: XToBoolean });
62
+ /**
63
+ * @zh_CN 单位间距,这个与层级的乘积算出节点的左边距
64
+ * @en_US Unit spacing, the product of this and the level calculates the left margin of the node
65
+ */
66
+ this.spacing = input(this.config?.spacing ?? '1.5rem', { transform: XToCssPixelValue });
67
+ /**
68
+ * @zh_CN 标签自定义模板
69
+ * @en_US Label custom template
70
+ */
71
+ this.labelTpl = input();
72
+ /**
73
+ * @zh_CN 节点的高度, 默认是自适应高度
74
+ * @en_US The height of the node
75
+ */
76
+ this.nodeHeight = input(this.config?.nodeHeight ?? '', { transform: XToCssPixelValue });
77
+ /**
78
+ * @zh_CN 是否允许多次点击一个节点触发多次事件
79
+ * @en_US Whether to allow multiple clicks on a node to trigger multiple events
80
+ */
81
+ this.allowManyActivated = input(false, { transform: XToBoolean });
82
+ /**
83
+ * @zh_CN 拖动节点
84
+ * @en_US Drag node
85
+ */
86
+ this.drag = input(false, { transform: XToBoolean });
38
87
  /**
39
88
  * @zh_CN 当前点击选中的节点变化的事件
40
89
  * @en_US The event of the currently clicked node change
41
90
  */
42
- this.activatedChange = new EventEmitter();
91
+ this.activatedChange = output();
43
92
  /**
44
93
  * @zh_CN 使用 checkedbox 选中变化的事件
45
94
  * @en_US Use checkedbox to select changed events
46
95
  */
47
- this.checkboxChange = new EventEmitter();
96
+ this.checkboxChange = output();
48
97
  /**
49
- * @zh_CN 如果 data 是函数类型,可以通过此参数控制请求,常用于弹框中的表格,弹出后再请求
98
+ * @zh_CN 如果 data 是函数类型,可以通过此参数控制请求,用于弹框中的表格,弹出后再请求
50
99
  * @en_US If data is a function type, you can use this parameter to control the request, which is often used in the form in the pop-up box, and then request it after it pops up
51
100
  */
52
- this.manual = true;
101
+ this.manual = model(true);
53
102
  /**
54
103
  * @zh_CN checkbox 状态改变触发层级检查
55
104
  * @en_US Checkbox status changes trigger level checks
56
105
  */
57
- this.levelCheck = true;
106
+ this.levelCheck = input(true, { transform: XToBoolean });
58
107
  /**
59
108
  * @zh_CN 节点内容不换行显示省略号
60
109
  * @en_US Show ellipsis without wrapping
61
110
  */
62
- this.nodeNowrap = true;
111
+ this.nodeNowrap = input(true, { transform: XToBoolean });
112
+ /**
113
+ * @zh_CN 节点垂直对齐方式
114
+ * @en_US Show ellipsis without wrapping
115
+ */
116
+ this.nodeAlignItems = input(this.config?.nodeAlignItems ?? 'center');
63
117
  /**
64
118
  * @zh_CN 树节点操作按钮
65
119
  * @en_US Tree node operation buttons
66
120
  */
67
- this.actions = [];
121
+ this.actions = input([]);
122
+ /**
123
+ * @zh_CN 滚动区域元素
124
+ * @en_US Rolling area element
125
+ */
126
+ this.scrollElement = input();
127
+ /**
128
+ * @zh_CN 开启虚拟滚动
129
+ * @en_US Turn on virtual scrolling
130
+ */
131
+ this.virtualScroll = input(this.config?.virtualScroll ?? false, { transform: XToBoolean });
132
+ /**
133
+ * @zh_CN 滚动区域高度,开启虚拟滚动的时候生效
134
+ * @en_US Rolling area height
135
+ */
136
+ this.virtualScrollHeight = input(this.config?.virtualScrollHeight ?? '400px', {
137
+ transform: XToCssPixelValue
138
+ });
139
+ /**
140
+ * @zh_CN 虚拟滚动高度自适应指定元素
141
+ * @en_US virtual rolling height follows the specified object
142
+ */
143
+ this.heightAdaption = input();
144
+ /**
145
+ * @zh_CN itemSize,对应 cdk scroll 中的参数,开启虚拟滚动才生效
146
+ * @en_US itemSize,corresponding to the parameters in cdk scroll
147
+ */
148
+ this.itemSize = input(this.config?.itemSize ?? 34, { transform: XToNumber });
68
149
  /**
69
150
  * @zh_CN 超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数,开启虚拟滚动才生效
70
151
  * @en_US Exceed the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll
71
152
  */
72
- this.minBufferPx = 100;
153
+ this.minBufferPx = input(100, { transform: XToNumber });
73
154
  /**
74
155
  * @zh_CN 渲染新数据缓冲区的像素,对应 cdk scroll 中的参数,开启虚拟滚动才生效
75
156
  * @en_US Render the pixels of the new data buffer, corresponding to the parameters in cdk scroll
76
157
  */
77
- this.maxBufferPx = 200;
158
+ this.maxBufferPx = input(200, { transform: XToNumber });
78
159
  /**
79
- * @zh_CN 参数控制请求改变事件
80
- * @en_US Parameter control request change event
160
+ * @zh_CN 多选功能,当前激活的节点可以是多个
161
+ * @en_US Multiple choice
81
162
  */
82
- this.manualChange = new EventEmitter();
163
+ this.multiple = input(false, { transform: XToBoolean });
83
164
  /**
84
- * @zh_CN 节点点击事件
85
- * @en_US Node click event
165
+ * @zh_CN 当开启多选的时候,activatedId 的值为对象数组
166
+ * @en_US When multiple selection is enabled, the value of activatedId is an array of objects
167
+ */
168
+ this.objectArray = input(false, { transform: XToBoolean });
169
+ /**
170
+ * @zh_CN 关键字高亮,针对下拉树搜索
171
+ * @en_US Keyword highlighting
172
+ */
173
+ this.keywordText = input();
174
+ /**
175
+ * @zh_CN 匹配关键字区分大小写,针对下拉树搜索
176
+ * @en_US Case-sensitive
177
+ */
178
+ this.caseSensitive = input(this.config?.caseSensitive ?? true, { transform: XToBoolean });
179
+ /**
180
+ * @zh_CN 只能选择叶子节点
181
+ * @en_US Only leaf nodes can be selected
86
182
  */
87
- this.nodeClick = new EventEmitter();
183
+ this.onlyLeaf = input(this.config?.onlyLeaf ?? false, { transform: XToBoolean });
184
+ /**
185
+ * @zh_CN 展开收起的图标自定义模版
186
+ * @en_US Expand the folded icon custom template
187
+ */
188
+ this.expandedIcon = input();
189
+ /**
190
+ * @zh_CN 显示连接线
191
+ * @en_US Show line
192
+ */
193
+ this.showLine = input(this.config?.showLine ?? false, { transform: XToBoolean });
88
194
  /**
89
195
  * @zh_CN 节点点击事件
90
196
  * @en_US Node click event
91
197
  */
92
- this.activatedIdChange = new EventEmitter();
198
+ this.nodeClick = output();
93
199
  /**
94
200
  * @zh_CN 节点开始拖动事件
95
201
  * @en_US Node drag started
96
202
  */
97
- this.nodeDragStarted = new EventEmitter();
203
+ this.nodeDragStarted = output();
98
204
  /**
99
205
  * @zh_CN 节点结束拖动事件
100
206
  * @en_US Node drag ended
101
207
  */
102
- this.nodeDragEnded = new EventEmitter();
208
+ this.nodeDragEnded = output();
103
209
  /**
104
210
  * @zh_CN 节点正在拖动事件
105
211
  * @en_US Node drag moved
106
212
  */
107
- this.nodeDragMoved = new EventEmitter();
213
+ this.nodeDragMoved = output();
108
214
  }
109
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XTreeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
110
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: XTreeProperty, selector: "x-tree-property", inputs: { data: "data", checkbox: "checkbox", lazy: "lazy", activatedId: "activatedId", expanded: "expanded", checked: "checked", expandedAll: "expandedAll", expandedLevel: "expandedLevel", nodeOpen: "nodeOpen", spacing: "spacing", labelTpl: "labelTpl", nodeHeight: "nodeHeight", allowManyActivated: "allowManyActivated", drag: "drag", manual: "manual", levelCheck: "levelCheck", nodeNowrap: "nodeNowrap", nodeAlignItems: "nodeAlignItems", actions: "actions", scrollElement: "scrollElement", virtualScroll: "virtualScroll", virtualScrollHeight: "virtualScrollHeight", heightAdaption: "heightAdaption", itemSize: "itemSize", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx", multiple: "multiple", objectArray: "objectArray", keywordText: "keywordText", caseSensitive: "caseSensitive", onlyLeaf: "onlyLeaf", expandedIcon: "expandedIcon", showLine: "showLine" }, outputs: { activatedChange: "activatedChange", checkboxChange: "checkboxChange", manualChange: "manualChange", nodeClick: "nodeClick", activatedIdChange: "activatedIdChange", nodeDragStarted: "nodeDragStarted", nodeDragEnded: "nodeDragEnded", nodeDragMoved: "nodeDragMoved" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
215
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
216
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: XTreeProperty, selector: "x-tree-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, checkbox: { classPropertyName: "checkbox", publicName: "checkbox", isSignal: true, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: true, isRequired: false, transformFunction: null }, activatedId: { classPropertyName: "activatedId", publicName: "activatedId", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, expandedAll: { classPropertyName: "expandedAll", publicName: "expandedAll", isSignal: true, isRequired: false, transformFunction: null }, expandedLevel: { classPropertyName: "expandedLevel", publicName: "expandedLevel", isSignal: true, isRequired: false, transformFunction: null }, nodeOpen: { classPropertyName: "nodeOpen", publicName: "nodeOpen", isSignal: true, isRequired: false, transformFunction: null }, spacing: { classPropertyName: "spacing", publicName: "spacing", isSignal: true, isRequired: false, transformFunction: null }, labelTpl: { classPropertyName: "labelTpl", publicName: "labelTpl", isSignal: true, isRequired: false, transformFunction: null }, nodeHeight: { classPropertyName: "nodeHeight", publicName: "nodeHeight", isSignal: true, isRequired: false, transformFunction: null }, allowManyActivated: { classPropertyName: "allowManyActivated", publicName: "allowManyActivated", isSignal: true, isRequired: false, transformFunction: null }, drag: { classPropertyName: "drag", publicName: "drag", isSignal: true, isRequired: false, transformFunction: null }, manual: { classPropertyName: "manual", publicName: "manual", isSignal: true, isRequired: false, transformFunction: null }, levelCheck: { classPropertyName: "levelCheck", publicName: "levelCheck", isSignal: true, isRequired: false, transformFunction: null }, nodeNowrap: { classPropertyName: "nodeNowrap", publicName: "nodeNowrap", isSignal: true, isRequired: false, transformFunction: null }, nodeAlignItems: { classPropertyName: "nodeAlignItems", publicName: "nodeAlignItems", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, scrollElement: { classPropertyName: "scrollElement", publicName: "scrollElement", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollHeight: { classPropertyName: "virtualScrollHeight", publicName: "virtualScrollHeight", isSignal: true, isRequired: false, transformFunction: null }, heightAdaption: { classPropertyName: "heightAdaption", publicName: "heightAdaption", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, minBufferPx: { classPropertyName: "minBufferPx", publicName: "minBufferPx", isSignal: true, isRequired: false, transformFunction: null }, maxBufferPx: { classPropertyName: "maxBufferPx", publicName: "maxBufferPx", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, objectArray: { classPropertyName: "objectArray", publicName: "objectArray", isSignal: true, isRequired: false, transformFunction: null }, keywordText: { classPropertyName: "keywordText", publicName: "keywordText", isSignal: true, isRequired: false, transformFunction: null }, caseSensitive: { classPropertyName: "caseSensitive", publicName: "caseSensitive", isSignal: true, isRequired: false, transformFunction: null }, onlyLeaf: { classPropertyName: "onlyLeaf", publicName: "onlyLeaf", isSignal: true, isRequired: false, transformFunction: null }, expandedIcon: { classPropertyName: "expandedIcon", publicName: "expandedIcon", isSignal: true, isRequired: false, transformFunction: null }, showLine: { classPropertyName: "showLine", publicName: "showLine", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activatedId: "activatedIdChange", expanded: "expandedChange", checked: "checkedChange", activatedChange: "activatedChange", checkboxChange: "checkboxChange", manual: "manualChange", nodeClick: "nodeClick", nodeDragStarted: "nodeDragStarted", nodeDragEnded: "nodeDragEnded", nodeDragMoved: "nodeDragMoved" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
111
217
  }
112
- __decorate([
113
- XDataConvert()
114
- ], XTreeProperty.prototype, "data", void 0);
115
- __decorate([
116
- XInputBoolean()
117
- ], XTreeProperty.prototype, "checkbox", void 0);
118
- __decorate([
119
- XInputBoolean()
120
- ], XTreeProperty.prototype, "lazy", void 0);
121
- __decorate([
122
- XInputBoolean()
123
- ], XTreeProperty.prototype, "expandedAll", void 0);
124
- __decorate([
125
- XInputNumber()
126
- ], XTreeProperty.prototype, "expandedLevel", void 0);
127
- __decorate([
128
- XInputBoolean()
129
- ], XTreeProperty.prototype, "nodeOpen", void 0);
130
- __decorate([
131
- XWithConfig(X_CONFIG_NAME, 1.5),
132
- XInputNumber()
133
- ], XTreeProperty.prototype, "spacing", void 0);
134
- __decorate([
135
- XWithConfig(X_CONFIG_NAME, 0),
136
- XInputNumber()
137
- ], XTreeProperty.prototype, "nodeHeight", void 0);
138
- __decorate([
139
- XInputBoolean()
140
- ], XTreeProperty.prototype, "allowManyActivated", void 0);
141
- __decorate([
142
- XInputBoolean()
143
- ], XTreeProperty.prototype, "drag", void 0);
144
- __decorate([
145
- XInputBoolean()
146
- ], XTreeProperty.prototype, "manual", void 0);
147
- __decorate([
148
- XInputBoolean()
149
- ], XTreeProperty.prototype, "levelCheck", void 0);
150
- __decorate([
151
- XInputBoolean()
152
- ], XTreeProperty.prototype, "nodeNowrap", void 0);
153
- __decorate([
154
- XWithConfig(X_CONFIG_NAME, 'center')
155
- ], XTreeProperty.prototype, "nodeAlignItems", void 0);
156
- __decorate([
157
- XWithConfig(X_CONFIG_NAME),
158
- XInputBoolean()
159
- ], XTreeProperty.prototype, "virtualScroll", void 0);
160
- __decorate([
161
- XWithConfig(X_CONFIG_NAME, 400),
162
- XInputNumber()
163
- ], XTreeProperty.prototype, "virtualScrollHeight", void 0);
164
- __decorate([
165
- XWithConfig(X_CONFIG_NAME, 26),
166
- XInputNumber()
167
- ], XTreeProperty.prototype, "itemSize", void 0);
168
- __decorate([
169
- XInputBoolean()
170
- ], XTreeProperty.prototype, "multiple", void 0);
171
- __decorate([
172
- XInputBoolean()
173
- ], XTreeProperty.prototype, "objectArray", void 0);
174
- __decorate([
175
- XInputBoolean(),
176
- XWithConfig(X_CONFIG_NAME, true)
177
- ], XTreeProperty.prototype, "caseSensitive", void 0);
178
- __decorate([
179
- XInputBoolean(),
180
- XWithConfig(X_CONFIG_NAME, false)
181
- ], XTreeProperty.prototype, "onlyLeaf", void 0);
182
- __decorate([
183
- XInputBoolean(),
184
- XWithConfig(X_CONFIG_NAME, false)
185
- ], XTreeProperty.prototype, "showLine", void 0);
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XTreeProperty, decorators: [{
218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeProperty, decorators: [{
187
219
  type: Component,
188
220
  args: [{ selector: `${XTreePrefix}-property`, template: '' }]
189
- }], propDecorators: { data: [{
190
- type: Input
191
- }], checkbox: [{
192
- type: Input
193
- }], lazy: [{
194
- type: Input
195
- }], activatedId: [{
196
- type: Input
197
- }], expanded: [{
198
- type: Input
199
- }], checked: [{
200
- type: Input
201
- }], expandedAll: [{
202
- type: Input
203
- }], expandedLevel: [{
204
- type: Input
205
- }], nodeOpen: [{
206
- type: Input
207
- }], spacing: [{
208
- type: Input
209
- }], labelTpl: [{
210
- type: Input
211
- }], nodeHeight: [{
212
- type: Input
213
- }], allowManyActivated: [{
214
- type: Input
215
- }], drag: [{
216
- type: Input
217
- }], activatedChange: [{
218
- type: Output
219
- }], checkboxChange: [{
220
- type: Output
221
- }], manual: [{
222
- type: Input
223
- }], levelCheck: [{
224
- type: Input
225
- }], nodeNowrap: [{
226
- type: Input
227
- }], nodeAlignItems: [{
228
- type: Input
229
- }], actions: [{
230
- type: Input
231
- }], scrollElement: [{
232
- type: Input
233
- }], virtualScroll: [{
234
- type: Input
235
- }], virtualScrollHeight: [{
236
- type: Input
237
- }], heightAdaption: [{
238
- type: Input
239
- }], itemSize: [{
240
- type: Input
241
- }], minBufferPx: [{
242
- type: Input
243
- }], maxBufferPx: [{
244
- type: Input
245
- }], multiple: [{
246
- type: Input
247
- }], objectArray: [{
248
- type: Input
249
- }], keywordText: [{
250
- type: Input
251
- }], caseSensitive: [{
252
- type: Input
253
- }], onlyLeaf: [{
254
- type: Input
255
- }], expandedIcon: [{
256
- type: Input
257
- }], showLine: [{
258
- type: Input
259
- }], manualChange: [{
260
- type: Output
261
- }], nodeClick: [{
262
- type: Output
263
- }], activatedIdChange: [{
264
- type: Output
265
- }], nodeDragStarted: [{
266
- type: Output
267
- }], nodeDragEnded: [{
268
- type: Output
269
- }], nodeDragMoved: [{
270
- type: Output
271
- }] } });
221
+ }] });
272
222
  /**
273
223
  * TreeNode
274
224
  * @selector x-tree-node
@@ -285,51 +235,103 @@ export class XTreeNodeProperty extends XProperty {
285
235
  * @zh_CN 节点数据
286
236
  * @en_US Node data
287
237
  */
288
- this.node = {};
238
+ this.node = input({});
239
+ /**
240
+ * @zh_CN 层级
241
+ * @en_US Level
242
+ */
243
+ this.level = model(0);
244
+ /**
245
+ * @zh_CN 节点的高度
246
+ * @en_US The height of the node
247
+ */
248
+ this.nodeHeight = model('');
249
+ /**
250
+ * @zh_CN 节点内容不换行显示省略号
251
+ * @en_US Show ellipsis without wrapping
252
+ */
253
+ this.nodeNowrap = model(false);
254
+ /**
255
+ * @zh_CN 节点垂直对齐方式
256
+ * @en_US Show ellipsis without wrapping
257
+ */
258
+ this.nodeAlignItems = model('center');
259
+ /**
260
+ * @zh_CN 标记为虚拟滚动的节点
261
+ * @en_US Mark as a node of virtual rolling
262
+ */
263
+ this.virtualScroll = model(false);
264
+ /**
265
+ * @zh_CN 禁用
266
+ * @en_US Disabled
267
+ */
268
+ this.disabled = model(false);
269
+ /**
270
+ * @zh_CN id
271
+ * @en_US Id
272
+ */
273
+ this.id = model();
274
+ /**
275
+ * @zh_CN pid
276
+ * @en_US pId
277
+ */
278
+ this.pid = model();
289
279
  /**
290
- * @zh_CN 节点的高度,单位 rem
291
- * @en_US The height of the node in rem
280
+ * @zh_CN 叶子节点
281
+ * @en_US A leaf node
292
282
  */
293
- this.nodeHeight = 0;
283
+ this.leaf = model(false);
284
+ /**
285
+ * @zh_CN 节点的高度
286
+ * @en_US The height of the node
287
+ */
288
+ this.height = model('');
294
289
  /**
295
290
  * @zh_CN 节点垂直对齐方式
296
291
  * @en_US Show ellipsis without wrapping
297
292
  */
298
- this.nodeAlignItems = 'center';
293
+ this.alignItems = model();
294
+ /**
295
+ * @zh_CN 节点垂直对齐方式
296
+ * @en_US Show ellipsis without wrapping
297
+ */
298
+ this.loading = model(false);
299
+ /**
300
+ * @zh_CN 展开
301
+ * @en_US open
302
+ */
303
+ this.open = model(false);
304
+ /**
305
+ * @zh_CN checkbox 是否选中
306
+ * @en_US whether checkbox is selected
307
+ */
308
+ this.checked = model(false);
309
+ /**
310
+ * @zh_CN checkbox 子节点是否有选中的状态
311
+ * @en_US Whether the child node of checkbox is selected
312
+ */
313
+ this.indeterminate = model(false);
314
+ /**
315
+ * @zh_CN 节点名称
316
+ * @en_US The name of the node
317
+ */
318
+ this.label = model('');
319
+ /**
320
+ * @zh_CN 节点内容不换行显示省略号,优先级高于 tree 参数
321
+ * @en_US Show ellipsis without wrapping, highest priority
322
+ */
323
+ this.nowrap = model(false);
324
+ /**
325
+ * @zh_CN 节点展开收起事件
326
+ * @en_US Node expansion pack up
327
+ */
328
+ this.toggle = output();
299
329
  }
300
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XTreeNodeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
301
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: XTreeNodeProperty, selector: "x-tree-node-property", inputs: { node: "node", level: "level", lazy: "lazy", nodeHeight: "nodeHeight", nodeNowrap: "nodeNowrap", nodeAlignItems: "nodeAlignItems", lazyData: "lazyData", virtualScroll: "virtualScroll" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
330
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeNodeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
331
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: XTreeNodeProperty, selector: "x-tree-node-property", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, nodeHeight: { classPropertyName: "nodeHeight", publicName: "nodeHeight", isSignal: true, isRequired: false, transformFunction: null }, nodeNowrap: { classPropertyName: "nodeNowrap", publicName: "nodeNowrap", isSignal: true, isRequired: false, transformFunction: null }, nodeAlignItems: { classPropertyName: "nodeAlignItems", publicName: "nodeAlignItems", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, pid: { classPropertyName: "pid", publicName: "pid", isSignal: true, isRequired: false, transformFunction: null }, leaf: { classPropertyName: "leaf", publicName: "leaf", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, alignItems: { classPropertyName: "alignItems", publicName: "alignItems", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, nowrap: { classPropertyName: "nowrap", publicName: "nowrap", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { level: "levelChange", nodeHeight: "nodeHeightChange", nodeNowrap: "nodeNowrapChange", nodeAlignItems: "nodeAlignItemsChange", virtualScroll: "virtualScrollChange", disabled: "disabledChange", id: "idChange", pid: "pidChange", leaf: "leafChange", height: "heightChange", alignItems: "alignItemsChange", loading: "loadingChange", open: "openChange", checked: "checkedChange", indeterminate: "indeterminateChange", label: "labelChange", nowrap: "nowrapChange", toggle: "toggle" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
302
332
  }
303
- __decorate([
304
- XInputBoolean()
305
- ], XTreeNodeProperty.prototype, "lazy", void 0);
306
- __decorate([
307
- XInputNumber()
308
- ], XTreeNodeProperty.prototype, "nodeHeight", void 0);
309
- __decorate([
310
- XInputBoolean()
311
- ], XTreeNodeProperty.prototype, "nodeNowrap", void 0);
312
- __decorate([
313
- XInputBoolean()
314
- ], XTreeNodeProperty.prototype, "virtualScroll", void 0);
315
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XTreeNodeProperty, decorators: [{
333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeNodeProperty, decorators: [{
316
334
  type: Component,
317
335
  args: [{ selector: `${XTreeNodePrefix}-property`, template: '' }]
318
- }], propDecorators: { node: [{
319
- type: Input
320
- }], level: [{
321
- type: Input
322
- }], lazy: [{
323
- type: Input
324
- }], nodeHeight: [{
325
- type: Input
326
- }], nodeNowrap: [{
327
- type: Input
328
- }], nodeAlignItems: [{
329
- type: Input
330
- }], lazyData: [{
331
- type: Input
332
- }], virtualScroll: [{
333
- type: Input
334
- }] } });
335
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RyZWUvdHJlZS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixTQUFTLEVBRVQsYUFBYSxFQUliLFlBQVksRUFFWixXQUFXLEVBRVosTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFlLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDOztBQUdoRzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQztBQUNwQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUM7QUFFN0I7O0dBRUc7QUFFSCxNQUFNLE9BQU8sYUFBYyxTQUFRLFNBQVM7SUFENUM7O1FBRUU7OztXQUdHO1FBQ3NCLFNBQUksR0FBcUIsRUFBRSxDQUFDO1FBZ0JyRDs7O1dBR0c7UUFDTSxhQUFRLEdBQVUsRUFBRSxDQUFDO1FBQzlCOzs7V0FHRztRQUNNLFlBQU8sR0FBVSxFQUFFLENBQUM7UUFNN0I7OztXQUdHO1FBQ3NCLGtCQUFhLEdBQVksQ0FBQyxDQUFDLENBQUM7UUErQnJEOzs7V0FHRztRQUNPLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUMxRDs7O1dBR0c7UUFDTyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDekQ7OztXQUdHO1FBQ3VCLFdBQU0sR0FBWSxJQUFJLENBQUM7UUFDakQ7OztXQUdHO1FBQ3VCLGVBQVUsR0FBYSxJQUFJLENBQUM7UUFDdEQ7OztXQUdHO1FBQ3VCLGVBQVUsR0FBYSxJQUFJLENBQUM7UUFNdEQ7OztXQUdHO1FBQ00sWUFBTyxHQUFrQixFQUFFLENBQUM7UUEwQnJDOzs7V0FHRztRQUNNLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBQ25DOzs7V0FH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QXVCO0FBZXRCO0lBQWhCLGFBQWEsRUFBRTt3REFBMEI7MkZBeEN4QyxpQkFBaUI7a0JBRDdCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxlQUFlLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU16RCxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUtvQixJQUFJO3NCQUE3QixLQUFLO2dCQUttQixVQUFVO3NCQUFsQyxLQUFLO2dCQUtvQixVQUFVO3NCQUFuQyxLQUFLO2dCQUtHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLb0IsYUFBYTtzQkFBdEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWERhdGFDb252ZXJ0LFxyXG4gIFhQcm9wZXJ0eSxcclxuICBYRGF0YSxcclxuICBYSW5wdXRCb29sZWFuLFxyXG4gIFhQYXJlbnRJZGVudGl0eVByb3BlcnR5LFxyXG4gIFhOdW1iZXIsXHJcbiAgWEJvb2xlYW4sXHJcbiAgWElucHV0TnVtYmVyLFxyXG4gIFhJZGVudGl0eVByb3BlcnR5LFxyXG4gIFhXaXRoQ29uZmlnLFxyXG4gIFhBbGlnblxyXG59IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dCwgVGVtcGxhdGVSZWYsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2RrRHJhZ0VuZCwgQ2RrRHJhZ01vdmUsIENka0RyYWdTdGFydCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5cclxuLyoqXHJcbiAqIFRyZWVcclxuICogQHNlbGVjdG9yIHgtdHJlZVxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUcmVlUHJlZml4ID0gJ3gtdHJlZSc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAndHJlZSc7XHJcblxyXG4vKipcclxuICogVHJlZSBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiBgJHtYVHJlZVByZWZpeH0tcHJvcGVydHlgLCB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUcmVlUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgTm9kZSBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhEYXRhQ29udmVydCgpIGRhdGE6IFhEYXRhPFhUcmVlTm9kZT4gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65aSa6YCJ5qGGXHJcbiAgICogQGVuX1VTIFNob3cgY2hlY2tib3hcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGNoZWNrYm94PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWQr+aHkuWKoOi9veiKgueCue+8jGRhdGEg5b+F6aG76K6+572u5oiQ5Ye95pWw57G75Z6LXHJcbiAgICogQGVuX1VTIE9wZW4gbGF6eSBsb2FkaW5nIG5vZGUsIGRhdGEgbXVzdCBiZSBzZXQgdG8gZnVuY3Rpb24gdHlwZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbGF6eT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3mv4DmtLvnmoToioLngrkgSWQsIOW9kyBtdWx0aXBsZSDkuLogdHJ1ZSDml7bvvIzlgLzkuLrmlbDnu4TvvIjpu5jorqTmmK8gSWQg5pWw57uE77yMb2JqZWN0QXJyYXkg5Li6IHRydWXvvIzlr7nosaHmlbDnu4TvvIlcclxuICAgKiBAZW5fVVMgQ3VycmVudGx5IGFjdGl2ZSBub2RlIElkLiBXaGVuIE11bHRpcGxlIGlzIHRydWUsIHRoZSB2YWx1ZSBpcyB0aGUgSWQgYXJyYXlcclxuICAgKi9cclxuICBASW5wdXQoKSBhY3RpdmF0ZWRJZDogYW55O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXlvIDnmoToioLngrlcclxuICAgKiBAZW5fVVMgRXhwYW5kZWQgbm9kZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGV4cGFuZGVkOiBhbnlbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBjaGVja2JveCDpgInkuK3nmoToioLngrlcclxuICAgKiBAZW5fVVMgQ2hlY2tib3ggc2VsZWN0ZWQgbm9kZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNoZWNrZWQ6IGFueVtdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleW8gOaJgOacieiKgueCuVxyXG4gICAqIEBlbl9VUyBFeHBhbmQgYWxsIG5vZGVzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBleHBhbmRlZEFsbD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpu5jorqTlsZXlvIDnmoTlsYLnuqdcclxuICAgKiBAZW5fVVMgRGVmYXVsdCBleHBhbmRlZCBsZXZlbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBleHBhbmRlZExldmVsOiBYTnVtYmVyID0gLTE7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOeCueWHu+iKgueCueWwseinpuWPkeWxleW8gC/mlLbotbfnmoTmk43kvZzvvIzor7fnoa7kv53oioLngrnkuIrmsqHmnInlhbblroPmk43kvZzvvIhjaGVja2JveOOAgeiHquWumuS5ieeahOaTjeS9nOaMiemSru+8iVxyXG4gICAqIEBlbl9VUyBDbGljayB0aGUgbm9kZSB0byB0cmlnZ2VyIHRoZSBleHBhbmQvY29sbGFwc2Ugb3BlcmF0aW9uLCBwbGVhc2UgbWFrZSBzdXJlIHRoYXQgdGhlcmUgYXJlIG5vIG90aGVyIG9wZXJhdGlvbnMgb24gdGhlIG5vZGUgKGNoZWNrYm94LCBjdXN0b20gb3BlcmF0aW9uIGJ1dHRvbilcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG5vZGVPcGVuPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleS9jemXtOi3ne+8jOi/meS4quS4juWxgue6p+eahOS5mOenr+eul+WHuuiKgueCueeahOW3pui+uei3ne+8jOWNleS9jSByZW1cclxuICAgKiBAZW5fVVMgVW5pdCBzcGFjaW5nLCB0aGUgcHJvZHVjdCBvZiB0aGlzIGFuZCB0aGUgbGV2ZWwgY2FsY3VsYXRlcyB0aGUgbGVmdCBtYXJnaW4gb2YgdGhlIG5vZGUsIHRoZSB1bml0IGlzIHJlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYTnVtYmVyPihYX0NPTkZJR19OQU1FLCAxLjUpIEBYSW5wdXROdW1iZXIoKSBzcGFjaW5nPzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIExhYmVsIGN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsVHBsPzogVGVtcGxhdGVSZWY8dm9pZD47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueeahOmrmOW6pu+8jOWNleS9jSByZW0sIOm7mOiupCAwIOaYr+iHqumAguW6lOmrmOW6plxyXG4gICAqIEBlbl9VUyBUaGUgaGVpZ2h0IG9mIHRoZSBub2RlIGluIHJlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYTnVtYmVyPihYX0NPTkZJR19OQU1FLCAwKSBAWElucHV0TnVtYmVyKCkgbm9kZUhlaWdodCE6IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuWFgeiuuOWkmuasoeeCueWHu+S4gOS4quiKgueCueinpuWPkeWkmuasoeS6i+S7tlxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGFsbG93IG11bHRpcGxlIGNsaWNrcyBvbiBhIG5vZGUgdG8gdHJpZ2dlciBtdWx0aXBsZSBldmVudHNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGFsbG93TWFueUFjdGl2YXRlZD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmi5bliqjoioLngrlcclxuICAgKiBAZW5fVVMgRHJhZyBub2RlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBkcmFnPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjeeCueWHu+mAieS4reeahOiKgueCueWPmOWMlueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBUaGUgZXZlbnQgb2YgdGhlIGN1cnJlbnRseSBjbGlja2VkIG5vZGUgY2hhbmdlXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGFjdGl2YXRlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFRyZWVOb2RlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkvb/nlKggY2hlY2tlZGJveCDpgInkuK3lj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgVXNlIGNoZWNrZWRib3ggdG8gc2VsZWN0IGNoYW5nZWQgZXZlbnRzXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGNoZWNrYm94Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxYVHJlZU5vZGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWmguaenCBkYXRhIOaYr+WHveaVsOexu+Wei++8jOWPr+S7pemAmui/h+atpOWPguaVsOaOp+WItuivt+axgu+8jOW4uOeUqOS6juW8ueahhuS4reeahOihqOagvO+8jOW8ueWHuuWQjuWGjeivt+axglxyXG4gICAqIEBlbl9VUyBJZiBkYXRhIGlzIGEgZnVuY3Rpb24gdHlwZSwgeW91IGNhbiB1c2UgdGhpcyBwYXJhbWV0ZXIgdG8gY29udHJvbCB0aGUgcmVxdWVzdCwgd2hpY2ggaXMgb2Z0ZW4gdXNlZCBpbiB0aGUgZm9ybSBpbiB0aGUgcG9wLXVwIGJveCwgYW5kIHRoZW4gcmVxdWVzdCBpdCBhZnRlciBpdCBwb3BzIHVwXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBtYW51YWw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBjaGVja2JveCDnirbmgIHmlLnlj5jop6blj5HlsYLnuqfmo4Dmn6VcclxuICAgKiBAZW5fVVMgQ2hlY2tib3ggc3RhdHVzIGNoYW5nZXMgdHJpZ2dlciBsZXZlbCBjaGVja3NcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGxldmVsQ2hlY2s6IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55YaF5a655LiN5o2i6KGM5pi+56S655yB55Wl5Y+3XHJcbiAgICogQGVuX1VTIFNob3cgZWxsaXBzaXMgd2l0aG91dCB3cmFwcGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbm9kZU5vd3JhcDogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnlnoLnm7Tlr7npvZDmlrnlvI9cclxuICAgKiBAZW5fVVMgU2hvdyBlbGxpcHNpcyB3aXRob3V0IHdyYXBwaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhBbGlnbj4oWF9DT05GSUdfTkFNRSwgJ2NlbnRlcicpIG5vZGVBbGlnbkl0ZW1zITogWEFsaWduO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHoioLngrnmk43kvZzmjInpkq5cclxuICAgKiBAZW5fVVMgVHJlZSBub2RlIG9wZXJhdGlvbiBidXR0b25zXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWN0aW9uczogWFRyZWVBY3Rpb25bXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmu5rliqjljLrln5/lhYPntKBcclxuICAgKiBAZW5fVVMgUm9sbGluZyBhcmVhIGVsZW1lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGxFbGVtZW50PzogSFRNTEVsZW1lbnQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWQr+iZmuaLn+a7muWKqFxyXG4gICAqIEBlbl9VUyBUdXJuIG9uIHZpcnR1YWwgc2Nyb2xsaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FKSBAWElucHV0Qm9vbGVhbigpIHZpcnR1YWxTY3JvbGwhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5rua5Yqo5Yy65Z+f6auY5bqm77yM5byA5ZCv6Jma5ouf5rua5Yqo55qE5pe25YCZ55Sf5pWIXHJcbiAgICogQGVuX1VTIFJvbGxpbmcgYXJlYSBoZWlnaHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8bnVtYmVyPihYX0NPTkZJR19OQU1FLCA0MDApIEBYSW5wdXROdW1iZXIoKSB2aXJ0dWFsU2Nyb2xsSGVpZ2h0ITogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDomZrmi5/mu5rliqjpq5jluqboh6rpgILlupTmjIflrprlhYPntKBcclxuICAgKiBAZW5fVVMgdmlydHVhbCByb2xsaW5nIGhlaWdodCBmb2xsb3dzIHRoZSBzcGVjaWZpZWQgb2JqZWN0XHJcbiAgICovXHJcbiAgQElucHV0KCkgaGVpZ2h0QWRhcHRpb24hOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IEhUTUxFbGVtZW50O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBpdGVtU2l6Ze+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsO+8jOW8gOWQr+iZmuaLn+a7muWKqOaJjeeUn+aViFxyXG4gICAqIEBlbl9VUyBpdGVtU2l6Ze+8jGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxudW1iZXI+KFhfQ09ORklHX05BTUUsIDI2KSBAWElucHV0TnVtYmVyKCkgaXRlbVNpemUhOiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi2heWHuuWPr+inhueql+WPo+e8k+WGsuWMuueahOacgOWwj+WAvO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsO+8jOW8gOWQr+iZmuaLn+a7muWKqOaJjeeUn+aViFxyXG4gICAqIEBlbl9VUyBFeGNlZWQgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHZpc2libGUgd2luZG93IGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWluQnVmZmVyUHg6IG51bWJlciA9IDEwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5riy5p+T5paw5pWw5o2u57yT5Yay5Yy655qE5YOP57Sg77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWw77yM5byA5ZCv6Jma5ouf5rua5Yqo5omN55Sf5pWIXHJcbiAgICogQGVuX1VTIFJlbmRlciB0aGUgcGl4ZWxzIG9mIHRoZSBuZXcgZGF0YSBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1heEJ1ZmZlclB4OiBudW1iZXIgPSAyMDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAieWKn+iDve+8jOW9k+WJjea/gOa0u+eahOiKgueCueWPr+S7peaYr+WkmuS4qlxyXG4gICAqIEBlbl9VUyBNdWx0aXBsZSBjaG9pY2VcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG11bHRpcGxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+W8gOWQr+WkmumAieeahOaXtuWAme+8jGFjdGl2YXRlZElkIOeahOWAvOS4uuWvueixoeaVsOe7hFxyXG4gICAqIEBlbl9VUyBXaGVuIG11bHRpcGxlIHNlbGVjdGlvbiBpcyBlbmFibGVkLCB0aGUgdmFsdWUgb2YgYWN0aXZhdGVkSWQgaXMgYW4gYXJyYXkgb2Ygb2JqZWN0c1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgb2JqZWN0QXJyYXk/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWz6ZSu5a2X6auY5Lqu77yM6ZKI5a+55LiL5ouJ5qCR5pCc57SiXHJcbiAgICogQGVuX1VTIEtleXdvcmQgaGlnaGxpZ2h0aW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkga2V5d29yZFRleHQhOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Yy56YWN5YWz6ZSu5a2X5Yy65YiG5aSn5bCP5YaZ77yM6ZKI5a+55LiL5ouJ5qCR5pCc57SiXHJcbiAgICogQGVuX1VTIENhc2Utc2Vuc2l0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIGNhc2VTZW5zaXRpdmUhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+q6IO96YCJ5oup5Y+25a2Q6IqC54K5XHJcbiAgICogQGVuX1VTIE9ubHkgbGVhZiBub2RlcyBjYW4gYmUgc2VsZWN0ZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIG9ubHlMZWFmITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleW8gOaUtui1t+eahOWbvuagh+iHquWumuS5ieaooeeJiFxyXG4gICAqIEBlbl9VUyBFeHBhbmQgdGhlIGZvbGRlZCBpY29uIGN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGV4cGFuZGVkSWNvbj86IFRlbXBsYXRlUmVmPHZvaWQ+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrov57mjqXnur9cclxuICAgKiBAZW5fVVMgU2hvdyBsaW5lXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBzaG93TGluZSE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlj4LmlbDmjqfliLbor7fmsYLmlLnlj5jkuovku7ZcclxuICAgKiBAZW5fVVMgUGFyYW1ldGVyIGNvbnRyb2wgcmVxdWVzdCBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbWFudWFsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnngrnlh7vkuovku7ZcclxuICAgKiBAZW5fVVMgTm9kZSBjbGljayBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBub2RlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFhUcmVlTm9kZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K554K55Ye75LqL5Lu2XHJcbiAgICogQGVuX1VTIE5vZGUgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgYWN0aXZhdGVkSWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55byA5aeL5ouW5Yqo5LqL5Lu2XHJcbiAgICogQGVuX1VTIE5vZGUgZHJhZyBzdGFydGVkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG5vZGVEcmFnU3RhcnRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8WFRyZWVOb2RlRHJhZ0V2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnnu5PmnZ/mi5bliqjkuovku7ZcclxuICAgKiBAZW5fVVMgTm9kZSBkcmFnIGVuZGVkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG5vZGVEcmFnRW5kZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFhUcmVlTm9kZURyYWdFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55q2j5Zyo5ouW5Yqo5LqL5Lu2XHJcbiAgICogQGVuX1VTIE5vZGUgZHJhZyBtb3ZlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBub2RlRHJhZ01vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxYVHJlZU5vZGVEcmFnRXZlbnQ+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04gVHJlZSDmlbDmja7lr7nosaFcclxuICogQGVuX1VTIFRyZWUgZGF0YSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRyZWVOb2RlIGV4dGVuZHMgWFBhcmVudElkZW50aXR5UHJvcGVydHk8WFRyZWVOb2RlPiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa/gOa0u+eahFxyXG4gICAqIEBlbl9VUyBhY3RpdmVcclxuICAgKi9cclxuICBhY3RpdmF0ZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmo4Dmn6Xmm7TmlrBcclxuICAgKiBAZW5fVVMgQ2hlY2sgZm9yIHVwZGF0ZXNcclxuICAgKi9cclxuICBjaGFuZ2U/OiBGdW5jdGlvbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gY2hlY2tib3gg5piv5ZCm6YCJ5LitXHJcbiAgICogQGVuX1VTIHdoZXRoZXIgY2hlY2tib3ggaXMgc2VsZWN0ZWRcclxuICAgKi9cclxuICBjaGVja2VkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55SoY2hlY2tib3hcclxuICAgKiBAZW5fVVMgRGlzYWJsZSBjaGVja2JveFxyXG4gICAqL1xyXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gY2hlY2tib3gg5a2Q6IqC54K55piv5ZCm5pyJ6YCJ5Lit55qE54q25oCBXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdGhlIGNoaWxkIG5vZGUgb2YgY2hlY2tib3ggaXMgc2VsZWN0ZWRcclxuICAgKi9cclxuICBpbmRldGVybWluYXRlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K56auY5bqm77yM5LyY5YWI57qn6auY5LqOIHRyZWUg5Y+C5pWw77yM5Y2V5L2NIHJlbVxyXG4gICAqIEBlbl9VUyBOb2RlIGhlaWdodCBpbiByZW0sIGhpZ2hlc3QgcHJpb3JpdHlcclxuICAgKi9cclxuICBoZWlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueWGheWuueS4jeaNouihjOaYvuekuuecgeeVpeWPt++8jOS8mOWFiOe6p+mrmOS6jiB0cmVlIOWPguaVsFxyXG4gICAqIEBlbl9VUyBTaG93IGVsbGlwc2lzIHdpdGhvdXQgd3JhcHBpbmcsIGhpZ2hlc3QgcHJpb3JpdHlcclxuICAgKi9cclxuICBub3dyYXA/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnlnoLnm7Tlr7npvZDmlrnlvI/vvIzkvJjlhYjnuqfpq5jkuo4gdHJlZSDlj4LmlbBcclxuICAgKiBAZW5fVVMgU2hvdyBlbGxpcHNpcyB3aXRob3V0IHdyYXBwaW5nLCBoaWdoZXN0IHByaW9yaXR5XHJcbiAgICovXHJcbiAgYWxpZ25JdGVtcz86IFhBbGlnbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55oeS5Yqg6L295LitXHJcbiAgICogQGVuX1VTIE5vZGUgbGF6eSBsb2FkaW5nXHJcbiAgICovXHJcbiAgbG9hZGluZz86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuaLluWKqOaMh+ekuuWZqFxyXG4gICAqIEBlbl9VUyBTaG93IGRyYWcgaW5kaWNhdG9yXHJcbiAgICovXHJcbiAgc2hvd0RyYWdJbmRpY2F0b3I/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZ7mgKdcclxuICAgKiBAZW5fVVMgQ3VzdG9tIGF0dHJpYnV0ZXNcclxuICAgKi9cclxuICBbcHJvcGVydHk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiBUcmVlIOiKgueCueaTjeS9nFxyXG4gKiBAZW5fVVMgVHJlZSBub2RlIG9wZXJhdGlvblxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVHJlZUFjdGlvbiBleHRlbmRzIFhJZGVudGl0eVByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pON5L2cXHJcbiAgICogQGVuX1VTIE9wZXJhdGluZ1xyXG4gICAqL1xyXG4gIGhhbmRsZXI/OiBGdW5jdGlvbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu+5qCHXHJcbiAgICogQGVuX1VTIEljb25cclxuICAgKi9cclxuICBpY29uPzogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIFRyZWUg6IqC54K55ouW5Yqo5LqL5Lu2XHJcbiAqIEBlbl9VUyBUcmVlIG5vZGUgZHJhZyBldmVudFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVHJlZU5vZGVEcmFnRXZlbnQge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlr7nlupQgY2RrIOS4reeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBkcmFnIGNkayBldmVudFxyXG4gICAqL1xyXG4gIGV2ZW50PzogQ2RrRHJhZ1N0YXJ0IHwgQ2RrRHJhZ0VuZCB8IENka0RyYWdNb3ZlPFhUcmVlTm9kZT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOeahOiKgueCuVxyXG4gICAqIEBlbl9VUyBkcmFnIG5vZGVcclxuICAgKi9cclxuICBmcm9tPzogWFRyZWVOb2RlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDopoHmi5bliqjliLDnmoTkvY3nva7lr7nlupTnmoToioLngrlcclxuICAgKiBAZW5fVVMgTm9kZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBwb3NpdGlvbiB0byBkcmFnXHJcbiAgICovXHJcbiAgdG8/OiBYVHJlZU5vZGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWvueW6lOiKgueCueeahOWJjemdoui/mOaYr+WQjumdolxyXG4gICAqIEBlbl9VUyBUaGUgZnJvbnQgb3IgYmFjayBvZiB0aGUgY29ycmVzcG9uZGluZyBub2RlXHJcbiAgICovXHJcbiAgcG9zaXRpb24/OiAtMSB8IDE7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUcmVlTm9kZVxyXG4gKiBAc2VsZWN0b3IgeC10cmVlLW5vZGVcclxuICogQGRlY29yYXRvciBkaXJlY3RpdmVcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVHJlZU5vZGVQcmVmaXggPSAneC10cmVlLW5vZGUnO1xyXG5cclxuLyoqXHJcbiAqIFRyZWVOb2RlIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hUcmVlTm9kZVByZWZpeH0tcHJvcGVydHlgLCB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUcmVlTm9kZVByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55pWw5o2uXHJcbiAgICogQGVuX1VTIE5vZGUgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG5vZGU6IFhUcmVlTm9kZSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsYLnuqdcclxuICAgKiBAZW5fVVMgTGV2ZWxcclxuICAgKi9cclxuICBASW5wdXQoKSBsZXZlbD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaHkuWKoOi9veWtkOiKgueCuVxyXG4gICAqIEBlbl9VUyBMYXp5IGxvYWRpbmcgb2YgY2hpbGQgbm9kZXNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGxhenk/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K555qE6auY5bqm77yM5Y2V5L2NIHJlbVxyXG4gICAqIEBlbl9VUyBUaGUgaGVpZ2h0IG9mIHRoZSBub2RlIGluIHJlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBub2RlSGVpZ2h0OiBYTnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55YaF5a655LiN5o2i6KGM5pi+56S655yB55Wl5Y+3XHJcbiAgICogQGVuX1VTIFNob3cgZWxsaXBzaXMgd2l0aG91dCB3cmFwcGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbm9kZU5vd3JhcD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnlnoLnm7Tlr7npvZDmlrnlvI9cclxuICAgKiBAZW5fVVMgU2hvdyBlbGxpcHNpcyB3aXRob3V0IHdyYXBwaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgbm9kZUFsaWduSXRlbXM6IFhBbGlnbiA9ICdjZW50ZXInO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmh5LliqDovb3lh73mlbBcclxuICAgKiBAZW5fVVMgTGF6eSBsb2FkaW5nIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgbGF6eURhdGEhOiBYRGF0YTxYVHJlZU5vZGVbXT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+iusOS4uuiZmuaLn+a7muWKqOeahOiKgueCuVxyXG4gICAqIEBlbl9VUyBNYXJrIGFzIGEgbm9kZSBvZiB2aXJ0dWFsIHJvbGxpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHZpcnR1YWxTY3JvbGw/OiBYQm9vbGVhbjtcclxufVxyXG4iXX0=
336
+ }] });
337
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RyZWUvdHJlZS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RyxPQUFPLEVBQWUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUk3RTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQztBQUNwQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQztBQUVsQzs7R0FFRztBQUVILE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCLENBQUMsa0JBQWtCLENBQUM7SUFEeEU7O1FBRUU7OztXQUdHO1FBQ00sU0FBSSxHQUFHLEtBQUssQ0FBbUIsRUFBRSxDQUFDLENBQUM7UUFDNUM7OztXQUdHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBb0IsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDL0U7OztXQUdHO1FBQ00sU0FBSSxHQUFHLEtBQUssQ0FBb0IsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDM0U7OztXQUdHO1FBQ00sZ0JBQVcsR0FBRyxLQUFLLENBQU0sSUFBSSxDQUFDLENBQUM7UUFDeEM7OztXQUdHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBUSxFQUFFLENBQUMsQ0FBQztRQUNyQzs7O1dBR0c7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDOzs7V0FHRztRQUNNLGdCQUFXLEdBQUcsS0FBSyxDQUFvQixLQUFLLEVBQUUsRUFBRSxTQUFTLEVB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Ozs7V0FHRztRQUNNLFdBQU0sR0FBRyxLQUFLLENBQXNCLEtBQUssQ0FBQyxDQUFDO1FBQ3BEOzs7V0FHRztRQUNNLFdBQU0sR0FBRyxNQUFNLEVBQWEsQ0FBQztLQUN2QztpSUFoR1ksaUJBQWlCO3FIQUFqQixpQkFBaUIsbXpGQURrQyxFQUFFOzsyRkFDckQsaUJBQWlCO2tCQUQ3QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsZUFBZSxXQUFXLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhQcm9wZXJ0eSwgWFByb3BlcnR5RnVuY3Rpb24sIFhUb0Jvb2xlYW4sIFhUb051bWJlciwgWFRvQ3NzUGl4ZWxWYWx1ZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVJlZiwgQ29tcG9uZW50LCBpbnB1dCwgb3V0cHV0LCBtb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDZGtEcmFnRW5kLCBDZGtEcmFnTW92ZSwgQ2RrRHJhZ1N0YXJ0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB0eXBlIHsgWERhdGEsIFhQYXJlbnRJZGVudGl0eVByb3BlcnR5LCBYTnVtYmVyLCBYQm9vbGVhbiwgWElkZW50aXR5UHJvcGVydHksIFhBbGlnbiB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIFRyZWVcclxuICogQHNlbGVjdG9yIHgtdHJlZVxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUcmVlUHJlZml4ID0gJ3gtdHJlZSc7XHJcbmNvbnN0IFhfVFJFRV9DT05GSUdfTkFNRSA9ICd0cmVlJztcclxuXHJcbi8qKlxyXG4gKiBUcmVlIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hUcmVlUHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFRyZWVQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eUZ1bmN0aW9uKFhfVFJFRV9DT05GSUdfTkFNRSkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgTm9kZSBkYXRhXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZGF0YSA9IGlucHV0PFhEYXRhPFhUcmVlTm9kZT4+KFtdKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65aSa6YCJ5qGGXHJcbiAgICogQGVuX1VTIFNob3cgY2hlY2tib3hcclxuICAgKi9cclxuICByZWFkb25seSBjaGVja2JveCA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWQr+aHkuWKoOi9veiKgueCue+8jGRhdGEg5b+F6aG76K6+572u5oiQ5Ye95pWw57G75Z6LXHJcbiAgICogQGVuX1VTIE9wZW4gbGF6eSBsb2FkaW5nIG5vZGUsIGRhdGEgbXVzdCBiZSBzZXQgdG8gZnVuY3Rpb24gdHlwZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGxhenkgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3mv4DmtLvnmoToioLngrkgSWQsIOW9kyBtdWx0aXBsZSDkuLogdHJ1ZSDml7bvvIzlgLzkuLrmlbDnu4TvvIjpu5jorqTmmK8gSWQg5pWw57uE77yMb2JqZWN0QXJyYXkg5Li6IHRydWXvvIzlr7nosaHmlbDnu4TvvIlcclxuICAgKiBAZW5fVVMgQ3VycmVudGx5IGFjdGl2ZSBub2RlIElkLiBXaGVuIE11bHRpcGxlIGlzIHRydWUsIHRoZSB2YWx1ZSBpcyB0aGUgSWQgYXJyYXlcclxuICAgKi9cclxuICByZWFkb25seSBhY3RpdmF0ZWRJZCA9IG1vZGVsPGFueT4obnVsbCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleW8gOeahOiKgueCuVxyXG4gICAqIEBlbl9VUyBFeHBhbmRlZCBub2RlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZXhwYW5kZWQgPSBtb2RlbDxhbnlbXT4oW10pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBjaGVja2JveCDpgInkuK3nmoToioLngrlcclxuICAgKiBAZW5fVVMgQ2hlY2tib3ggc2VsZWN0ZWQgbm9kZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNoZWNrZWQgPSBtb2RlbDxhbnlbXT4oW10pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXlvIDmiYDmnInoioLngrlcclxuICAgKiBAZW5fVVMgRXhwYW5kIGFsbCBub2Rlc1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGV4cGFuZGVkQWxsID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6buY6K6k5bGV5byA55qE5bGC57qnXHJcbiAgICogQGVuX1VTIERlZmF1bHQgZXhwYW5kZWQgbGV2ZWxcclxuICAgKi9cclxuICByZWFkb25seSBleHBhbmRlZExldmVsID0gaW5wdXQ8bnVtYmVyLCBYTnVtYmVyPigtMSwgeyB0cmFuc2Zvcm06IFhUb051bWJlciB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g54K55Ye76IqC54K55bCx6Kem5Y+R5bGV5byAL+aUtui1t+eahOaTjeS9nO+8jOivt+ehruS/neiKgueCueS4iuayoeacieWFtuWug+aTjeS9nO+8iGNoZWNrYm9444CB6Ieq5a6a5LmJ55qE5pON5L2c5oyJ6ZKu77yJXHJcbiAgICogQGVuX1VTIENsaWNrIHRoZSBub2RlIHRvIHRyaWdnZXIgdGhlIGV4cGFuZC9jb2xsYXBzZSBvcGVyYXRpb24sIHBsZWFzZSBtYWtlIHN1cmUgdGhhdCB0aGVyZSBhcmUgbm8gb3RoZXIgb3BlcmF0aW9ucyBvbiB0aGUgbm9kZSAoY2hlY2tib3gsIGN1c3RvbSBvcGVyYXRpb24gYnV0dG9uKVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG5vZGVPcGVuID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y2V5L2N6Ze06Led77yM6L+Z5Liq5LiO5bGC57qn55qE5LmY56ev566X5Ye66IqC54K555qE5bem6L656LedXHJcbiAgICogQGVuX1VTIFVuaXQgc3BhY2luZywgdGhlIHByb2R1Y3Qgb2YgdGhpcyBhbmQgdGhlIGxldmVsIGNhbGN1bGF0ZXMgdGhlIGxlZnQgbWFyZ2luIG9mIHRoZSBub2RlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc3BhY2luZyA9IGlucHV0PHN0cmluZywgWE51bWJlcj4odGhpcy5jb25maWc/LnNwYWNpbmcgPz8gJzEuNXJlbScsIHsgdHJhbnNmb3JtOiBYVG9Dc3NQaXhlbFZhbHVlIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIfnrb7oh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgTGFiZWwgY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbGFiZWxUcGwgPSBpbnB1dDxUZW1wbGF0ZVJlZjx2b2lkPj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K555qE6auY5bqmLCDpu5jorqTmmK/oh6rpgILlupTpq5jluqZcclxuICAgKiBAZW5fVVMgVGhlIGhlaWdodCBvZiB0aGUgbm9kZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG5vZGVIZWlnaHQgPSBpbnB1dDxzdHJpbmcsIFhOdW1iZXI+KHRoaXMuY29uZmlnPy5ub2RlSGVpZ2h0ID8/ICcnLCB7IHRyYW5zZm9ybTogWFRvQ3NzUGl4ZWxWYWx1ZSB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5YWB6K645aSa5qyh54K55Ye75LiA5Liq6IqC54K56Kem5Y+R5aSa5qyh5LqL5Lu2XHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gYWxsb3cgbXVsdGlwbGUgY2xpY2tzIG9uIGEgbm9kZSB0byB0cmlnZ2VyIG11bHRpcGxlIGV2ZW50c1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGFsbG93TWFueUFjdGl2YXRlZCA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOiKgueCuVxyXG4gICAqIEBlbl9VUyBEcmFnIG5vZGVcclxuICAgKi9cclxuICByZWFkb25seSBkcmFnID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN54K55Ye76YCJ5Lit55qE6IqC54K55Y+Y5YyW55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFRoZSBldmVudCBvZiB0aGUgY3VycmVudGx5IGNsaWNrZWQgbm9kZSBjaGFuZ2VcclxuICAgKi9cclxuICByZWFkb25seSBhY3RpdmF0ZWRDaGFuZ2UgPSBvdXRwdXQ8WFRyZWVOb2RlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkvb/nlKggY2hlY2tlZGJveCDpgInkuK3lj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgVXNlIGNoZWNrZWRib3ggdG8gc2VsZWN0IGNoYW5nZWQgZXZlbnRzXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY2hlY2tib3hDaGFuZ2UgPSBvdXRwdXQ8WFRyZWVOb2RlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpoLmnpwgZGF0YSDmmK/lh73mlbDnsbvlnovvvIzlj6/ku6XpgJrov4fmraTlj4LmlbDmjqfliLbor7fmsYLvvIznlKjkuo7lvLnmoYbkuK3nmoTooajmoLzvvIzlvLnlh7rlkI7lho3or7fmsYJcclxuICAgKiBAZW5fVVMgSWYgZGF0YSBpcyBhIGZ1bmN0aW9uIHR5cGUsIHlvdSBjYW4gdXNlIHRoaXMgcGFyYW1ldGVyIHRvIGNvbnRyb2wgdGhlIHJlcXVlc3QsIHdoaWNoIGlzIG9mdGVuIHVzZWQgaW4gdGhlIGZvcm0gaW4gdGhlIHBvcC11cCBib3gsIGFuZCB0aGVuIHJlcXVlc3QgaXQgYWZ0ZXIgaXQgcG9wcyB1cFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG1hbnVhbCA9IG1vZGVsPGJvb2xlYW4+KHRydWUpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBjaGVja2JveCDnirbmgIHmlLnlj5jop6blj5HlsYLnuqfmo4Dmn6VcclxuICAgKiBAZW5fVVMgQ2hlY2tib3ggc3RhdHVzIGNoYW5nZXMgdHJpZ2dlciBsZXZlbCBjaGVja3NcclxuICAgKi9cclxuICByZWFkb25seSBsZXZlbENoZWNrID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRydWUsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnlhoXlrrnkuI3mjaLooYzmmL7npLrnnIHnlaXlj7dcclxuICAgKiBAZW5fVVMgU2hvdyBlbGxpcHNpcyB3aXRob3V0IHdyYXBwaW5nXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbm9kZU5vd3JhcCA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0cnVlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55Z6C55u05a+56b2Q5pa55byPXHJcbiAgICogQGVuX1VTIFNob3cgZWxsaXBzaXMgd2l0aG91dCB3cmFwcGluZ1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG5vZGVBbGlnbkl0ZW1zID0gaW5wdXQ8WEFsaWduPih0aGlzLmNvbmZpZz8ubm9kZUFsaWduSXRlbXMgPz8gJ2NlbnRlcicpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHoioLngrnmk43kvZzmjInpkq5cclxuICAgKiBAZW5fVVMgVHJlZSBub2RlIG9wZXJhdGlvbiBidXR0b25zXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgYWN0aW9ucyA9IGlucHV0PFhUcmVlQWN0aW9uW10+KFtdKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5rua5Yqo5Yy65Z+f5YWD57SgXHJcbiAgICogQGVuX1VTIFJvbGxpbmcgYXJlYSBlbGVtZW50XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2Nyb2xsRWxlbWVudCA9IGlucHV0PEhUTUxFbGVtZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlkK/omZrmi5/mu5rliqhcclxuICAgKiBAZW5fVVMgVHVybiBvbiB2aXJ0dWFsIHNjcm9sbGluZ1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHZpcnR1YWxTY3JvbGwgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LnZpcnR1YWxTY3JvbGwgPz8gZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmu5rliqjljLrln5/pq5jluqbvvIzlvIDlkK/omZrmi5/mu5rliqjnmoTml7blgJnnlJ/mlYhcclxuICAgKiBAZW5fVVMgUm9sbGluZyBhcmVhIGhlaWdodFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHZpcnR1YWxTY3JvbGxIZWlnaHQgPSBpbnB1dDxzdHJpbmcsIFhOdW1iZXI+KHRoaXMuY29uZmlnPy52aXJ0dWFsU2Nyb2xsSGVpZ2h0ID8/ICc0MDBweCcsIHtcclxuICAgIHRyYW5zZm9ybTogWFRvQ3NzUGl4ZWxWYWx1ZVxyXG4gIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDomZrmi5/mu5rliqjpq5jluqboh6rpgILlupTmjIflrprlhYPntKBcclxuICAgKiBAZW5fVVMgdmlydHVhbCByb2xsaW5nIGhlaWdodCBmb2xsb3dzIHRoZSBzcGVjaWZpZWQgb2JqZWN0XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgaGVpZ2h0QWRhcHRpb24gPSBpbnB1dDxIVE1MRWxlbWVudD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gaXRlbVNpemXvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbDvvIzlvIDlkK/omZrmi5/mu5rliqjmiY3nlJ/mlYhcclxuICAgKiBAZW5fVVMgaXRlbVNpemXvvIxjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICByZWFkb25seSBpdGVtU2l6ZSA9IGlucHV0PG51bWJlciwgWE51bWJlcj4odGhpcy5jb25maWc/Lml0ZW1TaXplID8/IDM0LCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDotoXlh7rlj6/op4bnqpflj6PnvJPlhrLljLrnmoTmnIDlsI/lgLzvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbDvvIzlvIDlkK/omZrmi5/mu5rliqjmiY3nlJ/mlYhcclxuICAgKiBAZW5fVVMgRXhjZWVkIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB2aXNpYmxlIHdpbmRvdyBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG1pbkJ1ZmZlclB4ID0gaW5wdXQ8bnVtYmVyLCBYTnVtYmVyPigxMDAsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa4suafk+aWsOaVsOaNrue8k+WGsuWMuueahOWDj+e0oO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsO+8jOW8gOWQr+iZmuaLn+a7muWKqOaJjeeUn+aViFxyXG4gICAqIEBlbl9VUyBSZW5kZXIgdGhlIHBpeGVscyBvZiB0aGUgbmV3IGRhdGEgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICByZWFkb25seSBtYXhCdWZmZXJQeCA9IGlucHV0PG51bWJlciwgWE51bWJlcj4oMjAwLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrpgInlip/og73vvIzlvZPliY3mv4DmtLvnmoToioLngrnlj6/ku6XmmK/lpJrkuKpcclxuICAgKiBAZW5fVVMgTXVsdGlwbGUgY2hvaWNlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbXVsdGlwbGUgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPlvIDlkK/lpJrpgInnmoTml7blgJnvvIxhY3RpdmF0ZWRJZCDnmoTlgLzkuLrlr7nosaHmlbDnu4RcclxuICAgKiBAZW5fVVMgV2hlbiBtdWx0aXBsZSBzZWxlY3Rpb24gaXMgZW5hYmxlZCwgdGhlIHZhbHVlIG9mIGFjdGl2YXRlZElkIGlzIGFuIGFycmF5IG9mIG9iamVjdHNcclxuICAgKi9cclxuICByZWFkb25seSBvYmplY3RBcnJheSA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFs+mUruWtl+mrmOS6ru+8jOmSiOWvueS4i+aLieagkeaQnOe0olxyXG4gICAqIEBlbl9VUyBLZXl3b3JkIGhpZ2hsaWdodGluZ1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGtleXdvcmRUZXh0ID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWMuemFjeWFs+mUruWtl+WMuuWIhuWkp+Wwj+WGme+8jOmSiOWvueS4i+aLieagkeaQnOe0olxyXG4gICAqIEBlbl9VUyBDYXNlLXNlbnNpdGl2ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNhc2VTZW5zaXRpdmUgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LmNhc2VTZW5zaXRpdmUgPz8gdHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWPquiDvemAieaLqeWPtuWtkOiKgueCuVxyXG4gICAqIEBlbl9VUyBPbmx5IGxlYWYgbm9kZXMgY2FuIGJlIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgb25seUxlYWYgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/Lm9ubHlMZWFmID8/IGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV5byA5pS26LW355qE5Zu+5qCH6Ieq5a6a5LmJ5qih54mIXHJcbiAgICogQGVuX1VTIEV4cGFuZCB0aGUgZm9sZGVkIGljb24gY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZXhwYW5kZWRJY29uID0gaW5wdXQ8VGVtcGxhdGVSZWY8dm9pZD4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui/nuaOpee6v1xyXG4gICAqIEBlbl9VUyBTaG93IGxpbmVcclxuICAgKi9cclxuICByZWFkb25seSBzaG93TGluZSA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8uc2hvd0xpbmUgPz8gZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnngrnlh7vkuovku7ZcclxuICAgKiBAZW5fVVMgTm9kZSBjbGljayBldmVudFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG5vZGVDbGljayA9IG91dHB1dDxYVHJlZU5vZGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueW8gOWni+aLluWKqOS6i+S7tlxyXG4gICAqIEBlbl9VUyBOb2RlIGRyYWcgc3RhcnRlZFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG5vZGVEcmFnU3RhcnRlZCA9IG91dHB1dDxYVHJlZU5vZGVEcmFnRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCuee7k+adn+aLluWKqOS6i+S7tlxyXG4gICAqIEBlbl9VUyBOb2RlIGRyYWcgZW5kZWRcclxuICAgKi9cclxuICByZWFkb25seSBub2RlRHJhZ0VuZGVkID0gb3V0cHV0PFhUcmVlTm9kZURyYWdFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55q2j5Zyo5ouW5Yqo5LqL5Lu2XHJcbiAgICogQGVuX1VTIE5vZGUgZHJhZyBtb3ZlZFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG5vZGVEcmFnTW92ZWQgPSBvdXRwdXQ8WFRyZWVOb2RlRHJhZ0V2ZW50PigpO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIFRyZWUg5pWw5o2u5a+56LGhXHJcbiAqIEBlbl9VUyBUcmVlIGRhdGEgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUcmVlTm9kZSBleHRlbmRzIFhQYXJlbnRJZGVudGl0eVByb3BlcnR5PFhUcmVlTm9kZT4ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmv4DmtLvnmoRcclxuICAgKiBAZW5fVVMgYWN0aXZlXHJcbiAgICovXHJcbiAgYWN0aXZhdGVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qOA5p+l5pu05pawXHJcbiAgICogQGVuX1VTIENoZWNrIGZvciB1cGRhdGVzXHJcbiAgICovXHJcbiAgY2hhbmdlPzogRnVuY3Rpb247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGNoZWNrYm94IOaYr+WQpumAieS4rVxyXG4gICAqIEBlbl9VUyB3aGV0aGVyIGNoZWNrYm94IGlzIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgY2hlY2tlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqGNoZWNrYm94XHJcbiAgICogQGVuX1VTIERpc2FibGUgY2hlY2tib3hcclxuICAgKi9cclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGNoZWNrYm94IOWtkOiKgueCueaYr+WQpuaciemAieS4reeahOeKtuaAgVxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRoZSBjaGlsZCBub2RlIG9mIGNoZWNrYm94IGlzIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgaW5kZXRlcm1pbmF0ZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCuemrmOW6pu+8jOS8mOWFiOe6p+mrmOS6jiB0cmVlIOWPguaVsFxyXG4gICAqIEBlbl9VUyBOb2RlIGhlaWdodCwgaGlnaGVzdCBwcmlvcml0eVxyXG4gICAqL1xyXG4gIGhlaWdodD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55YaF5a655LiN5o2i6KGM5pi+56S655yB55Wl5Y+377yM5LyY5YWI57qn6auY5LqOIHRyZWUg5Y+C5pWwXHJcbiAgICogQGVuX1VTIFNob3cgZWxsaXBzaXMgd2l0aG91dCB3cmFwcGluZywgaGlnaGVzdCBwcmlvcml0eVxyXG4gICAqL1xyXG4gIG5vd3JhcD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueWeguebtOWvuem9kOaWueW8j++8jOS8mOWFiOe6p+mrmOS6jiB0cmVlIOWPguaVsFxyXG4gICAqIEBlbl9VUyBTaG93IGVsbGlwc2lzIHdpdGhvdXQgd3JhcHBpbmcsIGhpZ2hlc3QgcHJpb3JpdHlcclxuICAgKi9cclxuICBhbGlnbkl0ZW1zPzogWEFsaWduO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmh5LliqDovb3kuK1cclxuICAgKiBAZW5fVVMgTm9kZSBsYXp5IGxvYWRpbmdcclxuICAgKi9cclxuICBsb2FkaW5nPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65ouW5Yqo5oyH56S65ZmoXHJcbiAgICogQGVuX1VTIFNob3cgZHJhZyBpbmRpY2F0b3JcclxuICAgKi9cclxuICBzaG93RHJhZ0luZGljYXRvcj86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxnuaAp1xyXG4gICAqIEBlbl9VUyBDdXN0b20gYXR0cmlidXRlc1xyXG4gICAqL1xyXG4gIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIFRyZWUg6IqC54K55pON5L2cXHJcbiAqIEBlbl9VUyBUcmVlIG5vZGUgb3BlcmF0aW9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUcmVlQWN0aW9uIGV4dGVuZHMgWElkZW50aXR5UHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmk43kvZxcclxuICAgKiBAZW5fVVMgT3BlcmF0aW5nXHJcbiAgICovXHJcbiAgaGFuZGxlcj86IEZ1bmN0aW9uO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm77moIdcclxuICAgKiBAZW5fVVMgSWNvblxyXG4gICAqL1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04gVHJlZSDoioLngrnmi5bliqjkuovku7ZcclxuICogQGVuX1VTIFRyZWUgbm9kZSBkcmFnIGV2ZW50XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUcmVlTm9kZURyYWdFdmVudCB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWvueW6lCBjZGsg5Lit55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIGRyYWcgY2RrIGV2ZW50XHJcbiAgICovXHJcbiAgZXZlbnQ/OiBDZGtEcmFnU3RhcnQgfCBDZGtEcmFnRW5kIHwgQ2RrRHJhZ01vdmU8WFRyZWVOb2RlPjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ouW5Yqo55qE6IqC54K5XHJcbiAgICogQGVuX1VTIGRyYWcgbm9kZVxyXG4gICAqL1xyXG4gIGZyb20/OiBYVHJlZU5vZGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOimgeaLluWKqOWIsOeahOS9jee9ruWvueW6lOeahOiKgueCuVxyXG4gICAqIEBlbl9VUyBOb2RlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBvc2l0aW9uIHRvIGRyYWdcclxuICAgKi9cclxuICB0bz86IFhUcmVlTm9kZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5a+55bqU6IqC54K555qE5YmN6Z2i6L+Y5piv5ZCO6Z2iXHJcbiAgICogQGVuX1VTIFRoZSBmcm9udCBvciBiYWNrIG9mIHRoZSBjb3JyZXNwb25kaW5nIG5vZGVcclxuICAgKi9cclxuICBwb3NpdGlvbj86IC0xIHwgMTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFRyZWVOb2RlXHJcbiAqIEBzZWxlY3RvciB4LXRyZWUtbm9kZVxyXG4gKiBAZGVjb3JhdG9yIGRpcmVjdGl2ZVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUcmVlTm9kZVByZWZpeCA9ICd4LXRyZWUtbm9kZSc7XHJcblxyXG4vKipcclxuICogVHJlZU5vZGUgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyBzZWxlY3RvcjogYCR7WFRyZWVOb2RlUHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFRyZWVOb2RlUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgTm9kZSBkYXRhXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbm9kZSA9IGlucHV0PFhUcmVlTm9kZT4oe30pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsYLnuqdcclxuICAgKiBAZW5fVVMgTGV2ZWxcclxuICAgKi9cclxuICByZWFkb25seSBsZXZlbCA9IG1vZGVsPG51bWJlciB8IHVuZGVmaW5lZD4oMCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueeahOmrmOW6plxyXG4gICAqIEBlbl9VUyBUaGUgaGVpZ2h0IG9mIHRoZSBub2RlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbm9kZUhlaWdodCA9IG1vZGVsPHN0cmluZz4oJycpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnlhoXlrrnkuI3mjaLooYzmmL7npLrnnIHnlaXlj7dcclxuICAgKiBAZW5fVVMgU2hvdyBlbGxpcHNpcyB3aXRob3V0IHdyYXBwaW5nXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbm9kZU5vd3JhcCA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55Z6C55u05a+56b2Q5pa55byPXHJcbiAgICogQGVuX1VTIFNob3cgZWxsaXBzaXMgd2l0aG91dCB3cmFwcGluZ1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG5vZGVBbGlnbkl0ZW1zID0gbW9kZWw8WEFsaWduPignY2VudGVyJyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+iusOS4uuiZmuaLn+a7muWKqOeahOiKgueCuVxyXG4gICAqIEBlbl9VUyBNYXJrIGFzIGEgbm9kZSBvZiB2aXJ0dWFsIHJvbGxpbmdcclxuICAgKi9cclxuICByZWFkb25seSB2aXJ0dWFsU2Nyb2xsID0gbW9kZWw8Ym9vbGVhbiB8IHVuZGVmaW5lZD4oZmFsc2UpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKhcclxuICAgKiBAZW5fVVMgRGlzYWJsZWRcclxuICAgKi9cclxuICByZWFkb25seSBkaXNhYmxlZCA9IG1vZGVsPGJvb2xlYW4gfCB1bmRlZmluZWQ+KGZhbHNlKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gaWRcclxuICAgKiBAZW5fVVMgSWRcclxuICAgKi9cclxuICByZWFkb25seSBpZCA9IG1vZGVsPGFueT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gcGlkXHJcbiAgICogQGVuX1VTIHBJZFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHBpZCA9IG1vZGVsPGFueT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+25a2Q6IqC54K5XHJcbiAgICogQGVuX1VTIEEgbGVhZiBub2RlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbGVhZiA9IG1vZGVsPGJvb2xlYW4gfCB1bmRlZmluZWQ+KGZhbHNlKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K555qE6auY5bqmXHJcbiAgICogQGVuX1VTIFRoZSBoZWlnaHQgb2YgdGhlIG5vZGVcclxuICAgKi9cclxuICByZWFkb25seSBoZWlnaHQgPSBtb2RlbDxzdHJpbmc+KCcnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55Z6C55u05a+56b2Q5pa55byPXHJcbiAgICogQGVuX1VTIFNob3cgZWxsaXBzaXMgd2l0aG91dCB3cmFwcGluZ1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGFsaWduSXRlbXMgPSBtb2RlbDxYQWxpZ24+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueWeguebtOWvuem9kOaWueW8j1xyXG4gICAqIEBlbl9VUyBTaG93IGVsbGlwc2lzIHdpdGhvdXQgd3JhcHBpbmdcclxuICAgKi9cclxuICByZWFkb25seSBsb2FkaW5nID0gbW9kZWw8Ym9vbGVhbiB8IHVuZGVmaW5lZD4oZmFsc2UpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXlvIBcclxuICAgKiBAZW5fVVMgb3BlblxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG9wZW4gPSBtb2RlbDxib29sZWFuIHwgdW5kZWZpbmVkPihmYWxzZSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGNoZWNrYm94IOaYr+WQpumAieS4rVxyXG4gICAqIEBlbl9VUyB3aGV0aGVyIGNoZWNrYm94IGlzIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY2hlY2tlZCA9IG1vZGVsPGJvb2xlYW4gfCB1bmRlZmluZWQ+KGZhbHNlKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gY2hlY2tib3gg5a2Q6IqC54K55piv5ZCm5pyJ6YCJ5Lit55qE54q25oCBXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdGhlIGNoaWxkIG5vZGUgb2YgY2hlY2tib3ggaXMgc2VsZWN0ZWRcclxuICAgKi9cclxuICByZWFkb25seSBpbmRldGVybWluYXRlID0gbW9kZWw8Ym9vbGVhbiB8IHVuZGVmaW5lZD4oZmFsc2UpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnlkI3np7BcclxuICAgKiBAZW5fVVMgVGhlIG5hbWUgb2YgdGhlIG5vZGVcclxuICAgKi9cclxuICByZWFkb25seSBsYWJlbCA9IG1vZGVsPHN0cmluZyB8IHVuZGVmaW5lZD4oJycpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnlhoXlrrnkuI3mjaLooYzmmL7npLrnnIHnlaXlj7fvvIzkvJjlhYjnuqfpq5jkuo4gdHJlZSDlj4LmlbBcclxuICAgKiBAZW5fVVMgU2hvdyBlbGxpcHNpcyB3aXRob3V0IHdyYXBwaW5nLCBoaWdoZXN0IHByaW9yaXR5XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbm93cmFwID0gbW9kZWw8Ym9vbGVhbiB8IHVuZGVmaW5lZD4oZmFsc2UpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnlsZXlvIDmlLbotbfkuovku7ZcclxuICAgKiBAZW5fVVMgTm9kZSBleHBhbnNpb24gcGFjayB1cFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHRvZ2dsZSA9IG91dHB1dDxYVHJlZU5vZGU+KCk7XHJcbn1cclxuIl19