@taiga-ui/kit 2.34.0 → 2.37.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 (609) hide show
  1. package/abstract/input-slider.d.ts +22 -3
  2. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  3. package/bundles/taiga-ui-kit-abstract.umd.js +65 -17
  4. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
  6. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
  8. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
  10. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -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.map +1 -1
  13. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-badge.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-badged-content.umd.js +1 -1
  16. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js +1 -1
  18. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +2 -2
  20. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +2 -2
  22. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-combo-box.umd.js +1 -1
  24. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
  26. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +4 -4
  28. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +2 -2
  30. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-files.umd.js +504 -0
  32. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -0
  33. package/bundles/taiga-ui-kit-components-files.umd.min.js +16 -0
  34. package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -0
  35. package/bundles/taiga-ui-kit-components-input-count.umd.js +2 -2
  36. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
  38. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +3 -1
  40. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +1 -1
  43. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +1 -1
  45. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-input-date.umd.js +4 -2
  47. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-input-date.umd.min.js +1 -1
  49. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-input-file.umd.js +43 -45
  51. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
  53. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-input-files.umd.js +490 -0
  55. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -0
  56. package/bundles/taiga-ui-kit-components-input-files.umd.min.js +16 -0
  57. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -0
  58. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +64 -41
  59. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +2 -2
  61. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  62. package/bundles/taiga-ui-kit-components-input-month.umd.js +57 -32
  63. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +2 -2
  65. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-input-number.umd.js +24 -16
  67. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  68. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
  69. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  70. package/bundles/taiga-ui-kit-components-input-password.umd.js +2 -2
  71. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  72. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  73. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  74. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +20 -8
  75. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  76. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +2 -2
  77. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-input-phone.umd.js +13 -6
  79. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  80. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +2 -2
  81. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  82. package/bundles/taiga-ui-kit-components-input-range.umd.js +16 -4
  83. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  84. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +2 -2
  85. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  86. package/bundles/taiga-ui-kit-components-input-slider.umd.js +61 -14
  87. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  88. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +2 -2
  89. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-input-tag.umd.js +16 -9
  91. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +2 -2
  93. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  94. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  97. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +27 -16
  99. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
  101. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +2 -2
  103. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  104. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js +1 -1
  105. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js.map +1 -1
  106. package/bundles/taiga-ui-kit-components-multi-select.umd.js +23 -9
  107. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  108. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +2 -2
  109. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  110. package/bundles/taiga-ui-kit-components-pagination.umd.js +1 -1
  111. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  112. package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
  113. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  114. package/bundles/taiga-ui-kit-components-progress.umd.js +140 -73
  115. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-progress.umd.min.js +2 -2
  117. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  118. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  120. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  121. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-slider.umd.js +205 -30
  123. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  124. package/bundles/taiga-ui-kit-components-slider.umd.min.js +2 -2
  125. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  126. package/bundles/taiga-ui-kit-components-text-area.umd.js +50 -13
  127. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  128. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  129. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  130. package/bundles/taiga-ui-kit-components.umd.js +20 -4
  131. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  132. package/bundles/taiga-ui-kit-components.umd.min.js +1 -1
  133. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +22 -5
  134. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  135. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
  136. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  137. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +1 -1
  138. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js +1 -1
  139. package/bundles/taiga-ui-kit-enums.umd.js.map +1 -1
  140. package/bundles/taiga-ui-kit-enums.umd.min.js.map +1 -1
  141. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +46 -6
  142. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  143. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js +2 -2
  144. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -1
  145. package/bundles/taiga-ui-kit-providers.umd.js +29 -12
  146. package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
  147. package/bundles/taiga-ui-kit-providers.umd.min.js +1 -1
  148. package/bundles/taiga-ui-kit-providers.umd.min.js.map +1 -1
  149. package/bundles/taiga-ui-kit-tokens.umd.js +11 -0
  150. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  151. package/bundles/taiga-ui-kit-tokens.umd.min.js +1 -1
  152. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  153. package/bundles/taiga-ui-kit-utils-files.umd.js +8 -0
  154. package/bundles/taiga-ui-kit-utils-files.umd.js.map +1 -1
  155. package/bundles/taiga-ui-kit-utils-files.umd.min.js +1 -1
  156. package/bundles/taiga-ui-kit-utils-files.umd.min.js.map +1 -1
  157. package/components/arrow/arrow-options.d.ts +4 -2
  158. package/components/arrow/taiga-ui-kit-components-arrow.metadata.json +1 -1
  159. package/components/badge/badge.component.d.ts +2 -1
  160. package/components/badge/taiga-ui-kit-components-badge.metadata.json +1 -1
  161. package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
  162. package/components/combo-box/combo-box.component.d.ts +4 -4
  163. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  164. package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
  165. package/components/files/file/file.component.d.ts +42 -0
  166. package/components/files/files.component.d.ts +12 -0
  167. package/components/files/files.module.d.ts +2 -0
  168. package/components/files/index.d.ts +2 -0
  169. package/components/files/package.json +13 -0
  170. package/components/files/taiga-ui-kit-components-files.d.ts +5 -0
  171. package/components/files/taiga-ui-kit-components-files.metadata.json +1 -0
  172. package/components/index.d.ts +2 -0
  173. package/components/input/input.component.d.ts +2 -2
  174. package/components/input/taiga-ui-kit-components-input.metadata.json +1 -1
  175. package/components/input-count/input-count.component.d.ts +3 -2
  176. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  177. package/components/input-date/input-date.component.d.ts +5 -3
  178. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  179. package/components/input-date-range/input-date-range.component.d.ts +3 -2
  180. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  181. package/components/input-date-time/input-date-time.component.d.ts +7 -5
  182. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  183. package/components/input-file/file/file.component.d.ts +1 -1
  184. package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
  185. package/components/input-files/index.d.ts +2 -0
  186. package/components/input-files/input-files.component.d.ts +41 -0
  187. package/components/input-files/input-files.module.d.ts +2 -0
  188. package/components/input-files/package.json +13 -0
  189. package/components/input-files/taiga-ui-kit-components-input-files.d.ts +4 -0
  190. package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -0
  191. package/components/input-month/index.d.ts +1 -0
  192. package/components/input-month/input-month.component.d.ts +6 -4
  193. package/components/input-month/input-month.directive.d.ts +8 -1
  194. package/components/input-month/input-month.providers.d.ts +2 -0
  195. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  196. package/components/input-month-range/index.d.ts +1 -0
  197. package/components/input-month-range/input-month-range.component.d.ts +6 -7
  198. package/components/input-month-range/input-month-range.directive.d.ts +8 -1
  199. package/components/input-month-range/input-month-range.providers.d.ts +2 -0
  200. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  201. package/components/input-number/input-number.component.d.ts +3 -2
  202. package/components/input-number/input-number.directive.d.ts +4 -1
  203. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  204. package/components/input-password/input-password.component.d.ts +4 -3
  205. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  206. package/components/input-phone/input-phone.component.d.ts +5 -6
  207. package/components/input-phone/input-phone.directive.d.ts +4 -1
  208. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  209. package/components/input-phone-international/input-phone-international.component.d.ts +4 -2
  210. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  211. package/components/input-range/input-range.component.d.ts +2 -0
  212. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  213. package/components/input-slider/input-slider.component.d.ts +19 -3
  214. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  215. package/components/input-tag/input-tag.component.d.ts +6 -4
  216. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  217. package/components/input-time/input-time.component.d.ts +2 -2
  218. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  219. package/components/line-clamp/line-clamp.component.d.ts +7 -3
  220. package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
  221. package/components/multi-select/hide-selected.pipe.d.ts +1 -1
  222. package/components/multi-select/multi-select.component.d.ts +8 -6
  223. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  224. package/components/multi-select-option/taiga-ui-kit-components-multi-select-option.metadata.json +1 -1
  225. package/components/pagination/taiga-ui-kit-components-pagination.metadata.json +1 -1
  226. package/components/progress/index.d.ts +4 -3
  227. package/components/progress/progress-bar/progress-color-segments.directive.d.ts +11 -0
  228. package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
  229. package/components/progress/{pipes → utils}/abstract-color-segments.d.ts +0 -0
  230. package/components/progress/utils/calculate-color-segments.d.ts +1 -0
  231. package/components/progress/{pipes → utils}/progress-color-segments-async.pipe.d.ts +5 -0
  232. package/components/progress/utils/progress-color-segments.pipe.d.ts +9 -0
  233. package/components/radio/radio.component.d.ts +1 -1
  234. package/components/select/select.component.d.ts +4 -4
  235. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  236. package/components/slider/index.d.ts +2 -0
  237. package/components/slider/slider-key-steps.directive.d.ts +27 -0
  238. package/components/slider/slider-options.d.ts +9 -0
  239. package/components/slider/slider.component.d.ts +8 -6
  240. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  241. package/components/taiga-ui-kit-components.metadata.json +1 -1
  242. package/components/text-area/index.d.ts +1 -0
  243. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  244. package/components/text-area/text-area.component.d.ts +2 -1
  245. package/components/text-area/text-area.directive.d.ts +5 -0
  246. package/directives/dropdown-selection/dropdown-selection.directive.d.ts +2 -2
  247. package/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.metadata.json +1 -1
  248. package/directives/lazy-loading/index.d.ts +1 -0
  249. package/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.d.ts +0 -1
  250. package/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.metadata.json +1 -1
  251. package/enums/file-state.d.ts +1 -0
  252. package/enums/taiga-ui-kit-enums.metadata.json +1 -1
  253. package/esm2015/abstract/input-slider.js +43 -4
  254. package/esm2015/components/accordion/accordion.component.js +2 -2
  255. package/esm2015/components/arrow/arrow-options.js +1 -1
  256. package/esm2015/components/badge/badge.component.js +1 -1
  257. package/esm2015/components/badged-content/badged-content.component.js +3 -3
  258. package/esm2015/components/calendar-month/calendar-month.component.js +3 -3
  259. package/esm2015/components/combo-box/combo-box.component.js +2 -2
  260. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +3 -3
  261. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +3 -3
  262. package/esm2015/components/files/file/file.component.js +164 -0
  263. package/esm2015/components/files/files.component.js +45 -0
  264. package/esm2015/components/files/files.module.js +29 -0
  265. package/esm2015/components/files/index.js +3 -0
  266. package/esm2015/components/files/taiga-ui-kit-components-files.js +6 -0
  267. package/esm2015/components/index.js +3 -1
  268. package/esm2015/components/input/input.component.js +1 -1
  269. package/esm2015/components/input-count/input-count.component.js +3 -3
  270. package/esm2015/components/input-date/input-date.component.js +5 -3
  271. package/esm2015/components/input-date-range/input-date-range.component.js +4 -2
  272. package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
  273. package/esm2015/components/input-file/file/file.component.js +19 -19
  274. package/esm2015/components/input-file/input-file.component.js +7 -7
  275. package/esm2015/components/input-file/input-file.module.js +3 -3
  276. package/esm2015/components/input-files/index.js +3 -0
  277. package/esm2015/components/input-files/input-files.component.js +208 -0
  278. package/esm2015/components/input-files/input-files.module.js +34 -0
  279. package/esm2015/components/input-files/taiga-ui-kit-components-input-files.js +5 -0
  280. package/esm2015/components/input-month/index.js +2 -1
  281. package/esm2015/components/input-month/input-month.component.js +19 -25
  282. package/esm2015/components/input-month/input-month.directive.js +32 -7
  283. package/esm2015/components/input-month/input-month.module.js +4 -4
  284. package/esm2015/components/input-month/input-month.providers.js +19 -0
  285. package/esm2015/components/input-month-range/index.js +2 -1
  286. package/esm2015/components/input-month-range/input-month-range.component.js +21 -37
  287. package/esm2015/components/input-month-range/input-month-range.directive.js +37 -7
  288. package/esm2015/components/input-month-range/input-month-range.module.js +3 -2
  289. package/esm2015/components/input-month-range/input-month-range.providers.js +19 -0
  290. package/esm2015/components/input-number/input-number.component.js +5 -5
  291. package/esm2015/components/input-number/input-number.directive.js +9 -3
  292. package/esm2015/components/input-password/input-password.component.js +3 -3
  293. package/esm2015/components/input-phone/input-phone.component.js +6 -5
  294. package/esm2015/components/input-phone/input-phone.directive.js +9 -3
  295. package/esm2015/components/input-phone-international/input-phone-international.component.js +20 -6
  296. package/esm2015/components/input-range/input-range.component.js +18 -6
  297. package/esm2015/components/input-slider/input-slider.component.js +55 -11
  298. package/esm2015/components/input-slider/input-slider.module.js +10 -6
  299. package/esm2015/components/input-tag/input-tag.component.js +17 -10
  300. package/esm2015/components/input-time/input-time.component.js +1 -1
  301. package/esm2015/components/line-clamp/line-clamp.component.js +25 -15
  302. package/esm2015/components/line-clamp/line-clamp.directive.js +5 -4
  303. package/esm2015/components/multi-select/hide-selected.pipe.js +4 -3
  304. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +3 -3
  305. package/esm2015/components/multi-select/multi-select.component.js +16 -6
  306. package/esm2015/components/multi-select-option/multi-select-option.component.js +3 -3
  307. package/esm2015/components/pagination/pagination.component.js +2 -2
  308. package/esm2015/components/progress/index.js +5 -4
  309. package/esm2015/components/progress/progress-bar/progress-color-segments.directive.js +48 -0
  310. package/esm2015/components/progress/progress.module.js +6 -3
  311. package/esm2015/components/progress/utils/abstract-color-segments.js +32 -0
  312. package/esm2015/components/progress/utils/calculate-color-segments.js +11 -0
  313. package/esm2015/components/progress/utils/progress-color-segments-async.pipe.js +21 -0
  314. package/esm2015/components/progress/utils/progress-color-segments.pipe.js +19 -0
  315. package/esm2015/components/radio/radio.component.js +1 -1
  316. package/esm2015/components/select/select.component.js +2 -2
  317. package/esm2015/components/slider/index.js +3 -1
  318. package/esm2015/components/slider/slider-key-steps.directive.js +106 -0
  319. package/esm2015/components/slider/slider-options.js +13 -0
  320. package/esm2015/components/slider/slider.component.js +48 -26
  321. package/esm2015/components/slider/slider.module.js +14 -3
  322. package/esm2015/components/text-area/index.js +2 -1
  323. package/esm2015/components/text-area/text-area.component.js +21 -13
  324. package/esm2015/components/text-area/text-area.directive.js +22 -0
  325. package/esm2015/components/text-area/text-area.module.js +7 -6
  326. package/esm2015/components/text-area/text-area.providers.js +6 -2
  327. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +23 -6
  328. package/esm2015/directives/lazy-loading/index.js +2 -1
  329. package/esm2015/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.js +1 -2
  330. package/esm2015/enums/file-state.js +1 -1
  331. package/esm2015/pipes/field-error/field-error-content-pipe.js +43 -0
  332. package/esm2015/pipes/field-error/field-error.module.js +4 -3
  333. package/esm2015/pipes/field-error/index.js +2 -1
  334. package/esm2015/providers/index.js +2 -1
  335. package/esm2015/providers/month-formatter.provider.js +17 -0
  336. package/esm2015/providers/value-accessor.provider.js +2 -2
  337. package/esm2015/tokens/i18n.js +7 -1
  338. package/esm2015/tokens/index.js +2 -1
  339. package/esm2015/tokens/month-formatter.js +3 -0
  340. package/esm2015/utils/files/get-accept-array.js +7 -0
  341. package/esm2015/utils/files/index.js +2 -1
  342. package/esm5/abstract/input-slider.js +65 -16
  343. package/esm5/components/accordion/accordion.component.js +2 -2
  344. package/esm5/components/arrow/arrow-options.js +1 -1
  345. package/esm5/components/badge/badge.component.js +1 -1
  346. package/esm5/components/badged-content/badged-content.component.js +3 -3
  347. package/esm5/components/calendar-month/calendar-month.component.js +3 -3
  348. package/esm5/components/combo-box/combo-box.component.js +2 -2
  349. package/esm5/components/data-list-wrapper/data-list-group-wrapper.component.js +3 -3
  350. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +3 -3
  351. package/esm5/components/files/file/file.component.js +213 -0
  352. package/esm5/components/files/files.component.js +50 -0
  353. package/esm5/components/files/files.module.js +32 -0
  354. package/esm5/components/files/index.js +3 -0
  355. package/esm5/components/files/taiga-ui-kit-components-files.js +6 -0
  356. package/esm5/components/index.js +3 -1
  357. package/esm5/components/input/input.component.js +1 -1
  358. package/esm5/components/input-count/input-count.component.js +3 -3
  359. package/esm5/components/input-date/input-date.component.js +5 -3
  360. package/esm5/components/input-date-range/input-date-range.component.js +4 -2
  361. package/esm5/components/input-date-time/input-date-time.component.js +2 -2
  362. package/esm5/components/input-file/file/file.component.js +37 -37
  363. package/esm5/components/input-file/input-file.component.js +7 -9
  364. package/esm5/components/input-file/input-file.module.js +3 -3
  365. package/esm5/components/input-files/index.js +3 -0
  366. package/esm5/components/input-files/input-files.component.js +239 -0
  367. package/esm5/components/input-files/input-files.module.js +37 -0
  368. package/esm5/components/input-files/taiga-ui-kit-components-input-files.js +5 -0
  369. package/esm5/components/input-month/index.js +2 -1
  370. package/esm5/components/input-month/input-month.component.js +18 -25
  371. package/esm5/components/input-month/input-month.directive.js +32 -9
  372. package/esm5/components/input-month/input-month.module.js +4 -4
  373. package/esm5/components/input-month/input-month.providers.js +19 -0
  374. package/esm5/components/input-month-range/index.js +2 -1
  375. package/esm5/components/input-month-range/input-month-range.component.js +20 -38
  376. package/esm5/components/input-month-range/input-month-range.directive.js +38 -8
  377. package/esm5/components/input-month-range/input-month-range.module.js +3 -2
  378. package/esm5/components/input-month-range/input-month-range.providers.js +19 -0
  379. package/esm5/components/input-number/input-number.component.js +18 -16
  380. package/esm5/components/input-number/input-number.directive.js +9 -3
  381. package/esm5/components/input-password/input-password.component.js +3 -3
  382. package/esm5/components/input-phone/input-phone.component.js +6 -5
  383. package/esm5/components/input-phone/input-phone.directive.js +9 -3
  384. package/esm5/components/input-phone-international/input-phone-international.component.js +21 -9
  385. package/esm5/components/input-range/input-range.component.js +18 -6
  386. package/esm5/components/input-slider/input-slider.component.js +58 -11
  387. package/esm5/components/input-slider/input-slider.module.js +10 -6
  388. package/esm5/components/input-tag/input-tag.component.js +17 -10
  389. package/esm5/components/input-time/input-time.component.js +1 -1
  390. package/esm5/components/line-clamp/line-clamp.component.js +26 -16
  391. package/esm5/components/line-clamp/line-clamp.directive.js +5 -4
  392. package/esm5/components/multi-select/hide-selected.pipe.js +4 -4
  393. package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +3 -3
  394. package/esm5/components/multi-select/multi-select.component.js +20 -6
  395. package/esm5/components/multi-select-option/multi-select-option.component.js +3 -3
  396. package/esm5/components/pagination/pagination.component.js +2 -2
  397. package/esm5/components/progress/index.js +5 -4
  398. package/esm5/components/progress/progress-bar/progress-color-segments.directive.js +56 -0
  399. package/esm5/components/progress/progress.module.js +6 -3
  400. package/esm5/components/progress/utils/abstract-color-segments.js +33 -0
  401. package/esm5/components/progress/utils/calculate-color-segments.js +13 -0
  402. package/esm5/components/progress/utils/progress-color-segments-async.pipe.js +27 -0
  403. package/esm5/components/progress/utils/progress-color-segments.pipe.js +24 -0
  404. package/esm5/components/radio/radio.component.js +1 -1
  405. package/esm5/components/select/select.component.js +2 -2
  406. package/esm5/components/slider/index.js +3 -1
  407. package/esm5/components/slider/slider-key-steps.directive.js +137 -0
  408. package/esm5/components/slider/slider-options.js +14 -0
  409. package/esm5/components/slider/slider.component.js +49 -27
  410. package/esm5/components/slider/slider.module.js +14 -3
  411. package/esm5/components/text-area/index.js +2 -1
  412. package/esm5/components/text-area/text-area.component.js +21 -13
  413. package/esm5/components/text-area/text-area.directive.js +28 -0
  414. package/esm5/components/text-area/text-area.module.js +7 -6
  415. package/esm5/components/text-area/text-area.providers.js +6 -2
  416. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +23 -6
  417. package/esm5/directives/lazy-loading/index.js +2 -1
  418. package/esm5/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.js +1 -2
  419. package/esm5/enums/file-state.js +1 -1
  420. package/esm5/pipes/field-error/field-error-content-pipe.js +44 -0
  421. package/esm5/pipes/field-error/field-error.module.js +4 -3
  422. package/esm5/pipes/field-error/index.js +2 -1
  423. package/esm5/providers/index.js +2 -1
  424. package/esm5/providers/month-formatter.provider.js +19 -0
  425. package/esm5/providers/value-accessor.provider.js +2 -2
  426. package/esm5/tokens/i18n.js +7 -1
  427. package/esm5/tokens/index.js +2 -1
  428. package/esm5/tokens/month-formatter.js +3 -0
  429. package/esm5/utils/files/get-accept-array.js +7 -0
  430. package/esm5/utils/files/index.js +2 -1
  431. package/fesm2015/taiga-ui-kit-abstract.js +42 -3
  432. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  433. package/fesm2015/taiga-ui-kit-components-accordion.js +1 -1
  434. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  435. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  436. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  437. package/fesm2015/taiga-ui-kit-components-badged-content.js +2 -2
  438. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  439. package/fesm2015/taiga-ui-kit-components-calendar-month.js +2 -2
  440. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  441. package/fesm2015/taiga-ui-kit-components-combo-box.js +1 -1
  442. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  443. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +4 -4
  444. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  445. package/fesm2015/taiga-ui-kit-components-files.js +232 -0
  446. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -0
  447. package/fesm2015/taiga-ui-kit-components-input-count.js +2 -2
  448. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  449. package/fesm2015/taiga-ui-kit-components-input-date-range.js +3 -1
  450. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  451. package/fesm2015/taiga-ui-kit-components-input-date-time.js +1 -1
  452. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  453. package/fesm2015/taiga-ui-kit-components-input-date.js +4 -2
  454. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  455. package/fesm2015/taiga-ui-kit-components-input-file.js +25 -25
  456. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  457. package/fesm2015/taiga-ui-kit-components-input-files.js +242 -0
  458. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -0
  459. package/fesm2015/taiga-ui-kit-components-input-month-range.js +67 -41
  460. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  461. package/fesm2015/taiga-ui-kit-components-input-month.js +61 -31
  462. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  463. package/fesm2015/taiga-ui-kit-components-input-number.js +12 -6
  464. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  465. package/fesm2015/taiga-ui-kit-components-input-password.js +3 -3
  466. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  467. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +19 -5
  468. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  469. package/fesm2015/taiga-ui-kit-components-input-phone.js +13 -6
  470. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  471. package/fesm2015/taiga-ui-kit-components-input-range.js +17 -5
  472. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  473. package/fesm2015/taiga-ui-kit-components-input-slider.js +61 -15
  474. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  475. package/fesm2015/taiga-ui-kit-components-input-tag.js +16 -9
  476. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  477. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  478. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  479. package/fesm2015/taiga-ui-kit-components-line-clamp.js +28 -17
  480. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  481. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +2 -2
  482. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  483. package/fesm2015/taiga-ui-kit-components-multi-select.js +20 -9
  484. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  485. package/fesm2015/taiga-ui-kit-components-pagination.js +1 -1
  486. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  487. package/fesm2015/taiga-ui-kit-components-progress.js +113 -55
  488. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  489. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  490. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  491. package/fesm2015/taiga-ui-kit-components-slider.js +169 -28
  492. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  493. package/fesm2015/taiga-ui-kit-components-text-area.js +47 -17
  494. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  495. package/fesm2015/taiga-ui-kit-components.js +2 -0
  496. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  497. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +22 -5
  498. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  499. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +1 -1
  500. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  501. package/fesm2015/taiga-ui-kit-enums.js.map +1 -1
  502. package/fesm2015/taiga-ui-kit-pipes-field-error.js +43 -4
  503. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  504. package/fesm2015/taiga-ui-kit-providers.js +18 -4
  505. package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
  506. package/fesm2015/taiga-ui-kit-tokens.js +9 -1
  507. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  508. package/fesm2015/taiga-ui-kit-utils-files.js +8 -1
  509. package/fesm2015/taiga-ui-kit-utils-files.js.map +1 -1
  510. package/fesm5/taiga-ui-kit-abstract.js +64 -15
  511. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  512. package/fesm5/taiga-ui-kit-components-accordion.js +1 -1
  513. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  514. package/fesm5/taiga-ui-kit-components-arrow.js.map +1 -1
  515. package/fesm5/taiga-ui-kit-components-badge.js.map +1 -1
  516. package/fesm5/taiga-ui-kit-components-badged-content.js +2 -2
  517. package/fesm5/taiga-ui-kit-components-badged-content.js.map +1 -1
  518. package/fesm5/taiga-ui-kit-components-calendar-month.js +2 -2
  519. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  520. package/fesm5/taiga-ui-kit-components-combo-box.js +1 -1
  521. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  522. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +4 -4
  523. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  524. package/fesm5/taiga-ui-kit-components-files.js +289 -0
  525. package/fesm5/taiga-ui-kit-components-files.js.map +1 -0
  526. package/fesm5/taiga-ui-kit-components-input-count.js +2 -2
  527. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  528. package/fesm5/taiga-ui-kit-components-input-date-range.js +3 -1
  529. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  530. package/fesm5/taiga-ui-kit-components-input-date-time.js +1 -1
  531. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  532. package/fesm5/taiga-ui-kit-components-input-date.js +4 -2
  533. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  534. package/fesm5/taiga-ui-kit-components-input-file.js +43 -45
  535. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  536. package/fesm5/taiga-ui-kit-components-input-files.js +276 -0
  537. package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -0
  538. package/fesm5/taiga-ui-kit-components-input-month-range.js +68 -44
  539. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  540. package/fesm5/taiga-ui-kit-components-input-month.js +60 -33
  541. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  542. package/fesm5/taiga-ui-kit-components-input-number.js +25 -17
  543. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  544. package/fesm5/taiga-ui-kit-components-input-password.js +3 -3
  545. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  546. package/fesm5/taiga-ui-kit-components-input-phone-international.js +20 -8
  547. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  548. package/fesm5/taiga-ui-kit-components-input-phone.js +13 -6
  549. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  550. package/fesm5/taiga-ui-kit-components-input-range.js +17 -5
  551. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  552. package/fesm5/taiga-ui-kit-components-input-slider.js +65 -16
  553. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  554. package/fesm5/taiga-ui-kit-components-input-tag.js +16 -9
  555. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  556. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  557. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  558. package/fesm5/taiga-ui-kit-components-line-clamp.js +29 -18
  559. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  560. package/fesm5/taiga-ui-kit-components-multi-select-option.js +2 -2
  561. package/fesm5/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  562. package/fesm5/taiga-ui-kit-components-multi-select.js +24 -10
  563. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  564. package/fesm5/taiga-ui-kit-components-pagination.js +1 -1
  565. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  566. package/fesm5/taiga-ui-kit-components-progress.js +135 -69
  567. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  568. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  569. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  570. package/fesm5/taiga-ui-kit-components-slider.js +202 -30
  571. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  572. package/fesm5/taiga-ui-kit-components-text-area.js +53 -17
  573. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  574. package/fesm5/taiga-ui-kit-components.js +2 -0
  575. package/fesm5/taiga-ui-kit-components.js.map +1 -1
  576. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +22 -5
  577. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  578. package/fesm5/taiga-ui-kit-directives-lazy-loading.js +1 -1
  579. package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  580. package/fesm5/taiga-ui-kit-enums.js.map +1 -1
  581. package/fesm5/taiga-ui-kit-pipes-field-error.js +44 -4
  582. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
  583. package/fesm5/taiga-ui-kit-providers.js +20 -4
  584. package/fesm5/taiga-ui-kit-providers.js.map +1 -1
  585. package/fesm5/taiga-ui-kit-tokens.js +9 -1
  586. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  587. package/fesm5/taiga-ui-kit-utils-files.js +8 -1
  588. package/fesm5/taiga-ui-kit-utils-files.js.map +1 -1
  589. package/package.json +4 -4
  590. package/pipes/field-error/field-error-content-pipe.d.ts +12 -0
  591. package/pipes/field-error/index.d.ts +1 -0
  592. package/pipes/field-error/taiga-ui-kit-pipes-field-error.metadata.json +1 -1
  593. package/providers/index.d.ts +1 -0
  594. package/providers/month-formatter.provider.d.ts +6 -0
  595. package/providers/taiga-ui-kit-providers.metadata.json +1 -1
  596. package/tokens/i18n.d.ts +2 -0
  597. package/tokens/index.d.ts +1 -0
  598. package/tokens/month-formatter.d.ts +4 -0
  599. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  600. package/utils/files/get-accept-array.d.ts +1 -0
  601. package/utils/files/index.d.ts +1 -0
  602. package/utils/files/taiga-ui-kit-utils-files.metadata.json +1 -1
  603. package/components/progress/pipes/progress-color-segments.pipe.d.ts +0 -9
  604. package/esm2015/components/progress/pipes/abstract-color-segments.js +0 -32
  605. package/esm2015/components/progress/pipes/progress-color-segments-async.pipe.js +0 -15
  606. package/esm2015/components/progress/pipes/progress-color-segments.pipe.js +0 -18
  607. package/esm5/components/progress/pipes/abstract-color-segments.js +0 -35
  608. package/esm5/components/progress/pipes/progress-color-segments-async.pipe.js +0 -21
  609. package/esm5/components/progress/pipes/progress-color-segments.pipe.js +0 -23
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __extends, __param } from "tslib";
2
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, HostBinding, Inject, Optional, Self, ViewChild, } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
- import { isNativeFocused, setNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_MOBILE, } from '@taiga-ui/cdk';
4
+ import { isNativeFocused, setNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_MOBILE, tuiPure, } from '@taiga-ui/cdk';
5
5
  import { formatNumber, maskedMoneyValueIsEmpty, maskedNumberStringToNumber, NumberFormatSettings, TUI_NUMBER_FORMAT, TUI_TEXTFIELD_APPEARANCE, TuiModeDirective, } from '@taiga-ui/core';
