@carto/kepler.gl 0.0.85 → 0.0.86-alpha.deck9.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/actions/action-wrapper.js +36 -41
- package/dist/actions/actions.js +15 -21
- package/dist/actions/identity-actions.js +14 -20
- package/dist/actions/index.js +16 -16
- package/dist/actions/map-state-actions.js +12 -18
- package/dist/actions/map-style-actions.js +30 -46
- package/dist/actions/provider-actions.js +49 -73
- package/dist/actions/ui-state-actions.js +73 -113
- package/dist/actions/vis-state-actions.js +152 -148
- package/dist/cloud-providers/index.js +6 -7
- package/dist/cloud-providers/provider.js +189 -279
- package/dist/components/bottom-widget.js +105 -117
- package/dist/components/common/action-panel.js +122 -74
- package/dist/components/common/animation-control/animation-control.js +69 -54
- package/dist/components/common/animation-control/animation-controller.js +134 -160
- package/dist/components/common/animation-control/animation-speed-slider.js +47 -54
- package/dist/components/common/animation-control/floating-time-display.js +120 -100
- package/dist/components/common/animation-control/playback-controls.js +147 -144
- package/dist/components/common/animation-control/speed-control.js +31 -23
- package/dist/components/common/checkbox.js +56 -70
- package/dist/components/common/color-legend.js +83 -110
- package/dist/components/common/data-table/button.js +31 -23
- package/dist/components/common/data-table/canvas.js +11 -5
- package/dist/components/common/data-table/cell-size.js +51 -61
- package/dist/components/common/data-table/grid.js +40 -59
- package/dist/components/common/data-table/index.js +464 -348
- package/dist/components/common/data-table/option-dropdown.js +50 -33
- package/dist/components/common/dataset-label.js +17 -13
- package/dist/components/common/error-boundary.js +27 -45
- package/dist/components/common/field-selector.js +99 -139
- package/dist/components/common/field-token.js +24 -9
- package/dist/components/common/file-uploader/file-drop.js +96 -115
- package/dist/components/common/file-uploader/file-upload-progress.js +68 -45
- package/dist/components/common/file-uploader/file-upload.js +215 -187
- package/dist/components/common/file-uploader/upload-button.js +35 -22
- package/dist/components/common/histogram-plot.js +47 -58
- package/dist/components/common/icons/add.js +14 -27
- package/dist/components/common/icons/anchor_window.js +16 -18
- package/dist/components/common/icons/arrow-down-alt.js +14 -27
- package/dist/components/common/icons/arrow-down-solid.js +14 -27
- package/dist/components/common/icons/arrow-down.js +14 -27
- package/dist/components/common/icons/arrow-left.js +17 -30
- package/dist/components/common/icons/arrow-right.js +14 -27
- package/dist/components/common/icons/arrow-up-alt.js +15 -28
- package/dist/components/common/icons/arrow-up-solid.js +14 -27
- package/dist/components/common/icons/arrow-up.js +14 -27
- package/dist/components/common/icons/base.js +39 -57
- package/dist/components/common/icons/bug.js +16 -29
- package/dist/components/common/icons/cancel.js +14 -27
- package/dist/components/common/icons/checkmark.js +18 -31
- package/dist/components/common/icons/chevron-right.js +20 -33
- package/dist/components/common/icons/clipboard.js +15 -28
- package/dist/components/common/icons/clock.js +16 -29
- package/dist/components/common/icons/close.js +19 -32
- package/dist/components/common/icons/code-alt.js +16 -29
- package/dist/components/common/icons/copy.js +18 -31
- package/dist/components/common/icons/crosshairs.js +16 -29
- package/dist/components/common/icons/cube-3d.js +18 -31
- package/dist/components/common/icons/cursor-click.js +18 -31
- package/dist/components/common/icons/data-table.js +15 -28
- package/dist/components/common/icons/db.js +15 -28
- package/dist/components/common/icons/delete.js +16 -29
- package/dist/components/common/icons/docs.js +30 -43
- package/dist/components/common/icons/drag-n-drop.js +16 -29
- package/dist/components/common/icons/draw-polygon.js +33 -46
- package/dist/components/common/icons/email.js +18 -31
- package/dist/components/common/icons/expand.js +16 -29
- package/dist/components/common/icons/eye-seen.js +16 -29
- package/dist/components/common/icons/eye-unseen.js +16 -29
- package/dist/components/common/icons/file-type.js +35 -19
- package/dist/components/common/icons/file.js +14 -27
- package/dist/components/common/icons/files.js +14 -26
- package/dist/components/common/icons/filter-funnel.js +14 -27
- package/dist/components/common/icons/free-window.js +16 -18
- package/dist/components/common/icons/gear.js +16 -29
- package/dist/components/common/icons/hash.js +14 -27
- package/dist/components/common/icons/histogram.js +15 -27
- package/dist/components/common/icons/index.js +156 -156
- package/dist/components/common/icons/info.js +25 -38
- package/dist/components/common/icons/layers.js +14 -27
- package/dist/components/common/icons/left-arrow.js +16 -29
- package/dist/components/common/icons/legend.js +14 -27
- package/dist/components/common/icons/line-chart.js +14 -27
- package/dist/components/common/icons/login.js +17 -30
- package/dist/components/common/icons/logout.js +16 -29
- package/dist/components/common/icons/map-icon.js +18 -32
- package/dist/components/common/icons/map.js +18 -32
- package/dist/components/common/icons/messages.js +14 -27
- package/dist/components/common/icons/minus.js +14 -27
- package/dist/components/common/icons/order-by-dataset.js +15 -17
- package/dist/components/common/icons/order-by-list.js +7 -9
- package/dist/components/common/icons/pause.js +14 -27
- package/dist/components/common/icons/picture.js +14 -26
- package/dist/components/common/icons/pin.js +17 -30
- package/dist/components/common/icons/play.js +14 -27
- package/dist/components/common/icons/polygon.js +35 -48
- package/dist/components/common/icons/rectangle.js +36 -49
- package/dist/components/common/icons/reduce.js +17 -30
- package/dist/components/common/icons/reset.js +14 -27
- package/dist/components/common/icons/rocket.js +14 -27
- package/dist/components/common/icons/save.js +16 -29
- package/dist/components/common/icons/save2.js +20 -33
- package/dist/components/common/icons/search.js +16 -29
- package/dist/components/common/icons/settings.js +16 -29
- package/dist/components/common/icons/share.js +14 -27
- package/dist/components/common/icons/split.js +42 -55
- package/dist/components/common/icons/square-select.js +16 -29
- package/dist/components/common/icons/swap-horizontal.js +18 -31
- package/dist/components/common/icons/table.js +14 -27
- package/dist/components/common/icons/trash.js +16 -29
- package/dist/components/common/icons/upload.js +14 -27
- package/dist/components/common/icons/vert-dots.js +52 -65
- package/dist/components/common/icons/vert-three-dots.js +27 -40
- package/dist/components/common/icons/warning.js +26 -39
- package/dist/components/common/image-preview.js +71 -33
- package/dist/components/common/info-helper.js +36 -29
- package/dist/components/common/item-selector/accessor.js +7 -13
- package/dist/components/common/item-selector/chickleted-input.js +72 -56
- package/dist/components/common/item-selector/dropdown-list.js +182 -214
- package/dist/components/common/item-selector/item-selector-submenu.js +34 -55
- package/dist/components/common/item-selector/item-selector.js +183 -194
- package/dist/components/common/item-selector/typeahead.js +236 -248
- package/dist/components/common/line-chart.js +80 -58
- package/dist/components/common/loading-spinner.js +46 -31
- package/dist/components/common/logo.js +61 -48
- package/dist/components/common/map-layer-selector.js +31 -25
- package/dist/components/common/modal.js +167 -106
- package/dist/components/common/portaled.js +169 -189
- package/dist/components/common/progress-bar.js +27 -24
- package/dist/components/common/range-brush.js +176 -215
- package/dist/components/common/range-plot.js +52 -63
- package/dist/components/common/range-slider.js +206 -231
- package/dist/components/common/slider/mouse-event.js +59 -66
- package/dist/components/common/slider/slider-bar-handle.js +51 -61
- package/dist/components/common/slider/slider-handle.js +127 -102
- package/dist/components/common/slider/slider.js +143 -162
- package/dist/components/common/styled-components.js +518 -256
- package/dist/components/common/switch.js +11 -11
- package/dist/components/common/time-range-slider-time-title.js +49 -32
- package/dist/components/common/time-range-slider.js +56 -45
- package/dist/components/common/time-slider-marker.js +71 -52
- package/dist/components/common/tippy-tooltip.js +89 -59
- package/dist/components/common/toolbar-item.js +53 -45
- package/dist/components/common/toolbar.js +24 -18
- package/dist/components/common/vertical-toolbar.js +13 -6
- package/dist/components/container.js +87 -119
- package/dist/components/context.js +6 -8
- package/dist/components/editor/constants.js +4 -4
- package/dist/components/editor/editor.js +122 -157
- package/dist/components/editor/feature-action-panel.js +52 -59
- package/dist/components/editor/feature-styles.js +46 -29
- package/dist/components/editor/handle-style.js +38 -29
- package/dist/components/filters/components.js +8 -4
- package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +33 -43
- package/dist/components/filters/filter-panels/multi-select-filter-panel.js +20 -21
- package/dist/components/filters/filter-panels/new-filter-panel.js +24 -31
- package/dist/components/filters/filter-panels/polygon-filter-panel.js +26 -31
- package/dist/components/filters/filter-panels/range-filter-panel.js +20 -21
- package/dist/components/filters/filter-panels/single-select-filter-panel.js +20 -21
- package/dist/components/filters/filter-panels/time-range-filter-panel.js +28 -31
- package/dist/components/filters/index.js +10 -10
- package/dist/components/filters/multi-select-filter.js +11 -9
- package/dist/components/filters/polygon-filter.js +26 -41
- package/dist/components/filters/range-filter.js +9 -7
- package/dist/components/filters/single-select-filter.js +11 -13
- package/dist/components/filters/time-range-filter.js +16 -14
- package/dist/components/filters/time-widget.js +125 -84
- package/dist/components/geocoder/geocoder.js +158 -177
- package/dist/components/geocoder-panel.js +66 -87
- package/dist/components/index.js +328 -329
- package/dist/components/injector.js +44 -63
- package/dist/components/kepler-gl.js +325 -361
- package/dist/components/map/coordinate-info.js +18 -16
- package/dist/components/map/layer-hover-info.js +108 -86
- package/dist/components/map/layer-selector-panel.js +50 -48
- package/dist/components/map/locale-panel.js +38 -44
- package/dist/components/map/map-control-panel.js +70 -47
- package/dist/components/map/map-control-toolbar.js +9 -6
- package/dist/components/map/map-control-tooltip.js +10 -8
- package/dist/components/map/map-control.js +35 -27
- package/dist/components/map/map-draw-panel.js +38 -48
- package/dist/components/map/map-legend-panel.js +47 -50
- package/dist/components/map/map-legend.js +133 -116
- package/dist/components/map/map-popover.js +155 -100
- package/dist/components/map/split-map-button.js +30 -34
- package/dist/components/map/toggle-3d-button.js +25 -27
- package/dist/components/map-container.js +313 -359
- package/dist/components/maps-layout.js +16 -26
- package/dist/components/modal-container.js +359 -355
- package/dist/components/modals/add-map-style-modal.js +233 -194
- package/dist/components/modals/cloud-tile.js +96 -67
- package/dist/components/modals/data-table-modal.js +155 -152
- package/dist/components/modals/delete-data-modal.js +20 -20
- package/dist/components/modals/error-display.js +9 -7
- package/dist/components/modals/export-data-modal.js +118 -140
- package/dist/components/modals/export-image-modal.js +82 -69
- package/dist/components/modals/export-map-modal/components.js +20 -18
- package/dist/components/modals/export-map-modal/export-html-map.js +82 -74
- package/dist/components/modals/export-map-modal/export-json-map.js +65 -45
- package/dist/components/modals/export-map-modal/export-map-modal.js +42 -47
- package/dist/components/modals/image-modal-container.js +20 -21
- package/dist/components/modals/load-data-modal.js +28 -30
- package/dist/components/modals/load-storage-map.js +277 -178
- package/dist/components/modals/loading-dialog.js +41 -19
- package/dist/components/modals/modal-dialog.js +4 -6
- package/dist/components/modals/modal-tabs.js +83 -48
- package/dist/components/modals/overwrite-map-modal.js +41 -30
- package/dist/components/modals/provider-modal-container.js +23 -42
- package/dist/components/modals/save-map-modal.js +107 -83
- package/dist/components/modals/share-map-modal.js +101 -95
- package/dist/components/modals/status-panel.js +63 -43
- package/dist/components/modals/storage-map-viewer.js +133 -70
- package/dist/components/notification-panel/notification-item.js +94 -97
- package/dist/components/notification-panel.js +35 -43
- package/dist/components/performance.js +49 -53
- package/dist/components/plot-container.js +151 -169
- package/dist/components/side-panel/cloud-storage-dropdown.js +13 -15
- package/dist/components/side-panel/common/dataset-info.js +16 -12
- package/dist/components/side-panel/common/dataset-tag.js +48 -27
- package/dist/components/side-panel/common/dataset-title.js +119 -116
- package/dist/components/side-panel/common/source-data-catalog.js +31 -32
- package/dist/components/side-panel/common/source-data-selector.js +52 -77
- package/dist/components/side-panel/custom-panel.js +6 -8
- package/dist/components/side-panel/filter-manager.js +48 -62
- package/dist/components/side-panel/filter-panel/filter-panel-header.js +35 -25
- package/dist/components/side-panel/filter-panel/filter-panel.js +46 -64
- package/dist/components/side-panel/interaction-manager.js +20 -18
- package/dist/components/side-panel/interaction-panel/brush-config.js +17 -17
- package/dist/components/side-panel/interaction-panel/interaction-panel.js +76 -95
- package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +118 -143
- package/dist/components/side-panel/interaction-panel/tooltip-config.js +95 -76
- package/dist/components/side-panel/layer-manager.js +105 -115
- package/dist/components/side-panel/layer-panel/add-layer-button.js +92 -54
- package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.js +5 -5
- package/dist/components/side-panel/layer-panel/color-palette.js +50 -37
- package/dist/components/side-panel/layer-panel/color-range-selector.js +196 -207
- package/dist/components/side-panel/layer-panel/color-selector.js +104 -110
- package/dist/components/side-panel/layer-panel/column-selector.js +34 -22
- package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +4 -4
- package/dist/components/side-panel/layer-panel/custom-palette.js +248 -205
- package/dist/components/side-panel/layer-panel/custom-picker.js +51 -69
- package/dist/components/side-panel/layer-panel/dataset-layer-group.js +37 -42
- package/dist/components/side-panel/layer-panel/dataset-layer-section.js +31 -27
- package/dist/components/side-panel/layer-panel/dataset-section.js +45 -35
- package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +14 -13
- package/dist/components/side-panel/layer-panel/hex-column-config.js +32 -55
- package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.js +5 -5
- package/dist/components/side-panel/layer-panel/layer-column-config.js +42 -46
- package/dist/components/side-panel/layer-panel/layer-config-group.js +178 -144
- package/dist/components/side-panel/layer-panel/layer-configurator.js +826 -830
- package/dist/components/side-panel/layer-panel/layer-list.js +101 -94
- package/dist/components/side-panel/layer-panel/layer-panel-header.js +124 -82
- package/dist/components/side-panel/layer-panel/layer-panel.js +111 -105
- package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +67 -58
- package/dist/components/side-panel/layer-panel/layer-type-list-item.js +47 -32
- package/dist/components/side-panel/layer-panel/layer-type-selector.js +30 -41
- package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +42 -43
- package/dist/components/side-panel/layer-panel/panel-view-list-toggle.js +55 -57
- package/dist/components/side-panel/layer-panel/single-color-palette.js +48 -33
- package/dist/components/side-panel/layer-panel/text-label-panel.js +81 -116
- package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +88 -102
- package/dist/components/side-panel/layer-panel/vis-config-slider.js +99 -85
- package/dist/components/side-panel/layer-panel/vis-config-switch.js +38 -29
- package/dist/components/side-panel/map-manager.js +70 -89
- package/dist/components/side-panel/map-style-panel/map-layer-selector.js +72 -60
- package/dist/components/side-panel/map-style-panel/map-style-selector.js +64 -42
- package/dist/components/side-panel/panel-dropdown.js +21 -37
- package/dist/components/side-panel/panel-header-action.js +60 -65
- package/dist/components/side-panel/panel-header.js +165 -184
- package/dist/components/side-panel/panel-tab.js +35 -29
- package/dist/components/side-panel/panel-title.js +15 -18
- package/dist/components/side-panel/panel-toggle.js +30 -31
- package/dist/components/side-panel/side-bar.js +100 -91
- package/dist/components/side-panel.js +108 -123
- package/dist/connect/keplergl-connect.js +17 -26
- package/dist/connect/with-local-selector.js +31 -63
- package/dist/constants/action-types.js +113 -115
- package/dist/constants/color-palette.js +14 -16
- package/dist/constants/color-ranges.js +23 -28
- package/dist/constants/custom-color-ranges.js +12 -12
- package/dist/constants/default-settings.js +323 -254
- package/dist/constants/index.js +63 -63
- package/dist/constants/keyevent.js +4 -4
- package/dist/constants/tooltip.js +5 -5
- package/dist/constants/user-feedbacks.js +9 -5
- package/dist/constants/user-guides.js +10 -10
- package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +37 -63
- package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +52 -56
- package/dist/deckgl-layers/cluster-layer/cluster-layer.js +165 -168
- package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +24 -43
- package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.d.ts +2 -2
- package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +27 -40
- package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +27 -40
- package/dist/deckgl-layers/layer-utils/cluster-utils.js +60 -68
- package/dist/deckgl-layers/layer-utils/cpu-aggregator.d.ts +4 -4
- package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +281 -282
- package/dist/deckgl-layers/layer-utils/shader-utils.js +2 -2
- package/dist/deckgl-layers/line-layer/line-layer.js +62 -70
- package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +37 -51
- package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +65 -85
- package/dist/index.js +15 -16
- package/dist/layers/aggregation-layer.js +299 -331
- package/dist/layers/arc-layer/arc-layer-icon.js +27 -41
- package/dist/layers/arc-layer/arc-layer.js +174 -201
- package/dist/layers/base-layer.d.ts +1 -1
- package/dist/layers/base-layer.js +1371 -1544
- package/dist/layers/cluster-layer/cluster-layer-icon.js +30 -44
- package/dist/layers/cluster-layer/cluster-layer.js +89 -103
- package/dist/layers/default-layer-icon.js +39 -53
- package/dist/layers/geojson-layer/geojson-layer-icon.js +42 -55
- package/dist/layers/geojson-layer/geojson-layer.js +292 -353
- package/dist/layers/geojson-layer/geojson-utils.js +31 -36
- package/dist/layers/grid-layer/grid-layer-icon.js +87 -100
- package/dist/layers/grid-layer/grid-layer.js +51 -61
- package/dist/layers/grid-layer/grid-utils.js +13 -9
- package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +21 -35
- package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +225 -260
- package/dist/layers/h3-hexagon-layer/h3-utils.js +16 -16
- package/dist/layers/heatmap-layer/heatmap-layer-icon.js +39 -52
- package/dist/layers/heatmap-layer/heatmap-layer.js +140 -171
- package/dist/layers/hexagon-layer/hexagon-layer-icon.js +51 -64
- package/dist/layers/hexagon-layer/hexagon-layer.js +49 -63
- package/dist/layers/hexagon-layer/hexagon-utils.js +15 -14
- package/dist/layers/icon-layer/icon-info-modal.js +82 -75
- package/dist/layers/icon-layer/icon-layer-icon.js +24 -37
- package/dist/layers/icon-layer/icon-layer.js +274 -303
- package/dist/layers/index.js +43 -29
- package/dist/layers/layer-factory.js +25 -41
- package/dist/layers/layer-text-label.js +21 -23
- package/dist/layers/layer-update.js +16 -18
- package/dist/layers/line-layer/line-layer-icon.js +30 -43
- package/dist/layers/line-layer/line-layer.js +123 -142
- package/dist/layers/mapbox-utils.js +61 -62
- package/dist/layers/mapboxgl-layer.js +124 -169
- package/dist/layers/point-layer/point-layer-icon.js +45 -59
- package/dist/layers/point-layer/point-layer.d.ts +2 -2
- package/dist/layers/point-layer/point-layer.js +355 -386
- package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +208 -238
- package/dist/layers/s2-geometry-layer/s2-layer-icon.js +21 -35
- package/dist/layers/s2-geometry-layer/s2-utils.js +9 -8
- package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +24 -25
- package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +102 -115
- package/dist/layers/scenegraph-layer/scenegraph-layer.js +148 -172
- package/dist/layers/trip-layer/trip-info-modal.js +50 -30
- package/dist/layers/trip-layer/trip-layer-icon.js +40 -53
- package/dist/layers/trip-layer/trip-layer.js +239 -307
- package/dist/layers/trip-layer/trip-utils.js +34 -50
- package/dist/layers/types.js +2 -2
- package/dist/localization/formatted-message.js +8 -10
- package/dist/localization/index.js +7 -7
- package/dist/localization/locales.js +6 -9
- package/dist/localization/messages.js +13 -10
- package/dist/localization/translations/ca.js +11 -13
- package/dist/localization/translations/cn.js +11 -13
- package/dist/localization/translations/en.js +11 -13
- package/dist/localization/translations/es.js +11 -13
- package/dist/localization/translations/fi.js +11 -13
- package/dist/localization/translations/ja.js +11 -13
- package/dist/localization/translations/pt.js +11 -13
- package/dist/localization/translations/ru.js +11 -13
- package/dist/middleware/index.js +3 -5
- package/dist/processors/data-processor.js +164 -201
- package/dist/processors/file-handler.js +111 -233
- package/dist/processors/index.js +4 -4
- package/dist/reducers/combined-updaters.js +41 -41
- package/dist/reducers/composer-helpers.js +20 -45
- package/dist/reducers/composers.js +9 -8
- package/dist/reducers/core.js +31 -35
- package/dist/reducers/index.js +21 -22
- package/dist/reducers/map-state-updaters.js +65 -47
- package/dist/reducers/map-state.js +23 -15
- package/dist/reducers/map-style-updaters.js +233 -159
- package/dist/reducers/map-style.js +30 -16
- package/dist/reducers/provider-state-updaters.js +217 -229
- package/dist/reducers/provider-state.js +29 -17
- package/dist/reducers/root.js +86 -58
- package/dist/reducers/ui-state-updaters.js +337 -218
- package/dist/reducers/ui-state.js +45 -16
- package/dist/reducers/vis-state-merger.js +205 -209
- package/dist/reducers/vis-state-selectors.js +5 -19
- package/dist/reducers/vis-state-updaters.js +1003 -876
- package/dist/reducers/vis-state.js +75 -16
- package/dist/schemas/dataset-schema.js +84 -108
- package/dist/schemas/index.js +28 -29
- package/dist/schemas/map-state-schema.js +21 -18
- package/dist/schemas/map-style-schema.js +47 -55
- package/dist/schemas/schema-manager.js +147 -161
- package/dist/schemas/schema-utils.js +8 -9
- package/dist/schemas/schema.js +72 -87
- package/dist/schemas/versions.js +3 -3
- package/dist/schemas/vis-state-schema.js +441 -583
- package/dist/styles/base.js +1217 -1021
- package/dist/styles/index.js +3 -3
- package/dist/styles/media-breakpoints.js +23 -18
- package/dist/tasks/tasks.js +36 -39
- package/dist/templates/export-map-html.js +233 -4
- package/dist/utils/aggregate-utils.js +13 -16
- package/dist/utils/color-utils.js +29 -37
- package/dist/utils/custom-scales.js +3 -3
- package/dist/utils/data-scale-utils.js +6 -13
- package/dist/utils/data-utils.js +60 -83
- package/dist/utils/dataset-utils.js +48 -77
- package/dist/utils/dom-to-image.js +108 -163
- package/dist/utils/dom-utils.js +88 -105
- package/dist/utils/export-utils.js +116 -103
- package/dist/utils/filter-utils.js +379 -374
- package/dist/utils/gl-utils.js +16 -15
- package/dist/utils/gpu-filter-utils.js +54 -73
- package/dist/utils/index.js +47 -48
- package/dist/utils/interaction-utils.js +53 -46
- package/dist/utils/layer-utils.js +89 -78
- package/dist/utils/locale-utils.js +24 -16
- package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +67 -76
- package/dist/utils/map-style-utils/mapbox-utils.js +4 -3
- package/dist/utils/mapbox-utils.js +3 -4
- package/dist/utils/notifications-utils.js +33 -38
- package/dist/utils/observe-dimensions.js +42 -54
- package/dist/utils/projection-utils.js +14 -11
- package/dist/utils/split-map-utils.js +30 -33
- package/dist/utils/table-utils/data-container-utils.js +15 -14
- package/dist/utils/table-utils/data-row.js +58 -65
- package/dist/utils/table-utils/index.js +2 -2
- package/dist/utils/table-utils/indexed-data-container.js +105 -173
- package/dist/utils/table-utils/kepler-table.js +362 -386
- package/dist/utils/table-utils/row-data-container.js +99 -164
- package/dist/utils/utils.js +29 -30
- package/package.json +21 -21
- package/src/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.ts +2 -2
- package/src/deckgl-layers/layer-utils/cpu-aggregator.ts +21 -11
- package/src/layers/base-layer.ts +17 -10
|
@@ -5,12 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.WidgetContainer = exports.TruncatedTitleText = exports.Tooltip = exports.TextAreaLight = exports.TextArea = exports.Table = exports.StyledType = exports.StyledPanelHeader = exports.StyledPanelDropdown = exports.StyledModalVerticalPanel = exports.StyledModalSection = exports.StyledModalInputFootnote = exports.StyledModalContent = exports.StyledMapContainer = exports.StyledFilteredOption = exports.StyledFilterContent = exports.StyledExportSection = exports.SpaceBetweenFlexbox = exports.SidePanelSection = exports.SidePanelDivider = exports.SelectionButton = exports.SelectTextBold = exports.SelectText = exports.SBFlexboxNoMargin = exports.SBFlexboxItem = exports.PanelLabelWrapper = exports.PanelLabelBold = exports.PanelLabel = exports.PanelHeaderTitle = exports.PanelHeaderContent = exports.PanelContent = exports.MapControlButton = exports.InputLight = exports.Input = exports.InlineInput = exports.IconRoundSmall = exports.DatasetSquare = exports.CheckMark = exports.CenterVerticalFlexbox = exports.CenterFlexbox = exports.ButtonGroup = exports.Button = exports.BottomWidgetInner = void 0;
|
|
8
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
9
|
var _reactTooltip = _interopRequireDefault(require("react-tooltip"));
|
|
11
10
|
var _mediaBreakpoints = require("../../styles/media-breakpoints");
|
|
12
11
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
-
|
|
12
|
+
// Copyright (c) 2022 Uber Technologies, Inc.
|
|
14
13
|
//
|
|
15
14
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
16
15
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -29,272 +28,535 @@ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _temp
|
|
|
29
28
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
30
29
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
31
30
|
// THE SOFTWARE.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
31
|
+
|
|
32
|
+
const SelectText = exports.SelectText = _styledComponents.default.span`
|
|
33
|
+
color: ${props => props.theme.labelColor};
|
|
34
|
+
font-size: ${props => props.theme.selectFontSize};
|
|
35
|
+
font-weight: 400;
|
|
36
|
+
|
|
37
|
+
i {
|
|
38
|
+
font-size: 13px;
|
|
39
|
+
margin-right: 6px;
|
|
40
|
+
}
|
|
41
|
+
`;
|
|
42
|
+
const SelectTextBold = exports.SelectTextBold = (0, _styledComponents.default)(SelectText)`
|
|
43
|
+
color: ${props => props.theme.textColor};
|
|
44
|
+
font-weight: 500;
|
|
45
|
+
`;
|
|
46
|
+
const IconRoundSmall = exports.IconRoundSmall = _styledComponents.default.div`
|
|
47
|
+
display: flex;
|
|
48
|
+
width: 18px;
|
|
49
|
+
height: 18px;
|
|
50
|
+
border-radius: 9px;
|
|
51
|
+
background-color: ${props => props.theme.secondaryBtnBgdHover};
|
|
52
|
+
color: ${props => props.theme.secondaryBtnColor};
|
|
53
|
+
align-items: center;
|
|
54
|
+
justify-content: center;
|
|
55
|
+
|
|
56
|
+
:hover {
|
|
57
|
+
cursor: pointer;
|
|
58
|
+
background-color: ${props => props.theme.secondaryBtnBgdHover};
|
|
59
|
+
}
|
|
60
|
+
`;
|
|
61
|
+
const CenterFlexbox = exports.CenterFlexbox = _styledComponents.default.div`
|
|
62
|
+
display: flex;
|
|
63
|
+
align-items: center;
|
|
64
|
+
`;
|
|
65
|
+
const CenterVerticalFlexbox = exports.CenterVerticalFlexbox = _styledComponents.default.div`
|
|
66
|
+
display: flex;
|
|
67
|
+
flex-direction: column;
|
|
68
|
+
align-items: center;
|
|
69
|
+
`;
|
|
70
|
+
const SpaceBetweenFlexbox = exports.SpaceBetweenFlexbox = _styledComponents.default.div`
|
|
71
|
+
display: flex;
|
|
72
|
+
justify-content: space-between;
|
|
73
|
+
margin-left: -16px;
|
|
74
|
+
`;
|
|
75
|
+
const SBFlexboxItem = exports.SBFlexboxItem = _styledComponents.default.div`
|
|
76
|
+
flex-grow: 1;
|
|
77
|
+
margin-left: 16px;
|
|
78
|
+
`;
|
|
79
|
+
const SBFlexboxNoMargin = exports.SBFlexboxNoMargin = _styledComponents.default.div`
|
|
80
|
+
display: flex;
|
|
81
|
+
justify-content: space-between;
|
|
82
|
+
`;
|
|
83
|
+
const PanelLabel = exports.PanelLabel = _styledComponents.default.label.attrs({
|
|
53
84
|
active: false,
|
|
54
85
|
className: 'side-panel-panel__label'
|
|
55
|
-
})
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
86
|
+
})`
|
|
87
|
+
color: ${props => props.active ? props.theme.labelColorActive : props.theme.labelColor};
|
|
88
|
+
display: inline-block;
|
|
89
|
+
font-size: 11px;
|
|
90
|
+
font-weight: 400;
|
|
91
|
+
margin-bottom: 4px;
|
|
92
|
+
text-transform: capitalize;
|
|
93
|
+
`;
|
|
94
|
+
const PanelLabelWrapper = exports.PanelLabelWrapper = _styledComponents.default.div.attrs({
|
|
59
95
|
className: 'side-panel-panel__label-wrapper'
|
|
60
|
-
})
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
96
|
+
})`
|
|
97
|
+
display: flex;
|
|
98
|
+
align-items: self-start;
|
|
99
|
+
`;
|
|
100
|
+
const PanelLabelBold = exports.PanelLabelBold = (0, _styledComponents.default)(PanelLabel)`
|
|
101
|
+
font-weight: 500;
|
|
102
|
+
`;
|
|
103
|
+
const PanelHeaderTitle = exports.PanelHeaderTitle = _styledComponents.default.span.attrs(props => ({
|
|
104
|
+
className: (0, _classnames.default)('side-panel-panel__header__title', props.className)
|
|
105
|
+
}))`
|
|
106
|
+
color: ${props => props.theme.textColor};
|
|
107
|
+
font-size: 13px;
|
|
108
|
+
letter-spacing: 0.43px;
|
|
109
|
+
text-transform: capitalize;
|
|
110
|
+
`;
|
|
111
|
+
const PanelHeaderContent = exports.PanelHeaderContent = _styledComponents.default.div`
|
|
112
|
+
display: flex;
|
|
113
|
+
align-items: center;
|
|
114
|
+
color: ${props => props.theme.textColor};
|
|
115
|
+
padding-left: 12px;
|
|
116
|
+
|
|
117
|
+
.icon {
|
|
118
|
+
color: ${props => props.theme.labelColor};
|
|
119
|
+
display: flex;
|
|
120
|
+
align-items: center;
|
|
121
|
+
margin-right: 12px;
|
|
122
|
+
}
|
|
123
|
+
`;
|
|
124
|
+
const PanelContent = exports.PanelContent = _styledComponents.default.div.attrs(props => ({
|
|
125
|
+
className: (0, _classnames.default)('side-panel-panel__content', props.className)
|
|
126
|
+
}))`
|
|
127
|
+
background-color: ${props => props.theme.panelContentBackground};
|
|
128
|
+
padding: 12px;
|
|
129
|
+
`;
|
|
130
|
+
const SidePanelSection = exports.SidePanelSection = _styledComponents.default.div.attrs(props => ({
|
|
131
|
+
className: (0, _classnames.default)('side-panel-section', props.className)
|
|
132
|
+
}))`
|
|
133
|
+
margin-bottom: 12px;
|
|
134
|
+
|
|
135
|
+
opacity: ${props => props.disabled ? 0.4 : 1};
|
|
136
|
+
pointer-events: ${props => props.disabled ? 'none' : 'all'};
|
|
137
|
+
`;
|
|
138
|
+
const SidePanelDivider = exports.SidePanelDivider = _styledComponents.default.div.attrs({
|
|
91
139
|
className: 'side-panel-divider'
|
|
92
|
-
})
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
140
|
+
})`
|
|
141
|
+
border-bottom: ${props => props.theme.sidepanelDividerBorder} solid
|
|
142
|
+
${props => props.theme.panelBorderColor};
|
|
143
|
+
margin-bottom: ${props => props.theme.sidepanelDividerMargin}px;
|
|
144
|
+
height: ${props => props.theme.sidepanelDividerHeight}px;
|
|
145
|
+
`;
|
|
146
|
+
const Tooltip = exports.Tooltip = (0, _styledComponents.default)(_reactTooltip.default)`
|
|
147
|
+
&.__react_component_tooltip {
|
|
148
|
+
font-size: ${props => props.theme.tooltipFontSize};
|
|
149
|
+
font-weight: 400;
|
|
150
|
+
padding: 7px 18px;
|
|
151
|
+
box-shadow: ${props => props.theme.tooltipBoxShadow};
|
|
152
|
+
|
|
153
|
+
&.type-dark {
|
|
154
|
+
background-color: ${props => props.theme.tooltipBg};
|
|
155
|
+
color: ${props => props.theme.tooltipColor};
|
|
156
|
+
&.place-bottom {
|
|
157
|
+
:after {
|
|
158
|
+
border-bottom-color: ${props => props.theme.tooltipBg};
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
&.place-top {
|
|
163
|
+
:after {
|
|
164
|
+
border-top-color: ${props => props.theme.tooltipBg};
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
&.place-right {
|
|
169
|
+
:after {
|
|
170
|
+
border-right-color: ${props => props.theme.tooltipBg};
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
&.place-left {
|
|
175
|
+
:after {
|
|
176
|
+
border-left-color: ${props => props.theme.tooltipBg};
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
`;
|
|
182
|
+
const Button = exports.Button = _styledComponents.default.div.attrs(props => ({
|
|
183
|
+
className: (0, _classnames.default)('button', props.className)
|
|
184
|
+
}))`
|
|
185
|
+
align-items: center;
|
|
186
|
+
background-color: ${props => 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};
|
|
187
|
+
border-radius: ${props => props.theme.primaryBtnRadius};
|
|
188
|
+
color: ${props => props.negative ? props.theme.negativeBtnColor : props.secondary ? props.theme.secondaryBtnColor : props.link ? props.theme.linkBtnColor : props.floating ? props.theme.floatingBtnColor : props.cta ? props.theme.ctaBtnColor : props.theme.primaryBtnColor};
|
|
189
|
+
cursor: pointer;
|
|
190
|
+
display: inline-flex;
|
|
191
|
+
font-size: ${props => props.large ? props.theme.primaryBtnFontSizeLarge : props.small ? props.theme.primaryBtnFontSizeSmall : props.theme.primaryBtnFontSizeDefault};
|
|
192
|
+
font-weight: 500;
|
|
193
|
+
font-family: ${props => props.theme.btnFontFamily};
|
|
194
|
+
justify-content: center;
|
|
195
|
+
letter-spacing: 0.3px;
|
|
196
|
+
line-height: 14px;
|
|
197
|
+
outline: 0;
|
|
198
|
+
padding: ${props => props.large ? '14px 32px' : props.small ? '6px 9px' : '9px 12px'};
|
|
199
|
+
text-align: center;
|
|
200
|
+
transition: ${props => props.theme.transition};
|
|
201
|
+
vertical-align: middle;
|
|
202
|
+
width: ${props => props.width || 'auto'};
|
|
203
|
+
opacity: ${props => props.disabled ? 0.4 : 1};
|
|
204
|
+
pointer-events: ${props => props.disabled ? 'none' : 'all'};
|
|
205
|
+
border: ${props => props.negative ? props.theme.negativeBtnBorder : props.secondary ? props.theme.secondaryBtnBorder : props.floating ? props.theme.floatingBtnBorder : props.link ? props.theme.linkBtnBorder : props.theme.primaryBtnBorder};
|
|
206
|
+
:hover,
|
|
207
|
+
:focus,
|
|
208
|
+
:active,
|
|
209
|
+
&.active {
|
|
210
|
+
background-color: ${props => props.negative ? props.theme.negativeBtnBgdHover : props.secondary ? props.theme.secondaryBtnBgdHover : props.link ? props.theme.linkBtnActBgdHover : props.floating ? props.theme.floatingBtnBgdHover : props.cta ? props.theme.ctaBtnBgdHover : props.theme.primaryBtnBgdHover};
|
|
211
|
+
color: ${props => props.negative ? props.theme.negativeBtnActColor : props.secondary ? props.theme.secondaryBtnActColor : props.link ? props.theme.linkBtnActColor : props.floating ? props.theme.floatingBtnActColor : props.cta ? props.theme.ctaBtnActColor : props.theme.primaryBtnActColor};
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
svg {
|
|
215
|
+
margin-right: ${props => props.large ? '10px' : props.small ? '6px' : '8px'};
|
|
216
|
+
}
|
|
217
|
+
`;
|
|
218
|
+
const Input = exports.Input = _styledComponents.default.input`
|
|
219
|
+
${props => props.secondary ? props.theme.secondaryInput : props.theme.input};
|
|
220
|
+
`;
|
|
221
|
+
const InputLight = exports.InputLight = _styledComponents.default.input`
|
|
222
|
+
${props => props.theme.inputLT};
|
|
223
|
+
`;
|
|
224
|
+
const TextArea = exports.TextArea = _styledComponents.default.textarea`
|
|
225
|
+
${props => props.secondary ? props.theme.secondaryInput : props.theme.input};
|
|
226
|
+
`;
|
|
227
|
+
const TextAreaLight = exports.TextAreaLight = _styledComponents.default.textarea`
|
|
228
|
+
${props => props.theme.inputLT} height: auto;
|
|
229
|
+
white-space: pre-wrap;
|
|
230
|
+
`;
|
|
231
|
+
const InlineInput = exports.InlineInput = (0, _styledComponents.default)(Input)`
|
|
232
|
+
${props => props.theme.inlineInput};
|
|
233
|
+
`;
|
|
234
|
+
const StyledPanelHeader = exports.StyledPanelHeader = _styledComponents.default.div`
|
|
235
|
+
background-color: ${props => props.active ? props.theme.panelBackgroundHover : props.theme.panelBackground};
|
|
236
|
+
border-left: 3px solid
|
|
237
|
+
rgb(
|
|
238
|
+
${props => props.labelRCGColorValues ? props.labelRCGColorValues.join(',') : 'transparent'}
|
|
239
|
+
);
|
|
240
|
+
padding: 0 10px 0 0;
|
|
241
|
+
height: ${props => props.theme.panelHeaderHeight}px;
|
|
242
|
+
display: flex;
|
|
243
|
+
justify-content: space-between;
|
|
244
|
+
align-items: center;
|
|
245
|
+
border-radius: ${props => props.theme.panelHeaderBorderRadius};
|
|
246
|
+
transition: ${props => props.theme.transition};
|
|
247
|
+
`;
|
|
248
|
+
const StyledPanelDropdown = exports.StyledPanelDropdown = _styledComponents.default.div`
|
|
249
|
+
${props => props.theme.panelDropdownScrollBar}
|
|
250
|
+
background-color: ${props => props.type === 'light' ? props.theme.modalDropdownBackground : props.theme.panelBackground};
|
|
251
|
+
overflow-y: auto;
|
|
252
|
+
box-shadow: ${props => props.theme.panelBoxShadow};
|
|
253
|
+
border-radius: ${props => props.theme.panelBorderRadius};
|
|
254
|
+
max-height: 500px;
|
|
255
|
+
position: relative;
|
|
256
|
+
z-index: 999;
|
|
257
|
+
`;
|
|
258
|
+
const ButtonGroup = exports.ButtonGroup = _styledComponents.default.div`
|
|
259
|
+
display: flex;
|
|
260
|
+
.button {
|
|
261
|
+
border-radius: 0;
|
|
262
|
+
margin-left: 2px;
|
|
263
|
+
}
|
|
264
|
+
.button:first-child {
|
|
265
|
+
border-bottom-left-radius: ${props => props.theme.primaryBtnRadius};
|
|
266
|
+
border-top-left-radius: ${props => props.theme.primaryBtnRadius};
|
|
267
|
+
margin-left: 0;
|
|
268
|
+
}
|
|
269
|
+
.button:last-child {
|
|
270
|
+
border-bottom-right-radius: ${props => props.theme.primaryBtnRadius};
|
|
271
|
+
border-top-right-radius: ${props => props.theme.primaryBtnRadius};
|
|
272
|
+
}
|
|
273
|
+
`;
|
|
274
|
+
const DatasetSquare = exports.DatasetSquare = _styledComponents.default.div`
|
|
275
|
+
display: inline-block;
|
|
276
|
+
width: 10px;
|
|
277
|
+
height: 10px;
|
|
278
|
+
background-color: rgb(${props => props.backgroundColor.join(',')});
|
|
279
|
+
margin-right: 12px;
|
|
280
|
+
`;
|
|
281
|
+
const SelectionButton = exports.SelectionButton = _styledComponents.default.div`
|
|
282
|
+
position: relative;
|
|
283
|
+
border-radius: 2px;
|
|
284
|
+
border: 1px solid
|
|
285
|
+
${props => props.selected ? props.theme.selectionBtnBorderActColor : props.theme.selectionBtnBorderColor};
|
|
286
|
+
color: ${props => props.selected ? props.theme.selectionBtnActColor : props.theme.selectionBtnColor};
|
|
287
|
+
background-color: ${props => props.selected ? props.theme.selectionBtnActBgd : props.theme.selectionBtnBgd};
|
|
288
|
+
|
|
289
|
+
cursor: pointer;
|
|
290
|
+
font-weight: 500;
|
|
291
|
+
margin-right: 6px;
|
|
292
|
+
padding: 6px 16px;
|
|
293
|
+
|
|
294
|
+
:hover {
|
|
295
|
+
color: ${props => props.theme.selectionBtnActColor};
|
|
296
|
+
border: 1px solid ${props => props.theme.selectionBtnBorderActColor};
|
|
297
|
+
}
|
|
298
|
+
`;
|
|
299
|
+
const Table = exports.Table = _styledComponents.default.table`
|
|
300
|
+
width: 100%;
|
|
301
|
+
border-spacing: 0;
|
|
302
|
+
|
|
303
|
+
thead {
|
|
304
|
+
tr th {
|
|
305
|
+
background: ${props => props.theme.panelBackgroundLT};
|
|
306
|
+
color: ${props => props.theme.titleColorLT};
|
|
307
|
+
padding: 18px 12px;
|
|
308
|
+
text-align: start;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
tbody {
|
|
313
|
+
tr td {
|
|
314
|
+
border-bottom: ${props => props.theme.panelBorderLT};
|
|
315
|
+
padding: 12px;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
`;
|
|
319
|
+
const StyledModalContent = exports.StyledModalContent = _styledComponents.default.div`
|
|
320
|
+
background: ${props => props.theme.panelBackgroundLT};
|
|
321
|
+
color: ${props => props.theme.textColorLT};
|
|
322
|
+
display: flex;
|
|
323
|
+
flex-direction: row;
|
|
324
|
+
font-size: 10px;
|
|
325
|
+
padding: 24px ${props => props.theme.modalLateralPadding};
|
|
326
|
+
margin: 0 -${props => props.theme.modalLateralPadding};
|
|
327
|
+
justify-content: space-between;
|
|
328
|
+
${_mediaBreakpoints.media.portable`
|
|
329
|
+
flex-direction: column;
|
|
330
|
+
padding: 16px ${props => props.theme.modalPortableLateralPadding};
|
|
331
|
+
margin: 0 -${props => props.theme.modalPortableLateralPadding};
|
|
332
|
+
`};
|
|
333
|
+
`;
|
|
334
|
+
const StyledModalVerticalPanel = exports.StyledModalVerticalPanel = _styledComponents.default.div.attrs({
|
|
230
335
|
className: 'modal-vertical-panel'
|
|
231
|
-
})
|
|
232
|
-
|
|
233
|
-
|
|
336
|
+
})`
|
|
337
|
+
display: flex;
|
|
338
|
+
flex-direction: column;
|
|
339
|
+
justify-content: space-around;
|
|
340
|
+
font-size: 12px;
|
|
341
|
+
|
|
342
|
+
.modal-section:first-child {
|
|
343
|
+
margin-top: 24px;
|
|
344
|
+
${_mediaBreakpoints.media.palm`
|
|
345
|
+
margin-top: 0;
|
|
346
|
+
`};
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
input {
|
|
350
|
+
margin-right: 8px;
|
|
351
|
+
}
|
|
352
|
+
`;
|
|
353
|
+
const StyledModalSection = exports.StyledModalSection = _styledComponents.default.div.attrs(_ref => {
|
|
354
|
+
let {
|
|
355
|
+
className
|
|
356
|
+
} = _ref;
|
|
234
357
|
return {
|
|
235
|
-
className: (0, _classnames
|
|
358
|
+
className: (0, _classnames.default)('modal-section', className)
|
|
236
359
|
};
|
|
237
|
-
})
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
360
|
+
})`
|
|
361
|
+
margin-bottom: 32px;
|
|
362
|
+
|
|
363
|
+
.modal-section-title {
|
|
364
|
+
font-weight: 500;
|
|
365
|
+
}
|
|
366
|
+
.modal-section-subtitle {
|
|
367
|
+
color: ${props => props.theme.subtextColorLT};
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
input {
|
|
371
|
+
margin-top: 8px;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
${_mediaBreakpoints.media.portable`
|
|
375
|
+
margin-bottom: 24px;
|
|
376
|
+
`};
|
|
377
|
+
${_mediaBreakpoints.media.palm`
|
|
378
|
+
margin-bottom: 16px;
|
|
379
|
+
`};
|
|
380
|
+
`;
|
|
381
|
+
const StyledModalInputFootnote = exports.StyledModalInputFootnote = _styledComponents.default.div.attrs({
|
|
241
382
|
className: 'modal-input__footnote'
|
|
242
|
-
})
|
|
243
|
-
|
|
244
|
-
|
|
383
|
+
})`
|
|
384
|
+
display: flex;
|
|
385
|
+
justify-content: flex-end;
|
|
386
|
+
color: ${props => props.error ? props.theme.errorColor : props.theme.subtextColorLT};
|
|
387
|
+
font-size: 10px;
|
|
388
|
+
`;
|
|
245
389
|
/**
|
|
246
390
|
* Newer versions of mapbox.gl display an error message banner on top of the map by default
|
|
247
391
|
* which will cause the map to display points in the wrong locations
|
|
248
392
|
* This workaround will hide the error banner.
|
|
249
393
|
*/
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
}
|
|
276
|
-
|
|
394
|
+
const StyledMapContainer = exports.StyledMapContainer = _styledComponents.default.div`
|
|
395
|
+
width: 100%;
|
|
396
|
+
height: 100%;
|
|
397
|
+
.maplibregl-ctrl {
|
|
398
|
+
&.maplibregl-ctrl-attrib {
|
|
399
|
+
display: none;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
`;
|
|
403
|
+
const StyledExportSection = exports.StyledExportSection = _styledComponents.default.div`
|
|
404
|
+
display: flex;
|
|
405
|
+
flex-direction: row;
|
|
406
|
+
margin: 35px 0;
|
|
407
|
+
width: 100%;
|
|
408
|
+
color: ${props => props.theme.textColorLT};
|
|
409
|
+
font-size: 12px;
|
|
410
|
+
opacity: ${props => props.disabled ? 0.3 : 1};
|
|
411
|
+
pointer-events: ${props => props.disabled ? 'none' : 'all'};
|
|
412
|
+
|
|
413
|
+
.description {
|
|
414
|
+
width: 185px;
|
|
415
|
+
.title {
|
|
416
|
+
font-weight: 500;
|
|
417
|
+
}
|
|
418
|
+
.subtitle {
|
|
419
|
+
color: ${props => props.theme.subtextColorLT};
|
|
420
|
+
font-size: 11px;
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
.warning {
|
|
424
|
+
color: ${props => props.theme.errorColor};
|
|
425
|
+
font-weight: 500;
|
|
426
|
+
}
|
|
427
|
+
.description.full {
|
|
428
|
+
width: 100%;
|
|
429
|
+
}
|
|
430
|
+
.selection {
|
|
431
|
+
display: flex;
|
|
432
|
+
flex-wrap: wrap;
|
|
433
|
+
flex: 1;
|
|
434
|
+
padding-left: 50px;
|
|
435
|
+
|
|
436
|
+
select {
|
|
437
|
+
background-color: white;
|
|
438
|
+
border-radius: 1px;
|
|
439
|
+
display: inline-block;
|
|
440
|
+
font: inherit;
|
|
441
|
+
line-height: 1.5em;
|
|
442
|
+
padding: 0.5em 3.5em 0.5em 1em;
|
|
443
|
+
margin: 0;
|
|
444
|
+
box-sizing: border-box;
|
|
445
|
+
appearance: none;
|
|
446
|
+
width: 250px;
|
|
447
|
+
height: 36px;
|
|
448
|
+
|
|
449
|
+
background-image: linear-gradient(45deg, transparent 50%, gray 50%),
|
|
450
|
+
linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc);
|
|
451
|
+
background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px),
|
|
452
|
+
calc(100% - 2.5em) 4.5em;
|
|
453
|
+
background-size: 5px 5px, 5px 5px, 1px 1.5em;
|
|
454
|
+
background-repeat: no-repeat;
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
select:focus {
|
|
458
|
+
background-image: linear-gradient(45deg, green 50%, transparent 50%),
|
|
459
|
+
linear-gradient(135deg, transparent 50%, green 50%), linear-gradient(to right, #ccc, #ccc);
|
|
460
|
+
background-position: calc(100% - 15px) 1em, calc(100% - 20px) 1em, calc(100% - 2.5em) 4.5em;
|
|
461
|
+
background-size: 5px 5px, 5px 5px, 1px 1.5em;
|
|
462
|
+
background-repeat: no-repeat;
|
|
463
|
+
border-color: green;
|
|
464
|
+
outline: 0;
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
`;
|
|
468
|
+
const StyledFilteredOption = exports.StyledFilteredOption = (0, _styledComponents.default)(SelectionButton)`
|
|
469
|
+
align-items: center;
|
|
470
|
+
display: flex;
|
|
471
|
+
flex-direction: column;
|
|
472
|
+
justify-content: center;
|
|
473
|
+
margin: 4px;
|
|
474
|
+
padding: 8px 12px;
|
|
475
|
+
width: 140px;
|
|
476
|
+
|
|
477
|
+
.filter-option-title {
|
|
478
|
+
color: ${props => props.theme.textColorLT};
|
|
479
|
+
font-size: 12px;
|
|
480
|
+
font-weight: 500;
|
|
481
|
+
}
|
|
482
|
+
.filter-option-subtitle {
|
|
483
|
+
color: ${props => props.theme.subtextColorLT};
|
|
484
|
+
font-size: 11px;
|
|
485
|
+
}
|
|
486
|
+
`;
|
|
487
|
+
const StyledType = exports.StyledType = (0, _styledComponents.default)(SelectionButton)`
|
|
488
|
+
height: 100px;
|
|
489
|
+
margin: 4px;
|
|
490
|
+
padding: 6px 10px;
|
|
491
|
+
width: 100px;
|
|
492
|
+
`;
|
|
493
|
+
const WidgetContainer = exports.WidgetContainer = _styledComponents.default.div`
|
|
494
|
+
z-index: 1;
|
|
495
|
+
`;
|
|
496
|
+
const BottomWidgetInner = exports.BottomWidgetInner = _styledComponents.default.div`
|
|
497
|
+
background-color: ${props => props.theme.bottomWidgetBgd};
|
|
498
|
+
padding: ${props => `${props.theme.bottomInnerPdVert}px ${props.theme.bottomInnerPdSide}px`};
|
|
499
|
+
position: relative;
|
|
500
|
+
margin-top: ${props => props.theme.bottomPanelGap}px;
|
|
501
|
+
`;
|
|
502
|
+
const MapControlButton = exports.MapControlButton = (0, _styledComponents.default)(Button).attrs({
|
|
277
503
|
className: 'map-control-button'
|
|
278
|
-
})
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
|
|
504
|
+
})`
|
|
505
|
+
box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.16);
|
|
506
|
+
height: 32px;
|
|
507
|
+
width: 32px;
|
|
508
|
+
padding: 0;
|
|
509
|
+
border-radius: 0;
|
|
510
|
+
background-color: ${props => props.active ? props.theme.floatingBtnBgdHover : props.theme.floatingBtnBgd};
|
|
511
|
+
color: ${props => props.active ? props.theme.floatingBtnActColor : props.theme.floatingBtnColor};
|
|
512
|
+
border: ${props => props.active ? props.theme.floatingBtnBorderHover : props.theme.floatingBtnBorder};
|
|
513
|
+
|
|
514
|
+
:hover,
|
|
515
|
+
:focus,
|
|
516
|
+
:active,
|
|
517
|
+
&.active {
|
|
518
|
+
background-color: ${props => props.theme.floatingBtnBgdHover};
|
|
519
|
+
color: ${props => props.theme.floatingBtnActColor};
|
|
520
|
+
border: ${props => props.theme.floatingBtnBorderHover};
|
|
521
|
+
}
|
|
522
|
+
svg {
|
|
523
|
+
margin-right: 0;
|
|
524
|
+
}
|
|
525
|
+
`;
|
|
526
|
+
const StyledFilterContent = exports.StyledFilterContent = _styledComponents.default.div`
|
|
527
|
+
background-color: ${props => props.theme.panelContentBackground};
|
|
528
|
+
padding: 12px;
|
|
529
|
+
`;
|
|
530
|
+
const TruncatedTitleText = exports.TruncatedTitleText = _styledComponents.default.div`
|
|
531
|
+
white-space: nowrap;
|
|
532
|
+
text-overflow: ellipsis;
|
|
533
|
+
overflow: hidden;
|
|
534
|
+
`;
|
|
535
|
+
const CheckMark = exports.CheckMark = _styledComponents.default.span.attrs({
|
|
296
536
|
className: 'checkbox-inner'
|
|
297
|
-
})
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0VG9vbHRpcCIsIl9tZWRpYUJyZWFrcG9pbnRzIiwiX2NsYXNzbmFtZXMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl90ZW1wbGF0ZU9iamVjdDQiLCJfdGVtcGxhdGVPYmplY3Q1IiwiX3RlbXBsYXRlT2JqZWN0NiIsIl90ZW1wbGF0ZU9iamVjdDciLCJfdGVtcGxhdGVPYmplY3Q4IiwiX3RlbXBsYXRlT2JqZWN0OSIsIl90ZW1wbGF0ZU9iamVjdDEwIiwiX3RlbXBsYXRlT2JqZWN0MTEiLCJfdGVtcGxhdGVPYmplY3QxMiIsIl90ZW1wbGF0ZU9iamVjdDEzIiwiX3RlbXBsYXRlT2JqZWN0MTQiLCJfdGVtcGxhdGVPYmplY3QxNSIsIl90ZW1wbGF0ZU9iamVjdDE2IiwiX3RlbXBsYXRlT2JqZWN0MTciLCJfdGVtcGxhdGVPYmplY3QxOCIsIl90ZW1wbGF0ZU9iamVjdDE5IiwiX3RlbXBsYXRlT2JqZWN0MjAiLCJfdGVtcGxhdGVPYmplY3QyMSIsIl90ZW1wbGF0ZU9iamVjdDIyIiwiX3RlbXBsYXRlT2JqZWN0MjMiLCJfdGVtcGxhdGVPYmplY3QyNCIsIl90ZW1wbGF0ZU9iamVjdDI1IiwiX3RlbXBsYXRlT2JqZWN0MjYiLCJfdGVtcGxhdGVPYmplY3QyNyIsIl90ZW1wbGF0ZU9iamVjdDI4IiwiX3RlbXBsYXRlT2JqZWN0MjkiLCJfdGVtcGxhdGVPYmplY3QzMCIsIl90ZW1wbGF0ZU9iamVjdDMxIiwiX3RlbXBsYXRlT2JqZWN0MzIiLCJfdGVtcGxhdGVPYmplY3QzMyIsIl90ZW1wbGF0ZU9iamVjdDM0IiwiX3RlbXBsYXRlT2JqZWN0MzUiLCJfdGVtcGxhdGVPYmplY3QzNiIsIl90ZW1wbGF0ZU9iamVjdDM3IiwiX3RlbXBsYXRlT2JqZWN0MzgiLCJfdGVtcGxhdGVPYmplY3QzOSIsIl90ZW1wbGF0ZU9iamVjdDQwIiwiX3RlbXBsYXRlT2JqZWN0NDEiLCJfdGVtcGxhdGVPYmplY3Q0MiIsIl90ZW1wbGF0ZU9iamVjdDQzIiwiX3RlbXBsYXRlT2JqZWN0NDQiLCJfdGVtcGxhdGVPYmplY3Q0NSIsIl90ZW1wbGF0ZU9iamVjdDQ2IiwiX3RlbXBsYXRlT2JqZWN0NDciLCJTZWxlY3RUZXh0IiwiZXhwb3J0cyIsInN0eWxlZCIsInNwYW4iLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJsYWJlbENvbG9yIiwic2VsZWN0Rm9udFNpemUiLCJTZWxlY3RUZXh0Qm9sZCIsInRleHRDb2xvciIsIkljb25Sb3VuZFNtYWxsIiwiZGl2Iiwic2Vjb25kYXJ5QnRuQmdkSG92ZXIiLCJzZWNvbmRhcnlCdG5Db2xvciIsIkNlbnRlckZsZXhib3giLCJDZW50ZXJWZXJ0aWNhbEZsZXhib3giLCJTcGFjZUJldHdlZW5GbGV4Ym94IiwiU0JGbGV4Ym94SXRlbSIsIlNCRmxleGJveE5vTWFyZ2luIiwiUGFuZWxMYWJlbCIsImxhYmVsIiwiYXR0cnMiLCJhY3RpdmUiLCJjbGFzc05hbWUiLCJsYWJlbENvbG9yQWN0aXZlIiwiUGFuZWxMYWJlbFdyYXBwZXIiLCJQYW5lbExhYmVsQm9sZCIsIlBhbmVsSGVhZGVyVGl0bGUiLCJjbGFzc25hbWVzIiwiUGFuZWxIZWFkZXJDb250ZW50IiwiUGFuZWxDb250ZW50IiwicGFuZWxDb250ZW50QmFja2dyb3VuZCIsIlNpZGVQYW5lbFNlY3Rpb24iLCJkaXNhYmxlZCIsIlNpZGVQYW5lbERpdmlkZXIiLCJzaWRlcGFuZWxEaXZpZGVyQm9yZGVyIiwicGFuZWxCb3JkZXJDb2xvciIsInNpZGVwYW5lbERpdmlkZXJNYXJnaW4iLCJzaWRlcGFuZWxEaXZpZGVySGVpZ2h0IiwiVG9vbHRpcCIsIlJlYWN0VG9vbHRpcCIsInRvb2x0aXBGb250U2l6ZSIsInRvb2x0aXBCb3hTaGFkb3ciLCJ0b29sdGlwQmciLCJ0b29sdGlwQ29sb3IiLCJCdXR0b24iLCJuZWdhdGl2ZSIsIm5lZ2F0aXZlQnRuQmdkIiwic2Vjb25kYXJ5Iiwic2Vjb25kYXJ5QnRuQmdkIiwibGluayIsImxpbmtCdG5CZ2QiLCJmbG9hdGluZyIsImZsb2F0aW5nQnRuQmdkIiwiY3RhIiwiY3RhQnRuQmdkIiwicHJpbWFyeUJ0bkJnZCIsInByaW1hcnlCdG5SYWRpdXMiLCJuZWdhdGl2ZUJ0bkNvbG9yIiwibGlua0J0bkNvbG9yIiwiZmxvYXRpbmdCdG5Db2xvciIsImN0YUJ0bkNvbG9yIiwicHJpbWFyeUJ0bkNvbG9yIiwibGFyZ2UiLCJwcmltYXJ5QnRuRm9udFNpemVMYXJnZSIsInNtYWxsIiwicHJpbWFyeUJ0bkZvbnRTaXplU21hbGwiLCJwcmltYXJ5QnRuRm9udFNpemVEZWZhdWx0IiwiYnRuRm9udEZhbWlseSIsInRyYW5zaXRpb24iLCJ3aWR0aCIsIm5lZ2F0aXZlQnRuQm9yZGVyIiwic2Vjb25kYXJ5QnRuQm9yZGVyIiwiZmxvYXRpbmdCdG5Cb3JkZXIiLCJsaW5rQnRuQm9yZGVyIiwicHJpbWFyeUJ0bkJvcmRlciIsIm5lZ2F0aXZlQnRuQmdkSG92ZXIiLCJsaW5rQnRuQWN0QmdkSG92ZXIiLCJmbG9hdGluZ0J0bkJnZEhvdmVyIiwiY3RhQnRuQmdkSG92ZXIiLCJwcmltYXJ5QnRuQmdkSG92ZXIiLCJuZWdhdGl2ZUJ0bkFjdENvbG9yIiwic2Vjb25kYXJ5QnRuQWN0Q29sb3IiLCJsaW5rQnRuQWN0Q29sb3IiLCJmbG9hdGluZ0J0bkFjdENvbG9yIiwiY3RhQnRuQWN0Q29sb3IiLCJwcmltYXJ5QnRuQWN0Q29sb3IiLCJJbnB1dCIsImlucHV0Iiwic2Vjb25kYXJ5SW5wdXQiLCJJbnB1dExpZ2h0IiwiaW5wdXRMVCIsIlRleHRBcmVhIiwidGV4dGFyZWEiLCJUZXh0QXJlYUxpZ2h0IiwiSW5saW5lSW5wdXQiLCJpbmxpbmVJbnB1dCIsIlN0eWxlZFBhbmVsSGVhZGVyIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJwYW5lbEJhY2tncm91bmQiLCJsYWJlbFJDR0NvbG9yVmFsdWVzIiwiam9pbiIsInBhbmVsSGVhZGVySGVpZ2h0IiwicGFuZWxIZWFkZXJCb3JkZXJSYWRpdXMiLCJTdHlsZWRQYW5lbERyb3Bkb3duIiwicGFuZWxEcm9wZG93blNjcm9sbEJhciIsInR5cGUiLCJtb2RhbERyb3Bkb3duQmFja2dyb3VuZCIsInBhbmVsQm94U2hhZG93IiwicGFuZWxCb3JkZXJSYWRpdXMiLCJCdXR0b25Hcm91cCIsIkRhdGFzZXRTcXVhcmUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJTZWxlY3Rpb25CdXR0b24iLCJzZWxlY3RlZCIsInNlbGVjdGlvbkJ0bkJvcmRlckFjdENvbG9yIiwic2VsZWN0aW9uQnRuQm9yZGVyQ29sb3IiLCJzZWxlY3Rpb25CdG5BY3RDb2xvciIsInNlbGVjdGlvbkJ0bkNvbG9yIiwic2VsZWN0aW9uQnRuQWN0QmdkIiwic2VsZWN0aW9uQnRuQmdkIiwiVGFibGUiLCJ0YWJsZSIsInBhbmVsQmFja2dyb3VuZExUIiwidGl0bGVDb2xvckxUIiwicGFuZWxCb3JkZXJMVCIsIlN0eWxlZE1vZGFsQ29udGVudCIsInRleHRDb2xvckxUIiwibW9kYWxMYXRlcmFsUGFkZGluZyIsIm1lZGlhIiwicG9ydGFibGUiLCJtb2RhbFBvcnRhYmxlTGF0ZXJhbFBhZGRpbmciLCJTdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWwiLCJwYWxtIiwiU3R5bGVkTW9kYWxTZWN0aW9uIiwiX3JlZiIsInN1YnRleHRDb2xvckxUIiwiU3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlIiwiZXJyb3IiLCJlcnJvckNvbG9yIiwiU3R5bGVkTWFwQ29udGFpbmVyIiwiU3R5bGVkRXhwb3J0U2VjdGlvbiIsIlN0eWxlZEZpbHRlcmVkT3B0aW9uIiwiU3R5bGVkVHlwZSIsIldpZGdldENvbnRhaW5lciIsIkJvdHRvbVdpZGdldElubmVyIiwiYm90dG9tV2lkZ2V0QmdkIiwiY29uY2F0IiwiYm90dG9tSW5uZXJQZFZlcnQiLCJib3R0b21Jbm5lclBkU2lkZSIsImJvdHRvbVBhbmVsR2FwIiwiTWFwQ29udHJvbEJ1dHRvbiIsImZsb2F0aW5nQnRuQm9yZGVySG92ZXIiLCJTdHlsZWRGaWx0ZXJDb250ZW50IiwiVHJ1bmNhdGVkVGl0bGVUZXh0IiwiQ2hlY2tNYXJrIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBSZWFjdFRvb2x0aXAgZnJvbSAncmVhY3QtdG9vbHRpcCc7XG5pbXBvcnQge21lZGlhfSBmcm9tICdzdHlsZXMvbWVkaWEtYnJlYWtwb2ludHMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQge1JHQkNvbG9yfSBmcm9tICdyZWR1Y2Vycyc7XG5cbmV4cG9ydCBjb25zdCBTZWxlY3RUZXh0ID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2VsZWN0Rm9udFNpemV9O1xuICBmb250LXdlaWdodDogNDAwO1xuXG4gIGkge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFNlbGVjdFRleHRCb2xkID0gc3R5bGVkKFNlbGVjdFRleHQpYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBmb250LXdlaWdodDogNTAwO1xuYDtcblxuZXhwb3J0IGNvbnN0IEljb25Sb3VuZFNtYWxsID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgYm9yZGVyLXJhZGl1czogOXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkJnZEhvdmVyfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQ29sb3J9O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkJnZEhvdmVyfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IENlbnRlckZsZXhib3ggPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IENlbnRlclZlcnRpY2FsRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3BhY2VCZXR3ZWVuRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFNCRmxleGJveEl0ZW0gPSBzdHlsZWQuZGl2YFxuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFNCRmxleGJveE5vTWFyZ2luID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuZXhwb3J0IHR5cGUgUGFuZWxMYWJlbFByb3BzID0ge1xuICBhY3RpdmU/OiBib29sZWFuLFxuICBjbGFzc05hbWU/OiBzdHJpbmdcbn07XG5cbmV4cG9ydCBjb25zdCBQYW5lbExhYmVsID0gc3R5bGVkLmxhYmVsLmF0dHJzPFBhbmVsTGFiZWxQcm9wcz4oe1xuICBhY3RpdmU6IGZhbHNlLFxuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLXBhbmVsX19sYWJlbCdcbn0pPFBhbmVsTGFiZWxQcm9wcz5gXG4gIGNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5sYWJlbENvbG9yQWN0aXZlIDogcHJvcHMudGhlbWUubGFiZWxDb2xvcil9O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbExhYmVsV3JhcHBlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLXBhbmVsX19sYWJlbC13cmFwcGVyJ1xufSlgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0O1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsTGFiZWxCb2xkID0gc3R5bGVkKFBhbmVsTGFiZWwpYFxuICBmb250LXdlaWdodDogNTAwO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsSGVhZGVyVGl0bGUgPSBzdHlsZWQuc3Bhbi5hdHRycyhwcm9wcyA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ3NpZGUtcGFuZWwtcGFuZWxfX2hlYWRlcl9fdGl0bGUnLCBwcm9wcy5jbGFzc05hbWUpXG59KSlgXG4gIGNvbG9yOiAke3Byb3BzID0+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/IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0IDogcHJvcHMudGhlbWUuaW5wdXQpfTtcbmA7XG5leHBvcnQgY29uc3QgVGV4dEFyZWFMaWdodCA9IHN0eWxlZC50ZXh0YXJlYWBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dExUfSBoZWlnaHQ6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbmA7XG5cbmV4cG9ydCBjb25zdCBJbmxpbmVJbnB1dCA9IHN0eWxlZChJbnB1dClgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5saW5lSW5wdXR9O1xuYDtcblxuZXhwb3J0IGludGVyZmFjZSBTdHlsZWRQYW5lbEhlYWRlclByb3BzIHtcbiAgYWN0aXZlPzogYm9vbGVhbjtcbiAgbGFiZWxSQ0dDb2xvclZhbHVlcz86IFJHQkNvbG9yIHwgbnVsbDtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBhbmVsSGVhZGVyID0gc3R5bGVkLmRpdjxTdHlsZWRQYW5lbEhlYWRlclByb3BzPmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyIDogcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZFxuICAgIHJnYihcbiAgICAgICR7cHJvcHMgPT4gKHByb3BzLmxhYmVsUkNHQ29sb3JWYWx1ZXMgPyBwcm9wcy5sYWJlbFJDR0NvbG9yVmFsdWVzLmpvaW4oJywnKSA6ICd0cmFuc3BhcmVudCcpfVxuICAgICk7XG4gIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEhlYWRlckhlaWdodH1weDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsSGVhZGVyQm9yZGVyUmFkaXVzfTtcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50cmFuc2l0aW9ufTtcbmA7XG5cbmludGVyZmFjZSBTdHlsZWRQYW5lbERyb3Bkb3duUHJvcHMge1xuICB0eXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkUGFuZWxEcm9wZG93biA9IHN0eWxlZC5kaXY8U3R5bGVkUGFuZWxEcm9wZG93blByb3BzPmBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbERyb3Bkb3duU2Nyb2xsQmFyfVxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMudHlwZSA9PT0gJ2xpZ2h0JyA/IHByb3BzLnRoZW1lLm1vZGFsRHJvcGRvd25CYWNrZ3JvdW5kIDogcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYm94LXNoYWRvdzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJveFNoYWRvd307XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJSYWRpdXN9O1xuICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk7XG5gO1xuXG5leHBvcnQgY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICAuYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gIH1cbiAgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuUmFkaXVzfTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gIH1cbmA7XG5cbmludGVyZmFjZSBEYXRhc2V0U3F1YXJlUHJvcHMge1xuICBiYWNrZ3JvdW5kQ29sb3I6IFJHQkNvbG9yO1xufVxuXG5leHBvcnQgY29uc3QgRGF0YXNldFNxdWFyZSA9IHN0eWxlZC5kaXY8RGF0YXNldFNxdWFyZVByb3BzPmBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoJHtwcm9wcyA9PiBwcm9wcy5iYWNrZ3JvdW5kQ29sb3Iuam9pbignLCcpfSk7XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbmA7XG5cbmludGVyZmFjZSBTZWxlY3Rpb25CdXR0b25Qcm9wcyB7XG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFNlbGVjdGlvbkJ1dHRvbiA9IHN0eWxlZC5kaXY8U2VsZWN0aW9uQnV0dG9uUHJvcHM+YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzID0+XG4gICAgICBwcm9wcy5zZWxlY3RlZFxuICAgICAgICA/IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckFjdENvbG9yXG4gICAgICAgIDogcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQm9yZGVyQ29sb3J9O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLnNlbGVjdGVkID8gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQWN0Q29sb3IgOiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Db2xvcn07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkFjdEJnZCA6IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJnZH07XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgcGFkZGluZzogNnB4IDE2cHg7XG5cbiAgOmhvdmVyIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5BY3RDb2xvcn07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvcn07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBUYWJsZSA9IHN0eWxlZC50YWJsZWBcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuXG4gIHRoZWFkIHtcbiAgICB0ciB0aCB7XG4gICAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZExUfTtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRpdGxlQ29sb3JMVH07XG4gICAgICBwYWRkaW5nOiAxOHB4IDEycHg7XG4gICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB7XG4gICAgdHIgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckxUfTtcbiAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRMVH07XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckxUfTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZm9udC1zaXplOiAxMHB4O1xuICBwYWRkaW5nOiAyNHB4ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxMYXRlcmFsUGFkZGluZ307XG4gIG1hcmdpbjogMCAtJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbExhdGVyYWxQYWRkaW5nfTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMTZweCAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsUG9ydGFibGVMYXRlcmFsUGFkZGluZ307XG4gICAgbWFyZ2luOiAwIC0ke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsUG9ydGFibGVMYXRlcmFsUGFkZGluZ307XG4gIGB9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsVmVydGljYWxQYW5lbCA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdtb2RhbC12ZXJ0aWNhbC1wYW5lbCdcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgZm9udC1zaXplOiAxMnB4O1xuXG4gIC5tb2RhbC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICR7bWVkaWEucGFsbWBcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYH07XG4gIH1cblxuICBpbnB1dCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbFNlY3Rpb24gPSBzdHlsZWQuZGl2LmF0dHJzKCh7Y2xhc3NOYW1lfSkgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdtb2RhbC1zZWN0aW9uJywgY2xhc3NOYW1lKVxufSkpYFxuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuXG4gIC5tb2RhbC1zZWN0aW9uLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC5tb2RhbC1zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JMVH07XG4gIH1cblxuICBpbnB1dCB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG5cbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBgfTtcbiAgJHttZWRpYS5wYWxtYFxuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGB9O1xuYDtcblxuaW50ZXJmYWNlIFN0eWxlZE1vZGFsSW5wdXRGb290bm90ZVByb3BzIHtcbiAgZXJyb3I/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ21vZGFsLWlucHV0X19mb290bm90ZSdcbn0pPFN0eWxlZE1vZGFsSW5wdXRGb290bm90ZVByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gKHByb3BzLmVycm9yID8gcHJvcHMudGhlbWUuZXJyb3JDb2xvciA6IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvckxUKX07XG4gIGZvbnQtc2l6ZTogMTBweDtcbmA7XG4vKipcbiAqIE5ld2VyIHZlcnNpb25zIG9mIG1hcGJveC5nbCBkaXNwbGF5IGFuIGVycm9yIG1lc3NhZ2UgYmFubmVyIG9uIHRvcCBvZiB0aGUgbWFwIGJ5IGRlZmF1bHRcbiAqIHdoaWNoIHdpbGwgY2F1c2UgdGhlIG1hcCB0byBkaXNwbGF5IHBvaW50cyBpbiB0aGUgd3JvbmcgbG9jYXRpb25zXG4gKiBUaGlzIHdvcmthcm91bmQgd2lsbCBoaWRlIHRoZSBlcnJvciBiYW5uZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBTdHlsZWRNYXBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAubWFwbGlicmVnbC1jdHJsIHtcbiAgICAmLm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVkRXhwb3J0U2VjdGlvblByb3BzIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkRXhwb3J0U2VjdGlvbiA9IHN0eWxlZC5kaXY8U3R5bGVkRXhwb3J0U2VjdGlvblByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luOiAzNXB4IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAwLjMgOiAxKX07XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG5cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTg1cHg7XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JMVH07XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuICB9XG4gIC53YXJuaW5nIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lcnJvckNvbG9yfTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC5kZXNjcmlwdGlvbi5mdWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuc2VsZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcblxuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICBwYWRkaW5nOiAwLjVlbSAzLjVlbSAwLjVlbSAxZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIGhlaWdodDogMzZweDtcblxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCA1MCUsIGdyYXkgNTAlKSxcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgZ3JheSA1MCUsIHRyYW5zcGFyZW50IDUwJSksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2NjYywgI2NjYyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAyMHB4KSBjYWxjKDFlbSArIDJweCksIGNhbGMoMTAwJSAtIDE1cHgpIGNhbGMoMWVtICsgMnB4KSxcbiAgICAgICAgY2FsYygxMDAlIC0gMi41ZW0pIDQuNWVtO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA1cHggNXB4LCA1cHggNXB4LCAxcHggMS41ZW07XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuICAgIHNlbGVjdDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGdyZWVuIDUwJSwgdHJhbnNwYXJlbnQgNTAlKSxcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdHJhbnNwYXJlbnQgNTAlLCBncmVlbiA1MCUpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjY2MsICNjY2MpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMTVweCkgMWVtLCBjYWxjKDEwMCUgLSAyMHB4KSAxZW0sIGNhbGMoMTAwJSAtIDIuNWVtKSA0LjVlbTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IDVweCwgNXB4IDVweCwgMXB4IDEuNWVtO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJvcmRlci1jb2xvcjogZ3JlZW47XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZpbHRlcmVkT3B0aW9uID0gc3R5bGVkKFNlbGVjdGlvbkJ1dHRvbilgXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDRweDtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIHdpZHRoOiAxNDBweDtcblxuICAuZmlsdGVyLW9wdGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yTFR9O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC5maWx0ZXItb3B0aW9uLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JMVH07XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVHlwZSA9IHN0eWxlZChTZWxlY3Rpb25CdXR0b24pYFxuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW46IDRweDtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIHdpZHRoOiAxMDBweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBXaWRnZXRDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICB6LWluZGV4OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IEJvdHRvbVdpZGdldElubmVyID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3R0b21XaWRnZXRCZ2R9O1xuICBwYWRkaW5nOiAke3Byb3BzID0+IGAke3Byb3BzLnRoZW1lLmJvdHRvbUlubmVyUGRWZXJ0fXB4ICR7cHJvcHMudGhlbWUuYm90dG9tSW5uZXJQZFNpZGV9cHhgfTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvdHRvbVBhbmVsR2FwfXB4O1xuYDtcblxuaW50ZXJmYWNlIE1hcENvbnRyb2xCdXR0b25Qcm9wcyB7XG4gIGFjdGl2ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBNYXBDb250cm9sQnV0dG9uID0gc3R5bGVkKEJ1dHRvbikuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdtYXAtY29udHJvbC1idXR0b24nIGFzIHN0cmluZ1xufSk8TWFwQ29udHJvbEJ1dHRvblByb3BzPmBcbiAgYm94LXNoYWRvdzogMCA2cHggMTJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNik7XG4gIGhlaWdodDogMzJweDtcbiAgd2lkdGg6IDMycHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJnZEhvdmVyIDogcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2R9O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQWN0Q29sb3IgOiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkNvbG9yfTtcbiAgYm9yZGVyOiAke3Byb3BzID0+XG4gICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Cb3JkZXJIb3ZlciA6IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVyfTtcblxuICA6aG92ZXIsXG4gIDpmb2N1cyxcbiAgOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2RIb3Zlcn07XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5BY3RDb2xvcn07XG4gICAgYm9yZGVyOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVySG92ZXJ9O1xuICB9XG4gIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmlsdGVyQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxDb250ZW50QmFja2dyb3VuZH07XG4gIHBhZGRpbmc6IDEycHg7XG5gO1xuXG5leHBvcnQgY29uc3QgVHJ1bmNhdGVkVGl0bGVUZXh0ID0gc3R5bGVkLmRpdmBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gO1xuXG5leHBvcnQgY29uc3QgQ2hlY2tNYXJrID0gc3R5bGVkLnNwYW4uYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjaGVja2JveC1pbm5lcidcbn0pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckFjdENvbG9yfTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuXG4gIDphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoMSkgdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29udGVudDogJyAnO1xuICAgIHRvcDogNDAlO1xuICAg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
|
|
537
|
+
})`
|
|
538
|
+
background-color: ${props => props.theme.selectionBtnBorderActColor};
|
|
539
|
+
position: absolute;
|
|
540
|
+
top: 0;
|
|
541
|
+
right: 0;
|
|
542
|
+
display: block;
|
|
543
|
+
width: 10px;
|
|
544
|
+
height: 10px;
|
|
545
|
+
border-top-left-radius: 2px;
|
|
546
|
+
|
|
547
|
+
:after {
|
|
548
|
+
position: absolute;
|
|
549
|
+
display: table;
|
|
550
|
+
border: 1px solid #fff;
|
|
551
|
+
border-top: 0;
|
|
552
|
+
border-left: 0;
|
|
553
|
+
transform: rotate(45deg) scale(1) translate(-50%, -50%);
|
|
554
|
+
opacity: 1;
|
|
555
|
+
content: ' ';
|
|
556
|
+
top: 40%;
|
|
557
|
+
left: 30%;
|
|
558
|
+
width: 3.2px;
|
|
559
|
+
height: 6.22px;
|
|
560
|
+
}
|
|
561
|
+
`;
|
|
562
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0VG9vbHRpcCIsIl9tZWRpYUJyZWFrcG9pbnRzIiwiX2NsYXNzbmFtZXMiLCJTZWxlY3RUZXh0IiwiZXhwb3J0cyIsInN0eWxlZCIsInNwYW4iLCJwcm9wcyIsInRoZW1lIiwibGFiZWxDb2xvciIsInNlbGVjdEZvbnRTaXplIiwiU2VsZWN0VGV4dEJvbGQiLCJ0ZXh0Q29sb3IiLCJJY29uUm91bmRTbWFsbCIsImRpdiIsInNlY29uZGFyeUJ0bkJnZEhvdmVyIiwic2Vjb25kYXJ5QnRuQ29sb3IiLCJDZW50ZXJGbGV4Ym94IiwiQ2VudGVyVmVydGljYWxGbGV4Ym94IiwiU3BhY2VCZXR3ZWVuRmxleGJveCIsIlNCRmxleGJveEl0ZW0iLCJTQkZsZXhib3hOb01hcmdpbiIsIlBhbmVsTGFiZWwiLCJsYWJlbCIsImF0dHJzIiwiYWN0aXZlIiwiY2xhc3NOYW1lIiwibGFiZWxDb2xvckFjdGl2ZSIsIlBhbmVsTGFiZWxXcmFwcGVyIiwiUGFuZWxMYWJlbEJvbGQiLCJQYW5lbEhlYWRlclRpdGxlIiwiY2xhc3NuYW1lcyIsIlBhbmVsSGVhZGVyQ29udGVudCIsIlBhbmVsQ29udGVudCIsInBhbmVsQ29udGVudEJhY2tncm91bmQiLCJTaWRlUGFuZWxTZWN0aW9uIiwiZGlzYWJsZWQiLCJTaWRlUGFuZWxEaXZpZGVyIiwic2lkZXBhbmVsRGl2aWRlckJvcmRlciIsInBhbmVsQm9yZGVyQ29sb3IiLCJzaWRlcGFuZWxEaXZpZGVyTWFyZ2luIiwic2lkZXBhbmVsRGl2aWRlckhlaWdodCIsIlRvb2x0aXAiLCJSZWFjdFRvb2x0aXAiLCJ0b29sdGlwRm9udFNpemUiLCJ0b29sdGlwQm94U2hhZG93IiwidG9vbHRpcEJnIiwidG9vbHRpcENvbG9yIiwiQnV0dG9uIiwibmVnYXRpdmUiLCJuZWdhdGl2ZUJ0bkJnZCIsInNlY29uZGFyeSIsInNlY29uZGFyeUJ0bkJnZCIsImxpbmsiLCJsaW5rQnRuQmdkIiwiZmxvYXRpbmciLCJmbG9hdGluZ0J0bkJnZCIsImN0YSIsImN0YUJ0bkJnZCIsInByaW1hcnlCdG5CZ2QiLCJwcmltYXJ5QnRuUmFkaXVzIiwibmVnYXRpdmVCdG5Db2xvciIsImxpbmtCdG5Db2xvciIsImZsb2F0aW5nQnRuQ29sb3IiLCJjdGFCdG5Db2xvciIsInByaW1hcnlCdG5Db2xvciIsImxhcmdlIiwicHJpbWFyeUJ0bkZvbnRTaXplTGFyZ2UiLCJzbWFsbCIsInByaW1hcnlCdG5Gb250U2l6ZVNtYWxsIiwicHJpbWFyeUJ0bkZvbnRTaXplRGVmYXVsdCIsImJ0bkZvbnRGYW1pbHkiLCJ0cmFuc2l0aW9uIiwid2lkdGgiLCJuZWdhdGl2ZUJ0bkJvcmRlciIsInNlY29uZGFyeUJ0bkJvcmRlciIsImZsb2F0aW5nQnRuQm9yZGVyIiwibGlua0J0bkJvcmRlciIsInByaW1hcnlCdG5Cb3JkZXIiLCJuZWdhdGl2ZUJ0bkJnZEhvdmVyIiwibGlua0J0bkFjdEJnZEhvdmVyIiwiZmxvYXRpbmdCdG5CZ2RIb3ZlciIsImN0YUJ0bkJnZEhvdmVyIiwicHJpbWFyeUJ0bkJnZEhvdmVyIiwibmVnYXRpdmVCdG5BY3RDb2xvciIsInNlY29uZGFyeUJ0bkFjdENvbG9yIiwibGlua0J0bkFjdENvbG9yIiwiZmxvYXRpbmdCdG5BY3RDb2xvciIsImN0YUJ0bkFjdENvbG9yIiwicHJpbWFyeUJ0bkFjdENvbG9yIiwiSW5wdXQiLCJpbnB1dCIsInNlY29uZGFyeUlucHV0IiwiSW5wdXRMaWdodCIsImlucHV0TFQiLCJUZXh0QXJlYSIsInRleHRhcmVhIiwiVGV4dEFyZWFMaWdodCIsIklubGluZUlucHV0IiwiaW5saW5lSW5wdXQiLCJTdHlsZWRQYW5lbEhlYWRlciIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwicGFuZWxCYWNrZ3JvdW5kIiwibGFiZWxSQ0dDb2xvclZhbHVlcyIsImpvaW4iLCJwYW5lbEhlYWRlckhlaWdodCIsInBhbmVsSGVhZGVyQm9yZGVyUmFkaXVzIiwiU3R5bGVkUGFuZWxEcm9wZG93biIsInBhbmVsRHJvcGRvd25TY3JvbGxCYXIiLCJ0eXBlIiwibW9kYWxEcm9wZG93bkJhY2tncm91bmQiLCJwYW5lbEJveFNoYWRvdyIsInBhbmVsQm9yZGVyUmFkaXVzIiwiQnV0dG9uR3JvdXAiLCJEYXRhc2V0U3F1YXJlIiwiYmFja2dyb3VuZENvbG9yIiwiU2VsZWN0aW9uQnV0dG9uIiwic2VsZWN0ZWQiLCJzZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvciIsInNlbGVjdGlvbkJ0bkJvcmRlckNvbG9yIiwic2VsZWN0aW9uQnRuQWN0Q29sb3IiLCJzZWxlY3Rpb25CdG5Db2xvciIsInNlbGVjdGlvbkJ0bkFjdEJnZCIsInNlbGVjdGlvbkJ0bkJnZCIsIlRhYmxlIiwidGFibGUiLCJwYW5lbEJhY2tncm91bmRMVCIsInRpdGxlQ29sb3JMVCIsInBhbmVsQm9yZGVyTFQiLCJTdHlsZWRNb2RhbENvbnRlbnQiLCJ0ZXh0Q29sb3JMVCIsIm1vZGFsTGF0ZXJhbFBhZGRpbmciLCJtZWRpYSIsInBvcnRhYmxlIiwibW9kYWxQb3J0YWJsZUxhdGVyYWxQYWRkaW5nIiwiU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsIiwicGFsbSIsIlN0eWxlZE1vZGFsU2VjdGlvbiIsIl9yZWYiLCJzdWJ0ZXh0Q29sb3JMVCIsIlN0eWxlZE1vZGFsSW5wdXRGb290bm90ZSIsImVycm9yIiwiZXJyb3JDb2xvciIsIlN0eWxlZE1hcENvbnRhaW5lciIsIlN0eWxlZEV4cG9ydFNlY3Rpb24iLCJTdHlsZWRGaWx0ZXJlZE9wdGlvbiIsIlN0eWxlZFR5cGUiLCJXaWRnZXRDb250YWluZXIiLCJCb3R0b21XaWRnZXRJbm5lciIsImJvdHRvbVdpZGdldEJnZCIsImJvdHRvbUlubmVyUGRWZXJ0IiwiYm90dG9tSW5uZXJQZFNpZGUiLCJib3R0b21QYW5lbEdhcCIsIk1hcENvbnRyb2xCdXR0b24iLCJmbG9hdGluZ0J0bkJvcmRlckhvdmVyIiwiU3R5bGVkRmlsdGVyQ29udGVudCIsIlRydW5jYXRlZFRpdGxlVGV4dCIsIkNoZWNrTWFyayJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUmVhY3RUb29sdGlwIGZyb20gJ3JlYWN0LXRvb2x0aXAnO1xuaW1wb3J0IHttZWRpYX0gZnJvbSAnc3R5bGVzL21lZGlhLWJyZWFrcG9pbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHtSR0JDb2xvcn0gZnJvbSAncmVkdWNlcnMnO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0VGV4dCA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdEZvbnRTaXplfTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICBpIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTZWxlY3RUZXh0Qm9sZCA9IHN0eWxlZChTZWxlY3RUZXh0KWBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBJY29uUm91bmRTbWFsbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RIb3Zlcn07XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkNvbG9yfTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RIb3Zlcn07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDZW50ZXJGbGV4Ym94ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBDZW50ZXJWZXJ0aWNhbEZsZXhib3ggPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFNwYWNlQmV0d2VlbkZsZXhib3ggPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1sZWZ0OiAtMTZweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTQkZsZXhib3hJdGVtID0gc3R5bGVkLmRpdmBcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tbGVmdDogMTZweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTQkZsZXhib3hOb01hcmdpbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmV4cG9ydCB0eXBlIFBhbmVsTGFiZWxQcm9wcyA9IHtcbiAgYWN0aXZlPzogYm9vbGVhbixcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG59O1xuXG5leHBvcnQgY29uc3QgUGFuZWxMYWJlbCA9IHN0eWxlZC5sYWJlbC5hdHRyczxQYW5lbExhYmVsUHJvcHM+KHtcbiAgYWN0aXZlOiBmYWxzZSxcbiAgY2xhc3NOYW1lOiAnc2lkZS1wYW5lbC1wYW5lbF9fbGFiZWwnXG59KTxQYW5lbExhYmVsUHJvcHM+YFxuICBjb2xvcjogJHtwcm9wcyA9PiAocHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUubGFiZWxDb2xvckFjdGl2ZSA6IHByb3BzLnRoZW1lLmxhYmVsQ29sb3IpfTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxMYWJlbFdyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnc2lkZS1wYW5lbC1wYW5lbF9fbGFiZWwtd3JhcHBlcidcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc2VsZi1zdGFydDtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbExhYmVsQm9sZCA9IHN0eWxlZChQYW5lbExhYmVsKWBcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbEhlYWRlclRpdGxlID0gc3R5bGVkLnNwYW4uYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdzaWRlLXBhbmVsLXBhbmVsX19oZWFkZXJfX3RpdGxlJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjQzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsSGVhZGVyQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIHBhZGRpbmctbGVmdDogMTJweDtcblxuICAuaWNvbiB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsQ29udGVudCA9IHN0eWxlZC5kaXYuYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdzaWRlLXBhbmVsLXBhbmVsX19jb250ZW50JywgcHJvcHMuY2xhc3NOYW1lKVxufSkpYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQ29udGVudEJhY2tncm91bmR9O1xuICBwYWRkaW5nOiAxMnB4O1xuYDtcblxuaW50ZXJmYWNlIFNpZGVQYW5lbFNlY3Rpb25Qcm9wcyB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFNpZGVQYW5lbFNlY3Rpb24gPSBzdHlsZWQuZGl2LmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnc2lkZS1wYW5lbC1zZWN0aW9uJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpPFNpZGVQYW5lbFNlY3Rpb25Qcm9wcz5gXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAwLjQgOiAxKX07XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG5gO1xuXG5leHBvcnQgY29uc3QgU2lkZVBhbmVsRGl2aWRlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLWRpdmlkZXInXG59KWBcbiAgYm9yZGVyLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlcGFuZWxEaXZpZGVyQm9yZGVyfSBzb2xpZFxuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJDb2xvcn07XG4gIG1hcmdpbi1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZXBhbmVsRGl2aWRlck1hcmdpbn1weDtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVwYW5lbERpdmlkZXJIZWlnaHR9cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgVG9vbHRpcCA9IHN0eWxlZChSZWFjdFRvb2x0aXApYFxuICAmLl9fcmVhY3RfY29tcG9uZW50X3Rvb2x0aXAge1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwRm9udFNpemV9O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZzogN3B4IDE4cHg7XG4gICAgYm94LXNoYWRvdzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQm94U2hhZG93fTtcblxuICAgICYudHlwZS1kYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcEJnfTtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBDb2xvcn07XG4gICAgICAmLnBsYWNlLWJvdHRvbSB7XG4gICAgICAgIDphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucGxhY2UtdG9wIHtcbiAgICAgICAgOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wbGFjZS1yaWdodCB7XG4gICAgICAgIDphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wbGFjZS1sZWZ0IHtcbiAgICAgICAgOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvblByb3BzIHtcbiAgbmVnYXRpdmU/OiBib29sZWFuO1xuICBzZWNvbmRhcnk/OiBib29sZWFuO1xuICBsaW5rPzogYm9vbGVhbjtcbiAgZmxvYXRpbmc/OiBib29sZWFuO1xuICBjdGE/OiBib29sZWFuO1xuICBsYXJnZT86IGJvb2xlYW47XG4gIHNtYWxsPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB3aWR0aD86IHN0cmluZztcbiAgaW5hY3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgQnV0dG9uID0gc3R5bGVkLmRpdi5hdHRycyhwcm9wcyA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ2J1dHRvbicsIHByb3BzLmNsYXNzTmFtZSlcbn0pKTxCdXR0b25Qcm9wcz5gXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkJnZFxuICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkXG4gICAgICA6IHByb3BzLmxpbmtcbiAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkJnZFxuICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJnZFxuICAgICAgOiBwcm9wcy5jdGFcbiAgICAgID8gcHJvcHMudGhlbWUuY3RhQnRuQmdkXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2R9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQ29sb3JcbiAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkNvbG9yXG4gICAgICA6IHByb3BzLmxpbmtcbiAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkNvbG9yXG4gICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQ29sb3JcbiAgICAgIDogcHJvcHMuY3RhXG4gICAgICA/IHByb3BzLnRoZW1lLmN0YUJ0bkNvbG9yXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Db2xvcn07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcyA9PlxuICAgIHByb3BzLmxhcmdlXG4gICAgICA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Gb250U2l6ZUxhcmdlXG4gICAgICA6IHByb3BzLnNtYWxsXG4gICAgICA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Gb250U2l6ZVNtYWxsXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Gb250U2l6ZURlZmF1bHR9O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5idG5Gb250RmFtaWx5fTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gKHByb3BzLmxhcmdlID8gJzE0cHggMzJweCcgOiBwcm9wcy5zbWFsbCA/ICc2cHggOXB4JyA6ICc5cHggMTJweCcpfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRyYW5zaXRpb259O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/IDAuNCA6IDEpfTtcbiAgcG9pbnRlci1ldmVudHM6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gJ25vbmUnIDogJ2FsbCcpfTtcbiAgYm9yZGVyOiAke3Byb3BzID0+XG4gICAgcHJvcHMubmVnYXRpdmVcbiAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5Cb3JkZXJcbiAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkJvcmRlclxuICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlclxuICAgICAgOiBwcm9wcy5saW5rXG4gICAgICA/IHByb3BzLnRoZW1lLmxpbmtCdG5Cb3JkZXJcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJvcmRlcn07XG4gIDpob3ZlcixcbiAgOmZvY3VzLFxuICA6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgICAgcHJvcHMubmVnYXRpdmVcbiAgICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5saW5rXG4gICAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkFjdEJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMuZmxvYXRpbmdcbiAgICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMuY3RhXG4gICAgICAgID8gcHJvcHMudGhlbWUuY3RhQnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkSG92ZXJ9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+XG4gICAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLmxpbmtcbiAgICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5jdGFcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jdGFCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RDb2xvcn07XG4gIH1cblxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogJHtwcm9wcyA9PiAocHJvcHMubGFyZ2UgPyAnMTBweCcgOiBwcm9wcy5zbWFsbCA/ICc2cHgnIDogJzhweCcpfTtcbiAgfVxuYDtcblxuaW50ZXJmYWNlIElucHV0UHJvcHMge1xuICBzZWNvbmRhcnk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgSW5wdXQgPSBzdHlsZWQuaW5wdXQ8SW5wdXRQcm9wcz5gXG4gICR7cHJvcHMgPT4gKHByb3BzLnNlY29uZGFyeSA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0IDogcHJvcHMudGhlbWUuaW5wdXQpfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBJbnB1dExpZ2h0ID0gc3R5bGVkLmlucHV0YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0TFR9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFRleHRBcmVhID0gc3R5bGVkLnRleHRhcmVhPElucHV0UHJvcHM+YFxuICAke3Byb3BzID0+IChwcm9wcy5zZWNvbmRhcnkgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dCA6IHByb3BzLnRoZW1lLmlucHV0KX07XG5gO1xuZXhwb3J0IGNvbnN0IFRleHRBcmVhTGlnaHQgPSBzdHlsZWQudGV4dGFyZWFgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRMVH0gaGVpZ2h0OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG5gO1xuXG5leHBvcnQgY29uc3QgSW5saW5lSW5wdXQgPSBzdHlsZWQoSW5wdXQpYFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlubGluZUlucHV0fTtcbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVkUGFuZWxIZWFkZXJQcm9wcyB7XG4gIGFjdGl2ZT86IGJvb2xlYW47XG4gIGxhYmVsUkNHQ29sb3JWYWx1ZXM/OiBSR0JDb2xvciB8IG51bGw7XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQYW5lbEhlYWRlciA9IHN0eWxlZC5kaXY8U3R5bGVkUGFuZWxIZWFkZXJQcm9wcz5gXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3ZlciA6IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWRcbiAgICByZ2IoXG4gICAgICAke3Byb3BzID0+IChwcm9wcy5sYWJlbFJDR0NvbG9yVmFsdWVzID8gcHJvcHMubGFiZWxSQ0dDb2xvclZhbHVlcy5qb2luKCcsJykgOiAndHJhbnNwYXJlbnQnKX1cbiAgICApO1xuICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxIZWFkZXJIZWlnaHR9cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEhlYWRlckJvcmRlclJhZGl1c307XG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG5gO1xuXG5pbnRlcmZhY2UgU3R5bGVkUGFuZWxEcm9wZG93blByb3BzIHtcbiAgdHlwZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBhbmVsRHJvcGRvd24gPSBzdHlsZWQuZGl2PFN0eWxlZFBhbmVsRHJvcGRvd25Qcm9wcz5gXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxEcm9wZG93blNjcm9sbEJhcn1cbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLnR5cGUgPT09ICdsaWdodCcgPyBwcm9wcy50aGVtZS5tb2RhbERyb3Bkb3duQmFja2dyb3VuZCA6IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3hTaGFkb3d9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyUmFkaXVzfTtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbkdyb3VwID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgLmJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xuICB9XG4gIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuUmFkaXVzfTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgRGF0YXNldFNxdWFyZVByb3BzIHtcbiAgYmFja2dyb3VuZENvbG9yOiBSR0JDb2xvcjtcbn1cblxuZXhwb3J0IGNvbnN0IERhdGFzZXRTcXVhcmUgPSBzdHlsZWQuZGl2PERhdGFzZXRTcXVhcmVQcm9wcz5gXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKCR7cHJvcHMgPT4gcHJvcHMuYmFja2dyb3VuZENvbG9yLmpvaW4oJywnKX0pO1xuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG5gO1xuXG5pbnRlcmZhY2UgU2VsZWN0aW9uQnV0dG9uUHJvcHMge1xuICBzZWxlY3RlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTZWxlY3Rpb25CdXR0b24gPSBzdHlsZWQuZGl2PFNlbGVjdGlvbkJ1dHRvblByb3BzPmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcyA9PlxuICAgICAgcHJvcHMuc2VsZWN0ZWRcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckNvbG9yfTtcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkFjdENvbG9yIDogcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuc2VsZWN0ZWQgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5BY3RCZ2QgOiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5CZ2R9O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIHBhZGRpbmc6IDZweCAxNnB4O1xuXG4gIDpob3ZlciB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQWN0Q29sb3J9O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQm9yZGVyQWN0Q29sb3J9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgVGFibGUgPSBzdHlsZWQudGFibGVgXG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItc3BhY2luZzogMDtcblxuICB0aGVhZCB7XG4gICAgdHIgdGgge1xuICAgICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRMVH07XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50aXRsZUNvbG9yTFR9O1xuICAgICAgcGFkZGluZzogMThweCAxMnB4O1xuICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkge1xuICAgIHRyIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJMVH07XG4gICAgICBwYWRkaW5nOiAxMnB4O1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kTFR9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgcGFkZGluZzogMjRweCAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsTGF0ZXJhbFBhZGRpbmd9O1xuICBtYXJnaW46IDAgLSR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxMYXRlcmFsUGFkZGluZ307XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDE2cHggJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbFBvcnRhYmxlTGF0ZXJhbFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMCAtJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbFBvcnRhYmxlTGF0ZXJhbFBhZGRpbmd9O1xuICBgfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWwgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbW9kYWwtdmVydGljYWwtcGFuZWwnXG59KWBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcblxuICAubW9kYWwtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAke21lZGlhLnBhbG1gXG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGB9O1xuICB9XG5cbiAgaW5wdXQge1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxTZWN0aW9uID0gc3R5bGVkLmRpdi5hdHRycygoe2NsYXNzTmFtZX0pID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnbW9kYWwtc2VjdGlvbicsIGNsYXNzTmFtZSlcbn0pKWBcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICAubW9kYWwtc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAubW9kYWwtc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICB9XG5cbiAgaW5wdXQge1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgfVxuXG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgYH07XG4gICR7bWVkaWEucGFsbWBcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBgfTtcbmA7XG5cbmludGVyZmFjZSBTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGVQcm9wcyB7XG4gIGVycm9yPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsSW5wdXRGb290bm90ZSA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdtb2RhbC1pbnB1dF9fZm9vdG5vdGUnXG59KTxTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGVQcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5lcnJvciA/IHByb3BzLnRoZW1lLmVycm9yQ29sb3IgOiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JMVCl9O1xuICBmb250LXNpemU6IDEwcHg7XG5gO1xuLyoqXG4gKiBOZXdlciB2ZXJzaW9ucyBvZiBtYXBib3guZ2wgZGlzcGxheSBhbiBlcnJvciBtZXNzYWdlIGJhbm5lciBvbiB0b3Agb2YgdGhlIG1hcCBieSBkZWZhdWx0XG4gKiB3aGljaCB3aWxsIGNhdXNlIHRoZSBtYXAgdG8gZGlzcGxheSBwb2ludHMgaW4gdGhlIHdyb25nIGxvY2F0aW9uc1xuICogVGhpcyB3b3JrYXJvdW5kIHdpbGwgaGlkZSB0aGUgZXJyb3IgYmFubmVyLlxuICovXG5leHBvcnQgY29uc3QgU3R5bGVkTWFwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLm1hcGxpYnJlZ2wtY3RybCB7XG4gICAgJi5tYXBsaWJyZWdsLWN0cmwtYXR0cmliIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0eWxlZEV4cG9ydFNlY3Rpb25Qcm9wcyB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZEV4cG9ydFNlY3Rpb24gPSBzdHlsZWQuZGl2PFN0eWxlZEV4cG9ydFNlY3Rpb25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbjogMzVweCAwO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yTFR9O1xuICBmb250LXNpemU6IDEycHg7XG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gMC4zIDogMSl9O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAnbm9uZScgOiAnYWxsJyl9O1xuXG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDE4NXB4O1xuICAgIC50aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgICAuc3VidGl0bGUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgIH1cbiAgfVxuICAud2FybmluZyB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZXJyb3JDb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuZGVzY3JpcHRpb24uZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnNlbGVjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG5cbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250OiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgcGFkZGluZzogMC41ZW0gMy41ZW0gMC41ZW0gMWVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB3aWR0aDogMjUwcHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG5cbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgNTAlLCBncmF5IDUwJSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGdyYXkgNTAlLCB0cmFuc3BhcmVudCA1MCUpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjY2MsICNjY2MpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMjBweCkgY2FsYygxZW0gKyAycHgpLCBjYWxjKDEwMCUgLSAxNXB4KSBjYWxjKDFlbSArIDJweCksXG4gICAgICAgIGNhbGMoMTAwJSAtIDIuNWVtKSA0LjVlbTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IDVweCwgNXB4IDVweCwgMXB4IDEuNWVtO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICBzZWxlY3Q6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBncmVlbiA1MCUsIHRyYW5zcGFyZW50IDUwJSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHRyYW5zcGFyZW50IDUwJSwgZ3JlZW4gNTAlKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjY2NjLCAjY2NjKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDE1cHgpIDFlbSwgY2FsYygxMDAlIC0gMjBweCkgMWVtLCBjYWxjKDEwMCUgLSAyLjVlbSkgNC41ZW07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweCA1cHgsIDVweCA1cHgsIDFweCAxLjVlbTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBib3JkZXItY29sb3I6IGdyZWVuO1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGaWx0ZXJlZE9wdGlvbiA9IHN0eWxlZChTZWxlY3Rpb25CdXR0b24pYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICB3aWR0aDogMTQwcHg7XG5cbiAgLmZpbHRlci1vcHRpb24tdGl0bGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckxUfTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuZmlsdGVyLW9wdGlvbi1zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFR5cGUgPSBzdHlsZWQoU2VsZWN0aW9uQnV0dG9uKWBcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICB3aWR0aDogMTAwcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgV2lkZ2V0Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgei1pbmRleDogMTtcbmA7XG5cbmV4cG9ydCBjb25zdCBCb3R0b21XaWRnZXRJbm5lciA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm90dG9tV2lkZ2V0QmdkfTtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiBgJHtwcm9wcy50aGVtZS5ib3R0b21Jbm5lclBkVmVydH1weCAke3Byb3BzLnRoZW1lLmJvdHRvbUlubmVyUGRTaWRlfXB4YH07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3R0b21QYW5lbEdhcH1weDtcbmA7XG5cbmludGVyZmFjZSBNYXBDb250cm9sQnV0dG9uUHJvcHMge1xuICBhY3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTWFwQ29udHJvbEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pLmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbWFwLWNvbnRyb2wtYnV0dG9uJyBhcyBzdHJpbmdcbn0pPE1hcENvbnRyb2xCdXR0b25Qcm9wcz5gXG4gIGJveC1zaGFkb3c6IDAgNnB4IDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2RIb3ZlciA6IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkfTtcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkFjdENvbG9yIDogcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Db2xvcn07XG4gIGJvcmRlcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVySG92ZXIgOiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlcn07XG5cbiAgOmhvdmVyLFxuICA6Zm9jdXMsXG4gIDphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkSG92ZXJ9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQWN0Q29sb3J9O1xuICAgIGJvcmRlcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlckhvdmVyfTtcbiAgfVxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZpbHRlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQ29udGVudEJhY2tncm91bmR9O1xuICBwYWRkaW5nOiAxMnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFRydW5jYXRlZFRpdGxlVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYDtcblxuZXhwb3J0IGNvbnN0IENoZWNrTWFyayA9IHN0eWxlZC5zcGFuLmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY2hlY2tib3gtaW5uZXInXG59KWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvcn07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcblxuICA6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDEpIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICB0b3A6IDQwJTtcbiAgICBsZWZ0OiAzMCU7XG4gICAgd2lkdGg6IDMuMnB4O1xuICAgIGhlaWdodDogNi4yMnB4O1xuICB9XG5gO1xuIl0s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
|