@kepler.gl/components 3.0.0-alpha.0 → 3.0.0-alpha.1

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 (530) hide show
  1. package/dist/bottom-widget.d.ts +11 -38
  2. package/dist/bottom-widget.js +43 -99
  3. package/dist/common/action-panel.d.ts +2 -2
  4. package/dist/common/action-panel.js +4 -4
  5. package/dist/common/animation-control/animation-control.d.ts +19 -18
  6. package/dist/common/animation-control/animation-control.js +59 -81
  7. package/dist/common/animation-control/animation-controller.d.ts +6 -2
  8. package/dist/common/animation-control/animation-controller.js +50 -36
  9. package/dist/common/animation-control/animation-speed-slider.js +2 -2
  10. package/dist/common/animation-control/animation-window-control.js +1 -1
  11. package/dist/common/animation-control/floating-time-display.d.ts +2 -2
  12. package/dist/common/animation-control/floating-time-display.js +2 -2
  13. package/dist/common/animation-control/play-control.d.ts +2 -2
  14. package/dist/common/animation-control/play-control.js +1 -1
  15. package/dist/common/animation-control/playback-controls.d.ts +7 -7
  16. package/dist/common/animation-control/playback-controls.js +6 -6
  17. package/dist/common/animation-control/reset-control.d.ts +2 -2
  18. package/dist/common/animation-control/reset-control.js +1 -1
  19. package/dist/common/animation-control/speed-control.d.ts +2 -2
  20. package/dist/common/animation-control/speed-control.js +2 -2
  21. package/dist/common/animation-control/window-action-control.d.ts +2 -2
  22. package/dist/common/animation-control/window-action-control.js +1 -1
  23. package/dist/common/checkbox.d.ts +2 -2
  24. package/dist/common/checkbox.js +3 -3
  25. package/dist/common/color-legend.d.ts +3 -3
  26. package/dist/common/color-legend.js +11 -17
  27. package/dist/common/data-table/button.d.ts +1 -1
  28. package/dist/common/data-table/button.js +2 -2
  29. package/dist/common/data-table/canvas.js +2 -2
  30. package/dist/common/data-table/cell-size.js +44 -13
  31. package/dist/common/data-table/display-format.d.ts +25 -0
  32. package/dist/common/data-table/display-format.js +169 -0
  33. package/dist/common/data-table/grid.d.ts +5 -2
  34. package/dist/common/data-table/grid.js +45 -5
  35. package/dist/common/data-table/header-cell.d.ts +4 -1
  36. package/dist/common/data-table/header-cell.js +66 -29
  37. package/dist/common/data-table/index.d.ts +27 -34
  38. package/dist/common/data-table/index.js +148 -62
  39. package/dist/common/data-table/option-dropdown.d.ts +17 -3
  40. package/dist/common/data-table/option-dropdown.js +86 -13
  41. package/dist/common/dataset-label.d.ts +2 -2
  42. package/dist/common/dataset-label.js +3 -3
  43. package/dist/common/error-boundary.d.ts +6 -2
  44. package/dist/common/error-boundary.js +2 -2
  45. package/dist/common/field-selector.d.ts +9 -3
  46. package/dist/common/field-selector.js +3 -3
  47. package/dist/common/field-token.d.ts +8 -0
  48. package/dist/common/field-token.js +7 -3
  49. package/dist/common/file-uploader/file-drop.d.ts +3 -2
  50. package/dist/common/file-uploader/file-drop.js +2 -2
  51. package/dist/common/file-uploader/file-upload-progress.js +2 -2
  52. package/dist/common/file-uploader/file-upload.d.ts +2 -6
  53. package/dist/common/file-uploader/file-upload.js +2 -2
  54. package/dist/common/file-uploader/upload-button.d.ts +1 -0
  55. package/dist/common/file-uploader/upload-button.js +2 -2
  56. package/dist/common/histogram-plot.d.ts +2 -2
  57. package/dist/common/histogram-plot.js +18 -12
  58. package/dist/common/icon-button.d.ts +2 -1
  59. package/dist/common/icon-button.js +2 -2
  60. package/dist/common/icons/add.d.ts +2 -2
  61. package/dist/common/icons/add.js +2 -2
  62. package/dist/common/icons/anchor_window.d.ts +2 -2
  63. package/dist/common/icons/anchor_window.js +2 -2
  64. package/dist/common/icons/arrow-down-alt.d.ts +2 -2
  65. package/dist/common/icons/arrow-down-alt.js +2 -2
  66. package/dist/common/icons/arrow-down-solid.d.ts +2 -2
  67. package/dist/common/icons/arrow-down-solid.js +2 -2
  68. package/dist/common/icons/arrow-down.d.ts +2 -2
  69. package/dist/common/icons/arrow-down.js +2 -2
  70. package/dist/common/icons/arrow-left.d.ts +2 -2
  71. package/dist/common/icons/arrow-left.js +2 -2
  72. package/dist/common/icons/arrow-right.d.ts +2 -2
  73. package/dist/common/icons/arrow-right.js +2 -2
  74. package/dist/common/icons/arrow-up-alt.d.ts +2 -2
  75. package/dist/common/icons/arrow-up-alt.js +2 -2
  76. package/dist/common/icons/arrow-up-solid.d.ts +2 -2
  77. package/dist/common/icons/arrow-up-solid.js +2 -2
  78. package/dist/common/icons/arrow-up.d.ts +2 -2
  79. package/dist/common/icons/arrow-up.js +2 -2
  80. package/dist/common/icons/base.d.ts +1 -1
  81. package/dist/common/icons/base.js +2 -2
  82. package/dist/common/icons/bug.d.ts +2 -2
  83. package/dist/common/icons/bug.js +2 -2
  84. package/dist/common/icons/cancel.d.ts +2 -2
  85. package/dist/common/icons/cancel.js +2 -2
  86. package/dist/common/icons/checkmark.d.ts +2 -2
  87. package/dist/common/icons/checkmark.js +2 -2
  88. package/dist/common/icons/clipboard.d.ts +2 -2
  89. package/dist/common/icons/clipboard.js +2 -2
  90. package/dist/common/icons/clock.d.ts +2 -2
  91. package/dist/common/icons/clock.js +2 -2
  92. package/dist/common/icons/close.d.ts +2 -2
  93. package/dist/common/icons/close.js +2 -2
  94. package/dist/common/icons/code-alt.d.ts +2 -2
  95. package/dist/common/icons/code-alt.js +2 -2
  96. package/dist/common/icons/copy.d.ts +2 -2
  97. package/dist/common/icons/copy.js +2 -2
  98. package/dist/common/icons/crosshairs.d.ts +2 -2
  99. package/dist/common/icons/crosshairs.js +2 -2
  100. package/dist/common/icons/cube-3d.d.ts +2 -2
  101. package/dist/common/icons/cube-3d.js +2 -2
  102. package/dist/common/icons/cursor-click.d.ts +2 -2
  103. package/dist/common/icons/cursor-click.js +2 -2
  104. package/dist/common/icons/cursor-point.d.ts +14 -0
  105. package/dist/common/icons/cursor-point.js +89 -0
  106. package/dist/common/icons/data-table.d.ts +2 -2
  107. package/dist/common/icons/data-table.js +2 -2
  108. package/dist/common/icons/db.d.ts +2 -2
  109. package/dist/common/icons/db.js +2 -2
  110. package/dist/common/icons/delete.d.ts +2 -2
  111. package/dist/common/icons/delete.js +2 -2
  112. package/dist/common/icons/docs.d.ts +2 -2
  113. package/dist/common/icons/docs.js +2 -2
  114. package/dist/common/icons/drag-n-drop.d.ts +2 -2
  115. package/dist/common/icons/drag-n-drop.js +2 -2
  116. package/dist/common/icons/draw-polygon.d.ts +2 -2
  117. package/dist/common/icons/draw-polygon.js +2 -2
  118. package/dist/common/icons/email.d.ts +2 -2
  119. package/dist/common/icons/email.js +2 -2
  120. package/dist/common/icons/expand.d.ts +2 -2
  121. package/dist/common/icons/expand.js +2 -2
  122. package/dist/common/icons/eye-seen.d.ts +2 -2
  123. package/dist/common/icons/eye-seen.js +2 -2
  124. package/dist/common/icons/eye-unseen.d.ts +2 -2
  125. package/dist/common/icons/eye-unseen.js +2 -2
  126. package/dist/common/icons/file-type.d.ts +2 -2
  127. package/dist/common/icons/file-type.js +2 -2
  128. package/dist/common/icons/file.d.ts +2 -2
  129. package/dist/common/icons/file.js +2 -2
  130. package/dist/common/icons/files.d.ts +1 -1
  131. package/dist/common/icons/files.js +2 -2
  132. package/dist/common/icons/filter-funnel.d.ts +2 -2
  133. package/dist/common/icons/filter-funnel.js +2 -2
  134. package/dist/common/icons/free-window.d.ts +2 -2
  135. package/dist/common/icons/free-window.js +2 -2
  136. package/dist/common/icons/gear.d.ts +2 -2
  137. package/dist/common/icons/gear.js +2 -2
  138. package/dist/common/icons/hash.d.ts +2 -2
  139. package/dist/common/icons/hash.js +2 -2
  140. package/dist/common/icons/histogram.d.ts +1 -1
  141. package/dist/common/icons/histogram.js +2 -2
  142. package/dist/common/icons/index.d.ts +1 -0
  143. package/dist/common/icons/index.js +10 -2
  144. package/dist/common/icons/info.d.ts +2 -2
  145. package/dist/common/icons/info.js +2 -2
  146. package/dist/common/icons/layers.d.ts +2 -2
  147. package/dist/common/icons/layers.js +2 -2
  148. package/dist/common/icons/left-arrow.d.ts +2 -2
  149. package/dist/common/icons/left-arrow.js +2 -2
  150. package/dist/common/icons/legend.d.ts +2 -2
  151. package/dist/common/icons/legend.js +2 -2
  152. package/dist/common/icons/line-chart.d.ts +2 -2
  153. package/dist/common/icons/line-chart.js +2 -2
  154. package/dist/common/icons/login.d.ts +2 -2
  155. package/dist/common/icons/login.js +2 -2
  156. package/dist/common/icons/logout.d.ts +2 -2
  157. package/dist/common/icons/logout.js +2 -2
  158. package/dist/common/icons/map-icon.d.ts +2 -2
  159. package/dist/common/icons/map-icon.js +2 -2
  160. package/dist/common/icons/map.d.ts +2 -2
  161. package/dist/common/icons/map.js +2 -2
  162. package/dist/common/icons/messages.d.ts +2 -2
  163. package/dist/common/icons/messages.js +2 -2
  164. package/dist/common/icons/minus.d.ts +2 -2
  165. package/dist/common/icons/minus.js +2 -2
  166. package/dist/common/icons/order-by-dataset.d.ts +2 -2
  167. package/dist/common/icons/order-by-dataset.js +2 -2
  168. package/dist/common/icons/order-by-list.d.ts +2 -2
  169. package/dist/common/icons/order-by-list.js +2 -2
  170. package/dist/common/icons/pause.d.ts +2 -2
  171. package/dist/common/icons/pause.js +2 -2
  172. package/dist/common/icons/picture.d.ts +1 -1
  173. package/dist/common/icons/picture.js +2 -2
  174. package/dist/common/icons/pin.d.ts +2 -2
  175. package/dist/common/icons/pin.js +2 -2
  176. package/dist/common/icons/play.d.ts +2 -2
  177. package/dist/common/icons/play.js +2 -2
  178. package/dist/common/icons/polygon.d.ts +2 -2
  179. package/dist/common/icons/polygon.js +2 -2
  180. package/dist/common/icons/rectangle.d.ts +2 -2
  181. package/dist/common/icons/rectangle.js +2 -2
  182. package/dist/common/icons/reduce.d.ts +2 -2
  183. package/dist/common/icons/reduce.js +2 -2
  184. package/dist/common/icons/reset.d.ts +2 -2
  185. package/dist/common/icons/reset.js +2 -2
  186. package/dist/common/icons/rocket.d.ts +2 -2
  187. package/dist/common/icons/rocket.js +2 -2
  188. package/dist/common/icons/save.d.ts +2 -2
  189. package/dist/common/icons/save.js +2 -2
  190. package/dist/common/icons/save2.d.ts +2 -2
  191. package/dist/common/icons/save2.js +2 -2
  192. package/dist/common/icons/search.d.ts +2 -2
  193. package/dist/common/icons/search.js +2 -2
  194. package/dist/common/icons/settings.d.ts +2 -2
  195. package/dist/common/icons/settings.js +2 -2
  196. package/dist/common/icons/share.d.ts +2 -2
  197. package/dist/common/icons/share.js +2 -2
  198. package/dist/common/icons/split.d.ts +2 -2
  199. package/dist/common/icons/split.js +2 -2
  200. package/dist/common/icons/square-select.d.ts +2 -2
  201. package/dist/common/icons/square-select.js +2 -2
  202. package/dist/common/icons/trash.d.ts +2 -2
  203. package/dist/common/icons/trash.js +2 -2
  204. package/dist/common/icons/vert-dots.d.ts +2 -2
  205. package/dist/common/icons/vert-dots.js +2 -2
  206. package/dist/common/icons/vert-three-dots.d.ts +2 -2
  207. package/dist/common/icons/vert-three-dots.js +2 -2
  208. package/dist/common/icons/warning-sign.d.ts +2 -2
  209. package/dist/common/icons/warning-sign.js +2 -2
  210. package/dist/common/icons/warning.d.ts +2 -2
  211. package/dist/common/icons/warning.js +2 -2
  212. package/dist/common/image-preview.d.ts +2 -2
  213. package/dist/common/image-preview.js +2 -2
  214. package/dist/common/index.d.ts +1 -1
  215. package/dist/common/index.js +8 -2
  216. package/dist/common/info-helper.d.ts +2 -2
  217. package/dist/common/info-helper.js +2 -2
  218. package/dist/common/item-selector/accessor.js +2 -2
  219. package/dist/common/item-selector/chickleted-input.js +2 -2
  220. package/dist/common/item-selector/dropdown-list.d.ts +28 -8
  221. package/dist/common/item-selector/dropdown-list.js +144 -25
  222. package/dist/common/item-selector/item-selector.d.ts +2 -3
  223. package/dist/common/item-selector/item-selector.js +7 -3
  224. package/dist/common/item-selector/typeahead.d.ts +16 -12
  225. package/dist/common/item-selector/typeahead.js +24 -13
  226. package/dist/common/line-chart.d.ts +2 -2
  227. package/dist/common/line-chart.js +2 -2
  228. package/dist/common/loading-spinner.js +2 -2
  229. package/dist/common/logo.d.ts +2 -2
  230. package/dist/common/logo.js +2 -2
  231. package/dist/common/map-layer-selector.d.ts +2 -2
  232. package/dist/common/map-layer-selector.js +3 -4
  233. package/dist/common/modal.d.ts +24 -11
  234. package/dist/common/modal.js +2 -2
  235. package/dist/common/portaled.d.ts +513 -2
  236. package/dist/common/portaled.js +2 -2
  237. package/dist/common/progress-bar.d.ts +2 -2
  238. package/dist/common/progress-bar.js +2 -2
  239. package/dist/common/range-brush.js +2 -2
  240. package/dist/common/range-plot.d.ts +6 -2
  241. package/dist/common/range-plot.js +4 -3
  242. package/dist/common/range-slider.d.ts +5 -1
  243. package/dist/common/range-slider.js +9 -3
  244. package/dist/common/slider/mouse-event.js +2 -2
  245. package/dist/common/slider/slider-bar-handle.d.ts +2 -2
  246. package/dist/common/slider/slider-bar-handle.js +2 -2
  247. package/dist/common/slider/slider-handle.d.ts +1 -1
  248. package/dist/common/slider/slider-handle.js +2 -2
  249. package/dist/common/slider/slider.d.ts +7 -5
  250. package/dist/common/slider/slider.js +8 -5
  251. package/dist/common/styled-components.d.ts +5 -0
  252. package/dist/common/styled-components.js +161 -47
  253. package/dist/common/switch.d.ts +3 -2
  254. package/dist/common/switch.js +2 -2
  255. package/dist/common/time-range-slider-time-title.d.ts +2 -2
  256. package/dist/common/time-range-slider-time-title.js +2 -2
  257. package/dist/common/time-range-slider.d.ts +6 -3
  258. package/dist/common/time-range-slider.js +33 -14
  259. package/dist/common/time-slider-marker.d.ts +1 -1
  260. package/dist/common/time-slider-marker.js +3 -3
  261. package/dist/common/timeline-slider.d.ts +13 -0
  262. package/dist/common/timeline-slider.js +173 -0
  263. package/dist/common/tippy-tooltip.d.ts +4 -2
  264. package/dist/common/tippy-tooltip.js +23 -11
  265. package/dist/common/toolbar-item.d.ts +1 -1
  266. package/dist/common/toolbar-item.js +6 -4
  267. package/dist/common/toolbar.js +2 -2
  268. package/dist/common/vertical-toolbar.js +2 -2
  269. package/dist/connect/keplergl-connect.d.ts +5 -1
  270. package/dist/connect/keplergl-connect.js +2 -2
  271. package/dist/connect/with-local-selector.js +2 -2
  272. package/dist/container.js +2 -2
  273. package/dist/context.js +4 -3
  274. package/dist/dnd-context.d.ts +13 -0
  275. package/dist/dnd-context.js +252 -0
  276. package/dist/editor/editor.d.ts +11 -10
  277. package/dist/editor/editor.js +97 -103
  278. package/dist/editor/feature-action-panel.d.ts +8 -6
  279. package/dist/editor/feature-action-panel.js +75 -22
  280. package/dist/effects/effect-configurator.d.ts +18 -0
  281. package/dist/effects/effect-configurator.js +237 -0
  282. package/dist/effects/effect-list.d.ts +15 -0
  283. package/dist/effects/effect-list.js +173 -0
  284. package/dist/effects/effect-manager.d.ts +21 -0
  285. package/dist/effects/effect-manager.js +129 -0
  286. package/dist/effects/effect-panel-header.d.ts +33 -0
  287. package/dist/effects/effect-panel-header.js +174 -0
  288. package/dist/effects/effect-panel.d.ts +24 -0
  289. package/dist/effects/effect-panel.js +162 -0
  290. package/dist/effects/effect-time-configurator.d.ts +13 -0
  291. package/dist/effects/effect-time-configurator.js +191 -0
  292. package/dist/effects/effect-type-selector.d.ts +11 -0
  293. package/dist/effects/effect-type-selector.js +117 -0
  294. package/dist/effects/side-panel-title.d.ts +7 -0
  295. package/dist/effects/side-panel-title.js +67 -0
  296. package/dist/filter-animation-controller.d.ts +17 -0
  297. package/dist/filter-animation-controller.js +91 -0
  298. package/dist/filters/components.js +2 -2
  299. package/dist/filters/filter-panels/filter-panel-with-field-select.js +3 -3
  300. package/dist/filters/filter-panels/multi-select-filter-panel.js +3 -3
  301. package/dist/filters/filter-panels/new-filter-panel.js +2 -2
  302. package/dist/filters/filter-panels/polygon-filter-panel.js +3 -3
  303. package/dist/filters/filter-panels/range-filter-panel.js +3 -3
  304. package/dist/filters/filter-panels/single-select-filter-panel.js +3 -3
  305. package/dist/filters/filter-panels/time-range-filter-panel.js +25 -8
  306. package/dist/filters/filter-panels/types.d.ts +2 -1
  307. package/dist/filters/filter-panels/types.js +1 -1
  308. package/dist/filters/index.d.ts +2 -0
  309. package/dist/filters/index.js +18 -2
  310. package/dist/filters/multi-select-filter.js +2 -2
  311. package/dist/filters/polygon-filter.js +14 -4
  312. package/dist/filters/range-filter.js +6 -4
  313. package/dist/filters/single-select-filter.js +2 -2
  314. package/dist/filters/time-range-filter.d.ts +2 -1
  315. package/dist/filters/time-range-filter.js +10 -7
  316. package/dist/filters/time-widget-top.d.ts +8 -0
  317. package/dist/filters/time-widget-top.js +123 -0
  318. package/dist/filters/time-widget.d.ts +3 -7
  319. package/dist/filters/time-widget.js +35 -92
  320. package/dist/filters/types.d.ts +7 -3
  321. package/dist/filters/types.js +1 -1
  322. package/dist/geocoder/geocoder.d.ts +1 -3
  323. package/dist/geocoder/geocoder.js +2 -2
  324. package/dist/geocoder-panel.d.ts +9 -3
  325. package/dist/geocoder-panel.js +30 -19
  326. package/dist/hooks/useFeatureFlags.js +1 -1
  327. package/dist/index.d.ts +68 -20
  328. package/dist/index.js +599 -99
  329. package/dist/injector.d.ts +4 -4
  330. package/dist/injector.js +2 -2
  331. package/dist/kepler-gl.d.ts +58 -17
  332. package/dist/kepler-gl.js +78 -31
  333. package/dist/layer-animation-controller.d.ts +13 -0
  334. package/dist/layer-animation-controller.js +76 -0
  335. package/dist/map/coordinate-info.js +2 -2
  336. package/dist/map/effects/effect-control.d.ts +16 -0
  337. package/dist/map/effects/effect-control.js +81 -0
  338. package/dist/map/layer-hover-info.d.ts +2 -2
  339. package/dist/map/layer-hover-info.js +26 -10
  340. package/dist/map/layer-selector-panel.js +2 -2
  341. package/dist/map/lazy-tippy.js +1 -1
  342. package/dist/map/locale-panel.d.ts +1 -1
  343. package/dist/map/locale-panel.js +2 -2
  344. package/dist/map/map-control-panel.d.ts +6 -0
  345. package/dist/map/map-control-panel.js +65 -9
  346. package/dist/map/map-control-toolbar.js +3 -3
  347. package/dist/map/map-control-tooltip.js +2 -2
  348. package/dist/map/map-control.d.ts +15 -7
  349. package/dist/map/map-control.js +6 -7
  350. package/dist/map/map-draw-panel.d.ts +2 -2
  351. package/dist/map/map-draw-panel.js +2 -9
  352. package/dist/map/map-legend-panel.d.ts +12 -1
  353. package/dist/map/map-legend-panel.js +27 -14
  354. package/dist/map/map-legend.d.ts +1 -1
  355. package/dist/map/map-legend.js +2 -2
  356. package/dist/map/map-popover-content.d.ts +28 -0
  357. package/dist/map/map-popover-content.js +51 -0
  358. package/dist/map/map-popover.d.ts +11 -14
  359. package/dist/map/map-popover.js +94 -15
  360. package/dist/map/split-map-button.js +2 -2
  361. package/dist/map/toggle-3d-button.js +2 -2
  362. package/dist/map-container.d.ts +33 -9
  363. package/dist/map-container.js +530 -161
  364. package/dist/map-view-state-context.d.ts +12 -0
  365. package/dist/map-view-state-context.js +116 -0
  366. package/dist/maps-layout.d.ts +5 -2
  367. package/dist/maps-layout.js +7 -3
  368. package/dist/modal-container.d.ts +2 -6
  369. package/dist/modal-container.js +8 -6
  370. package/dist/modals/add-map-style-modal.d.ts +1 -3
  371. package/dist/modals/add-map-style-modal.js +12 -6
  372. package/dist/modals/cloud-tile.js +2 -2
  373. package/dist/modals/data-table-modal.d.ts +11 -2
  374. package/dist/modals/data-table-modal.js +75 -24
  375. package/dist/modals/delete-data-modal.js +2 -2
  376. package/dist/modals/error-display.js +2 -2
  377. package/dist/modals/export-data-modal.d.ts +1 -3
  378. package/dist/modals/export-data-modal.js +2 -2
  379. package/dist/modals/export-image-modal.d.ts +1 -3
  380. package/dist/modals/export-image-modal.js +2 -2
  381. package/dist/modals/export-map-modal/components.d.ts +2 -2
  382. package/dist/modals/export-map-modal/components.js +2 -2
  383. package/dist/modals/export-map-modal/export-html-map.js +2 -2
  384. package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
  385. package/dist/modals/export-map-modal/export-json-map.js +2 -2
  386. package/dist/modals/export-map-modal/export-map-modal.d.ts +2 -2
  387. package/dist/modals/export-map-modal/export-map-modal.js +2 -2
  388. package/dist/modals/image-modal-container.d.ts +1 -0
  389. package/dist/modals/image-modal-container.js +2 -2
  390. package/dist/modals/load-data-modal.js +2 -2
  391. package/dist/modals/load-storage-map.js +2 -2
  392. package/dist/modals/loading-dialog.js +2 -2
  393. package/dist/modals/modal-dialog.js +2 -2
  394. package/dist/modals/modal-tabs.d.ts +1 -1
  395. package/dist/modals/modal-tabs.js +2 -2
  396. package/dist/modals/overwrite-map-modal.js +2 -2
  397. package/dist/modals/provider-modal-container.d.ts +3 -2
  398. package/dist/modals/provider-modal-container.js +2 -2
  399. package/dist/modals/save-map-modal.js +2 -2
  400. package/dist/modals/share-map-modal.js +2 -2
  401. package/dist/modals/status-panel.js +2 -2
  402. package/dist/modals/storage-map-viewer.d.ts +1 -1
  403. package/dist/modals/storage-map-viewer.js +2 -2
  404. package/dist/notification-panel/notification-item.d.ts +7 -10
  405. package/dist/notification-panel/notification-item.js +45 -13
  406. package/dist/notification-panel.js +2 -2
  407. package/dist/plot-container.js +20 -8
  408. package/dist/side-panel/add-by-dataset-button.d.ts +12 -0
  409. package/dist/side-panel/add-by-dataset-button.js +173 -0
  410. package/dist/side-panel/cloud-storage-dropdown.d.ts +2 -2
  411. package/dist/side-panel/cloud-storage-dropdown.js +2 -2
  412. package/dist/side-panel/common/dataset-info.d.ts +10 -3
  413. package/dist/side-panel/common/dataset-info.js +2 -2
  414. package/dist/side-panel/common/dataset-tag.d.ts +15 -1
  415. package/dist/side-panel/common/dataset-tag.js +14 -11
  416. package/dist/side-panel/common/dataset-title.d.ts +16 -2
  417. package/dist/side-panel/common/dataset-title.js +71 -105
  418. package/dist/side-panel/common/source-data-catalog.d.ts +22 -3
  419. package/dist/side-panel/common/source-data-catalog.js +2 -2
  420. package/dist/side-panel/common/source-data-selector.js +2 -2
  421. package/dist/side-panel/common/types.d.ts +7 -27
  422. package/dist/side-panel/common/types.js +1 -1
  423. package/dist/side-panel/custom-panel.d.ts +6 -7
  424. package/dist/side-panel/custom-panel.js +2 -2
  425. package/dist/side-panel/filter-manager.d.ts +18 -6
  426. package/dist/side-panel/filter-manager.js +176 -65
  427. package/dist/side-panel/filter-panel/add-filter-button.d.ts +8 -0
  428. package/dist/side-panel/filter-panel/add-filter-button.js +50 -0
  429. package/dist/side-panel/filter-panel/filter-panel-header.d.ts +6 -3
  430. package/dist/side-panel/filter-panel/filter-panel-header.js +4 -4
  431. package/dist/side-panel/filter-panel/filter-panel.js +2 -2
  432. package/dist/side-panel/interaction-manager.d.ts +6 -3
  433. package/dist/side-panel/interaction-manager.js +21 -8
  434. package/dist/side-panel/interaction-panel/brush-config.d.ts +2 -2
  435. package/dist/side-panel/interaction-panel/brush-config.js +2 -2
  436. package/dist/side-panel/interaction-panel/interaction-panel.d.ts +5 -2
  437. package/dist/side-panel/interaction-panel/interaction-panel.js +12 -5
  438. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -9
  439. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +25 -42
  440. package/dist/side-panel/interaction-panel/tooltip-config.d.ts +2 -3
  441. package/dist/side-panel/interaction-panel/tooltip-config.js +9 -7
  442. package/dist/side-panel/layer-manager.d.ts +8 -10
  443. package/dist/side-panel/layer-manager.js +71 -37
  444. package/dist/side-panel/layer-panel/add-layer-button.d.ts +3 -5
  445. package/dist/side-panel/layer-panel/add-layer-button.js +13 -139
  446. package/dist/side-panel/layer-panel/color-palette.js +2 -2
  447. package/dist/side-panel/layer-panel/color-range-selector.d.ts +1 -1
  448. package/dist/side-panel/layer-panel/color-range-selector.js +2 -2
  449. package/dist/side-panel/layer-panel/color-selector.d.ts +15 -24
  450. package/dist/side-panel/layer-panel/color-selector.js +175 -127
  451. package/dist/side-panel/layer-panel/column-selector.js +2 -2
  452. package/dist/side-panel/layer-panel/custom-palette.d.ts +7 -2
  453. package/dist/side-panel/layer-panel/custom-palette.js +6 -5
  454. package/dist/side-panel/layer-panel/custom-picker.d.ts +9 -36
  455. package/dist/side-panel/layer-panel/custom-picker.js +2 -2
  456. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
  457. package/dist/side-panel/layer-panel/dataset-layer-group.js +3 -2
  458. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +3 -2
  459. package/dist/side-panel/layer-panel/dataset-layer-section.js +5 -4
  460. package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -3
  461. package/dist/side-panel/layer-panel/dataset-section.js +6 -7
  462. package/dist/side-panel/layer-panel/dimension-scale-selector.js +2 -2
  463. package/dist/side-panel/layer-panel/how-to-button.js +2 -2
  464. package/dist/side-panel/layer-panel/layer-color-selector.d.ts +42 -0
  465. package/dist/side-panel/layer-panel/layer-color-selector.js +134 -0
  466. package/dist/side-panel/layer-panel/layer-column-config.d.ts +15 -9
  467. package/dist/side-panel/layer-panel/layer-column-config.js +35 -13
  468. package/dist/side-panel/layer-panel/layer-config-group.d.ts +11 -2
  469. package/dist/side-panel/layer-panel/layer-config-group.js +19 -11
  470. package/dist/side-panel/layer-panel/layer-configurator.d.ts +10 -35
  471. package/dist/side-panel/layer-panel/layer-configurator.js +61 -110
  472. package/dist/side-panel/layer-panel/layer-error-message.d.ts +6 -0
  473. package/dist/side-panel/layer-panel/layer-error-message.js +58 -0
  474. package/dist/side-panel/layer-panel/layer-list.d.ts +4 -3
  475. package/dist/side-panel/layer-panel/layer-list.js +112 -89
  476. package/dist/side-panel/layer-panel/layer-panel-header.d.ts +22 -10
  477. package/dist/side-panel/layer-panel/layer-panel-header.js +106 -67
  478. package/dist/side-panel/layer-panel/layer-panel.d.ts +3 -1
  479. package/dist/side-panel/layer-panel/layer-panel.js +24 -11
  480. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +2 -2
  481. package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +12 -3
  482. package/dist/side-panel/layer-panel/layer-type-list-item.js +12 -4
  483. package/dist/side-panel/layer-panel/layer-type-selector.d.ts +2 -1
  484. package/dist/side-panel/layer-panel/layer-type-selector.js +5 -3
  485. package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -1
  486. package/dist/side-panel/layer-panel/single-color-palette.js +2 -2
  487. package/dist/side-panel/layer-panel/text-label-panel.d.ts +4 -2
  488. package/dist/side-panel/layer-panel/text-label-panel.js +62 -15
  489. package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +1 -3
  490. package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +2 -2
  491. package/dist/side-panel/layer-panel/vis-config-slider.js +2 -2
  492. package/dist/side-panel/layer-panel/vis-config-switch.js +2 -2
  493. package/dist/side-panel/map-manager.d.ts +13 -6
  494. package/dist/side-panel/map-manager.js +56 -45
  495. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +14 -0
  496. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +116 -0
  497. package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +29 -0
  498. package/dist/side-panel/map-style-panel/map-layer-group-item.js +131 -0
  499. package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +16 -12
  500. package/dist/side-panel/map-style-panel/map-layer-selector.js +34 -51
  501. package/dist/side-panel/map-style-panel/map-style-selector.d.ts +11 -4
  502. package/dist/side-panel/map-style-panel/map-style-selector.js +54 -20
  503. package/dist/side-panel/panel-dropdown.d.ts +3 -2
  504. package/dist/side-panel/panel-dropdown.js +2 -2
  505. package/dist/side-panel/panel-header-action.d.ts +4 -2
  506. package/dist/side-panel/panel-header-action.js +11 -4
  507. package/dist/side-panel/panel-header.d.ts +13 -8
  508. package/dist/side-panel/panel-header.js +2 -2
  509. package/dist/side-panel/panel-tab.d.ts +2 -2
  510. package/dist/side-panel/panel-tab.js +2 -2
  511. package/dist/side-panel/panel-title.d.ts +6 -3
  512. package/dist/side-panel/panel-title.js +31 -14
  513. package/dist/side-panel/panel-toggle.d.ts +1 -1
  514. package/dist/side-panel/panel-toggle.js +2 -2
  515. package/dist/side-panel/{layer-panel/panel-view-list-toggle.d.ts → panel-view-list-toggle.d.ts} +19 -8
  516. package/dist/side-panel/panel-view-list-toggle.js +143 -0
  517. package/dist/side-panel/side-bar.d.ts +15 -16
  518. package/dist/side-panel/side-bar.js +8 -6
  519. package/dist/side-panel.d.ts +2 -117
  520. package/dist/side-panel.js +14 -20
  521. package/dist/types.d.ts +16 -9
  522. package/dist/types.js +1 -1
  523. package/package.json +41 -34
  524. package/dist/editor/constants.d.ts +0 -17
  525. package/dist/editor/constants.js +0 -47
  526. package/dist/editor/feature-styles.d.ts +0 -37
  527. package/dist/editor/feature-styles.js +0 -92
  528. package/dist/editor/handle-style.d.ts +0 -42
  529. package/dist/editor/handle-style.js +0 -100
  530. package/dist/side-panel/layer-panel/panel-view-list-toggle.js +0 -143
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -29,8 +29,12 @@ Object.defineProperty(exports, "__esModule", {
29
29
  });