6
6
  import { AbstractTuiInputSlider } from '@taiga-ui/kit/abstract';
7
7
  // @dynamic
@@ -74,14 +74,14 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
74
74
  });
75
75
  Object.defineProperty(TuiInputRangeComponent.prototype, "computedValueLeft", {
76
76
  get: function () {
77
- return this.formatNumber(this.value[0]);
77
+ return this.computedPureValueLeft(this.value[0]);
78
78
  },
79
79
  enumerable: true,
80
80
  configurable: true
81
81
  });
82
82
  Object.defineProperty(TuiInputRangeComponent.prototype, "computedValueRight", {
83
83
  get: function () {
84
- return this.formatNumber(this.value[1]);
84
+ return this.computedPureValueRight(this.value[1]);
85
85
  },
86
86
  enumerable: true,
87
87
  configurable: true
@@ -194,6 +194,12 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
194
194
  TuiInputRangeComponent.prototype.getFallbackValue = function () {
195
195
  return [0, 0];
196
196
  };
197
+ TuiInputRangeComponent.prototype.computedPureValueLeft = function (value) {
198
+ return this.formatNumber(value);
199
+ };
200
+ TuiInputRangeComponent.prototype.computedPureValueRight = function (value) {
201
+ return this.formatNumber(value);
202
+ };
197
203
  TuiInputRangeComponent.prototype.formatNumber = function (value) {
198
204
  return formatNumber(value, null, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
199
205
  };
@@ -229,10 +235,16 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
229
235
  __decorate([
230
236
  HostBinding('class._max-label')
231
237
  ], TuiInputRangeComponent.prototype, "showMaxLabel", null);
238
+ __decorate([
239
+ tuiPure
240
+ ], TuiInputRangeComponent.prototype, "computedPureValueLeft", null);
241
+ __decorate([
242
+ tuiPure
243
+ ], TuiInputRangeComponent.prototype, "computedPureValueRight", null);
232
244
  TuiInputRangeComponent = TuiInputRangeComponent_1 = __decorate([
233
245
  Component({
234
246
  selector: 'tui-input-range',
235
- template: "<div class=\"zone\" (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n >\n <span\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-range__placeholder\"\n class=\"placeholder placeholder_raised\"\n >\n <ng-content></ng-content>\n </span>\n <div class=\"content\">\n <span *ngIf=\"!showMinLabel\" class=\"label\">\n <span class=\"value\">{{ inputValueLeft }}</span>\n <span\n *ngIf=\"pluralizeMap\"\n automation-id=\"tui-input-range__pluralize-left\"\n class=\"pluralize\"\n >\n {{ value[0] | i18nPlural: pluralizeMap }}\n </span>\n </span>\n <span\n *ngIf=\"showMinLabel\"\n automation-id=\"tui-input-range__min-label\"\n class=\"label\"\n >\n {{ minLabel }}\n </span>\n <span\n *ngIf=\"showMaxLabel\"\n automation-id=\"tui-input-range__max-label\"\n class=\"max\"\n >\n {{ maxLabel }}\n </span>\n </div>\n <tui-range\n class=\"slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralize\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onRangeValue($event)\"\n (mousedown.prevent)=\"onMouseDown()\"\n ></tui-range>\n </tui-wrapper>\n\n <div class=\"native-wrapper\" (tuiHoveredChange)=\"onHovered($event)\">\n <input\n #nativeLeft\n automation-id=\"tui-input-range__native-left\"\n class=\"native\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [class.native_hidden]=\"showMinLabel\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValueLeft\"\n (ngModelChange)=\"onInputLeft()\"\n (tuiFocusedChange)=\"onLeftFocused($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUpLeft($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDownLeft($event)\"\n />\n <input\n #nativeRight\n automation-id=\"tui-input-range__native-right\"\n class=\"native native_right\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [class.native_hidden]=\"showMaxLabel\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValueRight\"\n (ngModelChange)=\"onInputRight()\"\n (tuiFocusedChange)=\"onRightFocused($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUpRight($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDownRight($event)\"\n />\n <span\n *ngIf=\"pluralizeMap && !showMaxLabel\"\n automation-id=\"tui-input-range__pluralize-right\"\n class=\"pluralize pluralize_right\"\n (mousedown)=\"onMouseDown()\"\n >\n {{ value[1] | i18nPlural: pluralizeMap }}\n </span>\n </div>\n</div>\n",
247
+ template: "<div class=\"t-zone\" (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n >\n <span\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-range__placeholder\"\n class=\"t-placeholder t-placeholder_raised\"\n >\n <ng-content></ng-content>\n </span>\n <div class=\"t-content\">\n <span *ngIf=\"!showMinLabel\" class=\"t-label\">\n <span class=\"t-value\">{{ inputValueLeft }}</span>\n <span\n *ngIf=\"pluralizeMap\"\n automation-id=\"tui-input-range__pluralize-left\"\n class=\"t-pluralize\"\n >\n {{ value[0] | i18nPlural: pluralizeMap }}\n </span>\n </span>\n <span\n *ngIf=\"showMinLabel\"\n automation-id=\"tui-input-range__min-label\"\n class=\"t-label\"\n >\n {{ minLabel }}\n </span>\n <span\n *ngIf=\"showMaxLabel\"\n automation-id=\"tui-input-range__max-label\"\n class=\"t-max\"\n >\n {{ maxLabel }}\n </span>\n </div>\n <tui-range\n class=\"t-slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralizeMap\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onRangeValue($event)\"\n (mousedown.prevent)=\"onMouseDown()\"\n ></tui-range>\n </tui-wrapper>\n\n <div class=\"t-native-wrapper\" (tuiHoveredChange)=\"onHovered($event)\">\n <input\n #nativeLeft\n automation-id=\"tui-input-range__native-left\"\n class=\"t-native\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [class.t-native_hidden]=\"showMinLabel\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValueLeft\"\n (ngModelChange)=\"onInputLeft()\"\n (tuiFocusedChange)=\"onLeftFocused($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUpLeft($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDownLeft($event)\"\n />\n <input\n #nativeRight\n automation-id=\"tui-input-range__native-right\"\n class=\"t-native t-native_right\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [class.t-native_hidden]=\"showMaxLabel\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValueRight\"\n (ngModelChange)=\"onInputRight()\"\n (tuiFocusedChange)=\"onRightFocused($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUpRight($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDownRight($event)\"\n />\n <span\n *ngIf=\"pluralizeMap && !showMaxLabel\"\n automation-id=\"tui-input-range__pluralize-right\"\n class=\"t-pluralize t-pluralize_right\"\n (mousedown)=\"onMouseDown()\"\n >\n {{ value[1] | i18nPlural: pluralizeMap }}\n </span>\n </div>\n</div>\n",
236
248
  changeDetection: ChangeDetectionStrategy.OnPush,
237
249
  providers: [
238
250
  {
@@ -240,7 +252,7 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
240
252
  useExisting: forwardRef(function () { return TuiInputRangeComponent_1; }),
241
253
  },
242
254
  ],
243
- styles: [":host{position:relative;z-index:0;display:block;font:var(--tui-font-text-m);border-radius:var(--tui-radius-m);color:var(--tui-text-01)}:host._segmented{border-bottom:26px solid transparent}:host[data-mode=onDark]{color:var(--tui-base-01)}.zone{border-radius:inherit}.native-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex}.pluralize{display:flex;align-items:center;padding-right:.75rem;margin-left:-.5rem}.pluralize_right{margin-left:-.75rem}:host[data-size='l'] .pluralize_right{padding-top:1.25rem}:host._disabled .pluralize_right{color:var(--tui-text-03)}:host[data-mode=onDark]._disabled .pluralize_right{color:var(--tui-text-03-night)}.native{padding:0 1rem;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;flex:1;min-width:0;color:var(--tui-text-01);box-sizing:border-box;outline:0}.native:-webkit-autofill,.native:-webkit-autofill:focus,.native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.native_right{text-align:right}.native_hidden{opacity:0}:host._disabled .native{color:var(--tui-text-03);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host[data-size='l'] .native{padding:1.25rem 1rem 0}:host[data-mode=onDark] .native{color:var(--tui-text-01-night)}:host[data-mode=onDark]._disabled .native{color:var(--tui-text-03-night)}.content{display:flex;height:var(--tui-height-m);padding:0 1rem;justify-content:space-between;align-items:center}:host[data-size='l'] .content{height:var(--tui-height-l);padding:0 1rem}:host[data-size='l']._disabled .content{color:var(--tui-text-03)}:host[data-size='l'][data-mode=onDark]._disabled .content{color:var(--tui-text-03-night)}.placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;position:absolute;top:0;width:100%;height:100%;left:1rem;line-height:var(--tui-height-l)}.placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .placeholder_raised,:host._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .placeholder,:host[data-size='l']._focused._label-outside .placeholder,:host[data-size='m']._focused._label-outside .placeholder{color:var(--tui-text-03)}:host[data-size='l'] .placeholder{font-size:.9375rem}:host[data-size='l'] .placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .placeholder,:host[data-size='m']._focused:not(._label-outside) .placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .placeholder{color:var(--tui-text-02-night)}.value{visibility:hidden;overflow:hidden;padding-right:.75rem}:host._disabled .value{color:var(--tui-text-03)}.label{display:flex;width:50%}:host[data-size='l'] .label{padding-top:1.25rem}.max{text-align:right;flex:1}:host[data-size='l'] .max{padding-top:1.25rem;line-height:calc(var(--tui-height-l) - 1.25rem)}.slider{position:absolute;top:100%;left:0;right:0;z-index:1;border-top-left-radius:0;border-top-right-radius:0;margin:-.5625rem 0 0;color:transparent}:host._disabled .slider,:host._readonly .slider{pointer-events:none}"]
255
+ styles: [":host{position:relative;z-index:0;display:block;font:var(--tui-font-text-m);border-radius:var(--tui-radius-m);color:var(--tui-text-01)}:host._segmented{border-bottom:26px solid transparent}:host[data-mode=onDark]{color:var(--tui-base-01)}.t-zone{border-radius:inherit}.t-native-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex}.t-pluralize{display:flex;align-items:center;padding-right:.75rem;margin-left:-.5rem}.t-pluralize_right{margin-left:-.75rem}:host[data-size='l'] .t-pluralize_right{padding-top:1.25rem}:host._disabled .t-pluralize_right{color:var(--tui-text-03)}:host[data-mode=onDark]._disabled .t-pluralize_right{color:var(--tui-text-03-night)}.t-native{padding:0 1rem;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;flex:1;min-width:0;color:var(--tui-text-01);box-sizing:border-box;outline:0}.t-native:-webkit-autofill,.t-native:-webkit-autofill:focus,.t-native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.t-native_right{text-align:right}.t-native_hidden{opacity:0}:host._disabled .t-native{color:var(--tui-text-03);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host[data-size='l'] .t-native{padding:1.25rem 1rem 0}:host[data-mode=onDark] .t-native{color:var(--tui-text-01-night)}:host[data-mode=onDark]._disabled .t-native{color:var(--tui-text-03-night)}.t-content{display:flex;height:var(--tui-height-m);padding:0 1rem;justify-content:space-between;align-items:center}:host[data-size='l'] .t-content{height:var(--tui-height-l);padding:0 1rem}:host[data-size='l']._disabled .t-content{color:var(--tui-text-03)}:host[data-size='l'][data-mode=onDark]._disabled .t-content{color:var(--tui-text-03-night)}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;position:absolute;top:0;width:100%;height:100%;left:1rem;line-height:var(--tui-height-l)}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}.t-value{visibility:hidden;overflow:hidden;padding-right:.75rem}:host._disabled .t-value{color:var(--tui-text-03)}.t-label{display:flex;width:50%}:host[data-size='l'] .t-label{padding-top:1.25rem}.t-max{text-align:right;flex:1}:host[data-size='l'] .t-max{padding-top:1.25rem;line-height:calc(var(--tui-height-l) - 1.25rem)}.t-slider{position:absolute;top:100%;left:0;right:0;z-index:1;border-top-left-radius:0;border-top-right-radius:0;margin:-.5625rem 0 0;color:transparent}:host._disabled .t-slider,:host._readonly .t-slider{pointer-events:none}"]
244
256
  }),
245
257
  __param(0, Optional()),
246
258
  __param(0, Self()),
@@ -255,4 +267,4 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
255
267
  return TuiInputRangeComponent;
256
268
  }(AbstractTuiInputSlider));
257
269
  export { TuiInputRangeComponent };
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXJhbmdlLyIsInNvdXJjZXMiOlsiaW5wdXQtcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsZUFBZSxFQUNmLGdCQUFnQixFQUNoQiwyQkFBMkIsRUFDM0IsYUFBYSxHQUdoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsWUFBWSxFQUNaLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsZ0JBQWdCLEdBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFOUQsV0FBVztBQWFYO0lBQ1ksMENBQXdDO0lBU2hELGdDQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBRzVDLGFBQXNDLEVBRXhDLFFBQWlCLEVBRWYsWUFBa0MsRUFFNUMsVUFBa0I7UUFkL0IsWUFnQkksa0JBQU0sT0FBTyxFQUFFLGlCQUFpQixDQUFDLFNBQ3BDO1FBVHNCLG1CQUFhLEdBQWIsYUFBYSxDQUF5QjtRQUV4QyxjQUFRLEdBQVIsUUFBUSxDQUFTO1FBRWYsa0JBQVksR0FBWixZQUFZLENBQXNCO1FBRTVDLGdCQUFVLEdBQVYsVUFBVSxDQUFROztJQUcvQixDQUFDOytCQTNCUSxzQkFBc0I7SUE2Qi9CLHNCQUFJLDBEQUFzQjthQUEx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QTtRQUNWLFdBQUEsSUFBSSxFQUFFLENBQUE7UUFDTixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVqQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRXhCLFdBQUEsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBRXJCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFekIsV0FBQSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtPQXZCNUIsc0JBQXNCLENBeVBsQztJQUFELDZCQUFDO0NBQUEsQUF6UEQsQ0FDWSxzQkFBc0IsR0F3UGpDO1NBelBZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIFRVSV9JU19NT0JJTEUsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBmb3JtYXROdW1iZXIsXG4gICAgbWFza2VkTW9uZXlWYWx1ZUlzRW1wdHksXG4gICAgbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIsXG4gICAgTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgVFVJX05VTUJFUl9GT1JNQVQsXG4gICAgVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFLFxuICAgIFR1aU1vZGVEaXJlY3RpdmUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RUdWlJbnB1dFNsaWRlcn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9hYnN0cmFjdCc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1yYW5nZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXJhbmdlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXJhbmdlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRSYW5nZUNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRSYW5nZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcjxbbnVtYmVyLCBudW1iZXJdPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZCgnbmF0aXZlTGVmdCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXRpdmVMZWZ0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ25hdGl2ZVJpZ2h0JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZVJpZ2h0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTW9kZURpcmVjdGl2ZSlcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vZGVEaXJlY3RpdmU6IFR1aU1vZGVEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX05VTUJFUl9GT1JNQVQpXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBudW1iZXJGb3JtYXQ6IE51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfQVBQRUFSQU5DRSlcbiAgICAgICAgcmVhZG9ubHkgYXBwZWFyYW5jZTogc3RyaW5nLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMubmF0aXZlTGVmdCB8fCB0aGlzLmRpc2FibGVkID8gbnVsbCA6IHRoaXMubmF0aXZlTGVmdC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2VkTGVmdCB8fCB0aGlzLmZvY3VzZWRSaWdodDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZExlZnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMubmF0aXZlTGVmdCAmJiBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVMZWZ0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkUmlnaHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMubmF0aXZlUmlnaHQgJiYgaXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlUmlnaHQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fbWluLWxhYmVsJylcbiAgICBnZXQgc2hvd01pbkxhYmVsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuZm9jdXNlZExlZnQgJiYgISF0aGlzLm1pbkxhYmVsICYmIHRoaXMudmFsdWVbMF0gPT09IHRoaXMubWluO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX21heC1sYWJlbCcpXG4gICAgZ2V0IHNob3dNYXhMYWJlbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmZvY3VzZWRSaWdodCAmJiAhIXRoaXMubWF4TGFiZWwgJiYgdGhpcy52YWx1ZVsxXSA9PT0gdGhpcy5tYXg7XG4gICAgfVxuXG4gICAgZ2V0IGlucHV0VmFsdWVMZWZ0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUxlZnQgPyB0aGlzLm5hdGl2ZUxlZnQubmF0aXZlRWxlbWVudC52YWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIGdldCBpbnB1dFZhbHVlUmlnaHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlUmlnaHQgPyB0aGlzLm5hdGl2ZVJpZ2h0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZUxlZnQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0TnVtYmVyKHRoaXMudmFsdWVbMF0pO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlUmlnaHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0TnVtYmVyKHRoaXMudmFsdWVbMV0pO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oKSB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZVJpZ2h0ICYmICF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlUmlnaHQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleURvd25BcnJvd1VwTGVmdChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzU3RlcCh0cnVlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgb25LZXlEb3duQXJyb3dEb3duTGVmdChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzU3RlcChmYWxzZSwgZmFsc2UpO1xuICAgIH1cblxuICAgIG9uS2V5RG93bkFycm93VXBSaWdodChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzU3RlcCh0cnVlLCB0cnVlKTtcbiAgICB9XG5cbiAgICBvbktleURvd25BcnJvd0Rvd25SaWdodChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzU3RlcChmYWxzZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgb25JbnB1dExlZnQoKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pbnB1dFZhbHVlTGVmdDtcbiAgICAgICAgY29uc3QgY2FwcGVkID0gdGhpcy5jYXBJbnB1dFZhbHVlKHZhbHVlLCB0aGlzLnZhbHVlWzFdKTtcbiAgICAgICAgY29uc3QgcG9zdGZpeCA9IHZhbHVlLnNsaWNlKC0xKVswXSA9PT0gJywnID8gJywnIDogJyc7XG5cbiAgICAgICAgaWYgKG1hc2tlZE1vbmV5VmFsdWVJc0VtcHR5KHZhbHVlKSB8fCBjYXBwZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5mb3JtYXROdW1iZXIoY2FwcGVkKSArIHBvc3RmaXg7XG5cbiAgICAgICAgaWYgKHRoaXMubmF0aXZlTGVmdCAmJiB0aGlzLmlucHV0VmFsdWVMZWZ0ICE9PSBuZXdWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVMZWZ0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW2NhcHBlZCwgdGhpcy52YWx1ZVsxXV0pO1xuICAgIH1cblxuICAgIG9uSW5wdXRSaWdodCgpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmlucHV0VmFsdWVSaWdodDtcbiAgICAgICAgY29uc3QgY2FwcGVkID0gdGhpcy5jYXBJbnB1dFZhbHVlKHZhbHVlKTtcbiAgICAgICAgY29uc3QgcG9zdGZpeCA9IHZhbHVlLnNsaWNlKC0xKVswXSA9PT0gJywnID8gJywnIDogJyc7XG5cbiAgICAgICAgaWYgKG1hc2tlZE1vbmV5VmFsdWVJc0VtcHR5KHZhbHVlKSB8fCBjYXBwZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5mb3JtYXROdW1iZXIoY2FwcGVkKSArIHBvc3RmaXg7XG5cbiAgICAgICAgaWYgKHRoaXMubmF0aXZlUmlnaHQgJiYgdGhpcy5pbnB1dFZhbHVlUmlnaHQgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVJpZ2h0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjYXBwZWQgPj0gdGhpcy52YWx1ZVswXSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShbdGhpcy52YWx1ZVswXSwgY2FwcGVkXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJhbmdlVmFsdWUodmFsdWU6IFtudW1iZXIsIG51bWJlcl0pIHtcbiAgICAgICAgY29uc3QgZ3VhcmRlZFZhbHVlID0gdmFsdWUubWFwKGl0ZW0gPT4gdGhpcy52YWx1ZUd1YXJkKGl0ZW0pKSBhcyBbbnVtYmVyLCBudW1iZXJdO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLm5hdGl2ZUxlZnQgfHxcbiAgICAgICAgICAgICF0aGlzLm5hdGl2ZVJpZ2h0IHx8XG4gICAgICAgICAgICAoZ3VhcmRlZFZhbHVlWzBdID09PSB0aGlzLnZhbHVlWzBdICYmIGd1YXJkZWRWYWx1ZVsxXSA9PT0gdGhpcy52YWx1ZVsxXSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPVxuICAgICAgICAgICAgICAgIGd1YXJkZWRWYWx1ZVswXSAhPT0gdGhpcy52YWx1ZVswXVxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMubmF0aXZlTGVmdC5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5uYXRpdmVSaWdodC5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShndWFyZGVkVmFsdWUpO1xuICAgICAgICB0aGlzLm5hdGl2ZUxlZnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKGd1YXJkZWRWYWx1ZVswXSk7XG4gICAgfVxuXG4gICAgb25MZWZ0Rm9jdXNlZChmb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChmb2N1c2VkIHx8ICF0aGlzLm5hdGl2ZUxlZnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlucHV0VmFsdWUgPSBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRWYWx1ZUxlZnQsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gaXNOYU4oaW5wdXRWYWx1ZSkgPyB0aGlzLm1pbiA6IHRoaXMudmFsdWVHdWFyZChpbnB1dFZhbHVlKTtcblxuICAgICAgICB0aGlzLm5hdGl2ZUxlZnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlKTtcblxuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWVbMF0pIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW3ZhbHVlLCB0aGlzLnZhbHVlWzFdXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJpZ2h0Rm9jdXNlZChmb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChmb2N1c2VkIHx8ICF0aGlzLm5hdGl2ZVJpZ2h0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkVmFsdWVSaWdodCxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCB2YWx1ZSA9IGlzTmFOKGlucHV0VmFsdWUpXG4gICAgICAgICAgICA/IHRoaXMudmFsdWVbMF1cbiAgICAgICAgICAgIDogdGhpcy52YWx1ZUd1YXJkKE1hdGgubWF4KGlucHV0VmFsdWUsIHRoaXMudmFsdWVbMF0pKTtcblxuICAgICAgICB0aGlzLm5hdGl2ZVJpZ2h0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmZvcm1hdE51bWJlcih2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlWzFdKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFt0aGlzLnZhbHVlWzBdLCB2YWx1ZV0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgICAgIHJldHVybiBbMCwgMF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBmb3JtYXROdW1iZXIoXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzU3RlcChpbmNyZW1lbnQ6IGJvb2xlYW4sIHJpZ2h0OiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy52YWx1ZUd1YXJkKFxuICAgICAgICAgICAgaW5jcmVtZW50ID8gdGhpcy52YWx1ZVswXSArIHRoaXMuc3RlcCA6IHRoaXMudmFsdWVbMF0gLSB0aGlzLnN0ZXAsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGVuZCA9IHRoaXMudmFsdWVHdWFyZChcbiAgICAgICAgICAgIGluY3JlbWVudCA/IHRoaXMudmFsdWVbMV0gKyB0aGlzLnN0ZXAgOiB0aGlzLnZhbHVlWzFdIC0gdGhpcy5zdGVwLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCB2YWx1ZTogW251bWJlciwgbnVtYmVyXSA9IFtcbiAgICAgICAgICAgIHJpZ2h0ID8gdGhpcy52YWx1ZVswXSA6IE1hdGgubWluKHN0YXJ0LCB0aGlzLnZhbHVlWzFdKSxcbiAgICAgICAgICAgIHJpZ2h0ID8gTWF0aC5tYXgoZW5kLCB0aGlzLnZhbHVlWzBdKSA6IHRoaXMudmFsdWVbMV0sXG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKHZhbHVlWzBdICE9PSB0aGlzLnZhbHVlWzBdIHx8IHZhbHVlWzFdICE9PSB0aGlzLnZhbHVlWzFdKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
270
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXJhbmdlLyIsInNvdXJjZXMiOlsiaW5wdXQtcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsZUFBZSxFQUNmLGdCQUFnQixFQUNoQiwyQkFBMkIsRUFDM0IsYUFBYSxFQUdiLE9BQU8sR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsWUFBWSxFQUNaLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsZ0JBQWdCLEdBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFOUQsV0FBVztBQWFYO0lBQ1ksMENBQXdDO0lBU2hELGdDQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBRzVDLGFBQXNDLEVBRXhDLFFBQWlCLEVBRWYsWUFBa0MsRUFFNUMsVUFBa0I7UUFkL0IsWUFnQkksa0JBQU0sT0FBTyxFQUFFLGlCQUFpQixDQUFDLFNBQ3BDO1FBVHNCLG1CQUFhLEdBQWIsYUFBYSxDQUF5QjtRQUV4QyxjQUFRLEdBQVIsUUFBUSxDQUFTO1FBRWYsa0JBQVksR0FBWixZQUFZLENBQXNCO1FBRTVDLGdCQUFVLEdBQVYsVUFBVSxDQUFROztJQUcvQixDQUFDOytCQTNCUSxzQkFBc0I7SUE2Qi9CLHNCQUFJLDBE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UyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQix5eEhBQTBDO1lBRTFDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1lBQy9DLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsMkJBQTJCO29CQUNwQyxXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSx3QkFBc0IsRUFBdEIsQ0FBc0IsQ0FBQztpQkFDeEQ7YUFDSjs7U0FDSixDQUFDO1FBWU8sV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsSUFBSSxFQUFFLENBQUE7UUFDTixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVqQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRXhCLFdBQUEsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBRXJCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFekIsV0FBQSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtPQXZCNUIsc0JBQXNCLENBbVFsQztJQUFELDZCQUFDO0NBQUEsQUFuUUQsQ0FDWSxzQkFBc0IsR0FrUWpDO1NBblFZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIFRVSV9JU19NT0JJTEUsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG4gICAgdHVpUHVyZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIGZvcm1hdE51bWJlcixcbiAgICBtYXNrZWRNb25leVZhbHVlSXNFbXB0eSxcbiAgICBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcixcbiAgICBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICBUVUlfTlVNQkVSX0ZPUk1BVCxcbiAgICBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgVHVpTW9kZURpcmVjdGl2ZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aUlucHV0U2xpZGVyfSBmcm9tICdAdGFpZ2EtdWkva2l0L2Fic3RyYWN0JztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXJhbmdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcmFuZ2UudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcmFuZ2Uuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dFJhbmdlQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFJhbmdlQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUlucHV0U2xpZGVyPFtudW1iZXIsIG51bWJlcl0+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKCduYXRpdmVMZWZ0JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZUxlZnQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnbmF0aXZlUmlnaHQnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlUmlnaHQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlNb2RlRGlyZWN0aXZlKVxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kZURpcmVjdGl2ZTogVHVpTW9kZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX01PQklMRSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfTlVNQkVSX0ZPUk1BVClcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IG51bWJlckZvcm1hdDogTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFKVxuICAgICAgICByZWFkb25seSBhcHBlYXJhbmNlOiBzdHJpbmcsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5uYXRpdmVMZWZ0IHx8IHRoaXMuZGlzYWJsZWQgPyBudWxsIDogdGhpcy5uYXRpdmVMZWZ0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzZWRMZWZ0IHx8IHRoaXMuZm9jdXNlZFJpZ2h0O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkTGVmdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5uYXRpdmVMZWZ0ICYmIGlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUxlZnQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWRSaWdodCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5uYXRpdmVSaWdodCAmJiBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVSaWdodC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9taW4tbGFiZWwnKVxuICAgIGdldCBzaG93TWluTGFiZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5mb2N1c2VkTGVmdCAmJiAhIXRoaXMubWluTGFiZWwgJiYgdGhpcy52YWx1ZVswXSA9PT0gdGhpcy5taW47XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fbWF4LWxhYmVsJylcbiAgICBnZXQgc2hvd01heExhYmVsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuZm9jdXNlZFJpZ2h0ICYmICEhdGhpcy5tYXhMYWJlbCAmJiB0aGlzLnZhbHVlWzFdID09PSB0aGlzLm1heDtcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRWYWx1ZUxlZnQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlTGVmdCA/IHRoaXMubmF0aXZlTGVmdC5uYXRpdmVFbGVtZW50LnZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgZ2V0IGlucHV0VmFsdWVSaWdodCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVSaWdodCA/IHRoaXMubmF0aXZlUmlnaHQubmF0aXZlRWxlbWVudC52YWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlTGVmdCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlZFB1cmVWYWx1ZUxlZnQodGhpcy52YWx1ZVswXSk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWVSaWdodCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlZFB1cmVWYWx1ZVJpZ2h0KHRoaXMudmFsdWVbMV0pO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oKSB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZVJpZ2h0ICYmICF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlUmlnaHQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleURvd25BcnJvd1VwTGVmdChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzU3RlcCh0cnVlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgb25LZXlEb3duQXJyb3dEb3duTGVmdChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzU3RlcChmYWxzZSwgZmFsc2UpO1xuICAgIH1cblxuICAgIG9uS2V5RG93bkFycm93VXBSaWdodChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzU3RlcCh0cnVlLCB0cnVlKTtcbiAgICB9XG5cbiAgICBvbktleURvd25BcnJvd0Rvd25SaWdodChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzU3RlcChmYWxzZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgb25JbnB1dExlZnQoKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pbnB1dFZhbHVlTGVmdDtcbiAgICAgICAgY29uc3QgY2FwcGVkID0gdGhpcy5jYXBJbnB1dFZhbHVlKHZhbHVlLCB0aGlzLnZhbHVlWzFdKTtcbiAgICAgICAgY29uc3QgcG9zdGZpeCA9IHZhbHVlLnNsaWNlKC0xKVswXSA9PT0gJywnID8gJywnIDogJyc7XG5cbiAgICAgICAgaWYgKG1hc2tlZE1vbmV5VmFsdWVJc0VtcHR5KHZhbHVlKSB8fCBjYXBwZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5mb3JtYXROdW1iZXIoY2FwcGVkKSArIHBvc3RmaXg7XG5cbiAgICAgICAgaWYgKHRoaXMubmF0aXZlTGVmdCAmJiB0aGlzLmlucHV0VmFsdWVMZWZ0ICE9PSBuZXdWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVMZWZ0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW2NhcHBlZCwgdGhpcy52YWx1ZVsxXV0pO1xuICAgIH1cblxuICAgIG9uSW5wdXRSaWdodCgpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmlucHV0VmFsdWVSaWdodDtcbiAgICAgICAgY29uc3QgY2FwcGVkID0gdGhpcy5jYXBJbnB1dFZhbHVlKHZhbHVlKTtcbiAgICAgICAgY29uc3QgcG9zdGZpeCA9IHZhbHVlLnNsaWNlKC0xKVswXSA9PT0gJywnID8gJywnIDogJyc7XG5cbiAgICAgICAgaWYgKG1hc2tlZE1vbmV5VmFsdWVJc0VtcHR5KHZhbHVlKSB8fCBjYXBwZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5mb3JtYXROdW1iZXIoY2FwcGVkKSArIHBvc3RmaXg7XG5cbiAgICAgICAgaWYgKHRoaXMubmF0aXZlUmlnaHQgJiYgdGhpcy5pbnB1dFZhbHVlUmlnaHQgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVJpZ2h0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjYXBwZWQgPj0gdGhpcy52YWx1ZVswXSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShbdGhpcy52YWx1ZVswXSwgY2FwcGVkXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJhbmdlVmFsdWUodmFsdWU6IFtudW1iZXIsIG51bWJlcl0pIHtcbiAgICAgICAgY29uc3QgZ3VhcmRlZFZhbHVlID0gdmFsdWUubWFwKGl0ZW0gPT4gdGhpcy52YWx1ZUd1YXJkKGl0ZW0pKSBhcyBbbnVtYmVyLCBudW1iZXJdO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLm5hdGl2ZUxlZnQgfHxcbiAgICAgICAgICAgICF0aGlzLm5hdGl2ZVJpZ2h0IHx8XG4gICAgICAgICAgICAoZ3VhcmRlZFZhbHVlWzBdID09PSB0aGlzLnZhbHVlWzBdICYmIGd1YXJkZWRWYWx1ZVsxXSA9PT0gdGhpcy52YWx1ZVsxXSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPVxuICAgICAgICAgICAgICAgIGd1YXJkZWRWYWx1ZVswXSAhPT0gdGhpcy52YWx1ZVswXVxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMubmF0aXZlTGVmdC5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5uYXRpdmVSaWdodC5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShndWFyZGVkVmFsdWUpO1xuICAgICAgICB0aGlzLm5hdGl2ZUxlZnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKGd1YXJkZWRWYWx1ZVswXSk7XG4gICAgfVxuXG4gICAgb25MZWZ0Rm9jdXNlZChmb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChmb2N1c2VkIHx8ICF0aGlzLm5hdGl2ZUxlZnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlucHV0VmFsdWUgPSBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRWYWx1ZUxlZnQsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gaXNOYU4oaW5wdXRWYWx1ZSkgPyB0aGlzLm1pbiA6IHRoaXMudmFsdWVHdWFyZChpbnB1dFZhbHVlKTtcblxuICAgICAgICB0aGlzLm5hdGl2ZUxlZnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlKTtcblxuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWVbMF0pIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW3ZhbHVlLCB0aGlzLnZhbHVlWzFdXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJpZ2h0Rm9jdXNlZChmb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChmb2N1c2VkIHx8ICF0aGlzLm5hdGl2ZVJpZ2h0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkVmFsdWVSaWdodCxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCB2YWx1ZSA9IGlzTmFOKGlucHV0VmFsdWUpXG4gICAgICAgICAgICA/IHRoaXMudmFsdWVbMF1cbiAgICAgICAgICAgIDogdGhpcy52YWx1ZUd1YXJkKE1hdGgubWF4KGlucHV0VmFsdWUsIHRoaXMudmFsdWVbMF0pKTtcblxuICAgICAgICB0aGlzLm5hdGl2ZVJpZ2h0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmZvcm1hdE51bWJlcih2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlWzFdKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFt0aGlzLnZhbHVlWzBdLCB2YWx1ZV0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgICAgIHJldHVybiBbMCwgMF07XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNvbXB1dGVkUHVyZVZhbHVlTGVmdCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdE51bWJlcih2YWx1ZSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNvbXB1dGVkUHVyZVZhbHVlUmlnaHQodmFsdWU6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXROdW1iZXIodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0TnVtYmVyKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyKFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1N0ZXAoaW5jcmVtZW50OiBib29sZWFuLCByaWdodDogYm9vbGVhbikge1xuICAgICAgICBjb25zdCBzdGFydCA9IHRoaXMudmFsdWVHdWFyZChcbiAgICAgICAgICAgIGluY3JlbWVudCA/IHRoaXMudmFsdWVbMF0gKyB0aGlzLnN0ZXAgOiB0aGlzLnZhbHVlWzBdIC0gdGhpcy5zdGVwLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBlbmQgPSB0aGlzLnZhbHVlR3VhcmQoXG4gICAgICAgICAgICBpbmNyZW1lbnQgPyB0aGlzLnZhbHVlWzFdICsgdGhpcy5zdGVwIDogdGhpcy52YWx1ZVsxXSAtIHRoaXMuc3RlcCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdmFsdWU6IFtudW1iZXIsIG51bWJlcl0gPSBbXG4gICAgICAgICAgICByaWdodCA/IHRoaXMudmFsdWVbMF0gOiBNYXRoLm1pbihzdGFydCwgdGhpcy52YWx1ZVsxXSksXG4gICAgICAgICAgICByaWdodCA/IE1hdGgubWF4KGVuZCwgdGhpcy52YWx1ZVswXSkgOiB0aGlzLnZhbHVlWzFdLFxuICAgICAgICBdO1xuXG4gICAgICAgIGlmICh2YWx1ZVswXSAhPT0gdGhpcy52YWx1ZVswXSB8fCB2YWx1ZVsxXSAhPT0gdGhpcy52YWx1ZVsxXSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,18 +1,44 @@
1
1
  import { __decorate, __extends, __param } from "tslib";
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, HostBinding, Inject, Input, Optional, Self, ViewChild, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, ElementRef, forwardRef, HostBinding, Inject, Input, Optional, Self, ViewChild, } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
4
  import { isNativeFocused, setNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, } from '@taiga-ui/cdk';
5
- import { formatNumber, HINT_CONTROLLER_PROVIDER, maskedMoneyValueIsEmpty, maskedNumberStringToNumber, NumberFormatSettings, TUI_HINT_WATCHED_CONTROLLER, TUI_NUMBER_FORMAT, TUI_TEXTFIELD_APPEARANCE, TuiHintControllerDirective, TuiModeDirective, } from '@taiga-ui/core';
5
+ import { formatNumber, HINT_CONTROLLER_PROVIDER, maskedMoneyValueIsEmpty, maskedNumberStringToNumber, NumberFormatSettings, TEXTFIELD_CONTROLLER_PROVIDER, TUI_HINT_WATCHED_CONTROLLER, TUI_NUMBER_FORMAT, TUI_TEXTFIELD_APPEARANCE, TUI_TEXTFIELD_WATCHED_CONTROLLER, TuiHintControllerDirective, TuiModeDirective, TuiTextfieldController, } from '@taiga-ui/core';
6
6
  import { AbstractTuiInputSlider } from '@taiga-ui/kit/abstract';
7
+ import { TuiSliderComponent, tuiSliderOptionsProvider, } from '@taiga-ui/kit/components/slider';
8
+ import { TUI_FROM_TO_TEXTS } from '@taiga-ui/kit/tokens';
9
+ import { Observable } from 'rxjs';
10
+ /**
11
+ * Turn on new `InputSlider`'s version.
12
+ * The new version will behave almost the same as `InputSlider` from the next major release.
13
+ * @deprecated TODO remove me in v3.0 and make `InputSlider` always "new".
14
+ */
15
+ var TuiNewInputSliderDirective = /** @class */ (function () {
16
+ function TuiNewInputSliderDirective() {
17
+ }
18
+ TuiNewInputSliderDirective = __decorate([
19
+ Directive({
20
+ selector: 'tui-input-slider[new]',
21
+ })
22
+ ], TuiNewInputSliderDirective);
23
+ return TuiNewInputSliderDirective;
24
+ }());
25
+ export { TuiNewInputSliderDirective };
7
26
  // @dynamic
8
27
  var TuiInputSliderComponent = /** @class */ (function (_super) {
9
28
  __extends(TuiInputSliderComponent, _super);
10
- function TuiInputSliderComponent(control, changeDetectorRef, modeDirective, hintController, numberFormat, appearance) {
29
+ function TuiInputSliderComponent(control, changeDetectorRef, modeDirective, hintController, controller, numberFormat, appearance, fromToTexts$, isNew) {
11
30
  var _this = _super.call(this, control, changeDetectorRef) || this;
12
31
  _this.modeDirective = modeDirective;
13
32
  _this.hintController = hintController;
33
+ _this.controller = controller;
14
34
  _this.numberFormat = numberFormat;
15
35
  _this.appearance = appearance;
36
+ _this.fromToTexts$ = fromToTexts$;
37
+ _this.isNew = isNew;
38
+ /**
39
+ * @deprecated use `tuiTextfieldCustomContent` instead
40
+ * TODO delete in v3.0
41
+ */
16
42
  _this.secondary = '';
17
43
  return _this;
18
44
  }
@@ -28,7 +54,9 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
28
54
  });
29
55
  Object.defineProperty(TuiInputSliderComponent.prototype, "focused", {
30
56
  get: function () {
31
- return isNativeFocused(this.nativeFocusableElement);
57
+ var _a;
58
+ return (isNativeFocused(this.nativeFocusableElement) ||
59
+ isNativeFocused(((_a = this.sliderRef) === null || _a === void 0 ? void 0 : _a.nativeElement) || null));
32
60
  },
33
61
  enumerable: true,
34
62
  configurable: true
@@ -83,7 +111,7 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
83
111
  enumerable: true,
84
112
  configurable: true
85
113
  });
86
- TuiInputSliderComponent.prototype.onMouseDown = function () {
114
+ TuiInputSliderComponent.prototype.focusTextInput = function () {
87
115
  if (this.focusableElement) {
88
116
  setNativeFocused(this.focusableElement.nativeElement);
89
117
  }
@@ -168,12 +196,18 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
168
196
  { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
169
197
  { type: TuiModeDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiModeDirective,] }] },
170
198
  { type: TuiHintControllerDirective, decorators: [{ type: Inject, args: [TUI_HINT_WATCHED_CONTROLLER,] }] },
199
+ { type: TuiTextfieldController, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_WATCHED_CONTROLLER,] }] },
171
200
  { type: undefined, decorators: [{ type: Inject, args: [TUI_NUMBER_FORMAT,] }] },
