@taiga-ui/kit 2.33.0 → 2.36.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 (685) hide show
  1. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  2. package/bundles/taiga-ui-kit-abstract.umd.js +2 -2
  3. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  4. package/bundles/taiga-ui-kit-abstract.umd.min.js +1 -1
  5. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-accordion.umd.js +2 -2
  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 +14 -1
  11. package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-arrow.umd.min.js +1 -1
  13. package/bundles/taiga-ui-kit-components-arrow.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-avatar.umd.js +2 -2
  15. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-avatar.umd.min.js +2 -2
  17. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-badge.umd.js +2 -2
  19. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-badge.umd.min.js +1 -1
  21. package/bundles/taiga-ui-kit-components-badge.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-badged-content.umd.js +2 -2
  23. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js +2 -2
  25. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +2 -2
  27. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js +1 -1
  29. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +2 -2
  31. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  32. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +2 -2
  33. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +2 -2
  37. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  38. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js +2 -2
  39. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +1 -1
  40. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +2 -2
  41. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js +1 -1
  43. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-checkbox.umd.js +2 -2
  45. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
  47. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-combo-box.umd.js +64 -22
  49. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +2 -2
  51. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +17 -11
  53. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +2 -2
  55. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  56. package/bundles/taiga-ui-kit-components-field-error.umd.js +10 -15
  57. package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-field-error.umd.min.js +1 -1
  59. package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-filter.umd.js +2 -2
  61. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  62. package/bundles/taiga-ui-kit-components-filter.umd.min.js +1 -1
  63. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-input-count.umd.js +7 -2
  65. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
  67. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  68. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +64 -41
  69. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  70. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +2 -2
  71. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  72. package/bundles/taiga-ui-kit-components-input-month.umd.js +57 -32
  73. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  74. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +2 -2
  75. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  76. package/bundles/taiga-ui-kit-components-input-number.umd.js +8 -2
  77. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
  79. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  80. package/bundles/taiga-ui-kit-components-input-password.umd.js +5 -0
  81. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  82. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  83. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  84. package/bundles/taiga-ui-kit-components-input-phone.umd.js +8 -2
  85. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  86. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +2 -2
  87. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  88. package/bundles/taiga-ui-kit-components-input-range.umd.js +2 -2
  89. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +1 -1
  91. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-input-slider.umd.js +2 -2
  93. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  94. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +2 -2
  95. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-input-tag.umd.js +53 -17
  97. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +2 -2
  99. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-input-time.umd.js +5 -0
  101. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-input-time.umd.min.js +1 -1
  103. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  104. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +25 -14
  105. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  106. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
  107. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  108. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +2 -2
  109. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  110. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js +1 -1
  111. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
  112. package/bundles/taiga-ui-kit-components-multi-select.umd.js +51 -16
  113. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  114. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +2 -2
  115. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-progress.umd.js +140 -73
  117. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  118. package/bundles/taiga-ui-kit-components-progress.umd.min.js +2 -2
  119. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  120. package/bundles/taiga-ui-kit-components-radio-block.umd.js +2 -2
  121. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js +1 -1
  123. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js.map +1 -1
  124. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +2 -2
  125. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  126. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js +1 -1
  127. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js.map +1 -1
  128. package/bundles/taiga-ui-kit-components-radio-list.umd.js +2 -2
  129. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  130. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js +1 -1
  131. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js.map +1 -1
  132. package/bundles/taiga-ui-kit-components-radio.umd.js +7 -2
  133. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  134. package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
  135. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  136. package/bundles/taiga-ui-kit-components-range.umd.js +1 -1
  137. package/bundles/taiga-ui-kit-components-range.umd.min.js +1 -1
  138. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  139. package/bundles/taiga-ui-kit-components-rating.umd.js +5 -0
  140. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  141. package/bundles/taiga-ui-kit-components-rating.umd.min.js +1 -1
  142. package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -1
  143. package/bundles/taiga-ui-kit-components-select.umd.js +35 -10
  144. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  145. package/bundles/taiga-ui-kit-components-select.umd.min.js +2 -2
  146. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  147. package/bundles/taiga-ui-kit-components-slider.umd.js +272 -27
  148. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  149. package/bundles/taiga-ui-kit-components-slider.umd.min.js +2 -2
  150. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  151. package/bundles/taiga-ui-kit-components-tag.umd.js +9 -3
  152. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  153. package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
  154. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  155. package/bundles/taiga-ui-kit-components-text-area.umd.js +50 -13
  156. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  157. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  158. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  159. package/bundles/taiga-ui-kit-components-toggle.umd.js +7 -2
  160. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  161. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
  162. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  163. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +22 -5
  164. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  165. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
  166. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  167. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +1 -1
  168. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js +1 -1
  169. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +421 -0
  170. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -0
  171. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js +16 -0
  172. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -0
  173. package/bundles/taiga-ui-kit-pipes.umd.js +12 -4
  174. package/bundles/taiga-ui-kit-pipes.umd.js.map +1 -1
  175. package/bundles/taiga-ui-kit-pipes.umd.min.js +1 -1
  176. package/bundles/taiga-ui-kit-providers.umd.js +29 -12
  177. package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
  178. package/bundles/taiga-ui-kit-providers.umd.min.js +1 -1
  179. package/bundles/taiga-ui-kit-providers.umd.min.js.map +1 -1
  180. package/bundles/taiga-ui-kit-tokens.umd.js +242 -4
  181. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  182. package/bundles/taiga-ui-kit-tokens.umd.min.js +15 -1
  183. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  184. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  185. package/components/arrow/arrow-options.d.ts +7 -5
  186. package/components/arrow/taiga-ui-kit-components-arrow.metadata.json +1 -1
  187. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  188. package/components/badge/taiga-ui-kit-components-badge.metadata.json +1 -1
  189. package/components/badged-content/taiga-ui-kit-components-badged-content.metadata.json +1 -1
  190. package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
  191. package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
  192. package/components/carousel/carousel-buttons.directive.d.ts +2 -2
  193. package/components/checkbox/checkbox.component.d.ts +2 -2
  194. package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
  195. package/components/checkbox-block/taiga-ui-kit-components-checkbox-block.metadata.json +1 -1
  196. package/components/checkbox-labeled/taiga-ui-kit-components-checkbox-labeled.metadata.json +1 -1
  197. package/components/combo-box/combo-box-strict.directive.d.ts +7 -0
  198. package/components/combo-box/combo-box.component.d.ts +8 -5
  199. package/components/combo-box/index.d.ts +1 -0
  200. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  201. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +5 -3
  202. package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
  203. package/components/field-error/field-error.component.d.ts +1 -2
  204. package/components/field-error/field-error.module.d.ts +3 -0
  205. package/components/field-error/taiga-ui-kit-components-field-error.metadata.json +1 -1
  206. package/components/filter/taiga-ui-kit-components-filter.metadata.json +1 -1
  207. package/components/input-count/input-count-options.d.ts +10 -4
  208. package/components/input-count/input-count.component.d.ts +3 -3
  209. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  210. package/components/input-month/index.d.ts +1 -0
  211. package/components/input-month/input-month.component.d.ts +6 -4
  212. package/components/input-month/input-month.directive.d.ts +8 -1
  213. package/components/input-month/input-month.providers.d.ts +2 -0
  214. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  215. package/components/input-month-range/index.d.ts +1 -0
  216. package/components/input-month-range/input-month-range.component.d.ts +6 -7
  217. package/components/input-month-range/input-month-range.directive.d.ts +8 -1
  218. package/components/input-month-range/input-month-range.providers.d.ts +2 -0
  219. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  220. package/components/input-number/input-number.directive.d.ts +4 -1
  221. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  222. package/components/input-password/input-password-options.d.ts +10 -4
  223. package/components/input-password/input-password.component.d.ts +3 -3
  224. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  225. package/components/input-phone/input-phone.directive.d.ts +4 -1
  226. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  227. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  228. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  229. package/components/input-tag/index.d.ts +1 -0
  230. package/components/input-tag/input-tag-options.d.ts +7 -0
  231. package/components/input-tag/input-tag.component.d.ts +9 -4
  232. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  233. package/components/input-time/input-time-options.d.ts +10 -4
  234. package/components/input-time/input-time.component.d.ts +6 -6
  235. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  236. package/components/line-clamp/line-clamp.component.d.ts +7 -3
  237. package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
  238. package/components/marker-icon/taiga-ui-kit-components-marker-icon.metadata.json +1 -1
  239. package/components/multi-select/hide-selected.pipe.d.ts +1 -1
  240. package/components/multi-select/index.d.ts +1 -0
  241. package/components/multi-select/multi-select-options.d.ts +10 -0
  242. package/components/multi-select/multi-select.component.d.ts +14 -8
  243. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  244. package/components/progress/index.d.ts +4 -3
  245. package/components/progress/progress-bar/progress-color-segments.directive.d.ts +11 -0
  246. package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
  247. package/components/progress/{pipes → utils}/abstract-color-segments.d.ts +0 -0
  248. package/components/progress/utils/calculate-color-segments.d.ts +5 -0
  249. package/components/progress/{pipes → utils}/progress-color-segments-async.pipe.d.ts +5 -0
  250. package/components/progress/utils/progress-color-segments.pipe.d.ts +9 -0
  251. package/components/radio/radio-options.d.ts +10 -4
  252. package/components/radio/radio.component.d.ts +2 -2
  253. package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
  254. package/components/radio-block/taiga-ui-kit-components-radio-block.metadata.json +1 -1
  255. package/components/radio-labeled/taiga-ui-kit-components-radio-labeled.metadata.json +1 -1
  256. package/components/radio-list/taiga-ui-kit-components-radio-list.metadata.json +1 -1
  257. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  258. package/components/rating/rating-options.d.ts +2 -1
  259. package/components/rating/taiga-ui-kit-components-rating.metadata.json +1 -1
  260. package/components/select/index.d.ts +1 -0
  261. package/components/select/select-options.d.ts +9 -0
  262. package/components/select/select.component.d.ts +9 -4
  263. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  264. package/components/slider/index.d.ts +3 -0
  265. package/components/slider/slider-key-steps.directive.d.ts +17 -0
  266. package/components/slider/slider-old.component.d.ts +19 -0
  267. package/components/slider/slider-options.d.ts +9 -0
  268. package/components/slider/slider.component.d.ts +18 -13
  269. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  270. package/components/tag/tag.component.d.ts +1 -0
  271. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  272. package/components/text-area/index.d.ts +1 -0
  273. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  274. package/components/text-area/text-area.component.d.ts +2 -1
  275. package/components/text-area/text-area.directive.d.ts +5 -0
  276. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  277. package/components/toggle/toggle-options.d.ts +10 -4
  278. package/components/toggle/toggle.component.d.ts +3 -3
  279. package/directives/dropdown-selection/dropdown-selection.directive.d.ts +2 -2
  280. package/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.metadata.json +1 -1
  281. package/directives/lazy-loading/index.d.ts +1 -0
  282. package/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.d.ts +0 -1
  283. package/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.metadata.json +1 -1
  284. package/esm2015/abstract/input-slider.js +2 -2
  285. package/esm2015/abstract/slider/slider.js +2 -2
  286. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +3 -3
  287. package/esm2015/components/arrow/arrow-options.js +13 -2
  288. package/esm2015/components/avatar/avatar.component.js +3 -3
  289. package/esm2015/components/badge/badge.component.js +3 -3
  290. package/esm2015/components/badged-content/badged-content.component.js +3 -3
  291. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +3 -3
  292. package/esm2015/components/calendar-month/calendar-month.component.js +3 -3
  293. package/esm2015/components/carousel/carousel-buttons.directive.js +1 -1
  294. package/esm2015/components/checkbox/checkbox.component.js +3 -3
  295. package/esm2015/components/checkbox-block/checkbox-block.component.js +3 -3
  296. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +3 -3
  297. package/esm2015/components/combo-box/combo-box-strict.directive.js +31 -0
  298. package/esm2015/components/combo-box/combo-box.component.js +24 -18
  299. package/esm2015/components/combo-box/combo-box.module.js +13 -3
  300. package/esm2015/components/combo-box/index.js +2 -1
  301. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +17 -11
  302. package/esm2015/components/field-error/field-error.component.js +8 -12
  303. package/esm2015/components/field-error/field-error.module.js +6 -2
  304. package/esm2015/components/filter/filter.component.js +3 -3
  305. package/esm2015/components/input-count/input-count-options.js +5 -1
  306. package/esm2015/components/input-count/input-count.component.js +3 -3
  307. package/esm2015/components/input-month/index.js +2 -1
  308. package/esm2015/components/input-month/input-month.component.js +19 -25
  309. package/esm2015/components/input-month/input-month.directive.js +32 -7
  310. package/esm2015/components/input-month/input-month.module.js +4 -4
  311. package/esm2015/components/input-month/input-month.providers.js +19 -0
  312. package/esm2015/components/input-month-range/index.js +2 -1
  313. package/esm2015/components/input-month-range/input-month-range.component.js +21 -37
  314. package/esm2015/components/input-month-range/input-month-range.directive.js +37 -7
  315. package/esm2015/components/input-month-range/input-month-range.module.js +3 -2
  316. package/esm2015/components/input-month-range/input-month-range.providers.js +19 -0
  317. package/esm2015/components/input-number/input-number.directive.js +9 -3
  318. package/esm2015/components/input-password/input-password-options.js +5 -1
  319. package/esm2015/components/input-password/input-password.component.js +2 -2
  320. package/esm2015/components/input-phone/input-phone.directive.js +9 -3
  321. package/esm2015/components/input-range/input-range.component.js +3 -3
  322. package/esm2015/components/input-slider/input-slider.component.js +3 -3
  323. package/esm2015/components/input-tag/index.js +2 -1
  324. package/esm2015/components/input-tag/input-tag-options.js +9 -0
  325. package/esm2015/components/input-tag/input-tag.component.js +40 -17
  326. package/esm2015/components/input-time/input-time-options.js +5 -1
  327. package/esm2015/components/input-time/input-time.component.js +1 -1
  328. package/esm2015/components/line-clamp/line-clamp.component.js +25 -15
  329. package/esm2015/components/line-clamp/line-clamp.directive.js +2 -1
  330. package/esm2015/components/marker-icon/marker-icon.component.js +3 -3
  331. package/esm2015/components/multi-select/hide-selected.pipe.js +4 -3
  332. package/esm2015/components/multi-select/index.js +2 -1
  333. package/esm2015/components/multi-select/multi-select-options.js +13 -0
  334. package/esm2015/components/multi-select/multi-select.component.js +30 -12
  335. package/esm2015/components/progress/index.js +5 -4
  336. package/esm2015/components/progress/progress-bar/progress-color-segments.directive.js +48 -0
  337. package/esm2015/components/progress/progress.module.js +6 -3
  338. package/esm2015/components/progress/utils/abstract-color-segments.js +32 -0
  339. package/esm2015/components/progress/utils/calculate-color-segments.js +10 -0
  340. package/esm2015/components/progress/utils/progress-color-segments-async.pipe.js +21 -0
  341. package/esm2015/components/progress/utils/progress-color-segments.pipe.js +19 -0
  342. package/esm2015/components/radio/radio-options.js +5 -1
  343. package/esm2015/components/radio/radio.component.js +3 -3
  344. package/esm2015/components/radio-block/radio-block.component.js +3 -3
  345. package/esm2015/components/radio-labeled/radio-labeled.component.js +3 -3
  346. package/esm2015/components/radio-list/radio-list.component.js +3 -3
  347. package/esm2015/components/range/range.component.js +1 -1
  348. package/esm2015/components/rating/rating-options.js +5 -1
  349. package/esm2015/components/select/index.js +2 -1
  350. package/esm2015/components/select/select-options.js +12 -0
  351. package/esm2015/components/select/select.component.js +21 -8
  352. package/esm2015/components/slider/index.js +4 -1
  353. package/esm2015/components/slider/slider-key-steps.directive.js +81 -0
  354. package/esm2015/components/slider/slider-old.component.js +71 -0
  355. package/esm2015/components/slider/slider-options.js +11 -0
  356. package/esm2015/components/slider/slider.component.js +86 -44
  357. package/esm2015/components/slider/slider.module.js +5 -3
  358. package/esm2015/components/tag/tag.component.js +10 -4
  359. package/esm2015/components/text-area/index.js +2 -1
  360. package/esm2015/components/text-area/text-area.component.js +21 -13
  361. package/esm2015/components/text-area/text-area.directive.js +22 -0
  362. package/esm2015/components/text-area/text-area.module.js +7 -6
  363. package/esm2015/components/text-area/text-area.providers.js +6 -2
  364. package/esm2015/components/toggle/toggle-options.js +5 -1
  365. package/esm2015/components/toggle/toggle.component.js +3 -3
  366. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +23 -6
  367. package/esm2015/directives/lazy-loading/index.js +2 -1
  368. package/esm2015/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.js +1 -2
  369. package/esm2015/pipes/field-error/field-error-content-pipe.js +35 -0
  370. package/esm2015/pipes/field-error/field-error-pipe.js +120 -0
  371. package/esm2015/pipes/field-error/field-error.module.js +14 -0
  372. package/esm2015/pipes/field-error/index.js +4 -0
  373. package/esm2015/pipes/field-error/taiga-ui-kit-pipes-field-error.js +5 -0
  374. package/esm2015/pipes/index.js +2 -1
  375. package/esm2015/providers/index.js +2 -1
  376. package/esm2015/providers/month-formatter.provider.js +17 -0
  377. package/esm2015/providers/value-accessor.provider.js +2 -2
  378. package/esm2015/tokens/index.js +3 -1
  379. package/esm2015/tokens/items-handlers.js +15 -0
  380. package/esm2015/tokens/month-formatter.js +3 -0
  381. package/esm5/abstract/input-slider.js +2 -2
  382. package/esm5/abstract/slider/slider.js +2 -2
  383. package/esm5/components/accordion/accordion-item/accordion-item.component.js +3 -3
  384. package/esm5/components/arrow/arrow-options.js +14 -2
  385. package/esm5/components/avatar/avatar.component.js +3 -3
  386. package/esm5/components/badge/badge.component.js +3 -3
  387. package/esm5/components/badged-content/badged-content.component.js +3 -3
  388. package/esm5/components/breadcrumbs/breadcrumbs.component.js +3 -3
  389. package/esm5/components/calendar-month/calendar-month.component.js +3 -3
  390. package/esm5/components/carousel/carousel-buttons.directive.js +1 -1
  391. package/esm5/components/checkbox/checkbox.component.js +3 -3
  392. package/esm5/components/checkbox-block/checkbox-block.component.js +3 -3
  393. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +3 -3
  394. package/esm5/components/combo-box/combo-box-strict.directive.js +32 -0
  395. package/esm5/components/combo-box/combo-box.component.js +24 -18
  396. package/esm5/components/combo-box/combo-box.module.js +13 -3
  397. package/esm5/components/combo-box/index.js +2 -1
  398. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +18 -11
  399. package/esm5/components/field-error/field-error.component.js +8 -16
  400. package/esm5/components/field-error/field-error.module.js +6 -2
  401. package/esm5/components/filter/filter.component.js +3 -3
  402. package/esm5/components/input-count/input-count-options.js +6 -1
  403. package/esm5/components/input-count/input-count.component.js +3 -3
  404. package/esm5/components/input-month/index.js +2 -1
  405. package/esm5/components/input-month/input-month.component.js +18 -25
  406. package/esm5/components/input-month/input-month.directive.js +32 -9
  407. package/esm5/components/input-month/input-month.module.js +4 -4
  408. package/esm5/components/input-month/input-month.providers.js +19 -0
  409. package/esm5/components/input-month-range/index.js +2 -1
  410. package/esm5/components/input-month-range/input-month-range.component.js +20 -38
  411. package/esm5/components/input-month-range/input-month-range.directive.js +38 -8
  412. package/esm5/components/input-month-range/input-month-range.module.js +3 -2
  413. package/esm5/components/input-month-range/input-month-range.providers.js +19 -0
  414. package/esm5/components/input-number/input-number.directive.js +9 -3
  415. package/esm5/components/input-password/input-password-options.js +6 -1
  416. package/esm5/components/input-password/input-password.component.js +2 -2
  417. package/esm5/components/input-phone/input-phone.directive.js +9 -3
  418. package/esm5/components/input-range/input-range.component.js +3 -3
  419. package/esm5/components/input-slider/input-slider.component.js +3 -3
  420. package/esm5/components/input-tag/index.js +2 -1
  421. package/esm5/components/input-tag/input-tag-options.js +9 -0
  422. package/esm5/components/input-tag/input-tag.component.js +45 -18
  423. package/esm5/components/input-time/input-time-options.js +6 -1
  424. package/esm5/components/input-time/input-time.component.js +1 -1
  425. package/esm5/components/line-clamp/line-clamp.component.js +26 -16
  426. package/esm5/components/line-clamp/line-clamp.directive.js +2 -1
  427. package/esm5/components/marker-icon/marker-icon.component.js +3 -3
  428. package/esm5/components/multi-select/hide-selected.pipe.js +4 -4
  429. package/esm5/components/multi-select/index.js +2 -1
  430. package/esm5/components/multi-select/multi-select-options.js +14 -0
  431. package/esm5/components/multi-select/multi-select.component.js +34 -12
  432. package/esm5/components/progress/index.js +5 -4
  433. package/esm5/components/progress/progress-bar/progress-color-segments.directive.js +56 -0
  434. package/esm5/components/progress/progress.module.js +6 -3
  435. package/esm5/components/progress/utils/abstract-color-segments.js +33 -0
  436. package/esm5/components/progress/utils/calculate-color-segments.js +12 -0
  437. package/esm5/components/progress/utils/progress-color-segments-async.pipe.js +27 -0
  438. package/esm5/components/progress/utils/progress-color-segments.pipe.js +24 -0
  439. package/esm5/components/radio/radio-options.js +6 -1
  440. package/esm5/components/radio/radio.component.js +3 -3
  441. package/esm5/components/radio-block/radio-block.component.js +3 -3
  442. package/esm5/components/radio-labeled/radio-labeled.component.js +3 -3
  443. package/esm5/components/radio-list/radio-list.component.js +3 -3
  444. package/esm5/components/range/range.component.js +1 -1
  445. package/esm5/components/rating/rating-options.js +6 -1
  446. package/esm5/components/select/index.js +2 -1
  447. package/esm5/components/select/select-options.js +13 -0
  448. package/esm5/components/select/select.component.js +21 -8
  449. package/esm5/components/slider/index.js +4 -1
  450. package/esm5/components/slider/slider-key-steps.directive.js +102 -0
  451. package/esm5/components/slider/slider-old.component.js +90 -0
  452. package/esm5/components/slider/slider-options.js +12 -0
  453. package/esm5/components/slider/slider.component.js +103 -51
  454. package/esm5/components/slider/slider.module.js +5 -3
  455. package/esm5/components/tag/tag.component.js +10 -4
  456. package/esm5/components/text-area/index.js +2 -1
  457. package/esm5/components/text-area/text-area.component.js +21 -13
  458. package/esm5/components/text-area/text-area.directive.js +28 -0
  459. package/esm5/components/text-area/text-area.module.js +7 -6
  460. package/esm5/components/text-area/text-area.providers.js +6 -2
  461. package/esm5/components/toggle/toggle-options.js +6 -1
  462. package/esm5/components/toggle/toggle.component.js +3 -3
  463. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +23 -6
  464. package/esm5/directives/lazy-loading/index.js +2 -1
  465. package/esm5/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.js +1 -2
  466. package/esm5/pipes/field-error/field-error-content-pipe.js +36 -0
  467. package/esm5/pipes/field-error/field-error-pipe.js +153 -0
  468. package/esm5/pipes/field-error/field-error.module.js +17 -0
  469. package/esm5/pipes/field-error/index.js +4 -0
  470. package/esm5/pipes/field-error/taiga-ui-kit-pipes-field-error.js +5 -0
  471. package/esm5/pipes/index.js +2 -1
  472. package/esm5/providers/index.js +2 -1
  473. package/esm5/providers/month-formatter.provider.js +19 -0
  474. package/esm5/providers/value-accessor.provider.js +2 -2
  475. package/esm5/tokens/index.js +3 -1
  476. package/esm5/tokens/items-handlers.js +16 -0
  477. package/esm5/tokens/month-formatter.js +3 -0
  478. package/fesm2015/taiga-ui-kit-abstract.js +2 -2
  479. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  480. package/fesm2015/taiga-ui-kit-components-accordion.js +2 -2
  481. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  482. package/fesm2015/taiga-ui-kit-components-arrow.js +13 -2
  483. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  484. package/fesm2015/taiga-ui-kit-components-avatar.js +2 -2
  485. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  486. package/fesm2015/taiga-ui-kit-components-badge.js +2 -2
  487. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  488. package/fesm2015/taiga-ui-kit-components-badged-content.js +2 -2
  489. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  490. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +2 -2
  491. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  492. package/fesm2015/taiga-ui-kit-components-calendar-month.js +2 -2
  493. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  494. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  495. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +2 -2
  496. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  497. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +2 -2
  498. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  499. package/fesm2015/taiga-ui-kit-components-checkbox.js +2 -2
  500. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  501. package/fesm2015/taiga-ui-kit-components-combo-box.js +62 -21
  502. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  503. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +16 -10
  504. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  505. package/fesm2015/taiga-ui-kit-components-field-error.js +12 -13
  506. package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
  507. package/fesm2015/taiga-ui-kit-components-filter.js +2 -2
  508. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  509. package/fesm2015/taiga-ui-kit-components-input-count.js +7 -3
  510. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  511. package/fesm2015/taiga-ui-kit-components-input-month-range.js +67 -41
  512. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  513. package/fesm2015/taiga-ui-kit-components-input-month.js +61 -31
  514. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  515. package/fesm2015/taiga-ui-kit-components-input-number.js +8 -2
  516. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  517. package/fesm2015/taiga-ui-kit-components-input-password.js +5 -1
  518. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  519. package/fesm2015/taiga-ui-kit-components-input-phone.js +8 -2
  520. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  521. package/fesm2015/taiga-ui-kit-components-input-range.js +2 -2
  522. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  523. package/fesm2015/taiga-ui-kit-components-input-slider.js +2 -2
  524. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  525. package/fesm2015/taiga-ui-kit-components-input-tag.js +48 -18
  526. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  527. package/fesm2015/taiga-ui-kit-components-input-time.js +5 -1
  528. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  529. package/fesm2015/taiga-ui-kit-components-line-clamp.js +25 -14
  530. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  531. package/fesm2015/taiga-ui-kit-components-marker-icon.js +2 -2
  532. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  533. package/fesm2015/taiga-ui-kit-components-multi-select.js +45 -15
  534. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  535. package/fesm2015/taiga-ui-kit-components-progress.js +113 -55
  536. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  537. package/fesm2015/taiga-ui-kit-components-radio-block.js +2 -2
  538. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  539. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +2 -2
  540. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  541. package/fesm2015/taiga-ui-kit-components-radio-list.js +2 -2
  542. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  543. package/fesm2015/taiga-ui-kit-components-radio.js +7 -3
  544. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  545. package/fesm2015/taiga-ui-kit-components-range.js +1 -1
  546. package/fesm2015/taiga-ui-kit-components-rating.js +5 -1
  547. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
  548. package/fesm2015/taiga-ui-kit-components-select.js +32 -9
  549. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  550. package/fesm2015/taiga-ui-kit-components-slider.js +206 -14
  551. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  552. package/fesm2015/taiga-ui-kit-components-tag.js +9 -3
  553. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  554. package/fesm2015/taiga-ui-kit-components-text-area.js +47 -17
  555. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  556. package/fesm2015/taiga-ui-kit-components-toggle.js +7 -3
  557. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  558. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +22 -5
  559. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  560. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +1 -1
  561. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  562. package/fesm2015/taiga-ui-kit-pipes-field-error.js +166 -0
  563. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -0
  564. package/fesm2015/taiga-ui-kit-pipes.js +1 -0
  565. package/fesm2015/taiga-ui-kit-pipes.js.map +1 -1
  566. package/fesm2015/taiga-ui-kit-providers.js +18 -4
  567. package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
  568. package/fesm2015/taiga-ui-kit-tokens.js +17 -1
  569. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  570. package/fesm5/taiga-ui-kit-abstract.js +2 -2
  571. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  572. package/fesm5/taiga-ui-kit-components-accordion.js +2 -2
  573. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  574. package/fesm5/taiga-ui-kit-components-arrow.js +14 -3
  575. package/fesm5/taiga-ui-kit-components-arrow.js.map +1 -1
  576. package/fesm5/taiga-ui-kit-components-avatar.js +2 -2
  577. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  578. package/fesm5/taiga-ui-kit-components-badge.js +2 -2
  579. package/fesm5/taiga-ui-kit-components-badge.js.map +1 -1
  580. package/fesm5/taiga-ui-kit-components-badged-content.js +2 -2
  581. package/fesm5/taiga-ui-kit-components-badged-content.js.map +1 -1
  582. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +2 -2
  583. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  584. package/fesm5/taiga-ui-kit-components-calendar-month.js +2 -2
  585. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  586. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  587. package/fesm5/taiga-ui-kit-components-checkbox-block.js +2 -2
  588. package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  589. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js +2 -2
  590. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  591. package/fesm5/taiga-ui-kit-components-checkbox.js +2 -2
  592. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  593. package/fesm5/taiga-ui-kit-components-combo-box.js +63 -21
  594. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  595. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +17 -10
  596. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  597. package/fesm5/taiga-ui-kit-components-field-error.js +12 -17
  598. package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
  599. package/fesm5/taiga-ui-kit-components-filter.js +2 -2
  600. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  601. package/fesm5/taiga-ui-kit-components-input-count.js +8 -4
  602. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  603. package/fesm5/taiga-ui-kit-components-input-month-range.js +68 -44
  604. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  605. package/fesm5/taiga-ui-kit-components-input-month.js +60 -33
  606. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  607. package/fesm5/taiga-ui-kit-components-input-number.js +8 -2
  608. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  609. package/fesm5/taiga-ui-kit-components-input-password.js +6 -2
  610. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  611. package/fesm5/taiga-ui-kit-components-input-phone.js +8 -2
  612. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  613. package/fesm5/taiga-ui-kit-components-input-range.js +2 -2
  614. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  615. package/fesm5/taiga-ui-kit-components-input-slider.js +2 -2
  616. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  617. package/fesm5/taiga-ui-kit-components-input-tag.js +53 -19
  618. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  619. package/fesm5/taiga-ui-kit-components-input-time.js +6 -2
  620. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  621. package/fesm5/taiga-ui-kit-components-line-clamp.js +26 -15
  622. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  623. package/fesm5/taiga-ui-kit-components-marker-icon.js +2 -2
  624. package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
  625. package/fesm5/taiga-ui-kit-components-multi-select.js +50 -17
  626. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  627. package/fesm5/taiga-ui-kit-components-progress.js +135 -69
  628. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  629. package/fesm5/taiga-ui-kit-components-radio-block.js +2 -2
  630. package/fesm5/taiga-ui-kit-components-radio-block.js.map +1 -1
  631. package/fesm5/taiga-ui-kit-components-radio-labeled.js +2 -2
  632. package/fesm5/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  633. package/fesm5/taiga-ui-kit-components-radio-list.js +2 -2
  634. package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
  635. package/fesm5/taiga-ui-kit-components-radio.js +8 -4
  636. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  637. package/fesm5/taiga-ui-kit-components-range.js +1 -1
  638. package/fesm5/taiga-ui-kit-components-rating.js +6 -2
  639. package/fesm5/taiga-ui-kit-components-rating.js.map +1 -1
  640. package/fesm5/taiga-ui-kit-components-select.js +33 -10
  641. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  642. package/fesm5/taiga-ui-kit-components-slider.js +268 -26
  643. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  644. package/fesm5/taiga-ui-kit-components-tag.js +9 -3
  645. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  646. package/fesm5/taiga-ui-kit-components-text-area.js +53 -17
  647. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  648. package/fesm5/taiga-ui-kit-components-toggle.js +8 -4
  649. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  650. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +22 -5
  651. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  652. package/fesm5/taiga-ui-kit-directives-lazy-loading.js +1 -1
  653. package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  654. package/fesm5/taiga-ui-kit-pipes-field-error.js +203 -0
  655. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -0
  656. package/fesm5/taiga-ui-kit-pipes.js +1 -0
  657. package/fesm5/taiga-ui-kit-pipes.js.map +1 -1
  658. package/fesm5/taiga-ui-kit-providers.js +20 -4
  659. package/fesm5/taiga-ui-kit-providers.js.map +1 -1
  660. package/fesm5/taiga-ui-kit-tokens.js +18 -1
  661. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  662. package/package.json +4 -4
  663. package/pipes/field-error/field-error-content-pipe.d.ts +11 -0
  664. package/pipes/field-error/field-error-pipe.d.ts +29 -0
  665. package/pipes/field-error/field-error.module.d.ts +2 -0
  666. package/pipes/field-error/index.d.ts +3 -0
  667. package/pipes/field-error/package.json +13 -0
  668. package/pipes/field-error/taiga-ui-kit-pipes-field-error.d.ts +4 -0
  669. package/pipes/field-error/taiga-ui-kit-pipes-field-error.metadata.json +1 -0
  670. package/pipes/index.d.ts +1 -0
  671. package/pipes/taiga-ui-kit-pipes.metadata.json +1 -1
  672. package/providers/index.d.ts +1 -0
  673. package/providers/month-formatter.provider.d.ts +6 -0
  674. package/providers/taiga-ui-kit-providers.metadata.json +1 -1
  675. package/tokens/index.d.ts +2 -0
  676. package/tokens/items-handlers.d.ts +10 -0
  677. package/tokens/month-formatter.d.ts +4 -0
  678. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  679. package/components/progress/pipes/progress-color-segments.pipe.d.ts +0 -9
  680. package/esm2015/components/progress/pipes/abstract-color-segments.js +0 -32
  681. package/esm2015/components/progress/pipes/progress-color-segments-async.pipe.js +0 -15
  682. package/esm2015/components/progress/pipes/progress-color-segments.pipe.js +0 -18
  683. package/esm5/components/progress/pipes/abstract-color-segments.js +0 -35
  684. package/esm5/components/progress/pipes/progress-color-segments-async.pipe.js +0 -21
  685. package/esm5/components/progress/pipes/progress-color-segments.pipe.js +0 -23
