@taiga-ui/kit 2.29.0 → 2.33.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 (656) hide show
  1. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  2. package/bundles/taiga-ui-kit-abstract.umd.js +5 -4
  3. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  4. package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
  5. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
  7. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
  9. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-arrow.umd.js +31 -8
  11. package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-arrow.umd.min.js +2 -2
  13. package/bundles/taiga-ui-kit-components-arrow.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-avatar.umd.js +1 -1
  15. package/bundles/taiga-ui-kit-components-avatar.umd.min.js +1 -1
  16. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +4 -1
  18. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +2 -2
  20. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-carousel.umd.js +5 -4
  22. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-carousel.umd.min.js +1 -1
  24. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-checkbox.umd.js +1 -1
  26. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
  28. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-combo-box.umd.js +71 -40
  30. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +2 -2
  32. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-input-copy.umd.js +47 -17
  34. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js +2 -2
  36. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input-count.umd.js +38 -9
  38. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
  40. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +83 -29
  42. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +2 -2
  44. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +83 -37
  46. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +2 -2
  48. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-input-date.umd.js +79 -29
  50. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-input-date.umd.min.js +2 -2
  52. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-input-file.umd.js +1 -8
  54. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
  56. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-inline.umd.js +2 -15
  58. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js +1 -1
  60. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +52 -10
  62. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  64. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-month.umd.js +48 -10
  66. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
  68. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-number.umd.js +53 -13
  70. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +2 -2
  72. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-input-password.umd.js +45 -11
  74. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  76. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +51 -23
  78. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  80. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-input-phone.umd.js +61 -25
  82. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  84. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-input-range.umd.js +8 -5
  86. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +2 -2
  88. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-input-slider.umd.js +8 -5
  90. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  92. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-input-tag.umd.js +4 -4
  94. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  96. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  97. package/bundles/taiga-ui-kit-components-input-time.umd.js +14 -14
  98. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  99. package/bundles/taiga-ui-kit-components-input-time.umd.min.js +2 -2
  100. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  101. package/bundles/taiga-ui-kit-components-input.umd.js +33 -4
  102. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  103. package/bundles/taiga-ui-kit-components-input.umd.min.js +1 -1
  104. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  105. package/bundles/taiga-ui-kit-components-multi-select.umd.js +24 -18
  106. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  107. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +2 -2
  108. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  109. package/bundles/taiga-ui-kit-components-rating.umd.js +368 -0
  110. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -0
  111. package/bundles/taiga-ui-kit-components-rating.umd.min.js +16 -0
  112. package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -0
  113. package/bundles/taiga-ui-kit-components-select.umd.js +75 -36
  114. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-components-select.umd.min.js +1 -1
  116. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  117. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
  118. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
  120. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  121. package/bundles/taiga-ui-kit-components-tabs.umd.js +1 -1
  122. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  123. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  124. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  125. package/bundles/taiga-ui-kit-components-tag.umd.js +2 -2
  126. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  127. package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
  128. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-kit-components-text-area.umd.js +8 -6
  130. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  131. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  132. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  133. package/bundles/taiga-ui-kit-components-tree.umd.js +23 -13
  134. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  135. package/bundles/taiga-ui-kit-components-tree.umd.min.js +2 -2
  136. package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
  137. package/bundles/taiga-ui-kit-components.umd.js +12 -4
  138. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  139. package/bundles/taiga-ui-kit-components.umd.min.js +1 -1
  140. package/bundles/taiga-ui-kit-constants.umd.js +8 -0
  141. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  142. package/bundles/taiga-ui-kit-constants.umd.min.js +1 -1
  143. package/bundles/taiga-ui-kit-constants.umd.min.js.map +1 -1
  144. package/bundles/taiga-ui-kit-providers.umd.js +6 -5
  145. package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
  146. package/bundles/taiga-ui-kit-providers.umd.min.js +1 -1
  147. package/bundles/taiga-ui-kit-providers.umd.min.js.map +1 -1
  148. package/bundles/taiga-ui-kit-tokens.umd.js +7 -0
  149. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  150. package/bundles/taiga-ui-kit-tokens.umd.min.js +1 -1
  151. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  152. package/bundles/taiga-ui-kit-utils-mask.umd.js +19 -10
  153. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  154. package/bundles/taiga-ui-kit-utils-mask.umd.min.js +1 -1
  155. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  156. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +241 -6
  157. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  158. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js +15 -1
  159. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
  160. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  161. package/components/arrow/arrow-options.d.ts +16 -0
  162. package/components/arrow/arrow.component.d.ts +5 -3
  163. package/components/arrow/index.d.ts +1 -0
  164. package/components/arrow/taiga-ui-kit-components-arrow.metadata.json +1 -1
  165. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  166. package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
  167. package/components/carousel/taiga-ui-kit-components-carousel.metadata.json +1 -1
  168. package/components/combo-box/combo-box.component.d.ts +4 -4
  169. package/components/combo-box/combo-box.directive.d.ts +6 -0
  170. package/components/combo-box/combo-box.providers.d.ts +2 -0
  171. package/components/combo-box/index.d.ts +2 -0
  172. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  173. package/components/index.d.ts +1 -0
  174. package/components/input/index.d.ts +1 -0
  175. package/components/input/input.directive.d.ts +5 -0
  176. package/components/input/taiga-ui-kit-components-input.metadata.json +1 -1
  177. package/components/input-copy/index.d.ts +2 -0
  178. package/components/input-copy/input-copy.directive.d.ts +5 -0
  179. package/components/input-copy/input-copy.providers.d.ts +2 -0
  180. package/components/input-copy/taiga-ui-kit-components-input-copy.metadata.json +1 -1
  181. package/components/input-count/index.d.ts +1 -0
  182. package/components/input-count/input-count.directive.d.ts +6 -0
  183. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  184. package/components/input-date/index.d.ts +2 -0
  185. package/components/input-date/input-date.component.d.ts +3 -4
  186. package/components/input-date/input-date.directive.d.ts +7 -0
  187. package/components/input-date/input-date.providers.d.ts +4 -0
  188. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  189. package/components/input-date-range/index.d.ts +2 -0
  190. package/components/input-date-range/input-date-range.component.d.ts +3 -4
  191. package/components/input-date-range/input-date-range.directive.d.ts +7 -0
  192. package/components/input-date-range/input-date-range.providers.d.ts +4 -0
  193. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  194. package/components/input-date-time/index.d.ts +2 -0
  195. package/components/input-date-time/input-date-time.component.d.ts +3 -5
  196. package/components/input-date-time/input-date-time.directive.d.ts +7 -0
  197. package/components/input-date-time/input-date-time.providers.d.ts +4 -0
  198. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  199. package/components/input-file/input-file.component.d.ts +0 -1
  200. package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
  201. package/components/input-inline/input-inline.component.d.ts +0 -1
  202. package/components/input-inline/taiga-ui-kit-components-input-inline.metadata.json +1 -1
  203. package/components/input-month/index.d.ts +1 -0
  204. package/components/input-month/input-month.component.d.ts +2 -3
  205. package/components/input-month/input-month.directive.d.ts +7 -0
  206. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  207. package/components/input-month-range/index.d.ts +1 -0
  208. package/components/input-month-range/input-month-range.component.d.ts +2 -3
  209. package/components/input-month-range/input-month-range.directive.d.ts +7 -0
  210. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  211. package/components/input-number/index.d.ts +1 -0
  212. package/components/input-number/input-number.component.d.ts +1 -1
  213. package/components/input-number/input-number.directive.d.ts +7 -0
  214. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  215. package/components/input-password/index.d.ts +1 -0
  216. package/components/input-password/input-password.component.d.ts +0 -1
  217. package/components/input-password/input-password.directive.d.ts +8 -0
  218. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  219. package/components/input-phone/index.d.ts +1 -0
  220. package/components/input-phone/input-phone.component.d.ts +1 -1
  221. package/components/input-phone/input-phone.directive.d.ts +7 -0
  222. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  223. package/components/input-phone-international/const/countries.d.ts +15 -7
  224. package/components/input-phone-international/index.d.ts +2 -0
  225. package/components/input-phone-international/input-phone-international.component.d.ts +4 -3
  226. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  227. package/components/input-phone-international/tokens/countries-masks.d.ts +3 -0
  228. package/components/input-phone-international/utils/extract-value-from-event.d.ts +1 -0
  229. package/components/input-range/input-range.component.d.ts +2 -1
  230. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  231. package/components/input-slider/input-slider.component.d.ts +2 -1
  232. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  233. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  234. package/components/input-time/input-time-options.d.ts +3 -0
  235. package/components/input-time/input-time.component.d.ts +7 -8
  236. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  237. package/components/multi-select/multi-select.component.d.ts +4 -2
  238. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  239. package/components/rating/index.d.ts +3 -0
  240. package/components/rating/package.json +13 -0
  241. package/components/rating/rating-options.d.ts +9 -0
  242. package/components/rating/rating.component.d.ts +21 -0
  243. package/components/rating/rating.module.d.ts +2 -0
  244. package/components/rating/taiga-ui-kit-components-rating.d.ts +4 -0
  245. package/components/rating/taiga-ui-kit-components-rating.metadata.json +1 -0
  246. package/components/select/index.d.ts +2 -0
  247. package/components/select/select.component.d.ts +3 -3
  248. package/components/select/select.directive.d.ts +7 -0
  249. package/components/select/select.providers.d.ts +2 -0
  250. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  251. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  252. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  253. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  254. package/components/taiga-ui-kit-components.metadata.json +1 -1
  255. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  256. package/components/tree/components/tree/tree.component.d.ts +3 -1
  257. package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -1
  258. package/constants/index.d.ts +1 -0
  259. package/constants/max-time-values.d.ts +2 -0
  260. package/constants/taiga-ui-kit-constants.metadata.json +1 -1
  261. package/esm2015/abstract/input-slider.js +3 -1
  262. package/esm2015/components/accordion/accordion.component.js +3 -3
  263. package/esm2015/components/arrow/arrow-options.js +17 -0
  264. package/esm2015/components/arrow/arrow.component.js +12 -8
  265. package/esm2015/components/arrow/arrow.module.js +3 -2
  266. package/esm2015/components/arrow/index.js +2 -1
  267. package/esm2015/components/avatar/avatar.component.js +1 -1
  268. package/esm2015/components/calendar-month/calendar-month.component.js +5 -2
  269. package/esm2015/components/carousel/carousel-scroll.directive.js +5 -4
  270. package/esm2015/components/carousel/carousel.component.js +1 -1
  271. package/esm2015/components/checkbox/checkbox.component.js +2 -2
  272. package/esm2015/components/combo-box/combo-box.component.js +23 -43
  273. package/esm2015/components/combo-box/combo-box.directive.js +25 -0
  274. package/esm2015/components/combo-box/combo-box.module.js +5 -4
  275. package/esm2015/components/combo-box/combo-box.providers.js +28 -0
  276. package/esm2015/components/combo-box/index.js +3 -1
  277. package/esm2015/components/index.js +2 -1
  278. package/esm2015/components/input/index.js +2 -1
  279. package/esm2015/components/input/input.component.js +3 -3
  280. package/esm2015/components/input/input.directive.js +22 -0
  281. package/esm2015/components/input/input.module.js +5 -4
  282. package/esm2015/components/input/input.providers.js +6 -2
  283. package/esm2015/components/input-copy/index.js +3 -1
  284. package/esm2015/components/input-copy/input-copy.component.js +8 -15
  285. package/esm2015/components/input-copy/input-copy.directive.js +22 -0
  286. package/esm2015/components/input-copy/input-copy.module.js +5 -4
  287. package/esm2015/components/input-copy/input-copy.providers.js +16 -0
  288. package/esm2015/components/input-count/index.js +2 -1
  289. package/esm2015/components/input-count/input-count.component.js +8 -8
  290. package/esm2015/components/input-count/input-count.directive.js +26 -0
  291. package/esm2015/components/input-count/input-count.module.js +5 -4
  292. package/esm2015/components/input-date/index.js +3 -1
  293. package/esm2015/components/input-date/input-date.component.js +21 -31
  294. package/esm2015/components/input-date/input-date.directive.js +28 -0
  295. package/esm2015/components/input-date/input-date.module.js +5 -4
  296. package/esm2015/components/input-date/input-date.providers.js +29 -0
  297. package/esm2015/components/input-date-range/index.js +3 -1
  298. package/esm2015/components/input-date-range/input-date-range.component.js +21 -31
  299. package/esm2015/components/input-date-range/input-date-range.directive.js +28 -0
  300. package/esm2015/components/input-date-range/input-date-range.module.js +9 -4
  301. package/esm2015/components/input-date-range/input-date-range.providers.js +29 -0
  302. package/esm2015/components/input-date-time/index.js +3 -1
  303. package/esm2015/components/input-date-time/input-date-time.component.js +20 -34
  304. package/esm2015/components/input-date-time/input-date-time.directive.js +28 -0
  305. package/esm2015/components/input-date-time/input-date-time.module.js +9 -4
  306. package/esm2015/components/input-date-time/input-date-time.providers.js +29 -0
  307. package/esm2015/components/input-file/input-file.component.js +2 -5
  308. package/esm2015/components/input-inline/input-inline.component.js +4 -13
  309. package/esm2015/components/input-month/index.js +2 -1
  310. package/esm2015/components/input-month/input-month.component.js +7 -6
  311. package/esm2015/components/input-month/input-month.directive.js +30 -0
  312. package/esm2015/components/input-month/input-month.module.js +5 -4
  313. package/esm2015/components/input-month-range/index.js +2 -1
  314. package/esm2015/components/input-month-range/input-month-range.component.js +7 -6
  315. package/esm2015/components/input-month-range/input-month-range.directive.js +30 -0
  316. package/esm2015/components/input-month-range/input-month-range.module.js +9 -4
  317. package/esm2015/components/input-number/index.js +2 -1
  318. package/esm2015/components/input-number/input-number.component.js +18 -14
  319. package/esm2015/components/input-number/input-number.directive.js +29 -0
  320. package/esm2015/components/input-number/input-number.module.js +5 -4
  321. package/esm2015/components/input-password/index.js +2 -1
  322. package/esm2015/components/input-password/input-password.component.js +7 -6
  323. package/esm2015/components/input-password/input-password.directive.js +30 -0
  324. package/esm2015/components/input-password/input-password.module.js +9 -4
  325. package/esm2015/components/input-phone/index.js +2 -1
  326. package/esm2015/components/input-phone/input-phone.component.js +16 -27
  327. package/esm2015/components/input-phone/input-phone.directive.js +29 -0
  328. package/esm2015/components/input-phone/input-phone.module.js +5 -4
  329. package/esm2015/components/input-phone/input-phone.providers.js +17 -3
  330. package/esm2015/components/input-phone-international/const/countries.js +14 -5
  331. package/esm2015/components/input-phone-international/index.js +3 -1
  332. package/esm2015/components/input-phone-international/input-phone-international.component.js +24 -22
  333. package/esm2015/components/input-phone-international/tokens/countries-masks.js +6 -0
  334. package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +9 -0
  335. package/esm2015/components/input-range/input-range.component.js +10 -7
  336. package/esm2015/components/input-slider/input-slider.component.js +10 -7
  337. package/esm2015/components/input-tag/input-tag.component.js +5 -5
  338. package/esm2015/components/input-time/input-time-options.js +4 -1
  339. package/esm2015/components/input-time/input-time.component.js +10 -8
  340. package/esm2015/components/multi-select/multi-select.component.js +17 -11
  341. package/esm2015/components/multi-select/multi-select.module.js +3 -1
  342. package/esm2015/components/rating/index.js +4 -0
  343. package/esm2015/components/rating/rating-options.js +11 -0
  344. package/esm2015/components/rating/rating.component.js +91 -0
  345. package/esm2015/components/rating/rating.module.js +23 -0
  346. package/esm2015/components/rating/taiga-ui-kit-components-rating.js +5 -0
  347. package/esm2015/components/select/index.js +3 -1
  348. package/esm2015/components/select/select.component.js +20 -39
  349. package/esm2015/components/select/select.directive.js +28 -0
  350. package/esm2015/components/select/select.module.js +5 -4
  351. package/esm2015/components/select/select.providers.js +28 -0
  352. package/esm2015/components/stepper/step/step.component.js +3 -3
  353. package/esm2015/components/tabs/tab/tab.providers.js +3 -3
  354. package/esm2015/components/tag/tag.component.js +4 -4
  355. package/esm2015/components/text-area/text-area.component.js +9 -6
  356. package/esm2015/components/text-area/text-area.module.js +2 -3
  357. package/esm2015/components/tree/components/tree/tree.component.js +11 -6
  358. package/esm2015/components/tree/tree.module.js +9 -2
  359. package/esm2015/constants/index.js +2 -1
  360. package/esm2015/constants/max-time-values.js +7 -0
  361. package/esm2015/providers/value-accessor.provider.js +3 -2
  362. package/esm2015/tokens/date-inputs-value-transformers.js +5 -0
  363. package/esm2015/tokens/index.js +2 -1
  364. package/esm2015/types/index.js +1 -1
  365. package/esm2015/types/time-format-parts.js +1 -0
  366. package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +2 -2
  367. package/esm2015/utils/mask/create-auto-corrected-time-pipe.js +8 -7
  368. package/esm2015/utils/mask/create-time-mask.js +16 -8
  369. package/esm2015/utils/miscellaneous/get-precision.js +8 -0
  370. package/esm2015/utils/miscellaneous/index.js +2 -1
  371. package/esm2015/utils/miscellaneous/replay-control-value-changes-factory.js +10 -4
  372. package/esm5/abstract/input-slider.js +3 -1
  373. package/esm5/components/accordion/accordion.component.js +3 -3
  374. package/esm5/components/arrow/arrow-options.js +17 -0
  375. package/esm5/components/arrow/arrow.component.js +12 -8
  376. package/esm5/components/arrow/arrow.module.js +3 -2
  377. package/esm5/components/arrow/index.js +2 -1
  378. package/esm5/components/avatar/avatar.component.js +1 -1
  379. package/esm5/components/calendar-month/calendar-month.component.js +5 -2
  380. package/esm5/components/carousel/carousel-scroll.directive.js +5 -4
  381. package/esm5/components/carousel/carousel.component.js +1 -1
  382. package/esm5/components/checkbox/checkbox.component.js +2 -2
  383. package/esm5/components/combo-box/combo-box.component.js +22 -47
  384. package/esm5/components/combo-box/combo-box.directive.js +35 -0
  385. package/esm5/components/combo-box/combo-box.module.js +5 -4
  386. package/esm5/components/combo-box/combo-box.providers.js +28 -0
  387. package/esm5/components/combo-box/index.js +3 -1
  388. package/esm5/components/index.js +2 -1
  389. package/esm5/components/input/index.js +2 -1
  390. package/esm5/components/input/input.component.js +3 -3
  391. package/esm5/components/input/input.directive.js +28 -0
  392. package/esm5/components/input/input.module.js +5 -4
  393. package/esm5/components/input/input.providers.js +6 -2
  394. package/esm5/components/input-copy/index.js +3 -1
  395. package/esm5/components/input-copy/input-copy.component.js +7 -15
  396. package/esm5/components/input-copy/input-copy.directive.js +28 -0
  397. package/esm5/components/input-copy/input-copy.module.js +5 -4
  398. package/esm5/components/input-copy/input-copy.providers.js +16 -0
  399. package/esm5/components/input-count/index.js +2 -1
  400. package/esm5/components/input-count/input-count.component.js +8 -8
  401. package/esm5/components/input-count/input-count.directive.js +32 -0
  402. package/esm5/components/input-count/input-count.module.js +5 -4
  403. package/esm5/components/input-date/index.js +3 -1
  404. package/esm5/components/input-date/input-date.component.js +22 -31
  405. package/esm5/components/input-date/input-date.directive.js +38 -0
  406. package/esm5/components/input-date/input-date.module.js +5 -4
  407. package/esm5/components/input-date/input-date.providers.js +29 -0
  408. package/esm5/components/input-date-range/index.js +3 -1
  409. package/esm5/components/input-date-range/input-date-range.component.js +22 -31
  410. package/esm5/components/input-date-range/input-date-range.directive.js +38 -0
  411. package/esm5/components/input-date-range/input-date-range.module.js +9 -4
  412. package/esm5/components/input-date-range/input-date-range.providers.js +29 -0
  413. package/esm5/components/input-date-time/index.js +3 -1
  414. package/esm5/components/input-date-time/input-date-time.component.js +21 -38
  415. package/esm5/components/input-date-time/input-date-time.directive.js +38 -0
  416. package/esm5/components/input-date-time/input-date-time.module.js +9 -4
  417. package/esm5/components/input-date-time/input-date-time.providers.js +29 -0
  418. package/esm5/components/input-file/input-file.component.js +2 -9
  419. package/esm5/components/input-inline/input-inline.component.js +4 -17
  420. package/esm5/components/input-month/index.js +2 -1
  421. package/esm5/components/input-month/input-month.component.js +7 -10
  422. package/esm5/components/input-month/input-month.directive.js +44 -0
  423. package/esm5/components/input-month/input-month.module.js +5 -4
  424. package/esm5/components/input-month-range/index.js +2 -1
  425. package/esm5/components/input-month-range/input-month-range.component.js +7 -10
  426. package/esm5/components/input-month-range/input-month-range.directive.js +44 -0
  427. package/esm5/components/input-month-range/input-month-range.module.js +9 -4
  428. package/esm5/components/input-number/index.js +2 -1
  429. package/esm5/components/input-number/input-number.component.js +18 -14
  430. package/esm5/components/input-number/input-number.directive.js +39 -0
  431. package/esm5/components/input-number/input-number.module.js +5 -4
  432. package/esm5/components/input-password/index.js +2 -1
  433. package/esm5/components/input-password/input-password.component.js +7 -10
  434. package/esm5/components/input-password/input-password.directive.js +36 -0
  435. package/esm5/components/input-password/input-password.module.js +9 -4
  436. package/esm5/components/input-phone/index.js +2 -1
  437. package/esm5/components/input-phone/input-phone.component.js +15 -27
  438. package/esm5/components/input-phone/input-phone.directive.js +39 -0
  439. package/esm5/components/input-phone/input-phone.module.js +5 -4
  440. package/esm5/components/input-phone/input-phone.providers.js +17 -3
  441. package/esm5/components/input-phone-international/const/countries.js +14 -5
  442. package/esm5/components/input-phone-international/index.js +3 -1
  443. package/esm5/components/input-phone-international/input-phone-international.component.js +28 -22
  444. package/esm5/components/input-phone-international/tokens/countries-masks.js +6 -0
  445. package/esm5/components/input-phone-international/utils/extract-value-from-event.js +9 -0
  446. package/esm5/components/input-range/input-range.component.js +10 -7
  447. package/esm5/components/input-slider/input-slider.component.js +10 -7
  448. package/esm5/components/input-tag/input-tag.component.js +5 -5
  449. package/esm5/components/input-time/input-time-options.js +4 -1
  450. package/esm5/components/input-time/input-time.component.js +10 -12
  451. package/esm5/components/multi-select/multi-select.component.js +21 -15
  452. package/esm5/components/multi-select/multi-select.module.js +3 -1
  453. package/esm5/components/rating/index.js +4 -0
  454. package/esm5/components/rating/rating-options.js +11 -0
  455. package/esm5/components/rating/rating.component.js +111 -0
  456. package/esm5/components/rating/rating.module.js +26 -0
  457. package/esm5/components/rating/taiga-ui-kit-components-rating.js +5 -0
  458. package/esm5/components/select/index.js +3 -1
  459. package/esm5/components/select/select.component.js +19 -43
  460. package/esm5/components/select/select.directive.js +42 -0
  461. package/esm5/components/select/select.module.js +5 -4
  462. package/esm5/components/select/select.providers.js +28 -0
  463. package/esm5/components/stepper/step/step.component.js +3 -3
  464. package/esm5/components/tabs/tab/tab.providers.js +3 -3
  465. package/esm5/components/tag/tag.component.js +3 -3
  466. package/esm5/components/text-area/text-area.component.js +9 -6
  467. package/esm5/components/text-area/text-area.module.js +2 -3
  468. package/esm5/components/tree/components/tree/tree.component.js +15 -9
  469. package/esm5/components/tree/tree.module.js +9 -2
  470. package/esm5/constants/index.js +2 -1
  471. package/esm5/constants/max-time-values.js +7 -0
  472. package/esm5/providers/value-accessor.provider.js +3 -2
  473. package/esm5/tokens/date-inputs-value-transformers.js +5 -0
  474. package/esm5/tokens/index.js +2 -1
  475. package/esm5/types/index.js +1 -1
  476. package/esm5/types/time-format-parts.js +1 -0
  477. package/esm5/utils/mask/create-auto-corrected-date-time-pipe.js +2 -2
  478. package/esm5/utils/mask/create-auto-corrected-time-pipe.js +9 -6
  479. package/esm5/utils/mask/create-time-mask.js +15 -7
  480. package/esm5/utils/miscellaneous/get-precision.js +9 -0
  481. package/esm5/utils/miscellaneous/index.js +2 -1
  482. package/esm5/utils/miscellaneous/replay-control-value-changes-factory.js +12 -4
  483. package/fesm2015/taiga-ui-kit-abstract.js +2 -0
  484. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  485. package/fesm2015/taiga-ui-kit-components-accordion.js +2 -2
  486. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  487. package/fesm2015/taiga-ui-kit-components-arrow.js +29 -11
  488. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  489. package/fesm2015/taiga-ui-kit-components-avatar.js +1 -1
  490. package/fesm2015/taiga-ui-kit-components-calendar-month.js +4 -1
  491. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  492. package/fesm2015/taiga-ui-kit-components-carousel.js +5 -4
  493. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  494. package/fesm2015/taiga-ui-kit-components-checkbox.js +1 -1
  495. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  496. package/fesm2015/taiga-ui-kit-components-combo-box.js +65 -41
  497. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  498. package/fesm2015/taiga-ui-kit-components-input-copy.js +41 -18
  499. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  500. package/fesm2015/taiga-ui-kit-components-input-count.js +34 -12
  501. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  502. package/fesm2015/taiga-ui-kit-components-input-date-range.js +74 -33
  503. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  504. package/fesm2015/taiga-ui-kit-components-input-date-time.js +74 -37
  505. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  506. package/fesm2015/taiga-ui-kit-components-input-date.js +70 -33
  507. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  508. package/fesm2015/taiga-ui-kit-components-input-file.js +1 -4
  509. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  510. package/fesm2015/taiga-ui-kit-components-input-inline.js +3 -12
  511. package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
  512. package/fesm2015/taiga-ui-kit-components-input-month-range.js +41 -10
  513. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  514. package/fesm2015/taiga-ui-kit-components-input-month.js +37 -10
  515. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  516. package/fesm2015/taiga-ui-kit-components-input-number.js +46 -17
  517. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  518. package/fesm2015/taiga-ui-kit-components-input-password.js +41 -10
  519. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  520. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +47 -26
  521. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  522. package/fesm2015/taiga-ui-kit-components-input-phone.js +55 -29
  523. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  524. package/fesm2015/taiga-ui-kit-components-input-range.js +9 -6
  525. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  526. package/fesm2015/taiga-ui-kit-components-input-slider.js +9 -6
  527. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  528. package/fesm2015/taiga-ui-kit-components-input-tag.js +4 -4
  529. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  530. package/fesm2015/taiga-ui-kit-components-input-time.js +11 -6
  531. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  532. package/fesm2015/taiga-ui-kit-components-input.js +29 -7
  533. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  534. package/fesm2015/taiga-ui-kit-components-multi-select.js +17 -10
  535. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  536. package/fesm2015/taiga-ui-kit-components-rating.js +123 -0
  537. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -0
  538. package/fesm2015/taiga-ui-kit-components-select.js +65 -37
  539. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  540. package/fesm2015/taiga-ui-kit-components-stepper.js +2 -2
  541. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  542. package/fesm2015/taiga-ui-kit-components-tabs.js +2 -2
  543. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  544. package/fesm2015/taiga-ui-kit-components-tag.js +3 -3
  545. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  546. package/fesm2015/taiga-ui-kit-components-text-area.js +9 -7
  547. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  548. package/fesm2015/taiga-ui-kit-components-tree.js +17 -8
  549. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  550. package/fesm2015/taiga-ui-kit-components.js +1 -0
  551. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  552. package/fesm2015/taiga-ui-kit-constants.js +8 -1
  553. package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
  554. package/fesm2015/taiga-ui-kit-providers.js +2 -1
  555. package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
  556. package/fesm2015/taiga-ui-kit-tokens.js +5 -1
  557. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  558. package/fesm2015/taiga-ui-kit-utils-mask.js +22 -14
  559. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  560. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +17 -3
  561. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  562. package/fesm5/taiga-ui-kit-abstract.js +2 -0
  563. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  564. package/fesm5/taiga-ui-kit-components-accordion.js +2 -2
  565. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  566. package/fesm5/taiga-ui-kit-components-arrow.js +29 -11
  567. package/fesm5/taiga-ui-kit-components-arrow.js.map +1 -1
  568. package/fesm5/taiga-ui-kit-components-avatar.js +1 -1
  569. package/fesm5/taiga-ui-kit-components-calendar-month.js +4 -1
  570. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  571. package/fesm5/taiga-ui-kit-components-carousel.js +5 -4
  572. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  573. package/fesm5/taiga-ui-kit-components-checkbox.js +1 -1
  574. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  575. package/fesm5/taiga-ui-kit-components-combo-box.js +74 -45
  576. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  577. package/fesm5/taiga-ui-kit-components-input-copy.js +46 -18
  578. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  579. package/fesm5/taiga-ui-kit-components-input-count.js +40 -12
  580. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  581. package/fesm5/taiga-ui-kit-components-input-date-range.js +85 -33
  582. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  583. package/fesm5/taiga-ui-kit-components-input-date-time.js +85 -41
  584. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  585. package/fesm5/taiga-ui-kit-components-input-date.js +81 -33
  586. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  587. package/fesm5/taiga-ui-kit-components-input-file.js +1 -8
  588. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  589. package/fesm5/taiga-ui-kit-components-input-inline.js +3 -16
  590. package/fesm5/taiga-ui-kit-components-input-inline.js.map +1 -1
  591. package/fesm5/taiga-ui-kit-components-input-month-range.js +55 -14
  592. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  593. package/fesm5/taiga-ui-kit-components-input-month.js +51 -14
  594. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  595. package/fesm5/taiga-ui-kit-components-input-number.js +56 -17
  596. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  597. package/fesm5/taiga-ui-kit-components-input-password.js +47 -14
  598. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  599. package/fesm5/taiga-ui-kit-components-input-phone-international.js +51 -26
  600. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  601. package/fesm5/taiga-ui-kit-components-input-phone.js +64 -29
  602. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  603. package/fesm5/taiga-ui-kit-components-input-range.js +9 -6
  604. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  605. package/fesm5/taiga-ui-kit-components-input-slider.js +9 -6
  606. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  607. package/fesm5/taiga-ui-kit-components-input-tag.js +4 -4
  608. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  609. package/fesm5/taiga-ui-kit-components-input-time.js +11 -10
  610. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  611. package/fesm5/taiga-ui-kit-components-input.js +36 -8
  612. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  613. package/fesm5/taiga-ui-kit-components-multi-select.js +21 -14
  614. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  615. package/fesm5/taiga-ui-kit-components-rating.js +146 -0
  616. package/fesm5/taiga-ui-kit-components-rating.js.map +1 -0
  617. package/fesm5/taiga-ui-kit-components-select.js +78 -41
  618. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  619. package/fesm5/taiga-ui-kit-components-stepper.js +2 -2
  620. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  621. package/fesm5/taiga-ui-kit-components-tabs.js +2 -2
  622. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  623. package/fesm5/taiga-ui-kit-components-tag.js +2 -2
  624. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  625. package/fesm5/taiga-ui-kit-components-text-area.js +9 -7
  626. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  627. package/fesm5/taiga-ui-kit-components-tree.js +21 -11
  628. package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
  629. package/fesm5/taiga-ui-kit-components.js +1 -0
  630. package/fesm5/taiga-ui-kit-components.js.map +1 -1
  631. package/fesm5/taiga-ui-kit-constants.js +8 -1
  632. package/fesm5/taiga-ui-kit-constants.js.map +1 -1
  633. package/fesm5/taiga-ui-kit-providers.js +2 -1
  634. package/fesm5/taiga-ui-kit-providers.js.map +1 -1
  635. package/fesm5/taiga-ui-kit-tokens.js +5 -1
  636. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  637. package/fesm5/taiga-ui-kit-utils-mask.js +21 -12
  638. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  639. package/fesm5/taiga-ui-kit-utils-miscellaneous.js +20 -3
  640. package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  641. package/package.json +12 -12
  642. package/providers/taiga-ui-kit-providers.metadata.json +1 -1
  643. package/providers/value-accessor.provider.d.ts +1 -1
  644. package/tokens/date-inputs-value-transformers.d.ts +5 -0
  645. package/tokens/index.d.ts +1 -0
  646. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  647. package/types/index.d.ts +1 -0
  648. package/types/taiga-ui-kit-types.metadata.json +1 -1
  649. package/types/time-format-parts.d.ts +1 -0
  650. package/utils/mask/create-auto-corrected-time-pipe.d.ts +3 -2
  651. package/utils/mask/create-time-mask.d.ts +2 -1
  652. package/utils/mask/taiga-ui-kit-utils-mask.metadata.json +1 -1
  653. package/utils/miscellaneous/get-precision.d.ts +4 -0
  654. package/utils/miscellaneous/index.d.ts +1 -0
  655. package/utils/miscellaneous/replay-control-value-changes-factory.d.ts +3 -2
  656. package/utils/miscellaneous/taiga-ui-kit-utils-miscellaneous.metadata.json +1 -1