172
- { type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] }
201
+ { type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] },
202
+ { type: Observable, decorators: [{ type: Inject, args: [TUI_FROM_TO_TEXTS,] }] },
203
+ { type: TuiNewInputSliderDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiNewInputSliderDirective,] }] }
173
204
  ]; };
174
205
  __decorate([
175
206
  ViewChild('focusableElement')
176
207
  ], TuiInputSliderComponent.prototype, "focusableElement", void 0);
208
+ __decorate([
209
+ ViewChild(TuiSliderComponent, { read: ElementRef })
210
+ ], TuiInputSliderComponent.prototype, "sliderRef", void 0);
177
211
  __decorate([
178
212
  Input(),
179
213
  tuiDefaultProp()
@@ -190,16 +224,25 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
190
224
  TuiInputSliderComponent = TuiInputSliderComponent_1 = __decorate([
191
225
  Component({
192
226
  selector: 'tui-input-slider',
193
- template: "<tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n>\n <span\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-slider__placeholder\"\n class=\"placeholder placeholder_raised\"\n >\n <ng-content></ng-content>\n </span>\n <input\n #focusableElement\n automation-id=\"tui-input-slider__native\"\n class=\"native\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValue\"\n (ngModelChange)=\"onValue($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUp($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDown($event)\"\n />\n <div class=\"content\">\n <span *ngIf=\"showValue\" class=\"label\">\n <span class=\"value\">{{ computedValue }}</span>\n <span\n *ngIf=\"pluralizeMap\"\n automation-id=\"tui-input-slider__pluralize\"\n >\n {{ value | i18nPlural: pluralizeMap }}\n </span>\n </span>\n <span\n *ngIf=\"showMinLabel\"\n automation-id=\"tui-input-slider__min-label\"\n class=\"label\"\n >\n {{ minLabel }}\n </span>\n <span\n *ngIf=\"showMaxLabel\"\n automation-id=\"tui-input-slider__max-label\"\n class=\"label\"\n >\n {{ maxLabel }}\n </span>\n <span automation-id=\"tui-input-slider__secondary\" class=\"secondary\">\n {{ secondary }}\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-input-slider__tooltip\"\n describeId=\"placeholer_until_accesibility_is_added\"\n class=\"tooltip\"\n [content]=\"hintController.content\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n (mousedown.prevent)=\"onMouseDown()\"\n ></tui-tooltip>\n </span>\n </div>\n</tui-wrapper>\n<tui-slider\n class=\"slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralize\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onSliderValue($event)\"\n (mousedown)=\"onMouseDown()\"\n></tui-slider>\n",
227
+ template: "<tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n>\n <span\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-slider__placeholder\"\n class=\"t-placeholder t-placeholder_raised\"\n >\n <ng-content></ng-content>\n </span>\n <input\n #focusableElement\n automation-id=\"tui-input-slider__native\"\n class=\"t-native\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValue\"\n (ngModelChange)=\"onValue($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUp($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDown($event)\"\n />\n <div class=\"t-content\">\n <span *ngIf=\"showValue\" class=\"t-label\">\n <span class=\"t-value\">{{ computedValue }}</span>\n <span\n *ngIf=\"pluralizeMap\"\n automation-id=\"tui-input-slider__pluralize\"\n >\n {{ value | i18nPlural: pluralizeMap }}\n </span>\n </span>\n <span\n *ngIf=\"showMinLabel\"\n automation-id=\"tui-input-slider__min-label\"\n class=\"t-label\"\n >\n {{ minLabel }}\n </span>\n <span\n *ngIf=\"showMaxLabel\"\n automation-id=\"tui-input-slider__max-label\"\n class=\"t-label\"\n >\n {{ maxLabel }}\n </span>\n <span automation-id=\"tui-input-slider__secondary\" class=\"t-secondary\">\n <span\n polymorpheus-outlet\n [content]=\"controller.customContent || secondary\"\n ></span>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-input-slider__tooltip\"\n describeId=\"placeholer_until_accesibility_is_added\"\n class=\"t-tooltip\"\n [content]=\"hintController.content\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n (mousedown.prevent)=\"focusTextInput()\"\n ></tui-tooltip>\n </span>\n </div>\n</tui-wrapper>\n\n<!--TODO: remove wrapper + ticks labels (leave only slider) in v3.0-->\n<div class=\"t-slider-wrapper\">\n <input\n tuiSlider\n type=\"range\"\n [tuiFocusable]=\"false\"\n [max]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"computedKeySteps\"\n [attr.disabled]=\"readOnly || disabled || null\"\n [ngModel]=\"value\"\n (keyStepsInput)=\"onSliderValue($event)\"\n (click)=\"focusTextInput()\"\n />\n\n <!--TODO delete ticks labels in v3.0-->\n <div *ngIf=\"segmented && !isNew\" class=\"t-ticks-labels\">\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n >\n <span *ngIf=\"fromToTexts$ | async as fromToText\">\n {{ getTickPrefix(tickIndex, segments, fromToText) }} {{\n tickIndex | tuiSliderTickLabel:segments:computedKeySteps |\n tuiFormatNumber}}\n <span *ngIf=\"segmentsPluralizeMap\">\n {{ tickIndex | tuiSliderTickLabel:segments:computedKeySteps\n | i18nPlural: segmentsPluralizeMap }}\n </span>\n </span>\n </span>\n </div>\n</div>\n",
228
+ host: {
229
+ /**
230
+ * TODO delete it in v3.0
231
+ * Dont forget to clear html-tags
232
+ */
233
+ '[class._show-ticks-labels]': '!isNew',
234
+ },
194
235
  changeDetection: ChangeDetectionStrategy.OnPush,
195
236
  providers: [
196
237
  {
197
238
  provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
198
239
  useExisting: forwardRef(function () { return TuiInputSliderComponent_1; }),
199
240
  },
241
+ tuiSliderOptionsProvider({ trackColor: 'transparent' }),
200
242
  HINT_CONTROLLER_PROVIDER,
243
+ TEXTFIELD_CONTROLLER_PROVIDER,
201
244
  ],
202
- styles: [":host{position:relative;z-index:0;display:block;font:var(--tui-font-text-m);border-radius:var(--tui-radius-m);color:var(--tui-text-01)}:host._segmented{border-bottom:26px solid transparent}.native{position:absolute;top:0;left:0;height:100%;padding:0 1rem;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;width:100%;color:var(--tui-text-01);box-sizing:border-box;outline:0}.native:-webkit-autofill,.native:-webkit-autofill:focus,.native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host._disabled .native{color:var(--tui-text-03);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host._max-label .native,:host._min-label .native{opacity:0}:host[data-size='l'] .native{padding:1.25rem 1rem 0}:host[data-mode=onDark] .native{color:var(--tui-text-01-night)}:host[data-mode=onDark]._disabled .native{color:var(--tui-text-03-night)}.content{display:flex;align-items:center;height:var(--tui-height-m);padding:0 1rem;justify-content:space-between}:host[data-size='l'] .content{height:var(--tui-height-l);padding:0 1rem}.placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-l);line-height:var(--tui-height-l);box-sizing:border-box;pointer-events:none}.placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .placeholder_raised,:host._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .placeholder,:host[data-size='l']._focused._label-outside .placeholder,:host[data-size='m']._focused._label-outside .placeholder{color:var(--tui-text-03)}:host[data-size='l'] .placeholder{font-size:.9375rem}:host[data-size='l'] .placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .placeholder,:host[data-size='m']._focused:not(._label-outside) .placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .placeholder{color:var(--tui-text-02-night)}:host._has-tooltip .placeholder{max-width:calc(100% - 1.75rem)}.value{visibility:hidden}.label{overflow:hidden;text-overflow:ellipsis}:host[data-size='l'] .label{padding-top:1.25rem}.secondary{color:var(--tui-text-01)}:host._disabled .secondary{color:var(--tui-text-03)}:host[data-mode=onDark]._disabled .secondary{color:var(--tui-text-03-night)}.tooltip{margin-left:.75rem}.slider{position:absolute;top:100%;left:0;right:0;border-top-left-radius:0;border-top-right-radius:0;margin:-.5625rem 0 0;color:transparent}:host._disabled .slider,:host._readonly .slider{pointer-events:none}"]
245
+ styles: [":host{position:relative;z-index:0;display:block;font:var(--tui-font-text-m);border-radius:var(--tui-radius-m);color:var(--tui-text-01)}:host._segmented._show-ticks-labels{border-bottom:26px solid transparent}.t-native{position:absolute;top:0;left:0;height:100%;padding:0 1rem;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;width:100%;color:var(--tui-text-01);box-sizing:border-box;outline:0}.t-native:-webkit-autofill,.t-native:-webkit-autofill:focus,.t-native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host._disabled .t-native{color:var(--tui-text-03);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host._max-label .t-native,:host._min-label .t-native{opacity:0}:host[data-size='l'] .t-native{padding:1.25rem 1rem 0}:host[data-mode=onDark] .t-native{color:var(--tui-text-01-night)}:host[data-mode=onDark]._disabled .t-native{color:var(--tui-text-03-night)}.t-content{display:flex;align-items:center;height:var(--tui-height-m);padding:0 1rem;justify-content:space-between}:host[data-size='l'] .t-content{height:var(--tui-height-l);padding:0 1rem}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-l);line-height:var(--tui-height-l);box-sizing:border-box;pointer-events:none}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}:host._has-tooltip .t-placeholder{max-width:calc(100% - 1.75rem)}.t-value{visibility:hidden}.t-label{overflow:hidden;text-overflow:ellipsis}:host[data-size='l'] .t-label{padding-top:1.25rem}.t-secondary{color:var(--tui-text-01)}:host._disabled .t-secondary{color:var(--tui-text-03)}:host[data-mode=onDark]._disabled .t-secondary{color:var(--tui-text-03-night)}.t-tooltip{margin-left:.75rem}.t-slider-wrapper{position:absolute;top:100%;left:calc(var(--tui-radius-m)/ 2);right:0;margin:-.5625rem 0 0}input[type=range]{border-top-left-radius:0;border-bottom-left-radius:calc(var(--tui-radius-m) * 5) calc(var(--tui-radius-m) * 1.5)}.t-ticks-labels{display:flex;margin:0 .5rem;font:var(--tui-font-text-s);color:var(--tui-text-02)}.t-ticks-labels>*{position:relative;flex:2;text-align:center}.t-ticks-labels>:first-child{left:-.5rem;flex:1;text-align:left}.t-ticks-labels>:last-child{right:-.5rem;flex:1;text-align:right}tui-input-slider+.t-ticks-labels{margin-left:calc(var(--tui-radius-m)/ 2 + .5rem)}"]
203
246
  }),
204
247
  __param(0, Optional()),
205
248
  __param(0, Self()),
@@ -208,10 +251,14 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
208
251
  __param(2, Optional()),
209
252
  __param(2, Inject(TuiModeDirective)),
210
253
  __param(3, Inject(TUI_HINT_WATCHED_CONTROLLER)),
211
- __param(4, Inject(TUI_NUMBER_FORMAT)),
212
- __param(5, Inject(TUI_TEXTFIELD_APPEARANCE))
254
+ __param(4, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)),
255
+ __param(5, Inject(TUI_NUMBER_FORMAT)),
256
+ __param(6, Inject(TUI_TEXTFIELD_APPEARANCE)),
257
+ __param(7, Inject(TUI_FROM_TO_TEXTS)),
258
+ __param(8, Optional()),
259
+ __param(8, Inject(TuiNewInputSliderDirective))
213
260
  ], TuiInputSliderComponent);
214
261
  return TuiInputSliderComponent;
215
262
  }(AbstractTuiInputSlider));
