@kepler.gl/components 3.0.0-alpha.0 → 3.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bottom-widget.d.ts +11 -38
- package/dist/bottom-widget.js +42 -118
- package/dist/common/action-panel.d.ts +2 -2
- package/dist/common/action-panel.js +3 -23
- package/dist/common/animation-control/animation-control.d.ts +19 -18
- package/dist/common/animation-control/animation-control.js +58 -100
- package/dist/common/animation-control/animation-controller.d.ts +6 -2
- package/dist/common/animation-control/animation-controller.js +49 -55
- package/dist/common/animation-control/animation-speed-slider.js +1 -21
- package/dist/common/animation-control/animation-window-control.js +3 -21
- package/dist/common/animation-control/floating-time-display.d.ts +2 -2
- package/dist/common/animation-control/floating-time-display.js +1 -21
- package/dist/common/animation-control/play-control.d.ts +2 -2
- package/dist/common/animation-control/play-control.js +3 -21
- package/dist/common/animation-control/playback-controls.d.ts +7 -7
- package/dist/common/animation-control/playback-controls.js +5 -25
- package/dist/common/animation-control/reset-control.d.ts +2 -2
- package/dist/common/animation-control/reset-control.js +3 -21
- package/dist/common/animation-control/speed-control.d.ts +2 -2
- package/dist/common/animation-control/speed-control.js +1 -21
- package/dist/common/animation-control/window-action-control.d.ts +2 -2
- package/dist/common/animation-control/window-action-control.js +3 -21
- package/dist/common/checkbox.d.ts +2 -2
- package/dist/common/checkbox.js +2 -22
- package/dist/common/color-legend.d.ts +3 -3
- package/dist/common/color-legend.js +10 -36
- package/dist/common/data-table/button.d.ts +1 -1
- package/dist/common/data-table/button.js +1 -21
- package/dist/common/data-table/canvas.js +1 -21
- package/dist/common/data-table/cell-size.js +43 -32
- package/dist/common/data-table/display-format.d.ts +25 -0
- package/dist/common/data-table/display-format.js +149 -0
- package/dist/common/data-table/grid.d.ts +5 -2
- package/dist/common/data-table/grid.js +44 -24
- package/dist/common/data-table/header-cell.d.ts +4 -1
- package/dist/common/data-table/header-cell.js +65 -48
- package/dist/common/data-table/index.d.ts +27 -34
- package/dist/common/data-table/index.js +147 -81
- package/dist/common/data-table/option-dropdown.d.ts +17 -3
- package/dist/common/data-table/option-dropdown.js +85 -32
- package/dist/common/dataset-label.d.ts +2 -2
- package/dist/common/dataset-label.js +2 -22
- package/dist/common/error-boundary.d.ts +6 -2
- package/dist/common/error-boundary.js +1 -21
- package/dist/common/field-selector.d.ts +10 -3
- package/dist/common/field-selector.js +4 -22
- package/dist/common/field-token.d.ts +12 -0
- package/dist/common/field-token.js +6 -22
- package/dist/common/file-uploader/file-drop.d.ts +3 -2
- package/dist/common/file-uploader/file-drop.js +1 -21
- package/dist/common/file-uploader/file-upload-progress.js +1 -21
- package/dist/common/file-uploader/file-upload.d.ts +2 -6
- package/dist/common/file-uploader/file-upload.js +1 -21
- package/dist/common/file-uploader/upload-button.d.ts +1 -0
- package/dist/common/file-uploader/upload-button.js +1 -21
- package/dist/common/flex-container.d.ts +3 -0
- package/dist/common/flex-container.js +23 -0
- package/dist/common/histogram-plot.d.ts +2 -2
- package/dist/common/histogram-plot.js +17 -31
- package/dist/common/icon-button.d.ts +3 -2
- package/dist/common/icon-button.js +1 -21
- package/dist/common/icons/add.d.ts +2 -2
- package/dist/common/icons/add.js +1 -21
- package/dist/common/icons/anchor_window.d.ts +2 -2
- package/dist/common/icons/anchor_window.js +6 -22
- package/dist/common/icons/arrow-down-alt.d.ts +2 -2
- package/dist/common/icons/arrow-down-alt.js +1 -21
- package/dist/common/icons/arrow-down-small.d.ts +14 -0
- package/dist/common/icons/arrow-down-small.js +72 -0
- package/dist/common/icons/arrow-down-solid.d.ts +2 -2
- package/dist/common/icons/arrow-down-solid.js +1 -21
- package/dist/common/icons/arrow-down.d.ts +2 -2
- package/dist/common/icons/arrow-down.js +1 -21
- package/dist/common/icons/arrow-left.d.ts +2 -2
- package/dist/common/icons/arrow-left.js +1 -21
- package/dist/common/icons/arrow-right.d.ts +2 -2
- package/dist/common/icons/arrow-right.js +1 -21
- package/dist/common/icons/arrow-up-alt.d.ts +2 -2
- package/dist/common/icons/arrow-up-alt.js +1 -21
- package/dist/common/icons/arrow-up-solid.d.ts +2 -2
- package/dist/common/icons/arrow-up-solid.js +1 -21
- package/dist/common/icons/arrow-up.d.ts +2 -2
- package/dist/common/icons/arrow-up.js +1 -21
- package/dist/common/icons/base.d.ts +1 -1
- package/dist/common/icons/base.js +1 -21
- package/dist/common/icons/bug.d.ts +2 -2
- package/dist/common/icons/bug.js +1 -21
- package/dist/common/icons/calendar.d.ts +10 -0
- package/dist/common/icons/calendar.js +66 -0
- package/dist/common/icons/cancel.d.ts +2 -2
- package/dist/common/icons/cancel.js +1 -21
- package/dist/common/icons/checkmark.d.ts +2 -2
- package/dist/common/icons/checkmark.js +1 -21
- package/dist/common/icons/clipboard.d.ts +2 -2
- package/dist/common/icons/clipboard.js +1 -21
- package/dist/common/icons/clock.d.ts +2 -2
- package/dist/common/icons/clock.js +1 -21
- package/dist/common/icons/close.d.ts +2 -2
- package/dist/common/icons/close.js +1 -21
- package/dist/common/icons/code-alt.d.ts +2 -2
- package/dist/common/icons/code-alt.js +1 -21
- package/dist/common/icons/copy.d.ts +2 -2
- package/dist/common/icons/copy.js +1 -21
- package/dist/common/icons/crosshairs.d.ts +2 -2
- package/dist/common/icons/crosshairs.js +1 -21
- package/dist/common/icons/cube-3d.d.ts +2 -2
- package/dist/common/icons/cube-3d.js +1 -21
- package/dist/common/icons/cursor-click.d.ts +2 -2
- package/dist/common/icons/cursor-click.js +1 -21
- package/dist/common/icons/cursor-point.d.ts +14 -0
- package/dist/common/icons/cursor-point.js +69 -0
- package/dist/common/icons/data-table.d.ts +2 -2
- package/dist/common/icons/data-table.js +1 -21
- package/dist/common/icons/db.d.ts +2 -2
- package/dist/common/icons/db.js +1 -21
- package/dist/common/icons/delete.d.ts +2 -2
- package/dist/common/icons/delete.js +1 -21
- package/dist/common/icons/docs.d.ts +2 -2
- package/dist/common/icons/docs.js +1 -21
- package/dist/common/icons/drag-n-drop.d.ts +2 -2
- package/dist/common/icons/drag-n-drop.js +1 -21
- package/dist/common/icons/draw-polygon.d.ts +2 -2
- package/dist/common/icons/draw-polygon.js +1 -21
- package/dist/common/icons/effects/brightness-contrast.d.ts +14 -0
- package/dist/common/icons/effects/brightness-contrast.js +88 -0
- package/dist/common/icons/effects/color-halftone.d.ts +14 -0
- package/dist/common/icons/effects/color-halftone.js +127 -0
- package/dist/common/icons/effects/dot-screen.d.ts +14 -0
- package/dist/common/icons/effects/dot-screen.js +122 -0
- package/dist/common/icons/effects/edge-work.d.ts +14 -0
- package/dist/common/icons/effects/edge-work.js +81 -0
- package/dist/common/icons/effects/hexagonal-pixelate.d.ts +14 -0
- package/dist/common/icons/effects/hexagonal-pixelate.js +148 -0
- package/dist/common/icons/effects/hue-saturation.d.ts +14 -0
- package/dist/common/icons/effects/hue-saturation.js +79 -0
- package/dist/common/icons/effects/ink.d.ts +14 -0
- package/dist/common/icons/effects/ink.js +78 -0
- package/dist/common/icons/effects/light-and-shadow.d.ts +14 -0
- package/dist/common/icons/effects/light-and-shadow.js +67 -0
- package/dist/common/icons/effects/magic-wand.d.ts +14 -0
- package/dist/common/icons/effects/magic-wand.js +79 -0
- package/dist/common/icons/effects/magnify.d.ts +14 -0
- package/dist/common/icons/effects/magnify.js +86 -0
- package/dist/common/icons/effects/noise.d.ts +14 -0
- package/dist/common/icons/effects/noise.js +132 -0
- package/dist/common/icons/effects/sepia.d.ts +14 -0
- package/dist/common/icons/effects/sepia.js +79 -0
- package/dist/common/icons/effects/tilt-shift.d.ts +14 -0
- package/dist/common/icons/effects/tilt-shift.js +88 -0
- package/dist/common/icons/effects/triangle-blur.d.ts +14 -0
- package/dist/common/icons/effects/triangle-blur.js +83 -0
- package/dist/common/icons/effects/vibrance.d.ts +14 -0
- package/dist/common/icons/effects/vibrance.js +79 -0
- package/dist/common/icons/effects/vignette.d.ts +14 -0
- package/dist/common/icons/effects/vignette.js +72 -0
- package/dist/common/icons/effects/zoom-blur.d.ts +14 -0
- package/dist/common/icons/effects/zoom-blur.js +107 -0
- package/dist/common/icons/email.d.ts +2 -2
- package/dist/common/icons/email.js +1 -21
- package/dist/common/icons/expand.d.ts +2 -2
- package/dist/common/icons/expand.js +1 -21
- package/dist/common/icons/eye-seen.d.ts +2 -2
- package/dist/common/icons/eye-seen.js +1 -21
- package/dist/common/icons/eye-unseen.d.ts +2 -2
- package/dist/common/icons/eye-unseen.js +1 -21
- package/dist/common/icons/file-type.d.ts +2 -2
- package/dist/common/icons/file-type.js +1 -21
- package/dist/common/icons/file.d.ts +2 -2
- package/dist/common/icons/file.js +1 -21
- package/dist/common/icons/files.d.ts +1 -1
- package/dist/common/icons/files.js +1 -21
- package/dist/common/icons/filter-funnel.d.ts +2 -2
- package/dist/common/icons/filter-funnel.js +1 -21
- package/dist/common/icons/free-window.d.ts +2 -2
- package/dist/common/icons/free-window.js +6 -22
- package/dist/common/icons/gear.d.ts +2 -2
- package/dist/common/icons/gear.js +1 -21
- package/dist/common/icons/globe.d.ts +15 -0
- package/dist/common/icons/globe.js +72 -0
- package/dist/common/icons/hash.d.ts +2 -2
- package/dist/common/icons/hash.js +1 -21
- package/dist/common/icons/histogram.d.ts +1 -1
- package/dist/common/icons/histogram.js +1 -21
- package/dist/common/icons/index.d.ts +26 -0
- package/dist/common/icons/index.js +209 -21
- package/dist/common/icons/info.d.ts +2 -2
- package/dist/common/icons/info.js +1 -21
- package/dist/common/icons/layers.d.ts +2 -2
- package/dist/common/icons/layers.js +1 -21
- package/dist/common/icons/left-arrow.d.ts +2 -2
- package/dist/common/icons/left-arrow.js +1 -21
- package/dist/common/icons/legend.d.ts +2 -2
- package/dist/common/icons/legend.js +1 -21
- package/dist/common/icons/line-chart.d.ts +2 -2
- package/dist/common/icons/line-chart.js +1 -21
- package/dist/common/icons/location-marker.d.ts +14 -0
- package/dist/common/icons/location-marker.js +77 -0
- package/dist/common/icons/login.d.ts +2 -2
- package/dist/common/icons/login.js +1 -21
- package/dist/common/icons/logout.d.ts +2 -2
- package/dist/common/icons/logout.js +1 -21
- package/dist/common/icons/map-icon.d.ts +2 -2
- package/dist/common/icons/map-icon.js +1 -21
- package/dist/common/icons/map.d.ts +2 -2
- package/dist/common/icons/map.js +1 -21
- package/dist/common/icons/messages.d.ts +2 -2
- package/dist/common/icons/messages.js +1 -21
- package/dist/common/icons/minus.d.ts +2 -2
- package/dist/common/icons/minus.js +1 -21
- package/dist/common/icons/moon.d.ts +14 -0
- package/dist/common/icons/moon.js +77 -0
- package/dist/common/icons/order-by-dataset.d.ts +2 -2
- package/dist/common/icons/order-by-dataset.js +6 -22
- package/dist/common/icons/order-by-list.d.ts +2 -2
- package/dist/common/icons/order-by-list.js +6 -22
- package/dist/common/icons/pause.d.ts +2 -2
- package/dist/common/icons/pause.js +1 -21
- package/dist/common/icons/picture.d.ts +1 -1
- package/dist/common/icons/picture.js +1 -21
- package/dist/common/icons/pin.d.ts +2 -2
- package/dist/common/icons/pin.js +1 -21
- package/dist/common/icons/play.d.ts +2 -2
- package/dist/common/icons/play.js +1 -21
- package/dist/common/icons/polygon.d.ts +2 -2
- package/dist/common/icons/polygon.js +1 -21
- package/dist/common/icons/rectangle.d.ts +2 -2
- package/dist/common/icons/rectangle.js +1 -21
- package/dist/common/icons/reduce.d.ts +2 -2
- package/dist/common/icons/reduce.js +1 -21
- package/dist/common/icons/reset.d.ts +2 -2
- package/dist/common/icons/reset.js +1 -21
- package/dist/common/icons/rocket.d.ts +2 -2
- package/dist/common/icons/rocket.js +1 -21
- package/dist/common/icons/save.d.ts +2 -2
- package/dist/common/icons/save.js +1 -21
- package/dist/common/icons/save2.d.ts +2 -2
- package/dist/common/icons/save2.js +1 -21
- package/dist/common/icons/search.d.ts +2 -2
- package/dist/common/icons/search.js +1 -21
- package/dist/common/icons/settings.d.ts +2 -2
- package/dist/common/icons/settings.js +1 -21
- package/dist/common/icons/share.d.ts +2 -2
- package/dist/common/icons/share.js +1 -21
- package/dist/common/icons/split.d.ts +2 -2
- package/dist/common/icons/split.js +1 -21
- package/dist/common/icons/square-select.d.ts +2 -2
- package/dist/common/icons/square-select.js +1 -21
- package/dist/common/icons/sun.d.ts +14 -0
- package/dist/common/icons/sun.js +93 -0
- package/dist/common/icons/sunrise.d.ts +14 -0
- package/dist/common/icons/sunrise.js +89 -0
- package/dist/common/icons/sunset.d.ts +14 -0
- package/dist/common/icons/sunset.js +89 -0
- package/dist/common/icons/trash.d.ts +2 -2
- package/dist/common/icons/trash.js +1 -21
- package/dist/common/icons/vert-dots.d.ts +2 -2
- package/dist/common/icons/vert-dots.js +1 -21
- package/dist/common/icons/vert-three-dots.d.ts +2 -2
- package/dist/common/icons/vert-three-dots.js +1 -21
- package/dist/common/icons/warning-sign.d.ts +2 -2
- package/dist/common/icons/warning-sign.js +1 -21
- package/dist/common/icons/warning.d.ts +2 -2
- package/dist/common/icons/warning.js +1 -21
- package/dist/common/image-preview.d.ts +2 -2
- package/dist/common/image-preview.js +1 -21
- package/dist/common/index.d.ts +1 -1
- package/dist/common/index.js +7 -21
- package/dist/common/info-helper.d.ts +2 -2
- package/dist/common/info-helper.js +1 -21
- package/dist/common/item-selector/accessor.js +5 -22
- package/dist/common/item-selector/chickleted-input.d.ts +1 -0
- package/dist/common/item-selector/chickleted-input.js +104 -44
- package/dist/common/item-selector/dropdown-list.d.ts +30 -8
- package/dist/common/item-selector/dropdown-list.js +150 -46
- package/dist/common/item-selector/item-selector.d.ts +5 -3
- package/dist/common/item-selector/item-selector.js +16 -24
- package/dist/common/item-selector/typeahead.d.ts +16 -12
- package/dist/common/item-selector/typeahead.js +23 -32
- package/dist/common/line-chart.d.ts +2 -2
- package/dist/common/line-chart.js +1 -21
- package/dist/common/loading-spinner.js +1 -21
- package/dist/common/logo.d.ts +2 -2
- package/dist/common/logo.js +1 -21
- package/dist/common/map-layer-selector.d.ts +2 -2
- package/dist/common/map-layer-selector.js +2 -23
- package/dist/common/modal.d.ts +24 -11
- package/dist/common/modal.js +25 -28
- package/dist/common/portaled.d.ts +526 -2
- package/dist/common/portaled.js +1 -21
- package/dist/common/progress-bar.d.ts +2 -2
- package/dist/common/progress-bar.js +1 -21
- package/dist/common/range-brush.js +1 -21
- package/dist/common/range-plot.d.ts +6 -2
- package/dist/common/range-plot.js +3 -22
- package/dist/common/range-slider.d.ts +6 -2
- package/dist/common/range-slider.js +8 -22
- package/dist/common/slider/mouse-event.js +6 -22
- package/dist/common/slider/slider-bar-handle.d.ts +2 -2
- package/dist/common/slider/slider-bar-handle.js +1 -21
- package/dist/common/slider/slider-handle.d.ts +1 -1
- package/dist/common/slider/slider-handle.js +1 -21
- package/dist/common/slider/slider.d.ts +7 -5
- package/dist/common/slider/slider.js +7 -24
- package/dist/common/styled-components.d.ts +8 -3
- package/dist/common/styled-components.js +161 -68
- package/dist/common/switch.d.ts +3 -2
- package/dist/common/switch.js +1 -21
- package/dist/common/time-range-slider-time-title.d.ts +2 -2
- package/dist/common/time-range-slider-time-title.js +1 -21
- package/dist/common/time-range-slider.d.ts +6 -3
- package/dist/common/time-range-slider.js +32 -33
- package/dist/common/time-slider-marker.d.ts +1 -1
- package/dist/common/time-slider-marker.js +2 -22
- package/dist/common/timeline-slider.d.ts +13 -0
- package/dist/common/timeline-slider.js +153 -0
- package/dist/common/tippy-tooltip.d.ts +4 -2
- package/dist/common/tippy-tooltip.js +22 -30
- package/dist/common/toolbar-item.d.ts +1 -1
- package/dist/common/toolbar-item.js +5 -23
- package/dist/common/toolbar.js +1 -21
- package/dist/common/vertical-toolbar.js +1 -21
- package/dist/connect/keplergl-connect.d.ts +5 -1
- package/dist/connect/keplergl-connect.js +6 -22
- package/dist/connect/with-local-selector.js +1 -21
- package/dist/container.js +1 -21
- package/dist/context.d.ts +11 -0
- package/dist/context.js +20 -24
- package/dist/dnd-context.d.ts +13 -0
- package/dist/dnd-context.js +157 -0
- package/dist/editor/editor.d.ts +11 -10
- package/dist/editor/editor.js +96 -122
- package/dist/editor/feature-action-panel.d.ts +8 -6
- package/dist/editor/feature-action-panel.js +57 -55
- package/dist/effects/compact-color-picker.d.ts +10 -0
- package/dist/effects/compact-color-picker.js +130 -0
- package/dist/effects/effect-configurator.d.ts +17 -0
- package/dist/effects/effect-configurator.js +302 -0
- package/dist/effects/effect-list.d.ts +15 -0
- package/dist/effects/effect-list.js +153 -0
- package/dist/effects/effect-manager.d.ts +22 -0
- package/dist/effects/effect-manager.js +142 -0
- package/dist/effects/effect-panel-header.d.ts +45 -0
- package/dist/effects/effect-panel-header.js +206 -0
- package/dist/effects/effect-panel.d.ts +24 -0
- package/dist/effects/effect-panel.js +149 -0
- package/dist/effects/effect-time-configurator.d.ts +20 -0
- package/dist/effects/effect-time-configurator.js +340 -0
- package/dist/effects/effect-time-selector.d.ts +16 -0
- package/dist/effects/effect-time-selector.js +181 -0
- package/dist/effects/effect-time-slider.d.ts +34 -0
- package/dist/effects/effect-time-slider.js +220 -0
- package/dist/effects/effect-type-dropdown-list.d.ts +18 -0
- package/dist/effects/effect-type-dropdown-list.js +77 -0
- package/dist/effects/effect-type-list-item.d.ts +22 -0
- package/dist/effects/effect-type-list-item.js +105 -0
- package/dist/effects/effect-type-selector.d.ts +30 -0
- package/dist/effects/effect-type-selector.js +92 -0
- package/dist/effects/side-panel-title.d.ts +7 -0
- package/dist/effects/side-panel-title.js +47 -0
- package/dist/effects/timezone-selector.d.ts +19 -0
- package/dist/effects/timezone-selector.js +71 -0
- package/dist/filter-animation-controller.d.ts +17 -0
- package/dist/filter-animation-controller.js +73 -0
- package/dist/filters/components.js +1 -21
- package/dist/filters/filter-panels/filter-panel-with-field-select.js +7 -23
- package/dist/filters/filter-panels/multi-select-filter-panel.js +7 -23
- package/dist/filters/filter-panels/new-filter-panel.js +6 -22
- package/dist/filters/filter-panels/polygon-filter-panel.js +7 -23
- package/dist/filters/filter-panels/range-filter-panel.js +7 -23
- package/dist/filters/filter-panels/single-select-filter-panel.js +7 -23
- package/dist/filters/filter-panels/time-range-filter-panel.js +24 -27
- package/dist/filters/filter-panels/types.d.ts +2 -1
- package/dist/filters/filter-panels/types.js +0 -20
- package/dist/filters/index.d.ts +2 -0
- package/dist/filters/index.js +17 -21
- package/dist/filters/multi-select-filter.js +6 -22
- package/dist/filters/polygon-filter.js +18 -24
- package/dist/filters/range-filter.js +9 -23
- package/dist/filters/single-select-filter.js +6 -22
- package/dist/filters/time-range-filter.d.ts +2 -1
- package/dist/filters/time-range-filter.js +15 -27
- package/dist/filters/time-widget-top.d.ts +8 -0
- package/dist/filters/time-widget-top.js +103 -0
- package/dist/filters/time-widget.d.ts +3 -7
- package/dist/filters/time-widget.js +34 -111
- package/dist/filters/types.d.ts +7 -3
- package/dist/filters/types.js +0 -20
- package/dist/geocoder/geocoder.d.ts +1 -3
- package/dist/geocoder/geocoder.js +10 -27
- package/dist/geocoder-panel.d.ts +9 -3
- package/dist/geocoder-panel.js +29 -38
- package/dist/hooks/use-cloud-list-provider.d.ts +11 -0
- package/dist/hooks/use-cloud-list-provider.js +57 -0
- package/dist/hooks/use-dnd-effects.d.ts +9 -0
- package/dist/hooks/use-dnd-effects.js +88 -0
- package/dist/hooks/use-dnd-layers.d.ts +9 -0
- package/dist/hooks/use-dnd-layers.js +95 -0
- package/dist/hooks/use-feature-flags.d.ts +5 -0
- package/dist/hooks/use-feature-flags.js +21 -0
- package/dist/index.d.ts +78 -21
- package/dist/index.js +695 -116
- package/dist/injector.d.ts +4 -4
- package/dist/injector.js +1 -21
- package/dist/kepler-gl.d.ts +59 -17
- package/dist/kepler-gl.js +88 -53
- package/dist/layer-animation-controller.d.ts +13 -0
- package/dist/layer-animation-controller.js +58 -0
- package/dist/map/coordinate-info.js +6 -22
- package/dist/map/effects/effect-control.d.ts +16 -0
- package/dist/map/effects/effect-control.js +63 -0
- package/dist/map/layer-hover-info.d.ts +2 -2
- package/dist/map/layer-hover-info.js +26 -30
- package/dist/map/layer-selector-panel.js +6 -22
- package/dist/map/lazy-tippy.js +1 -21
- package/dist/map/locale-panel.d.ts +1 -1
- package/dist/map/locale-panel.js +6 -22
- package/dist/map/map-control-panel.d.ts +6 -0
- package/dist/map/map-control-panel.js +64 -28
- package/dist/map/map-control-toolbar.js +2 -22
- package/dist/map/map-control-tooltip.js +6 -22
- package/dist/map/map-control.d.ts +15 -7
- package/dist/map/map-control.js +5 -26
- package/dist/map/map-draw-panel.d.ts +2 -2
- package/dist/map/map-draw-panel.js +6 -29
- package/dist/map/map-legend-panel.d.ts +12 -1
- package/dist/map/map-legend-panel.js +31 -34
- package/dist/map/map-legend.d.ts +1 -1
- package/dist/map/map-legend.js +1 -21
- package/dist/map/map-popover-content.d.ts +28 -0
- package/dist/map/map-popover-content.js +35 -0
- package/dist/map/map-popover.d.ts +11 -14
- package/dist/map/map-popover.js +93 -34
- package/dist/map/split-map-button.js +6 -22
- package/dist/map/toggle-3d-button.js +6 -22
- package/dist/map-container.d.ts +33 -9
- package/dist/map-container.js +544 -194
- package/dist/map-view-state-context.d.ts +17 -0
- package/dist/map-view-state-context.js +117 -0
- package/dist/maps-layout.d.ts +5 -2
- package/dist/maps-layout.js +6 -22
- package/dist/modal-container.d.ts +4 -8
- package/dist/modal-container.js +19 -76
- package/dist/modals/add-map-style-modal.d.ts +1 -3
- package/dist/modals/add-map-style-modal.js +15 -73
- package/dist/modals/cloud-components/cloud-header.d.ts +8 -0
- package/dist/modals/cloud-components/cloud-header.js +65 -0
- package/dist/modals/cloud-components/cloud-item.d.ts +5 -0
- package/dist/modals/cloud-components/cloud-item.js +72 -0
- package/dist/modals/cloud-components/cloud-item.spec.d.ts +1 -0
- package/dist/modals/cloud-components/cloud-item.spec.js +105 -0
- package/dist/modals/cloud-components/cloud-maps.d.ts +8 -0
- package/dist/modals/cloud-components/cloud-maps.js +63 -0
- package/dist/modals/cloud-components/cloud-maps.spec.d.ts +1 -0
- package/dist/modals/cloud-components/cloud-maps.spec.js +112 -0
- package/dist/modals/cloud-components/provider-loading.d.ts +2 -0
- package/dist/modals/cloud-components/provider-loading.js +29 -0
- package/dist/modals/cloud-components/provider-select.d.ts +7 -0
- package/dist/modals/cloud-components/provider-select.js +40 -0
- package/dist/modals/cloud-tile.d.ts +8 -8
- package/dist/modals/cloud-tile.js +184 -75
- package/dist/modals/data-table-modal.d.ts +11 -2
- package/dist/modals/data-table-modal.js +74 -43
- package/dist/modals/delete-data-modal.js +1 -21
- package/dist/modals/error-display.js +15 -26
- package/dist/modals/export-data-modal.d.ts +1 -3
- package/dist/modals/export-data-modal.js +1 -21
- package/dist/modals/export-image-modal.d.ts +1 -3
- package/dist/modals/export-image-modal.js +1 -21
- package/dist/modals/export-map-modal/components.d.ts +2 -2
- package/dist/modals/export-map-modal/components.js +1 -21
- package/dist/modals/export-map-modal/export-html-map.js +1 -21
- package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
- package/dist/modals/export-map-modal/export-json-map.js +1 -21
- package/dist/modals/export-map-modal/export-map-modal.d.ts +2 -2
- package/dist/modals/export-map-modal/export-map-modal.js +6 -22
- package/dist/modals/image-modal-container.d.ts +2 -3
- package/dist/modals/image-modal-container.js +12 -34
- package/dist/modals/load-data-modal.d.ts +0 -5
- package/dist/modals/load-data-modal.js +1 -21
- package/dist/modals/load-storage-map.d.ts +3 -24
- package/dist/modals/load-storage-map.js +69 -282
- package/dist/modals/load-storage-map.spec.d.ts +1 -0
- package/dist/modals/load-storage-map.spec.js +237 -0
- package/dist/modals/loading-dialog.js +1 -21
- package/dist/modals/modal-dialog.js +6 -22
- package/dist/modals/modal-tabs.d.ts +1 -1
- package/dist/modals/modal-tabs.js +1 -21
- package/dist/modals/overwrite-map-modal.d.ts +2 -2
- package/dist/modals/overwrite-map-modal.js +39 -32
- package/dist/modals/save-map-modal.d.ts +3 -5
- package/dist/modals/save-map-modal.js +99 -119
- package/dist/modals/save-map-modal.spec.d.ts +1 -0
- package/dist/modals/save-map-modal.spec.js +218 -0
- package/dist/modals/share-map-modal.d.ts +1 -5
- package/dist/modals/share-map-modal.js +57 -81
- package/dist/modals/share-map-modal.spec.d.ts +1 -0
- package/dist/modals/share-map-modal.spec.js +202 -0
- package/dist/modals/status-panel.js +1 -21
- package/dist/modals/storage-map-viewer.d.ts +1 -1
- package/dist/modals/storage-map-viewer.js +1 -21
- package/dist/notification-panel/notification-item.d.ts +7 -10
- package/dist/notification-panel/notification-item.js +44 -32
- package/dist/notification-panel.js +1 -21
- package/dist/plot-container.js +20 -28
- package/dist/side-panel/add-by-dataset-button.d.ts +12 -0
- package/dist/side-panel/add-by-dataset-button.js +153 -0
- package/dist/side-panel/cloud-storage-dropdown.d.ts +2 -2
- package/dist/side-panel/cloud-storage-dropdown.js +6 -22
- package/dist/side-panel/common/dataset-info.d.ts +10 -3
- package/dist/side-panel/common/dataset-info.js +1 -21
- package/dist/side-panel/common/dataset-tag.d.ts +15 -1
- package/dist/side-panel/common/dataset-tag.js +13 -30
- package/dist/side-panel/common/dataset-title.d.ts +16 -2
- package/dist/side-panel/common/dataset-title.js +70 -124
- package/dist/side-panel/common/source-data-catalog.d.ts +22 -3
- package/dist/side-panel/common/source-data-catalog.js +1 -21
- package/dist/side-panel/common/source-data-selector.js +6 -22
- package/dist/side-panel/common/types.d.ts +7 -27
- package/dist/side-panel/common/types.js +0 -20
- package/dist/side-panel/custom-panel.d.ts +6 -7
- package/dist/side-panel/custom-panel.js +6 -22
- package/dist/side-panel/filter-manager.d.ts +18 -6
- package/dist/side-panel/filter-manager.js +175 -84
- package/dist/side-panel/filter-panel/add-filter-button.d.ts +8 -0
- package/dist/side-panel/filter-panel/add-filter-button.js +34 -0
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +6 -3
- package/dist/side-panel/filter-panel/filter-panel-header.js +3 -23
- package/dist/side-panel/filter-panel/filter-panel.js +1 -21
- package/dist/side-panel/interaction-manager.d.ts +6 -3
- package/dist/side-panel/interaction-manager.js +24 -27
- package/dist/side-panel/interaction-panel/brush-config.d.ts +2 -2
- package/dist/side-panel/interaction-panel/brush-config.js +1 -21
- package/dist/side-panel/interaction-panel/interaction-panel.d.ts +5 -2
- package/dist/side-panel/interaction-panel/interaction-panel.js +11 -24
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +11 -9
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +69 -67
- package/dist/side-panel/interaction-panel/tooltip-config.d.ts +2 -3
- package/dist/side-panel/interaction-panel/tooltip-config.js +48 -57
- package/dist/side-panel/layer-manager.d.ts +13 -10
- package/dist/side-panel/layer-manager.js +72 -57
- package/dist/side-panel/layer-panel/add-layer-button.d.ts +3 -5
- package/dist/side-panel/layer-panel/add-layer-button.js +14 -156
- package/dist/side-panel/layer-panel/color-palette.js +1 -21
- package/dist/side-panel/layer-panel/color-range-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-range-selector.js +1 -21
- package/dist/side-panel/layer-panel/color-selector.d.ts +15 -24
- package/dist/side-panel/layer-panel/color-selector.js +174 -146
- package/dist/side-panel/layer-panel/column-selector.js +1 -21
- package/dist/side-panel/layer-panel/custom-palette.d.ts +7 -2
- package/dist/side-panel/layer-panel/custom-palette.js +5 -24
- package/dist/side-panel/layer-panel/custom-picker.d.ts +9 -36
- package/dist/side-panel/layer-panel/custom-picker.js +1 -21
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
- package/dist/side-panel/layer-panel/dataset-layer-group.js +7 -22
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +3 -2
- package/dist/side-panel/layer-panel/dataset-layer-section.js +4 -23
- package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -3
- package/dist/side-panel/layer-panel/dataset-section.js +5 -26
- package/dist/side-panel/layer-panel/dimension-scale-selector.js +6 -22
- package/dist/side-panel/layer-panel/how-to-button.js +1 -21
- package/dist/side-panel/layer-panel/layer-color-selector.d.ts +42 -0
- package/dist/side-panel/layer-panel/layer-color-selector.js +118 -0
- package/dist/side-panel/layer-panel/layer-column-config.d.ts +15 -9
- package/dist/side-panel/layer-panel/layer-column-config.js +34 -32
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +11 -2
- package/dist/side-panel/layer-panel/layer-config-group.js +18 -30
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +10 -35
- package/dist/side-panel/layer-panel/layer-configurator.js +75 -132
- package/dist/side-panel/layer-panel/layer-error-message.d.ts +6 -0
- package/dist/side-panel/layer-panel/layer-error-message.js +38 -0
- package/dist/side-panel/layer-panel/layer-list.d.ts +4 -3
- package/dist/side-panel/layer-panel/layer-list.js +111 -108
- package/dist/side-panel/layer-panel/layer-panel-header.d.ts +22 -10
- package/dist/side-panel/layer-panel/layer-panel-header.js +105 -86
- package/dist/side-panel/layer-panel/layer-panel.d.ts +3 -1
- package/dist/side-panel/layer-panel/layer-panel.js +23 -30
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +1 -21
- package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +12 -3
- package/dist/side-panel/layer-panel/layer-type-list-item.js +11 -23
- package/dist/side-panel/layer-panel/layer-type-selector.d.ts +2 -1
- package/dist/side-panel/layer-panel/layer-type-selector.js +4 -22
- package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -1
- package/dist/side-panel/layer-panel/single-color-palette.js +1 -21
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +4 -2
- package/dist/side-panel/layer-panel/text-label-panel.js +61 -34
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +1 -3
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +1 -21
- package/dist/side-panel/layer-panel/vis-config-slider.js +1 -21
- package/dist/side-panel/layer-panel/vis-config-switch.js +1 -21
- package/dist/side-panel/map-manager.d.ts +13 -6
- package/dist/side-panel/map-manager.js +55 -64
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +14 -0
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +96 -0
- package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +29 -0
- package/dist/side-panel/map-style-panel/map-layer-group-item.js +111 -0
- package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +16 -12
- package/dist/side-panel/map-style-panel/map-layer-selector.js +33 -70
- package/dist/side-panel/map-style-panel/map-style-selector.d.ts +11 -4
- package/dist/side-panel/map-style-panel/map-style-selector.js +53 -39
- package/dist/side-panel/panel-dropdown.d.ts +3 -2
- package/dist/side-panel/panel-dropdown.js +1 -21
- package/dist/side-panel/panel-header-action.d.ts +4 -2
- package/dist/side-panel/panel-header-action.js +10 -23
- package/dist/side-panel/panel-header.d.ts +13 -8
- package/dist/side-panel/panel-header.js +2 -21
- package/dist/side-panel/panel-tab.d.ts +2 -2
- package/dist/side-panel/panel-tab.js +1 -21
- package/dist/side-panel/panel-title.d.ts +6 -3
- package/dist/side-panel/panel-title.js +30 -33
- package/dist/side-panel/panel-toggle.d.ts +1 -1
- package/dist/side-panel/panel-toggle.js +1 -21
- package/dist/side-panel/{layer-panel/panel-view-list-toggle.d.ts → panel-view-list-toggle.d.ts} +19 -8
- package/dist/side-panel/panel-view-list-toggle.js +123 -0
- package/dist/side-panel/side-bar.d.ts +15 -16
- package/dist/side-panel/side-bar.js +7 -25
- package/dist/side-panel.d.ts +2 -117
- package/dist/side-panel.js +19 -54
- package/dist/types.d.ts +14 -9
- package/dist/types.js +0 -20
- package/package.json +48 -38
- package/dist/editor/constants.d.ts +0 -17
- package/dist/editor/constants.js +0 -47
- package/dist/editor/feature-styles.d.ts +0 -37
- package/dist/editor/feature-styles.js +0 -92
- package/dist/editor/handle-style.d.ts +0 -42
- package/dist/editor/handle-style.js +0 -100
- package/dist/hooks/useFeatureFlags.d.ts +0 -2
- package/dist/hooks/useFeatureFlags.js +0 -38
- package/dist/modals/provider-modal-container.d.ts +0 -22
- package/dist/modals/provider-modal-container.js +0 -101
- package/dist/side-panel/layer-panel/panel-view-list-toggle.js +0 -143
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
// Copyright (c) 2022 Uber Technologies, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
-
// in the Software without restriction, including without limitation the rights
|
|
6
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
-
// furnished to do so, subject to the following conditions:
|
|
9
|
-
//
|
|
10
|
-
// The above copyright notice and this permission notice shall be included in
|
|
11
|
-
// all copies or substantial portions of the Software.
|
|
12
|
-
//
|
|
13
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
-
// THE SOFTWARE.
|
|
20
|
-
|
|
21
1
|
"use strict";
|
|
22
2
|
|
|
23
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
@@ -28,10 +8,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
28
8
|
value: true
|
|
29
9
|
});
|
|
30
10
|
exports.LayerTitleSectionFactory = LayerTitleSectionFactory;
|
|
11
|
+
exports.LayerPanelHeaderActionSectionFactory = LayerPanelHeaderActionSectionFactory;
|
|
31
12
|
exports["default"] = exports.HeaderWarning = exports.LayerLabelEditor = exports.DragHandle = exports.defaultProps = void 0;
|
|
32
13
|
|
|
33
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
34
15
|
|
|
16
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
17
|
+
|
|
35
18
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
36
19
|
|
|
37
20
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -40,8 +23,6 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
40
23
|
|
|
41
24
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
42
25
|
|
|
43
|
-
var _reactSortableHoc = require("react-sortable-hoc");
|
|
44
|
-
|
|
45
26
|
var _panelHeaderAction = _interopRequireDefault(require("../panel-header-action"));
|
|
46
27
|
|
|
47
28
|
var _styledComponents2 = require("../../common/styled-components");
|
|
@@ -50,6 +31,8 @@ var _icons = require("../../common/icons");
|
|
|
50
31
|
|
|
51
32
|
var _localization = require("@kepler.gl/localization");
|
|
52
33
|
|
|
34
|
+
var _constants = require("@kepler.gl/constants");
|
|
35
|
+
|
|
53
36
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
54
37
|
|
|
55
38
|
var defaultProps = {
|
|
@@ -74,7 +57,7 @@ var getBorderCss = function getBorderCss(status) {
|
|
|
74
57
|
var StyledLayerPanelHeader = (0, _styledComponents["default"])(_styledComponents2.StyledPanelHeader)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", "px;\n position: relative;\n align-items: stretch;\n\n .layer__remove-layer {\n opacity: 0;\n }\n\n .layer__drag-handle__placeholder {\n height: 20px;\n padding: 10px;\n }\n\n ", "\n\n :hover {\n cursor: pointer;\n background-color: ", ";\n\n .layer__drag-handle {\n opacity: 1;\n }\n\n .layer__remove-layer {\n opacity: 1;\n }\n }\n"])), function (props) {
|
|
75
58
|
return props.theme.layerPanelHeaderHeight;
|
|
76
59
|
}, function (props) {
|
|
77
|
-
return props.warning ? getBorderCss('warning') : '';
|
|
60
|
+
return props.warning ? getBorderCss('warning') : props.isValid ? '' : getBorderCss('error');
|
|
78
61
|
}, function (props) {
|
|
79
62
|
return props.theme.panelBackgroundHover;
|
|
80
63
|
});
|
|
@@ -100,15 +83,22 @@ var StyledDragHandle = _styledComponents["default"].div(_templateObject6 || (_te
|
|
|
100
83
|
return props.theme.textColorHl;
|
|
101
84
|
});
|
|
102
85
|
|
|
103
|
-
var DragHandle =
|
|
86
|
+
var DragHandle = function DragHandle(_ref4) {
|
|
104
87
|
var className = _ref4.className,
|
|
88
|
+
listeners = _ref4.listeners,
|
|
105
89
|
children = _ref4.children;
|
|
106
|
-
return /*#__PURE__*/_react["default"].createElement(StyledDragHandle, {
|
|
90
|
+
return /*#__PURE__*/_react["default"].createElement(StyledDragHandle, (0, _extends2["default"])({
|
|
107
91
|
className: className
|
|
108
|
-
}, children);
|
|
109
|
-
}
|
|
92
|
+
}, listeners ? listeners : {}), children);
|
|
93
|
+
};
|
|
94
|
+
|
|
110
95
|
exports.DragHandle = DragHandle;
|
|
111
96
|
|
|
97
|
+
var noOp = function noOp(event) {
|
|
98
|
+
event.stopPropagation();
|
|
99
|
+
event.preventDefault();
|
|
100
|
+
};
|
|
101
|
+
|
|
112
102
|
var LayerLabelEditor = function LayerLabelEditor(_ref5) {
|
|
113
103
|
var layerId = _ref5.layerId,
|
|
114
104
|
label = _ref5.label,
|
|
@@ -118,10 +108,9 @@ var LayerLabelEditor = function LayerLabelEditor(_ref5) {
|
|
|
118
108
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents2.InlineInput, {
|
|
119
109
|
type: "text",
|
|
120
110
|
className: "layer__title__editor",
|
|
111
|
+
"data-testid": _constants.dataTestIds.layerTitleEditor,
|
|
121
112
|
value: label,
|
|
122
|
-
onClick:
|
|
123
|
-
e.stopPropagation();
|
|
124
|
-
},
|
|
113
|
+
onClick: noOp,
|
|
125
114
|
onChange: onEdit,
|
|
126
115
|
onFocus: onFocus,
|
|
127
116
|
onBlur: onBlur,
|
|
@@ -161,6 +150,70 @@ function LayerTitleSectionFactory() {
|
|
|
161
150
|
return LayerTitleSection;
|
|
162
151
|
}
|
|
163
152
|
|
|
153
|
+
LayerPanelHeaderActionSectionFactory.deps = [_panelHeaderAction["default"]];
|
|
154
|
+
|
|
155
|
+
function LayerPanelHeaderActionSectionFactory(PanelHeaderAction) {
|
|
156
|
+
var LayerPanelHeaderActionSection = function LayerPanelHeaderActionSection(props) {
|
|
157
|
+
var isConfigActive = props.isConfigActive,
|
|
158
|
+
allowDuplicate = props.allowDuplicate,
|
|
159
|
+
isVisible = props.isVisible,
|
|
160
|
+
isValid = props.isValid,
|
|
161
|
+
layerId = props.layerId,
|
|
162
|
+
onToggleVisibility = props.onToggleVisibility,
|
|
163
|
+
onResetIsValid = props.onResetIsValid,
|
|
164
|
+
onToggleEnableConfig = props.onToggleEnableConfig,
|
|
165
|
+
onDuplicateLayer = props.onDuplicateLayer,
|
|
166
|
+
onRemoveLayer = props.onRemoveLayer,
|
|
167
|
+
showRemoveLayer = props.showRemoveLayer,
|
|
168
|
+
isEditingLabel = props.isEditingLabel,
|
|
169
|
+
_props$actionIcons = props.actionIcons,
|
|
170
|
+
actionIcons = _props$actionIcons === void 0 ? defaultActionIcons : _props$actionIcons;
|
|
171
|
+
return /*#__PURE__*/_react["default"].createElement(HeaderActionSection, {
|
|
172
|
+
className: "layer-panel__header__actions",
|
|
173
|
+
isEditingLabel: isEditingLabel
|
|
174
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledPanelHeaderHiddenActions, {
|
|
175
|
+
isConfigActive: isConfigActive
|
|
176
|
+
}, showRemoveLayer ? /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
177
|
+
className: "layer__remove-layer",
|
|
178
|
+
testId: "remove-layer-action",
|
|
179
|
+
id: layerId,
|
|
180
|
+
tooltip: 'tooltip.removeLayer',
|
|
181
|
+
onClick: onRemoveLayer,
|
|
182
|
+
tooltipType: "error",
|
|
183
|
+
IconComponent: actionIcons.remove
|
|
184
|
+
}) : null, /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
185
|
+
className: "layer__duplicate",
|
|
186
|
+
id: layerId,
|
|
187
|
+
tooltip: 'tooltip.duplicateLayer',
|
|
188
|
+
onClick: onDuplicateLayer,
|
|
189
|
+
IconComponent: actionIcons.duplicate,
|
|
190
|
+
disabled: !allowDuplicate
|
|
191
|
+
})), isValid ? /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
192
|
+
className: "layer__visibility-toggle",
|
|
193
|
+
id: layerId,
|
|
194
|
+
tooltip: isVisible ? 'tooltip.hideLayer' : 'tooltip.showLayer',
|
|
195
|
+
onClick: onToggleVisibility,
|
|
196
|
+
IconComponent: isVisible ? actionIcons.visible : actionIcons.hidden
|
|
197
|
+
}) : /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
198
|
+
className: "layer__is-valid-refresh",
|
|
199
|
+
id: layerId,
|
|
200
|
+
tooltip: 'tooltip.resetAfterError',
|
|
201
|
+
onClick: onResetIsValid,
|
|
202
|
+
IconComponent: actionIcons.resetIsValid
|
|
203
|
+
}), /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
204
|
+
className: (0, _classnames["default"])('layer__enable-config ', {
|
|
205
|
+
'is-open': isConfigActive
|
|
206
|
+
}),
|
|
207
|
+
id: layerId,
|
|
208
|
+
tooltip: 'tooltip.layerSettings',
|
|
209
|
+
onClick: onToggleEnableConfig,
|
|
210
|
+
IconComponent: actionIcons.enableConfig
|
|
211
|
+
}));
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
return LayerPanelHeaderActionSection;
|
|
215
|
+
}
|
|
216
|
+
|
|
164
217
|
var StyledHeaderWaring = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n right: -9px;\n top: calc(50% - 9px);\n color: ", ";\n"])), function (_ref7) {
|
|
165
218
|
var theme = _ref7.theme;
|
|
166
219
|
return theme.notificationColors.warning;
|
|
@@ -182,34 +235,29 @@ var HeaderWarning = function HeaderWarning(_ref8) {
|
|
|
182
235
|
};
|
|
183
236
|
|
|
184
237
|
exports.HeaderWarning = HeaderWarning;
|
|
185
|
-
LayerPanelHeaderFactory.deps = [LayerTitleSectionFactory, _panelHeaderAction["default"]];
|
|
186
238
|
var defaultActionIcons = {
|
|
187
239
|
remove: _icons.Trash,
|
|
188
240
|
visible: _icons.EyeSeen,
|
|
189
241
|
hidden: _icons.EyeUnseen,
|
|
190
242
|
enableConfig: _icons.ArrowDown,
|
|
191
|
-
duplicate: _icons.Copy
|
|
243
|
+
duplicate: _icons.Copy,
|
|
244
|
+
resetIsValid: _icons.Reset
|
|
192
245
|
};
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
isDragNDropEnabled =
|
|
199
|
-
|
|
200
|
-
warning =
|
|
201
|
-
label =
|
|
202
|
-
layerId =
|
|
203
|
-
layerType =
|
|
204
|
-
labelRCGColorValues =
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
onDuplicateLayer = _ref9.onDuplicateLayer,
|
|
209
|
-
onRemoveLayer = _ref9.onRemoveLayer,
|
|
210
|
-
showRemoveLayer = _ref9.showRemoveLayer,
|
|
211
|
-
_ref9$actionIcons = _ref9.actionIcons,
|
|
212
|
-
actionIcons = _ref9$actionIcons === void 0 ? defaultActionIcons : _ref9$actionIcons;
|
|
246
|
+
LayerPanelHeaderFactory.deps = [LayerTitleSectionFactory, LayerPanelHeaderActionSectionFactory];
|
|
247
|
+
|
|
248
|
+
function LayerPanelHeaderFactory(LayerTitleSection, LayerPanelHeaderActionSection) {
|
|
249
|
+
var LayerPanelHeader = function LayerPanelHeader(props) {
|
|
250
|
+
var isConfigActive = props.isConfigActive,
|
|
251
|
+
isDragNDropEnabled = props.isDragNDropEnabled,
|
|
252
|
+
isValid = props.isValid,
|
|
253
|
+
warning = props.warning,
|
|
254
|
+
label = props.label,
|
|
255
|
+
layerId = props.layerId,
|
|
256
|
+
layerType = props.layerType,
|
|
257
|
+
labelRCGColorValues = props.labelRCGColorValues,
|
|
258
|
+
onUpdateLayerLabel = props.onUpdateLayerLabel,
|
|
259
|
+
onToggleEnableConfig = props.onToggleEnableConfig,
|
|
260
|
+
listeners = props.listeners;
|
|
213
261
|
|
|
214
262
|
var _useState = (0, _react.useState)(false),
|
|
215
263
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
@@ -220,6 +268,7 @@ function LayerPanelHeaderFactory(LayerTitleSection, PanelHeaderAction) {
|
|
|
220
268
|
className: (0, _classnames["default"])('layer-panel__header', {
|
|
221
269
|
'sort--handle': !isConfigActive
|
|
222
270
|
}),
|
|
271
|
+
isValid: isValid,
|
|
223
272
|
warning: warning,
|
|
224
273
|
active: isConfigActive,
|
|
225
274
|
labelRCGColorValues: labelRCGColorValues,
|
|
@@ -230,7 +279,8 @@ function LayerPanelHeaderFactory(LayerTitleSection, PanelHeaderAction) {
|
|
|
230
279
|
}) : null, /*#__PURE__*/_react["default"].createElement(HeaderLabelSection, {
|
|
231
280
|
className: "layer-panel__header__content"
|
|
232
281
|
}, isDragNDropEnabled ? /*#__PURE__*/_react["default"].createElement(DragHandle, {
|
|
233
|
-
className: "layer__drag-handle"
|
|
282
|
+
className: "layer__drag-handle",
|
|
283
|
+
listeners: listeners
|
|
234
284
|
}, /*#__PURE__*/_react["default"].createElement(_icons.VertDots, {
|
|
235
285
|
height: "20px"
|
|
236
286
|
})) : /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -246,39 +296,8 @@ function LayerPanelHeaderFactory(LayerTitleSection, PanelHeaderAction) {
|
|
|
246
296
|
onBlur: function onBlur() {
|
|
247
297
|
setIsEditingLabel(false);
|
|
248
298
|
}
|
|
249
|
-
})), /*#__PURE__*/_react["default"].createElement(
|
|
250
|
-
className: "layer-panel__header__actions",
|
|
299
|
+
})), /*#__PURE__*/_react["default"].createElement(LayerPanelHeaderActionSection, (0, _extends2["default"])({}, props, {
|
|
251
300
|
isEditingLabel: isEditingLabel
|
|
252
|
-
}, /*#__PURE__*/_react["default"].createElement(StyledPanelHeaderHiddenActions, {
|
|
253
|
-
isConfigActive: isConfigActive
|
|
254
|
-
}, showRemoveLayer ? /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
255
|
-
className: "layer__remove-layer",
|
|
256
|
-
id: layerId,
|
|
257
|
-
tooltip: 'tooltip.removeLayer',
|
|
258
|
-
onClick: onRemoveLayer,
|
|
259
|
-
tooltipType: "error",
|
|
260
|
-
IconComponent: actionIcons.remove
|
|
261
|
-
}) : null, /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
262
|
-
className: "layer__duplicate",
|
|
263
|
-
id: layerId,
|
|
264
|
-
tooltip: 'tooltip.duplicateLayer',
|
|
265
|
-
onClick: onDuplicateLayer,
|
|
266
|
-
IconComponent: actionIcons.duplicate,
|
|
267
|
-
disabled: !allowDuplicate
|
|
268
|
-
})), /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
269
|
-
className: "layer__visibility-toggle",
|
|
270
|
-
id: layerId,
|
|
271
|
-
tooltip: isVisible ? 'tooltip.hideLayer' : 'tooltip.showLayer',
|
|
272
|
-
onClick: onToggleVisibility,
|
|
273
|
-
IconComponent: isVisible ? actionIcons.visible : actionIcons.hidden
|
|
274
|
-
}), /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
275
|
-
className: (0, _classnames["default"])('layer__enable-config ', {
|
|
276
|
-
'is-open': isConfigActive
|
|
277
|
-
}),
|
|
278
|
-
id: layerId,
|
|
279
|
-
tooltip: 'tooltip.layerSettings',
|
|
280
|
-
onClick: onToggleEnableConfig,
|
|
281
|
-
IconComponent: actionIcons.enableConfig
|
|
282
301
|
})));
|
|
283
302
|
};
|
|
284
303
|
|
|
@@ -288,4 +307,4 @@ function LayerPanelHeaderFactory(LayerTitleSection, PanelHeaderAction) {
|
|
|
288
307
|
|
|
289
308
|
var _default = LayerPanelHeaderFactory;
|
|
290
309
|
exports["default"] = _default;
|
|
291
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLXBhbmVsLWhlYWRlci50c3giXSwibmFtZXMiOlsiZGVmYXVsdFByb3BzIiwiaXNEcmFnTkRyb3BFbmFibGVkIiwic2hvd1JlbW92ZUxheWVyIiwiZ2V0Qm9yZGVyQ3NzIiwic3RhdHVzIiwiY3NzIiwidGhlbWUiLCJub3RpZmljYXRpb25Db2xvcnMiLCJTdHlsZWRMYXllclBhbmVsSGVhZGVyIiwiU3R5bGVkUGFuZWxIZWFkZXIiLCJwcm9wcyIsImxheWVyUGFuZWxIZWFkZXJIZWlnaHQiLCJ3YXJuaW5nIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJIZWFkZXJMYWJlbFNlY3Rpb24iLCJzdHlsZWQiLCJkaXYiLCJ0ZXh0Q29sb3IiLCJIZWFkZXJBY3Rpb25TZWN0aW9uIiwiaXNFZGl0aW5nTGFiZWwiLCJTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnMiLCJhdHRycyIsImNsYXNzTmFtZSIsImlzQ29uZmlnQWN0aXZlIiwicGFuZWxCYWNrZ3JvdW5kIiwiU3R5bGVkRHJhZ0hhbmRsZSIsInRleHRDb2xvckhsIiwiRHJhZ0hhbmRsZSIsImNoaWxkcmVuIiwiTGF5ZXJMYWJlbEVkaXRvciIsImxheWVySWQiLCJsYWJlbCIsIm9uRWRpdCIsIm9uRm9jdXMiLCJvbkJsdXIiLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwiTGF5ZXJUaXRsZVNlY3Rpb25GYWN0b3J5IiwiU3R5bGVkTGF5ZXJUaXRsZVNlY3Rpb24iLCJzdWJ0ZXh0Q29sb3IiLCJMYXllclRpdGxlU2VjdGlvbiIsImxheWVyVHlwZSIsIm9uVXBkYXRlTGF5ZXJMYWJlbCIsInRvTG93ZXJDYXNlIiwiU3R5bGVkSGVhZGVyV2FyaW5nIiwiSGVhZGVyV2FybmluZyIsImlkIiwiTGF5ZXJQYW5lbEhlYWRlckZhY3RvcnkiLCJkZXBzIiwiUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IiwiZGVmYXVsdEFjdGlvbkljb25zIiwicmVtb3ZlIiwiVHJhc2giLCJ2aXNpYmxlIiwiRXllU2VlbiIsImhpZGRlbiIsIkV5ZVVuc2VlbiIsImVuYWJsZUNvbmZpZyIsIkFycm93RG93biIsImR1cGxpY2F0ZSIsIkNvcHkiLCJQYW5lbEhlYWRlckFjdGlvbiIsIkxheWVyUGFuZWxIZWFkZXIiLCJhbGxvd0R1cGxpY2F0ZSIsImlzVmlzaWJsZSIsImxhYmVsUkNHQ29sb3JWYWx1ZXMiLCJvblRvZ2dsZVZpc2liaWxpdHkiLCJvblRvZ2dsZUVuYWJsZUNvbmZpZyIsIm9uRHVwbGljYXRlTGF5ZXIiLCJvblJlbW92ZUxheWVyIiwiYWN0aW9uSWNvbnMiLCJzZXRJc0VkaXRpbmdMYWJlbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFPQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFXQTs7OztBQStDTyxJQUFNQSxZQUFZLEdBQUc7QUFDMUJDLEVBQUFBLGtCQUFrQixFQUFFLElBRE07QUFFMUJDLEVBQUFBLGVBQWUsRUFBRTtBQUZTLENBQXJCOzs7QUFLUCxJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxDQUFBQyxNQUFNO0FBQUEsYUFDekJDLHFCQUR5QixvTUFFQztBQUFBLFFBQUVDLEtBQUYsUUFBRUEsS0FBRjtBQUFBLFdBQWFBLEtBQUssQ0FBQ0Msa0JBQU4sQ0FBeUJILE1BQXpCLENBQWI7QUFBQSxHQUZELEVBR0k7QUFBQSxRQUFFRSxLQUFGLFNBQUVBLEtBQUY7QUFBQSxXQUFhQSxLQUFLLENBQUNDLGtCQUFOLENBQXlCSCxNQUF6QixDQUFiO0FBQUEsR0FISixFQUlHO0FBQUEsUUFBRUUsS0FBRixTQUFFQSxLQUFGO0FBQUEsV0FBYUEsS0FBSyxDQUFDQyxrQkFBTixDQUF5QkgsTUFBekIsQ0FBYjtBQUFBLEdBSkg7QUFBQSxDQUEzQjs7QUFPQSxJQUFNSSxzQkFBc0IsR0FBRyxrQ0FBT0Msb0NBQVAsQ0FBSCxtZUFDaEIsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0osS0FBTixDQUFZ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L0ZEOztBQWlHQUssRUFBQUEsZ0JBQWdCLENBQUM5RCxZQUFqQixHQUFnQ0EsWUFBaEM7QUFFQSxTQUFPOEQsZ0JBQVA7QUFDRDs7ZUFFY2YsdUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtcbiAgdXNlU3RhdGUsXG4gIENvbXBvbmVudFR5cGUsXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICBNb3VzZUV2ZW50LFxuICBDaGFuZ2VFdmVudEhhbmRsZXJcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVkLCB7Y3NzfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1NvcnRhYmxlSGFuZGxlfSBmcm9tICdyZWFjdC1zb3J0YWJsZS1ob2MnO1xuaW1wb3J0IFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSBmcm9tICcuLi9wYW5lbC1oZWFkZXItYWN0aW9uJztcbmltcG9ydCB7VG9vbHRpcH0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIENvcHksXG4gIEFycm93RG93bixcbiAgRXllU2VlbixcbiAgRXllVW5zZWVuLFxuICBUcmFzaCxcbiAgVmVydERvdHMsXG4gIFdhcm5pbmdTaWduXG59IGZyb20gJy4uLy4uL2NvbW1vbi9pY29ucyc7XG5cbmltcG9ydCB7SW5saW5lSW5wdXQsIFN0eWxlZFBhbmVsSGVhZGVyfSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge1JHQkNvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7QmFzZVByb3BzfSBmcm9tICcuLi8uLi9jb21tb24vaWNvbnMnO1xuXG50eXBlIExheWVyTGFiZWxFZGl0b3JQcm9wcyA9IHtcbiAgbGF5ZXJJZDogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgb25FZGl0OiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uRm9jdXM6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25CbHVyOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG59O1xuXG50eXBlIExheWVyVGl0bGVTZWN0aW9uUHJvcHMgPSB7XG4gIGxheWVyVHlwZT86IHN0cmluZyB8IG51bGw7XG4gIGxheWVySWQ6IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIG9uVXBkYXRlTGF5ZXJMYWJlbDogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICBvbkZvY3VzOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uQmx1cjogQ2hhbmdlRXZlbnRIYW5kbGVyO1xufTtcblxudHlwZSBMYXllclBhbmVsSGVhZGVyUHJvcHMgPSB7XG4gIGxheWVySWQ6IHN0cmluZztcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBvblRvZ2dsZVZpc2liaWxpdHk6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblVwZGF0ZUxheWVyTGFiZWw6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25Ub2dnbGVFbmFibGVDb25maWc6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblJlbW92ZUxheWVyOiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgb25EdXBsaWNhdGVMYXllcjogTW91c2VFdmVudEhhbmRsZXI7XG4gIGlzQ29uZmlnQWN0aXZlOiBib29sZWFuO1xuICBzaG93UmVtb3ZlTGF5ZXI/OiBib29sZWFuO1xuICBsYWJlbD86IHN0cmluZztcbiAgbGF5ZXJUeXBlPzogc3RyaW5nIHwgbnVsbDtcbiAgYWxsb3dEdXBsaWNhdGU/OiBib29sZWFuO1xuICBpc0RyYWdORHJvcEVuYWJsZWQ/OiBib29sZWFuO1xuICB3YXJuaW5nPzogYm9vbGVhbjtcbiAgbGFiZWxSQ0dDb2xvclZhbHVlcz86IFJHQkNvbG9yIHwgbnVsbDtcbiAgYWN0aW9uSWNvbnM/OiB7XG4gICAgcmVtb3ZlOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgdmlzaWJsZTogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGhpZGRlbjogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGVuYWJsZUNvbmZpZzogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIHJlc2V0SXNWYWxpZDogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGR1cGxpY2F0ZTogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgaXNEcmFnTkRyb3BFbmFibGVkOiB0cnVlLFxuICBzaG93UmVtb3ZlTGF5ZXI6IHRydWVcbn07XG5cbmNvbnN0IGdldEJvcmRlckNzcyA9IHN0YXR1cyA9PlxuICBjc3NgXG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR7KHt0aGVtZX0pID0+IHRoZW1lLm5vdGlmaWNhdGlvbkNvbG9yc1tzdGF0dXNdfTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHsoe3RoZW1lfSkgPT4gdGhlbWUubm90aWZpY2F0aW9uQ29sb3JzW3N0YXR1c119O1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICR7KHt0aGVtZX0pID0+IHRoZW1lLm5vdGlmaWNhdGlvbkNvbG9yc1tzdGF0dXNdfTtcbiAgYDtcblxuY29uc3QgU3R5bGVkTGF5ZXJQYW5lbEhlYWRlciA9IHN0eWxlZChTdHlsZWRQYW5lbEhlYWRlcilgXG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllclBhbmVsSGVhZGVySGVpZ2h0fXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gIC5sYXllcl9fcmVtb3ZlLWxheWVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLmxheWVyX19kcmFnLWhhbmRsZV9fcGxhY2Vob2xkZXIge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG5cbiAgJHtwcm9wcyA9PiAocHJvcHMud2FybmluZyA/IGdldEJvcmRlckNzcygnd2FybmluZycpIDogJycpfVxuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuXG4gICAgLmxheWVyX19kcmFnLWhhbmRsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5sYXllcl9fcmVtb3ZlLWxheWVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBIZWFkZXJMYWJlbFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBmbGV4LWdyb3c6IDE7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAvLyBsZWF2ZSBzcGFjZSBmb3IgZXllIGFuZCBjb2xsYXBzZSBpY29uXG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG5gO1xuXG50eXBlIEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wcyA9IHtcbiAgaXNFZGl0aW5nTGFiZWw6IGJvb2xlYW47XG59O1xuXG5jb25zdCBIZWFkZXJBY3Rpb25TZWN0aW9uID0gc3R5bGVkLmRpdjxIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHJpZ2h0OiAxMHB4O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuaXNFZGl0aW5nTGFiZWwgPyAnbm9uZScgOiAnYWxsJyl9O1xuICA6aG92ZXIge1xuICAgIC5sYXllci1wYW5lbF9faGVhZGVyX19hY3Rpb25zX19oaWRkZW4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIH1cbiAgfVxuYDtcblxudHlwZSBTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnNQcm9wcyA9IHtcbiAgaXNDb25maWdBY3RpdmU6IExheWVyUGFuZWxIZWFkZXJQcm9wc1snaXNDb25maWdBY3RpdmUnXTtcbn07XG5cbi8vIEhpZGVuIGFjdGlvbnMgb25seSBzaG93IHVwIG9uIGhvdmVyXG5jb25zdCBTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnMgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbGF5ZXItcGFuZWxfX2hlYWRlcl9fYWN0aW9uc19faGlkZGVuJ1xufSk8U3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zUHJvcHM+YFxuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuaXNDb25maWdBY3RpdmUgPyBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3ZlciA6IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMgZWFzZTtcblxuICA6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZERyYWdIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgRHJhZ0hhbmRsZSA9IFNvcnRhYmxlSGFuZGxlKCh7Y2xhc3NOYW1lLCBjaGlsZHJlbn0pID0+IChcbiAgPFN0eWxlZERyYWdIYW5kbGUgY2xhc3NOYW1lPXtjbGFzc05hbWV9PntjaGlsZHJlbn08L1N0eWxlZERyYWdIYW5kbGU+XG4pKTtcblxuZXhwb3J0IGNvbnN0IExheWVyTGFiZWxFZGl0b3I6IFJlYWN0LkZDPExheWVyTGFiZWxFZGl0b3JQcm9wcz4gPSAoe1xuICBsYXllcklkLFxuICBsYWJlbCxcbiAgb25FZGl0LFxuICBvbkZvY3VzLFxuICBvbkJsdXJcbn0pID0+IChcbiAgPElubGluZUlucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAgIGNsYXNzTmFtZT1cImxheWVyX190aXRsZV9fZWRpdG9yXCJcbiAgICB2YWx1ZT17bGFiZWx9XG4gICAgb25DbGljaz17KGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfX1cbiAgICBvbkNoYW5nZT17b25FZGl0fVxuICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgaWQ9e2Ake2xheWVySWR9OmlucHV0LWxheWVyLWxhYmVsYH1cbiAgLz5cbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllclRpdGxlU2VjdGlvbkZhY3RvcnkoKSB7XG4gIGNvbnN0IFN0eWxlZExheWVyVGl0bGVTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLmxheWVyX190aXRsZV9faW5uZXIge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgIC5sYXllcl9fdGl0bGVfX3R5cGUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzdweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbiAgYDtcbiAgY29uc3QgTGF5ZXJUaXRsZVNlY3Rpb246IFJlYWN0LkZDPExheWVyVGl0bGVTZWN0aW9uUHJvcHM+ID0gKHtcbiAgICBsYXllclR5cGUsXG4gICAgbGF5ZXJJZCxcbiAgICBsYWJlbCxcbiAgICBvblVwZGF0ZUxheWVyTGFiZWwsXG4gICAgb25Gb2N1cyxcbiAgICBvbkJsdXJcbiAgfSkgPT4gKFxuICAgIDxTdHlsZWRMYXllclRpdGxlU2VjdGlvbiBjbGFzc05hbWU9XCJsYXllcl9fdGl0bGVcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxMYXllckxhYmVsRWRpdG9yXG4gICAgICAgICAgbGF5ZXJJZD17bGF5ZXJJZH1cbiAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgICAgb25FZGl0PXtvblVwZGF0ZUxheWVyTGFiZWx9XG4gICAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYXllcl9fdGl0bGVfX3R5cGVcIj5cbiAgICAgICAgICB7bGF5ZXJUeXBlICYmIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtgbGF5ZXIudHlwZS4ke2xheWVyVHlwZS50b0xvd2VyQ2FzZSgpfWB9IC8+fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvU3R5bGVkTGF5ZXJUaXRsZVNlY3Rpb24+XG4gICk7XG4gIHJldHVybiBMYXllclRpdGxlU2VjdGlvbjtcbn1cblxuY29uc3QgU3R5bGVkSGVhZGVyV2FyaW5nID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTlweDtcbiAgdG9wOiBjYWxjKDUwJSAtIDlweCk7XG4gIGNvbG9yOiAkeyh7dGhlbWV9KSA9PiB0aGVtZS5ub3RpZmljYXRpb25Db2xvcnMud2FybmluZ307XG5gO1xuXG5leHBvcnQgY29uc3QgSGVhZGVyV2FybmluZyA9ICh7d2FybmluZywgaWR9KSA9PiAoXG4gIDxTdHlsZWRIZWFkZXJXYXJpbmc+XG4gICAgPFdhcm5pbmdTaWduIGRhdGEtdGlwIGRhdGEtZm9yPXtgbGF5ZXItJHtpZH0td2FybmluZ2B9IGhlaWdodD1cIjE2cHhcIiAvPlxuICAgIDxUb29sdGlwIGlkPXtgbGF5ZXItJHtpZH0td2FybmluZ2B9IHR5cGU9XCJ3YXJuaW5nXCIgZWZmZWN0PVwic29saWRcIiB0ZXh0Q29sb3I9XCJibGFja1wiPlxuICAgICAge3dhcm5pbmd9XG4gICAgPC9Ub29sdGlwPlxuICA8L1N0eWxlZEhlYWRlcldhcmluZz5cbik7XG5MYXllclBhbmVsSGVhZGVyRmFjdG9yeS5kZXBzID0gW0xheWVyVGl0bGVTZWN0aW9uRmFjdG9yeSwgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5XTtcblxuY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICByZW1vdmU6IFRyYXNoLFxuICB2aXNpYmxlOiBFeWVTZWVuLFxuICBoaWRkZW46IEV5ZVVuc2VlbixcbiAgZW5hYmxlQ29uZmlnOiBBcnJvd0Rvd24sXG4gIGR1cGxpY2F0ZTogQ29weVxufTtcblxuZnVuY3Rpb24gTGF5ZXJQYW5lbEhlYWRlckZhY3RvcnkoXG4gIExheWVyVGl0bGVTZWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllclRpdGxlU2VjdGlvbkZhY3Rvcnk+LFxuICBQYW5lbEhlYWRlckFjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5PlxuKSB7XG4gIGNvbnN0IExheWVyUGFuZWxIZWFkZXI6IFJlYWN0LkZDPExheWVyUGFuZWxIZWFkZXJQcm9wcz4gPSAoe1xuICAgIGlzQ29uZmlnQWN0aXZlLFxuICAgIGFsbG93RHVwbGljYXRlLFxuICAgIGlzRHJhZ05Ecm9wRW5hYmxlZCxcbiAgICBpc1Zpc2libGUsXG4gICAgd2FybmluZyxcbiAgICBsYWJlbCxcbiAgICBsYXllcklkLFxuICAgIGxheWVyVHlwZSxcbiAgICBsYWJlbFJDR0NvbG9yVmFsdWVzLFxuICAgIG9uVG9nZ2xlVmlzaWJpbGl0eSxcbiAgICBvblVwZGF0ZUxheWVyTGFiZWwsXG4gICAgb25Ub2dnbGVFbmFibGVDb25maWcsXG4gICAgb25EdXBsaWNhdGVMYXllcixcbiAgICBvblJlbW92ZUxheWVyLFxuICAgIHNob3dSZW1vdmVMYXllcixcbiAgICBhY3Rpb25JY29ucyA9IGRlZmF1bHRBY3Rpb25JY29uc1xuICB9KSA9PiB7XG4gICAgY29uc3QgW2lzRWRpdGluZ0xhYmVsLCBzZXRJc0VkaXRpbmdMYWJlbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZExheWVyUGFuZWxIZWFkZXJcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdsYXllci1wYW5lbF9faGVhZGVyJywge1xuICAgICAgICAgICdzb3J0LS1oYW5kbGUnOiAhaXNDb25maWdBY3RpdmVcbiAgICAgICAgfSl9XG4gICAgICAgIHdhcm5pbmc9e3dhcm5pbmd9XG4gICAgICAgIGFjdGl2ZT17aXNDb25maWdBY3RpdmV9XG4gICAgICAgIGxhYmVsUkNHQ29sb3JWYWx1ZXM9e2xhYmVsUkNHQ29sb3JWYWx1ZXN9XG4gICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlRW5hYmxlQ29uZmlnfVxuICAgICAgPlxuICAgICAgICB7d2FybmluZyA/IDxIZWFkZXJXYXJuaW5nIHdhcm5pbmc9e3dhcm5pbmd9IGlkPXtsYXllcklkfSAvPiA6IG51bGx9XG4gICAgICAgIDxIZWFkZXJMYWJlbFNlY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXItcGFuZWxfX2hlYWRlcl9fY29udGVudFwiPlxuICAgICAgICAgIHtpc0RyYWdORHJvcEVuYWJsZWQgPyAoXG4gICAgICAgICAgICA8RHJhZ0hhbmRsZSBjbGFzc05hbWU9XCJsYXllcl9fZHJhZy1oYW5kbGVcIj5cbiAgICAgICAgICAgICAgPFZlcnREb3RzIGhlaWdodD1cIjIwcHhcIiAvPlxuICAgICAgICAgICAgPC9EcmFnSGFuZGxlPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxheWVyX19kcmFnLWhhbmRsZV9fcGxhY2Vob2xkZXJcIiAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPExheWVyVGl0bGVTZWN0aW9uXG4gICAgICAgICAgICBsYXllcklkPXtsYXllcklkfVxuICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgb25VcGRhdGVMYXllckxhYmVsPXtvblVwZGF0ZUxheWVyTGFiZWx9XG4gICAgICAgICAgICBsYXllclR5cGU9e2xheWVyVHlwZX1cbiAgICAgICAgICAgIG9uRm9jdXM9eygpID0+IHtcbiAgICAgICAgICAgICAgc2V0SXNFZGl0aW5nTGFiZWwodHJ1ZSk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25CbHVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgIHNldElzRWRpdGluZ0xhYmVsKGZhbHNlKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9IZWFkZXJMYWJlbFNlY3Rpb24+XG4gICAgICAgIDxIZWFkZXJBY3Rpb25TZWN0aW9uXG4gICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXItcGFuZWxfX2hlYWRlcl9fYWN0aW9uc1wiXG4gICAgICAgICAgaXNFZGl0aW5nTGFiZWw9e2lzRWRpdGluZ0xhYmVsfVxuICAgICAgICA+XG4gICAgICAgICAgPFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucyBpc0NvbmZpZ0FjdGl2ZT17aXNDb25maWdBY3RpdmV9PlxuICAgICAgICAgICAge3Nob3dSZW1vdmVMYXllciA/IChcbiAgICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXJfX3JlbW92ZS1sYXllclwiXG4gICAgICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAucmVtb3ZlTGF5ZXInfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUmVtb3ZlTGF5ZXJ9XG4gICAgICAgICAgICAgICAgdG9vbHRpcFR5cGU9XCJlcnJvclwiXG4gICAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMucmVtb3ZlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXJfX2R1cGxpY2F0ZVwiXG4gICAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgICB0b29sdGlwPXsndG9vbHRpcC5kdXBsaWNhdGVMYXllcid9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlTGF5ZXJ9XG4gICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLmR1cGxpY2F0ZX1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFhbGxvd0R1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnM+XG4gICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllcl9fdmlzaWJpbGl0eS10b2dnbGVcIlxuICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICB0b29sdGlwPXtpc1Zpc2libGUgPyAndG9vbHRpcC5oaWRlTGF5ZXInIDogJ3Rvb2x0aXAuc2hvd0xheWVyJ31cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlVmlzaWJpbGl0eX1cbiAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2lzVmlzaWJsZSA/IGFjdGlvbkljb25zLnZpc2libGUgOiBhY3Rpb25JY29ucy5oaWRkZW59XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXJfX2VuYWJsZS1jb25maWcgJywge1xuICAgICAgICAgICAgICAnaXMtb3Blbic6IGlzQ29uZmlnQWN0aXZlXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAubGF5ZXJTZXR0aW5ncyd9XG4gICAgICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZUVuYWJsZUNvbmZpZ31cbiAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLmVuYWJsZUNvbmZpZ31cbiAgICAgICAgICAvPlxuICAgICAgICA8L0hlYWRlckFjdGlvblNlY3Rpb24+XG4gICAgICA8L1N0eWxlZExheWVyUGFuZWxIZWFkZXI+XG4gICAgKTtcbiAgfTtcblxuICBMYXllclBhbmVsSGVhZGVyLmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblxuICByZXR1cm4gTGF5ZXJQYW5lbEhlYWRlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJQYW5lbEhlYWRlckZhY3Rvcnk7XG4iXX0=
|
|
310
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLXBhbmVsLWhlYWRlci50c3giXSwibmFtZXMiOlsiZGVmYXVsdFByb3BzIiwiaXNEcmFnTkRyb3BFbmFibGVkIiwic2hvd1JlbW92ZUxheWVyIiwiZ2V0Qm9yZGVyQ3NzIiwic3RhdHVzIiwiY3NzIiwidGhlbWUiLCJub3RpZmljYXRpb25Db2xvcnMiLCJTdHlsZWRMYXllclBhbmVsSGVhZGVyIiwiU3R5bGVkUGFuZWxIZWFkZXIiLCJwcm9wcyIsImxheWVyUGFuZWxIZWFkZXJIZWlnaHQiLCJ3YXJuaW5nIiwiaXNWYWxpZCIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwiSGVhZGVyTGFiZWxTZWN0aW9uIiwic3R5bGVkIiwiZGl2IiwidGV4dENvbG9yIiwiSGVhZGVyQWN0aW9uU2VjdGlvbiIsImlzRWRpdGluZ0xhYmVsIiwiU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJpc0NvbmZpZ0FjdGl2ZSIsInBhbmVsQmFja2dyb3VuZCIsIlN0eWxlZERyYWdIYW5kbGUiLCJ0ZXh0Q29sb3JIbCIsIkRyYWdIYW5kbGUiLCJsaXN0ZW5lcnMiLCJjaGlsZHJlbiIsIm5vT3AiLCJldmVudCIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwiTGF5ZXJMYWJlbEVkaXRvciIsImxheWVySWQiLCJsYWJlbCIsIm9uRWRpdCIsIm9uRm9jdXMiLCJvbkJsdXIiLCJkYXRhVGVzdElkcyIsImxheWVyVGl0bGVFZGl0b3IiLCJMYXllclRpdGxlU2VjdGlvbkZhY3RvcnkiLCJTdHlsZWRMYXllclRpdGxlU2VjdGlvbiIsInN1YnRleHRDb2xvciIsIkxheWVyVGl0bGVTZWN0aW9uIiwibGF5ZXJUeXBlIiwib25VcGRhdGVMYXllckxhYmVsIiwidG9Mb3dlckNhc2UiLCJMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnkiLCJkZXBzIiwiUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IiwiUGFuZWxIZWFkZXJBY3Rpb24iLCJMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbiIsImFsbG93RHVwbGljYXRlIiwiaXNWaXNpYmxlIiwib25Ub2dnbGVWaXNpYmlsaXR5Iiwib25SZXNldElzVmFsaWQiLCJvblRvZ2dsZUVuYWJsZUNvbmZpZyIsIm9uRHVwbGljYXRlTGF5ZXIiLCJvblJlbW92ZUxheWVyIiwiYWN0aW9uSWNvbnMiLCJkZWZhdWx0QWN0aW9uSWNvbnMiLCJyZW1vdmUiLCJkdXBsaWNhdGUiLCJ2aXNpYmxlIiwiaGlkZGVuIiwicmVzZXRJc1ZhbGlkIiwiZW5hYmxlQ29uZmlnIiwiU3R5bGVkSGVhZGVyV2FyaW5nIiwiSGVhZGVyV2FybmluZyIsImlkIiwiVHJhc2giLCJFeWVTZWVuIiwiRXllVW5zZWVuIiwiQXJyb3dEb3duIiwiQ29weSIsIlJlc2V0IiwiTGF5ZXJQYW5lbEhlYWRlckZhY3RvcnkiLCJMYXllclBhbmVsSGVhZGVyIiwibGFiZWxSQ0dDb2xvclZhbHVlcyIsInNldElzRWRpdGluZ0xhYmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0E7O0FBT0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBWUE7O0FBQ0E7Ozs7QUF3RE8sSUFBTUEsWUFBWSxHQUFHO0FBQzFCQyxFQUFBQSxrQkFBa0IsRUFBRSxJQURNO0FBRTFCQyxFQUFBQSxlQUFlLEVBQUU7QUFGUyxDQUFyQjs7O0FBS1AsSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQWUsQ0FBQUMsTUFBTTtBQUFBLGFBQ3pCQyxxQkFEeUIsb01BRUM7QUFBQSxRQUFFQyxLQUFGLFFBQUVBLEtBQUY7QUFBQSxXQUFhQSxLQUFLLENBQUNDLGtCQUFOLENBQXlCSCxNQUF6QixDQUFiO0FBQUEsR0FGRCxFQUdJO0FBQUEsUUFBRUUsS0FBRixTQUFFQSxLQUFGO0FBQUEsV0FBYUEsS0FBSyxDQUFDQyxrQkFBTixDQUF5QkgsTUFBekIsQ0FBYjtBQUFB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QUQ7QUFBZSxNQUFBLE9BQU8sRUFBRUEsT0FBeEI7QUFBaUMsTUFBQSxFQUFFLEVBQUV3QjtBQUFyQyxNQUFILEdBQXNELElBVmhFLGVBV0UsZ0NBQUMsa0JBQUQ7QUFBb0IsTUFBQSxTQUFTLEVBQUM7QUFBOUIsT0FDR25DLGtCQUFrQixnQkFDakIsZ0NBQUMsVUFBRDtBQUFZLE1BQUEsU0FBUyxFQUFDLG9CQUF0QjtBQUEyQyxNQUFBLFNBQVMsRUFBRTRCO0FBQXRELG9CQUNFLGdDQUFDLGVBQUQ7QUFBVSxNQUFBLE1BQU0sRUFBQztBQUFqQixNQURGLENBRGlCLGdCQUtqQjtBQUFLLE1BQUEsU0FBUyxFQUFDO0FBQWYsTUFOSixlQVFFLGdDQUFDLGlCQUFEO0FBQ0UsTUFBQSxPQUFPLEVBQUVPLE9BRFg7QUFFRSxNQUFBLEtBQUssRUFBRUMsS0FGVDtBQUdFLE1BQUEsa0JBQWtCLEVBQUVXLGtCQUh0QjtBQUlFLE1BQUEsU0FBUyxFQUFFRCxTQUpiO0FBS0UsTUFBQSxPQUFPLEVBQUUsbUJBQU07QUFDYm1DLFFBQUFBLGlCQUFpQixDQUFDLElBQUQsQ0FBakI7QUFDRCxPQVBIO0FBUUUsTUFBQSxNQUFNLEVBQUUsa0JBQU07QUFDWkEsUUFBQUEsaUJBQWlCLENBQUMsS0FBRCxDQUFqQjtBQUNEO0FBVkgsTUFSRixDQVhGLGVBZ0NFLGdDQUFDLDZCQUFELGdDQUFtQ3hFLEtBQW5DO0FBQTBDLE1BQUEsY0FBYyxFQUFFVTtBQUExRCxPQWhDRixDQURGO0FBb0NELEdBbkREOztBQXFEQTRELEVBQUFBLGdCQUFnQixDQUFDaEYsWUFBakIsR0FBZ0NBLFlBQWhDO0FBRUEsU0FBT2dGLGdCQUFQO0FBQ0Q7O2VBRWNELHVCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVN0YXRlLFxuICBDb21wb25lbnRUeXBlLFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgTW91c2VFdmVudCxcbiAgQ2hhbmdlRXZlbnRIYW5kbGVyXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHN0eWxlZCwge2Nzc30gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSBmcm9tICcuLi9wYW5lbC1oZWFkZXItYWN0aW9uJztcbmltcG9ydCB7VG9vbHRpcH0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIENvcHksXG4gIEFycm93RG93bixcbiAgRXllU2VlbixcbiAgRXllVW5zZWVuLFxuICBUcmFzaCxcbiAgVmVydERvdHMsXG4gIFdhcm5pbmdTaWduLFxuICBSZXNldFxufSBmcm9tICcuLi8uLi9jb21tb24vaWNvbnMnO1xuXG5pbXBvcnQge0lubGluZUlucHV0LCBTdHlsZWRQYW5lbEhlYWRlcn0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtkYXRhVGVzdElkc30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtSR0JDb2xvcn0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0Jhc2VQcm9wc30gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcblxuZXhwb3J0IHR5cGUgTGF5ZXJMYWJlbEVkaXRvclByb3BzID0ge1xuICBsYXllcklkOiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBvbkVkaXQ6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25Gb2N1czogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICBvbkJsdXI6IENoYW5nZUV2ZW50SGFuZGxlcjtcbn07XG5cbmV4cG9ydCB0eXBlIExheWVyVGl0bGVTZWN0aW9uUHJvcHMgPSB7XG4gIGxheWVyVHlwZT86IHN0cmluZyB8IG51bGw7XG4gIGxheWVySWQ6IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIG9uVXBkYXRlTGF5ZXJMYWJlbDogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICBvbkZvY3VzOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uQmx1cjogQ2hhbmdlRXZlbnRIYW5kbGVyO1xufTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJQYW5lbEhlYWRlclByb3BzID0ge1xuICBsYXllcklkOiBzdHJpbmc7XG4gIGlzVmlzaWJsZTogYm9vbGVhbjtcbiAgaXNWYWxpZDogYm9vbGVhbjtcbiAgb25Ub2dnbGVWaXNpYmlsaXR5OiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgb25VcGRhdGVMYXllckxhYmVsOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uVG9nZ2xlRW5hYmxlQ29uZmlnOiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgb25SZW1vdmVMYXllcjogTW91c2VFdmVudEhhbmRsZXI7XG4gIG9uRHVwbGljYXRlTGF5ZXI6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblJlc2V0SXNWYWxpZDogTW91c2VFdmVudEhhbmRsZXI7XG4gIGlzQ29uZmlnQWN0aXZlOiBib29sZWFuO1xuICBzaG93UmVtb3ZlTGF5ZXI/OiBib29sZWFuO1xuICBsYWJlbD86IHN0cmluZztcbiAgbGF5ZXJUeXBlPzogc3RyaW5nIHwgbnVsbDtcbiAgYWxsb3dEdXBsaWNhdGU/OiBib29sZWFuO1xuICBpc0RyYWdORHJvcEVuYWJsZWQ/OiBib29sZWFuO1xuICB3YXJuaW5nPzogYm9vbGVhbjtcbiAgbGFiZWxSQ0dDb2xvclZhbHVlcz86IFJHQkNvbG9yIHwgbnVsbDtcbiAgYWN0aW9uSWNvbnM/OiB7XG4gICAgcmVtb3ZlOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgdmlzaWJsZTogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGhpZGRlbjogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGVuYWJsZUNvbmZpZzogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIHJlc2V0SXNWYWxpZDogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGR1cGxpY2F0ZTogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICB9O1xuICBsaXN0ZW5lcnM/OiBSZWFjdC5FbGVtZW50VHlwZTtcbn07XG5cbnR5cGUgSGVhZGVyQWN0aW9uU2VjdGlvblByb3BzID0ge1xuICBpc0VkaXRpbmdMYWJlbDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHMgPSBMYXllclBhbmVsSGVhZGVyUHJvcHMgJiBIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHM7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gIGlzRHJhZ05Ecm9wRW5hYmxlZDogdHJ1ZSxcbiAgc2hvd1JlbW92ZUxheWVyOiB0cnVlXG59O1xuXG5jb25zdCBnZXRCb3JkZXJDc3MgPSBzdGF0dXMgPT5cbiAgY3NzYFxuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkeyh7dGhlbWV9KSA9PiB0aGVtZS5ub3RpZmljYXRpb25Db2xvcnNbc3RhdHVzXX07XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR7KHt0aGVtZX0pID0+IHRoZW1lLm5vdGlmaWNhdGlvbkNvbG9yc1tzdGF0dXNdfTtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkeyh7dGhlbWV9KSA9PiB0aGVtZS5ub3RpZmljYXRpb25Db2xvcnNbc3RhdHVzXX07XG4gIGA7XG5cbmNvbnN0IFN0eWxlZExheWVyUGFuZWxIZWFkZXIgPSBzdHlsZWQoU3R5bGVkUGFuZWxIZWFkZXIpYFxuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGF5ZXJQYW5lbEhlYWRlckhlaWdodH1weDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAubGF5ZXJfX3JlbW92ZS1sYXllciB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIC5sYXllcl9fZHJhZy1oYW5kbGVfX3BsYWNlaG9sZGVyIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxuXG4gICR7cHJvcHMgPT4gKHByb3BzLndhcm5pbmcgPyBnZXRCb3JkZXJDc3MoJ3dhcm5pbmcnKSA6IHByb3BzLmlzVmFsaWQgPyAnJyA6IGdldEJvcmRlckNzcygnZXJyb3InKSl9XG5cbiAgOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG5cbiAgICAubGF5ZXJfX2RyYWctaGFuZGxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLmxheWVyX19yZW1vdmUtbGF5ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IEhlYWRlckxhYmVsU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIGZsZXgtZ3JvdzogMTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIC8vIGxlYXZlIHNwYWNlIGZvciBleWUgYW5kIGNvbGxhcHNlIGljb25cbiAgcGFkZGluZy1yaWdodDogNTBweDtcbmA7XG5cbmNvbnN0IEhlYWRlckFjdGlvblNlY3Rpb24gPSBzdHlsZWQuZGl2PEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5pc0VkaXRpbmdMYWJlbCA/ICdub25lJyA6ICdhbGwnKX07XG4gIDpob3ZlciB7XG4gICAgLmxheWVyLXBhbmVsX19oZWFkZXJfX2FjdGlvbnNfX2hpZGRlbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgfVxuICB9XG5gO1xuXG50eXBlIFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9uc1Byb3BzID0ge1xuICBpc0NvbmZpZ0FjdGl2ZTogTGF5ZXJQYW5lbEhlYWRlclByb3BzWydpc0NvbmZpZ0FjdGl2ZSddO1xufTtcblxuLy8gSGlkZW4gYWN0aW9ucyBvbmx5IHNob3cgdXAgb24gaG92ZXJcbmNvbnN0IFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucyA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdsYXllci1wYW5lbF9faGVhZGVyX19hY3Rpb25zX19oaWRkZW4nXG59KTxTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnNQcm9wcz5gXG4gIG9wYWNpdHk6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5pc0NvbmZpZ0FjdGl2ZSA/IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyIDogcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC40cyBlYXNlO1xuXG4gIDpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkRHJhZ0hhbmRsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG5cbiAgOmhvdmVyIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBEcmFnSGFuZGxlOiBSZWFjdC5GQzx7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgbGlzdGVuZXJzPzogYW55O1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbn0+ID0gKHtjbGFzc05hbWUsIGxpc3RlbmVycywgY2hpbGRyZW59KSA9PiAoXG4gIDxTdHlsZWREcmFnSGFuZGxlIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSB7Li4uKGxpc3RlbmVycyA/IGxpc3RlbmVycyA6IHt9KX0+XG4gICAge2NoaWxkcmVufVxuICA8L1N0eWxlZERyYWdIYW5kbGU+XG4pO1xuXG5jb25zdCBub09wID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xufTtcblxuZXhwb3J0IGNvbnN0IExheWVyTGFiZWxFZGl0b3I6IFJlYWN0LkZDPExheWVyTGFiZWxFZGl0b3JQcm9wcz4gPSAoe1xuICBsYXllcklkLFxuICBsYWJlbCxcbiAgb25FZGl0LFxuICBvbkZvY3VzLFxuICBvbkJsdXJcbn0pID0+IChcbiAgPElubGluZUlucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAgIGNsYXNzTmFtZT1cImxheWVyX190aXRsZV9fZWRpdG9yXCJcbiAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZHMubGF5ZXJUaXRsZUVkaXRvcn1cbiAgICB2YWx1ZT17bGFiZWx9XG4gICAgb25DbGljaz17bm9PcH1cbiAgICBvbkNoYW5nZT17b25FZGl0fVxuICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgaWQ9e2Ake2xheWVySWR9OmlucHV0LWxheWVyLWxhYmVsYH1cbiAgLz5cbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllclRpdGxlU2VjdGlvbkZhY3RvcnkoKSB7XG4gIGNvbnN0IFN0eWxlZExheWVyVGl0bGVTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLmxheWVyX190aXRsZV9faW5uZXIge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgIC5sYXllcl9fdGl0bGVfX3R5cGUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzdweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbiAgYDtcbiAgY29uc3QgTGF5ZXJUaXRsZVNlY3Rpb246IFJlYWN0LkZDPExheWVyVGl0bGVTZWN0aW9uUHJvcHM+ID0gKHtcbiAgICBsYXllclR5cGUsXG4gICAgbGF5ZXJJZCxcbiAgICBsYWJlbCxcbiAgICBvblVwZGF0ZUxheWVyTGFiZWwsXG4gICAgb25Gb2N1cyxcbiAgICBvbkJsdXJcbiAgfSkgPT4gKFxuICAgIDxTdHlsZWRMYXllclRpdGxlU2VjdGlvbiBjbGFzc05hbWU9XCJsYXllcl9fdGl0bGVcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxMYXllckxhYmVsRWRpdG9yXG4gICAgICAgICAgbGF5ZXJJZD17bGF5ZXJJZH1cbiAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgICAgb25FZGl0PXtvblVwZGF0ZUxheWVyTGFiZWx9XG4gICAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYXllcl9fdGl0bGVfX3R5cGVcIj5cbiAgICAgICAgICB7bGF5ZXJUeXBlICYmIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtgbGF5ZXIudHlwZS4ke2xheWVyVHlwZS50b0xvd2VyQ2FzZSgpfWB9IC8+fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvU3R5bGVkTGF5ZXJUaXRsZVNlY3Rpb24+XG4gICk7XG4gIHJldHVybiBMYXllclRpdGxlU2VjdGlvbjtcbn1cblxuTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5LmRlcHMgPSBbUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5XTtcblxuZXhwb3J0IGZ1bmN0aW9uIExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeShcbiAgUGFuZWxIZWFkZXJBY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeT5cbikge1xuICBjb25zdCBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbjogUmVhY3QuRkM8TGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wcz4gPSAoXG4gICAgcHJvcHM6IExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHNcbiAgKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgaXNDb25maWdBY3RpdmUsXG4gICAgICBhbGxvd0R1cGxpY2F0ZSxcbiAgICAgIGlzVmlzaWJsZSxcbiAgICAgIGlzVmFsaWQsXG4gICAgICBsYXllcklkLFxuICAgICAgb25Ub2dnbGVWaXNpYmlsaXR5LFxuICAgICAgb25SZXNldElzVmFsaWQsXG4gICAgICBvblRvZ2dsZUVuYWJsZUNvbmZpZyxcbiAgICAgIG9uRHVwbGljYXRlTGF5ZXIsXG4gICAgICBvblJlbW92ZUxheWVyLFxuICAgICAgc2hvd1JlbW92ZUxheWVyLFxuICAgICAgaXNFZGl0aW5nTGFiZWwsXG4gICAgICAvLyBUT0RPOiBtYXkgbm90IGNvbnRhaW4gYWxsIG5lY2Vzc2FyeSBpY29ucyBmb3IgYWxsIGFjdGlvbnMsIGUuZy4gYWN0aW9uSWNvbnMuZHVwbGljYXRlLiBOZWVkIHRvIHRvIG1lcmdlIHJhdGhlciB0aGFuIHJlcGxhY2VcbiAgICAgIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zXG4gICAgfSA9IHByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICA8SGVhZGVyQWN0aW9uU2VjdGlvbiBjbGFzc05hbWU9XCJsYXllci1wYW5lbF9faGVhZGVyX19hY3Rpb25zXCIgaXNFZGl0aW5nTGFiZWw9e2lzRWRpdGluZ0xhYmVsfT5cbiAgICAgICAgPFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucyBpc0NvbmZpZ0FjdGl2ZT17aXNDb25maWdBY3RpdmV9PlxuICAgICAgICAgIHtzaG93UmVtb3ZlTGF5ZXIgPyAoXG4gICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXJfX3JlbW92ZS1sYXllclwiXG4gICAgICAgICAgICAgIHRlc3RJZD1cInJlbW92ZS1sYXllci1hY3Rpb25cIlxuICAgICAgICAgICAgICBpZD17bGF5ZXJJZH1cbiAgICAgICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAucmVtb3ZlTGF5ZXInfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblJlbW92ZUxheWVyfVxuICAgICAgICAgICAgICB0b29sdGlwVHlwZT1cImVycm9yXCJcbiAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMucmVtb3ZlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyX19kdXBsaWNhdGVcIlxuICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICB0b29sdGlwPXsndG9vbHRpcC5kdXBsaWNhdGVMYXllcid9XG4gICAgICAgICAgICBvbkNsaWNrPXtvbkR1cGxpY2F0ZUxheWVyfVxuICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMuZHVwbGljYXRlfVxuICAgICAgICAgICAgZGlzYWJsZWQ9eyFhbGxvd0R1cGxpY2F0ZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1N0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucz5cbiAgICAgICAge2lzVmFsaWQgPyAoXG4gICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllcl9fdmlzaWJpbGl0eS10b2dnbGVcIlxuICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICB0b29sdGlwPXtpc1Zpc2libGUgPyAndG9vbHRpcC5oaWRlTGF5ZXInIDogJ3Rvb2x0aXAuc2hvd0xheWVyJ31cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlVmlzaWJpbGl0eX1cbiAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2lzVmlzaWJsZSA/IGFjdGlvbkljb25zLnZpc2libGUgOiBhY3Rpb25JY29ucy5oaWRkZW59XG4gICAgICAgICAgLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyX19pcy12YWxpZC1yZWZyZXNoXCJcbiAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAucmVzZXRBZnRlckVycm9yJ31cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uUmVzZXRJc1ZhbGlkfVxuICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMucmVzZXRJc1ZhbGlkfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG5cbiAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdsYXllcl9fZW5hYmxlLWNvbmZpZyAnLCB7XG4gICAgICAgICAgICAnaXMtb3Blbic6IGlzQ29uZmlnQWN0aXZlXG4gICAgICAgICAgfSl9XG4gICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAubGF5ZXJTZXR0aW5ncyd9XG4gICAgICAgICAgb25DbGljaz17b25Ub2dnbGVFbmFibGVDb25maWd9XG4gICAgICAgICAgSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMuZW5hYmxlQ29uZmlnfVxuICAgICAgICAvPlxuICAgICAgPC9IZWFkZXJBY3Rpb25TZWN0aW9uPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uO1xufVxuXG5jb25zdCBTdHlsZWRIZWFkZXJXYXJpbmcgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtOXB4O1xuICB0b3A6IGNhbGMoNTAlIC0gOXB4KTtcbiAgY29sb3I6ICR7KHt0aGVtZX0pID0+IHRoZW1lLm5vdGlmaWNhdGlvbkNvbG9ycy53YXJuaW5nfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBIZWFkZXJXYXJuaW5nID0gKHt3YXJuaW5nLCBpZH0pID0+IChcbiAgPFN0eWxlZEhlYWRlcldhcmluZz5cbiAgICA8V2FybmluZ1NpZ24gZGF0YS10aXAgZGF0YS1mb3I9e2BsYXllci0ke2lkfS13YXJuaW5nYH0gaGVpZ2h0PVwiMTZweFwiIC8+XG4gICAgPFRvb2x0aXAgaWQ9e2BsYXllci0ke2lkfS13YXJuaW5nYH0gdHlwZT1cIndhcm5pbmdcIiBlZmZlY3Q9XCJzb2xpZFwiIHRleHRDb2xvcj1cImJsYWNrXCI+XG4gICAgICB7d2FybmluZ31cbiAgICA8L1Rvb2x0aXA+XG4gIDwvU3R5bGVkSGVhZGVyV2FyaW5nPlxuKTtcblxuY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICByZW1vdmU6IFRyYXNoLFxuICB2aXNpYmxlOiBFeWVTZWVuLFxuICBoaWRkZW46IEV5ZVVuc2VlbixcbiAgZW5hYmxlQ29uZmlnOiBBcnJvd0Rvd24sXG4gIGR1cGxpY2F0ZTogQ29weSxcbiAgcmVzZXRJc1ZhbGlkOiBSZXNldFxufTtcblxuTGF5ZXJQYW5lbEhlYWRlckZhY3RvcnkuZGVwcyA9IFtMYXllclRpdGxlU2VjdGlvbkZhY3RvcnksIExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeV07XG5cbmZ1bmN0aW9uIExheWVyUGFuZWxIZWFkZXJGYWN0b3J5KFxuICBMYXllclRpdGxlU2VjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJUaXRsZVNlY3Rpb25GYWN0b3J5PixcbiAgTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeT5cbikge1xuICBjb25zdCBMYXllclBhbmVsSGVhZGVyOiBSZWFjdC5GQzxMYXllclBhbmVsSGVhZGVyUHJvcHM+ID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGlzQ29uZmlnQWN0aXZlLFxuICAgICAgaXNEcmFnTkRyb3BFbmFibGVkLFxuICAgICAgaXNWYWxpZCxcbiAgICAgIHdhcm5pbmcsXG4gICAgICBsYWJlbCxcbiAgICAgIGxheWVySWQsXG4gICAgICBsYXllclR5cGUsXG4gICAgICBsYWJlbFJDR0NvbG9yVmFsdWVzLFxuICAgICAgb25VcGRhdGVMYXllckxhYmVsLFxuICAgICAgb25Ub2dnbGVFbmFibGVDb25maWcsXG4gICAgICBsaXN0ZW5lcnNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgW2lzRWRpdGluZ0xhYmVsLCBzZXRJc0VkaXRpbmdMYWJlbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRMYXllclBhbmVsSGVhZGVyXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXItcGFuZWxfX2hlYWRlcicsIHtcbiAgICAgICAgICAnc29ydC0taGFuZGxlJzogIWlzQ29uZmlnQWN0aXZlXG4gICAgICAgIH0pfVxuICAgICAgICBpc1ZhbGlkPXtpc1ZhbGlkfVxuICAgICAgICB3YXJuaW5nPXt3YXJuaW5nfVxuICAgICAgICBhY3RpdmU9e2lzQ29uZmlnQWN0aXZlfVxuICAgICAgICBsYWJlbFJDR0NvbG9yVmFsdWVzPXtsYWJlbFJDR0NvbG9yVmFsdWVzfVxuICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZUVuYWJsZUNvbmZpZ31cbiAgICAgID5cbiAgICAgICAge3dhcm5pbmcgPyA8SGVhZGVyV2FybmluZyB3YXJuaW5nPXt3YXJuaW5nfSBpZD17bGF5ZXJJZH0gLz4gOiBudWxsfVxuICAgICAgICA8SGVhZGVyTGFiZWxTZWN0aW9uIGNsYXNzTmFtZT1cImxheWVyLXBhbmVsX19oZWFkZXJfX2NvbnRlbnRcIj5cbiAgICAgICAgICB7aXNEcmFnTkRyb3BFbmFibGVkID8gKFxuICAgICAgICAgICAgPERyYWdIYW5kbGUgY2xhc3NOYW1lPVwibGF5ZXJfX2RyYWctaGFuZGxlXCIgbGlzdGVuZXJzPXtsaXN0ZW5lcnN9PlxuICAgICAgICAgICAgICA8VmVydERvdHMgaGVpZ2h0PVwiMjBweFwiIC8+XG4gICAgICAgICAgICA8L0RyYWdIYW5kbGU+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGF5ZXJfX2RyYWctaGFuZGxlX19wbGFjZWhvbGRlclwiIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8TGF5ZXJUaXRsZVNlY3Rpb25cbiAgICAgICAgICAgIGxheWVySWQ9e2xheWVySWR9XG4gICAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgICAgICBvblVwZGF0ZUxheWVyTGFiZWw9e29uVXBkYXRlTGF5ZXJMYWJlbH1cbiAgICAgICAgICAgIGxheWVyVHlwZT17bGF5ZXJUeXBlfVxuICAgICAgICAgICAgb25Gb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICBzZXRJc0VkaXRpbmdMYWJlbCh0cnVlKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbkJsdXI9eygpID0+IHtcbiAgICAgICAgICAgICAgc2V0SXNFZGl0aW5nTGFiZWwoZmFsc2UpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0hlYWRlckxhYmVsU2VjdGlvbj5cbiAgICAgICAgPExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uIHsuLi5wcm9wc30gaXNFZGl0aW5nTGFiZWw9e2lzRWRpdGluZ0xhYmVsfSAvPlxuICAgICAgPC9TdHlsZWRMYXllclBhbmVsSGVhZGVyPlxuICAgICk7XG4gIH07XG5cbiAgTGF5ZXJQYW5lbEhlYWRlci5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5cbiAgcmV0dXJuIExheWVyUGFuZWxIZWFkZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IExheWVyUGFuZWxIZWFkZXJGYWN0b3J5O1xuIl19
|
|
@@ -11,7 +11,6 @@ declare type LayerPanelProps = {
|
|
|
11
11
|
onTouchStart?: TouchEventHandler;
|
|
12
12
|
layer: Layer;
|
|
13
13
|
datasets: Datasets;
|
|
14
|
-
idx: number;
|
|
15
14
|
layerTypeOptions: {
|
|
16
15
|
id: string;
|
|
17
16
|
label: string;
|
|
@@ -19,15 +18,18 @@ declare type LayerPanelProps = {
|
|
|
19
18
|
requireData: any;
|
|
20
19
|
}[];
|
|
21
20
|
isDraggable?: boolean;
|
|
21
|
+
idx: number;
|
|
22
22
|
openModal: ActionHandler<typeof toggleModal>;
|
|
23
23
|
layerColorUIChange: ActionHandler<typeof VisStateActions.layerColorUIChange>;
|
|
24
24
|
layerConfigChange: ActionHandler<typeof VisStateActions.layerConfigChange>;
|
|
25
25
|
layerVisualChannelConfigChange: ActionHandler<typeof VisStateActions.layerVisualChannelConfigChange>;
|
|
26
|
+
layerSetIsValid: ActionHandler<typeof VisStateActions.layerSetIsValid>;
|
|
26
27
|
layerTypeChange: ActionHandler<typeof VisStateActions.layerTypeChange>;
|
|
27
28
|
layerVisConfigChange: ActionHandler<typeof VisStateActions.layerVisConfigChange>;
|
|
28
29
|
layerTextLabelChange: ActionHandler<typeof VisStateActions.layerTextLabelChange>;
|
|
29
30
|
removeLayer: ActionHandler<typeof VisStateActions.removeLayer>;
|
|
30
31
|
duplicateLayer: ActionHandler<typeof VisStateActions.duplicateLayer>;
|
|
32
|
+
listeners?: React.ElementType;
|
|
31
33
|
};
|
|
32
34
|
declare function LayerPanelFactory(LayerConfigurator: ReturnType<typeof LayerConfiguratorFactory>, LayerPanelHeader: ReturnType<typeof LayerPanelHeaderFactory>): React.ComponentType<LayerPanelProps>;
|
|
33
35
|
declare namespace LayerPanelFactory {
|
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
// Copyright (c) 2022 Uber Technologies, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
-
// in the Software without restriction, including without limitation the rights
|
|
6
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
-
// furnished to do so, subject to the following conditions:
|
|
9
|
-
//
|
|
10
|
-
// The above copyright notice and this permission notice shall be included in
|
|
11
|
-
// all copies or substantial portions of the Software.
|
|
12
|
-
//
|
|
13
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
-
// THE SOFTWARE.
|
|
20
|
-
|
|
21
1
|
"use strict";
|
|
22
2
|
|
|
23
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
@@ -53,13 +33,15 @@ var _layerConfigurator = _interopRequireDefault(require("./layer-configurator"))
|
|
|
53
33
|
|
|
54
34
|
var _layerPanelHeader = _interopRequireDefault(require("./layer-panel-header"));
|
|
55
35
|
|
|
36
|
+
var _constants = require("@kepler.gl/constants");
|
|
37
|
+
|
|
56
38
|
var _templateObject;
|
|
57
39
|
|
|
58
40
|
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); }; }
|
|
59
41
|
|
|
60
42
|
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; } }
|
|
61
43
|
|
|
62
|
-
var PanelWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n font-size: 12px;\n border-radius: 1px;\n
|
|
44
|
+
var PanelWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n font-size: 12px;\n border-radius: 1px;\n z-index: 1000;\n &.dragging {\n cursor: move;\n }\n"])));
|
|
63
45
|
|
|
64
46
|
LayerPanelFactory.deps = [_layerConfigurator["default"], _layerPanelHeader["default"]];
|
|
65
47
|
|
|
@@ -124,8 +106,13 @@ function LayerPanelFactory(LayerConfigurator, LayerPanelHeader) {
|
|
|
124
106
|
isVisible: isVisible
|
|
125
107
|
});
|
|
126
108
|
});
|
|
109
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_resetIsValid", function (e) {
|
|
110
|
+
e === null || e === void 0 ? void 0 : e.stopPropagation(); // Make the layer valid and visible again after an error
|
|
111
|
+
|
|
112
|
+
_this.props.layerSetIsValid(_this.props.layer, true);
|
|
113
|
+
});
|
|
127
114
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_toggleEnableConfig", function (e) {
|
|
128
|
-
e.stopPropagation();
|
|
115
|
+
e === null || e === void 0 ? void 0 : e.stopPropagation();
|
|
129
116
|
var isConfigActive = _this.props.layer.config.isConfigActive;
|
|
130
117
|
|
|
131
118
|
_this.updateLayerConfig({
|
|
@@ -133,14 +120,14 @@ function LayerPanelFactory(LayerConfigurator, LayerPanelHeader) {
|
|
|
133
120
|
});
|
|
134
121
|
});
|
|
135
122
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_removeLayer", function (e) {
|
|
136
|
-
e.stopPropagation();
|
|
123
|
+
e === null || e === void 0 ? void 0 : e.stopPropagation();
|
|
137
124
|
|
|
138
|
-
_this.props.removeLayer(_this.props.
|
|
125
|
+
_this.props.removeLayer(_this.props.layer.id);
|
|
139
126
|
});
|
|
140
127
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_duplicateLayer", function (e) {
|
|
141
|
-
e.stopPropagation();
|
|
128
|
+
e === null || e === void 0 ? void 0 : e.stopPropagation();
|
|
142
129
|
|
|
143
|
-
_this.props.duplicateLayer(_this.props.
|
|
130
|
+
_this.props.duplicateLayer(_this.props.layer.id);
|
|
144
131
|
});
|
|
145
132
|
return _this;
|
|
146
133
|
}
|
|
@@ -152,13 +139,16 @@ function LayerPanelFactory(LayerConfigurator, LayerPanelHeader) {
|
|
|
152
139
|
layer = _this$props3.layer,
|
|
153
140
|
datasets = _this$props3.datasets,
|
|
154
141
|
isDraggable = _this$props3.isDraggable,
|
|
155
|
-
layerTypeOptions = _this$props3.layerTypeOptions
|
|
156
|
-
|
|
142
|
+
layerTypeOptions = _this$props3.layerTypeOptions,
|
|
143
|
+
listeners = _this$props3.listeners;
|
|
144
|
+
var config = layer.config,
|
|
145
|
+
isValid = layer.isValid;
|
|
157
146
|
var isConfigActive = config.isConfigActive;
|
|
158
147
|
var allowDuplicate = typeof layer.isValidToSave === 'function' && layer.isValidToSave();
|
|
159
148
|
return /*#__PURE__*/_react["default"].createElement(PanelWrapper, {
|
|
160
149
|
active: isConfigActive,
|
|
161
150
|
className: "layer-panel ".concat(this.props.className),
|
|
151
|
+
"data-testid": _constants.dataTestIds.layerPanel,
|
|
162
152
|
style: this.props.style,
|
|
163
153
|
onMouseDown: this.props.onMouseDown,
|
|
164
154
|
onTouchStart: this.props.onTouchStart
|
|
@@ -166,16 +156,19 @@ function LayerPanelFactory(LayerConfigurator, LayerPanelHeader) {
|
|
|
166
156
|
isConfigActive: isConfigActive,
|
|
167
157
|
layerId: layer.id,
|
|
168
158
|
isVisible: config.isVisible,
|
|
159
|
+
isValid: isValid,
|
|
169
160
|
label: config.label,
|
|
170
161
|
labelRCGColorValues: config.dataId ? datasets[config.dataId].color : null,
|
|
171
162
|
layerType: layer.type,
|
|
172
163
|
allowDuplicate: allowDuplicate,
|
|
173
164
|
onToggleEnableConfig: this._toggleEnableConfig,
|
|
174
165
|
onToggleVisibility: this._toggleVisibility,
|
|
166
|
+
onResetIsValid: this._resetIsValid,
|
|
175
167
|
onUpdateLayerLabel: this._updateLayerLabel,
|
|
176
168
|
onRemoveLayer: this._removeLayer,
|
|
177
169
|
onDuplicateLayer: this._duplicateLayer,
|
|
178
|
-
isDragNDropEnabled: isDraggable
|
|
170
|
+
isDragNDropEnabled: isDraggable,
|
|
171
|
+
listeners: listeners
|
|
179
172
|
}), isConfigActive && /*#__PURE__*/_react["default"].createElement(LayerConfigurator, {
|
|
180
173
|
layer: layer,
|
|
181
174
|
datasets: datasets,
|
|
@@ -198,4 +191,4 @@ function LayerPanelFactory(LayerConfigurator, LayerPanelHeader) {
|
|
|
198
191
|
|
|
199
192
|
var _default = LayerPanelFactory;
|
|
200
193
|
exports["default"] = _default;
|
|
201
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLXBhbmVsLnRzeCJdLCJuYW1lcyI6WyJQYW5lbFdyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJMYXllclBhbmVsRmFjdG9yeSIsImRlcHMiLCJMYXllckNvbmZpZ3VyYXRvckZhY3RvcnkiLCJMYXllclBhbmVsSGVhZGVyRmFjdG9yeSIsIkxheWVyQ29uZmlndXJhdG9yIiwiTGF5ZXJQYW5lbEhlYWRlciIsIkxheWVyUGFuZWwiLCJuZXdQcm9wIiwicHJvcHMiLCJsYXllckNvbmZpZ0NoYW5nZSIsImxheWVyIiwibmV3VHlwZSIsImxheWVyVHlwZUNoYW5nZSIsIm5ld1Zpc0NvbmZpZyIsImxheWVyVmlzQ29uZmlnQ2hhbmdlIiwiYXJncyIsImxheWVyQ29sb3JVSUNoYW5nZSIsImxheWVyVGV4dExhYmVsQ2hhbmdlIiwibmV3Q29uZmlnIiwiY2hhbm5lbCIsImxheWVyVmlzdWFsQ2hhbm5lbENvbmZpZ0NoYW5nZSIsInZhbHVlIiwidGFyZ2V0IiwidXBkYXRlTGF5ZXJDb25maWciLCJsYWJlbCIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJpc1Zpc2libGUiLCJjb25maWciLCJpc0NvbmZpZ0FjdGl2ZSIsInJlbW92ZUxheWVyIiwiaWR4IiwiZHVwbGljYXRlTGF5ZXIiLCJkYXRhc2V0cyIsImlzRHJhZ2dhYmxlIiwibGF5ZXJUeXBlT3B0aW9ucyIsImFsbG93RHVwbGljYXRlIiwiaXNWYWxpZFRvU2F2ZSIsImNsYXNzTmFtZSIsInN0eWxlIiwib25Nb3VzZURvd24iLCJvblRvdWNoU3RhcnQiLCJpZCIsImRhdGFJZCIsImNvbG9yIiwidHlwZSIsIl90b2dnbGVFbmFibGVDb25maWciLCJfdG9nZ2xlVmlzaWJpbGl0eSIsIl91cGRhdGVMYXllckxhYmVsIiwiX3JlbW92ZUxheWVyIiwiX2R1cGxpY2F0ZUxheWVyIiwib3Blbk1vZGFsIiwidXBkYXRlTGF5ZXJDb2xvclVJIiwidXBkYXRlTGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnIiwidXBkYXRlTGF5ZXJUeXBlIiwidXBkYXRlTGF5ZXJUZXh0TGFiZWwiLCJ1cGRhdGVMYXllclZpc0NvbmZpZyIsIkNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQU9BOztBQUVBOztBQUNBOzs7Ozs7OztBQWtDQSxJQUFNQSxZQUFZLEdBQUdDLDZCQUFPQyxHQUFWLHNOQUFsQjs7QUFXQUMsaUJBQWlCLENBQUNDLElBQWxCLEdBQXlCLENBQUNDLDZCQUFELEVBQTJCQyw0QkFBM0IsQ0FBekI7O0FBRUEsU0FBU0gsaUJBQVQsQ0FDRUksaUJBREYsRUFFRUMsZ0JBRkYsRUFHd0M7QUFBQSxNQUNoQ0MsVUFEZ0M7QUFBQTs7QUFBQTs7QUFBQTtBQUFBOztBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBLDRHQUVoQixVQUFDQyxPQUFELEVBQXVDO0FBQ3pELGNBQUtDLEtBQUwsQ0FBV0MsaUJBQVgsQ0FBNkIsTUFBS0QsS0FBTCxDQUFXRSxLQUF4QyxFQUErQ0gsT0FBL0M7QUFDRCxPQUptQztBQUFBLDBHQU1sQixVQUFDSSxPQUFELEVBQXFCO0FBQ3JDLGNBQUtILEtBQUwsQ0FBV0ksZUFBWCxDQUEyQixNQUFLSixLQUFMLENBQVdFLEtBQXRDLEVBQTZDQyxPQUE3QztBQUNELE9BUm1DO0FBQUEsK0dBVWIsVUFBQ0UsWUFBRCxFQUEyQztBQUNoRSxjQUFLTCxLQUFMLENBQVdNLG9CQUFYLENBQWdDLE1BQUtOLEtBQUwsQ0FBV0UsS0FBM0MsRUFBa0RHLFlBQWxEO0FBQ0QsT0FabUM7QUFBQSw2R0FjZixZQUErQztBQUFBOztBQUFBLDJDQUEzQ0UsSUFBMkM7QUFBM0NBLFVBQUFBLElBQTJDO0FBQUE7O0FBQ2xFLDZCQUFLUCxLQUFMLEVBQVdRLGtCQUFYLHFCQUE4QixNQUFLUixLQUFMLENBQVdFLEtBQXpDLFNBQW1ESyxJQUFuRDtBQUNELE9BaEJtQztBQUFBLCtHQWtCYixZQUE0QztBQUFB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aG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7XG4gIENvbXBvbmVudCxcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIFRvdWNoRXZlbnRIYW5kbGVyLFxuICBDU1NQcm9wZXJ0aWVzLFxuICBDaGFuZ2VFdmVudEhhbmRsZXJcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCBMYXllckNvbmZpZ3VyYXRvckZhY3RvcnkgZnJvbSAnLi9sYXllci1jb25maWd1cmF0b3InO1xuaW1wb3J0IExheWVyUGFuZWxIZWFkZXJGYWN0b3J5IGZyb20gJy4vbGF5ZXItcGFuZWwtaGVhZGVyJztcbmltcG9ydCB7TmVzdGVkUGFydGlhbCwgTGF5ZXJWaXNDb25maWcsIENvbG9yVUl9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtMYXllciwgTGF5ZXJCYXNlQ29uZmlnfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge3RvZ2dsZU1vZGFsLCBWaXNTdGF0ZUFjdGlvbnMsIEFjdGlvbkhhbmRsZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge0RhdGFzZXRzfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcblxudHlwZSBMYXllclBhbmVsUHJvcHMgPSB7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzO1xuICBvbk1vdXNlRG93bj86IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblRvdWNoU3RhcnQ/OiBUb3VjaEV2ZW50SGFuZGxlcjtcbiAgbGF5ZXI6IExheWVyO1xuICBkYXRhc2V0czogRGF0YXNldHM7XG4gIGlkeDogbnVtYmVyO1xuICBsYXllclR5cGVPcHRpb25zOiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGljb246IGFueTsgLy9cbiAgICByZXF1aXJlRGF0YTogYW55OyAvL1xuICB9W107XG4gIGlzRHJhZ2dhYmxlPzogYm9vbGVhbjtcbiAgb3Blbk1vZGFsOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiB0b2dnbGVNb2RhbD47XG4gIGxheWVyQ29sb3JVSUNoYW5nZTogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLmxheWVyQ29sb3JVSUNoYW5nZT47XG4gIGxheWVyQ29uZmlnQ2hhbmdlOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMubGF5ZXJDb25maWdDaGFuZ2U+O1xuICBsYXllclZpc3VhbENoYW5uZWxDb25maWdDaGFuZ2U6IEFjdGlvbkhhbmRsZXI8XG4gICAgdHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5sYXllclZpc3VhbENoYW5uZWxDb25maWdDaGFuZ2VcbiAgPjtcbiAgbGF5ZXJUeXBlQ2hhbmdlOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMubGF5ZXJUeXBlQ2hhbmdlPjtcbiAgbGF5ZXJWaXNDb25maWdDaGFuZ2U6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5sYXllclZpc0NvbmZpZ0NoYW5nZT47XG4gIGxheWVyVGV4dExhYmVsQ2hhbmdlOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMubGF5ZXJUZXh0TGFiZWxDaGFuZ2U+O1xuICByZW1vdmVMYXllcjogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnJlbW92ZUxheWVyPjtcbiAgZHVwbGljYXRlTGF5ZXI6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5kdXBsaWNhdGVMYXllcj47XG59O1xuXG5jb25zdCBQYW5lbFdyYXBwZXIgPSBzdHlsZWQuZGl2PHthY3RpdmU6IGJvb2xlYW59PmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgei1pbmRleDogMTAwMDtcblxuICAmLmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gIH1cbmA7XG5cbkxheWVyUGFuZWxGYWN0b3J5LmRlcHMgPSBbTGF5ZXJDb25maWd1cmF0b3JGYWN0b3J5LCBMYXllclBhbmVsSGVhZGVyRmFjdG9yeV07XG5cbmZ1bmN0aW9uIExheWVyUGFuZWxGYWN0b3J5KFxuICBMYXllckNvbmZpZ3VyYXRvcjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJDb25maWd1cmF0b3JGYWN0b3J5PixcbiAgTGF5ZXJQYW5lbEhlYWRlcjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJQYW5lbEhlYWRlckZhY3Rvcnk+XG4pOiBSZWFjdC5Db21wb25lbnRUeXBlPExheWVyUGFuZWxQcm9wcz4ge1xuICBjbGFzcyBMYXllclBhbmVsIGV4dGVuZHMgQ29tcG9uZW50PExheWVyUGFuZWxQcm9wcz4ge1xuICAgIHVwZGF0ZUxheWVyQ29uZmlnID0gKG5ld1Byb3A6IFBhcnRpYWw8TGF5ZXJCYXNlQ29uZmlnPikgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5sYXllckNvbmZpZ0NoYW5nZSh0aGlzLnByb3BzLmxheWVyLCBuZXdQcm9wKTtcbiAgICB9O1xuXG4gICAgdXBkYXRlTGF5ZXJUeXBlID0gKG5ld1R5cGU6IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5sYXllclR5cGVDaGFuZ2UodGhpcy5wcm9wcy5sYXllciwgbmV3VHlwZSk7XG4gICAgfTtcblxuICAgIHVwZGF0ZUxheWVyVmlzQ29uZmlnID0gKG5ld1Zpc0NvbmZpZzogUGFydGlhbDxMYXllclZpc0NvbmZpZz4pID0+IHtcbiAgICAgIHRoaXMucHJvcHMubGF5ZXJWaXNDb25maWdDaGFuZ2UodGhpcy5wcm9wcy5sYXllciwgbmV3VmlzQ29uZmlnKTtcbiAgICB9O1xuXG4gICAgdXBkYXRlTGF5ZXJDb2xvclVJID0gKC4uLmFyZ3M6IFtzdHJpbmcsIE5lc3RlZFBhcnRpYWw8Q29sb3JVST5dKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLmxheWVyQ29sb3JVSUNoYW5nZSh0aGlzLnByb3BzLmxheWVyLCAuLi5hcmdzKTtcbiAgICB9O1xuXG4gICAgdXBkYXRlTGF5ZXJUZXh0TGFiZWwgPSAoLi4uYXJnczogW251bWJlciB8ICdhbGwnLCBzdHJpbmcsIGFueV0pID0+IHtcbiAgICAgIHRoaXMucHJvcHMubGF5ZXJUZXh0TGFiZWxDaGFuZ2UodGhpcy5wcm9wcy5sYXllciwgLi4uYXJncyk7XG4gICAgfTtcblxuICAgIHVwZGF0ZUxheWVyVmlzdWFsQ2hhbm5lbENvbmZpZyA9IChuZXdDb25maWc6IFBhcnRpYWw8TGF5ZXJCYXNlQ29uZmlnPiwgY2hhbm5lbDogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLmxheWVyVmlzdWFsQ2hhbm5lbENvbmZpZ0NoYW5nZSh0aGlzLnByb3BzLmxheWVyLCBuZXdDb25maWcsIGNoYW5uZWwpO1xuICAgIH07XG5cbiAgICBfdXBkYXRlTGF5ZXJMYWJlbDogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gKHt0YXJnZXQ6IHt2YWx1ZX19KSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZUxheWVyQ29uZmlnKHtsYWJlbDogdmFsdWV9KTtcbiAgICB9O1xuXG4gICAgX3RvZ2dsZVZpc2liaWxpdHk6IE1vdXNlRXZlbnRIYW5kbGVyID0gZSA9PiB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgY29uc3QgaXNWaXNpYmxlID0gIXRoaXMucHJvcHMubGF5ZXIuY29uZmlnLmlzVmlzaWJsZTtcbiAgICAgIHRoaXMudXBkYXRlTGF5ZXJDb25maWcoe2lzVmlzaWJsZX0pO1xuICAgIH07XG5cbiAgICBfdG9nZ2xlRW5hYmxlQ29uZmlnOiBNb3VzZUV2ZW50SGFuZGxlciA9IGUgPT4ge1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgbGF5ZXI6IHtcbiAgICAgICAgICBjb25maWc6IHtpc0NvbmZpZ0FjdGl2ZX1cbiAgICAgICAgfVxuICAgICAgfSA9IHRoaXMucHJvcHM7XG4gICAgICB0aGlzLnVwZGF0ZUxheWVyQ29uZmlnKHtpc0NvbmZpZ0FjdGl2ZTogIWlzQ29uZmlnQWN0aXZlfSk7XG4gICAgfTtcblxuICAgIF9yZW1vdmVMYXllcjogTW91c2VFdmVudEhhbmRsZXIgPSBlID0+IHtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLnByb3BzLnJlbW92ZUxheWVyKHRoaXMucHJvcHMuaWR4KTtcbiAgICB9O1xuXG4gICAgX2R1cGxpY2F0ZUxheWVyOiBNb3VzZUV2ZW50SGFuZGxlciA9IGUgPT4ge1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMucHJvcHMuZHVwbGljYXRlTGF5ZXIodGhpcy5wcm9wcy5pZHgpO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7bGF5ZXIsIGRhdGFzZXRzLCBpc0RyYWdnYWJsZSwgbGF5ZXJUeXBlT3B0aW9uc30gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qge2NvbmZpZ30gPSBsYXllcjtcbiAgICAgIGNvbnN0IHtpc0NvbmZpZ0FjdGl2ZX0gPSBjb25maWc7XG4gICAgICBjb25zdCBhbGxvd0R1cGxpY2F0ZSA9IHR5cGVvZiBsYXllci5pc1ZhbGlkVG9TYXZlID09PSAnZnVuY3Rpb24nICYmIGxheWVyLmlzVmFsaWRUb1NhdmUoKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFBhbmVsV3JhcHBlclxuICAgICAgICAgIGFjdGl2ZT17aXNDb25maWdBY3RpdmV9XG4gICAgICAgICAgY2xhc3NOYW1lPXtgbGF5ZXItcGFuZWwgJHt0aGlzLnByb3BzLmNsYXNzTmFtZX1gfVxuICAgICAgICAgIHN0eWxlPXt0aGlzLnByb3BzLnN0eWxlfVxuICAgICAgICAgIG9uTW91c2VEb3duPXt0aGlzLnByb3BzLm9uTW91c2VEb3dufVxuICAgICAgICAgIG9uVG91Y2hTdGFydD17dGhpcy5wcm9wcy5vblRvdWNoU3RhcnR9XG4gICAgICAgID5cbiAgICAgICAgICA8TGF5ZXJQYW5lbEhlYWRlclxuICAgICAgICAgICAgaXNDb25maWdBY3RpdmU9e2lzQ29uZmlnQWN0aXZlfVxuICAgICAgICAgICAgbGF5ZXJJZD17bGF5ZXIuaWR9XG4gICAgICAgICAgICBpc1Zpc2libGU9e2NvbmZpZy5pc1Zpc2libGV9XG4gICAgICAgICAgICBsYWJlbD17Y29uZmlnLmxhYmVsfVxuICAgICAgICAgICAgbGFiZWxSQ0dDb2xvclZhbHVlcz17Y29uZmlnLmRhdGFJZCA/IGRhdGFzZXRzW2NvbmZpZy5kYXRhSWRdLmNvbG9yIDogbnVsbH1cbiAgICAgICAgICAgIGxheWVyVHlwZT17bGF5ZXIudHlwZX1cbiAgICAgICAgICAgIGFsbG93RHVwbGljYXRlPXthbGxvd0R1cGxpY2F0ZX1cbiAgICAgICAgICAgIG9uVG9nZ2xlRW5hYmxlQ29uZmlnPXt0aGlzLl90b2dnbGVFbmFibGVDb25maWd9XG4gICAgICAgICAgICBvblRvZ2dsZVZpc2liaWxpdHk9e3RoaXMuX3RvZ2dsZVZpc2liaWxpdHl9XG4gICAgICAgICAgICBvblVwZGF0ZUxheWVyTGFiZWw9e3RoaXMuX3VwZGF0ZUxheWVyTGFiZWx9XG4gICAgICAgICAgICBvblJlbW92ZUxheWVyPXt0aGlzLl9yZW1vdmVMYXllcn1cbiAgICAgICAgICAgIG9uRHVwbGljYXRlTGF5ZXI9e3RoaXMuX2R1cGxpY2F0ZUxheWVyfVxuICAgICAgICAgICAgaXNEcmFnTkRyb3BFbmFibGVkPXtpc0RyYWdnYWJsZX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtpc0NvbmZpZ0FjdGl2ZSAmJiAoXG4gICAgICAgICAgICA8TGF5ZXJDb25maWd1cmF0b3JcbiAgICAgICAgICAgICAgbGF5ZXI9e2xheWVyfVxuICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgIGxheWVyVHlwZU9wdGlvbnM9e2xheWVyVHlwZU9wdGlvbnN9XG4gICAgICAgICAgICAgIG9wZW5Nb2RhbD17dGhpcy5wcm9wcy5vcGVuTW9kYWx9XG4gICAgICAgICAgICAgIHVwZGF0ZUxheWVyQ29sb3JVST17dGhpcy51cGRhdGVMYXllckNvbG9yVUl9XG4gICAgICAgICAgICAgIHVwZGF0ZUxheWVyQ29uZmlnPXt0aGlzLnVwZGF0ZUxheWVyQ29uZmlnfVxuICAgICAgICAgICAgICB1cGRhdGVMYXllclZpc3VhbENoYW5uZWxDb25maWc9e3RoaXMudXBkYXRlTGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnfVxuICAgICAgICAgICAgICB1cGRhdGVMYXllclR5cGU9e3RoaXMudXBkYXRlTGF5ZXJUeXBlfVxuICAgICAgICAgICAgICB1cGRhdGVMYXllclRleHRMYWJlbD17dGhpcy51cGRhdGVMYXllclRleHRMYWJlbH1cbiAgICAgICAgICAgICAgdXBkYXRlTGF5ZXJWaXNDb25maWc9e3RoaXMudXBkYXRlTGF5ZXJWaXNDb25maWd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvUGFuZWxXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gTGF5ZXJQYW5lbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJQYW5lbEZhY3Rvcnk7XG4iXX0=
|
|
194
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLXBhbmVsLnRzeCJdLCJuYW1lcyI6WyJQYW5lbFdyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJMYXllclBhbmVsRmFjdG9yeSIsImRlcHMiLCJMYXllckNvbmZpZ3VyYXRvckZhY3RvcnkiLCJMYXllclBhbmVsSGVhZGVyRmFjdG9yeSIsIkxheWVyQ29uZmlndXJhdG9yIiwiTGF5ZXJQYW5lbEhlYWRlciIsIkxheWVyUGFuZWwiLCJuZXdQcm9wIiwicHJvcHMiLCJsYXllckNvbmZpZ0NoYW5nZSIsImxheWVyIiwibmV3VHlwZSIsImxheWVyVHlwZUNoYW5nZSIsIm5ld1Zpc0NvbmZpZyIsImxheWVyVmlzQ29uZmlnQ2hhbmdlIiwiYXJncyIsImxheWVyQ29sb3JVSUNoYW5nZSIsImxheWVyVGV4dExhYmVsQ2hhbmdlIiwibmV3Q29uZmlnIiwiY2hhbm5lbCIsImxheWVyVmlzdWFsQ2hhbm5lbENvbmZpZ0NoYW5nZSIsInZhbHVlIiwidGFyZ2V0IiwidXBkYXRlTGF5ZXJDb25maWciLCJsYWJlbCIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJpc1Zpc2libGUiLCJjb25maWciLCJsYXllclNldElzVmFsaWQiLCJpc0NvbmZpZ0FjdGl2ZSIsInJlbW92ZUxheWVyIiwiaWQiLCJkdXBsaWNhdGVMYXllciIsImRhdGFzZXRzIiwiaXNEcmFnZ2FibGUiLCJsYXllclR5cGVPcHRpb25zIiwibGlzdGVuZXJzIiwiaXNWYWxpZCIsImFsbG93RHVwbGljYXRlIiwiaXNWYWxpZFRvU2F2ZSIsImNsYXNzTmFtZSIsImRhdGFUZXN0SWRzIiwibGF5ZXJQYW5lbCIsInN0eWxlIiwib25Nb3VzZURvd24iLCJvblRvdWNoU3RhcnQiLCJkYXRhSWQiLCJjb2xvciIsInR5cGUiLCJfdG9nZ2xlRW5hYmxlQ29uZmlnIiwiX3RvZ2dsZVZpc2liaWxpdHkiLCJfcmVzZXRJc1ZhbGlkIiwiX3VwZGF0ZUxheWVyTGFiZWwiLCJfcmVtb3ZlTGF5ZXIiLCJfZHVwbGljYXRlTGF5ZXIiLCJvcGVuTW9kYWwiLCJ1cGRhdGVMYXllckNvbG9yVUkiLCJ1cGRhdGVMYXllclZpc3VhbENoYW5uZWxDb25maWciLCJ1cGRhdGVMYXllclR5cGUiLCJ1cGRhdGVMYXllclRleHRMYWJlbCIsInVwZGF0ZUxheWVyVmlzQ29uZmlnIiwiQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFPQTs7QUFFQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFvQ0EsSUFBTUEsWUFBWSxHQUFHQyw2QkFBT0MsR0FBViw2TEFBbEI7O0FBU0FDLGlCQUFpQixDQUFDQyxJQUFsQixHQUF5QixDQUFDQyw2QkFBRCxFQUEyQkMsNEJBQTNCLENBQXpCOztBQUVBLFNBQVNILGlCQUFULENBQ0VJLGlCQURGLEVBRUVDLGdCQUZGLEVBR3dDO0FBQUEsTUFDaENDLFVBRGdDO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSw0R0FFaEIsVUFBQ0MsT0FBRCxFQUF1QztBQUN6RCxjQUFLQyxLQUFMLENBQVdDLGlCQUFYLENBQTZCLE1BQUtELEtBQUwsQ0FBV0UsS0FBeEMsRUFBK0NILE9BQS9DO0FBQ0QsT0FKbUM7QUFBQSwwR0FNbEIsVUFBQ0ksT0FBRCxFQUFxQjtBQUNyQyxjQUFLSCxLQUFMLENBQVdJLGVBQVgsQ0FBMkIsTUFBS0osS0FBTCxDQUFXRSxLQUF0QyxFQUE2Q0MsT0FBN0M7QUFDRCxPQVJtQztBQUFBLCtHQVViLFVBQUNFLFlBQUQsRUFBMkM7QUFDaEUsY0FBS0wsS0FBTCxDQUFXTSxvQkFBWCxDQUFnQyxNQUFLTixLQUFMLENBQVdFLEtBQTNDLEVBQWtERyxZQUFsRDtBQUNELE9BWm1DO0FBQUEsNkdBY2YsWUFBK0M7QUFBQTs7QUFBQSwyQ0FBM0NFLElBQTJDO0FBQTNDQSxVQUFBQSxJQUEyQztBQUFBOztBQUNsRSw2QkFBS1AsS0FBTCxFQUFXUSxr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QUFFLEtBQUtDLGVBZHpCO0FBZUUsVUFBQSxrQkFBa0IsRUFBRXBCLFdBZnRCO0FBZ0JFLFVBQUEsU0FBUyxFQUFFRTtBQWhCYixVQVJGLEVBMEJHUCxjQUFjLGlCQUNiLGdDQUFDLGlCQUFEO0FBQ0UsVUFBQSxLQUFLLEVBQUVwQixLQURUO0FBRUUsVUFBQSxRQUFRLEVBQUV3QixRQUZaO0FBR0UsVUFBQSxnQkFBZ0IsRUFBRUUsZ0JBSHBCO0FBSUUsVUFBQSxTQUFTLEVBQUUsS0FBSzVCLEtBQUwsQ0FBV2dELFNBSnhCO0FBS0UsVUFBQSxrQkFBa0IsRUFBRSxLQUFLQyxrQkFMM0I7QUFNRSxVQUFBLGlCQUFpQixFQUFFLEtBQUtsQyxpQkFOMUI7QUFPRSxVQUFBLDhCQUE4QixFQUFFLEtBQUttQyw4QkFQdkM7QUFRRSxVQUFBLGVBQWUsRUFBRSxLQUFLQyxlQVJ4QjtBQVNFLFVBQUEsb0JBQW9CLEVBQUUsS0FBS0Msb0JBVDdCO0FBVUUsVUFBQSxvQkFBb0IsRUFBRSxLQUFLQztBQVY3QixVQTNCSixDQURGO0FBMkNEO0FBL0dtQztBQUFBO0FBQUEsSUFDYkMsZ0JBRGE7O0FBa0h0QyxTQUFPeEQsVUFBUDtBQUNEOztlQUVjTixpQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge1xuICBDb21wb25lbnQsXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICBUb3VjaEV2ZW50SGFuZGxlcixcbiAgQ1NTUHJvcGVydGllcyxcbiAgQ2hhbmdlRXZlbnRIYW5kbGVyXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgTGF5ZXJDb25maWd1cmF0b3JGYWN0b3J5IGZyb20gJy4vbGF5ZXItY29uZmlndXJhdG9yJztcbmltcG9ydCBMYXllclBhbmVsSGVhZGVyRmFjdG9yeSBmcm9tICcuL2xheWVyLXBhbmVsLWhlYWRlcic7XG5pbXBvcnQge2RhdGFUZXN0SWRzfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge05lc3RlZFBhcnRpYWwsIExheWVyVmlzQ29uZmlnLCBDb2xvclVJfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7TGF5ZXIsIExheWVyQmFzZUNvbmZpZ30gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuaW1wb3J0IHt0b2dnbGVNb2RhbCwgVmlzU3RhdGVBY3Rpb25zLCBBY3Rpb25IYW5kbGVyfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtEYXRhc2V0c30gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5cbnR5cGUgTGF5ZXJQYW5lbFByb3BzID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHN0eWxlPzogQ1NTUHJvcGVydGllcztcbiAgb25Nb3VzZURvd24/OiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgb25Ub3VjaFN0YXJ0PzogVG91Y2hFdmVudEhhbmRsZXI7XG4gIGxheWVyOiBMYXllcjtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBsYXllclR5cGVPcHRpb25zOiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGljb246IGFueTsgLy9cbiAgICByZXF1aXJlRGF0YTogYW55OyAvL1xuICB9W107XG4gIGlzRHJhZ2dhYmxlPzogYm9vbGVhbjtcbiAgaWR4OiBudW1iZXI7XG4gIG9wZW5Nb2RhbDogQWN0aW9uSGFuZGxlcjx0eXBlb2YgdG9nZ2xlTW9kYWw+O1xuICBsYXllckNvbG9yVUlDaGFuZ2U6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5sYXllckNvbG9yVUlDaGFuZ2U+O1xuICBsYXllckNvbmZpZ0NoYW5nZTogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLmxheWVyQ29uZmlnQ2hhbmdlPjtcbiAgbGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnQ2hhbmdlOiBBY3Rpb25IYW5kbGVyPFxuICAgIHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMubGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnQ2hhbmdlXG4gID47XG4gIGxheWVyU2V0SXNWYWxpZDogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLmxheWVyU2V0SXNWYWxpZD47XG4gIGxheWVyVHlwZUNoYW5nZTogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLmxheWVyVHlwZUNoYW5nZT47XG4gIGxheWVyVmlzQ29uZmlnQ2hhbmdlOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMubGF5ZXJWaXNDb25maWdDaGFuZ2U+O1xuICBsYXllclRleHRMYWJlbENoYW5nZTogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLmxheWVyVGV4dExhYmVsQ2hhbmdlPjtcbiAgcmVtb3ZlTGF5ZXI6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5yZW1vdmVMYXllcj47XG4gIGR1cGxpY2F0ZUxheWVyOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMuZHVwbGljYXRlTGF5ZXI+O1xuICBsaXN0ZW5lcnM/OiBSZWFjdC5FbGVtZW50VHlwZTtcbn07XG5cbmNvbnN0IFBhbmVsV3JhcHBlciA9IHN0eWxlZC5kaXY8e2FjdGl2ZTogYm9vbGVhbn0+YFxuICBmb250LXNpemU6IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgei1pbmRleDogMTAwMDtcbiAgJi5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICB9XG5gO1xuXG5MYXllclBhbmVsRmFjdG9yeS5kZXBzID0gW0xheWVyQ29uZmlndXJhdG9yRmFjdG9yeSwgTGF5ZXJQYW5lbEhlYWRlckZhY3RvcnldO1xuXG5mdW5jdGlvbiBMYXllclBhbmVsRmFjdG9yeShcbiAgTGF5ZXJDb25maWd1cmF0b3I6IFJldHVyblR5cGU8dHlwZW9mIExheWVyQ29uZmlndXJhdG9yRmFjdG9yeT4sXG4gIExheWVyUGFuZWxIZWFkZXI6IFJldHVyblR5cGU8dHlwZW9mIExheWVyUGFuZWxIZWFkZXJGYWN0b3J5PlxuKTogUmVhY3QuQ29tcG9uZW50VHlwZTxMYXllclBhbmVsUHJvcHM+IHtcbiAgY2xhc3MgTGF5ZXJQYW5lbCBleHRlbmRzIENvbXBvbmVudDxMYXllclBhbmVsUHJvcHM+IHtcbiAgICB1cGRhdGVMYXllckNvbmZpZyA9IChuZXdQcm9wOiBQYXJ0aWFsPExheWVyQmFzZUNvbmZpZz4pID0+IHtcbiAgICAgIHRoaXMucHJvcHMubGF5ZXJDb25maWdDaGFuZ2UodGhpcy5wcm9wcy5sYXllciwgbmV3UHJvcCk7XG4gICAgfTtcblxuICAgIHVwZGF0ZUxheWVyVHlwZSA9IChuZXdUeXBlOiBzdHJpbmcpID0+IHtcbiAgICAgIHRoaXMucHJvcHMubGF5ZXJUeXBlQ2hhbmdlKHRoaXMucHJvcHMubGF5ZXIsIG5ld1R5cGUpO1xuICAgIH07XG5cbiAgICB1cGRhdGVMYXllclZpc0NvbmZpZyA9IChuZXdWaXNDb25maWc6IFBhcnRpYWw8TGF5ZXJWaXNDb25maWc+KSA9PiB7XG4gICAgICB0aGlzLnByb3BzLmxheWVyVmlzQ29uZmlnQ2hhbmdlKHRoaXMucHJvcHMubGF5ZXIsIG5ld1Zpc0NvbmZpZyk7XG4gICAgfTtcblxuICAgIHVwZGF0ZUxheWVyQ29sb3JVSSA9ICguLi5hcmdzOiBbc3RyaW5nLCBOZXN0ZWRQYXJ0aWFsPENvbG9yVUk+XSkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5sYXllckNvbG9yVUlDaGFuZ2UodGhpcy5wcm9wcy5sYXllciwgLi4uYXJncyk7XG4gICAgfTtcblxuICAgIHVwZGF0ZUxheWVyVGV4dExhYmVsID0gKC4uLmFyZ3M6IFtudW1iZXIgfCAnYWxsJywgc3RyaW5nLCBhbnldKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLmxheWVyVGV4dExhYmVsQ2hhbmdlKHRoaXMucHJvcHMubGF5ZXIsIC4uLmFyZ3MpO1xuICAgIH07XG5cbiAgICB1cGRhdGVMYXllclZpc3VhbENoYW5uZWxDb25maWcgPSAobmV3Q29uZmlnOiBQYXJ0aWFsPExheWVyQmFzZUNvbmZpZz4sIGNoYW5uZWw6IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5sYXllclZpc3VhbENoYW5uZWxDb25maWdDaGFuZ2UodGhpcy5wcm9wcy5sYXllciwgbmV3Q29uZmlnLCBjaGFubmVsKTtcbiAgICB9O1xuXG4gICAgX3VwZGF0ZUxheWVyTGFiZWw6IENoYW5nZUV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9ICh7dGFyZ2V0OiB7dmFsdWV9fSkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVMYXllckNvbmZpZyh7bGFiZWw6IHZhbHVlfSk7XG4gICAgfTtcblxuICAgIF90b2dnbGVWaXNpYmlsaXR5OiBNb3VzZUV2ZW50SGFuZGxlciA9IGUgPT4ge1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGNvbnN0IGlzVmlzaWJsZSA9ICF0aGlzLnByb3BzLmxheWVyLmNvbmZpZy5pc1Zpc2libGU7XG4gICAgICB0aGlzLnVwZGF0ZUxheWVyQ29uZmlnKHtpc1Zpc2libGV9KTtcbiAgICB9O1xuXG4gICAgX3Jlc2V0SXNWYWxpZDogTW91c2VFdmVudEhhbmRsZXIgPSBlID0+IHtcbiAgICAgIGU/LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgLy8gTWFrZSB0aGUgbGF5ZXIgdmFsaWQgYW5kIHZpc2libGUgYWdhaW4gYWZ0ZXIgYW4gZXJyb3JcbiAgICAgIHRoaXMucHJvcHMubGF5ZXJTZXRJc1ZhbGlkKHRoaXMucHJvcHMubGF5ZXIsIHRydWUpO1xuICAgIH07XG5cbiAgICBfdG9nZ2xlRW5hYmxlQ29uZmlnOiBNb3VzZUV2ZW50SGFuZGxlciA9IGUgPT4ge1xuICAgICAgZT8uc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGxheWVyOiB7XG4gICAgICAgICAgY29uZmlnOiB7aXNDb25maWdBY3RpdmV9XG4gICAgICAgIH1cbiAgICAgIH0gPSB0aGlzLnByb3BzO1xuICAgICAgdGhpcy51cGRhdGVMYXllckNvbmZpZyh7aXNDb25maWdBY3RpdmU6ICFpc0NvbmZpZ0FjdGl2ZX0pO1xuICAgIH07XG5cbiAgICBfcmVtb3ZlTGF5ZXI6IE1vdXNlRXZlbnRIYW5kbGVyID0gZSA9PiB7XG4gICAgICBlPy5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMucHJvcHMucmVtb3ZlTGF5ZXIodGhpcy5wcm9wcy5sYXllci5pZCk7XG4gICAgfTtcblxuICAgIF9kdXBsaWNhdGVMYXllcjogTW91c2VFdmVudEhhbmRsZXIgPSBlID0+IHtcbiAgICAgIGU/LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5wcm9wcy5kdXBsaWNhdGVMYXllcih0aGlzLnByb3BzLmxheWVyLmlkKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge2xheWVyLCBkYXRhc2V0cywgaXNEcmFnZ2FibGUsIGxheWVyVHlwZU9wdGlvbnMsIGxpc3RlbmVyc30gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qge2NvbmZpZywgaXNWYWxpZH0gPSBsYXllcjtcbiAgICAgIGNvbnN0IHtpc0NvbmZpZ0FjdGl2ZX0gPSBjb25maWc7XG4gICAgICBjb25zdCBhbGxvd0R1cGxpY2F0ZSA9IHR5cGVvZiBsYXllci5pc1ZhbGlkVG9TYXZlID09PSAnZnVuY3Rpb24nICYmIGxheWVyLmlzVmFsaWRUb1NhdmUoKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFBhbmVsV3JhcHBlclxuICAgICAgICAgIGFjdGl2ZT17aXNDb25maWdBY3RpdmV9XG4gICAgICAgICAgY2xhc3NOYW1lPXtgbGF5ZXItcGFuZWwgJHt0aGlzLnByb3BzLmNsYXNzTmFtZX1gfVxuICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkcy5sYXllclBhbmVsfVxuICAgICAgICAgIHN0eWxlPXt0aGlzLnByb3BzLnN0eWxlfVxuICAgICAgICAgIG9uTW91c2VEb3duPXt0aGlzLnByb3BzLm9uTW91c2VEb3dufVxuICAgICAgICAgIG9uVG91Y2hTdGFydD17dGhpcy5wcm9wcy5vblRvdWNoU3RhcnR9XG4gICAgICAgID5cbiAgICAgICAgICA8TGF5ZXJQYW5lbEhlYWRlclxuICAgICAgICAgICAgaXNDb25maWdBY3RpdmU9e2lzQ29uZmlnQWN0aXZlfVxuICAgICAgICAgICAgbGF5ZXJJZD17bGF5ZXIuaWR9XG4gICAgICAgICAgICBpc1Zpc2libGU9e2NvbmZpZy5pc1Zpc2libGV9XG4gICAgICAgICAgICBpc1ZhbGlkPXtpc1ZhbGlkfVxuICAgICAgICAgICAgbGFiZWw9e2NvbmZpZy5sYWJlbH1cbiAgICAgICAgICAgIGxhYmVsUkNHQ29sb3JWYWx1ZXM9e2NvbmZpZy5kYXRhSWQgPyBkYXRhc2V0c1tjb25maWcuZGF0YUlkXS5jb2xvciA6IG51bGx9XG4gICAgICAgICAgICBsYXllclR5cGU9e2xheWVyLnR5cGV9XG4gICAgICAgICAgICBhbGxvd0R1cGxpY2F0ZT17YWxsb3dEdXBsaWNhdGV9XG4gICAgICAgICAgICBvblRvZ2dsZUVuYWJsZUNvbmZpZz17dGhpcy5fdG9nZ2xlRW5hYmxlQ29uZmlnfVxuICAgICAgICAgICAgb25Ub2dnbGVWaXNpYmlsaXR5PXt0aGlzLl90b2dnbGVWaXNpYmlsaXR5fVxuICAgICAgICAgICAgb25SZXNldElzVmFsaWQ9e3RoaXMuX3Jlc2V0SXNWYWxpZH1cbiAgICAgICAgICAgIG9uVXBkYXRlTGF5ZXJMYWJlbD17dGhpcy5fdXBkYXRlTGF5ZXJMYWJlbH1cbiAgICAgICAgICAgIG9uUmVtb3ZlTGF5ZXI9e3RoaXMuX3JlbW92ZUxheWVyfVxuICAgICAgICAgICAgb25EdXBsaWNhdGVMYXllcj17dGhpcy5fZHVwbGljYXRlTGF5ZXJ9XG4gICAgICAgICAgICBpc0RyYWdORHJvcEVuYWJsZWQ9e2lzRHJhZ2dhYmxlfVxuICAgICAgICAgICAgbGlzdGVuZXJzPXtsaXN0ZW5lcnN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7aXNDb25maWdBY3RpdmUgJiYgKFxuICAgICAgICAgICAgPExheWVyQ29uZmlndXJhdG9yXG4gICAgICAgICAgICAgIGxheWVyPXtsYXllcn1cbiAgICAgICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRzfVxuICAgICAgICAgICAgICBsYXllclR5cGVPcHRpb25zPXtsYXllclR5cGVPcHRpb25zfVxuICAgICAgICAgICAgICBvcGVuTW9kYWw9e3RoaXMucHJvcHMub3Blbk1vZGFsfVxuICAgICAgICAgICAgICB1cGRhdGVMYXllckNvbG9yVUk9e3RoaXMudXBkYXRlTGF5ZXJDb2xvclVJfVxuICAgICAgICAgICAgICB1cGRhdGVMYXllckNvbmZpZz17dGhpcy51cGRhdGVMYXllckNvbmZpZ31cbiAgICAgICAgICAgICAgdXBkYXRlTGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnPXt0aGlzLnVwZGF0ZUxheWVyVmlzdWFsQ2hhbm5lbENvbmZpZ31cbiAgICAgICAgICAgICAgdXBkYXRlTGF5ZXJUeXBlPXt0aGlzLnVwZGF0ZUxheWVyVHlwZX1cbiAgICAgICAgICAgICAgdXBkYXRlTGF5ZXJUZXh0TGFiZWw9e3RoaXMudXBkYXRlTGF5ZXJUZXh0TGFiZWx9XG4gICAgICAgICAgICAgIHVwZGF0ZUxheWVyVmlzQ29uZmlnPXt0aGlzLnVwZGF0ZUxheWVyVmlzQ29uZmlnfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1BhbmVsV3JhcHBlcj5cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIExheWVyUGFuZWw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IExheWVyUGFuZWxGYWN0b3J5O1xuIl19
|