@@ -1,14 +1,13 @@
1
- var TuiInputPhoneComponent_1;
2
1
  import { __decorate, __param } from "tslib";
3
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, forwardRef, Inject, Input, Optional, Output, Self, TemplateRef, ViewChild, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, Inject, Input, Optional, Output, Self, TemplateRef, ViewChild, } from '@angular/core';
4
3
  import { NgControl } from '@angular/forms';
5
- import { AbstractTuiControl, getClipboardDataText, isNativeFocused, setNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, tuiRequiredSetter, } from '@taiga-ui/cdk';
6
- import { formatPhone, TUI_DATA_LIST_HOST, TUI_TEXTFIELD_CLEANER, TuiDataListDirective, TuiDataListHost, TuiHostedDropdownComponent, TuiPrimitiveTextfieldComponent, TuiTextfieldCleanerDirective, TuiTextMaskOptions, } from '@taiga-ui/core';
4
+ import { AbstractTuiControl, getClipboardDataText, isNativeFocused, setNativeFocused, tuiDefaultProp, tuiRequiredSetter, } from '@taiga-ui/cdk';
5
+ import { formatPhone, TUI_TEXTFIELD_CLEANER, TuiDataListDirective, TuiDataListHost, TuiHostedDropdownComponent, TuiPrimitiveTextfieldComponent, TuiTextfieldCleanerDirective, TuiTextMaskOptions, } from '@taiga-ui/core';
7
6
  import { Observable } from 'rxjs';
8
7
  import { INPUT_PHONE_PROVIDERS, SELECTION_STREAM } from './input-phone.providers';
9
- const NON_PLUS_AND_DIGITS_REGEX = /[ \-_\(\)]/g;
8
+ const NON_PLUS_AND_DIGITS_REGEX = /[ \-_()]/g;
10
9
  // @dynamic