216
263
  export { TuiInputSliderComponent };
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLGNBQWMsR0FHakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFlBQVksRUFDWix3QkFBd0IsRUFDeEIsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsMEJBQTBCLEVBQzFCLGdCQUFnQixHQUNuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTlELFdBQVc7QUFjWDtJQUNZLDJDQUE4QjtJQVV0QyxpQ0FJSSxPQUF5QixFQUNFLGlCQUFvQyxFQUc1QyxhQUFzQyxFQUVoRCxjQUEwQyxFQUVoQyxZQUFrQyxFQUU1QyxVQUFrQjtRQWQvQixZQWdCSSxrQkFBTSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsU0FDcEM7UUFUc0IsbUJBQWEsR0FBYixhQUFhLENBQXlCO1FBRWhELG9CQUFjLEdBQWQsY0FBYyxDQUE0QjtRQUVoQyxrQkFBWSxHQUFaLFlBQVksQ0FBc0I7UUFFNUMsZ0JBQVUsR0FBVixVQUFV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V0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUV4QixXQUFBLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO1FBRW5DLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFekIsV0FBQSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtPQXhCNUIsdUJBQXVCLENBeUxuQztJQUFELDhCQUFDO0NBQUEsQUF6TEQsQ0FDWSxzQkFBc0IsR0F3TGpDO1NBekxZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgZm9ybWF0TnVtYmVyLFxuICAgIEhJTlRfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBtYXNrZWRNb25leVZhbHVlSXNFbXB0eSxcbiAgICBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcixcbiAgICBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICBUVUlfSElOVF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVFVJX05VTUJFUl9GT1JNQVQsXG4gICAgVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFLFxuICAgIFR1aUhpbnRDb250cm9sbGVyRGlyZWN0aXZlLFxuICAgIFR1aU1vZGVEaXJlY3RpdmUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RUdWlJbnB1dFNsaWRlcn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9hYnN0cmFjdCc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1zbGlkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1zbGlkZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtc2xpZGVyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRTbGlkZXJDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBISU5UX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRTbGlkZXJDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpSW5wdXRTbGlkZXI8bnVtYmVyPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZCgnZm9jdXNhYmxlRWxlbWVudCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2FibGVFbGVtZW50PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZWNvbmRhcnkgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTW9kZURpcmVjdGl2ZSlcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vZGVEaXJlY3RpdmU6IFR1aU1vZGVEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9ISU5UX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgaGludENvbnRyb2xsZXI6IFR1aUhpbnRDb250cm9sbGVyRGlyZWN0aXZlLFxuICAgICAgICBASW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKVxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbnVtYmVyRm9ybWF0OiBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UpXG4gICAgICAgIHJlYWRvbmx5IGFwcGVhcmFuY2U6IHN0cmluZyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmZvY3VzYWJsZUVsZW1lbnQgfHwgdGhpcy5jb21wdXRlZERpc2FibGVkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5mb2N1c2FibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9oYXMtdG9vbHRpcCcpXG4gICAgZ2V0IGhhc1Rvb2x0aXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGludENvbnRyb2xsZXIuY29udGVudCAmJiAhdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9taW4tbGFiZWwnKVxuICAgIGdldCBzaG93TWluTGFiZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5mb2N1c2VkICYmIHRoaXMudmFsdWUgPT09IHRoaXMubWluICYmICEhdGhpcy5taW5MYWJlbDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9tYXgtbGFiZWwnKVxuICAgIGdldCBzaG93TWF4TGFiZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5mb2N1c2VkICYmIHRoaXMudmFsdWUgPT09IHRoaXMubWF4ICYmICEhdGhpcy5tYXhMYWJlbDtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2VkICYmIHRoaXMuaXNJbnB1dFZhbHVlTm90RmluaXNoZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlucHV0VmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgc2hvd1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuc2hvd01pbkxhYmVsICYmICF0aGlzLnNob3dNYXhMYWJlbDtcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGVFbGVtZW50ID8gdGhpcy5mb2N1c2FibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBzZXQgaW5wdXRWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1vdXNlRG93bigpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleURvd25BcnJvd1VwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnByb2Nlc3NTdGVwKHRydWUpO1xuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIG9uS2V5RG93bkFycm93RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzU3RlcChmYWxzZSk7XG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGlmIChmb2N1c2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkVmFsdWUsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gaXNOYU4oaW5wdXRWYWx1ZSkgPyB0aGlzLm1pbiA6IHRoaXMudmFsdWVHdWFyZChpbnB1dFZhbHVlKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBvblZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgY2FwcGVkID0gdGhpcy5jYXBJbnB1dFZhbHVlKHZhbHVlKTtcbiAgICAgICAgY29uc3QgcG9zdGZpeCA9IHZhbHVlLnNsaWNlKC0xKVswXSA9PT0gJywnID8gJywnIDogJyc7XG5cbiAgICAgICAgaWYgKG1hc2tlZE1vbmV5VmFsdWVJc0VtcHR5KHZhbHVlKSB8fCBjYXBwZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5mb3JtYXROdW1iZXIoY2FwcGVkKSArIHBvc3RmaXg7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSBuZXdWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGNhcHBlZCk7XG4gICAgfVxuXG4gICAgb25TbGlkZXJWYWx1ZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy52YWx1ZUd1YXJkKHZhbHVlKSk7XG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZm9ybWF0dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0TnVtYmVyKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzSW5wdXRWYWx1ZU5vdEZpbmlzaGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pbnB1dFZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuYXRpdmVOdW1iZXJWYWx1ZSA9IG1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyKFxuICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBuYXRpdmVOdW1iZXJWYWx1ZSA8IDBcbiAgICAgICAgICAgID8gbmF0aXZlTnVtYmVyVmFsdWUgPiB0aGlzLm1heFxuICAgICAgICAgICAgOiBuYXRpdmVOdW1iZXJWYWx1ZSA8IHRoaXMubWluO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1N0ZXAoaW5jcmVtZW50OiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZUd1YXJkKFxuICAgICAgICAgICAgaW5jcmVtZW50ID8gdGhpcy52YWx1ZSArIHRoaXMuc3RlcCA6IHRoaXMudmFsdWUgLSB0aGlzLnN0ZXAsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0TnVtYmVyKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyKFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLDJCQUEyQixFQUMzQixjQUFjLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxZQUFZLEVBQ1osd0JBQXdCLEVBQ3hCLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLDZCQUE2QixFQUM3QiwyQkFBMkIsRUFDM0IsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixnQ0FBZ0MsRUFDaEMsMEJBQTBCLEVBQzFCLGdCQUFnQixFQUNoQixzQkFBc0IsR0FDekIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHdCQUF3QixHQUMzQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFaEM7Ozs7R0FJRztBQUlIO0lBQUE7SUFBeUMsQ0FBQztJQUE3QiwwQkFBMEI7UUFIdEMsU0FBUyxDQUFD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akIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUV4QixXQUFBLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO1FBRW5DLFdBQUEsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7UUFFeEMsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUV6QixXQUFBLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBRWhDLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDekIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUE7T0FyQzlCLHVCQUF1QixDQXlNbkM7SUFBRCw4QkFBQztDQUFBLEFBek1ELENBQ1ksc0JBQXNCLEdBd01qQztTQXpNWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBmb3JtYXROdW1iZXIsXG4gICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIG1hc2tlZE1vbmV5VmFsdWVJc0VtcHR5LFxuICAgIG1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyLFxuICAgIE51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9ISU5UX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUVUlfTlVNQkVSX0ZPUk1BVCxcbiAgICBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgVHVpTW9kZURpcmVjdGl2ZSxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSW5wdXRTbGlkZXJ9IGZyb20gJ0B0YWlnYS11aS9raXQvYWJzdHJhY3QnO1xuaW1wb3J0IHtcbiAgICBUdWlTbGlkZXJDb21wb25lbnQsXG4gICAgdHVpU2xpZGVyT3B0aW9uc1Byb3ZpZGVyLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcbmltcG9ydCB7VFVJX0ZST01fVE9fVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogVHVybiBvbiBuZXcgYElucHV0U2xpZGVyYCdzIHZlcnNpb24uXG4gKiBUaGUgbmV3IHZlcnNpb24gd2lsbCBiZWhhdmUgYWxtb3N0IHRoZSBzYW1lIGFzIGBJbnB1dFNsaWRlcmAgZnJvbSB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlxuICogQGRlcHJlY2F0ZWQgVE9ETyByZW1vdmUgbWUgaW4gdjMuMCBhbmQgbWFrZSBgSW5wdXRTbGlkZXJgIGFsd2F5cyBcIm5ld1wiLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1zbGlkZXJbbmV3XScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aU5ld0lucHV0U2xpZGVyRGlyZWN0aXZlIHt9XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1zbGlkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1zbGlkZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtc2xpZGVyLnN0eWxlLmxlc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUT0RPIGRlbGV0ZSBpdCBpbiB2My4wXG4gICAgICAgICAqIERvbnQgZm9yZ2V0IHRvIGNsZWFyIGh0bWwtdGFnc1xuICAgICAgICAgKi9cbiAgICAgICAgJ1tjbGFzcy5fc2hvdy10aWNrcy1sYWJlbHNdJzogJyFpc05ldycsXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRTbGlkZXJDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB0dWlTbGlkZXJPcHRpb25zUHJvdmlkZXIoe3RyYWNrQ29sb3I6ICd0cmFuc3BhcmVudCd9KSxcbiAgICAgICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFNsaWRlckNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcjxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKCdmb2N1c2FibGVFbGVtZW50JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvY3VzYWJsZUVsZW1lbnQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTbGlkZXJDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNsaWRlclJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgYHR1aVRleHRmaWVsZEN1c3RvbUNvbnRlbnRgIGluc3RlYWRcbiAgICAgKiBUT0RPIGRlbGV0ZSBpbiB2My4wXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlY29uZGFyeSA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlNb2RlRGlyZWN0aXZlKVxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kZURpcmVjdGl2ZTogVHVpTW9kZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX0hJTlRfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBoaW50Q29udHJvbGxlcjogVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX05VTUJFUl9GT1JNQVQpXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBudW1iZXJGb3JtYXQ6IE51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfQVBQRUFSQU5DRSlcbiAgICAgICAgcmVhZG9ubHkgYXBwZWFyYW5jZTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFRVSV9GUk9NX1RPX1RFWFRTKSByZWFkb25seSBmcm9tVG9UZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTmV3SW5wdXRTbGlkZXJEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IGlzTmV3OiBUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5mb2N1c2FibGVFbGVtZW50IHx8IHRoaXMuY29tcHV0ZWREaXNhYmxlZFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkgfHxcbiAgICAgICAgICAgIGlzTmF0aXZlRm9jdXNlZCh0aGlzLnNsaWRlclJlZj8ubmF0aXZlRWxlbWVudCB8fCBudWxsKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2hhcy10b29sdGlwJylcbiAgICBnZXQgaGFzVG9vbHRpcCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5oaW50Q29udHJvbGxlci5jb250ZW50ICYmICF0aGlzLmRpc2FibGVkO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX21pbi1sYWJlbCcpXG4gICAgZ2V0IHNob3dNaW5MYWJlbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmZvY3VzZWQgJiYgdGhpcy52YWx1ZSA9PT0gdGhpcy5taW4gJiYgISF0aGlzLm1pbkxhYmVsO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX21heC1sYWJlbCcpXG4gICAgZ2V0IHNob3dNYXhMYWJlbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmZvY3VzZWQgJiYgdGhpcy52YWx1ZSA9PT0gdGhpcy5tYXggJiYgISF0aGlzLm1heExhYmVsO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQgJiYgdGhpcy5pc0lucHV0VmFsdWVOb3RGaW5pc2hlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIGdldCBzaG93VmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5zaG93TWluTGFiZWwgJiYgIXRoaXMuc2hvd01heExhYmVsO1xuICAgIH1cblxuICAgIGdldCBpbnB1dFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIHNldCBpbnB1dFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2FibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvY3VzVGV4dElucHV0KCkge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uS2V5RG93bkFycm93VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc1N0ZXAodHJ1ZSk7XG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgb25LZXlEb3duQXJyb3dEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnByb2Nlc3NTdGVwKGZhbHNlKTtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG5cbiAgICAgICAgaWYgKGZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlucHV0VmFsdWUgPSBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRWYWx1ZSxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBpc05hTihpbnB1dFZhbHVlKSA/IHRoaXMubWluIDogdGhpcy52YWx1ZUd1YXJkKGlucHV0VmFsdWUpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIG9uVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBjYXBwZWQgPSB0aGlzLmNhcElucHV0VmFsdWUodmFsdWUpO1xuICAgICAgICBjb25zdCBwb3N0Zml4ID0gdmFsdWUuc2xpY2UoLTEpWzBdID09PSAnLCcgPyAnLCcgOiAnJztcblxuICAgICAgICBpZiAobWFza2VkTW9uZXlWYWx1ZUlzRW1wdHkodmFsdWUpIHx8IGNhcHBlZCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLmZvcm1hdE51bWJlcihjYXBwZWQpICsgcG9zdGZpeDtcblxuICAgICAgICBpZiAodmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoY2FwcGVkKTtcbiAgICB9XG5cbiAgICBvblNsaWRlclZhbHVlKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlR3VhcmQodmFsdWUpKTtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBmb3JtYXR0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXROdW1iZXIodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNJbnB1dFZhbHVlTm90RmluaXNoZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0VmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5hdGl2ZU51bWJlclZhbHVlID0gbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIG5hdGl2ZU51bWJlclZhbHVlIDwgMFxuICAgICAgICAgICAgPyBuYXRpdmVOdW1iZXJWYWx1ZSA+IHRoaXMubWF4XG4gICAgICAgICAgICA6IG5hdGl2ZU51bWJlclZhbHVlIDwgdGhpcy5taW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzU3RlcChpbmNyZW1lbnQ6IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlR3VhcmQoXG4gICAgICAgICAgICBpbmNyZW1lbnQgPyB0aGlzLnZhbHVlICsgdGhpcy5zdGVwIDogdGhpcy52YWx1ZSAtIHRoaXMuc3RlcCxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBmb3JtYXROdW1iZXIoXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -2,11 +2,12 @@ import { __decorate } from "tslib";
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { NgModule } from '@angular/core';
4
4
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
- import { TuiFocusableModule, TuiFocusedModule, TuiHoveredModule, TuiInputModeModule, TuiMapperPipeModule, TuiPressedModule, } from '@taiga-ui/cdk';
6
- import { TuiTooltipModule, TuiWrapperModule } from '@taiga-ui/core';
5
+ import { TuiFocusableModule, TuiFocusedModule, TuiHoveredModule, TuiInputModeModule, TuiMapperPipeModule, TuiPressedModule, TuiRepeatTimesModule, } from '@taiga-ui/cdk';
6
+ import { TuiFormatNumberPipeModule, TuiTooltipModule, TuiWrapperModule, } from '@taiga-ui/core';
7
7
  import { TuiSliderModule } from '@taiga-ui/kit/components/slider';