@@ -7,6 +7,14 @@ import { AbstractTuiDropdown, TUI_DOCUMENT_OR_SHADOW_ROOT, TUI_DROPDOWN_DIRECTIV
7
7
  import { getWordRange } from '@taiga-ui/kit/utils/dom';
8
8
  import { merge } from 'rxjs';
9
9
  import { map, switchMapTo, takeUntil } from 'rxjs/operators';
10
+ const EMPTY_RECT = {
11
+ bottom: 0,
12
+ height: 0,
13
+ left: 0,
14
+ right: 0,
15
+ top: 0,
16
+ width: 0,
17
+ };
10
18
  // @dynamic
11
19
  let TuiDropdownSelectionDirective = TuiDropdownSelectionDirective_1 = class TuiDropdownSelectionDirective extends AbstractTuiDropdown {
12
20
  constructor(documentRef, componentFactoryResolver, injector, portalService, elementRef, activeZone, shadowRootRef, customElementRef, destroy$, refresh$, changeDetectorRef, ngZone, renderer, viewContainerRef) {
@@ -19,6 +27,10 @@ let TuiDropdownSelectionDirective = TuiDropdownSelectionDirective_1 = class TuiD
19
27
  this.visibilityHandler = ALWAYS_TRUE_HANDLER;
20
28
  this.position = 'selection';
21
29
  this.documentRef = shadowRootRef || documentRef;
30
+ // SSR protection
31
+ if (!this.documentRef.createRange) {
32
+ return;
33
+ }
22
34
  this.range = this.documentRef.createRange();
23
35
  const { nativeElement } = this.elementRef;
24
36
  merge(typedFromEvent(this.documentRef, 'mouseup'), typedFromEvent(nativeElement, 'mousedown').pipe(switchMapTo(typedFromEvent(nativeElement, 'mousemove').pipe(takeUntil(typedFromEvent(this.documentRef, 'mouseup'))))), typedFromEvent(nativeElement, 'keyup'))
@@ -36,15 +48,17 @@ let TuiDropdownSelectionDirective = TuiDropdownSelectionDirective_1 = class TuiD
36
48
  : this.range;
37
49
  }), takeUntil(destroy$))
