@kepler.gl/components 3.0.0-alpha.0 → 3.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bottom-widget.d.ts +11 -38
- package/dist/bottom-widget.js +43 -99
- package/dist/common/action-panel.d.ts +2 -2
- package/dist/common/action-panel.js +4 -4
- package/dist/common/animation-control/animation-control.d.ts +19 -18
- package/dist/common/animation-control/animation-control.js +59 -81
- package/dist/common/animation-control/animation-controller.d.ts +6 -2
- package/dist/common/animation-control/animation-controller.js +50 -36
- package/dist/common/animation-control/animation-speed-slider.js +2 -2
- package/dist/common/animation-control/animation-window-control.js +1 -1
- package/dist/common/animation-control/floating-time-display.d.ts +2 -2
- package/dist/common/animation-control/floating-time-display.js +2 -2
- package/dist/common/animation-control/play-control.d.ts +2 -2
- package/dist/common/animation-control/play-control.js +1 -1
- package/dist/common/animation-control/playback-controls.d.ts +7 -7
- package/dist/common/animation-control/playback-controls.js +6 -6
- package/dist/common/animation-control/reset-control.d.ts +2 -2
- package/dist/common/animation-control/reset-control.js +1 -1
- package/dist/common/animation-control/speed-control.d.ts +2 -2
- package/dist/common/animation-control/speed-control.js +2 -2
- package/dist/common/animation-control/window-action-control.d.ts +2 -2
- package/dist/common/animation-control/window-action-control.js +1 -1
- package/dist/common/checkbox.d.ts +2 -2
- package/dist/common/checkbox.js +3 -3
- package/dist/common/color-legend.d.ts +3 -3
- package/dist/common/color-legend.js +11 -17
- package/dist/common/data-table/button.d.ts +1 -1
- package/dist/common/data-table/button.js +2 -2
- package/dist/common/data-table/canvas.js +2 -2
- package/dist/common/data-table/cell-size.js +44 -13
- package/dist/common/data-table/display-format.d.ts +25 -0
- package/dist/common/data-table/display-format.js +169 -0
- package/dist/common/data-table/grid.d.ts +5 -2
- package/dist/common/data-table/grid.js +45 -5
- package/dist/common/data-table/header-cell.d.ts +4 -1
- package/dist/common/data-table/header-cell.js +66 -29
- package/dist/common/data-table/index.d.ts +27 -34
- package/dist/common/data-table/index.js +148 -62
- package/dist/common/data-table/option-dropdown.d.ts +17 -3
- package/dist/common/data-table/option-dropdown.js +86 -13
- package/dist/common/dataset-label.d.ts +2 -2
- package/dist/common/dataset-label.js +3 -3
- package/dist/common/error-boundary.d.ts +6 -2
- package/dist/common/error-boundary.js +2 -2
- package/dist/common/field-selector.d.ts +9 -3
- package/dist/common/field-selector.js +3 -3
- package/dist/common/field-token.d.ts +8 -0
- package/dist/common/field-token.js +7 -3
- package/dist/common/file-uploader/file-drop.d.ts +3 -2
- package/dist/common/file-uploader/file-drop.js +2 -2
- package/dist/common/file-uploader/file-upload-progress.js +2 -2
- package/dist/common/file-uploader/file-upload.d.ts +2 -6
- package/dist/common/file-uploader/file-upload.js +2 -2
- package/dist/common/file-uploader/upload-button.d.ts +1 -0
- package/dist/common/file-uploader/upload-button.js +2 -2
- package/dist/common/histogram-plot.d.ts +2 -2
- package/dist/common/histogram-plot.js +18 -12
- package/dist/common/icon-button.d.ts +2 -1
- package/dist/common/icon-button.js +2 -2
- package/dist/common/icons/add.d.ts +2 -2
- package/dist/common/icons/add.js +2 -2
- package/dist/common/icons/anchor_window.d.ts +2 -2
- package/dist/common/icons/anchor_window.js +2 -2
- package/dist/common/icons/arrow-down-alt.d.ts +2 -2
- package/dist/common/icons/arrow-down-alt.js +2 -2
- package/dist/common/icons/arrow-down-solid.d.ts +2 -2
- package/dist/common/icons/arrow-down-solid.js +2 -2
- package/dist/common/icons/arrow-down.d.ts +2 -2
- package/dist/common/icons/arrow-down.js +2 -2
- package/dist/common/icons/arrow-left.d.ts +2 -2
- package/dist/common/icons/arrow-left.js +2 -2
- package/dist/common/icons/arrow-right.d.ts +2 -2
- package/dist/common/icons/arrow-right.js +2 -2
- package/dist/common/icons/arrow-up-alt.d.ts +2 -2
- package/dist/common/icons/arrow-up-alt.js +2 -2
- package/dist/common/icons/arrow-up-solid.d.ts +2 -2
- package/dist/common/icons/arrow-up-solid.js +2 -2
- package/dist/common/icons/arrow-up.d.ts +2 -2
- package/dist/common/icons/arrow-up.js +2 -2
- package/dist/common/icons/base.d.ts +1 -1
- package/dist/common/icons/base.js +2 -2
- package/dist/common/icons/bug.d.ts +2 -2
- package/dist/common/icons/bug.js +2 -2
- package/dist/common/icons/cancel.d.ts +2 -2
- package/dist/common/icons/cancel.js +2 -2
- package/dist/common/icons/checkmark.d.ts +2 -2
- package/dist/common/icons/checkmark.js +2 -2
- package/dist/common/icons/clipboard.d.ts +2 -2
- package/dist/common/icons/clipboard.js +2 -2
- package/dist/common/icons/clock.d.ts +2 -2
- package/dist/common/icons/clock.js +2 -2
- package/dist/common/icons/close.d.ts +2 -2
- package/dist/common/icons/close.js +2 -2
- package/dist/common/icons/code-alt.d.ts +2 -2
- package/dist/common/icons/code-alt.js +2 -2
- package/dist/common/icons/copy.d.ts +2 -2
- package/dist/common/icons/copy.js +2 -2
- package/dist/common/icons/crosshairs.d.ts +2 -2
- package/dist/common/icons/crosshairs.js +2 -2
- package/dist/common/icons/cube-3d.d.ts +2 -2
- package/dist/common/icons/cube-3d.js +2 -2
- package/dist/common/icons/cursor-click.d.ts +2 -2
- package/dist/common/icons/cursor-click.js +2 -2
- package/dist/common/icons/cursor-point.d.ts +14 -0
- package/dist/common/icons/cursor-point.js +89 -0
- package/dist/common/icons/data-table.d.ts +2 -2
- package/dist/common/icons/data-table.js +2 -2
- package/dist/common/icons/db.d.ts +2 -2
- package/dist/common/icons/db.js +2 -2
- package/dist/common/icons/delete.d.ts +2 -2
- package/dist/common/icons/delete.js +2 -2
- package/dist/common/icons/docs.d.ts +2 -2
- package/dist/common/icons/docs.js +2 -2
- package/dist/common/icons/drag-n-drop.d.ts +2 -2
- package/dist/common/icons/drag-n-drop.js +2 -2
- package/dist/common/icons/draw-polygon.d.ts +2 -2
- package/dist/common/icons/draw-polygon.js +2 -2
- package/dist/common/icons/email.d.ts +2 -2
- package/dist/common/icons/email.js +2 -2
- package/dist/common/icons/expand.d.ts +2 -2
- package/dist/common/icons/expand.js +2 -2
- package/dist/common/icons/eye-seen.d.ts +2 -2
- package/dist/common/icons/eye-seen.js +2 -2
- package/dist/common/icons/eye-unseen.d.ts +2 -2
- package/dist/common/icons/eye-unseen.js +2 -2
- package/dist/common/icons/file-type.d.ts +2 -2
- package/dist/common/icons/file-type.js +2 -2
- package/dist/common/icons/file.d.ts +2 -2
- package/dist/common/icons/file.js +2 -2
- package/dist/common/icons/files.d.ts +1 -1
- package/dist/common/icons/files.js +2 -2
- package/dist/common/icons/filter-funnel.d.ts +2 -2
- package/dist/common/icons/filter-funnel.js +2 -2
- package/dist/common/icons/free-window.d.ts +2 -2
- package/dist/common/icons/free-window.js +2 -2
- package/dist/common/icons/gear.d.ts +2 -2
- package/dist/common/icons/gear.js +2 -2
- package/dist/common/icons/hash.d.ts +2 -2
- package/dist/common/icons/hash.js +2 -2
- package/dist/common/icons/histogram.d.ts +1 -1
- package/dist/common/icons/histogram.js +2 -2
- package/dist/common/icons/index.d.ts +1 -0
- package/dist/common/icons/index.js +10 -2
- package/dist/common/icons/info.d.ts +2 -2
- package/dist/common/icons/info.js +2 -2
- package/dist/common/icons/layers.d.ts +2 -2
- package/dist/common/icons/layers.js +2 -2
- package/dist/common/icons/left-arrow.d.ts +2 -2
- package/dist/common/icons/left-arrow.js +2 -2
- package/dist/common/icons/legend.d.ts +2 -2
- package/dist/common/icons/legend.js +2 -2
- package/dist/common/icons/line-chart.d.ts +2 -2
- package/dist/common/icons/line-chart.js +2 -2
- package/dist/common/icons/login.d.ts +2 -2
- package/dist/common/icons/login.js +2 -2
- package/dist/common/icons/logout.d.ts +2 -2
- package/dist/common/icons/logout.js +2 -2
- package/dist/common/icons/map-icon.d.ts +2 -2
- package/dist/common/icons/map-icon.js +2 -2
- package/dist/common/icons/map.d.ts +2 -2
- package/dist/common/icons/map.js +2 -2
- package/dist/common/icons/messages.d.ts +2 -2
- package/dist/common/icons/messages.js +2 -2
- package/dist/common/icons/minus.d.ts +2 -2
- package/dist/common/icons/minus.js +2 -2
- package/dist/common/icons/order-by-dataset.d.ts +2 -2
- package/dist/common/icons/order-by-dataset.js +2 -2
- package/dist/common/icons/order-by-list.d.ts +2 -2
- package/dist/common/icons/order-by-list.js +2 -2
- package/dist/common/icons/pause.d.ts +2 -2
- package/dist/common/icons/pause.js +2 -2
- package/dist/common/icons/picture.d.ts +1 -1
- package/dist/common/icons/picture.js +2 -2
- package/dist/common/icons/pin.d.ts +2 -2
- package/dist/common/icons/pin.js +2 -2
- package/dist/common/icons/play.d.ts +2 -2
- package/dist/common/icons/play.js +2 -2
- package/dist/common/icons/polygon.d.ts +2 -2
- package/dist/common/icons/polygon.js +2 -2
- package/dist/common/icons/rectangle.d.ts +2 -2
- package/dist/common/icons/rectangle.js +2 -2
- package/dist/common/icons/reduce.d.ts +2 -2
- package/dist/common/icons/reduce.js +2 -2
- package/dist/common/icons/reset.d.ts +2 -2
- package/dist/common/icons/reset.js +2 -2
- package/dist/common/icons/rocket.d.ts +2 -2
- package/dist/common/icons/rocket.js +2 -2
- package/dist/common/icons/save.d.ts +2 -2
- package/dist/common/icons/save.js +2 -2
- package/dist/common/icons/save2.d.ts +2 -2
- package/dist/common/icons/save2.js +2 -2
- package/dist/common/icons/search.d.ts +2 -2
- package/dist/common/icons/search.js +2 -2
- package/dist/common/icons/settings.d.ts +2 -2
- package/dist/common/icons/settings.js +2 -2
- package/dist/common/icons/share.d.ts +2 -2
- package/dist/common/icons/share.js +2 -2
- package/dist/common/icons/split.d.ts +2 -2
- package/dist/common/icons/split.js +2 -2
- package/dist/common/icons/square-select.d.ts +2 -2
- package/dist/common/icons/square-select.js +2 -2
- package/dist/common/icons/trash.d.ts +2 -2
- package/dist/common/icons/trash.js +2 -2
- package/dist/common/icons/vert-dots.d.ts +2 -2
- package/dist/common/icons/vert-dots.js +2 -2
- package/dist/common/icons/vert-three-dots.d.ts +2 -2
- package/dist/common/icons/vert-three-dots.js +2 -2
- package/dist/common/icons/warning-sign.d.ts +2 -2
- package/dist/common/icons/warning-sign.js +2 -2
- package/dist/common/icons/warning.d.ts +2 -2
- package/dist/common/icons/warning.js +2 -2
- package/dist/common/image-preview.d.ts +2 -2
- package/dist/common/image-preview.js +2 -2
- package/dist/common/index.d.ts +1 -1
- package/dist/common/index.js +8 -2
- package/dist/common/info-helper.d.ts +2 -2
- package/dist/common/info-helper.js +2 -2
- package/dist/common/item-selector/accessor.js +2 -2
- package/dist/common/item-selector/chickleted-input.js +2 -2
- package/dist/common/item-selector/dropdown-list.d.ts +28 -8
- package/dist/common/item-selector/dropdown-list.js +144 -25
- package/dist/common/item-selector/item-selector.d.ts +2 -3
- package/dist/common/item-selector/item-selector.js +7 -3
- package/dist/common/item-selector/typeahead.d.ts +16 -12
- package/dist/common/item-selector/typeahead.js +24 -13
- package/dist/common/line-chart.d.ts +2 -2
- package/dist/common/line-chart.js +2 -2
- package/dist/common/loading-spinner.js +2 -2
- package/dist/common/logo.d.ts +2 -2
- package/dist/common/logo.js +2 -2
- package/dist/common/map-layer-selector.d.ts +2 -2
- package/dist/common/map-layer-selector.js +3 -4
- package/dist/common/modal.d.ts +24 -11
- package/dist/common/modal.js +2 -2
- package/dist/common/portaled.d.ts +513 -2
- package/dist/common/portaled.js +2 -2
- package/dist/common/progress-bar.d.ts +2 -2
- package/dist/common/progress-bar.js +2 -2
- package/dist/common/range-brush.js +2 -2
- package/dist/common/range-plot.d.ts +6 -2
- package/dist/common/range-plot.js +4 -3
- package/dist/common/range-slider.d.ts +5 -1
- package/dist/common/range-slider.js +9 -3
- package/dist/common/slider/mouse-event.js +2 -2
- package/dist/common/slider/slider-bar-handle.d.ts +2 -2
- package/dist/common/slider/slider-bar-handle.js +2 -2
- package/dist/common/slider/slider-handle.d.ts +1 -1
- package/dist/common/slider/slider-handle.js +2 -2
- package/dist/common/slider/slider.d.ts +7 -5
- package/dist/common/slider/slider.js +8 -5
- package/dist/common/styled-components.d.ts +5 -0
- package/dist/common/styled-components.js +161 -47
- package/dist/common/switch.d.ts +3 -2
- package/dist/common/switch.js +2 -2
- package/dist/common/time-range-slider-time-title.d.ts +2 -2
- package/dist/common/time-range-slider-time-title.js +2 -2
- package/dist/common/time-range-slider.d.ts +6 -3
- package/dist/common/time-range-slider.js +33 -14
- package/dist/common/time-slider-marker.d.ts +1 -1
- package/dist/common/time-slider-marker.js +3 -3
- package/dist/common/timeline-slider.d.ts +13 -0
- package/dist/common/timeline-slider.js +173 -0
- package/dist/common/tippy-tooltip.d.ts +4 -2
- package/dist/common/tippy-tooltip.js +23 -11
- package/dist/common/toolbar-item.d.ts +1 -1
- package/dist/common/toolbar-item.js +6 -4
- package/dist/common/toolbar.js +2 -2
- package/dist/common/vertical-toolbar.js +2 -2
- package/dist/connect/keplergl-connect.d.ts +5 -1
- package/dist/connect/keplergl-connect.js +2 -2
- package/dist/connect/with-local-selector.js +2 -2
- package/dist/container.js +2 -2
- package/dist/context.js +4 -3
- package/dist/dnd-context.d.ts +13 -0
- package/dist/dnd-context.js +252 -0
- package/dist/editor/editor.d.ts +11 -10
- package/dist/editor/editor.js +97 -103
- package/dist/editor/feature-action-panel.d.ts +8 -6
- package/dist/editor/feature-action-panel.js +75 -22
- package/dist/effects/effect-configurator.d.ts +18 -0
- package/dist/effects/effect-configurator.js +237 -0
- package/dist/effects/effect-list.d.ts +15 -0
- package/dist/effects/effect-list.js +173 -0
- package/dist/effects/effect-manager.d.ts +21 -0
- package/dist/effects/effect-manager.js +129 -0
- package/dist/effects/effect-panel-header.d.ts +33 -0
- package/dist/effects/effect-panel-header.js +174 -0
- package/dist/effects/effect-panel.d.ts +24 -0
- package/dist/effects/effect-panel.js +162 -0
- package/dist/effects/effect-time-configurator.d.ts +13 -0
- package/dist/effects/effect-time-configurator.js +191 -0
- package/dist/effects/effect-type-selector.d.ts +11 -0
- package/dist/effects/effect-type-selector.js +117 -0
- package/dist/effects/side-panel-title.d.ts +7 -0
- package/dist/effects/side-panel-title.js +67 -0
- package/dist/filter-animation-controller.d.ts +17 -0
- package/dist/filter-animation-controller.js +91 -0
- package/dist/filters/components.js +2 -2
- package/dist/filters/filter-panels/filter-panel-with-field-select.js +3 -3
- package/dist/filters/filter-panels/multi-select-filter-panel.js +3 -3
- package/dist/filters/filter-panels/new-filter-panel.js +2 -2
- package/dist/filters/filter-panels/polygon-filter-panel.js +3 -3
- package/dist/filters/filter-panels/range-filter-panel.js +3 -3
- package/dist/filters/filter-panels/single-select-filter-panel.js +3 -3
- package/dist/filters/filter-panels/time-range-filter-panel.js +25 -8
- package/dist/filters/filter-panels/types.d.ts +2 -1
- package/dist/filters/filter-panels/types.js +1 -1
- package/dist/filters/index.d.ts +2 -0
- package/dist/filters/index.js +18 -2
- package/dist/filters/multi-select-filter.js +2 -2
- package/dist/filters/polygon-filter.js +14 -4
- package/dist/filters/range-filter.js +6 -4
- package/dist/filters/single-select-filter.js +2 -2
- package/dist/filters/time-range-filter.d.ts +2 -1
- package/dist/filters/time-range-filter.js +10 -7
- package/dist/filters/time-widget-top.d.ts +8 -0
- package/dist/filters/time-widget-top.js +123 -0
- package/dist/filters/time-widget.d.ts +3 -7
- package/dist/filters/time-widget.js +35 -92
- package/dist/filters/types.d.ts +7 -3
- package/dist/filters/types.js +1 -1
- package/dist/geocoder/geocoder.d.ts +1 -3
- package/dist/geocoder/geocoder.js +2 -2
- package/dist/geocoder-panel.d.ts +9 -3
- package/dist/geocoder-panel.js +30 -19
- package/dist/hooks/useFeatureFlags.js +1 -1
- package/dist/index.d.ts +68 -20
- package/dist/index.js +599 -99
- package/dist/injector.d.ts +4 -4
- package/dist/injector.js +2 -2
- package/dist/kepler-gl.d.ts +58 -17
- package/dist/kepler-gl.js +78 -31
- package/dist/layer-animation-controller.d.ts +13 -0
- package/dist/layer-animation-controller.js +76 -0
- package/dist/map/coordinate-info.js +2 -2
- package/dist/map/effects/effect-control.d.ts +16 -0
- package/dist/map/effects/effect-control.js +81 -0
- package/dist/map/layer-hover-info.d.ts +2 -2
- package/dist/map/layer-hover-info.js +26 -10
- package/dist/map/layer-selector-panel.js +2 -2
- package/dist/map/lazy-tippy.js +1 -1
- package/dist/map/locale-panel.d.ts +1 -1
- package/dist/map/locale-panel.js +2 -2
- package/dist/map/map-control-panel.d.ts +6 -0
- package/dist/map/map-control-panel.js +65 -9
- package/dist/map/map-control-toolbar.js +3 -3
- package/dist/map/map-control-tooltip.js +2 -2
- package/dist/map/map-control.d.ts +15 -7
- package/dist/map/map-control.js +6 -7
- package/dist/map/map-draw-panel.d.ts +2 -2
- package/dist/map/map-draw-panel.js +2 -9
- package/dist/map/map-legend-panel.d.ts +12 -1
- package/dist/map/map-legend-panel.js +27 -14
- package/dist/map/map-legend.d.ts +1 -1
- package/dist/map/map-legend.js +2 -2
- package/dist/map/map-popover-content.d.ts +28 -0
- package/dist/map/map-popover-content.js +51 -0
- package/dist/map/map-popover.d.ts +11 -14
- package/dist/map/map-popover.js +94 -15
- package/dist/map/split-map-button.js +2 -2
- package/dist/map/toggle-3d-button.js +2 -2
- package/dist/map-container.d.ts +33 -9
- package/dist/map-container.js +530 -161
- package/dist/map-view-state-context.d.ts +12 -0
- package/dist/map-view-state-context.js +116 -0
- package/dist/maps-layout.d.ts +5 -2
- package/dist/maps-layout.js +7 -3
- package/dist/modal-container.d.ts +2 -6
- package/dist/modal-container.js +8 -6
- package/dist/modals/add-map-style-modal.d.ts +1 -3
- package/dist/modals/add-map-style-modal.js +12 -6
- package/dist/modals/cloud-tile.js +2 -2
- package/dist/modals/data-table-modal.d.ts +11 -2
- package/dist/modals/data-table-modal.js +75 -24
- package/dist/modals/delete-data-modal.js +2 -2
- package/dist/modals/error-display.js +2 -2
- package/dist/modals/export-data-modal.d.ts +1 -3
- package/dist/modals/export-data-modal.js +2 -2
- package/dist/modals/export-image-modal.d.ts +1 -3
- package/dist/modals/export-image-modal.js +2 -2
- package/dist/modals/export-map-modal/components.d.ts +2 -2
- package/dist/modals/export-map-modal/components.js +2 -2
- package/dist/modals/export-map-modal/export-html-map.js +2 -2
- package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
- package/dist/modals/export-map-modal/export-json-map.js +2 -2
- package/dist/modals/export-map-modal/export-map-modal.d.ts +2 -2
- package/dist/modals/export-map-modal/export-map-modal.js +2 -2
- package/dist/modals/image-modal-container.d.ts +1 -0
- package/dist/modals/image-modal-container.js +2 -2
- package/dist/modals/load-data-modal.js +2 -2
- package/dist/modals/load-storage-map.js +2 -2
- package/dist/modals/loading-dialog.js +2 -2
- package/dist/modals/modal-dialog.js +2 -2
- package/dist/modals/modal-tabs.d.ts +1 -1
- package/dist/modals/modal-tabs.js +2 -2
- package/dist/modals/overwrite-map-modal.js +2 -2
- package/dist/modals/provider-modal-container.d.ts +3 -2
- package/dist/modals/provider-modal-container.js +2 -2
- package/dist/modals/save-map-modal.js +2 -2
- package/dist/modals/share-map-modal.js +2 -2
- package/dist/modals/status-panel.js +2 -2
- package/dist/modals/storage-map-viewer.d.ts +1 -1
- package/dist/modals/storage-map-viewer.js +2 -2
- package/dist/notification-panel/notification-item.d.ts +7 -10
- package/dist/notification-panel/notification-item.js +45 -13
- package/dist/notification-panel.js +2 -2
- package/dist/plot-container.js +20 -8
- package/dist/side-panel/add-by-dataset-button.d.ts +12 -0
- package/dist/side-panel/add-by-dataset-button.js +173 -0
- package/dist/side-panel/cloud-storage-dropdown.d.ts +2 -2
- package/dist/side-panel/cloud-storage-dropdown.js +2 -2
- package/dist/side-panel/common/dataset-info.d.ts +10 -3
- package/dist/side-panel/common/dataset-info.js +2 -2
- package/dist/side-panel/common/dataset-tag.d.ts +15 -1
- package/dist/side-panel/common/dataset-tag.js +14 -11
- package/dist/side-panel/common/dataset-title.d.ts +16 -2
- package/dist/side-panel/common/dataset-title.js +71 -105
- package/dist/side-panel/common/source-data-catalog.d.ts +22 -3
- package/dist/side-panel/common/source-data-catalog.js +2 -2
- package/dist/side-panel/common/source-data-selector.js +2 -2
- package/dist/side-panel/common/types.d.ts +7 -27
- package/dist/side-panel/common/types.js +1 -1
- package/dist/side-panel/custom-panel.d.ts +6 -7
- package/dist/side-panel/custom-panel.js +2 -2
- package/dist/side-panel/filter-manager.d.ts +18 -6
- package/dist/side-panel/filter-manager.js +176 -65
- package/dist/side-panel/filter-panel/add-filter-button.d.ts +8 -0
- package/dist/side-panel/filter-panel/add-filter-button.js +50 -0
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +6 -3
- package/dist/side-panel/filter-panel/filter-panel-header.js +4 -4
- package/dist/side-panel/filter-panel/filter-panel.js +2 -2
- package/dist/side-panel/interaction-manager.d.ts +6 -3
- package/dist/side-panel/interaction-manager.js +21 -8
- package/dist/side-panel/interaction-panel/brush-config.d.ts +2 -2
- package/dist/side-panel/interaction-panel/brush-config.js +2 -2
- package/dist/side-panel/interaction-panel/interaction-panel.d.ts +5 -2
- package/dist/side-panel/interaction-panel/interaction-panel.js +12 -5
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -9
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +25 -42
- package/dist/side-panel/interaction-panel/tooltip-config.d.ts +2 -3
- package/dist/side-panel/interaction-panel/tooltip-config.js +9 -7
- package/dist/side-panel/layer-manager.d.ts +8 -10
- package/dist/side-panel/layer-manager.js +71 -37
- package/dist/side-panel/layer-panel/add-layer-button.d.ts +3 -5
- package/dist/side-panel/layer-panel/add-layer-button.js +13 -139
- package/dist/side-panel/layer-panel/color-palette.js +2 -2
- package/dist/side-panel/layer-panel/color-range-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-range-selector.js +2 -2
- package/dist/side-panel/layer-panel/color-selector.d.ts +15 -24
- package/dist/side-panel/layer-panel/color-selector.js +175 -127
- package/dist/side-panel/layer-panel/column-selector.js +2 -2
- package/dist/side-panel/layer-panel/custom-palette.d.ts +7 -2
- package/dist/side-panel/layer-panel/custom-palette.js +6 -5
- package/dist/side-panel/layer-panel/custom-picker.d.ts +9 -36
- package/dist/side-panel/layer-panel/custom-picker.js +2 -2
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
- package/dist/side-panel/layer-panel/dataset-layer-group.js +3 -2
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +3 -2
- package/dist/side-panel/layer-panel/dataset-layer-section.js +5 -4
- package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -3
- package/dist/side-panel/layer-panel/dataset-section.js +6 -7
- package/dist/side-panel/layer-panel/dimension-scale-selector.js +2 -2
- package/dist/side-panel/layer-panel/how-to-button.js +2 -2
- package/dist/side-panel/layer-panel/layer-color-selector.d.ts +42 -0
- package/dist/side-panel/layer-panel/layer-color-selector.js +134 -0
- package/dist/side-panel/layer-panel/layer-column-config.d.ts +15 -9
- package/dist/side-panel/layer-panel/layer-column-config.js +35 -13
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +11 -2
- package/dist/side-panel/layer-panel/layer-config-group.js +19 -11
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +10 -35
- package/dist/side-panel/layer-panel/layer-configurator.js +61 -110
- package/dist/side-panel/layer-panel/layer-error-message.d.ts +6 -0
- package/dist/side-panel/layer-panel/layer-error-message.js +58 -0
- package/dist/side-panel/layer-panel/layer-list.d.ts +4 -3
- package/dist/side-panel/layer-panel/layer-list.js +112 -89
- package/dist/side-panel/layer-panel/layer-panel-header.d.ts +22 -10
- package/dist/side-panel/layer-panel/layer-panel-header.js +106 -67
- package/dist/side-panel/layer-panel/layer-panel.d.ts +3 -1
- package/dist/side-panel/layer-panel/layer-panel.js +24 -11
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +2 -2
- 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 +12 -4
- package/dist/side-panel/layer-panel/layer-type-selector.d.ts +2 -1
- package/dist/side-panel/layer-panel/layer-type-selector.js +5 -3
- package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -1
- package/dist/side-panel/layer-panel/single-color-palette.js +2 -2
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +4 -2
- package/dist/side-panel/layer-panel/text-label-panel.js +62 -15
- 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 +2 -2
- package/dist/side-panel/layer-panel/vis-config-slider.js +2 -2
- package/dist/side-panel/layer-panel/vis-config-switch.js +2 -2
- package/dist/side-panel/map-manager.d.ts +13 -6
- package/dist/side-panel/map-manager.js +56 -45
- 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 +116 -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 +131 -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 +34 -51
- 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 +54 -20
- package/dist/side-panel/panel-dropdown.d.ts +3 -2
- package/dist/side-panel/panel-dropdown.js +2 -2
- package/dist/side-panel/panel-header-action.d.ts +4 -2
- package/dist/side-panel/panel-header-action.js +11 -4
- package/dist/side-panel/panel-header.d.ts +13 -8
- package/dist/side-panel/panel-header.js +2 -2
- package/dist/side-panel/panel-tab.d.ts +2 -2
- package/dist/side-panel/panel-tab.js +2 -2
- package/dist/side-panel/panel-title.d.ts +6 -3
- package/dist/side-panel/panel-title.js +31 -14
- package/dist/side-panel/panel-toggle.d.ts +1 -1
- package/dist/side-panel/panel-toggle.js +2 -2
- 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 +143 -0
- package/dist/side-panel/side-bar.d.ts +15 -16
- package/dist/side-panel/side-bar.js +8 -6
- package/dist/side-panel.d.ts +2 -117
- package/dist/side-panel.js +14 -20
- package/dist/types.d.ts +16 -9
- package/dist/types.js +1 -1
- package/package.json +41 -34
- 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/side-panel/layer-panel/panel-view-list-toggle.js +0 -143
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c)
|
|
1
|
+
// Copyright (c) 2023 Uber Technologies, Inc.
|
|
2
2
|
//
|
|
3
3
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
4
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -67,6 +67,8 @@ var _reactIntl = require("react-intl");
|
|
|
67
67
|
|
|
68
68
|
var _localization = require("@kepler.gl/localization");
|
|
69
69
|
|
|
70
|
+
var _mapboxGl = _interopRequireDefault(require("mapbox-gl"));
|
|
71
|
+
|
|
70
72
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
71
73
|
|
|
72
74
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -137,6 +139,7 @@ function AddMapStyleModalFactory() {
|
|
|
137
139
|
var map = this.mapRef && this.mapRef.getMap();
|
|
138
140
|
|
|
139
141
|
if (map && this._map !== map) {
|
|
142
|
+
// @ts-expect-error react-map-gl.Map vs mapbox-gl.Map ?
|
|
140
143
|
this._map = map;
|
|
141
144
|
map.on('style.load', function () {
|
|
142
145
|
var style = map.getStyle();
|
|
@@ -161,8 +164,9 @@ function AddMapStyleModalFactory() {
|
|
|
161
164
|
var mapboxApiAccessToken = inputStyle.accessToken || this.props.mapboxApiAccessToken;
|
|
162
165
|
|
|
163
166
|
var mapProps = _objectSpread(_objectSpread({}, mapState), {}, {
|
|
164
|
-
|
|
165
|
-
|
|
167
|
+
baseApiUrl: mapboxApiUrl,
|
|
168
|
+
mapboxAccessToken: mapboxApiAccessToken,
|
|
169
|
+
mapLib: _mapboxGl["default"],
|
|
166
170
|
preserveDrawingBuffer: true,
|
|
167
171
|
transformRequest: _utils.transformRequest
|
|
168
172
|
});
|
|
@@ -268,8 +272,10 @@ function AddMapStyleModalFactory() {
|
|
|
268
272
|
_this3.mapRef = el;
|
|
269
273
|
},
|
|
270
274
|
key: this.state.reRenderKey,
|
|
271
|
-
|
|
272
|
-
|
|
275
|
+
style: {
|
|
276
|
+
width: MapW,
|
|
277
|
+
height: MapH
|
|
278
|
+
},
|
|
273
279
|
mapStyle: inputStyle.url === null ? undefined : inputStyle.url
|
|
274
280
|
})))))));
|
|
275
281
|
}
|
|
@@ -297,4 +303,4 @@ function AddMapStyleModalFactory() {
|
|
|
297
303
|
|
|
298
304
|
var _default = AddMapStyleModalFactory;
|
|
299
305
|
exports["default"] = _default;
|
|
300
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvYWRkLW1hcC1zdHlsZS1tb2RhbC50c3giXSwibmFtZXMiOlsiTWFwSCIsIk1hcFciLCJFcnJvck1zZyIsInN0eWxlRXJyb3IiLCJQcmV2aWV3TWFwIiwic3R5bGVkIiwiZGl2IiwicHJvcHMiLCJ0aGVtZSIsImVycm9yQ29sb3IiLCJtZWRpYSIsInBvcnRhYmxlIiwicGFsbSIsIlN0eWxlZFByZXZpZXdJbWFnZSIsIm1vZGFsSW1hZ2VQbGFjZUhvbGRlciIsIklubGluZUxpbmsiLCJhIiwiQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnkiLCJBZGRNYXBTdHlsZU1vZGFsIiwicmVSZW5kZXJLZXkiLCJwcmV2aW91c1Rva2VuIiwic3R5bGUiLCJsb2FkQ3VzdG9tTWFwU3R5bGUiLCJlcnJvciIsIm1hcCIsIm1hcFJlZiIsImdldE1hcCIsIl9tYXAiLCJvbiIsImdldFN0eWxlIiwibG9hZE1hcFN0eWxlSnNvbiIsImxvYWRNYXBTdHlsZUVycm9yIiwiaW5wdXRTdHlsZSIsIm1hcFN0YXRlIiwibWFwYm94QXBpVXJsIiwiaW50bCIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwiYWNjZXNzVG9rZW4iLCJtYXBQcm9wcyIsInByZXNlcnZlRHJhd2luZ0J1ZmZlciIsInRyYW5zZm9ybVJlcXVlc3QiLCJmb3JtYXRNZXNzYWdlIiwiaWQiLCJ1cmwiLCJ2YWx1ZSIsInRhcmdldCIsImlucHV0TWFwU3R5bGUiLCJsYWJlbCIsIm5hbWUiLCJpc1ZhbGlkIiwiZWwiLCJzdGF0ZSIsInVuZGVmaW5lZCIsIkNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBT0E7O0FBR0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7OztBQUlBLElBQU1BLElBQUksR0FBRyxHQUFiO0FBQ0EsSUFBTUMsSUFBSSxHQUFHLEdBQWI7QUFDQSxJQUFNQyxRQUFRLEdB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QztBQUFmLFVBREQsZ0JBR0MsZ0NBQUMscUNBQUQscUJBQ0UsZ0NBQUMsc0JBQUQsZ0NBQ01YLFFBRE47QUFFRSxVQUFBLEdBQUcsRUFBRSxhQUFBWSxFQUFFLEVBQUk7QUFDVCxZQUFBLE1BQUksQ0FBQ3pCLE1BQUwsR0FBY3lCLEVBQWQ7QUFDRCxXQUpIO0FBS0UsVUFBQSxHQUFHLEVBQUUsS0FBS0MsS0FBTCxDQUFXaEMsV0FMbEI7QUFNRSxVQUFBLEtBQUssRUFBRWxCLElBTlQ7QUFPRSxVQUFBLE1BQU0sRUFBRUQsSUFQVjtBQVFFLFVBQUEsUUFBUSxFQUFFZ0MsVUFBVSxDQUFDVyxHQUFYLEtBQW1CLElBQW5CLEdBQTBCUyxTQUExQixHQUFzQ3BCLFVBQVUsQ0FBQ1c7QUFSN0QsV0FERixDQUpKLENBVkYsQ0FuRkYsQ0FERixDQURGO0FBcUhEO0FBdEw4QjtBQUFBO0FBQUEsYUFPL0Isa0NBQWdDcEMsS0FBaEMsRUFBdUM0QyxLQUF2QyxFQUE4QztBQUM1QyxZQUNFNUMsS0FBSyxDQUFDeUIsVUFBTixJQUNBekIsS0FBSyxDQUFDeUIsVUFBTixDQUFpQkssV0FEakIsSUFFQTlCLEtBQUssQ0FBQ3lCLFVBQU4sQ0FBaUJLLFdBQWpCLEtBQWlDYyxLQUFLLENBQUMvQixhQUh6QyxFQUlFO0FBQ0E7QUFDQTtBQUNBO0FBRUEsaUJBQU87QUFDTEQsWUFBQUEsV0FBVyxFQUFFZ0MsS0FBSyxDQUFDaEMsV0FBTixHQUFvQixDQUQ1QjtBQUVMQyxZQUFBQSxhQUFhLEVBQUViLEtBQUssQ0FBQ3lCLFVBQU4sQ0FBaUJLO0FBRjNCLFdBQVA7QUFJRDs7QUFFRCxlQUFPLElBQVA7QUFDRDtBQXhCOEI7QUFBQTtBQUFBLElBQ0ZnQixnQkFERTs7QUF5TGpDLFNBQU8sMkJBQVcscUNBQVNuQyxnQkFBVCxDQUFYLENBQVA7QUFDRDs7ZUFFY0QsdUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7cG9seWZpbGx9IGZyb20gJ3JlYWN0LWxpZmVjeWNsZXMtY29tcGF0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgTWFwYm94R0xNYXAsIHtNYXBSZWZ9IGZyb20gJ3JlYWN0LW1hcC1nbCc7XG5pbXBvcnQge1xuICBTdHlsZWRNb2RhbENvbnRlbnQsXG4gIElucHV0TGlnaHQsXG4gIFN0eWxlZE1hcENvbnRhaW5lcixcbiAgU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsLFxuICBTdHlsZWRNb2RhbFNlY3Rpb25cbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7bWVkaWF9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcblxuLy8gVXRpbHNcbmltcG9ydCB7dHJhbnNmb3JtUmVxdWVzdH0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge2luamVjdEludGwsIEludGxTaGFwZX0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCBtYXBib3hnbCBmcm9tICdtYXBib3gtZ2wnO1xuaW1wb3J0IHtJbnB1dFN0eWxlLCBNYXBTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbmNvbnN0IE1hcEggPSAxOTA7XG5jb25zdCBNYXBXID0gMjY0O1xuY29uc3QgRXJyb3JNc2cgPSB7XG4gIHN0eWxlRXJyb3I6XG4gICAgJ0ZhaWxlZCB0byBsb2FkIG1hcCBzdHlsZSwgbWFrZSBzdXJlIGl0IGlzIHB1Ymxpc2hlZC4gRm9yIHByaXZhdGUgc3R5bGUsIHBhc3RlIGluIHlvdXIgYWNjZXNzIHRva2VuLidcbn07XG5cbmNvbnN0IFByZXZpZXdNYXAgPSBzdHlsZWQuZGl2YFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDExNnB4O1xuICBmbGV4LXNocmluazogMDtcblxuICAucHJldmlldy10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgcGFkZGluZzogOHB4IDBweDtcbiAgfVxuXG4gIC5wcmV2aWV3LXRpdGxlLmVycm9yIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lcnJvckNvbG9yfTtcbiAgfVxuXG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gIGB9O1xuXG4gICR7bWVkaWEucGFsbWBcbiAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XG4gICAgLnByZXZpZXctdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cbiAgYH07XG5gO1xuXG5jb25zdCBTdHlsZWRQcmV2aWV3SW1hZ2UgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsSW1hZ2VQbGFjZUhvbGRlcn07XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCA4cHggMTZweCAwIHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4gIHdpZHRoOiAke01hcFd9cHg7XG4gIGhlaWdodDogJHtNYXBIfXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLnByZXZpZXctaW1hZ2UtcGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC5wcmV2aWV3LWltYWdlLXNwaW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDI1cHgpO1xuICAgIHRvcDogY2FsYyg1MCUgLSAyNXB4KTtcbiAgfVxuYDtcblxuY29uc3QgSW5saW5lTGluayA9IHN0eWxlZC5hYFxuICBmb250LXdlaWdodDogNTAwO1xuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgQWRkTWFwU3R5bGVNb2RhbFByb3BzIHtcbiAgaW5wdXRNYXBTdHlsZTogRnVuY3Rpb247XG4gIGlucHV0U3R5bGU6IElucHV0U3R5bGU7XG4gIGxvYWRDdXN0b21NYXBTdHlsZTogRnVuY3Rpb247XG4gIG1hcGJveEFwaUFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIG1hcGJveEFwaVVybD86IHN0cmluZztcbiAgbWFwU3RhdGU6IE1hcFN0YXRlO1xuICBpbnRsOiBJbnRsU2hhcGU7XG59XG5cbmZ1bmN0aW9uIEFkZE1hcFN0eWxlTW9kYWxGYWN0b3J5KCkge1xuICBjbGFzcyBBZGRNYXBTdHlsZU1vZGFsIGV4dGVuZHMgQ29tcG9uZW50PEFkZE1hcFN0eWxlTW9kYWxQcm9wcz4ge1xuICAgIHN0YXRlID0ge1xuICAgICAgcmVSZW5kZXJLZXk6IDAsXG4gICAgICBwcmV2aW91c1Rva2VuOiBudWxsXG4gICAgfTtcblxuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMocHJvcHMsIHN0YXRlKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHByb3BzLmlucHV0U3R5bGUgJiZcbiAgICAgICAgcHJvcHMuaW5wdXRTdHlsZS5hY2Nlc3NUb2tlbiAmJlxuICAgICAgICBwcm9wcy5pbnB1dFN0eWxlLmFjY2Vzc1Rva2VuICE9PSBzdGF0ZS5wcmV2aW91c1Rva2VuXG4gICAgICApIHtcbiAgICAgICAgLy8gdG9rZSBoYXMgY2hhbmdlZFxuICAgICAgICAvLyBSZWFjdE1hcEdsIGRvZXNuJ3QgcmUtY3JlYXRlIG1hcCB3aGVuIHRva2VuIGhhcyBjaGFuZ2VkXG4gICAgICAgIC8vIGhlcmUgd2UgZm9yY2UgdGhlIG1hcCB0byB1cGRhdGVcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlUmVuZGVyS2V5OiBzdGF0ZS5yZVJlbmRlcktleSArIDEsXG4gICAgICAgICAgcHJldmlvdXNUb2tlbjogcHJvcHMuaW5wdXRTdHlsZS5hY2Nlc3NUb2tlblxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBtYXBSZWY6IE1hcFJlZiB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgX21hcDogbWFwYm94Z2wuTWFwIHwgdW5kZWZpbmVkO1xuXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgICAgY29uc3QgbWFwID0gdGhpcy5tYXBSZWYgJiYgdGhpcy5tYXBSZWYuZ2V0TWFwKCk7XG4gICAgICBpZiAobWFwICYmIHRoaXMuX21hcCAhPT0gbWFwKSB7XG4gICAgICAgIHRoaXMuX21hcCA9IG1hcDtcblxuICAgICAgICBtYXAub24oJ3N0eWxlLmxvYWQnLCAoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3R5bGUgPSBtYXAuZ2V0U3R5bGUoKTtcbiAgICAgICAgICB0aGlzLmxvYWRNYXBTdHlsZUpzb24oc3R5bGUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBtYXAub24oJ2Vycm9yJywgKCkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZE1hcFN0eWxlRXJyb3IoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbG9hZE1hcFN0eWxlSnNvbiA9IHN0eWxlID0+IHtcbiAgICAgIHRoaXMucHJvcHMubG9hZEN1c3RvbU1hcFN0eWxlKHtzdHlsZSwgZXJyb3I6IGZhbHNlfSk7XG4gICAgfTtcblxuICAgIGxvYWRNYXBTdHlsZUVycm9yID0gKCkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5sb2FkQ3VzdG9tTWFwU3R5bGUoe2Vycm9yOiB0cnVlfSk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtpbnB1dFN0eWxlLCBtYXBTdGF0ZSwgbWFwYm94QXBpVXJsLCBpbnRsfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGNvbnN0IG1hcGJveEFwaUFjY2Vzc1Rva2VuID0gaW5wdXRTdHlsZS5hY2Nlc3NUb2tlbiB8fCB0aGlzLnByb3BzLm1hcGJveEFwaUFjY2Vzc1Rva2VuO1xuICAgICAgY29uc3QgbWFwUHJvcHMgPSB7XG4gICAgICAgIC4uLm1hcFN0YXRlLFxuICAgICAgICBtYXBib3hBcGlVcmwsXG4gICAgICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICAgICAgICBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6IHRydWUsXG4gICAgICAgIHRyYW5zZm9ybVJlcXVlc3RcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWRkLW1hcC1zdHlsZS1tb2RhbFwiPlxuICAgICAgICAgIDxTdHlsZWRNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgICA8U3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsPlxuICAgICAgICAgICAgICA8U3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWwtc2VjdGlvbi10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5hZGRTdHlsZS5wYXN0ZVRpdGxlJ30gLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucGFzdGVTdWJ0aXRsZTAnfSl9XG4gICAgICAgICAgICAgICAgICA8SW5saW5lTGlua1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9oZWxwL3N0dWRpby1tYW51YWwtcHVibGlzaC8jc3R5bGUtdXJsXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wYXN0ZVN1YnRpdGxlMid9KX1cbiAgICAgICAgICAgICAgICAgIDwvSW5saW5lTGluaz57JyAnfVxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wYXN0ZVN1YnRpdGxlMyd9KX1cbiAgICAgICAgICAgICAgICAgIDxJbmxpbmVMaW5rXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL2RvY3MubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvc3R5bGUtc3BlY1wiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucGFzdGVTdWJ0aXRsZTQnfSl9XG4gICAgICAgICAgICAgICAgICA8L0lubGluZUxpbms+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPElucHV0TGlnaHRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtpbnB1dFN0eWxlLnVybCB8fCAnJ31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoe3RhcmdldDoge3ZhbHVlfX0pID0+IHRoaXMucHJvcHMuaW5wdXRNYXBTdHlsZSh7dXJsOiB2YWx1ZX0pfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJlLmcuIG1hcGJveDovL3N0eWxlcy91c2VybmFtZS9zdHlsZSwgaHR0cDovL215LnN0bGVzLmNvbS94eHgvc3R5bGUuanNvbiBcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3R5bGVkTW9kYWxTZWN0aW9uPlxuXG4gICAgICAgICAgICAgIDxTdHlsZWRNb2RhbFNlY3Rpb24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hUaXRsZSd9IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXN1YnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTEnfSl9XG4gICAgICAgICAgICAgICAgICA8SW5saW5lTGluayB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9zdHVkaW8vc3R5bGVzL1wiPlxuICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICBtYXBib3hcbiAgICAgICAgICAgICAgICAgIDwvSW5saW5lTGluaz57JyAnfVxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGUyJ30pfVxuICAgICAgICAgICAgICAgICAgPElubGluZUxpbmtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vaGVscC9zdHVkaW8tbWFudWFsLXB1Ymxpc2gvXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGUzJ30pfVxuICAgICAgICAgICAgICAgICAgPC9JbmxpbmVMaW5rPnsnICd9XG4gICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTQnfSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlNSd9KX1cbiAgICAgICAgICAgICAgICAgIDxJbmxpbmVMaW5rXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL2hlbHAvaG93LWFjY2Vzcy10b2tlbnMtd29yay9cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTYnfSl9XG4gICAgICAgICAgICAgICAgICA8L0lubGluZUxpbms+eycgJ31cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlNyd9KX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8SW5wdXRMaWdodFxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2lucHV0U3R5bGUuYWNjZXNzVG9rZW4gfHwgJyd9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHt0YXJnZXQ6IHt2YWx1ZX19KSA9PiB0aGlzLnByb3BzLmlucHV0TWFwU3R5bGUoe2FjY2Vzc1Rva2VuOiB2YWx1ZX0pfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5leGFtcGxlVG9rZW4nfSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRNb2RhbFNlY3Rpb24+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZE1vZGFsU2VjdGlvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuYWRkU3R5bGUubmFtaW5nVGl0bGUnfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxJbnB1dExpZ2h0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17aW5wdXRTdHlsZS5sYWJlbCB8fCAnJ31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoe3RhcmdldDoge3ZhbHVlfX0pID0+IHRoaXMucHJvcHMuaW5wdXRNYXBTdHlsZSh7bGFiZWw6IHZhbHVlfSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRNb2RhbFNlY3Rpb24+XG4gICAgICAgICAgICA8L1N0eWxlZE1vZGFsVmVydGljYWxQYW5lbD5cbiAgICAgICAgICAgIDxQcmV2aWV3TWFwPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdwcmV2aWV3LXRpdGxlJywge1xuICAgICAgICAgICAgICAgICAgZXJyb3I6IGlucHV0U3R5bGUuZXJyb3JcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpbnB1dFN0eWxlLmVycm9yXG4gICAgICAgICAgICAgICAgICA/IEVycm9yTXNnLnN0eWxlRXJyb3JcbiAgICAgICAgICAgICAgICAgIDogKGlucHV0U3R5bGUuc3R5bGUgJiYgaW5wdXRTdHlsZS5zdHlsZS5uYW1lKSB8fCAnJ31cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxTdHlsZWRQcmV2aWV3SW1hZ2UgY2xhc3NOYW1lPVwicHJldmlldy1pbWFnZVwiPlxuICAgICAgICAgICAgICAgIHshaW5wdXRTdHlsZS5pc1ZhbGlkID8gKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwcmV2aWV3LWltYWdlLXNwaW5uZXJcIiAvPlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkTWFwQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8TWFwYm94R0xNYXBcbiAgICAgICAgICAgICAgICAgICAgICB7Li4ubWFwUHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgcmVmPXtlbCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcFJlZiA9IGVsO1xuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAga2V5PXt0aGlzLnN0YXRlLnJlUmVuZGVyS2V5fVxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXtNYXBXfVxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD17TWFwSH1cbiAgICAgICAgICAgICAgICAgICAgICBtYXBTdHlsZT17aW5wdXRTdHlsZS51cmwgPT09IG51bGwgPyB1bmRlZmluZWQgOiBpbnB1dFN0eWxlLnVybH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkTWFwQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU3R5bGVkUHJldmlld0ltYWdlPlxuICAgICAgICAgICAgPC9QcmV2aWV3TWFwPlxuICAgICAgICAgIDwvU3R5bGVkTW9kYWxDb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGluamVjdEludGwocG9seWZpbGwoQWRkTWFwU3R5bGVNb2RhbCkpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBBZGRNYXBTdHlsZU1vZGFsRmFjdG9yeTtcbiJdfQ==
|
|
306
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvYWRkLW1hcC1zdHlsZS1tb2RhbC50c3giXSwibmFtZXMiOlsiTWFwSCIsIk1hcFciLCJFcnJvck1zZyIsInN0eWxlRXJyb3IiLCJQcmV2aWV3TWFwIiwic3R5bGVkIiwiZGl2IiwicHJvcHMiLCJ0aGVtZSIsImVycm9yQ29sb3IiLCJtZWRpYSIsInBvcnRhYmxlIiwicGFsbSIsIlN0eWxlZFByZXZpZXdJbWFnZSIsIm1vZGFsSW1hZ2VQbGFjZUhvbGRlciIsIklubGluZUxpbmsiLCJhIiwiQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnkiLCJBZGRNYXBTdHlsZU1vZGFsIiwicmVSZW5kZXJLZXkiLCJwcmV2aW91c1Rva2VuIiwic3R5bGUiLCJsb2FkQ3VzdG9tTWFwU3R5bGUiLCJlcnJvciIsIm1hcCIsIm1hcFJlZiIsImdldE1hcCIsIl9tYXAiLCJvbiIsImdldFN0eWxlIiwibG9hZE1hcFN0eWxlSnNvbiIsImxvYWRNYXBTdHlsZUVycm9yIiwiaW5wdXRTdHlsZSIsIm1hcFN0YXRlIiwibWFwYm94QXBpVXJsIiwiaW50bCIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwiYWNjZXNzVG9rZW4iLCJtYXBQcm9wcyIsImJhc2VBcGlVcmwiLCJtYXBib3hBY2Nlc3NUb2tlbiIsIm1hcExpYiIsIm1hcGJveGdsIiwicHJlc2VydmVEcmF3aW5nQnVmZmVyIiwidHJhbnNmb3JtUmVxdWVzdCIsImZvcm1hdE1lc3NhZ2UiLCJpZCIsInVybCIsInZhbHVlIiwidGFyZ2V0IiwiaW5wdXRNYXBTdHlsZSIsImxhYmVsIiwibmFtZSIsImlzVmFsaWQiLCJlbCIsInN0YXRlIiwid2lkdGgiLCJoZWlnaHQiLCJ1bmRlZmluZWQiLCJDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQU9BOztBQUdBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7QUFHQSxJQUFNQSxJQUFJLEdBQUcsR0FBYjtBQUNBLElBQU1DLElBQUksR0FBRyxHQUFiO0FBQ0EsSUFBTUMsUUFBUSxHQUFHO0FBQ2ZDLEVBQUFBLFVBQVUsRUFDUjtBQUZhLENBQWpCOztBQUtBLElBQU1DLFVBQVUsR0FBR0MsNkJBQU9DLEdBQVYsNFlBZUgsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxVQUFoQjtBQUFBLENBZkYsRUFrQlpDLGNBQU1DLFFBbEJNLHNIQXNCWkQsY0FBTUUsSUF0Qk0sMktBQWhCOztBQThCQSxJQUFNQyxrQkFBa0IsR0FBR1IsNkJBQU9DLEdBQVYsb2NBQ1IsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZTSxxQkFBaEI7QUFBQSxDQURHLEVBSWJiLElBSmEsRUFLWkQsSUFMWSxDQUF4Qjs7QUFxQkEsSUFBTWUsVUFBVSxHQUFHViw2QkFBT1csQ0FBVix3SkFBaEI7O0FBa0JBLFNBQVNDLHVCQUFULEdBQW1DO0FBQUEsTUFDM0JDLGdCQUQyQjtBQUFBOztBQUFBOztBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUEsZ0dBRXZCO0FBQ05DLFFBQUFBLFdBQVcsRUFBRSxDQURQO0FBRU5DLFFBQUFBLGFBQWEsRUFBRTtBQUZULE9BRnVCO0FBQUE7QUFBQTtBQUFBLDJHQThDWixVQUFBQyxLQUFLLEVBQUk7QUFDMUIsY0FBS2QsS0FBTCxDQUFXZSxrQkFBWCxDQUE4QjtBQUFDRCxVQUFBQSxLQUFLLEVBQUxBLEtBQUQ7QUFBUUUsVUFBQUEsS0FBSyxFQUFFO0FBQWYsU0FBOUI7QUFDRCxPQWhEOEI7QUFBQSw0R0FrRFgsWUFBTTtBQUN4QixjQUFLaEIsS0FBTCxDQUFXZSxrQkFBWCxDQUE4QjtBQUFDQyxVQUFBQSxLQUFLLEVBQUU7QUFBUixTQUE5QjtBQUNELE9BcEQ4QjtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBLGFBNkIvQiw4QkFBcUI7QUFBQTs7QUFDbkIsWUFBTUMsR0FBRyxHQUFHLEtBQUtDLE1BQUwsSUFBZSxLQUFLQSxNQUFMLENBQVlDLE1BQVosRUFBM0I7O0FBQ0EsWUFBSUYsR0FBRyxJQUFJLEtBQUtHLElBQUwsS0FBY0gsR0FBekIsRUFBOEI7QUFDNUI7QUFDQSxlQUFLRyxJQUFMLEdBQVlILEdBQVo7QUFFQUEsVUFBQUEsR0FBRyxDQUFDSSxFQUFKLENBQU8sWUFBUCxFQUFxQixZQUFNO0FBQ3pCLGdCQUFNUCxLQUFLLEdBQUdHLEdBQUcsQ0FBQ0ssUUFBSixFQUFkOztBQUNBLFlBQUEsTUFBSSxDQUFDQyxnQkFBTCxDQUFzQlQsS0FBdEI7QUFDRCxXQUhEO0FBS0FHLFVBQUFBLEdBQUcsQ0FBQ0ksRUFBSixDQUFPLE9BQVAsRUFBZ0IsWUFBTTtBQUNwQixZQUFBLE1BQUksQ0FBQ0csaUJBQUw7QUFDRCxXQUZEO0FBR0Q7QUFDRjtBQTVDOEI7QUFBQTtBQUFBLGFBc0QvQixrQkFBUztBQUFBOztBQUFBLDBCQUM0QyxLQUFLeEIsS0FEakQ7QUFBQSxZQUNBeUIsVUFEQSxlQUNBQSxVQURBO0FBQUEsWUFDWUMsUUFEWixlQUNZQSxRQURaO0FBQUEsWUFDc0JDLFlBRHRCLGVBQ3NCQSxZQUR0QjtBQUFBLFlBQ29DQyxJQURwQyxlQUNvQ0EsSUFEcEM7QUFHUCxZQUFNQyxvQkFBb0IsR0FBR0osVUFBVSxDQUFDSyxXQUFYLElBQTBCLEtBQUs5QixLQUFMLENBQVc2QixvQkFBbEU7O0FBQ0EsWUFBTUUsUUFBUSxtQ0FDVEwsUUFEUztBQUVaTSxVQUFBQSxVQUFVLEVBQUVMLFlBRkE7QUFHWk0sVUFBQUEsaUJBQWlCLEVBQUVKLG9CQUhQO0FBSVpLLFVBQUFBLE1BQU0sRUFBRUMsb0JBSkk7QUFLWkMsVUFBQUEscUJBQXFCLEVBQUUsSUFMWDtBQU1aQyxVQUFBQSxnQkFBZ0IsRUFBaEJBO0FBTlksVUFBZDs7QUFTQSw0QkFDRTtBQUFLLFVBQUEsU0FBUyxFQUFDO0FBQWYsd0JBQ0UsZ0NBQUMscUNBQUQscUJBQ0UsZ0NBQUMsMkNBQUQscUJBQ0UsZ0NBQUMscUNBQUQscUJBQ0U7QUFBSyxVQUFBLFNBQVMsRUFBQztBQUFmLHdCQUNFLGdDQUFDLDhCQUFEO0FBQWtCLFVBQUEsRUFBRSxFQUFFO0FBQXRCLFVBREYsQ0FERixlQUlFO0FBQUssVUFBQSxTQUFTLEVBQUM7QUFBZixXQUNHVCxJQUFJLENBQUNVLGFBQUwsQ0FBbUI7QUFBQ0MsVUFBQUEsRUFBRSxFQUFFO0FBQUwsU0FBbkIsQ0FESCxlQUVFLGdDQUFDLFVBQUQ7QUFDRSxVQUFBLE1BQU0sRUFBQyxRQURUO0FBRUUsVUFBQSxJQUFJLEVBQUM7QUFGUCxXQUlHLEdBSkgsRUFLR1gsSUFBSSxDQUFDVSxhQUFMLENBQW1CO0FBQUNDLFVBQUFBLEVBQUUsRUFBRTtBQUFMLFNBQW5CLENBTEgsQ0FGRixFQVFnQixHQVJoQixFQVNHWCxJQUFJLENBQUNVLGFBQUwsQ0FBbUI7QUFBQ0MsVUFBQUEsRUFBRSxFQUFFO0FBQUwsU0FBbkIsQ0FUSCxlQVVFLGdDQUFDLFVBQUQ7QUFDRSxVQUFBLE1BQU0sRUFBQyxRQURUO0FBRUUsVUFBQSxJQUFJLEVBQUM7QUFGUCxXQUlHLEdBSkgsRUFLR1gsSUFBSSxDQUFDVSxhQUFMLENBQW1CO0FBQUNDLFVBQUFBLEVBQUUsRUFBRTtBQUFMLFNBQW5CLENBTEgsQ0FWRixDQUpGLGVBc0JFLGdDQUFDLDZCQUFEO0FBQ0UsVUFBQSxJQUFJLEVBQUMsTUFEUDtBQUVFLFVBQUEsS0FBSyxFQUFFZCxVQUFVLENBQUNlLEdBQVgsSUFBa0IsRUFGM0I7QUFHRSxVQUFBLFFBQVEsRUFBRTtBQUFBLGdCQUFXQyxLQUFYLFFBQUVDLE1BQUYsQ0FBV0QsS0FBWDtBQUFBLG1CQUF1QixNQUFJLENBQUN6QyxLQUFMLENBQVcyQyxhQUFYLENBQXlCO0FBQUNILGNBQUFBLEdBQUcsRUFBRUM7QUFBTixhQUF6QixDQUF2QjtBQUFBLFdBSFo7QUFJRSxVQUFBLFdBQVcsRUFBQztBQUpkLFVBdEJGLENBREYsZUErQkUsZ0NBQUMscUNBQUQscUJBQ0U7QUFBSyxVQUFBLFNBQVMsRUFBQztBQUFmLHdCQUNFLGdDQUFDLDhCQUFEO0FBQWtCLFVBQUEsRUFBRSxFQUFFO0FBQXRCLFVBREYsQ0FERixlQUlFO0FBQUssVUFBQSxTQUFTLEVBQUM7QUFBZixXQUNHYixJQUFJLENBQUNVLGFBQUwsQ0FBbUI7QUFBQ0MsVUFBQUEsRUFBRSxFQUFFO0FBQUwsU0FBbkIsQ0FESCxlQUVFLGdDQUFDLFVBQUQ7QUFBWSxVQUFBLE1BQU0sRUFBQyxRQUFuQjtBQUE0QixVQUFBLElBQUksRUFBQztBQUFqQyxXQUNHLEdBREgsV0FGRixFQUtnQixHQUxoQixFQU1HWCxJQUFJLENBQUNVLGFBQUwsQ0FBbUI7QUFBQ0MsVUFBQUEsRUFBRSxFQUFFO0FBQUwsU0FBbkIsQ0FOSCxlQU9FLGdDQUFDLFVBQUQ7QUFDRSxVQUFBLE1BQU0sRUFBQyxRQURUO0FBRUUsVUFBQSxJQUFJLEVBQUM7QUFGUCxXQUlHLEdBSkgsRUFLR1gsSUFBSSxDQUFDVSxhQUFMLENBQW1CO0FBQUNDLFVBQUFBLEVBQUUsRUFBRTtBQUFMLFNBQW5CLENBTEgsQ0FQRixFQWFnQixHQWJoQixFQWNHWCxJQUFJLENBQUNVLGFBQUwsQ0FBbUI7QUFBQ0MsVUFBQUEsRUFBRSxFQUFFO0FBQUwsU0FBbkIsQ0FkSCxDQUpGLGVBcUJFO0FBQUssVUFBQSxTQUFTLEVBQUM7QUFBZixXQUNHWCxJQUFJLENBQUNVLGFBQUwsQ0FBbUI7QUFBQ0MsVUFBQUEsRUFBRSxFQUFFO0FBQUwsU0FBbkIsQ0FESCxlQUVFLGdDQUFDLFVBQUQ7QUFDRSxVQUFBLE1BQU0sRUFBQyxRQURUO0FBRUUsVUFBQSxJQUFJLEVBQUM7QUFGUCxXQUlHLEdBSkgsRUFLR1gsSUFBSSxDQUFDVSxhQUFMLENBQW1CO0FBQUNDLFVBQUFBLEVBQUUsRUFBRTtBQUFMLFNBQW5CLENBTEgsQ0FGRixFQVFnQixHQVJoQixFQVNHWCxJQUFJLENBQUNVLGFBQUwsQ0FBbUI7QUFBQ0MsVUFBQUEsRUFBRSxFQUFFO0FBQUwsU0FBbkIsQ0FUSCxDQXJCRixlQWdDRSxnQ0FBQyw2QkFBRDtBQUNFLFVBQUEsSUFBSSxFQUFDLE1BRFA7QUFFRSxVQUFBLEtBQUssRUFBRWQsVUFBVSxDQUFDSyxXQUFYLElBQTBCLEVBRm5DO0FBR0UsVUFBQSxRQUFRLEVBQUU7QUFBQSxnQkFBV1csS0FBWCxTQUFFQyxNQUFGLENBQVdELEtBQVg7QUFBQSxtQkFBdUIsTUFBSSxDQUFDekMsS0FBTCxDQUFXMkMsYUFBWCxDQUF5QjtBQUFDYixjQUFBQSxXQUFXLEVBQUVXO0FBQWQsYUFBekIsQ0FBdkI7QUFBQSxXQUhaO0FBSUUsVUFBQSxXQUFXLEVBQUViLElBQUksQ0FBQ1UsYUFBTCxDQUFtQjtBQUFDQyxZQUFBQSxFQUFFLEVBQUU7QUFBTCxXQUFuQjtBQUpmLFVBaENGLENBL0JGLGVBdUVFLGdDQUFDLHFDQUFELHFCQUNFO0FBQUssVUFBQSxTQUFTLEVBQUM7QUFBZix3QkFDRSxnQ0FBQyw4QkFBRDtBQUFrQixVQUFBLEVBQUUsRUFBRTtBQUF0QixVQURGLENBREYsZUFJRSxnQ0FBQyw2QkFBRDtBQUNFLFVBQUEsSUFBSSxFQUFDLE1BRFA7QUFFRSxVQUFBLEtBQUssRUFBRWQsVUFBVSxDQUFDbUIsS0FBWCxJQUFvQixFQUY3QjtBQUdFLFVBQUEsUUFBUSxFQUFFO0FBQUEsZ0JBQVdILEtBQVgsU0FBRUMsTUFBRixDQUFXRCxLQUFYO0FBQUEsbUJBQXVCLE1BQUksQ0FBQ3pDLEtBQUwsQ0FBVzJDLGFBQVgsQ0FBeUI7QUFBQ0MsY0FBQUEsS0FBSyxFQUFFSDtBQUFSLGFBQXpCLENBQXZCO0FBQUE7QUFIWixVQUpGLENBdkVGLENBREYsZUFtRkUsZ0NBQUMsVUFBRCxxQkFDRTtBQUNFLFVBQUEsU0FBUyxFQUFFLDRCQUFXLGVBQVgsRUFBNEI7QUFDckN6QixZQUFBQSxLQUFLLEVBQUVTLFVBQVUsQ0FBQ1Q7QUFEbUIsV0FBNUI7QUFEYixXQUtHUyxVQUFVLENBQUNULEtBQVgsR0FDR3JCLFFBQVEsQ0FBQ0MsVUFEWixHQUVJNkIsVUFBVSxDQUFDWCxLQUFYLElBQW9CVyxVQUFVLENBQUNYLEtBQVgsQ0FBaUIrQixJQUF0QyxJQUErQyxFQVByRCxDQURGLGVBVUUsZ0NBQUMsa0JBQUQ7QUFBb0IsVUFBQSxTQUFTLEVBQUM7QUFBOUIsV0FDRyxDQUFDcEIsVUFBVSxDQUFDcUIsT0FBWixnQkFDQztBQUFLLFVBQUEsU0FBUyxFQUFDO0FBQWYsVUFERCxnQkFHQyxnQ0FBQyxxQ0FBRCxxQkFDRSxnQ0FBQyxzQkFBRCxnQ0FDTWYsUUFETjtBQUVFLFVBQUEsR0FBRyxFQUFFLGFBQUFnQixFQUFFLEVBQUk7QUFDVCxZQUFBLE1BQUksQ0FBQzdCLE1BQUwsR0FBYzZCLEVBQWQ7QUFDRCxXQUpIO0FBS0UsVUFBQSxHQUFHLEVBQUUsS0FBS0MsS0FBTCxDQUFXcEMsV0FMbEI7QUFNRSxVQUFBLEtBQUssRUFBRTtBQUNMcUMsWUFBQUEsS0FBSyxFQUFFdkQsSUFERjtBQUVMd0QsWUFBQUEsTUFBTSxFQUFFekQ7QUFGSCxXQU5UO0FBVUUsVUFBQSxRQUFRLEVBQUVnQyxVQUFVLENBQUNlLEdBQVgsS0FBbUIsSUFBbkIsR0FBMEJXLFNBQTFCLEdBQXNDMUIsVUFBVSxDQUFDZTtBQVY3RCxXQURGLENBSkosQ0FWRixDQW5GRixDQURGLENBREY7QUF1SEQ7QUExTDhCO0FBQUE7QUFBQSxhQU8vQixrQ0FBZ0N4QyxLQUFoQyxFQUF1Q2dELEtBQXZDLEVBQThDO0FBQzVDLFlBQ0VoRCxLQUFLLENBQUN5QixVQUFOLElBQ0F6QixLQUFLLENBQUN5QixVQUFOLENBQWlCSyxXQURqQixJQUVBOUIsS0FBSyxDQUFDeUIsVUFBTixDQUFpQkssV0FBakIsS0FBaUNrQixLQUFLLENBQUNuQyxhQUh6QyxFQUlFO0FBQ0E7QUFDQTtBQUNBO0FBRUEsaUJBQU87QUFDTEQsWUFBQUEsV0FBVyxFQUFFb0MsS0FBSyxDQUFDcEMsV0FBTixHQUFvQixDQUQ1QjtBQUVMQyxZQUFBQSxhQUFhLEVBQUViLEtBQUssQ0FBQ3lCLFVBQU4sQ0FBaUJLO0FBRjNCLFdBQVA7QUFJRDs7QUFFRCxlQUFPLElBQVA7QUFDRDtBQXhCOEI7QUFBQTtBQUFBLElBQ0ZzQixnQkFERTs7QUE2TGpDLFNBQU8sMkJBQVcscUNBQVN6QyxnQkFBVCxDQUFYLENBQVA7QUFDRDs7ZUFFY0QsdUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7cG9seWZpbGx9IGZyb20gJ3JlYWN0LWxpZmVjeWNsZXMtY29tcGF0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgTWFwYm94R0xNYXAsIHtNYXBSZWZ9IGZyb20gJ3JlYWN0LW1hcC1nbCc7XG5pbXBvcnQge1xuICBTdHlsZWRNb2RhbENvbnRlbnQsXG4gIElucHV0TGlnaHQsXG4gIFN0eWxlZE1hcENvbnRhaW5lcixcbiAgU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsLFxuICBTdHlsZWRNb2RhbFNlY3Rpb25cbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7bWVkaWF9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcblxuLy8gVXRpbHNcbmltcG9ydCB7dHJhbnNmb3JtUmVxdWVzdH0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge2luamVjdEludGwsIEludGxTaGFwZX0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCBtYXBib3hnbCBmcm9tICdtYXBib3gtZ2wnO1xuaW1wb3J0IHtJbnB1dFN0eWxlLCBNYXBTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbmNvbnN0IE1hcEggPSAxOTA7XG5jb25zdCBNYXBXID0gMjY0O1xuY29uc3QgRXJyb3JNc2cgPSB7XG4gIHN0eWxlRXJyb3I6XG4gICAgJ0ZhaWxlZCB0byBsb2FkIG1hcCBzdHlsZSwgbWFrZSBzdXJlIGl0IGlzIHB1Ymxpc2hlZC4gRm9yIHByaXZhdGUgc3R5bGUsIHBhc3RlIGluIHlvdXIgYWNjZXNzIHRva2VuLidcbn07XG5cbmNvbnN0IFByZXZpZXdNYXAgPSBzdHlsZWQuZGl2YFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDExNnB4O1xuICBmbGV4LXNocmluazogMDtcblxuICAucHJldmlldy10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgcGFkZGluZzogOHB4IDBweDtcbiAgfVxuXG4gIC5wcmV2aWV3LXRpdGxlLmVycm9yIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lcnJvckNvbG9yfTtcbiAgfVxuXG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gIGB9O1xuXG4gICR7bWVkaWEucGFsbWBcbiAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XG4gICAgLnByZXZpZXctdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cbiAgYH07XG5gO1xuXG5jb25zdCBTdHlsZWRQcmV2aWV3SW1hZ2UgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsSW1hZ2VQbGFjZUhvbGRlcn07XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCA4cHggMTZweCAwIHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4gIHdpZHRoOiAke01hcFd9cHg7XG4gIGhlaWdodDogJHtNYXBIfXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLnByZXZpZXctaW1hZ2UtcGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC5wcmV2aWV3LWltYWdlLXNwaW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDI1cHgpO1xuICAgIHRvcDogY2FsYyg1MCUgLSAyNXB4KTtcbiAgfVxuYDtcblxuY29uc3QgSW5saW5lTGluayA9IHN0eWxlZC5hYFxuICBmb250LXdlaWdodDogNTAwO1xuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgQWRkTWFwU3R5bGVNb2RhbFByb3BzIHtcbiAgaW5wdXRNYXBTdHlsZTogRnVuY3Rpb247XG4gIGlucHV0U3R5bGU6IElucHV0U3R5bGU7XG4gIGxvYWRDdXN0b21NYXBTdHlsZTogRnVuY3Rpb247XG4gIG1hcGJveEFwaUFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIG1hcGJveEFwaVVybD86IHN0cmluZztcbiAgbWFwU3RhdGU6IE1hcFN0YXRlO1xuICBpbnRsOiBJbnRsU2hhcGU7XG59XG5cbmZ1bmN0aW9uIEFkZE1hcFN0eWxlTW9kYWxGYWN0b3J5KCkge1xuICBjbGFzcyBBZGRNYXBTdHlsZU1vZGFsIGV4dGVuZHMgQ29tcG9uZW50PEFkZE1hcFN0eWxlTW9kYWxQcm9wcz4ge1xuICAgIHN0YXRlID0ge1xuICAgICAgcmVSZW5kZXJLZXk6IDAsXG4gICAgICBwcmV2aW91c1Rva2VuOiBudWxsXG4gICAgfTtcblxuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMocHJvcHMsIHN0YXRlKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHByb3BzLmlucHV0U3R5bGUgJiZcbiAgICAgICAgcHJvcHMuaW5wdXRTdHlsZS5hY2Nlc3NUb2tlbiAmJlxuICAgICAgICBwcm9wcy5pbnB1dFN0eWxlLmFjY2Vzc1Rva2VuICE9PSBzdGF0ZS5wcmV2aW91c1Rva2VuXG4gICAgICApIHtcbiAgICAgICAgLy8gdG9rZSBoYXMgY2hhbmdlZFxuICAgICAgICAvLyBSZWFjdE1hcEdsIGRvZXNuJ3QgcmUtY3JlYXRlIG1hcCB3aGVuIHRva2VuIGhhcyBjaGFuZ2VkXG4gICAgICAgIC8vIGhlcmUgd2UgZm9yY2UgdGhlIG1hcCB0byB1cGRhdGVcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlUmVuZGVyS2V5OiBzdGF0ZS5yZVJlbmRlcktleSArIDEsXG4gICAgICAgICAgcHJldmlvdXNUb2tlbjogcHJvcHMuaW5wdXRTdHlsZS5hY2Nlc3NUb2tlblxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBtYXBSZWY6IE1hcFJlZiB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgX21hcDogbWFwYm94Z2wuTWFwIHwgdW5kZWZpbmVkO1xuXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgICAgY29uc3QgbWFwID0gdGhpcy5tYXBSZWYgJiYgdGhpcy5tYXBSZWYuZ2V0TWFwKCk7XG4gICAgICBpZiAobWFwICYmIHRoaXMuX21hcCAhPT0gbWFwKSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgcmVhY3QtbWFwLWdsLk1hcCB2cyBtYXBib3gtZ2wuTWFwID9cbiAgICAgICAgdGhpcy5fbWFwID0gbWFwO1xuXG4gICAgICAgIG1hcC5vbignc3R5bGUubG9hZCcsICgpID0+IHtcbiAgICAgICAgICBjb25zdCBzdHlsZSA9IG1hcC5nZXRTdHlsZSgpO1xuICAgICAgICAgIHRoaXMubG9hZE1hcFN0eWxlSnNvbihzdHlsZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG1hcC5vbignZXJyb3InLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkTWFwU3R5bGVFcnJvcigpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsb2FkTWFwU3R5bGVKc29uID0gc3R5bGUgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5sb2FkQ3VzdG9tTWFwU3R5bGUoe3N0eWxlLCBlcnJvcjogZmFsc2V9KTtcbiAgICB9O1xuXG4gICAgbG9hZE1hcFN0eWxlRXJyb3IgPSAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLmxvYWRDdXN0b21NYXBTdHlsZSh7ZXJyb3I6IHRydWV9KTtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge2lucHV0U3R5bGUsIG1hcFN0YXRlLCBtYXBib3hBcGlVcmwsIGludGx9ID0gdGhpcy5wcm9wcztcblxuICAgICAgY29uc3QgbWFwYm94QXBpQWNjZXNzVG9rZW4gPSBpbnB1dFN0eWxlLmFjY2Vzc1Rva2VuIHx8IHRoaXMucHJvcHMubWFwYm94QXBpQWNjZXNzVG9rZW47XG4gICAgICBjb25zdCBtYXBQcm9wcyA9IHtcbiAgICAgICAgLi4ubWFwU3RhdGUsXG4gICAgICAgIGJhc2VBcGlVcmw6IG1hcGJveEFwaVVybCxcbiAgICAgICAgbWFwYm94QWNjZXNzVG9rZW46IG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICAgICAgICBtYXBMaWI6IG1hcGJveGdsLFxuICAgICAgICBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6IHRydWUsXG4gICAgICAgIHRyYW5zZm9ybVJlcXVlc3RcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWRkLW1hcC1zdHlsZS1tb2RhbFwiPlxuICAgICAgICAgIDxTdHlsZWRNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgICA8U3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsPlxuICAgICAgICAgICAgICA8U3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWwtc2VjdGlvbi10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5hZGRTdHlsZS5wYXN0ZVRpdGxlJ30gLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucGFzdGVTdWJ0aXRsZTAnfSl9XG4gICAgICAgICAgICAgICAgICA8SW5saW5lTGlua1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9oZWxwL3N0dWRpby1tYW51YWwtcHVibGlzaC8jc3R5bGUtdXJsXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wYXN0ZVN1YnRpdGxlMid9KX1cbiAgICAgICAgICAgICAgICAgIDwvSW5saW5lTGluaz57JyAnfVxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wYXN0ZVN1YnRpdGxlMyd9KX1cbiAgICAgICAgICAgICAgICAgIDxJbmxpbmVMaW5rXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL2RvY3MubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvc3R5bGUtc3BlY1wiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucGFzdGVTdWJ0aXRsZTQnfSl9XG4gICAgICAgICAgICAgICAgICA8L0lubGluZUxpbms+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPElucHV0TGlnaHRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtpbnB1dFN0eWxlLnVybCB8fCAnJ31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoe3RhcmdldDoge3ZhbHVlfX0pID0+IHRoaXMucHJvcHMuaW5wdXRNYXBTdHlsZSh7dXJsOiB2YWx1ZX0pfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJlLmcuIG1hcGJveDovL3N0eWxlcy91c2VybmFtZS9zdHlsZSwgaHR0cDovL215LnN0bGVzLmNvbS94eHgvc3R5bGUuanNvbiBcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3R5bGVkTW9kYWxTZWN0aW9uPlxuXG4gICAgICAgICAgICAgIDxTdHlsZWRNb2RhbFNlY3Rpb24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hUaXRsZSd9IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXN1YnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTEnfSl9XG4gICAgICAgICAgICAgICAgICA8SW5saW5lTGluayB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9zdHVkaW8vc3R5bGVzL1wiPlxuICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICBtYXBib3hcbiAgICAgICAgICAgICAgICAgIDwvSW5saW5lTGluaz57JyAnfVxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGUyJ30pfVxuICAgICAgICAgICAgICAgICAgPElubGluZUxpbmtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vaGVscC9zdHVkaW8tbWFudWFsLXB1Ymxpc2gvXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGUzJ30pfVxuICAgICAgICAgICAgICAgICAgPC9JbmxpbmVMaW5rPnsnICd9XG4gICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTQnfSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlNSd9KX1cbiAgICAgICAgICAgICAgICAgIDxJbmxpbmVMaW5rXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL2hlbHAvaG93LWFjY2Vzcy10b2tlbnMtd29yay9cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTYnfSl9XG4gICAgICAgICAgICAgICAgICA8L0lubGluZUxpbms+eycgJ31cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlNyd9KX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8SW5wdXRMaWdodFxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2lucHV0U3R5bGUuYWNjZXNzVG9rZW4gfHwgJyd9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHt0YXJnZXQ6IHt2YWx1ZX19KSA9PiB0aGlzLnByb3BzLmlucHV0TWFwU3R5bGUoe2FjY2Vzc1Rva2VuOiB2YWx1ZX0pfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5leGFtcGxlVG9rZW4nfSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRNb2RhbFNlY3Rpb24+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZE1vZGFsU2VjdGlvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuYWRkU3R5bGUubmFtaW5nVGl0bGUnfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxJbnB1dExpZ2h0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17aW5wdXRTdHlsZS5sYWJlbCB8fCAnJ31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoe3RhcmdldDoge3ZhbHVlfX0pID0+IHRoaXMucHJvcHMuaW5wdXRNYXBTdHlsZSh7bGFiZWw6IHZhbHVlfSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRNb2RhbFNlY3Rpb24+XG4gICAgICAgICAgICA8L1N0eWxlZE1vZGFsVmVydGljYWxQYW5lbD5cbiAgICAgICAgICAgIDxQcmV2aWV3TWFwPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdwcmV2aWV3LXRpdGxlJywge1xuICAgICAgICAgICAgICAgICAgZXJyb3I6IGlucHV0U3R5bGUuZXJyb3JcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpbnB1dFN0eWxlLmVycm9yXG4gICAgICAgICAgICAgICAgICA/IEVycm9yTXNnLnN0eWxlRXJyb3JcbiAgICAgICAgICAgICAgICAgIDogKGlucHV0U3R5bGUuc3R5bGUgJiYgaW5wdXRTdHlsZS5zdHlsZS5uYW1lKSB8fCAnJ31cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxTdHlsZWRQcmV2aWV3SW1hZ2UgY2xhc3NOYW1lPVwicHJldmlldy1pbWFnZVwiPlxuICAgICAgICAgICAgICAgIHshaW5wdXRTdHlsZS5pc1ZhbGlkID8gKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwcmV2aWV3LWltYWdlLXNwaW5uZXJcIiAvPlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkTWFwQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8TWFwYm94R0xNYXBcbiAgICAgICAgICAgICAgICAgICAgICB7Li4ubWFwUHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgcmVmPXtlbCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcFJlZiA9IGVsO1xuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAga2V5PXt0aGlzLnN0YXRlLnJlUmVuZGVyS2V5fVxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogTWFwVyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogTWFwSFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgbWFwU3R5bGU9e2lucHV0U3R5bGUudXJsID09PSBudWxsID8gdW5kZWZpbmVkIDogaW5wdXRTdHlsZS51cmx9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZE1hcENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1N0eWxlZFByZXZpZXdJbWFnZT5cbiAgICAgICAgICAgIDwvUHJldmlld01hcD5cbiAgICAgICAgICA8L1N0eWxlZE1vZGFsQ29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBpbmplY3RJbnRsKHBvbHlmaWxsKEFkZE1hcFN0eWxlTW9kYWwpKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQWRkTWFwU3R5bGVNb2RhbEZhY3Rvcnk7XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c)
|
|
1
|
+
// Copyright (c) 2023 Uber Technologies, Inc.
|
|
2
2
|
//
|
|
3
3
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
4
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -141,4 +141,4 @@ var CloudTile = function CloudTile(_ref4) {
|
|
|
141
141
|
|
|
142
142
|
var _default = CloudTile;
|
|
143
143
|
exports["default"] = _default;
|
|
144
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvY2xvdWQtdGlsZS50c3giXSwibmFtZXMiOlsiU3R5bGVkVGlsZVdyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsInByb3BzIiwic2VsZWN0ZWQiLCJ0aGVtZSIsInByaW1hcnlCdG5CZ2QiLCJzZWxlY3RCb3JkZXJDb2xvckxUIiwidHJhbnNpdGlvbiIsIlN0eWxlZEJveCIsIkNlbnRlclZlcnRpY2FsRmxleGJveCIsIlN0eWxlZENsb3VkTmFtZSIsIlN0eWxlZFVzZXJOYW1lIiwicHJpbWFyeUJ0bkFjdEJnZCIsIkxvZ2luQnV0dG9uIiwib25DbGljayIsIkxvZ291dEJ1dHRvbiIsIkFjdGlvbkJ1dHRvbiIsImlzQ29ubmVjdGVkIiwiYWN0aW9uTmFtZSIsImlzUmVhZHkiLCJDbG91ZFRpbGUiLCJvblNlbGVjdCIsIm9uQ29ubmVjdCIsIm9uTG9nb3V0IiwiY2xvdWRQcm92aWRlciIsIm9uU2V0Q2xvdWRQcm92aWRlciIsImlzU2VsZWN0ZWQiLCJ1c2VyTmFtZSIsImdldFVzZXJOYW1lIiwib25DbGlja0Nvbm5lY3QiLCJsb2dpbiIsIm5hbWUiLCJvbkNsaWNrTG9nb3V0IiwibG9nb3V0IiwiZGlzcGxheU5hbWUiLCJpY29uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQU9BLElBQU1BLGlCQUFpQixHQUFHQyw2QkFBT0MsR0FBUCxDQUFXQyxLQUFYLENBQWlCO0FBQ3pDQyxFQUFBQSxTQUFTLEVBQUU7QUFEOEIsQ0FBakIsQ0FBSCxzZ0JBU2pCLFVBQUFDLEtBQUs7QUFBQSxTQUFLQSxLQUFLLENBQUNDLFFBQU4sR0FBaUJELEtBQUssQ0FBQ0UsS0FBTixDQUFZQyxhQUE3QixHQUE2Q0gsS0FBSyxDQUFDRSxLQUFOLENBQVlFLG1CQUE5RDtBQUFBLENBVFksRUFVWixVQUFBSixLQUFLO0FBQUEsU0FBS0EsS0FBSyxDQUFDQyxRQUFO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REY7QUFnQkQsQ0FqREQ7O2VBbURlVCxTIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtMb2dvdXQsIExvZ2lufSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtDZW50ZXJWZXJ0aWNhbEZsZXhib3gsIEJ1dHRvbiwgQ2hlY2tNYXJrfSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IExvYWRpbmdTcGlubmVyIGZyb20gJy4uL2NvbW1vbi9sb2FkaW5nLXNwaW5uZXInO1xuaW1wb3J0IHtQcm92aWRlcn0gZnJvbSAnQGtlcGxlci5nbC9jbG91ZC1wcm92aWRlcnMnO1xuXG5pbnRlcmZhY2UgU3R5bGVkVGlsZVdyYXBwZXJQcm9wcyB7XG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbn1cblxuY29uc3QgU3R5bGVkVGlsZVdyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAncHJvdmlkZXItdGlsZV9fd3JhcHBlcidcbn0pPFN0eWxlZFRpbGVXcmFwcGVyUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzID0+IChwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2QgOiBwcm9wcy50aGVtZS5zZWxlY3RCb3JkZXJDb2xvckxUKX07XG4gIGNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2QgOiBwcm9wcy50aGVtZS5zZWxlY3RCb3JkZXJDb2xvckxUKX07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDE2OHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRyYW5zaXRpb259O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIDpob3ZlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkfTtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZEJveCA9IHN0eWxlZChDZW50ZXJWZXJ0aWNhbEZsZXhib3gpYFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG5gO1xuXG5jb25zdCBTdHlsZWRDbG91ZE5hbWUgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFVzZXJOYW1lID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMXB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdEJnZH07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDBweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5gO1xuXG5pbnRlcmZhY2UgT25DbGlja1Byb3BzIHtcbiAgb25DbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50Pjtcbn1cblxuY29uc3QgTG9naW5CdXR0b24gPSAoe29uQ2xpY2t9OiBPbkNsaWNrUHJvcHMpID0+IChcbiAgPEJ1dHRvbiBjbGFzc05hbWU9XCJsb2dpbi1idXR0b25cIiBsaW5rIHNtYWxsIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgIDxMb2dpbiAvPlxuICAgIExvZ2luXG4gIDwvQnV0dG9uPlxuKTtcblxuY29uc3QgTG9nb3V0QnV0dG9uID0gKHtvbkNsaWNrfTogT25DbGlja1Byb3BzKSA9PiAoXG4gIDxCdXR0b24gY2xhc3NOYW1lPVwibG9nb3V0LWJ1dHRvblwiIGxpbmsgc21hbGwgb25DbGljaz17b25DbGlja30+XG4gICAgPExvZ291dCAvPlxuICAgIExvZ291dFxuICA8L0J1dHRvbj5cbik7XG5cbmludGVyZmFjZSBBY3Rpb25CdXR0b25Qcm9wcyB7XG4gIGlzQ29ubmVjdGVkPzogYm9vbGVhbjtcbiAgYWN0aW9uTmFtZT86IHN0cmluZyB8IG51bGw7XG4gIGlzUmVhZHk/OiBib29sZWFuO1xufVxuXG5jb25zdCBBY3Rpb25CdXR0b24gPSAoe2lzQ29ubmVjdGVkLCBhY3Rpb25OYW1lID0gbnVsbCwgaXNSZWFkeX06IEFjdGlvbkJ1dHRvblByb3BzKSA9PlxuICBpc0Nvbm5lY3RlZCAmJiBhY3Rpb25OYW1lID8gKFxuICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiY2xvdWQtdGlsZV9fYWN0aW9uXCIgc21hbGwgc2Vjb25kYXJ5IGRpc2FibGVkPXshaXNSZWFkeX0+XG4gICAgICB7aXNSZWFkeSA/IGFjdGlvbk5hbWUgOiA8TG9hZGluZ1NwaW5uZXIgc2l6ZT17MTJ9IC8+fVxuICAgIDwvQnV0dG9uPlxuICApIDogbnVsbDtcblxuaW50ZXJmYWNlIENsb3VkVGlsZVByb3BzIHtcbiAgb25TZWxlY3Q/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIC8vIGRlZmF1bHQgdG8gbG9naW5cbiAgb25Db25uZWN0PzogKCgpID0+IHZvaWQpIHwgbnVsbDtcbiAgLy8gZGVmYXVsdCB0byBsb2dvdXRcbiAgb25Mb2dvdXQ/OiAoKCkgPT4gdm9pZCkgfCBudWxsO1xuICAvLyBhY3Rpb24gbmFtZVxuICBhY3Rpb25OYW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgLy8gY2xvdWQgcHJvdmlkZXIgY2xhc3NcbiAgY2xvdWRQcm92aWRlcjogUHJvdmlkZXI7XG4gIC8vIGZ1bmN0aW9uIHRvIHRha2UgYWZ0ZXIgbG9naW4gb3IgbG9nb3V0XG4gIG9uU2V0Q2xvdWRQcm92aWRlcjogKHByb3ZpZGVyTmFtZTogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZDtcbiAgLy8gd2hldGhlciBwcm92aWRlciBpcyBzZWxlY3RlZCBhcyBjdXJyZW50UHJvdmlkZXJcbiAgaXNTZWxlY3RlZD86IGJvb2xlYW47XG4gIC8vIHdoZXRoZXIgdXNlciBoYXMgbG9nZ2VkIGluXG4gIGlzQ29ubmVjdGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkeT86IGJvb2xlYW47XG59XG5cbmNvbnN0IENsb3VkVGlsZTogUmVhY3QuRkM8Q2xvdWRUaWxlUHJvcHM+ID0gKHtcbiAgLy8gYWN0aW9uIHdoZW4gY2xpY2sgb24gdGhlIHRpbGVcbiAgb25TZWxlY3QsXG4gIC8vIGRlZmF1bHQgdG8gbG9naW5cbiAgb25Db25uZWN0ID0gbnVsbCxcbiAgLy8gZGVmYXVsdCB0byBsb2dvdXRcbiAgb25Mb2dvdXQgPSBudWxsLFxuICAvLyBhY3Rpb24gbmFtZVxuICBhY3Rpb25OYW1lID0gbnVsbCxcbiAgLy8gY2xvdWQgcHJvdmlkZXIgY2xhc3NcbiAgY2xvdWRQcm92aWRlcixcbiAgLy8gZnVuY3Rpb24gdG8gdGFrZSBhZnRlciBsb2dpbiBvciBsb2dvdXRcbiAgb25TZXRDbG91ZFByb3ZpZGVyLFxuICAvLyB3aGV0aGVyIHByb3ZpZGVyIGlzIHNlbGVjdGVkIGFzIGN1cnJlbnRQcm92aWRlclxuICBpc1NlbGVjdGVkLFxuICAvLyB3aGV0aGVyIHVzZXIgaGFzIGxvZ2dlZCBpblxuICBpc0Nvbm5lY3RlZCxcblxuICBpc1JlYWR5ID0gdHJ1ZVxufSkgPT4ge1xuICBjb25zdCB1c2VyTmFtZSA9XG4gICAgdHlwZW9mIGNsb3VkUHJvdmlkZXIuZ2V0VXNlck5hbWUgPT09ICdmdW5jdGlvbicgPyBjbG91ZFByb3ZpZGVyLmdldFVzZXJOYW1lKCkgOiBudWxsO1xuXG4gIGNvbnN0IG9uQ2xpY2tDb25uZWN0ID1cbiAgICB0eXBlb2Ygb25Db25uZWN0ID09PSAnZnVuY3Rpb24nXG4gICAgICA/IG9uQ29ubmVjdFxuICAgICAgOiAoKSA9PiBjbG91ZFByb3ZpZGVyLmxvZ2luKCgpID0+IG9uU2V0Q2xvdWRQcm92aWRlcihjbG91ZFByb3ZpZGVyLm5hbWUpKTtcblxuICBjb25zdCBvbkNsaWNrTG9nb3V0ID1cbiAgICB0eXBlb2Ygb25Mb2dvdXQgPT09ICdmdW5jdGlvbidcbiAgICAgID8gb25Mb2dvdXRcbiAgICAgIDogKCkgPT4gY2xvdWRQcm92aWRlci5sb2dvdXQoKCkgPT4gKGlzU2VsZWN0ZWQgPyBvblNldENsb3VkUHJvdmlkZXIobnVsbCkgOiBudWxsKSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQm94PlxuICAgICAgPFN0eWxlZFRpbGVXcmFwcGVyIG9uQ2xpY2s9e2lzQ29ubmVjdGVkID8gb25TZWxlY3QgOiBvbkNsaWNrQ29ubmVjdH0gc2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9PlxuICAgICAgICA8U3R5bGVkQ2xvdWROYW1lPntjbG91ZFByb3ZpZGVyLmRpc3BsYXlOYW1lIHx8IGNsb3VkUHJvdmlkZXIubmFtZX08L1N0eWxlZENsb3VkTmFtZT5cbiAgICAgICAge2Nsb3VkUHJvdmlkZXIuaWNvbiA/IDxjbG91ZFByb3ZpZGVyLmljb24gaGVpZ2h0PVwiNjRweFwiIC8+IDogbnVsbH1cbiAgICAgICAgPEFjdGlvbkJ1dHRvbiBpc0Nvbm5lY3RlZD17aXNDb25uZWN0ZWR9IGFjdGlvbk5hbWU9e2FjdGlvbk5hbWV9IGlzUmVhZHk9e2lzUmVhZHl9IC8+XG4gICAgICAgIHt1c2VyTmFtZSAmJiA8U3R5bGVkVXNlck5hbWU+e3VzZXJOYW1lfTwvU3R5bGVkVXNlck5hbWU+fVxuICAgICAgICB7aXNTZWxlY3RlZCAmJiA8Q2hlY2tNYXJrIC8+fVxuICAgICAgPC9TdHlsZWRUaWxlV3JhcHBlcj5cbiAgICAgIHtpc0Nvbm5lY3RlZCA/IChcbiAgICAgICAgPExvZ291dEJ1dHRvbiBvbkNsaWNrPXtvbkNsaWNrTG9nb3V0fSAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPExvZ2luQnV0dG9uIG9uQ2xpY2s9e29uQ2xpY2tDb25uZWN0fSAvPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZEJveD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENsb3VkVGlsZTtcbiJdfQ==
|
|
144
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvY2xvdWQtdGlsZS50c3giXSwibmFtZXMiOlsiU3R5bGVkVGlsZVdyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsInByb3BzIiwic2VsZWN0ZWQiLCJ0aGVtZSIsInByaW1hcnlCdG5CZ2QiLCJzZWxlY3RCb3JkZXJDb2xvckxUIiwidHJhbnNpdGlvbiIsIlN0eWxlZEJveCIsIkNlbnRlclZlcnRpY2FsRmxleGJveCIsIlN0eWxlZENsb3VkTmFtZSIsIlN0eWxlZFVzZXJOYW1lIiwicHJpbWFyeUJ0bkFjdEJnZCIsIkxvZ2luQnV0dG9uIiwib25DbGljayIsIkxvZ291dEJ1dHRvbiIsIkFjdGlvbkJ1dHRvbiIsImlzQ29ubmVjdGVkIiwiYWN0aW9uTmFtZSIsImlzUmVhZHkiLCJDbG91ZFRpbGUiLCJvblNlbGVjdCIsIm9uQ29ubmVjdCIsIm9uTG9nb3V0IiwiY2xvdWRQcm92aWRlciIsIm9uU2V0Q2xvdWRQcm92aWRlciIsImlzU2VsZWN0ZWQiLCJ1c2VyTmFtZSIsImdldFVzZXJOYW1lIiwib25DbGlja0Nvbm5lY3QiLCJsb2dpbiIsIm5hbWUiLCJvbkNsaWNrTG9nb3V0IiwibG9nb3V0IiwiZGlzcGxheU5hbWUiLCJpY29uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQU9BLElBQU1BLGlCQUFpQixHQUFHQyw2QkFBT0MsR0FBUCxDQUFXQyxLQUFYLENBQWlCO0FBQ3pDQyxFQUFBQSxTQUFTLEVBQUU7QUFEOEIsQ0FBakIsQ0FBSCxzZ0JBU2pCLFVBQUFDLEtBQUs7QUFBQSxTQUFLQSxLQUFLLENBQUNDLFFBQU4sR0FBaUJELEtBQUssQ0FBQ0UsS0FBTixDQUFZQyxhQUE3QixHQUE2Q0gsS0FBSyxDQUFDRSxLQUFOLENBQVlFLG1CQUE5RDtBQUFBLENBVFksRUFVWixVQUFBSixLQUFLO0FBQUEsU0FBS0EsS0FBSyxDQUFDQyxRQUFO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REY7QUFnQkQsQ0FqREQ7O2VBbURlVCxTIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtMb2dvdXQsIExvZ2lufSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtDZW50ZXJWZXJ0aWNhbEZsZXhib3gsIEJ1dHRvbiwgQ2hlY2tNYXJrfSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IExvYWRpbmdTcGlubmVyIGZyb20gJy4uL2NvbW1vbi9sb2FkaW5nLXNwaW5uZXInO1xuaW1wb3J0IHtQcm92aWRlcn0gZnJvbSAnQGtlcGxlci5nbC9jbG91ZC1wcm92aWRlcnMnO1xuXG5pbnRlcmZhY2UgU3R5bGVkVGlsZVdyYXBwZXJQcm9wcyB7XG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbn1cblxuY29uc3QgU3R5bGVkVGlsZVdyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAncHJvdmlkZXItdGlsZV9fd3JhcHBlcidcbn0pPFN0eWxlZFRpbGVXcmFwcGVyUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzID0+IChwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2QgOiBwcm9wcy50aGVtZS5zZWxlY3RCb3JkZXJDb2xvckxUKX07XG4gIGNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2QgOiBwcm9wcy50aGVtZS5zZWxlY3RCb3JkZXJDb2xvckxUKX07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDE2OHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRyYW5zaXRpb259O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIDpob3ZlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkfTtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZEJveCA9IHN0eWxlZChDZW50ZXJWZXJ0aWNhbEZsZXhib3gpYFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG5gO1xuXG5jb25zdCBTdHlsZWRDbG91ZE5hbWUgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFVzZXJOYW1lID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMXB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdEJnZH07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDBweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5gO1xuXG5pbnRlcmZhY2UgT25DbGlja1Byb3BzIHtcbiAgb25DbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50Pjtcbn1cblxuY29uc3QgTG9naW5CdXR0b24gPSAoe29uQ2xpY2t9OiBPbkNsaWNrUHJvcHMpID0+IChcbiAgPEJ1dHRvbiBjbGFzc05hbWU9XCJsb2dpbi1idXR0b25cIiBsaW5rIHNtYWxsIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgIDxMb2dpbiAvPlxuICAgIExvZ2luXG4gIDwvQnV0dG9uPlxuKTtcblxuY29uc3QgTG9nb3V0QnV0dG9uID0gKHtvbkNsaWNrfTogT25DbGlja1Byb3BzKSA9PiAoXG4gIDxCdXR0b24gY2xhc3NOYW1lPVwibG9nb3V0LWJ1dHRvblwiIGxpbmsgc21hbGwgb25DbGljaz17b25DbGlja30+XG4gICAgPExvZ291dCAvPlxuICAgIExvZ291dFxuICA8L0J1dHRvbj5cbik7XG5cbmludGVyZmFjZSBBY3Rpb25CdXR0b25Qcm9wcyB7XG4gIGlzQ29ubmVjdGVkPzogYm9vbGVhbjtcbiAgYWN0aW9uTmFtZT86IHN0cmluZyB8IG51bGw7XG4gIGlzUmVhZHk/OiBib29sZWFuO1xufVxuXG5jb25zdCBBY3Rpb25CdXR0b24gPSAoe2lzQ29ubmVjdGVkLCBhY3Rpb25OYW1lID0gbnVsbCwgaXNSZWFkeX06IEFjdGlvbkJ1dHRvblByb3BzKSA9PlxuICBpc0Nvbm5lY3RlZCAmJiBhY3Rpb25OYW1lID8gKFxuICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiY2xvdWQtdGlsZV9fYWN0aW9uXCIgc21hbGwgc2Vjb25kYXJ5IGRpc2FibGVkPXshaXNSZWFkeX0+XG4gICAgICB7aXNSZWFkeSA/IGFjdGlvbk5hbWUgOiA8TG9hZGluZ1NwaW5uZXIgc2l6ZT17MTJ9IC8+fVxuICAgIDwvQnV0dG9uPlxuICApIDogbnVsbDtcblxuaW50ZXJmYWNlIENsb3VkVGlsZVByb3BzIHtcbiAgb25TZWxlY3Q/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIC8vIGRlZmF1bHQgdG8gbG9naW5cbiAgb25Db25uZWN0PzogKCgpID0+IHZvaWQpIHwgbnVsbDtcbiAgLy8gZGVmYXVsdCB0byBsb2dvdXRcbiAgb25Mb2dvdXQ/OiAoKCkgPT4gdm9pZCkgfCBudWxsO1xuICAvLyBhY3Rpb24gbmFtZVxuICBhY3Rpb25OYW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgLy8gY2xvdWQgcHJvdmlkZXIgY2xhc3NcbiAgY2xvdWRQcm92aWRlcjogUHJvdmlkZXI7XG4gIC8vIGZ1bmN0aW9uIHRvIHRha2UgYWZ0ZXIgbG9naW4gb3IgbG9nb3V0XG4gIG9uU2V0Q2xvdWRQcm92aWRlcjogKHByb3ZpZGVyTmFtZTogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZDtcbiAgLy8gd2hldGhlciBwcm92aWRlciBpcyBzZWxlY3RlZCBhcyBjdXJyZW50UHJvdmlkZXJcbiAgaXNTZWxlY3RlZD86IGJvb2xlYW47XG4gIC8vIHdoZXRoZXIgdXNlciBoYXMgbG9nZ2VkIGluXG4gIGlzQ29ubmVjdGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkeT86IGJvb2xlYW47XG59XG5cbmNvbnN0IENsb3VkVGlsZTogUmVhY3QuRkM8Q2xvdWRUaWxlUHJvcHM+ID0gKHtcbiAgLy8gYWN0aW9uIHdoZW4gY2xpY2sgb24gdGhlIHRpbGVcbiAgb25TZWxlY3QsXG4gIC8vIGRlZmF1bHQgdG8gbG9naW5cbiAgb25Db25uZWN0ID0gbnVsbCxcbiAgLy8gZGVmYXVsdCB0byBsb2dvdXRcbiAgb25Mb2dvdXQgPSBudWxsLFxuICAvLyBhY3Rpb24gbmFtZVxuICBhY3Rpb25OYW1lID0gbnVsbCxcbiAgLy8gY2xvdWQgcHJvdmlkZXIgY2xhc3NcbiAgY2xvdWRQcm92aWRlcixcbiAgLy8gZnVuY3Rpb24gdG8gdGFrZSBhZnRlciBsb2dpbiBvciBsb2dvdXRcbiAgb25TZXRDbG91ZFByb3ZpZGVyLFxuICAvLyB3aGV0aGVyIHByb3ZpZGVyIGlzIHNlbGVjdGVkIGFzIGN1cnJlbnRQcm92aWRlclxuICBpc1NlbGVjdGVkLFxuICAvLyB3aGV0aGVyIHVzZXIgaGFzIGxvZ2dlZCBpblxuICBpc0Nvbm5lY3RlZCxcblxuICBpc1JlYWR5ID0gdHJ1ZVxufSkgPT4ge1xuICBjb25zdCB1c2VyTmFtZSA9XG4gICAgdHlwZW9mIGNsb3VkUHJvdmlkZXIuZ2V0VXNlck5hbWUgPT09ICdmdW5jdGlvbicgPyBjbG91ZFByb3ZpZGVyLmdldFVzZXJOYW1lKCkgOiBudWxsO1xuXG4gIGNvbnN0IG9uQ2xpY2tDb25uZWN0ID1cbiAgICB0eXBlb2Ygb25Db25uZWN0ID09PSAnZnVuY3Rpb24nXG4gICAgICA/IG9uQ29ubmVjdFxuICAgICAgOiAoKSA9PiBjbG91ZFByb3ZpZGVyLmxvZ2luKCgpID0+IG9uU2V0Q2xvdWRQcm92aWRlcihjbG91ZFByb3ZpZGVyLm5hbWUpKTtcblxuICBjb25zdCBvbkNsaWNrTG9nb3V0ID1cbiAgICB0eXBlb2Ygb25Mb2dvdXQgPT09ICdmdW5jdGlvbidcbiAgICAgID8gb25Mb2dvdXRcbiAgICAgIDogKCkgPT4gY2xvdWRQcm92aWRlci5sb2dvdXQoKCkgPT4gKGlzU2VsZWN0ZWQgPyBvblNldENsb3VkUHJvdmlkZXIobnVsbCkgOiBudWxsKSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQm94PlxuICAgICAgPFN0eWxlZFRpbGVXcmFwcGVyIG9uQ2xpY2s9e2lzQ29ubmVjdGVkID8gb25TZWxlY3QgOiBvbkNsaWNrQ29ubmVjdH0gc2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9PlxuICAgICAgICA8U3R5bGVkQ2xvdWROYW1lPntjbG91ZFByb3ZpZGVyLmRpc3BsYXlOYW1lIHx8IGNsb3VkUHJvdmlkZXIubmFtZX08L1N0eWxlZENsb3VkTmFtZT5cbiAgICAgICAge2Nsb3VkUHJvdmlkZXIuaWNvbiA/IDxjbG91ZFByb3ZpZGVyLmljb24gaGVpZ2h0PVwiNjRweFwiIC8+IDogbnVsbH1cbiAgICAgICAgPEFjdGlvbkJ1dHRvbiBpc0Nvbm5lY3RlZD17aXNDb25uZWN0ZWR9IGFjdGlvbk5hbWU9e2FjdGlvbk5hbWV9IGlzUmVhZHk9e2lzUmVhZHl9IC8+XG4gICAgICAgIHt1c2VyTmFtZSAmJiA8U3R5bGVkVXNlck5hbWU+e3VzZXJOYW1lfTwvU3R5bGVkVXNlck5hbWU+fVxuICAgICAgICB7aXNTZWxlY3RlZCAmJiA8Q2hlY2tNYXJrIC8+fVxuICAgICAgPC9TdHlsZWRUaWxlV3JhcHBlcj5cbiAgICAgIHtpc0Nvbm5lY3RlZCA/IChcbiAgICAgICAgPExvZ291dEJ1dHRvbiBvbkNsaWNrPXtvbkNsaWNrTG9nb3V0fSAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPExvZ2luQnV0dG9uIG9uQ2xpY2s9e29uQ2xpY2tDb25uZWN0fSAvPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZEJveD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENsb3VkVGlsZTtcbiJdfQ==
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import DataTableFactory from '../common/data-table';
|
|
3
3
|
import KeplerTable, { Datasets } from '@kepler.gl/table';
|
|
4
|
+
import { UIStateActions } from '@kepler.gl/actions';
|
|
5
|
+
import { UiState } from '@kepler.gl/types';
|
|
6
|
+
import DataTableConfigFactory from '../common/data-table/display-format';
|
|
4
7
|
interface DatasetModalTabProps {
|
|
5
8
|
active?: boolean;
|
|
6
9
|
}
|
|
@@ -20,9 +23,15 @@ interface DataTableModalProps {
|
|
|
20
23
|
datasets: Datasets;
|
|
21
24
|
showDatasetTable: (id: string) => void;
|
|
22
25
|
showTab?: boolean;
|
|
26
|
+
setColumnDisplayFormat: (dataId: string, formats: {
|
|
27
|
+
column: string;
|
|
28
|
+
displayFormat: string;
|
|
29
|
+
}) => void;
|
|
30
|
+
uiStateActions: typeof UIStateActions;
|
|
31
|
+
uiState: UiState;
|
|
23
32
|
}
|
|
24
|
-
declare function DataTableModalFactory(DataTable: ReturnType<typeof DataTableFactory>): React.ComponentType<Omit<DataTableModalProps, 'theme'>>;
|
|
33
|
+
declare function DataTableModalFactory(DataTable: ReturnType<typeof DataTableFactory>, DataTableConfig: ReturnType<typeof DataTableConfigFactory>): React.ComponentType<Omit<DataTableModalProps, 'theme'>>;
|
|
25
34
|
declare namespace DataTableModalFactory {
|
|
26
|
-
var deps: (typeof DataTableFactory)[];
|
|
35
|
+
var deps: (typeof DataTableConfigFactory | typeof DataTableFactory)[];
|
|
27
36
|
}
|
|
28
37
|
export default DataTableModalFactory;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c)
|
|
1
|
+
// Copyright (c) 2023 Uber Technologies, Inc.
|
|
2
2
|
//
|
|
3
3
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
4
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -59,7 +59,13 @@ var _cellSize = require("../common/data-table/cell-size");
|
|
|
59
59
|
|
|
60
60
|
var _canvas = _interopRequireDefault(require("../common/data-table/canvas"));
|
|
61
61
|
|
|
62
|
-
var
|
|
62
|
+
var _icons = require("../common/icons");
|
|
63
|
+
|
|
64
|
+
var _portaled = _interopRequireDefault(require("../common/portaled"));
|
|
65
|
+
|
|
66
|
+
var _displayFormat = _interopRequireDefault(require("../common/data-table/display-format"));
|
|
67
|
+
|
|
68
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
63
69
|
|
|
64
70
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
65
71
|
|
|
@@ -69,29 +75,37 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
69
75
|
|
|
70
76
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
71
77
|
|
|
72
|
-
var MIN_STATS_CELL_SIZE =
|
|
78
|
+
var MIN_STATS_CELL_SIZE = 122;
|
|
79
|
+
var DEFAULT_SORT_COLUMN = {}; // sidePadding changes from 38 to 68, 30px for configuration button
|
|
80
|
+
|
|
73
81
|
var dgSettings = {
|
|
74
|
-
sidePadding: '
|
|
82
|
+
sidePadding: '68px',
|
|
75
83
|
verticalPadding: '16px',
|
|
76
84
|
height: '36px'
|
|
77
85
|
};
|
|
78
86
|
|
|
79
87
|
var StyledModal = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 85vh;\n overflow: hidden;\n display: flex;\n"])));
|
|
80
88
|
|
|
81
|
-
var DatasetCatalog = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: ", " ", " 0;\n"])), dgSettings.verticalPadding, dgSettings.sidePadding)
|
|
89
|
+
var DatasetCatalog = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: ", " ", " 0 0;\n\n .overflow-horizontal {\n display: flex;\n overflow-x: auto;\n overflow-y: hidden;\n flex-direction: row;\n ", "\n }\n"])), dgSettings.verticalPadding, dgSettings.sidePadding, function (props) {
|
|
90
|
+
return props.theme.modalScrollBar;
|
|
91
|
+
});
|
|
82
92
|
|
|
83
|
-
var DatasetModalTab = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n border-bottom: 3px solid ", ";\n cursor: pointer;\n display: flex;\n height: 35px;\n margin: 0 3px;\n padding: 0 5px;\n\n :
|
|
93
|
+
var DatasetModalTab = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n border-bottom: 3px solid ", ";\n cursor: pointer;\n display: flex;\n height: 35px;\n margin: 0 3px;\n padding: 0 5px;\n\n :hover {\n border-bottom: 3px solid black;\n }\n"])), function (props) {
|
|
84
94
|
return props.active ? 'black' : 'transparent';
|
|
85
95
|
});
|
|
86
96
|
|
|
87
97
|
exports.DatasetModalTab = DatasetModalTab;
|
|
88
98
|
|
|
99
|
+
var StyledConfigureButton = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-end;\n position: absolute;\n top: 24px;\n right: 48px;\n svg {\n stroke: black;\n }\n cursor: pointer;\n"])));
|
|
100
|
+
|
|
89
101
|
var DatasetTabsUnmemoized = function DatasetTabsUnmemoized(_ref) {
|
|
90
102
|
var activeDataset = _ref.activeDataset,
|
|
91
103
|
datasets = _ref.datasets,
|
|
92
104
|
showDatasetTable = _ref.showDatasetTable;
|
|
93
105
|
return /*#__PURE__*/_react["default"].createElement(DatasetCatalog, {
|
|
94
106
|
className: "dataset-modal-catalog"
|
|
107
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
108
|
+
className: "overflow-horizontal"
|
|
95
109
|
}, Object.values(datasets).map(function (dataset) {
|
|
96
110
|
return /*#__PURE__*/_react["default"].createElement(DatasetModalTab, {
|
|
97
111
|
className: "dataset-modal-tab",
|
|
@@ -103,18 +117,18 @@ var DatasetTabsUnmemoized = function DatasetTabsUnmemoized(_ref) {
|
|
|
103
117
|
}, /*#__PURE__*/_react["default"].createElement(_datasetLabel["default"], {
|
|
104
118
|
dataset: dataset
|
|
105
119
|
}));
|
|
106
|
-
}));
|
|
120
|
+
})));
|
|
107
121
|
};
|
|
108
122
|
|
|
109
123
|
var DatasetTabs = /*#__PURE__*/_react["default"].memo(DatasetTabsUnmemoized);
|
|
110
124
|
|
|
111
125
|
exports.DatasetTabs = DatasetTabs;
|
|
112
126
|
DatasetTabs.displayName = 'DatasetTabs';
|
|
113
|
-
DataTableModalFactory.deps = [_dataTable["default"]];
|
|
127
|
+
DataTableModalFactory.deps = [_dataTable["default"], _displayFormat["default"]];
|
|
114
128
|
|
|
115
|
-
var TableContainer = _styledComponents["default"].div(
|
|
129
|
+
var TableContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n min-height: 100%;\n max-height: 100%;\n max-width: 100%;\n"])));
|
|
116
130
|
|
|
117
|
-
function DataTableModalFactory(DataTable) {
|
|
131
|
+
function DataTableModalFactory(DataTable, DataTableConfig) {
|
|
118
132
|
var DataTableModal = /*#__PURE__*/function (_React$Component) {
|
|
119
133
|
(0, _inherits2["default"])(DataTableModal, _React$Component);
|
|
120
134
|
|
|
@@ -130,6 +144,9 @@ function DataTableModalFactory(DataTable) {
|
|
|
130
144
|
}
|
|
131
145
|
|
|
132
146
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
147
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
|
|
148
|
+
showConfig: false
|
|
149
|
+
});
|
|
133
150
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "datasetCellSizeCache", {});
|
|
134
151
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dataId", function (_ref2) {
|
|
135
152
|
var _ref2$dataId = _ref2.dataId,
|
|
@@ -150,18 +167,21 @@ function DataTableModalFactory(DataTable) {
|
|
|
150
167
|
return f.name;
|
|
151
168
|
});
|
|
152
169
|
}));
|
|
153
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "colMeta", (0, _reselect.createSelector)(_this.fields, function (fields) {
|
|
170
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "colMeta", (0, _reselect.createSelector)([_this.fields, _this.datasets], function (fields) {
|
|
154
171
|
return fields.reduce(function (acc, _ref4) {
|
|
155
172
|
var name = _ref4.name,
|
|
156
173
|
displayName = _ref4.displayName,
|
|
157
174
|
type = _ref4.type,
|
|
158
175
|
filterProps = _ref4.filterProps,
|
|
159
|
-
format = _ref4.format
|
|
160
|
-
|
|
176
|
+
format = _ref4.format,
|
|
177
|
+
displayFormat = _ref4.displayFormat;
|
|
178
|
+
return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2["default"])({}, name, _objectSpread(_objectSpread(_objectSpread({
|
|
161
179
|
name: displayName || name,
|
|
162
180
|
type: type
|
|
163
181
|
}, format ? {
|
|
164
182
|
format: format
|
|
183
|
+
} : {}), displayFormat ? {
|
|
184
|
+
displayFormat: displayFormat
|
|
165
185
|
} : {}), filterProps !== null && filterProps !== void 0 && filterProps.columnStats ? {
|
|
166
186
|
columnStats: filterProps.columnStats
|
|
167
187
|
} : {})));
|
|
@@ -191,7 +211,7 @@ function DataTableModalFactory(DataTable) {
|
|
|
191
211
|
return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2["default"])({}, field.name, (0, _cellSize.renderedSize)({
|
|
192
212
|
text: {
|
|
193
213
|
dataContainer: dataContainer,
|
|
194
|
-
column: field.
|
|
214
|
+
column: field.displayName
|
|
195
215
|
},
|
|
196
216
|
colIdx: colIdx,
|
|
197
217
|
type: field.type,
|
|
@@ -229,18 +249,34 @@ function DataTableModalFactory(DataTable) {
|
|
|
229
249
|
sortTableColumn = _this$props3.sortTableColumn;
|
|
230
250
|
sortTableColumn(dataId, column, mode);
|
|
231
251
|
});
|
|
252
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setColumnDisplayFormat", function (formats) {
|
|
253
|
+
var _this$props4 = _this.props,
|
|
254
|
+
dataId = _this$props4.dataId,
|
|
255
|
+
setColumnDisplayFormat = _this$props4.setColumnDisplayFormat;
|
|
256
|
+
if (dataId) setColumnDisplayFormat(dataId, formats);
|
|
257
|
+
});
|
|
258
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onOpenConfig", function () {
|
|
259
|
+
_this.setState({
|
|
260
|
+
showConfig: true
|
|
261
|
+
});
|
|
262
|
+
});
|
|
263
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onCloseConfig", function () {
|
|
264
|
+
_this.setState({
|
|
265
|
+
showConfig: false
|
|
266
|
+
});
|
|
267
|
+
});
|
|
232
268
|
return _this;
|
|
233
269
|
}
|
|
234
270
|
|
|
235
271
|
(0, _createClass2["default"])(DataTableModal, [{
|
|
236
272
|
key: "render",
|
|
237
273
|
value: function render() {
|
|
238
|
-
var _this$
|
|
239
|
-
datasets = _this$
|
|
240
|
-
dataId = _this$
|
|
241
|
-
showDatasetTable = _this$
|
|
242
|
-
_this$
|
|
243
|
-
showTab = _this$
|
|
274
|
+
var _this$props5 = this.props,
|
|
275
|
+
datasets = _this$props5.datasets,
|
|
276
|
+
dataId = _this$props5.dataId,
|
|
277
|
+
showDatasetTable = _this$props5.showDatasetTable,
|
|
278
|
+
_this$props5$showTab = _this$props5.showTab,
|
|
279
|
+
showTab = _this$props5$showTab === void 0 ? true : _this$props5$showTab;
|
|
244
280
|
|
|
245
281
|
if (!datasets || !dataId) {
|
|
246
282
|
return null;
|
|
@@ -257,7 +293,21 @@ function DataTableModalFactory(DataTable) {
|
|
|
257
293
|
activeDataset: activeDataset,
|
|
258
294
|
datasets: datasets,
|
|
259
295
|
showDatasetTable: showDatasetTable
|
|
260
|
-
}) : null,
|
|
296
|
+
}) : null, /*#__PURE__*/_react["default"].createElement(StyledConfigureButton, {
|
|
297
|
+
className: "display-config-button"
|
|
298
|
+
}, /*#__PURE__*/_react["default"].createElement(_icons.Gear, {
|
|
299
|
+
onClick: this.onOpenConfig
|
|
300
|
+
}), /*#__PURE__*/_react["default"].createElement(_portaled["default"], {
|
|
301
|
+
right: 240,
|
|
302
|
+
top: 20,
|
|
303
|
+
isOpened: this.state.showConfig,
|
|
304
|
+
onClose: this.onCloseConfig
|
|
305
|
+
}, /*#__PURE__*/_react["default"].createElement(DataTableConfig, {
|
|
306
|
+
columns: columns,
|
|
307
|
+
colMeta: colMeta,
|
|
308
|
+
setColumnDisplayFormat: this.setColumnDisplayFormat,
|
|
309
|
+
onClose: this.onCloseConfig
|
|
310
|
+
}))), datasets[dataId] ? /*#__PURE__*/_react["default"].createElement(DataTable, {
|
|
261
311
|
key: dataId,
|
|
262
312
|
dataId: dataId,
|
|
263
313
|
columns: columns,
|
|
@@ -266,11 +316,12 @@ function DataTableModalFactory(DataTable) {
|
|
|
266
316
|
dataContainer: activeDataset.dataContainer,
|
|
267
317
|
pinnedColumns: activeDataset.pinnedColumns,
|
|
268
318
|
sortOrder: activeDataset.sortOrder,
|
|
269
|
-
sortColumn: activeDataset.sortColumn,
|
|
319
|
+
sortColumn: activeDataset.sortColumn || DEFAULT_SORT_COLUMN,
|
|
270
320
|
copyTableColumn: this.copyTableColumn,
|
|
271
321
|
pinTableColumn: this.pinTableColumn,
|
|
272
322
|
sortTableColumn: this.sortTableColumn,
|
|
273
|
-
|
|
323
|
+
setColumnDisplayFormat: this.setColumnDisplayFormat,
|
|
324
|
+
hasStats: false
|
|
274
325
|
}) : null));
|
|
275
326
|
}
|
|
276
327
|
}]);
|
|
@@ -282,4 +333,4 @@ function DataTableModalFactory(DataTable) {
|
|
|
282
333
|
|
|
283
334
|
var _default = DataTableModalFactory;
|
|
284
335
|
exports["default"] = _default;
|
|
285
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvZGF0YS10YWJsZS1tb2RhbC50c3giXSwibmFtZXMiOlsiTUlOX1NUQVRTX0NFTExfU0laRSIsImRnU2V0dGluZ3MiLCJzaWRlUGFkZGluZyIsInZlcnRpY2FsUGFkZGluZyIsImhlaWdodCIsIlN0eWxlZE1vZGFsIiwic3R5bGVkIiwiZGl2IiwiRGF0YXNldENhdGFsb2ciLCJEYXRhc2V0TW9kYWxUYWIiLCJwcm9wcyIsImFjdGl2ZSIsIkRhdGFzZXRUYWJzVW5tZW1vaXplZCIsImFjdGl2ZURhdGFzZXQiLCJkYXRhc2V0cyIsInNob3dEYXRhc2V0VGFibGUiLCJPYmplY3QiLCJ2YWx1ZXMiLCJtYXAiLCJkYXRhc2V0IiwiaWQiLCJEYXRhc2V0VGFicyIsIlJlYWN0IiwibWVtbyIsImRpc3BsYXlOYW1lIiwiRGF0YVRhYmxlTW9kYWxGYWN0b3J5IiwiZGVwcyIsIkRhdGFUYWJsZUZhY3RvcnkiLCJUYWJsZUNvbnRhaW5lciIsIkRhdGFUYWJsZSIsIkRhdGFUYWJsZU1vZGFsIiwiZGF0YUlkIiwiZmllbGRzIiwiZiIsIm5hbWUiLCJyZWR1Y2UiLCJhY2MiLCJ0eXBlIiwiZmlsdGVyUHJvcHMiLCJmb3JtYXQiLCJjb2x1bW5TdGF0cyIsImRhdGFDb250YWluZXIiLCJzaG93Q2FsY3VsYXRlIiwiZGF0YXNldENlbGxTaXplQ2FjaGUiLCJjZWxsU2l6ZUNhY2hlIiwiZmllbGQiLCJjb2xJZHgiLCJ0ZXh0IiwiY29sdW1uIiwiZm9udFNpemUiLCJ0aGVtZSIsImNlbGxGb250U2l6ZSIsImZvbnQiLCJmb250RmFtaWx5IiwibWluQ2VsbFNpemUiLCJjb3B5VGFibGVDb2x1bW4iLCJwaW5UYWJsZUNvbHVtbiIsIm1vZGUiLCJzb3J0VGFibGVDb2x1bW4iLCJzaG93VGFiIiwiY29sdW1ucyIsImNvbE1ldGEiLCJwaW5uZWRDb2x1bW5zIiwic29ydE9yZGVyIiwic29ydENvbHVtbiIsIkNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7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WCxVQURELEdBZ0JHLElBeEJOLENBRkYsQ0FERjtBQStCRDtBQTVIc0Q7QUFBQTtBQUFBLElBQzVCcEMsa0JBQU0yQyxTQURzQjs7QUE4SHpELFNBQU8saUNBQVVuQyxjQUFWLENBQVA7QUFDRDs7ZUFFY0wscUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCwge3dpdGhUaGVtZX0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IERhdGFzZXRMYWJlbCBmcm9tICcuLi9jb21tb24vZGF0YXNldC1sYWJlbCc7XG5pbXBvcnQgRGF0YVRhYmxlRmFjdG9yeSBmcm9tICcuLi9jb21tb24vZGF0YS10YWJsZSc7XG5pbXBvcnQge2NyZWF0ZVNlbGVjdG9yfSBmcm9tICdyZXNlbGVjdCc7XG5pbXBvcnQge3JlbmRlcmVkU2l6ZX0gZnJvbSAnLi4vY29tbW9uL2RhdGEtdGFibGUvY2VsbC1zaXplJztcbmltcG9ydCBDYW52YXNIYWNrIGZyb20gJy4uL2NvbW1vbi9kYXRhLXRhYmxlL2NhbnZhcyc7XG5pbXBvcnQgS2VwbGVyVGFibGUsIHtEYXRhc2V0c30gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5cbmNvbnN0IE1JTl9TVEFUU19DRUxMX1NJWkUgPSAxNDI7XG5cbmNvbnN0IGRnU2V0dGluZ3MgPSB7XG4gIHNpZGVQYWRkaW5nOiAnMzhweCcsXG4gIHZlcnRpY2FsUGFkZGluZzogJzE2cHgnLFxuICBoZWlnaHQ6ICczNnB4J1xufTtcblxuY29uc3QgU3R5bGVkTW9kYWwgPSBzdHlsZWQuZGl2YFxuICBtaW4taGVpZ2h0OiA4NXZoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuY29uc3QgRGF0YXNldENhdGFsb2cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAke2RnU2V0dGluZ3MudmVydGljYWxQYWRkaW5nfSAke2RnU2V0dGluZ3Muc2lkZVBhZGRpbmd9IDA7XG5gO1xuXG5pbnRlcmZhY2UgRGF0YXNldE1vZGFsVGFiUHJvcHMge1xuICBhY3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgRGF0YXNldE1vZGFsVGFiID0gc3R5bGVkLmRpdjxEYXRhc2V0TW9kYWxUYWJQcm9wcz5gXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAke3Byb3BzID0+IChwcm9wcy5hY3RpdmUgPyAnYmxhY2snIDogJ3RyYW5zcGFyZW50Jyl9O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMzVweDtcbiAgbWFyZ2luOiAwIDNweDtcbiAgcGFkZGluZzogMCA1cHg7XG5cbiAgOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbmA7XG5cbmludGVyZmFjZSBEYXRhc2V0VGFic1VubWVtb2l6ZWRQcm9wcyB7XG4gIGFjdGl2ZURhdGFzZXQ6IEtlcGxlclRhYmxlO1xuICBkYXRhc2V0czogRGF0YXNldHM7XG4gIHNob3dEYXRhc2V0VGFibGU6IChpZDogc3RyaW5nKSA9PiB2b2lkO1xufVxuXG5jb25zdCBEYXRhc2V0VGFic1VubWVtb2l6ZWQ6IFJlYWN0LkZDPERhdGFzZXRUYWJzVW5tZW1vaXplZFByb3BzPiA9ICh7XG4gIGFjdGl2ZURhdGFzZXQsXG4gIGRhdGFzZXRzLFxuICBzaG93RGF0YXNldFRhYmxlXG59KSA9PiAoXG4gIDxEYXRhc2V0Q2F0YWxvZyBjbGFzc05hbWU9XCJkYXRhc2V0LW1vZGFsLWNhdGFsb2dcIj5cbiAgICB7T2JqZWN0LnZhbHVlcyhkYXRhc2V0cykubWFwKGRhdGFzZXQgPT4gKFxuICAgICAgPERhdGFzZXRNb2RhbFRhYlxuICAgICAgICBjbGFzc05hbWU9XCJkYXRhc2V0LW1vZGFsLXRhYlwiXG4gICAgICAgIGFjdGl2ZT17ZGF0YXNldCA9PT0gYWN0aXZlRGF0YXNldH1cbiAgICAgICAga2V5PXtkYXRhc2V0LmlkfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBzaG93RGF0YXNldFRhYmxlKGRhdGFzZXQuaWQpfVxuICAgICAgPlxuICAgICAgICA8RGF0YXNldExhYmVsIGRhdGFzZXQ9e2RhdGFzZXR9IC8+XG4gICAgICA8L0RhdGFzZXRNb2RhbFRhYj5cbiAgICApKX1cbiAgPC9EYXRhc2V0Q2F0YWxvZz5cbik7XG5cbmV4cG9ydCBjb25zdCBEYXRhc2V0VGFicyA9IFJlYWN0Lm1lbW8oRGF0YXNldFRhYnNVbm1lbW9pemVkKTtcblxuRGF0YXNldFRhYnMuZGlzcGxheU5hbWUgPSAnRGF0YXNldFRhYnMnO1xuXG5EYXRhVGFibGVNb2RhbEZhY3RvcnkuZGVwcyA9IFtEYXRhVGFibGVGYWN0b3J5XTtcblxuY29uc3QgVGFibGVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5gO1xuXG5pbnRlcmZhY2UgRGF0YVRhYmxlTW9kYWxQcm9wcyB7XG4gIHRoZW1lOiBhbnk7XG4gIGRhdGFJZD86IHN0cmluZztcbiAgc29ydFRhYmxlQ29sdW1uOiAoaWQ6IHN0cmluZywgY29sdW1uOiBzdHJpbmcsIG1vZGU/OiBzdHJpbmcpID0+IHZvaWQ7XG4gIHBpblRhYmxlQ29sdW1uOiAoaWQ6IHN0cmluZywgY29sdW1uOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGNvcHlUYWJsZUNvbHVtbjogKGlkOiBzdHJpbmcsIGNvbHVtbjogc3RyaW5nKSA9PiB2b2lkO1xuICBkYXRhc2V0czogRGF0YXNldHM7XG4gIHNob3dEYXRhc2V0VGFibGU6IChpZDogc3RyaW5nKSA9PiB2b2lkO1xuICBzaG93VGFiPzogYm9vbGVhbjtcbn1cblxuZnVuY3Rpb24gRGF0YVRhYmxlTW9kYWxGYWN0b3J5KFxuICBEYXRhVGFibGU6IFJldHVyblR5cGU8dHlwZW9mIERhdGFUYWJsZUZhY3Rvcnk+XG4pOiBSZWFjdC5Db21wb25lbnRUeXBlPE9taXQ8RGF0YVRhYmxlTW9kYWxQcm9wcywgJ3RoZW1lJz4+IHtcbiAgY2xhc3MgRGF0YVRhYmxlTW9kYWwgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8RGF0YVRhYmxlTW9kYWxQcm9wcz4ge1xuICAgIGRhdGFzZXRDZWxsU2l6ZUNhY2hlID0ge307XG4gICAgZGF0YUlkID0gKHtkYXRhSWQgPSAnJ306IERhdGFUYWJsZU1vZGFsUHJvcHMpID0+IGRhdGFJZDtcbiAgICBkYXRhc2V0cyA9IChwcm9wczogRGF0YVRhYmxlTW9kYWxQcm9wcykgPT4gcHJvcHMuZGF0YXNldHM7XG4gICAgZmllbGRzID0gKHtkYXRhc2V0cywgZGF0YUlkID0gJyd9OiBEYXRhVGFibGVNb2RhbFByb3BzKSA9PiAoZGF0YXNldHNbZGF0YUlkXSB8fCB7fSkuZmllbGRzO1xuICAgIGNvbHVtbnMgPSBjcmVhdGVTZWxlY3Rvcih0aGlzLmZpZWxkcywgZmllbGRzID0+IGZpZWxkcy5tYXAoZiA9PiBmLm5hbWUpKTtcbiAgICBjb2xNZXRhID0gY3JlYXRlU2VsZWN0b3IodGhpcy5maWVsZHMsIGZpZWxkcyA9PlxuICAgICAgZmllbGRzLnJlZHVjZShcbiAgICAgICAgKGFjYywge25hbWUsIGRpc3BsYXlOYW1lLCB0eXBlLCBmaWx0ZXJQcm9wcywgZm9ybWF0fSkgPT4gKHtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgW25hbWVdOiB7XG4gICAgICAgICAgICBuYW1lOiBkaXNwbGF5TmFtZSB8fCBuYW1lLFxuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIC4uLihmb3JtYXQgPyB7Zm9ybWF0fSA6IHt9KSxcbiAgICAgICAgICAgIC4uLihmaWx0ZXJQcm9wcz8uY29sdW1uU3RhdHMgPyB7Y29sdW1uU3RhdHM6IGZpbHRlclByb3BzLmNvbHVtblN0YXRzfSA6IHt9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHt9XG4gICAgICApXG4gICAgKTtcblxuICAgIGNlbGxTaXplQ2FjaGUgPSBjcmVhdGVTZWxlY3Rvcih0aGlzLmRhdGFJZCwgdGhpcy5kYXRhc2V0cywgKGRhdGFJZCwgZGF0YXNldHMpID0+IHtcbiAgICAgIGlmICghZGF0YXNldHNbZGF0YUlkXSkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgICBjb25zdCB7ZmllbGRzLCBkYXRhQ29udGFpbmVyfSA9IGRhdGFzZXRzW2RhdGFJZF07XG5cbiAgICAgIGxldCBzaG93Q2FsY3VsYXRlOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG4gICAgICBpZiAoIXRoaXMuZGF0YXNldENlbGxTaXplQ2FjaGVbZGF0YUlkXSkge1xuICAgICAgICBzaG93Q2FsY3VsYXRlID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMuZGF0YXNldENlbGxTaXplQ2FjaGVbZGF0YUlkXS5maWVsZHMgIT09IGZpZWxkcyB8fFxuICAgICAgICB0aGlzLmRhdGFzZXRDZWxsU2l6ZUNhY2hlW2RhdGFJZF0uZGF0YUNvbnRhaW5lciAhPT0gZGF0YUNvbnRhaW5lclxuICAgICAgKSB7XG4gICAgICAgIHNob3dDYWxjdWxhdGUgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXNob3dDYWxjdWxhdGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YXNldENlbGxTaXplQ2FjaGVbZGF0YUlkXS5jZWxsU2l6ZUNhY2hlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjZWxsU2l6ZUNhY2hlID0gZmllbGRzLnJlZHVjZShcbiAgICAgICAgKGFjYywgZmllbGQsIGNvbElkeCkgPT4gKHtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgW2ZpZWxkLm5hbWVdOiByZW5kZXJlZFNpemUoe1xuICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICBkYXRhQ29udGFpbmVyLFxuICAgICAgICAgICAgICBjb2x1bW46IGZpZWxkLm5hbWVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb2xJZHgsXG4gICAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxuICAgICAgICAgICAgZm9udFNpemU6IHRoaXMucHJvcHMudGhlbWUuY2VsbEZvbnRTaXplLFxuICAgICAgICAgICAgZm9udDogdGhpcy5wcm9wcy50aGVtZS5mb250RmFtaWx5LFxuICAgICAgICAgICAgbWluQ2VsbFNpemU6IE1JTl9TVEFUU19DRUxMX1NJWkVcbiAgICAgICAgICB9KVxuICAgICAgICB9KSxcbiAgICAgICAge31cbiAgICAgICk7XG4gICAgICAvLyBzYXZlIGl0IHRvIGNhY2hlXG4gICAgICB0aGlzLmRhdGFzZXRDZWxsU2l6ZUNhY2hlW2RhdGFJZF0gPSB7XG4gICAgICAgIGNlbGxTaXplQ2FjaGUsXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgZGF0YUNvbnRhaW5lclxuICAgICAgfTtcbiAgICAgIHJldHVybiBjZWxsU2l6ZUNhY2hlO1xuICAgIH0pO1xuXG4gICAgY29weVRhYmxlQ29sdW1uID0gKGNvbHVtbjogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB7ZGF0YUlkID0gJycsIGNvcHlUYWJsZUNvbHVtbn0gPSB0aGlzLnByb3BzO1xuICAgICAgY29weVRhYmxlQ29sdW1uKGRhdGFJZCwgY29sdW1uKTtcbiAgICB9O1xuXG4gICAgcGluVGFibGVDb2x1bW4gPSAoY29sdW1uOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHtkYXRhSWQgPSAnJywgcGluVGFibGVDb2x1bW59ID0gdGhpcy5wcm9wcztcbiAgICAgIHBpblRhYmxlQ29sdW1uKGRhdGFJZCwgY29sdW1uKTtcbiAgICB9O1xuXG4gICAgc29ydFRhYmxlQ29sdW1uID0gKGNvbHVtbjogc3RyaW5nLCBtb2RlPzogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB7ZGF0YUlkID0gJycsIHNvcnRUYWJsZUNvbHVtbn0gPSB0aGlzLnByb3BzO1xuICAgICAgc29ydFRhYmxlQ29sdW1uKGRhdGFJZCwgY29sdW1uLCBtb2RlKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge2RhdGFzZXRzLCBkYXRhSWQsIHNob3dEYXRhc2V0VGFibGUsIHNob3dUYWIgPSB0cnVlfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoIWRhdGFzZXRzIHx8ICFkYXRhSWQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBhY3RpdmVEYXRhc2V0ID0gZGF0YXNldHNbZGF0YUlkXTtcbiAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmNvbHVtbnModGhpcy5wcm9wcyk7XG4gICAgICBjb25zdCBjb2xNZXRhID0gdGhpcy5jb2xNZXRhKHRoaXMucHJvcHMpO1xuICAgICAgY29uc3QgY2VsbFNpemVDYWNoZSA9IHRoaXMuY2VsbFNpemVDYWNoZSh0aGlzLnByb3BzKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZE1vZGFsIGNsYXNzTmFtZT1cImRhdGFzZXQtbW9kYWxcIiBpZD1cImRhdGFzZXQtbW9kYWxcIj5cbiAgICAgICAgICA8Q2FudmFzSGFjayAvPlxuICAgICAgICAgIDxUYWJsZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIHtzaG93VGFiID8gKFxuICAgICAgICAgICAgICA8RGF0YXNldFRhYnNcbiAgICAgICAgICAgICAgICBhY3RpdmVEYXRhc2V0PXthY3RpdmVEYXRhc2V0fVxuICAgICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXtzaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7ZGF0YXNldHNbZGF0YUlkXSA/IChcbiAgICAgICAgICAgICAgPERhdGFUYWJsZVxuICAgICAgICAgICAgICAgIGtleT17ZGF0YUlkfVxuICAgICAgICAgICAgICAgIGRhdGFJZD17ZGF0YUlkfVxuICAgICAgICAgICAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICAgICAgICAgICAgY29sTWV0YT17Y29sTWV0YX1cbiAgICAgICAgICAgICAgICBjZWxsU2l6ZUNhY2hlPXtjZWxsU2l6ZUNhY2hlfVxuICAgICAgICAgICAgICAgIGRhdGFDb250YWluZXI9e2FjdGl2ZURhdGFzZXQuZGF0YUNvbnRhaW5lcn1cbiAgICAgICAgICAgICAgICBwaW5uZWRDb2x1bW5zPXthY3RpdmVEYXRhc2V0LnBpbm5lZENvbHVtbnN9XG4gICAgICAgICAgICAgICAgc29ydE9yZGVyPXthY3RpdmVEYXRhc2V0LnNvcnRPcmRlcn1cbiAgICAgICAgICAgICAgICBzb3J0Q29sdW1uPXthY3RpdmVEYXRhc2V0LnNvcnRDb2x1bW59XG4gICAgICAgICAgICAgICAgY29weVRhYmxlQ29sdW1uPXt0aGlzLmNvcHlUYWJsZUNvbHVtbn1cbiAgICAgICAgICAgICAgICBwaW5UYWJsZUNvbHVtbj17dGhpcy5waW5UYWJsZUNvbHVtbn1cbiAgICAgICAgICAgICAgICBzb3J0VGFibGVDb2x1bW49e3RoaXMuc29ydFRhYmxlQ29sdW1ufVxuICAgICAgICAgICAgICAgIHNob3dTdGF0c1xuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPC9UYWJsZUNvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRNb2RhbD5cbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHJldHVybiB3aXRoVGhlbWUoRGF0YVRhYmxlTW9kYWwpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBEYXRhVGFibGVNb2RhbEZhY3Rvcnk7XG4iXX0=
|
|
336
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvZGF0YS10YWJsZS1tb2RhbC50c3giXSwibmFtZXMiOlsiTUlOX1NUQVRTX0NFTExfU0laRSIsIkRFRkFVTFRfU09SVF9DT0xVTU4iLCJkZ1NldHRpbmdzIiwic2lkZVBhZGRpbmciLCJ2ZXJ0aWNhbFBhZGRpbmciLCJoZWlnaHQiLCJTdHlsZWRNb2RhbCIsInN0eWxlZCIsImRpdiIsIkRhdGFzZXRDYXRhbG9nIiwicHJvcHMiLCJ0aGVtZSIsIm1vZGFsU2Nyb2xsQmFyIiwiRGF0YXNldE1vZGFsVGFiIiwiYWN0aXZlIiwiU3R5bGVkQ29uZmlndXJlQnV0dG9uIiwiRGF0YXNldFRhYnNVbm1lbW9pemVkIiwiYWN0aXZlRGF0YXNldCIsImRhdGFzZXRzIiwic2hvd0RhdGFzZXRUYWJsZSIsIk9iamVjdCIsInZhbHVlcyIsIm1hcCIsImRhdGFzZXQiLCJpZCIsIkRhdGFzZXRUYWJzIiwiUmVhY3QiLCJtZW1vIiwiZGlzcGxheU5hbWUiLCJEYXRhVGFibGVNb2RhbEZhY3RvcnkiLCJkZXBzIiwiRGF0YVRhYmxlRmFjdG9yeSIsIkRhdGFUYWJsZUNvbmZpZ0ZhY3RvcnkiLCJUYWJsZUNvbnRhaW5lciIsIkRhdGFUYWJsZSIsIkRhdGFUYWJsZUNvbmZpZyIsIkRhdGFUYWJsZU1vZGFsIiwic2hvd0NvbmZpZyIsImRhdGFJZCIsImZpZWxkcyIsImYiLCJuYW1lIiwicmVkdWNlIiwiYWNjIiwidHlwZSIsImZpbHRlclByb3BzIiwiZm9ybWF0IiwiZGlzcGxheUZvcm1hdCIsImNvbHVtblN0YXRzIiwiZGF0YUNvbnRhaW5lciIsInNob3dDYWxjdWxhdGUiLCJkYXRhc2V0Q2VsbFNpemVDYWNoZSIsImNlbGxTaXplQ2FjaGUiLCJmaWVsZCIsImNvbElkeCIsInRleHQiLCJjb2x1bW4iLCJmb250U2l6ZSIsImNlbGxGb250U2l6ZSIsImZvbnQiLCJmb250RmFtaWx5IiwibWluQ2VsbFNpemUiLCJjb3B5VGFibGVDb2x1bW4iLCJwaW5UYWJsZUNvbHVtbiIsIm1vZGUiLCJzb3J0VGFibGVDb2x1bW4iLCJmb3JtYXRzIiwic2V0Q29sdW1uRGlzcGxheUZvcm1hdCIsInNldFN0YXRlIiwic2hvd1RhYiIsImNvbHVtbnMiLCJjb2xNZXRhIiwib25PcGVuQ29uZmlnIiwic3RhdGUiLCJvbkNsb3NlQ29uZmlnIiwicGlubmVkQ29sdW1ucyIsInNvcnRPcmRlciIsInNvcnRDb2x1bW4iLCJDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFJQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7O0FBRUEsSUFBTUEsbUJBQW1CLEdBQUcsR0FBNUI7QUFDQSxJQUFNQyxtQkFBbUIsR0FBRyxFQUE1QixDLENBRUE7O0FBQ0EsSUFBTUMsVUFBVSxHQUFHO0FBQ2pCQyxFQUFBQSxXQUFXLEVBQUUsTUFESTtBQUVqQkMsRUFBQUEsZUFBZSxFQUFFLE1BRkE7QUFHakJDLEVBQUFBLE1BQU0sRUFBRTtBQUhTLENBQW5COztBQU1BLElBQU1DLFdBQVcsR0FBR0MsNkJBQU9DLEdBQVYsb0pBQWpCOztBQU1BLElBQU1DLGNBQWMsR0FBR0YsNkJBQU9DLEdBQVYsaVJBRVBOLFVBQVUsQ0FBQ0UsZUFGSixFQUV1QkYsVUFBVSxDQUFDQyxXQUZsQyxFQVNkLFVBQUFPLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsY0FBaEI7QUFBQSxDQVRTLENBQXBCOztBQWlCTyxJQUFNQyxlQUFlLEdBQUdOLDZCQUFPQyxHQUFWLHlTQUVDLFVBQUFFLEtBQUs7QUFBQSxTQUFLQSxLQUFLLENBQUNJLE1BQU4sR0FBZSxPQUFmLEdBQXlCLGFBQTlCO0FBQUEsQ0FGTixDQUFyQjs7OztBQWNQLElBQU1DLHFCQUFxQixHQUFHUiw2QkFBT0MsR0FBVixxUEFBM0I7O0FBa0JBLElBQU1RLHFCQUEyRCxHQUFHLFNBQTlEQSxxQkFBOEQ7QUFBQSxNQUNsRUMsYUFEa0UsUUFDbEVBLGFBRGtFO0FBQUEsTUFFbEVDLFFBRmtFLFFBRWxFQSxRQUZrRTtBQUFBLE1BR2xFQyxnQkFIa0UsUUFHbEVBLGdCQUhrRTtBQUFBLHNCQUtsRSxnQ0FBQyxjQUFEO0FBQWdCLElBQUEsU0FBUyxFQUFDO0FBQTFCLGtCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUNHQyxNQUFNLENBQUNDLE1BQVAsQ0FBY0gsUUFBZCxFQUF3QkksR0FBeEIsQ0FBNEIsVUFBQUMsT0FBTztBQUFBLHdCQUNsQyxnQ0FBQyxlQUFEO0FBQ0UsTUFBQSxTQUFTLEVBQUMsbUJBRFo7QUFFRSxNQUFBLE1BQU0sRUFBRUEsT0FBTyxLQUFLTixhQUZ0QjtBQUdFLE1BQUEsR0FBRyxFQUFFTSxPQUFPLENBQUNDLEVBSGY7QUFJRSxNQUFBLE9BQU8sRUFBRTtBQUFBLGVBQU1MLGdCQUFnQixDQUFDSSxPQUFPLENBQUNDLEVBQVQsQ0FBdEI7QUFBQTtBQUpYLG9CQU1FLGdDQUFDLHdCQUFEO0FBQWMsTUFBQSxPQUFPLEVBQUVEO0FBQXZCLE1BTkYsQ0FEa0M7QUFBQSxHQUFuQyxDQURILENBREYsQ0FMa0U7QUFBQSxDQUFwRTs7QUFxQk8sSUFBTUUsV0FBVyxnQkFBR0Msa0JBQU1DLElBQU4sQ0FBV1gscUJBQVgsQ0FBcEI7OztBQUVQUyxXQUFXLENBQUNHLFdBQVosR0FBMEIsYUFBMUI7QUFFQUMscUJBQXFCLENBQUNDLElBQXRCLEdBQTZCLENBQUNDLHFCQUFELEVBQW1CQyx5QkFBbkIsQ0FBN0I7O0FBRUEsSUFBTUMsY0FBYyxHQUFHMUIsNkJBQU9DLEdBQVYsc05BQXBCOztBQTZCQSxTQUFTcUIscUJBQVQsQ0FDRUssU0FERixFQUVFQyxlQUZGLEVBRzJEO0FBQUEsTUFDbkRDLGNBRG1EO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSxnR0FFL0M7QUFDTkMsUUFBQUEsVUFBVSxFQUFFO0FBRE4sT0FGK0M7QUFBQSwrR0FNaEMsRUFOZ0M7QUFBQSxpR0FPOUM7QUFBQSxpQ0FBRUMsTUFBRjtBQUFBLFlBQUVBLE1BQUYsNkJBQVcsRUFBWDtBQUFBLGVBQXdDQSxNQUF4QztBQUFBLE9BUDhDO0FBQUEsbUdBUTVDLFVBQUM1QixLQUFEO0FBQUEsZUFBZ0NBLEtBQUssQ0FBQ1EsUUFBdEM7QUFBQSxPQVI0QztBQUFBLGlHQVM5QztBQUFBLFlBQUVBLFFBQUYsU0FBRUEsUUFBRjtBQUFBLGlDQUFZb0IsTUFBWjtBQUFBLFlBQVlBLE1BQVosNkJBQXFCLEVBQXJCO0FBQUEsZUFBa0QsQ0FBQ3BCLFFBQVEsQ0FBQ29CLE1BQUQsQ0FBUixJQUFvQixFQUFyQixFQUF5QkMsTUFBM0U7QUFBQSxPQVQ4QztBQUFBLGtHQVU3Qyw4QkFBZSxNQUFLQSxNQUFwQixFQUE0QixVQUFBQSxNQUFNO0FBQUEsZUFBSUEsTUFBTSxDQUFDakIsR0FBUCxDQUFXLFVBQUFrQixDQUFDO0FBQUEsaUJBQUlBLENBQUMsQ0FBQ0MsSUFBTjtBQUFBLFNBQVosQ0FBSjtBQUFBLE9BQWxDLENBVjZDO0FBQUEsa0dBVzdDLDhCQUFlLENBQUMsTUFBS0YsTUFBTixFQUFjLE1BQUtyQixRQUFuQixDQUFmLEVBQTZDLFVBQUFxQixNQUFNO0FBQUEsZUFDM0RBLE1BQU0sQ0FBQ0csTUFBUCxDQUNFLFVBQUNDLEdBQUQ7QUFBQSxjQUFPRixJQUFQLFNBQU9BLElBQVA7QUFBQSxjQUFhYixXQUFiLFNBQWFBLFdBQWI7QUFBQSxjQUEwQmdCLElBQTFCLFNBQTBCQSxJQUExQjtBQUFBLGNBQWdDQyxXQUFoQyxTQUFnQ0EsV0FBaEM7QUFBQSxjQUE2Q0MsTUFBN0MsU0FBNkNBLE1BQTdDO0FBQUEsY0FBcURDLGFBQXJELFNBQXFEQSxhQUFyRDtBQUFBLGlEQUNLSixHQURMLDRDQUVHRixJQUZIO0FBR0lBLFlBQUFBLElBQUksRUFBRWIsV0FBVyxJQUFJYSxJQUh6QjtBQUlJRyxZQUFBQSxJQUFJLEVBQUpBO0FBSkosYUFLUUUsTUFBTSxHQUFHO0FBQUNBLFlBQUFBLE1BQU0sRUFBTkE7QUFBRCxXQUFILEdBQWMsRUFMNUIsR0FNUUMsYUFBYSxHQUFHO0FBQUNBLFlBQUFBLGFBQWEsRUFBYkE7QUFBRCxXQUFILEdBQXFCLEVBTjFDLEdBT1FGLFdBQVcsU0FBWCxJQUFBQSxXQUFXLFdBQVgsSUFBQUEsV0FBVyxDQUFFRyxXQUFiLEdBQTJCO0FBQUNBLFlBQUFBLFdBQVcsRUFBRUgsV0FBVyxDQUFDRztBQUExQixXQUEzQixHQUFvRSxFQVA1RTtBQUFBLFNBREYsRUFXRSxFQVhGLENBRDJEO0FBQUEsT0FBbkQsQ0FYNkM7QUFBQSx3R0EyQnZDLDhCQUFlLE1BQUtWLE1BQXBCLEVBQTRCLE1BQUtwQixRQUFqQyxFQUEyQyxVQUFDb0IsTUFBRCxFQUFTcEIsUUFBVCxFQUFzQjtBQUMvRSxZQUFJLENBQUNBLFFBQVEsQ0FBQ29CLE1BQUQsQ0FBYixFQUF1QjtBQUNyQixpQkFBTyxFQUFQO0FBQ0Q7O0FBSDhFLCtCQUkvQ3BCLFFBQVEsQ0FBQ29CLE1BQUQsQ0FKdUM7QUFBQSxZQUl4RUMsTUFKd0Usb0JBSXhFQSxNQUp3RTtBQUFBLFlBSWhFVSxhQUpnRSxvQkFJaEVBLGFBSmdFO0FBTS9FLFlBQUlDLGFBQTZCLEdBQUcsSUFBcEM7O0FBQ0EsWUFBSSxDQUFDLE1BQUtDLG9CQUFMLENBQTBCYixNQUExQixDQUFMLEVBQXdDO0FBQ3RDWSxVQUFBQSxhQUFhLEdBQUcsSUFBaEI7QUFDRCxTQUZELE1BRU8sSUFDTCxNQUFLQyxvQkFBTCxDQUEwQmIsTUFBMUIsRUFBa0NDLE1BQWxDLEtBQTZDQSxNQUE3QyxJQUNBLE1BQUtZLG9CQUFMLENBQTBCYixNQUExQixFQUFrQ1csYUFBbEMsS0FBb0RBLGFBRi9DLEVBR0w7QUFDQUMsVUFBQUEsYUFBYSxHQUFHLElBQWhCO0FBQ0Q7O0FBRUQsWUFBSSxDQUFDQSxhQUFMLEVBQW9CO0FBQ2xCLGlCQUFPLE1BQUtDLG9CQUFMLENBQTBCYixNQUExQixFQUFrQ2MsYUFBekM7QUFDRDs7QUFFRCxZQUFNQSxhQUFhLEdBQUdiLE1BQU0sQ0FBQ0csTUFBUCxDQUNwQixVQUFDQyxHQUFELEVBQU1VLEtBQU4sRUFBYUMsTUFBYjtBQUFBLGlEQUNLWCxHQURMLDRDQUVHVSxLQUFLLENBQUNaLElBRlQsRUFFZ0IsNEJBQWE7QUFDekJjLFlBQUFBLElBQUksRUFBRTtBQUNKTixjQUFBQSxhQUFhLEVBQWJBLGFBREk7QUFFSk8sY0FBQUEsTUFBTSxFQUFFSCxLQUFLLENBQUN6QjtBQUZWLGFBRG1CO0FBS3pCMEIsWUFBQUEsTUFBTSxFQUFOQSxNQUx5QjtBQU16QlYsWUFBQUEsSUFBSSxFQUFFUyxLQUFLLENBQUNULElBTmE7QUFPekJhLFlBQUFBLFFBQVEsRUFBRSxNQUFLL0MsS0FBTCxDQUFXQyxLQUFYLENBQWlCK0MsWUFQRjtBQVF6QkMsWUFBQUEsSUFBSSxFQUFFLE1BQUtqRCxLQUFMLENBQVdDLEtBQVgsQ0FBaUJpRCxVQVJFO0FBU3pCQyxZQUFBQSxXQUFXLEVBQUU3RDtBQVRZLFdBQWIsQ0FGaEI7QUFBQSxTQURvQixFQWVwQixFQWZvQixDQUF0QixDQXBCK0UsQ0FxQy9FOztBQUNBLGNBQUttRCxvQkFBTCxDQUEwQmIsTUFBMUIsSUFBb0M7QUFDbENjLFVBQUFBLGFBQWEsRUFBYkEsYUFEa0M7QUFFbENiLFVBQUFBLE1BQU0sRUFBTkEsTUFGa0M7QUFHbENVLFVBQUFBLGFBQWEsRUFBYkE7QUFIa0MsU0FBcEM7QUFLQSxlQUFPRyxhQUFQO0FBQ0QsT0E1Q2UsQ0EzQnVDO0FBQUEsMEdBeUVyQyxVQUFDSSxNQUFELEVBQW9CO0FBQUEsMEJBQ0csTUFBSzlDLEtBRFI7QUFBQSw2Q0FDN0I0QixNQUQ2QjtBQUFBLFlBQzdCQSxNQUQ2QixtQ0FDcEIsRUFEb0I7QUFBQSxZQUNoQndCLGVBRGdCLGVBQ2hCQSxlQURnQjtBQUVwQ0EsUUFBQUEsZUFBZSxDQUFDeEIsTUFBRCxFQUFTa0IsTUFBVCxDQUFmO0FBQ0QsT0E1RXNEO0FBQUEseUdBOEV0QyxVQUFDQSxNQUFELEVBQW9CO0FBQUEsMkJBQ0csTUFBSzlDLEtBRFI7QUFBQSwrQ0FDNUI0QixNQUQ0QjtBQUFBLFlBQzVCQSxNQUQ0QixvQ0FDbkIsRUFEbUI7QUFBQSxZQUNmeUIsY0FEZSxnQkFDZkEsY0FEZTtBQUVuQ0EsUUFBQUEsY0FBYyxDQUFDekIsTUFBRCxFQUFTa0IsTUFBVCxDQUFkO0FBQ0QsT0FqRnNEO0FBQUEsMEdBbUZyQyxVQUFDQSxNQUFELEVBQWlCUSxJQUFqQixFQUFtQztBQUFBLDJCQUNaLE1BQUt0RCxLQURPO0FBQUEsK0NBQzVDNEIsTUFENEM7QUFBQSxZQUM1Q0EsTUFENEMsb0NBQ25DLEVBRG1DO0FBQUEsWUFDL0IyQixlQUQrQixnQkFDL0JBLGVBRCtCO0FBRW5EQSxRQUFBQSxlQUFlLENBQUMzQixNQUFELEVBQVNrQixNQUFULEVBQWlCUSxJQUFqQixDQUFmO0FBQ0QsT0F0RnNEO0FBQUEsaUhBd0Y5QixVQUFBRSxPQUFPLEVBQUk7QUFBQSwyQkFDTyxNQUFLeEQsS0FEWjtBQUFBLFlBQzNCNEIsTUFEMkIsZ0JBQzNCQSxNQUQyQjtBQUFBLFlBQ25CNkIsc0JBRG1CLGdCQUNuQkEsc0JBRG1CO0FBRWxDLFlBQUk3QixNQUFKLEVBQVk2QixzQkFBc0IsQ0FBQzdCLE1BQUQsRUFBUzRCLE9BQVQsQ0FBdEI7QUFDYixPQTNGc0Q7QUFBQSx1R0E2RnhDLFlBQU07QUFDbkIsY0FBS0UsUUFBTCxDQUFjO0FBQUMvQixVQUFBQSxVQUFVLEVBQUU7QUFBYixTQUFkO0FBQ0QsT0EvRnNEO0FBQUEsd0dBaUd2QyxZQUFNO0FBQ3BCLGNBQUsrQixRQUFMLENBQWM7QUFBQy9CLFVBQUFBLFVBQVUsRUFBRTtBQUFiLFNBQWQ7QUFDRCxPQW5Hc0Q7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQSxhQXFHdkQsa0JBQVM7QUFBQSwyQkFDc0QsS0FBSzNCLEtBRDNEO0FBQUEsWUFDQVEsUUFEQSxnQkFDQUEsUUFEQTtBQUFBLFlBQ1VvQixNQURWLGdCQUNVQSxNQURWO0FBQUEsWUFDa0JuQixnQkFEbEIsZ0JBQ2tCQSxnQkFEbEI7QUFBQSxnREFDb0NrRCxPQURwQztBQUFBLFlBQ29DQSxPQURwQyxxQ0FDOEMsSUFEOUM7O0FBRVAsWUFBSSxDQUFDbkQsUUFBRCxJQUFhLENBQUNvQixNQUFsQixFQUEwQjtBQUN4QixpQkFBTyxJQUFQO0FBQ0Q7O0FBQ0QsWUFBTXJCLGFBQWEsR0FBR0MsUUFBUSxDQUFDb0IsTUFBRCxDQUE5QjtBQUNBLFlBQU1nQyxPQUFPLEdBQUcsS0FBS0EsT0FBTCxDQUFhLEtBQUs1RCxLQUFsQixDQUFoQjtBQUNBLFlBQU02RCxPQUFPLEdBQUcsS0FBS0EsT0FBTCxDQUFhLEtBQUs3RCxLQUFsQixDQUFoQjtBQUNBLFlBQU0wQyxhQUFhLEdBQUcsS0FBS0EsYUFBTCxDQUFtQixLQUFLMUMsS0FBeEIsQ0FBdEI7QUFFQSw0QkFDRSxnQ0FBQyxXQUFEO0FBQWEsVUFBQSxTQUFTLEVBQUMsZUFBdkI7QUFBdUMsVUFBQSxFQUFFLEVBQUM7QUFBMUMsd0JBQ0UsZ0NBQUMsa0JBQUQsT0FERixlQUVFLGdDQUFDLGNBQUQsUUFDRzJELE9BQU8sZ0JBQ04sZ0NBQUMsV0FBRDtBQUNFLFVBQUEsYUFBYSxFQUFFcEQsYUFEakI7QUFFRSxVQUFBLFFBQVEsRUFBRUMsUUFGWjtBQUdFLFVBQUEsZ0JBQWdCLEVBQUVDO0FBSHBCLFVBRE0sR0FNSixJQVBOLGVBUUUsZ0NBQUMscUJBQUQ7QUFBdUIsVUFBQSxTQUFTLEVBQUM7QUFBakMsd0JBQ0UsZ0NBQUMsV0FBRDtBQUFNLFVBQUEsT0FBTyxFQUFFLEtBQUtxRDtBQUFwQixVQURGLGVBRUUsZ0NBQUMsb0JBQUQ7QUFDRSxVQUFBLEtBQUssRUFBRSxHQURUO0FBRUUsVUFBQSxHQUFHLEVBQUUsRUFGUDtBQUdFLFVBQUEsUUFBUSxFQUFFLEtBQUtDLEtBQUwsQ0FBV3BDLFVBSHZCO0FBSUUsVUFBQSxPQUFPLEVBQUUsS0FBS3FDO0FBSmhCLHdCQU1FLGdDQUFDLGVBQUQ7QUFDRSxVQUFBLE9BQU8sRUFBRUosT0FEWDtBQUVFLFVBQUEsT0FBTyxFQUFFQyxPQUZYO0FBR0UsVUFBQSxzQkFBc0IsRUFBRSxLQUFLSixzQkFIL0I7QUFJRSxVQUFBLE9BQU8sRUFBRSxLQUFLTztBQUpoQixVQU5GLENBRkYsQ0FSRixFQXdCR3hELFFBQVEsQ0FBQ29CLE1BQUQsQ0FBUixnQkFDQyxnQ0FBQyxTQUFEO0FBQ0UsVUFBQSxHQUFHLEVBQUVBLE1BRFA7QUFFRSxVQUFBLE1BQU0sRUFBRUEsTUFGVjtBQUdFLFVBQUEsT0FBTyxFQUFFZ0MsT0FIWDtBQUlFLFVBQUEsT0FBTyxFQUFFQyxPQUpYO0FBS0UsVUFBQSxhQUFhLEVBQUVuQixhQUxqQjtBQU1FLFVBQUEsYUFBYSxFQUFFbkMsYUFBYSxDQUFDZ0MsYUFOL0I7QUFPRSxVQUFBLGFBQWEsRUFBRWhDLGFBQWEsQ0FBQzBELGFBUC9CO0FBUUUsVUFBQSxTQUFTLEVBQUUxRCxhQUFhLENBQUMyRCxTQVIzQjtBQVNFLFVBQUEsVUFBVSxFQUFFM0QsYUFBYSxDQUFDNEQsVUFBZCxJQUE0QjVFLG1CQVQxQztBQVVFLFVBQUEsZUFBZSxFQUFFLEtBQUs2RCxlQVZ4QjtBQVdFLFVBQUEsY0FBYyxFQUFFLEtBQUtDLGNBWHZCO0FBWUUsVUFBQSxlQUFlLEVBQUUsS0FBS0UsZUFaeEI7QUFhRSxVQUFBLHNCQUFzQixFQUFFLEtBQUtFLHNCQWIvQjtBQWNFLFVBQUEsUUFBUSxFQUFFO0FBZFosVUFERCxHQWlCRyxJQXpDTixDQUZGLENBREY7QUFnREQ7QUEvSnNEO0FBQUE7QUFBQSxJQUM1QnpDLGtCQUFNb0QsU0FEc0I7O0FBaUt6RCxTQUFPLGlDQUFVMUMsY0FBVixDQUFQO0FBQ0Q7O2VBRWNQLHFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBEYXRhc2V0TGFiZWwgZnJvbSAnLi4vY29tbW9uL2RhdGFzZXQtbGFiZWwnO1xuaW1wb3J0IERhdGFUYWJsZUZhY3RvcnkgZnJvbSAnLi4vY29tbW9uL2RhdGEtdGFibGUnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuaW1wb3J0IHtyZW5kZXJlZFNpemV9IGZyb20gJy4uL2NvbW1vbi9kYXRhLXRhYmxlL2NlbGwtc2l6ZSc7XG5pbXBvcnQgQ2FudmFzSGFjayBmcm9tICcuLi9jb21tb24vZGF0YS10YWJsZS9jYW52YXMnO1xuaW1wb3J0IEtlcGxlclRhYmxlLCB7RGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuaW1wb3J0IHtVSVN0YXRlQWN0aW9uc30gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7VWlTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0dlYXJ9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgUG9ydGFsZWQgZnJvbSAnLi4vY29tbW9uL3BvcnRhbGVkJztcbmltcG9ydCBEYXRhVGFibGVDb25maWdGYWN0b3J5IGZyb20gJy4uL2NvbW1vbi9kYXRhLXRhYmxlL2Rpc3BsYXktZm9ybWF0JztcblxuY29uc3QgTUlOX1NUQVRTX0NFTExfU0laRSA9IDEyMjtcbmNvbnN0IERFRkFVTFRfU09SVF9DT0xVTU4gPSB7fTtcblxuLy8gc2lkZVBhZGRpbmcgY2hhbmdlcyBmcm9tIDM4IHRvIDY4LCAzMHB4IGZvciBjb25maWd1cmF0aW9uIGJ1dHRvblxuY29uc3QgZGdTZXR0aW5ncyA9IHtcbiAgc2lkZVBhZGRpbmc6ICc2OHB4JyxcbiAgdmVydGljYWxQYWRkaW5nOiAnMTZweCcsXG4gIGhlaWdodDogJzM2cHgnXG59O1xuXG5jb25zdCBTdHlsZWRNb2RhbCA9IHN0eWxlZC5kaXZgXG4gIG1pbi1oZWlnaHQ6IDg1dmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuXG5jb25zdCBEYXRhc2V0Q2F0YWxvZyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6ICR7ZGdTZXR0aW5ncy52ZXJ0aWNhbFBhZGRpbmd9ICR7ZGdTZXR0aW5ncy5zaWRlUGFkZGluZ30gMCAwO1xuXG4gIC5vdmVyZmxvdy1ob3Jpem9udGFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbFNjcm9sbEJhcn1cbiAgfVxuYDtcblxuaW50ZXJmYWNlIERhdGFzZXRNb2RhbFRhYlByb3BzIHtcbiAgYWN0aXZlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IERhdGFzZXRNb2RhbFRhYiA9IHN0eWxlZC5kaXY8RGF0YXNldE1vZGFsVGFiUHJvcHM+YFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJHtwcm9wcyA9PiAocHJvcHMuYWN0aXZlID8gJ2JsYWNrJyA6ICd0cmFuc3BhcmVudCcpfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIG1hcmdpbjogMCAzcHg7XG4gIHBhZGRpbmc6IDAgNXB4O1xuXG4gIDpob3ZlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIGJsYWNrO1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRDb25maWd1cmVCdXR0b24gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjRweDtcbiAgcmlnaHQ6IDQ4cHg7XG4gIHN2ZyB7XG4gICAgc3Ryb2tlOiBibGFjaztcbiAgfVxuICBjdXJzb3I6IHBvaW50ZXI7XG5gO1xuXG5pbnRlcmZhY2UgRGF0YXNldFRhYnNVbm1lbW9pemVkUHJvcHMge1xuICBhY3RpdmVEYXRhc2V0OiBLZXBsZXJUYWJsZTtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBzaG93RGF0YXNldFRhYmxlOiAoaWQ6IHN0cmluZykgPT4gdm9pZDtcbn1cblxuY29uc3QgRGF0YXNldFRhYnNVbm1lbW9pemVkOiBSZWFjdC5GQzxEYXRhc2V0VGFic1VubWVtb2l6ZWRQcm9wcz4gPSAoe1xuICBhY3RpdmVEYXRhc2V0LFxuICBkYXRhc2V0cyxcbiAgc2hvd0RhdGFzZXRUYWJsZVxufSkgPT4gKFxuICA8RGF0YXNldENhdGFsb2cgY2xhc3NOYW1lPVwiZGF0YXNldC1tb2RhbC1jYXRhbG9nXCI+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJvdmVyZmxvdy1ob3Jpem9udGFsXCI+XG4gICAgICB7T2JqZWN0LnZhbHVlcyhkYXRhc2V0cykubWFwKGRhdGFzZXQgPT4gKFxuICAgICAgICA8RGF0YXNldE1vZGFsVGFiXG4gICAgICAgICAgY2xhc3NOYW1lPVwiZGF0YXNldC1tb2RhbC10YWJcIlxuICAgICAgICAgIGFjdGl2ZT17ZGF0YXNldCA9PT0gYWN0aXZlRGF0YXNldH1cbiAgICAgICAgICBrZXk9e2RhdGFzZXQuaWR9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gc2hvd0RhdGFzZXRUYWJsZShkYXRhc2V0LmlkKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxEYXRhc2V0TGFiZWwgZGF0YXNldD17ZGF0YXNldH0gLz5cbiAgICAgICAgPC9EYXRhc2V0TW9kYWxUYWI+XG4gICAgICApKX1cbiAgICA8L2Rpdj5cbiAgPC9EYXRhc2V0Q2F0YWxvZz5cbik7XG5cbmV4cG9ydCBjb25zdCBEYXRhc2V0VGFicyA9IFJlYWN0Lm1lbW8oRGF0YXNldFRhYnNVbm1lbW9pemVkKTtcblxuRGF0YXNldFRhYnMuZGlzcGxheU5hbWUgPSAnRGF0YXNldFRhYnMnO1xuXG5EYXRhVGFibGVNb2RhbEZhY3RvcnkuZGVwcyA9IFtEYXRhVGFibGVGYWN0b3J5LCBEYXRhVGFibGVDb25maWdGYWN0b3J5XTtcblxuY29uc3QgVGFibGVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbmA7XG5cbmludGVyZmFjZSBEYXRhVGFibGVNb2RhbFByb3BzIHtcbiAgdGhlbWU6IGFueTtcbiAgZGF0YUlkPzogc3RyaW5nO1xuICBzb3J0VGFibGVDb2x1bW46IChpZDogc3RyaW5nLCBjb2x1bW46IHN0cmluZywgbW9kZT86IHN0cmluZykgPT4gdm9pZDtcbiAgcGluVGFibGVDb2x1bW46IChpZDogc3RyaW5nLCBjb2x1bW46IHN0cmluZykgPT4gdm9pZDtcbiAgY29weVRhYmxlQ29sdW1uOiAoaWQ6IHN0cmluZywgY29sdW1uOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGRhdGFzZXRzOiBEYXRhc2V0cztcbiAgc2hvd0RhdGFzZXRUYWJsZTogKGlkOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHNob3dUYWI/OiBib29sZWFuO1xuICBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0OiAoXG4gICAgZGF0YUlkOiBzdHJpbmcsXG4gICAgZm9ybWF0czoge1xuICAgICAgY29sdW1uOiBzdHJpbmc7XG4gICAgICBkaXNwbGF5Rm9ybWF0OiBzdHJpbmc7XG4gICAgfVxuICApID0+IHZvaWQ7XG4gIHVpU3RhdGVBY3Rpb25zOiB0eXBlb2YgVUlTdGF0ZUFjdGlvbnM7XG4gIHVpU3RhdGU6IFVpU3RhdGU7XG59XG5cbmZ1bmN0aW9uIERhdGFUYWJsZU1vZGFsRmFjdG9yeShcbiAgRGF0YVRhYmxlOiBSZXR1cm5UeXBlPHR5cGVvZiBEYXRhVGFibGVGYWN0b3J5PixcbiAgRGF0YVRhYmxlQ29uZmlnOiBSZXR1cm5UeXBlPHR5cGVvZiBEYXRhVGFibGVDb25maWdGYWN0b3J5PlxuKTogUmVhY3QuQ29tcG9uZW50VHlwZTxPbWl0PERhdGFUYWJsZU1vZGFsUHJvcHMsICd0aGVtZSc+PiB7XG4gIGNsYXNzIERhdGFUYWJsZU1vZGFsIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PERhdGFUYWJsZU1vZGFsUHJvcHM+IHtcbiAgICBzdGF0ZSA9IHtcbiAgICAgIHNob3dDb25maWc6IGZhbHNlXG4gICAgfTtcblxuICAgIGRhdGFzZXRDZWxsU2l6ZUNhY2hlID0ge307XG4gICAgZGF0YUlkID0gKHtkYXRhSWQgPSAnJ306IERhdGFUYWJsZU1vZGFsUHJvcHMpID0+IGRhdGFJZDtcbiAgICBkYXRhc2V0cyA9IChwcm9wczogRGF0YVRhYmxlTW9kYWxQcm9wcykgPT4gcHJvcHMuZGF0YXNldHM7XG4gICAgZmllbGRzID0gKHtkYXRhc2V0cywgZGF0YUlkID0gJyd9OiBEYXRhVGFibGVNb2RhbFByb3BzKSA9PiAoZGF0YXNldHNbZGF0YUlkXSB8fCB7fSkuZmllbGRzO1xuICAgIGNvbHVtbnMgPSBjcmVhdGVTZWxlY3Rvcih0aGlzLmZpZWxkcywgZmllbGRzID0+IGZpZWxkcy5tYXAoZiA9PiBmLm5hbWUpKTtcbiAgICBjb2xNZXRhID0gY3JlYXRlU2VsZWN0b3IoW3RoaXMuZmllbGRzLCB0aGlzLmRhdGFzZXRzXSwgZmllbGRzID0+XG4gICAgICBmaWVsZHMucmVkdWNlKFxuICAgICAgICAoYWNjLCB7bmFtZSwgZGlzcGxheU5hbWUsIHR5cGUsIGZpbHRlclByb3BzLCBmb3JtYXQsIGRpc3BsYXlGb3JtYXR9KSA9PiAoe1xuICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICBbbmFtZV06IHtcbiAgICAgICAgICAgIG5hbWU6IGRpc3BsYXlOYW1lIHx8IG5hbWUsXG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgLi4uKGZvcm1hdCA/IHtmb3JtYXR9IDoge30pLFxuICAgICAgICAgICAgLi4uKGRpc3BsYXlGb3JtYXQgPyB7ZGlzcGxheUZvcm1hdH0gOiB7fSksXG4gICAgICAgICAgICAuLi4oZmlsdGVyUHJvcHM/LmNvbHVtblN0YXRzID8ge2NvbHVtblN0YXRzOiBmaWx0ZXJQcm9wcy5jb2x1bW5TdGF0c30gOiB7fSlcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICB7fVxuICAgICAgKVxuICAgICk7XG5cbiAgICBjZWxsU2l6ZUNhY2hlID0gY3JlYXRlU2VsZWN0b3IodGhpcy5kYXRhSWQsIHRoaXMuZGF0YXNldHMsIChkYXRhSWQsIGRhdGFzZXRzKSA9PiB7XG4gICAgICBpZiAoIWRhdGFzZXRzW2RhdGFJZF0pIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgICAgY29uc3Qge2ZpZWxkcywgZGF0YUNvbnRhaW5lcn0gPSBkYXRhc2V0c1tkYXRhSWRdO1xuXG4gICAgICBsZXQgc2hvd0NhbGN1bGF0ZTogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xuICAgICAgaWYgKCF0aGlzLmRhdGFzZXRDZWxsU2l6ZUNhY2hlW2RhdGFJZF0pIHtcbiAgICAgICAgc2hvd0NhbGN1bGF0ZSA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICB0aGlzLmRhdGFzZXRDZWxsU2l6ZUNhY2hlW2RhdGFJZF0uZmllbGRzICE9PSBmaWVsZHMgfHxcbiAgICAgICAgdGhpcy5kYXRhc2V0Q2VsbFNpemVDYWNoZVtkYXRhSWRdLmRhdGFDb250YWluZXIgIT09IGRhdGFDb250YWluZXJcbiAgICAgICkge1xuICAgICAgICBzaG93Q2FsY3VsYXRlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFzaG93Q2FsY3VsYXRlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFzZXRDZWxsU2l6ZUNhY2hlW2RhdGFJZF0uY2VsbFNpemVDYWNoZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2VsbFNpemVDYWNoZSA9IGZpZWxkcy5yZWR1Y2UoXG4gICAgICAgIChhY2MsIGZpZWxkLCBjb2xJZHgpID0+ICh7XG4gICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgIFtmaWVsZC5uYW1lXTogcmVuZGVyZWRTaXplKHtcbiAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgZGF0YUNvbnRhaW5lcixcbiAgICAgICAgICAgICAgY29sdW1uOiBmaWVsZC5kaXNwbGF5TmFtZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNvbElkeCxcbiAgICAgICAgICAgIHR5cGU6IGZpZWxkLnR5cGUsXG4gICAgICAgICAgICBmb250U2l6ZTogdGhpcy5wcm9wcy50aGVtZS5jZWxsRm9udFNpemUsXG4gICAgICAgICAgICBmb250OiB0aGlzLnByb3BzLnRoZW1lLmZvbnRGYW1pbHksXG4gICAgICAgICAgICBtaW5DZWxsU2l6ZTogTUlOX1NUQVRTX0NFTExfU0laRVxuICAgICAgICAgIH0pXG4gICAgICAgIH0pLFxuICAgICAgICB7fVxuICAgICAgKTtcbiAgICAgIC8vIHNhdmUgaXQgdG8gY2FjaGVcbiAgICAgIHRoaXMuZGF0YXNldENlbGxTaXplQ2FjaGVbZGF0YUlkXSA9IHtcbiAgICAgICAgY2VsbFNpemVDYWNoZSxcbiAgICAgICAgZmllbGRzLFxuICAgICAgICBkYXRhQ29udGFpbmVyXG4gICAgICB9O1xuICAgICAgcmV0dXJuIGNlbGxTaXplQ2FjaGU7XG4gICAgfSk7XG5cbiAgICBjb3B5VGFibGVDb2x1bW4gPSAoY29sdW1uOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHtkYXRhSWQgPSAnJywgY29weVRhYmxlQ29sdW1ufSA9IHRoaXMucHJvcHM7XG4gICAgICBjb3B5VGFibGVDb2x1bW4oZGF0YUlkLCBjb2x1bW4pO1xuICAgIH07XG5cbiAgICBwaW5UYWJsZUNvbHVtbiA9IChjb2x1bW46IHN0cmluZykgPT4ge1xuICAgICAgY29uc3Qge2RhdGFJZCA9ICcnLCBwaW5UYWJsZUNvbHVtbn0gPSB0aGlzLnByb3BzO1xuICAgICAgcGluVGFibGVDb2x1bW4oZGF0YUlkLCBjb2x1bW4pO1xuICAgIH07XG5cbiAgICBzb3J0VGFibGVDb2x1bW4gPSAoY29sdW1uOiBzdHJpbmcsIG1vZGU/OiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHtkYXRhSWQgPSAnJywgc29ydFRhYmxlQ29sdW1ufSA9IHRoaXMucHJvcHM7XG4gICAgICBzb3J0VGFibGVDb2x1bW4oZGF0YUlkLCBjb2x1bW4sIG1vZGUpO1xuICAgIH07XG5cbiAgICBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0ID0gZm9ybWF0cyA9PiB7XG4gICAgICBjb25zdCB7ZGF0YUlkLCBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0fSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoZGF0YUlkKSBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0KGRhdGFJZCwgZm9ybWF0cyk7XG4gICAgfTtcblxuICAgIG9uT3BlbkNvbmZpZyA9ICgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe3Nob3dDb25maWc6IHRydWV9KTtcbiAgICB9O1xuXG4gICAgb25DbG9zZUNvbmZpZyA9ICgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe3Nob3dDb25maWc6IGZhbHNlfSk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtkYXRhc2V0cywgZGF0YUlkLCBzaG93RGF0YXNldFRhYmxlLCBzaG93VGFiID0gdHJ1ZX0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKCFkYXRhc2V0cyB8fCAhZGF0YUlkKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QgYWN0aXZlRGF0YXNldCA9IGRhdGFzZXRzW2RhdGFJZF07XG4gICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5jb2x1bW5zKHRoaXMucHJvcHMpO1xuICAgICAgY29uc3QgY29sTWV0YSA9IHRoaXMuY29sTWV0YSh0aGlzLnByb3BzKTtcbiAgICAgIGNvbnN0IGNlbGxTaXplQ2FjaGUgPSB0aGlzLmNlbGxTaXplQ2FjaGUodGhpcy5wcm9wcyk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTdHlsZWRNb2RhbCBjbGFzc05hbWU9XCJkYXRhc2V0LW1vZGFsXCIgaWQ9XCJkYXRhc2V0LW1vZGFsXCI+XG4gICAgICAgICAgPENhbnZhc0hhY2sgLz5cbiAgICAgICAgICA8VGFibGVDb250YWluZXI+XG4gICAgICAgICAgICB7c2hvd1RhYiA/IChcbiAgICAgICAgICAgICAgPERhdGFzZXRUYWJzXG4gICAgICAgICAgICAgICAgYWN0aXZlRGF0YXNldD17YWN0aXZlRGF0YXNldH1cbiAgICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgICAgc2hvd0RhdGFzZXRUYWJsZT17c2hvd0RhdGFzZXRUYWJsZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPFN0eWxlZENvbmZpZ3VyZUJ1dHRvbiBjbGFzc05hbWU9XCJkaXNwbGF5LWNvbmZpZy1idXR0b25cIj5cbiAgICAgICAgICAgICAgPEdlYXIgb25DbGljaz17dGhpcy5vbk9wZW5Db25maWd9IC8+XG4gICAgICAgICAgICAgIDxQb3J0YWxlZFxuICAgICAgICAgICAgICAgIHJpZ2h0PXsyNDB9XG4gICAgICAgICAgICAgICAgdG9wPXsyMH1cbiAgICAgICAgICAgICAgICBpc09wZW5lZD17dGhpcy5zdGF0ZS5zaG93Q29uZmlnfVxuICAgICAgICAgICAgICAgIG9uQ2xvc2U9e3RoaXMub25DbG9zZUNvbmZpZ31cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxEYXRhVGFibGVDb25maWdcbiAgICAgICAgICAgICAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICAgICAgICAgICAgICBjb2xNZXRhPXtjb2xNZXRhfVxuICAgICAgICAgICAgICAgICAgc2V0Q29sdW1uRGlzcGxheUZvcm1hdD17dGhpcy5zZXRDb2x1bW5EaXNwbGF5Rm9ybWF0fVxuICAgICAgICAgICAgICAgICAgb25DbG9zZT17dGhpcy5vbkNsb3NlQ29uZmlnfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvUG9ydGFsZWQ+XG4gICAgICAgICAgICA8L1N0eWxlZENvbmZpZ3VyZUJ1dHRvbj5cbiAgICAgICAgICAgIHtkYXRhc2V0c1tkYXRhSWRdID8gKFxuICAgICAgICAgICAgICA8RGF0YVRhYmxlXG4gICAgICAgICAgICAgICAga2V5PXtkYXRhSWR9XG4gICAgICAgICAgICAgICAgZGF0YUlkPXtkYXRhSWR9XG4gICAgICAgICAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgICAgICAgICBjb2xNZXRhPXtjb2xNZXRhfVxuICAgICAgICAgICAgICAgIGNlbGxTaXplQ2FjaGU9e2NlbGxTaXplQ2FjaGV9XG4gICAgICAgICAgICAgICAgZGF0YUNvbnRhaW5lcj17YWN0aXZlRGF0YXNldC5kYXRhQ29udGFpbmVyfVxuICAgICAgICAgICAgICAgIHBpbm5lZENvbHVtbnM9e2FjdGl2ZURhdGFzZXQucGlubmVkQ29sdW1uc31cbiAgICAgICAgICAgICAgICBzb3J0T3JkZXI9e2FjdGl2ZURhdGFzZXQuc29ydE9yZGVyfVxuICAgICAgICAgICAgICAgIHNvcnRDb2x1bW49e2FjdGl2ZURhdGFzZXQuc29ydENvbHVtbiB8fCBERUZBVUxUX1NPUlRfQ09MVU1OfVxuICAgICAgICAgICAgICAgIGNvcHlUYWJsZUNvbHVtbj17dGhpcy5jb3B5VGFibGVDb2x1bW59XG4gICAgICAgICAgICAgICAgcGluVGFibGVDb2x1bW49e3RoaXMucGluVGFibGVDb2x1bW59XG4gICAgICAgICAgICAgICAgc29ydFRhYmxlQ29sdW1uPXt0aGlzLnNvcnRUYWJsZUNvbHVtbn1cbiAgICAgICAgICAgICAgICBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0PXt0aGlzLnNldENvbHVtbkRpc3BsYXlGb3JtYXR9XG4gICAgICAgICAgICAgICAgaGFzU3RhdHM9e2ZhbHNlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPC9UYWJsZUNvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRNb2RhbD5cbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHJldHVybiB3aXRoVGhlbWUoRGF0YVRhYmxlTW9kYWwpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBEYXRhVGFibGVNb2RhbEZhY3Rvcnk7XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c)
|
|
1
|
+
// Copyright (c) 2023 Uber Technologies, Inc.
|
|
2
2
|
//
|
|
3
3
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
4
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -71,4 +71,4 @@ var DeleteDatasetModalFactory = function DeleteDatasetModalFactory() {
|
|
|
71
71
|
|
|
72
72
|
var _default = DeleteDatasetModalFactory;
|
|
73
73
|
exports["default"] = _default;
|
|
74
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvZGVsZXRlLWRhdGEtbW9kYWwudHN4Il0sIm5hbWVzIjpbIlN0eWxlZE1zZyIsInN0eWxlZCIsImRpdiIsIkRlbGV0ZURhdGFzZXRNb2RhbCIsImRhdGFzZXQiLCJsYXllcnMiLCJjdXJyRGF0YXNldExheWVycyIsImZpbHRlciIsImxheWVyIiwiY29uZmlnIiwiZGF0YUlkIiwiaWQiLCJsZW5ndGgiLCJEZWxldGVEYXRhc2V0TW9kYWxGYWN0b3J5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUlBLElBQU1BLFNBQVMsR0FBR0MsNkJBQU9DLEdBQVYsNkdBQWY7O0FBU08sSUFBTUMsa0JBQXFELEdBQUcsU0FBeERBLGtCQUF3RCxPQUE0QjtBQUFBLE1BQTFCQyxPQUEwQixRQUExQkEsT0FBMEI7QUFBQSx5QkFBakJDLE1BQWlCO0FBQUEsTUFBakJBLE1BQWlCLDRCQUFSLEVBQVE7QUFDL0Y7QUFDQSxNQUFNQyxpQkFBaUIsR0FBR0QsTUFBTSxDQUFDRSxNQUFQLENBQWMsVUFBQUMsS0FBSztBQUFBLFdBQUlBLEtBQUssQ0FBQ0MsTUFBTixDQUFhQyxNQUFiLE1BQXlCTixPQUFPLElBQUlBLE9BQU8sQ0FBQ08sRUFBNUMsQ0FBSjtBQUFBLEdBQW5CLENBQTFCO0FBRUEsc0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLGtCQUNFLGdDQUFDLHdCQUFEO0FBQWMsSUFBQSxPQUFPLEVBQUVQO0FBQXZCLElBREYsZUFFRSxnQ0FBQyxTQUFEO0FBQVcsSUFBQSxTQUFTLEVBQUM7QUFBckIsa0JBQ0UsZ0NBQUMsOEJBQUQ7QUFDRSxJQUFBLEVBQUUsRUFBRSwwQkFETjtBQUVFLElBQUEsTUFBTSxFQUFFO0FBQUNRLE1BQUFBLE1BQU0sRUFBRU4saUJBQWlCLENBQUNNO0FBQTNCO0FBRlYsSUFERixDQUZGLENBREY7QUFXRCxDQWZNOzs7O0FBaUJQLElBQU1DLHlCQUF5QixHQUFHLFNBQTVCQSx5QkFBNEI7QUFBQSxTQUFNVixrQkFBTjtBQUFBLENBQWxDOztlQUNlVSx5QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBEYXRhc2V0TGFiZWwgZnJvbSAnLi4vY29tbW9uL2RhdGFzZXQtbGFiZWwnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge0xheWVyfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge0tlcGxlclRhYmxlfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcblxuY29uc3QgU3R5bGVkTXNnID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMjRweDtcbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlRGF0YXNldE1vZGFsUHJvcHMge1xuICBkYXRhc2V0OiBLZXBsZXJUYWJsZTtcbiAgbGF5ZXJzOiBMYXllcltdO1xufVxuXG5leHBvcnQgY29uc3QgRGVsZXRlRGF0YXNldE1vZGFsOiBSZWFjdC5GQzxEZWxldGVEYXRhc2V0TW9kYWxQcm9wcz4gPSAoe2RhdGFzZXQsIGxheWVycyA9IFtdfSkgPT4ge1xuICAvLyByZXRyaWV2ZSBvbmx5IGxheWVycyByZWxhdGVkIHRvIHRoZSBjdXJyZW50IGRhdGFzZXRcbiAgY29uc3QgY3VyckRhdGFzZXRMYXllcnMgPSBsYXllcnMuZmlsdGVyKGxheWVyID0+IGxheWVyLmNvbmZpZy5kYXRhSWQgPT09IChkYXRhc2V0ICYmIGRhdGFzZXQuaWQpKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVsZXRlLWRhdGFzZXQtbW9kYWxcIj5cbiAgICAgIDxEYXRhc2V0TGFiZWwgZGF0YXNldD17ZGF0YXNldH0gLz5cbiAgICAgIDxTdHlsZWRNc2cgY2xhc3NOYW1lPVwiZGVsZXRlLWRhdGFzZXQtbXNnXCI+XG4gICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlXG4gICAgICAgICAgaWQ9eydtb2RhbC5kZWxldGVEYXRhLndhcm5pbmcnfVxuICAgICAgICAgIHZhbHVlcz17e2xlbmd0aDogY3VyckRhdGFzZXRMYXllcnMubGVuZ3RofX1cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkTXNnPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgRGVsZXRlRGF0YXNldE1vZGFsRmFjdG9yeSA9ICgpID0+IERlbGV0ZURhdGFzZXRNb2RhbDtcbmV4cG9ydCBkZWZhdWx0IERlbGV0ZURhdGFzZXRNb2RhbEZhY3Rvcnk7XG4iXX0=
|