30
30
  exports["default"] = exports.InputBoxContainer = exports.ColorSelectorInput = exports.ColorBlock = void 0;
31
31
 
32
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
33
+
32
34
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
33
35
 
36
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
37
+
34
38
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
35
39
 
36
40
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -51,6 +55,8 @@ var _react = _interopRequireWildcard(require("react"));
51
55
 
52
56
  var _styledComponents = _interopRequireDefault(require("styled-components"));
53
57
 
58
+ var _reactIntl = require("react-intl");
59
+
54
60
  var _utils = require("@kepler.gl/utils");
55
61
 
56
62
  var _singleColorPalette = _interopRequireDefault(require("./single-color-palette"));
@@ -63,19 +69,33 @@ var _styledComponents2 = require("../../common/styled-components");
63
69
 
64
70
  var _reactOnclickoutside = _interopRequireDefault(require("react-onclickoutside"));
65
71
 
66
- var _templateObject, _templateObject2, _templateObject3;
72
+ var _rangeSlider = _interopRequireDefault(require("../../common/range-slider"));
73
+
74
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
67
75
 
68
76
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
69
77
 
70
78
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
71
79
 
72
- var ColorBlock = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: 32px;\n height: 18px;\n border-radius: 1px;\n background-color: ", ";\n"])), function (props) {
73
- return "rgb(".concat(props.backgroundcolor.slice(0, 3).join(','), ")");
80
+ var OpacitySliderWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0px 12px 12px 12px;\n"])));
81
+
82
+ var OPACITY_SLIDER_PROPS = {
83
+ type: 'number',
84
+ range: [0, 1],
85
+ value0: 0,
86
+ step: 0.01,
87
+ isRanged: false,
88
+ label: 'Opacity',
89
+ showInput: true
90
+ };
91
+
92
+ var ColorBlock = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: 32px;\n height: 18px;\n border-radius: 1px;\n background-color: ", ";\n"])), function (props) {
93
+ return Array.isArray(props.backgroundcolor) ? "rgb(".concat(props.backgroundcolor.slice(0, 3).join(','), ")") : 'transparent';
74
94
  });
75
95
 
76
96
  exports.ColorBlock = ColorBlock;
77
97
 
78
- var ColorSelectorInput = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n height: ", ";\n\n .color-selector__selector__label {\n text-transform: capitalize;\n font-size: 12px;\n text-align: center;\n color: ", ";\n }\n"])), function (props) {
98
+ var ColorSelectorInput = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n height: ", ";\n\n .color-selector__selector__label {\n text-transform: capitalize;\n font-size: 12px;\n text-align: center;\n color: ", ";\n }\n"])), function (props) {
79
99
  return props.inputTheme === 'secondary' ? props.theme.secondaryInput : props.theme.input;