11
- let TuiInputPhoneComponent = TuiInputPhoneComponent_1 = class TuiInputPhoneComponent extends AbstractTuiControl {
10
+ let TuiInputPhoneComponent = class TuiInputPhoneComponent extends AbstractTuiControl {
12
11
  constructor(control, changeDetectorRef, selection$, textfieldCleaner) {
13
12
  super(control, changeDetectorRef);
14
13
  this.textfieldCleaner = textfieldCleaner;
@@ -23,7 +22,7 @@ let TuiInputPhoneComponent = TuiInputPhoneComponent_1 = class TuiInputPhoneCompo
23
22
  ...this.countryCode.split(''),
24
23
  ' ',
25
24
  ...this.phoneMaskAfterCountryCode
26
- .replace(/[^#\- \(\)]+/g, '')
25
+ .replace(/[^#\- ()]+/g, '')
27
26
  .split('')
28
27
  .map(item => (item === '#' ? /\d/ : item)),
29
28
  ],
@@ -56,7 +55,7 @@ let TuiInputPhoneComponent = TuiInputPhoneComponent_1 = class TuiInputPhoneCompo
56
55
  return (isNativeFocused(this.nativeFocusableElement) ||
57
56
  (!!this.dropdown && this.dropdown.focused));
58
57
  }
59
- get nativeValue() {
58
+ get computedValue() {
60
59
  return this.value
61
60
  ? formatPhone(this.value, this.countryCode, this.phoneMaskAfterCountryCode)
62
61
  : this.search || '';
@@ -65,10 +64,10 @@ let TuiInputPhoneComponent = TuiInputPhoneComponent_1 = class TuiInputPhoneCompo
65
64
  return this.allowText ? 'text' : 'numeric';
66
65
  }
67
66
  get canOpen() {
68
- return !this.computedDisabled && !this.readOnly && !!this.datalist;
67
+ return this.interactive && !!this.datalist;
69
68
  }
70
69
  get canClean() {
71
- return this.nativeValue !== this.countryCode && this.textfieldCleaner.cleaner;
70
+ return this.computedValue !== this.countryCode && this.textfieldCleaner.cleaner;
72
71
  }
73
72
  onHovered(hovered) {
74
73
  this.updateHovered(hovered);
@@ -85,11 +84,11 @@ let TuiInputPhoneComponent = TuiInputPhoneComponent_1 = class TuiInputPhoneCompo
85
84
  }
86
85
  onActiveZone(active) {
87
86
  this.updateFocused(active);
88
- if (active && !this.nativeValue && !this.readOnly && !this.allowText) {
87
+ if (active && !this.computedValue && !this.readOnly && !this.allowText) {
89
88
  this.updateSearch(this.countryCode);
90
89
  return;
91
90
  }
92
- if (this.nativeValue === this.countryCode ||
91
+ if (this.computedValue === this.countryCode ||
93
92
  (this.search !== null &&
94
93
  isNaN(parseInt(this.search.replace(NON_PLUS_AND_DIGITS_REGEX, ''), 10)))) {
95
94
  this.updateSearch('');
@@ -171,7 +170,7 @@ let TuiInputPhoneComponent = TuiInputPhoneComponent_1 = class TuiInputPhoneCompo
171
170
  this.value.length < this.maxPhoneLength;
172
171
  const newValueLength = value.replace(NON_PLUS_AND_DIGITS_REGEX, '').length;
173
172
  const cleanNewValue = value.replace(/[^0-9]+/g, '');
174
- const selectionLength = getSelection().toString().length;
173
+ const selectionLength = String(getSelection()).length;
175
174
  if (oldValueExist && selectionLength === 0) {
176
175
  return `${this.value}${cleanNewValue}`.slice(0, this.maxPhoneLength);
177
176
  }
@@ -232,22 +231,12 @@ __decorate([
232
231
  __decorate([
233
232
  ContentChild(TuiDataListDirective, { read: TemplateRef })
234
233
  ], TuiInputPhoneComponent.prototype, "datalist", void 0);
235
- TuiInputPhoneComponent = TuiInputPhoneComponent_1 = __decorate([
234
+ TuiInputPhoneComponent = __decorate([
236
235
  Component({
237
236
  selector: 'tui-input-phone',
238
- template: "<tui-hosted-dropdown\n class=\"hosted\"\n [canOpen]=\"canOpen\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n tuiValueAccessor\n tuiTextfieldType=\"tel\"\n class=\"textfield\"\n [tuiTextfieldInputMode]=\"inputMode\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoFocused]=\"computedFocused\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [textMask]=\"textMaskOptions\"\n [value]=\"nativeValue\"\n [tuiTextfieldCleaner]=\"canClean\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (drop)=\"onDrop($event)\"\n (keydown.backspace)=\"onBackspace($event)\"\n (paste.prevent)=\"onPaste($event)\"\n >\n <ng-content></ng-content>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n",
237
+ template: "<tui-hosted-dropdown\n class=\"hosted\"\n [canOpen]=\"canOpen\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n tuiValueAccessor\n tuiTextfieldType=\"tel\"\n class=\"textfield\"\n [tuiTextfieldInputMode]=\"inputMode\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoFocused]=\"computedFocused\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [textMask]=\"textMaskOptions\"\n [value]=\"computedValue\"\n [tuiTextfieldCleaner]=\"canClean\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (drop)=\"onDrop($event)\"\n (keydown.backspace)=\"onBackspace($event)\"\n (paste.prevent)=\"onPaste($event)\"\n >\n <ng-content></ng-content>\n <ng-content select=\"input\" ngProjectAs=\"input\"></ng-content>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n",
239
238
  changeDetection: ChangeDetectionStrategy.OnPush,
240
- providers: [
241
- {
242
- provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
243
- useExisting: forwardRef(() => TuiInputPhoneComponent_1),
244
- },
245
- {
246
- provide: TUI_DATA_LIST_HOST,
247
- useExisting: forwardRef(() => TuiInputPhoneComponent_1),
248
- },
249
- INPUT_PHONE_PROVIDERS,
250
- ],
239
+ providers: INPUT_PHONE_PROVIDERS,
251
240
  styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}:host._disabled{pointer-events:none}.hosted{display:block;border-radius:inherit}.textfield{border-radius:inherit;text-align:inherit}"]
252
241
  }),
253
242
  __param(0, Optional()),
@@ -261,4 +250,4 @@ export { TuiInputPhoneComponent };
261
250
  function isText(value) {
262
251
  return isNaN(parseInt(value.replace(NON_PLUS_AND_DIGITS_REGEX, ''), 10));
263
252
  }
264
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLyIsInNvdXJjZXMiOlsiaW5wdXQtcGhvbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQiwyQkFBMkIsRUFHM0IsY0FBYyxFQUdkLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZiwwQkFBMEIsRUFDMUIsOEJBQThCLEVBQzlCLDRCQUE0QixFQUM1QixrQkFBa0IsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRWhGLE1BQU0seUJBQXlCLEdBQUcsYUFBYSxDQUFDO0FBRWhELFdBQVc7QUFrQlgsSUFBYSxzQkFBc0IsOEJBQW5DLE1BQWEsc0JBQ1QsU0FBUSxrQkFBMEI7SUE4RGxDLFlBSUksT0FBeUIsRUFDRSxpQkFBb0MsRUFFL0QsVUFBK0IsRUFFZCxnQkFBOEM7UUFFL0QsS0FBSyxDQUFDLE9B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Z0JBQ3BDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXNCLENBQUM7YUFDeEQ7WUFDRDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUFzQixDQUFDO2FBQ3hEO1lBQ0QscUJBQXFCO1NBQ3hCOztLQUNKLENBQUM7SUFpRU8sV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUNWLFdBQUEsSUFBSSxFQUFFLENBQUE7SUFDTixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUVqQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFFeEIsV0FBQSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtHQXZFekIsc0JBQXNCLENBa1NsQztTQWxTWSxzQkFBc0I7QUFvU25DLFNBQVMsTUFBTSxDQUFDLEtBQWE7SUFDekIsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM3RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgU2VsZixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlDb250cm9sLFxuICAgIGdldENsaXBib2FyZERhdGFUZXh0LFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBzZXROYXRpdmVGb2N1c2VkLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aUlucHV0TW9kZVQsXG4gICAgdHVpUmVxdWlyZWRTZXR0ZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBmb3JtYXRQaG9uZSxcbiAgICBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgVFVJX1RFWFRGSUVMRF9DTEVBTkVSLFxuICAgIFR1aURhdGFMaXN0RGlyZWN0aXZlLFxuICAgIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVGV4dGZpZWxkQ2xlYW5lckRpcmVjdGl2ZSxcbiAgICBUdWlUZXh0TWFza09wdGlvbnMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7SU5QVVRfUEhPTkVfUFJPVklERVJTLCBTRUxFQ1RJT05fU1RSRUFNfSBmcm9tICcuL2lucHV0LXBob25lLnByb3ZpZGVycyc7XG5cbmNvbnN0IE5PTl9QTFVTX0FORF9ESUdJVFNfUkVHRVggPSAvWyBcXC1fXFwoXFwpXS9nO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtcGhvbmUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1waG9uZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1waG9uZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0UGhvbmVDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dFBob25lQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgSU5QVVRfUEhPTkVfUFJPVklERVJTLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0UGhvbmVDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbDxzdHJpbmc+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsIFR1aURhdGFMaXN0SG9zdDxzdHJpbmc+XG57XG4gICAgQFZpZXdDaGlsZChUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duPzogVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBJbnB1dCgnY291bnRyeUNvZGUnKVxuICAgIEB0dWlSZXF1aXJlZFNldHRlcigpXG4gICAgc2V0IGNvdW50cnlDb2RlU2V0dGVyKGNvdW50cnlDb2RlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZVdpdGhOZXdDb250cnlDb2RlKGNvdW50cnlDb2RlKTtcbiAgICAgICAgdGhpcy5jb3VudHJ5Q29kZSA9IGNvdW50cnlDb2RlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwaG9uZU1hc2tBZnRlckNvdW50cnlDb2RlID0gJygjIyMpICMjIy0jIy0jIyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWxsb3dUZXh0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VhcmNoID0gJyc7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBzZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3REaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgZGF0YWxpc3Q/OiBUZW1wbGF0ZVJlZjxUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+PjtcblxuICAgIHJlYWRvbmx5IHRleHRNYXNrT3B0aW9uczogVHVpVGV4dE1hc2tPcHRpb25zID0ge1xuICAgICAgICBtYXNrOiB2YWx1ZSA9PlxuICAgICAgICAgICAgdGhpcy5hbGxvd1RleHQgJiYgIXRoaXMudmFsdWUgJiYgaXNUZXh0KHZhbHVlKSAmJiB2YWx1ZSAhPT0gJysnXG4gICAgICAgICAgICAgICAgPyBmYWxzZVxuICAgICAgICAgICAgICAgIDogW1xuICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuY291bnRyeUNvZGUuc3BsaXQoJycpLFxuICAgICAgICAgICAgICAgICAgICAgICcgJyxcbiAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnBob25lTWFza0FmdGVyQ291bnRyeUNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1teI1xcLSBcXChcXCldKy9nLCAnJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKGl0ZW0gPT4gKGl0ZW0gPT09ICcjJyA/IC9cXGQvIDogaXRlbSkpLFxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgcGlwZTogdmFsdWUgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuYWxsb3dUZXh0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgPT09ICcnICYmIHRoaXMuZm9jdXNlZCAmJiAhdGhpcy5yZWFkT25seVxuICAgICAgICAgICAgICAgID8gYCR7dGhpcy5jb3VudHJ5Q29kZX0gYFxuICAgICAgICAgICAgICAgIDogdmFsdWUucmVwbGFjZSgvLSQvLCAnJyk7XG4gICAgICAgIH0sXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgY291bnRyeUNvZGUgPSAnKzcnO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChTRUxFQ1RJT05fU1RSRUFNKVxuICAgICAgICBzZWxlY3Rpb24kOiBPYnNlcnZhYmxlPHVua25vd24+LFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfQ0xFQU5FUilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRDbGVhbmVyOiBUdWlUZXh0ZmllbGRDbGVhbmVyRGlyZWN0aXZlLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAgICAgc2VsZWN0aW9uJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRDYXJldFBvc2l0aW9uKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnRleHRmaWVsZCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLnRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkgfHxcbiAgICAgICAgICAgICghIXRoaXMuZHJvcGRvd24gJiYgdGhpcy5kcm9wZG93bi5mb2N1c2VkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZVxuICAgICAgICAgICAgPyBmb3JtYXRQaG9uZSh0aGlzLnZhbHVlLCB0aGlzLmNvdW50cnlDb2RlLCB0aGlzLnBob25lTWFza0FmdGVyQ291bnRyeUNvZGUpXG4gICAgICAgICAgICA6IHRoaXMuc2VhcmNoIHx8ICcnO1xuICAgIH1cblxuICAgIGdldCBpbnB1dE1vZGUoKTogVHVpSW5wdXRNb2RlVCB7XG4gICAgICAgIHJldHVybiB0aGlzLmFsbG93VGV4dCA/ICd0ZXh0JyA6ICdudW1lcmljJztcbiAgICB9XG5cbiAgICBnZXQgY2FuT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQgJiYgIXRoaXMucmVhZE9ubHkgJiYgISF0aGlzLmRhdGFsaXN0O1xuICAgIH1cblxuICAgIGdldCBjYW5DbGVhbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlVmFsdWUgIT09IHRoaXMuY291bnRyeUNvZGUgJiYgdGhpcy50ZXh0ZmllbGRDbGVhbmVyLmNsZWFuZXI7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgICAgIGlmICghZXZlbnQuZGF0YVRyYW5zZmVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldFZhbHVlV2l0aG91dFByZWZpeChldmVudC5kYXRhVHJhbnNmZXIuZ2V0RGF0YSgndGV4dCcpKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkge1xuICAgICAgICB0aGlzLnNldFZhbHVlV2l0aG91dFByZWZpeChnZXRDbGlwYm9hcmREYXRhVGV4dChldmVudCkpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG5cbiAgICAgICAgaWYgKGFjdGl2ZSAmJiAhdGhpcy5uYXRpdmVWYWx1ZSAmJiAhdGhpcy5yZWFkT25seSAmJiAhdGhpcy5hbGxvd1RleHQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKHRoaXMuY291bnRyeUNvZGUpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID09PSB0aGlzLmNvdW50cnlDb2RlIHx8XG4gICAgICAgICAgICAodGhpcy5zZWFyY2ggIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICBpc05hTihwYXJzZUludCh0aGlzLnNlYXJjaC5yZXBsYWNlKE5PTl9QTFVTX0FORF9ESUdJVFNfUkVHRVgsICcnKSwgMTApKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaCgnJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkJhY2tzcGFjZShldmVudDogRXZlbnQgJiB7dGFyZ2V0OiBIVE1MSW5wdXRFbGVtZW50fSkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoZXZlbnQudGFyZ2V0LnNlbGVjdGlvblN0YXJ0IHx8IDApIDw9IHRoaXMubm9uUmVtb3ZhYmxlTGVuZ3RoICYmXG4gICAgICAgICAgICBldmVudC50YXJnZXQuc2VsZWN0aW9uU3RhcnQgPT09IGV2ZW50LnRhcmdldC5zZWxlY3Rpb25FbmRcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUgPT09ICcnID8gdGhpcy5jb3VudHJ5Q29kZSA6IHZhbHVlO1xuXG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IGlzVGV4dCh2YWx1ZSlcbiAgICAgICAgICAgID8gdmFsdWVcbiAgICAgICAgICAgIDogdmFsdWUucmVwbGFjZShOT05fUExVU19BTkRfRElHSVRTX1JFR0VYLCAnJyk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2gocGFyc2VkKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShwYXJzZWQgPT09IHRoaXMuY291bnRyeUNvZGUgfHwgaXNUZXh0KHBhcnNlZCkgPyAnJyA6IHBhcnNlZCk7XG4gICAgICAgIHRoaXMub3BlbiA9IHRydWU7XG4gICAgfVxuXG4gICAgaGFuZGxlT3B0aW9uKGl0ZW06IHN0cmluZykge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShpdGVtKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goJycpO1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKCkge1xuICAgICAgICBzdXBlci5zZXREaXNhYmxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKCcnKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY2FyZXRJc0luRm9yYmlkZGVuQXJlYSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge25hdGl2ZUZvY3VzYWJsZUVsZW1lbnR9ID0gdGhpcztcblxuICAgICAgICBpZiAoIW5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtzZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kfSA9IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGlzTmF0aXZlRm9jdXNlZChuYXRpdmVGb2N1c2FibGVFbGVtZW50KSAmJlxuICAgICAgICAgICAgc2VsZWN0aW9uU3RhcnQgIT09IG51bGwgJiZcbiAgICAgICAgICAgIHNlbGVjdGlvblN0YXJ0IDwgdGhpcy5ub25SZW1vdmFibGVMZW5ndGggJiZcbiAgICAgICAgICAgIHNlbGVjdGlvblN0YXJ0ID09PSBzZWxlY3Rpb25FbmRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBub25SZW1vdmFibGVMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUZXh0VmFsdWUgPyAwIDogdGhpcy5jb3VudHJ5Q29kZS5sZW5ndGggKyAxO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG1heFBob25lTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmNvdW50cnlDb2RlLmxlbmd0aCArXG4gICAgICAgICAgICB0aGlzLnBob25lTWFza0FmdGVyQ291bnRyeUNvZGUucmVwbGFjZSgvW14jXSsvZywgJycpLmxlbmd0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzVGV4dFZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnNlYXJjaCAmJiBpc1RleHQodGhpcy5zZWFyY2gpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q2FyZXRQb3NpdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuY2FyZXRJc0luRm9yYmlkZGVuQXJlYSAmJiAhIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKFxuICAgICAgICAgICAgICAgIHRoaXMubm9uUmVtb3ZhYmxlTGVuZ3RoLFxuICAgICAgICAgICAgICAgIHRoaXMubm9uUmVtb3ZhYmxlTGVuZ3RoLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VmFsdWVXaXRob3V0UHJlZml4KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3BlbiA9IHRydWU7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5jbGVhblZhbHVlKHZhbHVlKSk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKFxuICAgICAgICAgICAgdGhpcy5hbGxvd1RleHQgJiYgaXNUZXh0KHZhbHVlKVxuICAgICAgICAgICAgICAgID8gdmFsdWVcbiAgICAgICAgICAgICAgICA6IHZhbHVlLnJlcGxhY2UoTk9OX1BMVVNfQU5EX0RJR0lUU19SRUdFWCwgJycpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYW5WYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgcmVnOiBSZWdFeHAgPVxuICAgICAgICAgICAgdGhpcy5jb3VudHJ5Q29kZSA9PT0gJys3J1xuICAgICAgICAgICAgICAgID8gL143fF44L1xuICAgICAgICAgICAgICAgIDogbmV3IFJlZ0V4cCh0aGlzLmNvdW50cnlDb2RlLnN1YnN0cmluZygxKSk7XG4gICAgICAgIGNvbnN0IG9sZFZhbHVlRXhpc3QgPVxuICAgICAgICAgICAgdGhpcy52YWx1ZS5sZW5ndGggPiB0aGlzLmNvdW50cnlDb2RlLmxlbmd0aCAmJlxuICAgICAgICAgICAgdGhpcy52YWx1ZS5sZW5ndGggPCB0aGlzLm1heFBob25lTGVuZ3RoO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZUxlbmd0aCA9IHZhbHVlLnJlcGxhY2UoTk9OX1BMVVNfQU5EX0RJR0lUU19SRUdFWCwgJycpLmxlbmd0aDtcbiAgICAgICAgY29uc3QgY2xlYW5OZXdWYWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1teMC05XSsvZywgJycpO1xuICAgICAgICBjb25zdCBzZWxlY3Rpb25MZW5ndGggPSBnZXRTZWxlY3Rpb24oKSEudG9TdHJpbmcoKS5sZW5ndGg7XG5cbiAgICAgICAgaWYgKG9sZFZhbHVlRXhpc3QgJiYgc2VsZWN0aW9uTGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy52YWx1ZX0ke2NsZWFuTmV3VmFsdWV9YC5zbGljZSgwLCB0aGlzLm1heFBob25lTGVuZ3RoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZXdWYWx1ZUxlbmd0aCA8IHRoaXMubWF4UGhvbmVMZW5ndGggLSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5jb3VudHJ5Q29kZX0ke2NsZWFuTmV3VmFsdWV9YC5zbGljZSgwLCB0aGlzLm1heFBob25lTGVuZ3RoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgJHt0aGlzLmNvdW50cnlDb2RlfSR7Y2xlYW5OZXdWYWx1ZS5yZXBsYWNlKHJlZywgJycpfWAuc2xpY2UoXG4gICAgICAgICAgICAwLFxuICAgICAgICAgICAgdGhpcy5tYXhQaG9uZUxlbmd0aCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzSW5wdXQoKSB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LCB0cnVlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlU2VhcmNoKHNlYXJjaDogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLnNlYXJjaCA9PT0gc2VhcmNoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlYXJjaCA9IHNlYXJjaDtcbiAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2UuZW1pdChzZWFyY2gpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVmFsdWVXaXRoTmV3Q29udHJ5Q29kZShuZXdDb3VudHJ5Q29kZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy5pc1RleHRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlLnJlcGxhY2UodGhpcy5jb3VudHJ5Q29kZSwgbmV3Q291bnRyeUNvZGUpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gaXNUZXh0KHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNOYU4ocGFyc2VJbnQodmFsdWUucmVwbGFjZShOT05fUExVU19BTkRfRElHSVRTX1JFR0VYLCAnJyksIDEwKSk7XG59XG4iXX0=
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLyIsInNvdXJjZXMiOlsiaW5wdXQtcGhvbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixnQkFBZ0IsRUFHaEIsY0FBYyxFQUdkLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLDBCQUEwQixFQUMxQiw4QkFBOEIsRUFDOUIsNEJBQTRCLEVBQzVCLGtCQUFrQixHQUNyQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFaEMsT0FBTyxFQUFDLHFCQUFxQixFQUFFLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEYsTUFBTSx5QkFBeUIsR0FBRyxXQUFXLENBQUM7QUFFOUMsV0FBVztBQVFYLElBQWEsc0JBQXNCLEdBQW5DLE1BQWEsc0JBQ1QsU0FBUSxrQkFBMEI7SUE4RGxDLFlBSUksT0FBeUIsRUFDRSxpQkFBb0MsRUFFL0QsVUFBK0IsRUFFZCxnQkFBOEM7UUFFL0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBRmpCLHFCQUFnQixH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Q0FBQTtJQUVqQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFFeEIsV0FBQSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtHQXZFekIsc0JBQXNCLENBa1NsQztTQWxTWSxzQkFBc0I7QUFvU25DLFNBQVMsTUFBTSxDQUFDLEtBQWE7SUFDekIsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM3RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICBnZXRDbGlwYm9hcmREYXRhVGV4dCxcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aUlucHV0TW9kZVQsXG4gICAgdHVpUmVxdWlyZWRTZXR0ZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBmb3JtYXRQaG9uZSxcbiAgICBUVUlfVEVYVEZJRUxEX0NMRUFORVIsXG4gICAgVHVpRGF0YUxpc3REaXJlY3RpdmUsXG4gICAgVHVpRGF0YUxpc3RIb3N0LFxuICAgIFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50LFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlUZXh0ZmllbGRDbGVhbmVyRGlyZWN0aXZlLFxuICAgIFR1aVRleHRNYXNrT3B0aW9ucyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtJTlBVVF9QSE9ORV9QUk9WSURFUlMsIFNFTEVDVElPTl9TVFJFQU19IGZyb20gJy4vaW5wdXQtcGhvbmUucHJvdmlkZXJzJztcblxuY29uc3QgTk9OX1BMVVNfQU5EX0RJR0lUU19SRUdFWCA9IC9bIFxcLV8oKV0vZztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXBob25lJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcGhvbmUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcGhvbmUuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogSU5QVVRfUEhPTkVfUFJPVklERVJTLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFBob25lQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8c3RyaW5nPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8c3RyaW5nPlxue1xuICAgIEBWaWV3Q2hpbGQoVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93bj86IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZChUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQ/OiBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQ7XG5cbiAgICBASW5wdXQoJ2NvdW50cnlDb2RlJylcbiAgICBAdHVpUmVxdWlyZWRTZXR0ZXIoKVxuICAgIHNldCBjb3VudHJ5Q29kZVNldHRlcihjb3VudHJ5Q29kZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWVXaXRoTmV3Q29udHJ5Q29kZShjb3VudHJ5Q29kZSk7XG4gICAgICAgIHRoaXMuY291bnRyeUNvZGUgPSBjb3VudHJ5Q29kZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcGhvbmVNYXNrQWZ0ZXJDb3VudHJ5Q29kZSA9ICcoIyMjKSAjIyMtIyMtIyMnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFsbG93VGV4dCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlYXJjaCA9ICcnO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0PzogVGVtcGxhdGVSZWY8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPj47XG5cbiAgICByZWFkb25seSB0ZXh0TWFza09wdGlvbnM6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogdmFsdWUgPT5cbiAgICAgICAgICAgIHRoaXMuYWxsb3dUZXh0ICYmICF0aGlzLnZhbHVlICYmIGlzVGV4dCh2YWx1ZSkgJiYgdmFsdWUgIT09ICcrJ1xuICAgICAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmNvdW50cnlDb2RlLnNwbGl0KCcnKSxcbiAgICAgICAgICAgICAgICAgICAgICAnICcsXG4gICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5waG9uZU1hc2tBZnRlckNvdW50cnlDb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXiNcXC0gKCldKy9nLCAnJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKGl0ZW0gPT4gKGl0ZW0gPT09ICcjJyA/IC9cXGQvIDogaXRlbSkpLFxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgcGlwZTogdmFsdWUgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuYWxsb3dUZXh0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgPT09ICcnICYmIHRoaXMuZm9jdXNlZCAmJiAhdGhpcy5yZWFkT25seVxuICAgICAgICAgICAgICAgID8gYCR7dGhpcy5jb3VudHJ5Q29kZX0gYFxuICAgICAgICAgICAgICAgIDogdmFsdWUucmVwbGFjZSgvLSQvLCAnJyk7XG4gICAgICAgIH0sXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgY291bnRyeUNvZGUgPSAnKzcnO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChTRUxFQ1RJT05fU1RSRUFNKVxuICAgICAgICBzZWxlY3Rpb24kOiBPYnNlcnZhYmxlPHVua25vd24+LFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfQ0xFQU5FUilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRDbGVhbmVyOiBUdWlUZXh0ZmllbGRDbGVhbmVyRGlyZWN0aXZlLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAgICAgc2VsZWN0aW9uJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRDYXJldFBvc2l0aW9uKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnRleHRmaWVsZCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLnRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkgfHxcbiAgICAgICAgICAgICghIXRoaXMuZHJvcGRvd24gJiYgdGhpcy5kcm9wZG93bi5mb2N1c2VkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlXG4gICAgICAgICAgICA/IGZvcm1hdFBob25lKHRoaXMudmFsdWUsIHRoaXMuY291bnRyeUNvZGUsIHRoaXMucGhvbmVNYXNrQWZ0ZXJDb3VudHJ5Q29kZSlcbiAgICAgICAgICAgIDogdGhpcy5zZWFyY2ggfHwgJyc7XG4gICAgfVxuXG4gICAgZ2V0IGlucHV0TW9kZSgpOiBUdWlJbnB1dE1vZGVUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxsb3dUZXh0ID8gJ3RleHQnIDogJ251bWVyaWMnO1xuICAgIH1cblxuICAgIGdldCBjYW5PcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSAmJiAhIXRoaXMuZGF0YWxpc3Q7XG4gICAgfVxuXG4gICAgZ2V0IGNhbkNsZWFuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlZFZhbHVlICE9PSB0aGlzLmNvdW50cnlDb2RlICYmIHRoaXMudGV4dGZpZWxkQ2xlYW5lci5jbGVhbmVyO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgICBpZiAoIWV2ZW50LmRhdGFUcmFuc2Zlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRWYWx1ZVdpdGhvdXRQcmVmaXgoZXZlbnQuZGF0YVRyYW5zZmVyLmdldERhdGEoJ3RleHQnKSk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpIHtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZVdpdGhvdXRQcmVmaXgoZ2V0Q2xpcGJvYXJkRGF0YVRleHQoZXZlbnQpKTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuXG4gICAgICAgIGlmIChhY3RpdmUgJiYgIXRoaXMuY29tcHV0ZWRWYWx1ZSAmJiAhdGhpcy5yZWFkT25seSAmJiAhdGhpcy5hbGxvd1RleHQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKHRoaXMuY291bnRyeUNvZGUpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkVmFsdWUgPT09IHRoaXMuY291bnRyeUNvZGUgfHxcbiAgICAgICAgICAgICh0aGlzLnNlYXJjaCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIGlzTmFOKHBhcnNlSW50KHRoaXMuc2VhcmNoLnJlcGxhY2UoTk9OX1BMVVNfQU5EX0RJR0lUU19SRUdFWCwgJycpLCAxMCkpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKCcnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQmFja3NwYWNlKGV2ZW50OiBFdmVudCAmIHt0YXJnZXQ6IEhUTUxJbnB1dEVsZW1lbnR9KSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIChldmVudC50YXJnZXQuc2VsZWN0aW9uU3RhcnQgfHwgMCkgPD0gdGhpcy5ub25SZW1vdmFibGVMZW5ndGggJiZcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldC5zZWxlY3Rpb25TdGFydCA9PT0gZXZlbnQudGFyZ2V0LnNlbGVjdGlvbkVuZFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZSA9PT0gJycgPyB0aGlzLmNvdW50cnlDb2RlIDogdmFsdWU7XG5cbiAgICAgICAgY29uc3QgcGFyc2VkID0gaXNUZXh0KHZhbHVlKVxuICAgICAgICAgICAgPyB2YWx1ZVxuICAgICAgICAgICAgOiB2YWx1ZS5yZXBsYWNlKE5PTl9QTFVTX0FORF9ESUdJVFNfUkVHRVgsICcnKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChwYXJzZWQpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHBhcnNlZCA9PT0gdGhpcy5jb3VudHJ5Q29kZSB8fCBpc1RleHQocGFyc2VkKSA/ICcnIDogcGFyc2VkKTtcbiAgICAgICAgdGhpcy5vcGVuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcHRpb24oaXRlbTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGl0ZW0pO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaCgnJyk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoKSB7XG4gICAgICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goJycpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGYWxsYmFja1ZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjYXJldElzSW5Gb3JiaWRkZW5BcmVhKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7bmF0aXZlRm9jdXNhYmxlRWxlbWVudH0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghbmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge3NlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmR9ID0gbmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpICYmXG4gICAgICAgICAgICBzZWxlY3Rpb25TdGFydCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgc2VsZWN0aW9uU3RhcnQgPCB0aGlzLm5vblJlbW92YWJsZUxlbmd0aCAmJlxuICAgICAgICAgICAgc2VsZWN0aW9uU3RhcnQgPT09IHNlbGVjdGlvbkVuZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG5vblJlbW92YWJsZUxlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RleHRWYWx1ZSA/IDAgOiB0aGlzLmNvdW50cnlDb2RlLmxlbmd0aCArIDE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbWF4UGhvbmVMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuY291bnRyeUNvZGUubGVuZ3RoICtcbiAgICAgICAgICAgIHRoaXMucGhvbmVNYXNrQWZ0ZXJDb3VudHJ5Q29kZS5yZXBsYWNlKC9bXiNdKy9nLCAnJykubGVuZ3RoXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNUZXh0VmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuc2VhcmNoICYmIGlzVGV4dCh0aGlzLnNlYXJjaCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDYXJldFBvc2l0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5jYXJldElzSW5Gb3JiaWRkZW5BcmVhICYmICEhdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgICAgICAgdGhpcy5ub25SZW1vdmFibGVMZW5ndGgsXG4gICAgICAgICAgICAgICAgdGhpcy5ub25SZW1vdmFibGVMZW5ndGgsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRWYWx1ZVdpdGhvdXRQcmVmaXgodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcGVuID0gdHJ1ZTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLmNsZWFuVmFsdWUodmFsdWUpKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goXG4gICAgICAgICAgICB0aGlzLmFsbG93VGV4dCAmJiBpc1RleHQodmFsdWUpXG4gICAgICAgICAgICAgICAgPyB2YWx1ZVxuICAgICAgICAgICAgICAgIDogdmFsdWUucmVwbGFjZShOT05fUExVU19BTkRfRElHSVRTX1JFR0VYLCAnJyksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhblZhbHVlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCByZWc6IFJlZ0V4cCA9XG4gICAgICAgICAgICB0aGlzLmNvdW50cnlDb2RlID09PSAnKzcnXG4gICAgICAgICAgICAgICAgPyAvXjd8XjgvXG4gICAgICAgICAgICAgICAgOiBuZXcgUmVnRXhwKHRoaXMuY291bnRyeUNvZGUuc3Vic3RyaW5nKDEpKTtcbiAgICAgICAgY29uc3Qgb2xkVmFsdWVFeGlzdCA9XG4gICAgICAgICAgICB0aGlzLnZhbHVlLmxlbmd0aCA+IHRoaXMuY291bnRyeUNvZGUubGVuZ3RoICYmXG4gICAgICAgICAgICB0aGlzLnZhbHVlLmxlbmd0aCA8IHRoaXMubWF4UGhvbmVMZW5ndGg7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlTGVuZ3RoID0gdmFsdWUucmVwbGFjZShOT05fUExVU19BTkRfRElHSVRTX1JFR0VYLCAnJykubGVuZ3RoO1xuICAgICAgICBjb25zdCBjbGVhbk5ld1ZhbHVlID0gdmFsdWUucmVwbGFjZSgvW14wLTldKy9nLCAnJyk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbkxlbmd0aCA9IFN0cmluZyhnZXRTZWxlY3Rpb24oKSkubGVuZ3RoO1xuXG4gICAgICAgIGlmIChvbGRWYWx1ZUV4aXN0ICYmIHNlbGVjdGlvbkxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGAke3RoaXMudmFsdWV9JHtjbGVhbk5ld1ZhbHVlfWAuc2xpY2UoMCwgdGhpcy5tYXhQaG9uZUxlbmd0aCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmV3VmFsdWVMZW5ndGggPCB0aGlzLm1heFBob25lTGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIGAke3RoaXMuY291bnRyeUNvZGV9JHtjbGVhbk5ld1ZhbHVlfWAuc2xpY2UoMCwgdGhpcy5tYXhQaG9uZUxlbmd0aCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYCR7dGhpcy5jb3VudHJ5Q29kZX0ke2NsZWFuTmV3VmFsdWUucmVwbGFjZShyZWcsICcnKX1gLnNsaWNlKFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICAgIHRoaXMubWF4UGhvbmVMZW5ndGgsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KCkge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCwgdHJ1ZSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlYXJjaChzZWFyY2g6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5zZWFyY2ggPT09IHNlYXJjaCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWFyY2ggPSBzZWFyY2g7XG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQoc2VhcmNoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVZhbHVlV2l0aE5ld0NvbnRyeUNvZGUobmV3Q291bnRyeUNvZGU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMuaXNUZXh0VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy52YWx1ZS5yZXBsYWNlKHRoaXMuY291bnRyeUNvZGUsIG5ld0NvdW50cnlDb2RlKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIGlzVGV4dCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzTmFOKHBhcnNlSW50KHZhbHVlLnJlcGxhY2UoTk9OX1BMVVNfQU5EX0RJR0lUU19SRUdFWCwgJycpLCAxMCkpO1xufVxuIl19
@@ -0,0 +1,29 @@
1
+ var TuiInputPhoneDirective_1;
2
+ import { __decorate } from "tslib";
3
+ import { Directive, forwardRef } from '@angular/core';
4
+ import { TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost } from '@taiga-ui/core';
5
+ let TuiInputPhoneDirective = TuiInputPhoneDirective_1 = class TuiInputPhoneDirective extends TuiAbstractTextfieldHost {
6
+ get value() {
7
+ return this.host.computedValue;
8
+ }
9
+ onValueChange(value) {
10
+ this.host.onValueChange(value);
11
+ }
12
+ process(input) {
13
+ input.type = 'tel';
14
+ // TODO inputMode?
15
+ }
16
+ };
17
+ TuiInputPhoneDirective = TuiInputPhoneDirective_1 = __decorate([
18
+ Directive({
19
+ selector: 'tui-input-phone',
20
+ providers: [
21
+ {
22
+ provide: TUI_TEXTFIELD_HOST,
23
+ useExisting: forwardRef(() => TuiInputPhoneDirective_1),
24
+ },
25
+ ],
26
+ })
27
+ ], TuiInputPhoneDirective);
28
+ export { TuiInputPhoneDirective };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLyIsInNvdXJjZXMiOlsiaW5wdXQtcGhvbmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLHdCQUF3QixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFhNUUsSUFBYSxzQkFBc0IsOEJBQW5DLE1BQWEsc0JBQXVCLFNBQVEsd0JBQWdEO0lBQ3hGLElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDbkMsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBdUI7UUFDM0IsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbkIsa0JBQWtCO0lBQ3RCLENBQUM7Q0FDSixDQUFBO0FBYlksc0JBQXNCO0lBVGxDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsU0FBUyxFQUFFO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBc0IsQ0FBQzthQUN4RDtTQUNKO0tBQ0osQ0FBQztHQUNXLHNCQUFzQixDQWFsQztTQWJZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBmb3J3YXJkUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VFVJX1RFWFRGSUVMRF9IT1NULCBUdWlBYnN0cmFjdFRleHRmaWVsZEhvc3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuaW1wb3J0IHtUdWlJbnB1dFBob25lQ29tcG9uZW50fSBmcm9tICcuL2lucHV0LXBob25lLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXBob25lJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX1RFWFRGSUVMRF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRQaG9uZURpcmVjdGl2ZSksXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRQaG9uZURpcmVjdGl2ZSBleHRlbmRzIFR1aUFic3RyYWN0VGV4dGZpZWxkSG9zdDxUdWlJbnB1dFBob25lQ29tcG9uZW50PiB7XG4gICAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3QuY29tcHV0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5ob3N0Lm9uVmFsdWVDaGFuZ2UodmFsdWUpO1xuICAgIH1cblxuICAgIHByb2Nlc3MoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgaW5wdXQudHlwZSA9ICd0ZWwnO1xuICAgICAgICAvLyBUT0RPIGlucHV0TW9kZT9cbiAgICB9XG59XG4iXX0=
@@ -1,10 +1,11 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { NgModule } from '@angular/core';
3
3
  import { TuiActiveZoneModule } from '@taiga-ui/cdk';
4
- import { TuiHostedDropdownModule, TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule, } from '@taiga-ui/core';
4
+ import { TuiHostedDropdownModule, TuiPrimitiveTextfieldModule, TuiTextfieldComponent, TuiTextfieldControllerModule, } from '@taiga-ui/core';
5
5
  import { TuiValueAccessorModule } from '@taiga-ui/kit/directives';
6
6
  import { TextMaskModule } from 'angular2-text-mask';
7
7
  import { TuiInputPhoneComponent } from './input-phone.component';
8
+ import { TuiInputPhoneDirective } from './input-phone.directive';
8
9
  let TuiInputPhoneModule = class TuiInputPhoneModule {
9
10
  };
10
11
  TuiInputPhoneModule = __decorate([
@@ -17,9 +18,9 @@ TuiInputPhoneModule = __decorate([
17
18
  TuiActiveZoneModule,
18
19
  TuiValueAccessorModule,
19
20
  ],
20
- declarations: [TuiInputPhoneComponent],
21
- exports: [TuiInputPhoneComponent],
21
+ declarations: [TuiInputPhoneComponent, TuiInputPhoneDirective],
22
+ exports: [TuiInputPhoneComponent, TuiInputPhoneDirective, TuiTextfieldComponent],
22
23
  })
23
24
  ], TuiInputPhoneModule);
24
25
  export { TuiInputPhoneModule };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLyIsInNvdXJjZXMiOlsiaW5wdXQtcGhvbmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLDJCQUEyQixFQUMzQiw0QkFBNEIsR0FDL0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFjL0QsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBbUI7Q0FBRyxDQUFBO0FBQXRCLG1CQUFtQjtJQVovQixRQUFRLENBQUM7UUFDTixPQUFPLEVBQUU7WUFDTCxjQUFjO1lBQ2QsMkJBQTJCO1lBQzNCLHVCQUF1QjtZQUN2Qiw0QkFBNEI7WUFDNUIsbUJBQW1CO1lBQ25CLHNCQUFzQjtTQUN6QjtRQUNELFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO1FBQ3RDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO0tBQ3BDLENBQUM7R0FDVyxtQkFBbUIsQ0FBRztTQUF0QixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZU1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFR1aUhvc3RlZERyb3Bkb3duTW9kdWxlLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aVZhbHVlQWNjZXNzb3JNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcyc7XG5pbXBvcnQge1RleHRNYXNrTW9kdWxlfSBmcm9tICdhbmd1bGFyMi10ZXh0LW1hc2snO1xuXG5pbXBvcnQge1R1aUlucHV0UGhvbmVDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtcGhvbmUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRleHRNYXNrTW9kdWxlLFxuICAgICAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRNb2R1bGUsXG4gICAgICAgIFR1aUhvc3RlZERyb3Bkb3duTW9kdWxlLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgICAgICBUdWlBY3RpdmVab25lTW9kdWxlLFxuICAgICAgICBUdWlWYWx1ZUFjY2Vzc29yTW9kdWxlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbVHVpSW5wdXRQaG9uZUNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW1R1aUlucHV0UGhvbmVDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFBob25lTW9kdWxlIHt9XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLyIsInNvdXJjZXMiOlsiaW5wdXQtcGhvbmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLDJCQUEyQixFQUMzQixxQkFBcUIsRUFDckIsNEJBQTRCLEdBQy9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRWxELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBYy9ELElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW1CO0NBQUcsQ0FBQTtBQUF0QixtQkFBbUI7SUFaL0IsUUFBUSxDQUFDO1FBQ04sT0FBTyxFQUFFO1lBQ0wsY0FBYztZQUNkLDJCQUEyQjtZQUMzQix1QkFBdUI7WUFDdkIsNEJBQTRCO1lBQzVCLG1CQUFtQjtZQUNuQixzQkFBc0I7U0FDekI7UUFDRCxZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxzQkFBc0IsQ0FBQztRQUM5RCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxxQkFBcUIsQ0FBQztLQUNuRixDQUFDO0dBQ1csbUJBQW1CLENBQUc7U0FBdEIsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUFjdGl2ZVpvbmVNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUdWlIb3N0ZWREcm9wZG93bk1vZHVsZSxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRNb2R1bGUsXG4gICAgVHVpVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpVmFsdWVBY2Nlc3Nvck1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9kaXJlY3RpdmVzJztcbmltcG9ydCB7VGV4dE1hc2tNb2R1bGV9IGZyb20gJ2FuZ3VsYXIyLXRleHQtbWFzayc7XG5cbmltcG9ydCB7VHVpSW5wdXRQaG9uZUNvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1waG9uZS5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlJbnB1dFBob25lRGlyZWN0aXZlfSBmcm9tICcuL2lucHV0LXBob25lLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBUZXh0TWFza01vZHVsZSxcbiAgICAgICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkTW9kdWxlLFxuICAgICAgICBUdWlIb3N0ZWREcm9wZG93bk1vZHVsZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICAgICAgVHVpQWN0aXZlWm9uZU1vZHVsZSxcbiAgICAgICAgVHVpVmFsdWVBY2Nlc3Nvck1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1R1aUlucHV0UGhvbmVDb21wb25lbnQsIFR1aUlucHV0UGhvbmVEaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtUdWlJbnB1dFBob25lQ29tcG9uZW50LCBUdWlJbnB1dFBob25lRGlyZWN0aXZlLCBUdWlUZXh0ZmllbGRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFBob25lTW9kdWxlIHt9XG4iXX0=
@@ -1,13 +1,27 @@
1
1
  import { DOCUMENT } from '@angular/common';
2
- import { InjectionToken } from '@angular/core';
3
- import { TuiDestroyService } from '@taiga-ui/cdk';
2
+ import { forwardRef, InjectionToken } from '@angular/core';
3
+ import { AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR, TuiDestroyService, } from '@taiga-ui/cdk';
4
+ import { TUI_DATA_LIST_HOST } from '@taiga-ui/core';
4
5
  import { FIXED_DROPDOWN_CONTROLLER_PROVIDER } from '@taiga-ui/kit/providers';
5
6
  import { fromEvent, merge } from 'rxjs';
6
7
  import { flatMap, startWith, takeUntil, windowToggle } from 'rxjs/operators';
8
+ import { TuiInputPhoneComponent } from './input-phone.component';
7
9
  export const SELECTION_STREAM = new InjectionToken('A stream of selection changes');
8
10
  export const INPUT_PHONE_PROVIDERS = [
9
11
  TuiDestroyService,
10
12
  FIXED_DROPDOWN_CONTROLLER_PROVIDER,
13
+ {
14
+ provide: AbstractTuiControl,
15
+ useExisting: forwardRef(() => TuiInputPhoneComponent),
16
+ },
17
+ {
18
+ provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
19
+ useExisting: forwardRef(() => TuiInputPhoneComponent),
20
+ },
21
+ {
22
+ provide: TUI_DATA_LIST_HOST,
23
+ useExisting: forwardRef(() => TuiInputPhoneComponent),
24
+ },
11
25
  {
12
26
  provide: SELECTION_STREAM,
13
27
  deps: [TuiDestroyService, DOCUMENT],
@@ -17,4 +31,4 @@ export const INPUT_PHONE_PROVIDERS = [
17
31
  export function selectionStreamFactory(destroy$, documentRef) {
18
32
  return fromEvent(documentRef, 'selectionchange').pipe(windowToggle(merge(fromEvent(documentRef, 'mouseup'), fromEvent(documentRef, 'keydown')), () => fromEvent(documentRef, 'mousedown')), flatMap(windowed$ => windowed$.pipe(startWith(null))), takeUntil(destroy$));
19
33
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLyIsInNvdXJjZXMiOlsiaW5wdXQtcGhvbmUucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0UsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQzlDLCtCQUErQixDQUNsQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDakMsaUJBQWlCO0lBQ2pCLGtDQUFrQztJQUNsQztRQUNJLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsSUFBSSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDO1FBQ25DLFVBQVUsRUFBRSxzQkFBc0I7S0FDckM7Q0FDSixDQUFDO0FBRUYsTUFBTSxVQUFVLHNCQUFzQixDQUNsQyxRQUE2QixFQUM3QixXQUFxQjtJQUVyQixPQUFPLFNBQVMsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQ2pELFlBQVksQ0FDUixLQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsRUFBRSxTQUFTLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQzNFLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQzVDLEVBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNyRCxTQUFTLENBQUMsUUFBUSxDQUFDLENBQ3RCLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlEZXN0cm95U2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZsYXRNYXAsIHN0YXJ0V2l0aCwgdGFrZVVudGlsLCB3aW5kb3dUb2dnbGV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IFNFTEVDVElPTl9TVFJFQU0gPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTx1bmtub3duPj4oXG4gICAgJ0Egc3RyZWFtIG9mIHNlbGVjdGlvbiBjaGFuZ2VzJyxcbik7XG5leHBvcnQgY29uc3QgSU5QVVRfUEhPTkVfUFJPVklERVJTID0gW1xuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIEZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAge1xuICAgICAgICBwcm92aWRlOiBTRUxFQ1RJT05fU1RSRUFNLFxuICAgICAgICBkZXBzOiBbVHVpRGVzdHJveVNlcnZpY2UsIERPQ1VNRU5UXSxcbiAgICAgICAgdXNlRmFjdG9yeTogc2VsZWN0aW9uU3RyZWFtRmFjdG9yeSxcbiAgICB9LFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdGlvblN0cmVhbUZhY3RvcnkoXG4gICAgZGVzdHJveSQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4gICAgZG9jdW1lbnRSZWY6IERvY3VtZW50LFxuKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgcmV0dXJuIGZyb21FdmVudChkb2N1bWVudFJlZiwgJ3NlbGVjdGlvbmNoYW5nZScpLnBpcGUoXG4gICAgICAgIHdpbmRvd1RvZ2dsZShcbiAgICAgICAgICAgIG1lcmdlKGZyb21FdmVudChkb2N1bWVudFJlZiwgJ21vdXNldXAnKSwgZnJvbUV2ZW50KGRvY3VtZW50UmVmLCAna2V5ZG93bicpKSxcbiAgICAgICAgICAgICgpID0+IGZyb21FdmVudChkb2N1bWVudFJlZiwgJ21vdXNlZG93bicpLFxuICAgICAgICApLFxuICAgICAgICBmbGF0TWFwKHdpbmRvd2VkJCA9PiB3aW5kb3dlZCQucGlwZShzdGFydFdpdGgobnVsbCkpKSxcbiAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICApO1xufVxuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLyIsInNvdXJjZXMiOlsiaW5wdXQtcGhvbmUucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLDJCQUEyQixFQUMzQixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0UsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRS9ELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUM5QywrQkFBK0IsQ0FDbEMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ2pDLGlCQUFpQjtJQUNqQixrQ0FBa0M7SUFDbEM7UUFDSSxPQUFPLEVBQUUsa0JBQWtCO1FBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7S0FDeEQ7SUFDRDtRQUNJLE9BQU8sRUFBRSwyQkFBMkI7UUFDcEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztLQUN4RDtJQUNEO1FBQ0ksT0FBTyxFQUFFLGtCQUFrQjtRQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO0tBQ3hEO0lBQ0Q7UUFDSSxPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLElBQUksRUFBRSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQztRQUNuQyxVQUFVLEVBQUUsc0JBQXNCO0tBQ3JDO0NBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSxzQkFBc0IsQ0FDbEMsUUFBNkIsRUFDN0IsV0FBcUI7SUFFckIsT0FBTyxTQUFTLENBQUMsV0FBVyxFQUFFLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUNqRCxZQUFZLENBQ1IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUMzRSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUM1QyxFQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDckQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge2ZvcndhcmRSZWYsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlDb250cm9sLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9EQVRBX0xJU1RfSE9TVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Byb3ZpZGVycyc7XG5pbXBvcnQge2Zyb21FdmVudCwgbWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmbGF0TWFwLCBzdGFydFdpdGgsIHRha2VVbnRpbCwgd2luZG93VG9nZ2xlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpSW5wdXRQaG9uZUNvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1waG9uZS5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgU0VMRUNUSU9OX1NUUkVBTSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPHVua25vd24+PihcbiAgICAnQSBzdHJlYW0gb2Ygc2VsZWN0aW9uIGNoYW5nZXMnLFxuKTtcbmV4cG9ydCBjb25zdCBJTlBVVF9QSE9ORV9QUk9WSURFUlMgPSBbXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgRklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRQaG9uZUNvbXBvbmVudCksXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRQaG9uZUNvbXBvbmVudCksXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRQaG9uZUNvbXBvbmVudCksXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFNFTEVDVElPTl9TVFJFQU0sXG4gICAgICAgIGRlcHM6IFtUdWlEZXN0cm95U2VydmljZSwgRE9DVU1FTlRdLFxuICAgICAgICB1c2VGYWN0b3J5OiBzZWxlY3Rpb25TdHJlYW1GYWN0b3J5LFxuICAgIH0sXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0aW9uU3RyZWFtRmFjdG9yeShcbiAgICBkZXN0cm95JDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICBkb2N1bWVudFJlZjogRG9jdW1lbnQsXG4pOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICByZXR1cm4gZnJvbUV2ZW50KGRvY3VtZW50UmVmLCAnc2VsZWN0aW9uY2hhbmdlJykucGlwZShcbiAgICAgICAgd2luZG93VG9nZ2xlKFxuICAgICAgICAgICAgbWVyZ2UoZnJvbUV2ZW50KGRvY3VtZW50UmVmLCAnbW91c2V1cCcpLCBmcm9tRXZlbnQoZG9jdW1lbnRSZWYsICdrZXlkb3duJykpLFxuICAgICAgICAgICAgKCkgPT4gZnJvbUV2ZW50KGRvY3VtZW50UmVmLCAnbW91c2Vkb3duJyksXG4gICAgICAgICksXG4gICAgICAgIGZsYXRNYXAod2luZG93ZWQkID0+IHdpbmRvd2VkJC5waXBlKHN0YXJ0V2l0aChudWxsKSkpLFxuICAgICAgICB0YWtlVW50aWwoZGVzdHJveSQpLFxuICAgICk7XG59XG4iXX0=
@@ -1,10 +1,10 @@
1
1
  import { TuiCountryIsoCode } from '@taiga-ui/i18n';
2
2
  /**
3
3
  * @deprecated Dont use it (will be deleted soon).
4
- * - Use const `COUNTRIES_MASKS` to get phone mask by country iso code
4
+ * - Use token `TUI_COUNTRIES_MASKS` to get phone mask by country iso code
5
5
  * - Use token `TUI_COUNTRIES` to get localized country name by its iso code
6
6
  * @example
7
- * import {TUI_COUNTRIES, COUNTRIES_MASKS} from '@taiga-ui/kit';
7
+ * import {TUI_COUNTRIES, TUI_COUNTRIES_MASKS} from '@taiga-ui/kit';
8
8
  *
9
9
  * @todo TODO: remove it in 3.0
10
10
  */
@@ -25,7 +25,7 @@ export const COUNTRIES = {
25
25
  [TuiCountryIsoCode.AU]: { mask: '+61#-####-####', name: 'Австралия' },
26
26
  [TuiCountryIsoCode.AW]: { mask: '+297###-####', name: 'Аруба' },
27
27
  [TuiCountryIsoCode.AZ]: { mask: '+994##-###-##-##', name: 'Азербайджан' },
28
- [TuiCountryIsoCode.BA]: { mask: '+387##-#####', name: 'Босния и Герцеговина' },
28
+ [TuiCountryIsoCode.BA]: { mask: '+387 ###-####-#', name: 'Босния и Герцеговина' },
29
29
  [TuiCountryIsoCode.BB]: { mask: '+1(246) ###-####', name: 'Барбадос' },
30
30
  [TuiCountryIsoCode.BD]: { mask: '+880##-###-###', name: 'Бангладеш' },
31
31
  [TuiCountryIsoCode.BE]: { mask: '+32(###) ###-###', name: 'Бельгия' },
@@ -237,10 +237,19 @@ export const COUNTRIES = {
237
237
  [TuiCountryIsoCode.ZM]: { mask: '+260##-###-####', name: 'Замбия' },
238
238
  [TuiCountryIsoCode.ZW]: { mask: '+263#-######', name: 'Зимбабве' },
239
239
  };
240
- // TODO: remove in ivy compilation
240
+ /**
241
+ * @deprecated will be deleted soon
242
+ * TODO: remove in 3.0 (in ivy compilation)
243
+ */
241
244
  export function countriesMasksReducer(acc, [countryIsoCode, { mask }]) {
242
245
  acc[countryIsoCode] = mask;
243
246
  return acc;
244
247
  }
248
+ /**
249
+ * @deprecated will be deleted soon
250
+ * Use token `TUI_COUNTRIES_MASKS`
251
+ * TODO: remove in 3.0
252
+ */
245
253
  export const COUNTRIES_MASKS = Object.entries(COUNTRIES).reduce(countriesMasksReducer, {});
246
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyaWVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWwvIiwic291cmNlcyI6WyJjb25zdC9jb3VudHJpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJakQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQTRCO0lBQzlDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUM7SUFDOUQsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUNwQixJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLElBQUksRUFBRSwrQkFBK0I7S0FDeEM7SUFDRCxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxZQUFZLEVBQUM7SUFDcEUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUM7SUFDN0UsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFDO0lBQ25FLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBQztJQUNwRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUM7SUFDakUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFDLElB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LENBQXFCLHFCQUFxQixFQUFFLEVBQXdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHVpQ291bnRyeUlzb0NvZGV9IGZyb20gJ0B0YWlnYS11aS9pMThuJztcblxuaW1wb3J0IHtDb3VudHJ5fSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvdW50cnknO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIERvbnQgdXNlIGl0ICh3aWxsIGJlIGRlbGV0ZWQgc29vbikuXG4gKiAtIFVzZSBjb25zdCBgQ09VTlRSSUVTX01BU0tTYCB0byBnZXQgcGhvbmUgbWFzayBieSBjb3VudHJ5IGlzbyBjb2RlXG4gKiAtIFVzZSB0b2tlbiBgVFVJX0NPVU5UUklFU2AgdG8gZ2V0IGxvY2FsaXplZCBjb3VudHJ5IG5hbWUgYnkgaXRzIGlzbyBjb2RlXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHtUVUlfQ09VTlRSSUVTLCBDT1VOVFJJRVNfTUFTS1N9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuICpcbiAqIEB0b2RvIFRPRE86IHJlbW92ZSBpdCBpbiAzLjBcbiAqL1xuZXhwb3J0IGNvbnN0IENPVU5UUklFUzogUmVjb3JkPHN0cmluZywgQ291bnRyeT4gPSB7XG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFEXToge21hc2s6ICcrMzc2IyMjLSMjIycsIG5hbWU6ICfQkNC90LTQvtGA0YDQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BRV06IHtcbiAgICAgICAgbWFzazogJys5NzEtIyMtIyMjLSMjIyMnLFxuICAgICAgICBuYW1lOiAn0J7QsdGK0LXQtNC40L3QtdC90L3Ri9C1INCQ0YDQsNCx0YHQutC40LUg0K3QvNC40YDQsNGC0YsnLFxuICAgIH0sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFGXToge21hc2s6ICcrOTMjIy0jIyMtIyMjIycsIG5hbWU6ICfQkNGE0LPQsNC90LjRgdGC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BR106IHttYXNrOiAnKzEoMjY4KSAjIyMtIyMjIycsIG5hbWU6ICfQkNC90YLQuNCz0YPQsCDQuCDQkdCw0YDQsdGD0LTQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BSV06IHttYXNrOiAnKzEoMjY0KSAjIyMtIyMjIycsIG5hbWU6ICfQkNC90LPQuNC70YzRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BTF06IHttYXNrOiAnKzM1NSgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JDQu9Cx0LDQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQU1dOiB7bWFzazogJyszNzQjIy0jIyMtIyMjJywgbmFtZTogJ9CQ0YDQvNC10L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFPXToge21hc2s6ICcrMjQ0KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQkNC90LPQvtC70LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQVJdOiB7bWFzazogJys1NCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CQ0YDQs9C10L3RgtC40L3QsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BVF06IHttYXNrOiAnKzQzKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JDQstGB0YLRgNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQVVdOiB7bWFzazogJys2MSMtIyMjIy0jIyMjJywgbmFtZTogJ9CQ0LLRgdGC0YDQsNC70LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BV106IHttYXNrOiAnKzI5NyMjIy0jIyMjJywgbmFtZTogJ9CQ0YDRg9Cx0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQVpdOiB7bWFzazogJys5OTQjIy0jIyMtIyMtIyMnLCBuYW1lOiAn0JDQt9C10YDQsdCw0LnQtNC20LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CQV06IHttYXNrOiAnKzM4NyMjLSMjIyMjJywgbmFtZTogJ9CR0L7RgdC90LjRjyDQuCDQk9C10YDRhtC10LPQvtCy0LjQvdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJCXToge21hc2s6ICcrMSgyNDYpICMjIy0jIyMjJywgbmFtZTogJ9CR0LDRgNCx0LDQtNC+0YEnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkRdOiB7bWFzazogJys4ODAjIy0jIyMtIyMjJywgbmFtZTogJ9CR0LDQvdCz0LvQsNC00LXRiCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CRV06IHttYXNrOiAnKzMyKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQkdC10LvRjNCz0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CRl06IHttYXNrOiAnKzIyNiMjLSMjLSMjIyMnLCBuYW1lOiAn0JHRg9GA0LrQuNC90LAg0KTQsNGB0L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkddOiB7bWFzazogJyszNTkoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CR0L7Qu9Cz0LDRgNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkhdOiB7bWFzazogJys5NzMjIyMjLSMjIyMnLCBuYW1lOiAn0JHQsNGF0YDQtdC50L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkldOiB7bWFzazogJysyNTcjIy0jIy0jIyMjJywgbmFtZTogJ9CR0YPRgNGD0L3QtNC4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJKXToge21hc2s6ICcrMjI5IyMtIyMtIyMjIycsIG5hbWU6ICfQkdC10L3QuNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJNXToge21hc2s6ICcrMSg0NDEpICMjIy0jIyMjJywgbmFtZTogJ9CR0LXRgNC80YPQtNGB0LrQuNC1INC+0YHRgtGA0L7QstCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJOXToge21hc2s6ICcrNjczIyMjLSMjIyMnLCBuYW1lOiAn0JHRgNGD0L3QtdC5LdCU0LDRgNGD0YHRgdCw0LvQsNC8J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJPXToge21hc2s6ICcrNTkxIy0jIyMtIyMjIycsIG5hbWU6ICfQkdC+0LvQuNCy0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CUV06IHtcbiAgICAgICAgbWFzazogJys1OTktIyMjLSMjIyMnLFxuICAgICAgICBuYW1lOiAn0JHQvtC90LDQudGA0LUsINCh0LjQvdGCLdCt0YHRgtCw0YLQuNGD0YEg0Lgg0KHQsNCx0LAnLFxuICAgIH0sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJSXToge21hc2s6ICcrNTUoIyMpICMjIyMtIyMjIycsIG5hbWU6ICfQkdGA0LDQt9C40LvQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJTXToge21hc2s6ICcrMSgyNDIpICMjIy0jIyMjJywgbmFtZTogJ9CR0LDQs9Cw0LzRgdC60LjQtSDQntGB0YLRgNC+0LLQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CVF06IHttYXNrOiAnKzk3NSMtIyMjLSMjIycsIG5hbWU6ICfQkdGD0YLQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJXXToge21hc2s6ICcrMjY3IyMtIyMjLSMjIycsIG5hbWU6ICfQkdC+0YLRgdCy0LDQvdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJZXToge21hc2s6ICcrMzc1KCMjKSAjIyMtIyMtIyMnLCBuYW1lOiAn0JHQtdC70LDRgNGD0YHRjCAo0JHQtdC70L7RgNGD0YHRgdC40Y8pJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJaXToge21hc2s6ICcrNTAxIyMjLSMjIyMnLCBuYW1lOiAn0JHQtdC70LjQtyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DQV06IHttYXNrOiAnKzEoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQmtCw0L3QsNC00LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ0RdOiB7XG4gICAgICAgIG1hc2s6ICcrMjQzKCMjIykgIyMjLSMjIycsXG4gICAgICAgIG5hbWU6ICfQlNC10LwuINCg0LXRgdC/LiDQmtC+0L3Qs9C+ICjQmtC40L3RiNCw0YHQsCknLFxuICAgIH0sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNGXToge1xuICAgICAgICBtYXNrOiAnKzIzNi0jIy0jIy0jIyMjJyxcbiAgICAgICAgbmFtZTogJ9Cm0LXQvdGC0YDQsNC70YzQvdC+0LDRhNGA0LjQutCw0L3RgdC60LDRjyDQoNC10YHQv9GD0LHQu9C40LrQsCcsXG4gICAgfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ0ddOiB7bWFzazogJysyNDIjIy0jIyMtIyMjIycsIG5hbWU6ICfQmtC+0L3Qs9C+ICjQkdGA0LDQt9C30LDQstC40LvRjCknfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ0hdOiB7bWFzazogJys0MSMjLSMjIy0jIyMjJywgbmFtZTogJ9Co0LLQtdC50YbQsNGA0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DSV06IHttYXNrOiAnKzIyNSMjLSMjIy0jIyMnLCBuYW1lOiAn0JrQvtGCLdC04oCZ0JjQstGD0LDRgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DTF06IHttYXNrOiAnKzU2Iy0jIyMjLSMjIyMnLCBuYW1lOiAn0KfQuNC70LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ01dOiB7bWFzazogJysyMzcjIyMjLSMjIyMnLCBuYW1lOiAn0JrQsNC80LXRgNGD0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ05dOiB7bWFzazogJys4NigjIyMpICMjIyMtIyMjIycsIG5hbWU6ICfQmtC40YLQsNC50YHQutCw0Y8g0J0u0KAuJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNPXToge21hc2s6ICcrNTcoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQmtC+0LvRg9C80LHQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNSXToge21hc2s6ICcrNTA2IyMjIy0jIyMjJywgbmFtZTogJ9Ca0L7RgdGC0LAt0KDQuNC60LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ1VdOiB7bWFzazogJys1MyMtIyMjLSMjIyMnLCBuYW1lOiAn0JrRg9Cx0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ1ZdOiB7bWFzazogJysyMzgoIyMjKSAjIy0jIycsIG5hbWU6ICfQmtCw0LHQvi3QktC10YDQtNC1J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNXXToge21hc2s6ICcrNTk5OS0jIyMtIyMjIycsIG5hbWU6ICfQmtGO0YDQsNGB0LDQvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DWV06IHttYXNrOiAnKzM1NyMjLSMjIy0jIyMnLCBuYW1lOiAn0JrQuNC/0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ1pdOiB7bWFzazogJys0MjAoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cn0LXRhdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuREVdOiB7bWFzazogJys0OSgjIyMpICMjIy0jIyMtIyMnLCBuYW1lOiAn0JPQtdGA0LzQsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5ESl06IHttYXNrOiAnKzI1MyMjLSMjLSMjLSMjJywgbmFtZTogJ9CU0LbQuNCx0YPRgtC4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkRLXToge21hc2s6ICcrNDUjIy0jIy0jIy0jIycsIG5hbWU6ICfQlNCw0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkRNXToge21hc2s6ICcrMSg3NjcpICMjIy0jIyMjJywgbmFtZTogJ9CU0L7QvNC40L3QuNC60LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRE9dOiB7bWFzazogJysxKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JTQvtC80LjQvdC40LrQsNC90YHQutCw0Y8g0KDQtdGB0L/Rg9Cx0LvQuNC60LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRFpdOiB7bWFzazogJysyMTMjIy0jIyMtIyMjIycsIG5hbWU6ICfQkNC70LbQuNGAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkVDXToge21hc2s6ICcrNTkzIyMtIyMjLSMjIyMnLCBuYW1lOiAn0K3QutCy0LDQtNC+0YAgJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkVFXToge21hc2s6ICcrMzcyIyMjIy0jIyMjJywgbmFtZTogJ9Ct0YHRgtC+0L3QuNGPICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5FR106IHttYXNrOiAnKzIwKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JXQs9C40L/QtdGCJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkVSXToge21hc2s6ICcrMjkxIy0jIyMtIyMjJywgbmFtZTogJ9Ct0YDQuNGC0YDQtdGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkVTXToge21hc2s6ICcrMzQoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CY0YHQv9Cw0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkVUXToge21hc2s6ICcrMjUxIyMtIyMjLSMjIyMnLCBuYW1lOiAn0K3RhNC40L7Qv9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRkldOiB7bWFzazogJyszNTgoIyMjKSAjIyMtIyMtIyMnLCBuYW1lOiAn0KTQuNC90LvRj9C90LTQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkZKXToge21hc2s6ICcrNjc5IyMtIyMjIyMnLCBuYW1lOiAn0KTQuNC00LbQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5GS106IHttYXNrOiAnKzUwMCMjIyMjJywgbmFtZTogJ9Ck0L7Qu9C60LvQtdC90LTRgdC60LjQtSDQvtGB0YLRgNC+0LLQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5GTV06IHttYXNrOiAnKzY5MSMjIy0jIyMjJywgbmFtZTogJ9CkLtCoLiDQnNC40LrRgNC+0L3QtdC30LjQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5GUl06IHttYXNrOiAnKzMzICMjICMjICMjICMjICMjJywgbmFtZTogJ9Ck0YDQsNC90YbQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdBXToge21hc2s6ICcrMjQxIy0jIy0jIy0jIycsIG5hbWU6ICfQk9Cw0LHQvtC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdCXToge21hc2s6ICcrNDQjIy0jIyMjLSMjIyMnLCBuYW1lOiAn0JLQtdC70LjQutC+0LHRgNC40YLQsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HRF06IHttYXNrOiAnKzEoNDczKSAjIyMtIyMjIycsIG5hbWU6ICfQk9GA0LXQvdCw0LTQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HRV06IHttYXNrOiAnKzk5NSgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JPRgNGD0LfQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdIXToge21hc2s6ICcrMjMzKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQk9Cw0L3QsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HSV06IHttYXNrOiAnKzM1MCMjIy0jIyMjIycsIG5hbWU6ICfQk9C40LHRgNCw0LvRgtCw0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR0xdOiB7bWFzazogJysyOTkjIy0jIy0jIycsIG5hbWU6ICfQk9GA0LXQvdC70LDQvdC00LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HTV06IHttYXNrOiAnKzIyMCgjIyMpICMjLSMjJywgbmFtZTogJ9CT0LDQvNCx0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HTl06IHttYXNrOiAnKzIyNCMjLSMjIy0jIyMnLCBuYW1lOiAn0JPQstC40L3QtdGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdRXToge21hc2s6ICcrMjQwIyMtIyMjLSMjIyMnLCBuYW1lOiAn0K3QutCy0LDRgtC+0YDQuNCw0LvRjNC90LDRjyDQk9Cy0LjQvdC10Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR1JdOiB7bWFzazogJyszMCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CT0YDQtdGG0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HVF06IHttYXNrOiAnKzUwMiMtIyMjLSMjIyMnLCBuYW1lOiAn0JPQstCw0YLQtdC80LDQu9CwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdXXToge21hc2s6ICcrMjQ1Iy0jIyMjIyMnLCBuYW1lOiAn0JPQstC40L3QtdGPLdCR0LjRgdCw0YMnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR1ldOiB7bWFzazogJys1OTIjIyMtIyMjIycsIG5hbWU6ICfQk9Cw0LnQsNC90LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSEtdOiB7bWFzazogJys4NTIjIyMjLSMjIyMnLCBuYW1lOiAn0JPQvtC90LrQvtC90LMnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSE5dOiB7bWFzazogJys1MDQjIyMjLSMjIyMnLCBuYW1lOiAn0JPQvtC90LTRg9GA0LDRgSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5IUl06IHttYXNrOiAnKzM4NSMjLSMjIy0jIyMnLCBuYW1lOiAn0KXQvtGA0LLQsNGC0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5IVF06IHttYXNrOiAnKzUwOSMjLSMjLSMjIyMnLCBuYW1lOiAn0JPQsNC40YLQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5IVV06IHttYXNrOiAnKzM2KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQktC10L3Qs9GA0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5JRF06IHttYXNrOiAnKzYyKCMjIykgIyMjLSMjLSMjIycsIG5hbWU6ICfQmNC90LTQvtC90LXQt9C40Y8gJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklFXToge21hc2s6ICcrMzUzKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQmNGA0LvQsNC90LTQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklMXToge21hc2s6ICcrOTcyIyMtIyMjLSMjIyMnLCBuYW1lOiAn0JjQt9GA0LDQuNC70YwnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSU5dOiB7bWFzazogJys5MSgjIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CY0L3QtNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSVFdOiB7bWFzazogJys5NjQoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQmNGA0LDQuid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5JUl06IHttYXNrOiAnKzk4KCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JjRgNCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSVNdOiB7bWFzazogJyszNTQjIyMtIyMjIycsIG5hbWU6ICfQmNGB0LvQsNC90LTQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklUXToge21hc2s6ICcrMzkoIyMjKSAjIyMjLSMjIycsIG5hbWU6ICfQmNGC0LDQu9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSk1dOiB7bWFzazogJysxKDg3NikgIyMjLSMjIyMnLCBuYW1lOiAn0K/QvNCw0LnQutCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkpPXToge21hc2s6ICcrOTYyIy0jIyMjLSMjIyMnLCBuYW1lOiAn0JjQvtGA0LTQsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5KUF06IHttYXNrOiAnKzgxLSMjLSMjIyMtIyMjIycsIG5hbWU6ICfQr9C/0L7QvdC40Y8gJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktFXToge21hc2s6ICcrMjU0IyMjLSMjIyMjIycsIG5hbWU6ICfQmtC10L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktHXToge21hc2s6ICcrOTk2KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQmtC40YDQs9C40LfQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktIXToge21hc2s6ICcrODU1IyMtIyMjLSMjIycsIG5hbWU6ICfQmtCw0LzQsdC+0LTQttCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktNXToge21hc2s6ICcrMjY5IyMtIyMjIyMnLCBuYW1lOiAn0JrQvtC80L7RgNGLJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktOXToge21hc2s6ICcrMSg4NjkpICMjIy0jIyMjJywgbmFtZTogJ9Ch0LXQvdGCLdCa0LjRgtGBINC4INCd0LXQstC40YEnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuS1BdOiB7bWFzazogJys4NTAjIyMjLSMjIyMjIyMjIyMjIyMnLCBuYW1lOiAn0JrQvtGA0LXQudGB0LrQsNGPINCd0JTQoCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LUl06IHttYXNrOiAnKzgyIyMtIyMjLSMjIyMnLCBuYW1lOiAn0KDQtdGB0L8uINCa0L7RgNC10Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuS1ddOiB7bWFzazogJys5NjUjIyMjLSMjIyMnLCBuYW1lOiAn0JrRg9Cy0LXQudGCJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktZXToge21hc2s6ICcrMSgzNDUpICMjIy0jIyMjJywgbmFtZTogJ9Ca0LDQudC80LDQvdC+0LLRiyDQvtGB0YLRgNC+0LLQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LWl06IHttYXNrOiAnKzcoIyMjKSAjIyMtIyMtIyMnLCBuYW1lOiAn0JrQsNC30LDRhdGB0YLQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxBXToge21hc2s6ICcrODU2IyMtIyMtIyMjLSMjIycsIG5hbWU6ICfQm9Cw0L7RgSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MQl06IHttYXNrOiAnKzk2MSMjLSMjIy0jIyMnLCBuYW1lOiAn0JvQuNCy0LDQvSAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTENdOiB7bWFzazogJysxKDc1OCkgIyMjLSMjIyMnLCBuYW1lOiAn0KHQtdC90YIt0JvRjtGB0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MSV06IHttYXNrOiAnKzQyMygjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Cb0LjRhdGC0LXQvdGI0YLQtdC50L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTEtdOiB7bWFzazogJys5NCMjLSMjIy0jIyMjJywgbmFtZTogJ9Co0YDQuC3Qm9Cw0L3QutCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxSXToge21hc2s6ICcrMjMxIyMtIyMjLSMjIycsIG5hbWU6ICfQm9C40LHQtdGA0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MU106IHttYXNrOiAnKzI2NiMtIyMjLSMjIyMnLCBuYW1lOiAn0JvQtdGB0L7RgtC+J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxUXToge21hc2s6ICcrMzcwKCMjIykgIyMtIyMjJywgbmFtZTogJ9Cb0LjRgtCy0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTFVdOiB7bWFzazogJyszNTIoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cb0Y7QutGB0LXQvNCx0YPRgNCzJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxWXToge21hc2s6ICcrMzcxIyMtIyMjLSMjIycsIG5hbWU6ICfQm9Cw0YLQstC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTFldOiB7bWFzazogJysyMTgjIy0jIyMtIyMjIycsIG5hbWU6ICfQm9C40LLQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1BXToge21hc2s6ICcrMjEyIyMtIyMjIy0jIyMnLCBuYW1lOiAn0JzQsNGA0L7QutC60L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTUNdOiB7bWFzazogJyszNzcjIyMtIyMjLSMjIycsIG5hbWU6ICfQnNC+0L3QsNC60L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTURdOiB7bWFzazogJyszNzMjIyMjLSMjIyMnLCBuYW1lOiAn0JzQvtC70LTQvtCy0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTUVdOiB7bWFzazogJyszODIjIy0jIyMtIyMjJywgbmFtZTogJ9Cn0LXRgNC90L7Qs9C+0YDQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1HXToge21hc2s6ICcrMjYxIyMtIyMtIyMjIyMnLCBuYW1lOiAn0JzQsNC00LDQs9Cw0YHQutCw0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTUtdOiB7bWFzazogJyszODkjIy0jIyMtIyMjJywgbmFtZTogJ9Cg0LXRgdC/LiDQnNCw0LrQtdC00L7QvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTUxdOiB7bWFzazogJysyMjMjIy0jIy0jIyMjJywgbmFtZTogJ9Cc0LDQu9C4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1NXToge21hc2s6ICcrOTUjIy0jIyMtIyMjJywgbmFtZTogJ9CR0LjRgNC80LAgKNCc0YzRj9C90LzQsCknfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTU5dOiB7bWFzazogJys5NzYjIy0jIy0jIyMjJywgbmFtZTogJ9Cc0L7QvdCz0L7Qu9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTU9dOiB7bWFzazogJys4NTMjIyMjLSMjIyMnLCBuYW1lOiAn0JzQsNC60LDQvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NUl06IHttYXNrOiAnKzIyMiMjLSMjLSMjIyMnLCBuYW1lOiAn0JzQsNCy0YDQuNGC0LDQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVNdOiB7bWFzazogJysxKDY2NCkgIyMjLSMjIyMnLCBuYW1lOiAn0JzQvtC90YLRgdC10YDRgNCw0YInfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVRdOiB7bWFzazogJyszNTYjIyMjLSMjIyMnLCBuYW1lOiAn0JzQsNC70YzRgtCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1VXToge21hc2s6ICcrMjMwIyMjLSMjIyMnLCBuYW1lOiAn0JzQsNCy0YDQuNC60LjQuSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NVl06IHttYXNrOiAnKzk2MCMjIy0jIyMjJywgbmFtZTogJ9Cc0LDQu9GM0LTQuNCy0YHQutC40LUg0L7RgdGC0YDQvtCy0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVddOiB7bWFzazogJysyNjUjLSMjIyMtIyMjIycsIG5hbWU6ICfQnNCw0LvQsNCy0LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVhdOiB7bWFzazogJys1MigjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Cc0LXQutGB0LjQutCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1ZXToge21hc2s6ICcrNjAoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cc0LDQu9Cw0LnQt9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVpdOiB7bWFzazogJysyNTgjIy0jIyMtIyMjJywgbmFtZTogJ9Cc0L7Qt9Cw0LzQsdC40LonfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTkFdOiB7bWFzazogJysyNjQjIy0jIyMtIyMjIycsIG5hbWU6ICfQndCw0LzQuNCx0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5ORV06IHttYXNrOiAnKzIyNyMjLSMjLSMjIyMnLCBuYW1lOiAn0J3QuNCz0LXRgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5OR106IHttYXNrOiAnKzIzNCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Cd0LjQs9C10YDQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk5JXToge21hc2s6ICcrNTA1IyMjIy0jIyMjJywgbmFtZTogJ9Cd0LjQutCw0YDQsNCz0YPQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5OTF06IHttYXNrOiAnKzMxIyMtIyMjLSMjIyMnLCBuYW1lOiAn0J3QuNC00LXRgNC70LDQvdC00YsnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTk9dOiB7bWFzazogJys0NygjIyMpICMjLSMjIycsIG5hbWU6ICfQndC+0YDQstC10LPQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk5QXToge21hc2s6ICcrOTc3IyMtIyMjLSMjIycsIG5hbWU6ICfQndC10L/QsNC7J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk5aXToge21hc2s6ICcrNjQoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQndC+0LLQsNGPINCX0LXQu9Cw0L3QtNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuT01dOiB7bWFzazogJys5NjgjIy0jIyMtIyMjJywgbmFtZTogJ9Ce0LzQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBBXToge21hc2s6ICcrNTA3IyMjLSMjIyMnLCBuYW1lOiAn0J/QsNC90LDQvNCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBFXToge21hc2s6ICcrNTEoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cf0LXRgNGDJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBGXToge1xuICAgICAgICBtYXNrOiAnKzY4OSMjLSMjLSMjJyxcbiAgICAgICAgbmFtZTogJ9Ck0YDQsNC90YbRg9C30YHQutCw0Y8g0J/QvtC70LjQvdC10LfQuNGPICjQotCw0LjRgtC4KScsXG4gICAgfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUEddOiB7bWFzazogJys2NzUoIyMjKSAjIy0jIyMnLCBuYW1lOiAn0J/QsNC/0YPQsC3QndC+0LLQsNGPINCT0LLQuNC90LXRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QSF06IHttYXNrOiAnKzYzKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0KTQuNC70LjQv9C/0LjQvdGLJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBLXToge21hc2s6ICcrOTIoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQn9Cw0LrQuNGB0YLQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBMXToge21hc2s6ICcrNDgoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cf0L7Qu9GM0YjQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QVF06IHttYXNrOiAnKzM1MSMjLSMjIy0jIyMjJywgbmFtZTogJ9Cf0L7RgNGC0YPQs9Cw0LvQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBXXToge21hc2s6ICcrNjgwIyMjLSMjIyMnLCBuYW1lOiAn0J/QsNC70LDRgyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QWV06IHttYXNrOiAnKzU5NSgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0J/QsNGA0LDQs9Cy0LDQuSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5RQV06IHttYXNrOiAnKzk3NCMjIyMtIyMjIycsIG5hbWU6ICfQmtCw0YLQsNGAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlJPXToge21hc2s6ICcrNDAjIy0jIyMtIyMjIycsIG5hbWU6ICfQoNGD0LzRi9C90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5SU106IHttYXNrOiAnKzM4MSMjLSMjIy0jIyMjJywgbmFtZTogJ9Ch0LXRgNCx0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5SVV06IHttYXNrOiAnKzcoIyMjKSAjIyMtIyMtIyMnLCBuYW1lOiAn0KDQvtGB0YHQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlJXXToge21hc2s6ICcrMjUwKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQoNGD0LDQvdC00LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0FdOiB7bWFzazogJys5NjYjLSMjIyMtIyMjIycsIG5hbWU6ICfQodCw0YPQtNC+0LLRgdC60LDRjyDQkNGA0LDQstC40Y8gJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNCXToge21hc2s6ICcrNjc3IyMjLSMjIyMnLCBuYW1lOiAn0KHQvtC70L7QvNC+0L3QvtCy0Ysg0J7RgdGC0YDQvtCy0LAgJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNDXToge21hc2s6ICcrMjQ4Iy0jIyMtIyMjJywgbmFtZTogJ9Ch0LXQudGI0LXQu9GLJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNEXToge21hc2s6ICcrMjQ5IyMtIyMjLSMjIyMnLCBuYW1lOiAn0KHRg9C00LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TRV06IHttYXNrOiAnKzQ2IyMtIyMjLSMjIyMnLCBuYW1lOiAn0KjQstC10YbQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNHXToge21hc2s6ICcrNjUjIyMjLSMjIyMnLCBuYW1lOiAn0KHQuNC90LPQsNC/0YPRgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TSF06IHttYXNrOiAnKzI5MCMjIyMnLCBuYW1lOiAn0J7RgdGC0YDQvtCyINCh0LLRj9GC0L7QuSDQldC70LXQvdGLJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNJXToge21hc2s6ICcrMzg2IyMtIyMjLSMjIycsIG5hbWU6ICfQodC70L7QstC10L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNLXToge21hc2s6ICcrNDIxKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQodC70L7QstCw0LrQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNMXToge21hc2s6ICcrMjMyIyMtIyMjIyMjJywgbmFtZTogJ9Ch0YzQtdGA0YDQsC3Qm9C10L7QvdC1J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNNXToge21hc2s6ICcrMzc4IyMjIy0jIyMjIyMnLCBuYW1lOiAn0KHQsNC9LdCc0LDRgNC40L3Qvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TTl06IHttYXNrOiAnKzIyMSMjLSMjIy0jIyMjJywgbmFtZTogJ9Ch0LXQvdC10LPQsNC7J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNPXToge21hc2s6ICcrMjUyIyMtIyMjLSMjIycsIG5hbWU6ICfQodC+0LzQsNC70LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU1JdOiB7bWFzazogJys1OTcjIyMtIyMjIycsIG5hbWU6ICfQodGD0YDQuNC90LDQvCAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU1RdOiB7bWFzazogJysyMzkjIy0jIyMjIycsIG5hbWU6ICfQodCw0L0t0KLQvtC80LUg0Lgg0J/RgNC40L3RgdC40L/QuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TVl06IHttYXNrOiAnKzUwMyMjLSMjLSMjIyMnLCBuYW1lOiAn0KHQsNC70YzQstCw0LTQvtGAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNYXToge21hc2s6ICcrMSg3MjEpICMjIy0jIyMjJywgbmFtZTogJ9Ch0LjQvdGCLdCc0LDRgNGC0LXQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TWV06IHtcbiAgICAgICAgbWFzazogJys5NjMjIy0jIyMjLSMjIycsXG4gICAgICAgIG5hbWU6ICfQodC40YDQuNC50YHQutCw0Y8g0LDRgNCw0LHRgdC60LDRjyDRgNC10YHQv9GD0LHQu9C40LrQsCcsXG4gICAgfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU1pdOiB7bWFzazogJysyNjgjIy0jIy0jIyMjJywgbmFtZTogJ9Ch0LLQsNC30LjQu9C10L3QtCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UQ106IHttYXNrOiAnKzEoNjQ5KSAjIyMtIyMjIycsIG5hbWU6ICfQotGR0YDQutGBINC4INCa0LDQudC60L7RgSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5URF06IHttYXNrOiAnKzIzNSMjLSMjLSMjLSMjJywgbmFtZTogJ9Cn0LDQtCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UR106IHttYXNrOiAnKzIyOCMjLSMjIy0jIyMnLCBuYW1lOiAn0KLQvtCz0L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVEhdOiB7bWFzazogJys2NiMjLSMjIy0jIyMjJywgbmFtZTogJ9Ci0LDQuNC70LDQvdC0ICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5USl06IHttYXNrOiAnKzk5MiMjLSMjIy0jIyMjJywgbmFtZTogJ9Ci0LDQtNC20LjQutC40YHRgtCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVExdOiB7bWFzazogJys2NzAjIyMtIyMjIyMnLCBuYW1lOiAn0JLQvtGB0YLQvtGH0L3Ri9C5INCi0LjQvNC+0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVE1dOiB7bWFzazogJys5OTMjLSMjIy0jIyMjJywgbmFtZTogJ9Ci0YPRgNC60LzQtdC90LjRgdGC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UTl06IHttYXNrOiAnKzIxNiMjLSMjIy0jIyMnLCBuYW1lOiAn0KLRg9C90LjRgSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UT106IHttYXNrOiAnKzY3NiMjIyMjJywgbmFtZTogJ9Ci0L7QvdCz0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVFJdOiB7bWFzazogJys5MCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Ci0YPRgNGG0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UVF06IHttYXNrOiAnKzEoODY4KSAjIyMtIyMjIycsIG5hbWU6ICfQotGA0LjQvdC40LTQsNC0INC4INCi0L7QsdCw0LPQvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UV106IHttYXNrOiAnKzg4NiMtIyMjIy0jIyMjJywgbmFtZTogJ9Ci0LDQudCy0LDQvdGMJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRaXToge21hc2s6ICcrMjU1IyMtIyMjLSMjIyMnLCBuYW1lOiAn0KLQsNC90LfQsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5VQV06IHttYXNrOiAnKzM4MCgjIykgIyMjLSMjLSMjJywgbmFtZTogJ9Cj0LrRgNCw0LjQvdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlVHXToge21hc2s6ICcrMjU2KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQo9Cz0LDQvdC00LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVVNdOiB7bWFzazogJysxKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0KHQqNCQJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlVZXToge21hc2s6ICcrNTk4Iy0jIyMtIyMtIyMnLCBuYW1lOiAn0KPRgNGD0LPQstCw0LknfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVVpdOiB7bWFzazogJys5OTgjIy0jIyMtIyMjIycsIG5hbWU6ICfQo9C30LHQtdC60LjRgdGC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5WQ106IHttYXNrOiAnKzEoNzg0KSAjIyMtIyMjIycsIG5hbWU6ICfQodC10L3Rgi3QktC40L3RgdC10L3RgiDQuCDQk9GA0LXQvdCw0LTQuNC90YsnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVkVdOiB7bWFzazogJys1OCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CS0LXQvdC10YHRg9GN0LvQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5WR106IHtcbiAgICAgICAgbWFzazogJysxKDI4NCkjIyMtIyMjIycsXG4gICAgICAgIG5hbWU6ICfQkdGA0LjRgtCw0L3RgdC60LjQtSDQktC40YDQs9C40L3RgdC60LjQtSDQvtGB0YLRgNC+0LLQsCcsXG4gICAgfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVk5dOiB7bWFzazogJys4NCgjIyMpICMjIyMtIyMjJywgbmFtZTogJ9CS0YzQtdGC0L3QsNC8J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlZVXToge21hc2s6ICcrNjc4IyMtIyMjIyMnLCBuYW1lOiAn0JLQsNC90YPQsNGC0YMgJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLldTXToge21hc2s6ICcrNjg1IyMtIyMjIycsIG5hbWU6ICfQodCw0LzQvtCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLllFXToge21hc2s6ICcrOTY3IyMjLSMjIy0jIyMnLCBuYW1lOiAn0JnQtdC80LXQvSAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuWkFdOiB7bWFzazogJysyNyMjLSMjIy0jIyMjJywgbmFtZTogJ9Cu0LbQvdC+LdCQ0YTRgNC40LrQsNC90YHQutCw0Y8g0KDQtdGB0L8uJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlpNXToge21hc2s6ICcrMjYwIyMtIyMjLSMjIyMnLCBuYW1lOiAn0JfQsNC80LHQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlpXXToge21hc2s6ICcrMjYzIy0jIyMjIyMnLCBuYW1lOiAn0JfQuNC80LHQsNCx0LLQtSd9LFxufTtcblxudHlwZSBQaG9uZU1hc2tCeUNvdW50cnkgPSBSZWNvcmQ8VHVpQ291bnRyeUlzb0NvZGUsIHN0cmluZz47XG5cbi8vIFRPRE86IHJlbW92ZSBpbiBpdnkgY29tcGlsYXRpb25cbmV4cG9ydCBmdW5jdGlvbiBjb3VudHJpZXNNYXNrc1JlZHVjZXIoXG4gICAgYWNjOiBQaG9uZU1hc2tCeUNvdW50cnksXG4gICAgW2NvdW50cnlJc29Db2RlLCB7bWFza31dOiBbc3RyaW5nLCB7bWFzazogc3RyaW5nfV0sXG4pOiBQaG9uZU1hc2tCeUNvdW50cnkge1xuICAgIGFjY1tjb3VudHJ5SXNvQ29kZSBhcyBUdWlDb3VudHJ5SXNvQ29kZV0gPSBtYXNrO1xuXG4gICAgcmV0dXJuIGFjYztcbn1cblxuZXhwb3J0IGNvbnN0IENPVU5UUklFU19NQVNLUzogUGhvbmVNYXNrQnlDb3VudHJ5ID0gT2JqZWN0LmVudHJpZXM8Q291bnRyeT4oXG4gICAgQ09VTlRSSUVTLFxuKS5yZWR1Y2U8UGhvbmVNYXNrQnlDb3VudHJ5Pihjb3VudHJpZXNNYXNrc1JlZHVjZXIsIHt9IGFzIFBob25lTWFza0J5Q291bnRyeSk7XG4iXX0=
254
+ export const MASK_AFTER_CODE_REGEXP = /\([#]+\)|[#\- ]/g;
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyaWVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWwvIiwic291cmNlcyI6WyJjb25zdC9jb3VudHJpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJakQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQTRCO0lBQzlDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUM7SUFDOUQsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUNwQixJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLElBQUksRUFBRSwrQkFBK0I7S0FDeEM7SUFDRCxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxZQUFZLEVBQUM7SUFDcEUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUM7SUFDN0UsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFDO0lBQ25FLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBQztJQUNwRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUM7SUFDakUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFDLElB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QUMsQ0FBQyxNQUFNLENBQ3BFLHFCQUFxQixFQUNyQixFQUF1QyxDQUMxQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aUNvdW50cnlJc29Db2RlfSBmcm9tICdAdGFpZ2EtdWkvaTE4bic7XG5cbmltcG9ydCB7Q291bnRyeX0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb3VudHJ5JztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBEb250IHVzZSBpdCAod2lsbCBiZSBkZWxldGVkIHNvb24pLlxuICogLSBVc2UgdG9rZW4gYFRVSV9DT1VOVFJJRVNfTUFTS1NgIHRvIGdldCBwaG9uZSBtYXNrIGJ5IGNvdW50cnkgaXNvIGNvZGVcbiAqIC0gVXNlIHRva2VuIGBUVUlfQ09VTlRSSUVTYCB0byBnZXQgbG9jYWxpemVkIGNvdW50cnkgbmFtZSBieSBpdHMgaXNvIGNvZGVcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQge1RVSV9DT1VOVFJJRVMsIFRVSV9DT1VOVFJJRVNfTUFTS1N9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuICpcbiAqIEB0b2RvIFRPRE86IHJlbW92ZSBpdCBpbiAzLjBcbiAqL1xuZXhwb3J0IGNvbnN0IENPVU5UUklFUzogUmVjb3JkPHN0cmluZywgQ291bnRyeT4gPSB7XG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFEXToge21hc2s6ICcrMzc2IyMjLSMjIycsIG5hbWU6ICfQkNC90LTQvtGA0YDQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BRV06IHtcbiAgICAgICAgbWFzazogJys5NzEtIyMtIyMjLSMjIyMnLFxuICAgICAgICBuYW1lOiAn0J7QsdGK0LXQtNC40L3QtdC90L3Ri9C1INCQ0YDQsNCx0YHQutC40LUg0K3QvNC40YDQsNGC0YsnLFxuICAgIH0sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFGXToge21hc2s6ICcrOTMjIy0jIyMtIyMjIycsIG5hbWU6ICfQkNGE0LPQsNC90LjRgdGC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BR106IHttYXNrOiAnKzEoMjY4KSAjIyMtIyMjIycsIG5hbWU6ICfQkNC90YLQuNCz0YPQsCDQuCDQkdCw0YDQsdGD0LTQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BSV06IHttYXNrOiAnKzEoMjY0KSAjIyMtIyMjIycsIG5hbWU6ICfQkNC90LPQuNC70YzRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BTF06IHttYXNrOiAnKzM1NSgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JDQu9Cx0LDQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQU1dOiB7bWFzazogJyszNzQjIy0jIyMtIyMjJywgbmFtZTogJ9CQ0YDQvNC10L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFPXToge21hc2s6ICcrMjQ0KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQkNC90LPQvtC70LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQVJdOiB7bWFzazogJys1NCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CQ0YDQs9C10L3RgtC40L3QsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BVF06IHttYXNrOiAnKzQzKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JDQstGB0YLRgNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQVVdOiB7bWFzazogJys2MSMtIyMjIy0jIyMjJywgbmFtZTogJ9CQ0LLRgdGC0YDQsNC70LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BV106IHttYXNrOiAnKzI5NyMjIy0jIyMjJywgbmFtZTogJ9CQ0YDRg9Cx0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQVpdOiB7bWFzazogJys5OTQjIy0jIyMtIyMtIyMnLCBuYW1lOiAn0JDQt9C10YDQsdCw0LnQtNC20LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CQV06IHttYXNrOiAnKzM4NyAjIyMtIyMjIy0jJywgbmFtZTogJ9CR0L7RgdC90LjRjyDQuCDQk9C10YDRhtC10LPQvtCy0LjQvdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJCXToge21hc2s6ICcrMSgyNDYpICMjIy0jIyMjJywgbmFtZTogJ9CR0LDRgNCx0LDQtNC+0YEnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkRdOiB7bWFzazogJys4ODAjIy0jIyMtIyMjJywgbmFtZTogJ9CR0LDQvdCz0LvQsNC00LXRiCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CRV06IHttYXNrOiAnKzMyKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQkdC10LvRjNCz0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CRl06IHttYXNrOiAnKzIyNiMjLSMjLSMjIyMnLCBuYW1lOiAn0JHRg9GA0LrQuNC90LAg0KTQsNGB0L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkddOiB7bWFzazogJyszNTkoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CR0L7Qu9Cz0LDRgNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkhdOiB7bWFzazogJys5NzMjIyMjLSMjIyMnLCBuYW1lOiAn0JHQsNGF0YDQtdC50L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkldOiB7bWFzazogJysyNTcjIy0jIy0jIyMjJywgbmFtZTogJ9CR0YPRgNGD0L3QtNC4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJKXToge21hc2s6ICcrMjI5IyMtIyMtIyMjIycsIG5hbWU6ICfQkdC10L3QuNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJNXToge21hc2s6ICcrMSg0NDEpICMjIy0jIyMjJywgbmFtZTogJ9CR0LXRgNC80YPQtNGB0LrQuNC1INC+0YHRgtGA0L7QstCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJOXToge21hc2s6ICcrNjczIyMjLSMjIyMnLCBuYW1lOiAn0JHRgNGD0L3QtdC5LdCU0LDRgNGD0YHRgdCw0LvQsNC8J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJPXToge21hc2s6ICcrNTkxIy0jIyMtIyMjIycsIG5hbWU6ICfQkdC+0LvQuNCy0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CUV06IHtcbiAgICAgICAgbWFzazogJys1OTktIyMjLSMjIyMnLFxuICAgICAgICBuYW1lOiAn0JHQvtC90LDQudGA0LUsINCh0LjQvdGCLdCt0YHRgtCw0YLQuNGD0YEg0Lgg0KHQsNCx0LAnLFxuICAgIH0sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJSXToge21hc2s6ICcrNTUoIyMpICMjIyMtIyMjIycsIG5hbWU6ICfQkdGA0LDQt9C40LvQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJTXToge21hc2s6ICcrMSgyNDIpICMjIy0jIyMjJywgbmFtZTogJ9CR0LDQs9Cw0LzRgdC60LjQtSDQntGB0YLRgNC+0LLQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CVF06IHttYXNrOiAnKzk3NSMtIyMjLSMjIycsIG5hbWU6ICfQkdGD0YLQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJXXToge21hc2s6ICcrMjY3IyMtIyMjLSMjIycsIG5hbWU6ICfQkdC+0YLRgdCy0LDQvdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJZXToge21hc2s6ICcrMzc1KCMjKSAjIyMtIyMtIyMnLCBuYW1lOiAn0JHQtdC70LDRgNGD0YHRjCAo0JHQtdC70L7RgNGD0YHRgdC40Y8pJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJaXToge21hc2s6ICcrNTAxIyMjLSMjIyMnLCBuYW1lOiAn0JHQtdC70LjQtyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DQV06IHttYXNrOiAnKzEoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQmtCw0L3QsNC00LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ0RdOiB7XG4gICAgICAgIG1hc2s6ICcrMjQzKCMjIykgIyMjLSMjIycsXG4gICAgICAgIG5hbWU6ICfQlNC10LwuINCg0LXRgdC/LiDQmtC+0L3Qs9C+ICjQmtC40L3RiNCw0YHQsCknLFxuICAgIH0sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNGXToge1xuICAgICAgICBtYXNrOiAnKzIzNi0jIy0jIy0jIyMjJyxcbiAgICAgICAgbmFtZTogJ9Cm0LXQvdGC0YDQsNC70YzQvdC+0LDRhNGA0LjQutCw0L3RgdC60LDRjyDQoNC10YHQv9GD0LHQu9C40LrQsCcsXG4gICAgfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ0ddOiB7bWFzazogJysyNDIjIy0jIyMtIyMjIycsIG5hbWU6ICfQmtC+0L3Qs9C+ICjQkdGA0LDQt9C30LDQstC40LvRjCknfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ0hdOiB7bWFzazogJys0MSMjLSMjIy0jIyMjJywgbmFtZTogJ9Co0LLQtdC50YbQsNGA0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DSV06IHttYXNrOiAnKzIyNSMjLSMjIy0jIyMnLCBuYW1lOiAn0JrQvtGCLdC04oCZ0JjQstGD0LDRgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DTF06IHttYXNrOiAnKzU2Iy0jIyMjLSMjIyMnLCBuYW1lOiAn0KfQuNC70LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ01dOiB7bWFzazogJysyMzcjIyMjLSMjIyMnLCBuYW1lOiAn0JrQsNC80LXRgNGD0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ05dOiB7bWFzazogJys4NigjIyMpICMjIyMtIyMjIycsIG5hbWU6ICfQmtC40YLQsNC50YHQutCw0Y8g0J0u0KAuJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNPXToge21hc2s6ICcrNTcoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQmtC+0LvRg9C80LHQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNSXToge21hc2s6ICcrNTA2IyMjIy0jIyMjJywgbmFtZTogJ9Ca0L7RgdGC0LAt0KDQuNC60LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ1VdOiB7bWFzazogJys1MyMtIyMjLSMjIyMnLCBuYW1lOiAn0JrRg9Cx0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ1ZdOiB7bWFzazogJysyMzgoIyMjKSAjIy0jIycsIG5hbWU6ICfQmtCw0LHQvi3QktC10YDQtNC1J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNXXToge21hc2s6ICcrNTk5OS0jIyMtIyMjIycsIG5hbWU6ICfQmtGO0YDQsNGB0LDQvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DWV06IHttYXNrOiAnKzM1NyMjLSMjIy0jIyMnLCBuYW1lOiAn0JrQuNC/0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ1pdOiB7bWFzazogJys0MjAoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cn0LXRhdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuREVdOiB7bWFzazogJys0OSgjIyMpICMjIy0jIyMtIyMnLCBuYW1lOiAn0JPQtdGA0LzQsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5ESl06IHttYXNrOiAnKzI1MyMjLSMjLSMjLSMjJywgbmFtZTogJ9CU0LbQuNCx0YPRgtC4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkRLXToge21hc2s6ICcrNDUjIy0jIy0jIy0jIycsIG5hbWU6ICfQlNCw0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkRNXToge21hc2s6ICcrMSg3NjcpICMjIy0jIyMjJywgbmFtZTogJ9CU0L7QvNC40L3QuNC60LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRE9dOiB7bWFzazogJysxKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JTQvtC80LjQvdC40LrQsNC90YHQutCw0Y8g0KDQtdGB0L/Rg9Cx0LvQuNC60LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRFpdOiB7bWFzazogJysyMTMjIy0jIyMtIyMjIycsIG5hbWU6ICfQkNC70LbQuNGAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkVDXToge21hc2s6ICcrNTkzIyMtIyMjLSMjIyMnLCBuYW1lOiAn0K3QutCy0LDQtNC+0YAgJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkVFXToge21hc2s6ICcrMzcyIyMjIy0jIyMjJywgbmFtZTogJ9Ct0YHRgtC+0L3QuNGPICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5FR106IHttYXNrOiAnKzIwKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JXQs9C40L/QtdGCJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkVSXToge21hc2s6ICcrMjkxIy0jIyMtIyMjJywgbmFtZTogJ9Ct0YDQuNGC0YDQtdGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkVTXToge21hc2s6ICcrMzQoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CY0YHQv9Cw0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkVUXToge21hc2s6ICcrMjUxIyMtIyMjLSMjIyMnLCBuYW1lOiAn0K3RhNC40L7Qv9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRkldOiB7bWFzazogJyszNTgoIyMjKSAjIyMtIyMtIyMnLCBuYW1lOiAn0KTQuNC90LvRj9C90LTQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkZKXToge21hc2s6ICcrNjc5IyMtIyMjIyMnLCBuYW1lOiAn0KTQuNC00LbQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5GS106IHttYXNrOiAnKzUwMCMjIyMjJywgbmFtZTogJ9Ck0L7Qu9C60LvQtdC90LTRgdC60LjQtSDQvtGB0YLRgNC+0LLQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5GTV06IHttYXNrOiAnKzY5MSMjIy0jIyMjJywgbmFtZTogJ9CkLtCoLiDQnNC40LrRgNC+0L3QtdC30LjQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5GUl06IHttYXNrOiAnKzMzICMjICMjICMjICMjICMjJywgbmFtZTogJ9Ck0YDQsNC90YbQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdBXToge21hc2s6ICcrMjQxIy0jIy0jIy0jIycsIG5hbWU6ICfQk9Cw0LHQvtC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdCXToge21hc2s6ICcrNDQjIy0jIyMjLSMjIyMnLCBuYW1lOiAn0JLQtdC70LjQutC+0LHRgNC40YLQsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HRF06IHttYXNrOiAnKzEoNDczKSAjIyMtIyMjIycsIG5hbWU6ICfQk9GA0LXQvdCw0LTQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HRV06IHttYXNrOiAnKzk5NSgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JPRgNGD0LfQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdIXToge21hc2s6ICcrMjMzKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQk9Cw0L3QsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HSV06IHttYXNrOiAnKzM1MCMjIy0jIyMjIycsIG5hbWU6ICfQk9C40LHRgNCw0LvRgtCw0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR0xdOiB7bWFzazogJysyOTkjIy0jIy0jIycsIG5hbWU6ICfQk9GA0LXQvdC70LDQvdC00LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HTV06IHttYXNrOiAnKzIyMCgjIyMpICMjLSMjJywgbmFtZTogJ9CT0LDQvNCx0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HTl06IHttYXNrOiAnKzIyNCMjLSMjIy0jIyMnLCBuYW1lOiAn0JPQstC40L3QtdGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdRXToge21hc2s6ICcrMjQwIyMtIyMjLSMjIyMnLCBuYW1lOiAn0K3QutCy0LDRgtC+0YDQuNCw0LvRjNC90LDRjyDQk9Cy0LjQvdC10Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR1JdOiB7bWFzazogJyszMCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CT0YDQtdGG0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HVF06IHttYXNrOiAnKzUwMiMtIyMjLSMjIyMnLCBuYW1lOiAn0JPQstCw0YLQtdC80LDQu9CwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdXXToge21hc2s6ICcrMjQ1Iy0jIyMjIyMnLCBuYW1lOiAn0JPQstC40L3QtdGPLdCR0LjRgdCw0YMnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR1ldOiB7bWFzazogJys1OTIjIyMtIyMjIycsIG5hbWU6ICfQk9Cw0LnQsNC90LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSEtdOiB7bWFzazogJys4NTIjIyMjLSMjIyMnLCBuYW1lOiAn0JPQvtC90LrQvtC90LMnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSE5dOiB7bWFzazogJys1MDQjIyMjLSMjIyMnLCBuYW1lOiAn0JPQvtC90LTRg9GA0LDRgSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5IUl06IHttYXNrOiAnKzM4NSMjLSMjIy0jIyMnLCBuYW1lOiAn0KXQvtGA0LLQsNGC0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5IVF06IHttYXNrOiAnKzUwOSMjLSMjLSMjIyMnLCBuYW1lOiAn0JPQsNC40YLQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5IVV06IHttYXNrOiAnKzM2KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQktC10L3Qs9GA0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5JRF06IHttYXNrOiAnKzYyKCMjIykgIyMjLSMjLSMjIycsIG5hbWU6ICfQmNC90LTQvtC90LXQt9C40Y8gJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklFXToge21hc2s6ICcrMzUzKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQmNGA0LvQsNC90LTQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklMXToge21hc2s6ICcrOTcyIyMtIyMjLSMjIyMnLCBuYW1lOiAn0JjQt9GA0LDQuNC70YwnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSU5dOiB7bWFzazogJys5MSgjIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CY0L3QtNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSVFdOiB7bWFzazogJys5NjQoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQmNGA0LDQuid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5JUl06IHttYXNrOiAnKzk4KCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JjRgNCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSVNdOiB7bWFzazogJyszNTQjIyMtIyMjIycsIG5hbWU6ICfQmNGB0LvQsNC90LTQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklUXToge21hc2s6ICcrMzkoIyMjKSAjIyMjLSMjIycsIG5hbWU6ICfQmNGC0LDQu9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSk1dOiB7bWFzazogJysxKDg3NikgIyMjLSMjIyMnLCBuYW1lOiAn0K/QvNCw0LnQutCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkpPXToge21hc2s6ICcrOTYyIy0jIyMjLSMjIyMnLCBuYW1lOiAn0JjQvtGA0LTQsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5KUF06IHttYXNrOiAnKzgxLSMjLSMjIyMtIyMjIycsIG5hbWU6ICfQr9C/0L7QvdC40Y8gJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktFXToge21hc2s6ICcrMjU0IyMjLSMjIyMjIycsIG5hbWU6ICfQmtC10L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktHXToge21hc2s6ICcrOTk2KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQmtC40YDQs9C40LfQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktIXToge21hc2s6ICcrODU1IyMtIyMjLSMjIycsIG5hbWU6ICfQmtCw0LzQsdC+0LTQttCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktNXToge21hc2s6ICcrMjY5IyMtIyMjIyMnLCBuYW1lOiAn0JrQvtC80L7RgNGLJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktOXToge21hc2s6ICcrMSg4NjkpICMjIy0jIyMjJywgbmFtZTogJ9Ch0LXQvdGCLdCa0LjRgtGBINC4INCd0LXQstC40YEnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuS1BdOiB7bWFzazogJys4NTAjIyMjLSMjIyMjIyMjIyMjIyMnLCBuYW1lOiAn0JrQvtGA0LXQudGB0LrQsNGPINCd0JTQoCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LUl06IHttYXNrOiAnKzgyIyMtIyMjLSMjIyMnLCBuYW1lOiAn0KDQtdGB0L8uINCa0L7RgNC10Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuS1ddOiB7bWFzazogJys5NjUjIyMjLSMjIyMnLCBuYW1lOiAn0JrRg9Cy0LXQudGCJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktZXToge21hc2s6ICcrMSgzNDUpICMjIy0jIyMjJywgbmFtZTogJ9Ca0LDQudC80LDQvdC+0LLRiyDQvtGB0YLRgNC+0LLQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LWl06IHttYXNrOiAnKzcoIyMjKSAjIyMtIyMtIyMnLCBuYW1lOiAn0JrQsNC30LDRhdGB0YLQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxBXToge21hc2s6ICcrODU2IyMtIyMtIyMjLSMjIycsIG5hbWU6ICfQm9Cw0L7RgSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MQl06IHttYXNrOiAnKzk2MSMjLSMjIy0jIyMnLCBuYW1lOiAn0JvQuNCy0LDQvSAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTENdOiB7bWFzazogJysxKDc1OCkgIyMjLSMjIyMnLCBuYW1lOiAn0KHQtdC90YIt0JvRjtGB0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MSV06IHttYXNrOiAnKzQyMygjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Cb0LjRhdGC0LXQvdGI0YLQtdC50L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTEtdOiB7bWFzazogJys5NCMjLSMjIy0jIyMjJywgbmFtZTogJ9Co0YDQuC3Qm9Cw0L3QutCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxSXToge21hc2s6ICcrMjMxIyMtIyMjLSMjIycsIG5hbWU6ICfQm9C40LHQtdGA0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MU106IHttYXNrOiAnKzI2NiMtIyMjLSMjIyMnLCBuYW1lOiAn0JvQtdGB0L7RgtC+J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxUXToge21hc2s6ICcrMzcwKCMjIykgIyMtIyMjJywgbmFtZTogJ9Cb0LjRgtCy0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTFVdOiB7bWFzazogJyszNTIoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cb0Y7QutGB0LXQvNCx0YPRgNCzJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxWXToge21hc2s6ICcrMzcxIyMtIyMjLSMjIycsIG5hbWU6ICfQm9Cw0YLQstC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTFldOiB7bWFzazogJysyMTgjIy0jIyMtIyMjIycsIG5hbWU6ICfQm9C40LLQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1BXToge21hc2s6ICcrMjEyIyMtIyMjIy0jIyMnLCBuYW1lOiAn0JzQsNGA0L7QutC60L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTUNdOiB7bWFzazogJyszNzcjIyMtIyMjLSMjIycsIG5hbWU6ICfQnNC+0L3QsNC60L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTURdOiB7bWFzazogJyszNzMjIyMjLSMjIyMnLCBuYW1lOiAn0JzQvtC70LTQvtCy0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTUVdOiB7bWFzazogJyszODIjIy0jIyMtIyMjJywgbmFtZTogJ9Cn0LXRgNC90L7Qs9C+0YDQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1HXToge21hc2s6ICcrMjYxIyMtIyMtIyMjIyMnLCBuYW1lOiAn0JzQsNC00LDQs9Cw0YHQutCw0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTUtdOiB7bWFzazogJyszODkjIy0jIyMtIyMjJywgbmFtZTogJ9Cg0LXRgdC/LiDQnNCw0LrQtdC00L7QvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTUxdOiB7bWFzazogJysyMjMjIy0jIy0jIyMjJywgbmFtZTogJ9Cc0LDQu9C4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1NXToge21hc2s6ICcrOTUjIy0jIyMtIyMjJywgbmFtZTogJ9CR0LjRgNC80LAgKNCc0YzRj9C90LzQsCknfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTU5dOiB7bWFzazogJys5NzYjIy0jIy0jIyMjJywgbmFtZTogJ9Cc0L7QvdCz0L7Qu9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTU9dOiB7bWFzazogJys4NTMjIyMjLSMjIyMnLCBuYW1lOiAn0JzQsNC60LDQvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NUl06IHttYXNrOiAnKzIyMiMjLSMjLSMjIyMnLCBuYW1lOiAn0JzQsNCy0YDQuNGC0LDQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVNdOiB7bWFzazogJysxKDY2NCkgIyMjLSMjIyMnLCBuYW1lOiAn0JzQvtC90YLRgdC10YDRgNCw0YInfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVRdOiB7bWFzazogJyszNTYjIyMjLSMjIyMnLCBuYW1lOiAn0JzQsNC70YzRgtCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1VXToge21hc2s6ICcrMjMwIyMjLSMjIyMnLCBuYW1lOiAn0JzQsNCy0YDQuNC60LjQuSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NVl06IHttYXNrOiAnKzk2MCMjIy0jIyMjJywgbmFtZTogJ9Cc0LDQu9GM0LTQuNCy0YHQutC40LUg0L7RgdGC0YDQvtCy0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVddOiB7bWFzazogJysyNjUjLSMjIyMtIyMjIycsIG5hbWU6ICfQnNCw0LvQsNCy0LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVhdOiB7bWFzazogJys1MigjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Cc0LXQutGB0LjQutCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1ZXToge21hc2s6ICcrNjAoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cc0LDQu9Cw0LnQt9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVpdOiB7bWFzazogJysyNTgjIy0jIyMtIyMjJywgbmFtZTogJ9Cc0L7Qt9Cw0LzQsdC40LonfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTkFdOiB7bWFzazogJysyNjQjIy0jIyMtIyMjIycsIG5hbWU6ICfQndCw0LzQuNCx0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5ORV06IHttYXNrOiAnKzIyNyMjLSMjLSMjIyMnLCBuYW1lOiAn0J3QuNCz0LXRgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5OR106IHttYXNrOiAnKzIzNCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Cd0LjQs9C10YDQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk5JXToge21hc2s6ICcrNTA1IyMjIy0jIyMjJywgbmFtZTogJ9Cd0LjQutCw0YDQsNCz0YPQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5OTF06IHttYXNrOiAnKzMxIyMtIyMjLSMjIyMnLCBuYW1lOiAn0J3QuNC00LXRgNC70LDQvdC00YsnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTk9dOiB7bWFzazogJys0NygjIyMpICMjLSMjIycsIG5hbWU6ICfQndC+0YDQstC10LPQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk5QXToge21hc2s6ICcrOTc3IyMtIyMjLSMjIycsIG5hbWU6ICfQndC10L/QsNC7J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk5aXToge21hc2s6ICcrNjQoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQndC+0LLQsNGPINCX0LXQu9Cw0L3QtNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuT01dOiB7bWFzazogJys5NjgjIy0jIyMtIyMjJywgbmFtZTogJ9Ce0LzQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBBXToge21hc2s6ICcrNTA3IyMjLSMjIyMnLCBuYW1lOiAn0J/QsNC90LDQvNCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBFXToge21hc2s6ICcrNTEoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cf0LXRgNGDJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBGXToge1xuICAgICAgICBtYXNrOiAnKzY4OSMjLSMjLSMjJyxcbiAgICAgICAgbmFtZTogJ9Ck0YDQsNC90YbRg9C30YHQutCw0Y8g0J/QvtC70LjQvdC10LfQuNGPICjQotCw0LjRgtC4KScsXG4gICAgfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUEddOiB7bWFzazogJys2NzUoIyMjKSAjIy0jIyMnLCBuYW1lOiAn0J/QsNC/0YPQsC3QndC+0LLQsNGPINCT0LLQuNC90LXRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QSF06IHttYXNrOiAnKzYzKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0KTQuNC70LjQv9C/0LjQvdGLJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBLXToge21hc2s6ICcrOTIoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQn9Cw0LrQuNGB0YLQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBMXToge21hc2s6ICcrNDgoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cf0L7Qu9GM0YjQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QVF06IHttYXNrOiAnKzM1MSMjLSMjIy0jIyMjJywgbmFtZTogJ9Cf0L7RgNGC0YPQs9Cw0LvQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBXXToge21hc2s6ICcrNjgwIyMjLSMjIyMnLCBuYW1lOiAn0J/QsNC70LDRgyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QWV06IHttYXNrOiAnKzU5NSgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0J/QsNGA0LDQs9Cy0LDQuSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5RQV06IHttYXNrOiAnKzk3NCMjIyMtIyMjIycsIG5hbWU6ICfQmtCw0YLQsNGAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlJPXToge21hc2s6ICcrNDAjIy0jIyMtIyMjIycsIG5hbWU6ICfQoNGD0LzRi9C90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5SU106IHttYXNrOiAnKzM4MSMjLSMjIy0jIyMjJywgbmFtZTogJ9Ch0LXRgNCx0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5SVV06IHttYXNrOiAnKzcoIyMjKSAjIyMtIyMtIyMnLCBuYW1lOiAn0KDQvtGB0YHQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlJXXToge21hc2s6ICcrMjUwKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQoNGD0LDQvdC00LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0FdOiB7bWFzazogJys5NjYjLSMjIyMtIyMjIycsIG5hbWU6ICfQodCw0YPQtNC+0LLRgdC60LDRjyDQkNGA0LDQstC40Y8gJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNCXToge21hc2s6ICcrNjc3IyMjLSMjIyMnLCBuYW1lOiAn0KHQvtC70L7QvNC+0L3QvtCy0Ysg0J7RgdGC0YDQvtCy0LAgJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNDXToge21hc2s6ICcrMjQ4Iy0jIyMtIyMjJywgbmFtZTogJ9Ch0LXQudGI0LXQu9GLJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNEXToge21hc2s6ICcrMjQ5IyMtIyMjLSMjIyMnLCBuYW1lOiAn0KHRg9C00LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TRV06IHttYXNrOiAnKzQ2IyMtIyMjLSMjIyMnLCBuYW1lOiAn0KjQstC10YbQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNHXToge21hc2s6ICcrNjUjIyMjLSMjIyMnLCBuYW1lOiAn0KHQuNC90LPQsNC/0YPRgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TSF06IHttYXNrOiAnKzI5MCMjIyMnLCBuYW1lOiAn0J7RgdGC0YDQvtCyINCh0LLRj9GC0L7QuSDQldC70LXQvdGLJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNJXToge21hc2s6ICcrMzg2IyMtIyMjLSMjIycsIG5hbWU6ICfQodC70L7QstC10L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNLXToge21hc2s6ICcrNDIxKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQodC70L7QstCw0LrQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNMXToge21hc2s6ICcrMjMyIyMtIyMjIyMjJywgbmFtZTogJ9Ch0YzQtdGA0YDQsC3Qm9C10L7QvdC1J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNNXToge21hc2s6ICcrMzc4IyMjIy0jIyMjIyMnLCBuYW1lOiAn0KHQsNC9LdCc0LDRgNC40L3Qvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TTl06IHttYXNrOiAnKzIyMSMjLSMjIy0jIyMjJywgbmFtZTogJ9Ch0LXQvdC10LPQsNC7J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNPXToge21hc2s6ICcrMjUyIyMtIyMjLSMjIycsIG5hbWU6ICfQodC+0LzQsNC70LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU1JdOiB7bWFzazogJys1OTcjIyMtIyMjIycsIG5hbWU6ICfQodGD0YDQuNC90LDQvCAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU1RdOiB7bWFzazogJysyMzkjIy0jIyMjIycsIG5hbWU6ICfQodCw0L0t0KLQvtC80LUg0Lgg0J/RgNC40L3RgdC40L/QuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TVl06IHttYXNrOiAnKzUwMyMjLSMjLSMjIyMnLCBuYW1lOiAn0KHQsNC70YzQstCw0LTQvtGAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNYXToge21hc2s6ICcrMSg3MjEpICMjIy0jIyMjJywgbmFtZTogJ9Ch0LjQvdGCLdCc0LDRgNGC0LXQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TWV06IHtcbiAgICAgICAgbWFzazogJys5NjMjIy0jIyMjLSMjIycsXG4gICAgICAgIG5hbWU6ICfQodC40YDQuNC50YHQutCw0Y8g0LDRgNCw0LHRgdC60LDRjyDRgNC10YHQv9GD0LHQu9C40LrQsCcsXG4gICAgfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU1pdOiB7bWFzazogJysyNjgjIy0jIy0jIyMjJywgbmFtZTogJ9Ch0LLQsNC30LjQu9C10L3QtCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UQ106IHttYXNrOiAnKzEoNjQ5KSAjIyMtIyMjIycsIG5hbWU6ICfQotGR0YDQutGBINC4INCa0LDQudC60L7RgSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5URF06IHttYXNrOiAnKzIzNSMjLSMjLSMjLSMjJywgbmFtZTogJ9Cn0LDQtCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UR106IHttYXNrOiAnKzIyOCMjLSMjIy0jIyMnLCBuYW1lOiAn0KLQvtCz0L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVEhdOiB7bWFzazogJys2NiMjLSMjIy0jIyMjJywgbmFtZTogJ9Ci0LDQuNC70LDQvdC0ICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5USl06IHttYXNrOiAnKzk5MiMjLSMjIy0jIyMjJywgbmFtZTogJ9Ci0LDQtNC20LjQutC40YHRgtCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVExdOiB7bWFzazogJys2NzAjIyMtIyMjIyMnLCBuYW1lOiAn0JLQvtGB0YLQvtGH0L3Ri9C5INCi0LjQvNC+0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVE1dOiB7bWFzazogJys5OTMjLSMjIy0jIyMjJywgbmFtZTogJ9Ci0YPRgNC60LzQtdC90LjRgdGC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UTl06IHttYXNrOiAnKzIxNiMjLSMjIy0jIyMnLCBuYW1lOiAn0KLRg9C90LjRgSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UT106IHttYXNrOiAnKzY3NiMjIyMjJywgbmFtZTogJ9Ci0L7QvdCz0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVFJdOiB7bWFzazogJys5MCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Ci0YPRgNGG0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UVF06IHttYXNrOiAnKzEoODY4KSAjIyMtIyMjIycsIG5hbWU6ICfQotGA0LjQvdC40LTQsNC0INC4INCi0L7QsdCw0LPQvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UV106IHttYXNrOiAnKzg4NiMtIyMjIy0jIyMjJywgbmFtZTogJ9Ci0LDQudCy0LDQvdGMJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRaXToge21hc2s6ICcrMjU1IyMtIyMjLSMjIyMnLCBuYW1lOiAn0KLQsNC90LfQsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5VQV06IHttYXNrOiAnKzM4MCgjIykgIyMjLSMjLSMjJywgbmFtZTogJ9Cj0LrRgNCw0LjQvdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlVHXToge21hc2s6ICcrMjU2KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQo9Cz0LDQvdC00LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVVNdOiB7bWFzazogJysxKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0KHQqNCQJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlVZXToge21hc2s6ICcrNTk4Iy0jIyMtIyMtIyMnLCBuYW1lOiAn0KPRgNGD0LPQstCw0LknfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVVpdOiB7bWFzazogJys5OTgjIy0jIyMtIyMjIycsIG5hbWU6ICfQo9C30LHQtdC60LjRgdGC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5WQ106IHttYXNrOiAnKzEoNzg0KSAjIyMtIyMjIycsIG5hbWU6ICfQodC10L3Rgi3QktC40L3RgdC10L3RgiDQuCDQk9GA0LXQvdCw0LTQuNC90YsnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVkVdOiB7bWFzazogJys1OCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CS0LXQvdC10YHRg9GN0LvQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5WR106IHtcbiAgICAgICAgbWFzazogJysxKDI4NCkjIyMtIyMjIycsXG4gICAgICAgIG5hbWU6ICfQkdGA0LjRgtCw0L3RgdC60LjQtSDQktC40YDQs9C40L3RgdC60LjQtSDQvtGB0YLRgNC+0LLQsCcsXG4gICAgfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVk5dOiB7bWFzazogJys4NCgjIyMpICMjIyMtIyMjJywgbmFtZTogJ9CS0YzQtdGC0L3QsNC8J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlZVXToge21hc2s6ICcrNjc4IyMtIyMjIyMnLCBuYW1lOiAn0JLQsNC90YPQsNGC0YMgJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLldTXToge21hc2s6ICcrNjg1IyMtIyMjIycsIG5hbWU6ICfQodCw0LzQvtCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLllFXToge21hc2s6ICcrOTY3IyMjLSMjIy0jIyMnLCBuYW1lOiAn0JnQtdC80LXQvSAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuWkFdOiB7bWFzazogJysyNyMjLSMjIy0jIyMjJywgbmFtZTogJ9Cu0LbQvdC+LdCQ0YTRgNC40LrQsNC90YHQutCw0Y8g0KDQtdGB0L8uJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlpNXToge21hc2s6ICcrMjYwIyMtIyMjLSMjIyMnLCBuYW1lOiAn0JfQsNC80LHQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlpXXToge21hc2s6ICcrMjYzIy0jIyMjIyMnLCBuYW1lOiAn0JfQuNC80LHQsNCx0LLQtSd9LFxufTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB3aWxsIGJlIGRlbGV0ZWQgc29vblxuICogVE9ETzogcmVtb3ZlIGluIDMuMCAoaW4gaXZ5IGNvbXBpbGF0aW9uKVxuICovXG5leHBvcnQgZnVuY3Rpb24gY291bnRyaWVzTWFza3NSZWR1Y2VyKFxuICAgIGFjYzogUmVjb3JkPFR1aUNvdW50cnlJc29Db2RlLCBzdHJpbmc+LFxuICAgIFtjb3VudHJ5SXNvQ29kZSwge21hc2t9XTogW3N0cmluZywge21hc2s6IHN0cmluZ31dLFxuKTogUmVjb3JkPFR1aUNvdW50cnlJc29Db2RlLCBzdHJpbmc+IHtcbiAgICBhY2NbY291bnRyeUlzb0NvZGUgYXMgVHVpQ291bnRyeUlzb0NvZGVdID0gbWFzaztcblxuICAgIHJldHVybiBhY2M7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgd2lsbCBiZSBkZWxldGVkIHNvb25cbiAqIFVzZSB0b2tlbiBgVFVJX0NPVU5UUklFU19NQVNLU2BcbiAqIFRPRE86IHJlbW92ZSBpbiAzLjBcbiAqL1xuZXhwb3J0IGNvbnN0IENPVU5UUklFU19NQVNLUyA9IE9iamVjdC5lbnRyaWVzPENvdW50cnk+KENPVU5UUklFUykucmVkdWNlKFxuICAgIGNvdW50cmllc01hc2tzUmVkdWNlcixcbiAgICB7fSBhcyBSZWNvcmQ8VHVpQ291bnRyeUlzb0NvZGUsIHN0cmluZz4sXG4pO1xuXG5leHBvcnQgY29uc3QgTUFTS19BRlRFUl9DT0RFX1JFR0VYUCA9IC9cXChbI10rXFwpfFsjXFwtIF0vZztcbiJdfQ==