38
50
  .subscribe(range => {
39
- const contained = nativeElement.contains(range.commonAncestorContainer);
51
+ const contained = !!range && nativeElement.contains(range.commonAncestorContainer);
40
52
  this.range = contained ? range : this.range;
41
53
  const valid = contained &&
42
- (!this.visibilityHandler || this.visibilityHandler(this.range));
43
- this.toggleDropdownBox(valid || this.inDropdown(range));
54
+ (!this.visibilityHandler ||
55
+ !this.range ||
56
+ this.visibilityHandler(this.range));
57
+ this.toggleDropdownBox(!!range && (valid || this.inDropdown(range)));
44
58
  });
45
59
  }
46
60
  set tuiDropdownSelection(handler) {
47
- if (!handler) {
61
+ if (!handler || !this.range) {
48
62
  return;
49
63
  }
50
64
  const inHostAndValid = this.elementRef.nativeElement.contains(this.range.commonAncestorContainer) &&
@@ -79,6 +93,9 @@ let TuiDropdownSelectionDirective = TuiDropdownSelectionDirective_1 = class TuiD
79
93
  * get ClientRect of current Range according to provided position
80
94
  */
81
95
  get rangeRect() {
96
+ if (!this.range) {
97
+ return EMPTY_RECT;
98
+ }
82
99
  switch (this.position) {
83
100
  case 'tag': {
84
101
  const { commonAncestorContainer } = this.range;
@@ -115,7 +132,7 @@ let TuiDropdownSelectionDirective = TuiDropdownSelectionDirective_1 = class TuiD
115
132
  this.dropdownBoxRef.location.nativeElement.contains(node));
116
133
  }
117
134
  /**
118
- * Check if given range is at leaset partially inside dropdown
135
+ * Check if given range is at least partially inside dropdown
119
136
  */
120
137
  inDropdown(range) {
121
138
  const { startContainer, endContainer } = range;
@@ -217,4 +234,4 @@ TuiDropdownSelectionDirective = TuiDropdownSelectionDirective_1 = __decorate([
217
234
  __param(13, Inject(ViewContainerRef))
218
235
  ], TuiDropdownSelectionDirective);
219
236
  export { TuiDropdownSelectionDirective };
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcy9kcm9wZG93bi1zZWxlY3Rpb24vIiwic291cmNlcyI6WyJkcm9wZG93bi1zZWxlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLElBQUksRUFDSixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFFBQVEsRUFDUixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsRUFBRSxFQUNGLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixnQkFBZ0IsRUFDaEIsY0FBYyxHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIsZUFBZSxHQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzNCLE9BQU8sRUFBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNELFdBQVc7QUFZWCxJQUFhLDZCQUE2QixxQ0FBMUMsTUFBYSw2QkFDVCxTQUFRLG1CQUFtQjtJQXlCM0IsWUFDc0IsV0FBcUIsRUFFdkMsd0JBQWtELEVBQ2hDLFFBQWtCLEVBQ1YsYUFBK0IsRUFDN0IsVUFBbUMsRUFHL0QsVUFBeUMsRUFHekMsYUFBOEIsRUFHOUIsZ0JBQWdELEVBRWhELFFBQTJCLEVBQ2UsUUFBaUMsRUFDL0IsaUJBQW9DLEVBQy9DLE1BQWMsRUFDWCxRQUFtQixFQUNaLGdCQUFrQztRQUU3RSxLQUFLLENBQ0Qsd0JBQXdCLEVBQ3hCLFFBQVEsRUFDUixhQUFhLEVBQ2IsZ0JBQWdCLElBQUksVUFBVSxFQUM5QixVQUFVLENBQ2IsQ0FBQztRQVp3QyxhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUMvQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQy9DLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDWCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ1oscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTVDekUsc0JBQWlCLEdBQTZCLG1CQUFtQixDQUFDO1FBb0IxRSxhQUFRLEdBQWlDLFdBQVcsQ0FBQztRQWlDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLElBQUksV0FBVyxDQUFDO1FBQ2hELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU1QyxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUV4QyxLQUFLLENBQ0QsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLEVBQzNDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUMzQyxXQUFXLENBQ1AsY0FBYyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQzNDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUN6RCxDQUNKLENBQ0osRUFDRCxjQUFjLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUN6QzthQUNJLElBQUksQ0FDRCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ0wsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFbEQsdUJBQXVCO1lBQ3ZCLElBQ0ksQ0FBQyxNQUFNLFlBQVksZ0JBQWdCO2dCQUMvQixNQUFNLFlBQVksbUJBQW1CLENBQUM7Z0JBQzFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQ2hDO2dCQUNFLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzNDO1lBRUQsT0FBTyxTQUFTLElBQUksU0FBUyxDQUFDLFVBQVU7Z0JBQ3BDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDckIsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QjthQUNBLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNmLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFFeEUsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUU1QyxNQUFNLEtBQUssR0FDUCxTQUFTO2dCQUNULENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBRXBFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQTlGRCxJQUFJLG9CQUFvQixDQUFDLE9BQTZDO1FBQ2xFLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDVixPQUFPO1NBQ1Y7UUFFRCxNQUFNLGNBQWMsR0FDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUM7WUFDMUUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBcUZELElBQUksVUFBVTtRQUNWLE1BQU0sRUFBQyxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3ZDLE1BQU0sRUFBQyxTQUFTLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFDekIsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFbkUsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNmLE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBRUQsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFMUQsT0FBTztZQUNILEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQyxHQUFHO1lBQ3JDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJO1lBQ3hDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLEtBQUs7WUFDM0QsTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsTUFBTTtZQUMzRCxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7WUFDdEIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1NBQzNCLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFDM0MsSUFBSSxDQUFDLEtBQUssQ0FDYixDQUFDO1NBQ0w7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFZLFNBQVM7UUFDakIsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ25CLEtBQUssS0FBSyxDQUFDLENBQUM7Z0JBQ1IsTUFBTSxFQUFDLHVCQUF1QixFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDN0MsTUFBTSxPQUFPLEdBQ1QsdUJBQXVCLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxZQUFZO29CQUNsRCxDQUFDLENBQUMsdUJBQXVCO29CQUN6QixDQUFDLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDO2dCQUU3QyxPQUFRLE9BQW1CLENBQUMscUJBQXFCLEVBQUUsQ0FBQzthQUN2RDtZQUNELEtBQUssTUFBTTtnQkFDUCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUM1RDtnQkFDSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLEVBQUUsQ0FBQztTQUNqRDtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLGlCQUFpQixDQUFDLE9BQWdCO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLE9BQU8sRUFBRTtnQkFDVCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDMUI7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDM0I7WUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxXQUFXLENBQUMsSUFBVTtRQUMxQixPQUFPLENBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjO1lBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQzVELENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSyxVQUFVLENBQUMsS0FBWTtRQUMzQixNQUFNLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBQyxHQUFHLEtBQUssQ0FBQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sY0FBYyxHQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0QsTUFBTSxjQUFjLEdBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV6RCxPQUFPLFVBQVUsSUFBSSxjQUFjLElBQUksY0FBYyxDQUFDO0lBQzFELENBQUM7SUFFRDs7T0FFRztJQUNLLG1CQUFtQixDQUFDLE9BQStDO1FBQ3ZFLE1BQU0sRUFBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBQyxHQUFHLElBQUksQ0FBQztRQUMvQyxNQUFNLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDbkUsTUFBTSxFQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUMsR0FBRyxPQUFPLENBQUM7UUFDL0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXZFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsS0FBSyxDQUFDLFdBQVcsR0FBRyxxQkFBcUIsR0FBRyxPQUFPLENBQUMsS0FBSyxHQUFHLG1CQUFtQixDQUFDO1FBRWhGLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVcsRUFBRSxjQUFjLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVyxFQUFFLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztRQUVuRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxTQUFTLENBQUMsT0FBK0M7UUFDN0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsTUFBTSxFQUFDLGFBQWEsRUFBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7UUFDdEQsTUFBTSxFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBQyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWhGLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7UUFDbkMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQzFCLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUNwQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDeEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQzFDLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUMxQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFFOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSixDQUFBOztZQXpOc0MsUUFBUSx1QkFBdEMsTUFBTSxTQUFDLFFBQVE7WUFFVSx3QkFBd0IsdUJBRGpELE1BQU0sU0FBQyx3QkFBd0I7WUFFSixRQUFRLHVCQUFuQyxNQUFNLFNBQUMsUUFBUTtZQUN5QixnQkFBZ0IsdUJBQXhELE1BQU0sU0FBQyxnQkFBZ0I7WUFDZ0IsVUFBVSx1QkFBakQsSUFBSSxZQUFJLE1BQU0sU0FBQyxVQUFVO1lBR2Qsc0JBQXNCLHVCQUZqQyxNQUFNLFNBQUMsc0JBQXNCLGNBQzdCLFFBQVE7WUFJTSxRQUFRLHVCQUZ0QixNQUFNLFNBQUMsMkJBQTJCLGNBQ2xDLFFBQVE7WUFJUyxVQUFVLHVCQUYzQixNQUFNLFNBQUMsZUFBZSxjQUN0QixRQUFRO1lBR0MsaUJBQWlCLHVCQUQxQixNQUFNLFNBQUMsaUJBQWlCO1lBRTJCLHVCQUF1Qix1QkFBMUUsTUFBTSxTQUFDLHVCQUF1QjtZQUNnQyxpQkFBaUIsdUJBQS9FLE1BQU0sU0FBQyxpQkFBaUI7WUFDZ0IsTUFBTSx1QkFBOUMsTUFBTSxTQUFDLE1BQU07WUFDZ0MsU0FBUyx1QkFBdEQsTUFBTSxTQUFDLFNBQVM7WUFDNEMsZ0JBQWdCLHVCQUE1RSxNQUFNLFNBQUMsZ0JBQWdCOztBQXRDNUI7SUFEQyxLQUFLLEVBQUU7eUVBWVA7QUFHRDtJQURDLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQzsrREFDZTtBQXhCNUMsNkJBQTZCO0lBWHpDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSwwQ0FBMEM7UUFDcEQsU0FBUyxFQUFFO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLHNCQUFzQjtnQkFDL0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywrQkFBNkIsQ0FBQzthQUMvRDtZQUNELHVCQUF1QjtZQUN2QixpQkFBaUI7U0FDcEI7S0FDSixDQUFDO0lBNEJPLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hCLFdBQUEsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7SUFFaEMsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDaEIsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUN4QixXQUFBLElBQUksRUFBRSxDQUFBLEVBQUUsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDMUIsV0FBQSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtJQUM5QixXQUFBLFFBQVEsRUFBRSxDQUFBO0lBRVYsV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtJQUNuQyxXQUFBLFFBQVEsRUFBRSxDQUFBO0lBRVYsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDdkIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUVWLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFFekIsV0FBQSxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtJQUMvQixZQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFlBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2QsWUFBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDakIsWUFBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtHQWhEcEIsNkJBQTZCLENBb1B6QztTQXBQWSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0LFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX1RSVUVfSEFORExFUixcbiAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIENIQVJfWkVST19XSURUSF9TUEFDRSxcbiAgICBnZXROYXRpdmVGb2N1c2VkLFxuICAgIHB4LFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpUGFyZW50c1Njcm9sbFNlcnZpY2UsXG4gICAgVHVpUG9ydGFsU2VydmljZSxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpRHJvcGRvd24sXG4gICAgVFVJX0RPQ1VNRU5UX09SX1NIQURPV19ST09ULFxuICAgIFRVSV9EUk9QRE9XTl9ESVJFQ1RJVkUsXG4gICAgVFVJX0VMRU1FTlRfUkVGLFxuICAgIFR1aURyb3Bkb3duLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge2dldFdvcmRSYW5nZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscy9kb20nO1xuaW1wb3J0IHttZXJnZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwVG8sIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpRHJvcGRvd25TZWxlY3Rpb25dOm5vdChuZy1jb250YWluZXIpJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RST1BET1dOX0RJUkVDVElWRSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aURyb3Bkb3duU2VsZWN0aW9uRGlyZWN0aXZlKSxcbiAgICAgICAgfSxcbiAgICAgICAgVHVpUGFyZW50c1Njcm9sbFNlcnZpY2UsXG4gICAgICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duU2VsZWN0aW9uRGlyZWN0aXZlXG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aURyb3Bkb3duXG4gICAgaW1wbGVtZW50cyBUdWlEcm9wZG93biwgT25EZXN0cm95XG57XG4gICAgcHJpdmF0ZSB2aXNpYmlsaXR5SGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8UmFuZ2U+ID0gQUxXQVlTX1RSVUVfSEFORExFUjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50UmVmOiBEb2N1bWVudDtcbiAgICBwcml2YXRlIGdob3N0PzogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSByYW5nZTogUmFuZ2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0dWlEcm9wZG93blNlbGVjdGlvbihoYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxSYW5nZT4gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKCFoYW5kbGVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbkhvc3RBbmRWYWxpZCA9XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0aGlzLnJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKSAmJlxuICAgICAgICAgICAgaGFuZGxlcih0aGlzLnJhbmdlKTtcblxuICAgICAgICB0aGlzLnZpc2liaWxpdHlIYW5kbGVyID0gaGFuZGxlcjtcbiAgICAgICAgdGhpcy50b2dnbGVEcm9wZG93bkJveChpbkhvc3RBbmRWYWxpZCk7XG4gICAgfVxuXG4gICAgQElucHV0KCd0dWlEcm9wZG93blNlbGVjdGlvblBvc2l0aW9uJylcbiAgICBwb3NpdGlvbjogJ3NlbGVjdGlvbicgfCAnd29yZCcgfCAndGFnJyA9ICdzZWxlY3Rpb24nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpXG4gICAgICAgIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBASW5qZWN0KEluamVjdG9yKSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIEBJbmplY3QoVHVpUG9ydGFsU2VydmljZSkgcG9ydGFsU2VydmljZTogVHVpUG9ydGFsU2VydmljZSxcbiAgICAgICAgQEhvc3QoKSBASW5qZWN0KEVsZW1lbnRSZWYpIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUpXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIGFjdGl2ZVpvbmU6IFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NVTUVOVF9PUl9TSEFET1dfUk9PVClcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgc2hhZG93Um9vdFJlZjogRG9jdW1lbnQgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9FTEVNRU5UX1JFRilcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgY3VzdG9tRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKVxuICAgICAgICBkZXN0cm95JDogVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVHVpUGFyZW50c1Njcm9sbFNlcnZpY2UpIHJlYWRvbmx5IHJlZnJlc2gkOiBUdWlQYXJlbnRzU2Nyb2xsU2VydmljZSxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFJlbmRlcmVyMikgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBASW5qZWN0KFZpZXdDb250YWluZXJSZWYpIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgICAgICBpbmplY3RvcixcbiAgICAgICAgICAgIHBvcnRhbFNlcnZpY2UsXG4gICAgICAgICAgICBjdXN0b21FbGVtZW50UmVmIHx8IGVsZW1lbnRSZWYsXG4gICAgICAgICAgICBhY3RpdmVab25lLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmRvY3VtZW50UmVmID0gc2hhZG93Um9vdFJlZiB8fCBkb2N1bWVudFJlZjtcbiAgICAgICAgdGhpcy5yYW5nZSA9IHRoaXMuZG9jdW1lbnRSZWYuY3JlYXRlUmFuZ2UoKTtcblxuICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSB0aGlzLmVsZW1lbnRSZWY7XG5cbiAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICB0eXBlZEZyb21FdmVudCh0aGlzLmRvY3VtZW50UmVmLCAnbW91c2V1cCcpLFxuICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ21vdXNlZG93bicpLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwVG8oXG4gICAgICAgICAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICdtb3VzZW1vdmUnKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jdW1lbnRSZWYsICdtb3VzZXVwJykpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ2tleXVwJyksXG4gICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IGdldE5hdGl2ZUZvY3VzZWQodGhpcy5kb2N1bWVudFJlZik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMuZG9jdW1lbnRSZWYuZ2V0U2VsZWN0aW9uKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogaWZyYW1lIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGl2ZSBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmUgaW5zdGFuY2VvZiBIVE1MVGV4dEFyZWFFbGVtZW50KSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgbmF0aXZlRWxlbWVudC5jb250YWlucyhhY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudmVyeVZlcnlTYWRJbnB1dEZpeChhY3RpdmUpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGlvbiAmJiBzZWxlY3Rpb24ucmFuZ2VDb3VudFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnJhbmdlO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbChkZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJhbmdlID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250YWluZWQgPSBuYXRpdmVFbGVtZW50LmNvbnRhaW5zKHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKTtcblxuICAgICAgICAgICAgICAgIHRoaXMucmFuZ2UgPSBjb250YWluZWQgPyByYW5nZSA6IHRoaXMucmFuZ2U7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB2YWxpZCA9XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lZCAmJlxuICAgICAgICAgICAgICAgICAgICAoIXRoaXMudmlzaWJpbGl0eUhhbmRsZXIgfHwgdGhpcy52aXNpYmlsaXR5SGFuZGxlcih0aGlzLnJhbmdlKSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZURyb3Bkb3duQm94KHZhbGlkIHx8IHRoaXMuaW5Ecm9wZG93bihyYW5nZSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGNsaWVudFJlY3QoKTogQ2xpZW50UmVjdCB7XG4gICAgICAgIGNvbnN0IHtkZWZhdWx0Vmlld30gPSB0aGlzLmRvY3VtZW50UmVmO1xuICAgICAgICBjb25zdCB7cmFuZ2VSZWN0fSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGZyYW1lRWxlbWVudCA9IGRlZmF1bHRWaWV3ID8gZGVmYXVsdFZpZXcuZnJhbWVFbGVtZW50IDogbnVsbDtcblxuICAgICAgICBpZiAoIWZyYW1lRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIHJhbmdlUmVjdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRvY3VtZW50UmVjdCA9IGZyYW1lRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdG9wOiByYW5nZVJlY3QudG9wICsgZG9jdW1lbnRSZWN0LnRvcCxcbiAgICAgICAgICAgIGxlZnQ6IHJhbmdlUmVjdC5sZWZ0ICsgZG9jdW1lbnRSZWN0LmxlZnQsXG4gICAgICAgICAgICByaWdodDogcmFuZ2VSZWN0LmxlZnQgKyBkb2N1bWVudFJlY3QubGVmdCArIHJhbmdlUmVjdC53aWR0aCxcbiAgICAgICAgICAgIGJvdHRvbTogcmFuZ2VSZWN0LnRvcCArIGRvY3VtZW50UmVjdC50b3AgKyByYW5nZVJlY3QuaGVpZ2h0LFxuICAgICAgICAgICAgd2lkdGg6IHJhbmdlUmVjdC53aWR0aCxcbiAgICAgICAgICAgIGhlaWdodDogcmFuZ2VSZWN0LmhlaWdodCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duQm94KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2hvc3QpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoXG4gICAgICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLmdob3N0LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGdldCBDbGllbnRSZWN0IG9mIGN1cnJlbnQgUmFuZ2UgYWNjb3JkaW5nIHRvIHByb3ZpZGVkIHBvc2l0aW9uXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgcmFuZ2VSZWN0KCk6IENsaWVudFJlY3Qge1xuICAgICAgICBzd2l0Y2ggKHRoaXMucG9zaXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJ3RhZyc6IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7Y29tbW9uQW5jZXN0b3JDb250YWluZXJ9ID0gdGhpcy5yYW5nZTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgICAgICAgICAgY29tbW9uQW5jZXN0b3JDb250YWluZXIubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLnBhcmVudE5vZGU7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gKGVsZW1lbnQgYXMgRWxlbWVudCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICd3b3JkJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0V29yZFJhbmdlKHRoaXMucmFuZ2UpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yYW5nZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRvZ2dsZSBkcm9wZG93biB2aXNpYmlsaXR5IChoYXMgdG8gYmUgaW4gbmdab25lLnJ1biBiZWNhdXNlIGl0IGNvdWxkIGJlIGluaXRpYXRlZCBpbnNpZGUgaWZyYW1lIGluIEVkaXRvcilcbiAgICAgKi9cbiAgICBwcml2YXRlIHRvZ2dsZURyb3Bkb3duQm94KHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh2aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuRHJvcGRvd25Cb3goKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duQm94KCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIE5vZGUgaXMgaW5zaWRlIGRyb3Bkb3duXG4gICAgICovXG4gICAgcHJpdmF0ZSBib3hDb250YWlucyhub2RlOiBOb2RlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIXRoaXMuZHJvcGRvd25Cb3hSZWYgJiZcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Cb3hSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5jb250YWlucyhub2RlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIGdpdmVuIHJhbmdlIGlzIGF0IGxlYXNldCBwYXJ0aWFsbHkgaW5zaWRlIGRyb3Bkb3duXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbkRyb3Bkb3duKHJhbmdlOiBSYW5nZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7c3RhcnRDb250YWluZXIsIGVuZENvbnRhaW5lcn0gPSByYW5nZTtcbiAgICAgICAgY29uc3QgaW5Ecm9wZG93biA9IHRoaXMuYm94Q29udGFpbnMocmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIpO1xuICAgICAgICBjb25zdCBob3N0VG9Ecm9wZG93biA9XG4gICAgICAgICAgICB0aGlzLmJveENvbnRhaW5zKGVuZENvbnRhaW5lcikgJiZcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHN0YXJ0Q29udGFpbmVyKTtcbiAgICAgICAgY29uc3QgZHJvcGRvd25Ub0hvc3QgPVxuICAgICAgICAgICAgdGhpcy5ib3hDb250YWlucyhzdGFydENvbnRhaW5lcikgJiZcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGVuZENvbnRhaW5lcik7XG5cbiAgICAgICAgcmV0dXJuIGluRHJvcGRvd24gfHwgaG9zdFRvRHJvcGRvd24gfHwgZHJvcGRvd25Ub0hvc3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gaW52aXNpYmxlIERJViBhbmQgY3JlYXRlIFJhbmdlIHNpbWlsYXIgdG8gc2VsZWN0ZWQgcmFuZ2UgaW5zaWRlIGlucHV0L3RleHRhcmVhXG4gICAgICovXG4gICAgcHJpdmF0ZSB2ZXJ5VmVyeVNhZElucHV0Rml4KGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogUmFuZ2Uge1xuICAgICAgICBjb25zdCB7Z2hvc3QgPSB0aGlzLmluaXRHaG9zdChlbGVtZW50KX0gPSB0aGlzO1xuICAgICAgICBjb25zdCB7dG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0fSA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtzZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kfSA9IGVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHJhbmdlID0gdGhpcy5kb2N1bWVudFJlZi5jcmVhdGVSYW5nZSgpO1xuICAgICAgICBjb25zdCBob3N0UmVjdCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGdob3N0LnN0eWxlLnRvcCA9IHB4KHRvcCAtIGhvc3RSZWN0LnRvcCk7XG4gICAgICAgIGdob3N0LnN0eWxlLmxlZnQgPSBweChsZWZ0IC0gaG9zdFJlY3QubGVmdCk7XG4gICAgICAgIGdob3N0LnN0eWxlLndpZHRoID0gcHgod2lkdGgpO1xuICAgICAgICBnaG9zdC5zdHlsZS5oZWlnaHQgPSBweChoZWlnaHQpO1xuICAgICAgICBnaG9zdC50ZXh0Q29udGVudCA9IENIQVJfWkVST19XSURUSF9TUEFDRSArIGVsZW1lbnQudmFsdWUgKyBDSEFSX05PX0JSRUFLX1NQQUNFO1xuXG4gICAgICAgIHJhbmdlLnNldFN0YXJ0KGdob3N0LmZpcnN0Q2hpbGQhLCBzZWxlY3Rpb25TdGFydCB8fCAwKTtcbiAgICAgICAgcmFuZ2Uuc2V0RW5kKGdob3N0LmZpcnN0Q2hpbGQhLCBzZWxlY3Rpb25FbmQgfHwgMCk7XG5cbiAgICAgICAgcmV0dXJuIHJhbmdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhbiBpbnZpc2libGUgRElWIHN0eWxlZCBleGFjdGx5IGxpa2UgaW5wdXQvdGV4dGFyZWEgZWxlbWVudCBpbnNpZGUgZGlyZWN0aXZlXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbml0R2hvc3QoZWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGdob3N0ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHtmb250LCBsZXR0ZXJTcGFjaW5nLCB0ZXh0VHJhbnNmb3JtLCBwYWRkaW5nfSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG5cbiAgICAgICAgZ2hvc3Quc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICBnaG9zdC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuICAgICAgICBnaG9zdC5zdHlsZS5vcGFjaXR5ID0gJzAnO1xuICAgICAgICBnaG9zdC5zdHlsZS53aGl0ZVNwYWNlID0gJ3ByZS13cmFwJztcbiAgICAgICAgZ2hvc3Quc3R5bGUuZm9udCA9IGZvbnQ7XG4gICAgICAgIGdob3N0LnN0eWxlLmxldHRlclNwYWNpbmcgPSBsZXR0ZXJTcGFjaW5nO1xuICAgICAgICBnaG9zdC5zdHlsZS50ZXh0VHJhbnNmb3JtID0gdGV4dFRyYW5zZm9ybTtcbiAgICAgICAgZ2hvc3Quc3R5bGUucGFkZGluZyA9IHBhZGRpbmc7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChuYXRpdmVFbGVtZW50LCBnaG9zdCk7XG4gICAgICAgIHRoaXMuZ2hvc3QgPSBnaG9zdDtcblxuICAgICAgICByZXR1cm4gZ2hvc3Q7XG4gICAgfVxufVxuIl19
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcy9kcm9wZG93bi1zZWxlY3Rpb24vIiwic291cmNlcyI6WyJkcm9wZG93bi1zZWxlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLElBQUksRUFDSixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFFBQVEsRUFDUixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsRUFBRSxFQUNGLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixnQkFBZ0IsRUFDaEIsY0FBYyxHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIsZUFBZSxHQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzNCLE9BQU8sRUFBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE1BQU0sVUFBVSxHQUFlO0lBQzNCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsTUFBTSxFQUFFLENBQUM7SUFDVCxJQUFJLEVBQUUsQ0FBQztJQUNQLEtB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QUMsVUFBVSxDQUFDLENBQUE7SUFDMUIsV0FBQSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtJQUM5QixXQUFBLFFBQVEsRUFBRSxDQUFBO0lBRVYsV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtJQUNuQyxXQUFBLFFBQVEsRUFBRSxDQUFBO0lBRVYsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDdkIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUVWLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFFekIsV0FBQSxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtJQUMvQixZQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFlBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2QsWUFBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDakIsWUFBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtHQWhEcEIsNkJBQTZCLENBaVF6QztTQWpRWSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0LFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX1RSVUVfSEFORExFUixcbiAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIENIQVJfWkVST19XSURUSF9TUEFDRSxcbiAgICBnZXROYXRpdmVGb2N1c2VkLFxuICAgIHB4LFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpUGFyZW50c1Njcm9sbFNlcnZpY2UsXG4gICAgVHVpUG9ydGFsU2VydmljZSxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpRHJvcGRvd24sXG4gICAgVFVJX0RPQ1VNRU5UX09SX1NIQURPV19ST09ULFxuICAgIFRVSV9EUk9QRE9XTl9ESVJFQ1RJVkUsXG4gICAgVFVJX0VMRU1FTlRfUkVGLFxuICAgIFR1aURyb3Bkb3duLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge2dldFdvcmRSYW5nZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscy9kb20nO1xuaW1wb3J0IHttZXJnZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwVG8sIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCBFTVBUWV9SRUNUOiBDbGllbnRSZWN0ID0ge1xuICAgIGJvdHRvbTogMCxcbiAgICBoZWlnaHQ6IDAsXG4gICAgbGVmdDogMCxcbiAgICByaWdodDogMCxcbiAgICB0b3A6IDAsXG4gICAgd2lkdGg6IDAsXG59O1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpRHJvcGRvd25TZWxlY3Rpb25dOm5vdChuZy1jb250YWluZXIpJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RST1BET1dOX0RJUkVDVElWRSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aURyb3Bkb3duU2VsZWN0aW9uRGlyZWN0aXZlKSxcbiAgICAgICAgfSxcbiAgICAgICAgVHVpUGFyZW50c1Njcm9sbFNlcnZpY2UsXG4gICAgICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duU2VsZWN0aW9uRGlyZWN0aXZlXG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aURyb3Bkb3duXG4gICAgaW1wbGVtZW50cyBUdWlEcm9wZG93biwgT25EZXN0cm95XG57XG4gICAgcHJpdmF0ZSB2aXNpYmlsaXR5SGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8UmFuZ2U+ID0gQUxXQVlTX1RSVUVfSEFORExFUjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50UmVmOiBEb2N1bWVudDtcbiAgICBwcml2YXRlIGdob3N0PzogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSByYW5nZT86IFJhbmdlO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgdHVpRHJvcGRvd25TZWxlY3Rpb24oaGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8UmFuZ2U+IHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICghaGFuZGxlciB8fCAhdGhpcy5yYW5nZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5Ib3N0QW5kVmFsaWQgPVxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGhpcy5yYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lcikgJiZcbiAgICAgICAgICAgIGhhbmRsZXIodGhpcy5yYW5nZSk7XG5cbiAgICAgICAgdGhpcy52aXNpYmlsaXR5SGFuZGxlciA9IGhhbmRsZXI7XG4gICAgICAgIHRoaXMudG9nZ2xlRHJvcGRvd25Cb3goaW5Ib3N0QW5kVmFsaWQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgndHVpRHJvcGRvd25TZWxlY3Rpb25Qb3NpdGlvbicpXG4gICAgcG9zaXRpb246ICdzZWxlY3Rpb24nIHwgJ3dvcmQnIHwgJ3RhZycgPSAnc2VsZWN0aW9uJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudFJlZjogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKVxuICAgICAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgQEluamVjdChJbmplY3RvcikgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBASW5qZWN0KFR1aVBvcnRhbFNlcnZpY2UpIHBvcnRhbFNlcnZpY2U6IFR1aVBvcnRhbFNlcnZpY2UsXG4gICAgICAgIEBIb3N0KCkgQEluamVjdChFbGVtZW50UmVmKSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUdWlBY3RpdmVab25lRGlyZWN0aXZlKVxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBhY3RpdmVab25lOiBUdWlBY3RpdmVab25lRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfRE9DVU1FTlRfT1JfU0hBRE9XX1JPT1QpXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIHNoYWRvd1Jvb3RSZWY6IERvY3VtZW50IHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfRUxFTUVOVF9SRUYpXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIGN1c3RvbUVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUdWlEZXN0cm95U2VydmljZSlcbiAgICAgICAgZGVzdHJveSQ6IFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFR1aVBhcmVudHNTY3JvbGxTZXJ2aWNlKSByZWFkb25seSByZWZyZXNoJDogVHVpUGFyZW50c1Njcm9sbFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KE5nWm9uZSkgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgQEluamVjdChWaWV3Q29udGFpbmVyUmVmKSBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKFxuICAgICAgICAgICAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICAgICAgaW5qZWN0b3IsXG4gICAgICAgICAgICBwb3J0YWxTZXJ2aWNlLFxuICAgICAgICAgICAgY3VzdG9tRWxlbWVudFJlZiB8fCBlbGVtZW50UmVmLFxuICAgICAgICAgICAgYWN0aXZlWm9uZSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudFJlZiA9IHNoYWRvd1Jvb3RSZWYgfHwgZG9jdW1lbnRSZWY7XG5cbiAgICAgICAgLy8gU1NSIHByb3RlY3Rpb25cbiAgICAgICAgaWYgKCF0aGlzLmRvY3VtZW50UmVmLmNyZWF0ZVJhbmdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJhbmdlID0gdGhpcy5kb2N1bWVudFJlZi5jcmVhdGVSYW5nZSgpO1xuXG4gICAgICAgIGNvbnN0IHtuYXRpdmVFbGVtZW50fSA9IHRoaXMuZWxlbWVudFJlZjtcblxuICAgICAgICBtZXJnZShcbiAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jdW1lbnRSZWYsICdtb3VzZXVwJyksXG4gICAgICAgICAgICB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJykucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXBUbyhcbiAgICAgICAgICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ21vdXNlbW92ZScpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodHlwZWRGcm9tRXZlbnQodGhpcy5kb2N1bWVudFJlZiwgJ21vdXNldXAnKSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAna2V5dXAnKSxcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gZ2V0TmF0aXZlRm9jdXNlZCh0aGlzLmRvY3VtZW50UmVmKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gdGhpcy5kb2N1bWVudFJlZi5nZXRTZWxlY3Rpb24oKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBpZnJhbWUgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAoYWN0aXZlIGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZSBpbnN0YW5jZW9mIEhUTUxUZXh0QXJlYUVsZW1lbnQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVFbGVtZW50LmNvbnRhaW5zKGFjdGl2ZSlcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy52ZXJ5VmVyeVNhZElucHV0Rml4KGFjdGl2ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0aW9uICYmIHNlbGVjdGlvbi5yYW5nZUNvdW50XG4gICAgICAgICAgICAgICAgICAgICAgICA/IHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMucmFuZ2U7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmFuZ2UgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lZCA9XG4gICAgICAgICAgICAgICAgICAgICEhcmFuZ2UgJiYgbmF0aXZlRWxlbWVudC5jb250YWlucyhyYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lcik7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnJhbmdlID0gY29udGFpbmVkID8gcmFuZ2UgOiB0aGlzLnJhbmdlO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsaWQgPVxuICAgICAgICAgICAgICAgICAgICBjb250YWluZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgKCF0aGlzLnZpc2liaWxpdHlIYW5kbGVyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy5yYW5nZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmlsaXR5SGFuZGxlcih0aGlzLnJhbmdlKSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZURyb3Bkb3duQm94KCEhcmFuZ2UgJiYgKHZhbGlkIHx8IHRoaXMuaW5Ecm9wZG93bihyYW5nZSkpKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBjbGllbnRSZWN0KCk6IENsaWVudFJlY3Qge1xuICAgICAgICBjb25zdCB7ZGVmYXVsdFZpZXd9ID0gdGhpcy5kb2N1bWVudFJlZjtcbiAgICAgICAgY29uc3Qge3JhbmdlUmVjdH0gPSB0aGlzO1xuICAgICAgICBjb25zdCBmcmFtZUVsZW1lbnQgPSBkZWZhdWx0VmlldyA/IGRlZmF1bHRWaWV3LmZyYW1lRWxlbWVudCA6IG51bGw7XG5cbiAgICAgICAgaWYgKCFmcmFtZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiByYW5nZVJlY3Q7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkb2N1bWVudFJlY3QgPSBmcmFtZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRvcDogcmFuZ2VSZWN0LnRvcCArIGRvY3VtZW50UmVjdC50b3AsXG4gICAgICAgICAgICBsZWZ0OiByYW5nZVJlY3QubGVmdCArIGRvY3VtZW50UmVjdC5sZWZ0LFxuICAgICAgICAgICAgcmlnaHQ6IHJhbmdlUmVjdC5sZWZ0ICsgZG9jdW1lbnRSZWN0LmxlZnQgKyByYW5nZVJlY3Qud2lkdGgsXG4gICAgICAgICAgICBib3R0b206IHJhbmdlUmVjdC50b3AgKyBkb2N1bWVudFJlY3QudG9wICsgcmFuZ2VSZWN0LmhlaWdodCxcbiAgICAgICAgICAgIHdpZHRoOiByYW5nZVJlY3Qud2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IHJhbmdlUmVjdC5oZWlnaHQsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bkJveCgpO1xuXG4gICAgICAgIGlmICh0aGlzLmdob3N0KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKFxuICAgICAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgdGhpcy5naG9zdCxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBnZXQgQ2xpZW50UmVjdCBvZiBjdXJyZW50IFJhbmdlIGFjY29yZGluZyB0byBwcm92aWRlZCBwb3NpdGlvblxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IHJhbmdlUmVjdCgpOiBDbGllbnRSZWN0IHtcbiAgICAgICAgaWYgKCF0aGlzLnJhbmdlKSB7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFlfUkVDVDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAodGhpcy5wb3NpdGlvbikge1xuICAgICAgICAgICAgY2FzZSAndGFnJzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IHtjb21tb25BbmNlc3RvckNvbnRhaW5lcn0gPSB0aGlzLnJhbmdlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPVxuICAgICAgICAgICAgICAgICAgICBjb21tb25BbmNlc3RvckNvbnRhaW5lci5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREVcbiAgICAgICAgICAgICAgICAgICAgICAgID8gY29tbW9uQW5jZXN0b3JDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29tbW9uQW5jZXN0b3JDb250YWluZXIucGFyZW50Tm9kZTtcblxuICAgICAgICAgICAgICAgIHJldHVybiAoZWxlbWVudCBhcyBFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ3dvcmQnOlxuICAgICAgICAgICAgICAgIHJldHVybiBnZXRXb3JkUmFuZ2UodGhpcy5yYW5nZSkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJhbmdlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVG9nZ2xlIGRyb3Bkb3duIHZpc2liaWxpdHkgKGhhcyB0byBiZSBpbiBuZ1pvbmUucnVuIGJlY2F1c2UgaXQgY291bGQgYmUgaW5pdGlhdGVkIGluc2lkZSBpZnJhbWUgaW4gRWRpdG9yKVxuICAgICAqL1xuICAgIHByaXZhdGUgdG9nZ2xlRHJvcGRvd25Cb3godmlzaWJsZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHZpc2libGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bkJveCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd25Cb3goKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgTm9kZSBpcyBpbnNpZGUgZHJvcGRvd25cbiAgICAgKi9cbiAgICBwcml2YXRlIGJveENvbnRhaW5zKG5vZGU6IE5vZGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhdGhpcy5kcm9wZG93bkJveFJlZiAmJlxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkJveFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKG5vZGUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgZ2l2ZW4gcmFuZ2UgaXMgYXQgbGVhc3QgcGFydGlhbGx5IGluc2lkZSBkcm9wZG93blxuICAgICAqL1xuICAgIHByaXZhdGUgaW5Ecm9wZG93bihyYW5nZTogUmFuZ2UpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3N0YXJ0Q29udGFpbmVyLCBlbmRDb250YWluZXJ9ID0gcmFuZ2U7XG4gICAgICAgIGNvbnN0IGluRHJvcGRvd24gPSB0aGlzLmJveENvbnRhaW5zKHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKTtcbiAgICAgICAgY29uc3QgaG9zdFRvRHJvcGRvd24gPVxuICAgICAgICAgICAgdGhpcy5ib3hDb250YWlucyhlbmRDb250YWluZXIpICYmXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhzdGFydENvbnRhaW5lcik7XG4gICAgICAgIGNvbnN0IGRyb3Bkb3duVG9Ib3N0ID1cbiAgICAgICAgICAgIHRoaXMuYm94Q29udGFpbnMoc3RhcnRDb250YWluZXIpICYmXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhlbmRDb250YWluZXIpO1xuXG4gICAgICAgIHJldHVybiBpbkRyb3Bkb3duIHx8IGhvc3RUb0Ryb3Bkb3duIHx8IGRyb3Bkb3duVG9Ib3N0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIGludmlzaWJsZSBESVYgYW5kIGNyZWF0ZSBSYW5nZSBzaW1pbGFyIHRvIHNlbGVjdGVkIHJhbmdlIGluc2lkZSBpbnB1dC90ZXh0YXJlYVxuICAgICAqL1xuICAgIHByaXZhdGUgdmVyeVZlcnlTYWRJbnB1dEZpeChlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCk6IFJhbmdlIHtcbiAgICAgICAgY29uc3Qge2dob3N0ID0gdGhpcy5pbml0R2hvc3QoZWxlbWVudCl9ID0gdGhpcztcbiAgICAgICAgY29uc3Qge3RvcCwgbGVmdCwgd2lkdGgsIGhlaWdodH0gPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB7c2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVuZH0gPSBlbGVtZW50O1xuICAgICAgICBjb25zdCByYW5nZSA9IHRoaXMuZG9jdW1lbnRSZWYuY3JlYXRlUmFuZ2UoKTtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBnaG9zdC5zdHlsZS50b3AgPSBweCh0b3AgLSBob3N0UmVjdC50b3ApO1xuICAgICAgICBnaG9zdC5zdHlsZS5sZWZ0ID0gcHgobGVmdCAtIGhvc3RSZWN0LmxlZnQpO1xuICAgICAgICBnaG9zdC5zdHlsZS53aWR0aCA9IHB4KHdpZHRoKTtcbiAgICAgICAgZ2hvc3Quc3R5bGUuaGVpZ2h0ID0gcHgoaGVpZ2h0KTtcbiAgICAgICAgZ2hvc3QudGV4dENvbnRlbnQgPSBDSEFSX1pFUk9fV0lEVEhfU1BBQ0UgKyBlbGVtZW50LnZhbHVlICsgQ0hBUl9OT19CUkVBS19TUEFDRTtcblxuICAgICAgICByYW5nZS5zZXRTdGFydChnaG9zdC5maXJzdENoaWxkISwgc2VsZWN0aW9uU3RhcnQgfHwgMCk7XG4gICAgICAgIHJhbmdlLnNldEVuZChnaG9zdC5maXJzdENoaWxkISwgc2VsZWN0aW9uRW5kIHx8IDApO1xuXG4gICAgICAgIHJldHVybiByYW5nZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYW4gaW52aXNpYmxlIERJViBzdHlsZWQgZXhhY3RseSBsaWtlIGlucHV0L3RleHRhcmVhIGVsZW1lbnQgaW5zaWRlIGRpcmVjdGl2ZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW5pdEdob3N0KGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCBnaG9zdCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVFbGVtZW50fSA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5lbGVtZW50O1xuICAgICAgICBjb25zdCB7Zm9udCwgbGV0dGVyU3BhY2luZywgdGV4dFRyYW5zZm9ybSwgcGFkZGluZ30gPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuXG4gICAgICAgIGdob3N0LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgZ2hvc3Quc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJztcbiAgICAgICAgZ2hvc3Quc3R5bGUub3BhY2l0eSA9ICcwJztcbiAgICAgICAgZ2hvc3Quc3R5bGUud2hpdGVTcGFjZSA9ICdwcmUtd3JhcCc7XG4gICAgICAgIGdob3N0LnN0eWxlLmZvbnQgPSBmb250O1xuICAgICAgICBnaG9zdC5zdHlsZS5sZXR0ZXJTcGFjaW5nID0gbGV0dGVyU3BhY2luZztcbiAgICAgICAgZ2hvc3Quc3R5bGUudGV4dFRyYW5zZm9ybSA9IHRleHRUcmFuc2Zvcm07XG4gICAgICAgIGdob3N0LnN0eWxlLnBhZGRpbmcgPSBwYWRkaW5nO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQobmF0aXZlRWxlbWVudCwgZ2hvc3QpO1xuICAgICAgICB0aGlzLmdob3N0ID0gZ2hvc3Q7XG5cbiAgICAgICAgcmV0dXJuIGdob3N0O1xuICAgIH1cbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
1
  export * from './lazy-loading.directive';
2
2
  export * from './lazy-loading.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMvbGF6eS1sb2FkaW5nLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYXp5LWxvYWRpbmcuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF6eS1sb2FkaW5nLm1vZHVsZSc7XG4iXX0=
3
+ export * from './lazy-loading.service';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMvbGF6eS1sb2FkaW5nLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xhenktbG9hZGluZy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXp5LWxvYWRpbmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF6eS1sb2FkaW5nLnNlcnZpY2UnO1xuIl19
@@ -2,5 +2,4 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './index';
5
- export { TuiLazyLoadingService as ɵa } from './lazy-loading.service';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWkta2l0LWRpcmVjdGl2ZXMtbGF6eS1sb2FkaW5nLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9kaXJlY3RpdmVzL2xhenktbG9hZGluZy8iLCJzb3VyY2VzIjpbInRhaWdhLXVpLWtpdC1kaXJlY3RpdmVzLWxhenktbG9hZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDO0FBRXhCLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCB7VHVpTGF6eUxvYWRpbmdTZXJ2aWNlIGFzIMm1YX0gZnJvbSAnLi9sYXp5LWxvYWRpbmcuc2VydmljZSc7Il19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWkta2l0LWRpcmVjdGl2ZXMtbGF6eS1sb2FkaW5nLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9kaXJlY3RpdmVzL2xhenktbG9hZGluZy8iLCJzb3VyY2VzIjpbInRhaWdhLXVpLWtpdC1kaXJlY3RpdmVzLWxhenktbG9hZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { AsyncPipe } from '@angular/common';
3
+ import { Inject, Injector, OnDestroy, Pipe, PipeTransform } from '@angular/core';
4
+ import { TuiFieldErrorPipe } from './field-error-pipe';
5
+ // @dynamic
6
+ let TuiFieldErrorContentPipe = class TuiFieldErrorContentPipe {
7
+ constructor(injector) {
8
+ this.injector = injector;
9
+ this.localInjector = Injector.create({
10
+ providers: [{ provide: AsyncPipe }, { provide: TuiFieldErrorPipe }],
11
+ parent: this.injector,
12
+ });
13
+ this.asyncPipe = this.localInjector.get(AsyncPipe);
14
+ this.fieldErrorPipe = this.localInjector.get(TuiFieldErrorPipe);
15
+ }
16
+ transform(order) {
17
+ var _a;
18
+ return (((_a = this.asyncPipe.transform(this.fieldErrorPipe.transform(order))) === null || _a === void 0 ? void 0 : _a.message) || '');
19
+ }
20
+ ngOnDestroy() {
21
+ this.asyncPipe.ngOnDestroy();
22
+ }
23
+ };
24
+ TuiFieldErrorContentPipe.ctorParameters = () => [
25
+ { type: Injector, decorators: [{ type: Inject, args: [Injector,] }] }
26
+ ];
27
+ TuiFieldErrorContentPipe = __decorate([
28
+ Pipe({
29
+ name: 'tuiFieldErrorContent',
30
+ pure: false,
31
+ }),
32
+ __param(0, Inject(Injector))
33
+ ], TuiFieldErrorContentPipe);
34
+ export { TuiFieldErrorContentPipe };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3ItY29udGVudC1waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9waXBlcy9maWVsZC1lcnJvci8iLCJzb3VyY2VzIjpbImZpZWxkLWVycm9yLWNvbnRlbnQtcGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRy9FLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXJELFdBQVc7QUFLWCxJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtJQVNqQyxZQUErQyxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBUmhELGtCQUFhLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUM3QyxTQUFTLEVBQUUsQ0FBQyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsRUFBRSxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBQyxDQUFDO1lBQy9ELE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDLENBQUM7UUFFYyxjQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsbUJBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRVIsQ0FBQztJQUVyRSxTQUFTLENBQUMsS0FBNEI7O1FBQ2xDLE9BQU8sQ0FDSCxPQUFBLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLDBDQUFFLE9BQU8sS0FBSSxFQUFFLENBQ2hGLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQztDQUNKLENBQUE7O1lBWDRELFFBQVEsdUJBQXBELE1BQU0sU0FBQyxRQUFROztBQVRuQix3QkFBd0I7SUFKcEMsSUFBSSxDQUFDO1FBQ0YsSUFBSSxFQUFFLHNCQUFzQjtRQUM1QixJQUFJLEVBQUUsS0FBSztLQUNkLENBQUM7SUFVZSxXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtHQVRwQix3QkFBd0IsQ0FvQnBDO1NBcEJZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdG9yLCBPbkRlc3Ryb3ksIFBpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aUZpZWxkRXJyb3JQaXBlfSBmcm9tICcuL2ZpZWxkLWVycm9yLXBpcGUnO1xuXG4vLyBAZHluYW1pY1xuQFBpcGUoe1xuICAgIG5hbWU6ICd0dWlGaWVsZEVycm9yQ29udGVudCcsXG4gICAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUZpZWxkRXJyb3JDb250ZW50UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhbEluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IEFzeW5jUGlwZX0sIHtwcm92aWRlOiBUdWlGaWVsZEVycm9yUGlwZX1dLFxuICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGFzeW5jUGlwZSA9IHRoaXMubG9jYWxJbmplY3Rvci5nZXQoQXN5bmNQaXBlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkRXJyb3JQaXBlID0gdGhpcy5sb2NhbEluamVjdG9yLmdldChUdWlGaWVsZEVycm9yUGlwZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KEluamVjdG9yKSBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICAgIHRyYW5zZm9ybShvcmRlcjogUmVhZG9ubHlBcnJheTxzdHJpbmc+KTogUG9seW1vcnBoZXVzQ29udGVudCB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmFzeW5jUGlwZS50cmFuc2Zvcm0odGhpcy5maWVsZEVycm9yUGlwZS50cmFuc2Zvcm0ob3JkZXIpKT8ubWVzc2FnZSB8fCAnJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmFzeW5jUGlwZS5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,120 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { Inject, Optional, Pipe, Self } from '@angular/core';
3
+ import { AbstractControl, FormArrayName, FormGroupDirective, FormGroupName, NgControl, } from '@angular/forms';
4
+ import { tuiPure, TuiValidationError } from '@taiga-ui/cdk';
5
+ import { TUI_VALIDATION_ERRORS } from '@taiga-ui/kit/tokens';
6
+ import { EMPTY, isObservable, merge, of } from 'rxjs';
7
+ import { map } from 'rxjs/operators';
8
+ const EMPTY_RECORD = {};
9
+ // @dynamic
10
+ let TuiFieldErrorPipe = class TuiFieldErrorPipe {
11
+ constructor(ngControl, formArrayName, formGroupName, formGroup, validationErrors) {
12
+ this.ngControl = ngControl;
13
+ this.formArrayName = formArrayName;
14
+ this.formGroupName = formGroupName;
15
+ this.formGroup = formGroup;
16
+ this.validationErrors = validationErrors;
17
+ this.order = [];
18
+ if (this.ngControl && !this.ngControl.valueAccessor) {
19
+ this.ngControl.valueAccessor = this;
20
+ }
21
+ }
22
+ transform(order) {
23
+ this.order = order;
24
+ return this.computedError;
25
+ }
26
+ get change$() {
27
+ var _a, _b;
28
+ return merge(((_a = this.control) === null || _a === void 0 ? void 0 : _a.valueChanges) || EMPTY, ((_b = this.control) === null || _b === void 0 ? void 0 : _b.statusChanges) || EMPTY);
29
+ }
30
+ get computedError() {
31
+ return (this.invalid && this.touched && this.error) || of(null);
32
+ }
33
+ registerOnChange() { }
34
+ registerOnTouched() { }
35
+ setDisabledState() { }
36
+ writeValue() { }
37
+ get error() {
38
+ const { errorId } = this;
39
+ if (!errorId) {
40
+ return null;
41
+ }
42
+ const firstError = this.controlErrors[errorId];
43
+ const errorContent = this.validationErrors[errorId];
44
+ return this.getError(firstError, errorContent);
45
+ }
46
+ get invalid() {
47
+ var _a;
48
+ return !!((_a = this.control) === null || _a === void 0 ? void 0 : _a.invalid);
49
+ }
50
+ get touched() {
51
+ var _a;
52
+ return !!((_a = this.control) === null || _a === void 0 ? void 0 : _a.touched);
53
+ }
54
+ get control() {
55
+ var _a, _b, _c, _d;
56
+ return (((_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.control) || ((_b = this.formArrayName) === null || _b === void 0 ? void 0 : _b.control) || ((_c = this.formGroupName) === null || _c === void 0 ? void 0 : _c.control) || ((_d = this.formGroup) === null || _d === void 0 ? void 0 : _d.control) ||
57
+ null);
58
+ }
59
+ get errorId() {
60
+ return this.getErrorId(this.order, this.controlErrors);
61
+ }
62
+ get controlErrors() {
63
+ var _a;
64
+ return ((_a = this.control) === null || _a === void 0 ? void 0 : _a.errors) || EMPTY_RECORD;
65
+ }
66
+ getErrorId(order, controlErrors) {
67
+ const id = order === null || order === void 0 ? void 0 : order.find(errorId => controlErrors[errorId]);
68
+ const fallback = Object.keys(controlErrors)[0];
69
+ return id || fallback || '';
70
+ }
71
+ getError(firstError, errorContent) {
72
+ if (firstError instanceof TuiValidationError) {
73
+ return of(firstError);
74
+ }
75
+ if (errorContent === undefined && typeof firstError === 'string') {
76
+ return of(new TuiValidationError(firstError));
77
+ }
78
+ if (isObservable(errorContent)) {
79
+ return errorContent.pipe(map(error => new TuiValidationError(error || '', firstError)));
80
+ }
81
+ return of(new TuiValidationError(errorContent || '', firstError));
82
+ }
83
+ };
84
+ TuiFieldErrorPipe.ctorParameters = () => [
85
+ { type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] },
86
+ { type: FormArrayName, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [FormArrayName,] }] },
87
+ { type: FormGroupName, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [FormGroupName,] }] },
88
+ { type: FormGroupDirective, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [FormGroupDirective,] }] },
89
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_VALIDATION_ERRORS,] }] }
90
+ ];
91
+ __decorate([
92
+ tuiPure
93
+ ], TuiFieldErrorPipe.prototype, "change$", null);
94
+ __decorate([
95
+ tuiPure
96
+ ], TuiFieldErrorPipe.prototype, "getErrorId", null);
97
+ __decorate([
98
+ tuiPure
99
+ ], TuiFieldErrorPipe.prototype, "getError", null);
100
+ TuiFieldErrorPipe = __decorate([
101
+ Pipe({
102
+ name: 'tuiFieldError',
103
+ pure: false,
104
+ }),
105
+ __param(0, Optional()),
106
+ __param(0, Self()),
107
+ __param(0, Inject(NgControl)),
108
+ __param(1, Optional()),
109
+ __param(1, Self()),
110
+ __param(1, Inject(FormArrayName)),
111
+ __param(2, Optional()),
112
+ __param(2, Self()),
113
+ __param(2, Inject(FormGroupName)),
114
+ __param(3, Optional()),
115
+ __param(3, Self()),
116
+ __param(3, Inject(FormGroupDirective)),
117
+ __param(4, Inject(TUI_VALIDATION_ERRORS))
118
+ ], TuiFieldErrorPipe);
119
+ export { TuiFieldErrorPipe };
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3ItcGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvcGlwZXMvZmllbGQtZXJyb3IvIiwic291cmNlcyI6WyJmaWVsZC1lcnJvci1waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQ0gsZUFBZSxFQUNmLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLFNBQVMsR0FDWixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsT0FBTyxFQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO0FBRXhCLFdBQVc7QUFLWCxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtJQUcxQixZQUlxQixTQUEyQixFQUkzQixhQUFtQyxFQUluQyxhQUFtQyxFQUluQyxTQUFvQyxFQUVwQyxnQkFHaEI7UUFqQmdCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBSTNCLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUluQyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFJbkMsY0FBUyxHQUFULFNBQVMsQ0FBMkI7UUFFcEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUdoQztRQXZCRyxVQUFLLEdBQTBCLEVBQUUsQ0FBQztRQXlCdEMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVB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RUFBRSxDQUFBO0lBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtJQUNOLFdBQUEsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBRXJCLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLElBQUksRUFBRSxDQUFBO0lBQ04sV0FBQSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUUxQixXQUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0dBcEJ6QixpQkFBaUIsQ0FnSTdCO1NBaElZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBPcHRpb25hbCwgUGlwZSwgUGlwZVRyYW5zZm9ybSwgU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0Q29udHJvbCxcbiAgICBGb3JtQXJyYXlOYW1lLFxuICAgIEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgICBGb3JtR3JvdXBOYW1lLFxuICAgIE5nQ29udHJvbCxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHt0dWlQdXJlLCBUdWlWYWxpZGF0aW9uRXJyb3J9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfVkFMSURBVElPTl9FUlJPUlN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7RU1QVFksIGlzT2JzZXJ2YWJsZSwgbWVyZ2UsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IEVNUFRZX1JFQ09SRCA9IHt9O1xuXG4vLyBAZHluYW1pY1xuQFBpcGUoe1xuICAgIG5hbWU6ICd0dWlGaWVsZEVycm9yJyxcbiAgICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRmllbGRFcnJvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwcml2YXRlIG9yZGVyOiBSZWFkb25seUFycmF5PHN0cmluZz4gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5nQ29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KEZvcm1BcnJheU5hbWUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUFycmF5TmFtZTogRm9ybUFycmF5TmFtZSB8IG51bGwsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChGb3JtR3JvdXBOYW1lKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1Hcm91cE5hbWU6IEZvcm1Hcm91cE5hbWUgfCBudWxsLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoRm9ybUdyb3VwRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1Hcm91cDogRm9ybUdyb3VwRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfVkFMSURBVElPTl9FUlJPUlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsaWRhdGlvbkVycm9yczogUmVjb3JkPFxuICAgICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgICAgUG9seW1vcnBoZXVzQ29udGVudCB8IE9ic2VydmFibGU8UG9seW1vcnBoZXVzQ29udGVudD5cbiAgICAgICAgPixcbiAgICApIHtcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sICYmICF0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRyYW5zZm9ybShvcmRlcjogUmVhZG9ubHlBcnJheTxzdHJpbmc+KTogT2JzZXJ2YWJsZTxUdWlWYWxpZGF0aW9uRXJyb3IgfCBudWxsPiB7XG4gICAgICAgIHRoaXMub3JkZXIgPSBvcmRlcjtcblxuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlZEVycm9yO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IGNoYW5nZSQoKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgICAgIHRoaXMuY29udHJvbD8udmFsdWVDaGFuZ2VzIHx8IEVNUFRZLFxuICAgICAgICAgICAgdGhpcy5jb250cm9sPy5zdGF0dXNDaGFuZ2VzIHx8IEVNUFRZLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZEVycm9yKCk6IE9ic2VydmFibGU8VHVpVmFsaWRhdGlvbkVycm9yIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuaW52YWxpZCAmJiB0aGlzLnRvdWNoZWQgJiYgdGhpcy5lcnJvcikgfHwgb2YobnVsbCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZSgpIHt9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZCgpIHt9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKCkge31cblxuICAgIHdyaXRlVmFsdWUoKSB7fVxuXG4gICAgcHJpdmF0ZSBnZXQgZXJyb3IoKTogT2JzZXJ2YWJsZTxUdWlWYWxpZGF0aW9uRXJyb3I+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtlcnJvcklkfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCFlcnJvcklkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpcnN0RXJyb3IgPSB0aGlzLmNvbnRyb2xFcnJvcnNbZXJyb3JJZF07XG4gICAgICAgIGNvbnN0IGVycm9yQ29udGVudCA9IHRoaXMudmFsaWRhdGlvbkVycm9yc1tlcnJvcklkXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRFcnJvcihmaXJzdEVycm9yLCBlcnJvckNvbnRlbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY29udHJvbD8uaW52YWxpZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB0b3VjaGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmNvbnRyb2w/LnRvdWNoZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sIHx8XG4gICAgICAgICAgICB0aGlzLmZvcm1BcnJheU5hbWU/LmNvbnRyb2wgfHxcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwTmFtZT8uY29udHJvbCB8fFxuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXA/LmNvbnRyb2wgfHxcbiAgICAgICAgICAgIG51bGxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBlcnJvcklkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEVycm9ySWQodGhpcy5vcmRlciwgdGhpcy5jb250cm9sRXJyb3JzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjb250cm9sRXJyb3JzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sPy5lcnJvcnMgfHwgRU1QVFlfUkVDT1JEO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXRFcnJvcklkKFxuICAgICAgICBvcmRlcjogcmVhZG9ubHkgc3RyaW5nW10sXG4gICAgICAgIGNvbnRyb2xFcnJvcnM6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaWQgPSBvcmRlcj8uZmluZChlcnJvcklkID0+IGNvbnRyb2xFcnJvcnNbZXJyb3JJZF0pO1xuICAgICAgICBjb25zdCBmYWxsYmFjayA9IE9iamVjdC5rZXlzKGNvbnRyb2xFcnJvcnMpWzBdO1xuXG4gICAgICAgIHJldHVybiBpZCB8fCBmYWxsYmFjayB8fCAnJztcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0RXJyb3IoXG4gICAgICAgIGZpcnN0RXJyb3I6IGFueSxcbiAgICAgICAgZXJyb3JDb250ZW50PzogUG9seW1vcnBoZXVzQ29udGVudCB8IE9ic2VydmFibGU8UG9seW1vcnBoZXVzQ29udGVudD4sXG4gICAgKTogT2JzZXJ2YWJsZTxUdWlWYWxpZGF0aW9uRXJyb3I+IHtcbiAgICAgICAgaWYgKGZpcnN0RXJyb3IgaW5zdGFuY2VvZiBUdWlWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihmaXJzdEVycm9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvckNvbnRlbnQgPT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgZmlyc3RFcnJvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihuZXcgVHVpVmFsaWRhdGlvbkVycm9yKGZpcnN0RXJyb3IpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc09ic2VydmFibGUoZXJyb3JDb250ZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yQ29udGVudC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChlcnJvciA9PiBuZXcgVHVpVmFsaWRhdGlvbkVycm9yKGVycm9yIHx8ICcnLCBmaXJzdEVycm9yKSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9mKG5ldyBUdWlWYWxpZGF0aW9uRXJyb3IoZXJyb3JDb250ZW50IHx8ICcnLCBmaXJzdEVycm9yKSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,14 @@
1
+ import { __decorate } from "tslib";
2
+ import { NgModule } from '@angular/core';
3
+ import { TuiFieldErrorContentPipe } from './field-error-content-pipe';
4
+ import { TuiFieldErrorPipe } from './field-error-pipe';
5
+ let TuiFieldErrorPipeModule = class TuiFieldErrorPipeModule {
6
+ };
7
+ TuiFieldErrorPipeModule = __decorate([
8
+ NgModule({
9
+ declarations: [TuiFieldErrorPipe, TuiFieldErrorContentPipe],
10
+ exports: [TuiFieldErrorPipe, TuiFieldErrorContentPipe],
11
+ })
12
+ ], TuiFieldErrorPipeModule);
13
+ export { TuiFieldErrorPipeModule };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9waXBlcy9maWVsZC1lcnJvci8iLCJzb3VyY2VzIjpbImZpZWxkLWVycm9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQU1yRCxJQUFhLHVCQUF1QixHQUFwQyxNQUFhLHVCQUF1QjtDQUFHLENBQUE7QUFBMUIsdUJBQXVCO0lBSm5DLFFBQVEsQ0FBQztRQUNOLFlBQVksRUFBRSxDQUFDLGlCQUFpQixFQUFFLHdCQUF3QixDQUFDO1FBQzNELE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLHdCQUF3QixDQUFDO0tBQ3pELENBQUM7R0FDVyx1QkFBdUIsQ0FBRztTQUExQix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtUdWlGaWVsZEVycm9yQ29udGVudFBpcGV9IGZyb20gJy4vZmllbGQtZXJyb3ItY29udGVudC1waXBlJztcbmltcG9ydCB7VHVpRmllbGRFcnJvclBpcGV9IGZyb20gJy4vZmllbGQtZXJyb3ItcGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbVHVpRmllbGRFcnJvclBpcGUsIFR1aUZpZWxkRXJyb3JDb250ZW50UGlwZV0sXG4gICAgZXhwb3J0czogW1R1aUZpZWxkRXJyb3JQaXBlLCBUdWlGaWVsZEVycm9yQ29udGVudFBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlGaWVsZEVycm9yUGlwZU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './field-error.module';
2
+ export * from './field-error-content-pipe';
3
+ export * from './field-error-pipe';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L3BpcGVzL2ZpZWxkLWVycm9yLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpZWxkLWVycm9yLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkLWVycm9yLWNvbnRlbnQtcGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkLWVycm9yLXBpcGUnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWkta2l0LXBpcGVzLWZpZWxkLWVycm9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9waXBlcy9maWVsZC1lcnJvci8iLCJzb3VyY2VzIjpbInRhaWdhLXVpLWtpdC1waXBlcy1maWVsZC1lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,4 +1,5 @@
1
+ export * from '@taiga-ui/kit/pipes/field-error';
1
2
  export * from '@taiga-ui/kit/pipes/filter-by-input';