80
100
  }, function (props) {
81
101
  return props.theme.inputBoxHeight;
@@ -85,141 +105,169 @@ var ColorSelectorInput = _styledComponents["default"].div(_templateObject2 || (_
85
105
 
86
106
  exports.ColorSelectorInput = ColorSelectorInput;
87
107
 
88
- var InputBoxContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n\n .color-select__input-group {\n flex-grow: 1;\n }\n .color-select__input-group:nth-child(2) {\n margin-left: 12px;\n }\n"])));
108
+ var InputBoxContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n\n .color-select__input-group {\n flex-grow: 1;\n }\n .color-select__input-group:nth-child(2) {\n margin-left: 12px;\n }\n"])));
89
109
 
90
110
  exports.InputBoxContainer = InputBoxContainer;
111
+ ColorSelectorFactory.deps = [_rangeSlider["default"]];
91
112
 
92
- var ColorSelector = /*#__PURE__*/function (_Component) {
93
- (0, _inherits2["default"])(ColorSelector, _Component);
94
-
95
- var _super = _createSuper(ColorSelector);
113
+ function ColorSelectorFactory(RangeSlider) {
114
+ var ColorSelector = /*#__PURE__*/function (_Component) {
115
+ (0, _inherits2["default"])(ColorSelector, _Component);
96
116
 
97
- function ColorSelector() {
98
- var _this;
117
+ var _super = _createSuper(ColorSelector);
99
118
 
100
- (0, _classCallCheck2["default"])(this, ColorSelector);
119
+ function ColorSelector() {
120
+ var _this;
101
121
 
102
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
103
- args[_key] = arguments[_key];
104
- }
122
+ (0, _classCallCheck2["default"])(this, ColorSelector);
105
123
 
106
- _this = _super.call.apply(_super, [this].concat(args));
107
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
108
- showDropdown: false
109
- });
110
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "node", /*#__PURE__*/(0, _react.createRef)());
111
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClickOutside", function (e) {
112
- if (_this.props.colorUI && Number.isInteger(_this.props.colorUI.showSketcher)) {
113
- // if sketcher is open, let sketch to close itself first
114
- return;
124
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
125
+ args[_key] = arguments[_key];
115
126
  }
116
127
 
117
- _this._closePanelDropdown();
118
- });
119
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_getEditing", function () {
120
- return _this.props.colorUI ? _this.props.colorUI.showDropdown : _this.state.showDropdown;
121
- });
122
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_closePanelDropdown", function () {
123
- if (_this._getEditing() === false) {
124
- return;
125
- }
128
+ _this = _super.call.apply(_super, [this].concat(args));
129
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
130
+ showDropdown: false
131
+ });
132
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "node", /*#__PURE__*/(0, _react.createRef)());
133
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClickOutside", function (e) {
134
+ if (_this.props.colorUI && Number.isInteger(_this.props.colorUI.showSketcher)) {
135
+ // if sketcher is open, let sketch to close itself first
136
+ return;
137
+ }
138
+
139
+ _this._closePanelDropdown();
140
+ });
141
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_getEditing", function () {
142
+ return _this.props.colorUI ? _this.props.colorUI.showDropdown : _this.state.showDropdown;
143
+ });
144
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_closePanelDropdown", function () {
145
+ if (_this._getEditing() === false) {
146
+ return;
147
+ }
148
+
149
+ if (_this.props.setColorUI) {
150
+ _this.props.setColorUI({
151
+ showDropdown: false,
152
+ showSketcher: false
153
+ });
154
+ } else {
155
+ _this.setState({
156
+ showDropdown: false
157
+ });
158
+ }
159
+ });
160
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_onSelectColor", function (color, e) {
161
+ e.stopPropagation();
162
+
163
+ var editing = _this._getEditing();
164
+
165
+ var colorSet = typeof editing === 'number' && _this.props.colorSets[editing];
166
+
167
+ if (colorSet) {
168
+ _this._setColor(colorSet, color, colorSet.selectedColor[3]);
169
+ }
170
+ });
171
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_onSelectOpacity", function (opacity, e) {
172
+ if (e) e.stopPropagation();
173
+
174
+ var editing = _this._getEditing();
175
+
176
+ var colorSet = typeof editing === 'number' && _this.props.colorSets[editing];
177
+
178
+ if (colorSet) {
179
+ _this._setColor(colorSet, colorSet.selectedColor, Math.round(opacity[1] * 255));
180
+ }
181
+ });
182
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_setColor", function (colorSet, color, opacity) {
183
+ if (_this.props.useOpacity && Array.isArray(color)) {
184
+ colorSet.setColor([].concat((0, _toConsumableArray2["default"])(color.slice(0, 3)), [opacity]));
185
+ } else {
186
+ colorSet.setColor(color);
187
+ }
188
+ });
189
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_showDropdown", function (e, i) {
190
+ e.stopPropagation();
191
+ e.preventDefault();
192
+
193
+ if (_this.props.setColorUI) {
194
+ _this.props.setColorUI({
195
+ showDropdown: i
196
+ });
197
+ } else {
198
+ _this.setState({
199
+ showDropdown: i
200
+ });
201
+ }
202
+ });
203
+ return _this;
204
+ }
126
205
 
127
- if (_this.props.setColorUI) {
128
- _this.props.setColorUI({
129
- showDropdown: false,
130
- showSketcher: false
131
- });
132
- } else {
133
- _this.setState({
134
- showDropdown: false
135
- });
136
- }
137
- });
138
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_onSelectColor", function (color, e) {
139
- e.stopPropagation();
206
+ (0, _createClass2["default"])(ColorSelector, [{
207
+ key: "render",
208
+ value: function render() {
209
+ var _this2 = this;
140
210
 
141
- var editing = _this._getEditing();
211
+ var _this$props = this.props,
212
+ colorSets = _this$props.colorSets,
213
+ useOpacity = _this$props.useOpacity,
214
+ disabled = _this$props.disabled,
215
+ inputTheme = _this$props.inputTheme,
216
+ colorUI = _this$props.colorUI;
142
217
 
143
- if (typeof editing === 'number' && _this.props.colorSets[editing]) {
144
- // @ts-ignore
145
- _this.props.colorSets[editing].setColor(color);
146
- }
147
- });
148
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_showDropdown", function (e, i) {
149
- e.stopPropagation();
150
- e.preventDefault();
151
-
152
- if (_this.props.setColorUI) {
153
- _this.props.setColorUI({
154
- showDropdown: i
155
- });
156
- } else {
157
- _this.setState({
158
- showDropdown: i
159
- });
160
- }
161
- });
162
- return _this;
163
- }
164
-
165
- (0, _createClass2["default"])(ColorSelector, [{
166
- key: "render",
167
- value: function render() {
168
- var _this2 = this;
169
-
170
- var _this$props = this.props,
171
- colorSets = _this$props.colorSets,
172
- disabled = _this$props.disabled,
173
- inputTheme = _this$props.inputTheme,
174
- colorUI = _this$props.colorUI;
175
-
176
- var editing = this._getEditing();
177
-
178
- var currentEditing = typeof editing === 'number' && colorSets[editing] && (0, _typeof2["default"])(colorSets[editing]) === 'object';
179
- return /*#__PURE__*/_react["default"].createElement("div", {
180
- className: "color-selector",
181
- ref: this.node
182
- }, /*#__PURE__*/_react["default"].createElement(InputBoxContainer, null, colorSets.map(function (cSet, i) {
183
- return /*#__PURE__*/_react["default"].createElement("div", {
184
- className: "color-select__input-group",
185
- key: i
186
- }, /*#__PURE__*/_react["default"].createElement(ColorSelectorInput, {
187
- className: "color-selector__selector",
188
- active: editing === i,
189
- disabled: disabled,
190
- inputTheme: inputTheme,
191
- onMouseDown: function onMouseDown(e) {
192
- return _this2._showDropdown(e, i);
193
- }
194
- }, cSet.isRange ? /*#__PURE__*/_react["default"].createElement(_colorPalette["default"], {
195
- colors: cSet.selectedColor.colors
196
- }) : /*#__PURE__*/_react["default"].createElement(ColorBlock, {
197
- className: "color-selector__selector__block",
198
- backgroundcolor: cSet.selectedColor
199
- }), cSet.label ? /*#__PURE__*/_react["default"].createElement("div", {
200
- className: "color-selector__selector__label"
201
- }, cSet.label) : null));
202
- })), currentEditing ? /*#__PURE__*/_react["default"].createElement(_styledComponents2.StyledPanelDropdown, {
203
- className: "color-selector__dropdown"
204
- }, colorSets[editing].isRange ? /*#__PURE__*/_react["default"].createElement(_colorRangeSelector["default"], {
205
- selectedColorRange: colorSets[editing].selectedColor,
206
- onSelectColorRange: this._onSelectColor,
207
- setColorPaletteUI: this.props.setColorUI,
208
- colorPaletteUI: colorUI
209
- }) : /*#__PURE__*/_react["default"].createElement(_singleColorPalette["default"], {
210
- selectedColor: (0, _utils.rgbToHex)(colorSets[editing].selectedColor),
211
- onSelectColor: this._onSelectColor
212
- })) : null);
213
- }
214
- }]);
215
- return ColorSelector;
216
- }(_react.Component);
218
+ var editing = this._getEditing();
217
219
 
218
- (0, _defineProperty2["default"])(ColorSelector, "defaultProps", {
219
- colorSets: []
220
- });
220
+ var currentEditing = typeof editing === 'number' && colorSets[editing] && (0, _typeof2["default"])(colorSets[editing]) === 'object';
221
+ return /*#__PURE__*/_react["default"].createElement("div", {
222
+ className: "color-selector",
223
+ ref: this.node
224
+ }, /*#__PURE__*/_react["default"].createElement(InputBoxContainer, null, colorSets.map(function (cSet, i) {
225
+ return /*#__PURE__*/_react["default"].createElement("div", {
226
+ className: "color-select__input-group",
227
+ key: i
228
+ }, /*#__PURE__*/_react["default"].createElement(ColorSelectorInput, {
229
+ className: "color-selector__selector",
230
+ active: editing === i,
231
+ disabled: disabled,
232
+ inputTheme: inputTheme,
233
+ onMouseDown: function onMouseDown(e) {
234
+ return _this2._showDropdown(e, i);
235
+ }
236
+ }, cSet.isRange ? /*#__PURE__*/_react["default"].createElement(_colorPalette["default"], {
237
+ colors: cSet.selectedColor.colors
238
+ }) : /*#__PURE__*/_react["default"].createElement(ColorBlock, {
239
+ className: "color-selector__selector__block",
240
+ backgroundcolor: cSet.selectedColor
241
+ }), cSet.label ? /*#__PURE__*/_react["default"].createElement("div", {
242
+ className: "color-selector__selector__label"
243
+ }, cSet.label) : null));
244
+ })), currentEditing ? /*#__PURE__*/_react["default"].createElement(_styledComponents2.StyledPanelDropdown, {
245
+ className: "color-selector__dropdown"
246
+ }, colorSets[editing].isRange ? /*#__PURE__*/_react["default"].createElement(_colorRangeSelector["default"], {
247
+ selectedColorRange: colorSets[editing].selectedColor,
248
+ onSelectColorRange: this._onSelectColor,
249
+ setColorPaletteUI: this.props.setColorUI,
250
+ colorPaletteUI: colorUI
251
+ }) : /*#__PURE__*/_react["default"].createElement(_singleColorPalette["default"], {
252
+ selectedColor: (0, _utils.rgbToHex)(colorSets[editing].selectedColor),
253
+ onSelectColor: this._onSelectColor
254
+ }), useOpacity ? /*#__PURE__*/_react["default"].createElement(OpacitySliderWrapper, null, /*#__PURE__*/_react["default"].createElement(_styledComponents2.PanelLabel, null, /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
255
+ id: "color.opacity"
256
+ })), /*#__PURE__*/_react["default"].createElement(RangeSlider, (0, _extends2["default"])({}, OPACITY_SLIDER_PROPS, {
257
+ value1: colorSets[editing].selectedColor[3] / 255,
258
+ onChange: this._onSelectOpacity
259
+ }))) : null) : null);
260
+ }
261
+ }]);
262
+ return ColorSelector;
263
+ }(_react.Component);
221
264
 
222
- var _default = (0, _reactOnclickoutside["default"])(ColorSelector);
265
+ (0, _defineProperty2["default"])(ColorSelector, "defaultProps", {
266
+ colorSets: []
267
+ });
268
+ return (0, _reactOnclickoutside["default"])(ColorSelector);
269
+ }
223
270
 
271
+ var _default = ColorSelectorFactory;
224
272
  exports["default"] = _default;
