@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
|
|
@@ -25,19 +25,23 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", {
|
|
26
26
|
value: true
|
|
27
27
|
});
|
|
28
|
-
exports.CheckMark = exports.TruncatedTitleText = exports.StyledFilterContent = exports.MapControlButton = exports.BottomWidgetInner = exports.WidgetContainer = exports.StyledType = exports.StyledFilteredOption = exports.StyledExportSection = exports.StyledAttrbution = exports.StyledMapContainer = exports.StyledModalInputFootnote = exports.StyledModalSection = exports.StyledModalVerticalPanel = exports.StyledModalContent = exports.StyledTable = exports.SelectionButton = exports.DatasetSquare = exports.ButtonGroup = exports.StyledPanelDropdown = exports.StyledPanelHeader = exports.InlineInput = exports.TextAreaLight = exports.TextArea = exports.InputLight = exports.Input = exports.Button = exports.Tooltip = exports.SidePanelDivider = exports.SidePanelSection = exports.PanelContent = exports.PanelHeaderContent = exports.PanelHeaderTitle = exports.PanelLabelBold = exports.PanelLabelWrapper = exports.PanelLabel = exports.SBFlexboxNoMargin = exports.SBFlexboxItem = exports.SpaceBetweenFlexbox = exports.CenterVerticalFlexbox = exports.CenterFlexbox = exports.IconRoundSmall = exports.SelectTextBold = exports.SelectText = void 0;
|
|
28
|
+
exports.StyledDatePicker = exports.StyledTimePicker = exports.CheckMark = exports.TruncatedTitleText = exports.StyledFilterContent = exports.MapControlButton = exports.BottomWidgetInner = exports.WidgetContainer = exports.StyledType = exports.StyledFilteredOption = exports.StyledExportSection = exports.StyledAttrbution = exports.StyledMapContainer = exports.StyledModalInputFootnote = exports.StyledModalSection = exports.StyledModalVerticalPanel = exports.StyledModalContent = exports.StyledTable = exports.SelectionButton = exports.DatasetSquare = exports.ButtonGroup = exports.StyledPanelDropdown = exports.StyledPanelHeader = exports.InlineInput = exports.TextAreaLight = exports.TextArea = exports.InputLight = exports.Input = exports.Button = exports.Tooltip = exports.SidePanelDivider = exports.SidePanelSection = exports.PanelContent = exports.PanelHeaderContent = exports.PanelHeaderTitle = exports.PanelLabelBold = exports.PanelLabelWrapper = exports.PanelLabel = exports.SBFlexboxNoMargin = exports.SBFlexboxItem = exports.SpaceBetweenFlexbox = exports.EndHorizontalFlexbox = exports.CenterVerticalFlexbox = exports.CenterFlexbox = exports.IconRoundSmall = exports.SelectTextBold = exports.SelectText = void 0;
|
|
29
29
|
|
|
30
30
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
31
31
|
|
|
32
32
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
33
33
|
|
|
34
|
+
var _reactDatePicker = _interopRequireDefault(require("react-date-picker"));
|
|
35
|
+
|
|
36
|
+
var _reactTimePicker = _interopRequireDefault(require("react-time-picker"));
|
|
37
|
+
|
|
34
38
|
var _reactTooltip = _interopRequireDefault(require("react-tooltip"));
|
|
35
39
|
|
|
36
40
|
var _styles = require("@kepler.gl/styles");
|
|
37
41
|
|
|
38
42
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
39
43
|
|
|
40
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47, _templateObject48, _templateObject49, _templateObject50;
|
|
44
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47, _templateObject48, _templateObject49, _templateObject50, _templateObject51, _templateObject52, _templateObject53;
|
|
41
45
|
|
|
42
46
|
var SelectText = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-size: ", ";\n font-weight: 400;\n\n i {\n font-size: 13px;\n margin-right: 6px;\n }\n"])), function (props) {
|
|
43
47
|
return props.theme.labelColor;
|
|
@@ -69,21 +73,25 @@ var CenterVerticalFlexbox = _styledComponents["default"].div(_templateObject5 ||
|
|
|
69
73
|
|
|
70
74
|
exports.CenterVerticalFlexbox = CenterVerticalFlexbox;
|
|
71
75
|
|
|
72
|
-
var
|
|
76
|
+
var EndHorizontalFlexbox = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n align-items: end;\n"])));
|
|
77
|
+
|
|
78
|
+
exports.EndHorizontalFlexbox = EndHorizontalFlexbox;
|
|
79
|
+
|
|
80
|
+
var SpaceBetweenFlexbox = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n margin-left: -16px;\n"])));
|
|
73
81
|
|
|
74
82
|
exports.SpaceBetweenFlexbox = SpaceBetweenFlexbox;
|
|
75
83
|
|
|
76
|
-
var SBFlexboxItem = _styledComponents["default"].div(
|
|
84
|
+
var SBFlexboxItem = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n margin-left: 16px;\n"])));
|
|
77
85
|
|
|
78
86
|
exports.SBFlexboxItem = SBFlexboxItem;
|
|
79
87
|
|
|
80
|
-
var SBFlexboxNoMargin = _styledComponents["default"].div(
|
|
88
|
+
var SBFlexboxNoMargin = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n"])));
|
|
81
89
|
|
|
82
90
|
exports.SBFlexboxNoMargin = SBFlexboxNoMargin;
|
|
83
91
|
|
|
84
92
|
var PanelLabel = _styledComponents["default"].label.attrs({
|
|
85
93
|
className: 'side-panel-panel__label'
|
|
86
|
-
})(
|
|
94
|
+
})(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n display: inline-block;\n font-size: 11px;\n font-weight: 400;\n margin-bottom: 4px;\n text-transform: capitalize;\n"])), function (props) {
|
|
87
95
|
return props.theme.labelColor;
|
|
88
96
|
});
|
|
89
97
|
|
|
@@ -91,23 +99,23 @@ exports.PanelLabel = PanelLabel;
|
|
|
91
99
|
|
|
92
100
|
var PanelLabelWrapper = _styledComponents["default"].div.attrs({
|
|
93
101
|
className: 'side-panel-panel__label-wrapper'
|
|
94
|
-
})(
|
|
102
|
+
})(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: self-start;\n"])));
|
|
95
103
|
|
|
96
104
|
exports.PanelLabelWrapper = PanelLabelWrapper;
|
|
97
|
-
var PanelLabelBold = (0, _styledComponents["default"])(PanelLabel)(
|
|
105
|
+
var PanelLabelBold = (0, _styledComponents["default"])(PanelLabel)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: 500;\n"])));
|
|
98
106
|
exports.PanelLabelBold = PanelLabelBold;
|
|
99
107
|
|
|
100
108
|
var PanelHeaderTitle = _styledComponents["default"].span.attrs(function (props) {
|
|
101
109
|
return {
|
|
102
110
|
className: (0, _classnames["default"])('side-panel-panel__header__title', props.className)
|
|
103
111
|
};
|
|
104
|
-
})(
|
|
112
|
+
})(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-size: 13px;\n letter-spacing: 0.43px;\n text-transform: capitalize;\n"])), function (props) {
|
|
105
113
|
return props.theme.textColor;
|
|
106
114
|
});
|
|
107
115
|
|
|
108
116
|
exports.PanelHeaderTitle = PanelHeaderTitle;
|
|
109
117
|
|
|
110
|
-
var PanelHeaderContent = _styledComponents["default"].div(
|
|
118
|
+
var PanelHeaderContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n color: ", ";\n padding-left: 12px;\n\n .icon {\n color: ", ";\n display: flex;\n align-items: center;\n margin-right: 12px;\n }\n"])), function (props) {
|
|
111
119
|
return props.theme.textColor;
|
|
112
120
|
}, function (props) {
|
|
113
121
|
return props.theme.labelColor;
|
|
@@ -119,7 +127,7 @@ var PanelContent = _styledComponents["default"].div.attrs(function (props) {
|
|
|
119
127
|
return {
|
|
120
128
|
className: (0, _classnames["default"])('side-panel-panel__content', props.className)
|
|
121
129
|
};
|
|
122
|
-
})(
|
|
130
|
+
})(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: 12px;\n"])), function (props) {
|
|
123
131
|
return props.theme.panelContentBackground;
|
|
124
132
|
});
|
|
125
133
|
|
|
@@ -129,7 +137,7 @@ var SidePanelSection = _styledComponents["default"].div.attrs(function (props) {
|
|
|
129
137
|
return {
|
|
130
138
|
className: (0, _classnames["default"])('side-panel-section', props.className)
|
|
131
139
|
};
|
|
132
|
-
})(
|
|
140
|
+
})(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 12px;\n\n opacity: ", ";\n pointer-events: ", ";\n"])), function (props) {
|
|
133
141
|
return props.disabled ? 0.4 : 1;
|
|
134
142
|
}, function (props) {
|
|
135
143
|
return props.disabled ? 'none' : 'all';
|
|
@@ -139,7 +147,7 @@ exports.SidePanelSection = SidePanelSection;
|
|
|
139
147
|
|
|
140
148
|
var SidePanelDivider = _styledComponents["default"].div.attrs({
|
|
141
149
|
className: 'side-panel-divider'
|
|
142
|
-
})(
|
|
150
|
+
})(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["\n border-bottom: ", " solid\n ", ";\n margin-bottom: ", "px;\n height: ", "px;\n"])), function (props) {
|
|
143
151
|
return props.theme.sidepanelDividerBorder;
|
|
144
152
|
}, function (props) {
|
|
145
153
|
return props.theme.panelBorderColor;
|
|
@@ -150,7 +158,7 @@ var SidePanelDivider = _styledComponents["default"].div.attrs({
|
|
|
150
158
|
});
|
|
151
159
|
|
|
152
160
|
exports.SidePanelDivider = SidePanelDivider;
|
|
153
|
-
var Tooltip = (0, _styledComponents["default"])(_reactTooltip["default"])(
|
|
161
|
+
var Tooltip = (0, _styledComponents["default"])(_reactTooltip["default"])(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["\n &.__react_component_tooltip {\n font-size: ", ";\n font-weight: 400;\n padding: 7px 18px;\n box-shadow: ", ";\n\n &.type-dark {\n background-color: ", ";\n color: ", ";\n &.place-bottom {\n :after {\n border-bottom-color: ", ";\n }\n }\n\n &.place-top {\n :after {\n border-top-color: ", ";\n }\n }\n\n &.place-right {\n :after {\n border-right-color: ", ";\n }\n }\n\n &.place-left {\n :after {\n border-left-color: ", ";\n }\n }\n }\n }\n"])), function (props) {
|
|
154
162
|
return props.theme.tooltipFontSize;
|
|
155
163
|
}, function (props) {
|
|
156
164
|
return props.theme.tooltipBoxShadow;
|
|
@@ -173,7 +181,7 @@ var Button = _styledComponents["default"].div.attrs(function (props) {
|
|
|
173
181
|
return {
|
|
174
182
|
className: (0, _classnames["default"])('button', props.className)
|
|
175
183
|
};
|
|
176
|
-
})(
|
|
184
|
+
})(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n background-color: ", ";\n border-radius: ", ";\n color: ", ";\n cursor: pointer;\n display: inline-flex;\n font-size: ", ";\n font-weight: 500;\n font-family: ", ";\n justify-content: center;\n letter-spacing: 0.3px;\n line-height: 14px;\n outline: 0;\n padding: ", ";\n text-align: center;\n transition: ", ";\n vertical-align: middle;\n width: ", ";\n opacity: ", ";\n pointer-events: ", ";\n border: ", ";\n :hover,\n :focus,\n :active,\n &.active {\n background-color: ", ";\n color: ", ";\n }\n\n svg {\n margin-right: ", ";\n }\n"])), function (props) {
|
|
177
185
|
return props.negative ? props.theme.negativeBtnBgd : props.secondary ? props.theme.secondaryBtnBgd : props.link ? props.theme.linkBtnBgd : props.floating ? props.theme.floatingBtnBgd : props.cta ? props.theme.ctaBtnBgd : props.theme.primaryBtnBgd;
|
|
178
186
|
}, function (props) {
|
|
179
187
|
return props.theme.primaryBtnRadius;
|
|
@@ -205,35 +213,35 @@ var Button = _styledComponents["default"].div.attrs(function (props) {
|
|
|
205
213
|
|
|
206
214
|
exports.Button = Button;
|
|
207
215
|
|
|
208
|
-
var Input = _styledComponents["default"].input(
|
|
216
|
+
var Input = _styledComponents["default"].input(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
|
|
209
217
|
return props.secondary ? props.theme.secondaryInput : props.theme.input;
|
|
210
218
|
});
|
|
211
219
|
|
|
212
220
|
exports.Input = Input;
|
|
213
221
|
|
|
214
|
-
var InputLight = _styledComponents["default"].input(
|
|
222
|
+
var InputLight = _styledComponents["default"].input(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
|
|
215
223
|
return props.theme.inputLT;
|
|
216
224
|
});
|
|
217
225
|
|
|
218
226
|
exports.InputLight = InputLight;
|
|
219
227
|
|
|
220
|
-
var TextArea = _styledComponents["default"].textarea(
|
|
228
|
+
var TextArea = _styledComponents["default"].textarea(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
|
|
221
229
|
return props.secondary ? props.theme.secondaryInput : props.theme.input;
|
|
222
230
|
});
|
|
223
231
|
|
|
224
232
|
exports.TextArea = TextArea;
|
|
225
233
|
|
|
226
|
-
var TextAreaLight = _styledComponents["default"].textarea(
|
|
234
|
+
var TextAreaLight = _styledComponents["default"].textarea(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2["default"])(["\n ", " height: auto;\n white-space: pre-wrap;\n"])), function (props) {
|
|
227
235
|
return props.theme.inputLT;
|
|
228
236
|
});
|
|
229
237
|
|
|
230
238
|
exports.TextAreaLight = TextAreaLight;
|
|
231
|
-
var InlineInput = (0, _styledComponents["default"])(Input)(
|
|
239
|
+
var InlineInput = (0, _styledComponents["default"])(Input)(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
|
|
232
240
|
return props.theme.inlineInput;
|
|
233
241
|
});
|
|
234
242
|
exports.InlineInput = InlineInput;
|
|
235
243
|
|
|
236
|
-
var StyledPanelHeader = _styledComponents["default"].div(
|
|
244
|
+
var StyledPanelHeader = _styledComponents["default"].div(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n border-left: 3px solid\n rgb(\n ", "\n );\n padding: 0 10px 0 0;\n height: ", "px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-radius: ", ";\n transition: ", ";\n"])), function (props) {
|
|
237
245
|
return props.active ? props.theme.panelBackgroundHover : props.theme.panelBackground;
|
|
238
246
|
}, function (props) {
|
|
239
247
|
return props.labelRCGColorValues ? props.labelRCGColorValues.join(',') : 'transparent';
|
|
@@ -247,7 +255,7 @@ var StyledPanelHeader = _styledComponents["default"].div(_templateObject24 || (_
|
|
|
247
255
|
|
|
248
256
|
exports.StyledPanelHeader = StyledPanelHeader;
|
|
249
257
|
|
|
250
|
-
var StyledPanelDropdown = _styledComponents["default"].div(
|
|
258
|
+
var StyledPanelDropdown = _styledComponents["default"].div(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n background-color: ", ";\n overflow-y: auto;\n box-shadow: ", ";\n border-radius: ", ";\n max-height: 500px;\n position: relative;\n z-index: 999;\n"])), function (props) {
|
|
251
259
|
return props.theme.panelDropdownScrollBar;
|
|
252
260
|
}, function (props) {
|
|
253
261
|
return props.type === 'light' ? props.theme.modalDropdownBackground : props.theme.panelBackground;
|
|
@@ -259,7 +267,7 @@ var StyledPanelDropdown = _styledComponents["default"].div(_templateObject25 ||
|
|
|
259
267
|
|
|
260
268
|
exports.StyledPanelDropdown = StyledPanelDropdown;
|
|
261
269
|
|
|
262
|
-
var ButtonGroup = _styledComponents["default"].div(
|
|
270
|
+
var ButtonGroup = _styledComponents["default"].div(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n .button {\n border-radius: 0;\n margin-left: 2px;\n }\n .button:first-child {\n border-bottom-left-radius: ", ";\n border-top-left-radius: ", ";\n margin-left: 0;\n }\n .button:last-child {\n border-bottom-right-radius: ", ";\n border-top-right-radius: ", ";\n }\n"])), function (props) {
|
|
263
271
|
return props.theme.primaryBtnRadius;
|
|
264
272
|
}, function (props) {
|
|
265
273
|
return props.theme.primaryBtnRadius;
|
|
@@ -271,13 +279,13 @@ var ButtonGroup = _styledComponents["default"].div(_templateObject26 || (_templa
|
|
|
271
279
|
|
|
272
280
|
exports.ButtonGroup = ButtonGroup;
|
|
273
281
|
|
|
274
|
-
var DatasetSquare = _styledComponents["default"].div(
|
|
282
|
+
var DatasetSquare = _styledComponents["default"].div(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-block;\n width: 10px;\n height: 10px;\n background-color: rgb(", ");\n margin-right: 12px;\n"])), function (props) {
|
|
275
283
|
return props.backgroundColor.join(',');
|
|
276
284
|
});
|
|
277
285
|
|
|
278
286
|
exports.DatasetSquare = DatasetSquare;
|
|
279
287
|
|
|
280
|
-
var SelectionButton = _styledComponents["default"].div(
|
|
288
|
+
var SelectionButton = _styledComponents["default"].div(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n border-radius: 2px;\n border: 1px solid\n ", ";\n color: ", ";\n background-color: ", ";\n\n cursor: pointer;\n font-weight: 500;\n margin-right: 6px;\n padding: 6px 16px;\n\n :hover {\n color: ", ";\n border: 1px solid ", ";\n }\n"])), function (props) {
|
|
281
289
|
return props.selected ? props.theme.selectionBtnBorderActColor : props.theme.selectionBtnBorderColor;
|
|
282
290
|
}, function (props) {
|
|
283
291
|
return props.selected ? props.theme.selectionBtnActColor : props.theme.selectionBtnColor;
|
|
@@ -291,7 +299,7 @@ var SelectionButton = _styledComponents["default"].div(_templateObject28 || (_te
|
|
|
291
299
|
|
|
292
300
|
exports.SelectionButton = SelectionButton;
|
|
293
301
|
|
|
294
|
-
var StyledTable = _styledComponents["default"].table(
|
|
302
|
+
var StyledTable = _styledComponents["default"].table(_templateObject30 || (_templateObject30 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n border-spacing: 0;\n\n thead {\n tr th {\n background: ", ";\n color: ", ";\n padding: 18px 12px;\n text-align: start;\n }\n }\n\n tbody {\n tr td {\n border-bottom: ", ";\n padding: 12px;\n }\n }\n"])), function (props) {
|
|
295
303
|
return props.theme.panelBackgroundLT;
|
|
296
304
|
}, function (props) {
|
|
297
305
|
return props.theme.titleColorLT;
|
|
@@ -301,7 +309,7 @@ var StyledTable = _styledComponents["default"].table(_templateObject29 || (_temp
|
|
|
301
309
|
|
|
302
310
|
exports.StyledTable = StyledTable;
|
|
303
311
|
|
|
304
|
-
var StyledModalContent = _styledComponents["default"].div(
|
|
312
|
+
var StyledModalContent = _styledComponents["default"].div(_templateObject31 || (_templateObject31 = (0, _taggedTemplateLiteral2["default"])(["\n background: ", ";\n color: ", ";\n display: flex;\n flex-direction: row;\n font-size: 10px;\n padding: 24px ", ";\n margin: 0 -", ";\n justify-content: space-between;\n ", ";\n"])), function (props) {
|
|
305
313
|
return props.theme.panelBackgroundLT;
|
|
306
314
|
}, function (props) {
|
|
307
315
|
return props.theme.textColorLT;
|
|
@@ -309,7 +317,7 @@ var StyledModalContent = _styledComponents["default"].div(_templateObject30 || (
|
|
|
309
317
|
return props.theme.modalLateralPadding;
|
|
310
318
|
}, function (props) {
|
|
311
319
|
return props.theme.modalLateralPadding;
|
|
312
|
-
}, _styles.media.portable(
|
|
320
|
+
}, _styles.media.portable(_templateObject32 || (_templateObject32 = (0, _taggedTemplateLiteral2["default"])(["\n flex-direction: column;\n padding: 16px ", ";\n margin: 0 -", ";\n "])), function (props) {
|
|
313
321
|
return props.theme.modalPortableLateralPadding;
|
|
314
322
|
}, function (props) {
|
|
315
323
|
return props.theme.modalPortableLateralPadding;
|
|
@@ -319,7 +327,7 @@ exports.StyledModalContent = StyledModalContent;
|
|
|
319
327
|
|
|
320
328
|
var StyledModalVerticalPanel = _styledComponents["default"].div.attrs({
|
|
321
329
|
className: 'modal-vertical-panel'
|
|
322
|
-
})(
|
|
330
|
+
})(_templateObject33 || (_templateObject33 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n font-size: 12px;\n\n .modal-section:first-child {\n margin-top: 24px;\n ", ";\n }\n\n input {\n margin-right: 8px;\n }\n"])), _styles.media.palm(_templateObject34 || (_templateObject34 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: 0;\n "]))));
|
|
323
331
|
|
|
324
332
|
exports.StyledModalVerticalPanel = StyledModalVerticalPanel;
|
|
325
333
|
|
|
@@ -328,15 +336,15 @@ var StyledModalSection = _styledComponents["default"].div.attrs(function (_ref)
|
|
|
328
336
|
return {
|
|
329
337
|
className: (0, _classnames["default"])('modal-section', className)
|
|
330
338
|
};
|
|
331
|
-
})(
|
|
339
|
+
})(_templateObject35 || (_templateObject35 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 32px;\n\n .modal-section-title {\n font-weight: 500;\n }\n .modal-section-subtitle {\n color: ", ";\n }\n\n input {\n margin-top: 8px;\n }\n\n ", ";\n ", ";\n"])), function (props) {
|
|
332
340
|
return props.theme.subtextColorLT;
|
|
333
|
-
}, _styles.media.portable(
|
|
341
|
+
}, _styles.media.portable(_templateObject36 || (_templateObject36 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 24px;\n "]))), _styles.media.palm(_templateObject37 || (_templateObject37 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 16px;\n "]))));
|
|
334
342
|
|
|
335
343
|
exports.StyledModalSection = StyledModalSection;
|
|
336
344
|
|
|
337
345
|
var StyledModalInputFootnote = _styledComponents["default"].div.attrs({
|
|
338
346
|
className: 'modal-input__footnote'
|
|
339
|
-
})(
|
|
347
|
+
})(_templateObject38 || (_templateObject38 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-end;\n color: ", ";\n font-size: 10px;\n"])), function (props) {
|
|
340
348
|
return props.error ? props.theme.errorColor : props.theme.subtextColorLT;
|
|
341
349
|
});
|
|
342
350
|
/**
|
|
@@ -348,24 +356,30 @@ var StyledModalInputFootnote = _styledComponents["default"].div.attrs({
|
|
|
348
356
|
|
|
349
357
|
exports.StyledModalInputFootnote = StyledModalInputFootnote;
|
|
350
358
|
|
|
351
|
-
var StyledMapContainer = _styledComponents["default"].div(
|
|
359
|
+
var StyledMapContainer = _styledComponents["default"].div(_templateObject39 || (_templateObject39 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 100%;\n .mapboxgl-map {\n .mapboxgl-missing-css {\n display: none;\n }\n .mapboxgl-ctrl-attrib {\n display: none;\n }\n }\n"])));
|
|
352
360
|
|
|
353
361
|
exports.StyledMapContainer = StyledMapContainer;
|
|
354
362
|
|
|
355
363
|
var StyledAttrbution = _styledComponents["default"].div.attrs({
|
|
356
364
|
className: 'mapbox-attribution-container'
|
|
357
|
-
})(
|
|
365
|
+
})(_templateObject40 || (_templateObject40 = (0, _taggedTemplateLiteral2["default"])(["\n bottom: 0;\n right: 0;\n position: absolute;\n display: block;\n margin: 0 10px 6px;\n z-index: 1;\n .attrition-link {\n display: flex;\n align-items: center;\n margin-left: 10px;\n\n a,\n .pipe-separator {\n margin-right: 2px;\n color: ", ";\n }\n\n .pipe-separator {\n text-decoration: none;\n }\n }\n\n .attrition-logo {\n display: flex;\n font-size: 10px;\n justify-content: flex-end;\n align-items: center;\n color: ", ";\n\n a.mapboxgl-ctrl-logo {\n width: 72px;\n margin-left: 4px;\n background-size: contain;\n }\n }\n a,\n .pipe-separator {\n font-size: 10px;\n }\n\n ", ";\n"])), function (props) {
|
|
358
366
|
return props.theme.labelColor;
|
|
359
|
-
},
|
|
367
|
+
}, function (props) {
|
|
368
|
+
return props.theme.labelColor;
|
|
369
|
+
}, _styles.media.palm(_templateObject41 || (_templateObject41 = (0, _taggedTemplateLiteral2["default"])(["\n .attrition-logo a {\n width: 60px;\n }\n\n .attrition-link {\n line-height: 1em;\n }\n "]))));
|
|
360
370
|
|
|
361
371
|
exports.StyledAttrbution = StyledAttrbution;
|
|
362
372
|
|
|
363
|
-
var StyledExportSection = _styledComponents["default"].div(
|
|
373
|
+
var StyledExportSection = _styledComponents["default"].div(_templateObject42 || (_templateObject42 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n margin: 35px 0;\n width: 100%;\n color: ", ";\n font-size: 12px;\n opacity: ", ";\n pointer-events: ", ";\n\n .description {\n width: 185px;\n .title {\n font-weight: 500;\n font-family: ", ";\n }\n .subtitle {\n color: ", ";\n font-size: 11px;\n }\n }\n .warning {\n color: ", ";\n font-weight: 500;\n }\n .description.full {\n width: 100%;\n }\n .selection {\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n padding-left: 50px;\n\n select {\n background-color: white;\n border-radius: 1px;\n display: inline-block;\n font: inherit;\n line-height: 1.5em;\n padding: 0.5em 3.5em 0.5em 1em;\n margin: 0;\n box-sizing: border-box;\n appearance: none;\n width: 250px;\n height: 36px;\n\n background-image: linear-gradient(45deg, transparent 50%, gray 50%),\n linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc);\n background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px),\n calc(100% - 2.5em) 4.5em;\n background-size: 5px 5px, 5px 5px, 1px 1.5em;\n background-repeat: no-repeat;\n }\n\n select:focus {\n background-image: linear-gradient(45deg, green 50%, transparent 50%),\n linear-gradient(135deg, transparent 50%, green 50%), linear-gradient(to right, #ccc, #ccc);\n background-position: calc(100% - 15px) 1em, calc(100% - 20px) 1em, calc(100% - 2.5em) 4.5em;\n background-size: 5px 5px, 5px 5px, 1px 1.5em;\n background-repeat: no-repeat;\n border-color: green;\n outline: 0;\n }\n }\n"])), function (props) {
|
|
364
374
|
return props.theme.textColorLT;
|
|
365
375
|
}, function (props) {
|
|
366
376
|
return props.disabled ? 0.3 : 1;
|
|
367
377
|
}, function (props) {
|
|
368
378
|
return props.disabled ? 'none' : 'all';
|
|
379
|
+
}, function (props) {
|
|
380
|
+
var _props$theme$fontFami;
|
|
381
|
+
|
|
382
|
+
return (_props$theme$fontFami = props.theme.fontFamilyMedium) !== null && _props$theme$fontFami !== void 0 ? _props$theme$fontFami : props.theme.fontFamily;
|
|
369
383
|
}, function (props) {
|
|
370
384
|
return props.theme.subtextColorLT;
|
|
371
385
|
}, function (props) {
|
|
@@ -373,26 +387,26 @@ var StyledExportSection = _styledComponents["default"].div(_templateObject41 ||
|
|
|
373
387
|
});
|
|
374
388
|
|
|
375
389
|
exports.StyledExportSection = StyledExportSection;
|
|
376
|
-
var StyledFilteredOption = (0, _styledComponents["default"])(SelectionButton)(
|
|
390
|
+
var StyledFilteredOption = (0, _styledComponents["default"])(SelectionButton)(_templateObject43 || (_templateObject43 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin: 4px;\n padding: 8px 12px;\n width: 140px;\n\n .filter-option-title {\n color: ", ";\n font-size: 12px;\n font-weight: 500;\n }\n .filter-option-subtitle {\n color: ", ";\n font-size: 11px;\n }\n"])), function (props) {
|
|
377
391
|
return props.theme.textColorLT;
|
|
378
392
|
}, function (props) {
|
|
379
393
|
return props.theme.subtextColorLT;
|
|
380
394
|
});
|
|
381
395
|
exports.StyledFilteredOption = StyledFilteredOption;
|
|
382
|
-
var StyledType = (0, _styledComponents["default"])(SelectionButton)(
|
|
396
|
+
var StyledType = (0, _styledComponents["default"])(SelectionButton)(_templateObject44 || (_templateObject44 = (0, _taggedTemplateLiteral2["default"])(["\n height: 100px;\n margin: 4px;\n padding: 6px 10px;\n width: 100px;\n"])));
|
|
383
397
|
exports.StyledType = StyledType;
|
|
384
398
|
|
|
385
|
-
var WidgetContainer = _styledComponents["default"].div(
|
|
399
|
+
var WidgetContainer = _styledComponents["default"].div(_templateObject45 || (_templateObject45 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n"])));
|
|
386
400
|
|
|
387
401
|
exports.WidgetContainer = WidgetContainer;
|
|
388
402
|
|
|
389
|
-
var BottomWidgetInner = _styledComponents["default"].div(
|
|
403
|
+
var BottomWidgetInner = _styledComponents["default"].div(_templateObject46 || (_templateObject46 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: ", ";\n position: relative;\n margin-top: ", "px;\n\n ", "\n"])), function (props) {
|
|
390
404
|
return props.theme.bottomWidgetBgd;
|
|
391
405
|
}, function (props) {
|
|
392
406
|
return "".concat(props.theme.bottomInnerPdVert, "px ").concat(props.theme.bottomInnerPdSide, "px");
|
|
393
407
|
}, function (props) {
|
|
394
408
|
return props.theme.bottomPanelGap;
|
|
395
|
-
}, _styles.media.portable(
|
|
409
|
+
}, _styles.media.portable(_templateObject47 || (_templateObject47 = (0, _taggedTemplateLiteral2["default"])(["\n border-top: 1px solid ", ";\n border-left: 1px solid ", ";\n padding: 12px 12px;\n margin-top: 0;\n "])), function (props) {
|
|
396
410
|
return props.theme.panelBorderColor;
|
|
397
411
|
}, function (props) {
|
|
398
412
|
return props.theme.panelBorderColor;
|
|
@@ -403,7 +417,7 @@ var MapControlButton = (0, _styledComponents["default"])(Button).attrs(function
|
|
|
403
417
|
return {
|
|
404
418
|
className: (0, _classnames["default"])('map-control-button', props.className)
|
|
405
419
|
};
|
|
406
|
-
})(
|
|
420
|
+
})(_templateObject48 || (_templateObject48 = (0, _taggedTemplateLiteral2["default"])(["\n box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.16);\n height: 32px;\n width: 32px;\n padding: 0;\n border-radius: 0;\n background-color: ", ";\n color: ", ";\n border: ", ";\n\n :hover,\n :focus,\n :active,\n &.active {\n background-color: ", ";\n color: ", ";\n border: ", ";\n }\n svg {\n margin-right: 0;\n }\n"])), function (props) {
|
|
407
421
|
return props.active ? props.theme.floatingBtnBgdHover : props.theme.floatingBtnBgd;
|
|
408
422
|
}, function (props) {
|
|
409
423
|
return props.active ? props.theme.floatingBtnActColor : props.theme.floatingBtnColor;
|
|
@@ -418,21 +432,121 @@ var MapControlButton = (0, _styledComponents["default"])(Button).attrs(function
|
|
|
418
432
|
});
|
|
419
433
|
exports.MapControlButton = MapControlButton;
|
|
420
434
|
|
|
421
|
-
var StyledFilterContent = _styledComponents["default"].div(
|
|
435
|
+
var StyledFilterContent = _styledComponents["default"].div(_templateObject49 || (_templateObject49 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: 12px;\n"])), function (props) {
|
|
422
436
|
return props.theme.panelContentBackground;
|
|
423
437
|
});
|
|
424
438
|
|
|
425
439
|
exports.StyledFilterContent = StyledFilterContent;
|
|
426
440
|
|
|
427
|
-
var TruncatedTitleText = _styledComponents["default"].div(
|
|
441
|
+
var TruncatedTitleText = _styledComponents["default"].div(_templateObject50 || (_templateObject50 = (0, _taggedTemplateLiteral2["default"])(["\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n"])));
|
|
428
442
|
|
|
429
443
|
exports.TruncatedTitleText = TruncatedTitleText;
|
|
430
444
|
|
|
431
445
|
var CheckMark = _styledComponents["default"].span.attrs({
|
|
432
446
|
className: 'checkbox-inner'
|
|
433
|
-
})(
|
|
447
|
+
})(_templateObject51 || (_templateObject51 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n position: absolute;\n top: 0;\n right: 0;\n display: block;\n width: 10px;\n height: 10px;\n border-top-left-radius: 2px;\n\n :after {\n position: absolute;\n display: table;\n border: 1px solid #fff;\n border-top: 0;\n border-left: 0;\n transform: rotate(45deg) scale(1) translate(-50%, -50%);\n opacity: 1;\n content: ' ';\n top: 40%;\n left: 30%;\n width: 3.2px;\n height: 6.22px;\n }\n"])), function (props) {
|
|
434
448
|
return props.theme.selectionBtnBorderActColor;
|
|
435
449
|
});
|
|
436
450
|
|
|
437
451
|
exports.CheckMark = CheckMark;
|
|
438
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMudHN4Il0sIm5hbWVzIjpbIlNlbGVjdFRleHQiLCJzdHlsZWQiLCJzcGFuIiwicHJvcHMiLCJ0aGVtZSIsImxhYmVsQ29sb3IiLCJzZWxlY3RGb250U2l6ZSIsIlNlbGVjdFRleHRCb2xkIiwidGV4dENvbG9yIiwiSWNvblJvdW5kU21hbGwiLCJkaXYiLCJzZWNvbmRhcnlCdG5CZ2RIb3ZlciIsInNlY29uZGFyeUJ0bkNvbG9yIiwiQ2VudGVyRmxleGJveCIsIkNlbnRlclZlcnRpY2FsRmxleGJveCIsIlNwYWNlQmV0d2VlbkZsZXhib3giLCJTQkZsZXhib3hJdGVtIiwiU0JGbGV4Ym94Tm9NYXJnaW4iLCJQYW5lbExhYmVsIiwibGFiZWwiLCJhdHRycyIsImNsYXNzTmFtZSIsIlBhbmVsTGFiZWxXcmFwcGVyIiwiUGFuZWxMYWJlbEJvbGQiLCJQYW5lbEhlYWRlclRpdGxlIiwiUGFuZWxIZWFkZXJDb250ZW50IiwiUGFuZWxDb250ZW50IiwicGFuZWxDb250ZW50QmFja2dyb3VuZCIsIlNpZGVQYW5lbFNlY3Rpb24iLCJkaXNhYmxlZCIsIlNpZGVQYW5lbERpdmlkZXIiLCJzaWRlcGFuZWxEaXZpZGVyQm9yZGVyIiwicGFuZWxCb3JkZXJDb2xvciIsInNpZGVwYW5lbERpdmlkZXJNYXJnaW4iLCJzaWRlcGFuZWxEaXZpZGVySGVpZ2h0IiwiVG9vbHRpcCIsIlJlYWN0VG9vbHRpcCIsInRvb2x0aXBGb250U2l6ZSIsInRvb2x0aXBCb3hTaGFkb3ciLCJ0b29sdGlwQmciLCJ0b29sdGlwQ29sb3IiLCJCdXR0b24iLCJuZWdhdGl2ZSIsIm5lZ2F0aXZlQnRuQmdkIiwic2Vjb25kYXJ5Iiwic2Vjb25kYXJ5QnRuQmdkIiwibGluayIsImxpbmtCdG5CZ2QiLCJmbG9hdGluZyIsImZsb2F0aW5nQnRuQmdkIiwiY3RhIiwiY3RhQnRuQmdkIiwicHJpbWFyeUJ0bkJnZCIsInByaW1hcnlCdG5SYWRpdXMiLCJuZWdhdGl2ZUJ0bkNvbG9yIiwibGlua0J0bkNvbG9yIiwiZmxvYXRpbmdCdG5Db2xvciIsImN0YUJ0bkNvbG9yIiwicHJpbWFyeUJ0bkNvbG9yIiwibGFyZ2UiLCJwcmltYXJ5QnRuRm9udFNpemVMYXJnZSIsInNtYWxsIiwicHJpbWFyeUJ0bkZvbnRTaXplU21hbGwiLCJwcmltYXJ5QnRuRm9udFNpemVEZWZhdWx0IiwiYnRuRm9udEZhbWlseSIsInRyYW5zaXRpb24iLCJ3aWR0aCIsIm5lZ2F0aXZlQnRuQm9yZGVyIiwic2Vjb25kYXJ5QnRuQm9yZGVyIiwiZmxvYXRpbmdCdG5Cb3JkZXIiLCJsaW5rQnRuQm9yZGVyIiwicHJpbWFyeUJ0bkJvcmRlciIsIm5lZ2F0aXZlQnRuQmdkSG92ZXIiLCJsaW5rQnRuQWN0QmdkSG92ZXIiLCJmbG9hdGluZ0J0bkJnZEhvdmVyIiwiY3RhQnRuQmdkSG92ZXIiLCJwcmltYXJ5QnRuQmdkSG92ZXIiLCJuZWdhdGl2ZUJ0bkFjdENvbG9yIiwic2Vjb25kYXJ5QnRuQWN0Q29sb3IiLCJsaW5rQnRuQWN0Q29sb3IiLCJmbG9hdGluZ0J0bkFjdENvbG9yIiwiY3RhQnRuQWN0Q29sb3IiLCJwcmltYXJ5QnRuQWN0Q29sb3IiLCJJbnB1dCIsImlucHV0Iiwic2Vjb25kYXJ5SW5wdXQiLCJJbnB1dExpZ2h0IiwiaW5wdXRMVCIsIlRleHRBcmVhIiwidGV4dGFyZWEiLCJUZXh0QXJlYUxpZ2h0IiwiSW5saW5lSW5wdXQiLCJpbmxpbmVJbnB1dCIsIlN0eWxlZFBhbmVsSGVhZGVyIiwiYWN0aXZlIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJwYW5lbEJhY2tncm91bmQiLCJsYWJlbFJDR0NvbG9yVmFsdWVzIiwiam9pbiIsInBhbmVsSGVhZGVySGVpZ2h0IiwicGFuZWxIZWFkZXJCb3JkZXJSYWRpdXMiLCJTdHlsZWRQYW5lbERyb3Bkb3duIiwicGFuZWxEcm9wZG93blNjcm9sbEJhciIsInR5cGUiLCJtb2RhbERyb3Bkb3duQmFja2dyb3VuZCIsInBhbmVsQm94U2hhZG93IiwicGFuZWxCb3JkZXJSYWRpdXMiLCJCdXR0b25Hcm91cCIsIkRhdGFzZXRTcXVhcmUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJTZWxlY3Rpb25CdXR0b24iLCJzZWxlY3RlZCIsInNlbGVjdGlvbkJ0bkJvcmRlckFjdENvbG9yIiwic2VsZWN0aW9uQnRuQm9yZGVyQ29sb3IiLCJzZWxlY3Rpb25CdG5BY3RDb2xvciIsInNlbGVjdGlvbkJ0bkNvbG9yIiwic2VsZWN0aW9uQnRuQWN0QmdkIiwic2VsZWN0aW9uQnRuQmdkIiwiU3R5bGVkVGFibGUiLCJ0YWJsZSIsInBhbmVsQmFja2dyb3VuZExUIiwidGl0bGVDb2xvckxUIiwicGFuZWxCb3JkZXJMVCIsIlN0eWxlZE1vZGFsQ29udGVudCIsInRleHRDb2xvckxUIiwibW9kYWxMYXRlcmFsUGFkZGluZyIsIm1lZGlhIiwicG9ydGFibGUiLCJtb2RhbFBvcnRhYmxlTGF0ZXJhbFBhZGRpbmciLCJTdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWwiLCJwYWxtIiwiU3R5bGVkTW9kYWxTZWN0aW9uIiwic3VidGV4dENvbG9yTFQiLCJTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGUiLCJlcnJvciIsImVycm9yQ29sb3IiLCJTdHlsZWRNYXBDb250YWluZXIiLCJTdHlsZWRBdHRyYnV0aW9uIiwiU3R5bGVkRXhwb3J0U2VjdGlvbiIsIlN0eWxlZEZpbHRlcmVkT3B0aW9uIiwiU3R5bGVkVHlwZSIsIldpZGdldENvbnRhaW5lciIsIkJvdHRvbVdpZGdldElubmVyIiwiYm90dG9tV2lkZ2V0QmdkIiwiYm90dG9tSW5uZXJQZFZlcnQiLCJib3R0b21Jbm5lclBkU2lkZSIsImJvdHRvbVBhbmVsR2FwIiwiTWFwQ29udHJvbEJ1dHRvbiIsImZsb2F0aW5nQnRuQm9yZGVySG92ZXIiLCJTdHlsZWRGaWx0ZXJDb250ZW50IiwiVHJ1bmNhdGVkVGl0bGVUZXh0IiwiQ2hlY2tNYXJrIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztB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LEtBQUs7QUFBQSxTQUNiQSxLQUFLLENBQUMyRixNQUFOLEdBQWUzRixLQUFLLENBQUNDLEtBQU4sQ0FBWWdKLHNCQUEzQixHQUFvRGpKLEtBQUssQ0FBQ0MsS0FBTixDQUFZaUUsaUJBRG5EO0FBQUEsQ0FaWSxFQW1CTCxVQUFBbEUsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZc0UsbUJBQWhCO0FBQUEsQ0FuQkEsRUFvQmhCLFVBQUF2RSxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVk0RSxtQkFBaEI7QUFBQSxDQXBCVyxFQXFCZixVQUFBN0UsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZZ0osc0JBQWhCO0FBQUEsQ0FyQlUsQ0FBdEI7OztBQTRCQSxJQUFNQyxtQkFBbUIsR0FBR3BKLDZCQUFPUyxHQUFWLDBJQUNWLFVBQUFQLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWXVCLHNCQUFoQjtBQUFBLENBREssQ0FBekI7Ozs7QUFLQSxJQUFNMkgsa0JBQWtCLEdBQUdySiw2QkFBT1MsR0FBVixxS0FBeEI7Ozs7QUFNQSxJQUFNNkksU0FBUyxHQUFHdEosNkJBQU9DLElBQVAsQ0FBWWtCLEtBQVosQ0FBa0I7QUFDekNDLEVBQUFBLFNBQVMsRUFBRTtBQUQ4QixDQUFsQixDQUFILDJpQkFHQSxVQUFBbEIsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZNEcsMEJBQWhCO0FBQUEsQ0FITCxDQUFmIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUmVhY3RUb29sdGlwIGZyb20gJ3JlYWN0LXRvb2x0aXAnO1xuaW1wb3J0IHttZWRpYX0gZnJvbSAnQGtlcGxlci5nbC9zdHlsZXMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQge1JHQkNvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IFNlbGVjdFRleHQgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3RGb250U2l6ZX07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgaSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0VGV4dEJvbGQgPSBzdHlsZWQoU2VsZWN0VGV4dClgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5gO1xuXG5leHBvcnQgY29uc3QgSWNvblJvdW5kU21hbGwgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBib3JkZXItcmFkaXVzOiA5cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkSG92ZXJ9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5Db2xvcn07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkSG92ZXJ9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQ2VudGVyRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgQ2VudGVyVmVydGljYWxGbGV4Ym94ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTcGFjZUJldHdlZW5GbGV4Ym94ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tbGVmdDogLTE2cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU0JGbGV4Ym94SXRlbSA9IHN0eWxlZC5kaXZgXG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU0JGbGV4Ym94Tm9NYXJnaW4gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxMYWJlbCA9IHN0eWxlZC5sYWJlbC5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3NpZGUtcGFuZWwtcGFuZWxfX2xhYmVsJ1xufSlgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbExhYmVsV3JhcHBlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLXBhbmVsX19sYWJlbC13cmFwcGVyJ1xufSlgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0O1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsTGFiZWxCb2xkID0gc3R5bGVkKFBhbmVsTGFiZWwpYFxuICBmb250LXdlaWdodDogNTAwO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsSGVhZGVyVGl0bGUgPSBzdHlsZWQuc3Bhbi5hdHRycyhwcm9wcyA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ3NpZGUtcGFuZWwtcGFuZWxfX2hlYWRlcl9fdGl0bGUnLCBwcm9wcy5jbGFzc05hbWUpXG59KSlgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNDNweDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxIZWFkZXJDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuXG4gIC5pY29uIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxDb250ZW50ID0gc3R5bGVkLmRpdi5hdHRycyhwcm9wcyA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ3NpZGUtcGFuZWwtcGFuZWxfX2NvbnRlbnQnLCBwcm9wcy5jbGFzc05hbWUpXG59KSlgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxDb250ZW50QmFja2dyb3VuZH07XG4gIHBhZGRpbmc6IDEycHg7XG5gO1xuXG5pbnRlcmZhY2UgU2lkZVBhbmVsU2VjdGlvblByb3BzIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU2lkZVBhbmVsU2VjdGlvbiA9IHN0eWxlZC5kaXYuYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdzaWRlLXBhbmVsLXNlY3Rpb24nLCBwcm9wcy5jbGFzc05hbWUpXG59KSk8U2lkZVBhbmVsU2VjdGlvblByb3BzPmBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/IDAuNCA6IDEpfTtcbiAgcG9pbnRlci1ldmVudHM6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gJ25vbmUnIDogJ2FsbCcpfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTaWRlUGFuZWxEaXZpZGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3NpZGUtcGFuZWwtZGl2aWRlcidcbn0pYFxuICBib3JkZXItYm90dG9tOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVwYW5lbERpdmlkZXJCb3JkZXJ9IHNvbGlkXG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbiAgbWFyZ2luLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlcGFuZWxEaXZpZGVyTWFyZ2lufXB4O1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZXBhbmVsRGl2aWRlckhlaWdodH1weDtcbmA7XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwID0gc3R5bGVkKFJlYWN0VG9vbHRpcClgXG4gICYuX19yZWFjdF9jb21wb25lbnRfdG9vbHRpcCB7XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBGb250U2l6ZX07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiA3cHggMThweDtcbiAgICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCb3hTaGFkb3d9O1xuXG4gICAgJi50eXBlLWRhcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcENvbG9yfTtcbiAgICAgICYucGxhY2UtYm90dG9tIHtcbiAgICAgICAgOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wbGFjZS10b3Age1xuICAgICAgICA6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcEJnfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnBsYWNlLXJpZ2h0IHtcbiAgICAgICAgOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcEJnfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnBsYWNlLWxlZnQge1xuICAgICAgICA6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9uUHJvcHMge1xuICBuZWdhdGl2ZT86IGJvb2xlYW47XG4gIHNlY29uZGFyeT86IGJvb2xlYW47XG4gIGxpbms/OiBib29sZWFuO1xuICBmbG9hdGluZz86IGJvb2xlYW47XG4gIGN0YT86IGJvb2xlYW47XG4gIGxhcmdlPzogYm9vbGVhbjtcbiAgc21hbGw/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHdpZHRoPzogc3RyaW5nO1xuICBpbmFjdGl2ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBCdXR0b24gPSBzdHlsZWQuZGl2LmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnYnV0dG9uJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpPEJ1dHRvblByb3BzPmBcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQmdkXG4gICAgICA6IHByb3BzLnNlY29uZGFyeVxuICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RcbiAgICAgIDogcHJvcHMubGlua1xuICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQmdkXG4gICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkXG4gICAgICA6IHByb3BzLmN0YVxuICAgICAgPyBwcm9wcy50aGVtZS5jdGFCdG5CZ2RcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJnZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gIGNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMubmVnYXRpdmVcbiAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5Db2xvclxuICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQ29sb3JcbiAgICAgIDogcHJvcHMubGlua1xuICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQ29sb3JcbiAgICAgIDogcHJvcHMuZmxvYXRpbmdcbiAgICAgID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Db2xvclxuICAgICAgOiBwcm9wcy5jdGFcbiAgICAgID8gcHJvcHMudGhlbWUuY3RhQnRuQ29sb3JcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkNvbG9yfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+XG4gICAgcHJvcHMubGFyZ2VcbiAgICAgID8gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkZvbnRTaXplTGFyZ2VcbiAgICAgIDogcHJvcHMuc21hbGxcbiAgICAgID8gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkZvbnRTaXplU21hbGxcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkZvbnRTaXplRGVmYXVsdH07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJ0bkZvbnRGYW1pbHl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiAocHJvcHMubGFyZ2UgPyAnMTRweCAzMnB4JyA6IHByb3BzLnNtYWxsID8gJzZweCA5cHgnIDogJzlweCAxMnB4Jyl9O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gMC40IDogMSl9O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAnbm9uZScgOiAnYWxsJyl9O1xuICBib3JkZXI6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkJvcmRlclxuICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQm9yZGVyXG4gICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVyXG4gICAgICA6IHByb3BzLmxpbmtcbiAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkJvcmRlclxuICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQm9yZGVyfTtcbiAgOmhvdmVyLFxuICA6Zm9jdXMsXG4gIDphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RIb3ZlclxuICAgICAgICA6IHByb3BzLmxpbmtcbiAgICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQWN0QmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5jdGFcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jdGFCdG5CZ2RIb3ZlclxuICAgICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2RIb3Zlcn07XG4gICAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLnNlY29uZGFyeVxuICAgICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkFjdENvbG9yXG4gICAgICAgIDogcHJvcHMubGlua1xuICAgICAgICA/IHByb3BzLnRoZW1lLmxpbmtCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICAgID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLmN0YVxuICAgICAgICA/IHByb3BzLnRoZW1lLmN0YUJ0bkFjdENvbG9yXG4gICAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdENvbG9yfTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAke3Byb3BzID0+IChwcm9wcy5sYXJnZSA/ICcxMHB4JyA6IHByb3BzLnNtYWxsID8gJzZweCcgOiAnOHB4Jyl9O1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgSW5wdXRQcm9wcyB7XG4gIHNlY29uZGFyeT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBJbnB1dCA9IHN0eWxlZC5pbnB1dDxJbnB1dFByb3BzPmBcbiAgJHtwcm9wcyA9PiAocHJvcHMuc2Vjb25kYXJ5ID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXQgOiBwcm9wcy50aGVtZS5pbnB1dCl9O1xuYDtcblxuZXhwb3J0IGNvbnN0IElucHV0TGlnaHQgPSBzdHlsZWQuaW5wdXRgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRMVH07XG5gO1xuXG5leHBvcnQgY29uc3QgVGV4dEFyZWEgPSBzdHlsZWQudGV4dGFyZWE8SW5wdXRQcm9wcz5gXG4gICR7cHJvcHMgPT4gKHByb3BzLnNlY29uZGFyeSA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0IDogcHJvcHMudGhlbWUuaW5wdXQpfTtcbmA7XG5leHBvcnQgY29uc3QgVGV4dEFyZWFMaWdodCA9IHN0eWxlZC50ZXh0YXJlYWBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dExUfSBoZWlnaHQ6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbmA7XG5cbmV4cG9ydCBjb25zdCBJbmxpbmVJbnB1dCA9IHN0eWxlZChJbnB1dClgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5saW5lSW5wdXR9O1xuYDtcblxuZXhwb3J0IGludGVyZmFjZSBTdHlsZWRQYW5lbEhlYWRlclByb3BzIHtcbiAgYWN0aXZlPzogYm9vbGVhbjtcbiAgbGFiZWxSQ0dDb2xvclZhbHVlcz86IFJHQkNvbG9yIHwgbnVsbDtcbiAgd2FybmluZz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQYW5lbEhlYWRlciA9IHN0eWxlZC5kaXY8U3R5bGVkUGFuZWxIZWFkZXJQcm9wcz5gXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3ZlciA6IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWRcbiAgICByZ2IoXG4gICAgICAke3Byb3BzID0+IChwcm9wcy5sYWJlbFJDR0NvbG9yVmFsdWVzID8gcHJvcHMubGFiZWxSQ0dDb2xvclZhbHVlcy5qb2luKCcsJykgOiAndHJhbnNwYXJlbnQnKX1cbiAgICApO1xuICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxIZWFkZXJIZWlnaHR9cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEhlYWRlckJvcmRlclJhZGl1c307XG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG5gO1xuXG5pbnRlcmZhY2UgU3R5bGVkUGFuZWxEcm9wZG93blByb3BzIHtcbiAgdHlwZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBhbmVsRHJvcGRvd24gPSBzdHlsZWQuZGl2PFN0eWxlZFBhbmVsRHJvcGRvd25Qcm9wcz5gXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxEcm9wZG93blNjcm9sbEJhcn1cbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLnR5cGUgPT09ICdsaWdodCcgPyBwcm9wcy50aGVtZS5tb2RhbERyb3Bkb3duQmFja2dyb3VuZCA6IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3hTaGFkb3d9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyUmFkaXVzfTtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbkdyb3VwID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgLmJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xuICB9XG4gIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuUmFkaXVzfTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgRGF0YXNldFNxdWFyZVByb3BzIHtcbiAgYmFja2dyb3VuZENvbG9yOiBSR0JDb2xvcjtcbn1cblxuZXhwb3J0IGNvbnN0IERhdGFzZXRTcXVhcmUgPSBzdHlsZWQuZGl2PERhdGFzZXRTcXVhcmVQcm9wcz5gXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKCR7cHJvcHMgPT4gcHJvcHMuYmFja2dyb3VuZENvbG9yLmpvaW4oJywnKX0pO1xuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG5gO1xuXG5pbnRlcmZhY2UgU2VsZWN0aW9uQnV0dG9uUHJvcHMge1xuICBzZWxlY3RlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTZWxlY3Rpb25CdXR0b24gPSBzdHlsZWQuZGl2PFNlbGVjdGlvbkJ1dHRvblByb3BzPmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcyA9PlxuICAgICAgcHJvcHMuc2VsZWN0ZWRcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckNvbG9yfTtcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkFjdENvbG9yIDogcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuc2VsZWN0ZWQgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5BY3RCZ2QgOiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5CZ2R9O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIHBhZGRpbmc6IDZweCAxNnB4O1xuXG4gIDpob3ZlciB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQWN0Q29sb3J9O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQm9yZGVyQWN0Q29sb3J9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGFibGUgPSBzdHlsZWQudGFibGVgXG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItc3BhY2luZzogMDtcblxuICB0aGVhZCB7XG4gICAgdHIgdGgge1xuICAgICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRMVH07XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50aXRsZUNvbG9yTFR9O1xuICAgICAgcGFkZGluZzogMThweCAxMnB4O1xuICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkge1xuICAgIHRyIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJMVH07XG4gICAgICBwYWRkaW5nOiAxMnB4O1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kTFR9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgcGFkZGluZzogMjRweCAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsTGF0ZXJhbFBhZGRpbmd9O1xuICBtYXJnaW46IDAgLSR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxMYXRlcmFsUGFkZGluZ307XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDE2cHggJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbFBvcnRhYmxlTGF0ZXJhbFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMCAtJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbFBvcnRhYmxlTGF0ZXJhbFBhZGRpbmd9O1xuICBgfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWwgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbW9kYWwtdmVydGljYWwtcGFuZWwnXG59KWBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcblxuICAubW9kYWwtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAke21lZGlhLnBhbG1gXG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGB9O1xuICB9XG5cbiAgaW5wdXQge1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxTZWN0aW9uID0gc3R5bGVkLmRpdi5hdHRycygoe2NsYXNzTmFtZX0pID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnbW9kYWwtc2VjdGlvbicsIGNsYXNzTmFtZSlcbn0pKWBcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICAubW9kYWwtc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAubW9kYWwtc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICB9XG5cbiAgaW5wdXQge1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgfVxuXG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgYH07XG4gICR7bWVkaWEucGFsbWBcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBgfTtcbmA7XG5cbmludGVyZmFjZSBTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGVQcm9wcyB7XG4gIGVycm9yPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsSW5wdXRGb290bm90ZSA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdtb2RhbC1pbnB1dF9fZm9vdG5vdGUnXG59KTxTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGVQcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5lcnJvciA/IHByb3BzLnRoZW1lLmVycm9yQ29sb3IgOiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JMVCl9O1xuICBmb250LXNpemU6IDEwcHg7XG5gO1xuLyoqXG4gKiBOZXdlciB2ZXJzaW9ucyBvZiBtYXBib3guZ2wgZGlzcGxheSBhbiBlcnJvciBtZXNzYWdlIGJhbm5lciBvbiB0b3Agb2YgdGhlIG1hcCBieSBkZWZhdWx0XG4gKiB3aGljaCB3aWxsIGNhdXNlIHRoZSBtYXAgdG8gZGlzcGxheSBwb2ludHMgaW4gdGhlIHdyb25nIGxvY2F0aW9uc1xuICogVGhpcyB3b3JrYXJvdW5kIHdpbGwgaGlkZSB0aGUgZXJyb3IgYmFubmVyLlxuICovXG5leHBvcnQgY29uc3QgU3R5bGVkTWFwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLm1hcGJveGdsLW1hcCB7XG4gICAgLm1hcGJveGdsLW1pc3NpbmctY3NzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5tYXBib3hnbC1jdHJsLWF0dHJpYiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEF0dHJidXRpb24gPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbWFwYm94LWF0dHJpYnV0aW9uLWNvbnRhaW5lcidcbn0pYFxuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMTBweCA2cHg7XG4gIHotaW5kZXg6IDA7XG4gIC5hdHRyaXRpb24tbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgYSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICB9XG4gIH1cblxuICAuYXR0cml0aW9uLWxvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcblxuICAgIGEubWFwYm94Z2wtY3RybC1sb2dvIHtcbiAgICAgIHdpZHRoOiA3MnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICB9XG4gIH1cbiAgYSB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG5cbiAgJHttZWRpYS5wYWxtYFxuICAgIC5hdHRyaXRpb24tbG9nbyBhIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgIH1cblxuICAgIC5hdHRyaXRpb24tbGluayB7XG4gICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIH1cbiAgYH07XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0eWxlZEV4cG9ydFNlY3Rpb25Qcm9wcyB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZEV4cG9ydFNlY3Rpb24gPSBzdHlsZWQuZGl2PFN0eWxlZEV4cG9ydFNlY3Rpb25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbjogMzVweCAwO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yTFR9O1xuICBmb250LXNpemU6IDEycHg7XG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gMC4zIDogMSl9O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAnbm9uZScgOiAnYWxsJyl9O1xuXG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDE4NXB4O1xuICAgIC50aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgICAuc3VidGl0bGUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgIH1cbiAgfVxuICAud2FybmluZyB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZXJyb3JDb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuZGVzY3JpcHRpb24uZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnNlbGVjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG5cbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250OiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgcGFkZGluZzogMC41ZW0gMy41ZW0gMC41ZW0gMWVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB3aWR0aDogMjUwcHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG5cbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgNTAlLCBncmF5IDUwJSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGdyYXkgNTAlLCB0cmFuc3BhcmVudCA1MCUpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjY2MsICNjY2MpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMjBweCkgY2FsYygxZW0gKyAycHgpLCBjYWxjKDEwMCUgLSAxNXB4KSBjYWxjKDFlbSArIDJweCksXG4gICAgICAgIGNhbGMoMTAwJSAtIDIuNWVtKSA0LjVlbTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IDVweCwgNXB4IDVweCwgMXB4IDEuNWVtO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICBzZWxlY3Q6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBncmVlbiA1MCUsIHRyYW5zcGFyZW50IDUwJSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHRyYW5zcGFyZW50IDUwJSwgZ3JlZW4gNTAlKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjY2NjLCAjY2NjKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDE1cHgpIDFlbSwgY2FsYygxMDAlIC0gMjBweCkgMWVtLCBjYWxjKDEwMCUgLSAyLjVlbSkgNC41ZW07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweCA1cHgsIDVweCA1cHgsIDFweCAxLjVlbTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBib3JkZXItY29sb3I6IGdyZWVuO1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGaWx0ZXJlZE9wdGlvbiA9IHN0eWxlZChTZWxlY3Rpb25CdXR0b24pYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICB3aWR0aDogMTQwcHg7XG5cbiAgLmZpbHRlci1vcHRpb24tdGl0bGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckxUfTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuZmlsdGVyLW9wdGlvbi1zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFR5cGUgPSBzdHlsZWQoU2VsZWN0aW9uQnV0dG9uKWBcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICB3aWR0aDogMTAwcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgV2lkZ2V0Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgei1pbmRleDogMTtcbmA7XG5cbmV4cG9ydCBjb25zdCBCb3R0b21XaWRnZXRJbm5lciA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm90dG9tV2lkZ2V0QmdkfTtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiBgJHtwcm9wcy50aGVtZS5ib3R0b21Jbm5lclBkVmVydH1weCAke3Byb3BzLnRoZW1lLmJvdHRvbUlubmVyUGRTaWRlfXB4YH07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3R0b21QYW5lbEdhcH1weDtcblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyQ29sb3J9O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbiAgICBwYWRkaW5nOiAxMnB4IDEycHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgYH1cbmA7XG5cbmludGVyZmFjZSBNYXBDb250cm9sQnV0dG9uUHJvcHMge1xuICBhY3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTWFwQ29udHJvbEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pLmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnbWFwLWNvbnRyb2wtYnV0dG9uJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpPE1hcENvbnRyb2xCdXR0b25Qcm9wcz5gXG4gIGJveC1zaGFkb3c6IDAgNnB4IDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2RIb3ZlciA6IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkfTtcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkFjdENvbG9yIDogcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Db2xvcn07XG4gIGJvcmRlcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVySG92ZXIgOiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlcn07XG5cbiAgOmhvdmVyLFxuICA6Zm9jdXMsXG4gIDphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkSG92ZXJ9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQWN0Q29sb3J9O1xuICAgIGJvcmRlcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlckhvdmVyfTtcbiAgfVxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZpbHRlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQ29udGVudEJhY2tncm91bmR9O1xuICBwYWRkaW5nOiAxMnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFRydW5jYXRlZFRpdGxlVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYDtcblxuZXhwb3J0IGNvbnN0IENoZWNrTWFyayA9IHN0eWxlZC5zcGFuLmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY2hlY2tib3gtaW5uZXInXG59KWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvcn07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcblxuICA6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDEpIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICB0b3A6IDQwJTtcbiAgICBsZWZ0OiAzMCU7XG4gICAgd2lkdGg6IDMuMnB4O1xuICAgIGhlaWdodDogNi4yMnB4O1xuICB9XG5gO1xuIl19
|
|
452
|
+
var StyledTimePicker = (0, _styledComponents["default"])(_reactTimePicker["default"])(_templateObject52 || (_templateObject52 = (0, _taggedTemplateLiteral2["default"])(["\n .react-time-picker {\n display: inline-flex;\n position: relative;\n font-family: ", ";\n font-size: ", ";\n background-color: ", ";\n color: ", ";\n }\n .react-time-picker,\n .react-time-picker *,\n .react-time-picker *:before,\n .react-time-picker *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-time-picker__wrapper {\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n background-color: ", ";\n border: thin solid ", ";\n border-radius: 2px;\n }\n .react-time-picker__wrapper:hover {\n background-color: ", ";\n }\n .react-time-picker__inputGroup {\n min-width: calc((4px * 3) + 0.54em * 6 + 0.217em * 2);\n flex-grow: 1;\n padding: 4px 10px;\n box-sizing: content-box;\n }\n .react-time-picker__inputGroup__divider {\n padding: 1px 0;\n white-space: pre;\n }\n .react-time-picker__inputGroup__divider,\n .react-time-picker__inputGroup__leadingZero {\n display: inline-block;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n }\n .react-time-picker__inputGroup__input {\n min-width: 0.54em;\n height: 100%;\n position: relative;\n padding: 0 1px;\n border: 0;\n background: transparent;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n box-sizing: content-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n }\n .react-time-picker__inputGroup__input:focus {\n outline: none;\n }\n .react-time-picker__inputGroup__input::-webkit-outer-spin-button,\n .react-time-picker__inputGroup__input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n .react-time-picker__inputGroup__input--hasLeadingZero {\n margin-left: -0.54em;\n padding-left: calc(1px + 0.54em);\n }\n .react-time-picker__inputGroup__amPm {\n font: inherit;\n -webkit-appearance: menulist;\n -moz-appearance: menulist;\n appearance: menulist;\n font-size: ", ";\n }\n .react-time-picker__button {\n border: 0;\n background-color: ", ";\n padding: 4px 6px;\n }\n .react-time-picker__button:enabled {\n cursor: pointer;\n }\n .react-time-picker__button svg {\n display: inherit;\n }\n .react-time-picker__clock--closed,\n .react-time-picker__clear-button {\n display: none;\n }\n"])), function (props) {
|
|
453
|
+
return props.theme.fontFamily;
|
|
454
|
+
}, function (props) {
|
|
455
|
+
return props.theme.inputFontSize;
|
|
456
|
+
}, function (props) {
|
|
457
|
+
return props.theme.inputBgd;
|
|
458
|
+
}, function (props) {
|
|
459
|
+
return props.theme.textColor;
|
|
460
|
+
}, function (props) {
|
|
461
|
+
return props.theme.inputBgd;
|
|
462
|
+
}, function (props) {
|
|
463
|
+
return props.theme.inputBgd;
|
|
464
|
+
}, function (props) {
|
|
465
|
+
return props.theme.inputBgdHover;
|
|
466
|
+
}, function (props) {
|
|
467
|
+
return props.theme.textColor;
|
|
468
|
+
}, function (props) {
|
|
469
|
+
return props.theme.fontFamily;
|
|
470
|
+
}, function (props) {
|
|
471
|
+
return props.theme.inputFontSize;
|
|
472
|
+
}, function (props) {
|
|
473
|
+
return props.theme.textColor;
|
|
474
|
+
}, function (props) {
|
|
475
|
+
return props.theme.fontFamily;
|
|
476
|
+
}, function (props) {
|
|
477
|
+
return props.theme.inputFontSize;
|
|
478
|
+
}, function (props) {
|
|
479
|
+
return props.theme.inputFontSize;
|
|
480
|
+
}, function (props) {
|
|
481
|
+
return props.theme.inputBgd;
|
|
482
|
+
});
|
|
483
|
+
exports.StyledTimePicker = StyledTimePicker;
|
|
484
|
+
var StyledDatePicker = (0, _styledComponents["default"])(_reactDatePicker["default"])(_templateObject53 || (_templateObject53 = (0, _taggedTemplateLiteral2["default"])(["\n .react-date-picker {\n display: inline-flex;\n position: relative;\n font-family: ", ";\n font-size: ", ";\n }\n .react-date-picker,\n .react-date-picker *,\n .react-date-picker *:before,\n .react-date-picker *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-date-picker--disabled {\n background-color: #f0f0f0;\n color: #6d6d6d;\n }\n .react-date-picker__wrapper {\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n border: thin solid ", ";\n border-radius: 2px;\n }\n .react-date-picker__inputGroup {\n min-width: calc((4px * 3) + 0.54em * 8 + 0.217em * 2);\n flex-grow: 1;\n padding: 4px 10px;\n box-sizing: content-box;\n background-color: ", ";\n }\n\n .react-date-picker__inputGroup:hover {\n background-color: ", ";\n }\n .react-date-picker__inputGroup__divider {\n padding: 1px 0;\n white-space: pre;\n color: ", ";\n }\n .react-date-picker__inputGroup__divider,\n .react-date-picker__inputGroup__leadingZero {\n display: inline-block;\n }\n .react-date-picker__inputGroup__input {\n min-width: 0.54em;\n height: 100%;\n position: relative;\n padding: 0 1px;\n border: 0;\n background: none;\n color: ", ";\n font: inherit;\n font-size: ", ";\n box-sizing: content-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n }\n .react-date-picker__inputGroup__input:focus {\n outline: none;\n }\n .react-date-picker__inputGroup__input::-webkit-outer-spin-button,\n .react-date-picker__inputGroup__input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n .react-date-picker__inputGroup__input:invalid {\n background: ", ";\n }\n .react-date-picker__inputGroup__input--hasLeadingZero {\n margin-left: -0.54em;\n padding-left: calc(1px + 0.54em);\n }\n .react-date-picker__calendar {\n width: 257px;\n max-width: 100vw;\n z-index: 11;\n inset: auto !important;\n color: ", ";\n }\n .react-date-picker__calendar--closed {\n display: none;\n }\n .react-date-picker__calendar .react-calendar {\n border-width: thin;\n }\n .react-date-picker__button {\n display: none;\n }\n .react-calendar {\n width: 257px;\n max-width: 100%;\n color: ", ";\n background: ", ";\n border: 1px solid ", ";\n border-radius: 2px;\n font-family: ", ";\n line-height: 1.125em;\n }\n .react-calendar,\n .react-calendar *,\n .react-calendar *:before,\n .react-calendar *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-calendar button {\n margin: 0;\n border: 0;\n outline: none;\n }\n .react-calendar buttom:enabled {\n color: ", ";\n }\n .react-calendar button:enabled:hover {\n cursor: pointer;\n }\n .react-calendar__navigation {\n display: flex;\n height: 25px;\n margin-bottom: 1em;\n }\n .react-calendar__navigation button {\n min-width: 25px;\n background: none;\n }\n .react-calendar__navigation button:enabled:hover,\n .react-calendar__navigation button:enabled:focus {\n background-color: ", ";\n }\n .react-calendar__month-view__weekdays {\n text-align: center;\n text-transform: uppercase;\n font-weight: bold;\n }\n .react-calendar__month-view__weekdays__weekday {\n padding: 0.5em;\n font-size: ", ";\n }\n .react-calendar__month-view__weekNumbers .react-calendar__tile {\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n }\n .react-calendar__month-view__days__day--weekend {\n color: ", ";\n }\n .react-calendar__month-view__days__day--neighboringMonth {\n color: ", ";\n opacity: 0.4;\n }\n .react-calendar__navigation__label__labelText,\n .react-calendar__navigation__arrow {\n color: ", ";\n }\n .react-calendar__year-view .react-calendar__tile,\n .react-calendar__decade-view .react-calendar__tile,\n .react-calendar__century-view .react-calendar__tile {\n padding: 2em 0.5em;\n }\n .react-calendar__tile {\n color: ", ";\n max-width: 100%;\n padding: 6px 4px;\n background: none;\n text-align: center;\n font-size: ", ";\n }\n .react-calendar__tile:enabled:hover,\n .react-calendar__tile:enabled:focus {\n background-color: ", ";\n color: ", ";\n }\n .react-calendar__tile--now:enabled:hover,\n .react-calendar__tile--now:enabled:focus {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--hasActive {\n background: ", ";\n }\n .react-calendar__tile--hasActive:enabled:hover,\n .react-calendar__tile--hasActive:enabled:focus {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--active {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--active:enabled:hover,\n .react-calendar__tile--active:enabled:focus {\n background: ", ";\n }\n .calendar__navigation__label__labelText {\n \u0441olor: ", ";\n }\n"])), function (props) {
|
|
485
|
+
return props.theme.fontFamily;
|
|
486
|
+
}, function (props) {
|
|
487
|
+
return props.theme.inputFontSize;
|
|
488
|
+
}, function (props) {
|
|
489
|
+
return props.theme.inputBgd;
|
|
490
|
+
}, function (props) {
|
|
491
|
+
return props.theme.inputBgd;
|
|
492
|
+
}, function (props) {
|
|
493
|
+
return props.theme.inputBgdHover;
|
|
494
|
+
}, function (props) {
|
|
495
|
+
return props.theme.textColor;
|
|
496
|
+
}, function (props) {
|
|
497
|
+
return props.theme.textColor;
|
|
498
|
+
}, function (props) {
|
|
499
|
+
return props.theme.inputFontSize;
|
|
500
|
+
}, function (props) {
|
|
501
|
+
return props.theme.inputBgd;
|
|
502
|
+
}, function (props) {
|
|
503
|
+
return props.theme.textColor;
|
|
504
|
+
}, function (props) {
|
|
505
|
+
return props.theme.textColor;
|
|
506
|
+
}, function (props) {
|
|
507
|
+
return props.theme.inputBgdHover;
|
|
508
|
+
}, function (props) {
|
|
509
|
+
return props.theme.textColor;
|
|
510
|
+
}, function (props) {
|
|
511
|
+
return props.theme.fontFamily;
|
|
512
|
+
}, function (props) {
|
|
513
|
+
return props.theme.primaryBtnActColor;
|
|
514
|
+
}, function (props) {
|
|
515
|
+
return props.theme.inputBgdActive;
|
|
516
|
+
}, function (props) {
|
|
517
|
+
return props.theme.inputFontSize;
|
|
518
|
+
}, function (props) {
|
|
519
|
+
return props.theme.textColor;
|
|
520
|
+
}, function (props) {
|
|
521
|
+
return props.theme.textColor;
|
|
522
|
+
}, function (props) {
|
|
523
|
+
return props.theme.textColor;
|
|
524
|
+
}, function (props) {
|
|
525
|
+
return props.theme.textColor;
|
|
526
|
+
}, function (props) {
|
|
527
|
+
return props.theme.inputFontSize;
|
|
528
|
+
}, function (props) {
|
|
529
|
+
return props.theme.primaryBtnBgd;
|
|
530
|
+
}, function (props) {
|
|
531
|
+
return props.theme.primaryBtnActColor;
|
|
532
|
+
}, function (props) {
|
|
533
|
+
return props.theme.primaryBtnBgd;
|
|
534
|
+
}, function (props) {
|
|
535
|
+
return props.theme.primaryBtnActColor;
|
|
536
|
+
}, function (props) {
|
|
537
|
+
return props.theme.primaryBtnActBgd;
|
|
538
|
+
}, function (props) {
|
|
539
|
+
return props.theme.primaryBtnActBgd;
|
|
540
|
+
}, function (props) {
|
|
541
|
+
return props.theme.primaryBtnActColor;
|
|
542
|
+
}, function (props) {
|
|
543
|
+
return props.theme.primaryBtnActBgd;
|
|
544
|
+
}, function (props) {
|
|
545
|
+
return props.theme.primaryBtnActColor;
|
|
546
|
+
}, function (props) {
|
|
547
|
+
return props.theme.primaryBtnActBgd;
|
|
548
|
+
}, function (props) {
|
|
549
|
+
return props.theme.textColor;
|
|
550
|
+
});
|
|
551
|
+
exports.StyledDatePicker = StyledDatePicker;
|
|
552
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMudHN4Il0sIm5hbWVzIjpbIlNlbGVjdFRleHQiLCJzdHlsZWQiLCJzcGFuIiwicHJvcHMiLCJ0aGVtZSIsImxhYmVsQ29sb3IiLCJzZWxlY3RGb250U2l6ZSIsIlNlbGVjdFRleHRCb2xkIiwidGV4dENvbG9yIiwiSWNvblJvdW5kU21hbGwiLCJkaXYiLCJzZWNvbmRhcnlCdG5CZ2RIb3ZlciIsInNlY29uZGFyeUJ0bkNvbG9yIiwiQ2VudGVyRmxleGJveCIsIkNlbnRlclZlcnRpY2FsRmxleGJveCIsIkVuZEhvcml6b250YWxGbGV4Ym94IiwiU3BhY2VCZXR3ZWVuRmxleGJveCIsIlNCRmxleGJveEl0ZW0iLCJTQkZsZXhib3hOb01hcmdpbiIsIlBhbmVsTGFiZWwiLCJsYWJlbCIsImF0dHJzIiwiY2xhc3NOYW1lIiwiUGFuZWxMYWJlbFdyYXBwZXIiLCJQYW5lbExhYmVsQm9sZCIsIlBhbmVsSGVhZGVyVGl0bGUiLCJQYW5lbEhlYWRlckNvbnRlbnQiLCJQYW5lbENvbnRlbnQiLCJwYW5lbENvbnRlbnRCYWNrZ3JvdW5kIiwiU2lkZVBhbmVsU2VjdGlvbiIsImRpc2FibGVkIiwiU2lkZVBhbmVsRGl2aWRlciIsInNpZGVwYW5lbERpdmlkZXJCb3JkZXIiLCJwYW5lbEJvcmRlckNvbG9yIiwic2lkZXBhbmVsRGl2aWRlck1hcmdpbiIsInNpZGVwYW5lbERpdmlkZXJIZWlnaHQiLCJUb29sdGlwIiwiUmVhY3RUb29sdGlwIiwidG9vbHRpcEZvbnRTaXplIiwidG9vbHRpcEJveFNoYWRvdyIsInRvb2x0aXBCZyIsInRvb2x0aXBDb2xvciIsIkJ1dHRvbiIsIm5lZ2F0aXZlIiwibmVnYXRpdmVCdG5CZ2QiLCJzZWNvbmRhcnkiLCJzZWNvbmRhcnlCdG5CZ2QiLCJsaW5rIiwibGlua0J0bkJnZCIsImZsb2F0aW5nIiwiZmxvYXRpbmdCdG5CZ2QiLCJjdGEiLCJjdGFCdG5CZ2QiLCJwcmltYXJ5QnRuQmdkIiwicHJpbWFyeUJ0blJhZGl1cyIsIm5lZ2F0aXZlQnRuQ29sb3IiLCJsaW5rQnRuQ29sb3IiLCJmbG9hdGluZ0J0bkNvbG9yIiwiY3RhQnRuQ29sb3IiLCJwcmltYXJ5QnRuQ29sb3IiLCJsYXJnZSIsInByaW1hcnlCdG5Gb250U2l6ZUxhcmdlIiwic21hbGwiLCJwcmltYXJ5QnRuRm9udFNpemVTbWFsbCIsInByaW1hcnlCdG5Gb250U2l6ZURlZmF1bHQiLCJidG5Gb250RmFtaWx5IiwidHJhbnNpdGlvbiIsIndpZHRoIiwibmVnYXRpdmVCdG5Cb3JkZXIiLCJzZWNvbmRhcnlCdG5Cb3JkZXIiLCJmbG9hdGluZ0J0bkJvcmRlciIsImxpbmtCdG5Cb3JkZXIiLCJwcmltYXJ5QnRuQm9yZGVyIiwibmVnYXRpdmVCdG5CZ2RIb3ZlciIsImxpbmtCdG5BY3RCZ2RIb3ZlciIsImZsb2F0aW5nQnRuQmdkSG92ZXIiLCJjdGFCdG5CZ2RIb3ZlciIsInByaW1hcnlCdG5CZ2RIb3ZlciIsIm5lZ2F0aXZlQnRuQWN0Q29sb3IiLCJzZWNvbmRhcnlCdG5BY3RDb2xvciIsImxpbmtCdG5BY3RDb2xvciIsImZsb2F0aW5nQnRuQWN0Q29sb3IiLCJjdGFCdG5BY3RDb2xvciIsInByaW1hcnlCdG5BY3RDb2xvciIsIklucHV0IiwiaW5wdXQiLCJzZWNvbmRhcnlJbnB1dCIsIklucHV0TGlnaHQiLCJpbnB1dExUIiwiVGV4dEFyZWEiLCJ0ZXh0YXJlYSIsIlRleHRBcmVhTGlnaHQiLCJJbmxpbmVJbnB1dCIsImlubGluZUlucHV0IiwiU3R5bGVkUGFuZWxIZWFkZXIiLCJhY3RpdmUiLCJwYW5lbEJhY2tncm91bmRIb3ZlciIsInBhbmVsQmFja2dyb3VuZCIsImxhYmVsUkNHQ29sb3JWYWx1ZXMiLCJqb2luIiwicGFuZWxIZWFkZXJIZWlnaHQiLCJwYW5lbEhlYWRlckJvcmRlclJhZGl1cyIsIlN0eWxlZFBhbmVsRHJvcGRvd24iLCJwYW5lbERyb3Bkb3duU2Nyb2xsQmFyIiwidHlwZSIsIm1vZGFsRHJvcGRvd25CYWNrZ3JvdW5kIiwicGFuZWxCb3hTaGFkb3ciLCJwYW5lbEJvcmRlclJhZGl1cyIsIkJ1dHRvbkdyb3VwIiwiRGF0YXNldFNxdWFyZSIsImJhY2tncm91bmRDb2xvciIsIlNlbGVjdGlvbkJ1dHRvbiIsInNlbGVjdGVkIiwic2VsZWN0aW9uQnRuQm9yZGVyQWN0Q29sb3IiLCJzZWxlY3Rpb25CdG5Cb3JkZXJDb2xvciIsInNlbGVjdGlvbkJ0bkFjdENvbG9yIiwic2VsZWN0aW9uQnRuQ29sb3IiLCJzZWxlY3Rpb25CdG5BY3RCZ2QiLCJzZWxlY3Rpb25CdG5CZ2QiLCJTdHlsZWRUYWJsZSIsInRhYmxlIiwicGFuZWxCYWNrZ3JvdW5kTFQiLCJ0aXRsZUNvbG9yTFQiLCJwYW5lbEJvcmRlckxUIiwiU3R5bGVkTW9kYWxDb250ZW50IiwidGV4dENvbG9yTFQiLCJtb2RhbExhdGVyYWxQYWRkaW5nIiwibWVkaWEiLCJwb3J0YWJsZSIsIm1vZGFsUG9ydGFibGVMYXRlcmFsUGFkZGluZyIsIlN0eWxlZE1vZGFsVmVydGljYWxQYW5lbCIsInBhbG0iLCJTdHlsZWRNb2RhbFNlY3Rpb24iLCJzdWJ0ZXh0Q29sb3JMVCIsIlN0eWxlZE1vZGFsSW5wdXRGb290bm90ZSIsImVycm9yIiwiZXJyb3JDb2xvciIsIlN0eWxlZE1hcENvbnRhaW5lciIsIlN0eWxlZEF0dHJidXRpb24iLCJTdHlsZWRFeHBvcnRTZWN0aW9uIiwiZm9udEZhbWlseU1lZGl1bSIsImZvbnRGYW1pbHkiLCJTdHlsZWRGaWx0ZXJlZE9wdGlvbiIsIlN0eWxlZFR5cGUiLCJXaWRnZXRDb250YWluZXIiLCJCb3R0b21XaWRnZXRJbm5lciIsImJvdHRvbVdpZGdldEJnZCIsImJvdHRvbUlubmVyUGRWZXJ0IiwiYm90dG9tSW5uZXJQZFNpZGUiLCJib3R0b21QYW5lbEdhcCIsIk1hcENvbnRyb2xCdXR0b24iLCJmbG9hdGluZ0J0bkJvcmRlckhvdmVyIiwiU3R5bGVkRmlsdGVyQ29udGVudCIsIlRydW5jYXRlZFRpdGxlVGV4dCIsIkNoZWNrTWFyayIsIlN0eWxlZFRpbWVQaWNrZXIiLCJUaW1lUGlja2VyIiwiaW5wdXRGb250U2l6ZSIsImlucHV0QmdkIiwiaW5wdXRCZ2RIb3ZlciIsIlN0eWxlZERhdGVQaWNrZXIiLCJEYXRlUGlja2VyIiwiaW5wdXRCZ2RBY3RpdmUiLCJwcmltYXJ5QnRuQWN0QmdkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUdPLElBQU1BLFVBQVUsR0FBR0MsNkJBQU9DLElBQVYsOE1BQ1osVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxVQUFoQjtBQUFBLENBRE8sRUFFUixVQUFBRixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlFLGNBQWhCO0FBQUEsQ0FGRyxDQUFoQjs7O0FBV0EsSUFBTUMsY0FBYyxHQUFHLGtDQUFPUCxVQUFQLENBQUgsZ0lBQ2hCLFVBQUFHLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUksU0FBaEI7QUFBQSxDQURXLENBQXBCOzs7QUFLQSxJQUFNQyxjQUFjLEdBQUdSLDZCQUFPUyxHQUFWLDBVQUtMLFVBQUFQLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWU8sb0JBQWhCO0FBQUEsQ0FMQSxFQU1oQixVQUFBUixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlRLGlCQUFoQjtBQUFBLENBTlcsRUFZSCxVQUFBVCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlPLG9CQUFoQjtBQUFBLENBWkYsQ0FBcEI7Ozs7QUFnQkEsSUFBTUUsYUFBYSxHQUFHWiw2QkFBT1MsR0FBVixvSUFBbkI7Ozs7QUFLQSxJQUFNSSxxQkFBcUIsR0FBR2IsNkJBQU9TLEdBQVYsK0pBQTNCOzs7O0FBTUEsSUFBTUssb0JBQW9CLEdBQUdkLDZCQUFPUyxHQUFWLHlKQUExQjs7OztBQU1BLElBQU1NLG1CQUFtQixHQUFHZiw2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Q0ExTVcsQ0FBdEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBEYXRlUGlja2VyIGZyb20gJ3JlYWN0LWRhdGUtcGlja2VyJztcbmltcG9ydCBUaW1lUGlja2VyIGZyb20gJ3JlYWN0LXRpbWUtcGlja2VyJztcbmltcG9ydCBSZWFjdFRvb2x0aXAgZnJvbSAncmVhY3QtdG9vbHRpcCc7XG5pbXBvcnQge21lZGlhfSBmcm9tICdAa2VwbGVyLmdsL3N0eWxlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7UkdCQ29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0VGV4dCA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdEZvbnRTaXplfTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICBpIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTZWxlY3RUZXh0Qm9sZCA9IHN0eWxlZChTZWxlY3RUZXh0KWBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBJY29uUm91bmRTbWFsbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RIb3Zlcn07XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkNvbG9yfTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RIb3Zlcn07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDZW50ZXJGbGV4Ym94ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBDZW50ZXJWZXJ0aWNhbEZsZXhib3ggPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IEVuZEhvcml6b250YWxGbGV4Ym94ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTcGFjZUJldHdlZW5GbGV4Ym94ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tbGVmdDogLTE2cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU0JGbGV4Ym94SXRlbSA9IHN0eWxlZC5kaXZgXG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU0JGbGV4Ym94Tm9NYXJnaW4gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxMYWJlbCA9IHN0eWxlZC5sYWJlbC5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3NpZGUtcGFuZWwtcGFuZWxfX2xhYmVsJ1xufSlgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbExhYmVsV3JhcHBlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLXBhbmVsX19sYWJlbC13cmFwcGVyJ1xufSlgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0O1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsTGFiZWxCb2xkID0gc3R5bGVkKFBhbmVsTGFiZWwpYFxuICBmb250LXdlaWdodDogNTAwO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsSGVhZGVyVGl0bGUgPSBzdHlsZWQuc3Bhbi5hdHRycyhwcm9wcyA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ3NpZGUtcGFuZWwtcGFuZWxfX2hlYWRlcl9fdGl0bGUnLCBwcm9wcy5jbGFzc05hbWUpXG59KSlgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNDNweDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxIZWFkZXJDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuXG4gIC5pY29uIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxDb250ZW50ID0gc3R5bGVkLmRpdi5hdHRycyhwcm9wcyA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ3NpZGUtcGFuZWwtcGFuZWxfX2NvbnRlbnQnLCBwcm9wcy5jbGFzc05hbWUpXG59KSlgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxDb250ZW50QmFja2dyb3VuZH07XG4gIHBhZGRpbmc6IDEycHg7XG5gO1xuXG5pbnRlcmZhY2UgU2lkZVBhbmVsU2VjdGlvblByb3BzIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU2lkZVBhbmVsU2VjdGlvbiA9IHN0eWxlZC5kaXYuYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdzaWRlLXBhbmVsLXNlY3Rpb24nLCBwcm9wcy5jbGFzc05hbWUpXG59KSk8U2lkZVBhbmVsU2VjdGlvblByb3BzPmBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/IDAuNCA6IDEpfTtcbiAgcG9pbnRlci1ldmVudHM6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gJ25vbmUnIDogJ2FsbCcpfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTaWRlUGFuZWxEaXZpZGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3NpZGUtcGFuZWwtZGl2aWRlcidcbn0pYFxuICBib3JkZXItYm90dG9tOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVwYW5lbERpdmlkZXJCb3JkZXJ9IHNvbGlkXG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbiAgbWFyZ2luLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlcGFuZWxEaXZpZGVyTWFyZ2lufXB4O1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZXBhbmVsRGl2aWRlckhlaWdodH1weDtcbmA7XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwID0gc3R5bGVkKFJlYWN0VG9vbHRpcClgXG4gICYuX19yZWFjdF9jb21wb25lbnRfdG9vbHRpcCB7XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBGb250U2l6ZX07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiA3cHggMThweDtcbiAgICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCb3hTaGFkb3d9O1xuXG4gICAgJi50eXBlLWRhcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcENvbG9yfTtcbiAgICAgICYucGxhY2UtYm90dG9tIHtcbiAgICAgICAgOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wbGFjZS10b3Age1xuICAgICAgICA6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcEJnfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnBsYWNlLXJpZ2h0IHtcbiAgICAgICAgOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcEJnfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnBsYWNlLWxlZnQge1xuICAgICAgICA6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9uUHJvcHMge1xuICBuZWdhdGl2ZT86IGJvb2xlYW47XG4gIHNlY29uZGFyeT86IGJvb2xlYW47XG4gIGxpbms/OiBib29sZWFuO1xuICBmbG9hdGluZz86IGJvb2xlYW47XG4gIGN0YT86IGJvb2xlYW47XG4gIGxhcmdlPzogYm9vbGVhbjtcbiAgc21hbGw/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHdpZHRoPzogc3RyaW5nO1xuICBpbmFjdGl2ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBCdXR0b24gPSBzdHlsZWQuZGl2LmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnYnV0dG9uJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpPEJ1dHRvblByb3BzPmBcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQmdkXG4gICAgICA6IHByb3BzLnNlY29uZGFyeVxuICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RcbiAgICAgIDogcHJvcHMubGlua1xuICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQmdkXG4gICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkXG4gICAgICA6IHByb3BzLmN0YVxuICAgICAgPyBwcm9wcy50aGVtZS5jdGFCdG5CZ2RcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJnZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gIGNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMubmVnYXRpdmVcbiAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5Db2xvclxuICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQ29sb3JcbiAgICAgIDogcHJvcHMubGlua1xuICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQ29sb3JcbiAgICAgIDogcHJvcHMuZmxvYXRpbmdcbiAgICAgID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Db2xvclxuICAgICAgOiBwcm9wcy5jdGFcbiAgICAgID8gcHJvcHMudGhlbWUuY3RhQnRuQ29sb3JcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkNvbG9yfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+XG4gICAgcHJvcHMubGFyZ2VcbiAgICAgID8gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkZvbnRTaXplTGFyZ2VcbiAgICAgIDogcHJvcHMuc21hbGxcbiAgICAgID8gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkZvbnRTaXplU21hbGxcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkZvbnRTaXplRGVmYXVsdH07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJ0bkZvbnRGYW1pbHl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiAocHJvcHMubGFyZ2UgPyAnMTRweCAzMnB4JyA6IHByb3BzLnNtYWxsID8gJzZweCA5cHgnIDogJzlweCAxMnB4Jyl9O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gMC40IDogMSl9O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAnbm9uZScgOiAnYWxsJyl9O1xuICBib3JkZXI6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkJvcmRlclxuICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQm9yZGVyXG4gICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVyXG4gICAgICA6IHByb3BzLmxpbmtcbiAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkJvcmRlclxuICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQm9yZGVyfTtcbiAgOmhvdmVyLFxuICA6Zm9jdXMsXG4gIDphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RIb3ZlclxuICAgICAgICA6IHByb3BzLmxpbmtcbiAgICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQWN0QmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5jdGFcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jdGFCdG5CZ2RIb3ZlclxuICAgICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2RIb3Zlcn07XG4gICAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLnNlY29uZGFyeVxuICAgICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkFjdENvbG9yXG4gICAgICAgIDogcHJvcHMubGlua1xuICAgICAgICA/IHByb3BzLnRoZW1lLmxpbmtCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICAgID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLmN0YVxuICAgICAgICA/IHByb3BzLnRoZW1lLmN0YUJ0bkFjdENvbG9yXG4gICAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdENvbG9yfTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAke3Byb3BzID0+IChwcm9wcy5sYXJnZSA/ICcxMHB4JyA6IHByb3BzLnNtYWxsID8gJzZweCcgOiAnOHB4Jyl9O1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgSW5wdXRQcm9wcyB7XG4gIHNlY29uZGFyeT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBJbnB1dCA9IHN0eWxlZC5pbnB1dDxJbnB1dFByb3BzPmBcbiAgJHtwcm9wcyA9PiAocHJvcHMuc2Vjb25kYXJ5ID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXQgOiBwcm9wcy50aGVtZS5pbnB1dCl9O1xuYDtcblxuZXhwb3J0IGNvbnN0IElucHV0TGlnaHQgPSBzdHlsZWQuaW5wdXRgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRMVH07XG5gO1xuXG5leHBvcnQgY29uc3QgVGV4dEFyZWEgPSBzdHlsZWQudGV4dGFyZWE8SW5wdXRQcm9wcz5gXG4gICR7cHJvcHMgPT4gKHByb3BzLnNlY29uZGFyeSA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0IDogcHJvcHMudGhlbWUuaW5wdXQpfTtcbmA7XG5leHBvcnQgY29uc3QgVGV4dEFyZWFMaWdodCA9IHN0eWxlZC50ZXh0YXJlYWBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dExUfSBoZWlnaHQ6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbmA7XG5cbmV4cG9ydCBjb25zdCBJbmxpbmVJbnB1dCA9IHN0eWxlZChJbnB1dClgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5saW5lSW5wdXR9O1xuYDtcblxuZXhwb3J0IGludGVyZmFjZSBTdHlsZWRQYW5lbEhlYWRlclByb3BzIHtcbiAgYWN0aXZlPzogYm9vbGVhbjtcbiAgbGFiZWxSQ0dDb2xvclZhbHVlcz86IFJHQkNvbG9yIHwgbnVsbDtcbiAgd2FybmluZz86IGJvb2xlYW47XG4gIGlzVmFsaWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkUGFuZWxIZWFkZXIgPSBzdHlsZWQuZGl2PFN0eWxlZFBhbmVsSGVhZGVyUHJvcHM+YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXIgOiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmR9O1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkXG4gICAgcmdiKFxuICAgICAgJHtwcm9wcyA9PiAocHJvcHMubGFiZWxSQ0dDb2xvclZhbHVlcyA/IHByb3BzLmxhYmVsUkNHQ29sb3JWYWx1ZXMuam9pbignLCcpIDogJ3RyYW5zcGFyZW50Jyl9XG4gICAgKTtcbiAgcGFkZGluZzogMCAxMHB4IDAgMDtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsSGVhZGVySGVpZ2h0fXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxIZWFkZXJCb3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRyYW5zaXRpb259O1xuYDtcblxuaW50ZXJmYWNlIFN0eWxlZFBhbmVsRHJvcGRvd25Qcm9wcyB7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQYW5lbERyb3Bkb3duID0gc3R5bGVkLmRpdjxTdHlsZWRQYW5lbERyb3Bkb3duUHJvcHM+YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsRHJvcGRvd25TY3JvbGxCYXJ9XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy50eXBlID09PSAnbGlnaHQnID8gcHJvcHMudGhlbWUubW9kYWxEcm9wZG93bkJhY2tncm91bmQgOiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmR9O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm94U2hhZG93fTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlclJhZGl1c307XG4gIG1heC1oZWlnaHQ6IDUwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk5OTtcbmA7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25Hcm91cCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIC5idXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgfVxuICAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuUmFkaXVzfTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuUmFkaXVzfTtcbiAgfVxuYDtcblxuaW50ZXJmYWNlIERhdGFzZXRTcXVhcmVQcm9wcyB7XG4gIGJhY2tncm91bmRDb2xvcjogUkdCQ29sb3I7XG59XG5cbmV4cG9ydCBjb25zdCBEYXRhc2V0U3F1YXJlID0gc3R5bGVkLmRpdjxEYXRhc2V0U3F1YXJlUHJvcHM+YFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigke3Byb3BzID0+IHByb3BzLmJhY2tncm91bmRDb2xvci5qb2luKCcsJyl9KTtcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuYDtcblxuaW50ZXJmYWNlIFNlbGVjdGlvbkJ1dHRvblByb3BzIHtcbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU2VsZWN0aW9uQnV0dG9uID0gc3R5bGVkLmRpdjxTZWxlY3Rpb25CdXR0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLnNlbGVjdGVkXG4gICAgICAgID8gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQm9yZGVyQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJDb2xvcn07XG4gIGNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuc2VsZWN0ZWQgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5BY3RDb2xvciA6IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkNvbG9yfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLnNlbGVjdGVkID8gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQWN0QmdkIDogcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQmdkfTtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi1yaWdodDogNnB4O1xuICBwYWRkaW5nOiA2cHggMTZweDtcblxuICA6aG92ZXIge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkFjdENvbG9yfTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckFjdENvbG9yfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRhYmxlID0gc3R5bGVkLnRhYmxlYFxuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG5cbiAgdGhlYWQge1xuICAgIHRyIHRoIHtcbiAgICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kTFR9O1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGl0bGVDb2xvckxUfTtcbiAgICAgIHBhZGRpbmc6IDE4cHggMTJweDtcbiAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHtcbiAgICB0ciB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyTFR9O1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZExUfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yTFR9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmb250LXNpemU6IDEwcHg7XG4gIHBhZGRpbmc6IDI0cHggJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbExhdGVyYWxQYWRkaW5nfTtcbiAgbWFyZ2luOiAwIC0ke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsTGF0ZXJhbFBhZGRpbmd9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAxNnB4ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxQb3J0YWJsZUxhdGVyYWxQYWRkaW5nfTtcbiAgICBtYXJnaW46IDAgLSR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxQb3J0YWJsZUxhdGVyYWxQYWRkaW5nfTtcbiAgYH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ21vZGFsLXZlcnRpY2FsLXBhbmVsJ1xufSlgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBmb250LXNpemU6IDEycHg7XG5cbiAgLm1vZGFsLXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgJHttZWRpYS5wYWxtYFxuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICBgfTtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsU2VjdGlvbiA9IHN0eWxlZC5kaXYuYXR0cnMoKHtjbGFzc05hbWV9KSA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ21vZGFsLXNlY3Rpb24nLCBjbGFzc05hbWUpXG59KSlgXG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG5cbiAgLm1vZGFsLXNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgLm1vZGFsLXNlY3Rpb24tc3VidGl0bGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvckxUfTtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIGB9O1xuICAke21lZGlhLnBhbG1gXG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgYH07XG5gO1xuXG5pbnRlcmZhY2UgU3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlUHJvcHMge1xuICBlcnJvcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGUgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbW9kYWwtaW5wdXRfX2Zvb3Rub3RlJ1xufSk8U3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBjb2xvcjogJHtwcm9wcyA9PiAocHJvcHMuZXJyb3IgPyBwcm9wcy50aGVtZS5lcnJvckNvbG9yIDogcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFQpfTtcbiAgZm9udC1zaXplOiAxMHB4O1xuYDtcbi8qKlxuICogTmV3ZXIgdmVyc2lvbnMgb2YgbWFwYm94LmdsIGRpc3BsYXkgYW4gZXJyb3IgbWVzc2FnZSBiYW5uZXIgb24gdG9wIG9mIHRoZSBtYXAgYnkgZGVmYXVsdFxuICogd2hpY2ggd2lsbCBjYXVzZSB0aGUgbWFwIHRvIGRpc3BsYXkgcG9pbnRzIGluIHRoZSB3cm9uZyBsb2NhdGlvbnNcbiAqIFRoaXMgd29ya2Fyb3VuZCB3aWxsIGhpZGUgdGhlIGVycm9yIGJhbm5lci5cbiAqL1xuZXhwb3J0IGNvbnN0IFN0eWxlZE1hcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC5tYXBib3hnbC1tYXAge1xuICAgIC5tYXBib3hnbC1taXNzaW5nLWNzcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubWFwYm94Z2wtY3RybC1hdHRyaWIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRBdHRyYnV0aW9uID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ21hcGJveC1hdHRyaWJ1dGlvbi1jb250YWluZXInXG59KWBcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDEwcHggNnB4O1xuICB6LWluZGV4OiAxO1xuICAuYXR0cml0aW9uLWxpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcblxuICAgIGEsXG4gICAgLnBpcGUtc2VwYXJhdG9yIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gICAgfVxuXG4gICAgLnBpcGUtc2VwYXJhdG9yIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYXR0cml0aW9uLWxvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcblxuICAgIGEubWFwYm94Z2wtY3RybC1sb2dvIHtcbiAgICAgIHdpZHRoOiA3MnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB9XG4gIH1cbiAgYSxcbiAgLnBpcGUtc2VwYXJhdG9yIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gIH1cblxuICAke21lZGlhLnBhbG1gXG4gICAgLmF0dHJpdGlvbi1sb2dvIGEge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgfVxuXG4gICAgLmF0dHJpdGlvbi1saW5rIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgfVxuICBgfTtcbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVkRXhwb3J0U2VjdGlvblByb3BzIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkRXhwb3J0U2VjdGlvbiA9IHN0eWxlZC5kaXY8U3R5bGVkRXhwb3J0U2VjdGlvblByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luOiAzNXB4IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAwLjMgOiAxKX07XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG5cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTg1cHg7XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5TWVkaXVtID8/IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIH1cbiAgICAuc3VidGl0bGUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgIH1cbiAgfVxuICAud2FybmluZyB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZXJyb3JDb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuZGVzY3JpcHRpb24uZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnNlbGVjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG5cbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250OiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgcGFkZGluZzogMC41ZW0gMy41ZW0gMC41ZW0gMWVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB3aWR0aDogMjUwcHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG5cbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgNTAlLCBncmF5IDUwJSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGdyYXkgNTAlLCB0cmFuc3BhcmVudCA1MCUpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjY2MsICNjY2MpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMjBweCkgY2FsYygxZW0gKyAycHgpLCBjYWxjKDEwMCUgLSAxNXB4KSBjYWxjKDFlbSArIDJweCksXG4gICAgICAgIGNhbGMoMTAwJSAtIDIuNWVtKSA0LjVlbTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IDVweCwgNXB4IDVweCwgMXB4IDEuNWVtO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICBzZWxlY3Q6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBncmVlbiA1MCUsIHRyYW5zcGFyZW50IDUwJSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHRyYW5zcGFyZW50IDUwJSwgZ3JlZW4gNTAlKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjY2NjLCAjY2NjKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDE1cHgpIDFlbSwgY2FsYygxMDAlIC0gMjBweCkgMWVtLCBjYWxjKDEwMCUgLSAyLjVlbSkgNC41ZW07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweCA1cHgsIDVweCA1cHgsIDFweCAxLjVlbTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBib3JkZXItY29sb3I6IGdyZWVuO1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGaWx0ZXJlZE9wdGlvbiA9IHN0eWxlZChTZWxlY3Rpb25CdXR0b24pYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICB3aWR0aDogMTQwcHg7XG5cbiAgLmZpbHRlci1vcHRpb24tdGl0bGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckxUfTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuZmlsdGVyLW9wdGlvbi1zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFR5cGUgPSBzdHlsZWQoU2VsZWN0aW9uQnV0dG9uKWBcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICB3aWR0aDogMTAwcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgV2lkZ2V0Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgei1pbmRleDogMTtcbmA7XG5cbmV4cG9ydCBjb25zdCBCb3R0b21XaWRnZXRJbm5lciA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm90dG9tV2lkZ2V0QmdkfTtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiBgJHtwcm9wcy50aGVtZS5ib3R0b21Jbm5lclBkVmVydH1weCAke3Byb3BzLnRoZW1lLmJvdHRvbUlubmVyUGRTaWRlfXB4YH07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3R0b21QYW5lbEdhcH1weDtcblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyQ29sb3J9O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbiAgICBwYWRkaW5nOiAxMnB4IDEycHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgYH1cbmA7XG5cbmludGVyZmFjZSBNYXBDb250cm9sQnV0dG9uUHJvcHMge1xuICBhY3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTWFwQ29udHJvbEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pLmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnbWFwLWNvbnRyb2wtYnV0dG9uJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpPE1hcENvbnRyb2xCdXR0b25Qcm9wcz5gXG4gIGJveC1zaGFkb3c6IDAgNnB4IDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2RIb3ZlciA6IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkfTtcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkFjdENvbG9yIDogcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Db2xvcn07XG4gIGJvcmRlcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVySG92ZXIgOiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlcn07XG5cbiAgOmhvdmVyLFxuICA6Zm9jdXMsXG4gIDphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkSG92ZXJ9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQWN0Q29sb3J9O1xuICAgIGJvcmRlcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlckhvdmVyfTtcbiAgfVxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZpbHRlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQ29udGVudEJhY2tncm91bmR9O1xuICBwYWRkaW5nOiAxMnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFRydW5jYXRlZFRpdGxlVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYDtcblxuZXhwb3J0IGNvbnN0IENoZWNrTWFyayA9IHN0eWxlZC5zcGFuLmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY2hlY2tib3gtaW5uZXInXG59KWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvcn07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcblxuICA6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDEpIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICB0b3A6IDQwJTtcbiAgICBsZWZ0OiAzMCU7XG4gICAgd2lkdGg6IDMuMnB4O1xuICAgIGhlaWdodDogNi4yMnB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGltZVBpY2tlciA9IHN0eWxlZChUaW1lUGlja2VyKWBcbiAgLnJlYWN0LXRpbWUtcGlja2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyLFxuICAucmVhY3QtdGltZS1waWNrZXIgKixcbiAgLnJlYWN0LXRpbWUtcGlja2VyICo6YmVmb3JlLFxuICAucmVhY3QtdGltZS1waWNrZXIgKjphZnRlciB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZH07XG4gICAgYm9yZGVyOiB0aGluIHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX3dyYXBwZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2RIb3Zlcn07XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwIHtcbiAgICBtaW4td2lkdGg6IGNhbGMoKDRweCAqIDMpICsgMC41NGVtICogNiArIDAuMjE3ZW0gKiAyKTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZzogNHB4IDEwcHg7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19kaXZpZGVyIHtcbiAgICBwYWRkaW5nOiAxcHggMDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9fZGl2aWRlcixcbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19sZWFkaW5nWmVybyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQge1xuICAgIG1pbi13aWR0aDogMC41NGVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dC0taGFzTGVhZGluZ1plcm8ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41NGVtO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygxcHggKyAwLjU0ZW0pO1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9fYW1QbSB7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lbnVsaXN0O1xuICAgIC1tb3otYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gICAgYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9fYnV0dG9uIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZH07XG4gICAgcGFkZGluZzogNHB4IDZweDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2J1dHRvbjplbmFibGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19idXR0b24gc3ZnIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9fY2xvY2stLWNsb3NlZCxcbiAgLnJlYWN0LXRpbWUtcGlja2VyX19jbGVhci1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREYXRlUGlja2VyID0gc3R5bGVkKERhdGVQaWNrZXIpYFxuICAucmVhY3QtZGF0ZS1waWNrZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyLFxuICAucmVhY3QtZGF0ZS1waWNrZXIgKixcbiAgLnJlYWN0LWRhdGUtcGlja2VyICo6YmVmb3JlLFxuICAucmVhY3QtZGF0ZS1waWNrZXIgKjphZnRlciB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlci0tZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBib3JkZXI6IHRoaW4gc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZH07XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cCB7XG4gICAgbWluLXdpZHRoOiBjYWxjKCg0cHggKiAzKSArIDAuNTRlbSAqIDggKyAwLjIxN2VtICogMik7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICB9XG5cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkSG92ZXJ9O1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9fZGl2aWRlciB7XG4gICAgcGFkZGluZzogMXB4IDA7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9fZGl2aWRlcixcbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19sZWFkaW5nWmVybyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQge1xuICAgIG1pbi13aWR0aDogMC41NGVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6aW52YWxpZCB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZH07XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dC0taGFzTGVhZGluZ1plcm8ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41NGVtO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygxcHggKyAwLjU0ZW0pO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9fY2FsZW5kYXIge1xuICAgIHdpZHRoOiAyNTdweDtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIHotaW5kZXg6IDExO1xuICAgIGluc2V0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2NhbGVuZGFyLS1jbG9zZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19jYWxlbmRhciAucmVhY3QtY2FsZW5kYXIge1xuICAgIGJvcmRlci13aWR0aDogdGhpbjtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXIge1xuICAgIHdpZHRoOiAyNTdweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkSG92ZXJ9O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyLFxuICAucmVhY3QtY2FsZW5kYXIgKixcbiAgLnJlYWN0LWNhbGVuZGFyICo6YmVmb3JlLFxuICAucmVhY3QtY2FsZW5kYXIgKjphZnRlciB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhciBidXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXIgYnV0dG9tOmVuYWJsZWQge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RDb2xvcn07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyIGJ1dHRvbjplbmFibGVkOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19uYXZpZ2F0aW9uIGJ1dHRvbiB7XG4gICAgbWluLXdpZHRoOiAyNXB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19uYXZpZ2F0aW9uIGJ1dHRvbjplbmFibGVkOmhvdmVyLFxuICAucmVhY3QtY2FsZW5kYXJfX25hdmlnYXRpb24gYnV0dG9uOmVuYWJsZWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2RBY3RpdmV9O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fd2Vla2RheXMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fd2Vla2RheXNfX3dlZWtkYXkge1xuICAgIHBhZGRpbmc6IDAuNWVtO1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX21vbnRoLXZpZXdfX3dlZWtOdW1iZXJzIC5yZWFjdC1jYWxlbmRhcl9fdGlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fZGF5c19fZGF5LS13ZWVrZW5kIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fZGF5c19fZGF5LS1uZWlnaGJvcmluZ01vbnRoIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX25hdmlnYXRpb25fX2xhYmVsX19sYWJlbFRleHQsXG4gIC5yZWFjdC1jYWxlbmRhcl9fbmF2aWdhdGlvbl9fYXJyb3cge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX195ZWFyLXZpZXcgLnJlYWN0LWNhbGVuZGFyX190aWxlLFxuICAucmVhY3QtY2FsZW5kYXJfX2RlY2FkZS12aWV3IC5yZWFjdC1jYWxlbmRhcl9fdGlsZSxcbiAgLnJlYWN0LWNhbGVuZGFyX19jZW50dXJ5LXZpZXcgLnJlYWN0LWNhbGVuZGFyX190aWxlIHtcbiAgICBwYWRkaW5nOiAyZW0gMC41ZW07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA2cHggNHB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGU6ZW5hYmxlZDpob3ZlcixcbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlOmVuYWJsZWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJnZH07XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdENvbG9yfTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLW5vdzplbmFibGVkOmhvdmVyLFxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLW5vdzplbmFibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RDb2xvcn07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1oYXNBY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdEJnZH07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1oYXNBY3RpdmU6ZW5hYmxlZDpob3ZlcixcbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1oYXNBY3RpdmU6ZW5hYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQWN0QmdkfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQWN0Q29sb3J9O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZS0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RCZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RDb2xvcn07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1hY3RpdmU6ZW5hYmxlZDpob3ZlcixcbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1hY3RpdmU6ZW5hYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQWN0QmdkfTtcbiAgfVxuICAuY2FsZW5kYXJfX25hdmlnYXRpb25fX2xhYmVsX19sYWJlbFRleHQge1xuICAgINGBb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICB9XG5gO1xuIl19
|