2
3
  export * from '@taiga-ui/kit/pipes/stringify';
3
4
  export * from '@taiga-ui/kit/pipes/stringify-content';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L3BpcGVzLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L3BpcGVzL2ZpbHRlci1ieS1pbnB1dCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L3BpcGVzL3N0cmluZ2lmeSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L3BpcGVzL3N0cmluZ2lmeS1jb250ZW50JztcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L3BpcGVzLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvcGlwZXMvZmllbGQtZXJyb3InO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9waXBlcy9maWx0ZXItYnktaW5wdXQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9waXBlcy9zdHJpbmdpZnknO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9waXBlcy9zdHJpbmdpZnktY29udGVudCc7XG4iXX0=
@@ -1,3 +1,4 @@
1
+ export * from './month-formatter.provider';
1
2
  export * from './specific-dropdown-controllers';
2
3
  export * from './value-accessor.provider';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L3Byb3ZpZGVycy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3BlY2lmaWMtZHJvcGRvd24tY29udHJvbGxlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi92YWx1ZS1hY2Nlc3Nvci5wcm92aWRlcic7XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L3Byb3ZpZGVycy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb250aC1mb3JtYXR0ZXIucHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zcGVjaWZpYy1kcm9wZG93bi1jb250cm9sbGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3ZhbHVlLWFjY2Vzc29yLnByb3ZpZGVyJztcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { TuiMonthPipe } from '@taiga-ui/core';
