@taiga-ui/core 2.28.0 → 2.32.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 (265) hide show
  1. package/README.md +4 -5
  2. package/abstract/abstract-hint-options.d.ts +7 -0
  3. package/abstract/abstract-hint.d.ts +5 -4
  4. package/abstract/index.d.ts +1 -0
  5. package/abstract/taiga-ui-core-abstract.metadata.json +1 -1
  6. package/bundles/taiga-ui-core-abstract.umd.js +13 -4
  7. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-abstract.umd.min.js +1 -1
  9. package/bundles/taiga-ui-core-abstract.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-core-components-dialog.umd.js +1 -1
  11. package/bundles/taiga-ui-core-components-dialog.umd.min.js +1 -1
  12. package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  14. package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-core-components-hints-host.umd.js +1 -0
  16. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  17. package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
  20. package/bundles/taiga-ui-core-components-link.umd.js +2 -2
  21. package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
  22. package/bundles/taiga-ui-core-components-link.umd.min.js +2 -2
  23. package/bundles/taiga-ui-core-components-link.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  25. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +30 -7
  27. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  28. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +1 -1
  29. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  30. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  31. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +1 -1
  33. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js +2 -2
  34. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js.map +1 -1
  35. package/bundles/taiga-ui-core-components-svg.umd.js +0 -1
  36. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  37. package/bundles/taiga-ui-core-components-svg.umd.min.js.map +1 -1
  38. package/bundles/taiga-ui-core-components-tooltip.umd.js +23 -13
  39. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  40. package/bundles/taiga-ui-core-components-tooltip.umd.min.js +2 -2
  41. package/bundles/taiga-ui-core-components-tooltip.umd.min.js.map +1 -1
  42. package/bundles/taiga-ui-core-constants.umd.js +2 -2
  43. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  44. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  45. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  46. package/bundles/taiga-ui-core-directives-hint-controller.umd.js +17 -12
  47. package/bundles/taiga-ui-core-directives-hint-controller.umd.js.map +1 -1
  48. package/bundles/taiga-ui-core-directives-hint-controller.umd.min.js +2 -2
  49. package/bundles/taiga-ui-core-directives-hint-controller.umd.min.js.map +1 -1
  50. package/bundles/taiga-ui-core-directives-hint.umd.js +20 -6
  51. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  52. package/bundles/taiga-ui-core-directives-hint.umd.min.js +1 -1
  53. package/bundles/taiga-ui-core-directives-hint.umd.min.js.map +1 -1
  54. package/bundles/taiga-ui-core-directives-manual-hint.umd.js +15 -4
  55. package/bundles/taiga-ui-core-directives-manual-hint.umd.js.map +1 -1
  56. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js +1 -1
  57. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js.map +1 -1
  58. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js +17 -6
  59. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js.map +1 -1
  60. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js +1 -1
  61. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js.map +1 -1
  62. package/bundles/taiga-ui-core-providers.umd.js +2 -1
  63. package/bundles/taiga-ui-core-providers.umd.js.map +1 -1
  64. package/bundles/taiga-ui-core-providers.umd.min.js +1 -1
  65. package/bundles/taiga-ui-core-providers.umd.min.js.map +1 -1
  66. package/bundles/taiga-ui-core-utils-dom.umd.js +1 -1
  67. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  68. package/bundles/taiga-ui-core-utils-dom.umd.min.js +1 -1
  69. package/bundles/taiga-ui-core-utils-dom.umd.min.js.map +1 -1
  70. package/bundles/taiga-ui-core-utils-format.umd.js +37 -5
  71. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  72. package/bundles/taiga-ui-core-utils-format.umd.min.js +1 -1
  73. package/bundles/taiga-ui-core-utils-format.umd.min.js.map +1 -1
  74. package/bundles/taiga-ui-core-utils-mask.umd.js +6 -2
  75. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  76. package/bundles/taiga-ui-core-utils-mask.umd.min.js +1 -1
  77. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  78. package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
  79. package/components/expand/expand.component.d.ts +1 -1
  80. package/components/hosted-dropdown/hosted-dropdown.component.d.ts +3 -3
  81. package/components/link/taiga-ui-core-components-link.metadata.json +1 -1
  82. package/components/primitive-calendar/primitive-calendar.component.d.ts +1 -1
  83. package/components/primitive-textfield/index.d.ts +1 -0
  84. package/components/primitive-textfield/primitive-textfield-options.d.ts +11 -0
  85. package/components/primitive-textfield/primitive-textfield.component.d.ts +7 -4
  86. package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
  87. package/components/primitive-year-picker/primitive-year-picker.component.d.ts +1 -1
  88. package/components/scroll-controls/taiga-ui-core-components-scroll-controls.metadata.json +1 -1
  89. package/components/tooltip/taiga-ui-core-components-tooltip.metadata.json +1 -1
  90. package/components/tooltip/tooltip.component.d.ts +9 -6
  91. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  92. package/constants/version.d.ts +1 -1
  93. package/directives/hint/hint-options.d.ts +12 -0
  94. package/directives/hint/hint.directive.d.ts +5 -3
  95. package/directives/hint/index.d.ts +1 -0
  96. package/directives/hint/taiga-ui-core-directives-hint.metadata.json +1 -1
  97. package/directives/hint-controller/hint-controller.directive.d.ts +7 -5
  98. package/directives/hint-controller/taiga-ui-core-directives-hint-controller.metadata.json +1 -1
  99. package/directives/manual-hint/index.d.ts +1 -0
  100. package/directives/manual-hint/manual-hint-options.d.ts +6 -0
  101. package/directives/manual-hint/manual-hint.directive.d.ts +3 -1
  102. package/directives/manual-hint/taiga-ui-core-directives-manual-hint.metadata.json +1 -1
  103. package/directives/pointer-hint/index.d.ts +1 -0
  104. package/directives/pointer-hint/pointer-hint-options.d.ts +9 -0
  105. package/directives/pointer-hint/pointer-hint.directive.d.ts +5 -3
  106. package/directives/pointer-hint/taiga-ui-core-directives-pointer-hint.metadata.json +1 -1
  107. package/esm2015/abstract/abstract-hint-options.js +6 -0
  108. package/esm2015/abstract/abstract-hint.js +7 -5
  109. package/esm2015/abstract/index.js +2 -1
  110. package/esm2015/components/dialog/dialog.component.js +1 -1
  111. package/esm2015/components/expand/expand.component.js +1 -1
  112. package/esm2015/components/hints-host/hint-box/hint-box.component.js +2 -1
  113. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +1 -1
  114. package/esm2015/components/link/link.component.js +3 -3
  115. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +1 -1
  116. package/esm2015/components/primitive-textfield/index.js +2 -1
  117. package/esm2015/components/primitive-textfield/primitive-textfield-options.js +12 -0
  118. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +18 -8
  119. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +1 -1
  120. package/esm2015/components/scroll-controls/scroll-controls.component.js +1 -1
  121. package/esm2015/components/svg/svg.component.js +1 -2
  122. package/esm2015/components/tooltip/tooltip.component.js +16 -9
  123. package/esm2015/components/tooltip/tooltip.module.js +3 -2
  124. package/esm2015/constants/regexp.js +2 -2
  125. package/esm2015/constants/version.js +2 -2
  126. package/esm2015/directives/hint/hint-options.js +10 -0
  127. package/esm2015/directives/hint/hint.directive.js +11 -7
  128. package/esm2015/directives/hint/index.js +2 -1
  129. package/esm2015/directives/hint-controller/hint-controller.directive.js +16 -10
  130. package/esm2015/directives/hint-controller/hint-controller.token.js +4 -3
  131. package/esm2015/directives/manual-hint/index.js +2 -1
  132. package/esm2015/directives/manual-hint/manual-hint-options.js +8 -0
  133. package/esm2015/directives/manual-hint/manual-hint.directive.js +9 -5
  134. package/esm2015/directives/pointer-hint/index.js +2 -1
  135. package/esm2015/directives/pointer-hint/pointer-hint-options.js +8 -0
  136. package/esm2015/directives/pointer-hint/pointer-hint.directive.js +11 -7
  137. package/esm2015/providers/mode.provider.js +3 -2
  138. package/esm2015/utils/dom/process-icon.js +2 -2
  139. package/esm2015/utils/format/format-number.js +5 -6
  140. package/esm2015/utils/format/get-fractional-part-padded.js +15 -0
  141. package/esm2015/utils/format/index.js +3 -1
  142. package/esm2015/utils/format/number-to-string-without-exp.js +18 -0
  143. package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +6 -2
  144. package/esm2015/utils/mask/create-number-mask.js +2 -2
  145. package/esm5/abstract/abstract-hint-options.js +6 -0
  146. package/esm5/abstract/abstract-hint.js +7 -5
  147. package/esm5/abstract/index.js +2 -1
  148. package/esm5/components/dialog/dialog.component.js +1 -1
  149. package/esm5/components/expand/expand.component.js +1 -1
  150. package/esm5/components/hints-host/hint-box/hint-box.component.js +2 -1
  151. package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +1 -1
  152. package/esm5/components/link/link.component.js +3 -3
  153. package/esm5/components/primitive-calendar/primitive-calendar.component.js +1 -1
  154. package/esm5/components/primitive-textfield/index.js +2 -1
  155. package/esm5/components/primitive-textfield/primitive-textfield-options.js +12 -0
  156. package/esm5/components/primitive-textfield/primitive-textfield.component.js +18 -8
  157. package/esm5/components/primitive-year-picker/primitive-year-picker.component.js +1 -1
  158. package/esm5/components/scroll-controls/scroll-controls.component.js +1 -1
  159. package/esm5/components/svg/svg.component.js +1 -2
  160. package/esm5/components/tooltip/tooltip.component.js +20 -9
  161. package/esm5/components/tooltip/tooltip.module.js +3 -2
  162. package/esm5/constants/regexp.js +2 -2
  163. package/esm5/constants/version.js +2 -2
  164. package/esm5/directives/hint/hint-options.js +11 -0
  165. package/esm5/directives/hint/hint.directive.js +11 -7
  166. package/esm5/directives/hint/index.js +2 -1
  167. package/esm5/directives/hint-controller/hint-controller.directive.js +16 -10
  168. package/esm5/directives/hint-controller/hint-controller.token.js +4 -3
  169. package/esm5/directives/manual-hint/index.js +2 -1
  170. package/esm5/directives/manual-hint/manual-hint-options.js +9 -0
  171. package/esm5/directives/manual-hint/manual-hint.directive.js +9 -5
  172. package/esm5/directives/pointer-hint/index.js +2 -1
  173. package/esm5/directives/pointer-hint/pointer-hint-options.js +9 -0
  174. package/esm5/directives/pointer-hint/pointer-hint.directive.js +11 -7
  175. package/esm5/providers/mode.provider.js +3 -2
  176. package/esm5/utils/dom/process-icon.js +2 -2
  177. package/esm5/utils/format/format-number.js +5 -6
  178. package/esm5/utils/format/get-fractional-part-padded.js +16 -0
  179. package/esm5/utils/format/index.js +3 -1
  180. package/esm5/utils/format/number-to-string-without-exp.js +19 -0
  181. package/esm5/utils/mask/create-auto-corrected-money-pipe.js +6 -2
  182. package/esm5/utils/mask/create-number-mask.js +2 -2
  183. package/fesm2015/taiga-ui-core-abstract.js +13 -5
  184. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  185. package/fesm2015/taiga-ui-core-components-dialog.js +1 -1
  186. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  187. package/fesm2015/taiga-ui-core-components-hints-host.js +1 -0
  188. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  189. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  190. package/fesm2015/taiga-ui-core-components-link.js +2 -2
  191. package/fesm2015/taiga-ui-core-components-link.js.map +1 -1
  192. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  193. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +29 -9
  194. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  195. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  196. package/fesm2015/taiga-ui-core-components-scroll-controls.js +1 -1
  197. package/fesm2015/taiga-ui-core-components-svg.js +0 -1
  198. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  199. package/fesm2015/taiga-ui-core-components-tooltip.js +17 -9
  200. package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
  201. package/fesm2015/taiga-ui-core-constants.js +2 -2
  202. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  203. package/fesm2015/taiga-ui-core-directives-hint-controller.js +16 -10
  204. package/fesm2015/taiga-ui-core-directives-hint-controller.js.map +1 -1
  205. package/fesm2015/taiga-ui-core-directives-hint.js +20 -9
  206. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  207. package/fesm2015/taiga-ui-core-directives-manual-hint.js +16 -7
  208. package/fesm2015/taiga-ui-core-directives-manual-hint.js.map +1 -1
  209. package/fesm2015/taiga-ui-core-directives-pointer-hint.js +18 -9
  210. package/fesm2015/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  211. package/fesm2015/taiga-ui-core-providers.js +2 -1
  212. package/fesm2015/taiga-ui-core-providers.js.map +1 -1
  213. package/fesm2015/taiga-ui-core-utils-dom.js +1 -1
  214. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  215. package/fesm2015/taiga-ui-core-utils-format.js +36 -6
  216. package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
  217. package/fesm2015/taiga-ui-core-utils-mask.js +6 -2
  218. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  219. package/fesm5/taiga-ui-core-abstract.js +13 -5
  220. package/fesm5/taiga-ui-core-abstract.js.map +1 -1
  221. package/fesm5/taiga-ui-core-components-dialog.js +1 -1
  222. package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
  223. package/fesm5/taiga-ui-core-components-hints-host.js +1 -0
  224. package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
  225. package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  226. package/fesm5/taiga-ui-core-components-link.js +2 -2
  227. package/fesm5/taiga-ui-core-components-link.js.map +1 -1
  228. package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  229. package/fesm5/taiga-ui-core-components-primitive-textfield.js +29 -9
  230. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  231. package/fesm5/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  232. package/fesm5/taiga-ui-core-components-scroll-controls.js +1 -1
  233. package/fesm5/taiga-ui-core-components-svg.js +0 -1
  234. package/fesm5/taiga-ui-core-components-svg.js.map +1 -1
  235. package/fesm5/taiga-ui-core-components-tooltip.js +21 -9
  236. package/fesm5/taiga-ui-core-components-tooltip.js.map +1 -1
  237. package/fesm5/taiga-ui-core-constants.js +2 -2
  238. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  239. package/fesm5/taiga-ui-core-directives-hint-controller.js +16 -10
  240. package/fesm5/taiga-ui-core-directives-hint-controller.js.map +1 -1
  241. package/fesm5/taiga-ui-core-directives-hint.js +21 -10
  242. package/fesm5/taiga-ui-core-directives-hint.js.map +1 -1
  243. package/fesm5/taiga-ui-core-directives-manual-hint.js +17 -8
  244. package/fesm5/taiga-ui-core-directives-manual-hint.js.map +1 -1
  245. package/fesm5/taiga-ui-core-directives-pointer-hint.js +19 -10
  246. package/fesm5/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  247. package/fesm5/taiga-ui-core-providers.js +2 -1
  248. package/fesm5/taiga-ui-core-providers.js.map +1 -1
  249. package/fesm5/taiga-ui-core-utils-dom.js +1 -1
  250. package/fesm5/taiga-ui-core-utils-dom.js.map +1 -1
  251. package/fesm5/taiga-ui-core-utils-format.js +36 -6
  252. package/fesm5/taiga-ui-core-utils-format.js.map +1 -1
  253. package/fesm5/taiga-ui-core-utils-mask.js +6 -2
  254. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  255. package/package.json +12 -12
  256. package/providers/taiga-ui-core-providers.metadata.json +1 -1
  257. package/styles/mixins/textfield.less +7 -0
  258. package/styles/taiga-ui-theme.less +1 -0
  259. package/styles/theme/dialog.less +13 -0
  260. package/styles/variables/media.less +2 -2
  261. package/utils/format/get-fractional-part-padded.d.ts +8 -0
  262. package/utils/format/index.d.ts +2 -0
  263. package/utils/format/number-to-string-without-exp.d.ts +7 -0
  264. package/utils/format/taiga-ui-core-utils-format.metadata.json +1 -1
  265. package/utils/mask/create-auto-corrected-money-pipe.d.ts +1 -1
@@ -1,4 +1,5 @@
1
1
  import { CHAR_NO_BREAK_SPACE } from '@taiga-ui/cdk';
2
+ import { getFractionPartPadded } from './get-fractional-part-padded';
2
3
  /**
3
4
  * Formats number adding thousand separators and correct decimal separator
4
5
  * padding decimal part with zeroes to given length
@@ -12,15 +13,13 @@ import { CHAR_NO_BREAK_SPACE } from '@taiga-ui/cdk';
12
13
  */