8
+ import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
8
9
  import { TextMaskModule } from 'angular2-text-mask';
9
- import { TuiInputSliderComponent } from './input-slider.component';
10
+ import { TuiInputSliderComponent, TuiNewInputSliderDirective, } from './input-slider.component';
10
11
  var TuiInputSliderModule = /** @class */ (function () {
11
12
  function TuiInputSliderModule() {
12
13
  }
@@ -26,12 +27,15 @@ var TuiInputSliderModule = /** @class */ (function () {
26
27
  TuiTooltipModule,
27
28
  TuiSliderModule,
28
29
  TuiWrapperModule,
30
+ TuiFormatNumberPipeModule,
31
+ TuiRepeatTimesModule,
32
+ PolymorpheusModule,
29
33
  ],
30
- declarations: [TuiInputSliderComponent],
31
- exports: [TuiInputSliderComponent],
34
+ declarations: [TuiInputSliderComponent, TuiNewInputSliderDirective],
35
+ exports: [TuiInputSliderComponent, TuiNewInputSliderDirective],
32
36
  })
33
37
  ], TuiInputSliderModule);
34
38
  return TuiInputSliderModule;
35
39
  }());
36
40
  export { TuiInputSliderModule };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUNILGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFxQmpFO0lBQUE7SUFBbUMsQ0FBQztJQUF2QixvQkFBb0I7UUFuQmhDLFFBQVEsQ0FBQztZQUNOLE9BQU8sRUFBRTtnQkFDTCxZQUFZO2dCQUNaLFdBQVc7Z0JBQ1gsbUJBQW1CO2dCQUNuQixjQUFjO2dCQUNkLGtCQUFrQjtnQkFDbEIsZ0JBQWdCO2dCQUNoQixnQkFBZ0I7Z0JBQ2hCLGdCQUFnQjtnQkFDaEIsbUJBQW1CO2dCQUNuQixrQkFBa0I7Z0JBQ2xCLGdCQUFnQjtnQkFDaEIsZUFBZTtnQkFDZixnQkFBZ0I7YUFDbkI7WUFDRCxZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztZQUN2QyxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztTQUNyQyxDQUFDO09BQ1csb0JBQW9CLENBQUc7SUFBRCwyQkFBQztDQUFBLEFBQXBDLElBQW9DO1NBQXZCLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIFR1aUZvY3VzYWJsZU1vZHVsZSxcbiAgICBUdWlGb2N1c2VkTW9kdWxlLFxuICAgIFR1aUhvdmVyZWRNb2R1bGUsXG4gICAgVHVpSW5wdXRNb2RlTW9kdWxlLFxuICAgIFR1aU1hcHBlclBpcGVNb2R1bGUsXG4gICAgVHVpUHJlc3NlZE1vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVRvb2x0aXBNb2R1bGUsIFR1aVdyYXBwZXJNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpU2xpZGVyTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcbmltcG9ydCB7VGV4dE1hc2tNb2R1bGV9IGZyb20gJ2FuZ3VsYXIyLXRleHQtbWFzayc7XG5cbmltcG9ydCB7VHVpSW5wdXRTbGlkZXJDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtc2xpZGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUZXh0TWFza01vZHVsZSxcbiAgICAgICAgVHVpRm9jdXNhYmxlTW9kdWxlLFxuICAgICAgICBUdWlGb2N1c2VkTW9kdWxlLFxuICAgICAgICBUdWlIb3ZlcmVkTW9kdWxlLFxuICAgICAgICBUdWlQcmVzc2VkTW9kdWxlLFxuICAgICAgICBUdWlNYXBwZXJQaXBlTW9kdWxlLFxuICAgICAgICBUdWlJbnB1dE1vZGVNb2R1bGUsXG4gICAgICAgIFR1aVRvb2x0aXBNb2R1bGUsXG4gICAgICAgIFR1aVNsaWRlck1vZHVsZSxcbiAgICAgICAgVHVpV3JhcHBlck1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1R1aUlucHV0U2xpZGVyQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbVHVpSW5wdXRTbGlkZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFNsaWRlck1vZHVsZSB7fVxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUNILGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLG9CQUFvQixHQUN2QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUNoQixnQkFBZ0IsR0FDbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRWxELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsMEJBQTBCLEdBQzdCLE1BQU0sMEJBQTBCLENBQUM7QUF3QmxDO0lBQUE7SUFBbUMsQ0FBQztJQUF2QixvQkFBb0I7UUF0QmhDLFFBQVEsQ0FBQztZQUNOLE9BQU8sRUFBRTtnQkFDTCxZQUFZO2dCQUNaLFdBQVc7Z0JBQ1gsbUJBQW1CO2dCQUNuQixjQUFjO2dCQUNkLGtCQUFrQjtnQkFDbEIsZ0JBQWdCO2dCQUNoQixnQkFBZ0I7Z0JBQ2hCLGdCQUFnQjtnQkFDaEIsbUJBQW1CO2dCQUNuQixrQkFBa0I7Z0JBQ2xCLGdCQUFnQjtnQkFDaEIsZUFBZTtnQkFDZixnQkFBZ0I7Z0JBQ2hCLHlCQUF5QjtnQkFDekIsb0JBQW9CO2dCQUNwQixrQkFBa0I7YUFDckI7WUFDRCxZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSwwQkFBMEIsQ0FBQztZQUNuRSxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSwwQkFBMEIsQ0FBQztTQUNqRSxDQUFDO09BQ1csb0JBQW9CLENBQUc7SUFBRCwyQkFBQztDQUFBLEFBQXBDLElBQW9DO1NBQXZCLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIFR1aUZvY3VzYWJsZU1vZHVsZSxcbiAgICBUdWlGb2N1c2VkTW9kdWxlLFxuICAgIFR1aUhvdmVyZWRNb2R1bGUsXG4gICAgVHVpSW5wdXRNb2RlTW9kdWxlLFxuICAgIFR1aU1hcHBlclBpcGVNb2R1bGUsXG4gICAgVHVpUHJlc3NlZE1vZHVsZSxcbiAgICBUdWlSZXBlYXRUaW1lc01vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFR1aUZvcm1hdE51bWJlclBpcGVNb2R1bGUsXG4gICAgVHVpVG9vbHRpcE1vZHVsZSxcbiAgICBUdWlXcmFwcGVyTW9kdWxlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aVNsaWRlck1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NsaWRlcic7XG5pbXBvcnQge1BvbHltb3JwaGV1c01vZHVsZX0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7VGV4dE1hc2tNb2R1bGV9IGZyb20gJ2FuZ3VsYXIyLXRleHQtbWFzayc7XG5cbmltcG9ydCB7XG4gICAgVHVpSW5wdXRTbGlkZXJDb21wb25lbnQsXG4gICAgVHVpTmV3SW5wdXRTbGlkZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vaW5wdXQtc2xpZGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUZXh0TWFza01vZHVsZSxcbiAgICAgICAgVHVpRm9jdXNhYmxlTW9kdWxlLFxuICAgICAgICBUdWlGb2N1c2VkTW9kdWxlLFxuICAgICAgICBUdWlIb3ZlcmVkTW9kdWxlLFxuICAgICAgICBUdWlQcmVzc2VkTW9kdWxlLFxuICAgICAgICBUdWlNYXBwZXJQaXBlTW9kdWxlLFxuICAgICAgICBUdWlJbnB1dE1vZGVNb2R1bGUsXG4gICAgICAgIFR1aVRvb2x0aXBNb2R1bGUsXG4gICAgICAgIFR1aVNsaWRlck1vZHVsZSxcbiAgICAgICAgVHVpV3JhcHBlck1vZHVsZSxcbiAgICAgICAgVHVpRm9ybWF0TnVtYmVyUGlwZU1vZHVsZSxcbiAgICAgICAgVHVpUmVwZWF0VGltZXNNb2R1bGUsXG4gICAgICAgIFBvbHltb3JwaGV1c01vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1R1aUlucHV0U2xpZGVyQ29tcG9uZW50LCBUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW1R1aUlucHV0U2xpZGVyQ29tcG9uZW50LCBUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0U2xpZGVyTW9kdWxlIHt9XG4iXX0=