2
+ import { TUI_MONTH_FORMATTER } from '@taiga-ui/kit/tokens';
3
+ import { of } from 'rxjs';
4
+ import { map } from 'rxjs/operators';
5
+ export const TUI_MONTH_FORMATTER_PROVIDER = {
6
+ provide: TUI_MONTH_FORMATTER,
7
+ deps: [TuiMonthPipe],
8
+ useFactory: monthFormatterFactory,
9
+ };
10
+ export function monthFormatterFactory(pipe) {
11
+ return month => month
12
+ ? pipe
13
+ .transform(month)
14
+ .pipe(map(formatted => `${formatted} ${month.formattedYear}`))
15
+ : of('');
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtZm9ybWF0dGVyLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9wcm92aWRlcnMvIiwic291cmNlcyI6WyJtb250aC1mb3JtYXR0ZXIucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFvQjtJQUN6RCxPQUFPLEVBQUUsbUJBQW1CO0lBQzVCLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQztJQUNwQixVQUFVLEVBQUUscUJBQXFCO0NBQ3BDLENBQUM7QUFFRixNQUFNLFVBQVUscUJBQXFCLENBQ2pDLElBQWtCO0lBRWxCLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FDWCxLQUFLO1FBQ0QsQ0FBQyxDQUFDLElBQUk7YUFDQyxTQUFTLENBQUMsS0FBSyxDQUFDO2FBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ZhY3RvcnlQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUhhbmRsZXIsIFR1aU1vbnRofSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpTW9udGhQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1RVSV9NT05USF9GT1JNQVRURVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IFRVSV9NT05USF9GT1JNQVRURVJfUFJPVklERVI6IEZhY3RvcnlQcm92aWRlciA9IHtcbiAgICBwcm92aWRlOiBUVUlfTU9OVEhfRk9STUFUVEVSLFxuICAgIGRlcHM6IFtUdWlNb250aFBpcGVdLFxuICAgIHVzZUZhY3Rvcnk6IG1vbnRoRm9ybWF0dGVyRmFjdG9yeSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBtb250aEZvcm1hdHRlckZhY3RvcnkoXG4gICAgcGlwZTogVHVpTW9udGhQaXBlLFxuKTogVHVpSGFuZGxlcjxUdWlNb250aCB8IG51bGwsIE9ic2VydmFibGU8c3RyaW5nPj4ge1xuICAgIHJldHVybiBtb250aCA9PlxuICAgICAgICBtb250aFxuICAgICAgICAgICAgPyBwaXBlXG4gICAgICAgICAgICAgICAgICAudHJhbnNmb3JtKG1vbnRoKVxuICAgICAgICAgICAgICAgICAgLnBpcGUobWFwKGZvcm1hdHRlZCA9PiBgJHtmb3JtYXR0ZWR9ICR7bW9udGguZm9ybWF0dGVkWWVhcn1gKSlcbiAgICAgICAgICAgIDogb2YoJycpO1xufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { Optional, Self } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { TUI_VALUE_ACCESSOR } from '@taiga-ui/core/tokens';
3
+ import { TUI_VALUE_ACCESSOR } from '@taiga-ui/core';
4
4
  import { identity } from 'rxjs';
5
5
  // TODO: remove in ivy compilation
6
6
  export const IDENTITY = identity;
@@ -9,4 +9,4 @@ export const TUI_VALUE_ACCESSOR_PROVIDER = {
9
9
  deps: [[new Optional(), new Self(), NG_VALUE_ACCESSOR]],
10
10
  useFactory: IDENTITY,
11
11
  };
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtYWNjZXNzb3IucHJvdmlkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L3Byb3ZpZGVycy8iLCJzb3VyY2VzIjpbInZhbHVlLWFjY2Vzc29yLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTlCLGtDQUFrQztBQUNsQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFvQjtJQUN4RCxPQUFPLEVBQUUsa0JBQWtCO0lBQzNCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDdkQsVUFBVSxFQUFFLFFBQVE7Q0FDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmFjdG9yeVByb3ZpZGVyLCBPcHRpb25hbCwgU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RVSV9WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7aWRlbnRpdHl9IGZyb20gJ3J4anMnO1xuXG4vLyBUT0RPOiByZW1vdmUgaW4gaXZ5IGNvbXBpbGF0aW9uXG5leHBvcnQgY29uc3QgSURFTlRJVFkgPSBpZGVudGl0eTtcblxuZXhwb3J0IGNvbnN0IFRVSV9WQUxVRV9BQ0NFU1NPUl9QUk9WSURFUjogRmFjdG9yeVByb3ZpZGVyID0ge1xuICAgIHByb3ZpZGU6IFRVSV9WQUxVRV9BQ0NFU1NPUixcbiAgICBkZXBzOiBbW25ldyBPcHRpb25hbCgpLCBuZXcgU2VsZigpLCBOR19WQUxVRV9BQ0NFU1NPUl1dLFxuICAgIHVzZUZhY3Rvcnk6IElERU5USVRZLFxufTtcbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtYWNjZXNzb3IucHJvdmlkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L3Byb3ZpZGVycy8iLCJzb3VyY2VzIjpbInZhbHVlLWFjY2Vzc29yLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTlCLGtDQUFrQztBQUNsQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFvQjtJQUN4RCxPQUFPLEVBQUUsa0JBQWtCO0lBQzNCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDdkQsVUFBVSxFQUFFLFFBQVE7Q0FDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmFjdG9yeVByb3ZpZGVyLCBPcHRpb25hbCwgU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RVSV9WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtpZGVudGl0eX0gZnJvbSAncnhqcyc7XG5cbi8vIFRPRE86IHJlbW92ZSBpbiBpdnkgY29tcGlsYXRpb25cbmV4cG9ydCBjb25zdCBJREVOVElUWSA9IGlkZW50aXR5O1xuXG5leHBvcnQgY29uc3QgVFVJX1ZBTFVFX0FDQ0VTU09SX1BST1ZJREVSOiBGYWN0b3J5UHJvdmlkZXIgPSB7XG4gICAgcHJvdmlkZTogVFVJX1ZBTFVFX0FDQ0VTU09SLFxuICAgIGRlcHM6IFtbbmV3IE9wdGlvbmFsKCksIG5ldyBTZWxmKCksIE5HX1ZBTFVFX0FDQ0VTU09SXV0sXG4gICAgdXNlRmFjdG9yeTogSURFTlRJVFksXG59O1xuIl19
@@ -1,8 +1,10 @@
1
1
  export * from './calendar-data-stream';
2
2
  export * from './date-inputs-value-transformers';
3
3
  export * from './i18n';
4
+ export * from './items-handlers';
4
5
  export * from './mobile-aware';
5
6
  export * from './mobile-calendar';
7
+ export * from './month-formatter';
6
8
  export * from './tag-status';
7
9
  export * from './validation-errors';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L3Rva2Vucy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXItZGF0YS1zdHJlYW0nO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLWlucHV0cy12YWx1ZS10cmFuc2Zvcm1lcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9pMThuJztcbmV4cG9ydCAqIGZyb20gJy4vbW9iaWxlLWF3YXJlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9iaWxlLWNhbGVuZGFyJztcbmV4cG9ydCAqIGZyb20gJy4vdGFnLXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRpb24tZXJyb3JzJztcbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L3Rva2Vucy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyLWRhdGEtc3RyZWFtJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS1pbnB1dHMtdmFsdWUtdHJhbnNmb3JtZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vaTE4bic7XG5leHBvcnQgKiBmcm9tICcuL2l0ZW1zLWhhbmRsZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9iaWxlLWF3YXJlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9iaWxlLWNhbGVuZGFyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9udGgtZm9ybWF0dGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdGFnLXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRpb24tZXJyb3JzJztcbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { ALWAYS_FALSE_HANDLER, TUI_DEFAULT_IDENTITY_MATCHER, TUI_DEFAULT_STRINGIFY, } from '@taiga-ui/cdk';
3
+ export const TUI_DEFAULT_ITEMS_HANDLERS = {
4
+ stringify: TUI_DEFAULT_STRINGIFY,
5
+ identityMatcher: TUI_DEFAULT_IDENTITY_MATCHER,
6
+ disabledItemHandler: ALWAYS_FALSE_HANDLER,
7
+ };
8
+ export const TUI_ITEMS_HANDLERS = new InjectionToken('Default items handlers for components', {
9
+ factory: () => TUI_DEFAULT_ITEMS_HANDLERS,
10
+ });
11
+ export const tuiItemsHandlersProvider = (options) => ({
12
+ provide: TUI_ITEMS_HANDLERS,
13
+ useValue: Object.assign(Object.assign({}, TUI_DEFAULT_ITEMS_HANDLERS), options),
14
+ });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMtaGFuZGxlcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L3Rva2Vucy8iLCJzb3VyY2VzIjpbIml0ZW1zLWhhbmRsZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsNEJBQTRCLEVBQzVCLHFCQUFxQixHQUl4QixNQUFNLGVBQWUsQ0FBQztBQVF2QixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBOEI7SUFDakUsU0FBUyxFQUFFLHFCQUFxQjtJQUNoQyxlQUFlLEVBQUUsNEJBQTRCO0lBQzdDLG1CQUFtQixFQUFFLG9CQUFvQjtDQUM1QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQ2hELHVDQUF1QyxFQUN2QztJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQywwQkFBMEI7Q0FDNUMsQ0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBRWhCLENBQUksT0FBcUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRSxPQUFPLEVBQUUsa0JBQWtCO0lBQzNCLFFBQVEsa0NBQU0sMEJBQTBCLEdBQUssT0FBTyxDQUFDO0NBQ3hELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW4sIFZhbHVlUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBUVUlfREVGQVVMVF9JREVOVElUWV9NQVRDSEVSLFxuICAgIFRVSV9ERUZBVUxUX1NUUklOR0lGWSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlJZGVudGl0eU1hdGNoZXIsXG4gICAgVHVpU3RyaW5nSGFuZGxlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpSXRlbXNIYW5kbGVyczxUPiB7XG4gICAgcmVhZG9ubHkgc3RyaW5naWZ5OiBUdWlTdHJpbmdIYW5kbGVyPFQ+O1xuICAgIHJlYWRvbmx5IGlkZW50aXR5TWF0Y2hlcjogVHVpSWRlbnRpdHlNYXRjaGVyPFQ+O1xuICAgIHJlYWRvbmx5IGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFQ+O1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0RFRkFVTFRfSVRFTVNfSEFORExFUlM6IFR1aUl0ZW1zSGFuZGxlcnM8dW5rbm93bj4gPSB7XG4gICAgc3RyaW5naWZ5OiBUVUlfREVGQVVMVF9TVFJJTkdJRlksXG4gICAgaWRlbnRpdHlNYXRjaGVyOiBUVUlfREVGQVVMVF9JREVOVElUWV9NQVRDSEVSLFxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IEFMV0FZU19GQUxTRV9IQU5ETEVSLFxufTtcblxuZXhwb3J0IGNvbnN0IFRVSV9JVEVNU19IQU5ETEVSUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlJdGVtc0hhbmRsZXJzPHVua25vd24+PihcbiAgICAnRGVmYXVsdCBpdGVtcyBoYW5kbGVycyBmb3IgY29tcG9uZW50cycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBUVUlfREVGQVVMVF9JVEVNU19IQU5ETEVSUyxcbiAgICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IHR1aUl0ZW1zSGFuZGxlcnNQcm92aWRlcjogPFQ+KFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpSXRlbXNIYW5kbGVyczxUPj4sXG4pID0+IFZhbHVlUHJvdmlkZXIgPSA8VD4ob3B0aW9uczogUGFydGlhbDxUdWlJdGVtc0hhbmRsZXJzPFQ+PikgPT4gKHtcbiAgICBwcm92aWRlOiBUVUlfSVRFTVNfSEFORExFUlMsXG4gICAgdXNlVmFsdWU6IHsuLi5UVUlfREVGQVVMVF9JVEVNU19IQU5ETEVSUywgLi4ub3B0aW9uc30sXG59KTtcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const TUI_MONTH_FORMATTER = new InjectionToken('A function to get localized formatted month');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC90b2tlbnMvIiwic291cmNlcyI6WyJtb250aC1mb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUk3QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FFbkQsNkNBQTZDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlIYW5kbGVyLCBUdWlNb250aH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgVFVJX01PTlRIX0ZPUk1BVFRFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgICBUdWlIYW5kbGVyPFR1aU1vbnRoIHwgbnVsbCwgT2JzZXJ2YWJsZTxzdHJpbmc+PlxuPignQSBmdW5jdGlvbiB0byBnZXQgbG9jYWxpemVkIGZvcm1hdHRlZCBtb250aCcpO1xuIl19
@@ -155,7 +155,7 @@ var AbstractTuiInputSlider = /** @class */ (function (_super) {
155
155
  ], AbstractTuiInputSlider.prototype, "keySteps", void 0);
156
156
  __decorate([
157
157
  Input(),
158
- HostBinding('attr.data-tui-host-size')
158
+ HostBinding('attr.data-size')
159
159
  ], AbstractTuiInputSlider.prototype, "size", void 0);
160
160
  __decorate([
161
161
  HostBinding('class._segmented')
@@ -169,4 +169,4 @@ var AbstractTuiInputSlider = /** @class */ (function (_super) {
169
169
  return AbstractTuiInputSlider;
170
170
  }(AbstractTuiControl));
171
171
  export { AbstractTuiInputSlider };
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9hYnN0cmFjdC8iLCJzb3VyY2VzIjpbImlucHV0LXNsaWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsS0FBSyxFQUNMLEtBQUssRUFDTCxjQUFjLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCwwQkFBMEIsRUFHMUIsZ0NBQWdDLEVBQ2hDLG1CQUFtQixFQUduQixpQkFBaUIsR0FJcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFakQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE9BQWU7SUFDNUMsT0FBTyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLENBQUM7QUFFRDs7R0FFRztBQUVIO0lBQ1ksMENBQXFCO0lBRGpDO1FBQUEscUVBOElDO1FBcklHLFNBQUcsR0FBRyxDQUFDLENBQUM7UUFJUixTQUFHLEdBQUcsUUFBUSxDQUFDO1FBSWYsY0FBUSxHQUFHLEVBQUUsQ0FBQztRQUlkLGNBQVEsR0FBRyxFQUFFLENBQUM7UUFhZCx1QkFBaUIsR0FBd0IsSUFBSSxDQUFDO1FBSTlDLGNBQVEsR0FBRyxDQUFDLENBQUM7UUFJYixXQUFLLEdBQUcsQ0FBQyxDQUFDO1FBSVYsYUFBTyxHQUFHLENBQUMsQ0FBQztRQUlaLGNBQVEsR0FBdUIsSUFBSSxDQUFDO1FBSXBDLFVBQUksR0FBYSxHQUFHLENBQUM7UUFFckIsa0JBQVksR0FBa0MsSUFBSSxDQUFDO1FBS25ELFVBQUksR0FBMEMsVUFBQyxPQUFlLEVBQUUsR0FBVyxJQUFLLE9BQUEsQ0FB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QXVCRDtRQURDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQzswREFHN0I7SUEzR2lCLHNCQUFzQjtRQUQzQyxTQUFTLEVBQUU7T0FDVSxzQkFBc0IsQ0E4STNDO0lBQUQsNkJBQUM7Q0FBQSxBQTlJRCxDQUNZLGtCQUFrQixHQTZJN0I7U0E5SXFCLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBIb3N0QmluZGluZywgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUNvbnRyb2wsXG4gICAgY2xhbXAsXG4gICAgcm91bmQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpSW5wdXRNb2RlVCxcbiAgICBUdWlNYXBwZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcixcbiAgICBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICBUdWlCcmlnaHRuZXNzLFxuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWROdW1iZXJQaXBlLFxuICAgIHR1aUNyZWF0ZU51bWJlck1hc2ssXG4gICAgVHVpTW9kZURpcmVjdGl2ZSxcbiAgICBUdWlQbHVyYWxpemUsXG4gICAgdHVpUGx1cmFsaXplVG9JQ1UsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxuICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUtleVN0ZXBzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7Z2V0UHJlY2lzaW9ufSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHF1YW50dW1Bc3NlcnRpb24ocXVhbnR1bTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHF1YW50dW0gPiAwO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFR1aUlucHV0U2xpZGVyPFQ+XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8VD5cbiAgICBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxudW1iZXI+XG57XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHJlYWRvbmx5IG1vZGVEaXJlY3RpdmU6IFR1aU1vZGVEaXJlY3RpdmUgfCBudWxsO1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCByZWFkb25seSBudW1iZXJGb3JtYXQ6IE51bWJlckZvcm1hdFNldHRpbmdzO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluTGFiZWwgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXhMYWJlbCA9ICcnO1xuXG4gICAgLy8gVE9ETzogcmVtb3ZlIHNldHRlciBpbiB2My4wOlxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZXQgcGx1cmFsaXplKHBsdXJhbGl6ZTogVHVpUGx1cmFsaXplIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5wbHVyYWxpemVNYXAgPSBBcnJheS5pc0FycmF5KHBsdXJhbGl6ZSlcbiAgICAgICAgICAgID8gdHVpUGx1cmFsaXplVG9JQ1UocGx1cmFsaXplKVxuICAgICAgICAgICAgOiBwbHVyYWxpemU7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlZ21lbnRzUGx1cmFsaXplOiBUdWlQbHVyYWxpemUgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZWdtZW50cyA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RlcHMgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AocXVhbnR1bUFzc2VydGlvbiwgJ1F1YW50dW0gbXVzdCBiZSBwb3NpdGl2ZScpXG4gICAgcXVhbnR1bSA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAga2V5U3RlcHM6IFR1aUtleVN0ZXBzIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXR1aS1ob3N0LXNpemUnKVxuICAgIHNpemU6IFR1aVNpemVMID0gJ2wnO1xuXG4gICAgcGx1cmFsaXplTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBhYnN0cmFjdCBnZXQgc2hvd01pbkxhYmVsKCk6IGJvb2xlYW47XG4gICAgYWJzdHJhY3QgZ2V0IHNob3dNYXhMYWJlbCgpOiBib29sZWFuO1xuXG4gICAgbWFzazogVHVpTWFwcGVyPG51bWJlciwgVHVpVGV4dE1hc2tPcHRpb25zPiA9IChxdWFudHVtOiBudW1iZXIsIG1pbjogbnVtYmVyKSA9PiAoe1xuICAgICAgICBtYXNrOiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICAgICAgICAgIGFsbG93TmVnYXRpdmU6IG1pbiA8IDAsXG4gICAgICAgICAgICBhbGxvd0RlY2ltYWw6ICFOdW1iZXIuaXNJbnRlZ2VyKHF1YW50dW0pLFxuICAgICAgICAgICAgZGVjaW1hbFN5bWJvbDogdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRob3VzYW5kU3ltYm9sOiB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgIGRlY2ltYWxMaW1pdDogZ2V0UHJlY2lzaW9uKHF1YW50dW0pLFxuICAgICAgICB9KSxcbiAgICAgICAgcGlwZTogdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZE51bWJlclBpcGUoXG4gICAgICAgICAgICAwLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgbWluIDwgMCxcbiAgICAgICAgKSxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fc2VnbWVudGVkJylcbiAgICBnZXQgc2VnbWVudGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWdtZW50cyA+IDA7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1BsYWNlaG9sZGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplID09PSAnbCc7XG4gICAgfVxuXG4gICAgZ2V0IGlucHV0TW9kZSgpOiBUdWlJbnB1dE1vZGVUIHtcbiAgICAgICAgcmV0dXJuIE51bWJlci5pc0ludGVnZXIodGhpcy5xdWFudHVtKSA/ICdudW1lcmljJyA6ICdkZWNpbWFsJztcbiAgICB9XG5cbiAgICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1heCAtIHRoaXMubWluO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFN0ZXBzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBzIHx8IHRoaXMubGVuZ3RoIC8gdGhpcy5xdWFudHVtO1xuICAgIH1cblxuICAgIGdldCBzdGVwKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmxlbmd0aCAvIHRoaXMuY29tcHV0ZWRTdGVwcztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1tb2RlJylcbiAgICBnZXQgaG9zdE1vZGUoKTogVHVpQnJpZ2h0bmVzcyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RlRGlyZWN0aXZlICYmIHRoaXMubW9kZURpcmVjdGl2ZS5tb2RlO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdmFsdWVHdWFyZCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucXVhbnR1bVxuICAgICAgICAgICAgPyBjbGFtcChcbiAgICAgICAgICAgICAgICAgIHJvdW5kKFxuICAgICAgICAgICAgICAgICAgICAgIE1hdGgucm91bmQodmFsdWUgLyB0aGlzLnF1YW50dW0pICogdGhpcy5xdWFudHVtLFxuICAgICAgICAgICAgICAgICAgICAgIFRVSV9GTE9BVElOR19QUkVDSVNJT04sXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgdGhpcy5taW4sXG4gICAgICAgICAgICAgICAgICB0aGlzLm1heCxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBjbGFtcCh2YWx1ZSwgdGhpcy5taW4sIHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2FwSW5wdXRWYWx1ZSh2YWx1ZTogc3RyaW5nLCBtYXg6IG51bWJlciA9IHRoaXMubWF4KTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGNhcHBlZCA9IE1hdGgubWluKFxuICAgICAgICAgICAgbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBtYXgsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMubWluIDwgMCAmJiBjYXBwZWQgPCB0aGlzLm1pbikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubWluO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGlzTmFOKGNhcHBlZCkgfHwgY2FwcGVkIDwgdGhpcy5taW4gPyBudWxsIDogY2FwcGVkO1xuICAgIH1cbn1cbiJdfQ==
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9hYnN0cmFjdC8iLCJzb3VyY2VzIjpbImlucHV0LXNsaWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsS0FBSyxFQUNMLEtBQUssRUFDTCxjQUFjLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCwwQkFBMEIsRUFHMUIsZ0NBQWdDLEVBQ2hDLG1CQUFtQixFQUduQixpQkFBaUIsR0FJcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFakQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE9BQWU7SUFDNUMsT0FBTyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLENBQUM7QUFFRDs7R0FFRztBQUVIO0lBQ1ksMENBQXFCO0lBRGpDO1FBQUEscUVBOElDO1FBcklHLFNBQUcsR0FBRyxDQUFDLENBQUM7UUFJUixTQUFHLEdBQUcsUUFBUSxDQUFDO1FBSWYsY0FBUSxHQUFHLEVBQUUsQ0FBQztRQUlkLGNBQVEsR0FBRyxFQUFFLENBQUM7UUFhZCx1QkFBaUIsR0FBd0IsSUFBSSxDQUFDO1FBSTlDLGNBQVEsR0FBRyxDQUFDLENBQUM7UUFJYixXQUFLLEdBQUcsQ0FBQyxDQUFDO1FBSVYsYUFBTyxHQUFHLENBQUMsQ0FBQztRQUlaLGNBQVEsR0FBdUIsSUFBSSxDQUFDO1FBSXBDLFVBQUksR0FBYSxHQUFHLENBQUM7UUFFckIsa0JBQVksR0FBa0MsSUFBSSxDQUFDO1FBS25ELFVBQUksR0FBMEMsVUFBQyxPQUFlLEVBQUUsR0FBVyxJQUFLLE9BQUEsQ0FB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dUJEO1FBREMsV0FBVyxDQUFDLGdCQUFnQixDQUFDOzBEQUc3QjtJQTNHaUIsc0JBQXNCO1FBRDNDLFNBQVMsRUFBRTtPQUNVLHNCQUFzQixDQThJM0M7SUFBRCw2QkFBQztDQUFBLEFBOUlELENBQ1ksa0JBQWtCLEdBNkk3QjtTQTlJcUIsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICBjbGFtcCxcbiAgICByb3VuZCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlJbnB1dE1vZGVULFxuICAgIFR1aU1hcHBlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIG1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyLFxuICAgIE51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgIFR1aUJyaWdodG5lc3MsXG4gICAgdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZE51bWJlclBpcGUsXG4gICAgdHVpQ3JlYXRlTnVtYmVyTWFzayxcbiAgICBUdWlNb2RlRGlyZWN0aXZlLFxuICAgIFR1aVBsdXJhbGl6ZSxcbiAgICB0dWlQbHVyYWxpemVUb0lDVSxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlUZXh0TWFza09wdGlvbnMsXG4gICAgVHVpV2l0aE9wdGlvbmFsTWluTWF4LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1RVSV9GTE9BVElOR19QUkVDSVNJT059IGZyb20gJ0B0YWlnYS11aS9raXQvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpS2V5U3RlcHN9IGZyb20gJ0B0YWlnYS11aS9raXQvdHlwZXMnO1xuaW1wb3J0IHtnZXRQcmVjaXNpb259IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcXVhbnR1bUFzc2VydGlvbihxdWFudHVtOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcXVhbnR1bSA+IDA7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VHVpSW5wdXRTbGlkZXI8VD5cbiAgICBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbDxUPlxuICAgIGltcGxlbWVudHMgVHVpV2l0aE9wdGlvbmFsTWluTWF4PG51bWJlcj5cbntcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgbW9kZURpcmVjdGl2ZTogVHVpTW9kZURpcmVjdGl2ZSB8IG51bGw7XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHJlYWRvbmx5IG51bWJlckZvcm1hdDogTnVtYmVyRm9ybWF0U2V0dGluZ3M7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXggPSBJbmZpbml0eTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW5MYWJlbCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heExhYmVsID0gJyc7XG5cbiAgICAvLyBUT0RPOiByZW1vdmUgc2V0dGVyIGluIHYzLjA6XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNldCBwbHVyYWxpemUocGx1cmFsaXplOiBUdWlQbHVyYWxpemUgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCkge1xuICAgICAgICB0aGlzLnBsdXJhbGl6ZU1hcCA9IEFycmF5LmlzQXJyYXkocGx1cmFsaXplKVxuICAgICAgICAgICAgPyB0dWlQbHVyYWxpemVUb0lDVShwbHVyYWxpemUpXG4gICAgICAgICAgICA6IHBsdXJhbGl6ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VnbWVudHNQbHVyYWxpemU6IFR1aVBsdXJhbGl6ZSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlZ21lbnRzID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdGVwcyA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcChxdWFudHVtQXNzZXJ0aW9uLCAnUXVhbnR1bSBtdXN0IGJlIHBvc2l0aXZlJylcbiAgICBxdWFudHVtID0gMTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBrZXlTdGVwczogVHVpS2V5U3RlcHMgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgc2l6ZTogVHVpU2l6ZUwgPSAnbCc7XG5cbiAgICBwbHVyYWxpemVNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBudWxsID0gbnVsbDtcblxuICAgIGFic3RyYWN0IGdldCBzaG93TWluTGFiZWwoKTogYm9vbGVhbjtcbiAgICBhYnN0cmFjdCBnZXQgc2hvd01heExhYmVsKCk6IGJvb2xlYW47XG5cbiAgICBtYXNrOiBUdWlNYXBwZXI8bnVtYmVyLCBUdWlUZXh0TWFza09wdGlvbnM+ID0gKHF1YW50dW06IG51bWJlciwgbWluOiBudW1iZXIpID0+ICh7XG4gICAgICAgIG1hc2s6IHR1aUNyZWF0ZU51bWJlck1hc2soe1xuICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZTogbWluIDwgMCxcbiAgICAgICAgICAgIGFsbG93RGVjaW1hbDogIU51bWJlci5pc0ludGVnZXIocXVhbnR1bSksXG4gICAgICAgICAgICBkZWNpbWFsU3ltYm9sOiB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhvdXNhbmRTeW1ib2w6IHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgZGVjaW1hbExpbWl0OiBnZXRQcmVjaXNpb24ocXVhbnR1bSksXG4gICAgICAgIH0pLFxuICAgICAgICBwaXBlOiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkTnVtYmVyUGlwZShcbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICBtaW4gPCAwLFxuICAgICAgICApLFxuICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgfSk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9zZWdtZW50ZWQnKVxuICAgIGdldCBzZWdtZW50ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlZ21lbnRzID4gMDtcbiAgICB9XG5cbiAgICBnZXQgaGFzUGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpemUgPT09ICdsJztcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRNb2RlKCk6IFR1aUlucHV0TW9kZVQge1xuICAgICAgICByZXR1cm4gTnVtYmVyLmlzSW50ZWdlcih0aGlzLnF1YW50dW0pID8gJ251bWVyaWMnIDogJ2RlY2ltYWwnO1xuICAgIH1cblxuICAgIGdldCBsZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4IC0gdGhpcy5taW47XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkU3RlcHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RlcHMgfHwgdGhpcy5sZW5ndGggLyB0aGlzLnF1YW50dW07XG4gICAgfVxuXG4gICAgZ2V0IHN0ZXAoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGVuZ3RoIC8gdGhpcy5jb21wdXRlZFN0ZXBzO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLW1vZGUnKVxuICAgIGdldCBob3N0TW9kZSgpOiBUdWlCcmlnaHRuZXNzIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVEaXJlY3RpdmUgJiYgdGhpcy5tb2RlRGlyZWN0aXZlLm1vZGU7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB2YWx1ZUd1YXJkKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5xdWFudHVtXG4gICAgICAgICAgICA/IGNsYW1wKFxuICAgICAgICAgICAgICAgICAgcm91bmQoXG4gICAgICAgICAgICAgICAgICAgICAgTWF0aC5yb3VuZCh2YWx1ZSAvIHRoaXMucXVhbnR1bSkgKiB0aGlzLnF1YW50dW0sXG4gICAgICAgICAgICAgICAgICAgICAgVFVJX0ZMT0FUSU5HX1BSRUNJU0lPTixcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICB0aGlzLm1pbixcbiAgICAgICAgICAgICAgICAgIHRoaXMubWF4LFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IGNsYW1wKHZhbHVlLCB0aGlzLm1pbiwgdGhpcy5tYXgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjYXBJbnB1dFZhbHVlKHZhbHVlOiBzdHJpbmcsIG1heDogbnVtYmVyID0gdGhpcy5tYXgpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgY29uc3QgY2FwcGVkID0gTWF0aC5taW4oXG4gICAgICAgICAgICBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1heCxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodGhpcy5taW4gPCAwICYmIGNhcHBlZCA8IHRoaXMubWluKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5taW47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXNOYU4oY2FwcGVkKSB8fCBjYXBwZWQgPCB0aGlzLm1pbiA/IG51bGwgOiBjYXBwZWQ7XG4gICAgfVxufVxuIl19