225
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2NvbG9yLXNlbGVjdG9yLnRzeCJdLCJuYW1lcyI6WyJDb2xvckJsb2NrIiwic3R5bGVkIiwiZGl2IiwicHJvcHMiLCJiYWNrZ3JvdW5kY29sb3IiLCJzbGljZSIsImpvaW4iLCJDb2xvclNlbGVjdG9ySW5wdXQiLCJpbnB1dFRoZW1lIiwidGhlbWUiLCJzZWNvbmRhcnlJbnB1dCIsImlucHV0IiwiaW5wdXRCb3hIZWlnaHQiLCJpbnB1dFBsYWNlaG9sZGVyQ29sb3IiLCJJbnB1dEJveENvbnRhaW5lciIsIkNvbG9yU2VsZWN0b3IiLCJzaG93RHJvcGRvd24iLCJlIiwiY29sb3JVSSIsIk51bWJlciIsImlzSW50ZWdlciIsInNob3dTa2V0Y2hlciIsIl9jbG9zZVBhbmVsRHJvcGRvd24iLCJzdGF0ZSIsIl9nZXRFZGl0aW5nIiwic2V0Q29sb3JVSSIsInNldFN0YXRlIiwiY29sb3IiLCJzdG9wUHJvcGFnYXRpb24iLCJlZGl0aW5nIiwiY29sb3JTZXRzIiwic2V0Q29sb3IiLCJpIiwicHJldmVudERlZmF1bHQiLCJkaXNhYmxlZCIsImN1cnJlbnRFZGl0aW5nIiwibm9kZSIsIm1hcCIsImNTZXQiLCJfc2hvd0Ryb3Bkb3duIiwiaXNSYW5nZSIsInNlbGVjdGVkQ29sb3IiLCJjb2xvcnMiLCJsYWJlbCIsIl9vblNlbGVjdENvbG9yIiwiQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUF1Qk8sSUFBTUEsVUFBVSxHQUFHQyw2QkFBT0MsR0FBViw0S0FJRCxVQUFBQyxLQUFLO0FBQUEsdUJBQVdBLEtBQUssQ0FBQ0MsZUFBTixDQUFzQkMsS0FBdEIsQ0FBNEIsQ0FBNUIsRUFBK0IsQ0FBL0IsRUFBa0NDLElBQWxDLENBQXVDLEdBQXZDLENBQVg7QUFBQSxDQUpKLENBQWhCOzs7O0FBT0EsSUFBTUMsa0JBQWtCLEdBQUdOLDZCQUFPQyxHQUFWLG9RQUMzQixVQUFBQyxLQUFLO0FBQUEsU0FBS0EsS0FBSyxDQUFDSyxVQUFOLEtBQXFCLFdBQXJCLEdBQW1DTCxLQUFLLENBQUNNLEtBQU4sQ0FBWUMsY0FBL0MsR0FBZ0VQLEtBQUssQ0FBQ00sS0FBTixDQUFZRSxLQUFqRjtBQUFBLENBRHNCLEVBRW5CLFVBQUFSLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNNLEtBQU4sQ0FBWUcsY0FBaEI7QUFBQSxDQUZjLEVBUWxCLFVBQUFULEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNNLEtBQU4sQ0FBWUkscUJBQWhCO0FBQUEsQ0FSYSxDQUF4Qjs7OztBQVlBLElBQU1DLGlCQUFpQixHQUFHYiw2QkFBT0MsR0FBVixtUkFBdkI7Ozs7SUFZRGEsYTs7Ozs7Ozs7Ozs7Ozs7OzhGQUtJO0FBQ05DLE1BQUFBLFlBQVksRUFBRTtBQURSLEs7MEdBSUQsdUI7MkdBRWMsVUFBQUMsQ0FBQyxFQUFJO0FBQ3hCLFVBQUksTUFBS2QsS0FBTCxDQUFXZSxPQUFYLElBQXNCQyxNQUFNLENBQUNDLFNBQVAsQ0FBaUIsTUFBS2pCLEtBQUwsQ0FBV2UsT0FBWCxDQUFtQkcsWUFBcEMsQ0FBMUIsRUFBNkU7QUFDM0U7QUFDQTtBQUNEOztBQUVELFlBQUtDLG1CQUFMO0FBQ0QsSztvR0FFYSxZQUFNO0FBQ2xCLGFBQU8sTUFBS25CLEtBQUwsQ0FBV2UsT0FBWCxHQUFxQixNQUFLZixLQUFMLENBQVdlLE9BQVgsQ0FBbUJGLFlBQXhDLEdBQXVELE1BQUtPLEtBQUwsQ0FBV1AsWUFBekU7QUFDRCxLOzRHQUVxQixZQUFNO0FBQzFCLFVBQUksTUFBS1EsV0FBTCxPQUF1QixLQUEzQixFQUFrQztBQUNoQztBQUNEOztBQUVELFVBQUksTUFBS3JCLEtBQUwsQ0FBV3NCLFVBQWYsRUFBMkI7QUFDekIsY0FBS3RCLEtBQUwsQ0FBV3NCLFVBQVgsQ0FBc0I7QUFBQ1QsVUFBQUEsWUFBWSxFQUFFLEtBQWY7QUFBc0JLLFVBQUFBLFlBQVksRUFBRTtBQUFwQyxTQUF0QjtBQUNELE9BRkQsTUFFTztBQUNMLGNBQUtLLFFBQUwsQ0FBYztBQUFDVixVQUFBQSxZQUFZLEVBQUU7QUFBZixTQUFkO0FBQ0Q7QUFDRixLO3VHQUVnQixVQUFDVyxLQUFELEVBQStCVixDQUEvQixFQUFpRDtBQUNoRUEsTUFBQUEsQ0FBQyxDQUFDVyxlQUFGOztBQUVBLFVBQU1DLE9BQU8sR0FBRyxNQUFLTCxXQUFMLEVBQWhCOztBQUVBLFVBQUksT0FBT0ssT0FBUCxLQUFtQixRQUFuQixJQUErQixNQUFLMUIsS0FBTCxDQUFXMkIsU0FBWCxDQUFxQkQsT0FBckIsQ0FBbkMsRUFBa0U7QUFDaEU7QUFDQSxjQUFLMUIsS0FBTCxDQUFXMkIsU0FBWCxDQUFxQkQsT0FBckIsRUFBOEJFLFFBQTlCLENBQXVDSixLQUF2QztBQUNEO0FBQ0YsSztzR0FFZSxVQUFDVixDQUFELEVBQUllLENBQUosRUFBVTtBQUN4QmYsTUFBQUEsQ0FBQyxDQUFDVyxlQUFGO0FBQ0FYLE1BQUFBLENBQUMsQ0FBQ2dCLGNBQUY7O0FBRUEsVUFBSSxNQUFLOUIsS0FBTCxDQUFXc0IsVUFBZixFQUEyQjtBQUN6QixjQUFLdEIsS0FBTCxDQUFXc0IsVUFBWCxDQUFzQjtBQUFDVCxVQUFBQSxZQUFZLEVBQUVnQjtBQUFmLFNBQXRCO0FBQ0QsT0FGRCxNQUVPO0FBQ0wsY0FBS04sUUFBTCxDQUFjO0FBQUNWLFVBQUFBLFlBQVksRUFBRWdCO0FBQWYsU0FBZDtBQUNEO0FBQ0YsSzs7Ozs7O1dBRUQsa0JBQVM7QUFBQTs7QUFBQSx3QkFDNEMsS0FBSzdCLEtBRGpEO0FBQUEsVUFDQTJCLFNBREEsZUFDQUEsU0FEQTtBQUFBLFVBQ1dJLFFBRFgsZUFDV0EsUUFEWDtBQUFBLFVBQ3FCMUIsVUFEckIsZUFDcUJBLFVBRHJCO0FBQUEsVUFDaUNVLE9BRGpDLGVBQ2lDQSxPQURqQzs7QUFHUCxVQUFNVyxPQUFPLEdBQUcsS0FBS0wsV0FBTCxFQUFoQjs7QUFDQSxVQUFNVyxjQUFjLEdBQ2xCLE9BQU9OLE9BQVAsS0FBbUIsUUFBbkIsSUFBK0JDLFNBQVMsQ0FBQ0QsT0FBRCxDQUF4QyxJQUFxRCx5QkFBT0MsU0FBUyxDQUFDRCxPQUFELENBQWhCLE1BQThCLFFBRHJGO0FBR0EsMEJBQ0U7QUFBSyxRQUFBLFNBQVMsRUFBQyxnQkFBZjtBQUFnQyxRQUFBLEdBQUcsRUFBRSxLQUFLTztBQUExQyxzQkFDRSxnQ0FBQyxpQkFBRCxRQUNHTixTQUFTLENBQUNPLEdBQVYsQ0FBYyxVQUFDQyxJQUFELEVBQU9OLENBQVA7QUFBQSw0QkFDYjtBQUFLLFVBQUEsU0FBUyxFQUFDLDJCQUFmO0FBQTJDLFVBQUEsR0FBRyxFQUFFQTtBQUFoRCx3QkFDRSxnQ0FBQyxrQkFBRDtBQUNFLFVBQUEsU0FBUyxFQUFDLDBCQURaO0FBRUUsVUFBQSxNQUFNLEVBQUVILE9BQU8sS0FBS0csQ0FGdEI7QUFHRSxVQUFBLFFBQVEsRUFBRUUsUUFIWjtBQUlFLFVBQUEsVUFBVSxFQUFFMUIsVUFKZDtBQUtFLFVBQUEsV0FBVyxFQUFFLHFCQUFBUyxDQUFDO0FBQUEsbUJBQUksTUFBSSxDQUFDc0IsYUFBTCxDQUFtQnRCLENBQW5CLEVBQXNCZSxDQUF0QixDQUFKO0FBQUE7QUFMaEIsV0FPR00sSUFBSSxDQUFDRSxPQUFMLGdCQUNDLGdDQUFDLHdCQUFEO0FBQWMsVUFBQSxNQUFNLEVBQUdGLElBQUksQ0FBQ0csYUFBTixDQUFtQ0M7QUFBekQsVUFERCxnQkFHQyxnQ0FBQyxVQUFEO0FBQ0UsVUFBQSxTQUFTLEVBQUMsaUNBRFo7QUFFRSxVQUFBLGVBQWUsRUFBRUosSUFBSSxDQUFDRztBQUZ4QixVQVZKLEVBZUdILElBQUksQ0FBQ0ssS0FBTCxnQkFDQztBQUFLLFVBQUEsU0FBUyxFQUFDO0FBQWYsV0FBa0RMLElBQUksQ0FBQ0ssS0FBdkQsQ0FERCxHQUVHLElBakJOLENBREYsQ0FEYTtBQUFBLE9BQWQsQ0FESCxDQURGLEVBMEJHUixjQUFjLGdCQUNiLGdDQUFDLHNDQUFEO0FBQXFCLFFBQUEsU0FBUyxFQUFDO0FBQS9CLFNBQ0dMLFNBQVMsQ0FBQ0QsT0FBRCxDQUFULENBQTZCVyxPQUE3QixnQkFDQyxnQ0FBQyw4QkFBRDtBQUNFLFFBQUEsa0JBQWtCLEVBQUVWLFNBQVMsQ0FBQ0QsT0FBRCxDQUFULENBQTZCWSxhQURuRDtBQUVFLFFBQUEsa0JBQWtCLEVBQUUsS0FBS0csY0FGM0I7QUFHRSxRQUFBLGlCQUFpQixFQUFFLEtBQUt6QyxLQUFMLENBQVdzQixVQUhoQztBQUlFLFFBQUEsY0FBYyxFQUFFUDtBQUpsQixRQURELGdCQVFDLGdDQUFDLDhCQUFEO0FBQ0UsUUFBQSxhQUFhLEVBQUUscUJBQVNZLFNBQVMsQ0FBQ0QsT0FBRCxDQUFULENBQTZCWSxhQUF0QyxDQURqQjtBQUVFLFFBQUEsYUFBYSxFQUFFLEtBQUtHO0FBRnRCLFFBVEosQ0FEYSxHQWdCWCxJQTFDTixDQURGO0FBOENEOzs7RUEvR3lCQyxnQjs7aUNBQXRCOUIsYSxrQkFDa0I7QUFDcEJlLEVBQUFBLFNBQVMsRUFBRTtBQURTLEM7O2VBaUhULHFDQUFlZixhQUFmLEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIGNyZWF0ZVJlZiwgTW91c2VFdmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge3JnYlRvSGV4fSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCBTaW5nbGVDb2xvclBhbGV0dGUgZnJvbSAnLi9zaW5nbGUtY29sb3ItcGFsZXR0ZSc7XG5pbXBvcnQgQ29sb3JSYW5nZVNlbGVjdG9yIGZyb20gJy4vY29sb3ItcmFuZ2Utc2VsZWN0b3InO1xuaW1wb3J0IENvbG9yUGFsZXR0ZSBmcm9tICcuL2NvbG9yLXBhbGV0dGUnO1xuaW1wb3J0IHtTdHlsZWRQYW5lbERyb3Bkb3dufSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IG9uQ2xpY2tPdXRzaWRlIGZyb20gJ3JlYWN0LW9uY2xpY2tvdXRzaWRlJztcbmltcG9ydCB7Q29sb3JSYW5nZX0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtOZXN0ZWRQYXJ0aWFsLCBSR0JDb2xvciwgQ29sb3JVSX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbnR5cGUgQ29sb3JTZWxlY3RvcklucHV0UHJvcHMgPSB7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBpbnB1dFRoZW1lPzogc3RyaW5nO1xufTtcblxudHlwZSBDb2xvclNlbGVjdG9yUHJvcHMgPSB7XG4gIGNvbG9yU2V0czoge1xuICAgIHNlbGVjdGVkQ29sb3I6IFJHQkNvbG9yIHwgQ29sb3JSYW5nZTtcbiAgICBzZXRDb2xvcjogKCh2OiBSR0JDb2xvcikgPT4gdm9pZCkgfCAoKHY6IENvbG9yUmFuZ2UpID0+IHZvaWQpO1xuICAgIGlzUmFuZ2U/OiBib29sZWFuO1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICB9W107XG4gIGNvbG9yVUk/OiBDb2xvclVJO1xuICBpbnB1dFRoZW1lPzogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHNldENvbG9yVUk/OiAobmV3Q29uZmlnOiBOZXN0ZWRQYXJ0aWFsPENvbG9yVUk+KSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IGNvbnN0IENvbG9yQmxvY2sgPSBzdHlsZWQuZGl2PHtiYWNrZ3JvdW5kY29sb3I6IFJHQkNvbG9yfT5gXG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBgcmdiKCR7cHJvcHMuYmFja2dyb3VuZGNvbG9yLnNsaWNlKDAsIDMpLmpvaW4oJywnKX0pYH07XG5gO1xuXG5leHBvcnQgY29uc3QgQ29sb3JTZWxlY3RvcklucHV0ID0gc3R5bGVkLmRpdjxDb2xvclNlbGVjdG9ySW5wdXRQcm9wcz5gXG4gICR7cHJvcHMgPT4gKHByb3BzLmlucHV0VGhlbWUgPT09ICdzZWNvbmRhcnknID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXQgOiBwcm9wcy50aGVtZS5pbnB1dCl9O1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCb3hIZWlnaHR9O1xuXG4gIC5jb2xvci1zZWxlY3Rvcl9fc2VsZWN0b3JfX2xhYmVsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0UGxhY2Vob2xkZXJDb2xvcn07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBJbnB1dEJveENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAuY29sb3Itc2VsZWN0X19pbnB1dC1ncm91cCB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG4gIC5jb2xvci1zZWxlY3RfX2lucHV0LWdyb3VwOm50aC1jaGlsZCgyKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIH1cbmA7XG5cbmNsYXNzIENvbG9yU2VsZWN0b3IgZXh0ZW5kcyBDb21wb25lbnQ8Q29sb3JTZWxlY3RvclByb3BzPiB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY29sb3JTZXRzOiBbXVxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIHNob3dEcm9wZG93bjogZmFsc2VcbiAgfTtcblxuICBub2RlID0gY3JlYXRlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuXG4gIGhhbmRsZUNsaWNrT3V0c2lkZSA9IGUgPT4ge1xuICAgIGlmICh0aGlzLnByb3BzLmNvbG9yVUkgJiYgTnVtYmVyLmlzSW50ZWdlcih0aGlzLnByb3BzLmNvbG9yVUkuc2hvd1NrZXRjaGVyKSkge1xuICAgICAgLy8gaWYgc2tldGNoZXIgaXMgb3BlbiwgbGV0IHNrZXRjaCB0byBjbG9zZSBpdHNlbGYgZmlyc3RcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9jbG9zZVBhbmVsRHJvcGRvd24oKTtcbiAgfTtcblxuICBfZ2V0RWRpdGluZyA9ICgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jb2xvclVJID8gdGhpcy5wcm9wcy5jb2xvclVJLnNob3dEcm9wZG93biA6IHRoaXMuc3RhdGUuc2hvd0Ryb3Bkb3duO1xuICB9O1xuXG4gIF9jbG9zZVBhbmVsRHJvcGRvd24gPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuX2dldEVkaXRpbmcoKSA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5zZXRDb2xvclVJKSB7XG4gICAgICB0aGlzLnByb3BzLnNldENvbG9yVUkoe3Nob3dEcm9wZG93bjogZmFsc2UsIHNob3dTa2V0Y2hlcjogZmFsc2V9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7c2hvd0Ryb3Bkb3duOiBmYWxzZX0pO1xuICAgIH1cbiAgfTtcblxuICBfb25TZWxlY3RDb2xvciA9IChjb2xvcjogUkdCQ29sb3IgfCBDb2xvclJhbmdlLCBlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGNvbnN0IGVkaXRpbmcgPSB0aGlzLl9nZXRFZGl0aW5nKCk7XG5cbiAgICBpZiAodHlwZW9mIGVkaXRpbmcgPT09ICdudW1iZXInICYmIHRoaXMucHJvcHMuY29sb3JTZXRzW2VkaXRpbmddKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICB0aGlzLnByb3BzLmNvbG9yU2V0c1tlZGl0aW5nXS5zZXRDb2xvcihjb2xvcik7XG4gICAgfVxuICB9O1xuXG4gIF9zaG93RHJvcGRvd24gPSAoZSwgaSkgPT4ge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgaWYgKHRoaXMucHJvcHMuc2V0Q29sb3JVSSkge1xuICAgICAgdGhpcy5wcm9wcy5zZXRDb2xvclVJKHtzaG93RHJvcGRvd246IGl9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7c2hvd0Ryb3Bkb3duOiBpfSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y29sb3JTZXRzLCBkaXNhYmxlZCwgaW5wdXRUaGVtZSwgY29sb3JVSX0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgZWRpdGluZyA9IHRoaXMuX2dldEVkaXRpbmcoKTtcbiAgICBjb25zdCBjdXJyZW50RWRpdGluZyA9XG4gICAgICB0eXBlb2YgZWRpdGluZyA9PT0gJ251bWJlcicgJiYgY29sb3JTZXRzW2VkaXRpbmddICYmIHR5cGVvZiBjb2xvclNldHNbZWRpdGluZ10gPT09ICdvYmplY3QnO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sb3Itc2VsZWN0b3JcIiByZWY9e3RoaXMubm9kZX0+XG4gICAgICAgIDxJbnB1dEJveENvbnRhaW5lcj5cbiAgICAgICAgICB7Y29sb3JTZXRzLm1hcCgoY1NldCwgaSkgPT4gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xvci1zZWxlY3RfX2lucHV0LWdyb3VwXCIga2V5PXtpfT5cbiAgICAgICAgICAgICAgPENvbG9yU2VsZWN0b3JJbnB1dFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNvbG9yLXNlbGVjdG9yX19zZWxlY3RvclwiXG4gICAgICAgICAgICAgICAgYWN0aXZlPXtlZGl0aW5nID09PSBpfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICBpbnB1dFRoZW1lPXtpbnB1dFRoZW1lfVxuICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXtlID0+IHRoaXMuX3Nob3dEcm9wZG93bihlLCBpKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtjU2V0LmlzUmFuZ2UgPyAoXG4gICAgICAgICAgICAgICAgICA8Q29sb3JQYWxldHRlIGNvbG9ycz17KGNTZXQuc2VsZWN0ZWRDb2xvciBhcyBDb2xvclJhbmdlKS5jb2xvcnN9IC8+XG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxDb2xvckJsb2NrXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNvbG9yLXNlbGVjdG9yX19zZWxlY3Rvcl9fYmxvY2tcIlxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kY29sb3I9e2NTZXQuc2VsZWN0ZWRDb2xvciBhcyBSR0JDb2xvcn1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICB7Y1NldC5sYWJlbCA/IChcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sb3Itc2VsZWN0b3JfX3NlbGVjdG9yX19sYWJlbFwiPntjU2V0LmxhYmVsfTwvZGl2PlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8L0NvbG9yU2VsZWN0b3JJbnB1dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkpfVxuICAgICAgICA8L0lucHV0Qm94Q29udGFpbmVyPlxuICAgICAgICB7Y3VycmVudEVkaXRpbmcgPyAoXG4gICAgICAgICAgPFN0eWxlZFBhbmVsRHJvcGRvd24gY2xhc3NOYW1lPVwiY29sb3Itc2VsZWN0b3JfX2Ryb3Bkb3duXCI+XG4gICAgICAgICAgICB7Y29sb3JTZXRzW2VkaXRpbmcgYXMgbnVtYmVyXS5pc1JhbmdlID8gKFxuICAgICAgICAgICAgICA8Q29sb3JSYW5nZVNlbGVjdG9yXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRDb2xvclJhbmdlPXtjb2xvclNldHNbZWRpdGluZyBhcyBudW1iZXJdLnNlbGVjdGVkQ29sb3IgYXMgQ29sb3JSYW5nZX1cbiAgICAgICAgICAgICAgICBvblNlbGVjdENvbG9yUmFuZ2U9e3RoaXMuX29uU2VsZWN0Q29sb3J9XG4gICAgICAgICAgICAgICAgc2V0Q29sb3JQYWxldHRlVUk9e3RoaXMucHJvcHMuc2V0Q29sb3JVSX1cbiAgICAgICAgICAgICAgICBjb2xvclBhbGV0dGVVST17Y29sb3JVSSBhcyBDb2xvclVJfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFNpbmdsZUNvbG9yUGFsZXR0ZVxuICAgICAgICAgICAgICAgIHNlbGVjdGVkQ29sb3I9e3JnYlRvSGV4KGNvbG9yU2V0c1tlZGl0aW5nIGFzIG51bWJlcl0uc2VsZWN0ZWRDb2xvciBhcyBSR0JDb2xvcil9XG4gICAgICAgICAgICAgICAgb25TZWxlY3RDb2xvcj17dGhpcy5fb25TZWxlY3RDb2xvcn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9TdHlsZWRQYW5lbERyb3Bkb3duPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgb25DbGlja091dHNpZGUoQ29sb3JTZWxlY3Rvcik7XG4iXX0=
273
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2NvbG9yLXNlbGVjdG9yLnRzeCJdLCJuYW1lcyI6WyJPcGFjaXR5U2xpZGVyV3JhcHBlciIsInN0eWxlZCIsImRpdiIsIk9QQUNJVFlfU0xJREVSX1BST1BTIiwidHlwZSIsInJhbmdlIiwidmFsdWUwIiwic3RlcCIsImlzUmFuZ2VkIiwibGFiZWwiLCJzaG93SW5wdXQiLCJDb2xvckJsb2NrIiwicHJvcHMiLCJBcnJheSIsImlzQXJyYXkiLCJiYWNrZ3JvdW5kY29sb3IiLCJzbGljZSIsImpvaW4iLCJDb2xvclNlbGVjdG9ySW5wdXQiLCJpbnB1dFRoZW1lIiwidGhlbWUiLCJzZWNvbmRhcnlJbnB1dCIsImlucHV0IiwiaW5wdXRCb3hIZWlnaHQiLCJpbnB1dFBsYWNlaG9sZGVyQ29sb3IiLCJJbnB1dEJveENvbnRhaW5lciIsIkNvbG9yU2VsZWN0b3JGYWN0b3J5IiwiZGVwcyIsIlJhbmdlU2xpZGVyRmFjdG9yeSIsIlJhbmdlU2xpZGVyIiwiQ29sb3JTZWxlY3RvciIsInNob3dEcm9wZG93biIsImUiLCJjb2xvclVJIiwiTnVtYmVyIiwiaXNJbnRlZ2VyIiwic2hvd1NrZXRjaGVyIiwiX2Nsb3NlUGFuZWxEcm9wZG93biIsInN0YXRlIiwiX2dldEVkaXRpbmciLCJzZXRDb2xvclVJIiwic2V0U3RhdGUiLCJjb2xvciIsInN0b3BQcm9wYWdhdGlvbiIsImVkaXRpbmciLCJjb2xvclNldCIsImNvbG9yU2V0cyIsIl9zZXRDb2xvciIsInNlbGVjdGVkQ29sb3IiLCJvcGFjaXR5IiwiTWF0aCIsInJvdW5kIiwidXNlT3BhY2l0eSIsInNldENvbG9yIiwiaSIsInByZXZlbnREZWZhdWx0IiwiZGlzYWJsZWQiLCJjdXJyZW50RWRpdGluZyIsIm5vZGUiLCJtYXAiLCJjU2V0IiwiX3Nob3dEcm9wZG93biIsImlzUmFuZ2UiLCJjb2xvcnMiLCJfb25TZWxlY3RDb2xvciIsIl9vblNlbGVjdE9wYWNp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VUFBQSxpQkFBaUIsRUFBRSxLQUFLcEQsS0FBTCxDQUFXNEIsVUFIaEM7QUFJRSxVQUFBLGNBQWMsRUFBRVA7QUFKbEIsVUFERCxnQkFRQyxnQ0FBQyw4QkFBRDtBQUNFLFVBQUEsYUFBYSxFQUFFLHFCQUFTYSxTQUFTLENBQUNGLE9BQUQsQ0FBVCxDQUE2QkksYUFBdEMsQ0FEakI7QUFFRSxVQUFBLGFBQWEsRUFBRSxLQUFLZ0I7QUFGdEIsVUFUSixFQWNHWixVQUFVLGdCQUNULGdDQUFDLG9CQUFELHFCQUNFLGdDQUFDLDZCQUFELHFCQUNFLGdDQUFDLDJCQUFEO0FBQWtCLFVBQUEsRUFBRSxFQUFDO0FBQXJCLFVBREYsQ0FERixlQUlFLGdDQUFDLFdBQUQsZ0NBQ01qRCxvQkFETjtBQUVFLFVBQUEsTUFBTSxFQUFFMkMsU0FBUyxDQUFDRixPQUFELENBQVQsQ0FBNkJJLGFBQTdCLENBQTJDLENBQTNDLElBQWdELEdBRjFEO0FBR0UsVUFBQSxRQUFRLEVBQUUsS0FBS2lCO0FBSGpCLFdBSkYsQ0FEUyxHQVdQLElBekJOLENBRGEsR0E0QlgsSUF0RE4sQ0FERjtBQTBERDtBQTNJeUU7QUFBQTtBQUFBLElBQ2hEQyxnQkFEZ0Q7O0FBQUEsbUNBQ3RFcEMsYUFEc0Usa0JBRXBEO0FBQ3BCZ0IsSUFBQUEsU0FBUyxFQUFFO0FBRFMsR0FGb0Q7QUE2STVFLFNBQU8scUNBQWVoQixhQUFmLENBQVA7QUFDRDs7ZUFFY0osb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIGNyZWF0ZVJlZiwgTW91c2VFdmVudCwgQ29tcG9uZW50VHlwZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtyZ2JUb0hleH0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQgU2luZ2xlQ29sb3JQYWxldHRlIGZyb20gJy4vc2luZ2xlLWNvbG9yLXBhbGV0dGUnO1xuaW1wb3J0IENvbG9yUmFuZ2VTZWxlY3RvciBmcm9tICcuL2NvbG9yLXJhbmdlLXNlbGVjdG9yJztcbmltcG9ydCBDb2xvclBhbGV0dGUgZnJvbSAnLi9jb2xvci1wYWxldHRlJztcbmltcG9ydCB7U3R5bGVkUGFuZWxEcm9wZG93biwgUGFuZWxMYWJlbH0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBvbkNsaWNrT3V0c2lkZSBmcm9tICdyZWFjdC1vbmNsaWNrb3V0c2lkZSc7XG5pbXBvcnQge0NvbG9yUmFuZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCBSYW5nZVNsaWRlckZhY3RvcnkgZnJvbSAnLi4vLi4vY29tbW9uL3JhbmdlLXNsaWRlcic7XG5pbXBvcnQge05lc3RlZFBhcnRpYWwsIFJHQkNvbG9yLCBSR0JBQ29sb3IsIENvbG9yVUl9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG50eXBlIENvbG9yU2VsZWN0b3JJbnB1dFByb3BzID0ge1xuICBhY3RpdmU6IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgaW5wdXRUaGVtZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIENvbG9yU2V0ID0ge1xuICBzZWxlY3RlZENvbG9yOiBSR0JDb2xvciB8IFJHQkFDb2xvciB8IENvbG9yUmFuZ2U7XG4gIHNldENvbG9yOiAodjogUkdCQ29sb3IgfCBSR0JBQ29sb3IgfCBDb2xvclJhbmdlKSA9PiB2b2lkO1xuICBpc1JhbmdlPzogYm9vbGVhbjtcbiAgbGFiZWw/OiBzdHJpbmc7XG59O1xuXG50eXBlIENvbG9yU2VsZWN0b3JQcm9wcyA9IHtcbiAgY29sb3JTZXRzOiBDb2xvclNldFtdO1xuICBjb2xvclVJPzogQ29sb3JVSTtcbiAgaW5wdXRUaGVtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB1c2VPcGFjaXR5PzogYm9vbGVhbjtcbiAgc2V0Q29sb3JVST86IChuZXdDb25maWc6IE5lc3RlZFBhcnRpYWw8Q29sb3JVST4pID0+IHZvaWQ7XG59O1xuXG5jb25zdCBPcGFjaXR5U2xpZGVyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDBweCAxMnB4IDEycHggMTJweDtcbmA7XG5cbmNvbnN0IE9QQUNJVFlfU0xJREVSX1BST1BTID0ge1xuICB0eXBlOiAnbnVtYmVyJyxcbiAgcmFuZ2U6IFswLCAxXSxcbiAgdmFsdWUwOiAwLFxuICBzdGVwOiAwLjAxLFxuICBpc1JhbmdlZDogZmFsc2UsXG4gIGxhYmVsOiAnT3BhY2l0eScsXG4gIHNob3dJbnB1dDogdHJ1ZVxufTtcblxuZXhwb3J0IGNvbnN0IENvbG9yQmxvY2sgPSBzdHlsZWQuZGl2PHtiYWNrZ3JvdW5kY29sb3I6IFJHQkNvbG9yfT5gXG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIEFycmF5LmlzQXJyYXkocHJvcHMuYmFja2dyb3VuZGNvbG9yKVxuICAgICAgPyBgcmdiKCR7cHJvcHMuYmFja2dyb3VuZGNvbG9yLnNsaWNlKDAsIDMpLmpvaW4oJywnKX0pYFxuICAgICAgOiAndHJhbnNwYXJlbnQnfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBDb2xvclNlbGVjdG9ySW5wdXQgPSBzdHlsZWQuZGl2PENvbG9yU2VsZWN0b3JJbnB1dFByb3BzPmBcbiAgJHtwcm9wcyA9PiAocHJvcHMuaW5wdXRUaGVtZSA9PT0gJ3NlY29uZGFyeScgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dCA6IHByb3BzLnRoZW1lLmlucHV0KX07XG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJveEhlaWdodH07XG5cbiAgLmNvbG9yLXNlbGVjdG9yX19zZWxlY3Rvcl9fbGFiZWwge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRQbGFjZWhvbGRlckNvbG9yfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IElucHV0Qm94Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIC5jb2xvci1zZWxlY3RfX2lucHV0LWdyb3VwIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cbiAgLmNvbG9yLXNlbGVjdF9faW5wdXQtZ3JvdXA6bnRoLWNoaWxkKDIpIHtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgfVxuYDtcblxuQ29sb3JTZWxlY3RvckZhY3RvcnkuZGVwcyA9IFtSYW5nZVNsaWRlckZhY3RvcnldO1xuXG5mdW5jdGlvbiBDb2xvclNlbGVjdG9yRmFjdG9yeShSYW5nZVNsaWRlcik6IENvbXBvbmVudFR5cGU8Q29sb3JTZWxlY3RvclByb3BzPiB7XG4gIGNsYXNzIENvbG9yU2VsZWN0b3IgZXh0ZW5kcyBDb21wb25lbnQ8Q29sb3JTZWxlY3RvclByb3BzPiB7XG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIGNvbG9yU2V0czogW11cbiAgICB9O1xuXG4gICAgc3RhdGUgPSB7XG4gICAgICBzaG93RHJvcGRvd246IGZhbHNlXG4gICAgfTtcblxuICAgIG5vZGUgPSBjcmVhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XG5cbiAgICBoYW5kbGVDbGlja091dHNpZGUgPSBlID0+IHtcbiAgICAgIGlmICh0aGlzLnByb3BzLmNvbG9yVUkgJiYgTnVtYmVyLmlzSW50ZWdlcih0aGlzLnByb3BzLmNvbG9yVUkuc2hvd1NrZXRjaGVyKSkge1xuICAgICAgICAvLyBpZiBza2V0Y2hlciBpcyBvcGVuLCBsZXQgc2tldGNoIHRvIGNsb3NlIGl0c2VsZiBmaXJzdFxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2Nsb3NlUGFuZWxEcm9wZG93bigpO1xuICAgIH07XG5cbiAgICBfZ2V0RWRpdGluZyA9ICgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLmNvbG9yVUkgPyB0aGlzLnByb3BzLmNvbG9yVUkuc2hvd0Ryb3Bkb3duIDogdGhpcy5zdGF0ZS5zaG93RHJvcGRvd247XG4gICAgfTtcblxuICAgIF9jbG9zZVBhbmVsRHJvcGRvd24gPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fZ2V0RWRpdGluZygpID09PSBmYWxzZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnByb3BzLnNldENvbG9yVUkpIHtcbiAgICAgICAgdGhpcy5wcm9wcy5zZXRDb2xvclVJKHtzaG93RHJvcGRvd246IGZhbHNlLCBzaG93U2tldGNoZXI6IGZhbHNlfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtzaG93RHJvcGRvd246IGZhbHNlfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9vblNlbGVjdENvbG9yID0gKGNvbG9yOiBSR0JDb2xvciB8IENvbG9yUmFuZ2UsIGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBjb25zdCBlZGl0aW5nID0gdGhpcy5fZ2V0RWRpdGluZygpO1xuICAgICAgY29uc3QgY29sb3JTZXQgPSB0eXBlb2YgZWRpdGluZyA9PT0gJ251bWJlcicgJiYgdGhpcy5wcm9wcy5jb2xvclNldHNbZWRpdGluZ107XG4gICAgICBpZiAoY29sb3JTZXQpIHtcbiAgICAgICAgdGhpcy5fc2V0Q29sb3IoY29sb3JTZXQsIGNvbG9yLCBjb2xvclNldC5zZWxlY3RlZENvbG9yWzNdKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX29uU2VsZWN0T3BhY2l0eSA9IChvcGFjaXR5OiBudW1iZXJbXSwgZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKGUpIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBjb25zdCBlZGl0aW5nID0gdGhpcy5fZ2V0RWRpdGluZygpO1xuICAgICAgY29uc3QgY29sb3JTZXQgPSB0eXBlb2YgZWRpdGluZyA9PT0gJ251bWJlcicgJiYgdGhpcy5wcm9wcy5jb2xvclNldHNbZWRpdGluZ107XG4gICAgICBpZiAoY29sb3JTZXQpIHtcbiAgICAgICAgdGhpcy5fc2V0Q29sb3IoY29sb3JTZXQsIGNvbG9yU2V0LnNlbGVjdGVkQ29sb3IsIE1hdGgucm91bmQob3BhY2l0eVsxXSAqIDI1NSkpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfc2V0Q29sb3IgPSAoY29sb3JTZXQ6IENvbG9yU2V0LCBjb2xvcjogUkdCQ29sb3IgfCBSR0JBQ29sb3IgfCBDb2xvclJhbmdlLCBvcGFjaXR5OiBudW1iZXIpID0+IHtcbiAgICAgIGlmICh0aGlzLnByb3BzLnVzZU9wYWNpdHkgJiYgQXJyYXkuaXNBcnJheShjb2xvcikpIHtcbiAgICAgICAgY29sb3JTZXQuc2V0Q29sb3IoWy4uLmNvbG9yLnNsaWNlKDAsIDMpLCBvcGFjaXR5XSBhcyBSR0JBQ29sb3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29sb3JTZXQuc2V0Q29sb3IoY29sb3IpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfc2hvd0Ryb3Bkb3duID0gKGUsIGkpID0+IHtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIGlmICh0aGlzLnByb3BzLnNldENvbG9yVUkpIHtcbiAgICAgICAgdGhpcy5wcm9wcy5zZXRDb2xvclVJKHtzaG93RHJvcGRvd246IGl9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe3Nob3dEcm9wZG93bjogaX0pO1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7Y29sb3JTZXRzLCB1c2VPcGFjaXR5LCBkaXNhYmxlZCwgaW5wdXRUaGVtZSwgY29sb3JVSX0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBjb25zdCBlZGl0aW5nID0gdGhpcy5fZ2V0RWRpdGluZygpO1xuICAgICAgY29uc3QgY3VycmVudEVkaXRpbmcgPVxuICAgICAgICB0eXBlb2YgZWRpdGluZyA9PT0gJ251bWJlcicgJiYgY29sb3JTZXRzW2VkaXRpbmddICYmIHR5cGVvZiBjb2xvclNldHNbZWRpdGluZ10gPT09ICdvYmplY3QnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbG9yLXNlbGVjdG9yXCIgcmVmPXt0aGlzLm5vZGV9PlxuICAgICAgICAgIDxJbnB1dEJveENvbnRhaW5lcj5cbiAgICAgICAgICAgIHtjb2xvclNldHMubWFwKChjU2V0LCBpKSA9PiAoXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sb3Itc2VsZWN0X19pbnB1dC1ncm91cFwiIGtleT17aX0+XG4gICAgICAgICAgICAgICAgPENvbG9yU2VsZWN0b3JJbnB1dFxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY29sb3Itc2VsZWN0b3JfX3NlbGVjdG9yXCJcbiAgICAgICAgICAgICAgICAgIGFjdGl2ZT17ZWRpdGluZyA9PT0gaX1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIGlucHV0VGhlbWU9e2lucHV0VGhlbWV9XG4gICAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17ZSA9PiB0aGlzLl9zaG93RHJvcGRvd24oZSwgaSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2NTZXQuaXNSYW5nZSA/IChcbiAgICAgICAgICAgICAgICAgICAgPENvbG9yUGFsZXR0ZSBjb2xvcnM9eyhjU2V0LnNlbGVjdGVkQ29sb3IgYXMgQ29sb3JSYW5nZSkuY29sb3JzfSAvPlxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPENvbG9yQmxvY2tcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjb2xvci1zZWxlY3Rvcl9fc2VsZWN0b3JfX2Jsb2NrXCJcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kY29sb3I9e2NTZXQuc2VsZWN0ZWRDb2xvciBhcyBSR0JDb2xvcn1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICB7Y1NldC5sYWJlbCA/IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xvci1zZWxlY3Rvcl9fc2VsZWN0b3JfX2xhYmVsXCI+e2NTZXQubGFiZWx9PC9kaXY+XG4gICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICA8L0NvbG9yU2VsZWN0b3JJbnB1dD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L0lucHV0Qm94Q29udGFpbmVyPlxuICAgICAgICAgIHtjdXJyZW50RWRpdGluZyA/IChcbiAgICAgICAgICAgIDxTdHlsZWRQYW5lbERyb3Bkb3duIGNsYXNzTmFtZT1cImNvbG9yLXNlbGVjdG9yX19kcm9wZG93blwiPlxuICAgICAgICAgICAgICB7Y29sb3JTZXRzW2VkaXRpbmcgYXMgbnVtYmVyXS5pc1JhbmdlID8gKFxuICAgICAgICAgICAgICAgIDxDb2xvclJhbmdlU2VsZWN0b3JcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQ29sb3JSYW5nZT17Y29sb3JTZXRzW2VkaXRpbmcgYXMgbnVtYmVyXS5zZWxlY3RlZENvbG9yIGFzIENvbG9yUmFuZ2V9XG4gICAgICAgICAgICAgICAgICBvblNlbGVjdENvbG9yUmFuZ2U9e3RoaXMuX29uU2VsZWN0Q29sb3J9XG4gICAgICAgICAgICAgICAgICBzZXRDb2xvclBhbGV0dGVVST17dGhpcy5wcm9wcy5zZXRDb2xvclVJfVxuICAgICAgICAgICAgICAgICAgY29sb3JQYWxldHRlVUk9e2NvbG9yVUkgYXMgQ29sb3JVSX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxTaW5nbGVDb2xvclBhbGV0dGVcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQ29sb3I9e3JnYlRvSGV4KGNvbG9yU2V0c1tlZGl0aW5nIGFzIG51bWJlcl0uc2VsZWN0ZWRDb2xvciBhcyBSR0JDb2xvcil9XG4gICAgICAgICAgICAgICAgICBvblNlbGVjdENvbG9yPXt0aGlzLl9vblNlbGVjdENvbG9yfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHt1c2VPcGFjaXR5ID8gKFxuICAgICAgICAgICAgICAgIDxPcGFjaXR5U2xpZGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgIDxQYW5lbExhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbG9yLm9wYWNpdHlcIiAvPlxuICAgICAgICAgICAgICAgICAgPC9QYW5lbExhYmVsPlxuICAgICAgICAgICAgICAgICAgPFJhbmdlU2xpZGVyXG4gICAgICAgICAgICAgICAgICAgIHsuLi5PUEFDSVRZX1NMSURFUl9QUk9QU31cbiAgICAgICAgICAgICAgICAgICAgdmFsdWUxPXtjb2xvclNldHNbZWRpdGluZyBhcyBudW1iZXJdLnNlbGVjdGVkQ29sb3JbM10gLyAyNTV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLl9vblNlbGVjdE9wYWNpdHl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvT3BhY2l0eVNsaWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdHlsZWRQYW5lbERyb3Bkb3duPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHJldHVybiBvbkNsaWNrT3V0c2lkZShDb2xvclNlbGVjdG9yKSBhcyBDb21wb25lbnRUeXBlPENvbG9yU2VsZWN0b3JQcm9wcz47XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbG9yU2VsZWN0b3JGYWN0b3J5O1xuIl19
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -82,4 +82,4 @@ function ColumnSelectorFactory(FieldSelector) {
82
82
 
83
83
  var _default = ColumnSelectorFactory;
84
84
  exports["default"] = _default;
85
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2NvbHVtbi1zZWxlY3Rvci50c3giXSwibmFtZXMiOlsiQ29sdW1uUm93Iiwic3R5bGVkIiwiZGl2IiwiQ29sdW1uTmFtZSIsIkNvbHVtblNlbGVjdCIsIkNvbHVtblNlbGVjdG9yRmFjdG9yeSIsImRlcHMiLCJGaWVsZFNlbGVjdG9yRmFjdG9yeSIsIkZpZWxkU2VsZWN0b3IiLCJDb2x1bW5TZWxlY3RvciIsImNvbHVtbiIsImNvbHVtbnMiLCJsYWJlbCIsImFsbEZpZWxkcyIsIm9uU2VsZWN0IiwiZmllbGRQYWlycyIsIm9wdGlvbmFsIiwidmFsdWUiLCJCb29sZWFuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQTJCQSxJQUFNQSxTQUFTLEdBQUdDLDZCQUFPQyxHQUFWLHlKQUFmOztBQU1BLElBQU1DLFVBQVUsR0FBR0YsNkJBQU9DLEdBQVYscUpBQWhCOztBQU1BLElBQU1FLFlBQVksR0FBR0gsNkJBQU9DLEdBQVYseUdBQWxCOztBQUlBRyxxQkFBcUIsQ0FBQ0MsSUFBdEIsR0FBNkIsQ0FBQ0MseUJBQUQsQ0FBN0I7O0FBRUEsU0FBU0YscUJBQVQsQ0FBK0JHLGFBQS9CLEVBQXVGO0FBQ3JGLE1BQU1DLGNBQTZDLEdBQUcsU0FBaERBLGNBQWdEO0FBQUEsUUFDcERDLE1BRG9ELFFBQ3BEQSxNQURvRDtBQUFBLFFBRXBEQyxPQUZvRCxRQUVwREEsT0FGb0Q7QUFBQSxRQUdwREMsS0FIb0QsUUFHcERBLEtBSG9EO0FBQUEsUUFJcERDLFNBSm9ELFFBSXBEQSxTQUpvRDtBQUFBLFFBS3BEQyxRQUxvRCxRQUtwREEsUUFMb0Q7QUFBQSxRQU1wREMsVUFOb0QsUUFNcERBLFVBTm9EO0FBQUEsd0JBUXBELGdDQUFDLFNBQUQ7QUFBVyxNQUFBLFNBQVMsRUFBQztBQUFyQixvQkFDRSxnQ0FBQyxVQUFEO0FBQVksTUFBQSxTQUFTLEVBQUM7QUFBdEIsb0JBQ0UsZ0NBQUMsNkJBQUQscUJBQ0UsZ0NBQUMsOEJBQUQ7QUFBa0IsTUFBQSxFQUFFLG9CQUFhSCxLQUFiO0FBQXBCLE1BREYsRUFFRyxDQUFDRixNQUFNLENBQUNNLFFBQVIsV0FBMkIsSUFGOUIsQ0FERixDQURGLGVBT0UsZ0NBQUMsWUFBRDtBQUFjLE1BQUEsU0FBUyxFQUFDO0FBQXhCLG9CQUNFLGdDQUFDLGFBQUQ7QUFDRSxNQUFBLFNBQVMsRUFBRUQsVUFEYjtBQUVFLE1BQUEsS0FBSyxFQUFFLENBQUMsOEJBQWVMLE1BQWYsRUFBdUJDLE9BQXZCLEVBQWdDRSxTQUFoQyxDQUZWO0FBR0UsTUFBQSxNQUFNLEVBQUVBLFNBSFY7QUFJRSxNQUFBLEtBQUssRUFBRUgsTUFBTSxDQUFDTyxLQUpoQjtBQUtFLE1BQUEsUUFBUSxFQUFFQyxPQUFPLENBQUNSLE1BQU0sQ0FBQ00sUUFBUixDQUxuQjtBQU1FLE1BQUEsUUFBUSxFQUFFRjtBQU5aLE1BREYsQ0FQRixDQVJvRDtBQUFBLEdBQXREOztBQTJCQSxTQUFPTCxjQUFQO0FBQ0Q7O2VBRWNKLHFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge1BhbmVsTGFiZWx9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgRmllbGRTZWxlY3RvckZhY3RvcnkgZnJvbSAnLi4vLi4vY29tbW9uL2ZpZWxkLXNlbGVjdG9yJztcbmltcG9ydCB7dmFsaWRhdGVDb2x1bW59IGZyb20gJ0BrZXBsZXIuZ2wvcmVkdWNlcnMnO1xuaW1wb3J0IHtMYXllckNvbHVtbiwgTGF5ZXJDb2x1bW5zfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge0ZpZWxkLCBGaWVsZFBhaXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG50eXBlIFBhaXIgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBwYWlyOiBGaWVsZFBhaXJbJ3BhaXInXTtcbn07XG5cbnR5cGUgQ29sdW1uU2VsZWN0b3JQcm9wcyA9IHtcbiAgY29sdW1uOiBMYXllckNvbHVtbjtcbiAgY29sdW1uczogTGF5ZXJDb2x1bW5zO1xuICBsYWJlbDogc3RyaW5nO1xuICBhbGxGaWVsZHM6IEZpZWxkW107XG4gIG9uU2VsZWN0OiAoXG4gICAgaXRlbXM6XG4gICAgICB8IFJlYWRvbmx5QXJyYXk8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG9iamVjdD5cbiAgICAgIHwgc3RyaW5nXG4gICAgICB8IG51bWJlclxuICAgICAgfCBib29sZWFuXG4gICAgICB8IG9iamVjdFxuICAgICAgfCBudWxsXG4gICkgPT4gdm9pZDtcbiAgZmllbGRQYWlycz86IFBhaXJbXSB8IG51bGw7XG59O1xuXG5jb25zdCBDb2x1bW5Sb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBDb2x1bW5OYW1lID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDI3JTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuYDtcblxuY29uc3QgQ29sdW1uU2VsZWN0ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDczJTtcbmA7XG5cbkNvbHVtblNlbGVjdG9yRmFjdG9yeS5kZXBzID0gW0ZpZWxkU2VsZWN0b3JGYWN0b3J5XTtcblxuZnVuY3Rpb24gQ29sdW1uU2VsZWN0b3JGYWN0b3J5KEZpZWxkU2VsZWN0b3I6IFJldHVyblR5cGU8dHlwZW9mIEZpZWxkU2VsZWN0b3JGYWN0b3J5Pikge1xuICBjb25zdCBDb2x1bW5TZWxlY3RvcjogUmVhY3QuRkM8Q29sdW1uU2VsZWN0b3JQcm9wcz4gPSAoe1xuICAgIGNvbHVtbixcbiAgICBjb2x1bW5zLFxuICAgIGxhYmVsLFxuICAgIGFsbEZpZWxkcyxcbiAgICBvblNlbGVjdCxcbiAgICBmaWVsZFBhaXJzXG4gIH0pID0+IChcbiAgICA8Q29sdW1uUm93IGNsYXNzTmFtZT1cImxheWVyLWNvbmZpZ19fY29sdW1uX19zZWxlY3RvclwiPlxuICAgICAgPENvbHVtbk5hbWUgY2xhc3NOYW1lPVwibGF5ZXItY29uZmlnX19jb2x1bW5fX25hbWVcIj5cbiAgICAgICAgPFBhbmVsTGFiZWw+XG4gICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e2Bjb2x1bW5zLiR7bGFiZWx9YH0gLz5cbiAgICAgICAgICB7IWNvbHVtbi5vcHRpb25hbCA/IGAgICpgIDogbnVsbH1cbiAgICAgICAgPC9QYW5lbExhYmVsPlxuICAgICAgPC9Db2x1bW5OYW1lPlxuICAgICAgPENvbHVtblNlbGVjdCBjbGFzc05hbWU9XCJsYXllci1jb25maWdfX2NvbHVtbl9fc2VsZWN0XCI+XG4gICAgICAgIDxGaWVsZFNlbGVjdG9yXG4gICAgICAgICAgc3VnZ2VzdGVkPXtmaWVsZFBhaXJzfVxuICAgICAgICAgIGVycm9yPXshdmFsaWRhdGVDb2x1bW4oY29sdW1uLCBjb2x1bW5zLCBhbGxGaWVsZHMpfVxuICAgICAgICAgIGZpZWxkcz17YWxsRmllbGRzfVxuICAgICAgICAgIHZhbHVlPXtjb2x1bW4udmFsdWV9XG4gICAgICAgICAgZXJhc2FibGU9e0Jvb2xlYW4oY29sdW1uLm9wdGlvbmFsKX1cbiAgICAgICAgICBvblNlbGVjdD17b25TZWxlY3R9XG4gICAgICAgIC8+XG4gICAgICA8L0NvbHVtblNlbGVjdD5cbiAgICA8L0NvbHVtblJvdz5cbiAgKTtcbiAgcmV0dXJuIENvbHVtblNlbGVjdG9yO1xufVxuXG5leHBvcnQgZGVmYXVsdCBDb2x1bW5TZWxlY3RvckZhY3Rvcnk7XG4iXX0=
85
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2NvbHVtbi1zZWxlY3Rvci50c3giXSwibmFtZXMiOlsiQ29sdW1uUm93Iiwic3R5bGVkIiwiZGl2IiwiQ29sdW1uTmFtZSIsIkNvbHVtblNlbGVjdCIsIkNvbHVtblNlbGVjdG9yRmFjdG9yeSIsImRlcHMiLCJGaWVsZFNlbGVjdG9yRmFjdG9yeSIsIkZpZWxkU2VsZWN0b3IiLCJDb2x1bW5TZWxlY3RvciIsImNvbHVtbiIsImNvbHVtbnMiLCJsYWJlbCIsImFsbEZpZWxkcyIsIm9uU2VsZWN0IiwiZmllbGRQYWlycyIsIm9wdGlvbmFsIiwidmFsdWUiLCJCb29sZWFuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQTJCQSxJQUFNQSxTQUFTLEdBQUdDLDZCQUFPQyxHQUFWLHlKQUFmOztBQU1BLElBQU1DLFVBQVUsR0FBR0YsNkJBQU9DLEdBQVYscUpBQWhCOztBQU1BLElBQU1FLFlBQVksR0FBR0gsNkJBQU9DLEdBQVYseUdBQWxCOztBQUlBRyxxQkFBcUIsQ0FBQ0MsSUFBdEIsR0FBNkIsQ0FBQ0MseUJBQUQsQ0FBN0I7O0FBRUEsU0FBU0YscUJBQVQsQ0FBK0JHLGFBQS9CLEVBQXVGO0FBQ3JGLE1BQU1DLGNBQTZDLEdBQUcsU0FBaERBLGNBQWdEO0FBQUEsUUFDcERDLE1BRG9ELFFBQ3BEQSxNQURvRDtBQUFBLFFBRXBEQyxPQUZvRCxRQUVwREEsT0FGb0Q7QUFBQSxRQUdwREMsS0FIb0QsUUFHcERBLEtBSG9EO0FBQUEsUUFJcERDLFNBSm9ELFFBSXBEQSxTQUpvRDtBQUFBLFFBS3BEQyxRQUxvRCxRQUtwREEsUUFMb0Q7QUFBQSxRQU1wREMsVUFOb0QsUUFNcERBLFVBTm9EO0FBQUEsd0JBUXBELGdDQUFDLFNBQUQ7QUFBVyxNQUFBLFNBQVMsRUFBQztBQUFyQixvQkFDRSxnQ0FBQyxVQUFEO0FBQVksTUFBQSxTQUFTLEVBQUM7QUFBdEIsb0JBQ0UsZ0NBQUMsNkJBQUQscUJBQ0UsZ0NBQUMsOEJBQUQ7QUFBa0IsTUFBQSxFQUFFLG9CQUFhSCxLQUFiO0FBQXBCLE1BREYsRUFFRyxDQUFDRixNQUFNLENBQUNNLFFBQVIsV0FBMkIsSUFGOUIsQ0FERixDQURGLGVBT0UsZ0NBQUMsWUFBRDtBQUFjLE1BQUEsU0FBUyxFQUFDO0FBQXhCLG9CQUNFLGdDQUFDLGFBQUQ7QUFDRSxNQUFBLFNBQVMsRUFBRUQsVUFEYjtBQUVFLE1BQUEsS0FBSyxFQUFFLENBQUMsOEJBQWVMLE1BQWYsRUFBdUJDLE9BQXZCLEVBQWdDRSxTQUFoQyxDQUZWO0FBR0UsTUFBQSxNQUFNLEVBQUVBLFNBSFY7QUFJRSxNQUFBLEtBQUssRUFBRUgsTUFBTSxDQUFDTyxLQUpoQjtBQUtFLE1BQUEsUUFBUSxFQUFFQyxPQUFPLENBQUNSLE1BQU0sQ0FBQ00sUUFBUixDQUxuQjtBQU1FLE1BQUEsUUFBUSxFQUFFRjtBQU5aLE1BREYsQ0FQRixDQVJvRDtBQUFBLEdBQXREOztBQTJCQSxTQUFPTCxjQUFQO0FBQ0Q7O2VBRWNKLHFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge1BhbmVsTGFiZWx9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgRmllbGRTZWxlY3RvckZhY3RvcnkgZnJvbSAnLi4vLi4vY29tbW9uL2ZpZWxkLXNlbGVjdG9yJztcbmltcG9ydCB7dmFsaWRhdGVDb2x1bW59IGZyb20gJ0BrZXBsZXIuZ2wvcmVkdWNlcnMnO1xuaW1wb3J0IHtMYXllckNvbHVtbiwgTGF5ZXJDb2x1bW5zfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge0ZpZWxkLCBGaWVsZFBhaXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG50eXBlIFBhaXIgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBwYWlyOiBGaWVsZFBhaXJbJ3BhaXInXTtcbn07XG5cbnR5cGUgQ29sdW1uU2VsZWN0b3JQcm9wcyA9IHtcbiAgY29sdW1uOiBMYXllckNvbHVtbjtcbiAgY29sdW1uczogTGF5ZXJDb2x1bW5zO1xuICBsYWJlbDogc3RyaW5nO1xuICBhbGxGaWVsZHM6IEZpZWxkW107XG4gIG9uU2VsZWN0OiAoXG4gICAgaXRlbXM6XG4gICAgICB8IFJlYWRvbmx5QXJyYXk8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG9iamVjdD5cbiAgICAgIHwgc3RyaW5nXG4gICAgICB8IG51bWJlclxuICAgICAgfCBib29sZWFuXG4gICAgICB8IG9iamVjdFxuICAgICAgfCBudWxsXG4gICkgPT4gdm9pZDtcbiAgZmllbGRQYWlycz86IFBhaXJbXSB8IG51bGw7XG59O1xuXG5jb25zdCBDb2x1bW5Sb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBDb2x1bW5OYW1lID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDI3JTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuYDtcblxuY29uc3QgQ29sdW1uU2VsZWN0ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDczJTtcbmA7XG5cbkNvbHVtblNlbGVjdG9yRmFjdG9yeS5kZXBzID0gW0ZpZWxkU2VsZWN0b3JGYWN0b3J5XTtcblxuZnVuY3Rpb24gQ29sdW1uU2VsZWN0b3JGYWN0b3J5KEZpZWxkU2VsZWN0b3I6IFJldHVyblR5cGU8dHlwZW9mIEZpZWxkU2VsZWN0b3JGYWN0b3J5Pikge1xuICBjb25zdCBDb2x1bW5TZWxlY3RvcjogUmVhY3QuRkM8Q29sdW1uU2VsZWN0b3JQcm9wcz4gPSAoe1xuICAgIGNvbHVtbixcbiAgICBjb2x1bW5zLFxuICAgIGxhYmVsLFxuICAgIGFsbEZpZWxkcyxcbiAgICBvblNlbGVjdCxcbiAgICBmaWVsZFBhaXJzXG4gIH0pID0+IChcbiAgICA8Q29sdW1uUm93IGNsYXNzTmFtZT1cImxheWVyLWNvbmZpZ19fY29sdW1uX19zZWxlY3RvclwiPlxuICAgICAgPENvbHVtbk5hbWUgY2xhc3NOYW1lPVwibGF5ZXItY29uZmlnX19jb2x1bW5fX25hbWVcIj5cbiAgICAgICAgPFBhbmVsTGFiZWw+XG4gICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e2Bjb2x1bW5zLiR7bGFiZWx9YH0gLz5cbiAgICAgICAgICB7IWNvbHVtbi5vcHRpb25hbCA/IGAgICpgIDogbnVsbH1cbiAgICAgICAgPC9QYW5lbExhYmVsPlxuICAgICAgPC9Db2x1bW5OYW1lPlxuICAgICAgPENvbHVtblNlbGVjdCBjbGFzc05hbWU9XCJsYXllci1jb25maWdfX2NvbHVtbl9fc2VsZWN0XCI+XG4gICAgICAgIDxGaWVsZFNlbGVjdG9yXG4gICAgICAgICAgc3VnZ2VzdGVkPXtmaWVsZFBhaXJzfVxuICAgICAgICAgIGVycm9yPXshdmFsaWRhdGVDb2x1bW4oY29sdW1uLCBjb2x1bW5zLCBhbGxGaWVsZHMpfVxuICAgICAgICAgIGZpZWxkcz17YWxsRmllbGRzfVxuICAgICAgICAgIHZhbHVlPXtjb2x1bW4udmFsdWV9XG4gICAgICAgICAgZXJhc2FibGU9e0Jvb2xlYW4oY29sdW1uLm9wdGlvbmFsKX1cbiAgICAgICAgICBvblNlbGVjdD17b25TZWxlY3R9XG4gICAgICAgIC8+XG4gICAgICA8L0NvbHVtblNlbGVjdD5cbiAgICA8L0NvbHVtblJvdz5cbiAgKTtcbiAgcmV0dXJuIENvbHVtblNlbGVjdG9yO1xufVxuXG5leHBvcnQgZGVmYXVsdCBDb2x1bW5TZWxlY3RvckZhY3Rvcnk7XG4iXX0=
@@ -1,4 +1,4 @@
1
- import React, { Component, MouseEventHandler, MouseEvent } from 'react';
1
+ import React, { Component, MouseEventHandler, MouseEvent, PropsWithChildren } from 'react';
2
2
  import { ColorRange } from '@kepler.gl/constants';
3
3
  import { NestedPartial } from '@kepler.gl/types';
4
4
  declare type CustomPaletteProps = {
@@ -9,6 +9,11 @@ declare type CustomPaletteProps = {
9
9
  onToggleSketcher: (i: boolean | number) => void;
10
10
  onApply: (p: ColorRange, e: MouseEvent) => void;
11
11
  };
12
+ declare type DragHandleProps = PropsWithChildren<{
13
+ className?: string;
14
+ listeners?: unknown;
15
+ }>;
16
+ export declare const DragHandle: React.ComponentClass<DragHandleProps, any>;
12
17
  declare class CustomPalette extends Component<CustomPaletteProps> {
13
18
  state: {
14
19
  isSorting: boolean;
@@ -33,6 +38,6 @@ declare class CustomPalette extends Component<CustomPaletteProps> {
33
38
  value: any;
34
39
  };
35
40
  }) => void;
36
- render(): JSX.Element;
41
+ render(): React.JSX.Element;
37
42
  }
38
43
  export default CustomPalette;
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -27,7 +27,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
27
27
  Object.defineProperty(exports, "__esModule", {
28
28
  value: true
29
29
  });
30
- exports["default"] = void 0;
30
+ exports["default"] = exports.DragHandle = void 0;
31
31
 
32
32
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
33
33
 
@@ -123,8 +123,8 @@ var SortableItem = (0, _reactSortableHoc.SortableElement)(function (_ref) {
123
123
  sorting: isSorting
124
124
  })
125
125
  }, children);