13
14
  export function formatNumber(value, decimalLimit = null, decimalSeparator = ',', thousandSeparator = CHAR_NO_BREAK_SPACE, zeroPadding = true) {
14
15
  const integerPartString = Math.floor(Math.abs(value)).toString();
15
- const fractionPartString = value.toString().split('.')[1] || '';
16
- let fractionPartPadded = fractionPartString;
16
+ let fractionPartPadded = getFractionPartPadded(value, decimalLimit);
17
17
  if (decimalLimit !== null) {
18
18
  const zeroPaddingSize = zeroPadding
19
- ? Math.max(decimalLimit - fractionPartString.length, 0)
19
+ ? Math.max(decimalLimit - fractionPartPadded.length, 0)
20
20
  : 0;
21
- const basePartString = fractionPartString.substr(0, decimalLimit);
22
21
  const zeroPartString = '0'.repeat(zeroPaddingSize);
23
- fractionPartPadded = `${basePartString}${zeroPartString}`;
22
+ fractionPartPadded = `${fractionPartPadded}${zeroPartString}`;
24
23
  }
25
24
  const remainder = integerPartString.length % 3;
26
25
  const sign = value < 0 ? '-' : '';
@@ -35,4 +34,4 @@ export function formatNumber(value, decimalLimit = null, decimalSeparator = ',',
35
34
  ? result + decimalSeparator + fractionPartPadded
36
35
  : result;
37
36
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW51bWJlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL3V0aWxzL2Zvcm1hdC8iLCJzb3VyY2VzIjpbImZvcm1hdC1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWxEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUN4QixLQUFhLEVBQ2IsZUFBOEIsSUFBSSxFQUNsQyxtQkFBMkIsR0FBRyxFQUM5QixvQkFBNEIsbUJBQW1CLEVBQy9DLGNBQXVCLElBQUk7SUFFM0IsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqRSxNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hFLElBQUksa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7SUFFNUMsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO1FBQ3ZCLE1BQU0sZUFBZSxHQUFXLFdBQVc7WUFDdkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDdkQsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNSLE1BQU0sY0FBYyxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbEUsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVuRCxrQkFBa0IsR0FBRyxHQUFHLGNBQWMsR0FBRyxjQUFjLEVBQUUsQ0FBQztLQUM3RDtJQUVELE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDL0MsTUFBTSxJQUFJLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVoRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQy9DLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLElBQUksaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNyRCxNQUFNLElBQUksaUJBQWlCLENBQUM7U0FDL0I7UUFFRCxNQUFNLElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3pDO0lBRUQsT0FBTyxDQUFDLENBQUMsa0JBQWtCLElBQUksWUFBWTtRQUN2QyxDQUFDLENBQUMsTUFBTSxHQUFHLGdCQUFnQixHQUFHLGtCQUFrQjtRQUNoRCxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NIQVJfTk9fQlJFQUtfU1BBQ0V9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG4vKipcbiAqIEZvcm1hdHMgbnVtYmVyIGFkZGluZyB0aG91c2FuZCBzZXBhcmF0b3JzIGFuZCBjb3JyZWN0IGRlY2ltYWwgc2VwYXJhdG9yXG4gKiBwYWRkaW5nIGRlY2ltYWwgcGFydCB3aXRoIHplcm9lcyB0byBnaXZlbiBsZW5ndGhcbiAqXG4gKiBAcGFyYW0gdmFsdWUgdGhlIGlucHV0IG51bWJlclxuICogQHBhcmFtIGRlY2ltYWxMaW1pdCBudW1iZXIgb2YgZGlnaXRzIG9mIGRlY2ltYWwgcGFydCwgbnVsbCB0byBrZWVwIHVudG91Y2hlZFxuICogQHBhcmFtIGRlY2ltYWxTZXBhcmF0b3Igc2VwYXJhdG9yIGJldHdlZW4gdGhlIGludGVnZXIgYW5kIHRoZSBkZWNpbWFsIHBhcnRcbiAqIEBwYXJhbSB0aG91c2FuZFNlcGFyYXRvciBzZXBhcmF0b3IgYmV0d2VlbiB0aG91c2FuZHNcbiAqIEBwYXJhbSB6ZXJvUGFkZGluZyBlbmFibGUgemVyb3MgYXQgdGhlIGVuZCBvZiBkZWNpbWFsIHBhcnRcbiAqIEByZXR1cm4gdGhlIGZvcm1hdHRlZCBzdHJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdE51bWJlcihcbiAgICB2YWx1ZTogbnVtYmVyLFxuICAgIGRlY2ltYWxMaW1pdDogbnVtYmVyIHwgbnVsbCA9IG51bGwsXG4gICAgZGVjaW1hbFNlcGFyYXRvcjogc3RyaW5nID0gJywnLFxuICAgIHRob3VzYW5kU2VwYXJhdG9yOiBzdHJpbmcgPSBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIHplcm9QYWRkaW5nOiBib29sZWFuID0gdHJ1ZSxcbik6IHN0cmluZyB7XG4gICAgY29uc3QgaW50ZWdlclBhcnRTdHJpbmcgPSBNYXRoLmZsb29yKE1hdGguYWJzKHZhbHVlKSkudG9TdHJpbmcoKTtcbiAgICBjb25zdCBmcmFjdGlvblBhcnRTdHJpbmcgPSB2YWx1ZS50b1N0cmluZygpLnNwbGl0KCcuJylbMV0gfHwgJyc7XG4gICAgbGV0IGZyYWN0aW9uUGFydFBhZGRlZCA9IGZyYWN0aW9uUGFydFN0cmluZztcblxuICAgIGlmIChkZWNpbWFsTGltaXQgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgemVyb1BhZGRpbmdTaXplOiBudW1iZXIgPSB6ZXJvUGFkZGluZ1xuICAgICAgICAgICAgPyBNYXRoLm1heChkZWNpbWFsTGltaXQgLSBmcmFjdGlvblBhcnRTdHJpbmcubGVuZ3RoLCAwKVxuICAgICAgICAgICAgOiAwO1xuICAgICAgICBjb25zdCBiYXNlUGFydFN0cmluZyA9IGZyYWN0aW9uUGFydFN0cmluZy5zdWJzdHIoMCwgZGVjaW1hbExpbWl0KTtcbiAgICAgICAgY29uc3QgemVyb1BhcnRTdHJpbmcgPSAnMCcucmVwZWF0KHplcm9QYWRkaW5nU2l6ZSk7XG5cbiAgICAgICAgZnJhY3Rpb25QYXJ0UGFkZGVkID0gYCR7YmFzZVBhcnRTdHJpbmd9JHt6ZXJvUGFydFN0cmluZ31gO1xuICAgIH1cblxuICAgIGNvbnN0IHJlbWFpbmRlciA9IGludGVnZXJQYXJ0U3RyaW5nLmxlbmd0aCAlIDM7XG4gICAgY29uc3Qgc2lnbiA9IHZhbHVlIDwgMCA/ICctJyA6ICcnO1xuICAgIGxldCByZXN1bHQgPSBzaWduICsgaW50ZWdlclBhcnRTdHJpbmcuY2hhckF0KDApO1xuXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBpbnRlZ2VyUGFydFN0cmluZy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoaSAlIDMgPT09IHJlbWFpbmRlciAmJiBpbnRlZ2VyUGFydFN0cmluZy5sZW5ndGggPiAzKSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gdGhvdXNhbmRTZXBhcmF0b3I7XG4gICAgICAgIH1cblxuICAgICAgICByZXN1bHQgKz0gaW50ZWdlclBhcnRTdHJpbmcuY2hhckF0KGkpO1xuICAgIH1cblxuICAgIHJldHVybiAhIWZyYWN0aW9uUGFydFBhZGRlZCB8fCBkZWNpbWFsTGltaXRcbiAgICAgICAgPyByZXN1bHQgKyBkZWNpbWFsU2VwYXJhdG9yICsgZnJhY3Rpb25QYXJ0UGFkZGVkXG4gICAgICAgIDogcmVzdWx0O1xufVxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW51bWJlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL3V0aWxzL2Zvcm1hdC8iLCJzb3VyY2VzIjpbImZvcm1hdC1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRW5FOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUN4QixLQUFhLEVBQ2IsZUFBOEIsSUFBSSxFQUNsQyxtQkFBMkIsR0FBRyxFQUM5QixvQkFBNEIsbUJBQW1CLEVBQy9DLGNBQXVCLElBQUk7SUFFM0IsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUVqRSxJQUFJLGtCQUFrQixHQUFHLHFCQUFxQixDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztJQUVwRSxJQUFJLFlBQVksS0FBSyxJQUFJLEVBQUU7UUFDdkIsTUFBTSxlQUFlLEdBQVcsV0FBVztZQUN2QyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUN2RCxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1IsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVuRCxrQkFBa0IsR0FBRyxHQUFHLGtCQUFrQixHQUFHLGNBQWMsRUFBRSxDQUFDO0tBQ2pFO0lBRUQsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUMvQyxNQUFNLElBQUksR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNsQyxJQUFJLE1BQU0sR0FBRyxJQUFJLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWhELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDL0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JELE1BQU0sSUFBSSxpQkFBaUIsQ0FBQztTQUMvQjtRQUVELE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDekM7SUFFRCxPQUFPLENBQUMsQ0FBQyxrQkFBa0IsSUFBSSxZQUFZO1FBQ3ZDLENBQUMsQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLEdBQUcsa0JBQWtCO1FBQ2hELENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q0hBUl9OT19CUkVBS19TUEFDRX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmltcG9ydCB7Z2V0RnJhY3Rpb25QYXJ0UGFkZGVkfSBmcm9tICcuL2dldC1mcmFjdGlvbmFsLXBhcnQtcGFkZGVkJztcblxuLyoqXG4gKiBGb3JtYXRzIG51bWJlciBhZGRpbmcgdGhvdXNhbmQgc2VwYXJhdG9ycyBhbmQgY29ycmVjdCBkZWNpbWFsIHNlcGFyYXRvclxuICogcGFkZGluZyBkZWNpbWFsIHBhcnQgd2l0aCB6ZXJvZXMgdG8gZ2l2ZW4gbGVuZ3RoXG4gKlxuICogQHBhcmFtIHZhbHVlIHRoZSBpbnB1dCBudW1iZXJcbiAqIEBwYXJhbSBkZWNpbWFsTGltaXQgbnVtYmVyIG9mIGRpZ2l0cyBvZiBkZWNpbWFsIHBhcnQsIG51bGwgdG8ga2VlcCB1bnRvdWNoZWRcbiAqIEBwYXJhbSBkZWNpbWFsU2VwYXJhdG9yIHNlcGFyYXRvciBiZXR3ZWVuIHRoZSBpbnRlZ2VyIGFuZCB0aGUgZGVjaW1hbCBwYXJ0XG4gKiBAcGFyYW0gdGhvdXNhbmRTZXBhcmF0b3Igc2VwYXJhdG9yIGJldHdlZW4gdGhvdXNhbmRzXG4gKiBAcGFyYW0gemVyb1BhZGRpbmcgZW5hYmxlIHplcm9zIGF0IHRoZSBlbmQgb2YgZGVjaW1hbCBwYXJ0XG4gKiBAcmV0dXJuIHRoZSBmb3JtYXR0ZWQgc3RyaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXROdW1iZXIoXG4gICAgdmFsdWU6IG51bWJlcixcbiAgICBkZWNpbWFsTGltaXQ6IG51bWJlciB8IG51bGwgPSBudWxsLFxuICAgIGRlY2ltYWxTZXBhcmF0b3I6IHN0cmluZyA9ICcsJyxcbiAgICB0aG91c2FuZFNlcGFyYXRvcjogc3RyaW5nID0gQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICB6ZXJvUGFkZGluZzogYm9vbGVhbiA9IHRydWUsXG4pOiBzdHJpbmcge1xuICAgIGNvbnN0IGludGVnZXJQYXJ0U3RyaW5nID0gTWF0aC5mbG9vcihNYXRoLmFicyh2YWx1ZSkpLnRvU3RyaW5nKCk7XG5cbiAgICBsZXQgZnJhY3Rpb25QYXJ0UGFkZGVkID0gZ2V0RnJhY3Rpb25QYXJ0UGFkZGVkKHZhbHVlLCBkZWNpbWFsTGltaXQpO1xuXG4gICAgaWYgKGRlY2ltYWxMaW1pdCAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCB6ZXJvUGFkZGluZ1NpemU6IG51bWJlciA9IHplcm9QYWRkaW5nXG4gICAgICAgICAgICA/IE1hdGgubWF4KGRlY2ltYWxMaW1pdCAtIGZyYWN0aW9uUGFydFBhZGRlZC5sZW5ndGgsIDApXG4gICAgICAgICAgICA6IDA7XG4gICAgICAgIGNvbnN0IHplcm9QYXJ0U3RyaW5nID0gJzAnLnJlcGVhdCh6ZXJvUGFkZGluZ1NpemUpO1xuXG4gICAgICAgIGZyYWN0aW9uUGFydFBhZGRlZCA9IGAke2ZyYWN0aW9uUGFydFBhZGRlZH0ke3plcm9QYXJ0U3RyaW5nfWA7XG4gICAgfVxuXG4gICAgY29uc3QgcmVtYWluZGVyID0gaW50ZWdlclBhcnRTdHJpbmcubGVuZ3RoICUgMztcbiAgICBjb25zdCBzaWduID0gdmFsdWUgPCAwID8gJy0nIDogJyc7XG4gICAgbGV0IHJlc3VsdCA9IHNpZ24gKyBpbnRlZ2VyUGFydFN0cmluZy5jaGFyQXQoMCk7XG5cbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IGludGVnZXJQYXJ0U3RyaW5nLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChpICUgMyA9PT0gcmVtYWluZGVyICYmIGludGVnZXJQYXJ0U3RyaW5nLmxlbmd0aCA+IDMpIHtcbiAgICAgICAgICAgIHJlc3VsdCArPSB0aG91c2FuZFNlcGFyYXRvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlc3VsdCArPSBpbnRlZ2VyUGFydFN0cmluZy5jaGFyQXQoaSk7XG4gICAgfVxuXG4gICAgcmV0dXJuICEhZnJhY3Rpb25QYXJ0UGFkZGVkIHx8IGRlY2ltYWxMaW1pdFxuICAgICAgICA/IHJlc3VsdCArIGRlY2ltYWxTZXBhcmF0b3IgKyBmcmFjdGlvblBhcnRQYWRkZWRcbiAgICAgICAgOiByZXN1bHQ7XG59XG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { numberToStringWithoutExp } from './number-to-string-without-exp';
2
+ /**
3
+ * Return fractional part of number
4
+ *
5
+ * @param value the number
6
+ * @param precision number of digits of decimal part, null to keep untouched
7
+ * @return the fractional part of number
8
+ */
9
+ export function getFractionPartPadded(value, precision) {
10
+ const [, fractionPartPadded = ''] = numberToStringWithoutExp(value).split('.');
11
+ return typeof precision === 'number'
12
+ ? fractionPartPadded.substr(0, precision)
13
+ : fractionPartPadded;
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZyYWN0aW9uYWwtcGFydC1wYWRkZWQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS91dGlscy9mb3JtYXQvIiwic291cmNlcyI6WyJnZXQtZnJhY3Rpb25hbC1wYXJ0LXBhZGRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4RTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUMsS0FBYSxFQUFFLFNBQXlCO0lBQzFFLE1BQU0sQ0FBQyxFQUFFLGtCQUFrQixHQUFHLEVBQUUsQ0FBQyxHQUFHLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUUvRSxPQUFPLE9BQU8sU0FBUyxLQUFLLFFBQVE7UUFDaEMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztBQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtudW1iZXJUb1N0cmluZ1dpdGhvdXRFeHB9IGZyb20gJy4vbnVtYmVyLXRvLXN0cmluZy13aXRob3V0LWV4cCc7XG5cbi8qKlxuICogUmV0dXJuIGZyYWN0aW9uYWwgcGFydCBvZiBudW1iZXJcbiAqXG4gKiBAcGFyYW0gdmFsdWUgdGhlIG51bWJlclxuICogQHBhcmFtIHByZWNpc2lvbiBudW1iZXIgb2YgZGlnaXRzIG9mIGRlY2ltYWwgcGFydCwgbnVsbCB0byBrZWVwIHVudG91Y2hlZFxuICogQHJldHVybiB0aGUgZnJhY3Rpb25hbCBwYXJ0IG9mIG51bWJlclxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RnJhY3Rpb25QYXJ0UGFkZGVkKHZhbHVlOiBudW1iZXIsIHByZWNpc2lvbj86IG51bWJlciB8IG51bGwpOiBzdHJpbmcge1xuICAgIGNvbnN0IFssIGZyYWN0aW9uUGFydFBhZGRlZCA9ICcnXSA9IG51bWJlclRvU3RyaW5nV2l0aG91dEV4cCh2YWx1ZSkuc3BsaXQoJy4nKTtcblxuICAgIHJldHVybiB0eXBlb2YgcHJlY2lzaW9uID09PSAnbnVtYmVyJ1xuICAgICAgICA/IGZyYWN0aW9uUGFydFBhZGRlZC5zdWJzdHIoMCwgcHJlY2lzaW9uKVxuICAgICAgICA6IGZyYWN0aW9uUGFydFBhZGRlZDtcbn1cbiJdfQ==
@@ -1,7 +1,9 @@
1
1
  export * from './capitalize';
2
2
  export * from './format-number';
3
3
  export * from './format-phone';
4
+ export * from './get-fractional-part-padded';
5
+ export * from './number-to-string-without-exp';
4
6
  export * from './other-decimal-symbol';
5
7
  export * from './pluralize';
6
8
  export * from './pluralize-to-icu';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS91dGlscy9mb3JtYXQvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYXBpdGFsaXplJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWF0LW51bWJlcic7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdC1waG9uZSc7XG5leHBvcnQgKiBmcm9tICcuL290aGVyLWRlY2ltYWwtc3ltYm9sJztcbmV4cG9ydCAqIGZyb20gJy4vcGx1cmFsaXplJztcbmV4cG9ydCAqIGZyb20gJy4vcGx1cmFsaXplLXRvLWljdSc7XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS91dGlscy9mb3JtYXQvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FwaXRhbGl6ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdC1udW1iZXInO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtYXQtcGhvbmUnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtZnJhY3Rpb25hbC1wYXJ0LXBhZGRlZCc7XG5leHBvcnQgKiBmcm9tICcuL251bWJlci10by1zdHJpbmctd2l0aG91dC1leHAnO1xuZXhwb3J0ICogZnJvbSAnLi9vdGhlci1kZWNpbWFsLXN5bWJvbCc7XG5leHBvcnQgKiBmcm9tICcuL3BsdXJhbGl6ZSc7XG5leHBvcnQgKiBmcm9tICcuL3BsdXJhbGl6ZS10by1pY3UnO1xuIl19
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Convert number to string with replacing exponent part on decimals
3
+ *
4
+ * @param value the number
5
+ * @return string representation of a number
6
+ */
7
+ export function numberToStringWithoutExp(value) {
8
+ const valueAsString = String(value);
9
+ const [numberPart, expPart] = valueAsString.split('e-');
10
+ let valueWithoutExp = valueAsString;
11
+ if (expPart) {
12
+ const [, fractionalPart] = numberPart.split('.');
13
+ const decimalDigits = Number(expPart) + ((fractionalPart === null || fractionalPart === void 0 ? void 0 : fractionalPart.length) || 0);
14
+ valueWithoutExp = value.toFixed(decimalDigits);
15
+ }
16
+ return valueWithoutExp;
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXRvLXN0cmluZy13aXRob3V0LWV4cC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL3V0aWxzL2Zvcm1hdC8iLCJzb3VyY2VzIjpbIm51bWJlci10by1zdHJpbmctd2l0aG91dC1leHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsS0FBYTtJQUNsRCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsTUFBTSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXhELElBQUksZUFBZSxHQUFHLGFBQWEsQ0FBQztJQUVwQyxJQUFJLE9BQU8sRUFBRTtRQUNULE1BQU0sQ0FBQyxFQUFFLGNBQWMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQSxjQUFjLGFBQWQsY0FBYyx1QkFBZCxjQUFjLENBQUUsTUFBTSxLQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXRFLGVBQWUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsT0FBTyxlQUFlLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udmVydCBudW1iZXIgdG8gc3RyaW5nIHdpdGggcmVwbGFjaW5nIGV4cG9uZW50IHBhcnQgb24gZGVjaW1hbHNcbiAqXG4gKiBAcGFyYW0gdmFsdWUgdGhlIG51bWJlclxuICogQHJldHVybiBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBudW1iZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG51bWJlclRvU3RyaW5nV2l0aG91dEV4cCh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZUFzU3RyaW5nID0gU3RyaW5nKHZhbHVlKTtcbiAgICBjb25zdCBbbnVtYmVyUGFydCwgZXhwUGFydF0gPSB2YWx1ZUFzU3RyaW5nLnNwbGl0KCdlLScpO1xuXG4gICAgbGV0IHZhbHVlV2l0aG91dEV4cCA9IHZhbHVlQXNTdHJpbmc7XG5cbiAgICBpZiAoZXhwUGFydCkge1xuICAgICAgICBjb25zdCBbLCBmcmFjdGlvbmFsUGFydF0gPSBudW1iZXJQYXJ0LnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGRlY2ltYWxEaWdpdHMgPSBOdW1iZXIoZXhwUGFydCkgKyAoZnJhY3Rpb25hbFBhcnQ/Lmxlbmd0aCB8fCAwKTtcblxuICAgICAgICB2YWx1ZVdpdGhvdXRFeHAgPSB2YWx1ZS50b0ZpeGVkKGRlY2ltYWxEaWdpdHMpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZVdpdGhvdXRFeHA7XG59XG4iXX0=
@@ -2,7 +2,7 @@ import { CHAR_NO_BREAK_SPACE, getDocumentOrShadowRoot, isNativeFocused, isSafari
2
2
  /**
3
3
  * Used to finish a number with zeros to a given precision
4
4
  */
5
- export function tuiCreateAutoCorrectedNumberPipe(decimalLimit = 0, decimalSymbol = ',', thousandSymbol = CHAR_NO_BREAK_SPACE, nativeInput) {
5
+ export function tuiCreateAutoCorrectedNumberPipe(decimalLimit = 0, decimalSymbol = ',', thousandSymbol = CHAR_NO_BREAK_SPACE, nativeInput, allowNegative) {
6
6
  tuiAssert.assert(Number.isInteger(decimalLimit));
7
7
  tuiAssert.assert(decimalLimit >= 0);
8
8
  // Guess for which browser I need this :)
@@ -14,6 +14,10 @@ export function tuiCreateAutoCorrectedNumberPipe(decimalLimit = 0, decimalSymbol
14
14
  });
15
15
  }
16
16
  return (conformedValue, config) => {
17
+ // Removing everything by selecting and pressing '-'
18
+ if (!conformedValue && config.rawValue === '-' && allowNegative) {
19
+ return '-';
20
+ }
17
21
  // remove these hacks after text mask library has changed
18
22
  if (nativeInput && unlucky && isNativeFocused(nativeInput)) {
19
23
  const caret = calculateSafariCaret(config.previousConformedValue, conformedValue, previousCaret);
@@ -84,4 +88,4 @@ function calculateCaretGap(previousValue = '', current, thousandSymbol) {
84
88
  const nowSpaces = current.split(thousandSymbol).length;
85
89
  return nowSpaces - wereSpaces;
86
90
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS91dGlscy9tYXNrLyIsInNvdXJjZXMiOlsiY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsZUFBZSxFQUNmLFFBQVEsRUFDUixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFJdkI7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0NBQWdDLENBQzVDLGVBQXVCLENBQUMsRUFDeEIsZ0JBQWtDLEdBQUcsRUFDckMsaUJBQXlCLG1CQUFtQixFQUM1QyxXQUE4QjtJQUU5QixTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqRCxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVwQyx5Q0FBeUM7SUFDekMsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFdkIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFdkQsSUFBSSxXQUFXLElBQUksT0FBTyxFQUFFO1FBQ3hCLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO1lBQzdDLGFBQWEsR0FBRyxXQUFXLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztLQUNOO0lBRUQsT0FBTyxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUM5Qix5REFBeUQ7UUFDekQsSUFBSSxXQUFXLElBQUksT0FBTyxJQUFJLGVBQWUsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN4RCxNQUFNLEtBQUssR0FBRyxvQkFBb0IsQ0FDOUIsTUFBTSxDQUFD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LEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBRTNELE9BQU8sYUFBYSxHQUFHLFlBQVksQ0FBQztBQUN4QyxDQUFDO0FBRUQsU0FBUyx5QkFBeUIsQ0FBQyxRQUFnQixFQUFFLE9BQWU7SUFDaEUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDckMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzVCLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pDO0tBQ0o7SUFFRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUM7QUFDMUIsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQ3RCLGdCQUF3QixFQUFFLEVBQzFCLE9BQWUsRUFDZixjQUFzQjtJQUV0QixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWhGLElBQUksbUJBQW1CLEVBQUU7UUFDckIsT0FBTyxDQUFDLENBQUM7S0FDWjtJQUVELE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzlELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBRXZELE9BQU8sU0FBUyxHQUFHLFVBQVUsQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIGdldERvY3VtZW50T3JTaGFkb3dSb290LFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBpc1NhZmFyaSxcbiAgICB0dWlBc3NlcnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlUZXh0TWFza1BpcGVIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9tYXNrJztcbmltcG9ydCB7VHVpRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG4vKipcbiAqIFVzZWQgdG8gZmluaXNoIGEgbnVtYmVyIHdpdGggemVyb3MgdG8gYSBnaXZlbiBwcmVjaXNpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWROdW1iZXJQaXBlKFxuICAgIGRlY2ltYWxMaW1pdDogbnVtYmVyID0gMCxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sID0gJywnLFxuICAgIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcgPSBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIG5hdGl2ZUlucHV0PzogSFRNTElucHV0RWxlbWVudCxcbik6IFR1aVRleHRNYXNrUGlwZUhhbmRsZXIge1xuICAgIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihkZWNpbWFsTGltaXQpKTtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KGRlY2ltYWxMaW1pdCA+PSAwKTtcblxuICAgIC8vIEd1ZXNzIGZvciB3aGljaCBicm93c2VyIEkgbmVlZCB0aGlzIDopXG4gICAgbGV0IHByZXZpb3VzQ2FyZXQgPSAtMTtcblxuICAgIGNvbnN0IHVubHVja3kgPSAhIW5hdGl2ZUlucHV0ICYmIGlzU2FmYXJpKG5hdGl2ZUlucHV0KTtcblxuICAgIGlmIChuYXRpdmVJbnB1dCAmJiB1bmx1Y2t5KSB7XG4gICAgICAgIG5hdGl2ZUlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2JlZm9yZWlucHV0JywgKCkgPT4ge1xuICAgICAgICAgICAgcHJldmlvdXNDYXJldCA9IG5hdGl2ZUlucHV0LnNlbGVjdGlvblN0YXJ0IHx8IDA7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiAoY29uZm9ybWVkVmFsdWUsIGNvbmZpZykgPT4ge1xuICAgICAgICAvLyByZW1vdmUgdGhlc2UgaGFja3MgYWZ0ZXIgdGV4dCBtYXNrIGxpYnJhcnkgaGFzIGNoYW5nZWRcbiAgICAgICAgaWYgKG5hdGl2ZUlucHV0ICYmIHVubHVja3kgJiYgaXNOYXRpdmVGb2N1c2VkKG5hdGl2ZUlucHV0KSkge1xuICAgICAgICAgICAgY29uc3QgY2FyZXQgPSBjYWxjdWxhdGVTYWZhcmlDYXJldChcbiAgICAgICAgICAgICAgICBjb25maWcucHJldmlvdXNDb25mb3JtZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICBjb25mb3JtZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICBwcmV2aW91c0NhcmV0LFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgbmF0aXZlSW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoY2FyZXQsIGNhcmV0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgbmF0aXZlSW5wdXQgJiZcbiAgICAgICAgICAgIG5hdGl2ZUlucHV0Lm93bmVyRG9jdW1lbnQgIT09IGdldERvY3VtZW50T3JTaGFkb3dSb290KG5hdGl2ZUlucHV0KSAmJlxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKG5hdGl2ZUlucHV0KSAmJlxuICAgICAgICAgICAgY29uZmlnLmN1cnJlbnRDYXJldFBvc2l0aW9uXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgcmVhbENhcmV0UG9zaXRpb24gPVxuICAgICAgICAgICAgICAgIGNvbmZpZy5jdXJyZW50Q2FyZXRQb3NpdGlvbiArXG4gICAgICAgICAgICAgICAgY2FsY3VsYXRlQ2FyZXRHYXAoXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5wcmV2aW91c0NvbmZvcm1lZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBjb25mb3JtZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRTeW1ib2wsXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgbmF0aXZlSW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UocmVhbENhcmV0UG9zaXRpb24sIHJlYWxDYXJldFBvc2l0aW9uKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbmZvcm1lZFZhbHVlID09PSAnJyB8fCAhZGVjaW1hbExpbWl0KSB7XG4gICAgICAgICAgICByZXR1cm4ge3ZhbHVlOiBjb25mb3JtZWRWYWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB3aXRoRGVjaW1hbFN5bWJvbCA9IGFkZERlY2ltYWxTeW1ib2xJZk5lZWRlZChjb25mb3JtZWRWYWx1ZSwgZGVjaW1hbFN5bWJvbCk7XG4gICAgICAgIGNvbnN0IGRlY2ltYWxQYXJ0ID0gd2l0aERlY2ltYWxTeW1ib2wuc3BsaXQoZGVjaW1hbFN5bWJvbClbMV07XG4gICAgICAgIGNvbnN0IHplcm9QYWRkaW5nU2l6ZSA9IGRlY2ltYWxMaW1pdCAtIGRlY2ltYWxQYXJ0Lmxlbmd0aDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdmFsdWU6IHdpdGhEZWNpbWFsU3ltYm9sICsgJzAnLnJlcGVhdCh6ZXJvUGFkZGluZ1NpemUpLFxuICAgICAgICB9O1xuICAgIH07XG59XG5cbmZ1bmN0aW9uIGFkZERlY2ltYWxTeW1ib2xJZk5lZWRlZChcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wgPSAnLCcsXG4pOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZS5pbmRleE9mKGRlY2ltYWxTeW1ib2wpID09PSAtMSA/IHZhbHVlICsgZGVjaW1hbFN5bWJvbCA6IHZhbHVlO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVTYWZhcmlDYXJldChcbiAgICBwcmV2aW91c1ZhbHVlOiBzdHJpbmcgPSAnJyxcbiAgICBjdXJyZW50OiBzdHJpbmcsXG4gICAgcHJldmlvdXNDYXJldDogbnVtYmVyLFxuICAgIGRlY2ltYWxTeW1ib2w6IHN0cmluZyA9ICcsJyxcbik6IG51bWJlciB7XG4gICAgY29uc3QgdGFpbFJlZ2V4ID0gbmV3IFJlZ0V4cChgJHtkZWNpbWFsU3ltYm9sfS4rYCk7XG4gICAgY29uc3QgcHJldmlvdXNXaXRob3V0VGFpbCA9IHByZXZpb3VzVmFsdWUucmVwbGFjZSh0YWlsUmVnZXgsICcnKTtcbiAgICBjb25zdCBjdXJyZW50V2l0aG91dFRhaWwgPSBjdXJyZW50LnJlcGxhY2UodGFpbFJlZ2V4LCAnJyk7XG5cbiAgICBjb25zdCBwYXN0ZU9yQ3V0T3BlcmF0aW9uID1cbiAgICAgICAgTWF0aC5hYnMocHJldmlvdXNXaXRob3V0VGFpbC5sZW5ndGggLSBjdXJyZW50V2l0aG91dFRhaWwubGVuZ3RoKSA+IDI7XG5cbiAgICBpZiAocGFzdGVPckN1dE9wZXJhdGlvbikge1xuICAgICAgICByZXR1cm4gY3VycmVudC5sZW5ndGg7XG4gICAgfVxuXG4gICAgaWYgKHByZXZpb3VzVmFsdWUubGVuZ3RoID09PSBjdXJyZW50Lmxlbmd0aCkge1xuICAgICAgICBpZiAocHJldmlvdXNWYWx1ZS5pbmRleE9mKGRlY2ltYWxTeW1ib2wpIDw9IHByZXZpb3VzQ2FyZXQpIHtcbiAgICAgICAgICAgIHJldHVybiBjYWxjdWxhdGVDaGFuZ2VkVGFpbEluZGV4KHByZXZpb3VzVmFsdWUsIGN1cnJlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHByZXZpb3VzV2l0aG91dFRhaWwgPT09IGN1cnJlbnRXaXRob3V0VGFpbFxuICAgICAgICAgICAgPyBwcmV2aW91c0NhcmV0IC0gMVxuICAgICAgICAgICAgOiBwcmV2aW91c0NhcmV0ICsgMTtcbiAgICB9XG5cbiAgICBpZiAocHJldmlvdXNWYWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgY29uc3QgY2hhbmdlTGVuZ3RoID0gY3VycmVudC5sZW5ndGggLSBwcmV2aW91c1ZhbHVlLmxlbmd0aDtcblxuICAgIHJldHVybiBwcmV2aW91c0NhcmV0ICsgY2hhbmdlTGVuZ3RoO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVDaGFuZ2VkVGFpbEluZGV4KHByZXZpb3VzOiBzdHJpbmcsIGN1cnJlbnQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjdXJyZW50Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChwcmV2aW91c1tpXSAhPT0gY3VycmVudFtpXSkge1xuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRbaV0gPT09ICcwJyA/IGkgOiBpICsgMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjdXJyZW50Lmxlbmd0aDtcbn1cblxuZnVuY3Rpb24gY2FsY3VsYXRlQ2FyZXRHYXAoXG4gICAgcHJldmlvdXNWYWx1ZTogc3RyaW5nID0gJycsXG4gICAgY3VycmVudDogc3RyaW5nLFxuICAgIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcsXG4pOiBudW1iZXIge1xuICAgIGNvbnN0IHBhc3RlT3JDdXRPcGVyYXRpb24gPSBNYXRoLmFicyhwcmV2aW91c1ZhbHVlLmxlbmd0aCAtIGN1cnJlbnQubGVuZ3RoKSA+IDI7XG5cbiAgICBpZiAocGFzdGVPckN1dE9wZXJhdGlvbikge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBjb25zdCB3ZXJlU3BhY2VzID0gcHJldmlvdXNWYWx1ZS5zcGxpdCh0aG91c2FuZFN5bWJvbCkubGVuZ3RoO1xuICAgIGNvbnN0IG5vd1NwYWNlcyA9IGN1cnJlbnQuc3BsaXQodGhvdXNhbmRTeW1ib2wpLmxlbmd0aDtcblxuICAgIHJldHVybiBub3dTcGFjZXMgLSB3ZXJlU3BhY2VzO1xufVxuIl19
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS91dGlscy9tYXNrLyIsInNvdXJjZXMiOlsiY3JlYXRlLWF1dG8tY29ycmVjdGVkLW1vbmV5LXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsZUFBZSxFQUNmLFFBQVEsRUFDUixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFJdkI7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0NBQWdDLENBQzVDLGVBQXVCLENBQUMsRUFDeEIsZ0JBQWtDLEdBQUcsRUFDckMsaUJBQXlCLG1CQUFtQixFQUM1QyxXQUE4QixFQUM5QixhQUF1QjtJQUV2QixTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqRCxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVwQyx5Q0FBeUM7SUFDekMsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFdkIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFdkQsSUFBSSxXQUFXLElBQUksT0FBTyxFQUFFO1FBQ3hCLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO1lBQzdDLGFBQWEsR0FBRyxXQUFXLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztLQUNOO0lBRUQsT0FBTyxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUM5QixvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLEdBQUcsSUFBSSxhQUFhLEVBQUU7WUFDN0QsT0FBTyxHQUFHLENBQUM7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Q2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENIQVJfTk9fQlJFQUtfU1BBQ0UsXG4gICAgZ2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QsXG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIGlzU2FmYXJpLFxuICAgIHR1aUFzc2VydCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVRleHRNYXNrUGlwZUhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL21hc2snO1xuaW1wb3J0IHtUdWlEZWNpbWFsU3ltYm9sfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbi8qKlxuICogVXNlZCB0byBmaW5pc2ggYSBudW1iZXIgd2l0aCB6ZXJvcyB0byBhIGdpdmVuIHByZWNpc2lvblxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZE51bWJlclBpcGUoXG4gICAgZGVjaW1hbExpbWl0OiBudW1iZXIgPSAwLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wgPSAnLCcsXG4gICAgdGhvdXNhbmRTeW1ib2w6IHN0cmluZyA9IENIQVJfTk9fQlJFQUtfU1BBQ0UsXG4gICAgbmF0aXZlSW5wdXQ/OiBIVE1MSW5wdXRFbGVtZW50LFxuICAgIGFsbG93TmVnYXRpdmU/OiBib29sZWFuLFxuKTogVHVpVGV4dE1hc2tQaXBlSGFuZGxlciB7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKGRlY2ltYWxMaW1pdCkpO1xuICAgIHR1aUFzc2VydC5hc3NlcnQoZGVjaW1hbExpbWl0ID49IDApO1xuXG4gICAgLy8gR3Vlc3MgZm9yIHdoaWNoIGJyb3dzZXIgSSBuZWVkIHRoaXMgOilcbiAgICBsZXQgcHJldmlvdXNDYXJldCA9IC0xO1xuXG4gICAgY29uc3QgdW5sdWNreSA9ICEhbmF0aXZlSW5wdXQgJiYgaXNTYWZhcmkobmF0aXZlSW5wdXQpO1xuXG4gICAgaWYgKG5hdGl2ZUlucHV0ICYmIHVubHVja3kpIHtcbiAgICAgICAgbmF0aXZlSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignYmVmb3JlaW5wdXQnLCAoKSA9PiB7XG4gICAgICAgICAgICBwcmV2aW91c0NhcmV0ID0gbmF0aXZlSW5wdXQuc2VsZWN0aW9uU3RhcnQgfHwgMDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChjb25mb3JtZWRWYWx1ZSwgY29uZmlnKSA9PiB7XG4gICAgICAgIC8vIFJlbW92aW5nIGV2ZXJ5dGhpbmcgYnkgc2VsZWN0aW5nIGFuZCBwcmVzc2luZyAnLSdcbiAgICAgICAgaWYgKCFjb25mb3JtZWRWYWx1ZSAmJiBjb25maWcucmF3VmFsdWUgPT09ICctJyAmJiBhbGxvd05lZ2F0aXZlKSB7XG4gICAgICAgICAgICByZXR1cm4gJy0nO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmVtb3ZlIHRoZXNlIGhhY2tzIGFmdGVyIHRleHQgbWFzayBsaWJyYXJ5IGhhcyBjaGFuZ2VkXG4gICAgICAgIGlmIChuYXRpdmVJbnB1dCAmJiB1bmx1Y2t5ICYmIGlzTmF0aXZlRm9jdXNlZChuYXRpdmVJbnB1dCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhcmV0ID0gY2FsY3VsYXRlU2FmYXJpQ2FyZXQoXG4gICAgICAgICAgICAgICAgY29uZmlnLnByZXZpb3VzQ29uZm9ybWVkVmFsdWUsXG4gICAgICAgICAgICAgICAgY29uZm9ybWVkVmFsdWUsXG4gICAgICAgICAgICAgICAgcHJldmlvdXNDYXJldCxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIG5hdGl2ZUlucHV0LnNldFNlbGVjdGlvblJhbmdlKGNhcmV0LCBjYXJldCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIG5hdGl2ZUlucHV0ICYmXG4gICAgICAgICAgICBuYXRpdmVJbnB1dC5vd25lckRvY3VtZW50ICE9PSBnZXREb2N1bWVudE9yU2hhZG93Um9vdChuYXRpdmVJbnB1dCkgJiZcbiAgICAgICAgICAgIGlzTmF0aXZlRm9jdXNlZChuYXRpdmVJbnB1dCkgJiZcbiAgICAgICAgICAgIGNvbmZpZy5jdXJyZW50Q2FyZXRQb3NpdGlvblxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IHJlYWxDYXJldFBvc2l0aW9uID1cbiAgICAgICAgICAgICAgICBjb25maWcuY3VycmVudENhcmV0UG9zaXRpb24gK1xuICAgICAgICAgICAgICAgIGNhbGN1bGF0ZUNhcmV0R2FwKFxuICAgICAgICAgICAgICAgICAgICBjb25maWcucHJldmlvdXNDb25mb3JtZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZm9ybWVkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIHRob3VzYW5kU3ltYm9sLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIG5hdGl2ZUlucHV0LnNldFNlbGVjdGlvblJhbmdlKHJlYWxDYXJldFBvc2l0aW9uLCByZWFsQ2FyZXRQb3NpdGlvbik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25mb3JtZWRWYWx1ZSA9PT0gJycgfHwgIWRlY2ltYWxMaW1pdCkge1xuICAgICAgICAgICAgcmV0dXJuIHt2YWx1ZTogY29uZm9ybWVkVmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgd2l0aERlY2ltYWxTeW1ib2wgPSBhZGREZWNpbWFsU3ltYm9sSWZOZWVkZWQoY29uZm9ybWVkVmFsdWUsIGRlY2ltYWxTeW1ib2wpO1xuICAgICAgICBjb25zdCBkZWNpbWFsUGFydCA9IHdpdGhEZWNpbWFsU3ltYm9sLnNwbGl0KGRlY2ltYWxTeW1ib2wpWzFdO1xuICAgICAgICBjb25zdCB6ZXJvUGFkZGluZ1NpemUgPSBkZWNpbWFsTGltaXQgLSBkZWNpbWFsUGFydC5sZW5ndGg7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbHVlOiB3aXRoRGVjaW1hbFN5bWJvbCArICcwJy5yZXBlYXQoemVyb1BhZGRpbmdTaXplKSxcbiAgICAgICAgfTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBhZGREZWNpbWFsU3ltYm9sSWZOZWVkZWQoXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sID0gJywnLFxuKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWUuaW5kZXhPZihkZWNpbWFsU3ltYm9sKSA9PT0gLTEgPyB2YWx1ZSArIGRlY2ltYWxTeW1ib2wgOiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gY2FsY3VsYXRlU2FmYXJpQ2FyZXQoXG4gICAgcHJldmlvdXNWYWx1ZTogc3RyaW5nID0gJycsXG4gICAgY3VycmVudDogc3RyaW5nLFxuICAgIHByZXZpb3VzQ2FyZXQ6IG51bWJlcixcbiAgICBkZWNpbWFsU3ltYm9sOiBzdHJpbmcgPSAnLCcsXG4pOiBudW1iZXIge1xuICAgIGNvbnN0IHRhaWxSZWdleCA9IG5ldyBSZWdFeHAoYCR7ZGVjaW1hbFN5bWJvbH0uK2ApO1xuICAgIGNvbnN0IHByZXZpb3VzV2l0aG91dFRhaWwgPSBwcmV2aW91c1ZhbHVlLnJlcGxhY2UodGFpbFJlZ2V4LCAnJyk7XG4gICAgY29uc3QgY3VycmVudFdpdGhvdXRUYWlsID0gY3VycmVudC5yZXBsYWNlKHRhaWxSZWdleCwgJycpO1xuXG4gICAgY29uc3QgcGFzdGVPckN1dE9wZXJhdGlvbiA9XG4gICAgICAgIE1hdGguYWJzKHByZXZpb3VzV2l0aG91dFRhaWwubGVuZ3RoIC0gY3VycmVudFdpdGhvdXRUYWlsLmxlbmd0aCkgPiAyO1xuXG4gICAgaWYgKHBhc3RlT3JDdXRPcGVyYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnQubGVuZ3RoO1xuICAgIH1cblxuICAgIGlmIChwcmV2aW91c1ZhbHVlLmxlbmd0aCA9PT0gY3VycmVudC5sZW5ndGgpIHtcbiAgICAgICAgaWYgKHByZXZpb3VzVmFsdWUuaW5kZXhPZihkZWNpbWFsU3ltYm9sKSA8PSBwcmV2aW91c0NhcmV0KSB7XG4gICAgICAgICAgICByZXR1cm4gY2FsY3VsYXRlQ2hhbmdlZFRhaWxJbmRleChwcmV2aW91c1ZhbHVlLCBjdXJyZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwcmV2aW91c1dpdGhvdXRUYWlsID09PSBjdXJyZW50V2l0aG91dFRhaWxcbiAgICAgICAgICAgID8gcHJldmlvdXNDYXJldCAtIDFcbiAgICAgICAgICAgIDogcHJldmlvdXNDYXJldCArIDE7XG4gICAgfVxuXG4gICAgaWYgKHByZXZpb3VzVmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGNvbnN0IGNoYW5nZUxlbmd0aCA9IGN1cnJlbnQubGVuZ3RoIC0gcHJldmlvdXNWYWx1ZS5sZW5ndGg7XG5cbiAgICByZXR1cm4gcHJldmlvdXNDYXJldCArIGNoYW5nZUxlbmd0aDtcbn1cblxuZnVuY3Rpb24gY2FsY3VsYXRlQ2hhbmdlZFRhaWxJbmRleChwcmV2aW91czogc3RyaW5nLCBjdXJyZW50OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY3VycmVudC5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAocHJldmlvdXNbaV0gIT09IGN1cnJlbnRbaV0pIHtcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50W2ldID09PSAnMCcgPyBpIDogaSArIDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY3VycmVudC5sZW5ndGg7XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZUNhcmV0R2FwKFxuICAgIHByZXZpb3VzVmFsdWU6IHN0cmluZyA9ICcnLFxuICAgIGN1cnJlbnQ6IHN0cmluZyxcbiAgICB0aG91c2FuZFN5bWJvbDogc3RyaW5nLFxuKTogbnVtYmVyIHtcbiAgICBjb25zdCBwYXN0ZU9yQ3V0T3BlcmF0aW9uID0gTWF0aC5hYnMocHJldmlvdXNWYWx1ZS5sZW5ndGggLSBjdXJyZW50Lmxlbmd0aCkgPiAyO1xuXG4gICAgaWYgKHBhc3RlT3JDdXRPcGVyYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3Qgd2VyZVNwYWNlcyA9IHByZXZpb3VzVmFsdWUuc3BsaXQodGhvdXNhbmRTeW1ib2wpLmxlbmd0aDtcbiAgICBjb25zdCBub3dTcGFjZXMgPSBjdXJyZW50LnNwbGl0KHRob3VzYW5kU3ltYm9sKS5sZW5ndGg7XG5cbiAgICByZXR1cm4gbm93U3BhY2VzIC0gd2VyZVNwYWNlcztcbn1cbiJdfQ==
@@ -8,7 +8,7 @@ const NON_ZERO_DIGIT = /[1-9]/;
8
8
  */
9
9
  export function tuiCreateNumberMask({ allowDecimal = false, decimalSymbol = ',', thousandSymbol = CHAR_NO_BREAK_SPACE, autoCorrectDecimalSymbol = true, decimalLimit = 2, requireDecimal = false, allowNegative = false, integerLimit = 0, } = {}) {
10
10
  tuiAssert.assert(Number.isInteger(decimalLimit));
11
- tuiAssert.assert(decimalLimit > 0);
11
+ tuiAssert.assert(decimalLimit >= 0);
12
12
  tuiAssert.assert(Number.isInteger(integerLimit));
13
13
  tuiAssert.assert(integerLimit >= 0);
14
14
  return (rawValue, { previousConformedValue }) => {
@@ -115,4 +115,4 @@ function addThousandsSeparator(strNumber, thousandSymbol) {
115
115
  ? strNumber.replace(/\B(?=(\d{3})+(?!\d))/g, thousandSymbol)
116
116
  : strNumber;
117
117
  }
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW51bWJlci1tYXNrLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWFzay8iLCJzb3VyY2VzIjpbImNyZWF0ZS1udW1iZXItbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQ0gsZUFBZSxFQUNmLGdCQUFnQixFQUNoQix5QkFBeUIsRUFDekIscUJBQXFCLEdBQ3hCLE1BQU0sMEJBQTBCLENBQUM7QUFHbEMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFL0QsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDO0FBRS9COzs7R0FHRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxFQUNoQyxZQUFZLEdBQUcsS0FBSyxFQUNwQixhQUFhLEdBQUcsR0FBRyxFQUNuQixjQUFjLEdBQUcsbUJBQW1CLEVBQ3BDLHdCQUF3QixHQUFHLElBQUksRUFDL0IsWUFBWSxHQUFHLENBQUMsRUFDaEIsY0FBYyxHQUFHLEtBQUssRUFDdEIsYUFBYSxHQUFHLEtBQUssRUFDckIsWUFBWSxHQUFHLENBQUMsTUFDTSxFQUFFO0lBQ3hCLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ2pELFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25DLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ2pELFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRXBDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBQyxzQkFBc0IsRUFBQyxFQUFFLEVBQUU7UUFDMUMsSUFBSSxzQkFBc0IsSUFB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QyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDOUUsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsU0FBaUIsRUFBRSxjQUFzQjtJQUNwRSxPQUFPLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUN2QixDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxjQUFjLENBQUM7UUFDNUQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDSEFSX0VOX0RBU0gsIENIQVJfTk9fQlJFQUtfU1BBQ0UsIHR1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIE1BU0tfQ0FSRVRfVFJBUCxcbiAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgIFRVSV9MRUFESU5HX1pFUk9FU19SRUdFWFAsXG4gICAgVFVJX05PTl9ESUdJVFNfUkVHRVhQLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlOdW1iZXJNYXNrT3B0aW9ucywgVHVpVGV4dE1hc2tMaXN0SGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvbWFzayc7XG5pbXBvcnQge1R1aURlY2ltYWxTeW1ib2x9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7b3RoZXJEZWNpbWFsU3ltYm9sfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9mb3JtYXQnO1xuXG5jb25zdCBOT05fWkVST19ESUdJVCA9IC9bMS05XS87XG5cbi8qKlxuICogQWRhcHRhdGlvbiBmb3Ige0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS90ZXh0LW1hc2svdGV4dC1tYXNrL3RyZWUvbWFzdGVyL2FkZG9ucyNjcmVhdGVudW1iZXJtYXNrIGBjcmVhdGVOdW1iZXJNYXNrYH1cbiAqIEB0b2RvIFRPRE86IGF1dG9jQ29ycmVjdERlY2ltYWxTeW1ib2wgaXMgbm8gbG9uZ2VyIG5lZWRlZC4gUmVtb3ZlIGl0IGluIDMuMFxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpQ3JlYXRlTnVtYmVyTWFzayh7XG4gICAgYWxsb3dEZWNpbWFsID0gZmFsc2UsXG4gICAgZGVjaW1hbFN5bWJvbCA9ICcsJyxcbiAgICB0aG91c2FuZFN5bWJvbCA9IENIQVJfTk9fQlJFQUtfU1BBQ0UsXG4gICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sID0gdHJ1ZSxcbiAgICBkZWNpbWFsTGltaXQgPSAyLFxuICAgIHJlcXVpcmVEZWNpbWFsID0gZmFsc2UsXG4gICAgYWxsb3dOZWdhdGl2ZSA9IGZhbHNlLFxuICAgIGludGVnZXJMaW1pdCA9IDAsXG59OiBUdWlOdW1iZXJNYXNrT3B0aW9ucyA9IHt9KTogVHVpVGV4dE1hc2tMaXN0SGFuZGxlciB7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKGRlY2ltYWxMaW1pdCkpO1xuICAgIHR1aUFzc2VydC5hc3NlcnQoZGVjaW1hbExpbWl0ID4gMCk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKGludGVnZXJMaW1pdCkpO1xuICAgIHR1aUFzc2VydC5hc3NlcnQoaW50ZWdlckxpbWl0ID49IDApO1xuXG4gICAgcmV0dXJuIChyYXdWYWx1ZSwge3ByZXZpb3VzQ29uZm9ybWVkVmFsdWV9KSA9PiB7XG4gICAgICAgIGlmIChwcmV2aW91c0NvbmZvcm1lZFZhbHVlICYmIHJlcXVpcmVEZWNpbWFsKSB7XG4gICAgICAgICAgICBjb25zdCBjb25mb3JtZWRXaXRob3V0U2VwYXJhdG9yID0gcmF3VmFsdWUuc3BsaXQodGhvdXNhbmRTeW1ib2wpLmpvaW4oJycpO1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVdpdGhvdXREZWNpbWFsU3ltYm9sQW5kU2VwYXJhdG9yID1cbiAgICAgICAgICAgICAgICBwcmV2aW91c0NvbmZvcm1lZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdCh0aG91c2FuZFN5bWJvbClcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJycpXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdChkZWNpbWFsU3ltYm9sKVxuICAgICAgICAgICAgICAgICAgICAuam9pbignJyk7XG5cbiAgICAgICAgICAgIC8vIEZvcmJpZCByZW1vdmFsIG9mIGRlY2ltYWwgc2VwYXJhdG9yIGlmIGRlY2ltYWwgcGFydCBpcyByZXF1aXJlZFxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGNvbmZvcm1lZFdpdGhvdXRTZXBhcmF0b3IgPT09XG4gICAgICAgICAgICAgICAgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVdpdGhvdXREZWNpbWFsU3ltYm9sQW5kU2VwYXJhdG9yXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByYXdWYWx1ZSA9IHByZXZpb3VzQ29uZm9ybWVkVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc05lZ2F0aXZlID1cbiAgICAgICAgICAgIChyYXdWYWx1ZVswXSA9PT0gJy0nIHx8IHJhd1ZhbHVlWzBdID09PSBDSEFSX0VOX0RBU0gpICYmIGFsbG93TmVnYXRpdmU7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaXNEZWNpbWFsU3ltYm9sKHJhd1ZhbHVlLCBkZWNpbWFsU3ltYm9sLCBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpICYmXG4gICAgICAgICAgICBhbGxvd0RlY2ltYWxcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gWycwJywgZGVjaW1hbFN5bWJvbCwgVFVJX0RJR0lUX1JFR0VYUF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICAgICAgcmF3VmFsdWUgPSByYXdWYWx1ZS5zdWJzdHIoMSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWNpbWFsSW5kZXggPSBnZXREZWNpbWFsU3ltYm9sSW5kZXgoXG4gICAgICAgICAgICByYXdWYWx1ZSxcbiAgICAgICAgICAgIGRlY2ltYWxTeW1ib2wsXG4gICAgICAgICAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGhhc0RlY2ltYWwgPSBkZWNpbWFsSW5kZXggIT09IC0xO1xuICAgICAgICBjb25zdCBpbnRlZ2VyID0gaGFzRGVjaW1hbCA/IHJhd1ZhbHVlLnNsaWNlKDAsIGRlY2ltYWxJbmRleCkgOiByYXdWYWx1ZTtcbiAgICAgICAgY29uc3QgdGhvdXNhbmRTZXBhcmF0b3JzID0gaW50ZWdlci5tYXRjaChuZXcgUmVnRXhwKHRob3VzYW5kU3ltYm9sLCAnZycpKSB8fCBbXTtcbiAgICAgICAgY29uc3QgaW50ZWdlckNhcHBlZCA9IGludGVnZXJMaW1pdFxuICAgICAgICAgICAgPyBpbnRlZ2VyLnNsaWNlKDAsIGludGVnZXJMaW1pdCArIHRob3VzYW5kU2VwYXJhdG9ycy5sZW5ndGgpXG4gICAgICAgICAgICA6IGludGVnZXI7XG4gICAgICAgIGNvbnN0IGludGVnZXJDYXBwZWRDbGVhbiA9IGludGVnZXJDYXBwZWQucmVwbGFjZShUVUlfTk9OX0RJR0lUU19SRUdFWFAsICcnKTtcbiAgICAgICAgY29uc3QgW2xlYWRpbmdaZXJvc01hdGNoXSA9IGludGVnZXJDYXBwZWRDbGVhbi5tYXRjaChcbiAgICAgICAgICAgIFRVSV9MRUFESU5HX1pFUk9FU19SRUdFWFAsXG4gICAgICAgICkgfHwgWycnXTtcbiAgICAgICAgY29uc3QgbGVhZGluZ1plcm9zQW1vdW50ID0gbGVhZGluZ1plcm9zTWF0Y2gubGVuZ3RoO1xuICAgICAgICBjb25zdCBpbnRlZ2VyQ2FwcGVkWmVyb3NDbGVhbiA9IGludGVnZXJDYXBwZWRDbGVhblxuICAgICAgICAgICAgLnJlcGxhY2UoL14wKyg/IVxcLnwkKS8sICcnKVxuICAgICAgICAgICAgLnRyaW0oKTtcbiAgICAgICAgY29uc3Qgd2l0aFNlcGFyYXRvciA9IGFkZFRob3VzYW5kc1NlcGFyYXRvcihcbiAgICAgICAgICAgIGludGVnZXJDYXBwZWRaZXJvc0NsZWFuLFxuICAgICAgICAgICAgdGhvdXNhbmRTeW1ib2wsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IG1hc2sgPSBjb252ZXJ0VG9NYXNrKHdpdGhTZXBhcmF0b3IpO1xuXG4gICAgICAgIGlmICgoaGFzRGVjaW1hbCAmJiBhbGxvd0RlY2ltYWwpIHx8IHJlcXVpcmVEZWNpbWFsKSB7XG4gICAgICAgICAgICBjb25zdCBmcmFjdGlvbiA9IGhhc0RlY2ltYWxcbiAgICAgICAgICAgICAgICA/IGNvbnZlcnRUb01hc2soXG4gICAgICAgICAgICAgICAgICAgICAgcmF3VmFsdWUuc2xpY2UoZGVjaW1hbEluZGV4ICsgMSkucmVwbGFjZShUVUlfTk9OX0RJR0lUU19SRUdFWFAsICcnKSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IFtdO1xuICAgICAgICAgICAgY29uc3QgZnJhY3Rpb25DYXBwZWQgPSBkZWNpbWFsTGltaXRcbiAgICAgICAgICAgICAgICA/IGZyYWN0aW9uLnNsaWNlKDAsIGRlY2ltYWxMaW1pdClcbiAgICAgICAgICAgICAgICA6IGZyYWN0aW9uO1xuXG4gICAgICAgICAgICBpZiAocmF3VmFsdWVbZGVjaW1hbEluZGV4XSAhPT0gb3RoZXJEZWNpbWFsU3ltYm9sKGRlY2ltYWxTeW1ib2wpKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKE1BU0tfQ0FSRVRfVFJBUCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG1hc2sucHVzaChkZWNpbWFsU3ltYm9sLCBNQVNLX0NBUkVUX1RSQVAsIC4uLmZyYWN0aW9uQ2FwcGVkKTtcblxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZWNpbWFsTGltaXQgLSBmcmFjdGlvbkNhcHBlZC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIG1hc2sucHVzaChUVUlfRElHSVRfUkVHRVhQKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzT25seVplcm9EaWdpdCA9IG1hc2subGVuZ3RoID09PSAxICYmIGludGVnZXJDYXBwZWRaZXJvc0NsZWFuID09PSAnMCc7XG5cbiAgICAgICAgaWYgKGlzTmVnYXRpdmUpIHtcbiAgICAgICAgICAgIGlmIChtYXNrLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIG1hc2sucHVzaChUVUlfRElHSVRfUkVHRVhQKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFzay51bnNoaWZ0KCctJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcHJldmVudExlYWRpbmdaZXJvZXMobWFzaywgaXNPbmx5WmVyb0RpZ2l0LCBsZWFkaW5nWmVyb3NBbW91bnQpO1xuICAgIH07XG59XG5cbmZ1bmN0aW9uIHByZXZlbnRMZWFkaW5nWmVyb2VzKFxuICAgIG1hc2s6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4sXG4gICAgaXNPbmx5WmVyb0RpZ2l0OiBib29sZWFuID0gZmFsc2UsXG4gICAgbGVhZGluZ1plcm9zQW1vdW50OiBudW1iZXIgPSAwLFxuKTogQXJyYXk8c3RyaW5nIHwgUmVnRXhwPiB7XG4gICAgaWYgKGlzT25seVplcm9EaWdpdCB8fCBsZWFkaW5nWmVyb3NBbW91bnQgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3REaWdpdEluZGV4ID0gbWFzay5pbmRleE9mKFRVSV9ESUdJVF9SRUdFWFApO1xuXG4gICAgaWYgKGZpcnN0RGlnaXRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfVxuXG4gICAgY29uc3Qgc2Vjb25kTWFza0RpZ2l0ID0gbWFza1tmaXJzdERpZ2l0SW5kZXggKyAxXTtcbiAgICBjb25zdCBpc0NhcmV0VHJhcCA9IHNlY29uZE1hc2tEaWdpdCA9PT0gTUFTS19DQVJFVF9UUkFQO1xuXG4gICAgaWYgKGlzQ2FyZXRUcmFwICYmIGxlYWRpbmdaZXJvc0Ftb3VudCA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9IGVsc2UgaWYgKGlzQ2FyZXRUcmFwKSB7XG4gICAgICAgIG1hc2sudW5zaGlmdChOT05fWkVST19ESUdJVCk7XG5cbiAgICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfVxuXG4gICAgbWFza1tmaXJzdERpZ2l0SW5kZXhdID0gTk9OX1pFUk9fRElHSVQ7XG5cbiAgICByZXR1cm4gbWFzaztcbn1cblxuZnVuY3Rpb24gZ2V0RGVjaW1hbFN5bWJvbEluZGV4KFxuICAgIHN0cjogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wsXG4gICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sOiBib29sZWFuLFxuKTogbnVtYmVyIHtcbiAgICBpZiAoIWF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkge1xuICAgICAgICByZXR1cm4gc3RyLmxhc3RJbmRleE9mKGRlY2ltYWxTeW1ib2wpO1xuICAgIH1cblxuICAgIHJldHVybiBNYXRoLm1heChcbiAgICAgICAgc3RyLmxhc3RJbmRleE9mKGRlY2ltYWxTeW1ib2wpLFxuICAgICAgICBzdHIubGFzdEluZGV4T2Yob3RoZXJEZWNpbWFsU3ltYm9sKGRlY2ltYWxTeW1ib2wpKSxcbiAgICApO1xufVxuXG5mdW5jdGlvbiBpc0RlY2ltYWxTeW1ib2woXG4gICAgc3RyOiBzdHJpbmcsXG4gICAgZGVjaW1hbFN5bWJvbDogVHVpRGVjaW1hbFN5bWJvbCxcbiAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2w6IGJvb2xlYW4sXG4pOiBib29sZWFuIHtcbiAgICBpZiAoYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sKSB7XG4gICAgICAgIHJldHVybiAvXlssLl0kLy50ZXN0KHN0cik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0ciA9PT0gZGVjaW1hbFN5bWJvbDtcbn1cblxuZnVuY3Rpb24gY29udmVydFRvTWFzayhzdHJOdW1iZXI6IHN0cmluZyk6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4ge1xuICAgIHJldHVybiBzdHJOdW1iZXJcbiAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAubWFwKGNoYXIgPT4gKFRVSV9ESUdJVF9SRUdFWFAudGVzdChjaGFyKSA/IFRVSV9ESUdJVF9SRUdFWFAgOiBjaGFyKSk7XG59XG5cbmZ1bmN0aW9uIGFkZFRob3VzYW5kc1NlcGFyYXRvcihzdHJOdW1iZXI6IHN0cmluZywgdGhvdXNhbmRTeW1ib2w6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN0ck51bWJlci5sZW5ndGggPiAzXG4gICAgICAgID8gc3RyTnVtYmVyLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIHRob3VzYW5kU3ltYm9sKVxuICAgICAgICA6IHN0ck51bWJlcjtcbn1cbiJdfQ==
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW51bWJlci1tYXNrLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWFzay8iLCJzb3VyY2VzIjpbImNyZWF0ZS1udW1iZXItbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQ0gsZUFBZSxFQUNmLGdCQUFnQixFQUNoQix5QkFBeUIsRUFDekIscUJBQXFCLEdBQ3hCLE1BQU0sMEJBQTBCLENBQUM7QUFHbEMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFL0QsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDO0FBRS9COzs7R0FHRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxFQUNoQyxZQUFZLEdBQUcsS0FBSyxFQUNwQixhQUFhLEdBQUcsR0FBRyxFQUNuQixjQUFjLEdBQUcsbUJBQW1CLEVBQ3BDLHdCQUF3QixHQUFHLElBQUksRUFDL0IsWUFBWSxHQUFHLENBQUMsRUFDaEIsY0FBYyxHQUFHLEtBQUssRUFDdEIsYUFBYSxHQUFHLEtBQUssRUFDckIsWUFBWSxHQUFHLENBQUMsTUFDTSxFQUFFO0lBQ3hCLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ2pELFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ2pELFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRXBDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBQyxzQkFBc0IsRUFBQyxFQUFFLEVBQUU7UUFDMUMsSUFBSSxzQkFBc0IsSUFB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QyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDOUUsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsU0FBaUIsRUFBRSxjQUFzQjtJQUNwRSxPQUFPLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUN2QixDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxjQUFjLENBQUM7UUFDNUQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDSEFSX0VOX0RBU0gsIENIQVJfTk9fQlJFQUtfU1BBQ0UsIHR1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIE1BU0tfQ0FSRVRfVFJBUCxcbiAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgIFRVSV9MRUFESU5HX1pFUk9FU19SRUdFWFAsXG4gICAgVFVJX05PTl9ESUdJVFNfUkVHRVhQLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlOdW1iZXJNYXNrT3B0aW9ucywgVHVpVGV4dE1hc2tMaXN0SGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvbWFzayc7XG5pbXBvcnQge1R1aURlY2ltYWxTeW1ib2x9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7b3RoZXJEZWNpbWFsU3ltYm9sfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9mb3JtYXQnO1xuXG5jb25zdCBOT05fWkVST19ESUdJVCA9IC9bMS05XS87XG5cbi8qKlxuICogQWRhcHRhdGlvbiBmb3Ige0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS90ZXh0LW1hc2svdGV4dC1tYXNrL3RyZWUvbWFzdGVyL2FkZG9ucyNjcmVhdGVudW1iZXJtYXNrIGBjcmVhdGVOdW1iZXJNYXNrYH1cbiAqIEB0b2RvIFRPRE86IGF1dG9jQ29ycmVjdERlY2ltYWxTeW1ib2wgaXMgbm8gbG9uZ2VyIG5lZWRlZC4gUmVtb3ZlIGl0IGluIDMuMFxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpQ3JlYXRlTnVtYmVyTWFzayh7XG4gICAgYWxsb3dEZWNpbWFsID0gZmFsc2UsXG4gICAgZGVjaW1hbFN5bWJvbCA9ICcsJyxcbiAgICB0aG91c2FuZFN5bWJvbCA9IENIQVJfTk9fQlJFQUtfU1BBQ0UsXG4gICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sID0gdHJ1ZSxcbiAgICBkZWNpbWFsTGltaXQgPSAyLFxuICAgIHJlcXVpcmVEZWNpbWFsID0gZmFsc2UsXG4gICAgYWxsb3dOZWdhdGl2ZSA9IGZhbHNlLFxuICAgIGludGVnZXJMaW1pdCA9IDAsXG59OiBUdWlOdW1iZXJNYXNrT3B0aW9ucyA9IHt9KTogVHVpVGV4dE1hc2tMaXN0SGFuZGxlciB7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKGRlY2ltYWxMaW1pdCkpO1xuICAgIHR1aUFzc2VydC5hc3NlcnQoZGVjaW1hbExpbWl0ID49IDApO1xuICAgIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihpbnRlZ2VyTGltaXQpKTtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KGludGVnZXJMaW1pdCA+PSAwKTtcblxuICAgIHJldHVybiAocmF3VmFsdWUsIHtwcmV2aW91c0NvbmZvcm1lZFZhbHVlfSkgPT4ge1xuICAgICAgICBpZiAocHJldmlvdXNDb25mb3JtZWRWYWx1ZSAmJiByZXF1aXJlRGVjaW1hbCkge1xuICAgICAgICAgICAgY29uc3QgY29uZm9ybWVkV2l0aG91dFNlcGFyYXRvciA9IHJhd1ZhbHVlLnNwbGl0KHRob3VzYW5kU3ltYm9sKS5qb2luKCcnKTtcbiAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzQ29uZm9ybWVkVmFsdWVXaXRob3V0RGVjaW1hbFN5bWJvbEFuZFNlcGFyYXRvciA9XG4gICAgICAgICAgICAgICAgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAuc3BsaXQodGhvdXNhbmRTeW1ib2wpXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKCcnKVxuICAgICAgICAgICAgICAgICAgICAuc3BsaXQoZGVjaW1hbFN5bWJvbClcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJycpO1xuXG4gICAgICAgICAgICAvLyBGb3JiaWQgcmVtb3ZhbCBvZiBkZWNpbWFsIHNlcGFyYXRvciBpZiBkZWNpbWFsIHBhcnQgaXMgcmVxdWlyZWRcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBjb25mb3JtZWRXaXRob3V0U2VwYXJhdG9yID09PVxuICAgICAgICAgICAgICAgIHByZXZpb3VzQ29uZm9ybWVkVmFsdWVXaXRob3V0RGVjaW1hbFN5bWJvbEFuZFNlcGFyYXRvclxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmF3VmFsdWUgPSBwcmV2aW91c0NvbmZvcm1lZFZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNOZWdhdGl2ZSA9XG4gICAgICAgICAgICAocmF3VmFsdWVbMF0gPT09ICctJyB8fCByYXdWYWx1ZVswXSA9PT0gQ0hBUl9FTl9EQVNIKSAmJiBhbGxvd05lZ2F0aXZlO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGlzRGVjaW1hbFN5bWJvbChyYXdWYWx1ZSwgZGVjaW1hbFN5bWJvbCwgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sKSAmJlxuICAgICAgICAgICAgYWxsb3dEZWNpbWFsXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFsnMCcsIGRlY2ltYWxTeW1ib2wsIFRVSV9ESUdJVF9SRUdFWFBdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzTmVnYXRpdmUpIHtcbiAgICAgICAgICAgIHJhd1ZhbHVlID0gcmF3VmFsdWUuc3Vic3RyKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVjaW1hbEluZGV4ID0gZ2V0RGVjaW1hbFN5bWJvbEluZGV4KFxuICAgICAgICAgICAgcmF3VmFsdWUsXG4gICAgICAgICAgICBkZWNpbWFsU3ltYm9sLFxuICAgICAgICAgICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBoYXNEZWNpbWFsID0gZGVjaW1hbEluZGV4ICE9PSAtMTtcbiAgICAgICAgY29uc3QgaW50ZWdlciA9IGhhc0RlY2ltYWwgPyByYXdWYWx1ZS5zbGljZSgwLCBkZWNpbWFsSW5kZXgpIDogcmF3VmFsdWU7XG4gICAgICAgIGNvbnN0IHRob3VzYW5kU2VwYXJhdG9ycyA9IGludGVnZXIubWF0Y2gobmV3IFJlZ0V4cCh0aG91c2FuZFN5bWJvbCwgJ2cnKSkgfHwgW107XG4gICAgICAgIGNvbnN0IGludGVnZXJDYXBwZWQgPSBpbnRlZ2VyTGltaXRcbiAgICAgICAgICAgID8gaW50ZWdlci5zbGljZSgwLCBpbnRlZ2VyTGltaXQgKyB0aG91c2FuZFNlcGFyYXRvcnMubGVuZ3RoKVxuICAgICAgICAgICAgOiBpbnRlZ2VyO1xuICAgICAgICBjb25zdCBpbnRlZ2VyQ2FwcGVkQ2xlYW4gPSBpbnRlZ2VyQ2FwcGVkLnJlcGxhY2UoVFVJX05PTl9ESUdJVFNfUkVHRVhQLCAnJyk7XG4gICAgICAgIGNvbnN0IFtsZWFkaW5nWmVyb3NNYXRjaF0gPSBpbnRlZ2VyQ2FwcGVkQ2xlYW4ubWF0Y2goXG4gICAgICAgICAgICBUVUlfTEVBRElOR19aRVJPRVNfUkVHRVhQLFxuICAgICAgICApIHx8IFsnJ107XG4gICAgICAgIGNvbnN0IGxlYWRpbmdaZXJvc0Ftb3VudCA9IGxlYWRpbmdaZXJvc01hdGNoLmxlbmd0aDtcbiAgICAgICAgY29uc3QgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4gPSBpbnRlZ2VyQ2FwcGVkQ2xlYW5cbiAgICAgICAgICAgIC5yZXBsYWNlKC9eMCsoPyFcXC58JCkvLCAnJylcbiAgICAgICAgICAgIC50cmltKCk7XG4gICAgICAgIGNvbnN0IHdpdGhTZXBhcmF0b3IgPSBhZGRUaG91c2FuZHNTZXBhcmF0b3IoXG4gICAgICAgICAgICBpbnRlZ2VyQ2FwcGVkWmVyb3NDbGVhbixcbiAgICAgICAgICAgIHRob3VzYW5kU3ltYm9sLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBtYXNrID0gY29udmVydFRvTWFzayh3aXRoU2VwYXJhdG9yKTtcblxuICAgICAgICBpZiAoKGhhc0RlY2ltYWwgJiYgYWxsb3dEZWNpbWFsKSB8fCByZXF1aXJlRGVjaW1hbCkge1xuICAgICAgICAgICAgY29uc3QgZnJhY3Rpb24gPSBoYXNEZWNpbWFsXG4gICAgICAgICAgICAgICAgPyBjb252ZXJ0VG9NYXNrKFxuICAgICAgICAgICAgICAgICAgICAgIHJhd1ZhbHVlLnNsaWNlKGRlY2ltYWxJbmRleCArIDEpLnJlcGxhY2UoVFVJX05PTl9ESUdJVFNfUkVHRVhQLCAnJyksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiBbXTtcbiAgICAgICAgICAgIGNvbnN0IGZyYWN0aW9uQ2FwcGVkID0gZGVjaW1hbExpbWl0XG4gICAgICAgICAgICAgICAgPyBmcmFjdGlvbi5zbGljZSgwLCBkZWNpbWFsTGltaXQpXG4gICAgICAgICAgICAgICAgOiBmcmFjdGlvbjtcblxuICAgICAgICAgICAgaWYgKHJhd1ZhbHVlW2RlY2ltYWxJbmRleF0gIT09IG90aGVyRGVjaW1hbFN5bWJvbChkZWNpbWFsU3ltYm9sKSkge1xuICAgICAgICAgICAgICAgIG1hc2sucHVzaChNQVNLX0NBUkVUX1RSQVApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXNrLnB1c2goZGVjaW1hbFN5bWJvbCwgTUFTS19DQVJFVF9UUkFQLCAuLi5mcmFjdGlvbkNhcHBlZCk7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGVjaW1hbExpbWl0IC0gZnJhY3Rpb25DYXBwZWQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBtYXNrLnB1c2goVFVJX0RJR0lUX1JFR0VYUCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc09ubHlaZXJvRGlnaXQgPSBtYXNrLmxlbmd0aCA9PT0gMSAmJiBpbnRlZ2VyQ2FwcGVkWmVyb3NDbGVhbiA9PT0gJzAnO1xuXG4gICAgICAgIGlmIChpc05lZ2F0aXZlKSB7XG4gICAgICAgICAgICBpZiAobWFzay5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICBtYXNrLnB1c2goVFVJX0RJR0lUX1JFR0VYUCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG1hc2sudW5zaGlmdCgnLScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHByZXZlbnRMZWFkaW5nWmVyb2VzKG1hc2ssIGlzT25seVplcm9EaWdpdCwgbGVhZGluZ1plcm9zQW1vdW50KTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBwcmV2ZW50TGVhZGluZ1plcm9lcyhcbiAgICBtYXNrOiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+LFxuICAgIGlzT25seVplcm9EaWdpdDogYm9vbGVhbiA9IGZhbHNlLFxuICAgIGxlYWRpbmdaZXJvc0Ftb3VudDogbnVtYmVyID0gMCxcbik6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4ge1xuICAgIGlmIChpc09ubHlaZXJvRGlnaXQgfHwgbGVhZGluZ1plcm9zQW1vdW50ID09PSAwKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0RGlnaXRJbmRleCA9IG1hc2suaW5kZXhPZihUVUlfRElHSVRfUkVHRVhQKTtcblxuICAgIGlmIChmaXJzdERpZ2l0SW5kZXggPT09IC0xKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIGNvbnN0IHNlY29uZE1hc2tEaWdpdCA9IG1hc2tbZmlyc3REaWdpdEluZGV4ICsgMV07XG4gICAgY29uc3QgaXNDYXJldFRyYXAgPSBzZWNvbmRNYXNrRGlnaXQgPT09IE1BU0tfQ0FSRVRfVFJBUDtcblxuICAgIGlmIChpc0NhcmV0VHJhcCAmJiBsZWFkaW5nWmVyb3NBbW91bnQgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfSBlbHNlIGlmIChpc0NhcmV0VHJhcCkge1xuICAgICAgICBtYXNrLnVuc2hpZnQoTk9OX1pFUk9fRElHSVQpO1xuXG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH1cblxuICAgIG1hc2tbZmlyc3REaWdpdEluZGV4XSA9IE5PTl9aRVJPX0RJR0lUO1xuXG4gICAgcmV0dXJuIG1hc2s7XG59XG5cbmZ1bmN0aW9uIGdldERlY2ltYWxTeW1ib2xJbmRleChcbiAgICBzdHI6IHN0cmluZyxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sLFxuICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbDogYm9vbGVhbixcbik6IG51bWJlciB7XG4gICAgaWYgKCFhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKTtcbiAgICB9XG5cbiAgICByZXR1cm4gTWF0aC5tYXgoXG4gICAgICAgIHN0ci5sYXN0SW5kZXhPZihkZWNpbWFsU3ltYm9sKSxcbiAgICAgICAgc3RyLmxhc3RJbmRleE9mKG90aGVyRGVjaW1hbFN5bWJvbChkZWNpbWFsU3ltYm9sKSksXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gaXNEZWNpbWFsU3ltYm9sKFxuICAgIHN0cjogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wsXG4gICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sOiBib29sZWFuLFxuKTogYm9vbGVhbiB7XG4gICAgaWYgKGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkge1xuICAgICAgICByZXR1cm4gL15bLC5dJC8udGVzdChzdHIpO1xuICAgIH1cblxuICAgIHJldHVybiBzdHIgPT09IGRlY2ltYWxTeW1ib2w7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUb01hc2soc3RyTnVtYmVyOiBzdHJpbmcpOiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+IHtcbiAgICByZXR1cm4gc3RyTnVtYmVyXG4gICAgICAgIC5zcGxpdCgnJylcbiAgICAgICAgLm1hcChjaGFyID0+IChUVUlfRElHSVRfUkVHRVhQLnRlc3QoY2hhcikgPyBUVUlfRElHSVRfUkVHRVhQIDogY2hhcikpO1xufVxuXG5mdW5jdGlvbiBhZGRUaG91c2FuZHNTZXBhcmF0b3Ioc3RyTnVtYmVyOiBzdHJpbmcsIHRob3VzYW5kU3ltYm9sOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHJOdW1iZXIubGVuZ3RoID4gM1xuICAgICAgICA/IHN0ck51bWJlci5yZXBsYWNlKC9cXEIoPz0oXFxkezN9KSsoPyFcXGQpKS9nLCB0aG91c2FuZFN5bWJvbClcbiAgICAgICAgOiBzdHJOdW1iZXI7XG59XG4iXX0=
@@ -0,0 +1,6 @@
1
+ /** Default values for abstract hint options */
2
+ export var TUI_ABSTRACT_HINT_DEFAULT_OPTIONS = {
3
+ mode: null,
4
+ direction: 'bottom-left',
5
+ };
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtaGludC1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QvIiwic291cmNlcyI6WyJhYnN0cmFjdC1oaW50LW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxJQUFNLGlDQUFpQyxHQUEyQjtJQUNyRSxJQUFJLEVBQUUsSUFBSTtJQUNWLFNBQVMsRUFBRSxhQUFhO0NBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aURpcmVjdGlvbiwgVHVpSGludE1vZGVUfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpQWJzdHJhY3RIaW50T3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgbW9kZTogVHVpSGludE1vZGVUIHwgbnVsbDtcbiAgICByZWFkb25seSBkaXJlY3Rpb246IFR1aURpcmVjdGlvbjtcbn1cblxuLyoqIERlZmF1bHQgdmFsdWVzIGZvciBhYnN0cmFjdCBoaW50IG9wdGlvbnMgKi9cbmV4cG9ydCBjb25zdCBUVUlfQUJTVFJBQ1RfSElOVF9ERUZBVUxUX09QVElPTlM6IFR1aUFic3RyYWN0SGludE9wdGlvbnMgPSB7XG4gICAgbW9kZTogbnVsbCxcbiAgICBkaXJlY3Rpb246ICdib3R0b20tbGVmdCcsXG59O1xuIl19
@@ -3,12 +3,13 @@ import { Directive, ElementRef, Input, OnDestroy } from '@angular/core';
3
3
  import { TuiActiveZoneDirective, tuiDefaultProp } from '@taiga-ui/cdk';
4
4
  import { TuiHintService } from '@taiga-ui/core/services';
5
5
  var AbstractTuiHint = /** @class */ (function () {
6
- function AbstractTuiHint(elementRef, hintService, activeZone) {
6
+ function AbstractTuiHint(elementRef, hintService, activeZone, options) {
7
7
  this.elementRef = elementRef;
8
8
  this.hintService = hintService;
9
9
  this.activeZone = activeZone;
10
- this.mode = null;
11
- this.direction = 'bottom-left';
10
+ this.options = options;
11
+ this.mode = this.options.mode;
12
+ this.direction = this.options.direction;
12
13
  this.content = '';
13
14
  }
14
15
  AbstractTuiHint.prototype.ngOnDestroy = function () {
@@ -23,7 +24,8 @@ var AbstractTuiHint = /** @class */ (function () {
23
24
  AbstractTuiHint.ctorParameters = function () { return [
24
25
  { type: ElementRef },
25
26
  { type: TuiHintService },
26
- { type: TuiActiveZoneDirective }
27
+ { type: TuiActiveZoneDirective },
28
+ { type: undefined }
27
29
  ]; };
28
30
  __decorate([
29
31
  Input('tuiHintMode'),
@@ -39,4 +41,4 @@ var AbstractTuiHint = /** @class */ (function () {
39
41
  return AbstractTuiHint;
40
42
  }());
41
43
  export { AbstractTuiHint };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtaGludC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0LyIsInNvdXJjZXMiOlsiYWJzdHJhY3QtaGludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUt2RDtJQVdJLHlCQUN1QixVQUFtQyxFQUNuQyxXQUEyQixFQUNyQyxVQUF5QztRQUYvQixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDckMsZUFBVSxHQUFWLFVBQVUsQ0FBK0I7UUFYdEQsU0FBSSxHQUF3QixJQUFJLENBQUM7UUFJakMsY0FBUyxHQUFpQixhQUFhLENBQUM7UUFFeEMsWUFBTyxHQUF3QixFQUFFLENBQUM7SUFNL0IsQ0FBQztJQUlKLHFDQUFXLEdBQVg7UUFDSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVTLHFDQUFXLEdBQXJCO1FBQ0ksSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVTLHFDQUFXLEdBQXJCO1FBQ0ksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7Z0JBakJrQyxVQUFVO2dCQUNULGNBQWM7Z0JBQ3pCLHNCQUFzQjs7SUFYL0M7UUFGQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQ3BCLGNBQWMsRUFBRTtpREFDZ0I7SUFJakM7UUFGQyxLQUFLLENBQUMsa0JBQWtCLENBQUM7UUFDekIsY0FBYyxFQUFFO3NEQUN1QjtJQVB0QixlQUFlO1FBRHBDLFNBQVMsRUFBRTtPQUNVLGVBQWUsQ0E4QnBDO0lBQUQsc0JBQUM7Q0FBQSxBQTlCRCxJQThCQztTQTlCcUIsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZURpcmVjdGl2ZSwgdHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlIaW50U2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvc2VydmljZXMnO1xuaW1wb3J0IHtUdWlEaXJlY3Rpb24sIFR1aUhpbnRNb2RlVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFR1aUhpbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgndHVpSGludE1vZGUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbW9kZTogVHVpSGludE1vZGVUIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoJ3R1aUhpbnREaXJlY3Rpb24nKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlyZWN0aW9uOiBUdWlEaXJlY3Rpb24gPSAnYm90dG9tLWxlZnQnO1xuXG4gICAgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhpbnRTZXJ2aWNlOiBUdWlIaW50U2VydmljZSxcbiAgICAgICAgcmVhZG9ubHkgYWN0aXZlWm9uZTogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7fVxuXG4gICAgYWJzdHJhY3QgZ2V0RWxlbWVudENsaWVudFJlY3QoKTogQ2xpZW50UmVjdDtcblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmhpZGVUb29sdGlwKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNob3dUb29sdGlwKCkge1xuICAgICAgICB0aGlzLmhpbnRTZXJ2aWNlLmFkZCh0aGlzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGlkZVRvb2x0aXAoKSB7XG4gICAgICAgIHRoaXMuaGludFNlcnZpY2UucmVtb3ZlKHRoaXMpO1xuICAgIH1cbn1cbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtaGludC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0LyIsInNvdXJjZXMiOlsiYWJzdHJhY3QtaGludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQU12RDtJQVdJLHlCQUN1QixVQUFtQyxFQUNuQyxXQUEyQixFQUNyQyxVQUF5QyxFQUMvQixPQUErQjtRQUgvQixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDckMsZUFBVSxHQUFWLFVBQVUsQ0FBK0I7UUFDL0IsWUFBTyxHQUFQLE9BQU8sQ0FBd0I7UUFadEQsU0FBSSxHQUFtQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUl6RCxjQUFTLEdBQXdDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBRXhFLFlBQU8sR0FBd0IsRUFBRSxDQUFDO0lBTy9CLENBQUM7SUFJSixxQ0FBVyxHQUFYO1FBQ0ksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFUyxxQ0FBVyxHQUFyQjtRQUNJLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFUyxxQ0FBVyxHQUFyQjtRQUNJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7O2dCQWxCa0MsVUFBVTtnQkFDVCxjQUFjO2dCQUN6QixzQkFBc0I7OztJQVgvQztRQUZDLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDcEIsY0FBYyxFQUFFO2lEQUN3QztJQUl6RDtRQUZDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztRQUN6QixjQUFjLEVBQUU7c0RBQ3VEO0lBUHRELGVBQWU7UUFEcEMsU0FBUyxFQUFFO09BQ1UsZUFBZSxDQStCcEM7SUFBRCxzQkFBQztDQUFBLEFBL0JELElBK0JDO1NBL0JxQixlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlBY3RpdmVab25lRGlyZWN0aXZlLCB0dWlEZWZhdWx0UHJvcH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUhpbnRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpQWJzdHJhY3RIaW50T3B0aW9uc30gZnJvbSAnLi9hYnN0cmFjdC1oaW50LW9wdGlvbnMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFR1aUhpbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgndHVpSGludE1vZGUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbW9kZTogVHVpQWJzdHJhY3RIaW50T3B0aW9uc1snbW9kZSddID0gdGhpcy5vcHRpb25zLm1vZGU7XG5cbiAgICBASW5wdXQoJ3R1aUhpbnREaXJlY3Rpb24nKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlyZWN0aW9uOiBUdWlBYnN0cmFjdEhpbnRPcHRpb25zWydkaXJlY3Rpb24nXSA9IHRoaXMub3B0aW9ucy5kaXJlY3Rpb247XG5cbiAgICBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50ID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGludFNlcnZpY2U6IFR1aUhpbnRTZXJ2aWNlLFxuICAgICAgICByZWFkb25seSBhY3RpdmVab25lOiBUdWlBY3RpdmVab25lRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUFic3RyYWN0SGludE9wdGlvbnMsXG4gICAgKSB7fVxuXG4gICAgYWJzdHJhY3QgZ2V0RWxlbWVudENsaWVudFJlY3QoKTogQ2xpZW50UmVjdDtcblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmhpZGVUb29sdGlwKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNob3dUb29sdGlwKCkge1xuICAgICAgICB0aGlzLmhpbnRTZXJ2aWNlLmFkZCh0aGlzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGlkZVRvb2x0aXAoKSB7XG4gICAgICAgIHRoaXMuaGludFNlcnZpY2UucmVtb3ZlKHRoaXMpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
1
  export * from './abstract-dropdown';
2
2
  export * from './abstract-hint';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9hYnN0cmFjdC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3QtZHJvcGRvd24nO1xuZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC1oaW50JztcbiJdfQ==
3
+ export * from './abstract-hint-options';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9hYnN0cmFjdC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC1kcm9wZG93bic7XG5leHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0LWhpbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC1oaW50LW9wdGlvbnMnO1xuIl19
@@ -105,7 +105,7 @@ var TuiDialogComponent = /** @class */ (function () {
105
105
  changeDetection: ChangeDetectionStrategy.OnPush,
106
106
  providers: TUI_DIALOG_PROVIDERS,
107
107
  animations: [tuiSlideInTop, tuiFadeIn],
108
- styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:40px solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);content:'';border-radius:inherit;pointer-events:none}:host[data-size='s']{width:30rem}:host[data-size='s'] .content{padding:1.5rem}:host[data-size='s'] .heading{margin-bottom:.5rem}:host[data-size='m']{width:42.5rem}:host[data-size='m'] .heading{margin-bottom:.75rem}:host[data-size='l']{width:55rem}:host[data-size='l'] .heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{width:100vw;min-height:100vh;border-radius:0;border:none;background:var(--tui-base-01)}:host[data-size=fullscreen] .content,:host[data-size=page] .content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .heading,:host[data-size=page] .heading{margin-bottom:1rem}:host[data-size=page] .content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100vw;width:100vw;max-width:100vw;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .content{padding:2rem 1.5rem}:host :host-context(tui-root._mobile)[data-size] .heading{margin-bottom:.5rem}.heading{margin:0;word-wrap:break-word}.heading:empty{display:none}.header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .header{flex:1}.content{border-radius:inherit;padding:2rem;background:var(--tui-base-01)}.content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.wrapper{position:sticky;top:0;order:-1}.close{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;color:var(--tui-base-01);background:rgba(104,104,104,.96)}.close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=fullscreen]) .close{-webkit-animation:tuiFadeIn var(--tui-duration);animation:tuiFadeIn var(--tui-duration)}:host:not([data-size=fullscreen]).ng-animating .close{display:none}:host-context(tui-root._mobile) .close{position:absolute;top:0;right:0;background:0 0;color:var(--tui-base-06)}:host-context(tui-root._mobile) .close:hover{color:var(--tui-base-07)}.buttons{margin-top:1.25rem;text-align:right}"]
108
+ styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:40px solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);content:'';border-radius:inherit;pointer-events:none}:host[data-size='s']{width:30rem}:host[data-size='s'] .content{padding:1.5rem}:host[data-size='s'] .heading{margin-bottom:.5rem}:host[data-size='m']{width:42.5rem}:host[data-size='m'] .heading{margin-bottom:.75rem}:host[data-size='l']{width:55rem}:host[data-size='l'] .heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{width:100vw;min-height:100%;border-radius:0;border:none;background:var(--tui-base-01);box-shadow:0 4rem var(--tui-base-01)}:host[data-size=fullscreen] .content,:host[data-size=page] .content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .heading,:host[data-size=page] .heading{margin-bottom:1rem}:host[data-size=page] .content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100vw;width:100vw;max-width:100vw;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .content{padding:2rem 1.5rem}:host :host-context(tui-root._mobile)[data-size] .heading{margin-bottom:.5rem}.heading{margin:0;word-wrap:break-word}.heading:empty{display:none}.header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .header{flex:1}.content{border-radius:inherit;padding:2rem;background:var(--tui-base-01)}.content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.wrapper{position:-webkit-sticky;position:sticky;top:0;order:-1}.close{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;color:var(--tui-base-01);background:rgba(104,104,104,.96)}.close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=fullscreen]) .close{-webkit-animation:tuiFadeIn var(--tui-duration);animation:tuiFadeIn var(--tui-duration)}:host:not([data-size=fullscreen]).ng-animating .close{display:none}:host-context(tui-root._mobile) .close{position:absolute;top:0;right:0;background:0 0;color:var(--tui-base-06)}:host-context(tui-root._mobile) .close:hover{color:var(--tui-base-07)}.buttons{margin-top:1.25rem;text-align:right}"]
109
109
  }),
110
110
  __param(0, Inject(TUI_ANIMATIONS_DURATION)),
111
111
  __param(1, Inject(TUI_IS_MOBILE)),
@@ -149,4 +149,4 @@ var TuiExpandComponent = /** @class */ (function () {
149
149
  return TuiExpandComponent;
150
150
  }());
151
151
  export { TuiExpandComponent };
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZXhwYW5kLyIsInNvdXJjZXMiOlsiZXhwYW5kLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFckUsSUFBSyxLQUtKO0FBTEQsV0FBSyxLQUFLO0lBQ04saUNBQUksQ0FBQTtJQUNKLHVDQUFPLENBQUE7SUFDUCx5Q0FBUSxDQUFBO0lBQ1IseUNBQVEsQ0FBQTtBQUNaLENBQUMsRUFMSSxLQUFLLEtBQUwsS0FBSyxRQUtUO0FBRUQsSUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBUXpCO0lBcUNJLDRCQUNnRCxpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWxDNUUsVUFBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFJM0IsVUFBSyxHQUFHLEtBQUssQ0FBQztRQTJCZCxhQUFRLEdBQW1CLElBQUksQ0FBQztJQUk3QixDQUFDO0lBM0JKLHNCQUFJLDhDQUFjO2FBQWxCLFVBQW1CLFFBQWlCO1lBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO2dCQUV6QixPQUFPO2FB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cG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7aXNDdXJyZW50VGFyZ2V0LCB0dWlEZWZhdWx0UHJvcCwgdHVpUmVxdWlyZWRTZXR0ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfRVhQQU5EX0xPQURFRH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcblxuaW1wb3J0IHtUdWlFeHBhbmRDb250ZW50RGlyZWN0aXZlfSBmcm9tICcuL2V4cGFuZC1jb250ZW50LmRpcmVjdGl2ZSc7XG5cbmVudW0gU3RhdGUge1xuICAgIElkbGUsXG4gICAgTG9hZGluZyxcbiAgICBQcmVwYXJlZCxcbiAgICBBbmltYXRlZCxcbn1cblxuY29uc3QgTE9BREVSX0hFSUdIVCA9IDQ4O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1leHBhbmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9leHBhbmQudGVtcGxhdGUuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXhwYW5kLnN0eWxlLmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRXhwYW5kQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCd3cmFwcGVyJylcbiAgICBwcml2YXRlIGNvbnRlbnRXcmFwcGVyPzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICBwcml2YXRlIHN0YXRlID0gU3RhdGUuSWRsZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhc3luYyA9IGZhbHNlO1xuXG4gICAgQElucHV0KCdleHBhbmRlZCcpXG4gICAgQHR1aVJlcXVpcmVkU2V0dGVyKClcbiAgICBzZXQgZXhwYW5kZWRTZXR0ZXIoZXhwYW5kZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGUpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5BbmltYXRlZDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICB0aGlzLnJldHJpZ2dlcih0aGlzLmFzeW5jICYmIGV4cGFuZGVkID8gU3RhdGUuTG9hZGluZyA6IFN0YXRlLkFuaW1hdGVkKTtcbiAgICB9XG5cbiAgICBAQ29udGVudENoaWxkKFR1aUV4cGFuZENvbnRlbnREaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgY29udGVudD86IFRlbXBsYXRlUmVmPHt9PjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2V4cGFuZGVkJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgZXhwYW5kZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHt9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9vdmVyZmxvdycpXG4gICAgZ2V0IG92ZXJmbG93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSAhPT0gU3RhdGUuSWRsZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9sb2FkaW5nJylcbiAgICBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5leHBhbmRlZCAmJiB0aGlzLmFzeW5jICYmIHRoaXMuc3RhdGUgPT09IFN0YXRlLkxvYWRpbmc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKVxuICAgIGdldCBoZWlnaHQoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtleHBhbmRlZCwgc3RhdGUsIGNvbnRlbnRXcmFwcGVyfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5QcmVwYXJlZCkgfHxcbiAgICAgICAgICAgICghZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY29udGVudFdyYXBwZXIgJiZcbiAgICAgICAgICAgICgoIWV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5QcmVwYXJlZCkgfHxcbiAgICAgICAgICAgICAgICAoZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gY29udGVudFdyYXBwZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29udGVudFdyYXBwZXIgJiYgZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkxvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLm1heChjb250ZW50V3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCwgTE9BREVSX0hFSUdIVCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY29udGVudFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGFuZGVkIHx8IHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigndHJhbnNpdGlvbmVuZCcsIFsnJGV2ZW50J10pXG4gICAgb25UcmFuc2l0aW9uRW5kKGV2ZW50OiBUcmFuc2l0aW9uRXZlbnQpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaXNDdXJyZW50VGFyZ2V0KGV2ZW50KSAmJlxuICAgICAgICAgICAgZXZlbnQucHJvcGVydHlOYW1lID09PSAnb3BhY2l0eScgJiZcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IFN0YXRlLklkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFRVSV9FWFBBTkRfTE9BREVELCBbJyRldmVudCddKVxuICAgIG9uRXhwYW5kTG9hZGVkKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gU3RhdGUuTG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy5yZXRyaWdnZXIoU3RhdGUuQW5pbWF0ZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXRyaWdnZXIoc3RhdGU6IFN0YXRlKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5QcmVwYXJlZDtcblxuICAgICAgICAvLyBXZSBuZWVkIGRlbGF5IHRvIHJldHJpZ2dlciBDU1MgaGVpZ2h0IHRyYW5zaXRpb24gZnJvbSB0aGUgY29ycmVjdCBudW1iZXJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdGF0ZSAhPT0gU3RhdGUuUHJlcGFyZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZXhwYW5kLyIsInNvdXJjZXMiOlsiZXhwYW5kLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFckUsSUFBSyxLQUtKO0FBTEQsV0FBSyxLQUFLO0lBQ04saUNBQUksQ0FBQTtJQUNKLHVDQUFPLENBQUE7SUFDUCx5Q0FBUSxDQUFBO0lBQ1IseUNBQVEsQ0FBQTtBQUNaLENBQUMsRUFMSSxLQUFLLEtBQUwsS0FBSyxRQUtUO0FBRUQsSUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBUXpCO0lBcUNJLDRCQUNnRCxpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWxDNUUsVUFBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFJM0IsVUFBSyxHQUFHLEtBQUssQ0FBQztRQTJCZCxhQUFRLEdBQW1CLElBQUksQ0FBQztJQUk3QixDQUFDO0lBM0JKLHNCQUFJLDhDQUFjO2FBQWxCLFVBQW1CLFFBQWlCO1lBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO2dCQUV6QixPQUFPO2FB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cG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7aXNDdXJyZW50VGFyZ2V0LCB0dWlEZWZhdWx0UHJvcCwgdHVpUmVxdWlyZWRTZXR0ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfRVhQQU5EX0xPQURFRH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcblxuaW1wb3J0IHtUdWlFeHBhbmRDb250ZW50RGlyZWN0aXZlfSBmcm9tICcuL2V4cGFuZC1jb250ZW50LmRpcmVjdGl2ZSc7XG5cbmVudW0gU3RhdGUge1xuICAgIElkbGUsXG4gICAgTG9hZGluZyxcbiAgICBQcmVwYXJlZCxcbiAgICBBbmltYXRlZCxcbn1cblxuY29uc3QgTE9BREVSX0hFSUdIVCA9IDQ4O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1leHBhbmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9leHBhbmQudGVtcGxhdGUuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXhwYW5kLnN0eWxlLmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRXhwYW5kQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCd3cmFwcGVyJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRlbnRXcmFwcGVyPzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICBwcml2YXRlIHN0YXRlID0gU3RhdGUuSWRsZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhc3luYyA9IGZhbHNlO1xuXG4gICAgQElucHV0KCdleHBhbmRlZCcpXG4gICAgQHR1aVJlcXVpcmVkU2V0dGVyKClcbiAgICBzZXQgZXhwYW5kZWRTZXR0ZXIoZXhwYW5kZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGUpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5BbmltYXRlZDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICB0aGlzLnJldHJpZ2dlcih0aGlzLmFzeW5jICYmIGV4cGFuZGVkID8gU3RhdGUuTG9hZGluZyA6IFN0YXRlLkFuaW1hdGVkKTtcbiAgICB9XG5cbiAgICBAQ29udGVudENoaWxkKFR1aUV4cGFuZENvbnRlbnREaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgY29udGVudD86IFRlbXBsYXRlUmVmPHt9PjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2V4cGFuZGVkJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgZXhwYW5kZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHt9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9vdmVyZmxvdycpXG4gICAgZ2V0IG92ZXJmbG93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSAhPT0gU3RhdGUuSWRsZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9sb2FkaW5nJylcbiAgICBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5leHBhbmRlZCAmJiB0aGlzLmFzeW5jICYmIHRoaXMuc3RhdGUgPT09IFN0YXRlLkxvYWRpbmc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKVxuICAgIGdldCBoZWlnaHQoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtleHBhbmRlZCwgc3RhdGUsIGNvbnRlbnRXcmFwcGVyfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5QcmVwYXJlZCkgfHxcbiAgICAgICAgICAgICghZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY29udGVudFdyYXBwZXIgJiZcbiAgICAgICAgICAgICgoIWV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5QcmVwYXJlZCkgfHxcbiAgICAgICAgICAgICAgICAoZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gY29udGVudFdyYXBwZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29udGVudFdyYXBwZXIgJiYgZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkxvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLm1heChjb250ZW50V3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCwgTE9BREVSX0hFSUdIVCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY29udGVudFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGFuZGVkIHx8IHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigndHJhbnNpdGlvbmVuZCcsIFsnJGV2ZW50J10pXG4gICAgb25UcmFuc2l0aW9uRW5kKGV2ZW50OiBUcmFuc2l0aW9uRXZlbnQpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaXNDdXJyZW50VGFyZ2V0KGV2ZW50KSAmJlxuICAgICAgICAgICAgZXZlbnQucHJvcGVydHlOYW1lID09PSAnb3BhY2l0eScgJiZcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IFN0YXRlLklkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFRVSV9FWFBBTkRfTE9BREVELCBbJyRldmVudCddKVxuICAgIG9uRXhwYW5kTG9hZGVkKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gU3RhdGUuTG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy5yZXRyaWdnZXIoU3RhdGUuQW5pbWF0ZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXRyaWdnZXIoc3RhdGU6IFN0YXRlKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5QcmVwYXJlZDtcblxuICAgICAgICAvLyBXZSBuZWVkIGRlbGF5IHRvIHJldHJpZ2dlciBDU1MgaGVpZ2h0IHRyYW5zaXRpb24gZnJvbSB0aGUgY29ycmVjdCBudW1iZXJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdGF0ZSAhPT0gU3RhdGUuUHJlcGFyZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -115,6 +115,7 @@ var TuiHintBoxComponent = /** @class */ (function () {
115
115
  ARROWHEAD_OFFSET -
116
116
  portalRect.left;
117
117
  directions.splice(directions.indexOf(direction), 1);
118
+ // eslint-disable-next-line no-constant-condition
118
119
  while (true) {
119
120
  switch (direction) {
120
121
  case 'left':
@@ -236,4 +237,4 @@ var TuiHintBoxComponent = /** @class */ (function () {
236
237
  return TuiHintBoxComponent;
237
238
  }());
238
239
  export { TuiHintBoxComponent };
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9oaW50cy1ob3N0LyIsInNvdXJjZXMiOlsiaGludC1ib3gvaGludC1ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsSUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLElBQU0sWUFBWSxHQUFHLENBQUMsQ0FBQztBQUN2QixJQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsSUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLElBQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztBQUNyQixJQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsSUFBTSxnQkFBZ0IsR0FBRyxZQUFZLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFH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Q0FBQztzREFDOEI7SUFHakQ7UUFEQyxLQUFLLEVBQUU7cURBQ2U7SUFtQnZCO1FBRkMsT0FBTztRQUNQLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQzs0REFHakM7SUFHRDtRQURDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQzttREFHN0I7SUEvQlEsbUJBQW1CO1FBUC9CLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsNE9BQXVDO1lBRXZDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1lBQy9DLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDOztTQUNqQyxDQUFDO1FBU08sV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDdkIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNkLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2QsV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDakIsV0FBQSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtPQWR6QixtQkFBbUIsQ0FxTS9CO0lBQUQsMEJBQUM7Q0FBQSxBQXJNRCxJQXFNQztTQXJNWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FLCBXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtweCwgVHVpRGVzdHJveVNlcnZpY2UsIHR1aVB1cmUsIHR1aVpvbmVmcmVlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7QWJzdHJhY3RUdWlIaW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hYnN0cmFjdCc7XG5pbXBvcnQge1R1aVBvaW50ZXJIaW50RGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL3BvaW50ZXItaGludCc7XG5pbXBvcnQge1R1aU1lZGlhfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX01FRElBfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlEaXJlY3Rpb24sIFR1aUhpbnRNb2RlVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpSGludHNIb3N0Q29tcG9uZW50fSBmcm9tICcuLi9oaW50cy1ob3N0LmNvbXBvbmVudCc7XG5cbmNvbnN0IFNQQUNFID0gODtcbmNvbnN0IEJPUkRFUl9XSURUSCA9IDE7XG5jb25zdCBMRUZUX1BBRERJTkcgPSAxNjtcbmNvbnN0IFRPUF9QQURESU5HID0gMTI7XG5jb25zdCBBUlJPV19TSVpFID0gODtcbmNvbnN0IEFSUk9XX09GRlNFVCA9IDE2O1xuY29uc3QgQVJST1dIRUFEX09GRlNFVCA9IEFSUk9XX09GRlNFVCArIChBUlJPV19TSVpFICogTWF0aC5zcXJ0KDIpKSAvIDI7XG5jb25zdCByZXZlcnNlRGlyZWN0aW9uc1ZlcnRpY2FsOiB7W2tleSBpbiBUdWlEaXJlY3Rpb25dOiBUdWlEaXJlY3Rpb259ID0ge1xuICAgICd0b3AtbGVmdCc6ICdib3R0b20tbGVmdCcsXG4gICAgJ3RvcC1yaWdodCc6ICdib3R0b20tcmlnaHQnLFxuICAgICdib3R0b20tbGVmdCc6ICd0b3AtbGVmdCcsXG4gICAgJ2JvdHRvbS1yaWdodCc6ICd0b3AtcmlnaHQnLFxuICAgIGxlZnQ6ICdyaWdodCcsXG4gICAgcmlnaHQ6ICdsZWZ0Jyxcbn07XG5jb25zdCByZXZlcnNlRGlyZWN0aW9uc0hvcml6b250YWw6IHtba2V5IGluIFR1aURpcmVjdGlvbl06IFR1aURpcmVjdGlvbn0gPSB7XG4gICAgJ3RvcC1sZWZ0JzogJ3RvcC1yaWdodCcsXG4gICAgJ3RvcC1yaWdodCc6ICd0b3AtbGVmdCcsXG4gICAgJ2JvdHRvbS1sZWZ0JzogJ2JvdHRvbS1yaWdodCcsXG4gICAgJ2JvdHRvbS1yaWdodCc6ICdib3R0b20tbGVmdCcsXG4gICAgbGVmdDogJ3JpZ2h0JyxcbiAgICByaWdodDogJ2xlZnQnLFxufTtcblxuLy8gVE9ETzogY29uc2lkZXIgYWJzdHJhY3RpbmcgVUkgYW5kIG1vdmUgdG8gQ0RLLCBzcGxpdCBoaW50IGFuZCBvdmVyZmxvd1xuLy8gQW1iaWVudCB0eXBlIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgZHluYW1pYyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMzM5NVxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWhpbnQtYm94W2hpbnRdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGludC1ib3gudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaGludC1ib3guc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSGludEJveENvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgnYXJyb3cnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXJyb3c/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgaGludCE6IEFic3RyYWN0VHVpSGludDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9GUkFNRSkgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgICAgIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgICAgICBASW5qZWN0KE5nWm9uZSkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgcmVhZG9ubHkgd2luZG93UmVmOiBXaW5kb3csXG4gICAgICAgIEBJbmplY3QoVFVJX01FRElBKSBwcml2YXRlIHJlYWRvbmx5IG1lZGlhOiBUdWlNZWRpYSxcbiAgICAgICAgQEluamVjdChUdWlIaW50c0hvc3RDb21wb25lbnQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaGludHNIb3N0OiBUdWlIaW50c0hvc3RDb21wb25lbnQsXG4gICAgKSB7XG4gICAgICAgIGFuaW1hdGlvbkZyYW1lJFxuICAgICAgICAgICAgLnBpcGUodHVpWm9uZWZyZWUobmdab25lKSwgdGFrZVVudGlsKGRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jYWxjdWxhdGVQb3NpdGlvbigpKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX3VudG91Y2hhYmxlJylcbiAgICBnZXQgaXNVbnRvdWNoYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGludCBpbnN0YW5jZW9mIFR1aVBvaW50ZXJIaW50RGlyZWN0aXZlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLW1vZGUnKVxuICAgIGdldCBtb2RlKCk6IFR1aUhpbnRNb2RlVCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5oaW50Lm1vZGU7XG4gICAgfVxuXG4gICAgZ2V0IGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53aW5kb3dSZWYuaW5uZXJXaWR0aCA8PSB0aGlzLm1lZGlhLm1vYmlsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHdyYXBwZXIgcG9zaXRpb24uXG4gICAgICogU3R5bGVzIGFyZSBzZXQgZGlyZWN0bHkgdG8gYXZvaWQgdmlzdWFsIHNoYWtlIG9mIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVBvc2l0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5tb2RlICE9PSAnb3ZlcmZsb3cnKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUNvb3JkaW5hdGVzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldE92ZXJmbG93U3R5bGVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZUNvb3JkaW5hdGVzKCkge1xuICAgICAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVNb2JpbGVDb29yZGluYXRlcygpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBob3N0UmVjdCA9IHRoaXMuaGludC5nZXRFbGVtZW50Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBwb3J0YWxSZWN0ID0gdGhpcy5oaW50c0hvc3QuY2xpZW50UmVjdDtcbiAgICAgICAgY29uc3QgdG9vbHRpcCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB7c3R5bGV9ID0gdG9vbHRpcDtcbiAgICAgICAgY29uc3QgdG9vbHRpcFJlY3QgPSB0b29sdGlwLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBpc0hvc3RMb25nID0gaG9zdFJlY3Qud2lkdGggPiBBUlJPV0hFQURfT0ZGU0VUICogMjtcbiAgICAgICAgY29uc3QgZGlyZWN0aW9uczogVHVpRGlyZWN0aW9uW10gPSBbXG4gICAgICAgICAgICAnbGVmdCcsXG4gICAgICAgICAgICAncmlnaHQnLFxuICAgICAgICAgICAgJ2JvdHRvbS1sZWZ0JyxcbiAgICAgICAgICAgICdib3R0b20tcmlnaHQnLFxuICAgICAgICAgICAgJ3RvcC1sZWZ0JyxcbiAgICAgICAgICAgICd0b3AtcmlnaHQnLFxuICAgICAgICBdO1xuXG4gICAgICAgIGxldCB0b3AgPSAwO1xuICAgICAgICBsZXQgbGVmdCA9IDA7XG4gICAgICAgIGxldCB7ZGlyZWN0aW9ufSA9IHRoaXMuaGludDtcblxuICAgICAgICBjb25zdCBob3Jpem9udGFsVG9wID1cbiAgICAgICAgICAgIGhvc3RSZWN0LnRvcCArIGhvc3RSZWN0LmhlaWdodCAvIDIgLSB0b29sdGlwUmVjdC5oZWlnaHQgLyAyIC0gcG9ydGFsUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IGhvcml6b250YWxMZWZ0ID1cbiAgICAgICAgICAgIGhvc3RSZWN0LmxlZnQgLSB0b29sdGlwUmVjdC53aWR0aCAtIFNQQUNFIC0gcG9ydGFsUmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCBob3Jpem9udGFsUmlnaHQgPSBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggKyBTUEFDRSAtIHBvcnRhbFJlY3QubGVmdDtcbiAgICAgICAgY29uc3QgdmVydGljYWxCb3R0b20gPSBob3N0UmVjdC5ib3R0b20gKyBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbFRvcCA9IGhvc3RSZWN0LnRvcCAtIHRvb2x0aXBSZWN0LmhlaWdodCAtIFNQQUNFIC0gcG9ydGFsUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsUmlnaHQgPSBpc0hvc3RMb25nXG4gICAgICAgICAgICA/IGhvc3RSZWN0LmxlZnQgLSBwb3J0YWxSZWN0LmxlZnRcbiAgICAgICAgICAgIDogaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoIC8gMiAtIEFSUk9XSEVBRF9PRkZTRVQgLSBwb3J0YWxSZWN0LmxlZnQ7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsTGVmdCA9IGlzSG9zdExvbmdcbiAgICAgICAgICAgID8gaG9zdFJlY3QubGVmdCAtIHRvb2x0aXBSZWN0LndpZHRoICsgaG9zdFJlY3Qud2lkdGggLSBwb3J0YWxSZWN0LmxlZnRcbiAgICAgICAgICAgIDogaG9zdFJlY3QubGVmdCAtXG4gICAgICAgICAgICAgIHRvb2x0aXBSZWN0LndpZHRoICtcbiAgICAgICAgICAgICAgaG9zdFJlY3Qud2lkdGggLyAyICtcbiAgICAgICAgICAgICAgQVJST1dIRUFEX09GRlNFVCAtXG4gICAgICAgICAgICAgIHBvcnRhbFJlY3QubGVmdDtcblxuICAgICAgICBkaXJlY3Rpb25zLnNwbGljZShkaXJlY3Rpb25zLmluZGV4T2YoZGlyZWN0aW9uKSwgMSk7XG5cbiAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IGhvcml6b250YWxUb3A7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSBob3Jpem9udGFsTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSBob3Jpem9udGFsVG9wO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gaG9yaXpvbnRhbFJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd0b3AtcmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSB2ZXJ0aWNhbFRvcDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHZlcnRpY2FsUmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3RvcC1sZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gdmVydGljYWxUb3A7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSB2ZXJ0aWNhbExlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbS1yaWdodCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IHZlcnRpY2FsQm90dG9tO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gdmVydGljYWxSaWdodDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnYm90dG9tLWxlZnQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSB2ZXJ0aWNhbEJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHZlcnRpY2FsTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHZlcnRpY2FsRml0ID1cbiAgICAgICAgICAgICAgICB0b3AgKyBwb3J0YWxSZWN0LnRvcCA+IFNQQUNFICYmXG4gICAgICAgICAgICAgICAgdG9wICsgdG9vbHRpcFJlY3QuaGVpZ2h0ICsgU1BBQ0UgKyBwb3J0YWxSZWN0LnRvcCA8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0O1xuICAgICAgICAgICAgY29uc3QgaG9yaXpvbnRhbEZpdCA9XG4gICAgICAgICAgICAgICAgbGVmdCA+IFNQQUNFICYmXG4gICAgICAgICAgICAgICAgbGVmdCArIHRvb2x0aXBSZWN0LndpZHRoICsgU1BBQ0UgKyBwb3J0YWxSZWN0LmxlZnQgPCBwb3J0YWxSZWN0LndpZHRoO1xuXG4gICAgICAgICAgICBpZiAoZGlyZWN0aW9ucy5sZW5ndGggPT09IDAgfHwgKHZlcnRpY2FsRml0ICYmIGhvcml6b250YWxGaXQpKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRpcmVjdGlvbiA9IHZlcnRpY2FsRml0XG4gICAgICAgICAgICAgICAgPyByZXZlcnNlRGlyZWN0aW9uc0hvcml6b250YWxbZGlyZWN0aW9uXVxuICAgICAgICAgICAgICAgIDogcmV2ZXJzZURpcmVjdGlvbnNWZXJ0aWNhbFtkaXJlY3Rpb25dO1xuICAgICAgICAgICAgZGlyZWN0aW9uID1cbiAgICAgICAgICAgICAgICBkaXJlY3Rpb25zLnNwbGljZShkaXJlY3Rpb25zLmluZGV4T2YoZGlyZWN0aW9uKSwgMSlbMF0gfHwgZGlyZWN0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgc3R5bGUudG9wID0gcHgodG9wKTtcbiAgICAgICAgc3R5bGUubGVmdCA9IHB4KGxlZnQpO1xuXG4gICAgICAgIHRvb2x0aXAuc2V0QXR0cmlidXRlKCdkYXRhLXR1aS1ob3N0LWRpcmVjdGlvbicsIGRpcmVjdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVNb2JpbGVDb29yZGluYXRlcygpIHtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmhpbnQuZ2V0RWxlbWVudENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgcG9ydGFsUmVjdCA9IHRoaXMuaGludHNIb3N0LmNsaWVudFJlY3Q7XG4gICAgICAgIGNvbnN0IHRvb2x0aXAgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRvb2x0aXA7XG4gICAgICAgIGNvbnN0IHRvb2x0aXBSZWN0ID0gdG9vbHRpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgdmVydGljYWxUb3AgPSBob3N0UmVjdC50b3AgLSB0b29sdGlwUmVjdC5oZWlnaHQgLSBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbEJvdHRvbSA9IGhvc3RSZWN0LmJvdHRvbSArIFNQQUNFIC0gcG9ydGFsUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsVG9wRml0ID1cbiAgICAgICAgICAgIHZlcnRpY2FsVG9wICsgcG9ydGFsUmVjdC50b3AgPiBTUEFDRSAmJlxuICAgICAgICAgICAgaG9zdFJlY3QudG9wIDwgdGhpcy53aW5kb3dSZWYuaW5uZXJIZWlnaHQ7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsQm90dG9tRml0ID1cbiAgICAgICAgICAgIGhvc3RSZWN0LmJvdHRvbSA+IDAgJiZcbiAgICAgICAgICAgIGhvc3RSZWN0LmJvdHRvbSArIDIgKiBTUEFDRSArIHRvb2x0aXBSZWN0LmhlaWdodCA8IHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0O1xuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPVxuICAgICAgICAgICAgKHRoaXMuaGludC5kaXJlY3Rpb24uaW5jbHVkZXMoJ3RvcCcpICYmIHZlcnRpY2FsVG9wRml0KSB8fCAhdmVydGljYWxCb3R0b21GaXRcbiAgICAgICAgICAgICAgICA/ICd0b3AnXG4gICAgICAgICAgICAgICAgOiAnYm90dG9tJztcbiAgICAgICAgY29uc3QgYXR0ZW1wdGVkTGVmdCA9XG4gICAgICAgICAgICBwb3J0YWxSZWN0LmxlZnQgKyBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggLyAyIC0gdG9vbHRpcFJlY3Qud2lkdGggLyAyO1xuICAgICAgICBjb25zdCBsZWZ0ID0gTWF0aC5tYXgoXG4gICAgICAgICAgICBhdHRlbXB0ZWRMZWZ0ICsgdG9vbHRpcFJlY3Qud2lkdGggKyBTUEFDRSA+IHBvcnRhbFJlY3QucmlnaHRcbiAgICAgICAgICAgICAgICA/IHBvcnRhbFJlY3QucmlnaHQgLSBTUEFDRSAtIHRvb2x0aXBSZWN0LndpZHRoXG4gICAgICAgICAgICAgICAgOiBhdHRlbXB0ZWRMZWZ0LFxuICAgICAgICAgICAgU1BBQ0UgKiAyLFxuICAgICAgICApO1xuXG4gICAgICAgIHN0eWxlLmxlZnQgPSBweChsZWZ0KTtcbiAgICAgICAgc3R5bGUudG9wID0gZGlyZWN0aW9uID09PSAndG9wJyA/IHB4KHZlcnRpY2FsVG9wKSA6IHB4KHZlcnRpY2FsQm90dG9tKTtcblxuICAgICAgICBpZiAodGhpcy5hcnJvdykge1xuICAgICAgICAgICAgdGhpcy5hcnJvdy5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSBweChcbiAgICAgICAgICAgICAgICBob3N0UmVjdC5sZWZ0IDw9IFNQQUNFICogMiAmJiBob3N0UmVjdC53aWR0aCA+IEFSUk9XX09GRlNFVCAqIDJcbiAgICAgICAgICAgICAgICAgICAgPyBBUlJPV19PRkZTRVRcbiAgICAgICAgICAgICAgICAgICAgOiBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggLyAyIC0gbGVmdCAtIEFSUk9XX1NJWkUgLyAyLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRvb2x0aXAuc2V0QXR0cmlidXRlKCdkYXRhLXR1aS1ob3N0LWRpcmVjdGlvbicsIGRpcmVjdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRPdmVyZmxvd1N0eWxlcygpIHtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmhpbnQuZ2V0RWxlbWVudENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHN0eWxlLnRvcCA9IHB4KGhvc3RSZWN0LnRvcCAtIHdpbmRvdy5pbm5lckhlaWdodCAtIFRPUF9QQURESU5HIC0gQk9SREVSX1dJRFRIKTtcbiAgICAgICAgc3R5bGUubGVmdCA9IHB4KGhvc3RSZWN0LmxlZnQgLSBMRUZUX1BBRERJTkcgLSBCT1JERVJfV0lEVEgpO1xuICAgICAgICBzdHlsZS53aWR0aCA9IHB4KGhvc3RSZWN0LndpZHRoICsgTEVGVF9QQURESU5HICogMiArIEJPUkRFUl9XSURUSCAqIDIpO1xuICAgIH1cbn1cbiJdfQ==
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9oaW50cy1ob3N0LyIsInNvdXJjZXMiOlsiaGludC1ib3gvaGludC1ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsSUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLElBQU0sWUFBWSxHQUFHLENBQUMsQ0FBQztBQUN2QixJQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsSUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLElBQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztBQUNyQixJQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsSUFBTSxnQkFBZ0IsR0FBRyxZQUFZLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFH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QVMsQ0FBQyxPQUFPLENBQUM7c0RBQzhCO0lBR2pEO1FBREMsS0FBSyxFQUFFO3FEQUNlO0lBbUJ2QjtRQUZDLE9BQU87UUFDUCxXQUFXLENBQUMsb0JBQW9CLENBQUM7NERBR2pDO0lBR0Q7UUFEQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7bURBRzdCO0lBL0JRLG1CQUFtQjtRQVAvQixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLDRPQUF1QztZQUV2QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzs7U0FDakMsQ0FBQztRQVNPLFdBQUEsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQ3ZCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDekIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDZCxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNsQixXQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNkLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ2pCLFdBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7T0FkekIsbUJBQW1CLENBc00vQjtJQUFELDBCQUFDO0NBQUEsQUF0TUQsSUFzTUM7U0F0TVksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRSwgV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7cHgsIFR1aURlc3Ryb3lTZXJ2aWNlLCB0dWlQdXJlLCB0dWlab25lZnJlZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSGludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHtUdWlQb2ludGVySGludERpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9wb2ludGVyLWhpbnQnO1xuaW1wb3J0IHtUdWlNZWRpYX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9NRURJQX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpRGlyZWN0aW9uLCBUdWlIaW50TW9kZVR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aUhpbnRzSG9zdENvbXBvbmVudH0gZnJvbSAnLi4vaGludHMtaG9zdC5jb21wb25lbnQnO1xuXG5jb25zdCBTUEFDRSA9IDg7XG5jb25zdCBCT1JERVJfV0lEVEggPSAxO1xuY29uc3QgTEVGVF9QQURESU5HID0gMTY7XG5jb25zdCBUT1BfUEFERElORyA9IDEyO1xuY29uc3QgQVJST1dfU0laRSA9IDg7XG5jb25zdCBBUlJPV19PRkZTRVQgPSAxNjtcbmNvbnN0IEFSUk9XSEVBRF9PRkZTRVQgPSBBUlJPV19PRkZTRVQgKyAoQVJST1dfU0laRSAqIE1hdGguc3FydCgyKSkgLyAyO1xuY29uc3QgcmV2ZXJzZURpcmVjdGlvbnNWZXJ0aWNhbDoge1trZXkgaW4gVHVpRGlyZWN0aW9uXTogVHVpRGlyZWN0aW9ufSA9IHtcbiAgICAndG9wLWxlZnQnOiAnYm90dG9tLWxlZnQnLFxuICAgICd0b3AtcmlnaHQnOiAnYm90dG9tLXJpZ2h0JyxcbiAgICAnYm90dG9tLWxlZnQnOiAndG9wLWxlZnQnLFxuICAgICdib3R0b20tcmlnaHQnOiAndG9wLXJpZ2h0JyxcbiAgICBsZWZ0OiAncmlnaHQnLFxuICAgIHJpZ2h0OiAnbGVmdCcsXG59O1xuY29uc3QgcmV2ZXJzZURpcmVjdGlvbnNIb3Jpem9udGFsOiB7W2tleSBpbiBUdWlEaXJlY3Rpb25dOiBUdWlEaXJlY3Rpb259ID0ge1xuICAgICd0b3AtbGVmdCc6ICd0b3AtcmlnaHQnLFxuICAgICd0b3AtcmlnaHQnOiAndG9wLWxlZnQnLFxuICAgICdib3R0b20tbGVmdCc6ICdib3R0b20tcmlnaHQnLFxuICAgICdib3R0b20tcmlnaHQnOiAnYm90dG9tLWxlZnQnLFxuICAgIGxlZnQ6ICdyaWdodCcsXG4gICAgcmlnaHQ6ICdsZWZ0Jyxcbn07XG5cbi8vIFRPRE86IGNvbnNpZGVyIGFic3RyYWN0aW5nIFVJIGFuZCBtb3ZlIHRvIENESywgc3BsaXQgaGludCBhbmQgb3ZlcmZsb3dcbi8vIEFtYmllbnQgdHlwZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGR5bmFtaWMgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMjMzOTVcbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1oaW50LWJveFtoaW50XScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2hpbnQtYm94LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2hpbnQtYm94LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUhpbnRCb3hDb21wb25lbnQge1xuICAgIEBWaWV3Q2hpbGQoJ2Fycm93JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFycm93PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBASW5wdXQoKVxuICAgIGhpbnQhOiBBYnN0cmFjdFR1aUhpbnQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1JlZjogV2luZG93LFxuICAgICAgICBASW5qZWN0KFRVSV9NRURJQSkgcHJpdmF0ZSByZWFkb25seSBtZWRpYTogVHVpTWVkaWEsXG4gICAgICAgIEBJbmplY3QoVHVpSGludHNIb3N0Q29tcG9uZW50KVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpbnRzSG9zdDogVHVpSGludHNIb3N0Q29tcG9uZW50LFxuICAgICkge1xuICAgICAgICBhbmltYXRpb25GcmFtZSRcbiAgICAgICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKG5nWm9uZSksIHRha2VVbnRpbChkZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2FsY3VsYXRlUG9zaXRpb24oKSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl91bnRvdWNoYWJsZScpXG4gICAgZ2V0IGlzVW50b3VjaGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpbnQgaW5zdGFuY2VvZiBUdWlQb2ludGVySGludERpcmVjdGl2ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1tb2RlJylcbiAgICBnZXQgbW9kZSgpOiBUdWlIaW50TW9kZVQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGludC5tb2RlO1xuICAgIH1cblxuICAgIGdldCBpc01vYmlsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2luZG93UmVmLmlubmVyV2lkdGggPD0gdGhpcy5tZWRpYS5tb2JpbGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB3cmFwcGVyIHBvc2l0aW9uLlxuICAgICAqIFN0eWxlcyBhcmUgc2V0IGRpcmVjdGx5IHRvIGF2b2lkIHZpc3VhbCBzaGFrZSBvZiBlbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQb3NpdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMubW9kZSAhPT0gJ292ZXJmbG93Jykge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVDb29yZGluYXRlcygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRPdmVyZmxvd1N0eWxlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVDb29yZGluYXRlcygpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlTW9iaWxlQ29vcmRpbmF0ZXMoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmhpbnQuZ2V0RWxlbWVudENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgcG9ydGFsUmVjdCA9IHRoaXMuaGludHNIb3N0LmNsaWVudFJlY3Q7XG4gICAgICAgIGNvbnN0IHRvb2x0aXAgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRvb2x0aXA7XG4gICAgICAgIGNvbnN0IHRvb2x0aXBSZWN0ID0gdG9vbHRpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgaXNIb3N0TG9uZyA9IGhvc3RSZWN0LndpZHRoID4gQVJST1dIRUFEX09GRlNFVCAqIDI7XG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbnM6IFR1aURpcmVjdGlvbltdID0gW1xuICAgICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgICAgJ3JpZ2h0JyxcbiAgICAgICAgICAgICdib3R0b20tbGVmdCcsXG4gICAgICAgICAgICAnYm90dG9tLXJpZ2h0JyxcbiAgICAgICAgICAgICd0b3AtbGVmdCcsXG4gICAgICAgICAgICAndG9wLXJpZ2h0JyxcbiAgICAgICAgXTtcblxuICAgICAgICBsZXQgdG9wID0gMDtcbiAgICAgICAgbGV0IGxlZnQgPSAwO1xuICAgICAgICBsZXQge2RpcmVjdGlvbn0gPSB0aGlzLmhpbnQ7XG5cbiAgICAgICAgY29uc3QgaG9yaXpvbnRhbFRvcCA9XG4gICAgICAgICAgICBob3N0UmVjdC50b3AgKyBob3N0UmVjdC5oZWlnaHQgLyAyIC0gdG9vbHRpcFJlY3QuaGVpZ2h0IC8gMiAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCBob3Jpem9udGFsTGVmdCA9XG4gICAgICAgICAgICBob3N0UmVjdC5sZWZ0IC0gdG9vbHRpcFJlY3Qud2lkdGggLSBTUEFDRSAtIHBvcnRhbFJlY3QubGVmdDtcbiAgICAgICAgY29uc3QgaG9yaXpvbnRhbFJpZ2h0ID0gaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoICsgU1BBQ0UgLSBwb3J0YWxSZWN0LmxlZnQ7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsQm90dG9tID0gaG9zdFJlY3QuYm90dG9tICsgU1BBQ0UgLSBwb3J0YWxSZWN0LnRvcDtcbiAgICAgICAgY29uc3QgdmVydGljYWxUb3AgPSBob3N0UmVjdC50b3AgLSB0b29sdGlwUmVjdC5oZWlnaHQgLSBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbFJpZ2h0ID0gaXNIb3N0TG9uZ1xuICAgICAgICAgICAgPyBob3N0UmVjdC5sZWZ0IC0gcG9ydGFsUmVjdC5sZWZ0XG4gICAgICAgICAgICA6IGhvc3RSZWN0LmxlZnQgKyBob3N0UmVjdC53aWR0aCAvIDIgLSBBUlJPV0hFQURfT0ZGU0VUIC0gcG9ydGFsUmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbExlZnQgPSBpc0hvc3RMb25nXG4gICAgICAgICAgICA/IGhvc3RSZWN0LmxlZnQgLSB0b29sdGlwUmVjdC53aWR0aCArIGhvc3RSZWN0LndpZHRoIC0gcG9ydGFsUmVjdC5sZWZ0XG4gICAgICAgICAgICA6IGhvc3RSZWN0LmxlZnQgLVxuICAgICAgICAgICAgICB0b29sdGlwUmVjdC53aWR0aCArXG4gICAgICAgICAgICAgIGhvc3RSZWN0LndpZHRoIC8gMiArXG4gICAgICAgICAgICAgIEFSUk9XSEVBRF9PRkZTRVQgLVxuICAgICAgICAgICAgICBwb3J0YWxSZWN0LmxlZnQ7XG5cbiAgICAgICAgZGlyZWN0aW9ucy5zcGxpY2UoZGlyZWN0aW9ucy5pbmRleE9mKGRpcmVjdGlvbiksIDEpO1xuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zdGFudC1jb25kaXRpb25cbiAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IGhvcml6b250YWxUb3A7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSBob3Jpem9udGFsTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSBob3Jpem9udGFsVG9wO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gaG9yaXpvbnRhbFJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd0b3AtcmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSB2ZXJ0aWNhbFRvcDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHZlcnRpY2FsUmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3RvcC1sZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gdmVydGljYWxUb3A7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSB2ZXJ0aWNhbExlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbS1yaWdodCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IHZlcnRpY2FsQm90dG9tO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gdmVydGljYWxSaWdodDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnYm90dG9tLWxlZnQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSB2ZXJ0aWNhbEJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHZlcnRpY2FsTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHZlcnRpY2FsRml0ID1cbiAgICAgICAgICAgICAgICB0b3AgKyBwb3J0YWxSZWN0LnRvcCA+IFNQQUNFICYmXG4gICAgICAgICAgICAgICAgdG9wICsgdG9vbHRpcFJlY3QuaGVpZ2h0ICsgU1BBQ0UgKyBwb3J0YWxSZWN0LnRvcCA8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0O1xuICAgICAgICAgICAgY29uc3QgaG9yaXpvbnRhbEZpdCA9XG4gICAgICAgICAgICAgICAgbGVmdCA+IFNQQUNFICYmXG4gICAgICAgICAgICAgICAgbGVmdCArIHRvb2x0aXBSZWN0LndpZHRoICsgU1BBQ0UgKyBwb3J0YWxSZWN0LmxlZnQgPCBwb3J0YWxSZWN0LndpZHRoO1xuXG4gICAgICAgICAgICBpZiAoZGlyZWN0aW9ucy5sZW5ndGggPT09IDAgfHwgKHZlcnRpY2FsRml0ICYmIGhvcml6b250YWxGaXQpKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRpcmVjdGlvbiA9IHZlcnRpY2FsRml0XG4gICAgICAgICAgICAgICAgPyByZXZlcnNlRGlyZWN0aW9uc0hvcml6b250YWxbZGlyZWN0aW9uXVxuICAgICAgICAgICAgICAgIDogcmV2ZXJzZURpcmVjdGlvbnNWZXJ0aWNhbFtkaXJlY3Rpb25dO1xuICAgICAgICAgICAgZGlyZWN0aW9uID1cbiAgICAgICAgICAgICAgICBkaXJlY3Rpb25zLnNwbGljZShkaXJlY3Rpb25zLmluZGV4T2YoZGlyZWN0aW9uKSwgMSlbMF0gfHwgZGlyZWN0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgc3R5bGUudG9wID0gcHgodG9wKTtcbiAgICAgICAgc3R5bGUubGVmdCA9IHB4KGxlZnQpO1xuXG4gICAgICAgIHRvb2x0aXAuc2V0QXR0cmlidXRlKCdkYXRhLXR1aS1ob3N0LWRpcmVjdGlvbicsIGRpcmVjdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVNb2JpbGVDb29yZGluYXRlcygpIHtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmhpbnQuZ2V0RWxlbWVudENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgcG9ydGFsUmVjdCA9IHRoaXMuaGludHNIb3N0LmNsaWVudFJlY3Q7XG4gICAgICAgIGNvbnN0IHRvb2x0aXAgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRvb2x0aXA7XG4gICAgICAgIGNvbnN0IHRvb2x0aXBSZWN0ID0gdG9vbHRpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgdmVydGljYWxUb3AgPSBob3N0UmVjdC50b3AgLSB0b29sdGlwUmVjdC5oZWlnaHQgLSBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbEJvdHRvbSA9IGhvc3RSZWN0LmJvdHRvbSArIFNQQUNFIC0gcG9ydGFsUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsVG9wRml0ID1cbiAgICAgICAgICAgIHZlcnRpY2FsVG9wICsgcG9ydGFsUmVjdC50b3AgPiBTUEFDRSAmJlxuICAgICAgICAgICAgaG9zdFJlY3QudG9wIDwgdGhpcy53aW5kb3dSZWYuaW5uZXJIZWlnaHQ7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsQm90dG9tRml0ID1cbiAgICAgICAgICAgIGhvc3RSZWN0LmJvdHRvbSA+IDAgJiZcbiAgICAgICAgICAgIGhvc3RSZWN0LmJvdHRvbSArIDIgKiBTUEFDRSArIHRvb2x0aXBSZWN0LmhlaWdodCA8IHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0O1xuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPVxuICAgICAgICAgICAgKHRoaXMuaGludC5kaXJlY3Rpb24uaW5jbHVkZXMoJ3RvcCcpICYmIHZlcnRpY2FsVG9wRml0KSB8fCAhdmVydGljYWxCb3R0b21GaXRcbiAgICAgICAgICAgICAgICA/ICd0b3AnXG4gICAgICAgICAgICAgICAgOiAnYm90dG9tJztcbiAgICAgICAgY29uc3QgYXR0ZW1wdGVkTGVmdCA9XG4gICAgICAgICAgICBwb3J0YWxSZWN0LmxlZnQgKyBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggLyAyIC0gdG9vbHRpcFJlY3Qud2lkdGggLyAyO1xuICAgICAgICBjb25zdCBsZWZ0ID0gTWF0aC5tYXgoXG4gICAgICAgICAgICBhdHRlbXB0ZWRMZWZ0ICsgdG9vbHRpcFJlY3Qud2lkdGggKyBTUEFDRSA+IHBvcnRhbFJlY3QucmlnaHRcbiAgICAgICAgICAgICAgICA/IHBvcnRhbFJlY3QucmlnaHQgLSBTUEFDRSAtIHRvb2x0aXBSZWN0LndpZHRoXG4gICAgICAgICAgICAgICAgOiBhdHRlbXB0ZWRMZWZ0LFxuICAgICAgICAgICAgU1BBQ0UgKiAyLFxuICAgICAgICApO1xuXG4gICAgICAgIHN0eWxlLmxlZnQgPSBweChsZWZ0KTtcbiAgICAgICAgc3R5bGUudG9wID0gZGlyZWN0aW9uID09PSAndG9wJyA/IHB4KHZlcnRpY2FsVG9wKSA6IHB4KHZlcnRpY2FsQm90dG9tKTtcblxuICAgICAgICBpZiAodGhpcy5hcnJvdykge1xuICAgICAgICAgICAgdGhpcy5hcnJvdy5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSBweChcbiAgICAgICAgICAgICAgICBob3N0UmVjdC5sZWZ0IDw9IFNQQUNFICogMiAmJiBob3N0UmVjdC53aWR0aCA+IEFSUk9XX09GRlNFVCAqIDJcbiAgICAgICAgICAgICAgICAgICAgPyBBUlJPV19PRkZTRVRcbiAgICAgICAgICAgICAgICAgICAgOiBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggLyAyIC0gbGVmdCAtIEFSUk9XX1NJWkUgLyAyLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRvb2x0aXAuc2V0QXR0cmlidXRlKCdkYXRhLXR1aS1ob3N0LWRpcmVjdGlvbicsIGRpcmVjdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRPdmVyZmxvd1N0eWxlcygpIHtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmhpbnQuZ2V0RWxlbWVudENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHN0eWxlLnRvcCA9IHB4KGhvc3RSZWN0LnRvcCAtIHdpbmRvdy5pbm5lckhlaWdodCAtIFRPUF9QQURESU5HIC0gQk9SREVSX1dJRFRIKTtcbiAgICAgICAgc3R5bGUubGVmdCA9IHB4KGhvc3RSZWN0LmxlZnQgLSBMRUZUX1BBRERJTkcgLSBCT1JERVJfV0lEVEgpO1xuICAgICAgICBzdHlsZS53aWR0aCA9IHB4KGhvc3RSZWN0LndpZHRoICsgTEVGVF9QQURESU5HICogMiArIEJPUkRFUl9XSURUSCAqIDIpO1xuICAgIH1cbn1cbiJdfQ==