@onepercentio/one-ui 1.3.1 → 1.3.2

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 (554) hide show
  1. package/dist-ts/assets/styles/index.scss +2 -2
  2. package/dist-ts/assets/styles/mixins.scss +1 -0
  3. package/dist-ts/components/AdaptiveDialog/AdaptiveDialog.module.scss +1 -1
  4. package/dist-ts/components/AdaptiveSidebar/AdaptiveSidebar.module.scss +1 -1
  5. package/dist-ts/components/AnchoredTooltip/AnchoredTooltip.module.scss +1 -1
  6. package/dist-ts/components/Avatar/Avatar.module.scss +1 -1
  7. package/dist-ts/components/BucketFill/BucketFill.module.scss +1 -1
  8. package/dist-ts/components/Button/Button.module.scss +1 -1
  9. package/dist-ts/components/Card/Card.module.scss +1 -1
  10. package/dist-ts/components/CheckBox/CheckBox.module.scss +1 -1
  11. package/dist-ts/components/Collapsable/Collapsable.module.scss +1 -1
  12. package/dist-ts/components/Divider/Divider.module.scss +1 -1
  13. package/dist-ts/components/FadeIn/FadeIn.module.scss +1 -1
  14. package/dist-ts/components/FileInput/View/BigFactory/BigFactory.d.ts +1 -1
  15. package/dist-ts/components/FileInput/View/BigFactory/BigFactory.js +4 -2
  16. package/dist-ts/components/FileInput/View/BigFactory/BigFactory.js.map +1 -1
  17. package/dist-ts/components/FileInput/View/BigFactory/BigFactory.module.scss +1 -1
  18. package/dist-ts/components/FileInput/View/Compact/Compact.module.scss +1 -1
  19. package/dist-ts/components/FlowController/FlowController.module.scss +1 -1
  20. package/dist-ts/components/HeaderCloseBtn/HeaderCloseBtn.module.scss +1 -1
  21. package/dist-ts/components/Input/Input.module.scss +1 -1
  22. package/dist-ts/components/Loader/Loader.module.scss +1 -1
  23. package/dist-ts/components/MutableHamburgerButton/MutableHamburgerButton.module.scss +1 -1
  24. package/dist-ts/components/Notification/Notification.module.scss +1 -1
  25. package/dist-ts/components/Parallax/Parallax.module.scss +1 -1
  26. package/dist-ts/components/PixelatedScan/PixelatedScan.module.scss +1 -1
  27. package/dist-ts/components/ProgressBar/ProgressBar.module.scss +1 -1
  28. package/dist-ts/components/ProgressTexts/ProgressTexts.module.scss +1 -1
  29. package/dist-ts/components/Radio/Radio.module.scss +1 -1
  30. package/dist-ts/components/Radio/variants/Checkmark/Checkmark.module.scss +1 -1
  31. package/dist-ts/components/Radio/variants/Generic/Generic.module.scss +1 -1
  32. package/dist-ts/components/Select/Select.module.scss +1 -1
  33. package/dist-ts/components/Slider/Slider.module.scss +2 -2
  34. package/dist-ts/components/Switch/Switch.module.scss +1 -1
  35. package/dist-ts/components/Table/Table.module.scss +1 -1
  36. package/dist-ts/components/Tabs/Tabs.module.scss +1 -1
  37. package/dist-ts/components/Text/Text.module.scss +1 -1
  38. package/dist-ts/components/Transition/Transition.module.scss +1 -1
  39. package/dist-ts/context/OneUIProvider.d.ts +3 -0
  40. package/dist-ts/context/OneUIProvider.js.map +1 -1
  41. package/dist-ts/hooks/ui/useCustomScrollbar.module.scss +1 -1
  42. package/dist-ts/hooks/ui/useZoomable.module.scss +1 -1
  43. package/dist-ts/hooks/useHero.module.scss +1 -1
  44. package/package.json +2 -3
  45. package/WebpackConfigs/__fixtures__/bug_var_color/cenario.static.tsx +0 -37
  46. package/WebpackConfigs/__fixtures__/bug_var_color/style.module.scss +0 -28
  47. package/WebpackConfigs/__fixtures__/email_templates/assets/asset1.svg +0 -3
  48. package/WebpackConfigs/__fixtures__/email_templates/assets/asset2.svg +0 -3
  49. package/WebpackConfigs/__fixtures__/email_templates/email1.static.tsx +0 -10
  50. package/WebpackConfigs/__fixtures__/email_templates/email2.static.tsx +0 -10
  51. package/build/index.html +0 -10
  52. package/dist/assets/img/svg/checkbox.svg +0 -3
  53. package/dist/assets/styles/index.scss +0 -2
  54. package/dist/assets/styles/mixins.scss +0 -14
  55. package/dist/assets/styles/variables.scss +0 -49
  56. package/dist/components/AdaptiveButton/AdaptiveButton.d.ts +0 -9
  57. package/dist/components/AdaptiveButton/AdaptiveButton.js +0 -32
  58. package/dist/components/AdaptiveButton/AdaptiveButton.module.scss +0 -7
  59. package/dist/components/AdaptiveButton/index.d.ts +0 -2
  60. package/dist/components/AdaptiveButton/index.js +0 -26
  61. package/dist/components/AdaptiveContainer/AdaptiveContainer.d.ts +0 -25
  62. package/dist/components/AdaptiveContainer/AdaptiveContainer.js +0 -146
  63. package/dist/components/AdaptiveContainer/AdaptiveContainer.module.scss +0 -53
  64. package/dist/components/AdaptiveContainer/index.d.ts +0 -2
  65. package/dist/components/AdaptiveContainer/index.js +0 -26
  66. package/dist/components/AdaptiveDialog/AdaptiveDialog.d.ts +0 -20
  67. package/dist/components/AdaptiveDialog/AdaptiveDialog.js +0 -80
  68. package/dist/components/AdaptiveDialog/AdaptiveDialog.module.scss +0 -145
  69. package/dist/components/AdaptiveDialog/index.d.ts +0 -2
  70. package/dist/components/AdaptiveDialog/index.js +0 -26
  71. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.d.ts +0 -25
  72. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +0 -76
  73. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.module.scss +0 -49
  74. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.sample.d.ts +0 -1
  75. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.sample.js +0 -13
  76. package/dist/components/AdaptiveSidebar/index.d.ts +0 -2
  77. package/dist/components/AdaptiveSidebar/index.js +0 -26
  78. package/dist/components/AnchoredTooltip/AnchoredTooltip.d.ts +0 -37
  79. package/dist/components/AnchoredTooltip/AnchoredTooltip.js +0 -167
  80. package/dist/components/AnchoredTooltip/AnchoredTooltip.module.scss +0 -64
  81. package/dist/components/AnchoredTooltip/index.d.ts +0 -2
  82. package/dist/components/AnchoredTooltip/index.js +0 -26
  83. package/dist/components/AnimatedEntrance/AnimatedEntrance.d.ts +0 -19
  84. package/dist/components/AnimatedEntrance/AnimatedEntrance.js +0 -165
  85. package/dist/components/AnimatedEntrance/AnimatedEntrance.module.scss +0 -108
  86. package/dist/components/AnimatedEntrance/index.d.ts +0 -2
  87. package/dist/components/AnimatedEntrance/index.js +0 -26
  88. package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.d.ts +0 -29
  89. package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.js +0 -95
  90. package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.module.scss +0 -22
  91. package/dist/components/AsyncTriggerContainer/index.d.ts +0 -2
  92. package/dist/components/AsyncTriggerContainer/index.js +0 -26
  93. package/dist/components/AsyncWrapper/AsyncWrapper.d.ts +0 -14
  94. package/dist/components/AsyncWrapper/AsyncWrapper.js +0 -42
  95. package/dist/components/AsyncWrapper/index.d.ts +0 -2
  96. package/dist/components/AsyncWrapper/index.js +0 -26
  97. package/dist/components/Avatar/Avatar.d.ts +0 -10
  98. package/dist/components/Avatar/Avatar.js +0 -39
  99. package/dist/components/Avatar/Avatar.module.scss +0 -22
  100. package/dist/components/Avatar/index.d.ts +0 -2
  101. package/dist/components/Avatar/index.js +0 -26
  102. package/dist/components/BucketFill/BucketFill.d.ts +0 -11
  103. package/dist/components/BucketFill/BucketFill.js +0 -55
  104. package/dist/components/BucketFill/BucketFill.module.scss +0 -36
  105. package/dist/components/BucketFill/index.d.ts +0 -2
  106. package/dist/components/BucketFill/index.js +0 -26
  107. package/dist/components/Button/Button.d.ts +0 -16
  108. package/dist/components/Button/Button.js +0 -38
  109. package/dist/components/Button/Button.module.scss +0 -45
  110. package/dist/components/Button/index.d.ts +0 -2
  111. package/dist/components/Button/index.js +0 -26
  112. package/dist/components/Card/Card.d.ts +0 -7
  113. package/dist/components/Card/Card.js +0 -22
  114. package/dist/components/Card/Card.module.scss +0 -12
  115. package/dist/components/Card/index.d.ts +0 -2
  116. package/dist/components/Card/index.js +0 -26
  117. package/dist/components/Chart/Chart.d.ts +0 -2
  118. package/dist/components/Chart/Chart.e2e.d.ts +0 -4
  119. package/dist/components/Chart/Chart.js +0 -26
  120. package/dist/components/Chart/Chart.logic.d.ts +0 -3
  121. package/dist/components/Chart/Chart.logic.js +0 -14
  122. package/dist/components/Chart/Chart.module.scss +0 -58
  123. package/dist/components/Chart/Chart.types.d.ts +0 -24
  124. package/dist/components/Chart/Chart.types.js +0 -6
  125. package/dist/components/Chart/Chart.view.d.ts +0 -5
  126. package/dist/components/Chart/Chart.view.js +0 -183
  127. package/dist/components/Chart/index.d.ts +0 -2
  128. package/dist/components/Chart/index.js +0 -26
  129. package/dist/components/CheckBox/CheckBox.d.ts +0 -16
  130. package/dist/components/CheckBox/CheckBox.js +0 -52
  131. package/dist/components/CheckBox/CheckBox.module.scss +0 -36
  132. package/dist/components/CheckBox/index.d.ts +0 -2
  133. package/dist/components/CheckBox/index.js +0 -26
  134. package/dist/components/CodeInput/CodeInput.d.ts +0 -8
  135. package/dist/components/CodeInput/CodeInput.js +0 -83
  136. package/dist/components/CodeInput/CodeInput.module.scss +0 -5
  137. package/dist/components/CodeInput/index.d.ts +0 -2
  138. package/dist/components/CodeInput/index.js +0 -26
  139. package/dist/components/Collapsable/Collapsable.d.ts +0 -54
  140. package/dist/components/Collapsable/Collapsable.js +0 -185
  141. package/dist/components/Collapsable/Collapsable.module.scss +0 -42
  142. package/dist/components/Collapsable/index.d.ts +0 -2
  143. package/dist/components/Collapsable/index.js +0 -26
  144. package/dist/components/Countdown/Countdown.d.ts +0 -28
  145. package/dist/components/Countdown/Countdown.js +0 -82
  146. package/dist/components/Countdown/index.d.ts +0 -2
  147. package/dist/components/Countdown/index.js +0 -26
  148. package/dist/components/CurrencyInput/CurrencyInput.d.ts +0 -11
  149. package/dist/components/CurrencyInput/CurrencyInput.hook.d.ts +0 -7
  150. package/dist/components/CurrencyInput/CurrencyInput.hook.js +0 -28
  151. package/dist/components/CurrencyInput/CurrencyInput.js +0 -54
  152. package/dist/components/CurrencyInput/index.d.ts +0 -2
  153. package/dist/components/CurrencyInput/index.js +0 -26
  154. package/dist/components/Divider/Divider.d.ts +0 -6
  155. package/dist/components/Divider/Divider.js +0 -21
  156. package/dist/components/Divider/Divider.module.scss +0 -7
  157. package/dist/components/Divider/index.d.ts +0 -2
  158. package/dist/components/Divider/index.js +0 -26
  159. package/dist/components/EmailInput/EmailInput.d.ts +0 -33
  160. package/dist/components/EmailInput/EmailInput.js +0 -47
  161. package/dist/components/EmailInput/EmailInput.module.scss +0 -0
  162. package/dist/components/EmailInput/index.d.ts +0 -2
  163. package/dist/components/EmailInput/index.js +0 -26
  164. package/dist/components/FadeIn/FadeIn.d.ts +0 -16
  165. package/dist/components/FadeIn/FadeIn.js +0 -63
  166. package/dist/components/FadeIn/FadeIn.module.scss +0 -9
  167. package/dist/components/FadeIn/index.d.ts +0 -2
  168. package/dist/components/FadeIn/index.js +0 -26
  169. package/dist/components/FileInput/FileInput.d.ts +0 -34
  170. package/dist/components/FileInput/FileInput.js +0 -52
  171. package/dist/components/FileInput/FileInput.module.scss +0 -6
  172. package/dist/components/FileInput/View/BigFactory/BigFactory.d.ts +0 -6
  173. package/dist/components/FileInput/View/BigFactory/BigFactory.js +0 -52
  174. package/dist/components/FileInput/View/BigFactory/BigFactory.module.scss +0 -20
  175. package/dist/components/FileInput/View/BigFactory/index.d.ts +0 -2
  176. package/dist/components/FileInput/View/BigFactory/index.js +0 -26
  177. package/dist/components/FileInput/View/Compact/Compact.d.ts +0 -11
  178. package/dist/components/FileInput/View/Compact/Compact.js +0 -119
  179. package/dist/components/FileInput/View/Compact/Compact.module.scss +0 -68
  180. package/dist/components/FileInput/View/Compact/index.d.ts +0 -2
  181. package/dist/components/FileInput/View/Compact/index.js +0 -26
  182. package/dist/components/FileInput/View/View.types.d.ts +0 -8
  183. package/dist/components/FileInput/View/View.types.js +0 -6
  184. package/dist/components/FileInput/index.d.ts +0 -2
  185. package/dist/components/FileInput/index.js +0 -26
  186. package/dist/components/FlowController/FlowController.d.ts +0 -27
  187. package/dist/components/FlowController/FlowController.js +0 -66
  188. package/dist/components/FlowController/FlowController.module.scss +0 -47
  189. package/dist/components/FlowController/index.d.ts +0 -2
  190. package/dist/components/FlowController/index.js +0 -26
  191. package/dist/components/Form/Form.d.ts +0 -30
  192. package/dist/components/Form/Form.hook.d.ts +0 -40
  193. package/dist/components/Form/Form.hook.js +0 -234
  194. package/dist/components/Form/Form.js +0 -114
  195. package/dist/components/Form/Form.module.scss +0 -0
  196. package/dist/components/Form/Form.types.d.ts +0 -98
  197. package/dist/components/Form/Form.types.js +0 -40
  198. package/dist/components/Form/FormField/Extensions/DateField/DateField.d.ts +0 -13
  199. package/dist/components/Form/FormField/Extensions/DateField/DateField.js +0 -75
  200. package/dist/components/Form/FormField/Extensions/DateField/DateField.module.scss +0 -0
  201. package/dist/components/Form/FormField/Extensions/DateField/index.d.ts +0 -2
  202. package/dist/components/Form/FormField/Extensions/DateField/index.js +0 -26
  203. package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.d.ts +0 -9
  204. package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.js +0 -90
  205. package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.module.scss +0 -0
  206. package/dist/components/Form/FormField/Extensions/PhoneField/index.d.ts +0 -2
  207. package/dist/components/Form/FormField/Extensions/PhoneField/index.js +0 -26
  208. package/dist/components/Form/FormField/FormField.d.ts +0 -5
  209. package/dist/components/Form/FormField/FormField.js +0 -297
  210. package/dist/components/Form/FormField/FormField.types.d.ts +0 -103
  211. package/dist/components/Form/FormField/FormField.types.js +0 -12
  212. package/dist/components/Form/FormField/index.d.ts +0 -2
  213. package/dist/components/Form/FormField/index.js +0 -26
  214. package/dist/components/Form/index.d.ts +0 -2
  215. package/dist/components/Form/index.js +0 -26
  216. package/dist/components/Freeze/Freeze.d.ts +0 -5
  217. package/dist/components/Freeze/Freeze.js +0 -18
  218. package/dist/components/Freeze/index.d.ts +0 -2
  219. package/dist/components/Freeze/index.js +0 -26
  220. package/dist/components/HSForms/HSForms.d.ts +0 -12
  221. package/dist/components/HSForms/HSForms.js +0 -54
  222. package/dist/components/HSForms/index.d.ts +0 -2
  223. package/dist/components/HSForms/index.js +0 -26
  224. package/dist/components/HeaderCloseBtn/HeaderCloseBtn.d.ts +0 -9
  225. package/dist/components/HeaderCloseBtn/HeaderCloseBtn.js +0 -25
  226. package/dist/components/HeaderCloseBtn/HeaderCloseBtn.module.scss +0 -44
  227. package/dist/components/HeaderCloseBtn/index.d.ts +0 -2
  228. package/dist/components/HeaderCloseBtn/index.js +0 -26
  229. package/dist/components/InfinityScroll/InfinityScroll.d.ts +0 -22
  230. package/dist/components/InfinityScroll/InfinityScroll.js +0 -127
  231. package/dist/components/InfinityScroll/InfinityScroll.module.scss +0 -30
  232. package/dist/components/InfinityScroll/index.d.ts +0 -2
  233. package/dist/components/InfinityScroll/index.js +0 -26
  234. package/dist/components/Input/Input.d.ts +0 -43
  235. package/dist/components/Input/Input.js +0 -109
  236. package/dist/components/Input/Input.module.scss +0 -31
  237. package/dist/components/Input/index.d.ts +0 -2
  238. package/dist/components/Input/index.js +0 -26
  239. package/dist/components/InstantCounter/InstantCounter.d.ts +0 -16
  240. package/dist/components/InstantCounter/InstantCounter.js +0 -54
  241. package/dist/components/InstantCounter/index.d.ts +0 -2
  242. package/dist/components/InstantCounter/index.js +0 -26
  243. package/dist/components/LavaLamp/LavaLamp.d.ts +0 -12
  244. package/dist/components/LavaLamp/LavaLamp.data.d.ts +0 -16
  245. package/dist/components/LavaLamp/LavaLamp.data.js +0 -89
  246. package/dist/components/LavaLamp/LavaLamp.js +0 -124
  247. package/dist/components/LavaLamp/LavaLamp.module.scss +0 -26
  248. package/dist/components/LavaLamp/index.d.ts +0 -2
  249. package/dist/components/LavaLamp/index.js +0 -26
  250. package/dist/components/LavaLamp/v2/LavaLamp.d.ts +0 -4
  251. package/dist/components/LavaLamp/v2/LavaLamp.js +0 -153
  252. package/dist/components/LavaLamp/v2/LavaLamp.module.scss +0 -23
  253. package/dist/components/LinkToId/LinkToId.d.ts +0 -11
  254. package/dist/components/LinkToId/LinkToId.js +0 -45
  255. package/dist/components/LinkToId/LinkToId.module.scss +0 -4
  256. package/dist/components/LinkToId/index.d.ts +0 -2
  257. package/dist/components/LinkToId/index.js +0 -26
  258. package/dist/components/Loader/Loader.d.ts +0 -8
  259. package/dist/components/Loader/Loader.js +0 -27
  260. package/dist/components/Loader/Loader.module.scss +0 -40
  261. package/dist/components/Loader/index.d.ts +0 -2
  262. package/dist/components/Loader/index.js +0 -26
  263. package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.d.ts +0 -12
  264. package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.js +0 -35
  265. package/dist/components/LoaderDotsIndicator/index.d.ts +0 -2
  266. package/dist/components/LoaderDotsIndicator/index.js +0 -26
  267. package/dist/components/LoopableVideo/LoopableVideo.d.ts +0 -12
  268. package/dist/components/LoopableVideo/LoopableVideo.js +0 -41
  269. package/dist/components/LoopableVideo/index.d.ts +0 -2
  270. package/dist/components/LoopableVideo/index.js +0 -26
  271. package/dist/components/MainGrid/MainGrid.d.ts +0 -17
  272. package/dist/components/MainGrid/MainGrid.js +0 -54
  273. package/dist/components/MainGrid/MainGrid.module.scss +0 -28
  274. package/dist/components/MainGrid/index.d.ts +0 -2
  275. package/dist/components/MainGrid/index.js +0 -26
  276. package/dist/components/MutableHamburgerButton/MutableHamburgerButton.d.ts +0 -8
  277. package/dist/components/MutableHamburgerButton/MutableHamburgerButton.js +0 -32
  278. package/dist/components/MutableHamburgerButton/MutableHamburgerButton.module.scss +0 -220
  279. package/dist/components/MutableHamburgerButton/index.d.ts +0 -2
  280. package/dist/components/MutableHamburgerButton/index.js +0 -26
  281. package/dist/components/Notification/Notification.d.ts +0 -8
  282. package/dist/components/Notification/Notification.js +0 -24
  283. package/dist/components/Notification/Notification.module.scss +0 -25
  284. package/dist/components/Notification/index.d.ts +0 -2
  285. package/dist/components/Notification/index.js +0 -26
  286. package/dist/components/NumberInput/NumberInput.d.ts +0 -11
  287. package/dist/components/NumberInput/NumberInput.js +0 -50
  288. package/dist/components/NumberInput/index.d.ts +0 -2
  289. package/dist/components/NumberInput/index.js +0 -26
  290. package/dist/components/OrderableList/OrderableList.d.ts +0 -40
  291. package/dist/components/OrderableList/OrderableList.js +0 -438
  292. package/dist/components/OrderableList/OrderableList.module.scss +0 -98
  293. package/dist/components/OrderableList/index.d.ts +0 -2
  294. package/dist/components/OrderableList/index.js +0 -26
  295. package/dist/components/PaginationIndicator/PaginationIndicator.d.ts +0 -45
  296. package/dist/components/PaginationIndicator/PaginationIndicator.js +0 -260
  297. package/dist/components/PaginationIndicator/index.d.ts +0 -2
  298. package/dist/components/PaginationIndicator/index.js +0 -26
  299. package/dist/components/Parallax/Parallax.d.ts +0 -20
  300. package/dist/components/Parallax/Parallax.js +0 -168
  301. package/dist/components/Parallax/Parallax.module.scss +0 -28
  302. package/dist/components/Parallax/index.d.ts +0 -2
  303. package/dist/components/Parallax/index.js +0 -26
  304. package/dist/components/Parallax/math/helpers.d.ts +0 -58
  305. package/dist/components/Parallax/math/helpers.js +0 -134
  306. package/dist/components/PasswordInput/PasswordInput.d.ts +0 -48
  307. package/dist/components/PasswordInput/PasswordInput.js +0 -96
  308. package/dist/components/PasswordInput/PasswordInput.module.scss +0 -17
  309. package/dist/components/PasswordInput/index.d.ts +0 -2
  310. package/dist/components/PasswordInput/index.js +0 -26
  311. package/dist/components/PingPongText/PingPongText.d.ts +0 -10
  312. package/dist/components/PingPongText/PingPongText.js +0 -75
  313. package/dist/components/PingPongText/PingPongText.module.scss +0 -4
  314. package/dist/components/PingPongText/index.d.ts +0 -2
  315. package/dist/components/PingPongText/index.js +0 -26
  316. package/dist/components/PixelatedScan/PixelatedScan.d.ts +0 -13
  317. package/dist/components/PixelatedScan/PixelatedScan.js +0 -138
  318. package/dist/components/PixelatedScan/PixelatedScan.module.scss +0 -86
  319. package/dist/components/PixelatedScan/index.d.ts +0 -2
  320. package/dist/components/PixelatedScan/index.js +0 -26
  321. package/dist/components/Portal/Portal.d.ts +0 -20
  322. package/dist/components/Portal/Portal.js +0 -61
  323. package/dist/components/Portal/Portal.module.scss +0 -3
  324. package/dist/components/Portal/index.d.ts +0 -2
  325. package/dist/components/Portal/index.js +0 -26
  326. package/dist/components/ProgressBar/ProgressBar.d.ts +0 -32
  327. package/dist/components/ProgressBar/ProgressBar.js +0 -112
  328. package/dist/components/ProgressBar/ProgressBar.module.scss +0 -44
  329. package/dist/components/ProgressBar/index.d.ts +0 -2
  330. package/dist/components/ProgressBar/index.js +0 -26
  331. package/dist/components/ProgressTexts/ProgressTexts.d.ts +0 -29
  332. package/dist/components/ProgressTexts/ProgressTexts.js +0 -52
  333. package/dist/components/ProgressTexts/ProgressTexts.module.scss +0 -37
  334. package/dist/components/ProgressTexts/index.d.ts +0 -2
  335. package/dist/components/ProgressTexts/index.js +0 -26
  336. package/dist/components/Radio/Radio.d.ts +0 -15
  337. package/dist/components/Radio/Radio.js +0 -53
  338. package/dist/components/Radio/Radio.module.scss +0 -20
  339. package/dist/components/Radio/index.d.ts +0 -2
  340. package/dist/components/Radio/index.js +0 -26
  341. package/dist/components/Radio/variants/Checkmark/Checkmark.d.ts +0 -7
  342. package/dist/components/Radio/variants/Checkmark/Checkmark.js +0 -20
  343. package/dist/components/Radio/variants/Checkmark/Checkmark.module.scss +0 -24
  344. package/dist/components/Radio/variants/Checkmark/index.d.ts +0 -2
  345. package/dist/components/Radio/variants/Checkmark/index.js +0 -26
  346. package/dist/components/Radio/variants/Generic/Generic.d.ts +0 -7
  347. package/dist/components/Radio/variants/Generic/Generic.js +0 -22
  348. package/dist/components/Radio/variants/Generic/Generic.module.scss +0 -38
  349. package/dist/components/Radio/variants/Generic/index.d.ts +0 -2
  350. package/dist/components/Radio/variants/Generic/index.js +0 -26
  351. package/dist/components/SectionContainer/SectionContainer.d.ts +0 -19
  352. package/dist/components/SectionContainer/SectionContainer.js +0 -48
  353. package/dist/components/SectionContainer/SectionContainer.module.scss +0 -30
  354. package/dist/components/SectionContainer/index.d.ts +0 -2
  355. package/dist/components/SectionContainer/index.js +0 -26
  356. package/dist/components/Select/Select.d.ts +0 -42
  357. package/dist/components/Select/Select.js +0 -137
  358. package/dist/components/Select/Select.module.scss +0 -60
  359. package/dist/components/Select/index.d.ts +0 -2
  360. package/dist/components/Select/index.js +0 -26
  361. package/dist/components/Skeleton/Skeleton.d.ts +0 -10
  362. package/dist/components/Skeleton/Skeleton.js +0 -30
  363. package/dist/components/Skeleton/Skeleton.module.scss +0 -21
  364. package/dist/components/Skeleton/index.d.ts +0 -2
  365. package/dist/components/Skeleton/index.js +0 -26
  366. package/dist/components/Slider/Slider.d.ts +0 -11
  367. package/dist/components/Slider/Slider.e2e.d.ts +0 -4
  368. package/dist/components/Slider/Slider.js +0 -70
  369. package/dist/components/Slider/Slider.module.scss +0 -7
  370. package/dist/components/Slider/index.d.ts +0 -2
  371. package/dist/components/Slider/index.js +0 -26
  372. package/dist/components/Spacing/Spacing.d.ts +0 -11
  373. package/dist/components/Spacing/Spacing.js +0 -33
  374. package/dist/components/Spacing/Spacing.module.scss +0 -13
  375. package/dist/components/Spacing/index.d.ts +0 -2
  376. package/dist/components/Spacing/index.js +0 -26
  377. package/dist/components/StaticScroller/StaticScroller.d.ts +0 -7
  378. package/dist/components/StaticScroller/StaticScroller.js +0 -71
  379. package/dist/components/StaticScroller/StaticScroller.module.scss +0 -14
  380. package/dist/components/StaticScroller/index.d.ts +0 -2
  381. package/dist/components/StaticScroller/index.js +0 -26
  382. package/dist/components/Switch/Switch.d.ts +0 -12
  383. package/dist/components/Switch/Switch.js +0 -47
  384. package/dist/components/Switch/Switch.module.scss +0 -46
  385. package/dist/components/Switch/index.d.ts +0 -2
  386. package/dist/components/Switch/index.js +0 -26
  387. package/dist/components/Table/Table.d.ts +0 -23
  388. package/dist/components/Table/Table.js +0 -114
  389. package/dist/components/Table/Table.module.scss +0 -74
  390. package/dist/components/Table/index.d.ts +0 -2
  391. package/dist/components/Table/index.js +0 -26
  392. package/dist/components/Tabs/Tabs.d.ts +0 -28
  393. package/dist/components/Tabs/Tabs.js +0 -66
  394. package/dist/components/Tabs/Tabs.module.scss +0 -40
  395. package/dist/components/Tabs/index.d.ts +0 -2
  396. package/dist/components/Tabs/index.js +0 -26
  397. package/dist/components/Text/Text.d.ts +0 -22
  398. package/dist/components/Text/Text.js +0 -43
  399. package/dist/components/Text/Text.module.scss +0 -13
  400. package/dist/components/Text/index.d.ts +0 -2
  401. package/dist/components/Text/index.js +0 -26
  402. package/dist/components/Transition/MasksFactory/DiagonalReveal.d.ts +0 -1
  403. package/dist/components/Transition/MasksFactory/DiagonalReveal.js +0 -49
  404. package/dist/components/Transition/MasksFactory/DiagonalSquareToBalls.d.ts +0 -5
  405. package/dist/components/Transition/MasksFactory/DiagonalSquareToBalls.js +0 -77
  406. package/dist/components/Transition/MasksFactory/PhysicsSquares.d.ts +0 -7
  407. package/dist/components/Transition/MasksFactory/PhysicsSquares.js +0 -96
  408. package/dist/components/Transition/MasksFactory/SquareToBalls.d.ts +0 -5
  409. package/dist/components/Transition/MasksFactory/SquareToBalls.js +0 -66
  410. package/dist/components/Transition/MasksFactory/utils.d.ts +0 -8
  411. package/dist/components/Transition/MasksFactory/utils.js +0 -30
  412. package/dist/components/Transition/Transition.d.ts +0 -114
  413. package/dist/components/Transition/Transition.js +0 -322
  414. package/dist/components/Transition/Transition.module.scss +0 -211
  415. package/dist/components/Transition/index.d.ts +0 -2
  416. package/dist/components/Transition/index.js +0 -26
  417. package/dist/components/UncontrolledTransition/UncontrolledTransition.ai.md +0 -9
  418. package/dist/components/UncontrolledTransition/UncontrolledTransition.d.ts +0 -17
  419. package/dist/components/UncontrolledTransition/UncontrolledTransition.js +0 -109
  420. package/dist/components/UncontrolledTransition/UncontrolledTransition.sample.d.ts +0 -1
  421. package/dist/components/UncontrolledTransition/UncontrolledTransition.sample.js +0 -31
  422. package/dist/components/UncontrolledTransition/index.d.ts +0 -2
  423. package/dist/components/UncontrolledTransition/index.js +0 -26
  424. package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.d.ts +0 -55
  425. package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.js +0 -114
  426. package/dist/components/WalletConnectionWrapper/index.d.ts +0 -2
  427. package/dist/components/WalletConnectionWrapper/index.js +0 -26
  428. package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.d.ts +0 -7
  429. package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.js +0 -58
  430. package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.module.scss +0 -5
  431. package/dist/components/utilitary/ScrollAndFocusLock/index.d.ts +0 -2
  432. package/dist/components/utilitary/ScrollAndFocusLock/index.js +0 -26
  433. package/dist/context/AsyncProcess.d.ts +0 -23
  434. package/dist/context/AsyncProcess.js +0 -73
  435. package/dist/context/ContextAsyncControl.d.ts +0 -39
  436. package/dist/context/ContextAsyncControl.js +0 -91
  437. package/dist/context/CustomBrowserRouter.d.ts +0 -19
  438. package/dist/context/CustomBrowserRouter.js +0 -49
  439. package/dist/context/OneUIProvider.d.ts +0 -198
  440. package/dist/context/OneUIProvider.js +0 -128
  441. package/dist/hooks/logs/useDependencyChangeDetection.d.ts +0 -1
  442. package/dist/hooks/logs/useDependencyChangeDetection.js +0 -20
  443. package/dist/hooks/logs/useIsMounting.d.ts +0 -1
  444. package/dist/hooks/logs/useIsMounting.js +0 -13
  445. package/dist/hooks/persistence/useLocalStorage.d.ts +0 -2
  446. package/dist/hooks/persistence/useLocalStorage.js +0 -48
  447. package/dist/hooks/shims/ObjectWatchShim.d.ts +0 -1
  448. package/dist/hooks/shims/ObjectWatchShim.js +0 -54
  449. package/dist/hooks/ui/useAdaptiveImage.d.ts +0 -7
  450. package/dist/hooks/ui/useAdaptiveImage.js +0 -36
  451. package/dist/hooks/ui/useAlternating.d.ts +0 -4
  452. package/dist/hooks/ui/useAlternating.js +0 -24
  453. package/dist/hooks/ui/useBreakpoint.d.ts +0 -5
  454. package/dist/hooks/ui/useBreakpoint.js +0 -26
  455. package/dist/hooks/ui/useCustomScrollbar.d.ts +0 -8
  456. package/dist/hooks/ui/useCustomScrollbar.js +0 -28
  457. package/dist/hooks/ui/useCustomScrollbar.module.scss +0 -20
  458. package/dist/hooks/ui/useEffectIf.d.ts +0 -2
  459. package/dist/hooks/ui/useEffectIf.js +0 -14
  460. package/dist/hooks/ui/useMouseHover.d.ts +0 -11
  461. package/dist/hooks/ui/useMouseHover.js +0 -29
  462. package/dist/hooks/ui/usePaginationControls.d.ts +0 -14
  463. package/dist/hooks/ui/usePaginationControls.js +0 -135
  464. package/dist/hooks/ui/usePaginationControls.module.scss +0 -16
  465. package/dist/hooks/ui/useSnapToViewport.d.ts +0 -5
  466. package/dist/hooks/ui/useSnapToViewport.js +0 -26
  467. package/dist/hooks/ui/useSnapToViewport.module.scss +0 -6
  468. package/dist/hooks/ui/useTilt.d.ts +0 -46
  469. package/dist/hooks/ui/useTilt.js +0 -161
  470. package/dist/hooks/ui/useZoomable.d.ts +0 -6
  471. package/dist/hooks/ui/useZoomable.js +0 -134
  472. package/dist/hooks/ui/useZoomable.module.scss +0 -34
  473. package/dist/hooks/useAsyncControl.ai.md +0 -25
  474. package/dist/hooks/useAsyncControl.d.ts +0 -32
  475. package/dist/hooks/useAsyncControl.js +0 -79
  476. package/dist/hooks/useContainedRepositioning.d.ts +0 -15
  477. package/dist/hooks/useContainedRepositioning.js +0 -83
  478. package/dist/hooks/useCustomHistory.d.ts +0 -14
  479. package/dist/hooks/useCustomHistory.js +0 -24
  480. package/dist/hooks/useElementFit.d.ts +0 -18
  481. package/dist/hooks/useElementFit.js +0 -54
  482. package/dist/hooks/useFirestoreWatch.d.ts +0 -12
  483. package/dist/hooks/useFirestoreWatch.js +0 -45
  484. package/dist/hooks/useFreeze.d.ts +0 -5
  485. package/dist/hooks/useFreeze.js +0 -17
  486. package/dist/hooks/useHero.d.ts +0 -68
  487. package/dist/hooks/useHero.js +0 -273
  488. package/dist/hooks/useHero.module.scss +0 -41
  489. package/dist/hooks/useIntersection.d.ts +0 -8
  490. package/dist/hooks/useIntersection.js +0 -39
  491. package/dist/hooks/useMergeRefs.d.ts +0 -9
  492. package/dist/hooks/useMergeRefs.js +0 -37
  493. package/dist/hooks/useObserve.d.ts +0 -6
  494. package/dist/hooks/useObserve.js +0 -25
  495. package/dist/hooks/usePagination.d.ts +0 -57
  496. package/dist/hooks/usePagination.js +0 -163
  497. package/dist/hooks/usePooledOperation.d.ts +0 -19
  498. package/dist/hooks/usePooledOperation.js +0 -53
  499. package/dist/hooks/usePooling.d.ts +0 -22
  500. package/dist/hooks/usePooling.js +0 -52
  501. package/dist/hooks/useRebound.d.ts +0 -13
  502. package/dist/hooks/useRebound.js +0 -32
  503. package/dist/hooks/useShortIntl.ai.md +0 -5
  504. package/dist/hooks/useShortIntl.d.ts +0 -21
  505. package/dist/hooks/useShortIntl.js +0 -82
  506. package/dist/hooks/utility/useAsyncMemo.d.ts +0 -13
  507. package/dist/hooks/utility/useAsyncMemo.js +0 -45
  508. package/dist/hooks/utility/useDepChange.d.ts +0 -1
  509. package/dist/hooks/utility/useDepChange.js +0 -17
  510. package/dist/hooks/utility/useEvents.d.ts +0 -9
  511. package/dist/hooks/utility/useEvents.js +0 -33
  512. package/dist/hooks/utility/useImmediate.d.ts +0 -4
  513. package/dist/hooks/utility/useImmediate.js +0 -14
  514. package/dist/hooks/utility/useManualInit.d.ts +0 -4
  515. package/dist/hooks/utility/useManualInit.js +0 -25
  516. package/dist/hooks/utility/useModule.d.ts +0 -4
  517. package/dist/hooks/utility/useModule.js +0 -18
  518. package/dist/hooks/utility/useQuery.d.ts +0 -7
  519. package/dist/hooks/utility/useQuery.js +0 -20
  520. package/dist/hooks/utility/useUniqueEffect.d.ts +0 -1
  521. package/dist/hooks/utility/useUniqueEffect.js +0 -20
  522. package/dist/index.d.ts +0 -222
  523. package/dist/index.js +0 -2148
  524. package/dist/index.preprocess.d.ts +0 -1
  525. package/dist/index.preprocess.js +0 -42
  526. package/dist/models/DebugLogger.d.ts +0 -4
  527. package/dist/models/DebugLogger.js +0 -16
  528. package/dist/models/GenericContract.d.ts +0 -100
  529. package/dist/models/GenericContract.js +0 -51
  530. package/dist/models/Orbs.d.ts +0 -44
  531. package/dist/models/Orbs.js +0 -67
  532. package/dist/reac-app-env.d.js +0 -2
  533. package/dist/storybook/assets/video/txt-reversed.mp4 +0 -0
  534. package/dist/storybookUtils/index.d.ts +0 -5
  535. package/dist/storybookUtils/index.js +0 -44
  536. package/dist/type-utils.d.ts +0 -59
  537. package/dist/type-utils.js +0 -6
  538. package/dist/types.d.ts +0 -79
  539. package/dist/types.js +0 -6
  540. package/dist/utility.d.js +0 -2
  541. package/dist/utils/blockchain.d.ts +0 -8
  542. package/dist/utils/blockchain.js +0 -46
  543. package/dist/utils/e2e.d.ts +0 -19
  544. package/dist/utils/e2e.js +0 -33
  545. package/dist/utils/flatten.d.ts +0 -5
  546. package/dist/utils/flatten.js +0 -19
  547. package/dist/utils/formatters.d.ts +0 -21
  548. package/dist/utils/formatters.js +0 -63
  549. package/dist/utils/html.utils.d.ts +0 -2
  550. package/dist/utils/html.utils.js +0 -15
  551. package/dist/utils/ownEvent.d.ts +0 -4
  552. package/dist/utils/ownEvent.js +0 -16
  553. package/dist/utils/test.d.ts +0 -6
  554. package/dist/utils/test.js +0 -19
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = useFirestoreWatch;
7
- var _react = require("react");
8
- function useFirestoreWatch(queryFactory, params) {
9
- const [docsList, updateList] = (0, _react.useState)();
10
- (0, _react.useEffect)(() => {
11
- const unsub = queryFactory(...params)(changes => {
12
- updateList(function () {
13
- let prevList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
14
- for (let docChange of changes) {
15
- if (docChange.type === undefined) {
16
- const existing = prevList.find(f => f.id === docChange.doc.id);
17
- if (existing) docChange.type = "modified";else docChange.type = "added";
18
- }
19
- switch (docChange.type) {
20
- case 'added':
21
- if (!prevList.find(f => f.id === docChange.doc.id)) {
22
- prevList.unshift(docChange.doc);
23
- }
24
- break;
25
- case 'modified':
26
- prevList = prevList.map(item => {
27
- if (item.id === docChange.doc.id) for (let key in docChange.doc) {
28
- item[key] = docChange.doc[key];
29
- }
30
- return item;
31
- });
32
- break;
33
- case 'removed':
34
- prevList = prevList.filter(item => item.id !== docChange.doc.id);
35
- break;
36
- }
37
- }
38
- return [...prevList];
39
- });
40
- });
41
- return unsub;
42
- }, params);
43
- return docsList;
44
- }
45
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlRmlyZXN0b3JlV2F0Y2giLCJxdWVyeUZhY3RvcnkiLCJwYXJhbXMiLCJkb2NzTGlzdCIsInVwZGF0ZUxpc3QiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVuc3ViIiwiY2hhbmdlcyIsInByZXZMaXN0IiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiZG9jQ2hhbmdlIiwidHlwZSIsImV4aXN0aW5nIiwiZmluZCIsImYiLCJpZCIsImRvYyIsInVuc2hpZnQiLCJtYXAiLCJpdGVtIiwia2V5IiwiZmlsdGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUZpcmVzdG9yZVdhdGNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgRG9jdW1lbnRDaGFuZ2VUeXBlLCBVbnN1YnNjcmliZSB9IGZyb20gXCJmaXJlYmFzZS9maXJlc3RvcmVcIjtcclxuXHJcbnR5cGUgU25hcHNob3RGYWN0b3J5Q2I8RCBleHRlbmRzIGFueT4gPSAoY2hhbmdlczoge1xyXG4gICAgZG9jOiBELFxyXG4gICAgdHlwZTogRG9jdW1lbnRDaGFuZ2VUeXBlXHJcbn1bXSkgPT4gdm9pZFxyXG5cclxuZXhwb3J0IHR5cGUgU25hcHNob3RGYWN0b3J5UmV0dXJuPEQgZXh0ZW5kcyB7IGlkOiBzdHJpbmcgfT4gPSAoY2I6IFNuYXBzaG90RmFjdG9yeUNiPEQ+KSA9PiBVbnN1YnNjcmliZVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlRmlyZXN0b3JlV2F0Y2g8RCBleHRlbmRzIHsgaWQ6IHN0cmluZyB9LCBQIGV4dGVuZHMgYW55W10+KHF1ZXJ5RmFjdG9yeTogKC4uLnBhcmFtczogUCkgPT4gU25hcHNob3RGYWN0b3J5UmV0dXJuPEQ+LCBwYXJhbXM6IFApIHtcclxuICAgIGNvbnN0IFtkb2NzTGlzdCwgdXBkYXRlTGlzdF0gPSB1c2VTdGF0ZTxEW10+KCk7XHJcblxyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCB1bnN1YiA9IHF1ZXJ5RmFjdG9yeSguLi5wYXJhbXMpKChjaGFuZ2VzKSA9PiB7XHJcbiAgICAgICAgICAgIHVwZGF0ZUxpc3QoKHByZXZMaXN0ID0gW10pID0+IHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGRvY0NoYW5nZSBvZiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRvY0NoYW5nZS50eXBlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nID0gcHJldkxpc3QuZmluZCgoZikgPT4gZi5pZCA9PT0gZG9jQ2hhbmdlLmRvYy5pZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoZXhpc3RpbmcpIGRvY0NoYW5nZS50eXBlID0gXCJtb2RpZmllZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBlbHNlIGRvY0NoYW5nZS50eXBlID0gXCJhZGRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZG9jQ2hhbmdlLnR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnYWRkZWQnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcmV2TGlzdC5maW5kKChmKSA9PiBmLmlkID09PSBkb2NDaGFuZ2UuZG9jLmlkKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZMaXN0LnVuc2hpZnQoZG9jQ2hhbmdlLmRvYylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ21vZGlmaWVkJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZMaXN0ID0gcHJldkxpc3QhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmlkID09PSBkb2NDaGFuZ2UuZG9jLmlkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gZG9jQ2hhbmdlLmRvYykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVtrZXldID0gZG9jQ2hhbmdlLmRvY1trZXldO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdyZW1vdmVkJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZMaXN0ID0gcHJldkxpc3QhLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaXRlbSkgPT4gaXRlbS5pZCAhPT0gZG9jQ2hhbmdlLmRvYy5pZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFsuLi5wcmV2TGlzdF1cclxuICAgICAgICAgICAgfSlcclxuXHJcbiAgICAgICAgfSlcclxuICAgICAgICByZXR1cm4gdW5zdWI7XHJcbiAgICB9LCBwYXJhbXMpO1xyXG5cclxuICAgIHJldHVybiBkb2NzTGlzdDtcclxufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBVWUsU0FBU0MsaUJBQWlCQSxDQUE0Q0MsWUFBd0QsRUFBRUMsTUFBUyxFQUFFO0VBQ3RKLE1BQU0sQ0FBQ0MsUUFBUSxFQUFFQyxVQUFVLENBQUMsR0FBRyxJQUFBQyxlQUFRLEVBQU0sQ0FBQztFQUU5QyxJQUFBQyxnQkFBUyxFQUFDLE1BQU07SUFDWixNQUFNQyxLQUFLLEdBQUdOLFlBQVksQ0FBQyxHQUFHQyxNQUFNLENBQUMsQ0FBRU0sT0FBTyxJQUFLO01BQy9DSixVQUFVLENBQUMsWUFBbUI7UUFBQSxJQUFsQkssUUFBUSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxFQUFFO1FBQ3JCLEtBQUssSUFBSUcsU0FBUyxJQUFJTCxPQUFPLEVBQUU7VUFDM0IsSUFBSUssU0FBUyxDQUFDQyxJQUFJLEtBQUtGLFNBQVMsRUFBRTtZQUNoQyxNQUFNRyxRQUFRLEdBQUdOLFFBQVEsQ0FBQ08sSUFBSSxDQUFFQyxDQUFDLElBQUtBLENBQUMsQ0FBQ0MsRUFBRSxLQUFLTCxTQUFTLENBQUNNLEdBQUcsQ0FBQ0QsRUFBRSxDQUFDO1lBQ2hFLElBQUlILFFBQVEsRUFBRUYsU0FBUyxDQUFDQyxJQUFJLEdBQUcsVUFBVSxNQUNwQ0QsU0FBUyxDQUFDQyxJQUFJLEdBQUcsT0FBTztVQUMvQjtVQUNBLFFBQVFELFNBQVMsQ0FBQ0MsSUFBSTtZQUNsQixLQUFLLE9BQU87Y0FDUixJQUFJLENBQUNMLFFBQVEsQ0FBQ08sSUFBSSxDQUFFQyxDQUFDLElBQUtBLENBQUMsQ0FBQ0MsRUFBRSxLQUFLTCxTQUFTLENBQUNNLEdBQUcsQ0FBQ0QsRUFBRSxDQUFDLEVBQUU7Z0JBQ2xEVCxRQUFRLENBQUNXLE9BQU8sQ0FBQ1AsU0FBUyxDQUFDTSxHQUFHLENBQUM7Y0FDbkM7Y0FDQTtZQUNKLEtBQUssVUFBVTtjQUNYVixRQUFRLEdBQUdBLFFBQVEsQ0FBRVksR0FBRyxDQUFFQyxJQUFJLElBQUs7Z0JBQy9CLElBQUlBLElBQUksQ0FBQ0osRUFBRSxLQUFLTCxTQUFTLENBQUNNLEdBQUcsQ0FBQ0QsRUFBRSxFQUM1QixLQUFLLElBQUlLLEdBQUcsSUFBSVYsU0FBUyxDQUFDTSxHQUFHLEVBQUU7a0JBQzNCRyxJQUFJLENBQUNDLEdBQUcsQ0FBQyxHQUFHVixTQUFTLENBQUNNLEdBQUcsQ0FBQ0ksR0FBRyxDQUFDO2dCQUNsQztnQkFDSixPQUFPRCxJQUFJO2NBQ2YsQ0FBQyxDQUFDO2NBQ0Y7WUFDSixLQUFLLFNBQVM7Y0FDVmIsUUFBUSxHQUFHQSxRQUFRLENBQUVlLE1BQU0sQ0FDdEJGLElBQUksSUFBS0EsSUFBSSxDQUFDSixFQUFFLEtBQUtMLFNBQVMsQ0FBQ00sR0FBRyxDQUFDRCxFQUN4QyxDQUFDO2NBQ0Q7VUFDUjtRQUNKO1FBRUEsT0FBTyxDQUFDLEdBQUdULFFBQVEsQ0FBQztNQUN4QixDQUFDLENBQUM7SUFFTixDQUFDLENBQUM7SUFDRixPQUFPRixLQUFLO0VBQ2hCLENBQUMsRUFBRUwsTUFBTSxDQUFDO0VBRVYsT0FBT0MsUUFBUTtBQUNuQiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * This hook pipes a data and when it is set to a falsy value ("", undefined, null, 0),
3
- * it returns the previous valid value
4
- */
5
- export default function useFreeze<T>(something: T): T | undefined;
@@ -1,17 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = useFreeze;
7
- var _react = require("react");
8
- /**
9
- * This hook pipes a data and when it is set to a falsy value ("", undefined, null, 0),
10
- * it returns the previous valid value
11
- */
12
- function useFreeze(something) {
13
- const currChildOrPrev = (0, _react.useRef)(undefined);
14
- currChildOrPrev.current = something === undefined ? currChildOrPrev.current : something;
15
- return currChildOrPrev.current;
16
- }
17
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlRnJlZXplIiwic29tZXRoaW5nIiwiY3VyckNoaWxkT3JQcmV2IiwidXNlUmVmIiwidW5kZWZpbmVkIiwiY3VycmVudCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VGcmVlemUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5cbi8qKlxuICogVGhpcyBob29rIHBpcGVzIGEgZGF0YSBhbmQgd2hlbiBpdCBpcyBzZXQgdG8gYSBmYWxzeSB2YWx1ZSAoXCJcIiwgdW5kZWZpbmVkLCBudWxsLCAwKSxcbiAqIGl0IHJldHVybnMgdGhlIHByZXZpb3VzIHZhbGlkIHZhbHVlXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUZyZWV6ZTxUPihzb21ldGhpbmc6IFQpIHtcbiAgY29uc3QgY3VyckNoaWxkT3JQcmV2ID0gdXNlUmVmPFQ+KHVuZGVmaW5lZCk7XG4gIGN1cnJDaGlsZE9yUHJldi5jdXJyZW50ID1cbiAgICBzb21ldGhpbmcgPT09IHVuZGVmaW5lZCA/IGN1cnJDaGlsZE9yUHJldi5jdXJyZW50IDogc29tZXRoaW5nO1xuICByZXR1cm4gY3VyckNoaWxkT3JQcmV2LmN1cnJlbnQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsU0FBU0MsU0FBU0EsQ0FBSUMsU0FBWSxFQUFFO0VBQ2pELE1BQU1DLGVBQWUsR0FBRyxJQUFBQyxhQUFNLEVBQUlDLFNBQVMsQ0FBQztFQUM1Q0YsZUFBZSxDQUFDRyxPQUFPLEdBQ3JCSixTQUFTLEtBQUtHLFNBQVMsR0FBR0YsZUFBZSxDQUFDRyxPQUFPLEdBQUdKLFNBQVM7RUFDL0QsT0FBT0MsZUFBZSxDQUFDRyxPQUFPO0FBQ2hDIiwiaWdub3JlTGlzdCI6W119
@@ -1,68 +0,0 @@
1
- import React, { CSSProperties } from "react";
2
- type ShouldSkip = boolean;
3
- type Result = [
4
- originContainer: Element | VisualViewport,
5
- targetContainer: Element | VisualViewport
6
- ];
7
- /**
8
- * This hook implements the logic for a hero animation between 2 elements sharing the same id
9
- */
10
- export default function useHero(id: string, options?: Partial<{
11
- propsToTransition: Exclude<keyof CSSProperties, "width" | "height" | "top" | "left">[];
12
- /** If set, the default properties (width, height, etc...) will not transition, and propsToTransition will be the only ones that will be transitioned */
13
- overridePropsToTransition: boolean;
14
- "data-preffix": string;
15
- /** This indicates this hero animation will probably be repeated multiple time */
16
- repeatable: boolean;
17
- }>, events?: {
18
- /**
19
- * Should return if the detected element should be "heroed"
20
- *
21
- * Usefull for when the hero has 2 possible origins.
22
- * For example, one could hero only the current hovered element with el.matches(":hover")
23
- */
24
- onHeroDetect?: (origin: HTMLDivElement, target: HTMLDivElement) => boolean;
25
- /**
26
- * Do something when the hero ends
27
- *
28
- * Usefull for triggering secondary animations
29
- */
30
- onHeroEnd?: () => void;
31
- /** Do somethign with the clone before it goes to the html */
32
- onHeroCloned?: (clone: HTMLDivElement) => void;
33
- /**
34
- * Do something when the hero starts the transition
35
- * Here it's usefull to switch classNames with the target.
36
- *
37
- * If done correctly, it will transition from state a to b smoothly
38
- */
39
- onHeroStart?: (clone: HTMLDivElement, origin: HTMLDivElement, target: HTMLDivElement) => void;
40
- /**
41
- * Is called when the hero is coming/going outside the viewport
42
- *
43
- * By default it's set to skip all heroes that have these conditions
44
- *
45
- * @returns If the hero should be skipped or not
46
- */
47
- onHeroSkip?: (origin: HTMLDivElement, target: HTMLDivElement) => ShouldSkip;
48
- /**
49
- * Called when a hero is skipped
50
- */
51
- onHeroSkipped?: () => void;
52
- /**
53
- * Before transition start, setup the properties that will be used for hero animation
54
- * @returns The container that will be used to check if the hero is out or in the view
55
- */
56
- onBeforeTransition?: (origin: HTMLDivElement, target: HTMLDivElement) => Result | Readonly<Result>;
57
- }): {
58
- heroRef: React.RefObject<HTMLDivElement | null>;
59
- getHerosOnScreen: () => HTMLDivElement[];
60
- trigger: () => void;
61
- heroComponentRef: (componentId: string) => (elRef: HTMLDivElement | null) => void;
62
- };
63
- type EVENTS_INTERFACE = Parameters<typeof useHero>[2];
64
- type TRANSITION_TYPES = "ACCELERATION";
65
- export declare const TRANSITION_FACTORY: {
66
- [n in TRANSITION_TYPES]: (events?: EVENTS_INTERFACE) => EVENTS_INTERFACE;
67
- };
68
- export {};
@@ -1,273 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.TRANSITION_FACTORY = void 0;
7
- exports.default = useHero;
8
- var _react = require("react");
9
- var _ownEvent = _interopRequireDefault(require("../utils/ownEvent"));
10
- var _useHeroModule = _interopRequireDefault(require("./useHero.module.scss"));
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
15
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
16
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
- const ID = id => "".concat(id, "-hero");
18
- const viewport = window.visualViewport;
19
- const DATA_TAG_HERO_COMPONENT = "data-hero-component";
20
- function triggerDynamicComponents(clone, componentsFromOriginThatWillAppear, origin) {
21
- const idsThatWillAppear = componentsFromOriginThatWillAppear.map(a => a.getAttribute(DATA_TAG_HERO_COMPONENT));
22
- const preexistingComponents = Array.from(clone.querySelectorAll("[".concat(DATA_TAG_HERO_COMPONENT, "]")));
23
- const removedElements = preexistingComponents.filter(el => !idsThatWillAppear.includes(el.getAttribute(DATA_TAG_HERO_COMPONENT)));
24
- for (let elementThatIsBeingRemoved of removedElements) {
25
- for (let heightKey of ["height", "minHeight", "maxHeight"]) elementThatIsBeingRemoved.style[heightKey] = "".concat(elementThatIsBeingRemoved.clientHeight, "px");
26
- }
27
- setTimeout(() => {
28
- for (let elementThatIsBeingRemoved of removedElements) {
29
- for (let heightKey of ["height", "minHeight", "maxHeight"]) elementThatIsBeingRemoved.style[heightKey] = "0px";
30
- elementThatIsBeingRemoved.style.opacity = "0";
31
- }
32
- }, 0);
33
- for (let componentThatWillAppear of componentsFromOriginThatWillAppear) {
34
- const alreadyInjectedElement = !!clone.querySelector("[".concat(DATA_TAG_HERO_COMPONENT, "=\"").concat(componentThatWillAppear.getAttribute(DATA_TAG_HERO_COMPONENT), "\"]"));
35
- if (!alreadyInjectedElement) {
36
- function recursiveBuildPath(fromElement) {
37
- let pathSuffix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
38
- if (fromElement === origin) return pathSuffix;
39
- const parent = fromElement.parentElement;
40
- const parentChilds = Array.from(parent.children);
41
- const elChildSelector = ":nth-child(".concat(parentChilds.indexOf(fromElement) + 1, ")");
42
- if (fromElement !== origin) return recursiveBuildPath(parent, "".concat(elChildSelector).concat(pathSuffix ? ">".concat(pathSuffix) : ""));else return pathSuffix;
43
- }
44
- const whatIsTheElementPathFromCloneElement = recursiveBuildPath(componentThatWillAppear.parentElement);
45
- const insertAtIndex = Array.from(componentThatWillAppear.parentElement.children).indexOf(componentThatWillAppear);
46
- const targetElementClone = componentThatWillAppear.cloneNode(true);
47
- for (let heightKey of ["height", "minHeight", "maxHeight"]) targetElementClone.style[heightKey] = "0px";
48
- const shouldBeInsertedAtElement = whatIsTheElementPathFromCloneElement ? clone.querySelector(whatIsTheElementPathFromCloneElement) : clone;
49
- const remainingIndexes = Array.from(shouldBeInsertedAtElement.children).map((el, i) => removedElements.includes(el) ? undefined : i).filter(e => e !== undefined);
50
- if (insertAtIndex === remainingIndexes.length) shouldBeInsertedAtElement.append(targetElementClone);else shouldBeInsertedAtElement.insertBefore(targetElementClone, shouldBeInsertedAtElement.childNodes.item(remainingIndexes[insertAtIndex]));
51
- setTimeout(() => {
52
- for (let heightKey of ["height", "minHeight", "maxHeight"]) targetElementClone.style[heightKey] = "".concat(componentThatWillAppear.clientHeight, "px");
53
- }, 0);
54
- }
55
- }
56
- }
57
- const ALWAYS_TRANSITION = ["top", "left"];
58
-
59
- /**
60
- * This hook implements the logic for a hero animation between 2 elements sharing the same id
61
- */
62
- function useHero(id) {
63
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
64
- propsToTransition: []
65
- };
66
- let events = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
67
- const {
68
- propsToTransition: _p = [],
69
- "data-preffix": dataPreffix,
70
- repeatable
71
- } = options;
72
- const propsToTransition = (0, _react.useMemo)(() => _p.map(p => p.replace(/([A-Z])/g, (_, val) => "-".concat(val.toLowerCase()))), [_p]);
73
- const _dataPreffix = dataPreffix ? "-".concat(dataPreffix) : "";
74
- const dataProperty = "data".concat(_dataPreffix, "-hero");
75
- const heroRef = (0, _react.useRef)(null);
76
- (0, _react.useLayoutEffect)(() => {
77
- heroRef.current.setAttribute(dataProperty, id);
78
- }, [id]);
79
- const getHerosOnScreen = (0, _react.useCallback)(() => {
80
- const otherElements = Array.from(document.querySelectorAll("[".concat(dataProperty, "=\"").concat(id, "\"]"))).filter(el => el !== heroRef.current);
81
- return otherElements;
82
- }, [id]);
83
- function triggerHeroAnimation() {
84
- const allPropsToTransition = options.overridePropsToTransition ? [...ALWAYS_TRANSITION, ...propsToTransition] : ["width", "height", ...ALWAYS_TRANSITION, ...propsToTransition];
85
- const shouldHeroFn = events.onHeroDetect || function () {
86
- return true;
87
- };
88
- const otherElements = getHerosOnScreen().filter(el => shouldHeroFn(el, heroRef.current));
89
- const currentElement = heroRef.current;
90
- const currentElCoordinates = currentElement.getBoundingClientRect();
91
- if (process.env.NODE_ENV === "development" && otherElements.length > 2) console.warn("There are too many elements to transition to, I will transition to the first I find", otherElements);
92
- const otherElement = otherElements.find(el => el !== heroRef.current);
93
- if (otherElement) {
94
- const [originContainer, targetContainer] = events.onBeforeTransition ? events.onBeforeTransition(otherElement, heroRef.current) : [viewport, viewport];
95
- const shouldSkip = isElementOutsideContainer(targetContainer, currentElCoordinates) || isElementOutsideContainer(originContainer, otherElement.getBoundingClientRect()) ? (events.onHeroSkip || (() => true))(otherElement, heroRef.current) : false;
96
- if (shouldSkip) {
97
- var _events$onHeroSkipped;
98
- (_events$onHeroSkipped = events.onHeroSkipped) === null || _events$onHeroSkipped === void 0 || _events$onHeroSkipped.call(events);
99
- return;
100
- }
101
- const oldClone = document.querySelector("[".concat(dataProperty, "-clone=\"").concat(ID(id), "\"]"));
102
- const clone = oldClone || otherElement.cloneNode(true);
103
- if (events.onHeroCloned && !oldClone) events.onHeroCloned(clone);
104
-
105
- // Clean up thos properties that can cause confusion since it's a clone
106
- clone.style.visibility = "";
107
- clone.removeAttribute(dataProperty);
108
- clone.setAttribute("".concat(dataProperty, "-clone"), ID(id));
109
-
110
- /**
111
- * If it's repeatable, we should keep the flag that indicates the hero existance
112
- */
113
- if (!repeatable)
114
- // Since a transition is now triggering from the old element, he cannot be considered for other transitions
115
- otherElement.removeAttribute(dataProperty);
116
- function willTheHeroMove(origin, target) {
117
- const willItMove = !(Math.trunc(origin.top) === Math.trunc(target.top) && Math.trunc(origin.left) === Math.trunc(target.left) && Math.trunc(origin.width) === Math.trunc(target.width) && Math.trunc(origin.height) === Math.trunc(target.height));
118
- return willItMove;
119
- }
120
-
121
- /**
122
- *
123
- * @param el
124
- * @returns Returns if it will move
125
- */
126
- function setCloneToCoordinatesOf(el) {
127
- const coordinates = el.getBoundingClientRect();
128
- const currentCoordinates = clone.getBoundingClientRect();
129
- const willMove = willTheHeroMove(coordinates, currentCoordinates);
130
- clone.style.position = "fixed";
131
- clone.style.top = "".concat(coordinates.top, "px");
132
- clone.style.left = "".concat(coordinates.left, "px");
133
- if (allPropsToTransition.includes("width")) clone.style.width = "".concat(coordinates.width, "px");
134
- if (allPropsToTransition.includes("height")) clone.style.height = "".concat(coordinates.height, "px");
135
- return willMove;
136
- }
137
- const coordinates = otherElement.getBoundingClientRect();
138
- const currentCoordinates = heroRef.current.getBoundingClientRect();
139
- const itWontMove = !willTheHeroMove(coordinates, currentCoordinates);
140
- if (itWontMove) {
141
- var _events$onHeroEnd;
142
- (_events$onHeroEnd = events.onHeroEnd) === null || _events$onHeroEnd === void 0 || _events$onHeroEnd.call(events);
143
- return;
144
- }
145
- if (!oldClone) {
146
- /** Set the clone over the starting element */
147
- setCloneToCoordinatesOf(otherElement);
148
- document.body.appendChild(clone);
149
- }
150
- heroRef.current.style.visibility = "hidden";
151
- otherElement.style.visibility = "hidden";
152
- for (let propToTransition of propsToTransition) {
153
- clone.style[propToTransition] = window.getComputedStyle(otherElement)[propToTransition];
154
- }
155
- clone.style.transition = "".concat(allPropsToTransition.map(prop => "".concat(prop.replace(/[A-Z]/g, sub => "-".concat(sub.toLowerCase())), " var(--animation--speed-fast, 250ms) ease-out")).join(", "));
156
- setTimeout(() => {
157
- const elItWillTransitionTo = heroRef.current;
158
- const cleanup = () => {
159
- if (events.onHeroEnd) events.onHeroEnd();
160
- if (elItWillTransitionTo) {
161
- if (repeatable) elItWillTransitionTo.setAttribute(dataProperty, id);
162
- elItWillTransitionTo.style.visibility = "";
163
- }
164
- setTimeout(() => {
165
- clone.remove();
166
- }, 0);
167
- };
168
- triggerDynamicComponents(clone, Array.from(heroRef.current.querySelectorAll("[".concat(DATA_TAG_HERO_COMPONENT, "]"))), currentElement);
169
- if (events.onHeroStart) {
170
- events.onHeroStart(clone, otherElement, heroRef.current);
171
- }
172
- if (!elItWillTransitionTo) {
173
- cleanup();
174
- return;
175
- }
176
- /** Set the clone over the new position */
177
- const willMove = setCloneToCoordinatesOf(elItWillTransitionTo);
178
- if (!willMove) cleanup();else {
179
- for (let propToTransition of propsToTransition) clone.style[propToTransition] = window.getComputedStyle(elItWillTransitionTo)[propToTransition];
180
- let initialOffset;
181
- const s = _ref => {
182
- let {
183
- target
184
- } = _ref;
185
- const d = target;
186
- if (d.contains(elItWillTransitionTo)) {
187
- if (initialOffset === undefined) initialOffset = d.scrollTop;else clone.style.marginTop = "".concat(-(d.scrollTop - initialOffset), "px");
188
- }
189
- };
190
- const transitionEndCb = (0, _ownEvent.default)(_ref2 => {
191
- let {
192
- target,
193
- currentTarget
194
- } = _ref2;
195
- if (target === currentTarget) cleanup();
196
- document.removeEventListener("scroll", s, true);
197
- });
198
- document.addEventListener("scroll", s, true);
199
- clone.addEventListener("transitionend", transitionEndCb);
200
- clone.addEventListener("transitionstart", () => {
201
- const onCancelCb = (0, _ownEvent.default)(e => {
202
- clone.removeEventListener("transitionend", transitionEndCb);
203
- clone.removeEventListener("transitioncancel", onCancelCb);
204
- });
205
- clone.addEventListener("transitioncancel", onCancelCb);
206
- });
207
- }
208
- }, 0);
209
- }
210
- }
211
- (0, _react.useEffect)(() => {
212
- triggerHeroAnimation();
213
- }, []);
214
- return {
215
- heroRef,
216
- getHerosOnScreen,
217
- trigger: triggerHeroAnimation,
218
- heroComponentRef: componentId => elRef => {
219
- if (elRef) {
220
- elRef.setAttribute(DATA_TAG_HERO_COMPONENT, componentId);
221
- elRef.classList.add(_useHeroModule.default.component);
222
- }
223
- }
224
- };
225
- }
226
- function isElementOutsideViewport(coordinates) {
227
- const elementOverflowsViewport = coordinates.left >= viewport.width || coordinates.top >= viewport.height;
228
- const elementUnderflowsViewport = coordinates.left <= -coordinates.width || coordinates.top <= -coordinates.height;
229
- return elementOverflowsViewport || elementUnderflowsViewport;
230
- }
231
- function isElementOutsideContainer(container, coordinates) {
232
- if (container instanceof VisualViewport) {
233
- return isElementOutsideViewport(coordinates);
234
- } else {
235
- const containerBounds = container.getBoundingClientRect();
236
- const isContainerOutsideViewport = isElementOutsideViewport(containerBounds);
237
- if (isContainerOutsideViewport) return true;
238
- const elementOverflowsViewport = coordinates.left >= containerBounds.left + containerBounds.width || coordinates.top >= containerBounds.top + containerBounds.height;
239
- const elementUnderflowsViewport = containerBounds.left - coordinates.left >= coordinates.width || containerBounds.top - coordinates.top >= coordinates.height;
240
- return elementUnderflowsViewport || elementOverflowsViewport;
241
- }
242
- }
243
- function centerPoint(rect) {
244
- return [rect.left + rect.width / 2, rect.top + rect.height / 2];
245
- }
246
- const angle = (pointA, pointB) => Number((Math.atan2(pointA[1] - pointB[1], pointA[0] - pointB[0]) * (179.08 / Math.PI)).toFixed(5));
247
- const TRANSITION_FACTORY = exports.TRANSITION_FACTORY = {
248
- ACCELERATION: events => _objectSpread(_objectSpread({}, events), {}, {
249
- onHeroStart(clone, origin, target) {
250
- if (events !== null && events !== void 0 && events.onHeroStart) events.onHeroStart(clone, origin, target);
251
- clone.classList.add(_useHeroModule.default.acceleration);
252
- const centerPointOrigin = centerPoint(origin.getBoundingClientRect());
253
- const centerPointDestination = centerPoint(target.getBoundingClientRect());
254
- const angleBetweenElements = angle(centerPointOrigin, centerPointDestination);
255
- const vectorX = Math.sin(angleBetweenElements);
256
- const vectorY = Math.cos(angleBetweenElements);
257
- const rotateY = (10 * vectorY).toFixed(0);
258
- const originX = (vectorY + 1) * 50;
259
- const rotateX = -(10 * vectorX).toFixed(0);
260
- const originY = (vectorX + 1) * 50;
261
- clone.style.setProperty("--stage-1", "rotateY(".concat(rotateY, "deg) rotateX(").concat(-rotateX, "deg)"));
262
- clone.style.setProperty("--stage-2", "rotateY(".concat(-rotateY * 0.3, "deg) rotateX(").concat(rotateX * 0.3, "deg)"));
263
- clone.style.setProperty("--origin-1", "".concat(originX, "% ").concat(originY, "%"));
264
- clone.style.setProperty("--origin-2", "".concat(100 - originX, "% ").concat(100 - originY, "%"));
265
- document.body.style.perspective = "100vw";
266
- },
267
- onHeroEnd() {
268
- if (events !== null && events !== void 0 && events.onHeroEnd) events.onHeroEnd();
269
- document.body.style.perspective = "";
270
- }
271
- })
272
- };
273
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX293bkV2ZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2VIZXJvTW9kdWxlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0Iiwib3duS2V5cyIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiaSIsIl90b1ByaW1pdGl2ZSIsIlN5bWJvbCIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsIklEIiwiaWQiLCJjb25jYXQiLCJ2aWV3cG9ydCIsIndpbmRvdyIsInZpc3VhbFZpZXdwb3J0IiwiREFUQV9UQUdfSEVST19DT01QT05FTlQiLCJ0cmlnZ2VyRHluYW1pY0NvbXBvbmVudHMiLCJjbG9uZSIsImNvbXBvbmVudHNGcm9tT3JpZ2luVGhhdFdpbGxBcHBlYXIiLCJvcmlnaW4iLCJpZHNUaGF0V2lsbEFwcGVhciIsIm1hcCIsImEiLCJnZXRBdHRyaWJ1dGUiLCJwcmVleGlzdGluZ0NvbXBvbmVudHMiLCJBcnJheSIsImZyb20iLCJxdWVyeVNlbGVjdG9yQWxsIiwicmVtb3ZlZEVsZW1lbnRzIiwiZWwiLCJpbmNsdWRlcyIsImVsZW1lbnRUaGF0SXNCZWluZ1JlbW92ZWQiLCJoZWlnaHRLZXkiLCJzdHlsZSIsImNsaWVudEhlaWdodCIsInNldFRpbWVvdXQiLCJvcGFjaXR5IiwiY29tcG9uZW50VGhhdFdpbGxBcHBlYXIiLCJhbHJlYWR5SW5qZWN0ZWRFbGVtZW50IiwicXVlcnlTZWxlY3RvciIsInJlY3Vyc2l2ZUJ1aWxkUGF0aCIsImZyb21FbGVtZW50IiwicGF0aFN1ZmZpeCIsInVuZGVmaW5lZCIsInBhcmVudCIsInBhcmVudEVsZW1lbnQiLCJwYXJlbnRDaGlsZHMiLCJjaGlsZHJlbiIsImVsQ2hpbGRTZWxlY3RvciIsImluZGV4T2YiLCJ3aGF0SXNUaGVFbGVtZW50UGF0aEZyb21DbG9uZUVsZW1lbnQiLCJpbnNlcnRBdEluZGV4IiwidGFyZ2V0RWxlbWVudENsb25lIiwiY2xvbmVOb2RlIiwic2hvdWxkQmVJbnNlcnRlZEF0RWxlbWVudCIsInJlbWFpbmluZ0luZGV4ZXMiLCJhcHBlbmQiLCJpbnNlcnRCZWZvcmUiLCJjaGlsZE5vZGVzIiwiaXRlbSIsIkFMV0FZU19UUkFOU0lUSU9OIiwidXNlSGVybyIsIm9wdGlvbnMiLCJwcm9wc1RvVHJhbnNpdGlvbiIsImV2ZW50cyIsIl9wIiwiZGF0YVByZWZmaXgiLCJyZXBlYXRhYmxlIiwidXNlTWVtbyIsInAiLCJyZXBsYWNlIiwiXyIsInZhbCIsInRvTG93ZXJDYXNlIiwiX2RhdGFQcmVmZml4IiwiZGF0YVByb3BlcnR5IiwiaGVyb1JlZiIsInVzZVJlZiIsInVzZUxheW91dEVmZmVjdCIsImN1cnJlbnQiLCJzZXRBdHRyaWJ1dGUiLCJnZXRIZXJvc09uU2NyZWVuIiwidXNlQ2FsbGJhY2siLCJvdGhlckVsZW1lbnRzIiwiZG9jdW1lbnQiLCJ0cmlnZ2VySGVyb0FuaW1hdGlvbiIsImFsbFByb3BzVG9UcmFuc2l0aW9uIiwib3ZlcnJpZGVQcm9wc1RvVHJhbnNpdGlvbiIsInNob3VsZEhlcm9GbiIsIm9uSGVyb0RldGVjdCIsImN1cnJlbnRFbGVtZW50IiwiY3VycmVudEVsQ29vcmRpbmF0ZXMiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjb25zb2xlIiwid2FybiIsIm90aGVyRWxlbWVudCIsImZpbmQiLCJvcmlnaW5Db250YWluZXIiLCJ0YXJnZXRDb250YWluZXIiLCJvbkJlZm9yZVRyYW5zaXRpb24iLCJzaG91bGRTa2lwIiwiaXNFbGVtZW50T3V0c2lkZUNvbnRhaW5lciIsIm9uSGVyb1NraXAiLCJfZXZlbnRzJG9uSGVyb1NraXBwZWQiLCJvbkhlcm9Ta2lwcGVkIiwib2xkQ2xvbmUiLCJvbkhlcm9DbG9uZWQiLCJ2aXNpYmlsaXR5IiwicmVtb3ZlQXR0cmlidXRlIiwid2lsbFRoZUhlcm9Nb3ZlIiwidGFyZ2V0Iiwid2lsbEl0TW92ZSIsIk1hdGgiLCJ0cnVuYyIsInRvcCIsImxlZnQiLCJ3aWR0aCIsImhlaWdodCIsInNldENsb25lVG9Db29yZGluYXRlc09mIiwiY29vcmRpbmF0ZXMiLCJjdXJyZW50Q29vcmRpbmF0ZXMiLCJ3aWxsTW92ZSIsInBvc2l0aW9uIiwiaXRXb250TW92ZSIsIl9ldmVudHMkb25IZXJvRW5kIiwib25IZXJvRW5kIiwiYm9keSIsImFwcGVuZENoaWxkIiwicHJvcFRvVHJhbnNpdGlvbiIsImdldENvbXB1dGVkU3R5bGUiLCJ0cmFuc2l0aW9uIiwicHJvcCIsInN1YiIsImpvaW4iLCJlbEl0V2lsbFRyYW5zaXRpb25UbyIsImNsZWFudXAiLCJyZW1vdmUiLCJvbkhlcm9TdGFydCIsImluaXRpYWxPZmZzZXQiLCJzIiwiX3JlZiIsImQiLCJjb250YWlucyIsInNjcm9sbFRvcCIsIm1hcmdpblRvcCIsInRyYW5zaXRpb25FbmRDYiIsIm93bkV2ZW50IiwiX3JlZjIiLCJjdXJyZW50VGFyZ2V0IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImFkZEV2ZW50TGlzdGVuZXIiLCJvbkNhbmNlbENiIiwidXNlRWZmZWN0IiwidHJpZ2dlciIsImhlcm9Db21wb25lbnRSZWYiLCJjb21wb25lbnRJZCIsImVsUmVmIiwiY2xhc3NMaXN0IiwiYWRkIiwiU3R5bGVzIiwiY29tcG9uZW50IiwiaXNFbGVtZW50T3V0c2lkZVZpZXdwb3J0IiwiZWxlbWVudE92ZXJmbG93c1ZpZXdwb3J0IiwiZWxlbWVudFVuZGVyZmxvd3NWaWV3cG9ydCIsImNvbnRhaW5lciIsIlZpc3VhbFZpZXdwb3J0IiwiY29udGFpbmVyQm91bmRzIiwiaXNDb250YWluZXJPdXRzaWRlVmlld3BvcnQiLCJjZW50ZXJQb2ludCIsInJlY3QiLCJhbmdsZSIsInBvaW50QSIsInBvaW50QiIsImF0YW4yIiwiUEkiLCJ0b0ZpeGVkIiwiVFJBTlNJVElPTl9GQUNUT1JZIiwiZXhwb3J0cyIsIkFDQ0VMRVJBVElPTiIsImFjY2VsZXJhdGlvbiIsImNlbnRlclBvaW50T3JpZ2luIiwiY2VudGVyUG9pbnREZXN0aW5hdGlvbiIsImFuZ2xlQmV0d2VlbkVsZW1lbnRzIiwidmVjdG9yWCIsInNpbiIsInZlY3RvclkiLCJjb3MiLCJyb3RhdGVZIiwib3JpZ2luWCIsInJvdGF0ZVgiLCJvcmlnaW5ZIiwic2V0UHJvcGVydHkiLCJwZXJzcGVjdGl2ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VIZXJvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBDU1NQcm9wZXJ0aWVzLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VMYXlvdXRFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgb3duRXZlbnQgZnJvbSBcIi4uL3V0aWxzL293bkV2ZW50XCI7XG5pbXBvcnQgU3R5bGVzIGZyb20gXCIuL3VzZUhlcm8ubW9kdWxlLnNjc3NcIjtcblxuY29uc3QgSUQgPSAoaWQ6IHN0cmluZykgPT4gYCR7aWR9LWhlcm9gO1xudHlwZSBTaG91bGRTa2lwID0gYm9vbGVhbjtcbnR5cGUgUmVzdWx0ID0gW1xuICBvcmlnaW5Db250YWluZXI6IEVsZW1lbnQgfCBWaXN1YWxWaWV3cG9ydCxcbiAgdGFyZ2V0Q29udGFpbmVyOiBFbGVtZW50IHwgVmlzdWFsVmlld3BvcnRcbl07XG5jb25zdCB2aWV3cG9ydCA9IHdpbmRvdy52aXN1YWxWaWV3cG9ydCE7XG5jb25zdCBEQVRBX1RBR19IRVJPX0NPTVBPTkVOVCA9IFwiZGF0YS1oZXJvLWNvbXBvbmVudFwiO1xuXG5mdW5jdGlvbiB0cmlnZ2VyRHluYW1pY0NvbXBvbmVudHMoXG4gIGNsb25lOiBIVE1MRGl2RWxlbWVudCxcbiAgY29tcG9uZW50c0Zyb21PcmlnaW5UaGF0V2lsbEFwcGVhcjogSFRNTERpdkVsZW1lbnRbXSxcbiAgb3JpZ2luOiBIVE1MRGl2RWxlbWVudFxuKSB7XG4gIGNvbnN0IGlkc1RoYXRXaWxsQXBwZWFyID0gY29tcG9uZW50c0Zyb21PcmlnaW5UaGF0V2lsbEFwcGVhci5tYXAoKGEpID0+XG4gICAgYS5nZXRBdHRyaWJ1dGUoREFUQV9UQUdfSEVST19DT01QT05FTlQpXG4gICk7XG4gIGNvbnN0IHByZWV4aXN0aW5nQ29tcG9uZW50cyA9IEFycmF5LmZyb20oXG4gICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbChgWyR7REFUQV9UQUdfSEVST19DT01QT05FTlR9XWApXG4gICkgYXMgSFRNTERpdkVsZW1lbnRbXTtcbiAgY29uc3QgcmVtb3ZlZEVsZW1lbnRzOiBIVE1MRGl2RWxlbWVudFtdID0gcHJlZXhpc3RpbmdDb21wb25lbnRzLmZpbHRlcihcbiAgICAoZWwpID0+XG4gICAgICAhaWRzVGhhdFdpbGxBcHBlYXIuaW5jbHVkZXMoZWwuZ2V0QXR0cmlidXRlKERBVEFfVEFHX0hFUk9fQ09NUE9ORU5UKSlcbiAgKTtcblxuICBmb3IgKGxldCBlbGVtZW50VGhhdElzQmVpbmdSZW1vdmVkIG9mIHJlbW92ZWRFbGVtZW50cykge1xuICAgIGZvciAobGV0IGhlaWdodEtleSBvZiBbXCJoZWlnaHRcIiwgXCJtaW5IZWlnaHRcIiwgXCJtYXhIZWlnaHRcIl0gYXMgY29uc3QpXG4gICAgICBlbGVtZW50VGhhdElzQmVpbmdSZW1vdmVkLnN0eWxlW1xuICAgICAgICBoZWlnaHRLZXlcbiAgICAgIF0gPSBgJHtlbGVtZW50VGhhdElzQmVpbmdSZW1vdmVkLmNsaWVudEhlaWdodH1weGA7XG4gIH1cbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgZm9yIChsZXQgZWxlbWVudFRoYXRJc0JlaW5nUmVtb3ZlZCBvZiByZW1vdmVkRWxlbWVudHMpIHtcbiAgICAgIGZvciAobGV0IGhlaWdodEtleSBvZiBbXCJoZWlnaHRcIiwgXCJtaW5IZWlnaHRcIiwgXCJtYXhIZWlnaHRcIl0gYXMgY29uc3QpXG4gICAgICAgIGVsZW1lbnRUaGF0SXNCZWluZ1JlbW92ZWQuc3R5bGVbaGVpZ2h0S2V5XSA9IGAwcHhgO1xuICAgICAgZWxlbWVudFRoYXRJc0JlaW5nUmVtb3ZlZC5zdHlsZS5vcGFjaXR5ID0gYDBgO1xuICAgIH1cbiAgfSwgMCk7XG5cbiAgZm9yIChsZXQgY29tcG9uZW50VGhhdFdpbGxBcHBlYXIgb2YgY29tcG9uZW50c0Zyb21PcmlnaW5UaGF0V2lsbEFwcGVhcikge1xuICAgIGNvbnN0IGFscmVhZHlJbmplY3RlZEVsZW1lbnQgPSAhIWNsb25lLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBgWyR7REFUQV9UQUdfSEVST19DT01QT05FTlR9PVwiJHtjb21wb25lbnRUaGF0V2lsbEFwcGVhci5nZXRBdHRyaWJ1dGUoXG4gICAgICAgIERBVEFfVEFHX0hFUk9fQ09NUE9ORU5UXG4gICAgICApfVwiXWBcbiAgICApO1xuICAgIGlmICghYWxyZWFkeUluamVjdGVkRWxlbWVudCkge1xuICAgICAgZnVuY3Rpb24gcmVjdXJzaXZlQnVpbGRQYXRoKFxuICAgICAgICBmcm9tRWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICAgICAgIHBhdGhTdWZmaXg6IHN0cmluZyA9IFwiXCJcbiAgICAgICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChmcm9tRWxlbWVudCA9PT0gb3JpZ2luKSByZXR1cm4gcGF0aFN1ZmZpeDtcbiAgICAgICAgY29uc3QgcGFyZW50ID0gZnJvbUVsZW1lbnQucGFyZW50RWxlbWVudCE7XG4gICAgICAgIGNvbnN0IHBhcmVudENoaWxkcyA9IEFycmF5LmZyb20ocGFyZW50LmNoaWxkcmVuKTtcbiAgICAgICAgY29uc3QgZWxDaGlsZFNlbGVjdG9yID0gYDpudGgtY2hpbGQoJHtcbiAgICAgICAgICBwYXJlbnRDaGlsZHMuaW5kZXhPZihmcm9tRWxlbWVudCkgKyAxXG4gICAgICAgIH0pYDtcblxuICAgICAgICBpZiAoZnJvbUVsZW1lbnQgIT09IG9yaWdpbilcbiAgICAgICAgICByZXR1cm4gcmVjdXJzaXZlQnVpbGRQYXRoKFxuICAgICAgICAgICAgcGFyZW50LFxuICAgICAgICAgICAgYCR7ZWxDaGlsZFNlbGVjdG9yfSR7cGF0aFN1ZmZpeCA/IGA+JHtwYXRoU3VmZml4fWAgOiBcIlwifWBcbiAgICAgICAgICApO1xuICAgICAgICBlbHNlIHJldHVybiBwYXRoU3VmZml4O1xuICAgICAgfVxuICAgICAgY29uc3Qgd2hhdElzVGhlRWxlbWVudFBhdGhGcm9tQ2xvbmVFbGVtZW50ID0gcmVjdXJzaXZlQnVpbGRQYXRoKFxuICAgICAgICBjb21wb25lbnRUaGF0V2lsbEFwcGVhci5wYXJlbnRFbGVtZW50IVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGluc2VydEF0SW5kZXggPSBBcnJheS5mcm9tKFxuICAgICAgICBjb21wb25lbnRUaGF0V2lsbEFwcGVhci5wYXJlbnRFbGVtZW50IS5jaGlsZHJlblxuICAgICAgKS5pbmRleE9mKGNvbXBvbmVudFRoYXRXaWxsQXBwZWFyKTtcblxuICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudENsb25lID0gY29tcG9uZW50VGhhdFdpbGxBcHBlYXIuY2xvbmVOb2RlKFxuICAgICAgICB0cnVlXG4gICAgICApIGFzIEhUTUxEaXZFbGVtZW50O1xuICAgICAgZm9yIChsZXQgaGVpZ2h0S2V5IG9mIFtcImhlaWdodFwiLCBcIm1pbkhlaWdodFwiLCBcIm1heEhlaWdodFwiXSBhcyBjb25zdClcbiAgICAgICAgdGFyZ2V0RWxlbWVudENsb25lLnN0eWxlW2hlaWdodEtleV0gPSBcIjBweFwiO1xuICAgICAgY29uc3Qgc2hvdWxkQmVJbnNlcnRlZEF0RWxlbWVudCA9IHdoYXRJc1RoZUVsZW1lbnRQYXRoRnJvbUNsb25lRWxlbWVudFxuICAgICAgICA/IGNsb25lLnF1ZXJ5U2VsZWN0b3Iod2hhdElzVGhlRWxlbWVudFBhdGhGcm9tQ2xvbmVFbGVtZW50KSFcbiAgICAgICAgOiBjbG9uZTtcbiAgICAgIGNvbnN0IHJlbWFpbmluZ0luZGV4ZXMgPSBBcnJheS5mcm9tKHNob3VsZEJlSW5zZXJ0ZWRBdEVsZW1lbnQuY2hpbGRyZW4pXG4gICAgICAgIC5tYXAoKGVsLCBpKSA9PlxuICAgICAgICAgIHJlbW92ZWRFbGVtZW50cy5pbmNsdWRlcyhlbCBhcyBIVE1MRGl2RWxlbWVudCkgPyB1bmRlZmluZWQgOiBpXG4gICAgICAgIClcbiAgICAgICAgLmZpbHRlcigoZSkgPT4gZSAhPT0gdW5kZWZpbmVkKSBhcyBudW1iZXJbXTtcblxuICAgICAgaWYgKGluc2VydEF0SW5kZXggPT09IHJlbWFpbmluZ0luZGV4ZXMubGVuZ3RoKVxuICAgICAgICBzaG91bGRCZUluc2VydGVkQXRFbGVtZW50LmFwcGVuZCh0YXJnZXRFbGVtZW50Q2xvbmUpO1xuICAgICAgZWxzZVxuICAgICAgICBzaG91bGRCZUluc2VydGVkQXRFbGVtZW50Lmluc2VydEJlZm9yZShcbiAgICAgICAgICB0YXJnZXRFbGVtZW50Q2xvbmUsXG4gICAgICAgICAgc2hvdWxkQmVJbnNlcnRlZEF0RWxlbWVudC5jaGlsZE5vZGVzLml0ZW0oXG4gICAgICAgICAgICByZW1haW5pbmdJbmRleGVzW2luc2VydEF0SW5kZXhdXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGZvciAobGV0IGhlaWdodEtleSBvZiBbXCJoZWlnaHRcIiwgXCJtaW5IZWlnaHRcIiwgXCJtYXhIZWlnaHRcIl0gYXMgY29uc3QpXG4gICAgICAgICAgdGFyZ2V0RWxlbWVudENsb25lLnN0eWxlW1xuICAgICAgICAgICAgaGVpZ2h0S2V5XG4gICAgICAgICAgXSA9IGAke2NvbXBvbmVudFRoYXRXaWxsQXBwZWFyLmNsaWVudEhlaWdodH1weGA7XG4gICAgICB9LCAwKTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgQUxXQVlTX1RSQU5TSVRJT04gPSBbXCJ0b3BcIiwgXCJsZWZ0XCJdO1xuXG4vKipcbiAqIFRoaXMgaG9vayBpbXBsZW1lbnRzIHRoZSBsb2dpYyBmb3IgYSBoZXJvIGFuaW1hdGlvbiBiZXR3ZWVuIDIgZWxlbWVudHMgc2hhcmluZyB0aGUgc2FtZSBpZFxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VIZXJvKFxuICBpZDogc3RyaW5nLFxuICBvcHRpb25zOiBQYXJ0aWFsPHtcbiAgICBwcm9wc1RvVHJhbnNpdGlvbjogRXhjbHVkZTxcbiAgICAgIGtleW9mIENTU1Byb3BlcnRpZXMsXG4gICAgICBcIndpZHRoXCIgfCBcImhlaWdodFwiIHwgXCJ0b3BcIiB8IFwibGVmdFwiXG4gICAgPltdO1xuICAgIC8qKiBJZiBzZXQsIHRoZSBkZWZhdWx0IHByb3BlcnRpZXMgKHdpZHRoLCBoZWlnaHQsIGV0Yy4uLikgd2lsbCBub3QgdHJhbnNpdGlvbiwgYW5kIHByb3BzVG9UcmFuc2l0aW9uIHdpbGwgYmUgdGhlIG9ubHkgb25lcyB0aGF0IHdpbGwgYmUgdHJhbnNpdGlvbmVkICovXG4gICAgb3ZlcnJpZGVQcm9wc1RvVHJhbnNpdGlvbjogYm9vbGVhbjtcblxuICAgIFwiZGF0YS1wcmVmZml4XCI6IHN0cmluZztcbiAgICAvKiogVGhpcyBpbmRpY2F0ZXMgdGhpcyBoZXJvIGFuaW1hdGlvbiB3aWxsIHByb2JhYmx5IGJlIHJlcGVhdGVkIG11bHRpcGxlIHRpbWUgKi9cbiAgICByZXBlYXRhYmxlOiBib29sZWFuO1xuICB9PiA9IHtcbiAgICBwcm9wc1RvVHJhbnNpdGlvbjogW10sXG4gIH0sXG4gIGV2ZW50czoge1xuICAgIC8qKlxuICAgICAqIFNob3VsZCByZXR1cm4gaWYgdGhlIGRldGVjdGVkIGVsZW1lbnQgc2hvdWxkIGJlIFwiaGVyb2VkXCJcbiAgICAgKlxuICAgICAqIFVzZWZ1bGwgZm9yIHdoZW4gdGhlIGhlcm8gaGFzIDIgcG9zc2libGUgb3JpZ2lucy5cbiAgICAgKiBGb3IgZXhhbXBsZSwgb25lIGNvdWxkIGhlcm8gb25seSB0aGUgY3VycmVudCBob3ZlcmVkIGVsZW1lbnQgd2l0aCBlbC5tYXRjaGVzKFwiOmhvdmVyXCIpXG4gICAgICovXG4gICAgb25IZXJvRGV0ZWN0PzogKG9yaWdpbjogSFRNTERpdkVsZW1lbnQsIHRhcmdldDogSFRNTERpdkVsZW1lbnQpID0+IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBEbyBzb21ldGhpbmcgd2hlbiB0aGUgaGVybyBlbmRzXG4gICAgICpcbiAgICAgKiBVc2VmdWxsIGZvciB0cmlnZ2VyaW5nIHNlY29uZGFyeSBhbmltYXRpb25zXG4gICAgICovXG4gICAgb25IZXJvRW5kPzogKCkgPT4gdm9pZDtcblxuICAgIC8qKiBEbyBzb21ldGhpZ24gd2l0aCB0aGUgY2xvbmUgYmVmb3JlIGl0IGdvZXMgdG8gdGhlIGh0bWwgKi9cbiAgICBvbkhlcm9DbG9uZWQ/OiAoY2xvbmU6IEhUTUxEaXZFbGVtZW50KSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogRG8gc29tZXRoaW5nIHdoZW4gdGhlIGhlcm8gc3RhcnRzIHRoZSB0cmFuc2l0aW9uXG4gICAgICogSGVyZSBpdCdzIHVzZWZ1bGwgdG8gc3dpdGNoIGNsYXNzTmFtZXMgd2l0aCB0aGUgdGFyZ2V0LlxuICAgICAqXG4gICAgICogSWYgZG9uZSBjb3JyZWN0bHksIGl0IHdpbGwgdHJhbnNpdGlvbiBmcm9tIHN0YXRlIGEgdG8gYiBzbW9vdGhseVxuICAgICAqL1xuICAgIG9uSGVyb1N0YXJ0PzogKFxuICAgICAgY2xvbmU6IEhUTUxEaXZFbGVtZW50LFxuICAgICAgb3JpZ2luOiBIVE1MRGl2RWxlbWVudCxcbiAgICAgIHRhcmdldDogSFRNTERpdkVsZW1lbnRcbiAgICApID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBJcyBjYWxsZWQgd2hlbiB0aGUgaGVybyBpcyBjb21pbmcvZ29pbmcgb3V0c2lkZSB0aGUgdmlld3BvcnRcbiAgICAgKlxuICAgICAqIEJ5IGRlZmF1bHQgaXQncyBzZXQgdG8gc2tpcCBhbGwgaGVyb2VzIHRoYXQgaGF2ZSB0aGVzZSBjb25kaXRpb25zXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBJZiB0aGUgaGVybyBzaG91bGQgYmUgc2tpcHBlZCBvciBub3RcbiAgICAgKi9cbiAgICBvbkhlcm9Ta2lwPzogKG9yaWdpbjogSFRNTERpdkVsZW1lbnQsIHRhcmdldDogSFRNTERpdkVsZW1lbnQpID0+IFNob3VsZFNraXA7XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgd2hlbiBhIGhlcm8gaXMgc2tpcHBlZFxuICAgICAqL1xuICAgIG9uSGVyb1NraXBwZWQ/OiAoKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQmVmb3JlIHRyYW5zaXRpb24gc3RhcnQsIHNldHVwIHRoZSBwcm9wZXJ0aWVzIHRoYXQgd2lsbCBiZSB1c2VkIGZvciBoZXJvIGFuaW1hdGlvblxuICAgICAqIEByZXR1cm5zIFRoZSBjb250YWluZXIgdGhhdCB3aWxsIGJlIHVzZWQgdG8gY2hlY2sgaWYgdGhlIGhlcm8gaXMgb3V0IG9yIGluIHRoZSB2aWV3XG4gICAgICovXG4gICAgb25CZWZvcmVUcmFuc2l0aW9uPzogKFxuICAgICAgb3JpZ2luOiBIVE1MRGl2RWxlbWVudCxcbiAgICAgIHRhcmdldDogSFRNTERpdkVsZW1lbnRcbiAgICApID0+IFJlc3VsdCB8IFJlYWRvbmx5PFJlc3VsdD47XG4gIH0gPSB7fVxuKSB7XG4gIGNvbnN0IHtcbiAgICBwcm9wc1RvVHJhbnNpdGlvbjogX3AgPSBbXSxcbiAgICBcImRhdGEtcHJlZmZpeFwiOiBkYXRhUHJlZmZpeCxcbiAgICByZXBlYXRhYmxlLFxuICB9ID0gb3B0aW9ucztcbiAgY29uc3QgcHJvcHNUb1RyYW5zaXRpb24gPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBfcC5tYXAoKHApID0+IHAucmVwbGFjZSgvKFtBLVpdKS9nLCAoXywgdmFsKSA9PiBgLSR7dmFsLnRvTG93ZXJDYXNlKCl9YCkpLFxuICAgIFtfcF1cbiAgKTtcbiAgY29uc3QgX2RhdGFQcmVmZml4ID0gZGF0YVByZWZmaXggPyBgLSR7ZGF0YVByZWZmaXh9YCA6IFwiXCI7XG4gIGNvbnN0IGRhdGFQcm9wZXJ0eSA9IGBkYXRhJHtfZGF0YVByZWZmaXh9LWhlcm9gO1xuICBjb25zdCBoZXJvUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGhlcm9SZWYuY3VycmVudCEuc2V0QXR0cmlidXRlKGRhdGFQcm9wZXJ0eSwgaWQpO1xuICB9LCBbaWRdKTtcblxuICBjb25zdCBnZXRIZXJvc09uU2NyZWVuID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IG90aGVyRWxlbWVudHMgPSAoXG4gICAgICBBcnJheS5mcm9tKFxuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGBbJHtkYXRhUHJvcGVydHl9PVwiJHtpZH1cIl1gKVxuICAgICAgKSBhcyBIVE1MRGl2RWxlbWVudFtdXG4gICAgKS5maWx0ZXIoKGVsKSA9PiBlbCAhPT0gaGVyb1JlZi5jdXJyZW50KTtcbiAgICByZXR1cm4gb3RoZXJFbGVtZW50cztcbiAgfSwgW2lkXSk7XG5cbiAgZnVuY3Rpb24gdHJpZ2dlckhlcm9BbmltYXRpb24oKSB7XG4gICAgY29uc3QgYWxsUHJvcHNUb1RyYW5zaXRpb24gPSBvcHRpb25zLm92ZXJyaWRlUHJvcHNUb1RyYW5zaXRpb25cbiAgICAgID8gWy4uLkFMV0FZU19UUkFOU0lUSU9OLCAuLi5wcm9wc1RvVHJhbnNpdGlvbl1cbiAgICAgIDogW1wid2lkdGhcIiwgXCJoZWlnaHRcIiwgLi4uQUxXQVlTX1RSQU5TSVRJT04sIC4uLnByb3BzVG9UcmFuc2l0aW9uXTtcbiAgICBjb25zdCBzaG91bGRIZXJvRm4gPSBldmVudHMub25IZXJvRGV0ZWN0IHx8ICgoLi4uYTogYW55W10pID0+IHRydWUpO1xuICAgIGNvbnN0IG90aGVyRWxlbWVudHMgPSBnZXRIZXJvc09uU2NyZWVuKCkuZmlsdGVyKChlbCkgPT5cbiAgICAgIHNob3VsZEhlcm9GbihlbCwgaGVyb1JlZi5jdXJyZW50ISlcbiAgICApO1xuICAgIGNvbnN0IGN1cnJlbnRFbGVtZW50ID0gaGVyb1JlZi5jdXJyZW50ITtcbiAgICBjb25zdCBjdXJyZW50RWxDb29yZGluYXRlcyA9IGN1cnJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIgJiYgb3RoZXJFbGVtZW50cy5sZW5ndGggPiAyKVxuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBcIlRoZXJlIGFyZSB0b28gbWFueSBlbGVtZW50cyB0byB0cmFuc2l0aW9uIHRvLCBJIHdpbGwgdHJhbnNpdGlvbiB0byB0aGUgZmlyc3QgSSBmaW5kXCIsXG4gICAgICAgIG90aGVyRWxlbWVudHNcbiAgICAgICk7XG4gICAgY29uc3Qgb3RoZXJFbGVtZW50ID0gb3RoZXJFbGVtZW50cy5maW5kKFxuICAgICAgKGVsKSA9PiBlbCAhPT0gaGVyb1JlZi5jdXJyZW50IVxuICAgICkgYXMgSFRNTERpdkVsZW1lbnQ7XG5cbiAgICBpZiAob3RoZXJFbGVtZW50KSB7XG4gICAgICBjb25zdCBbb3JpZ2luQ29udGFpbmVyLCB0YXJnZXRDb250YWluZXJdID0gZXZlbnRzLm9uQmVmb3JlVHJhbnNpdGlvblxuICAgICAgICA/IGV2ZW50cy5vbkJlZm9yZVRyYW5zaXRpb24ob3RoZXJFbGVtZW50LCBoZXJvUmVmLmN1cnJlbnQhKVxuICAgICAgICA6IFt2aWV3cG9ydCwgdmlld3BvcnRdO1xuICAgICAgY29uc3Qgc2hvdWxkU2tpcCA9XG4gICAgICAgIGlzRWxlbWVudE91dHNpZGVDb250YWluZXIodGFyZ2V0Q29udGFpbmVyLCBjdXJyZW50RWxDb29yZGluYXRlcykgfHxcbiAgICAgICAgaXNFbGVtZW50T3V0c2lkZUNvbnRhaW5lcihcbiAgICAgICAgICBvcmlnaW5Db250YWluZXIsXG4gICAgICAgICAgb3RoZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICAgIClcbiAgICAgICAgICA/IChldmVudHMub25IZXJvU2tpcCB8fCAoKCkgPT4gdHJ1ZSkpKG90aGVyRWxlbWVudCwgaGVyb1JlZi5jdXJyZW50ISlcbiAgICAgICAgICA6IGZhbHNlO1xuICAgICAgaWYgKHNob3VsZFNraXApIHtcbiAgICAgICAgZXZlbnRzLm9uSGVyb1NraXBwZWQ/LigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBvbGRDbG9uZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgIGBbJHtkYXRhUHJvcGVydHl9LWNsb25lPVwiJHtJRChpZCl9XCJdYFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNsb25lID0gKG9sZENsb25lIHx8XG4gICAgICAgIG90aGVyRWxlbWVudC5jbG9uZU5vZGUodHJ1ZSkpIGFzIEhUTUxEaXZFbGVtZW50O1xuXG4gICAgICBpZiAoZXZlbnRzLm9uSGVyb0Nsb25lZCAmJiAhb2xkQ2xvbmUpIGV2ZW50cy5vbkhlcm9DbG9uZWQoY2xvbmUpO1xuXG4gICAgICAvLyBDbGVhbiB1cCB0aG9zIHByb3BlcnRpZXMgdGhhdCBjYW4gY2F1c2UgY29uZnVzaW9uIHNpbmNlIGl0J3MgYSBjbG9uZVxuICAgICAgY2xvbmUuc3R5bGUudmlzaWJpbGl0eSA9IFwiXCI7XG4gICAgICBjbG9uZS5yZW1vdmVBdHRyaWJ1dGUoZGF0YVByb3BlcnR5KTtcblxuICAgICAgY2xvbmUuc2V0QXR0cmlidXRlKGAke2RhdGFQcm9wZXJ0eX0tY2xvbmVgLCBJRChpZCkpO1xuXG4gICAgICAvKipcbiAgICAgICAqIElmIGl0J3MgcmVwZWF0YWJsZSwgd2Ugc2hvdWxkIGtlZXAgdGhlIGZsYWcgdGhhdCBpbmRpY2F0ZXMgdGhlIGhlcm8gZXhpc3RhbmNlXG4gICAgICAgKi9cbiAgICAgIGlmICghcmVwZWF0YWJsZSlcbiAgICAgICAgLy8gU2luY2UgYSB0cmFuc2l0aW9uIGlzIG5vdyB0cmlnZ2VyaW5nIGZyb20gdGhlIG9sZCBlbGVtZW50LCBoZSBjYW5ub3QgYmUgY29uc2lkZXJlZCBmb3Igb3RoZXIgdHJhbnNpdGlvbnNcbiAgICAgICAgb3RoZXJFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShkYXRhUHJvcGVydHkpO1xuXG4gICAgICBmdW5jdGlvbiB3aWxsVGhlSGVyb01vdmUob3JpZ2luOiBET01SZWN0LCB0YXJnZXQ6IERPTVJlY3QpIHtcbiAgICAgICAgY29uc3Qgd2lsbEl0TW92ZSA9ICEoXG4gICAgICAgICAgTWF0aC50cnVuYyhvcmlnaW4udG9wKSA9PT0gTWF0aC50cnVuYyh0YXJnZXQudG9wKSAmJlxuICAgICAgICAgIE1hdGgudHJ1bmMob3JpZ2luLmxlZnQpID09PSBNYXRoLnRydW5jKHRhcmdldC5sZWZ0KSAmJlxuICAgICAgICAgIE1hdGgudHJ1bmMob3JpZ2luLndpZHRoKSA9PT0gTWF0aC50cnVuYyh0YXJnZXQud2lkdGgpICYmXG4gICAgICAgICAgTWF0aC50cnVuYyhvcmlnaW4uaGVpZ2h0KSA9PT0gTWF0aC50cnVuYyh0YXJnZXQuaGVpZ2h0KVxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiB3aWxsSXRNb3ZlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0gZWxcbiAgICAgICAqIEByZXR1cm5zIFJldHVybnMgaWYgaXQgd2lsbCBtb3ZlXG4gICAgICAgKi9cbiAgICAgIGZ1bmN0aW9uIHNldENsb25lVG9Db29yZGluYXRlc09mKGVsOiBIVE1MRGl2RWxlbWVudCkge1xuICAgICAgICBjb25zdCBjb29yZGluYXRlcyA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBjdXJyZW50Q29vcmRpbmF0ZXMgPSBjbG9uZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qgd2lsbE1vdmUgPSB3aWxsVGhlSGVyb01vdmUoY29vcmRpbmF0ZXMsIGN1cnJlbnRDb29yZGluYXRlcyk7XG5cbiAgICAgICAgY2xvbmUuc3R5bGUucG9zaXRpb24gPSBcImZpeGVkXCI7XG4gICAgICAgIGNsb25lLnN0eWxlLnRvcCA9IGAke2Nvb3JkaW5hdGVzLnRvcH1weGA7XG4gICAgICAgIGNsb25lLnN0eWxlLmxlZnQgPSBgJHtjb29yZGluYXRlcy5sZWZ0fXB4YDtcbiAgICAgICAgaWYgKGFsbFByb3BzVG9UcmFuc2l0aW9uLmluY2x1ZGVzKFwid2lkdGhcIikpXG4gICAgICAgICAgY2xvbmUuc3R5bGUud2lkdGggPSBgJHtjb29yZGluYXRlcy53aWR0aH1weGA7XG4gICAgICAgIGlmIChhbGxQcm9wc1RvVHJhbnNpdGlvbi5pbmNsdWRlcyhcImhlaWdodFwiKSlcbiAgICAgICAgICBjbG9uZS5zdHlsZS5oZWlnaHQgPSBgJHtjb29yZGluYXRlcy5oZWlnaHR9cHhgO1xuXG4gICAgICAgIHJldHVybiB3aWxsTW92ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29vcmRpbmF0ZXMgPSBvdGhlckVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBjdXJyZW50Q29vcmRpbmF0ZXMgPSBoZXJvUmVmLmN1cnJlbnQhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgaXRXb250TW92ZSA9ICF3aWxsVGhlSGVyb01vdmUoY29vcmRpbmF0ZXMsIGN1cnJlbnRDb29yZGluYXRlcyk7XG4gICAgICBpZiAoaXRXb250TW92ZSkge1xuICAgICAgICBldmVudHMub25IZXJvRW5kPy4oKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIW9sZENsb25lKSB7XG4gICAgICAgIC8qKiBTZXQgdGhlIGNsb25lIG92ZXIgdGhlIHN0YXJ0aW5nIGVsZW1lbnQgKi9cbiAgICAgICAgc2V0Q2xvbmVUb0Nvb3JkaW5hdGVzT2Yob3RoZXJFbGVtZW50KTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjbG9uZSk7XG4gICAgICB9XG4gICAgICBoZXJvUmVmLmN1cnJlbnQhLnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xuICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xuXG4gICAgICBmb3IgKGxldCBwcm9wVG9UcmFuc2l0aW9uIG9mIHByb3BzVG9UcmFuc2l0aW9uKSB7XG4gICAgICAgIGNsb25lLnN0eWxlW3Byb3BUb1RyYW5zaXRpb24gYXMgYW55XSA9XG4gICAgICAgICAgd2luZG93LmdldENvbXB1dGVkU3R5bGUob3RoZXJFbGVtZW50KVtwcm9wVG9UcmFuc2l0aW9uIGFzIGFueV07XG4gICAgICB9XG5cbiAgICAgIGNsb25lLnN0eWxlLnRyYW5zaXRpb24gPSBgJHthbGxQcm9wc1RvVHJhbnNpdGlvblxuICAgICAgICAubWFwKFxuICAgICAgICAgIChwcm9wKSA9PlxuICAgICAgICAgICAgYCR7cHJvcC5yZXBsYWNlKFxuICAgICAgICAgICAgICAvW0EtWl0vZyxcbiAgICAgICAgICAgICAgKHN1YikgPT4gYC0ke3N1Yi50b0xvd2VyQ2FzZSgpfWBcbiAgICAgICAgICAgICl9IHZhcigtLWFuaW1hdGlvbi0tc3BlZWQtZmFzdCwgMjUwbXMpIGVhc2Utb3V0YFxuICAgICAgICApXG4gICAgICAgIC5qb2luKFwiLCBcIil9YDtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGVsSXRXaWxsVHJhbnNpdGlvblRvID0gaGVyb1JlZi5jdXJyZW50O1xuICAgICAgICBjb25zdCBjbGVhbnVwID0gKCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudHMub25IZXJvRW5kKSBldmVudHMub25IZXJvRW5kKCk7XG4gICAgICAgICAgaWYgKGVsSXRXaWxsVHJhbnNpdGlvblRvKSB7XG4gICAgICAgICAgICBpZiAocmVwZWF0YWJsZSlcbiAgICAgICAgICAgICAgZWxJdFdpbGxUcmFuc2l0aW9uVG8hLnNldEF0dHJpYnV0ZShkYXRhUHJvcGVydHksIGlkKTtcbiAgICAgICAgICAgIGVsSXRXaWxsVHJhbnNpdGlvblRvLnN0eWxlLnZpc2liaWxpdHkgPSBcIlwiO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNsb25lLnJlbW92ZSgpO1xuICAgICAgICAgIH0sIDApO1xuICAgICAgICB9O1xuICAgICAgICB0cmlnZ2VyRHluYW1pY0NvbXBvbmVudHMoXG4gICAgICAgICAgY2xvbmUsXG4gICAgICAgICAgQXJyYXkuZnJvbShcbiAgICAgICAgICAgIGhlcm9SZWYuY3VycmVudCEucXVlcnlTZWxlY3RvckFsbChgWyR7REFUQV9UQUdfSEVST19DT01QT05FTlR9XWApXG4gICAgICAgICAgKSBhcyBIVE1MRGl2RWxlbWVudFtdLFxuICAgICAgICAgIGN1cnJlbnRFbGVtZW50XG4gICAgICAgICk7XG4gICAgICAgIGlmIChldmVudHMub25IZXJvU3RhcnQpIHtcbiAgICAgICAgICBldmVudHMub25IZXJvU3RhcnQoY2xvbmUsIG90aGVyRWxlbWVudCwgaGVyb1JlZi5jdXJyZW50ISk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFlbEl0V2lsbFRyYW5zaXRpb25Ubykge1xuICAgICAgICAgIGNsZWFudXAoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLyoqIFNldCB0aGUgY2xvbmUgb3ZlciB0aGUgbmV3IHBvc2l0aW9uICovXG4gICAgICAgIGNvbnN0IHdpbGxNb3ZlID0gc2V0Q2xvbmVUb0Nvb3JkaW5hdGVzT2YoZWxJdFdpbGxUcmFuc2l0aW9uVG8pO1xuICAgICAgICBpZiAoIXdpbGxNb3ZlKSBjbGVhbnVwKCk7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGZvciAobGV0IHByb3BUb1RyYW5zaXRpb24gb2YgcHJvcHNUb1RyYW5zaXRpb24pXG4gICAgICAgICAgICBjbG9uZS5zdHlsZVtwcm9wVG9UcmFuc2l0aW9uIGFzIGFueV0gPVxuICAgICAgICAgICAgICB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbEl0V2lsbFRyYW5zaXRpb25UbylbXG4gICAgICAgICAgICAgICAgcHJvcFRvVHJhbnNpdGlvbiBhcyBhbnlcbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICBsZXQgaW5pdGlhbE9mZnNldDogbnVtYmVyO1xuICAgICAgICAgIGNvbnN0IHMgPSAoeyB0YXJnZXQgfTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZCA9IHRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICAgICAgICAgIGlmIChkLmNvbnRhaW5zKGVsSXRXaWxsVHJhbnNpdGlvblRvKSkge1xuICAgICAgICAgICAgICBpZiAoaW5pdGlhbE9mZnNldCA9PT0gdW5kZWZpbmVkKSBpbml0aWFsT2Zmc2V0ID0gZC5zY3JvbGxUb3A7XG4gICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBjbG9uZS5zdHlsZS5tYXJnaW5Ub3AgPSBgJHstKGQuc2Nyb2xsVG9wIC0gaW5pdGlhbE9mZnNldCl9cHhgO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgICAgY29uc3QgdHJhbnNpdGlvbkVuZENiID0gb3duRXZlbnQoXG4gICAgICAgICAgICAoeyB0YXJnZXQsIGN1cnJlbnRUYXJnZXQgfTogVHJhbnNpdGlvbkV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0YXJnZXQgPT09IGN1cnJlbnRUYXJnZXQpIGNsZWFudXAoKTtcbiAgICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBzIGFzIGFueSwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHMgYXMgYW55LCB0cnVlKTtcbiAgICAgICAgICBjbG9uZS5hZGRFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbmVuZFwiLCB0cmFuc2l0aW9uRW5kQ2IpO1xuICAgICAgICAgIGNsb25lLmFkZEV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uc3RhcnRcIiwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb25DYW5jZWxDYiA9IG93bkV2ZW50KChlKSA9PiB7XG4gICAgICAgICAgICAgIGNsb25lLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uZW5kXCIsIHRyYW5zaXRpb25FbmRDYik7XG4gICAgICAgICAgICAgIGNsb25lLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uY2FuY2VsXCIsIG9uQ2FuY2VsQ2IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjbG9uZS5hZGRFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbmNhbmNlbFwiLCBvbkNhbmNlbENiKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSwgMCk7XG4gICAgfVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICB0cmlnZ2VySGVyb0FuaW1hdGlvbigpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIHtcbiAgICBoZXJvUmVmLFxuICAgIGdldEhlcm9zT25TY3JlZW4sXG4gICAgdHJpZ2dlcjogdHJpZ2dlckhlcm9BbmltYXRpb24sXG4gICAgaGVyb0NvbXBvbmVudFJlZjpcbiAgICAgIChjb21wb25lbnRJZDogc3RyaW5nKSA9PiAoZWxSZWY6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4ge1xuICAgICAgICBpZiAoZWxSZWYpIHtcbiAgICAgICAgICBlbFJlZi5zZXRBdHRyaWJ1dGUoREFUQV9UQUdfSEVST19DT01QT05FTlQsIGNvbXBvbmVudElkKTtcbiAgICAgICAgICBlbFJlZi5jbGFzc0xpc3QuYWRkKFN0eWxlcy5jb21wb25lbnQpO1xuICAgICAgICB9XG4gICAgICB9LFxuICB9O1xufVxuXG5mdW5jdGlvbiBpc0VsZW1lbnRPdXRzaWRlVmlld3BvcnQoY29vcmRpbmF0ZXM6IERPTVJlY3QpIHtcbiAgY29uc3QgZWxlbWVudE92ZXJmbG93c1ZpZXdwb3J0ID1cbiAgICBjb29yZGluYXRlcy5sZWZ0ID49IHZpZXdwb3J0LndpZHRoIHx8IGNvb3JkaW5hdGVzLnRvcCA+PSB2aWV3cG9ydC5oZWlnaHQ7XG4gIGNvbnN0IGVsZW1lbnRVbmRlcmZsb3dzVmlld3BvcnQgPVxuICAgIGNvb3JkaW5hdGVzLmxlZnQgPD0gLWNvb3JkaW5hdGVzLndpZHRoIHx8XG4gICAgY29vcmRpbmF0ZXMudG9wIDw9IC1jb29yZGluYXRlcy5oZWlnaHQ7XG4gIHJldHVybiBlbGVtZW50T3ZlcmZsb3dzVmlld3BvcnQgfHwgZWxlbWVudFVuZGVyZmxvd3NWaWV3cG9ydDtcbn1cblxuZnVuY3Rpb24gaXNFbGVtZW50T3V0c2lkZUNvbnRhaW5lcihcbiAgY29udGFpbmVyOiBWaXN1YWxWaWV3cG9ydCB8IEVsZW1lbnQsXG4gIGNvb3JkaW5hdGVzOiBET01SZWN0XG4pIHtcbiAgaWYgKGNvbnRhaW5lciBpbnN0YW5jZW9mIFZpc3VhbFZpZXdwb3J0KSB7XG4gICAgcmV0dXJuIGlzRWxlbWVudE91dHNpZGVWaWV3cG9ydChjb29yZGluYXRlcyk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgY29udGFpbmVyQm91bmRzID0gY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgY29uc3QgaXNDb250YWluZXJPdXRzaWRlVmlld3BvcnQgPVxuICAgICAgaXNFbGVtZW50T3V0c2lkZVZpZXdwb3J0KGNvbnRhaW5lckJvdW5kcyk7XG5cbiAgICBpZiAoaXNDb250YWluZXJPdXRzaWRlVmlld3BvcnQpIHJldHVybiB0cnVlO1xuXG4gICAgY29uc3QgZWxlbWVudE92ZXJmbG93c1ZpZXdwb3J0ID1cbiAgICAgIGNvb3JkaW5hdGVzLmxlZnQgPj0gY29udGFpbmVyQm91bmRzLmxlZnQgKyBjb250YWluZXJCb3VuZHMud2lkdGggfHxcbiAgICAgIGNvb3JkaW5hdGVzLnRvcCA+PSBjb250YWluZXJCb3VuZHMudG9wICsgY29udGFpbmVyQm91bmRzLmhlaWdodDtcblxuICAgIGNvbnN0IGVsZW1lbnRVbmRlcmZsb3dzVmlld3BvcnQgPVxuICAgICAgY29udGFpbmVyQm91bmRzLmxlZnQgLSBjb29yZGluYXRlcy5sZWZ0ID49IGNvb3JkaW5hdGVzLndpZHRoIHx8XG4gICAgICBjb250YWluZXJCb3VuZHMudG9wIC0gY29vcmRpbmF0ZXMudG9wID49IGNvb3JkaW5hdGVzLmhlaWdodDtcblxuICAgIHJldHVybiBlbGVtZW50VW5kZXJmbG93c1ZpZXdwb3J0IHx8IGVsZW1lbnRPdmVyZmxvd3NWaWV3cG9ydDtcbiAgfVxufVxuXG50eXBlIEVWRU5UU19JTlRFUkZBQ0UgPSBQYXJhbWV0ZXJzPHR5cGVvZiB1c2VIZXJvPlsyXTtcbnR5cGUgVFJBTlNJVElPTl9UWVBFUyA9IFwiQUNDRUxFUkFUSU9OXCI7XG5mdW5jdGlvbiBjZW50ZXJQb2ludChyZWN0OiBET01SZWN0KSB7XG4gIHJldHVybiBbcmVjdC5sZWZ0ICsgcmVjdC53aWR0aCAvIDIsIHJlY3QudG9wICsgcmVjdC5oZWlnaHQgLyAyXSBhcyBjb25zdDtcbn1cbmNvbnN0IGFuZ2xlID0gKFxuICBwb2ludEE6IHJlYWRvbmx5IFt4OiBudW1iZXIsIHk6IG51bWJlcl0sXG4gIHBvaW50QjogcmVhZG9ubHkgW3g6IG51bWJlciwgeTogbnVtYmVyXVxuKSA9PlxuICBOdW1iZXIoXG4gICAgKFxuICAgICAgTWF0aC5hdGFuMihwb2ludEFbMV0gLSBwb2ludEJbMV0sIHBvaW50QVswXSAtIHBvaW50QlswXSkgKlxuICAgICAgKDE3OS4wOCAvIE1hdGguUEkpXG4gICAgKS50b0ZpeGVkKDUpXG4gICk7XG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9GQUNUT1JZOiB7XG4gIFtuIGluIFRSQU5TSVRJT05fVFlQRVNdOiAoZXZlbnRzPzogRVZFTlRTX0lOVEVSRkFDRSkgPT4gRVZFTlRTX0lOVEVSRkFDRTtcbn0gPSB7XG4gIEFDQ0VMRVJBVElPTjogKGV2ZW50cykgPT4gKHtcbiAgICAuLi5ldmVudHMsXG4gICAgb25IZXJvU3RhcnQoY2xvbmUsIG9yaWdpbiwgdGFyZ2V0KSB7XG4gICAgICBpZiAoZXZlbnRzPy5vbkhlcm9TdGFydCkgZXZlbnRzLm9uSGVyb1N0YXJ0KGNsb25lLCBvcmlnaW4sIHRhcmdldCk7XG4gICAgICBjbG9uZS5jbGFzc0xpc3QuYWRkKFN0eWxlcy5hY2NlbGVyYXRpb24pO1xuICAgICAgY29uc3QgY2VudGVyUG9pbnRPcmlnaW4gPSBjZW50ZXJQb2ludChvcmlnaW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpO1xuICAgICAgY29uc3QgY2VudGVyUG9pbnREZXN0aW5hdGlvbiA9IGNlbnRlclBvaW50KFxuICAgICAgICB0YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICk7XG4gICAgICBjb25zdCBhbmdsZUJldHdlZW5FbGVtZW50cyA9IGFuZ2xlKFxuICAgICAgICBjZW50ZXJQb2ludE9yaWdpbixcbiAgICAgICAgY2VudGVyUG9pbnREZXN0aW5hdGlvblxuICAgICAgKTtcbiAgICAgIGNvbnN0IHZlY3RvclggPSBNYXRoLnNpbihhbmdsZUJldHdlZW5FbGVtZW50cyk7XG4gICAgICBjb25zdCB2ZWN0b3JZID0gTWF0aC5jb3MoYW5nbGVCZXR3ZWVuRWxlbWVudHMpO1xuXG4gICAgICBjb25zdCByb3RhdGVZID0gKDEwICogdmVjdG9yWSkudG9GaXhlZCgwKTtcbiAgICAgIGNvbnN0IG9yaWdpblggPSAodmVjdG9yWSArIDEpICogNTA7XG5cbiAgICAgIGNvbnN0IHJvdGF0ZVggPSAtKDEwICogdmVjdG9yWCkudG9GaXhlZCgwKTtcbiAgICAgIGNvbnN0IG9yaWdpblkgPSAodmVjdG9yWCArIDEpICogNTA7XG5cbiAgICAgIGNsb25lLnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICBcIi0tc3RhZ2UtMVwiLFxuICAgICAgICBgcm90YXRlWSgke3JvdGF0ZVl9ZGVnKSByb3RhdGVYKCR7LXJvdGF0ZVh9ZGVnKWBcbiAgICAgICk7XG4gICAgICBjbG9uZS5zdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICAgXCItLXN0YWdlLTJcIixcbiAgICAgICAgYHJvdGF0ZVkoJHstcm90YXRlWSAqIDAuM31kZWcpIHJvdGF0ZVgoJHtyb3RhdGVYICogMC4zfWRlZylgXG4gICAgICApO1xuICAgICAgY2xvbmUuc3R5bGUuc2V0UHJvcGVydHkoXCItLW9yaWdpbi0xXCIsIGAke29yaWdpblh9JSAke29yaWdpbll9JWApO1xuICAgICAgY2xvbmUuc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAgIFwiLS1vcmlnaW4tMlwiLFxuICAgICAgICBgJHsxMDAgLSBvcmlnaW5YfSUgJHsxMDAgLSBvcmlnaW5ZfSVgXG4gICAgICApO1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5wZXJzcGVjdGl2ZSA9IFwiMTAwdndcIjtcbiAgICB9LFxuICAgIG9uSGVyb0VuZCgpIHtcbiAgICAgIGlmIChldmVudHM/Lm9uSGVyb0VuZCkgZXZlbnRzLm9uSGVyb0VuZCgpO1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5wZXJzcGVjdGl2ZSA9IFwiXCI7XG4gICAgfSxcbiAgfSksXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBUUEsSUFBQUMsU0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsY0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQTJDLFNBQUFFLHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBQUEsU0FBQUcsUUFBQUgsQ0FBQSxFQUFBSSxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFQLENBQUEsT0FBQU0sTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQVIsQ0FBQSxHQUFBSSxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBWCxDQUFBLEVBQUFJLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFmLENBQUEsYUFBQUksQ0FBQSxNQUFBQSxDQUFBLEdBQUFZLFNBQUEsQ0FBQUMsTUFBQSxFQUFBYixDQUFBLFVBQUFDLENBQUEsV0FBQVcsU0FBQSxDQUFBWixDQUFBLElBQUFZLFNBQUEsQ0FBQVosQ0FBQSxRQUFBQSxDQUFBLE9BQUFELE9BQUEsQ0FBQUcsTUFBQSxDQUFBRCxDQUFBLE9BQUFhLE9BQUEsV0FBQWQsQ0FBQSxJQUFBZSxlQUFBLENBQUFuQixDQUFBLEVBQUFJLENBQUEsRUFBQUMsQ0FBQSxDQUFBRCxDQUFBLFNBQUFFLE1BQUEsQ0FBQWMseUJBQUEsR0FBQWQsTUFBQSxDQUFBZSxnQkFBQSxDQUFBckIsQ0FBQSxFQUFBTSxNQUFBLENBQUFjLHlCQUFBLENBQUFmLENBQUEsS0FBQUYsT0FBQSxDQUFBRyxNQUFBLENBQUFELENBQUEsR0FBQWEsT0FBQSxXQUFBZCxDQUFBLElBQUFFLE1BQUEsQ0FBQWdCLGNBQUEsQ0FBQXRCLENBQUEsRUFBQUksQ0FBQSxFQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFOLENBQUEsRUFBQUQsQ0FBQSxpQkFBQUosQ0FBQTtBQUFBLFNBQUFtQixnQkFBQW5CLENBQUEsRUFBQUksQ0FBQSxFQUFBQyxDQUFBLFlBQUFELENBQUEsR0FBQW1CLGNBQUEsQ0FBQW5CLENBQUEsTUFBQUosQ0FBQSxHQUFBTSxNQUFBLENBQUFnQixjQUFBLENBQUF0QixDQUFBLEVBQUFJLENBQUEsSUFBQW9CLEtBQUEsRUFBQW5CLENBQUEsRUFBQU8sVUFBQSxNQUFBYSxZQUFBLE1BQUFDLFFBQUEsVUFBQTFCLENBQUEsQ0FBQUksQ0FBQSxJQUFBQyxDQUFBLEVBQUFMLENBQUE7QUFBQSxTQUFBdUIsZUFBQWxCLENBQUEsUUFBQXNCLENBQUEsR0FBQUMsWUFBQSxDQUFBdkIsQ0FBQSx1Q0FBQXNCLENBQUEsR0FBQUEsQ0FBQSxHQUFBQSxDQUFBO0FBQUEsU0FBQUMsYUFBQXZCLENBQUEsRUFBQUQsQ0FBQSwyQkFBQUMsQ0FBQSxLQUFBQSxDQUFBLFNBQUFBLENBQUEsTUFBQUwsQ0FBQSxHQUFBSyxDQUFBLENBQUF3QixNQUFBLENBQUFDLFdBQUEsa0JBQUE5QixDQUFBLFFBQUEyQixDQUFBLEdBQUEzQixDQUFBLENBQUErQixJQUFBLENBQUExQixDQUFBLEVBQUFELENBQUEsdUNBQUF1QixDQUFBLFNBQUFBLENBQUEsWUFBQUssU0FBQSx5RUFBQTVCLENBQUEsR0FBQTZCLE1BQUEsR0FBQUMsTUFBQSxFQUFBN0IsQ0FBQTtBQUUzQyxNQUFNOEIsRUFBRSxHQUFJQyxFQUFVLE9BQUFDLE1BQUEsQ0FBUUQsRUFBRSxVQUFPO0FBTXZDLE1BQU1FLFFBQVEsR0FBR0MsTUFBTSxDQUFDQyxjQUFlO0FBQ3ZDLE1BQU1DLHVCQUF1QixHQUFHLHFCQUFxQjtBQUVyRCxTQUFTQyx3QkFBd0JBLENBQy9CQyxLQUFxQixFQUNyQkMsa0NBQW9ELEVBQ3BEQyxNQUFzQixFQUN0QjtFQUNBLE1BQU1DLGlCQUFpQixHQUFHRixrQ0FBa0MsQ0FBQ0csR0FBRyxDQUFFQyxDQUFDLElBQ2pFQSxDQUFDLENBQUNDLFlBQVksQ0FBQ1IsdUJBQXVCLENBQ3hDLENBQUM7RUFDRCxNQUFNUyxxQkFBcUIsR0FBR0MsS0FBSyxDQUFDQyxJQUFJLENBQ3RDVCxLQUFLLENBQUNVLGdCQUFnQixLQUFBaEIsTUFBQSxDQUFLSSx1QkFBdUIsTUFBRyxDQUN2RCxDQUFxQjtFQUNyQixNQUFNYSxlQUFpQyxHQUFHSixxQkFBcUIsQ0FBQ3hDLE1BQU0sQ0FDbkU2QyxFQUFFLElBQ0QsQ0FBQ1QsaUJBQWlCLENBQUNVLFFBQVEsQ0FBQ0QsRUFBRSxDQUFDTixZQUFZLENBQUNSLHVCQUF1QixDQUFDLENBQ3hFLENBQUM7RUFFRCxLQUFLLElBQUlnQix5QkFBeUIsSUFBSUgsZUFBZSxFQUFFO0lBQ3JELEtBQUssSUFBSUksU0FBUyxJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsRUFDeERELHlCQUF5QixDQUFDRSxLQUFLLENBQzdCRCxTQUFTLENBQ1YsTUFBQXJCLE1BQUEsQ0FBTW9CLHlCQUF5QixDQUFDRyxZQUFZLE9BQUk7RUFDckQ7RUFDQUMsVUFBVSxDQUFDLE1BQU07SUFDZixLQUFLLElBQUlKLHlCQUF5QixJQUFJSCxlQUFlLEVBQUU7TUFDckQsS0FBSyxJQUFJSSxTQUFTLElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxFQUN4REQseUJBQXlCLENBQUNFLEtBQUssQ0FBQ0QsU0FBUyxDQUFDLFFBQVE7TUFDcERELHlCQUF5QixDQUFDRSxLQUFLLENBQUNHLE9BQU8sTUFBTTtJQUMvQztFQUNGLENBQUMsRUFBRSxDQUFDLENBQUM7RUFFTCxLQUFLLElBQUlDLHVCQUF1QixJQUFJbkIsa0NBQWtDLEVBQUU7SUFDdEUsTUFBTW9CLHNCQUFzQixHQUFHLENBQUMsQ0FBQ3JCLEtBQUssQ0FBQ3NCLGFBQWEsS0FBQTVCLE1BQUEsQ0FDOUNJLHVCQUF1QixTQUFBSixNQUFBLENBQUswQix1QkFBdUIsQ0FBQ2QsWUFBWSxDQUNsRVIsdUJBQ0YsQ0FBQyxRQUNILENBQUM7SUFDRCxJQUFJLENBQUN1QixzQkFBc0IsRUFBRTtNQUMzQixTQUFTRSxrQkFBa0JBLENBQ3pCQyxXQUF3QixFQUVKO1FBQUEsSUFEcEJDLFVBQWtCLEdBQUFwRCxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBcUQsU0FBQSxHQUFBckQsU0FBQSxNQUFHLEVBQUU7UUFFdkIsSUFBSW1ELFdBQVcsS0FBS3RCLE1BQU0sRUFBRSxPQUFPdUIsVUFBVTtRQUM3QyxNQUFNRSxNQUFNLEdBQUdILFdBQVcsQ0FBQ0ksYUFBYztRQUN6QyxNQUFNQyxZQUFZLEdBQUdyQixLQUFLLENBQUNDLElBQUksQ0FBQ2tCLE1BQU0sQ0FBQ0csUUFBUSxDQUFDO1FBQ2hELE1BQU1DLGVBQWUsaUJBQUFyQyxNQUFBLENBQ25CbUMsWUFBWSxDQUFDRyxPQUFPLENBQUNSLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFDcEM7UUFFSCxJQUFJQSxXQUFXLEtBQUt0QixNQUFNLEVBQ3hCLE9BQU9xQixrQkFBa0IsQ0FDdkJJLE1BQU0sS0FBQWpDLE1BQUEsQ0FDSHFDLGVBQWUsRUFBQXJDLE1BQUEsQ0FBRytCLFVBQVUsT0FBQS9CLE1BQUEsQ0FBTytCLFVBQVUsSUFBSyxFQUFFLENBQ3pELENBQUMsQ0FBQyxLQUNDLE9BQU9BLFVBQVU7TUFDeEI7TUFDQSxNQUFNUSxvQ0FBb0MsR0FBR1Ysa0JBQWtCLENBQzdESCx1QkFBdUIsQ0FBQ1EsYUFDMUIsQ0FBQztNQUNELE1BQU1NLGFBQWEsR0FBRzFCLEtBQUssQ0FBQ0MsSUFBSSxDQUM5QlcsdUJBQXVCLENBQUNRLGFBQWEsQ0FBRUUsUUFDekMsQ0FBQyxDQUFDRSxPQUFPLENBQUNaLHVCQUF1QixDQUFDO01BRWxDLE1BQU1lLGtCQUFrQixHQUFHZix1QkFBdUIsQ0FBQ2dCLFNBQVMsQ0FDMUQsSUFDRixDQUFtQjtNQUNuQixLQUFLLElBQUlyQixTQUFTLElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxFQUN4RG9CLGtCQUFrQixDQUFDbkIsS0FBSyxDQUFDRCxTQUFTLENBQUMsR0FBRyxLQUFLO01BQzdDLE1BQU1zQix5QkFBeUIsR0FBR0osb0NBQW9DLEdBQ2xFakMsS0FBSyxDQUFDc0IsYUFBYSxDQUFDVyxvQ0FBb0MsQ0FBQyxHQUN6RGpDLEtBQUs7TUFDVCxNQUFNc0MsZ0JBQWdCLEdBQUc5QixLQUFLLENBQUNDLElBQUksQ0FBQzRCLHlCQUF5QixDQUFDUCxRQUFRLENBQUMsQ0FDcEUxQixHQUFHLENBQUMsQ0FBQ1EsRUFBRSxFQUFFNUIsQ0FBQyxLQUNUMkIsZUFBZSxDQUFDRSxRQUFRLENBQUNELEVBQW9CLENBQUMsR0FBR2MsU0FBUyxHQUFHMUMsQ0FDL0QsQ0FBQyxDQUNBakIsTUFBTSxDQUFFVixDQUFDLElBQUtBLENBQUMsS0FBS3FFLFNBQVMsQ0FBYTtNQUU3QyxJQUFJUSxhQUFhLEtBQUtJLGdCQUFnQixDQUFDaEUsTUFBTSxFQUMzQytELHlCQUF5QixDQUFDRSxNQUFNLENBQUNKLGtCQUFrQixDQUFDLENBQUMsS0FFckRFLHlCQUF5QixDQUFDRyxZQUFZLENBQ3BDTCxrQkFBa0IsRUFDbEJFLHlCQUF5QixDQUFDSSxVQUFVLENBQUNDLElBQUksQ0FDdkNKLGdCQUFnQixDQUFDSixhQUFhLENBQ2hDLENBQ0YsQ0FBQztNQUNIaEIsVUFBVSxDQUFDLE1BQU07UUFDZixLQUFLLElBQUlILFNBQVMsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLEVBQ3hEb0Isa0JBQWtCLENBQUNuQixLQUFLLENBQ3RCRCxTQUFTLENBQ1YsTUFBQXJCLE1BQUEsQ0FBTTBCLHVCQUF1QixDQUFDSCxZQUFZLE9BQUk7TUFDbkQsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNQO0VBQ0Y7QUFDRjtBQUVBLE1BQU0wQixpQkFBaUIsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7O0FBRXpDO0FBQ0E7QUFDQTtBQUNlLFNBQVNDLE9BQU9BLENBQzdCbkQsRUFBVSxFQXFFVjtFQUFBLElBcEVBb0QsT0FXRSxHQUFBeEUsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQXFELFNBQUEsR0FBQXJELFNBQUEsTUFBRztJQUNIeUUsaUJBQWlCLEVBQUU7RUFDckIsQ0FBQztFQUFBLElBQ0RDLE1BcURDLEdBQUExRSxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBcUQsU0FBQSxHQUFBckQsU0FBQSxNQUFHLENBQUMsQ0FBQztFQUVOLE1BQU07SUFDSnlFLGlCQUFpQixFQUFFRSxFQUFFLEdBQUcsRUFBRTtJQUMxQixjQUFjLEVBQUVDLFdBQVc7SUFDM0JDO0VBQ0YsQ0FBQyxHQUFHTCxPQUFPO0VBQ1gsTUFBTUMsaUJBQWlCLEdBQUcsSUFBQUssY0FBTyxFQUMvQixNQUNFSCxFQUFFLENBQUM1QyxHQUFHLENBQUVnRCxDQUFDLElBQUtBLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDQyxDQUFDLEVBQUVDLEdBQUcsU0FBQTdELE1BQUEsQ0FBUzZELEdBQUcsQ0FBQ0MsV0FBVyxDQUFDLENBQUMsQ0FBRSxDQUFDLENBQUMsRUFDM0UsQ0FBQ1IsRUFBRSxDQUNMLENBQUM7RUFDRCxNQUFNUyxZQUFZLEdBQUdSLFdBQVcsT0FBQXZELE1BQUEsQ0FBT3VELFdBQVcsSUFBSyxFQUFFO0VBQ3pELE1BQU1TLFlBQVksVUFBQWhFLE1BQUEsQ0FBVStELFlBQVksVUFBTztFQUMvQyxNQUFNRSxPQUFPLEdBQUcsSUFBQUMsYUFBTSxFQUFpQixJQUFJLENBQUM7RUFFNUMsSUFBQUMsc0JBQWUsRUFBQyxNQUFNO0lBQ3BCRixPQUFPLENBQUNHLE9BQU8sQ0FBRUMsWUFBWSxDQUFDTCxZQUFZLEVBQUVqRSxFQUFFLENBQUM7RUFDakQsQ0FBQyxFQUFFLENBQUNBLEVBQUUsQ0FBQyxDQUFDO0VBRVIsTUFBTXVFLGdCQUFnQixHQUFHLElBQUFDLGtCQUFXLEVBQUMsTUFBTTtJQUN6QyxNQUFNQyxhQUFhLEdBQ2pCMUQsS0FBSyxDQUFDQyxJQUFJLENBQ1IwRCxRQUFRLENBQUN6RCxnQkFBZ0IsS0FBQWhCLE1BQUEsQ0FBS2dFLFlBQVksU0FBQWhFLE1BQUEsQ0FBS0QsRUFBRSxRQUFJLENBQ3ZELENBQUMsQ0FDRDFCLE1BQU0sQ0FBRTZDLEVBQUUsSUFBS0EsRUFBRSxLQUFLK0MsT0FBTyxDQUFDRyxPQUFPLENBQUM7SUFDeEMsT0FBT0ksYUFBYTtFQUN0QixDQUFDLEVBQUUsQ0FBQ3pFLEVBQUUsQ0FBQyxDQUFDO0VBRVIsU0FBUzJFLG9CQUFvQkEsQ0FBQSxFQUFHO0lBQzlCLE1BQU1DLG9CQUFvQixHQUFHeEIsT0FBTyxDQUFDeUIseUJBQXlCLEdBQzFELENBQUMsR0FBRzNCLGlCQUFpQixFQUFFLEdBQUdHLGlCQUFpQixDQUFDLEdBQzVDLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHSCxpQkFBaUIsRUFBRSxHQUFHRyxpQkFBaUIsQ0FBQztJQUNuRSxNQUFNeUIsWUFBWSxHQUFHeEIsTUFBTSxDQUFDeUIsWUFBWSxJQUFLO01BQUEsT0FBaUIsSUFBSTtJQUFBLENBQUM7SUFDbkUsTUFBTU4sYUFBYSxHQUFHRixnQkFBZ0IsQ0FBQyxDQUFDLENBQUNqRyxNQUFNLENBQUU2QyxFQUFFLElBQ2pEMkQsWUFBWSxDQUFDM0QsRUFBRSxFQUFFK0MsT0FBTyxDQUFDRyxPQUFRLENBQ25DLENBQUM7SUFDRCxNQUFNVyxjQUFjLEdBQUdkLE9BQU8sQ0FBQ0csT0FBUTtJQUN2QyxNQUFNWSxvQkFBb0IsR0FBR0QsY0FBYyxDQUFDRSxxQkFBcUIsQ0FBQyxDQUFDO0lBRW5FLElBQUlDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxRQUFRLEtBQUssYUFBYSxJQUFJWixhQUFhLENBQUM1RixNQUFNLEdBQUcsQ0FBQyxFQUNwRXlHLE9BQU8sQ0FBQ0MsSUFBSSxDQUNWLHFGQUFxRixFQUNyRmQsYUFDRixDQUFDO0lBQ0gsTUFBTWUsWUFBWSxHQUFHZixhQUFhLENBQUNnQixJQUFJLENBQ3BDdEUsRUFBRSxJQUFLQSxFQUFFLEtBQUsrQyxPQUFPLENBQUNHLE9BQ3pCLENBQW1CO0lBRW5CLElBQUltQixZQUFZLEVBQUU7TUFDaEIsTUFBTSxDQUFDRSxlQUFlLEVBQUVDLGVBQWUsQ0FBQyxHQUFHckMsTUFBTSxDQUFDc0Msa0JBQWtCLEdBQ2hFdEMsTUFBTSxDQUFDc0Msa0JBQWtCLENBQUNKLFlBQVksRUFBRXRCLE9BQU8sQ0FBQ0csT0FBUSxDQUFDLEdBQ3pELENBQUNuRSxRQUFRLEVBQUVBLFFBQVEsQ0FBQztNQUN4QixNQUFNMkYsVUFBVSxHQUNkQyx5QkFBeUIsQ0FBQ0gsZUFBZSxFQUFFVixvQkFBb0IsQ0FBQyxJQUNoRWEseUJBQXlCLENBQ3ZCSixlQUFlLEVBQ2ZGLFlBQVksQ0FBQ04scUJBQXFCLENBQUMsQ0FDckMsQ0FBQyxHQUNHLENBQUM1QixNQUFNLENBQUN5QyxVQUFVLEtBQUssTUFBTSxJQUFJLENBQUMsRUFBRVAsWUFBWSxFQUFFdEIsT0FBTyxDQUFDRyxPQUFRLENBQUMsR0FDbkUsS0FBSztNQUNYLElBQUl3QixVQUFVLEVBQUU7UUFBQSxJQUFBRyxxQkFBQTtRQUNkLENBQUFBLHFCQUFBLEdBQUExQyxNQUFNLENBQUMyQyxhQUFhLGNBQUFELHFCQUFBLGVBQXBCQSxxQkFBQSxDQUFBckcsSUFBQSxDQUFBMkQsTUFBdUIsQ0FBQztRQUN4QjtNQUNGO01BQ0EsTUFBTTRDLFFBQVEsR0FBR3hCLFFBQVEsQ0FBQzdDLGFBQWEsS0FBQTVCLE1BQUEsQ0FDakNnRSxZQUFZLGVBQUFoRSxNQUFBLENBQVdGLEVBQUUsQ0FBQ0MsRUFBRSxDQUFDLFFBQ25DLENBQUM7TUFDRCxNQUFNTyxLQUFLLEdBQUkyRixRQUFRLElBQ3JCVixZQUFZLENBQUM3QyxTQUFTLENBQUMsSUFBSSxDQUFvQjtNQUVqRCxJQUFJVyxNQUFNLENBQUM2QyxZQUFZLElBQUksQ0FBQ0QsUUFBUSxFQUFFNUMsTUFBTSxDQUFDNkMsWUFBWSxDQUFDNUYsS0FBSyxDQUFDOztNQUVoRTtNQUNBQSxLQUFLLENBQUNnQixLQUFLLENBQUM2RSxVQUFVLEdBQUcsRUFBRTtNQUMzQjdGLEtBQUssQ0FBQzhGLGVBQWUsQ0FBQ3BDLFlBQVksQ0FBQztNQUVuQzFELEtBQUssQ0FBQytELFlBQVksSUFBQXJFLE1BQUEsQ0FBSWdFLFlBQVksYUFBVWxFLEVBQUUsQ0FBQ0MsRUFBRSxDQUFDLENBQUM7O01BRW5EO0FBQ047QUFDQTtNQUNNLElBQUksQ0FBQ3lELFVBQVU7UUFDYjtRQUNBK0IsWUFBWSxDQUFDYSxlQUFlLENBQUNwQyxZQUFZLENBQUM7TUFFNUMsU0FBU3FDLGVBQWVBLENBQUM3RixNQUFlLEVBQUU4RixNQUFlLEVBQUU7UUFDekQsTUFBTUMsVUFBVSxHQUFHLEVBQ2pCQyxJQUFJLENBQUNDLEtBQUssQ0FBQ2pHLE1BQU0sQ0FBQ2tHLEdBQUcsQ0FBQyxLQUFLRixJQUFJLENBQUNDLEtBQUssQ0FBQ0gsTUFBTSxDQUFDSSxHQUFHLENBQUMsSUFDakRGLElBQUksQ0FBQ0MsS0FBSyxDQUFDakcsTUFBTSxDQUFDbUcsSUFBSSxDQUFDLEtBQUtILElBQUksQ0FBQ0MsS0FBSyxDQUFDSCxNQUFNLENBQUNLLElBQUksQ0FBQyxJQUNuREgsSUFBSSxDQUFDQyxLQUFLLENBQUNqRyxNQUFNLENBQUNvRyxLQUFLLENBQUMsS0FBS0osSUFBSSxDQUFDQyxLQUFLLENBQUNILE1BQU0sQ0FBQ00sS0FBSyxDQUFDLElBQ3JESixJQUFJLENBQUNDLEtBQUssQ0FBQ2pHLE1BQU0sQ0FBQ3FHLE1BQU0sQ0FBQyxLQUFLTCxJQUFJLENBQUNDLEtBQUssQ0FBQ0gsTUFBTSxDQUFDTyxNQUFNLENBQUMsQ0FDeEQ7UUFFRCxPQUFPTixVQUFVO01BQ25COztNQUVBO0FBQ047QUFDQTtBQUNBO0FBQ0E7TUFDTSxTQUFTTyx1QkFBdUJBLENBQUM1RixFQUFrQixFQUFFO1FBQ25ELE1BQU02RixXQUFXLEdBQUc3RixFQUFFLENBQUMrRCxxQkFBcUIsQ0FBQyxDQUFDO1FBQzlDLE1BQU0rQixrQkFBa0IsR0FBRzFHLEtBQUssQ0FBQzJFLHFCQUFxQixDQUFDLENBQUM7UUFDeEQsTUFBTWdDLFFBQVEsR0FBR1osZUFBZSxDQUFDVSxXQUFXLEVBQUVDLGtCQUFrQixDQUFDO1FBRWpFMUcsS0FBSyxDQUFDZ0IsS0FBSyxDQUFDNEYsUUFBUSxHQUFHLE9BQU87UUFDOUI1RyxLQUFLLENBQUNnQixLQUFLLENBQUNvRixHQUFHLE1BQUExRyxNQUFBLENBQU0rRyxXQUFXLENBQUNMLEdBQUcsT0FBSTtRQUN4Q3BHLEtBQUssQ0FBQ2dCLEtBQUssQ0FBQ3FGLElBQUksTUFBQTNHLE1BQUEsQ0FBTStHLFdBQVcsQ0FBQ0osSUFBSSxPQUFJO1FBQzFDLElBQUloQyxvQkFBb0IsQ0FBQ3hELFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFDeENiLEtBQUssQ0FBQ2dCLEtBQUssQ0FBQ3NGLEtBQUssTUFBQTVHLE1BQUEsQ0FBTStHLFdBQVcsQ0FBQ0gsS0FBSyxPQUFJO1FBQzlDLElBQUlqQyxvQkFBb0IsQ0FBQ3hELFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFDekNiLEtBQUssQ0FBQ2dCLEtBQUssQ0FBQ3VGLE1BQU0sTUFBQTdHLE1BQUEsQ0FBTStHLFdBQVcsQ0FBQ0YsTUFBTSxPQUFJO1FBRWhELE9BQU9JLFFBQVE7TUFDakI7TUFFQSxNQUFNRixXQUFXLEdBQUd4QixZQUFZLENBQUNOLHFCQUFxQixDQUFDLENBQUM7TUFDeEQsTUFBTStCLGtCQUFrQixHQUFHL0MsT0FBTyxDQUFDRyxPQUFPLENBQUVhLHFCQUFxQixDQUFDLENBQUM7TUFDbkUsTUFBTWtDLFVBQVUsR0FBRyxDQUFDZCxlQUFlLENBQUNVLFdBQVcsRUFBRUMsa0JBQWtCLENBQUM7TUFDcEUsSUFBSUcsVUFBVSxFQUFFO1FBQUEsSUFBQUMsaUJBQUE7UUFDZCxDQUFBQSxpQkFBQSxHQUFBL0QsTUFBTSxDQUFDZ0UsU0FBUyxjQUFBRCxpQkFBQSxlQUFoQkEsaUJBQUEsQ0FBQTFILElBQUEsQ0FBQTJELE1BQW1CLENBQUM7UUFDcEI7TUFDRjtNQUVBLElBQUksQ0FBQzRDLFFBQVEsRUFBRTtRQUNiO1FBQ0FhLHVCQUF1QixDQUFDdkIsWUFBWSxDQUFDO1FBQ3JDZCxRQUFRLENBQUM2QyxJQUFJLENBQUNDLFdBQVcsQ0FBQ2pILEtBQUssQ0FBQztNQUNsQztNQUNBMkQsT0FBTyxDQUFDRyxPQUFPLENBQUU5QyxLQUFLLENBQUM2RSxVQUFVLEdBQUcsUUFBUTtNQUM1Q1osWUFBWSxDQUFDakUsS0FBSyxDQUFDNkUsVUFBVSxHQUFHLFFBQVE7TUFFeEMsS0FBSyxJQUFJcUIsZ0JBQWdCLElBQUlwRSxpQkFBaUIsRUFBRTtRQUM5QzlDLEtBQUssQ0FBQ2dCLEtBQUssQ0FBQ2tHLGdCQUFnQixDQUFRLEdBQ2xDdEgsTUFBTSxDQUFDdUgsZ0JBQWdCLENBQUNsQyxZQUFZLENBQUMsQ0FBQ2lDLGdCQUFnQixDQUFRO01BQ2xFO01BRUFsSCxLQUFLLENBQUNnQixLQUFLLENBQUNvRyxVQUFVLE1BQUExSCxNQUFBLENBQU0yRSxvQkFBb0IsQ0FDN0NqRSxHQUFHLENBQ0RpSCxJQUFJLE9BQUEzSCxNQUFBLENBQ0EySCxJQUFJLENBQUNoRSxPQUFPLENBQ2IsUUFBUSxFQUNQaUUsR0FBRyxRQUFBNUgsTUFBQSxDQUFTNEgsR0FBRyxDQUFDOUQsV0FBVyxDQUFDLENBQUMsQ0FDaEMsQ0FBQyxrREFDTCxDQUFDLENBQ0ErRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUU7TUFFZnJHLFVBQVUsQ0FBQyxNQUFNO1FBQ2YsTUFBTXNHLG9CQUFvQixHQUFHN0QsT0FBTyxDQUFDRyxPQUFPO1FBQzVDLE1BQU0yRCxPQUFPLEdBQUdBLENBQUEsS0FBTTtVQUNwQixJQUFJMUUsTUFBTSxDQUFDZ0UsU0FBUyxFQUFFaEUsTUFBTSxDQUFDZ0UsU0FBUyxDQUFDLENBQUM7VUFDeEMsSUFBSVMsb0JBQW9CLEVBQUU7WUFDeEIsSUFBSXRFLFVBQVUsRUFDWnNFLG9CQUFvQixDQUFFekQsWUFBWSxDQUFDTCxZQUFZLEVBQUVqRSxFQUFFLENBQUM7WUFDdEQrSCxvQkFBb0IsQ0FBQ3hHLEtBQUssQ0FBQzZFLFVBQVUsR0FBRyxFQUFFO1VBQzVDO1VBQ0EzRSxVQUFVLENBQUMsTUFBTTtZQUNmbEIsS0FBSyxDQUFDMEgsTUFBTSxDQUFDLENBQUM7VUFDaEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRDNILHdCQUF3QixDQUN0QkMsS0FBSyxFQUNMUSxLQUFLLENBQUNDLElBQUksQ0FDUmtELE9BQU8sQ0FBQ0csT0FBTyxDQUFFcEQsZ0JBQWdCLEtBQUFoQixNQUFBLENBQUtJLHVCQUF1QixNQUFHLENBQ2xFLENBQUMsRUFDRDJFLGNBQ0YsQ0FBQztRQUNELElBQUkxQixNQUFNLENBQUM0RSxXQUFXLEVBQUU7VUFDdEI1RSxNQUFNLENBQUM0RSxXQUFXLENBQUMzSCxLQUFLLEVBQUVpRixZQUFZLEVBQUV0QixPQUFPLENBQUNHLE9BQVEsQ0FBQztRQUMzRDtRQUNBLElBQUksQ0FBQzBELG9CQUFvQixFQUFFO1VBQ3pCQyxPQUFPLENBQUMsQ0FBQztVQUNUO1FBQ0Y7UUFDQTtRQUNBLE1BQU1kLFFBQVEsR0FBR0gsdUJBQXVCLENBQUNnQixvQkFBb0IsQ0FBQztRQUM5RCxJQUFJLENBQUNiLFFBQVEsRUFBRWMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUNwQjtVQUNILEtBQUssSUFBSVAsZ0JBQWdCLElBQUlwRSxpQkFBaUIsRUFDNUM5QyxLQUFLLENBQUNnQixLQUFLLENBQUNrRyxnQkFBZ0IsQ0FBUSxHQUNsQ3RILE1BQU0sQ0FBQ3VILGdCQUFnQixDQUFDSyxvQkFBb0IsQ0FBQyxDQUMzQ04sZ0JBQWdCLENBQ2pCO1VBQ0wsSUFBSVUsYUFBcUI7VUFDekIsTUFBTUMsQ0FBQyxHQUFHQyxJQUFBLElBQTRCO1lBQUEsSUFBM0I7Y0FBRTlCO1lBQW1CLENBQUMsR0FBQThCLElBQUE7WUFDL0IsTUFBTUMsQ0FBQyxHQUFHL0IsTUFBd0I7WUFDbEMsSUFBSStCLENBQUMsQ0FBQ0MsUUFBUSxDQUFDUixvQkFBb0IsQ0FBQyxFQUFFO2NBQ3BDLElBQUlJLGFBQWEsS0FBS2xHLFNBQVMsRUFBRWtHLGFBQWEsR0FBR0csQ0FBQyxDQUFDRSxTQUFTLENBQUMsS0FFM0RqSSxLQUFLLENBQUNnQixLQUFLLENBQUNrSCxTQUFTLE1BQUF4SSxNQUFBLENBQU0sRUFBRXFJLENBQUMsQ0FBQ0UsU0FBUyxHQUFHTCxhQUFhLENBQUMsT0FBSTtZQUNqRTtVQUNGLENBQUM7VUFDRCxNQUFNTyxlQUFlLEdBQUcsSUFBQUMsaUJBQVEsRUFDOUJDLEtBQUEsSUFBZ0Q7WUFBQSxJQUEvQztjQUFFckMsTUFBTTtjQUFFc0M7WUFBK0IsQ0FBQyxHQUFBRCxLQUFBO1lBQ3pDLElBQUlyQyxNQUFNLEtBQUtzQyxhQUFhLEVBQUViLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZDdEQsUUFBUSxDQUFDb0UsbUJBQW1CLENBQUMsUUFBUSxFQUFFVixDQUFDLEVBQVMsSUFBSSxDQUFDO1VBQ3hELENBQ0YsQ0FBQztVQUNEMUQsUUFBUSxDQUFDcUUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFWCxDQUFDLEVBQVMsSUFBSSxDQUFDO1VBQ25EN0gsS0FBSyxDQUFDd0ksZ0JBQWdCLENBQUMsZUFBZSxFQUFFTCxlQUFlLENBQUM7VUFDeERuSSxLQUFLLENBQUN3SSxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNO1lBQzlDLE1BQU1DLFVBQVUsR0FBRyxJQUFBTCxpQkFBUSxFQUFFL0ssQ0FBQyxJQUFLO2NBQ2pDMkMsS0FBSyxDQUFDdUksbUJBQW1CLENBQUMsZUFBZSxFQUFFSixlQUFlLENBQUM7Y0FDM0RuSSxLQUFLLENBQUN1SSxtQkFBbUIsQ0FBQyxrQkFBa0IsRUFBRUUsVUFBVSxDQUFDO1lBQzNELENBQUMsQ0FBQztZQUNGekksS0FBSyxDQUFDd0ksZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUVDLFVBQVUsQ0FBQztVQUN4RCxDQUFDLENBQUM7UUFDSjtNQUNGLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDUDtFQUNGO0VBRUEsSUFBQUMsZ0JBQVMsRUFBQyxNQUFNO0lBQ2R0RSxvQkFBb0IsQ0FBQyxDQUFDO0VBQ3hCLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixPQUFPO0lBQ0xULE9BQU87SUFDUEssZ0JBQWdCO0lBQ2hCMkUsT0FBTyxFQUFFdkUsb0JBQW9CO0lBQzdCd0UsZ0JBQWdCLEVBQ2JDLFdBQW1CLElBQU1DLEtBQTRCLElBQUs7TUFDekQsSUFBSUEsS0FBSyxFQUFFO1FBQ1RBLEtBQUssQ0FBQy9FLFlBQVksQ0FBQ2pFLHVCQUF1QixFQUFFK0ksV0FBVyxDQUFDO1FBQ3hEQyxLQUFLLENBQUNDLFNBQVMsQ0FBQ0MsR0FBRyxDQUFDQyxzQkFBTSxDQUFDQyxTQUFTLENBQUM7TUFDdkM7SUFDRjtFQUNKLENBQUM7QUFDSDtBQUVBLFNBQVNDLHdCQUF3QkEsQ0FBQzFDLFdBQW9CLEVBQUU7RUFDdEQsTUFBTTJDLHdCQUF3QixHQUM1QjNDLFdBQVcsQ0FBQ0osSUFBSSxJQUFJMUcsUUFBUSxDQUFDMkcsS0FBSyxJQUFJRyxXQUFXLENBQUNMLEdBQUcsSUFBSXpHLFFBQVEsQ0FBQzRHLE1BQU07RUFDMUUsTUFBTThDLHlCQUF5QixHQUM3QjVDLFdBQVcsQ0FBQ0osSUFBSSxJQUFJLENBQUNJLFdBQVcsQ0FBQ0gsS0FBSyxJQUN0Q0csV0FBVyxDQUFDTCxHQUFHLElBQUksQ0FBQ0ssV0FBVyxDQUFDRixNQUFNO0VBQ3hDLE9BQU82Qyx3QkFBd0IsSUFBSUMseUJBQXlCO0FBQzlEO0FBRUEsU0FBUzlELHlCQUF5QkEsQ0FDaEMrRCxTQUFtQyxFQUNuQzdDLFdBQW9CLEVBQ3BCO0VBQ0EsSUFBSTZDLFNBQVMsWUFBWUMsY0FBYyxFQUFFO0lBQ3ZDLE9BQU9KLHdCQUF3QixDQUFDMUMsV0FBVyxDQUFDO0VBQzlDLENBQUMsTUFBTTtJQUNMLE1BQU0rQyxlQUFlLEdBQUdGLFNBQVMsQ0FBQzNFLHFCQUFxQixDQUFDLENBQUM7SUFFekQsTUFBTThFLDBCQUEwQixHQUM5Qk4sd0JBQXdCLENBQUNLLGVBQWUsQ0FBQztJQUUzQyxJQUFJQywwQkFBMEIsRUFBRSxPQUFPLElBQUk7SUFFM0MsTUFBTUwsd0JBQXdCLEdBQzVCM0MsV0FBVyxDQUFDSixJQUFJLElBQUltRCxlQUFlLENBQUNuRCxJQUFJLEdBQUdtRCxlQUFlLENBQUNsRCxLQUFLLElBQ2hFRyxXQUFXLENBQUNMLEdBQUcsSUFBSW9ELGVBQWUsQ0FBQ3BELEdBQUcsR0FBR29ELGVBQWUsQ0FBQ2pELE1BQU07SUFFakUsTUFBTThDLHlCQUF5QixHQUM3QkcsZUFBZSxDQUFDbkQsSUFBSSxHQUFHSSxXQUFXLENBQUNKLElBQUksSUFBSUksV0FBVyxDQUFDSCxLQUFLLElBQzVEa0QsZUFBZSxDQUFDcEQsR0FBRyxHQUFHSyxXQUFXLENBQUNMLEdBQUcsSUFBSUssV0FBVyxDQUFDRixNQUFNO0lBRTdELE9BQU84Qyx5QkFBeUIsSUFBSUQsd0JBQXdCO0VBQzlEO0FBQ0Y7QUFJQSxTQUFTTSxXQUFXQSxDQUFDQyxJQUFhLEVBQUU7RUFDbEMsT0FBTyxDQUFDQSxJQUFJLENBQUN0RCxJQUFJLEdBQUdzRCxJQUFJLENBQUNyRCxLQUFLLEdBQUcsQ0FBQyxFQUFFcUQsSUFBSSxDQUFDdkQsR0FBRyxHQUFHdUQsSUFBSSxDQUFDcEQsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUNqRTtBQUNBLE1BQU1xRCxLQUFLLEdBQUdBLENBQ1pDLE1BQXVDLEVBQ3ZDQyxNQUF1QyxLQUV2Q3ZLLE1BQU0sQ0FDSixDQUNFMkcsSUFBSSxDQUFDNkQsS0FBSyxDQUFDRixNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUdDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRUQsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFDdkQsTUFBTSxHQUFHNUQsSUFBSSxDQUFDOEQsRUFBRSxDQUFDLEVBQ2xCQyxPQUFPLENBQUMsQ0FBQyxDQUNiLENBQUM7QUFDSSxNQUFNQyxrQkFFWixHQUFBQyxPQUFBLENBQUFELGtCQUFBLEdBQUc7RUFDRkUsWUFBWSxFQUFHckgsTUFBTSxJQUFBM0UsYUFBQSxDQUFBQSxhQUFBLEtBQ2hCMkUsTUFBTTtJQUNUNEUsV0FBV0EsQ0FBQzNILEtBQUssRUFBRUUsTUFBTSxFQUFFOEYsTUFBTSxFQUFFO01BQ2pDLElBQUlqRCxNQUFNLGFBQU5BLE1BQU0sZUFBTkEsTUFBTSxDQUFFNEUsV0FBVyxFQUFFNUUsTUFBTSxDQUFDNEUsV0FBVyxDQUFDM0gsS0FBSyxFQUFFRSxNQUFNLEVBQUU4RixNQUFNLENBQUM7TUFDbEVoRyxLQUFLLENBQUMrSSxTQUFTLENBQUNDLEdBQUcsQ0FBQ0Msc0JBQU0sQ0FBQ29CLFlBQVksQ0FBQztNQUN4QyxNQUFNQyxpQkFBaUIsR0FBR1osV0FBVyxDQUFDeEosTUFBTSxDQUFDeUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDO01BQ3JFLE1BQU00RixzQkFBc0IsR0FBR2IsV0FBVyxDQUN4QzFELE1BQU0sQ0FBQ3JCLHFCQUFxQixDQUFDLENBQy9CLENBQUM7TUFDRCxNQUFNNkYsb0JBQW9CLEdBQUdaLEtBQUssQ0FDaENVLGlCQUFpQixFQUNqQkMsc0JBQ0YsQ0FBQztNQUNELE1BQU1FLE9BQU8sR0FBR3ZFLElBQUksQ0FBQ3dFLEdBQUcsQ0FBQ0Ysb0JBQW9CLENBQUM7TUFDOUMsTUFBTUcsT0FBTyxHQUFHekUsSUFBSSxDQUFDMEUsR0FBRyxDQUFDSixvQkFBb0IsQ0FBQztNQUU5QyxNQUFNSyxPQUFPLEdBQUcsQ0FBQyxFQUFFLEdBQUdGLE9BQU8sRUFBRVYsT0FBTyxDQUFDLENBQUMsQ0FBQztNQUN6QyxNQUFNYSxPQUFPLEdBQUcsQ0FBQ0gsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFO01BRWxDLE1BQU1JLE9BQU8sR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHTixPQUFPLEVBQUVSLE9BQU8sQ0FBQyxDQUFDLENBQUM7TUFDMUMsTUFBTWUsT0FBTyxHQUFHLENBQUNQLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRTtNQUVsQ3pLLEtBQUssQ0FBQ2dCLEtBQUssQ0FBQ2lLLFdBQVcsQ0FDckIsV0FBVyxhQUFBdkwsTUFBQSxDQUNBbUwsT0FBTyxtQkFBQW5MLE1BQUEsQ0FBZ0IsQ0FBQ3FMLE9BQU8sU0FDNUMsQ0FBQztNQUNEL0ssS0FBSyxDQUFDZ0IsS0FBSyxDQUFDaUssV0FBVyxDQUNyQixXQUFXLGFBQUF2TCxNQUFBLENBQ0EsQ0FBQ21MLE9BQU8sR0FBRyxHQUFHLG1CQUFBbkwsTUFBQSxDQUFnQnFMLE9BQU8sR0FBRyxHQUFHLFNBQ3hELENBQUM7TUFDRC9LLEtBQUssQ0FBQ2dCLEtBQUssQ0FBQ2lLLFdBQVcsQ0FBQyxZQUFZLEtBQUF2TCxNQUFBLENBQUtvTCxPQUFPLFFBQUFwTCxNQUFBLENBQUtzTCxPQUFPLE1BQUcsQ0FBQztNQUNoRWhMLEtBQUssQ0FBQ2dCLEtBQUssQ0FBQ2lLLFdBQVcsQ0FDckIsWUFBWSxLQUFBdkwsTUFBQSxDQUNULEdBQUcsR0FBR29MLE9BQU8sUUFBQXBMLE1BQUEsQ0FBSyxHQUFHLEdBQUdzTCxPQUFPLE1BQ3BDLENBQUM7TUFDRDdHLFFBQVEsQ0FBQzZDLElBQUksQ0FBQ2hHLEtBQUssQ0FBQ2tLLFdBQVcsR0FBRyxPQUFPO0lBQzNDLENBQUM7SUFDRG5FLFNBQVNBLENBQUEsRUFBRztNQUNWLElBQUloRSxNQUFNLGFBQU5BLE1BQU0sZUFBTkEsTUFBTSxDQUFFZ0UsU0FBUyxFQUFFaEUsTUFBTSxDQUFDZ0UsU0FBUyxDQUFDLENBQUM7TUFDekM1QyxRQUFRLENBQUM2QyxJQUFJLENBQUNoRyxLQUFLLENBQUNrSyxXQUFXLEdBQUcsRUFBRTtJQUN0QztFQUFDO0FBRUwsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,41 +0,0 @@
1
- @import "../assets/styles/index.scss";
2
-
3
- $timing: cubic-bezier(0.5, -0.45, 0.44, 1.37);
4
- // $timing: cubic-bezier(0.73, -0.49, 0.16, 1.4);
5
-
6
- .acceleration {
7
- --animation--speed-fast: 1s;
8
- animation-name: acceleration;
9
- animation-duration: var(--animation--speed-fast);
10
- animation-timing-function: $timing;
11
- transition-timing-function: $timing !important;
12
- transform-origin: var(--origin-1);
13
- }
14
-
15
- @keyframes acceleration {
16
- 0% {
17
- transform: rotateY(0deg);
18
- }
19
- 10% {
20
- transform-origin: var(--origin-1);
21
- transform: var(--stage-1);
22
- }
23
-
24
- 70% {
25
- transform: var(--stage-1);
26
- transform-origin: var(--origin-1);
27
- }
28
- 85% {
29
- transform-origin: var(--origin-2);
30
- transform: var(--stage-2);
31
- }
32
- 100% {
33
- transform: rotateY(0deg);
34
- }
35
- }
36
-
37
- .component:not([data-hero-clone]) {
38
- transition: height $fast linear, opacity $fast linear, min-height $fast linear,
39
- max-height $fast linear !important;
40
- overflow: hidden;
41
- }
@@ -1,8 +0,0 @@
1
- /**
2
- * A hook that helps you watch when HTML or SVG elements appear on the screen.
3
- * It lets you run code automatically when an element becomes visible to the user.
4
- */
5
- export default function useIntersection(): {
6
- observe: (e: HTMLOrSVGElement, cb: () => void) => void;
7
- unobserve: (e: HTMLOrSVGElement) => void;
8
- };
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = useIntersection;
7
- var _react = require("react");
8
- /**
9
- * A hook that helps you watch when HTML or SVG elements appear on the screen.
10
- * It lets you run code automatically when an element becomes visible to the user.
11
- */
12
- function useIntersection() {
13
- const {
14
- current: targetMap
15
- } = (0, _react.useRef)([]);
16
- const {
17
- current: observer
18
- } = (0, _react.useRef)("IntersectionObserver" in window ? new IntersectionObserver(els => {
19
- els.forEach((e, i) => {
20
- const result = targetMap.find(el => el[0] === e.target);
21
- if (result && e.isIntersecting) {
22
- result[1]();
23
- }
24
- });
25
- }) : null);
26
- return (0, _react.useMemo)(() => {
27
- return {
28
- observe: (e, cb) => {
29
- targetMap.push([e, cb]);
30
- if (observer) observer.observe(e);
31
- },
32
- unobserve: e => {
33
- if (observer) observer.unobserve(e);
34
- targetMap.splice(targetMap.findIndex(el => el[0] === e), 1);
35
- }
36
- };
37
- }, []);
38
- }
39
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlSW50ZXJzZWN0aW9uIiwiY3VycmVudCIsInRhcmdldE1hcCIsInVzZVJlZiIsIm9ic2VydmVyIiwid2luZG93IiwiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJlbHMiLCJmb3JFYWNoIiwiZSIsImkiLCJyZXN1bHQiLCJmaW5kIiwiZWwiLCJ0YXJnZXQiLCJpc0ludGVyc2VjdGluZyIsInVzZU1lbW8iLCJvYnNlcnZlIiwiY2IiLCJwdXNoIiwidW5vYnNlcnZlIiwic3BsaWNlIiwiZmluZEluZGV4Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUludGVyc2VjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcblxuLyoqXG4gKiBBIGhvb2sgdGhhdCBoZWxwcyB5b3Ugd2F0Y2ggd2hlbiBIVE1MIG9yIFNWRyBlbGVtZW50cyBhcHBlYXIgb24gdGhlIHNjcmVlbi5cbiAqIEl0IGxldHMgeW91IHJ1biBjb2RlIGF1dG9tYXRpY2FsbHkgd2hlbiBhbiBlbGVtZW50IGJlY29tZXMgdmlzaWJsZSB0byB0aGUgdXNlci5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlSW50ZXJzZWN0aW9uKCkge1xuICBjb25zdCB7IGN1cnJlbnQ6IHRhcmdldE1hcCB9ID0gdXNlUmVmPFtIVE1MT3JTVkdFbGVtZW50LCAoKSA9PiB2b2lkXVtdPihbXSk7XG4gIGNvbnN0IHsgY3VycmVudDogb2JzZXJ2ZXIgfSA9IHVzZVJlZihcbiAgICAoXCJJbnRlcnNlY3Rpb25PYnNlcnZlclwiIGluIHdpbmRvdykgPyBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVscykgPT4ge1xuICAgICAgZWxzLmZvckVhY2goKGUsIGkpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGFyZ2V0TWFwLmZpbmQoKGVsKSA9PiBlbFswXSA9PT0gZS50YXJnZXQgYXMgYW55KTtcbiAgICAgICAgaWYgKHJlc3VsdCAmJiBlLmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgICAgcmVzdWx0WzFdKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pIDogbnVsbFxuICApO1xuICByZXR1cm4gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9ic2VydmU6IChlOiBIVE1MT3JTVkdFbGVtZW50LCBjYjogKCkgPT4gdm9pZCkgPT4ge1xuICAgICAgICB0YXJnZXRNYXAucHVzaChbZSwgY2JdKTtcbiAgICAgICAgaWYgKG9ic2VydmVyKVxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGUgYXMgYW55KTtcbiAgICAgIH0sXG4gICAgICB1bm9ic2VydmU6IChlOiBIVE1MT3JTVkdFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChvYnNlcnZlcilcbiAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGUgYXMgYW55KTtcbiAgICAgICAgdGFyZ2V0TWFwLnNwbGljZShcbiAgICAgICAgICB0YXJnZXRNYXAuZmluZEluZGV4KChlbCkgPT4gZWxbMF0gPT09IGUpLFxuICAgICAgICAgIDFcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfSwgW10pO1xufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDZSxTQUFTQyxlQUFlQSxDQUFBLEVBQUc7RUFDeEMsTUFBTTtJQUFFQyxPQUFPLEVBQUVDO0VBQVUsQ0FBQyxHQUFHLElBQUFDLGFBQU0sRUFBbUMsRUFBRSxDQUFDO0VBQzNFLE1BQU07SUFBRUYsT0FBTyxFQUFFRztFQUFTLENBQUMsR0FBRyxJQUFBRCxhQUFNLEVBQ2pDLHNCQUFzQixJQUFJRSxNQUFNLEdBQUksSUFBSUMsb0JBQW9CLENBQUVDLEdBQUcsSUFBSztJQUNyRUEsR0FBRyxDQUFDQyxPQUFPLENBQUMsQ0FBQ0MsQ0FBQyxFQUFFQyxDQUFDLEtBQUs7TUFDcEIsTUFBTUMsTUFBTSxHQUFHVCxTQUFTLENBQUNVLElBQUksQ0FBRUMsRUFBRSxJQUFLQSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUtKLENBQUMsQ0FBQ0ssTUFBYSxDQUFDO01BQ2hFLElBQUlILE1BQU0sSUFBSUYsQ0FBQyxDQUFDTSxjQUFjLEVBQUU7UUFDOUJKLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO01BQ2I7SUFDRixDQUFDLENBQUM7RUFDSixDQUFDLENBQUMsR0FBRyxJQUNQLENBQUM7RUFDRCxPQUFPLElBQUFLLGNBQU8sRUFBQyxNQUFNO0lBQ25CLE9BQU87TUFDTEMsT0FBTyxFQUFFQSxDQUFDUixDQUFtQixFQUFFUyxFQUFjLEtBQUs7UUFDaERoQixTQUFTLENBQUNpQixJQUFJLENBQUMsQ0FBQ1YsQ0FBQyxFQUFFUyxFQUFFLENBQUMsQ0FBQztRQUN2QixJQUFJZCxRQUFRLEVBQ1pBLFFBQVEsQ0FBQ2EsT0FBTyxDQUFDUixDQUFRLENBQUM7TUFDNUIsQ0FBQztNQUNEVyxTQUFTLEVBQUdYLENBQW1CLElBQUs7UUFDbEMsSUFBSUwsUUFBUSxFQUNaQSxRQUFRLENBQUNnQixTQUFTLENBQUNYLENBQVEsQ0FBQztRQUM1QlAsU0FBUyxDQUFDbUIsTUFBTSxDQUNkbkIsU0FBUyxDQUFDb0IsU0FBUyxDQUFFVCxFQUFFLElBQUtBLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBS0osQ0FBQyxDQUFDLEVBQ3hDLENBQ0YsQ0FBQztNQUNIO0lBQ0YsQ0FBQztFQUNILENBQUMsRUFBRSxFQUFFLENBQUM7QUFDUiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,9 +0,0 @@
1
- import { useRef } from "react";
2
- /**
3
- * This hook combines multiple refs into one so they all point to the same element
4
- */
5
- export default function useMergeRefs<T extends ReturnType<typeof useRef>>(mainRef: T, ...otherRefs: (T | undefined)[]): T;
6
- /**
7
- * This function exists so we can work with multiple refs as a single one, almost immediatly
8
- */
9
- export declare function useMergeRefsFunc<T extends ReturnType<typeof useRef> | ((ref: any) => void)>(mainRef: T, ...otherRefs: T[]): (providedRef: any) => void;