@kepler.gl/components 3.1.0-alpha.1 → 3.1.0-alpha.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 (725) hide show
  1. package/dist/bottom-widget.d.ts +19 -0
  2. package/dist/bottom-widget.js +184 -0
  3. package/dist/common/action-panel.d.ts +29 -0
  4. package/dist/common/action-panel.js +136 -0
  5. package/dist/common/animation-control/animation-control.d.ts +25 -0
  6. package/dist/common/animation-control/animation-control.js +96 -0
  7. package/dist/common/animation-control/animation-controller.d.ts +19 -0
  8. package/dist/common/animation-control/animation-controller.js +269 -0
  9. package/dist/common/animation-control/animation-speed-slider.d.ts +12 -0
  10. package/dist/common/animation-control/animation-speed-slider.js +50 -0
  11. package/dist/common/animation-control/animation-window-control.d.ts +20 -0
  12. package/dist/common/animation-control/animation-window-control.js +60 -0
  13. package/dist/common/animation-control/floating-time-display.d.ts +9 -0
  14. package/dist/common/animation-control/floating-time-display.js +132 -0
  15. package/dist/common/animation-control/play-control.d.ts +12 -0
  16. package/dist/common/animation-control/play-control.js +52 -0
  17. package/dist/common/animation-control/playback-controls.d.ts +48 -0
  18. package/dist/common/animation-control/playback-controls.js +156 -0
  19. package/dist/common/animation-control/reset-control.d.ts +9 -0
  20. package/dist/common/animation-control/reset-control.js +43 -0
  21. package/dist/common/animation-control/speed-control.d.ts +12 -0
  22. package/dist/common/animation-control/speed-control.js +53 -0
  23. package/dist/common/animation-control/window-action-control.d.ts +11 -0
  24. package/dist/common/animation-control/window-action-control.js +58 -0
  25. package/dist/common/checkbox.d.ts +36 -0
  26. package/dist/common/checkbox.js +105 -0
  27. package/dist/common/color-legend.d.ts +57 -0
  28. package/dist/common/color-legend.js +262 -0
  29. package/dist/common/column-stats-chart.d.ts +37 -0
  30. package/dist/common/column-stats-chart.js +359 -0
  31. package/dist/common/data-table/button.d.ts +8 -0
  32. package/dist/common/data-table/button.js +38 -0
  33. package/dist/common/data-table/canvas.d.ts +2 -0
  34. package/dist/common/data-table/canvas.js +26 -0
  35. package/dist/common/data-table/cell-size.d.ts +43 -0
  36. package/dist/common/data-table/cell-size.js +183 -0
  37. package/dist/common/data-table/display-format.d.ts +25 -0
  38. package/dist/common/data-table/display-format.js +126 -0
  39. package/dist/common/data-table/grid.d.ts +10 -0
  40. package/dist/common/data-table/grid.js +107 -0
  41. package/dist/common/data-table/header-cell.d.ts +28 -0
  42. package/dist/common/data-table/header-cell.js +149 -0
  43. package/dist/common/data-table/index.d.ts +101 -0
  44. package/dist/common/data-table/index.js +464 -0
  45. package/dist/common/data-table/option-dropdown.d.ts +28 -0
  46. package/dist/common/data-table/option-dropdown.js +160 -0
  47. package/dist/common/dataset-label.d.ts +10 -0
  48. package/dist/common/dataset-label.js +27 -0
  49. package/dist/common/error-boundary.d.ts +16 -0
  50. package/dist/common/error-boundary.js +59 -0
  51. package/dist/common/field-selector.d.ts +49 -0
  52. package/dist/common/field-selector.js +173 -0
  53. package/dist/common/field-token.d.ts +62 -0
  54. package/dist/common/field-token.js +43 -0
  55. package/dist/common/file-uploader/file-drop.d.ts +54 -0
  56. package/dist/common/file-uploader/file-drop.js +196 -0
  57. package/dist/common/file-uploader/file-upload-progress.d.ts +8 -0
  58. package/dist/common/file-uploader/file-upload-progress.js +86 -0
  59. package/dist/common/file-uploader/file-upload.d.ts +23 -0
  60. package/dist/common/file-uploader/file-upload.js +244 -0
  61. package/dist/common/file-uploader/upload-button.d.ts +8 -0
  62. package/dist/common/file-uploader/upload-button.js +59 -0
  63. package/dist/common/flex-container.d.ts +3 -0
  64. package/dist/common/flex-container.js +15 -0
  65. package/dist/common/histogram-plot.d.ts +13 -0
  66. package/dist/common/histogram-plot.js +232 -0
  67. package/dist/common/icon-button.d.ts +27 -0
  68. package/dist/common/icon-button.js +25 -0
  69. package/dist/common/icons/add.d.ts +9 -0
  70. package/dist/common/icons/add.js +41 -0
  71. package/dist/common/icons/anchor_window.d.ts +11 -0
  72. package/dist/common/icons/anchor_window.js +34 -0
  73. package/dist/common/icons/arrow-down-alt.d.ts +9 -0
  74. package/dist/common/icons/arrow-down-alt.js +41 -0
  75. package/dist/common/icons/arrow-down-full.d.ts +16 -0
  76. package/dist/common/icons/arrow-down-full.js +50 -0
  77. package/dist/common/icons/arrow-down-small.d.ts +14 -0
  78. package/dist/common/icons/arrow-down-small.js +54 -0
  79. package/dist/common/icons/arrow-down-solid.d.ts +9 -0
  80. package/dist/common/icons/arrow-down-solid.js +41 -0
  81. package/dist/common/icons/arrow-down.d.ts +9 -0
  82. package/dist/common/icons/arrow-down.js +41 -0
  83. package/dist/common/icons/arrow-left.d.ts +9 -0
  84. package/dist/common/icons/arrow-left.js +44 -0
  85. package/dist/common/icons/arrow-right.d.ts +9 -0
  86. package/dist/common/icons/arrow-right.js +41 -0
  87. package/dist/common/icons/arrow-up-alt.d.ts +9 -0
  88. package/dist/common/icons/arrow-up-alt.js +42 -0
  89. package/dist/common/icons/arrow-up-solid.d.ts +9 -0
  90. package/dist/common/icons/arrow-up-solid.js +41 -0
  91. package/dist/common/icons/arrow-up.d.ts +9 -0
  92. package/dist/common/icons/arrow-up.js +41 -0
  93. package/dist/common/icons/base.d.ts +29 -0
  94. package/dist/common/icons/base.js +79 -0
  95. package/dist/common/icons/bug.d.ts +9 -0
  96. package/dist/common/icons/bug.js +43 -0
  97. package/dist/common/icons/calendar.d.ts +10 -0
  98. package/dist/common/icons/calendar.js +49 -0
  99. package/dist/common/icons/cancel.d.ts +9 -0
  100. package/dist/common/icons/cancel.js +41 -0
  101. package/dist/common/icons/checkmark.d.ts +10 -0
  102. package/dist/common/icons/checkmark.js +47 -0
  103. package/dist/common/icons/clipboard.d.ts +9 -0
  104. package/dist/common/icons/clipboard.js +42 -0
  105. package/dist/common/icons/clock.d.ts +9 -0
  106. package/dist/common/icons/clock.js +43 -0
  107. package/dist/common/icons/close.d.ts +9 -0
  108. package/dist/common/icons/close.js +46 -0
  109. package/dist/common/icons/code-alt.d.ts +9 -0
  110. package/dist/common/icons/code-alt.js +44 -0
  111. package/dist/common/icons/copy.d.ts +9 -0
  112. package/dist/common/icons/copy.js +46 -0
  113. package/dist/common/icons/crosshairs.d.ts +9 -0
  114. package/dist/common/icons/crosshairs.js +44 -0
  115. package/dist/common/icons/cube-3d.d.ts +9 -0
  116. package/dist/common/icons/cube-3d.js +45 -0
  117. package/dist/common/icons/cursor-click.d.ts +9 -0
  118. package/dist/common/icons/cursor-click.js +45 -0
  119. package/dist/common/icons/cursor-point.d.ts +14 -0
  120. package/dist/common/icons/cursor-point.js +51 -0
  121. package/dist/common/icons/data-table.d.ts +10 -0
  122. package/dist/common/icons/data-table.js +42 -0
  123. package/dist/common/icons/db.d.ts +10 -0
  124. package/dist/common/icons/db.js +42 -0
  125. package/dist/common/icons/delete.d.ts +9 -0
  126. package/dist/common/icons/delete.js +43 -0
  127. package/dist/common/icons/docs.d.ts +9 -0
  128. package/dist/common/icons/docs.js +57 -0
  129. package/dist/common/icons/drag-n-drop.d.ts +9 -0
  130. package/dist/common/icons/drag-n-drop.js +43 -0
  131. package/dist/common/icons/draw-polygon.d.ts +10 -0
  132. package/dist/common/icons/draw-polygon.js +61 -0
  133. package/dist/common/icons/edit.d.ts +14 -0
  134. package/dist/common/icons/edit.js +49 -0
  135. package/dist/common/icons/effects/brightness-contrast.d.ts +14 -0
  136. package/dist/common/icons/effects/brightness-contrast.js +70 -0
  137. package/dist/common/icons/effects/color-halftone.d.ts +14 -0
  138. package/dist/common/icons/effects/color-halftone.js +109 -0
  139. package/dist/common/icons/effects/dot-screen.d.ts +14 -0
  140. package/dist/common/icons/effects/dot-screen.js +104 -0
  141. package/dist/common/icons/effects/edge-work.d.ts +14 -0
  142. package/dist/common/icons/effects/edge-work.js +63 -0
  143. package/dist/common/icons/effects/hexagonal-pixelate.d.ts +14 -0
  144. package/dist/common/icons/effects/hexagonal-pixelate.js +130 -0
  145. package/dist/common/icons/effects/hue-saturation.d.ts +14 -0
  146. package/dist/common/icons/effects/hue-saturation.js +61 -0
  147. package/dist/common/icons/effects/ink.d.ts +14 -0
  148. package/dist/common/icons/effects/ink.js +60 -0
  149. package/dist/common/icons/effects/light-and-shadow.d.ts +14 -0
  150. package/dist/common/icons/effects/light-and-shadow.js +49 -0
  151. package/dist/common/icons/effects/magic-wand.d.ts +14 -0
  152. package/dist/common/icons/effects/magic-wand.js +61 -0
  153. package/dist/common/icons/effects/magnify.d.ts +14 -0
  154. package/dist/common/icons/effects/magnify.js +68 -0
  155. package/dist/common/icons/effects/noise.d.ts +14 -0
  156. package/dist/common/icons/effects/noise.js +114 -0
  157. package/dist/common/icons/effects/sepia.d.ts +14 -0
  158. package/dist/common/icons/effects/sepia.js +61 -0
  159. package/dist/common/icons/effects/tilt-shift.d.ts +14 -0
  160. package/dist/common/icons/effects/tilt-shift.js +70 -0
  161. package/dist/common/icons/effects/triangle-blur.d.ts +14 -0
  162. package/dist/common/icons/effects/triangle-blur.js +65 -0
  163. package/dist/common/icons/effects/vibrance.d.ts +14 -0
  164. package/dist/common/icons/effects/vibrance.js +61 -0
  165. package/dist/common/icons/effects/vignette.d.ts +14 -0
  166. package/dist/common/icons/effects/vignette.js +54 -0
  167. package/dist/common/icons/effects/zoom-blur.d.ts +14 -0
  168. package/dist/common/icons/effects/zoom-blur.js +89 -0
  169. package/dist/common/icons/email.d.ts +9 -0
  170. package/dist/common/icons/email.js +45 -0
  171. package/dist/common/icons/expand.d.ts +9 -0
  172. package/dist/common/icons/expand.js +43 -0
  173. package/dist/common/icons/eye-seen.d.ts +9 -0
  174. package/dist/common/icons/eye-seen.js +43 -0
  175. package/dist/common/icons/eye-unseen.d.ts +9 -0
  176. package/dist/common/icons/eye-unseen.js +43 -0
  177. package/dist/common/icons/file-type.d.ts +8 -0
  178. package/dist/common/icons/file-type.js +35 -0
  179. package/dist/common/icons/file.d.ts +9 -0
  180. package/dist/common/icons/file.js +41 -0
  181. package/dist/common/icons/files.d.ts +9 -0
  182. package/dist/common/icons/files.js +41 -0
  183. package/dist/common/icons/filter-funnel.d.ts +9 -0
  184. package/dist/common/icons/filter-funnel.js +41 -0
  185. package/dist/common/icons/free-window.d.ts +4 -0
  186. package/dist/common/icons/free-window.js +44 -0
  187. package/dist/common/icons/gear.d.ts +9 -0
  188. package/dist/common/icons/gear.js +43 -0
  189. package/dist/common/icons/globe.d.ts +15 -0
  190. package/dist/common/icons/globe.js +54 -0
  191. package/dist/common/icons/hash.d.ts +9 -0
  192. package/dist/common/icons/hash.js +41 -0
  193. package/dist/common/icons/help.d.ts +13 -0
  194. package/dist/common/icons/help.js +51 -0
  195. package/dist/common/icons/histogram.d.ts +9 -0
  196. package/dist/common/icons/histogram.js +41 -0
  197. package/dist/common/icons/index.d.ts +106 -0
  198. package/dist/common/icons/index.js +740 -0
  199. package/dist/common/icons/info.d.ts +12 -0
  200. package/dist/common/icons/info.js +54 -0
  201. package/dist/common/icons/layers.d.ts +9 -0
  202. package/dist/common/icons/layers.js +41 -0
  203. package/dist/common/icons/left-arrow.d.ts +9 -0
  204. package/dist/common/icons/left-arrow.js +44 -0
  205. package/dist/common/icons/legend.d.ts +9 -0
  206. package/dist/common/icons/legend.js +41 -0
  207. package/dist/common/icons/line-chart.d.ts +9 -0
  208. package/dist/common/icons/line-chart.js +41 -0
  209. package/dist/common/icons/location-marker.d.ts +14 -0
  210. package/dist/common/icons/location-marker.js +59 -0
  211. package/dist/common/icons/login.d.ts +9 -0
  212. package/dist/common/icons/login.js +44 -0
  213. package/dist/common/icons/logout.d.ts +9 -0
  214. package/dist/common/icons/logout.js +43 -0
  215. package/dist/common/icons/map-icon.d.ts +11 -0
  216. package/dist/common/icons/map-icon.js +48 -0
  217. package/dist/common/icons/map.d.ts +11 -0
  218. package/dist/common/icons/map.js +48 -0
  219. package/dist/common/icons/messages.d.ts +9 -0
  220. package/dist/common/icons/messages.js +41 -0
  221. package/dist/common/icons/minus.d.ts +9 -0
  222. package/dist/common/icons/minus.js +41 -0
  223. package/dist/common/icons/moon.d.ts +14 -0
  224. package/dist/common/icons/moon.js +59 -0
  225. package/dist/common/icons/order-by-dataset.d.ts +4 -0
  226. package/dist/common/icons/order-by-dataset.js +46 -0
  227. package/dist/common/icons/order-by-list.d.ts +4 -0
  228. package/dist/common/icons/order-by-list.js +38 -0
  229. package/dist/common/icons/pause.d.ts +9 -0
  230. package/dist/common/icons/pause.js +41 -0
  231. package/dist/common/icons/picture.d.ts +9 -0
  232. package/dist/common/icons/picture.js +41 -0
  233. package/dist/common/icons/pin.d.ts +9 -0
  234. package/dist/common/icons/pin.js +45 -0
  235. package/dist/common/icons/play.d.ts +9 -0
  236. package/dist/common/icons/play.js +41 -0
  237. package/dist/common/icons/polygon.d.ts +10 -0
  238. package/dist/common/icons/polygon.js +63 -0
  239. package/dist/common/icons/rectangle.d.ts +10 -0
  240. package/dist/common/icons/rectangle.js +64 -0
  241. package/dist/common/icons/reduce.d.ts +9 -0
  242. package/dist/common/icons/reduce.js +44 -0
  243. package/dist/common/icons/reset.d.ts +9 -0
  244. package/dist/common/icons/reset.js +41 -0
  245. package/dist/common/icons/rocket.d.ts +9 -0
  246. package/dist/common/icons/rocket.js +41 -0
  247. package/dist/common/icons/save.d.ts +9 -0
  248. package/dist/common/icons/save.js +43 -0
  249. package/dist/common/icons/save2.d.ts +9 -0
  250. package/dist/common/icons/save2.js +47 -0
  251. package/dist/common/icons/search.d.ts +9 -0
  252. package/dist/common/icons/search.js +43 -0
  253. package/dist/common/icons/settings.d.ts +9 -0
  254. package/dist/common/icons/settings.js +43 -0
  255. package/dist/common/icons/share.d.ts +9 -0
  256. package/dist/common/icons/share.js +41 -0
  257. package/dist/common/icons/split.d.ts +9 -0
  258. package/dist/common/icons/split.js +69 -0
  259. package/dist/common/icons/square-select.d.ts +9 -0
  260. package/dist/common/icons/square-select.js +43 -0
  261. package/dist/common/icons/sun.d.ts +14 -0
  262. package/dist/common/icons/sun.js +75 -0
  263. package/dist/common/icons/sunrise.d.ts +14 -0
  264. package/dist/common/icons/sunrise.js +71 -0
  265. package/dist/common/icons/sunset.d.ts +14 -0
  266. package/dist/common/icons/sunset.js +71 -0
  267. package/dist/common/icons/timeline-marker.d.ts +17 -0
  268. package/dist/common/icons/timeline-marker.js +56 -0
  269. package/dist/common/icons/trash.d.ts +10 -0
  270. package/dist/common/icons/trash.js +44 -0
  271. package/dist/common/icons/vert-dots.d.ts +9 -0
  272. package/dist/common/icons/vert-dots.js +79 -0
  273. package/dist/common/icons/vert-three-dots.d.ts +9 -0
  274. package/dist/common/icons/vert-three-dots.js +54 -0
  275. package/dist/common/icons/warning-sign.d.ts +15 -0
  276. package/dist/common/icons/warning-sign.js +61 -0
  277. package/dist/common/icons/warning.d.ts +10 -0
  278. package/dist/common/icons/warning.js +55 -0
  279. package/dist/common/image-preview.d.ts +15 -0
  280. package/dist/common/image-preview.js +60 -0
  281. package/dist/common/index.d.ts +4 -0
  282. package/dist/common/index.js +277 -0
  283. package/dist/common/info-helper.d.ts +10 -0
  284. package/dist/common/info-helper.js +61 -0
  285. package/dist/common/item-selector/accessor.d.ts +7 -0
  286. package/dist/common/item-selector/accessor.js +37 -0
  287. package/dist/common/item-selector/chickleted-input.d.ts +23 -0
  288. package/dist/common/item-selector/chickleted-input.js +153 -0
  289. package/dist/common/item-selector/dropdown-list.d.ts +74 -0
  290. package/dist/common/item-selector/dropdown-list.js +260 -0
  291. package/dist/common/item-selector/dropdown-select.d.ts +33 -0
  292. package/dist/common/item-selector/dropdown-select.js +79 -0
  293. package/dist/common/item-selector/item-selector.d.ts +82 -0
  294. package/dist/common/item-selector/item-selector.js +252 -0
  295. package/dist/common/item-selector/typeahead.d.ts +126 -0
  296. package/dist/common/item-selector/typeahead.js +433 -0
  297. package/dist/common/line-chart.d.ts +34 -0
  298. package/dist/common/line-chart.js +120 -0
  299. package/dist/common/loading-spinner.d.ts +10 -0
  300. package/dist/common/loading-spinner.js +51 -0
  301. package/dist/common/logo.d.ts +8 -0
  302. package/dist/common/logo.js +68 -0
  303. package/dist/common/map-layer-selector.d.ts +13 -0
  304. package/dist/common/map-layer-selector.js +38 -0
  305. package/dist/common/modal.d.ts +64 -0
  306. package/dist/common/modal.js +171 -0
  307. package/dist/common/portaled.d.ts +583 -0
  308. package/dist/common/portaled.js +285 -0
  309. package/dist/common/progress-bar.d.ts +12 -0
  310. package/dist/common/progress-bar.js +47 -0
  311. package/dist/common/radius-legend.d.ts +10 -0
  312. package/dist/common/radius-legend.js +132 -0
  313. package/dist/common/range-brush.d.ts +19 -0
  314. package/dist/common/range-brush.js +266 -0
  315. package/dist/common/range-plot.d.ts +41 -0
  316. package/dist/common/range-plot.js +207 -0
  317. package/dist/common/range-slider-timeline-panel.d.ts +11 -0
  318. package/dist/common/range-slider-timeline-panel.js +43 -0
  319. package/dist/common/range-slider-timeline.d.ts +7 -0
  320. package/dist/common/range-slider-timeline.js +114 -0
  321. package/dist/common/range-slider.d.ts +42 -0
  322. package/dist/common/range-slider.js +309 -0
  323. package/dist/common/slider/mouse-event.d.ts +27 -0
  324. package/dist/common/slider/mouse-event.js +105 -0
  325. package/dist/common/slider/slider-bar-handle.d.ts +29 -0
  326. package/dist/common/slider/slider-bar-handle.js +91 -0
  327. package/dist/common/slider/slider-handle.d.ts +33 -0
  328. package/dist/common/slider/slider-handle.js +137 -0
  329. package/dist/common/slider/slider.d.ts +72 -0
  330. package/dist/common/slider/slider.js +209 -0
  331. package/dist/common/styled-components.d.ts +159 -0
  332. package/dist/common/styled-components.js +398 -0
  333. package/dist/common/switch.d.ts +16 -0
  334. package/dist/common/switch.js +21 -0
  335. package/dist/common/sync-timeline-control.d.ts +28 -0
  336. package/dist/common/sync-timeline-control.js +61 -0
  337. package/dist/common/time-range-slider-time-title.d.ts +9 -0
  338. package/dist/common/time-range-slider-time-title.js +62 -0
  339. package/dist/common/time-range-slider.d.ts +42 -0
  340. package/dist/common/time-range-slider.js +132 -0
  341. package/dist/common/time-slider-marker.d.ts +14 -0
  342. package/dist/common/time-slider-marker.js +116 -0
  343. package/dist/common/timeline-slider.d.ts +13 -0
  344. package/dist/common/timeline-slider.js +132 -0
  345. package/dist/common/tippy-tooltip.d.ts +6 -0
  346. package/dist/common/tippy-tooltip.js +135 -0
  347. package/dist/common/toolbar-item.d.ts +14 -0
  348. package/dist/common/toolbar-item.js +60 -0
  349. package/dist/common/toolbar.d.ts +5 -0
  350. package/dist/common/toolbar.js +27 -0
  351. package/dist/common/vertical-toolbar.d.ts +3 -0
  352. package/dist/common/vertical-toolbar.js +16 -0
  353. package/dist/connect/keplergl-connect.d.ts +9 -0
  354. package/dist/connect/keplergl-connect.js +44 -0
  355. package/dist/connect/with-local-selector.d.ts +6 -0
  356. package/dist/connect/with-local-selector.js +86 -0
  357. package/dist/container.d.ts +39 -0
  358. package/dist/container.js +181 -0
  359. package/dist/context.d.ts +27 -0
  360. package/dist/context.js +44 -0
  361. package/dist/dnd-context.d.ts +13 -0
  362. package/dist/dnd-context.js +124 -0
  363. package/dist/editor/editor.d.ts +31 -0
  364. package/dist/editor/editor.js +201 -0
  365. package/dist/editor/feature-action-panel.d.ts +32 -0
  366. package/dist/editor/feature-action-panel.js +148 -0
  367. package/dist/effects/compact-color-picker.d.ts +10 -0
  368. package/dist/effects/compact-color-picker.js +111 -0
  369. package/dist/effects/effect-configurator.d.ts +17 -0
  370. package/dist/effects/effect-configurator.js +275 -0
  371. package/dist/effects/effect-list.d.ts +20 -0
  372. package/dist/effects/effect-list.js +129 -0
  373. package/dist/effects/effect-manager.d.ts +27 -0
  374. package/dist/effects/effect-manager.js +120 -0
  375. package/dist/effects/effect-panel-header.d.ts +45 -0
  376. package/dist/effects/effect-panel-header.js +180 -0
  377. package/dist/effects/effect-panel.d.ts +24 -0
  378. package/dist/effects/effect-panel.js +112 -0
  379. package/dist/effects/effect-time-configurator.d.ts +20 -0
  380. package/dist/effects/effect-time-configurator.js +302 -0
  381. package/dist/effects/effect-time-selector.d.ts +16 -0
  382. package/dist/effects/effect-time-selector.js +153 -0
  383. package/dist/effects/effect-time-slider.d.ts +34 -0
  384. package/dist/effects/effect-time-slider.js +199 -0
  385. package/dist/effects/effect-type-dropdown-list.d.ts +18 -0
  386. package/dist/effects/effect-type-dropdown-list.js +66 -0
  387. package/dist/effects/effect-type-list-item.d.ts +22 -0
  388. package/dist/effects/effect-type-list-item.js +87 -0
  389. package/dist/effects/effect-type-selector.d.ts +30 -0
  390. package/dist/effects/effect-type-selector.js +77 -0
  391. package/dist/effects/side-panel-title.d.ts +7 -0
  392. package/dist/effects/side-panel-title.js +37 -0
  393. package/dist/effects/timezone-selector.d.ts +19 -0
  394. package/dist/effects/timezone-selector.js +58 -0
  395. package/dist/filter-animation-controller.d.ts +17 -0
  396. package/dist/filter-animation-controller.js +77 -0
  397. package/dist/filters/components.d.ts +3 -0
  398. package/dist/filters/components.js +14 -0
  399. package/dist/filters/filter-panels/filter-panel-with-field-select.d.ts +10 -0
  400. package/dist/filters/filter-panels/filter-panel-with-field-select.js +78 -0
  401. package/dist/filters/filter-panels/filter-synced-dataset-panel.d.ts +54 -0
  402. package/dist/filters/filter-panels/filter-synced-dataset-panel.js +261 -0
  403. package/dist/filters/filter-panels/multi-select-filter-panel.d.ts +9 -0
  404. package/dist/filters/filter-panels/multi-select-filter-panel.js +49 -0
  405. package/dist/filters/filter-panels/new-filter-panel.d.ts +12 -0
  406. package/dist/filters/filter-panels/new-filter-panel.js +67 -0
  407. package/dist/filters/filter-panels/polygon-filter-panel.d.ts +9 -0
  408. package/dist/filters/filter-panels/polygon-filter-panel.js +68 -0
  409. package/dist/filters/filter-panels/range-filter-panel.d.ts +9 -0
  410. package/dist/filters/filter-panels/range-filter-panel.js +54 -0
  411. package/dist/filters/filter-panels/single-select-filter-panel.d.ts +9 -0
  412. package/dist/filters/filter-panels/single-select-filter-panel.js +49 -0
  413. package/dist/filters/filter-panels/time-range-filter-panel.d.ts +12 -0
  414. package/dist/filters/filter-panels/time-range-filter-panel.js +130 -0
  415. package/dist/filters/filter-panels/time-synced-field-selector.d.ts +7 -0
  416. package/dist/filters/filter-panels/time-synced-field-selector.js +28 -0
  417. package/dist/filters/filter-panels/types.d.ts +40 -0
  418. package/dist/filters/filter-panels/types.js +6 -0
  419. package/dist/filters/index.d.ts +7 -0
  420. package/dist/filters/index.js +56 -0
  421. package/dist/filters/multi-select-filter.d.ts +3 -0
  422. package/dist/filters/multi-select-filter.js +31 -0
  423. package/dist/filters/polygon-filter.d.ts +4 -0
  424. package/dist/filters/polygon-filter.js +77 -0
  425. package/dist/filters/range-filter.d.ts +8 -0
  426. package/dist/filters/range-filter.js +35 -0
  427. package/dist/filters/single-select-filter.d.ts +3 -0
  428. package/dist/filters/single-select-filter.js +40 -0
  429. package/dist/filters/time-range-filter.d.ts +35 -0
  430. package/dist/filters/time-range-filter.js +67 -0
  431. package/dist/filters/time-widget-top.d.ts +8 -0
  432. package/dist/filters/time-widget-top.js +88 -0
  433. package/dist/filters/time-widget.d.ts +10 -0
  434. package/dist/filters/time-widget.js +101 -0
  435. package/dist/filters/types.d.ts +67 -0
  436. package/dist/filters/types.js +6 -0
  437. package/dist/geocoder/geocoder.d.ts +31 -0
  438. package/dist/geocoder/geocoder.js +269 -0
  439. package/dist/geocoder-panel.d.ts +22 -0
  440. package/dist/geocoder-panel.js +197 -0
  441. package/dist/hooks/use-cloud-list-provider.d.ts +11 -0
  442. package/dist/hooks/use-cloud-list-provider.js +47 -0
  443. package/dist/hooks/use-dnd-effects.d.ts +9 -0
  444. package/dist/hooks/use-dnd-effects.js +69 -0
  445. package/dist/hooks/use-dnd-layers.d.ts +9 -0
  446. package/dist/hooks/use-dnd-layers.js +80 -0
  447. package/dist/hooks/use-feature-flags.d.ts +5 -0
  448. package/dist/hooks/use-feature-flags.js +17 -0
  449. package/dist/hooks/use-fetch-vector-tile-metadata.d.ts +16 -0
  450. package/dist/hooks/use-fetch-vector-tile-metadata.js +109 -0
  451. package/dist/hooks/use-on-click-outside.d.ts +2 -0
  452. package/dist/hooks/use-on-click-outside.js +36 -0
  453. package/dist/index.d.ts +253 -0
  454. package/dist/index.js +2608 -0
  455. package/dist/injector.d.ts +29 -0
  456. package/dist/injector.js +151 -0
  457. package/dist/kepler-gl.d.ts +325 -0
  458. package/dist/kepler-gl.js +504 -0
  459. package/dist/layer-animation-controller.d.ts +13 -0
  460. package/dist/layer-animation-controller.js +54 -0
  461. package/dist/map/coordinate-info.d.ts +7 -0
  462. package/dist/map/coordinate-info.js +42 -0
  463. package/dist/map/effects/effect-control.d.ts +16 -0
  464. package/dist/map/effects/effect-control.js +52 -0
  465. package/dist/map/layer-hover-info.d.ts +29 -0
  466. package/dist/map/layer-hover-info.js +222 -0
  467. package/dist/map/layer-selector-panel.d.ts +21 -0
  468. package/dist/map/layer-selector-panel.js +85 -0
  469. package/dist/map/lazy-tippy.d.ts +8 -0
  470. package/dist/map/lazy-tippy.js +61 -0
  471. package/dist/map/locale-panel.d.ts +16 -0
  472. package/dist/map/locale-panel.js +77 -0
  473. package/dist/map/map-control-panel.d.ts +20 -0
  474. package/dist/map/map-control-panel.js +139 -0
  475. package/dist/map/map-control-toolbar.d.ts +2 -0
  476. package/dist/map/map-control-toolbar.js +18 -0
  477. package/dist/map/map-control-tooltip.d.ts +8 -0
  478. package/dist/map/map-control-tooltip.js +34 -0
  479. package/dist/map/map-control.d.ts +56 -0
  480. package/dist/map/map-control.js +71 -0
  481. package/dist/map/map-draw-panel.d.ts +20 -0
  482. package/dist/map/map-draw-panel.js +98 -0
  483. package/dist/map/map-legend-panel.d.ts +65 -0
  484. package/dist/map/map-legend-panel.js +155 -0
  485. package/dist/map/map-legend.d.ts +90 -0
  486. package/dist/map/map-legend.js +369 -0
  487. package/dist/map/map-popover-content.d.ts +28 -0
  488. package/dist/map/map-popover-content.js +28 -0
  489. package/dist/map/map-popover.d.ts +33 -0
  490. package/dist/map/map-popover.js +185 -0
  491. package/dist/map/split-map-button.d.ts +20 -0
  492. package/dist/map/split-map-button.js +65 -0
  493. package/dist/map/toggle-3d-button.d.ts +17 -0
  494. package/dist/map/toggle-3d-button.js +55 -0
  495. package/dist/map-container.d.ts +73 -0
  496. package/dist/map-container.js +903 -0
  497. package/dist/map-view-state-context.d.ts +17 -0
  498. package/dist/map-view-state-context.js +99 -0
  499. package/dist/maps-layout.d.ts +12 -0
  500. package/dist/maps-layout.js +43 -0
  501. package/dist/modal-container.d.ts +59 -0
  502. package/dist/modal-container.js +434 -0
  503. package/dist/modals/add-map-style-modal.d.ts +17 -0
  504. package/dist/modals/add-map-style-modal.js +198 -0
  505. package/dist/modals/cloud-components/cloud-header.d.ts +12 -0
  506. package/dist/modals/cloud-components/cloud-header.js +60 -0
  507. package/dist/modals/cloud-components/cloud-item.d.ts +5 -0
  508. package/dist/modals/cloud-components/cloud-item.js +59 -0
  509. package/dist/modals/cloud-components/cloud-item.spec.d.ts +1 -0
  510. package/dist/modals/cloud-components/cloud-item.spec.js +92 -0
  511. package/dist/modals/cloud-components/cloud-maps.d.ts +8 -0
  512. package/dist/modals/cloud-components/cloud-maps.js +47 -0
  513. package/dist/modals/cloud-components/cloud-maps.spec.d.ts +1 -0
  514. package/dist/modals/cloud-components/cloud-maps.spec.js +98 -0
  515. package/dist/modals/cloud-components/provider-loading.d.ts +2 -0
  516. package/dist/modals/cloud-components/provider-loading.js +20 -0
  517. package/dist/modals/cloud-components/provider-select.d.ts +7 -0
  518. package/dist/modals/cloud-components/provider-select.js +30 -0
  519. package/dist/modals/cloud-tile.d.ts +15 -0
  520. package/dist/modals/cloud-tile.js +203 -0
  521. package/dist/modals/data-table-modal.d.ts +37 -0
  522. package/dist/modals/data-table-modal.js +264 -0
  523. package/dist/modals/delete-data-modal.d.ts +10 -0
  524. package/dist/modals/delete-data-modal.js +41 -0
  525. package/dist/modals/error-display.d.ts +6 -0
  526. package/dist/modals/error-display.js +33 -0
  527. package/dist/modals/export-data-modal.d.ts +23 -0
  528. package/dist/modals/export-data-modal.js +187 -0
  529. package/dist/modals/export-image-modal.d.ts +16 -0
  530. package/dist/modals/export-image-modal.js +122 -0
  531. package/dist/modals/export-map-modal/components.d.ts +8 -0
  532. package/dist/modals/export-map-modal/components.js +34 -0
  533. package/dist/modals/export-map-modal/export-html-map.d.ts +12 -0
  534. package/dist/modals/export-map-modal/export-html-map.js +126 -0
  535. package/dist/modals/export-map-modal/export-json-map.d.ts +9 -0
  536. package/dist/modals/export-map-modal/export-json-map.js +81 -0
  537. package/dist/modals/export-map-modal/export-map-modal.d.ts +27 -0
  538. package/dist/modals/export-map-modal/export-map-modal.js +84 -0
  539. package/dist/modals/image-modal-container.d.ts +16 -0
  540. package/dist/modals/image-modal-container.js +58 -0
  541. package/dist/modals/load-data-modal.d.ts +44 -0
  542. package/dist/modals/load-data-modal.js +98 -0
  543. package/dist/modals/load-storage-map.d.ts +9 -0
  544. package/dist/modals/load-storage-map.js +80 -0
  545. package/dist/modals/load-storage-map.spec.d.ts +1 -0
  546. package/dist/modals/load-storage-map.spec.js +216 -0
  547. package/dist/modals/loading-dialog.d.ts +7 -0
  548. package/dist/modals/loading-dialog.js +37 -0
  549. package/dist/modals/modal-dialog.d.ts +2 -0
  550. package/dist/modals/modal-dialog.js +16 -0
  551. package/dist/modals/modal-tabs.d.ts +15 -0
  552. package/dist/modals/modal-tabs.js +75 -0
  553. package/dist/modals/overwrite-map-modal.d.ts +16 -0
  554. package/dist/modals/overwrite-map-modal.js +84 -0
  555. package/dist/modals/save-map-modal.d.ts +28 -0
  556. package/dist/modals/save-map-modal.js +179 -0
  557. package/dist/modals/save-map-modal.spec.d.ts +1 -0
  558. package/dist/modals/save-map-modal.spec.js +195 -0
  559. package/dist/modals/share-map-modal.d.ts +26 -0
  560. package/dist/modals/share-map-modal.js +169 -0
  561. package/dist/modals/share-map-modal.spec.d.ts +1 -0
  562. package/dist/modals/share-map-modal.spec.js +173 -0
  563. package/dist/modals/status-panel.d.ts +13 -0
  564. package/dist/modals/status-panel.js +65 -0
  565. package/dist/modals/storage-map-viewer.d.ts +21 -0
  566. package/dist/modals/storage-map-viewer.js +98 -0
  567. package/dist/modals/tilesets-modals/common.d.ts +12 -0
  568. package/dist/modals/tilesets-modals/common.js +6 -0
  569. package/dist/modals/tilesets-modals/load-data-footer.d.ts +11 -0
  570. package/dist/modals/tilesets-modals/load-data-footer.js +41 -0
  571. package/dist/modals/tilesets-modals/load-tileset.d.ts +16 -0
  572. package/dist/modals/tilesets-modals/load-tileset.js +114 -0
  573. package/dist/modals/tilesets-modals/tileset-icon.d.ts +9 -0
  574. package/dist/modals/tilesets-modals/tileset-icon.js +32 -0
  575. package/dist/modals/tilesets-modals/tileset-vector-form.d.ts +13 -0
  576. package/dist/modals/tilesets-modals/tileset-vector-form.js +165 -0
  577. package/dist/notification-panel/notification-item.d.ts +67 -0
  578. package/dist/notification-panel/notification-item.js +150 -0
  579. package/dist/notification-panel.d.ts +13 -0
  580. package/dist/notification-panel.js +61 -0
  581. package/dist/plot-container.d.ts +24 -0
  582. package/dist/plot-container.js +223 -0
  583. package/dist/side-panel/add-by-dataset-button.d.ts +12 -0
  584. package/dist/side-panel/add-by-dataset-button.js +128 -0
  585. package/dist/side-panel/cloud-storage-dropdown.d.ts +6 -0
  586. package/dist/side-panel/cloud-storage-dropdown.js +40 -0
  587. package/dist/side-panel/common/dataset-info.d.ts +11 -0
  588. package/dist/side-panel/common/dataset-info.js +34 -0
  589. package/dist/side-panel/common/dataset-tag.d.ts +17 -0
  590. package/dist/side-panel/common/dataset-tag.js +62 -0
  591. package/dist/side-panel/common/dataset-title.d.ts +22 -0
  592. package/dist/side-panel/common/dataset-title.js +143 -0
  593. package/dist/side-panel/common/source-data-catalog.d.ts +29 -0
  594. package/dist/side-panel/common/source-data-catalog.js +49 -0
  595. package/dist/side-panel/common/source-data-selector-content.d.ts +8 -0
  596. package/dist/side-panel/common/source-data-selector-content.js +65 -0
  597. package/dist/side-panel/common/source-data-selector.d.ts +8 -0
  598. package/dist/side-panel/common/source-data-selector.js +41 -0
  599. package/dist/side-panel/common/source-selector.d.ts +21 -0
  600. package/dist/side-panel/common/source-selector.js +57 -0
  601. package/dist/side-panel/common/types.d.ts +44 -0
  602. package/dist/side-panel/common/types.js +6 -0
  603. package/dist/side-panel/custom-panel.d.ts +13 -0
  604. package/dist/side-panel/custom-panel.js +39 -0
  605. package/dist/side-panel/filter-manager.d.ts +32 -0
  606. package/dist/side-panel/filter-manager.js +203 -0
  607. package/dist/side-panel/filter-panel/add-filter-button.d.ts +8 -0
  608. package/dist/side-panel/filter-panel/add-filter-button.js +28 -0
  609. package/dist/side-panel/filter-panel/filter-panel-header.d.ts +26 -0
  610. package/dist/side-panel/filter-panel/filter-panel-header.js +53 -0
  611. package/dist/side-panel/filter-panel/filter-panel.d.ts +23 -0
  612. package/dist/side-panel/filter-panel/filter-panel.js +93 -0
  613. package/dist/side-panel/interaction-manager.d.ts +18 -0
  614. package/dist/side-panel/interaction-manager.js +45 -0
  615. package/dist/side-panel/interaction-panel/brush-config.d.ts +15 -0
  616. package/dist/side-panel/interaction-panel/brush-config.js +41 -0
  617. package/dist/side-panel/interaction-panel/interaction-panel.d.ts +20 -0
  618. package/dist/side-panel/interaction-panel/interaction-panel.js +115 -0
  619. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +30 -0
  620. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +162 -0
  621. package/dist/side-panel/interaction-panel/tooltip-config.d.ts +37 -0
  622. package/dist/side-panel/interaction-panel/tooltip-config.js +150 -0
  623. package/dist/side-panel/layer-manager.d.ts +44 -0
  624. package/dist/side-panel/layer-manager.js +200 -0
  625. package/dist/side-panel/layer-panel/add-layer-button.d.ts +8 -0
  626. package/dist/side-panel/layer-panel/add-layer-button.js +28 -0
  627. package/dist/side-panel/layer-panel/aggr-scale-selector.d.ts +13 -0
  628. package/dist/side-panel/layer-panel/aggr-scale-selector.js +35 -0
  629. package/dist/side-panel/layer-panel/channel-by-value-selector.d.ts +26 -0
  630. package/dist/side-panel/layer-panel/channel-by-value-selector.js +68 -0
  631. package/dist/side-panel/layer-panel/color-breaks-panel.d.ts +33 -0
  632. package/dist/side-panel/layer-panel/color-breaks-panel.js +153 -0
  633. package/dist/side-panel/layer-panel/color-palette-preset.d.ts +9 -0
  634. package/dist/side-panel/layer-panel/color-palette-preset.js +45 -0
  635. package/dist/side-panel/layer-panel/color-palette.d.ts +12 -0
  636. package/dist/side-panel/layer-panel/color-palette.js +69 -0
  637. package/dist/side-panel/layer-panel/color-range-selector.d.ts +39 -0
  638. package/dist/side-panel/layer-panel/color-range-selector.js +244 -0
  639. package/dist/side-panel/layer-panel/color-scale-selector.d.ts +36 -0
  640. package/dist/side-panel/layer-panel/color-scale-selector.js +186 -0
  641. package/dist/side-panel/layer-panel/color-selector.d.ts +34 -0
  642. package/dist/side-panel/layer-panel/color-selector.js +167 -0
  643. package/dist/side-panel/layer-panel/column-selector.d.ts +18 -0
  644. package/dist/side-panel/layer-panel/column-selector.js +60 -0
  645. package/dist/side-panel/layer-panel/custom-palette.d.ts +77 -0
  646. package/dist/side-panel/layer-panel/custom-palette.js +427 -0
  647. package/dist/side-panel/layer-panel/custom-picker.d.ts +8 -0
  648. package/dist/side-panel/layer-panel/custom-picker.js +71 -0
  649. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +23 -0
  650. package/dist/side-panel/layer-panel/dataset-layer-group.js +67 -0
  651. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +25 -0
  652. package/dist/side-panel/layer-panel/dataset-layer-section.js +60 -0
  653. package/dist/side-panel/layer-panel/dataset-section.d.ts +23 -0
  654. package/dist/side-panel/layer-panel/dataset-section.js +74 -0
  655. package/dist/side-panel/layer-panel/dimension-scale-selector.d.ts +23 -0
  656. package/dist/side-panel/layer-panel/dimension-scale-selector.js +90 -0
  657. package/dist/side-panel/layer-panel/how-to-button.d.ts +6 -0
  658. package/dist/side-panel/layer-panel/how-to-button.js +27 -0
  659. package/dist/side-panel/layer-panel/layer-color-selector.d.ts +42 -0
  660. package/dist/side-panel/layer-panel/layer-color-selector.js +106 -0
  661. package/dist/side-panel/layer-panel/layer-column-config.d.ts +24 -0
  662. package/dist/side-panel/layer-panel/layer-column-config.js +86 -0
  663. package/dist/side-panel/layer-panel/layer-column-mode-config.d.ts +47 -0
  664. package/dist/side-panel/layer-panel/layer-column-mode-config.js +193 -0
  665. package/dist/side-panel/layer-panel/layer-config-group.d.ts +44 -0
  666. package/dist/side-panel/layer-panel/layer-config-group.js +141 -0
  667. package/dist/side-panel/layer-panel/layer-configurator.d.ts +67 -0
  668. package/dist/side-panel/layer-panel/layer-configurator.js +644 -0
  669. package/dist/side-panel/layer-panel/layer-error-message.d.ts +6 -0
  670. package/dist/side-panel/layer-panel/layer-error-message.js +29 -0
  671. package/dist/side-panel/layer-panel/layer-list.d.ts +21 -0
  672. package/dist/side-panel/layer-panel/layer-list.js +170 -0
  673. package/dist/side-panel/layer-panel/layer-panel-header.d.ts +73 -0
  674. package/dist/side-panel/layer-panel/layer-panel-header.js +274 -0
  675. package/dist/side-panel/layer-panel/layer-panel.d.ts +39 -0
  676. package/dist/side-panel/layer-panel/layer-panel.js +162 -0
  677. package/dist/side-panel/layer-panel/layer-type-dropdown-list.d.ts +22 -0
  678. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +78 -0
  679. package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +22 -0
  680. package/dist/side-panel/layer-panel/layer-type-list-item.js +67 -0
  681. package/dist/side-panel/layer-panel/layer-type-selector.d.ts +22 -0
  682. package/dist/side-panel/layer-panel/layer-type-selector.js +58 -0
  683. package/dist/side-panel/layer-panel/radius-by-zoom-input.d.ts +11 -0
  684. package/dist/side-panel/layer-panel/radius-by-zoom-input.js +220 -0
  685. package/dist/side-panel/layer-panel/single-color-palette.d.ts +9 -0
  686. package/dist/side-panel/layer-panel/single-color-palette.js +86 -0
  687. package/dist/side-panel/layer-panel/text-label-panel.d.ts +17 -0
  688. package/dist/side-panel/layer-panel/text-label-panel.js +165 -0
  689. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +22 -0
  690. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +86 -0
  691. package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +24 -0
  692. package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +60 -0
  693. package/dist/side-panel/layer-panel/vis-config-slider.d.ts +20 -0
  694. package/dist/side-panel/layer-panel/vis-config-slider.js +159 -0
  695. package/dist/side-panel/layer-panel/vis-config-switch.d.ts +16 -0
  696. package/dist/side-panel/layer-panel/vis-config-switch.js +55 -0
  697. package/dist/side-panel/map-manager.d.ts +27 -0
  698. package/dist/side-panel/map-manager.js +127 -0
  699. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +14 -0
  700. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +77 -0
  701. package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +29 -0
  702. package/dist/side-panel/map-style-panel/map-layer-group-item.js +95 -0
  703. package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +23 -0
  704. package/dist/side-panel/map-style-panel/map-layer-selector.js +74 -0
  705. package/dist/side-panel/map-style-panel/map-style-selector.d.ts +23 -0
  706. package/dist/side-panel/map-style-panel/map-style-selector.js +96 -0
  707. package/dist/side-panel/panel-header-action.d.ts +22 -0
  708. package/dist/side-panel/panel-header-action.js +73 -0
  709. package/dist/side-panel/panel-header.d.ts +91 -0
  710. package/dist/side-panel/panel-header.js +303 -0
  711. package/dist/side-panel/panel-tab.d.ts +20 -0
  712. package/dist/side-panel/panel-tab.js +55 -0
  713. package/dist/side-panel/panel-title.d.ts +7 -0
  714. package/dist/side-panel/panel-title.js +40 -0
  715. package/dist/side-panel/panel-toggle.d.ts +13 -0
  716. package/dist/side-panel/panel-toggle.js +48 -0
  717. package/dist/side-panel/panel-view-list-toggle.d.ts +31 -0
  718. package/dist/side-panel/panel-view-list-toggle.js +98 -0
  719. package/dist/side-panel/side-bar.d.ts +78 -0
  720. package/dist/side-panel/side-bar.js +127 -0
  721. package/dist/side-panel.d.ts +21 -0
  722. package/dist/side-panel.js +214 -0
  723. package/dist/types.d.ts +47 -0
  724. package/dist/types.js +6 -0
  725. package/package.json +16 -16
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
18
+ var _react = _interopRequireWildcard(require("react"));
19
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
20
+ var _d3Selection = require("d3-selection");
21
+ var _d3Brush = require("d3-brush");
22
+ var _utils = require("@kepler.gl/utils");
23
+ var _templateObject; // SPDX-License-Identifier: MIT
24
+ // Copyright contributors to the kepler.gl project
25
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
26
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
27
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
28
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
29
+ var StyledG = _styledComponents["default"].g(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n .selection {\n stroke: none;\n fill: ", ";\n fill-opacity: ", ";\n }\n .handle {\n fill: ", ";\n fill-opacity: 0.3;\n }\n"])), function (props) {
30
+ return props.isRanged ? props.theme.rangeBrushBgd : props.theme.BLUE2;
31
+ }, function (props) {
32
+ return props.isRanged ? 0.3 : 1;
33
+ }, function (props) {
34
+ return props.theme.BLUE2;
35
+ });
36
+ function moveRight(startSel, selection) {
37
+ var _startSel = (0, _slicedToArray2["default"])(startSel, 1),
38
+ startSel0 = _startSel[0];
39
+ var _selection = (0, _slicedToArray2["default"])(selection, 1),
40
+ sel0 = _selection[0];
41
+ return Boolean(startSel0 === sel0);
42
+ }
43
+ // style brush resize handle
44
+ // https://github.com/crossfilter/crossfilter/blob/gh-pages/index.html#L466
45
+ var getHandlePath = function getHandlePath(props) {
46
+ return function brushResizePath(d) {
47
+ var e = Number(d.type === 'e');
48
+ var x = e ? 1 : -1;
49
+ var h = 39;
50
+ var w = 4.5;
51
+ var y = (props.height - h) / 2;
52
+ return "M".concat(0.5 * x, ",").concat(y, "c").concat(2.5 * x, ",0,").concat(w * x, ",2,").concat(w * x, ",").concat(w, "v").concat(h - w * 2, "c0,2.5,").concat(-2 * x, ",").concat(w, ",").concat(-w * x, ",").concat(w, "V").concat(y, "z");
53
+ };
54
+ };
55
+ function RangeBrushFactory() {
56
+ var RangeBrush = /*#__PURE__*/function (_Component) {
57
+ function RangeBrush() {
58
+ var _this;
59
+ (0, _classCallCheck2["default"])(this, RangeBrush);
60
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
61
+ args[_key] = arguments[_key];
62
+ }
63
+ _this = _callSuper(this, RangeBrush, [].concat(args));
64
+ (0, _defineProperty2["default"])(_this, "rootContainer", /*#__PURE__*/(0, _react.createRef)());
65
+ (0, _defineProperty2["default"])(_this, "brushing", false);
66
+ (0, _defineProperty2["default"])(_this, "moving", false);
67
+ (0, _defineProperty2["default"])(_this, "root", _this.rootContainer.current ? (0, _d3Selection.select)(_this.rootContainer.current) : undefined);
68
+ (0, _defineProperty2["default"])(_this, "brush", void 0);
69
+ (0, _defineProperty2["default"])(_this, "_startSel", void 0);
70
+ (0, _defineProperty2["default"])(_this, "_lastSel", void 0);
71
+ (0, _defineProperty2["default"])(_this, "handle", void 0);
72
+ (0, _defineProperty2["default"])(_this, "_brushed", function (evt) {
73
+ var _this2;
74
+ // Ignore brush events which don't have an underlying sourceEvent
75
+ if (!evt.sourceEvent) return;
76
+ var _evt$selection = (0, _slicedToArray2["default"])(evt.selection, 2),
77
+ sel0 = _evt$selection[0],
78
+ sel1 = _evt$selection[1];
79
+ var right = moveRight(_this._startSel, evt.selection);
80
+ var _this$props = _this.props,
81
+ _this$props$range = (0, _slicedToArray2["default"])(_this$props.range, 2),
82
+ min = _this$props$range[0],
83
+ max = _this$props$range[1],
84
+ _this$props$step = _this$props.step,
85
+ step = _this$props$step === void 0 ? 0 : _this$props$step,
86
+ width = _this$props.width,
87
+ marks = _this$props.marks,
88
+ isRanged = _this$props.isRanged;
89
+ var invert = function invert(x) {
90
+ return x * (max - min) / width + min;
91
+ };
92
+ var d0 = invert(sel0);
93
+ var d1 = invert(sel1);
94
+ // this makes sure if points are right at the beginning of the domains are displayed correctly
95
+ // the problem here is bisectLeftx
96
+ d0 = d0 === min ? d0 : (0, _utils.normalizeSliderValue)(d0, min, step, marks);
97
+ d1 = (0, _utils.normalizeSliderValue)(d1, min, step, marks);
98
+ if (isRanged) _this._move(d0, d1);else (_this2 = _this)._move.apply(_this2, (0, _toConsumableArray2["default"])(right ? [d1, d1] : [d0, d0]));
99
+ if (isRanged) _this._onBrush(d0, d1);else _this._onBrush(right ? d1 : d0);
100
+ });
101
+ return _this;
102
+ }
103
+ (0, _inherits2["default"])(RangeBrush, _Component);
104
+ return (0, _createClass2["default"])(RangeBrush, [{
105
+ key: "componentDidMount",
106
+ value: function componentDidMount() {
107
+ var _this3 = this,
108
+ _this$root,
109
+ _this$root2;
110
+ // We want the React app to respond to brush state and vice-versa
111
+ // but d3-brush fires the same events for both user-initiated brushing
112
+ // and programmatic brushing (brush.move). We need these flags to
113
+ // distinguish between the uses.
114
+ //
115
+ // We don't use state because that would trigger another `componentDidUpdate`
116
+ var _this$props2 = this.props,
117
+ theme = _this$props2.theme,
118
+ isRanged = _this$props2.isRanged,
119
+ onMouseoverHandle = _this$props2.onMouseoverHandle,
120
+ onMouseoutHandle = _this$props2.onMouseoutHandle;
121
+ this.root = this.rootContainer.current ? (0, _d3Selection.select)(this.rootContainer.current) : undefined;
122
+ this.brush = (0, _d3Brush.brushX)().handleSize(3).on('start', function (event) {
123
+ if (typeof _this3.props.onBrushStart === 'function') _this3.props.onBrushStart();
124
+ _this3._startSel = event.selection;
125
+ }).on('brush', function (event) {
126
+ if (_this3.moving) {
127
+ return;
128
+ }
129
+ if (event.selection) {
130
+ _this3._lastSel = event.selection;
131
+ _this3.brushing = true;
132
+ _this3._brushed(event);
133
+ }
134
+ }).on('end', function (event) {
135
+ if (!event.selection) {
136
+ if (_this3.brushing) {
137
+ // handle null selection
138
+ _this3._click(_this3._lastSel);
139
+ } else if (_this3._startSel) {
140
+ // handle click
141
+ _this3._click(_this3._startSel);
142
+ }
143
+ }
144
+ if (typeof _this3.props.onBrushEnd === 'function') _this3.props.onBrushEnd();
145
+ _this3.brushing = false;
146
+ _this3.moving = false;
147
+ });
148
+ (_this$root = this.root) === null || _this$root === void 0 || _this$root.call(this.brush);
149
+ var brushResizePath = getHandlePath(this.props);
150
+ this.handle = (_this$root2 = this.root) === null || _this$root2 === void 0 ? void 0 : _this$root2.selectAll('.handle--custom').data([{
151
+ type: 'w'
152
+ }, {
153
+ type: 'e'
154
+ }]).enter().append('path').attr('class', 'handle--custom').attr('display', isRanged ? null : 'none').attr('fill', theme ? theme.sliderHandleColor : '#D3D8E0').attr('cursor', 'ew-resize').attr('d', brushResizePath).on('mouseover', function () {
155
+ if (onMouseoverHandle) onMouseoverHandle();
156
+ }).on('mouseout', function () {
157
+ if (onMouseoutHandle) onMouseoutHandle();
158
+ });
159
+ var _this$props$value = (0, _slicedToArray2["default"])(this.props.value, 2),
160
+ val0 = _this$props$value[0],
161
+ val1 = _this$props$value[1];
162
+ this.moving = true;
163
+ this._move(val0, val1);
164
+ }
165
+ }, {
166
+ key: "componentDidUpdate",
167
+ value: function componentDidUpdate(prevProps) {
168
+ var _this$props3 = this.props,
169
+ _this$props3$value = (0, _slicedToArray2["default"])(_this$props3.value, 2),
170
+ val0 = _this$props3$value[0],
171
+ val1 = _this$props3$value[1],
172
+ width = _this$props3.width;
173
+ var _prevProps$value = (0, _slicedToArray2["default"])(prevProps.value, 2),
174
+ prevVal0 = _prevProps$value[0],
175
+ prevVal1 = _prevProps$value[1];
176
+ if (prevProps.width !== width) {
177
+ var _this$root3;
178
+ // width change should not trigger this._brushed
179
+ this.moving = true;
180
+ if (this.brush) (_this$root3 = this.root) === null || _this$root3 === void 0 || _this$root3.call(this.brush);
181
+ this._move(val0, val1);
182
+ }
183
+ if (!this.brushing && !this.moving) {
184
+ if (prevVal0 !== val0 || prevVal1 !== val1) {
185
+ this.moving = true;
186
+ this._move(val0, val1);
187
+ }
188
+ }
189
+ if (!this.props.isRanged && this.handle) {
190
+ this.handle.attr('display', 'none');
191
+ }
192
+ }
193
+ }, {
194
+ key: "_click",
195
+ value: function _click(selection) {
196
+ // fake brush
197
+ this.brushing = true;
198
+ this._brushed({
199
+ sourceEvent: {},
200
+ selection: selection
201
+ });
202
+ }
203
+ }, {
204
+ key: "_move",
205
+ value: function _move() {
206
+ var val0 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
207
+ var val1 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
208
+ var _this$props4 = this.props,
209
+ _this$props4$range = (0, _slicedToArray2["default"])(_this$props4.range, 2),
210
+ min = _this$props4$range[0],
211
+ max = _this$props4$range[1],
212
+ width = _this$props4.width,
213
+ isRanged = _this$props4.isRanged;
214
+ if (width && max - min && this.brush && this.handle) {
215
+ var scale = function scale(x) {
216
+ return (x - min) * width / (max - min);
217
+ };
218
+ if (!isRanged) {
219
+ // only draw a 1 pixel line
220
+ if (this.root) this.brush.move(this.root, [scale(val0), scale(val0) + 1]);
221
+ } else {
222
+ if (this.root) this.brush.move(this.root, [scale(val0), scale(val1)]);
223
+ this.handle.attr('display', null).attr('transform', function (d, i) {
224
+ return "translate(".concat([i === 0 ? scale(val0) : scale(val1), 0], ")");
225
+ });
226
+ }
227
+ }
228
+ }
229
+ }, {
230
+ key: "_onBrush",
231
+ value: function _onBrush() {
232
+ var val0 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
233
+ var val1 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
234
+ var _this$props5 = this.props,
235
+ isRanged = _this$props5.isRanged,
236
+ _this$props5$value = (0, _slicedToArray2["default"])(_this$props5.value, 2),
237
+ currentVal0 = _this$props5$value[0],
238
+ currentVal1 = _this$props5$value[1];
239
+ if (currentVal0 === val0 && currentVal1 === val1) {
240
+ return;
241
+ }
242
+ if (isRanged) {
243
+ this.props.onBrush(val0, val1);
244
+ } else {
245
+ this.props.onBrush(val0, val0);
246
+ }
247
+ }
248
+ }, {
249
+ key: "render",
250
+ value: function render() {
251
+ var isRanged = this.props.isRanged;
252
+ return /*#__PURE__*/_react["default"].createElement(StyledG, {
253
+ className: "kg-range-slider__brush",
254
+ isRanged: isRanged,
255
+ ref: this.rootContainer
256
+ });
257
+ }
258
+ }]);
259
+ }(_react.Component);
260
+ (0, _defineProperty2["default"])(RangeBrush, "defaultProps", {
261
+ isRanged: true
262
+ });
263
+ return (0, _styledComponents.withTheme)(RangeBrush);
264
+ }
265
+ var _default = exports["default"] = RangeBrushFactory;
266
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9kM1NlbGVjdGlvbiIsIl9kM0JydXNoIiwiX3V0aWxzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX2NhbGxTdXBlciIsIm8iLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsImFwcGx5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJTdHlsZWRHIiwic3R5bGVkIiwiZyIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJpc1JhbmdlZCIsInRoZW1lIiwicmFuZ2VCcnVzaEJnZCIsIkJMVUUyIiwibW92ZVJpZ2h0Iiwic3RhcnRTZWwiLCJzZWxlY3Rpb24iLCJfc3RhcnRTZWwiLCJfc2xpY2VkVG9BcnJheTIiLCJzdGFydFNlbDAiLCJfc2VsZWN0aW9uIiwic2VsMCIsImdldEhhbmRsZVBhdGgiLCJicnVzaFJlc2l6ZVBhdGgiLCJkIiwiTnVtYmVyIiwidHlwZSIsIngiLCJoIiwidyIsInkiLCJoZWlnaHQiLCJjb25jYXQiLCJSYW5nZUJydXNoRmFjdG9yeSIsIlJhbmdlQnJ1c2giLCJfQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJfZGVmaW5lUHJvcGVydHkyIiwiY3JlYXRlUmVmIiwicm9vdENvbnRhaW5lciIsImN1cnJlbnQiLCJzZWxlY3QiLCJ1bmRlZmluZWQiLCJldnQiLCJfdGhpczIiLCJzb3VyY2VFdmVudCIsIl9ldnQkc2VsZWN0aW9uIiwic2VsMSIsInJpZ2h0IiwiX3RoaXMkcHJvcHMiLCJfdGhpcyRwcm9wcyRyYW5nZSIsInJhbmdlIiwibWluIiwibWF4IiwiX3RoaXMkcHJvcHMkc3RlcCIsInN0ZXAiLCJ3aWR0aCIsIm1hcmtzIiwiaW52ZXJ0IiwiZDAiLCJkMSIsIm5vcm1hbGl6ZVNsaWRlclZhbHVlIiwiX21vdmUiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiX29uQnJ1c2giLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwiY29tcG9uZW50RGlkTW91bnQiLCJfdGhpczMiLCJfdGhpcyRyb290IiwiX3RoaXMkcm9vdDIiLCJfdGhpcyRwcm9wczIiLCJvbk1vdXNlb3ZlckhhbmRsZSIsIm9uTW91c2VvdXRIYW5kbGUiLCJyb290IiwiYnJ1c2giLCJicnVzaFgiLCJoYW5kbGVTaXplIiwib24iLCJldmVudCIsIm9uQnJ1c2hTdGFydCIsIm1vdmluZyIsIl9sYXN0U2VsIiwiYnJ1c2hpbmciLCJfYnJ1c2hlZCIsIl9jbGljayIsIm9uQnJ1c2hFbmQiLCJoYW5kbGUiLCJzZWxlY3RBbGwiLCJkYXRhIiwiZW50ZXIiLCJhcHBlbmQiLCJhdHRyIiwic2xpZGVySGFuZGxlQ29sb3IiLCJfdGhpcyRwcm9wcyR2YWx1ZSIsInZhbDAiLCJ2YWwxIiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJldlByb3BzIiwiX3RoaXMkcHJvcHMzIiwiX3RoaXMkcHJvcHMzJHZhbHVlIiwiX3ByZXZQcm9wcyR2YWx1ZSIsInByZXZWYWwwIiwicHJldlZhbDEiLCJfdGhpcyRyb290MyIsIl90aGlzJHByb3BzNCIsIl90aGlzJHByb3BzNCRyYW5nZSIsInNjYWxlIiwibW92ZSIsIl90aGlzJHByb3BzNSIsIl90aGlzJHByb3BzNSR2YWx1ZSIsImN1cnJlbnRWYWwwIiwiY3VycmVudFZhbDEiLCJvbkJydXNoIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInJlZiIsIkNvbXBvbmVudCIsIndpdGhUaGVtZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vcmFuZ2UtYnJ1c2gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgY3JlYXRlUmVmfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkLCB7d2l0aFRoZW1lfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge3NlbGVjdCwgU2VsZWN0aW9ufSBmcm9tICdkMy1zZWxlY3Rpb24nO1xuaW1wb3J0IHtCcnVzaEJlaGF2aW9yLCBicnVzaFh9IGZyb20gJ2QzLWJydXNoJztcbmltcG9ydCB7bm9ybWFsaXplU2xpZGVyVmFsdWV9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuXG5pbnRlcmZhY2UgU3R5bGVkR1Byb3BzIHtcbiAgaXNSYW5nZWQ/OiBib29sZWFuO1xufVxuXG5jb25zdCBTdHlsZWRHID0gc3R5bGVkLmc8U3R5bGVkR1Byb3BzPmBcbiAgLnNlbGVjdGlvbiB7XG4gICAgc3Ryb2tlOiBub25lO1xuICAgIGZpbGw6ICR7cHJvcHMgPT4gKHByb3BzLmlzUmFuZ2VkID8gcHJvcHMudGhlbWUucmFuZ2VCcnVzaEJnZCA6IHByb3BzLnRoZW1lLkJMVUUyKX07XG4gICAgZmlsbC1vcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy5pc1JhbmdlZCA/IDAuMyA6IDEpfTtcbiAgfVxuICAuaGFuZGxlIHtcbiAgICBmaWxsOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLkJMVUUyfTtcbiAgICBmaWxsLW9wYWNpdHk6IDAuMztcbiAgfVxuYDtcblxuZnVuY3Rpb24gbW92ZVJpZ2h0KHN0YXJ0U2VsLCBzZWxlY3Rpb24pIHtcbiAgY29uc3QgW3N0YXJ0U2VsMF0gPSBzdGFydFNlbDtcbiAgY29uc3QgW3NlbDBdID0gc2VsZWN0aW9uO1xuXG4gIHJldHVybiBCb29sZWFuKHN0YXJ0U2VsMCA9PT0gc2VsMCk7XG59XG4vLyBzdHlsZSBicnVzaCByZXNpemUgaGFuZGxlXG4vLyBodHRwczovL2dpdGh1Yi5jb20vY3Jvc3NmaWx0ZXIvY3Jvc3NmaWx0ZXIvYmxvYi9naC1wYWdlcy9pbmRleC5odG1sI0w0NjZcbmNvbnN0IGdldEhhbmRsZVBhdGggPSAocHJvcHM6IFJhbmdlQnJ1c2hQcm9wcykgPT4ge1xuICByZXR1cm4gZnVuY3Rpb24gYnJ1c2hSZXNpemVQYXRoKGQpIHtcbiAgICBjb25zdCBlID0gTnVtYmVyKGQudHlwZSA9PT0gJ2UnKTtcbiAgICBjb25zdCB4ID0gZSA/IDEgOiAtMTtcbiAgICBjb25zdCBoID0gMzk7XG4gICAgY29uc3QgdyA9IDQuNTtcbiAgICBjb25zdCB5ID0gKHByb3BzLmhlaWdodCAtIGgpIC8gMjtcbiAgICByZXR1cm4gYE0kezAuNSAqIHh9LCR7eX1jJHsyLjUgKiB4fSwwLCR7dyAqIHh9LDIsJHt3ICogeH0sJHt3fXYke2ggLSB3ICogMn1jMCwyLjUsJHtcbiAgICAgIC0yICogeFxuICAgIH0sJHt3fSwkey13ICogeH0sJHt3fVYke3l9emA7XG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBPbkJydXNoID0gKHZhbDA6IG51bWJlciwgdmFsMTogbnVtYmVyKSA9PiB2b2lkO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJhbmdlQnJ1c2hQcm9wcyB7XG4gIGlzUmFuZ2VkPzogYm9vbGVhbjtcbiAgdGhlbWU/OiBhbnk7XG4gIHJhbmdlOiBudW1iZXJbXTtcbiAgdmFsdWU6IG51bWJlcltdO1xuICBvbkJydXNoU3RhcnQ6ICgpID0+IHZvaWQ7XG4gIG9uQnJ1c2hFbmQ6ICgpID0+IHZvaWQ7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICBvbkJydXNoOiBPbkJydXNoO1xuICBzdGVwPzogbnVtYmVyO1xuICBtYXJrcz86IG51bWJlcltdO1xuICBvbk1vdXNlb3ZlckhhbmRsZTogKCkgPT4gdm9pZDtcbiAgb25Nb3VzZW91dEhhbmRsZTogKCkgPT4gdm9pZDtcbn1cblxuZnVuY3Rpb24gUmFuZ2VCcnVzaEZhY3RvcnkoKTogUmVhY3QuQ29tcG9uZW50VHlwZTxSYW5nZUJydXNoUHJvcHM+IHtcbiAgY2xhc3MgUmFuZ2VCcnVzaCBleHRlbmRzIENvbXBvbmVudDxSYW5nZUJydXNoUHJvcHM+IHtcbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgaXNSYW5nZWQ6IHRydWVcbiAgICB9O1xuXG4gICAgcm9vdENvbnRhaW5lciA9IGNyZWF0ZVJlZjxTVkdHRWxlbWVudD4oKTtcblxuICAgIGJydXNoaW5nID0gZmFsc2U7XG4gICAgbW92aW5nID0gZmFsc2U7XG5cbiAgICByb290ID0gdGhpcy5yb290Q29udGFpbmVyLmN1cnJlbnQgPyBzZWxlY3QodGhpcy5yb290Q29udGFpbmVyLmN1cnJlbnQpIDogdW5kZWZpbmVkO1xuICAgIGJydXNoOiBCcnVzaEJlaGF2aW9yPGFueT4gfCB1bmRlZmluZWQ7XG4gICAgX3N0YXJ0U2VsOiBudW1iZXJbXSB8IHVuZGVmaW5lZDtcbiAgICBfbGFzdFNlbDogbnVtYmVyW10gfCB1bmRlZmluZWQ7XG5cbiAgICBoYW5kbGU6IFNlbGVjdGlvbjxTVkdQYXRoRWxlbWVudCwge3R5cGU6IHN0cmluZ30sIFNWR0dFbGVtZW50IHwgbnVsbCwgdW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIC8vIFdlIHdhbnQgdGhlIFJlYWN0IGFwcCB0byByZXNwb25kIHRvIGJydXNoIHN0YXRlIGFuZCB2aWNlLXZlcnNhXG4gICAgICAvLyBidXQgZDMtYnJ1c2ggZmlyZXMgdGhlIHNhbWUgZXZlbnRzIGZvciBib3RoIHVzZXItaW5pdGlhdGVkIGJydXNoaW5nXG4gICAgICAvLyBhbmQgcHJvZ3JhbW1hdGljIGJydXNoaW5nIChicnVzaC5tb3ZlKS4gV2UgbmVlZCB0aGVzZSBmbGFncyB0b1xuICAgICAgLy8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUgdXNlcy5cbiAgICAgIC8vXG4gICAgICAvLyBXZSBkb24ndCB1c2Ugc3RhdGUgYmVjYXVzZSB0aGF0IHdvdWxkIHRyaWdnZXIgYW5vdGhlciBgY29tcG9uZW50RGlkVXBkYXRlYFxuICAgICAgY29uc3Qge3RoZW1lLCBpc1JhbmdlZCwgb25Nb3VzZW92ZXJIYW5kbGUsIG9uTW91c2VvdXRIYW5kbGV9ID0gdGhpcy5wcm9wcztcblxuICAgICAgdGhpcy5yb290ID0gdGhpcy5yb290Q29udGFpbmVyLmN1cnJlbnQgPyBzZWxlY3QodGhpcy5yb290Q29udGFpbmVyLmN1cnJlbnQpIDogdW5kZWZpbmVkO1xuICAgICAgdGhpcy5icnVzaCA9IGJydXNoWCgpXG4gICAgICAgIC5oYW5kbGVTaXplKDMpXG4gICAgICAgIC5vbignc3RhcnQnLCBldmVudCA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BzLm9uQnJ1c2hTdGFydCA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5wcm9wcy5vbkJydXNoU3RhcnQoKTtcbiAgICAgICAgICB0aGlzLl9zdGFydFNlbCA9IGV2ZW50LnNlbGVjdGlvbjtcbiAgICAgICAgfSlcbiAgICAgICAgLm9uKCdicnVzaCcsIGV2ZW50ID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5tb3ZpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGV2ZW50LnNlbGVjdGlvbikge1xuICAgICAgICAgICAgdGhpcy5fbGFzdFNlbCA9IGV2ZW50LnNlbGVjdGlvbjtcbiAgICAgICAgICAgIHRoaXMuYnJ1c2hpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5fYnJ1c2hlZChldmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAub24oJ2VuZCcsIGV2ZW50ID0+IHtcbiAgICAgICAgICBpZiAoIWV2ZW50LnNlbGVjdGlvbikge1xuICAgICAgICAgICAgaWYgKHRoaXMuYnJ1c2hpbmcpIHtcbiAgICAgICAgICAgICAgLy8gaGFuZGxlIG51bGwgc2VsZWN0aW9uXG4gICAgICAgICAgICAgIHRoaXMuX2NsaWNrKHRoaXMuX2xhc3RTZWwpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9zdGFydFNlbCkge1xuICAgICAgICAgICAgICAvLyBoYW5kbGUgY2xpY2tcbiAgICAgICAgICAgICAgdGhpcy5fY2xpY2sodGhpcy5fc3RhcnRTZWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcy5vbkJydXNoRW5kID09PSAnZnVuY3Rpb24nKSB0aGlzLnByb3BzLm9uQnJ1c2hFbmQoKTtcblxuICAgICAgICAgIHRoaXMuYnJ1c2hpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLm1vdmluZyA9IGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5yb290Py5jYWxsKHRoaXMuYnJ1c2gpO1xuICAgICAgY29uc3QgYnJ1c2hSZXNpemVQYXRoID0gZ2V0SGFuZGxlUGF0aCh0aGlzLnByb3BzKTtcbiAgICAgIHRoaXMuaGFuZGxlID0gdGhpcy5yb290XG4gICAgICAgID8uc2VsZWN0QWxsKCcuaGFuZGxlLS1jdXN0b20nKVxuICAgICAgICAuZGF0YShbe3R5cGU6ICd3J30sIHt0eXBlOiAnZSd9XSlcbiAgICAgICAgLmVudGVyKClcbiAgICAgICAgLmFwcGVuZCgncGF0aCcpXG4gICAgICAgIC5hdHRyKCdjbGFzcycsICdoYW5kbGUtLWN1c3RvbScpXG4gICAgICAgIC5hdHRyKCdkaXNwbGF5JywgaXNSYW5nZWQgPyBudWxsIDogJ25vbmUnKVxuICAgICAgICAuYXR0cignZmlsbCcsIHRoZW1lID8gdGhlbWUuc2xpZGVySGFuZGxlQ29sb3IgOiAnI0QzRDhFMCcpXG4gICAgICAgIC5hdHRyKCdjdXJzb3InLCAnZXctcmVzaXplJylcbiAgICAgICAgLmF0dHIoJ2QnLCBicnVzaFJlc2l6ZVBhdGgpXG4gICAgICAgIC5vbignbW91c2VvdmVyJywgKCkgPT4ge1xuICAgICAgICAgIGlmIChvbk1vdXNlb3ZlckhhbmRsZSkgb25Nb3VzZW92ZXJIYW5kbGUoKTtcbiAgICAgICAgfSlcbiAgICAgICAgLm9uKCdtb3VzZW91dCcsICgpID0+IHtcbiAgICAgICAgICBpZiAob25Nb3VzZW91dEhhbmRsZSkgb25Nb3VzZW91dEhhbmRsZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgY29uc3Qge1xuICAgICAgICB2YWx1ZTogW3ZhbDAsIHZhbDFdXG4gICAgICB9ID0gdGhpcy5wcm9wcztcbiAgICAgIHRoaXMubW92aW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuX21vdmUodmFsMCwgdmFsMSk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xuICAgICAgY29uc3Qge1xuICAgICAgICB2YWx1ZTogW3ZhbDAsIHZhbDFdLFxuICAgICAgICB3aWR0aFxuICAgICAgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBbcHJldlZhbDAsIHByZXZWYWwxXSA9IHByZXZQcm9wcy52YWx1ZTtcblxuICAgICAgaWYgKHByZXZQcm9wcy53aWR0aCAhPT0gd2lkdGgpIHtcbiAgICAgICAgLy8gd2lkdGggY2hhbmdlIHNob3VsZCBub3QgdHJpZ2dlciB0aGlzLl9icnVzaGVkXG4gICAgICAgIHRoaXMubW92aW5nID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuYnJ1c2gpIHRoaXMucm9vdD8uY2FsbCh0aGlzLmJydXNoKTtcbiAgICAgICAgdGhpcy5fbW92ZSh2YWwwLCB2YWwxKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmJydXNoaW5nICYmICF0aGlzLm1vdmluZykge1xuICAgICAgICBpZiAocHJldlZhbDAgIT09IHZhbDAgfHwgcHJldlZhbDEgIT09IHZhbDEpIHtcbiAgICAgICAgICB0aGlzLm1vdmluZyA9IHRydWU7XG4gICAgICAgICAgdGhpcy5fbW92ZSh2YWwwLCB2YWwxKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMucHJvcHMuaXNSYW5nZWQgJiYgdGhpcy5oYW5kbGUpIHtcbiAgICAgICAgdGhpcy5oYW5kbGUuYXR0cignZGlzcGxheScsICdub25lJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgX2NsaWNrKHNlbGVjdGlvbikge1xuICAgICAgLy8gZmFrZSBicnVzaFxuICAgICAgdGhpcy5icnVzaGluZyA9IHRydWU7XG4gICAgICB0aGlzLl9icnVzaGVkKHtzb3VyY2VFdmVudDoge30sIHNlbGVjdGlvbn0pO1xuICAgIH1cblxuICAgIF9tb3ZlKHZhbDAgPSAwLCB2YWwxID0gMCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICByYW5nZTogW21pbiwgbWF4XSxcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGlzUmFuZ2VkXG4gICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKHdpZHRoICYmIG1heCAtIG1pbiAmJiB0aGlzLmJydXNoICYmIHRoaXMuaGFuZGxlKSB7XG4gICAgICAgIGNvbnN0IHNjYWxlID0gKHg6IG51bWJlcikgPT4gKCh4IC0gbWluKSAqIHdpZHRoKSAvIChtYXggLSBtaW4pO1xuICAgICAgICBpZiAoIWlzUmFuZ2VkKSB7XG4gICAgICAgICAgLy8gb25seSBkcmF3IGEgMSBwaXhlbCBsaW5lXG4gICAgICAgICAgaWYgKHRoaXMucm9vdCkgdGhpcy5icnVzaC5tb3ZlKHRoaXMucm9vdCwgW3NjYWxlKHZhbDApLCBzY2FsZSh2YWwwKSArIDFdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5yb290KSB0aGlzLmJydXNoLm1vdmUodGhpcy5yb290LCBbc2NhbGUodmFsMCksIHNjYWxlKHZhbDEpXSk7XG5cbiAgICAgICAgICB0aGlzLmhhbmRsZVxuICAgICAgICAgICAgLmF0dHIoJ2Rpc3BsYXknLCBudWxsKVxuICAgICAgICAgICAgLmF0dHIoJ3RyYW5zZm9ybScsIChkLCBpKSA9PiBgdHJhbnNsYXRlKCR7W2kgPT09IDAgPyBzY2FsZSh2YWwwKSA6IHNjYWxlKHZhbDEpLCAwXX0pYCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBfYnJ1c2hlZCA9IChldnQ6IHtzb3VyY2VFdmVudDogYW55OyBzZWxlY3Rpb246IG51bWJlcltdfSkgPT4ge1xuICAgICAgLy8gSWdub3JlIGJydXNoIGV2ZW50cyB3aGljaCBkb24ndCBoYXZlIGFuIHVuZGVybHlpbmcgc291cmNlRXZlbnRcbiAgICAgIGlmICghZXZ0LnNvdXJjZUV2ZW50KSByZXR1cm47XG4gICAgICBjb25zdCBbc2VsMCwgc2VsMV0gPSBldnQuc2VsZWN0aW9uO1xuICAgICAgY29uc3QgcmlnaHQgPSBtb3ZlUmlnaHQodGhpcy5fc3RhcnRTZWwsIGV2dC5zZWxlY3Rpb24pO1xuXG4gICAgICBjb25zdCB7XG4gICAgICAgIHJhbmdlOiBbbWluLCBtYXhdLFxuICAgICAgICBzdGVwID0gMCxcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIG1hcmtzLFxuICAgICAgICBpc1JhbmdlZFxuICAgICAgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpbnZlcnQgPSAoeDogbnVtYmVyKSA9PiAoeCAqIChtYXggLSBtaW4pKSAvIHdpZHRoICsgbWluO1xuICAgICAgbGV0IGQwID0gaW52ZXJ0KHNlbDApO1xuICAgICAgbGV0IGQxID0gaW52ZXJ0KHNlbDEpO1xuICAgICAgLy8gdGhpcyBtYWtlcyBzdXJlIGlmIHBvaW50cyBhcmUgcmlnaHQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZG9tYWlucyBhcmUgZGlzcGxheWVkIGNvcnJlY3RseVxuICAgICAgLy8gdGhlIHByb2JsZW0gaGVyZSBpcyBiaXNlY3RMZWZ0eFxuICAgICAgZDAgPSBkMCA9PT0gbWluID8gZDAgOiBub3JtYWxpemVTbGlkZXJWYWx1ZShkMCwgbWluLCBzdGVwLCBtYXJrcyk7XG4gICAgICBkMSA9IG5vcm1hbGl6ZVNsaWRlclZhbHVlKGQxLCBtaW4sIHN0ZXAsIG1hcmtzKTtcblxuICAgICAgaWYgKGlzUmFuZ2VkKSB0aGlzLl9tb3ZlKGQwLCBkMSk7XG4gICAgICBlbHNlIHRoaXMuX21vdmUoLi4uKHJpZ2h0ID8gW2QxLCBkMV0gOiBbZDAsIGQwXSkpO1xuXG4gICAgICBpZiAoaXNSYW5nZWQpIHRoaXMuX29uQnJ1c2goZDAsIGQxKTtcbiAgICAgIGVsc2UgdGhpcy5fb25CcnVzaChyaWdodCA/IGQxIDogZDApO1xuICAgIH07XG5cbiAgICBfb25CcnVzaCh2YWwwID0gMCwgdmFsMSA9IDApIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgaXNSYW5nZWQsXG4gICAgICAgIHZhbHVlOiBbY3VycmVudFZhbDAsIGN1cnJlbnRWYWwxXVxuICAgICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChjdXJyZW50VmFsMCA9PT0gdmFsMCAmJiBjdXJyZW50VmFsMSA9PT0gdmFsMSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChpc1JhbmdlZCkge1xuICAgICAgICB0aGlzLnByb3BzLm9uQnJ1c2godmFsMCwgdmFsMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnByb3BzLm9uQnJ1c2godmFsMCwgdmFsMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge2lzUmFuZ2VkfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkRyBjbGFzc05hbWU9XCJrZy1yYW5nZS1zbGlkZXJfX2JydXNoXCIgaXNSYW5nZWQ9e2lzUmFuZ2VkfSByZWY9e3RoaXMucm9vdENvbnRhaW5lcn0gLz5cbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHJldHVybiB3aXRoVGhlbWUoUmFuZ2VCcnVzaCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFJhbmdlQnJ1c2hGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFGLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxZQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFBc0QsSUFBQUssZUFBQSxFQVB0RDtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFSLHdCQUFBUSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLENBQUEsU0FBQUcsQ0FBQSxHQUFBUCxDQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBYyxDQUFBLFVBQUFHLENBQUEsS0FBQUEsQ0FBQSxDQUFBVixHQUFBLElBQUFVLENBQUEsQ0FBQUMsR0FBQSxJQUFBUCxNQUFBLENBQUFDLGNBQUEsQ0FBQUosQ0FBQSxFQUFBTSxDQUFBLEVBQUFHLENBQUEsSUFBQVQsQ0FBQSxDQUFBTSxDQUFBLElBQUFkLENBQUEsQ0FBQWMsQ0FBQSxZQUFBTixDQUFBLGNBQUFSLENBQUEsRUFBQUcsQ0FBQSxJQUFBQSxDQUFBLENBQUFlLEdBQUEsQ0FBQWxCLENBQUEsRUFBQVEsQ0FBQSxHQUFBQSxDQUFBO0FBQUEsU0FBQVcsV0FBQWhCLENBQUEsRUFBQWlCLENBQUEsRUFBQXBCLENBQUEsV0FBQW9CLENBQUEsT0FBQUMsZ0JBQUEsYUFBQUQsQ0FBQSxPQUFBRSwyQkFBQSxhQUFBbkIsQ0FBQSxFQUFBb0IseUJBQUEsS0FBQUMsT0FBQSxDQUFBQyxTQUFBLENBQUFMLENBQUEsRUFBQXBCLENBQUEsWUFBQXFCLGdCQUFBLGFBQUFsQixDQUFBLEVBQUF1QixXQUFBLElBQUFOLENBQUEsQ0FBQU8sS0FBQSxDQUFBeEIsQ0FBQSxFQUFBSCxDQUFBO0FBQUEsU0FBQXVCLDBCQUFBLGNBQUFwQixDQUFBLElBQUF5QixPQUFBLENBQUFDLFNBQUEsQ0FBQUMsT0FBQSxDQUFBZCxJQUFBLENBQUFRLE9BQUEsQ0FBQUMsU0FBQSxDQUFBRyxPQUFBLGlDQUFBekIsQ0FBQSxhQUFBb0IseUJBQUEsWUFBQUEsMEJBQUEsYUFBQXBCLENBQUE7QUFZQSxJQUFNNEIsT0FBTyxHQUFHQyw0QkFBTSxDQUFDQyxDQUFDLENBQUFuQyxlQUFBLEtBQUFBLGVBQUEsT0FBQW9DLHVCQUFBLG9LQUdaLFVBQUFDLEtBQUs7RUFBQSxPQUFLQSxLQUFLLENBQUNDLFFBQVEsR0FBR0QsS0FBSyxDQUFDRSxLQUFLLENBQUNDLGFBQWEsR0FBR0gsS0FBSyxDQUFDRSxLQUFLLENBQUNFLEtBQUs7QUFBQSxDQUFDLEVBQ2pFLFVBQUFKLEtBQUs7RUFBQSxPQUFLQSxLQUFLLENBQUNDLFFBQVEsR0FBRyxHQUFHLEdBQUcsQ0FBQztBQUFBLENBQUMsRUFHM0MsVUFBQUQsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0UsS0FBSyxDQUFDRSxLQUFLO0FBQUEsRUFHckM7QUFFRCxTQUFTQyxTQUFTQSxDQUFDQyxRQUFRLEVBQUVDLFNBQVMsRUFBRTtFQUN0QyxJQUFBQyxTQUFBLE9BQUFDLGVBQUEsYUFBb0JILFFBQVE7SUFBckJJLFNBQVMsR0FBQUYsU0FBQTtFQUNoQixJQUFBRyxVQUFBLE9BQUFGLGVBQUEsYUFBZUYsU0FBUztJQUFqQkssSUFBSSxHQUFBRCxVQUFBO0VBRVgsT0FBT2xCLE9BQU8sQ0FBQ2lCLFNBQVMsS0FBS0UsSUFBSSxDQUFDO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBLElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBSWIsS0FBc0IsRUFBSztFQUNoRCxPQUFPLFNBQVNjLGVBQWVBLENBQUNDLENBQUMsRUFBRTtJQUNqQyxJQUFNbEQsQ0FBQyxHQUFHbUQsTUFBTSxDQUFDRCxDQUFDLENBQUNFLElBQUksS0FBSyxHQUFHLENBQUM7SUFDaEMsSUFBTUMsQ0FBQyxHQUFHckQsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEIsSUFBTXNELENBQUMsR0FBRyxFQUFFO0lBQ1osSUFBTUMsQ0FBQyxHQUFHLEdBQUc7SUFDYixJQUFNQyxDQUFDLEdBQUcsQ0FBQ3JCLEtBQUssQ0FBQ3NCLE1BQU0sR0FBR0gsQ0FBQyxJQUFJLENBQUM7SUFDaEMsV0FBQUksTUFBQSxDQUFXLEdBQUcsR0FBR0wsQ0FBQyxPQUFBSyxNQUFBLENBQUlGLENBQUMsT0FBQUUsTUFBQSxDQUFJLEdBQUcsR0FBR0wsQ0FBQyxTQUFBSyxNQUFBLENBQU1ILENBQUMsR0FBR0YsQ0FBQyxTQUFBSyxNQUFBLENBQU1ILENBQUMsR0FBR0YsQ0FBQyxPQUFBSyxNQUFBLENBQUlILENBQUMsT0FBQUcsTUFBQSxDQUFJSixDQUFDLEdBQUdDLENBQUMsR0FBRyxDQUFDLGFBQUFHLE1BQUEsQ0FDeEUsQ0FBQyxDQUFDLEdBQUdMLENBQUMsT0FBQUssTUFBQSxDQUNKSCxDQUFDLE9BQUFHLE1BQUEsQ0FBSSxDQUFDSCxDQUFDLEdBQUdGLENBQUMsT0FBQUssTUFBQSxDQUFJSCxDQUFDLE9BQUFHLE1BQUEsQ0FBSUYsQ0FBQztFQUMzQixDQUFDO0FBQ0gsQ0FBQztBQW9CRCxTQUFTRyxpQkFBaUJBLENBQUEsRUFBeUM7RUFBQSxJQUMzREMsVUFBVSwwQkFBQUMsVUFBQTtJQUFBLFNBQUFELFdBQUE7TUFBQSxJQUFBRSxLQUFBO01BQUEsSUFBQUMsZ0JBQUEsbUJBQUFILFVBQUE7TUFBQSxTQUFBSSxJQUFBLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxFQUFBQyxJQUFBLE9BQUFDLEtBQUEsQ0FBQUosSUFBQSxHQUFBSyxJQUFBLE1BQUFBLElBQUEsR0FBQUwsSUFBQSxFQUFBSyxJQUFBO1FBQUFGLElBQUEsQ0FBQUUsSUFBQSxJQUFBSixTQUFBLENBQUFJLElBQUE7TUFBQTtNQUFBUCxLQUFBLEdBQUEzQyxVQUFBLE9BQUF5QyxVQUFBLEtBQUFGLE1BQUEsQ0FBQVMsSUFBQTtNQUFBLElBQUFHLGdCQUFBLGFBQUFSLEtBQUEsZ0NBS0UsSUFBQVMsZ0JBQVMsRUFBYyxDQUFDO01BQUEsSUFBQUQsZ0JBQUEsYUFBQVIsS0FBQSxjQUU3QixLQUFLO01BQUEsSUFBQVEsZ0JBQUEsYUFBQVIsS0FBQSxZQUNQLEtBQUs7TUFBQSxJQUFBUSxnQkFBQSxhQUFBUixLQUFBLFVBRVBBLEtBQUEsQ0FBS1UsYUFBYSxDQUFDQyxPQUFPLEdBQUcsSUFBQUMsbUJBQU0sRUFBQ1osS0FBQSxDQUFLVSxhQUFhLENBQUNDLE9BQU8sQ0FBQyxHQUFHRSxTQUFTO01BQUEsSUFBQUwsZ0JBQUEsYUFBQVIsS0FBQTtNQUFBLElBQUFRLGdCQUFBLGFBQUFSLEtBQUE7TUFBQSxJQUFBUSxnQkFBQSxhQUFBUixLQUFBO01BQUEsSUFBQVEsZ0JBQUEsYUFBQVIsS0FBQTtNQUFBLElBQUFRLGdCQUFBLGFBQUFSLEtBQUEsY0FrSXZFLFVBQUNjLEdBQTRDLEVBQUs7UUFBQSxJQUFBQyxNQUFBO1FBQzNEO1FBQ0EsSUFBSSxDQUFDRCxHQUFHLENBQUNFLFdBQVcsRUFBRTtRQUN0QixJQUFBQyxjQUFBLE9BQUFuQyxlQUFBLGFBQXFCZ0MsR0FBRyxDQUFDbEMsU0FBUztVQUEzQkssSUFBSSxHQUFBZ0MsY0FBQTtVQUFFQyxJQUFJLEdBQUFELGNBQUE7UUFDakIsSUFBTUUsS0FBSyxHQUFHekMsU0FBUyxDQUFDc0IsS0FBQSxDQUFLbkIsU0FBUyxFQUFFaUMsR0FBRyxDQUFDbEMsU0FBUyxDQUFDO1FBRXRELElBQUF3QyxXQUFBLEdBTUlwQixLQUFBLENBQUszQixLQUFLO1VBQUFnRCxpQkFBQSxPQUFBdkMsZUFBQSxhQUFBc0MsV0FBQSxDQUxaRSxLQUFLO1VBQUdDLEdBQUcsR0FBQUYsaUJBQUE7VUFBRUcsR0FBRyxHQUFBSCxpQkFBQTtVQUFBSSxnQkFBQSxHQUFBTCxXQUFBLENBQ2hCTSxJQUFJO1VBQUpBLElBQUksR0FBQUQsZ0JBQUEsY0FBRyxDQUFDLEdBQUFBLGdCQUFBO1VBQ1JFLEtBQUssR0FBQVAsV0FBQSxDQUFMTyxLQUFLO1VBQ0xDLEtBQUssR0FBQVIsV0FBQSxDQUFMUSxLQUFLO1VBQ0x0RCxRQUFRLEdBQUE4QyxXQUFBLENBQVI5QyxRQUFRO1FBRVYsSUFBTXVELE1BQU0sR0FBRyxTQUFUQSxNQUFNQSxDQUFJdEMsQ0FBUztVQUFBLE9BQU1BLENBQUMsSUFBSWlDLEdBQUcsR0FBR0QsR0FBRyxDQUFDLEdBQUlJLEtBQUssR0FBR0osR0FBRztRQUFBO1FBQzdELElBQUlPLEVBQUUsR0FBR0QsTUFBTSxDQUFDNUMsSUFBSSxDQUFDO1FBQ3JCLElBQUk4QyxFQUFFLEdBQUdGLE1BQU0sQ0FBQ1gsSUFBSSxDQUFDO1FBQ3JCO1FBQ0E7UUFDQVksRUFBRSxHQUFHQSxFQUFFLEtBQUtQLEdBQUcsR0FBR08sRUFBRSxHQUFHLElBQUFFLDJCQUFvQixFQUFDRixFQUFFLEVBQUVQLEdBQUcsRUFBRUcsSUFBSSxFQUFFRSxLQUFLLENBQUM7UUFDakVHLEVBQUUsR0FBRyxJQUFBQywyQkFBb0IsRUFBQ0QsRUFBRSxFQUFFUixHQUFHLEVBQUVHLElBQUksRUFBRUUsS0FBSyxDQUFDO1FBRS9DLElBQUl0RCxRQUFRLEVBQUUwQixLQUFBLENBQUtpQyxLQUFLLENBQUNILEVBQUUsRUFBRUMsRUFBRSxDQUFDLENBQUMsS0FDNUIsQ0FBQWhCLE1BQUEsR0FBQWYsS0FBQSxFQUFLaUMsS0FBSyxDQUFBcEUsS0FBQSxDQUFBa0QsTUFBQSxNQUFBbUIsbUJBQUEsYUFBS2YsS0FBSyxHQUFHLENBQUNZLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEdBQUcsQ0FBQ0QsRUFBRSxFQUFFQSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWpELElBQUl4RCxRQUFRLEVBQUUwQixLQUFBLENBQUttQyxRQUFRLENBQUNMLEVBQUUsRUFBRUMsRUFBRSxDQUFDLENBQUMsS0FDL0IvQixLQUFBLENBQUttQyxRQUFRLENBQUNoQixLQUFLLEdBQUdZLEVBQUUsR0FBR0QsRUFBRSxDQUFDO01BQ3JDLENBQUM7TUFBQSxPQUFBOUIsS0FBQTtJQUFBO0lBQUEsSUFBQW9DLFVBQUEsYUFBQXRDLFVBQUEsRUFBQUMsVUFBQTtJQUFBLFdBQUFzQyxhQUFBLGFBQUF2QyxVQUFBO01BQUF3QyxHQUFBO01BQUFDLEtBQUEsRUFySkQsU0FBQUMsaUJBQWlCQSxDQUFBLEVBQUc7UUFBQSxJQUFBQyxNQUFBO1VBQUFDLFVBQUE7VUFBQUMsV0FBQTtRQUNsQjtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQSxJQUFBQyxZQUFBLEdBQStELElBQUksQ0FBQ3ZFLEtBQUs7VUFBbEVFLEtBQUssR0FBQXFFLFlBQUEsQ0FBTHJFLEtBQUs7VUFBRUQsUUFBUSxHQUFBc0UsWUFBQSxDQUFSdEUsUUFBUTtVQUFFdUUsaUJBQWlCLEdBQUFELFlBQUEsQ0FBakJDLGlCQUFpQjtVQUFFQyxnQkFBZ0IsR0FBQUYsWUFBQSxDQUFoQkUsZ0JBQWdCO1FBRTNELElBQUksQ0FBQ0MsSUFBSSxHQUFHLElBQUksQ0FBQ3JDLGFBQWEsQ0FBQ0MsT0FBTyxHQUFHLElBQUFDLG1CQUFNLEVBQUMsSUFBSSxDQUFDRixhQUFhLENBQUNDLE9BQU8sQ0FBQyxHQUFHRSxTQUFTO1FBQ3ZGLElBQUksQ0FBQ21DLEtBQUssR0FBRyxJQUFBQyxlQUFNLEVBQUMsQ0FBQyxDQUNsQkMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUNiQyxFQUFFLENBQUMsT0FBTyxFQUFFLFVBQUFDLEtBQUssRUFBSTtVQUNwQixJQUFJLE9BQU9YLE1BQUksQ0FBQ3BFLEtBQUssQ0FBQ2dGLFlBQVksS0FBSyxVQUFVLEVBQUVaLE1BQUksQ0FBQ3BFLEtBQUssQ0FBQ2dGLFlBQVksQ0FBQyxDQUFDO1VBQzVFWixNQUFJLENBQUM1RCxTQUFTLEdBQUd1RSxLQUFLLENBQUN4RSxTQUFTO1FBQ2xDLENBQUMsQ0FBQyxDQUNEdUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFBQyxLQUFLLEVBQUk7VUFDcEIsSUFBSVgsTUFBSSxDQUFDYSxNQUFNLEVBQUU7WUFDZjtVQUNGO1VBQ0EsSUFBSUYsS0FBSyxDQUFDeEUsU0FBUyxFQUFFO1lBQ25CNkQsTUFBSSxDQUFDYyxRQUFRLEdBQUdILEtBQUssQ0FBQ3hFLFNBQVM7WUFDL0I2RCxNQUFJLENBQUNlLFFBQVEsR0FBRyxJQUFJO1lBQ3BCZixNQUFJLENBQUNnQixRQUFRLENBQUNMLEtBQUssQ0FBQztVQUN0QjtRQUNGLENBQUMsQ0FBQyxDQUNERCxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQUFDLEtBQUssRUFBSTtVQUNsQixJQUFJLENBQUNBLEtBQUssQ0FBQ3hFLFNBQVMsRUFBRTtZQUNwQixJQUFJNkQsTUFBSSxDQUFDZSxRQUFRLEVBQUU7Y0FDakI7Y0FDQWYsTUFBSSxDQUFDaUIsTUFBTSxDQUFDakIsTUFBSSxDQUFDYyxRQUFRLENBQUM7WUFDNUIsQ0FBQyxNQUFNLElBQUlkLE1BQUksQ0FBQzVELFNBQVMsRUFBRTtjQUN6QjtjQUNBNEQsTUFBSSxDQUFDaUIsTUFBTSxDQUFDakIsTUFBSSxDQUFDNUQsU0FBUyxDQUFDO1lBQzdCO1VBQ0Y7VUFFQSxJQUFJLE9BQU80RCxNQUFJLENBQUNwRSxLQUFLLENBQUNzRixVQUFVLEtBQUssVUFBVSxFQUFFbEIsTUFBSSxDQUFDcEUsS0FBSyxDQUFDc0YsVUFBVSxDQUFDLENBQUM7VUFFeEVsQixNQUFJLENBQUNlLFFBQVEsR0FBRyxLQUFLO1VBQ3JCZixNQUFJLENBQUNhLE1BQU0sR0FBRyxLQUFLO1FBQ3JCLENBQUMsQ0FBQztRQUVKLENBQUFaLFVBQUEsT0FBSSxDQUFDSyxJQUFJLGNBQUFMLFVBQUEsZUFBVEEsVUFBQSxDQUFXeEYsSUFBSSxDQUFDLElBQUksQ0FBQzhGLEtBQUssQ0FBQztRQUMzQixJQUFNN0QsZUFBZSxHQUFHRCxhQUFhLENBQUMsSUFBSSxDQUFDYixLQUFLLENBQUM7UUFDakQsSUFBSSxDQUFDdUYsTUFBTSxJQUFBakIsV0FBQSxHQUFHLElBQUksQ0FBQ0ksSUFBSSxjQUFBSixXQUFBLHVCQUFUQSxXQUFBLENBQ1ZrQixTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FDN0JDLElBQUksQ0FBQyxDQUFDO1VBQUN4RSxJQUFJLEVBQUU7UUFBRyxDQUFDLEVBQUU7VUFBQ0EsSUFBSSxFQUFFO1FBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDaEN5RSxLQUFLLENBQUMsQ0FBQyxDQUNQQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQ2RDLElBQUksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FDL0JBLElBQUksQ0FBQyxTQUFTLEVBQUUzRixRQUFRLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUN6QzJGLElBQUksQ0FBQyxNQUFNLEVBQUUxRixLQUFLLEdBQUdBLEtBQUssQ0FBQzJGLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxDQUN6REQsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FDM0JBLElBQUksQ0FBQyxHQUFHLEVBQUU5RSxlQUFlLENBQUMsQ0FDMUJnRSxFQUFFLENBQUMsV0FBVyxFQUFFLFlBQU07VUFDckIsSUFBSU4saUJBQWlCLEVBQUVBLGlCQUFpQixDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQ0RNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsWUFBTTtVQUNwQixJQUFJTCxnQkFBZ0IsRUFBRUEsZ0JBQWdCLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUM7UUFFSixJQUFBcUIsaUJBQUEsT0FBQXJGLGVBQUEsYUFFSSxJQUFJLENBQUNULEtBQUssQ0FEWmtFLEtBQUs7VUFBRzZCLElBQUksR0FBQUQsaUJBQUE7VUFBRUUsSUFBSSxHQUFBRixpQkFBQTtRQUVwQixJQUFJLENBQUNiLE1BQU0sR0FBRyxJQUFJO1FBQ2xCLElBQUksQ0FBQ3JCLEtBQUssQ0FBQ21DLElBQUksRUFBRUMsSUFBSSxDQUFDO01BQ3hCO0lBQUM7TUFBQS9CLEdBQUE7TUFBQUMsS0FBQSxFQUVELFNBQUErQixrQkFBa0JBLENBQUNDLFNBQVMsRUFBRTtRQUM1QixJQUFBQyxZQUFBLEdBR0ksSUFBSSxDQUFDbkcsS0FBSztVQUFBb0csa0JBQUEsT0FBQTNGLGVBQUEsYUFBQTBGLFlBQUEsQ0FGWmpDLEtBQUs7VUFBRzZCLElBQUksR0FBQUssa0JBQUE7VUFBRUosSUFBSSxHQUFBSSxrQkFBQTtVQUNsQjlDLEtBQUssR0FBQTZDLFlBQUEsQ0FBTDdDLEtBQUs7UUFFUCxJQUFBK0MsZ0JBQUEsT0FBQTVGLGVBQUEsYUFBNkJ5RixTQUFTLENBQUNoQyxLQUFLO1VBQXJDb0MsUUFBUSxHQUFBRCxnQkFBQTtVQUFFRSxRQUFRLEdBQUFGLGdCQUFBO1FBRXpCLElBQUlILFNBQVMsQ0FBQzVDLEtBQUssS0FBS0EsS0FBSyxFQUFFO1VBQUEsSUFBQWtELFdBQUE7VUFDN0I7VUFDQSxJQUFJLENBQUN2QixNQUFNLEdBQUcsSUFBSTtVQUNsQixJQUFJLElBQUksQ0FBQ04sS0FBSyxFQUFFLENBQUE2QixXQUFBLE9BQUksQ0FBQzlCLElBQUksY0FBQThCLFdBQUEsZUFBVEEsV0FBQSxDQUFXM0gsSUFBSSxDQUFDLElBQUksQ0FBQzhGLEtBQUssQ0FBQztVQUMzQyxJQUFJLENBQUNmLEtBQUssQ0FBQ21DLElBQUksRUFBRUMsSUFBSSxDQUFDO1FBQ3hCO1FBRUEsSUFBSSxDQUFDLElBQUksQ0FBQ2IsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDRixNQUFNLEVBQUU7VUFDbEMsSUFBSXFCLFFBQVEsS0FBS1AsSUFBSSxJQUFJUSxRQUFRLEtBQUtQLElBQUksRUFBRTtZQUMxQyxJQUFJLENBQUNmLE1BQU0sR0FBRyxJQUFJO1lBQ2xCLElBQUksQ0FBQ3JCLEtBQUssQ0FBQ21DLElBQUksRUFBRUMsSUFBSSxDQUFDO1VBQ3hCO1FBQ0Y7UUFFQSxJQUFJLENBQUMsSUFBSSxDQUFDaEcsS0FBSyxDQUFDQyxRQUFRLElBQUksSUFBSSxDQUFDc0YsTUFBTSxFQUFFO1VBQ3ZDLElBQUksQ0FBQ0EsTUFBTSxDQUFDSyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQztRQUNyQztNQUNGO0lBQUM7TUFBQTNCLEdBQUE7TUFBQUMsS0FBQSxFQUVELFNBQUFtQixNQUFNQSxDQUFDOUUsU0FBUyxFQUFFO1FBQ2hCO1FBQ0EsSUFBSSxDQUFDNEUsUUFBUSxHQUFHLElBQUk7UUFDcEIsSUFBSSxDQUFDQyxRQUFRLENBQUM7VUFBQ3pDLFdBQVcsRUFBRSxDQUFDLENBQUM7VUFBRXBDLFNBQVMsRUFBVEE7UUFBUyxDQUFDLENBQUM7TUFDN0M7SUFBQztNQUFBMEQsR0FBQTtNQUFBQyxLQUFBLEVBRUQsU0FBQU4sS0FBS0EsQ0FBQSxFQUFxQjtRQUFBLElBQXBCbUMsSUFBSSxHQUFBakUsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQVUsU0FBQSxHQUFBVixTQUFBLE1BQUcsQ0FBQztRQUFBLElBQUVrRSxJQUFJLEdBQUFsRSxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBVSxTQUFBLEdBQUFWLFNBQUEsTUFBRyxDQUFDO1FBQ3RCLElBQUEyRSxZQUFBLEdBSUksSUFBSSxDQUFDekcsS0FBSztVQUFBMEcsa0JBQUEsT0FBQWpHLGVBQUEsYUFBQWdHLFlBQUEsQ0FIWnhELEtBQUs7VUFBR0MsR0FBRyxHQUFBd0Qsa0JBQUE7VUFBRXZELEdBQUcsR0FBQXVELGtCQUFBO1VBQ2hCcEQsS0FBSyxHQUFBbUQsWUFBQSxDQUFMbkQsS0FBSztVQUNMckQsUUFBUSxHQUFBd0csWUFBQSxDQUFSeEcsUUFBUTtRQUdWLElBQUlxRCxLQUFLLElBQUlILEdBQUcsR0FBR0QsR0FBRyxJQUFJLElBQUksQ0FBQ3lCLEtBQUssSUFBSSxJQUFJLENBQUNZLE1BQU0sRUFBRTtVQUNuRCxJQUFNb0IsS0FBSyxHQUFHLFNBQVJBLEtBQUtBLENBQUl6RixDQUFTO1lBQUEsT0FBTSxDQUFDQSxDQUFDLEdBQUdnQyxHQUFHLElBQUlJLEtBQUssSUFBS0gsR0FBRyxHQUFHRCxHQUFHLENBQUM7VUFBQTtVQUM5RCxJQUFJLENBQUNqRCxRQUFRLEVBQUU7WUFDYjtZQUNBLElBQUksSUFBSSxDQUFDeUUsSUFBSSxFQUFFLElBQUksQ0FBQ0MsS0FBSyxDQUFDaUMsSUFBSSxDQUFDLElBQUksQ0FBQ2xDLElBQUksRUFBRSxDQUFDaUMsS0FBSyxDQUFDWixJQUFJLENBQUMsRUFBRVksS0FBSyxDQUFDWixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztVQUMzRSxDQUFDLE1BQU07WUFDTCxJQUFJLElBQUksQ0FBQ3JCLElBQUksRUFBRSxJQUFJLENBQUNDLEtBQUssQ0FBQ2lDLElBQUksQ0FBQyxJQUFJLENBQUNsQyxJQUFJLEVBQUUsQ0FBQ2lDLEtBQUssQ0FBQ1osSUFBSSxDQUFDLEVBQUVZLEtBQUssQ0FBQ1gsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUVyRSxJQUFJLENBQUNULE1BQU0sQ0FDUkssSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FDckJBLElBQUksQ0FBQyxXQUFXLEVBQUUsVUFBQzdFLENBQUMsRUFBRWpDLENBQUM7Y0FBQSxvQkFBQXlDLE1BQUEsQ0FBa0IsQ0FBQ3pDLENBQUMsS0FBSyxDQUFDLEdBQUc2SCxLQUFLLENBQUNaLElBQUksQ0FBQyxHQUFHWSxLQUFLLENBQUNYLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUFBLENBQUcsQ0FBQztVQUMxRjtRQUNGO01BQ0Y7SUFBQztNQUFBL0IsR0FBQTtNQUFBQyxLQUFBLEVBOEJELFNBQUFKLFFBQVFBLENBQUEsRUFBcUI7UUFBQSxJQUFwQmlDLElBQUksR0FBQWpFLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFVLFNBQUEsR0FBQVYsU0FBQSxNQUFHLENBQUM7UUFBQSxJQUFFa0UsSUFBSSxHQUFBbEUsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQVUsU0FBQSxHQUFBVixTQUFBLE1BQUcsQ0FBQztRQUN6QixJQUFBK0UsWUFBQSxHQUdJLElBQUksQ0FBQzdHLEtBQUs7VUFGWkMsUUFBUSxHQUFBNEcsWUFBQSxDQUFSNUcsUUFBUTtVQUFBNkcsa0JBQUEsT0FBQXJHLGVBQUEsYUFBQW9HLFlBQUEsQ0FDUjNDLEtBQUs7VUFBRzZDLFdBQVcsR0FBQUQsa0JBQUE7VUFBRUUsV0FBVyxHQUFBRixrQkFBQTtRQUdsQyxJQUFJQyxXQUFXLEtBQUtoQixJQUFJLElBQUlpQixXQUFXLEtBQUtoQixJQUFJLEVBQUU7VUFDaEQ7UUFDRjtRQUVBLElBQUkvRixRQUFRLEVBQUU7VUFDWixJQUFJLENBQUNELEtBQUssQ0FBQ2lILE9BQU8sQ0FBQ2xCLElBQUksRUFBRUMsSUFBSSxDQUFDO1FBQ2hDLENBQUMsTUFBTTtVQUNMLElBQUksQ0FBQ2hHLEtBQUssQ0FBQ2lILE9BQU8sQ0FBQ2xCLElBQUksRUFBRUEsSUFBSSxDQUFDO1FBQ2hDO01BQ0Y7SUFBQztNQUFBOUIsR0FBQTtNQUFBQyxLQUFBLEVBRUQsU0FBQWdELE1BQU1BLENBQUEsRUFBRztRQUNQLElBQU9qSCxRQUFRLEdBQUksSUFBSSxDQUFDRCxLQUFLLENBQXRCQyxRQUFRO1FBQ2Ysb0JBQ0U3QyxNQUFBLFlBQUErSixhQUFBLENBQUN2SCxPQUFPO1VBQUN3SCxTQUFTLEVBQUMsd0JBQXdCO1VBQUNuSCxRQUFRLEVBQUVBLFFBQVM7VUFBQ29ILEdBQUcsRUFBRSxJQUFJLENBQUNoRjtRQUFjLENBQUUsQ0FBQztNQUUvRjtJQUFDO0VBQUEsRUE5THNCaUYsZ0JBQVM7RUFBQSxJQUFBbkYsZ0JBQUEsYUFBNUJWLFVBQVUsa0JBQ1E7SUFDcEJ4QixRQUFRLEVBQUU7RUFDWixDQUFDO0VBNkxILE9BQU8sSUFBQXNILDJCQUFTLEVBQUM5RixVQUFVLENBQUM7QUFDOUI7QUFBQyxJQUFBK0YsUUFBQSxHQUFBQyxPQUFBLGNBRWNqRyxpQkFBaUIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,41 @@
1
+ import React from 'react';
2
+ import RangeBrushFactory, { OnBrush } from './range-brush';
3
+ import HistogramPlotFactory from './histogram-plot';
4
+ import LineChartFactory from './line-chart';
5
+ import { LineChart as LineChartType, Filter, Bins } from '@kepler.gl/types';
6
+ import { Datasets } from '@kepler.gl/table';
7
+ declare function RangePlotFactory(RangeBrush: ReturnType<typeof RangeBrushFactory>, HistogramPlot: ReturnType<typeof HistogramPlotFactory>, LineChartPlot: ReturnType<typeof LineChartFactory>): React.ForwardRefExoticComponent<{
8
+ style: React.CSSProperties;
9
+ filter?: Filter | undefined;
10
+ height?: number | undefined;
11
+ width: number;
12
+ value: number[];
13
+ step?: number | undefined;
14
+ range: number[];
15
+ isRanged?: boolean | undefined;
16
+ onBrushStart?: (() => void) | undefined;
17
+ onBrushEnd?: (() => void) | undefined;
18
+ onBrush: OnBrush;
19
+ marks?: number[] | undefined;
20
+ onMouseoverHandle?: (() => void) | undefined;
21
+ onMouseoutHandle?: (() => void) | undefined;
22
+ bins?: Bins | undefined;
23
+ isEnlarged?: boolean | undefined;
24
+ lineChart?: LineChartType | undefined;
25
+ timezone?: string | null | undefined;
26
+ timeFormat?: string | undefined;
27
+ plotType: {
28
+ [key: string]: any;
29
+ };
30
+ playbackControlWidth?: number | undefined;
31
+ animationWindow?: string | undefined;
32
+ datasets?: Datasets | undefined;
33
+ invertTrendColor?: boolean | undefined;
34
+ setFilterPlot: any;
35
+ } & {
36
+ theme?: any;
37
+ }>;
38
+ declare namespace RangePlotFactory {
39
+ var deps: (typeof RangeBrushFactory | typeof HistogramPlotFactory | typeof LineChartFactory)[];
40
+ }
41
+ export default RangePlotFactory;
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = RangePlotFactory;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
16
+ var _rangeBrush = _interopRequireDefault(require("./range-brush"));
17
+ var _histogramPlot = _interopRequireDefault(require("./histogram-plot"));
18
+ var _lineChart = _interopRequireDefault(require("./line-chart"));
19
+ var _utils = require("@kepler.gl/utils");
20
+ var _constants = require("@kepler.gl/constants");
21
+ var _loadingSpinner = _interopRequireDefault(require("./loading-spinner"));
22
+ var _styles = require("@kepler.gl/styles");
23
+ var _excluded = ["bins", "onBrush", "range", "value", "width", "plotType", "lineChart", "isEnlarged", "isRanged", "theme"],
24
+ _excluded2 = ["lineChart", "plotType", "bins", "setFilterPlot", "isEnlarged", "theme"];
25
+ var _templateObject; // SPDX-License-Identifier: MIT
26
+ // Copyright contributors to the kepler.gl project
27
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
28
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
29
+ 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; }
30
+ 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) { (0, _defineProperty2["default"])(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; }
31
+ var StyledRangePlot = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: ", "px;\n display: flex;\n position: relative;\n"])), function (props) {
32
+ return props.theme.sliderBarHeight;
33
+ });
34
+ RangePlotFactory.deps = [_rangeBrush["default"], _histogramPlot["default"], _lineChart["default"]];
35
+ var isHistogramPlot = function isHistogramPlot(plotType) {
36
+ return (plotType === null || plotType === void 0 ? void 0 : plotType.type) === _constants.PLOT_TYPES.histogram;
37
+ };
38
+ var isLineChart = function isLineChart(plotType) {
39
+ return (plotType === null || plotType === void 0 ? void 0 : plotType.type) === _constants.PLOT_TYPES.lineChart;
40
+ };
41
+ var hasHistogram = function hasHistogram(plotType, bins) {
42
+ return isHistogramPlot(plotType) && bins;
43
+ };
44
+ var hasLineChart = function hasLineChart(plotType, lineChart) {
45
+ return isLineChart(plotType) && lineChart;
46
+ };
47
+ var LOADING_SPINNER_CONTAINER_STYLE = {
48
+ display: 'flex',
49
+ alignItems: 'center',
50
+ justifyContent: 'center',
51
+ width: '100%'
52
+ };
53
+ function RangePlotFactory(RangeBrush, HistogramPlot, LineChartPlot) {
54
+ var RangePlot = function RangePlot(_ref) {
55
+ var bins = _ref.bins,
56
+ onBrush = _ref.onBrush,
57
+ range = _ref.range,
58
+ value = _ref.value,
59
+ width = _ref.width,
60
+ plotType = _ref.plotType,
61
+ lineChart = _ref.lineChart,
62
+ isEnlarged = _ref.isEnlarged,
63
+ isRanged = _ref.isRanged,
64
+ theme = _ref.theme,
65
+ chartProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
66
+ var groupColors = (0, _react.useMemo)(function () {
67
+ var dataIds = bins ? Object.keys(bins) : [];
68
+ return plotType.colorsByDataId ? dataIds.reduce(function (acc, dataId) {
69
+ acc[dataId] = plotType.colorsByDataId[dataId];
70
+ return acc;
71
+ }, {}) : null;
72
+ }, [bins, plotType.colorsByDataId]);
73
+ var _useState = (0, _react.useState)(false),
74
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
75
+ brushing = _useState2[0],
76
+ setBrushing = _useState2[1];
77
+ var _useState3 = (0, _react.useState)(null),
78
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
79
+ hoveredDP = _useState4[0],
80
+ onMouseMove = _useState4[1];
81
+ var _useState5 = (0, _react.useState)(false),
82
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
83
+ enableChartHover = _useState6[0],
84
+ setEnableChartHover = _useState6[1];
85
+ var height = isEnlarged ? (0, _utils.hasMobileWidth)(_styles.breakPointValues) ? theme.rangePlotHLargePalm : theme.rangePlotHLarge : theme.rangePlotH;
86
+ var onBrushStart = (0, _react.useCallback)(function () {
87
+ setBrushing(true);
88
+ onMouseMove(null);
89
+ setEnableChartHover(false);
90
+ }, [setBrushing, onMouseMove, setEnableChartHover]);
91
+ var onBrushEnd = (0, _react.useCallback)(function () {
92
+ setBrushing(false);
93
+ setEnableChartHover(true);
94
+ }, [setBrushing, setEnableChartHover]);
95
+ var onMouseoverHandle = (0, _react.useCallback)(function () {
96
+ onMouseMove(null);
97
+ setEnableChartHover(false);
98
+ }, [onMouseMove, setEnableChartHover]);
99
+ var onMouseoutHandle = (0, _react.useCallback)(function () {
100
+ setEnableChartHover(true);
101
+ }, [setEnableChartHover]);
102
+
103
+ // JsDom have limited support for SVG, d3 will fail
104
+ var brushComponent = (0, _utils.isTest)() ? null : /*#__PURE__*/_react["default"].createElement(RangeBrush, (0, _extends2["default"])({
105
+ onBrush: onBrush,
106
+ onBrushStart: onBrushStart,
107
+ onBrushEnd: onBrushEnd,
108
+ range: range,
109
+ value: value,
110
+ width: width,
111
+ height: height,
112
+ isRanged: isRanged,
113
+ onMouseoverHandle: onMouseoverHandle,
114
+ onMouseoutHandle: onMouseoutHandle
115
+ }, chartProps));
116
+ var commonProps = _objectSpread({
117
+ width: width,
118
+ value: value,
119
+ height: height,
120
+ margin: isEnlarged ? theme.rangePlotMarginLarge : theme.rangePlotMargin,
121
+ brushComponent: brushComponent,
122
+ brushing: brushing,
123
+ isEnlarged: isEnlarged,
124
+ enableChartHover: enableChartHover,
125
+ onMouseMove: onMouseMove,
126
+ hoveredDP: hoveredDP,
127
+ isRanged: isRanged,
128
+ onBrush: onBrush
129
+ }, chartProps);
130
+ return isLineChart(plotType) && lineChart ? /*#__PURE__*/_react["default"].createElement(LineChartPlot, (0, _extends2["default"])({
131
+ lineChart: lineChart
132
+ }, commonProps)) : /*#__PURE__*/_react["default"].createElement(HistogramPlot, (0, _extends2["default"])({
133
+ histogramsByGroup: bins,
134
+ colorsByGroup: groupColors,
135
+ range: range
136
+ }, commonProps));
137
+ };
138
+ var RangePlotWithTheme = (0, _styledComponents.withTheme)(RangePlot);
139
+
140
+ // a container to render spinner or message when the data is too big
141
+ // to generate a plot
142
+ var WithPlotLoading = function WithPlotLoading(_ref2) {
143
+ var lineChart = _ref2.lineChart,
144
+ plotType = _ref2.plotType,
145
+ bins = _ref2.bins,
146
+ setFilterPlot = _ref2.setFilterPlot,
147
+ isEnlarged = _ref2.isEnlarged,
148
+ theme = _ref2.theme,
149
+ otherProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
150
+ var _useState7 = (0, _react.useState)(false),
151
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
152
+ isLoading = _useState8[0],
153
+ setIsLoading = _useState8[1];
154
+ // eslint-disable-next-line complexity
155
+ (0, _react.useEffect)(function () {
156
+ if (!plotType && !isLoading) {
157
+ // if plotType is undefined. this shouldn't happen
158
+ setIsLoading(true);
159
+ setFilterPlot({
160
+ plotType: {
161
+ type: _constants.PLOT_TYPES.histogram
162
+ }
163
+ });
164
+ } else if (isHistogramPlot(plotType) && !bins && !isLoading) {
165
+ setIsLoading(true);
166
+ // load histogram
167
+ setFilterPlot({
168
+ plotType: {
169
+ type: _constants.PLOT_TYPES.histogram
170
+ }
171
+ });
172
+ } else if (isLineChart(plotType) && !lineChart && !isLoading) {
173
+ // load line chart
174
+ setIsLoading(true);
175
+ setFilterPlot({
176
+ plotType: {
177
+ type: _constants.PLOT_TYPES.lineChart
178
+ }
179
+ });
180
+ } else if (isLoading && (hasHistogram(plotType, bins) || hasLineChart(plotType, lineChart))) {
181
+ setIsLoading(false);
182
+ }
183
+ }, [plotType, bins, lineChart, setFilterPlot, isLoading, setIsLoading]);
184
+ var rangePlotStyle = (0, _react.useMemo)(function () {
185
+ return {
186
+ height: "".concat(isEnlarged ? (0, _utils.hasMobileWidth)(_styles.breakPointValues) ? theme.rangePlotContainerHLargePalm : theme.rangePlotContainerHLarge : theme.rangePlotContainerH, "px")
187
+ };
188
+ }, [isEnlarged, theme]);
189
+ return /*#__PURE__*/_react["default"].createElement(StyledRangePlot, {
190
+ style: rangePlotStyle,
191
+ className: "kg-range-slider__plot"
192
+ }, isLoading ? /*#__PURE__*/_react["default"].createElement("div", {
193
+ style: LOADING_SPINNER_CONTAINER_STYLE
194
+ }, /*#__PURE__*/_react["default"].createElement(_loadingSpinner["default"], {
195
+ borderColor: "transparent",
196
+ size: 40
197
+ })) : /*#__PURE__*/_react["default"].createElement(RangePlotWithTheme, (0, _extends2["default"])({
198
+ lineChart: lineChart,
199
+ bins: bins,
200
+ plotType: plotType,
201
+ isEnlarged: isEnlarged,
202
+ theme: theme
203
+ }, otherProps)));
204
+ };
205
+ return (0, _styledComponents.withTheme)(WithPlotLoading);
206
+ }
207
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9yYW5nZUJydXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9oaXN0b2dyYW1QbG90IiwiX2xpbmVDaGFydCIsIl91dGlscyIsIl9jb25zdGFudHMiLCJfbG9hZGluZ1NwaW5uZXIiLCJfc3R5bGVzIiwiX2V4Y2x1ZGVkIiwiX2V4Y2x1ZGVkMiIsIl90ZW1wbGF0ZU9iamVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIlN0eWxlZFJhbmdlUGxvdCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsInNsaWRlckJhckhlaWdodCIsIlJhbmdlUGxvdEZhY3RvcnkiLCJkZXBzIiwiUmFuZ2VCcnVzaEZhY3RvcnkiLCJIaXN0b2dyYW1QbG90RmFjdG9yeSIsIkxpbmVDaGFydEZhY3RvcnkiLCJpc0hpc3RvZ3JhbVBsb3QiLCJwbG90VHlwZSIsInR5cGUiLCJQTE9UX1RZUEVTIiwiaGlzdG9ncmFtIiwiaXNMaW5lQ2hhcnQiLCJsaW5lQ2hhcnQiLCJoYXNIaXN0b2dyYW0iLCJiaW5zIiwiaGFzTGluZUNoYXJ0IiwiTE9BRElOR19TUElOTkVSX0NPTlRBSU5FUl9TVFlMRSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJ3aWR0aCIsIlJhbmdlQnJ1c2giLCJIaXN0b2dyYW1QbG90IiwiTGluZUNoYXJ0UGxvdCIsIlJhbmdlUGxvdCIsIl9yZWYiLCJvbkJydXNoIiwicmFuZ2UiLCJ2YWx1ZSIsImlzRW5sYXJnZWQiLCJpc1JhbmdlZCIsImNoYXJ0UHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiZ3JvdXBDb2xvcnMiLCJ1c2VNZW1vIiwiZGF0YUlkcyIsImNvbG9yc0J5RGF0YUlkIiwicmVkdWNlIiwiYWNjIiwiZGF0YUlkIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiYnJ1c2hpbmciLCJzZXRCcnVzaGluZyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaG92ZXJlZERQIiwib25Nb3VzZU1vdmUiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImVuYWJsZUNoYXJ0SG92ZXIiLCJzZXRFbmFibGVDaGFydEhvdmVyIiwiaGVpZ2h0IiwiaGFzTW9iaWxlV2lkdGgiLCJicmVha1BvaW50VmFsdWVzIiwicmFuZ2VQbG90SExhcmdlUGFsbSIsInJhbmdlUGxvdEhMYXJnZSIsInJhbmdlUGxvdEgiLCJvbkJydXNoU3RhcnQiLCJ1c2VDYWxsYmFjayIsIm9uQnJ1c2hFbmQiLCJvbk1vdXNlb3ZlckhhbmRsZSIsIm9uTW91c2VvdXRIYW5kbGUiLCJicnVzaENvbXBvbmVudCIsImlzVGVzdCIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJjb21tb25Qcm9wcyIsIm1hcmdpbiIsInJhbmdlUGxvdE1hcmdpbkxhcmdlIiwicmFuZ2VQbG90TWFyZ2luIiwiaGlzdG9ncmFtc0J5R3JvdXAiLCJjb2xvcnNCeUdyb3VwIiwiUmFuZ2VQbG90V2l0aFRoZW1lIiwid2l0aFRoZW1lIiwiV2l0aFBsb3RMb2FkaW5nIiwiX3JlZjIiLCJzZXRGaWx0ZXJQbG90Iiwib3RoZXJQcm9wcyIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwidXNlRWZmZWN0IiwicmFuZ2VQbG90U3R5bGUiLCJjb25jYXQiLCJyYW5nZVBsb3RDb250YWluZXJITGFyZ2VQYWxtIiwicmFuZ2VQbG90Q29udGFpbmVySExhcmdlIiwicmFuZ2VQbG90Q29udGFpbmVySCIsInN0eWxlIiwiY2xhc3NOYW1lIiwiYm9yZGVyQ29sb3IiLCJzaXplIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9yYW5nZS1wbG90LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUsIHVzZUVmZmVjdCwgQ1NTUHJvcGVydGllc30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCwge3dpdGhUaGVtZX0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFJhbmdlQnJ1c2hGYWN0b3J5LCB7T25CcnVzaCwgUmFuZ2VCcnVzaFByb3BzfSBmcm9tICcuL3JhbmdlLWJydXNoJztcbmltcG9ydCBIaXN0b2dyYW1QbG90RmFjdG9yeSBmcm9tICcuL2hpc3RvZ3JhbS1wbG90JztcbmltcG9ydCBMaW5lQ2hhcnRGYWN0b3J5LCB7SG92ZXJEUH0gZnJvbSAnLi9saW5lLWNoYXJ0JztcbmltcG9ydCB7aGFzTW9iaWxlV2lkdGgsIGlzVGVzdH0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge1BMT1RfVFlQRVN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCBMb2FkaW5nU3Bpbm5lciBmcm9tICcuL2xvYWRpbmctc3Bpbm5lcic7XG5pbXBvcnQge2JyZWFrUG9pbnRWYWx1ZXN9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcbmltcG9ydCB7TGluZUNoYXJ0IGFzIExpbmVDaGFydFR5cGUsIEZpbHRlciwgQmluc30gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0RhdGFzZXRzfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcblxuY29uc3QgU3R5bGVkUmFuZ2VQbG90ID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zbGlkZXJCYXJIZWlnaHR9cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmludGVyZmFjZSBSYW5nZVBsb3RQcm9wcyB7XG4gIG9uQnJ1c2g6IE9uQnJ1c2g7XG4gIHJhbmdlOiBudW1iZXJbXTtcbiAgdmFsdWU6IG51bWJlcltdO1xuICB3aWR0aDogbnVtYmVyO1xuICBwbG90VHlwZToge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgfTtcbiAgbGluZUNoYXJ0PzogTGluZUNoYXJ0VHlwZTtcbiAgYmlucz86IEJpbnM7XG5cbiAgaXNFbmxhcmdlZD86IGJvb2xlYW47XG4gIGlzUmFuZ2VkPzogYm9vbGVhbjtcbiAgdGhlbWU6IGFueTtcbiAgdGltZUZvcm1hdD86IHN0cmluZztcbiAgdGltZXpvbmU/OiBzdHJpbmcgfCBudWxsO1xuICBwbGF5YmFja0NvbnRyb2xXaWR0aD86IG51bWJlcjtcblxuICBhbmltYXRpb25XaW5kb3c/OiBzdHJpbmc7XG4gIGZpbHRlcj86IEZpbHRlcjtcbiAgZGF0YXNldHM/OiBEYXRhc2V0cztcblxuICBpbnZlcnRUcmVuZENvbG9yPzogYm9vbGVhbjtcblxuICBzdHlsZTogQ1NTUHJvcGVydGllcztcbn1cblxudHlwZSBXaXRoUGxvdExvYWRpbmdQcm9wcyA9IFJhbmdlUGxvdFByb3BzICZcbiAgUGFydGlhbDxSYW5nZUJydXNoUHJvcHM+ICYge1xuICAgIHNldEZpbHRlclBsb3Q6IGFueTtcbiAgfTtcblxuUmFuZ2VQbG90RmFjdG9yeS5kZXBzID0gW1JhbmdlQnJ1c2hGYWN0b3J5LCBIaXN0b2dyYW1QbG90RmFjdG9yeSwgTGluZUNoYXJ0RmFjdG9yeV07XG5cbmNvbnN0IGlzSGlzdG9ncmFtUGxvdCA9IHBsb3RUeXBlID0+IHBsb3RUeXBlPy50eXBlID09PSBQTE9UX1RZUEVTLmhpc3RvZ3JhbTtcbmNvbnN0IGlzTGluZUNoYXJ0ID0gcGxvdFR5cGUgPT4gcGxvdFR5cGU/LnR5cGUgPT09IFBMT1RfVFlQRVMubGluZUNoYXJ0O1xuY29uc3QgaGFzSGlzdG9ncmFtID0gKHBsb3RUeXBlLCBiaW5zKSA9PiBpc0hpc3RvZ3JhbVBsb3QocGxvdFR5cGUpICYmIGJpbnM7XG5jb25zdCBoYXNMaW5lQ2hhcnQgPSAocGxvdFR5cGUsIGxpbmVDaGFydCkgPT4gaXNMaW5lQ2hhcnQocGxvdFR5cGUpICYmIGxpbmVDaGFydDtcblxuY29uc3QgTE9BRElOR19TUElOTkVSX0NPTlRBSU5FUl9TVFlMRSA9IHtcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICB3aWR0aDogJzEwMCUnXG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBSYW5nZVBsb3RGYWN0b3J5KFxuICBSYW5nZUJydXNoOiBSZXR1cm5UeXBlPHR5cGVvZiBSYW5nZUJydXNoRmFjdG9yeT4sXG4gIEhpc3RvZ3JhbVBsb3Q6IFJldHVyblR5cGU8dHlwZW9mIEhpc3RvZ3JhbVBsb3RGYWN0b3J5PixcbiAgTGluZUNoYXJ0UGxvdDogUmV0dXJuVHlwZTx0eXBlb2YgTGluZUNoYXJ0RmFjdG9yeT5cbikge1xuICBjb25zdCBSYW5nZVBsb3QgPSAoe1xuICAgIGJpbnMsXG4gICAgb25CcnVzaCxcbiAgICByYW5nZSxcbiAgICB2YWx1ZSxcbiAgICB3aWR0aCxcbiAgICBwbG90VHlwZSxcbiAgICBsaW5lQ2hhcnQsXG4gICAgaXNFbmxhcmdlZCxcbiAgICBpc1JhbmdlZCxcbiAgICB0aGVtZSxcbiAgICAuLi5jaGFydFByb3BzXG4gIH06IFJhbmdlUGxvdFByb3BzICYgUGFydGlhbDxSYW5nZUJydXNoUHJvcHM+KSA9PiB7XG4gICAgY29uc3QgZ3JvdXBDb2xvcnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGRhdGFJZHMgPSBiaW5zID8gT2JqZWN0LmtleXMoYmlucykgOiBbXTtcbiAgICAgIHJldHVybiBwbG90VHlwZS5jb2xvcnNCeURhdGFJZFxuICAgICAgICA/IGRhdGFJZHMucmVkdWNlKChhY2MsIGRhdGFJZCkgPT4ge1xuICAgICAgICAgICAgYWNjW2RhdGFJZF0gPSBwbG90VHlwZS5jb2xvcnNCeURhdGFJZFtkYXRhSWRdO1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9LCB7fSlcbiAgICAgICAgOiBudWxsO1xuICAgIH0sIFtiaW5zLCBwbG90VHlwZS5jb2xvcnNCeURhdGFJZF0pO1xuXG4gICAgY29uc3QgW2JydXNoaW5nLCBzZXRCcnVzaGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2hvdmVyZWREUCwgb25Nb3VzZU1vdmVdID0gdXNlU3RhdGU8SG92ZXJEUCB8IG51bGw+KG51bGwpO1xuICAgIGNvbnN0IFtlbmFibGVDaGFydEhvdmVyLCBzZXRFbmFibGVDaGFydEhvdmVyXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBoZWlnaHQgPSBpc0VubGFyZ2VkXG4gICAgICA/IGhhc01vYmlsZVdpZHRoKGJyZWFrUG9pbnRWYWx1ZXMpXG4gICAgICAgID8gdGhlbWUucmFuZ2VQbG90SExhcmdlUGFsbVxuICAgICAgICA6IHRoZW1lLnJhbmdlUGxvdEhMYXJnZVxuICAgICAgOiB0aGVtZS5yYW5nZVBsb3RIO1xuXG4gICAgY29uc3Qgb25CcnVzaFN0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0QnJ1c2hpbmcodHJ1ZSk7XG4gICAgICBvbk1vdXNlTW92ZShudWxsKTtcbiAgICAgIHNldEVuYWJsZUNoYXJ0SG92ZXIoZmFsc2UpO1xuICAgIH0sIFtzZXRCcnVzaGluZywgb25Nb3VzZU1vdmUsIHNldEVuYWJsZUNoYXJ0SG92ZXJdKTtcblxuICAgIGNvbnN0IG9uQnJ1c2hFbmQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRCcnVzaGluZyhmYWxzZSk7XG4gICAgICBzZXRFbmFibGVDaGFydEhvdmVyKHRydWUpO1xuICAgIH0sIFtzZXRCcnVzaGluZywgc2V0RW5hYmxlQ2hhcnRIb3Zlcl0pO1xuXG4gICAgY29uc3Qgb25Nb3VzZW92ZXJIYW5kbGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBvbk1vdXNlTW92ZShudWxsKTtcbiAgICAgIHNldEVuYWJsZUNoYXJ0SG92ZXIoZmFsc2UpO1xuICAgIH0sIFtvbk1vdXNlTW92ZSwgc2V0RW5hYmxlQ2hhcnRIb3Zlcl0pO1xuXG4gICAgY29uc3Qgb25Nb3VzZW91dEhhbmRsZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldEVuYWJsZUNoYXJ0SG92ZXIodHJ1ZSk7XG4gICAgfSwgW3NldEVuYWJsZUNoYXJ0SG92ZXJdKTtcblxuICAgIC8vIEpzRG9tIGhhdmUgbGltaXRlZCBzdXBwb3J0IGZvciBTVkcsIGQzIHdpbGwgZmFpbFxuICAgIGNvbnN0IGJydXNoQ29tcG9uZW50ID0gaXNUZXN0KCkgPyBudWxsIDogKFxuICAgICAgPFJhbmdlQnJ1c2hcbiAgICAgICAgb25CcnVzaD17b25CcnVzaH1cbiAgICAgICAgb25CcnVzaFN0YXJ0PXtvbkJydXNoU3RhcnR9XG4gICAgICAgIG9uQnJ1c2hFbmQ9e29uQnJ1c2hFbmR9XG4gICAgICAgIHJhbmdlPXtyYW5nZX1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICBpc1JhbmdlZD17aXNSYW5nZWR9XG4gICAgICAgIG9uTW91c2VvdmVySGFuZGxlPXtvbk1vdXNlb3ZlckhhbmRsZX1cbiAgICAgICAgb25Nb3VzZW91dEhhbmRsZT17b25Nb3VzZW91dEhhbmRsZX1cbiAgICAgICAgey4uLmNoYXJ0UHJvcHN9XG4gICAgICAvPlxuICAgICk7XG5cbiAgICBjb25zdCBjb21tb25Qcm9wcyA9IHtcbiAgICAgIHdpZHRoLFxuICAgICAgdmFsdWUsXG4gICAgICBoZWlnaHQsXG4gICAgICBtYXJnaW46IGlzRW5sYXJnZWQgPyB0aGVtZS5yYW5nZVBsb3RNYXJnaW5MYXJnZSA6IHRoZW1lLnJhbmdlUGxvdE1hcmdpbixcbiAgICAgIGJydXNoQ29tcG9uZW50LFxuICAgICAgYnJ1c2hpbmcsXG4gICAgICBpc0VubGFyZ2VkLFxuICAgICAgZW5hYmxlQ2hhcnRIb3ZlcixcbiAgICAgIG9uTW91c2VNb3ZlLFxuICAgICAgaG92ZXJlZERQLFxuICAgICAgaXNSYW5nZWQsXG4gICAgICBvbkJydXNoLFxuICAgICAgLi4uY2hhcnRQcm9wc1xuICAgIH07XG5cbiAgICByZXR1cm4gaXNMaW5lQ2hhcnQocGxvdFR5cGUpICYmIGxpbmVDaGFydCA/IChcbiAgICAgIDxMaW5lQ2hhcnRQbG90IGxpbmVDaGFydD17bGluZUNoYXJ0fSB7Li4uY29tbW9uUHJvcHN9IC8+XG4gICAgKSA6IChcbiAgICAgIDxIaXN0b2dyYW1QbG90XG4gICAgICAgIGhpc3RvZ3JhbXNCeUdyb3VwPXtiaW5zfVxuICAgICAgICBjb2xvcnNCeUdyb3VwPXtncm91cENvbG9yc31cbiAgICAgICAgcmFuZ2U9e3JhbmdlfVxuICAgICAgICB7Li4uY29tbW9uUHJvcHN9XG4gICAgICAvPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgUmFuZ2VQbG90V2l0aFRoZW1lID0gd2l0aFRoZW1lKFJhbmdlUGxvdCk7XG5cbiAgLy8gYSBjb250YWluZXIgdG8gcmVuZGVyIHNwaW5uZXIgb3IgbWVzc2FnZSB3aGVuIHRoZSBkYXRhIGlzIHRvbyBiaWdcbiAgLy8gdG8gZ2VuZXJhdGUgYSBwbG90XG4gIGNvbnN0IFdpdGhQbG90TG9hZGluZyA9ICh7XG4gICAgbGluZUNoYXJ0LFxuICAgIHBsb3RUeXBlLFxuICAgIGJpbnMsXG4gICAgc2V0RmlsdGVyUGxvdCxcbiAgICBpc0VubGFyZ2VkLFxuICAgIHRoZW1lLFxuICAgIC4uLm90aGVyUHJvcHNcbiAgfTogV2l0aFBsb3RMb2FkaW5nUHJvcHMpID0+IHtcbiAgICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb21wbGV4aXR5XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghcGxvdFR5cGUgJiYgIWlzTG9hZGluZykge1xuICAgICAgICAvLyBpZiBwbG90VHlwZSBpcyB1bmRlZmluZWQuIHRoaXMgc2hvdWxkbid0IGhhcHBlblxuICAgICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgICAgIHNldEZpbHRlclBsb3Qoe1xuICAgICAgICAgIHBsb3RUeXBlOiB7XG4gICAgICAgICAgICB0eXBlOiBQTE9UX1RZUEVTLmhpc3RvZ3JhbVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGlzSGlzdG9ncmFtUGxvdChwbG90VHlwZSkgJiYgIWJpbnMgJiYgIWlzTG9hZGluZykge1xuICAgICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgICAgIC8vIGxvYWQgaGlzdG9ncmFtXG4gICAgICAgIHNldEZpbHRlclBsb3Qoe1xuICAgICAgICAgIHBsb3RUeXBlOiB7XG4gICAgICAgICAgICB0eXBlOiBQTE9UX1RZUEVTLmhpc3RvZ3JhbVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGlzTGluZUNoYXJ0KHBsb3RUeXBlKSAmJiAhbGluZUNoYXJ0ICYmICFpc0xvYWRpbmcpIHtcbiAgICAgICAgLy8gbG9hZCBsaW5lIGNoYXJ0XG4gICAgICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICAgICAgc2V0RmlsdGVyUGxvdCh7XG4gICAgICAgICAgcGxvdFR5cGU6IHtcbiAgICAgICAgICAgIHR5cGU6IFBMT1RfVFlQRVMubGluZUNoYXJ0XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoaXNMb2FkaW5nICYmIChoYXNIaXN0b2dyYW0ocGxvdFR5cGUsIGJpbnMpIHx8IGhhc0xpbmVDaGFydChwbG90VHlwZSwgbGluZUNoYXJ0KSkpIHtcbiAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9LCBbcGxvdFR5cGUsIGJpbnMsIGxpbmVDaGFydCwgc2V0RmlsdGVyUGxvdCwgaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddKTtcblxuICAgIGNvbnN0IHJhbmdlUGxvdFN0eWxlID0gdXNlTWVtbyhcbiAgICAgICgpID0+ICh7XG4gICAgICAgIGhlaWdodDogYCR7XG4gICAgICAgICAgaXNFbmxhcmdlZFxuICAgICAgICAgICAgPyBoYXNNb2JpbGVXaWR0aChicmVha1BvaW50VmFsdWVzKVxuICAgICAgICAgICAgICA/IHRoZW1lLnJhbmdlUGxvdENvbnRhaW5lckhMYXJnZVBhbG1cbiAgICAgICAgICAgICAgOiB0aGVtZS5yYW5nZVBsb3RDb250YWluZXJITGFyZ2VcbiAgICAgICAgICAgIDogdGhlbWUucmFuZ2VQbG90Q29udGFpbmVySFxuICAgICAgICB9cHhgXG4gICAgICB9KSxcbiAgICAgIFtpc0VubGFyZ2VkLCB0aGVtZV1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRSYW5nZVBsb3Qgc3R5bGU9e3JhbmdlUGxvdFN0eWxlfSBjbGFzc05hbWU9XCJrZy1yYW5nZS1zbGlkZXJfX3Bsb3RcIj5cbiAgICAgICAge2lzTG9hZGluZyA/IChcbiAgICAgICAgICA8ZGl2IHN0eWxlPXtMT0FESU5HX1NQSU5ORVJfQ09OVEFJTkVSX1NUWUxFfT5cbiAgICAgICAgICAgIDxMb2FkaW5nU3Bpbm5lciBib3JkZXJDb2xvcj1cInRyYW5zcGFyZW50XCIgc2l6ZT17NDB9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJhbmdlUGxvdFdpdGhUaGVtZVxuICAgICAgICAgICAgbGluZUNoYXJ0PXtsaW5lQ2hhcnR9XG4gICAgICAgICAgICBiaW5zPXtiaW5zfVxuICAgICAgICAgICAgcGxvdFR5cGU9e3Bsb3RUeXBlfVxuICAgICAgICAgICAgaXNFbmxhcmdlZD17aXNFbmxhcmdlZH1cbiAgICAgICAgICAgIHRoZW1lPXt0aGVtZX1cbiAgICAgICAgICAgIHsuLi5vdGhlclByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZFJhbmdlUGxvdD5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiB3aXRoVGhlbWUoV2l0aFBsb3RMb2FkaW5nKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFGLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxjQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFGLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxVQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxlQUFBLEdBQUFMLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBUyxPQUFBLEdBQUFULE9BQUE7QUFBbUQsSUFBQVUsU0FBQTtFQUFBQyxVQUFBO0FBQUEsSUFBQUMsZUFBQSxFQVhuRDtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9B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
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import RangeSliderTimelineFactory from './range-slider-timeline';
3
+ declare function RangeSliderSubAnimationPanelFactory(RangeSliderTimeline: any): ({ subAnimations, scaledValue, style }: {
4
+ subAnimations: any;
5
+ scaledValue: any;
6
+ style: any;
7
+ }) => React.JSX.Element;
8
+ declare namespace RangeSliderSubAnimationPanelFactory {
9
+ var deps: (typeof RangeSliderTimelineFactory)[];
10
+ }
11
+ export default RangeSliderSubAnimationPanelFactory;