126
- }); // TODO: Should className be applied to the div here?
127
-
126
+ });
127
+ // TODO: Should className be applied to the div here?
128
128
  var WrappedSortableContainer = (0, _reactSortableHoc.SortableContainer)(function (_ref2) {
129
129
  var children = _ref2.children,
130
130
  className = _ref2.className;
@@ -139,6 +139,7 @@ var DragHandle = (0, _reactSortableHoc.SortableHandle)(function (_ref3) {
139
139
  className: className
140
140
  }, children);
141
141
  });
142
+ exports.DragHandle = DragHandle;
142
143
 
143
144
  var CustomPalette = /*#__PURE__*/function (_Component) {
144
145
  (0, _inherits2["default"])(CustomPalette, _Component);
@@ -309,4 +310,4 @@ var CustomPalette = /*#__PURE__*/function (_Component) {
309
310
 
310
311
  var _default = CustomPalette;
311
312
  exports["default"] = _default;
312
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2N1c3RvbS1wYWxldHRlLnRzeCJdLCJuYW1lcyI6WyJkcmFnSGFuZGxlQWN0aXZlIiwiY3NzIiwicHJvcHMiLCJ0aGVtZSIsInRleHRDb2xvckhsIiwiU3R5bGVkU29ydGFibGVJdGVtIiwic3R5bGVkIiwiZGl2IiwiZHJvcGRvd25XcmFwcGVyWiIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwiU3R5bGVkRHJhZ0hhbmRsZSIsIlN0eWxlZFRyYXNoIiwidGV4dENvbG9yIiwic3VidGV4dENvbG9yQWN0aXZlIiwiU3R5bGVkTGluZSIsImxhYmVsQ29sb3IiLCJTdHlsZWRTd2F0Y2giLCJhdHRycyIsImNsYXNzTmFtZSIsImNvbG9yIiwiYm94U2hhZG93IiwiU3R5bGVkQ29sb3JSYW5nZSIsIlN0eWxlZEJ1dHRvbkNvbnRhaW5lciIsIlN0eWxlZElubGluZUlucHV0IiwiU29ydGFibGVJdGVtIiwiY2hpbGRyZW4iLCJpc1NvcnRpbmciLCJzb3J0aW5nIiwiV3JhcHBlZFNvcnRhYmxlQ29udGFpbmVyIiwiRHJhZ0hhbmRsZSIsIkN1c3RvbVBhbGV0dGUiLCJjb2xvcnMiLCJjdXN0b21QYWxldHRlIiwibmV3Q29sb3JzIiwic2hvd1NrZXRjaGVyIiwiaGV4IiwiX3NldENvbG9yUGFsZXR0ZVVJIiwiaW5kZXgiLCJsZW5ndGgiLCJzcGxpY2UiLCJvblRvZ2dsZVNrZXRjaGVyIiwiZXZlbnQiLCJzdG9wUHJvcGFnYXRpb24iLCJwcmV2ZW50RGVmYXVsdCIsIm9uQ2FuY2VsIiwib25BcHBseSIsIm9sZEluZGV4IiwibmV3SW5kZXgiLCJzZXRTdGF0ZSIsInZhbHVlIiwidGFyZ2V0IiwidG9VcHBlckNhc2UiLCJzZXRDdXN0b21QYWxldHRlIiwicm9vdCIsIl9vblNvcnRFbmQiLCJfb25Tb3J0U3RhcnQiLCJtYXAiLCJzdGF0ZSIsIl9vblN3YXRjaENsaWNrIiwiZSIsIl9pbnB1dENvbG9ySGV4IiwiX29uQ29sb3JEZWxldGUiLCJfb25Db2xvckFkZCIsIl9vbkFwcGx5IiwiX29uUGlja2VyVXBkYXRlIiwiX29uU3dhdGNoQ2xvc2UiLCJDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQWFBLElBQU1BLGdCQUFnQixPQUFHQyxxQkFBSCw4S0FFVCxVQUFBQyxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlDLFdBQWhCO0FBQUEsQ0FGSSxDQUF0Qjs7QUFRQSxJQUFNQyxrQkFBa0IsR0FBR0MsNkJBQU9DLEdBQVYscVdBS1gsVUFBQUwsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZSyxnQkFBWixHQUErQixDQUFuQztBQUFBLENBTE0sRUFTRSxVQUFBTixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlNLG9CQUFoQjtBQUFBLENBVFAsRUFVaEJULGdCQVZnQixFQWVBLFVBQUFFLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWU0sb0JBQWhCO0FBQUEsQ0FmTCxFQWdCbEJULGdCQWhCa0IsQ0FBeEI7O0FBb0JBLElBQU1VLGdCQUFnQixHQUFHSiw2QkFBT0MsR0FBVixtSkFBdEI7O0FBTUEsSUFBTUksV0FBVyxHQUFHTCw2QkFBT0MsR0FBVix1UUFDTixVQUFBTCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlTLFNBQWhCO0FBQUEsQ0FEQyxFQUlGLFVBQUFWLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWVUsa0JBQWhCO0FBQUEsQ0FKSCxDQUFqQjs7QUFlQSxJQUFNQyxVQUFVLEdBQUdSLDZCQUFPQyxHQUFWLDRNQUdNLFVBQUFMLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWVksVUFBaEI7QUFBQSxDQUhYLENB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QSxPQUFPLEVBQUUsS0FBSzdELEtBQUwsQ0FBVzBDO0FBQWpDLGtCQUpGLENBMUNGLGVBbURFLGdDQUFDLG9CQUFEO0FBQVUsUUFBQSxRQUFRLEVBQUUsS0FBSzFDLEtBQUwsQ0FBV2dDLFlBQVgsS0FBNEIsS0FBaEQ7QUFBdUQsUUFBQSxJQUFJLEVBQUUsR0FBN0Q7QUFBa0UsUUFBQSxHQUFHLEVBQUUsQ0FBQztBQUF4RSxzQkFDRSxnQ0FBQyx3QkFBRDtBQUNFLFFBQUEsS0FBSyxFQUFFSCxNQUFNLENBQUMsS0FBSzdCLEtBQUwsQ0FBV2dDLFlBQVosQ0FEZjtBQUVFLFFBQUEsUUFBUSxFQUFFLEtBQUs4QixlQUZqQjtBQUdFLFFBQUEsYUFBYSxFQUFFLEtBQUtDO0FBSHRCLFFBREYsQ0FuREYsQ0FERjtBQTZERDs7O0VBdEl5QkMsZ0I7O2VBeUlicEMsYSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgY3JlYXRlUmVmLCBNb3VzZUV2ZW50SGFuZGxlciwgTW91c2VFdmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVkLCB7Y3NzfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1NvcnRhYmxlQ29udGFpbmVyLCBTb3J0YWJsZUVsZW1lbnQsIFNvcnRhYmxlSGFuZGxlfSBmcm9tICdyZWFjdC1zb3J0YWJsZS1ob2MnO1xuaW1wb3J0IFBvcnRhbGVkIGZyb20gJy4uLy4uL2NvbW1vbi9wb3J0YWxlZCc7XG5cbmltcG9ydCB7QnV0dG9uLCBJbmxpbmVJbnB1dH0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7VmVydERvdHMsIFRyYXNofSBmcm9tICcuLi8uLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IENvbG9yUGFsZXR0ZSBmcm9tICcuL2NvbG9yLXBhbGV0dGUnO1xuaW1wb3J0IEN1c3RvbVBpY2tlciBmcm9tICcuL2N1c3RvbS1waWNrZXInO1xuaW1wb3J0IHthcnJheU1vdmV9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtDb2xvclJhbmdlfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge05lc3RlZFBhcnRpYWx9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG50eXBlIEN1c3RvbVBhbGV0dGVQcm9wcyA9IHtcbiAgY3VzdG9tUGFsZXR0ZTogQ29sb3JSYW5nZTtcbiAgc2hvd1NrZXRjaGVyPzogYm9vbGVhbiB8IG51bWJlcjtcbiAgc2V0Q3VzdG9tUGFsZXR0ZTogKGM6IE5lc3RlZFBhcnRpYWw8Q29sb3JSYW5nZT4pID0+IHZvaWQ7XG4gIG9uQ2FuY2VsOiAoKSA9PiB2b2lkO1xuICBvblRvZ2dsZVNrZXRjaGVyOiAoaTogYm9vbGVhbiB8IG51bWJlcikgPT4gdm9pZDtcbiAgb25BcHBseTogKHA6IENvbG9yUmFuZ2UsIGU6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG59O1xuXG5jb25zdCBkcmFnSGFuZGxlQWN0aXZlID0gY3NzYFxuICAubGF5ZXJfX2RyYWctaGFuZGxlIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gICAgb3BhY2l0eTogMTtcbiAgICBjdXJzb3I6IG1vdmU7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZFNvcnRhYmxlSXRlbSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiA2cHg7XG4gIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gIHotaW5kZXg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25XcmFwcGVyWiArIDF9O1xuXG4gIDpub3QoLnNvcnRpbmcpIHtcbiAgICA6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgICAke2RyYWdIYW5kbGVBY3RpdmV9O1xuICAgIH1cbiAgfVxuXG4gICYuc29ydGluZy1jb2xvcnMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgICR7ZHJhZ0hhbmRsZUFjdGl2ZX07XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZERyYWdIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuYDtcblxuY29uc3QgU3R5bGVkVHJhc2ggPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBzdmcge1xuICAgIDpob3ZlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JBY3RpdmV9O1xuICAgIH1cbiAgfVxuICBoZWlnaHQ6IDEycHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRMaW5lID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgU3R5bGVkU3dhdGNoID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2N1c3RvbS1wYWxldHRlX19zd2F0Y2gnXG59KWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5jb2xvcn07XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJveFNoYWRvd307XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRDb2xvclJhbmdlID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMCA4cHg7XG4gIDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tdG9wOiAxMXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBkaXJlY3Rpb246IHJ0bDtcbmA7XG5cbmNvbnN0IFN0eWxlZElubGluZUlucHV0ID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIGlucHV0IHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBTb3J0YWJsZUl0ZW0gPSBTb3J0YWJsZUVsZW1lbnQoKHtjaGlsZHJlbiwgaXNTb3J0aW5nfSkgPT4gKFxuICA8U3R5bGVkU29ydGFibGVJdGVtXG4gICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdjdXN0b20tcGFsZXR0ZV9fc29ydGFibGUtaXRlbXMnLCB7c29ydGluZzogaXNTb3J0aW5nfSl9XG4gID5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3R5bGVkU29ydGFibGVJdGVtPlxuKSk7XG5cbi8vIFRPRE86IFNob3VsZCBjbGFzc05hbWUgYmUgYXBwbGllZCB0byB0aGUgZGl2IGhlcmU/XG5jb25zdCBXcmFwcGVkU29ydGFibGVDb250YWluZXIgPSBTb3J0YWJsZUNvbnRhaW5lcigoe2NoaWxkcmVuLCBjbGFzc05hbWV9KSA9PiAoXG4gIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWV9PntjaGlsZHJlbn08L2Rpdj5cbikpO1xuXG5jb25zdCBEcmFnSGFuZGxlID0gU29ydGFibGVIYW5kbGUoKHtjbGFzc05hbWUsIGNoaWxkcmVufSkgPT4gKFxuICA8U3R5bGVkRHJhZ0hhbmRsZSBjbGFzc05hbWU9e2NsYXNzTmFtZX0+e2NoaWxkcmVufTwvU3R5bGVkRHJhZ0hhbmRsZT5cbikpO1xuXG5jbGFzcyBDdXN0b21QYWxldHRlIGV4dGVuZHMgQ29tcG9uZW50PEN1c3RvbVBhbGV0dGVQcm9wcz4ge1xuICBzdGF0ZSA9IHtcbiAgICBpc1NvcnRpbmc6IGZhbHNlXG4gIH07XG5cbiAgcm9vdCA9IGNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICBfc2V0Q29sb3JQYWxldHRlVUkoY29sb3JzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMucHJvcHMuc2V0Q3VzdG9tUGFsZXR0ZSh7XG4gICAgICBjb2xvcnNcbiAgICB9KTtcbiAgfVxuXG4gIF9vblBpY2tlclVwZGF0ZSA9IChjb2xvcjoge2hleDogc3RyaW5nfSkgPT4ge1xuICAgIGNvbnN0IHtjb2xvcnN9ID0gdGhpcy5wcm9wcy5jdXN0b21QYWxldHRlO1xuICAgIGNvbnN0IG5ld0NvbG9ycyA9IFsuLi5jb2xvcnNdO1xuICAgIG5ld0NvbG9yc1t0aGlzLnByb3BzLnNob3dTa2V0Y2hlciBhcyBudW1iZXJdID0gY29sb3IuaGV4O1xuICAgIHRoaXMuX3NldENvbG9yUGFsZXR0ZVVJKG5ld0NvbG9ycyk7XG4gIH07XG5cbiAgX29uQ29sb3JEZWxldGUgPSAoaW5kZXg6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHtjb2xvcnN9ID0gdGhpcy5wcm9wcy5jdXN0b21QYWxldHRlO1xuICAgIGNvbnN0IG5ld0NvbG9ycyA9IFsuLi5jb2xvcnNdO1xuICAgIGlmIChuZXdDb2xvcnMubGVuZ3RoID4gMSkge1xuICAgICAgbmV3Q29sb3JzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICAgIHRoaXMuX3NldENvbG9yUGFsZXR0ZVVJKG5ld0NvbG9ycyk7XG4gIH07XG5cbiAgX29uQ29sb3JBZGQgPSAoKSA9PiB7XG4gICAgY29uc3Qge2NvbG9yc30gPSB0aGlzLnByb3BzLmN1c3RvbVBhbGV0dGU7XG4gICAgLy8gYWRkIHRoZSBsYXN0IGNvbG9yXG4gICAgY29uc3QgbmV3Q29sb3JzID0gWy4uLmNvbG9ycywgY29sb3JzW2NvbG9ycy5sZW5ndGggLSAxXV07XG4gICAgdGhpcy5fc2V0Q29sb3JQYWxldHRlVUkobmV3Q29sb3JzKTtcbiAgfTtcblxuICBfb25Td2F0Y2hDbGljayA9IChpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgdGhpcy5wcm9wcy5vblRvZ2dsZVNrZXRjaGVyKGluZGV4KTtcbiAgfTtcblxuICBfb25Td2F0Y2hDbG9zZSA9ICgpID0+IHtcbiAgICB0aGlzLnByb3BzLm9uVG9nZ2xlU2tldGNoZXIoZmFsc2UpO1xuICB9O1xuXG4gIF9vbkFwcGx5OiBNb3VzZUV2ZW50SGFuZGxlciA9IGV2ZW50ID0+IHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy5wcm9wcy5vbkNhbmNlbCgpO1xuICAgIHRoaXMucHJvcHMub25BcHBseSh0aGlzLnByb3BzLmN1c3RvbVBhbGV0dGUsIGV2ZW50KTtcbiAgfTtcblxuICBfb25Tb3J0RW5kID0gKHtvbGRJbmRleCwgbmV3SW5kZXh9KSA9PiB7XG4gICAgY29uc3Qge2NvbG9yc30gPSB0aGlzLnByb3BzLmN1c3RvbVBhbGV0dGU7XG4gICAgY29uc3QgbmV3Q29sb3JzID0gYXJyYXlNb3ZlKGNvbG9ycywgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICB0aGlzLl9zZXRDb2xvclBhbGV0dGVVSShuZXdDb2xvcnMpO1xuICAgIHRoaXMuc2V0U3RhdGUoe2lzU29ydGluZzogZmFsc2V9KTtcbiAgfTtcblxuICBfb25Tb3J0U3RhcnQgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7aXNTb3J0aW5nOiB0cnVlfSk7XG4gIH07XG5cbiAgX2lucHV0Q29sb3JIZXggPSAoaW5kZXg6IG51bWJlciwge3RhcmdldDoge3ZhbHVlfX0pID0+IHtcbiAgICBjb25zdCB7Y29sb3JzfSA9IHRoaXMucHJvcHMuY3VzdG9tUGFsZXR0ZTtcbiAgICBjb25zdCBuZXdDb2xvcnMgPSBbLi4uY29sb3JzXTtcbiAgICBuZXdDb2xvcnNbaW5kZXhdID0gdmFsdWUudG9VcHBlckNhc2UoKTtcbiAgICB0aGlzLl9zZXRDb2xvclBhbGV0dGVVSShuZXdDb2xvcnMpO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y29sb3JzfSA9IHRoaXMucHJvcHMuY3VzdG9tUGFsZXR0ZTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImN1c3RvbS1wYWxldHRlLXBhbmVsXCIgcmVmPXt0aGlzLnJvb3R9PlxuICAgICAgICA8U3R5bGVkQ29sb3JSYW5nZT5cbiAgICAgICAgICA8Q29sb3JQYWxldHRlIGNvbG9ycz17Y29sb3JzfSAvPlxuICAgICAgICA8L1N0eWxlZENvbG9yUmFuZ2U+XG4gICAgICAgIDxXcmFwcGVkU29ydGFibGVDb250YWluZXJcbiAgICAgICAgICBjbGFzc05hbWU9XCJjdXN0b20tcGFsZXR0ZS1jb250YWluZXJcIlxuICAgICAgICAgIG9uU29ydEVuZD17dGhpcy5fb25Tb3J0RW5kfVxuICAgICAgICAgIG9uU29ydFN0YXJ0PXt0aGlzLl9vblNvcnRTdGFydH1cbiAgICAgICAgICBsb2NrQXhpcz1cInlcIlxuICAgICAgICAgIGhlbHBlckNsYXNzPVwic29ydGluZy1jb2xvcnNcIlxuICAgICAgICAgIHVzZURyYWdIYW5kbGVcbiAgICAgICAgPlxuICAgICAgICAgIHtjb2xvcnMubWFwKChjb2xvciwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxTb3J0YWJsZUl0ZW0ga2V5PXtpbmRleH0gaW5kZXg9e2luZGV4fSBpc1NvcnRpbmc9e3RoaXMuc3RhdGUuaXNTb3J0aW5nfT5cbiAgICAgICAgICAgICAgPERyYWdIYW5kbGUgY2xhc3NOYW1lPVwibGF5ZXJfX2RyYWctaGFuZGxlXCI+XG4gICAgICAgICAgICAgICAgPFZlcnREb3RzIGhlaWdodD1cIjIwcHhcIiAvPlxuICAgICAgICAgICAgICA8L0RyYWdIYW5kbGU+XG4gICAgICAgICAgICAgIDxTdHlsZWRTd2F0Y2ggY29sb3I9e2NvbG9yfSBvbkNsaWNrPXsoKSA9PiB0aGlzLl9vblN3YXRjaENsaWNrKGluZGV4KX0gLz5cbiAgICAgICAgICAgICAgPFN0eWxlZElubGluZUlucHV0PlxuICAgICAgICAgICAgICAgIDxJbmxpbmVJbnB1dFxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY3VzdG9tLXBhbGV0dGUtaGV4X19pbnB1dFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17Y29sb3IudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IHRoaXMuX2lucHV0Q29sb3JIZXgoaW5kZXgsIGUpfVxuICAgICAgICAgICAgICAgICAgaWQ9e2BpbnB1dC1sYXllci1sYWJlbC0ke2luZGV4fWB9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRJbmxpbmVJbnB1dD5cbiAgICAgICAgICAgICAgPFN0eWxlZFRyYXNoIG9uQ2xpY2s9eygpID0+IHRoaXMuX29uQ29sb3JEZWxldGUoaW5kZXgpfT5cbiAgICAgICAgICAgICAgICA8VHJhc2ggY2xhc3NOYW1lPVwidHJhc2hiaW5cIiAvPlxuICAgICAgICAgICAgICA8L1N0eWxlZFRyYXNoPlxuICAgICAgICAgICAgPC9Tb3J0YWJsZUl0ZW0+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvV3JhcHBlZFNvcnRhYmxlQ29udGFpbmVyPlxuICAgICAgICB7LyogQWRkIFN0ZXAgQnV0dG9uICovfVxuICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT1cImFkZC1zdGVwX19idXR0b25cIiBsaW5rIG9uQ2xpY2s9e3RoaXMuX29uQ29sb3JBZGR9PlxuICAgICAgICAgICsgQWRkIFN0ZXBcbiAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDxTdHlsZWRMaW5lIC8+XG4gICAgICAgIHsvKiBDYW5jZWwgb3IgQ29uZmlybSBCdXR0b25zICovfVxuICAgICAgICA8U3R5bGVkQnV0dG9uQ29udGFpbmVyPlxuICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiY29uZmlybS1hcHBseV9fYnV0dG9uXCIgbGluayBvbkNsaWNrPXt0aGlzLl9vbkFwcGx5fT5cbiAgICAgICAgICAgIENvbmZpcm1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8QnV0dG9uIGxpbmsgb25DbGljaz17dGhpcy5wcm9wcy5vbkNhbmNlbH0+XG4gICAgICAgICAgICBDYW5jZWxcbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPC9TdHlsZWRCdXR0b25Db250YWluZXI+XG5cbiAgICAgICAgPFBvcnRhbGVkIGlzT3BlbmVkPXt0aGlzLnByb3BzLnNob3dTa2V0Y2hlciAhPT0gZmFsc2V9IGxlZnQ9ezI4MH0gdG9wPXstMzAwfT5cbiAgICAgICAgICA8Q3VzdG9tUGlja2VyXG4gICAgICAgICAgICBjb2xvcj17Y29sb3JzW3RoaXMucHJvcHMuc2hvd1NrZXRjaGVyIGFzIG51bWJlcl19XG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5fb25QaWNrZXJVcGRhdGV9XG4gICAgICAgICAgICBvblN3YXRjaENsb3NlPXt0aGlzLl9vblN3YXRjaENsb3NlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvUG9ydGFsZWQ+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEN1c3RvbVBhbGV0dGU7XG4iXX0=
313
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2N1c3RvbS1wYWxldHRlLnRzeCJdLCJuYW1lcyI6WyJkcmFnSGFuZGxlQWN0aXZlIiwiY3NzIiwicHJvcHMiLCJ0aGVtZSIsInRleHRDb2xvckhsIiwiU3R5bGVkU29ydGFibGVJdGVtIiwic3R5bGVkIiwiZGl2IiwiZHJvcGRvd25XcmFwcGVyWiIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwiU3R5bGVkRHJhZ0hhbmRsZSIsIlN0eWxlZFRyYXNoIiwidGV4dENvbG9yIiwic3VidGV4dENvbG9yQWN0aXZlIiwiU3R5bGVkTGluZSIsImxhYmVsQ29sb3IiLCJTdHlsZWRTd2F0Y2giLCJhdHRycyIsImNsYXNzTmFtZSIsImNvbG9yIiwiYm94U2hhZG93IiwiU3R5bGVkQ29sb3JSYW5nZSIsIlN0eWxlZEJ1dHRvbkNvbnRhaW5lciIsIlN0eWxlZElubGluZUlucHV0IiwiU29ydGFibGVJdGVtIiwiY2hpbGRyZW4iLCJpc1NvcnRpbmciLCJzb3J0aW5nIiwiV3JhcHBlZFNvcnRhYmxlQ29udGFpbmVyIiwiRHJhZ0hhbmRsZSIsIkN1c3RvbVBhbGV0dGUiLCJjb2xvcnMiLCJjdXN0b21QYWxldHRlIiwibmV3Q29sb3JzIiwic2hvd1NrZXRjaGVyIiwiaGV4IiwiX3NldENvbG9yUGFsZXR0ZVVJIiwiaW5kZXgiLCJsZW5ndGgiLCJzcGxpY2UiLCJvblRvZ2dsZVNrZXRjaGVyIiwiZXZlbnQiLCJzdG9wUHJvcGFnYXRpb24iLCJwcmV2ZW50RGVmYXVsdCIsIm9uQ2FuY2VsIiwib25BcHBseSIsIm9sZEluZGV4IiwibmV3SW5kZXgiLCJzZXRTdGF0ZSIsInZhbHVlIiwidGFyZ2V0IiwidG9VcHBlckNhc2UiLCJzZXRDdXN0b21QYWxldHRlIiwicm9vdCIsIl9vblNvcnRFbmQiLCJfb25Tb3J0U3RhcnQiLCJtYXAiLCJzdGF0ZSIsIl9vblN3YXRjaENsaWNrIiwiZSIsIl9pbnB1dENvbG9ySGV4IiwiX29uQ29sb3JEZWxldGUiLCJfb25Db2xvckFkZCIsIl9vbkFwcGx5IiwiX29uUGlja2VyVXBkYXRlIiwiX29uU3dhdGNoQ2xvc2UiLCJDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQU9BOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQWFBLElBQU1BLGdCQUFnQixPQUFHQyxxQkFBSCw4S0FFVCxVQUFBQyxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlDLFdBQWhCO0FBQUEsQ0FGSSxDQUF0Qjs7QUFRQSxJQUFNQyxrQkFBa0IsR0FBR0MsNkJBQU9DLEdBQVYscVdBS1gsVUFBQUwsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZSyxnQkFBWixHQUErQixDQUFuQztBQUFBLENBTE0sRUFTRSxVQUFBTixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlNLG9CQUFoQjtBQUFBLENBVFAsRUFVaEJULGdCQVZnQixFQWVBLFVBQUFFLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWU0sb0JBQWhCO0FBQUEsQ0FmTCxFQWdCbEJULGdCQWhCa0IsQ0FBeEI7O0FBb0JBLElBQU1VLGdCQUFnQixHQUFHSiw2QkFBT0MsR0FBVixtSkFBdEI7O0FBTUEsSUFBTUksV0FBVyxHQUFHTCw2QkFBT0MsR0FBVix1UUFDTixVQUFBTCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlTLFNBQWhCO0FBQUEsQ0FEQyxFQUlGLFVBQUFWLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWVUsa0JBQWhCO0FBQUEsQ0FKSCxDQUFqQjs7QUFlQSxJQUFNQyxVQUFVLEdBQUdSLDZCQUFPQyxHQUFWLDRNQUdNLFVBQUFMLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWVksVUFBaEI7QUFBQSxDQUhYLENB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QSxPQUFPLEVBQUUsS0FBSzdELEtBQUwsQ0FBVzBDO0FBQWpDLGtCQUpGLENBMUNGLGVBbURFLGdDQUFDLG9CQUFEO0FBQVUsUUFBQSxRQUFRLEVBQUUsS0FBSzFDLEtBQUwsQ0FBV2dDLFlBQVgsS0FBNEIsS0FBaEQ7QUFBdUQsUUFBQSxJQUFJLEVBQUUsR0FBN0Q7QUFBa0UsUUFBQSxHQUFHLEVBQUUsQ0FBQztBQUF4RSxzQkFDRSxnQ0FBQyx3QkFBRDtBQUNFLFFBQUEsS0FBSyxFQUFFSCxNQUFNLENBQUMsS0FBSzdCLEtBQUwsQ0FBV2dDLFlBQVosQ0FEZjtBQUVFLFFBQUEsUUFBUSxFQUFFLEtBQUs4QixlQUZqQjtBQUdFLFFBQUEsYUFBYSxFQUFFLEtBQUtDO0FBSHRCLFFBREYsQ0FuREYsQ0FERjtBQTZERDs7O0VBdEl5QkMsZ0I7O2VBeUlicEMsYSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgY3JlYXRlUmVmLCBNb3VzZUV2ZW50SGFuZGxlciwgTW91c2VFdmVudCwgUHJvcHNXaXRoQ2hpbGRyZW59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHN0eWxlZCwge2Nzc30gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtcbiAgU29ydGFibGVDb250YWluZXIsXG4gIFNvcnRhYmxlQ29udGFpbmVyUHJvcHMsXG4gIFNvcnRhYmxlRWxlbWVudCxcbiAgU29ydGFibGVFbGVtZW50UHJvcHMsXG4gIFNvcnRhYmxlSGFuZGxlXG59IGZyb20gJ3JlYWN0LXNvcnRhYmxlLWhvYyc7XG5pbXBvcnQgUG9ydGFsZWQgZnJvbSAnLi4vLi4vY29tbW9uL3BvcnRhbGVkJztcblxuaW1wb3J0IHtCdXR0b24sIElubGluZUlucHV0fSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtWZXJ0RG90cywgVHJhc2h9IGZyb20gJy4uLy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgQ29sb3JQYWxldHRlIGZyb20gJy4vY29sb3ItcGFsZXR0ZSc7XG5pbXBvcnQgQ3VzdG9tUGlja2VyIGZyb20gJy4vY3VzdG9tLXBpY2tlcic7XG5pbXBvcnQge2FycmF5TW92ZX0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0NvbG9yUmFuZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7TmVzdGVkUGFydGlhbH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbnR5cGUgQ3VzdG9tUGFsZXR0ZVByb3BzID0ge1xuICBjdXN0b21QYWxldHRlOiBDb2xvclJhbmdlO1xuICBzaG93U2tldGNoZXI/OiBib29sZWFuIHwgbnVtYmVyO1xuICBzZXRDdXN0b21QYWxldHRlOiAoYzogTmVzdGVkUGFydGlhbDxDb2xvclJhbmdlPikgPT4gdm9pZDtcbiAgb25DYW5jZWw6ICgpID0+IHZvaWQ7XG4gIG9uVG9nZ2xlU2tldGNoZXI6IChpOiBib29sZWFuIHwgbnVtYmVyKSA9PiB2b2lkO1xuICBvbkFwcGx5OiAocDogQ29sb3JSYW5nZSwgZTogTW91c2VFdmVudCkgPT4gdm9pZDtcbn07XG5cbmNvbnN0IGRyYWdIYW5kbGVBY3RpdmUgPSBjc3NgXG4gIC5sYXllcl9fZHJhZy1oYW5kbGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGN1cnNvcjogbW92ZTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkU29ydGFibGVJdGVtID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDZweDtcbiAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgei1pbmRleDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bldyYXBwZXJaICsgMX07XG5cbiAgOm5vdCguc29ydGluZykge1xuICAgIDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICAgICR7ZHJhZ0hhbmRsZUFjdGl2ZX07XG4gICAgfVxuICB9XG5cbiAgJi5zb3J0aW5nLWNvbG9ycyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgJHtkcmFnSGFuZGxlQWN0aXZlfTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkRHJhZ0hhbmRsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG5gO1xuXG5jb25zdCBTdHlsZWRUcmFzaCA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIHN2ZyB7XG4gICAgOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvckFjdGl2ZX07XG4gICAgfVxuICB9XG4gIGhlaWdodDogMTJweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbiAgOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZExpbmUgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG5gO1xuXG5jb25zdCBTdHlsZWRTd2F0Y2ggPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY3VzdG9tLXBhbGV0dGVfX3N3YXRjaCdcbn0pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLmNvbG9yfTtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMThweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICA6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm94U2hhZG93fTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZENvbG9yUmFuZ2UgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAwIDhweDtcbiAgOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDExcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpcmVjdGlvbjogcnRsO1xuYDtcblxuY29uc3QgU3R5bGVkSW5saW5lSW5wdXQgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tbGVmdDogMTJweDtcbiAgaW5wdXQge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gIH1cbmA7XG5cbnR5cGUgU29ydGFibGVJdGVtUHJvcHMgPSBTb3J0YWJsZUVsZW1lbnRQcm9wcyAmIHtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgaXNTb3J0aW5nOiBib29sZWFuO1xufTtcblxuY29uc3QgU29ydGFibGVJdGVtID0gU29ydGFibGVFbGVtZW50PFNvcnRhYmxlSXRlbVByb3BzPigoe2NoaWxkcmVuLCBpc1NvcnRpbmd9KSA9PiAoXG4gIDxTdHlsZWRTb3J0YWJsZUl0ZW1cbiAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2N1c3RvbS1wYWxldHRlX19zb3J0YWJsZS1pdGVtcycsIHtzb3J0aW5nOiBpc1NvcnRpbmd9KX1cbiAgPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9TdHlsZWRTb3J0YWJsZUl0ZW0+XG4pKTtcblxudHlwZSBXcmFwcGVkU29ydGFibGVDb250YWluZXJQcm9wcyA9IFNvcnRhYmxlQ29udGFpbmVyUHJvcHMgJiB7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG59O1xuXG4vLyBUT0RPOiBTaG91bGQgY2xhc3NOYW1lIGJlIGFwcGxpZWQgdG8gdGhlIGRpdiBoZXJlP1xuY29uc3QgV3JhcHBlZFNvcnRhYmxlQ29udGFpbmVyID0gU29ydGFibGVDb250YWluZXI8V3JhcHBlZFNvcnRhYmxlQ29udGFpbmVyUHJvcHM+KFxuICAoe2NoaWxkcmVuLCBjbGFzc05hbWV9KSA9PiA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT57Y2hpbGRyZW59PC9kaXY+XG4pO1xuXG50eXBlIERyYWdIYW5kbGVQcm9wcyA9IFByb3BzV2l0aENoaWxkcmVuPHtjbGFzc05hbWU/OiBzdHJpbmc7IGxpc3RlbmVycz86IHVua25vd259PjtcblxuZXhwb3J0IGNvbnN0IERyYWdIYW5kbGUgPSBTb3J0YWJsZUhhbmRsZTxEcmFnSGFuZGxlUHJvcHM+KCh7Y2xhc3NOYW1lLCBjaGlsZHJlbn0pID0+IChcbiAgPFN0eWxlZERyYWdIYW5kbGUgY2xhc3NOYW1lPXtjbGFzc05hbWV9PntjaGlsZHJlbn08L1N0eWxlZERyYWdIYW5kbGU+XG4pKTtcblxuY2xhc3MgQ3VzdG9tUGFsZXR0ZSBleHRlbmRzIENvbXBvbmVudDxDdXN0b21QYWxldHRlUHJvcHM+IHtcbiAgc3RhdGUgPSB7XG4gICAgaXNTb3J0aW5nOiBmYWxzZVxuICB9O1xuXG4gIHJvb3QgPSBjcmVhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XG5cbiAgX3NldENvbG9yUGFsZXR0ZVVJKGNvbG9yczogc3RyaW5nW10pIHtcbiAgICB0aGlzLnByb3BzLnNldEN1c3RvbVBhbGV0dGUoe1xuICAgICAgY29sb3JzXG4gICAgfSk7XG4gIH1cblxuICBfb25QaWNrZXJVcGRhdGUgPSAoY29sb3I6IHtoZXg6IHN0cmluZ30pID0+IHtcbiAgICBjb25zdCB7Y29sb3JzfSA9IHRoaXMucHJvcHMuY3VzdG9tUGFsZXR0ZTtcbiAgICBjb25zdCBuZXdDb2xvcnMgPSBbLi4uY29sb3JzXTtcbiAgICBuZXdDb2xvcnNbdGhpcy5wcm9wcy5zaG93U2tldGNoZXIgYXMgbnVtYmVyXSA9IGNvbG9yLmhleDtcbiAgICB0aGlzLl9zZXRDb2xvclBhbGV0dGVVSShuZXdDb2xvcnMpO1xuICB9O1xuXG4gIF9vbkNvbG9yRGVsZXRlID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCB7Y29sb3JzfSA9IHRoaXMucHJvcHMuY3VzdG9tUGFsZXR0ZTtcbiAgICBjb25zdCBuZXdDb2xvcnMgPSBbLi4uY29sb3JzXTtcbiAgICBpZiAobmV3Q29sb3JzLmxlbmd0aCA+IDEpIHtcbiAgICAgIG5ld0NvbG9ycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgICB0aGlzLl9zZXRDb2xvclBhbGV0dGVVSShuZXdDb2xvcnMpO1xuICB9O1xuXG4gIF9vbkNvbG9yQWRkID0gKCkgPT4ge1xuICAgIGNvbnN0IHtjb2xvcnN9ID0gdGhpcy5wcm9wcy5jdXN0b21QYWxldHRlO1xuICAgIC8vIGFkZCB0aGUgbGFzdCBjb2xvclxuICAgIGNvbnN0IG5ld0NvbG9ycyA9IFsuLi5jb2xvcnMsIGNvbG9yc1tjb2xvcnMubGVuZ3RoIC0gMV1dO1xuICAgIHRoaXMuX3NldENvbG9yUGFsZXR0ZVVJKG5ld0NvbG9ycyk7XG4gIH07XG5cbiAgX29uU3dhdGNoQ2xpY2sgPSAoaW5kZXg6IG51bWJlcikgPT4ge1xuICAgIHRoaXMucHJvcHMub25Ub2dnbGVTa2V0Y2hlcihpbmRleCk7XG4gIH07XG5cbiAgX29uU3dhdGNoQ2xvc2UgPSAoKSA9PiB7XG4gICAgdGhpcy5wcm9wcy5vblRvZ2dsZVNrZXRjaGVyKGZhbHNlKTtcbiAgfTtcblxuICBfb25BcHBseTogTW91c2VFdmVudEhhbmRsZXIgPSBldmVudCA9PiB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIHRoaXMucHJvcHMub25DYW5jZWwoKTtcbiAgICB0aGlzLnByb3BzLm9uQXBwbHkodGhpcy5wcm9wcy5jdXN0b21QYWxldHRlLCBldmVudCk7XG4gIH07XG5cbiAgX29uU29ydEVuZCA9ICh7b2xkSW5kZXgsIG5ld0luZGV4fSkgPT4ge1xuICAgIGNvbnN0IHtjb2xvcnN9ID0gdGhpcy5wcm9wcy5jdXN0b21QYWxldHRlO1xuICAgIGNvbnN0IG5ld0NvbG9ycyA9IGFycmF5TW92ZShjb2xvcnMsIG9sZEluZGV4LCBuZXdJbmRleCk7XG4gICAgdGhpcy5fc2V0Q29sb3JQYWxldHRlVUkobmV3Q29sb3JzKTtcbiAgICB0aGlzLnNldFN0YXRlKHtpc1NvcnRpbmc6IGZhbHNlfSk7XG4gIH07XG5cbiAgX29uU29ydFN0YXJ0ID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe2lzU29ydGluZzogdHJ1ZX0pO1xuICB9O1xuXG4gIF9pbnB1dENvbG9ySGV4ID0gKGluZGV4OiBudW1iZXIsIHt0YXJnZXQ6IHt2YWx1ZX19KSA9PiB7XG4gICAgY29uc3Qge2NvbG9yc30gPSB0aGlzLnByb3BzLmN1c3RvbVBhbGV0dGU7XG4gICAgY29uc3QgbmV3Q29sb3JzID0gWy4uLmNvbG9yc107XG4gICAgbmV3Q29sb3JzW2luZGV4XSA9IHZhbHVlLnRvVXBwZXJDYXNlKCk7XG4gICAgdGhpcy5fc2V0Q29sb3JQYWxldHRlVUkobmV3Q29sb3JzKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2NvbG9yc30gPSB0aGlzLnByb3BzLmN1c3RvbVBhbGV0dGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tcGFsZXR0ZS1wYW5lbFwiIHJlZj17dGhpcy5yb290fT5cbiAgICAgICAgPFN0eWxlZENvbG9yUmFuZ2U+XG4gICAgICAgICAgPENvbG9yUGFsZXR0ZSBjb2xvcnM9e2NvbG9yc30gLz5cbiAgICAgICAgPC9TdHlsZWRDb2xvclJhbmdlPlxuICAgICAgICA8V3JhcHBlZFNvcnRhYmxlQ29udGFpbmVyXG4gICAgICAgICAgY2xhc3NOYW1lPVwiY3VzdG9tLXBhbGV0dGUtY29udGFpbmVyXCJcbiAgICAgICAgICBvblNvcnRFbmQ9e3RoaXMuX29uU29ydEVuZH1cbiAgICAgICAgICBvblNvcnRTdGFydD17dGhpcy5fb25Tb3J0U3RhcnR9XG4gICAgICAgICAgbG9ja0F4aXM9XCJ5XCJcbiAgICAgICAgICBoZWxwZXJDbGFzcz1cInNvcnRpbmctY29sb3JzXCJcbiAgICAgICAgICB1c2VEcmFnSGFuZGxlXG4gICAgICAgID5cbiAgICAgICAgICB7Y29sb3JzLm1hcCgoY29sb3IsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJdGVtIGtleT17aW5kZXh9IGluZGV4PXtpbmRleH0gaXNTb3J0aW5nPXt0aGlzLnN0YXRlLmlzU29ydGluZ30+XG4gICAgICAgICAgICAgIDxEcmFnSGFuZGxlIGNsYXNzTmFtZT1cImxheWVyX19kcmFnLWhhbmRsZVwiPlxuICAgICAgICAgICAgICAgIDxWZXJ0RG90cyBoZWlnaHQ9XCIyMHB4XCIgLz5cbiAgICAgICAgICAgICAgPC9EcmFnSGFuZGxlPlxuICAgICAgICAgICAgICA8U3R5bGVkU3dhdGNoIGNvbG9yPXtjb2xvcn0gb25DbGljaz17KCkgPT4gdGhpcy5fb25Td2F0Y2hDbGljayhpbmRleCl9IC8+XG4gICAgICAgICAgICAgIDxTdHlsZWRJbmxpbmVJbnB1dD5cbiAgICAgICAgICAgICAgICA8SW5saW5lSW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1wYWxldHRlLWhleF9faW5wdXRcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2NvbG9yLnRvVXBwZXJDYXNlKCl9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17ZSA9PiB0aGlzLl9pbnB1dENvbG9ySGV4KGluZGV4LCBlKX1cbiAgICAgICAgICAgICAgICAgIGlkPXtgaW5wdXQtbGF5ZXItbGFiZWwtJHtpbmRleH1gfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3R5bGVkSW5saW5lSW5wdXQ+XG4gICAgICAgICAgICAgIDxTdHlsZWRUcmFzaCBvbkNsaWNrPXsoKSA9PiB0aGlzLl9vbkNvbG9yRGVsZXRlKGluZGV4KX0+XG4gICAgICAgICAgICAgICAgPFRyYXNoIGNsYXNzTmFtZT1cInRyYXNoYmluXCIgLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRUcmFzaD5cbiAgICAgICAgICAgIDwvU29ydGFibGVJdGVtPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L1dyYXBwZWRTb3J0YWJsZUNvbnRhaW5lcj5cbiAgICAgICAgey8qIEFkZCBTdGVwIEJ1dHRvbiAqL31cbiAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJhZGQtc3RlcF9fYnV0dG9uXCIgbGluayBvbkNsaWNrPXt0aGlzLl9vbkNvbG9yQWRkfT5cbiAgICAgICAgICArIEFkZCBTdGVwXG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgICA8U3R5bGVkTGluZSAvPlxuICAgICAgICB7LyogQ2FuY2VsIG9yIENvbmZpcm0gQnV0dG9ucyAqL31cbiAgICAgICAgPFN0eWxlZEJ1dHRvbkNvbnRhaW5lcj5cbiAgICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT1cImNvbmZpcm0tYXBwbHlfX2J1dHRvblwiIGxpbmsgb25DbGljaz17dGhpcy5fb25BcHBseX0+XG4gICAgICAgICAgICBDb25maXJtXG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPEJ1dHRvbiBsaW5rIG9uQ2xpY2s9e3RoaXMucHJvcHMub25DYW5jZWx9PlxuICAgICAgICAgICAgQ2FuY2VsXG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvU3R5bGVkQnV0dG9uQ29udGFpbmVyPlxuXG4gICAgICAgIDxQb3J0YWxlZCBpc09wZW5lZD17dGhpcy5wcm9wcy5zaG93U2tldGNoZXIgIT09IGZhbHNlfSBsZWZ0PXsyODB9IHRvcD17LTMwMH0+XG4gICAgICAgICAgPEN1c3RvbVBpY2tlclxuICAgICAgICAgICAgY29sb3I9e2NvbG9yc1t0aGlzLnByb3BzLnNob3dTa2V0Y2hlciBhcyBudW1iZXJdfVxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuX29uUGlja2VyVXBkYXRlfVxuICAgICAgICAgICAgb25Td2F0Y2hDbG9zZT17dGhpcy5fb25Td2F0Y2hDbG9zZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1BvcnRhbGVkPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBDdXN0b21QYWxldHRlO1xuIl19