@kepler.gl/components 3.3.0-alpha.6 → 3.3.0-alpha.7
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/cjs/common/data-table/cell-size.js +40 -23
- package/dist/cjs/common/data-table/column-statistics-categoric.js +40 -0
- package/dist/cjs/common/data-table/column-statistics-components.js +65 -0
- package/dist/cjs/common/data-table/column-statistics-numeric.js +87 -0
- package/dist/cjs/common/data-table/column-statistics-time.js +69 -0
- package/dist/cjs/common/data-table/header-cell.js +123 -44
- package/dist/cjs/common/data-table/index.js +102 -29
- package/dist/cjs/common/histogram-plot.js +1 -1
- package/dist/cjs/common/icons/{arrow-down-solid.js → draw-point.js} +21 -11
- package/dist/cjs/common/icons/index.js +15 -1
- package/dist/cjs/common/icons/line-string.js +60 -0
- package/dist/cjs/common/toolbar-item.js +24 -3
- package/dist/cjs/editor/editor.js +26 -8
- package/dist/cjs/editor/feature-action-panel.js +34 -12
- package/dist/cjs/editor/feature-properties-editor.js +215 -0
- package/dist/cjs/editor/filter-feature-badges.js +92 -0
- package/dist/cjs/index.js +33 -1
- package/dist/cjs/kepler-gl.js +20 -3
- package/dist/cjs/map/map-control-toolbar.js +2 -2
- package/dist/cjs/map/map-control.js +13 -7
- package/dist/cjs/map/map-draw-panel.js +65 -15
- package/dist/cjs/map/theme-toggle-button.js +64 -0
- package/dist/cjs/map-container.js +16 -5
- package/dist/cjs/modal-container.js +2 -1
- package/dist/cjs/modals/cloud-components/cloud-item.js +55 -7
- package/dist/cjs/modals/cloud-components/cloud-item.spec.js +75 -3
- package/dist/cjs/modals/cloud-components/cloud-maps.js +2 -1
- package/dist/cjs/modals/cloud-tile.js +52 -38
- package/dist/cjs/modals/data-table-modal.js +37 -25
- package/dist/cjs/modals/export-video-modal.js +28 -1
- package/dist/cjs/modals/export-video-modal.spec.js +56 -10
- package/dist/cjs/modals/globe-export-video-container.js +19 -3
- package/dist/cjs/modals/globe-export-video-preview.js +25 -7
- package/dist/cjs/modals/hubble-utils.js +8 -3
- package/dist/cjs/modals/swipe-composite-utils.js +9 -1
- package/dist/cjs/modals/swipe-composite-utils.spec.js +69 -0
- package/dist/cjs/modals/swipe-export-video-preview.js +9 -5
- package/dist/cjs/side-panel/layer-manager.js +11 -3
- package/dist/cjs/side-panel/layer-panel/dataset-layer-section.js +11 -3
- package/dist/cjs/side-panel/layer-panel/layer-configurator.js +74 -31
- package/dist/cjs/side-panel/map-style-panel/globe-config-panel.js +90 -25
- package/dist/common/data-table/column-statistics-categoric.d.ts +9 -0
- package/dist/common/data-table/column-statistics-components.d.ts +31 -0
- package/dist/common/data-table/column-statistics-numeric.d.ts +18 -0
- package/dist/common/data-table/column-statistics-time.d.ts +19 -0
- package/dist/common/data-table/header-cell.d.ts +7 -5
- package/dist/common/data-table/index.d.ts +7 -24
- package/dist/common/histogram-plot.d.ts +24 -1
- package/dist/common/icons/{arrow-down-solid.d.ts → draw-point.d.ts} +2 -1
- package/dist/common/icons/index.d.ts +2 -0
- package/dist/common/icons/line-string.d.ts +10 -0
- package/dist/common/toolbar-item.d.ts +2 -0
- package/dist/editor/editor.d.ts +1 -0
- package/dist/editor/feature-action-panel.d.ts +1 -0
- package/dist/editor/feature-properties-editor.d.ts +8 -0
- package/dist/editor/filter-feature-badges.d.ts +12 -0
- package/dist/esm/common/data-table/cell-size.js +40 -23
- package/dist/esm/common/data-table/column-statistics-categoric.js +33 -0
- package/dist/esm/common/data-table/column-statistics-components.js +59 -0
- package/dist/esm/common/data-table/column-statistics-numeric.js +78 -0
- package/dist/esm/common/data-table/column-statistics-time.js +60 -0
- package/dist/esm/common/data-table/header-cell.js +125 -46
- package/dist/esm/common/data-table/index.js +102 -29
- package/dist/esm/common/histogram-plot.js +1 -1
- package/dist/esm/common/icons/draw-point.js +44 -0
- package/dist/esm/common/icons/index.js +3 -1
- package/dist/esm/common/icons/line-string.js +54 -0
- package/dist/esm/common/toolbar-item.js +24 -3
- package/dist/esm/editor/editor.js +26 -8
- package/dist/esm/editor/feature-action-panel.js +37 -15
- package/dist/esm/editor/feature-properties-editor.js +208 -0
- package/dist/esm/editor/filter-feature-badges.js +85 -0
- package/dist/esm/index.js +5 -1
- package/dist/esm/kepler-gl.js +20 -3
- package/dist/esm/map/map-control-toolbar.js +2 -2
- package/dist/esm/map/map-control.js +13 -7
- package/dist/esm/map/map-draw-panel.js +63 -11
- package/dist/esm/map/theme-toggle-button.js +55 -0
- package/dist/esm/map-container.js +16 -5
- package/dist/esm/modal-container.js +2 -1
- package/dist/esm/modals/cloud-components/cloud-item.js +53 -7
- package/dist/esm/modals/cloud-components/cloud-item.spec.js +76 -4
- package/dist/esm/modals/cloud-components/cloud-maps.js +2 -1
- package/dist/esm/modals/cloud-tile.js +52 -38
- package/dist/esm/modals/data-table-modal.js +38 -26
- package/dist/esm/modals/export-video-modal.js +29 -2
- package/dist/esm/modals/export-video-modal.spec.js +56 -10
- package/dist/esm/modals/globe-export-video-container.js +20 -4
- package/dist/esm/modals/globe-export-video-preview.js +26 -8
- package/dist/esm/modals/hubble-utils.js +8 -3
- package/dist/esm/modals/swipe-composite-utils.js +9 -1
- package/dist/esm/modals/swipe-composite-utils.spec.js +67 -0
- package/dist/esm/modals/swipe-export-video-preview.js +8 -4
- package/dist/esm/side-panel/layer-manager.js +11 -3
- package/dist/esm/side-panel/layer-panel/dataset-layer-section.js +11 -3
- package/dist/esm/side-panel/layer-panel/layer-configurator.js +74 -31
- package/dist/esm/side-panel/map-style-panel/globe-config-panel.js +90 -25
- package/dist/index.d.ts +8 -0
- package/dist/kepler-gl.d.ts +3 -0
- package/dist/map/map-control.d.ts +6 -2
- package/dist/map/map-draw-panel.d.ts +1 -0
- package/dist/map/theme-toggle-button.d.ts +18 -0
- package/dist/map-container.d.ts +1 -0
- package/dist/modals/cloud-components/cloud-item.d.ts +2 -1
- package/dist/modals/data-table-modal.d.ts +1 -0
- package/dist/modals/globe-export-video-container.d.ts +2 -0
- package/dist/modals/globe-export-video-preview.d.ts +3 -0
- package/dist/modals/hubble-utils.d.ts +2 -1
- package/dist/modals/swipe-composite-utils.d.ts +1 -1
- package/dist/modals/swipe-composite-utils.spec.d.ts +1 -0
- package/package.json +20 -20
- package/dist/cjs/modals/cloud-components/provider-loading.js +0 -20
- package/dist/cjs/modals/storage-map-viewer.js +0 -98
- package/dist/cjs/side-panel/cloud-storage-dropdown.js +0 -40
- package/dist/esm/common/icons/arrow-down-solid.js +0 -34
- package/dist/esm/modals/cloud-components/provider-loading.js +0 -15
- package/dist/esm/modals/storage-map-viewer.js +0 -93
- package/dist/esm/side-panel/cloud-storage-dropdown.js +0 -33
- package/dist/modals/cloud-components/provider-loading.d.ts +0 -2
- package/dist/modals/storage-map-viewer.d.ts +0 -21
- package/dist/side-panel/cloud-storage-dropdown.d.ts +0 -6
|
@@ -1,38 +1,49 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
2
|
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
3
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
3
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
4
4
|
// SPDX-License-Identifier: MIT
|
|
5
5
|
// Copyright contributors to the kepler.gl project
|
|
6
6
|
|
|
7
7
|
import React, { useCallback } from 'react';
|
|
8
8
|
import styled, { css } from 'styled-components';
|
|
9
|
+
import { DEFAULT_GLOBE_CONFIG } from '@kepler.gl/constants';
|
|
9
10
|
import { FormattedMessage } from '@kepler.gl/localization';
|
|
10
11
|
import { EyeSeen, EyeUnseen } from '../../common/icons';
|
|
11
12
|
import { PanelLabel, PanelContent, PanelLabelBold, PanelLabelWrapper } from '../../common/styled-components';
|
|
12
13
|
import PanelHeaderActionFactory from '../panel-header-action';
|
|
13
14
|
import RangeSliderFactory from '../../common/range-slider';
|
|
14
15
|
import LayerGroupColorPickerFactory from './map-layer-group-color-picker';
|
|
15
|
-
var StyledGlobeConfigPanel = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding-bottom: 6px;\n"])));
|
|
16
|
+
var StyledGlobeConfigPanel = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding-bottom: 6px;\n\n /* Give slider/color controls more horizontal room. */\n .side-panel-panel__content {\n padding-right: 2px;\n }\n"])));
|
|
16
17
|
var StyledConfigRow = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-bottom: 10px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n .layer-group__visibility-toggle {\n margin-right: 12px;\n }\n"])));
|
|
17
18
|
var disableSlider = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n opacity: 0.5;\n pointer-events: none;\n"])));
|
|
18
19
|
var SliderWrapper = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n flex-grow: 1;\n margin-left: 4px;\n ", "\n"])), function (props) {
|
|
19
20
|
return props.$enabled ? '' : disableSlider;
|
|
20
21
|
});
|
|
21
22
|
|
|
23
|
+
// Atmosphere slider rows: shrink the numeric inputs by 5px so the track can use
|
|
24
|
+
// the extra space (default theme.sliderInputWidth is 56).
|
|
25
|
+
var AtmosphereSliderWrapper = styled(SliderWrapper)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n input {\n width: ", "px;\n }\n"])), function (props) {
|
|
26
|
+
return props.theme.sliderInputWidth - 5;
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
// Keep color swatches slightly inset from the panel edge (sliders already get
|
|
30
|
+
// inset from their numeric inputs; swatches need an explicit margin).
|
|
31
|
+
var ColorPickerSlot = styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n margin-right: 10px;\n"])));
|
|
32
|
+
|
|
22
33
|
// Slider rows (Day/Night, Sun Azimuth) put the label and the slider side by side.
|
|
23
34
|
// Give the label only the width its (short) text needs so the slider gets the
|
|
24
35
|
// rest of the row. The child indent is kept small (~half an eye-icon width) so the
|
|
25
36
|
// sub-row eye icon lines up close to the parent (atmosphere) row, rather than
|
|
26
37
|
// being pushed ~1.5 icon widths to the right.
|
|
27
|
-
var SliderRow = styled(StyledConfigRow)(
|
|
28
|
-
var LayerLabel = styled(PanelLabelBold)(
|
|
38
|
+
var SliderRow = styled(StyledConfigRow)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n align-items: center;\n\n .side-panel-panel__label-wrapper {\n flex: 0 0 auto;\n padding-left: 8px;\n white-space: nowrap;\n }\n"])));
|
|
39
|
+
var LayerLabel = styled(PanelLabelBold)(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n color: ", ";\n"])), function (props) {
|
|
29
40
|
return props.$active ? props.theme.textColor : props.theme.labelColor;
|
|
30
41
|
});
|
|
31
|
-
var ChildRow = styled(StyledConfigRow)(
|
|
42
|
+
var ChildRow = styled(StyledConfigRow)(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n .side-panel-panel__label-wrapper {\n padding-left: 8px;\n }\n"])));
|
|
32
43
|
GlobeConfigPanelFactory.deps = [PanelHeaderActionFactory, RangeSliderFactory, LayerGroupColorPickerFactory];
|
|
33
44
|
function GlobeConfigPanelFactory(PanelHeaderAction, RangeSlider, LayerGroupColorPicker) {
|
|
34
45
|
var GlobeConfigPanel = function GlobeConfigPanel(_ref) {
|
|
35
|
-
var _mapState$globe, _mapState$globe2;
|
|
46
|
+
var _mapState$globe, _mapState$globe2, _globeConfig$hugeHalo, _globeConfig$hugeHalo2;
|
|
36
47
|
var mapState = _ref.mapState,
|
|
37
48
|
onGlobeConfigChange = _ref.onGlobeConfigChange;
|
|
38
49
|
var globeConfig = (_mapState$globe = mapState.globe) === null || _mapState$globe === void 0 ? void 0 : _mapState$globe.config;
|
|
@@ -75,7 +86,61 @@ function GlobeConfigPanelFactory(PanelHeaderAction, RangeSlider, LayerGroupColor
|
|
|
75
86
|
$active: globeConfig.atmosphere
|
|
76
87
|
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
77
88
|
id: "mapLayers.atmosphere"
|
|
78
|
-
})))), /*#__PURE__*/React.createElement(
|
|
89
|
+
})))), /*#__PURE__*/React.createElement(ChildRow, null, /*#__PURE__*/React.createElement(PanelLabelWrapper, null, /*#__PURE__*/React.createElement(PanelHeaderAction, {
|
|
90
|
+
className: "layer-group__visibility-toggle",
|
|
91
|
+
id: "globe-huge-halo-toggle",
|
|
92
|
+
tooltip: globeConfig.hugeHalo ? 'tooltip.hide' : 'tooltip.show',
|
|
93
|
+
onClick: function onClick() {
|
|
94
|
+
return onToggle('hugeHalo', undefined, 'atmosphere');
|
|
95
|
+
},
|
|
96
|
+
IconComponent: globeConfig.hugeHalo ? EyeSeen : EyeUnseen,
|
|
97
|
+
active: Boolean(globeConfig.hugeHalo && globeConfig.atmosphere),
|
|
98
|
+
flush: true
|
|
99
|
+
}), /*#__PURE__*/React.createElement(LayerLabel, {
|
|
100
|
+
$active: Boolean(globeConfig.hugeHalo && globeConfig.atmosphere)
|
|
101
|
+
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
102
|
+
id: "mapLayers.hugeHalo"
|
|
103
|
+
})))), /*#__PURE__*/React.createElement(SliderRow, null, /*#__PURE__*/React.createElement(PanelLabelWrapper, null, /*#__PURE__*/React.createElement(LayerLabel, {
|
|
104
|
+
$active: Boolean(globeConfig.hugeHalo && globeConfig.atmosphere),
|
|
105
|
+
style: {
|
|
106
|
+
paddingLeft: 28
|
|
107
|
+
}
|
|
108
|
+
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
109
|
+
id: "mapLayers.hugeHaloRadius"
|
|
110
|
+
}))), /*#__PURE__*/React.createElement(AtmosphereSliderWrapper, {
|
|
111
|
+
$enabled: Boolean(globeConfig.hugeHalo && globeConfig.atmosphere)
|
|
112
|
+
}, /*#__PURE__*/React.createElement(RangeSlider, {
|
|
113
|
+
range: [0.5, 3.5],
|
|
114
|
+
value0: 0,
|
|
115
|
+
value1: (_globeConfig$hugeHalo = globeConfig.hugeHaloRadius) !== null && _globeConfig$hugeHalo !== void 0 ? _globeConfig$hugeHalo : DEFAULT_GLOBE_CONFIG.hugeHaloRadius,
|
|
116
|
+
step: 0.05,
|
|
117
|
+
isRanged: false,
|
|
118
|
+
onChange: function onChange(val) {
|
|
119
|
+
return onSliderChange('hugeHaloRadius', val);
|
|
120
|
+
},
|
|
121
|
+
inputTheme: "secondary",
|
|
122
|
+
showInput: true
|
|
123
|
+
}))), /*#__PURE__*/React.createElement(SliderRow, null, /*#__PURE__*/React.createElement(PanelLabelWrapper, null, /*#__PURE__*/React.createElement(LayerLabel, {
|
|
124
|
+
$active: Boolean(globeConfig.hugeHalo && globeConfig.atmosphere),
|
|
125
|
+
style: {
|
|
126
|
+
paddingLeft: 28
|
|
127
|
+
}
|
|
128
|
+
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
129
|
+
id: "mapLayers.hugeHaloOpacity"
|
|
130
|
+
}))), /*#__PURE__*/React.createElement(AtmosphereSliderWrapper, {
|
|
131
|
+
$enabled: Boolean(globeConfig.hugeHalo && globeConfig.atmosphere)
|
|
132
|
+
}, /*#__PURE__*/React.createElement(RangeSlider, {
|
|
133
|
+
range: [0, 1],
|
|
134
|
+
value0: 0,
|
|
135
|
+
value1: (_globeConfig$hugeHalo2 = globeConfig.hugeHaloOpacity) !== null && _globeConfig$hugeHalo2 !== void 0 ? _globeConfig$hugeHalo2 : DEFAULT_GLOBE_CONFIG.hugeHaloOpacity,
|
|
136
|
+
step: 0.01,
|
|
137
|
+
isRanged: false,
|
|
138
|
+
onChange: function onChange(val) {
|
|
139
|
+
return onSliderChange('hugeHaloOpacity', val);
|
|
140
|
+
},
|
|
141
|
+
inputTheme: "secondary",
|
|
142
|
+
showInput: true
|
|
143
|
+
}))), /*#__PURE__*/React.createElement(SliderRow, null, /*#__PURE__*/React.createElement(PanelLabelWrapper, null, /*#__PURE__*/React.createElement(PanelHeaderAction, {
|
|
79
144
|
className: "layer-group__visibility-toggle",
|
|
80
145
|
id: "globe-terminator-toggle",
|
|
81
146
|
tooltip: globeConfig.terminator ? 'tooltip.hide' : 'tooltip.show',
|
|
@@ -89,7 +154,7 @@ function GlobeConfigPanelFactory(PanelHeaderAction, RangeSlider, LayerGroupColor
|
|
|
89
154
|
$active: globeConfig.terminator && globeConfig.atmosphere
|
|
90
155
|
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
91
156
|
id: "mapLayers.terminator"
|
|
92
|
-
}))), /*#__PURE__*/React.createElement(
|
|
157
|
+
}))), /*#__PURE__*/React.createElement(AtmosphereSliderWrapper, {
|
|
93
158
|
$enabled: globeConfig.terminator && globeConfig.atmosphere
|
|
94
159
|
}, /*#__PURE__*/React.createElement(RangeSlider, {
|
|
95
160
|
range: [0, 1],
|
|
@@ -116,7 +181,7 @@ function GlobeConfigPanelFactory(PanelHeaderAction, RangeSlider, LayerGroupColor
|
|
|
116
181
|
$active: globeConfig.azimuth && globeConfig.atmosphere
|
|
117
182
|
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
118
183
|
id: "mapLayers.sunAzimuth"
|
|
119
|
-
}))), /*#__PURE__*/React.createElement(
|
|
184
|
+
}))), /*#__PURE__*/React.createElement(AtmosphereSliderWrapper, {
|
|
120
185
|
$enabled: globeConfig.azimuth && globeConfig.atmosphere
|
|
121
186
|
}, /*#__PURE__*/React.createElement(RangeSlider, {
|
|
122
187
|
range: [0, 360],
|
|
@@ -157,15 +222,15 @@ function GlobeConfigPanelFactory(PanelHeaderAction, RangeSlider, LayerGroupColor
|
|
|
157
222
|
$active: globeConfig.labels && globeConfig.basemap
|
|
158
223
|
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
159
224
|
id: "mapLayers.label"
|
|
160
|
-
}))), /*#__PURE__*/React.createElement(LayerGroupColorPicker, {
|
|
225
|
+
}))), /*#__PURE__*/React.createElement(ColorPickerSlot, null, /*#__PURE__*/React.createElement(LayerGroupColorPicker, {
|
|
161
226
|
slug: "globe-labels",
|
|
162
227
|
color: globeConfig.labelsColor,
|
|
163
228
|
onColorChange: function onColorChange(color) {
|
|
164
229
|
return _onColorChange('labelsColor', color);
|
|
165
230
|
},
|
|
166
|
-
extraMarginRight:
|
|
231
|
+
extraMarginRight: true,
|
|
167
232
|
disabled: !(globeConfig.labels && globeConfig.basemap)
|
|
168
|
-
})), /*#__PURE__*/React.createElement(ChildRow, null, /*#__PURE__*/React.createElement(PanelLabelWrapper, null, /*#__PURE__*/React.createElement(PanelHeaderAction, {
|
|
233
|
+
}))), /*#__PURE__*/React.createElement(ChildRow, null, /*#__PURE__*/React.createElement(PanelLabelWrapper, null, /*#__PURE__*/React.createElement(PanelHeaderAction, {
|
|
169
234
|
className: "layer-group__visibility-toggle",
|
|
170
235
|
id: "globe-admin-toggle",
|
|
171
236
|
tooltip: globeConfig.adminLines ? 'tooltip.hide' : 'tooltip.show',
|
|
@@ -179,15 +244,15 @@ function GlobeConfigPanelFactory(PanelHeaderAction, RangeSlider, LayerGroupColor
|
|
|
179
244
|
$active: globeConfig.adminLines && globeConfig.basemap
|
|
180
245
|
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
181
246
|
id: "mapLayers.adminBorders"
|
|
182
|
-
}))), /*#__PURE__*/React.createElement(LayerGroupColorPicker, {
|
|
247
|
+
}))), /*#__PURE__*/React.createElement(ColorPickerSlot, null, /*#__PURE__*/React.createElement(LayerGroupColorPicker, {
|
|
183
248
|
slug: "globe-admin",
|
|
184
249
|
color: globeConfig.adminLinesColor,
|
|
185
250
|
onColorChange: function onColorChange(color) {
|
|
186
251
|
return _onColorChange('adminLinesColor', color);
|
|
187
252
|
},
|
|
188
|
-
extraMarginRight:
|
|
253
|
+
extraMarginRight: true,
|
|
189
254
|
disabled: !(globeConfig.adminLines && globeConfig.basemap)
|
|
190
|
-
})), /*#__PURE__*/React.createElement(ChildRow, null, /*#__PURE__*/React.createElement(PanelLabelWrapper, null, /*#__PURE__*/React.createElement(PanelHeaderAction, {
|
|
255
|
+
}))), /*#__PURE__*/React.createElement(ChildRow, null, /*#__PURE__*/React.createElement(PanelLabelWrapper, null, /*#__PURE__*/React.createElement(PanelHeaderAction, {
|
|
191
256
|
className: "layer-group__visibility-toggle",
|
|
192
257
|
id: "globe-water-toggle",
|
|
193
258
|
tooltip: globeConfig.water ? 'tooltip.hide' : 'tooltip.show',
|
|
@@ -201,45 +266,45 @@ function GlobeConfigPanelFactory(PanelHeaderAction, RangeSlider, LayerGroupColor
|
|
|
201
266
|
$active: globeConfig.water && globeConfig.basemap
|
|
202
267
|
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
203
268
|
id: "mapLayers.water"
|
|
204
|
-
}))), /*#__PURE__*/React.createElement(LayerGroupColorPicker, {
|
|
269
|
+
}))), /*#__PURE__*/React.createElement(ColorPickerSlot, null, /*#__PURE__*/React.createElement(LayerGroupColorPicker, {
|
|
205
270
|
slug: "globe-water",
|
|
206
271
|
color: globeConfig.waterColor,
|
|
207
272
|
onColorChange: function onColorChange(color) {
|
|
208
273
|
return _onColorChange('waterColor', color);
|
|
209
274
|
},
|
|
210
|
-
extraMarginRight:
|
|
275
|
+
extraMarginRight: true,
|
|
211
276
|
disabled: !(globeConfig.water && globeConfig.basemap)
|
|
212
|
-
})), /*#__PURE__*/React.createElement(StyledConfigRow, null, /*#__PURE__*/React.createElement(PanelLabelWrapper, null, /*#__PURE__*/React.createElement(LayerLabel, {
|
|
277
|
+
}))), /*#__PURE__*/React.createElement(StyledConfigRow, null, /*#__PURE__*/React.createElement(PanelLabelWrapper, null, /*#__PURE__*/React.createElement(LayerLabel, {
|
|
213
278
|
$active: true,
|
|
214
279
|
style: {
|
|
215
280
|
marginLeft: '28px'
|
|
216
281
|
}
|
|
217
282
|
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
218
283
|
id: "mapLayers.surface"
|
|
219
|
-
}))), /*#__PURE__*/React.createElement(LayerGroupColorPicker, {
|
|
284
|
+
}))), /*#__PURE__*/React.createElement(ColorPickerSlot, null, /*#__PURE__*/React.createElement(LayerGroupColorPicker, {
|
|
220
285
|
slug: "globe-surface",
|
|
221
286
|
color: globeConfig.surfaceColor,
|
|
222
287
|
onColorChange: function onColorChange(color) {
|
|
223
288
|
return _onColorChange('surfaceColor', color);
|
|
224
289
|
},
|
|
225
|
-
extraMarginRight:
|
|
290
|
+
extraMarginRight: true,
|
|
226
291
|
disabled: false
|
|
227
|
-
})), /*#__PURE__*/React.createElement(StyledConfigRow, null, /*#__PURE__*/React.createElement(PanelLabelWrapper, null, /*#__PURE__*/React.createElement(LayerLabel, {
|
|
292
|
+
}))), /*#__PURE__*/React.createElement(StyledConfigRow, null, /*#__PURE__*/React.createElement(PanelLabelWrapper, null, /*#__PURE__*/React.createElement(LayerLabel, {
|
|
228
293
|
$active: true,
|
|
229
294
|
style: {
|
|
230
295
|
marginLeft: '28px'
|
|
231
296
|
}
|
|
232
297
|
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
233
298
|
id: "mapLayers.background"
|
|
234
|
-
}))), /*#__PURE__*/React.createElement(LayerGroupColorPicker, {
|
|
299
|
+
}))), /*#__PURE__*/React.createElement(ColorPickerSlot, null, /*#__PURE__*/React.createElement(LayerGroupColorPicker, {
|
|
235
300
|
slug: "globe-background",
|
|
236
301
|
color: globeConfig.backgroundColor,
|
|
237
302
|
onColorChange: function onColorChange(color) {
|
|
238
303
|
return _onColorChange('backgroundColor', color);
|
|
239
304
|
},
|
|
240
|
-
extraMarginRight:
|
|
305
|
+
extraMarginRight: true,
|
|
241
306
|
disabled: false
|
|
242
|
-
})), /*#__PURE__*/React.createElement(StyledConfigRow, null, /*#__PURE__*/React.createElement(PanelLabelWrapper, null, /*#__PURE__*/React.createElement(PanelHeaderAction, {
|
|
307
|
+
}))), /*#__PURE__*/React.createElement(StyledConfigRow, null, /*#__PURE__*/React.createElement(PanelLabelWrapper, null, /*#__PURE__*/React.createElement(PanelHeaderAction, {
|
|
243
308
|
className: "layer-group__visibility-toggle",
|
|
244
309
|
id: "globe-stars-toggle",
|
|
245
310
|
tooltip: globeConfig.stars ? 'tooltip.hide' : 'tooltip.show',
|
|
@@ -259,4 +324,4 @@ function GlobeConfigPanelFactory(PanelHeaderAction, RangeSlider, LayerGroupColor
|
|
|
259
324
|
return GlobeConfigPanel;
|
|
260
325
|
}
|
|
261
326
|
export default GlobeConfigPanelFactory;
|
|
262
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwic3R5bGVkIiwiY3NzIiwiRm9ybWF0dGVkTWVzc2FnZSIsIkV5ZVNlZW4iLCJFeWVVbnNlZW4iLCJQYW5lbExhYmVsIiwiUGFuZWxDb250ZW50IiwiUGFuZWxMYWJlbEJvbGQiLCJQYW5lbExhYmVsV3JhcHBlciIsIlBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSIsIlJhbmdlU2xpZGVyRmFjdG9yeSIsIkxheWVyR3JvdXBDb2xvclBpY2tlckZhY3RvcnkiLCJTdHlsZWRHbG9iZUNvbmZpZ1BhbmVsIiwiZGl2IiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbCIsIlN0eWxlZENvbmZpZ1JvdyIsIl90ZW1wbGF0ZU9iamVjdDIiLCJkaXNhYmxlU2xpZGVyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIlNsaWRlcldyYXBwZXIiLCJfdGVtcGxhdGVPYmplY3Q0IiwicHJvcHMiLCIkZW5hYmxlZCIsIlNsaWRlclJvdyIsIl90ZW1wbGF0ZU9iamVjdDUiLCJMYXllckxhYmVsIiwiX3RlbXBsYXRlT2JqZWN0NiIsIiRhY3RpdmUiLCJ0aGVtZSIsInRleHRDb2xvciIsImxhYmVsQ29sb3IiLCJDaGlsZFJvdyIsIl90ZW1wbGF0ZU9iamVjdDciLCJHbG9iZUNvbmZpZ1BhbmVsRmFjdG9yeSIsImRlcHMiLCJQYW5lbEhlYWRlckFjdGlvbiIsIlJhbmdlU2xpZGVyIiwiTGF5ZXJHcm91cENvbG9yUGlja2VyIiwiR2xvYmVDb25maWdQYW5lbCIsIl9yZWYiLCJfbWFwU3RhdGUkZ2xvYmUiLCJfbWFwU3RhdGUkZ2xvYmUyIiwibWFwU3RhdGUiLCJvbkdsb2JlQ29uZmlnQ2hhbmdlIiwiZ2xvYmVDb25maWciLCJnbG9iZSIsImNvbmZpZyIsIm9uVG9nZ2xlIiwia2V5IiwiY2hpbGRLZXlzIiwicGFyZW50S2V5IiwibmV3VmFsdWUiLCJ1cGRhdGUiLCJfZGVmaW5lUHJvcGVydHkiLCJmb3JFYWNoIiwiY2hpbGRLZXkiLCJvblNsaWRlckNoYW5nZSIsInZhbHVlIiwib25Db2xvckNoYW5nZSIsImNvbG9yIiwiZW5hYmxlZCIsImNyZWF0ZUVsZW1lbnQiLCJpZCIsImNsYXNzTmFtZSIsInRvb2x0aXAiLCJhdG1vc3BoZXJlIiwib25DbGljayIsIkljb25Db21wb25lbnQiLCJhY3RpdmUiLCJmbHVzaCIsInRlcm1pbmF0b3IiLCJ1bmRlZmluZWQiLCJyYW5nZSIsInZhbHVlMCIsInZhbHVlMSIsInRlcm1pbmF0b3JPcGFjaXR5Iiwic3RlcCIsImlzUmFuZ2VkIiwib25DaGFuZ2UiLCJ2YWwiLCJpbnB1dFRoZW1lIiwic2hvd0lucHV0IiwiYXppbXV0aCIsImF6aW11dGhBbmdsZSIsImJhc2VtYXAiLCJsYWJlbHMiLCJzbHVnIiwibGFiZWxzQ29sb3IiLCJleHRyYU1hcmdpblJpZ2h0IiwiZGlzYWJsZWQiLCJhZG1pbkxpbmVzIiwiYWRtaW5MaW5lc0NvbG9yIiwid2F0ZXIiLCJ3YXRlckNvbG9yIiwic3R5bGUiLCJtYXJnaW5MZWZ0Iiwic3VyZmFjZUNvbG9yIiwiYmFja2dyb3VuZENvbG9yIiwic3RhcnMiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL21hcC1zdHlsZS1wYW5lbC9nbG9iZS1jb25maWctcGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkLCB7Y3NzfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7TWFwU3RhdGUsIFJHQkNvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7R2xvYmVDb25maWd9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuXG5pbXBvcnQge0V5ZVNlZW4sIEV5ZVVuc2Vlbn0gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7XG4gIFBhbmVsTGFiZWwsXG4gIFBhbmVsQ29udGVudCxcbiAgUGFuZWxMYWJlbEJvbGQsXG4gIFBhbmVsTGFiZWxXcmFwcGVyXG59IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IGZyb20gJy4uL3BhbmVsLWhlYWRlci1hY3Rpb24nO1xuaW1wb3J0IFJhbmdlU2xpZGVyRmFjdG9yeSBmcm9tICcuLi8uLi9jb21tb24vcmFuZ2Utc2xpZGVyJztcbmltcG9ydCBMYXllckdyb3VwQ29sb3JQaWNrZXJGYWN0b3J5IGZyb20gJy4vbWFwLWxheWVyLWdyb3VwLWNvbG9yLXBpY2tlcic7XG5cbmNvbnN0IFN0eWxlZEdsb2JlQ29uZmlnUGFuZWwgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuYDtcblxuY29uc3QgU3R5bGVkQ29uZmlnUm93ID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5sYXllci1ncm91cF9fdmlzaWJpbGl0eS10b2dnbGUge1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgfVxuYDtcblxuY29uc3QgZGlzYWJsZVNsaWRlciA9IGNzc2BcbiAgb3BhY2l0eTogMC41O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbmA7XG5cbmNvbnN0IFNsaWRlcldyYXBwZXIgPSBzdHlsZWQuZGl2PHskZW5hYmxlZD86IGJvb2xlYW59PmBcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICAke3Byb3BzID0+IChwcm9wcy4kZW5hYmxlZCA/ICcnIDogZGlzYWJsZVNsaWRlcil9XG5gO1xuXG4vLyBTbGlkZXIgcm93cyAoRGF5L05pZ2h0LCBTdW4gQXppbXV0aCkgcHV0IHRoZSBsYWJlbCBhbmQgdGhlIHNsaWRlciBzaWRlIGJ5IHNpZGUuXG4vLyBHaXZlIHRoZSBsYWJlbCBvbmx5IHRoZSB3aWR0aCBpdHMgKHNob3J0KSB0ZXh0IG5lZWRzIHNvIHRoZSBzbGlkZXIgZ2V0cyB0aGVcbi8vIHJlc3Qgb2YgdGhlIHJvdy4gVGhlIGNoaWxkIGluZGVudCBpcyBrZXB0IHNtYWxsICh+aGFsZiBhbiBleWUtaWNvbiB3aWR0aCkgc28gdGhlXG4vLyBzdWItcm93IGV5ZSBpY29uIGxpbmVzIHVwIGNsb3NlIHRvIHRoZSBwYXJlbnQgKGF0bW9zcGhlcmUpIHJvdywgcmF0aGVyIHRoYW5cbi8vIGJlaW5nIHB1c2hlZCB+MS41IGljb24gd2lkdGhzIHRvIHRoZSByaWdodC5cbmNvbnN0IFNsaWRlclJvdyA9IHN0eWxlZChTdHlsZWRDb25maWdSb3cpYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIC5zaWRlLXBhbmVsLXBhbmVsX19sYWJlbC13cmFwcGVyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5gO1xuXG5jb25zdCBMYXllckxhYmVsID0gc3R5bGVkKFBhbmVsTGFiZWxCb2xkKTx7JGFjdGl2ZTogYm9vbGVhbn0+YFxuICBjb2xvcjogJHtwcm9wcyA9PiAocHJvcHMuJGFjdGl2ZSA/IHByb3BzLnRoZW1lLnRleHRDb2xvciA6IHByb3BzLnRoZW1lLmxhYmVsQ29sb3IpfTtcbmA7XG5cbmNvbnN0IENoaWxkUm93ID0gc3R5bGVkKFN0eWxlZENvbmZpZ1JvdylgXG4gIC5zaWRlLXBhbmVsLXBhbmVsX19sYWJlbC13cmFwcGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgfVxuYDtcblxuZXhwb3J0IHR5cGUgR2xvYmVDb25maWdQYW5lbFByb3BzID0ge1xuICBtYXBTdGF0ZTogTWFwU3RhdGU7XG4gIG9uR2xvYmVDb25maWdDaGFuZ2U6IChjb25maWc6IFBhcnRpYWw8R2xvYmVDb25maWc+KSA9PiB2b2lkO1xufTtcblxuR2xvYmVDb25maWdQYW5lbEZhY3RvcnkuZGVwcyA9IFtcbiAgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5LFxuICBSYW5nZVNsaWRlckZhY3RvcnksXG4gIExheWVyR3JvdXBDb2xvclBpY2tlckZhY3Rvcnlcbl07XG5cbmZ1bmN0aW9uIEdsb2JlQ29uZmlnUGFuZWxGYWN0b3J5KFxuICBQYW5lbEhlYWRlckFjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5PixcbiAgUmFuZ2VTbGlkZXI6IFJldHVyblR5cGU8dHlwZW9mIFJhbmdlU2xpZGVyRmFjdG9yeT4sXG4gIExheWVyR3JvdXBDb2xvclBpY2tlcjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJHcm91cENvbG9yUGlja2VyRmFjdG9yeT5cbikge1xuICBjb25zdCBHbG9iZUNvbmZpZ1BhbmVsOiBSZWFjdC5GQzxHbG9iZUNvbmZpZ1BhbmVsUHJvcHM+ID0gKHttYXBTdGF0ZSwgb25HbG9iZUNvbmZpZ0NoYW5nZX0pID0+IHtcbiAgICBjb25zdCBnbG9iZUNvbmZpZyA9IG1hcFN0YXRlLmdsb2JlPy5jb25maWc7XG5cbiAgICBjb25zdCBvblRvZ2dsZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKFxuICAgICAgICBrZXk6IGtleW9mIEdsb2JlQ29uZmlnLFxuICAgICAgICBjaGlsZEtleXM/OiAoa2V5b2YgR2xvYmVDb25maWcpW10sXG4gICAgICAgIHBhcmVudEtleT86IGtleW9mIEdsb2JlQ29uZmlnXG4gICAgICApID0+IHtcbiAgICAgICAgaWYgKCFnbG9iZUNvbmZpZykgcmV0dXJuO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9ICFnbG9iZUNvbmZpZ1trZXldO1xuICAgICAgICBjb25zdCB1cGRhdGU6IFBhcnRpYWw8R2xvYmVDb25maWc+ID0ge1trZXldOiBuZXdWYWx1ZX07XG4gICAgICAgIGlmIChjaGlsZEtleXMpIHtcbiAgICAgICAgICBjaGlsZEtleXMuZm9yRWFjaChjaGlsZEtleSA9PiB7XG4gICAgICAgICAgICB1cGRhdGVbY2hpbGRLZXldID0gbmV3VmFsdWUgYXMgYW55O1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXJlbnRLZXkgJiYgbmV3VmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgICB1cGRhdGVbcGFyZW50S2V5XSA9IHRydWUgYXMgYW55O1xuICAgICAgICB9XG4gICAgICAgIG9uR2xvYmVDb25maWdDaGFuZ2UodXBkYXRlKTtcbiAgICAgIH0sXG4gICAgICBbZ2xvYmVDb25maWcsIG9uR2xvYmVDb25maWdDaGFuZ2VdXG4gICAgKTtcblxuICAgIGNvbnN0IG9uU2xpZGVyQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgICAoa2V5OiBrZXlvZiBHbG9iZUNvbmZpZywgdmFsdWU6IG51bWJlcltdKSA9PiB7XG4gICAgICAgIG9uR2xvYmVDb25maWdDaGFuZ2Uoe1trZXldOiB2YWx1ZVsxXX0gYXMgUGFydGlhbDxHbG9iZUNvbmZpZz4pO1xuICAgICAgfSxcbiAgICAgIFtvbkdsb2JlQ29uZmlnQ2hhbmdlXVxuICAgICk7XG5cbiAgICBjb25zdCBvbkNvbG9yQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgICAoa2V5OiBrZXlvZiBHbG9iZUNvbmZpZywgY29sb3I6IFJHQkNvbG9yKSA9PiB7XG4gICAgICAgIG9uR2xvYmVDb25maWdDaGFuZ2Uoe1trZXldOiBjb2xvcn0gYXMgUGFydGlhbDxHbG9iZUNvbmZpZz4pO1xuICAgICAgfSxcbiAgICAgIFtvbkdsb2JlQ29uZmlnQ2hhbmdlXVxuICAgICk7XG5cbiAgICBpZiAoIW1hcFN0YXRlLmdsb2JlPy5lbmFibGVkIHx8ICFnbG9iZUNvbmZpZykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRHbG9iZUNvbmZpZ1BhbmVsPlxuICAgICAgICA8UGFuZWxMYWJlbD5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIm1hcE1hbmFnZXIuZ2xvYmVMYXllcnNcIiAvPlxuICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICAgIDxQYW5lbENvbnRlbnQ+XG4gICAgICAgICAgey8qIEF0bW9zcGhlcmUgKi99XG4gICAgICAgICAgPFN0eWxlZENvbmZpZ1Jvdz5cbiAgICAgICAgICAgIDxQYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXItZ3JvdXBfX3Zpc2liaWxpdHktdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICBpZD1cImdsb2JlLWF0bW9zcGhlcmUtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICB0b29sdGlwPXtnbG9iZUNvbmZpZy5hdG1vc3BoZXJlID8gJ3Rvb2x0aXAuaGlkZScgOiAndG9vbHRpcC5zaG93J31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblRvZ2dsZSgnYXRtb3NwaGVyZScsIFsndGVybWluYXRvcicsICdhemltdXRoJ10pfVxuICAgICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2dsb2JlQ29uZmlnLmF0bW9zcGhlcmUgPyBFeWVTZWVuIDogRXllVW5zZWVufVxuICAgICAgICAgICAgICAgIGFjdGl2ZT17Z2xvYmVDb25maWcuYXRtb3NwaGVyZX1cbiAgICAgICAgICAgICAgICBmbHVzaFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8TGF5ZXJMYWJlbCAkYWN0aXZlPXtnbG9iZUNvbmZpZy5hdG1vc3BoZXJlfT5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIm1hcExheWVycy5hdG1vc3BoZXJlXCIgLz5cbiAgICAgICAgICAgICAgPC9MYXllckxhYmVsPlxuICAgICAgICAgICAgPC9QYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICA8L1N0eWxlZENvbmZpZ1Jvdz5cblxuICAgICAgICAgIHsvKiBUZXJtaW5hdG9yIChjaGlsZCBvZiBhdG1vc3BoZXJlKSAqL31cbiAgICAgICAgICA8U2xpZGVyUm93PlxuICAgICAgICAgICAgPFBhbmVsTGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllci1ncm91cF9fdmlzaWJpbGl0eS10b2dnbGVcIlxuICAgICAgICAgICAgICAgIGlkPVwiZ2xvYmUtdGVybWluYXRvci10b2dnbGVcIlxuICAgICAgICAgICAgICAgIHRvb2x0aXA9e2dsb2JlQ29uZmlnLnRlcm1pbmF0b3IgPyAndG9vbHRpcC5oaWRlJyA6ICd0b29sdGlwLnNob3cnfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uVG9nZ2xlKCd0ZXJtaW5hdG9yJywgdW5kZWZpbmVkLCAnYXRtb3NwaGVyZScpfVxuICAgICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2dsb2JlQ29uZmlnLnRlcm1pbmF0b3IgPyBFeWVTZWVuIDogRXllVW5zZWVufVxuICAgICAgICAgICAgICAgIGFjdGl2ZT17Z2xvYmVDb25maWcudGVybWluYXRvciAmJiBnbG9iZUNvbmZpZy5hdG1vc3BoZXJlfVxuICAgICAgICAgICAgICAgIGZsdXNoXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxMYXllckxhYmVsICRhY3RpdmU9e2dsb2JlQ29uZmlnLnRlcm1pbmF0b3IgJiYgZ2xvYmVDb25maWcuYXRtb3NwaGVyZX0+XG4gICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJtYXBMYXllcnMudGVybWluYXRvclwiIC8+XG4gICAgICAgICAgICAgIDwvTGF5ZXJMYWJlbD5cbiAgICAgICAgICAgIDwvUGFuZWxMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICA8U2xpZGVyV3JhcHBlciAkZW5hYmxlZD17Z2xvYmVDb25maWcudGVybWluYXRvciAmJiBnbG9iZUNvbmZpZy5hdG1vc3BoZXJlfT5cbiAgICAgICAgICAgICAgPFJhbmdlU2xpZGVyXG4gICAgICAgICAgICAgICAgcmFuZ2U9e1swLCAxXX1cbiAgICAgICAgICAgICAgICB2YWx1ZTA9ezB9XG4gICAgICAgICAgICAgICAgdmFsdWUxPXtnbG9iZUNvbmZpZy50ZXJtaW5hdG9yT3BhY2l0eX1cbiAgICAgICAgICAgICAgICBzdGVwPXswLjAxfVxuICAgICAgICAgICAgICAgIGlzUmFuZ2VkPXtmYWxzZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17dmFsID0+IG9uU2xpZGVyQ2hhbmdlKCd0ZXJtaW5hdG9yT3BhY2l0eScsIHZhbCl9XG4gICAgICAgICAgICAgICAgaW5wdXRUaGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgc2hvd0lucHV0XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1NsaWRlcldyYXBwZXI+XG4gICAgICAgICAgPC9TbGlkZXJSb3c+XG5cbiAgICAgICAgICB7LyogU3VuIEF6aW11dGggKGNoaWxkIG9mIGF0bW9zcGhlcmUpICovfVxuICAgICAgICAgIDxTbGlkZXJSb3c+XG4gICAgICAgICAgICA8UGFuZWxMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyLWdyb3VwX192aXNpYmlsaXR5LXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJnbG9iZS1hemltdXRoLXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgdG9vbHRpcD17Z2xvYmVDb25maWcuYXppbXV0aCA/ICd0b29sdGlwLmhpZGUnIDogJ3Rvb2x0aXAuc2hvdyd9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25Ub2dnbGUoJ2F6aW11dGgnLCB1bmRlZmluZWQsICdhdG1vc3BoZXJlJyl9XG4gICAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17Z2xvYmVDb25maWcuYXppbXV0aCA/IEV5ZVNlZW4gOiBFeWVVbnNlZW59XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtnbG9iZUNvbmZpZy5hemltdXRoICYmIGdsb2JlQ29uZmlnLmF0bW9zcGhlcmV9XG4gICAgICAgICAgICAgICAgZmx1c2hcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPExheWVyTGFiZWwgJGFjdGl2ZT17Z2xvYmVDb25maWcuYXppbXV0aCAmJiBnbG9iZUNvbmZpZy5hdG1vc3BoZXJlfT5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIm1hcExheWVycy5zdW5BemltdXRoXCIgLz5cbiAgICAgICAgICAgICAgPC9MYXllckxhYmVsPlxuICAgICAgICAgICAgPC9QYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgIDxTbGlkZXJXcmFwcGVyICRlbmFibGVkPXtnbG9iZUNvbmZpZy5hemltdXRoICYmIGdsb2JlQ29uZmlnLmF0bW9zcGhlcmV9PlxuICAgICAgICAgICAgICA8UmFuZ2VTbGlkZXJcbiAgICAgICAgICAgICAgICByYW5nZT17WzAsIDM2MF19XG4gICAgICAgICAgICAgICAgdmFsdWUwPXswfVxuICAgICAgICAgICAgICAgIHZhbHVlMT17Z2xvYmVDb25maWcuYXppbXV0aEFuZ2xlfVxuICAgICAgICAgICAgICAgIHN0ZXA9ezF9XG4gICAgICAgICAgICAgICAgaXNSYW5nZWQ9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt2YWwgPT4gb25TbGlkZXJDaGFuZ2UoJ2F6aW11dGhBbmdsZScsIHZhbCl9XG4gICAgICAgICAgICAgICAgaW5wdXRUaGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgc2hvd0lucHV0XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1NsaWRlcldyYXBwZXI+XG4gICAgICAgICAgPC9TbGlkZXJSb3c+XG5cbiAgICAgICAgICB7LyogQmFzZW1hcCAqL31cbiAgICAgICAgICA8U3R5bGVkQ29uZmlnUm93PlxuICAgICAgICAgICAgPFBhbmVsTGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllci1ncm91cF9fdmlzaWJpbGl0eS10b2dnbGVcIlxuICAgICAgICAgICAgICAgIGlkPVwiZ2xvYmUtYmFzZW1hcC10b2dnbGVcIlxuICAgICAgICAgICAgICAgIHRvb2x0aXA9e2dsb2JlQ29uZmlnLmJhc2VtYXAgPyAndG9vbHRpcC5oaWRlJyA6ICd0b29sdGlwLnNob3cnfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uVG9nZ2xlKCdiYXNlbWFwJywgWydsYWJlbHMnLCAnYWRtaW5MaW5lcycsICd3YXRlciddKX1cbiAgICAgICAgICAgICAgICBJY29uQ29tcG9uZW50PXtnbG9iZUNvbmZpZy5iYXNlbWFwID8gRXllU2VlbiA6IEV5ZVVuc2Vlbn1cbiAgICAgICAgICAgICAgICBhY3RpdmU9e2dsb2JlQ29uZmlnLmJhc2VtYXB9XG4gICAgICAgICAgICAgICAgZmx1c2hcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPExheWVyTGFiZWwgJGFjdGl2ZT17Z2xvYmVDb25maWcuYmFzZW1hcH0+XG4gICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJtYXBMYXllcnMuYmFzZW1hcFwiIC8+XG4gICAgICAgICAgICAgIDwvTGF5ZXJMYWJlbD5cbiAgICAgICAgICAgIDwvUGFuZWxMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgPC9TdHlsZWRDb25maWdSb3c+XG5cbiAgICAgICAgICB7LyogTGFiZWxzIChjaGlsZCBvZiBiYXNlbWFwKSAqL31cbiAgICAgICAgICA8Q2hpbGRSb3c+XG4gICAgICAgICAgICA8UGFuZWxMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyLWdyb3VwX192aXNpYmlsaXR5LXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJnbG9iZS1sYWJlbHMtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICB0b29sdGlwPXtnbG9iZUNvbmZpZy5sYWJlbHMgPyAndG9vbHRpcC5oaWRlJyA6ICd0b29sdGlwLnNob3cnfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uVG9nZ2xlKCdsYWJlbHMnLCB1bmRlZmluZWQsICdiYXNlbWFwJyl9XG4gICAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17Z2xvYmVDb25maWcubGFiZWxzID8gRXllU2VlbiA6IEV5ZVVuc2Vlbn1cbiAgICAgICAgICAgICAgICBhY3RpdmU9e2dsb2JlQ29uZmlnLmxhYmVscyAmJiBnbG9iZUNvbmZpZy5iYXNlbWFwfVxuICAgICAgICAgICAgICAgIGZsdXNoXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxMYXllckxhYmVsICRhY3RpdmU9e2dsb2JlQ29uZmlnLmxhYmVscyAmJiBnbG9iZUNvbmZpZy5iYXNlbWFwfT5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIm1hcExheWVycy5sYWJlbFwiIC8+XG4gICAgICAgICAgICAgIDwvTGF5ZXJMYWJlbD5cbiAgICAgICAgICAgIDwvUGFuZWxMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICA8TGF5ZXJHcm91cENvbG9yUGlja2VyXG4gICAgICAgICAgICAgIHNsdWc9XCJnbG9iZS1sYWJlbHNcIlxuICAgICAgICAgICAgICBjb2xvcj17Z2xvYmVDb25maWcubGFiZWxzQ29sb3J9XG4gICAgICAgICAgICAgIG9uQ29sb3JDaGFuZ2U9eyhjb2xvcjogUkdCQ29sb3IpID0+IG9uQ29sb3JDaGFuZ2UoJ2xhYmVsc0NvbG9yJywgY29sb3IpfVxuICAgICAgICAgICAgICBleHRyYU1hcmdpblJpZ2h0PXtmYWxzZX1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyEoZ2xvYmVDb25maWcubGFiZWxzICYmIGdsb2JlQ29uZmlnLmJhc2VtYXApfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NoaWxkUm93PlxuXG4gICAgICAgICAgey8qIEFkbWluIExpbmVzIChjaGlsZCBvZiBiYXNlbWFwKSAqL31cbiAgICAgICAgICA8Q2hpbGRSb3c+XG4gICAgICAgICAgICA8UGFuZWxMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyLWdyb3VwX192aXNpYmlsaXR5LXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJnbG9iZS1hZG1pbi10b2dnbGVcIlxuICAgICAgICAgICAgICAgIHRvb2x0aXA9e2dsb2JlQ29uZmlnLmFkbWluTGluZXMgPyAndG9vbHRpcC5oaWRlJyA6ICd0b29sdGlwLnNob3cnfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uVG9nZ2xlKCdhZG1pbkxpbmVzJywgdW5kZWZpbmVkLCAnYmFzZW1hcCcpfVxuICAgICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2dsb2JlQ29uZmlnLmFkbWluTGluZXMgPyBFeWVTZWVuIDogRXllVW5zZWVufVxuICAgICAgICAgICAgICAgIGFjdGl2ZT17Z2xvYmVDb25maWcuYWRtaW5MaW5lcyAmJiBnbG9iZUNvbmZpZy5iYXNlbWFwfVxuICAgICAgICAgICAgICAgIGZsdXNoXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxMYXllckxhYmVsICRhY3RpdmU9e2dsb2JlQ29uZmlnLmFkbWluTGluZXMgJiYgZ2xvYmVDb25maWcuYmFzZW1hcH0+XG4gICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJtYXBMYXllcnMuYWRtaW5Cb3JkZXJzXCIgLz5cbiAgICAgICAgICAgICAgPC9MYXllckxhYmVsPlxuICAgICAgICAgICAgPC9QYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgIDxMYXllckdyb3VwQ29sb3JQaWNrZXJcbiAgICAgICAgICAgICAgc2x1Zz1cImdsb2JlLWFkbWluXCJcbiAgICAgICAgICAgICAgY29sb3I9e2dsb2JlQ29uZmlnLmFkbWluTGluZXNDb2xvcn1cbiAgICAgICAgICAgICAgb25Db2xvckNoYW5nZT17KGNvbG9yOiBSR0JDb2xvcikgPT4gb25Db2xvckNoYW5nZSgnYWRtaW5MaW5lc0NvbG9yJywgY29sb3IpfVxuICAgICAgICAgICAgICBleHRyYU1hcmdpblJpZ2h0PXtmYWxzZX1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyEoZ2xvYmVDb25maWcuYWRtaW5MaW5lcyAmJiBnbG9iZUNvbmZpZy5iYXNlbWFwKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9DaGlsZFJvdz5cblxuICAgICAgICAgIHsvKiBXYXRlciAoY2hpbGQgb2YgYmFzZW1hcCkgKi99XG4gICAgICAgICAgPENoaWxkUm93PlxuICAgICAgICAgICAgPFBhbmVsTGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllci1ncm91cF9fdmlzaWJpbGl0eS10b2dnbGVcIlxuICAgICAgICAgICAgICAgIGlkPVwiZ2xvYmUtd2F0ZXItdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICB0b29sdGlwPXtnbG9iZUNvbmZpZy53YXRlciA/ICd0b29sdGlwLmhpZGUnIDogJ3Rvb2x0aXAuc2hvdyd9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25Ub2dnbGUoJ3dhdGVyJywgdW5kZWZpbmVkLCAnYmFzZW1hcCcpfVxuICAgICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2dsb2JlQ29uZmlnLndhdGVyID8gRXllU2VlbiA6IEV5ZVVuc2Vlbn1cbiAgICAgICAgICAgICAgICBhY3RpdmU9e2dsb2JlQ29uZmlnLndhdGVyICYmIGdsb2JlQ29uZmlnLmJhc2VtYXB9XG4gICAgICAgICAgICAgICAgZmx1c2hcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPExheWVyTGFiZWwgJGFjdGl2ZT17Z2xvYmVDb25maWcud2F0ZXIgJiYgZ2xvYmVDb25maWcuYmFzZW1hcH0+XG4gICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJtYXBMYXllcnMud2F0ZXJcIiAvPlxuICAgICAgICAgICAgICA8L0xheWVyTGFiZWw+XG4gICAgICAgICAgICA8L1BhbmVsTGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgPExheWVyR3JvdXBDb2xvclBpY2tlclxuICAgICAgICAgICAgICBzbHVnPVwiZ2xvYmUtd2F0ZXJcIlxuICAgICAgICAgICAgICBjb2xvcj17Z2xvYmVDb25maWcud2F0ZXJDb2xvcn1cbiAgICAgICAgICAgICAgb25Db2xvckNoYW5nZT17KGNvbG9yOiBSR0JDb2xvcikgPT4gb25Db2xvckNoYW5nZSgnd2F0ZXJDb2xvcicsIGNvbG9yKX1cbiAgICAgICAgICAgICAgZXh0cmFNYXJnaW5SaWdodD17ZmFsc2V9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXshKGdsb2JlQ29uZmlnLndhdGVyICYmIGdsb2JlQ29uZmlnLmJhc2VtYXApfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NoaWxkUm93PlxuXG4gICAgICAgICAgey8qIEdsb2JlIFN1cmZhY2UgKGFsd2F5cyB2aXNpYmxlLCBvbmx5IGhhcyBjb2xvcikgKi99XG4gICAgICAgICAgPFN0eWxlZENvbmZpZ1Jvdz5cbiAgICAgICAgICAgIDxQYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgPExheWVyTGFiZWwgJGFjdGl2ZT17dHJ1ZX0gc3R5bGU9e3ttYXJnaW5MZWZ0OiAnMjhweCd9fT5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIm1hcExheWVycy5zdXJmYWNlXCIgLz5cbiAgICAgICAgICAgICAgPC9MYXllckxhYmVsPlxuICAgICAgICAgICAgPC9QYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgIDxMYXllckdyb3VwQ29sb3JQaWNrZXJcbiAgICAgICAgICAgICAgc2x1Zz1cImdsb2JlLXN1cmZhY2VcIlxuICAgICAgICAgICAgICBjb2xvcj17Z2xvYmVDb25maWcuc3VyZmFjZUNvbG9yfVxuICAgICAgICAgICAgICBvbkNvbG9yQ2hhbmdlPXsoY29sb3I6IFJHQkNvbG9yKSA9PiBvbkNvbG9yQ2hhbmdlKCdzdXJmYWNlQ29sb3InLCBjb2xvcil9XG4gICAgICAgICAgICAgIGV4dHJhTWFyZ2luUmlnaHQ9e2ZhbHNlfVxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZmFsc2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvU3R5bGVkQ29uZmlnUm93PlxuXG4gICAgICAgICAgey8qIEJhY2tncm91bmQgKGVtcHR5IHNwYWNlIGFyb3VuZCB0aGUgZ2xvYmUsIGFsd2F5cyB2aXNpYmxlKSAqL31cbiAgICAgICAgICA8U3R5bGVkQ29uZmlnUm93PlxuICAgICAgICAgICAgPFBhbmVsTGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgICA8TGF5ZXJMYWJlbCAkYWN0aXZlPXt0cnVlfSBzdHlsZT17e21hcmdpbkxlZnQ6ICcyOHB4J319PlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibWFwTGF5ZXJzLmJhY2tncm91bmRcIiAvPlxuICAgICAgICAgICAgICA8L0xheWVyTGFiZWw+XG4gICAgICAgICAgICA8L1BhbmVsTGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgPExheWVyR3JvdXBDb2xvclBpY2tlclxuICAgICAgICAgICAgICBzbHVnPVwiZ2xvYmUtYmFja2dyb3VuZFwiXG4gICAgICAgICAgICAgIGNvbG9yPXtnbG9iZUNvbmZpZy5iYWNrZ3JvdW5kQ29sb3J9XG4gICAgICAgICAgICAgIG9uQ29sb3JDaGFuZ2U9eyhjb2xvcjogUkdCQ29sb3IpID0+IG9uQ29sb3JDaGFuZ2UoJ2JhY2tncm91bmRDb2xvcicsIGNvbG9yKX1cbiAgICAgICAgICAgICAgZXh0cmFNYXJnaW5SaWdodD17ZmFsc2V9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXtmYWxzZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TdHlsZWRDb25maWdSb3c+XG5cbiAgICAgICAgICB7LyogU3RhcnMgKHJlbmRlcmVkIGJlaGluZCB0aGUgZ2xvYmUgaW4gM0Qgc3BhY2UpICovfVxuICAgICAgICAgIDxTdHlsZWRDb25maWdSb3c+XG4gICAgICAgICAgICA8UGFuZWxMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyLWdyb3VwX192aXNpYmlsaXR5LXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJnbG9iZS1zdGFycy10b2dnbGVcIlxuICAgICAgICAgICAgICAgIHRvb2x0aXA9e2dsb2JlQ29uZmlnLnN0YXJzID8gJ3Rvb2x0aXAuaGlkZScgOiAndG9vbHRpcC5zaG93J31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblRvZ2dsZSgnc3RhcnMnKX1cbiAgICAgICAgICAgICAgICBJY29uQ29tcG9uZW50PXtnbG9iZUNvbmZpZy5zdGFycyA/IEV5ZVNlZW4gOiBFeWVVbnNlZW59XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtnbG9iZUNvbmZpZy5zdGFyc31cbiAgICAgICAgICAgICAgICBmbHVzaFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8TGF5ZXJMYWJlbCAkYWN0aXZlPXtnbG9iZUNvbmZpZy5zdGFyc30+XG4gICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJtYXBMYXllcnMuc3RhcnNcIiAvPlxuICAgICAgICAgICAgICA8L0xheWVyTGFiZWw+XG4gICAgICAgICAgICA8L1BhbmVsTGFiZWxXcmFwcGVyPlxuICAgICAgICAgIDwvU3R5bGVkQ29uZmlnUm93PlxuICAgICAgICA8L1BhbmVsQ29udGVudD5cbiAgICAgIDwvU3R5bGVkR2xvYmVDb25maWdQYW5lbD5cbiAgICApO1xuICB9O1xuXG4gIEdsb2JlQ29uZmlnUGFuZWwuZGlzcGxheU5hbWUgPSAnR2xvYmVDb25maWdQYW5lbCc7XG4gIHJldHVybiBHbG9iZUNvbmZpZ1BhbmVsO1xufVxuXG5leHBvcnQgZGVmYXVsdCBHbG9iZUNvbmZpZ1BhbmVsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDQTs7QUFFQSxPQUFPQSxLQUFLLElBQUdDLFdBQVcsUUFBTyxPQUFPO0FBQ3hDLE9BQU9DLE1BQU0sSUFBR0MsR0FBRyxRQUFPLG1CQUFtQjtBQUk3QyxTQUFRQyxnQkFBZ0IsUUFBTyx5QkFBeUI7QUFFeEQsU0FBUUMsT0FBTyxFQUFFQyxTQUFTLFFBQU8sb0JBQW9CO0FBQ3JELFNBQ0VDLFVBQVUsRUFDVkMsWUFBWSxFQUNaQyxjQUFjLEVBQ2RDLGlCQUFpQixRQUNaLGdDQUFnQztBQUN2QyxPQUFPQyx3QkFBd0IsTUFBTSx3QkFBd0I7QUFDN0QsT0FBT0Msa0JBQWtCLE1BQU0sMkJBQTJCO0FBQzFELE9BQU9DLDRCQUE0QixNQUFNLGdDQUFnQztBQUV6RSxJQUFNQyxzQkFBc0IsR0FBR1osTUFBTSxDQUFDYSxHQUFHLENBQUFDLGVBQUEsS0FBQUEsZUFBQSxHQUFBQyxzQkFBQSxrQ0FFeEM7QUFFRCxJQUFNQyxlQUFlLEdBQUdoQixNQUFNLENBQUNhLEdBQUcsQ0FBQUksZ0JBQUEsS0FBQUEsZ0JBQUEsR0FBQUYsc0JBQUEsb09BYWpDO0FBRUQsSUFBTUcsYUFBYSxHQUFHakIsR0FBRyxDQUFBa0IsZ0JBQUEsS0FBQUEsZ0JBQUEsR0FBQUosc0JBQUEsb0RBR3hCO0FBRUQsSUFB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QyxVQUFVLEVBQUU7TUFBTTtJQUFFLGdCQUNyRGxHLEtBQUEsQ0FBQWdFLGFBQUEsQ0FBQzVELGdCQUFnQjtNQUFDNkQsRUFBRSxFQUFDO0lBQXNCLENBQUUsQ0FDbkMsQ0FDSyxDQUFDLGVBQ3BCakUsS0FBQSxDQUFBZ0UsYUFBQSxDQUFDeEIscUJBQXFCO01BQ3BCaUQsSUFBSSxFQUFDLGtCQUFrQjtNQUN2QjNCLEtBQUssRUFBRWYsV0FBVyxDQUFDcUQsZUFBZ0I7TUFDbkN2QyxhQUFhLEVBQUUsU0FBZkEsYUFBYUEsQ0FBR0MsS0FBZTtRQUFBLE9BQUtELGNBQWEsQ0FBQyxpQkFBaUIsRUFBRUMsS0FBSyxDQUFDO01BQUEsQ0FBQztNQUM1RTZCLGdCQUFnQixFQUFFLEtBQU07TUFDeEJDLFFBQVEsRUFBRTtJQUFNLENBQ2pCLENBQ2MsQ0FBQyxlQUdsQjVGLEtBQUEsQ0FBQWdFLGFBQUEsQ0FBQzlDLGVBQWUscUJBQ2RsQixLQUFBLENBQUFnRSxhQUFBLENBQUN0RCxpQkFBaUIscUJBQ2hCVixLQUFBLENBQUFnRSxhQUFBLENBQUMxQixpQkFBaUI7TUFDaEI0QixTQUFTLEVBQUMsZ0NBQWdDO01BQzFDRCxFQUFFLEVBQUMsb0JBQW9CO01BQ3ZCRSxPQUFPLEVBQUVwQixXQUFXLENBQUNzRCxLQUFLLEdBQUcsY0FBYyxHQUFHLGNBQWU7TUFDN0RoQyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtRQUFBLE9BQVFuQixRQUFRLENBQUMsT0FBTyxDQUFDO01BQUEsQ0FBQztNQUNqQ29CLGFBQWEsRUFBRXZCLFdBQVcsQ0FBQ3NELEtBQUssR0FBR2hHLE9BQU8sR0FBR0MsU0FBVTtNQUN2RGlFLE1BQU0sRUFBRXhCLFdBQVcsQ0FBQ3NELEtBQU07TUFDMUI3QixLQUFLO0lBQUEsQ0FDTixDQUFDLGVBQ0Z4RSxLQUFBLENBQUFnRSxhQUFBLENBQUNwQyxVQUFVO01BQUNFLE9BQU8sRUFBRWlCLFdBQVcsQ0FBQ3NEO0lBQU0sZ0JBQ3JDckcsS0FBQSxDQUFBZ0UsYUFBQSxDQUFDNUQsZ0JBQWdCO01BQUM2RCxFQUFFLEVBQUM7SUFBaUIsQ0FBRSxDQUM5QixDQUNLLENBQ0osQ0FDTCxDQUNRLENBQUM7RUFFN0IsQ0FBQztFQUVEeEIsZ0JBQWdCLENBQUM2RCxXQUFXLEdBQUcsa0JBQWtCO0VBQ2pELE9BQU83RCxnQkFBZ0I7QUFDekI7QUFFQSxlQUFlTCx1QkFBdUIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
327
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwic3R5bGVkIiwiY3NzIiwiREVGQVVMVF9HTE9CRV9DT05GSUciLCJGb3JtYXR0ZWRNZXNzYWdlIiwiRXllU2VlbiIsIkV5ZVVuc2VlbiIsIlBhbmVsTGFiZWwiLCJQYW5lbENvbnRlbnQiLCJQYW5lbExhYmVsQm9sZCIsIlBhbmVsTGFiZWxXcmFwcGVyIiwiUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IiwiUmFuZ2VTbGlkZXJGYWN0b3J5IiwiTGF5ZXJHcm91cENvbG9yUGlja2VyRmFjdG9yeSIsIlN0eWxlZEdsb2JlQ29uZmlnUGFuZWwiLCJkaXYiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsIiwiU3R5bGVkQ29uZmlnUm93IiwiX3RlbXBsYXRlT2JqZWN0MiIsImRpc2FibGVTbGlkZXIiLCJfdGVtcGxhdGVPYmplY3QzIiwiU2xpZGVyV3JhcHBlciIsIl90ZW1wbGF0ZU9iamVjdDQiLCJwcm9wcyIsIiRlbmFibGVkIiwiQXRtb3NwaGVyZVNsaWRlcldyYXBwZXIiLCJfdGVtcGxhdGVPYmplY3Q1IiwidGhlbWUiLCJzbGlkZXJJbnB1dFdpZHRoIiwiQ29sb3JQaWNrZXJTbG90IiwiX3RlbXBsYXRlT2JqZWN0NiIsIlNsaWRlclJvdyIsIl90ZW1wbGF0ZU9iamVjdDciLCJMYXllckxhYmVsIiwiX3RlbXBsYXRlT2JqZWN0OCIsIiRhY3RpdmUiLCJ0ZXh0Q29sb3IiLCJsYWJlbENvbG9yIiwiQ2hpbGRSb3ciLCJfdGVtcGxhdGVPYmplY3Q5IiwiR2xvYmVDb25maWdQYW5lbEZhY3RvcnkiLCJkZXBzIiwiUGFuZWxIZWFkZXJBY3Rpb24iLCJSYW5nZVNsaWRlciIsIkxheWVyR3JvdXBDb2xvclBpY2tlciIsIkdsb2JlQ29uZmlnUGFuZWwiLCJfcmVmIiwiX21hcFN0YXRlJGdsb2JlIiwiX21hcFN0YXRlJGdsb2JlMiIsIl9nbG9iZUNvbmZpZyRodWdlSGFsbyIsIl9nbG9iZUNvbmZpZyRodWdlSGFsbzIiLCJtYXBTdGF0ZSIsIm9uR2xvYmVDb25maWdDaGFuZ2UiLCJnbG9iZUNvbmZpZyIsImdsb2JlIiwiY29uZmlnIiwib25Ub2dnbGUiLCJrZXkiLCJjaGlsZEtleXMiLCJwYXJlbnRLZXkiLCJuZXdWYWx1ZSIsInVwZGF0ZSIsIl9kZWZpbmVQcm9wZXJ0eSIsImZvckVhY2giLCJjaGlsZEtleSIsIm9uU2xpZGVyQ2hhbmdlIiwidmFsdWUiLCJvbkNvbG9yQ2hhbmdlIiwiY29sb3IiLCJlbmFibGVkIiwiY3JlYXRlRWxlbWVudCIsImlkIiwiY2xhc3NOYW1lIiwidG9vbHRpcCIsImF0bW9zcGhlcmUiLCJvbkNsaWNrIiwiSWNvbkNvbXBvbmVudCIsImFjdGl2ZSIsImZsdXNoIiwiaHVnZUhhbG8iLCJ1bmRlZmluZWQiLCJCb29sZWFuIiwic3R5bGUiLCJwYWRkaW5nTGVmdCIsInJhbmdlIiwidmFsdWUwIiwidmFsdWUxIiwiaHVnZUhhbG9SYWRpdXMiLCJzdGVwIiwiaXNSYW5nZWQiLCJvbkNoYW5nZSIsInZhbCIsImlucHV0VGhlbWUiLCJzaG93SW5wdXQiLCJodWdlSGFsb09wYWNpdHkiLCJ0ZXJtaW5hdG9yIiwidGVybWluYXRvck9wYWNpdHkiLCJhemltdXRoIiwiYXppbXV0aEFuZ2xlIiwiYmFzZW1hcCIsImxhYmVscyIsInNsdWciLCJsYWJlbHNDb2xvciIsImV4dHJhTWFyZ2luUmlnaHQiLCJkaXNhYmxlZCIsImFkbWluTGluZXMiLCJhZG1pbkxpbmVzQ29sb3IiLCJ3YXRlciIsIndhdGVyQ29sb3IiLCJtYXJnaW5MZWZ0Iiwic3VyZmFjZUNvbG9yIiwiYmFja2dyb3VuZENvbG9yIiwic3RhcnMiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL21hcC1zdHlsZS1wYW5lbC9nbG9iZS1jb25maWctcGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkLCB7Y3NzfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7TWFwU3RhdGUsIFJHQkNvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7R2xvYmVDb25maWcsIERFRkFVTFRfR0xPQkVfQ09ORklHfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcblxuaW1wb3J0IHtFeWVTZWVuLCBFeWVVbnNlZW59IGZyb20gJy4uLy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge1xuICBQYW5lbExhYmVsLFxuICBQYW5lbENvbnRlbnQsXG4gIFBhbmVsTGFiZWxCb2xkLFxuICBQYW5lbExhYmVsV3JhcHBlclxufSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSBmcm9tICcuLi9wYW5lbC1oZWFkZXItYWN0aW9uJztcbmltcG9ydCBSYW5nZVNsaWRlckZhY3RvcnkgZnJvbSAnLi4vLi4vY29tbW9uL3JhbmdlLXNsaWRlcic7XG5pbXBvcnQgTGF5ZXJHcm91cENvbG9yUGlja2VyRmFjdG9yeSBmcm9tICcuL21hcC1sYXllci1ncm91cC1jb2xvci1waWNrZXInO1xuXG5jb25zdCBTdHlsZWRHbG9iZUNvbmZpZ1BhbmVsID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZy1ib3R0b206IDZweDtcblxuICAvKiBHaXZlIHNsaWRlci9jb2xvciBjb250cm9scyBtb3JlIGhvcml6b250YWwgcm9vbS4gKi9cbiAgLnNpZGUtcGFuZWwtcGFuZWxfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkQ29uZmlnUm93ID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5sYXllci1ncm91cF9fdmlzaWJpbGl0eS10b2dnbGUge1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgfVxuYDtcblxuY29uc3QgZGlzYWJsZVNsaWRlciA9IGNzc2BcbiAgb3BhY2l0eTogMC41O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbmA7XG5cbmNvbnN0IFNsaWRlcldyYXBwZXIgPSBzdHlsZWQuZGl2PHskZW5hYmxlZD86IGJvb2xlYW59PmBcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICAke3Byb3BzID0+IChwcm9wcy4kZW5hYmxlZCA/ICcnIDogZGlzYWJsZVNsaWRlcil9XG5gO1xuXG4vLyBBdG1vc3BoZXJlIHNsaWRlciByb3dzOiBzaHJpbmsgdGhlIG51bWVyaWMgaW5wdXRzIGJ5IDVweCBzbyB0aGUgdHJhY2sgY2FuIHVzZVxuLy8gdGhlIGV4dHJhIHNwYWNlIChkZWZhdWx0IHRoZW1lLnNsaWRlcklucHV0V2lkdGggaXMgNTYpLlxuY29uc3QgQXRtb3NwaGVyZVNsaWRlcldyYXBwZXIgPSBzdHlsZWQoU2xpZGVyV3JhcHBlcilgXG4gIGlucHV0IHtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zbGlkZXJJbnB1dFdpZHRoIC0gNX1weDtcbiAgfVxuYDtcblxuLy8gS2VlcCBjb2xvciBzd2F0Y2hlcyBzbGlnaHRseSBpbnNldCBmcm9tIHRoZSBwYW5lbCBlZGdlIChzbGlkZXJzIGFscmVhZHkgZ2V0XG4vLyBpbnNldCBmcm9tIHRoZWlyIG51bWVyaWMgaW5wdXRzOyBzd2F0Y2hlcyBuZWVkIGFuIGV4cGxpY2l0IG1hcmdpbikuXG5jb25zdCBDb2xvclBpY2tlclNsb3QgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5gO1xuXG4vLyBTbGlkZXIgcm93cyAoRGF5L05pZ2h0LCBTdW4gQXppbXV0aCkgcHV0IHRoZSBsYWJlbCBhbmQgdGhlIHNsaWRlciBzaWRlIGJ5IHNpZGUuXG4vLyBHaXZlIHRoZSBsYWJlbCBvbmx5IHRoZSB3aWR0aCBpdHMgKHNob3J0KSB0ZXh0IG5lZWRzIHNvIHRoZSBzbGlkZXIgZ2V0cyB0aGVcbi8vIHJlc3Qgb2YgdGhlIHJvdy4gVGhlIGNoaWxkIGluZGVudCBpcyBrZXB0IHNtYWxsICh+aGFsZiBhbiBleWUtaWNvbiB3aWR0aCkgc28gdGhlXG4vLyBzdWItcm93IGV5ZSBpY29uIGxpbmVzIHVwIGNsb3NlIHRvIHRoZSBwYXJlbnQgKGF0bW9zcGhlcmUpIHJvdywgcmF0aGVyIHRoYW5cbi8vIGJlaW5nIHB1c2hlZCB+MS41IGljb24gd2lkdGhzIHRvIHRoZSByaWdodC5cbmNvbnN0IFNsaWRlclJvdyA9IHN0eWxlZChTdHlsZWRDb25maWdSb3cpYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIC5zaWRlLXBhbmVsLXBhbmVsX19sYWJlbC13cmFwcGVyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5gO1xuXG5jb25zdCBMYXllckxhYmVsID0gc3R5bGVkKFBhbmVsTGFiZWxCb2xkKTx7JGFjdGl2ZTogYm9vbGVhbn0+YFxuICBjb2xvcjogJHtwcm9wcyA9PiAocHJvcHMuJGFjdGl2ZSA/IHByb3BzLnRoZW1lLnRleHRDb2xvciA6IHByb3BzLnRoZW1lLmxhYmVsQ29sb3IpfTtcbmA7XG5cbmNvbnN0IENoaWxkUm93ID0gc3R5bGVkKFN0eWxlZENvbmZpZ1JvdylgXG4gIC5zaWRlLXBhbmVsLXBhbmVsX19sYWJlbC13cmFwcGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgfVxuYDtcblxuZXhwb3J0IHR5cGUgR2xvYmVDb25maWdQYW5lbFByb3BzID0ge1xuICBtYXBTdGF0ZTogTWFwU3RhdGU7XG4gIG9uR2xvYmVDb25maWdDaGFuZ2U6IChjb25maWc6IFBhcnRpYWw8R2xvYmVDb25maWc+KSA9PiB2b2lkO1xufTtcblxuR2xvYmVDb25maWdQYW5lbEZhY3RvcnkuZGVwcyA9IFtcbiAgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5LFxuICBSYW5nZVNsaWRlckZhY3RvcnksXG4gIExheWVyR3JvdXBDb2xvclBpY2tlckZhY3Rvcnlcbl07XG5cbmZ1bmN0aW9uIEdsb2JlQ29uZmlnUGFuZWxGYWN0b3J5KFxuICBQYW5lbEhlYWRlckFjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5PixcbiAgUmFuZ2VTbGlkZXI6IFJldHVyblR5cGU8dHlwZW9mIFJhbmdlU2xpZGVyRmFjdG9yeT4sXG4gIExheWVyR3JvdXBDb2xvclBpY2tlcjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJHcm91cENvbG9yUGlja2VyRmFjdG9yeT5cbikge1xuICBjb25zdCBHbG9iZUNvbmZpZ1BhbmVsOiBSZWFjdC5GQzxHbG9iZUNvbmZpZ1BhbmVsUHJvcHM+ID0gKHttYXBTdGF0ZSwgb25HbG9iZUNvbmZpZ0NoYW5nZX0pID0+IHtcbiAgICBjb25zdCBnbG9iZUNvbmZpZyA9IG1hcFN0YXRlLmdsb2JlPy5jb25maWc7XG5cbiAgICBjb25zdCBvblRvZ2dsZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKFxuICAgICAgICBrZXk6IGtleW9mIEdsb2JlQ29uZmlnLFxuICAgICAgICBjaGlsZEtleXM/OiAoa2V5b2YgR2xvYmVDb25maWcpW10sXG4gICAgICAgIHBhcmVudEtleT86IGtleW9mIEdsb2JlQ29uZmlnXG4gICAgICApID0+IHtcbiAgICAgICAgaWYgKCFnbG9iZUNvbmZpZykgcmV0dXJuO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9ICFnbG9iZUNvbmZpZ1trZXldO1xuICAgICAgICBjb25zdCB1cGRhdGU6IFBhcnRpYWw8R2xvYmVDb25maWc+ID0ge1trZXldOiBuZXdWYWx1ZX07XG4gICAgICAgIGlmIChjaGlsZEtleXMpIHtcbiAgICAgICAgICBjaGlsZEtleXMuZm9yRWFjaChjaGlsZEtleSA9PiB7XG4gICAgICAgICAgICB1cGRhdGVbY2hpbGRLZXldID0gbmV3VmFsdWUgYXMgYW55O1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXJlbnRLZXkgJiYgbmV3VmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgICB1cGRhdGVbcGFyZW50S2V5XSA9IHRydWUgYXMgYW55O1xuICAgICAgICB9XG4gICAgICAgIG9uR2xvYmVDb25maWdDaGFuZ2UodXBkYXRlKTtcbiAgICAgIH0sXG4gICAgICBbZ2xvYmVDb25maWcsIG9uR2xvYmVDb25maWdDaGFuZ2VdXG4gICAgKTtcblxuICAgIGNvbnN0IG9uU2xpZGVyQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgICAoa2V5OiBrZXlvZiBHbG9iZUNvbmZpZywgdmFsdWU6IG51bWJlcltdKSA9PiB7XG4gICAgICAgIG9uR2xvYmVDb25maWdDaGFuZ2Uoe1trZXldOiB2YWx1ZVsxXX0gYXMgUGFydGlhbDxHbG9iZUNvbmZpZz4pO1xuICAgICAgfSxcbiAgICAgIFtvbkdsb2JlQ29uZmlnQ2hhbmdlXVxuICAgICk7XG5cbiAgICBjb25zdCBvbkNvbG9yQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgICAoa2V5OiBrZXlvZiBHbG9iZUNvbmZpZywgY29sb3I6IFJHQkNvbG9yKSA9PiB7XG4gICAgICAgIG9uR2xvYmVDb25maWdDaGFuZ2Uoe1trZXldOiBjb2xvcn0gYXMgUGFydGlhbDxHbG9iZUNvbmZpZz4pO1xuICAgICAgfSxcbiAgICAgIFtvbkdsb2JlQ29uZmlnQ2hhbmdlXVxuICAgICk7XG5cbiAgICBpZiAoIW1hcFN0YXRlLmdsb2JlPy5lbmFibGVkIHx8ICFnbG9iZUNvbmZpZykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRHbG9iZUNvbmZpZ1BhbmVsPlxuICAgICAgICA8UGFuZWxMYWJlbD5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIm1hcE1hbmFnZXIuZ2xvYmVMYXllcnNcIiAvPlxuICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICAgIDxQYW5lbENvbnRlbnQ+XG4gICAgICAgICAgey8qIEF0bW9zcGhlcmUgKi99XG4gICAgICAgICAgPFN0eWxlZENvbmZpZ1Jvdz5cbiAgICAgICAgICAgIDxQYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXItZ3JvdXBfX3Zpc2liaWxpdHktdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICBpZD1cImdsb2JlLWF0bW9zcGhlcmUtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICB0b29sdGlwPXtnbG9iZUNvbmZpZy5hdG1vc3BoZXJlID8gJ3Rvb2x0aXAuaGlkZScgOiAndG9vbHRpcC5zaG93J31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblRvZ2dsZSgnYXRtb3NwaGVyZScsIFsndGVybWluYXRvcicsICdhemltdXRoJ10pfVxuICAgICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2dsb2JlQ29uZmlnLmF0bW9zcGhlcmUgPyBFeWVTZWVuIDogRXllVW5zZWVufVxuICAgICAgICAgICAgICAgIGFjdGl2ZT17Z2xvYmVDb25maWcuYXRtb3NwaGVyZX1cbiAgICAgICAgICAgICAgICBmbHVzaFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8TGF5ZXJMYWJlbCAkYWN0aXZlPXtnbG9iZUNvbmZpZy5hdG1vc3BoZXJlfT5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIm1hcExheWVycy5hdG1vc3BoZXJlXCIgLz5cbiAgICAgICAgICAgICAgPC9MYXllckxhYmVsPlxuICAgICAgICAgICAgPC9QYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICA8L1N0eWxlZENvbmZpZ1Jvdz5cblxuICAgICAgICAgIHsvKiBIdWdlIEhhbG8gKGNoaWxkIG9mIGF0bW9zcGhlcmUpIOKAlCBhZGRpdGl2ZSBzb2Z0IGdsb3cgb24gdG9wIG9mIHJlYWxpc3RpYyBoYWxvICovfVxuICAgICAgICAgIDxDaGlsZFJvdz5cbiAgICAgICAgICAgIDxQYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXItZ3JvdXBfX3Zpc2liaWxpdHktdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICBpZD1cImdsb2JlLWh1Z2UtaGFsby10b2dnbGVcIlxuICAgICAgICAgICAgICAgIHRvb2x0aXA9e2dsb2JlQ29uZmlnLmh1Z2VIYWxvID8gJ3Rvb2x0aXAuaGlkZScgOiAndG9vbHRpcC5zaG93J31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblRvZ2dsZSgnaHVnZUhhbG8nLCB1bmRlZmluZWQsICdhdG1vc3BoZXJlJyl9XG4gICAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17Z2xvYmVDb25maWcuaHVnZUhhbG8gPyBFeWVTZWVuIDogRXllVW5zZWVufVxuICAgICAgICAgICAgICAgIGFjdGl2ZT17Qm9vbGVhbihnbG9iZUNvbmZpZy5odWdlSGFsbyAmJiBnbG9iZUNvbmZpZy5hdG1vc3BoZXJlKX1cbiAgICAgICAgICAgICAgICBmbHVzaFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8TGF5ZXJMYWJlbCAkYWN0aXZlPXtCb29sZWFuKGdsb2JlQ29uZmlnLmh1Z2VIYWxvICYmIGdsb2JlQ29uZmlnLmF0bW9zcGhlcmUpfT5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIm1hcExheWVycy5odWdlSGFsb1wiIC8+XG4gICAgICAgICAgICAgIDwvTGF5ZXJMYWJlbD5cbiAgICAgICAgICAgIDwvUGFuZWxMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgPC9DaGlsZFJvdz5cblxuICAgICAgICAgIHsvKiBIdWdlIEhhbG8gcmFkaXVzIG11bHRpcGxpZXIgKi99XG4gICAgICAgICAgPFNsaWRlclJvdz5cbiAgICAgICAgICAgIDxQYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgPExheWVyTGFiZWxcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtCb29sZWFuKGdsb2JlQ29uZmlnLmh1Z2VIYWxvICYmIGdsb2JlQ29uZmlnLmF0bW9zcGhlcmUpfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7cGFkZGluZ0xlZnQ6IDI4fX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibWFwTGF5ZXJzLmh1Z2VIYWxvUmFkaXVzXCIgLz5cbiAgICAgICAgICAgICAgPC9MYXllckxhYmVsPlxuICAgICAgICAgICAgPC9QYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgIDxBdG1vc3BoZXJlU2xpZGVyV3JhcHBlciAkZW5hYmxlZD17Qm9vbGVhbihnbG9iZUNvbmZpZy5odWdlSGFsbyAmJiBnbG9iZUNvbmZpZy5hdG1vc3BoZXJlKX0+XG4gICAgICAgICAgICAgIDxSYW5nZVNsaWRlclxuICAgICAgICAgICAgICAgIHJhbmdlPXtbMC41LCAzLjVdfVxuICAgICAgICAgICAgICAgIHZhbHVlMD17MH1cbiAgICAgICAgICAgICAgICB2YWx1ZTE9e2dsb2JlQ29uZmlnLmh1Z2VIYWxvUmFkaXVzID8/IERFRkFVTFRfR0xPQkVfQ09ORklHLmh1Z2VIYWxvUmFkaXVzfVxuICAgICAgICAgICAgICAgIHN0ZXA9ezAuMDV9XG4gICAgICAgICAgICAgICAgaXNSYW5nZWQ9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt2YWwgPT4gb25TbGlkZXJDaGFuZ2UoJ2h1Z2VIYWxvUmFkaXVzJywgdmFsKX1cbiAgICAgICAgICAgICAgICBpbnB1dFRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICBzaG93SW5wdXRcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvQXRtb3NwaGVyZVNsaWRlcldyYXBwZXI+XG4gICAgICAgICAgPC9TbGlkZXJSb3c+XG5cbiAgICAgICAgICB7LyogSHVnZSBIYWxvIG9wYWNpdHkgKi99XG4gICAgICAgICAgPFNsaWRlclJvdz5cbiAgICAgICAgICAgIDxQYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgPExheWVyTGFiZWxcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtCb29sZWFuKGdsb2JlQ29uZmlnLmh1Z2VIYWxvICYmIGdsb2JlQ29uZmlnLmF0bW9zcGhlcmUpfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7cGFkZGluZ0xlZnQ6IDI4fX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibWFwTGF5ZXJzLmh1Z2VIYWxvT3BhY2l0eVwiIC8+XG4gICAgICAgICAgICAgIDwvTGF5ZXJMYWJlbD5cbiAgICAgICAgICAgIDwvUGFuZWxMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICA8QXRtb3NwaGVyZVNsaWRlcldyYXBwZXIgJGVuYWJsZWQ9e0Jvb2xlYW4oZ2xvYmVDb25maWcuaHVnZUhhbG8gJiYgZ2xvYmVDb25maWcuYXRtb3NwaGVyZSl9PlxuICAgICAgICAgICAgICA8UmFuZ2VTbGlkZXJcbiAgICAgICAgICAgICAgICByYW5nZT17WzAsIDFdfVxuICAgICAgICAgICAgICAgIHZhbHVlMD17MH1cbiAgICAgICAgICAgICAgICB2YWx1ZTE9e2dsb2JlQ29uZmlnLmh1Z2VIYWxvT3BhY2l0eSA/PyBERUZBVUxUX0dMT0JFX0NPTkZJRy5odWdlSGFsb09wYWNpdHl9XG4gICAgICAgICAgICAgICAgc3RlcD17MC4wMX1cbiAgICAgICAgICAgICAgICBpc1JhbmdlZD17ZmFsc2V9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3ZhbCA9PiBvblNsaWRlckNoYW5nZSgnaHVnZUhhbG9PcGFjaXR5JywgdmFsKX1cbiAgICAgICAgICAgICAgICBpbnB1dFRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICBzaG93SW5wdXRcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvQXRtb3NwaGVyZVNsaWRlcldyYXBwZXI+XG4gICAgICAgICAgPC9TbGlkZXJSb3c+XG5cbiAgICAgICAgICB7LyogVGVybWluYXRvciAoY2hpbGQgb2YgYXRtb3NwaGVyZSkgKi99XG4gICAgICAgICAgPFNsaWRlclJvdz5cbiAgICAgICAgICAgIDxQYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXItZ3JvdXBfX3Zpc2liaWxpdHktdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICBpZD1cImdsb2JlLXRlcm1pbmF0b3ItdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICB0b29sdGlwPXtnbG9iZUNvbmZpZy50ZXJtaW5hdG9yID8gJ3Rvb2x0aXAuaGlkZScgOiAndG9vbHRpcC5zaG93J31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblRvZ2dsZSgndGVybWluYXRvcicsIHVuZGVmaW5lZCwgJ2F0bW9zcGhlcmUnKX1cbiAgICAgICAgICAgICAgICBJY29uQ29tcG9uZW50PXtnbG9iZUNvbmZpZy50ZXJtaW5hdG9yID8gRXllU2VlbiA6IEV5ZVVuc2Vlbn1cbiAgICAgICAgICAgICAgICBhY3RpdmU9e2dsb2JlQ29uZmlnLnRlcm1pbmF0b3IgJiYgZ2xvYmVDb25maWcuYXRtb3NwaGVyZX1cbiAgICAgICAgICAgICAgICBmbHVzaFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8TGF5ZXJMYWJlbCAkYWN0aXZlPXtnbG9iZUNvbmZpZy50ZXJtaW5hdG9yICYmIGdsb2JlQ29uZmlnLmF0bW9zcGhlcmV9PlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibWFwTGF5ZXJzLnRlcm1pbmF0b3JcIiAvPlxuICAgICAgICAgICAgICA8L0xheWVyTGFiZWw+XG4gICAgICAgICAgICA8L1BhbmVsTGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgPEF0bW9zcGhlcmVTbGlkZXJXcmFwcGVyICRlbmFibGVkPXtnbG9iZUNvbmZpZy50ZXJtaW5hdG9yICYmIGdsb2JlQ29uZmlnLmF0bW9zcGhlcmV9PlxuICAgICAgICAgICAgICA8UmFuZ2VTbGlkZXJcbiAgICAgICAgICAgICAgICByYW5nZT17WzAsIDFdfVxuICAgICAgICAgICAgICAgIHZhbHVlMD17MH1cbiAgICAgICAgICAgICAgICB2YWx1ZTE9e2dsb2JlQ29uZmlnLnRlcm1pbmF0b3JPcGFjaXR5fVxuICAgICAgICAgICAgICAgIHN0ZXA9ezAuMDF9XG4gICAgICAgICAgICAgICAgaXNSYW5nZWQ9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt2YWwgPT4gb25TbGlkZXJDaGFuZ2UoJ3Rlcm1pbmF0b3JPcGFjaXR5JywgdmFsKX1cbiAgICAgICAgICAgICAgICBpbnB1dFRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICBzaG93SW5wdXRcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvQXRtb3NwaGVyZVNsaWRlcldyYXBwZXI+XG4gICAgICAgICAgPC9TbGlkZXJSb3c+XG5cbiAgICAgICAgICB7LyogU3VuIEF6aW11dGggKGNoaWxkIG9mIGF0bW9zcGhlcmUpICovfVxuICAgICAgICAgIDxTbGlkZXJSb3c+XG4gICAgICAgICAgICA8UGFuZWxMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyLWdyb3VwX192aXNpYmlsaXR5LXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJnbG9iZS1hemltdXRoLXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgdG9vbHRpcD17Z2xvYmVDb25maWcuYXppbXV0aCA/ICd0b29sdGlwLmhpZGUnIDogJ3Rvb2x0aXAuc2hvdyd9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25Ub2dnbGUoJ2F6aW11dGgnLCB1bmRlZmluZWQsICdhdG1vc3BoZXJlJyl9XG4gICAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17Z2xvYmVDb25maWcuYXppbXV0aCA/IEV5ZVNlZW4gOiBFeWVVbnNlZW59XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtnbG9iZUNvbmZpZy5hemltdXRoICYmIGdsb2JlQ29uZmlnLmF0bW9zcGhlcmV9XG4gICAgICAgICAgICAgICAgZmx1c2hcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPExheWVyTGFiZWwgJGFjdGl2ZT17Z2xvYmVDb25maWcuYXppbXV0aCAmJiBnbG9iZUNvbmZpZy5hdG1vc3BoZXJlfT5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIm1hcExheWVycy5zdW5BemltdXRoXCIgLz5cbiAgICAgICAgICAgICAgPC9MYXllckxhYmVsPlxuICAgICAgICAgICAgPC9QYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgIDxBdG1vc3BoZXJlU2xpZGVyV3JhcHBlciAkZW5hYmxlZD17Z2xvYmVDb25maWcuYXppbXV0aCAmJiBnbG9iZUNvbmZpZy5hdG1vc3BoZXJlfT5cbiAgICAgICAgICAgICAgPFJhbmdlU2xpZGVyXG4gICAgICAgICAgICAgICAgcmFuZ2U9e1swLCAzNjBdfVxuICAgICAgICAgICAgICAgIHZhbHVlMD17MH1cbiAgICAgICAgICAgICAgICB2YWx1ZTE9e2dsb2JlQ29uZmlnLmF6aW11dGhBbmdsZX1cbiAgICAgICAgICAgICAgICBzdGVwPXsxfVxuICAgICAgICAgICAgICAgIGlzUmFuZ2VkPXtmYWxzZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17dmFsID0+IG9uU2xpZGVyQ2hhbmdlKCdhemltdXRoQW5nbGUnLCB2YWwpfVxuICAgICAgICAgICAgICAgIGlucHV0VGhlbWU9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgIHNob3dJbnB1dFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9BdG1vc3BoZXJlU2xpZGVyV3JhcHBlcj5cbiAgICAgICAgICA8L1NsaWRlclJvdz5cblxuICAgICAgICAgIHsvKiBCYXNlbWFwICovfVxuICAgICAgICAgIDxTdHlsZWRDb25maWdSb3c+XG4gICAgICAgICAgICA8UGFuZWxMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyLWdyb3VwX192aXNpYmlsaXR5LXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJnbG9iZS1iYXNlbWFwLXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgdG9vbHRpcD17Z2xvYmVDb25maWcuYmFzZW1hcCA/ICd0b29sdGlwLmhpZGUnIDogJ3Rvb2x0aXAuc2hvdyd9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25Ub2dnbGUoJ2Jhc2VtYXAnLCBbJ2xhYmVscycsICdhZG1pbkxpbmVzJywgJ3dhdGVyJ10pfVxuICAgICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2dsb2JlQ29uZmlnLmJhc2VtYXAgPyBFeWVTZWVuIDogRXllVW5zZWVufVxuICAgICAgICAgICAgICAgIGFjdGl2ZT17Z2xvYmVDb25maWcuYmFzZW1hcH1cbiAgICAgICAgICAgICAgICBmbHVzaFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8TGF5ZXJMYWJlbCAkYWN0aXZlPXtnbG9iZUNvbmZpZy5iYXNlbWFwfT5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIm1hcExheWVycy5iYXNlbWFwXCIgLz5cbiAgICAgICAgICAgICAgPC9MYXllckxhYmVsPlxuICAgICAgICAgICAgPC9QYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICA8L1N0eWxlZENvbmZpZ1Jvdz5cblxuICAgICAgICAgIHsvKiBMYWJlbHMgKGNoaWxkIG9mIGJhc2VtYXApICovfVxuICAgICAgICAgIDxDaGlsZFJvdz5cbiAgICAgICAgICAgIDxQYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXItZ3JvdXBfX3Zpc2liaWxpdHktdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICBpZD1cImdsb2JlLWxhYmVscy10b2dnbGVcIlxuICAgICAgICAgICAgICAgIHRvb2x0aXA9e2dsb2JlQ29uZmlnLmxhYmVscyA/ICd0b29sdGlwLmhpZGUnIDogJ3Rvb2x0aXAuc2hvdyd9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25Ub2dnbGUoJ2xhYmVscycsIHVuZGVmaW5lZCwgJ2Jhc2VtYXAnKX1cbiAgICAgICAgICAgICAgICBJY29uQ29tcG9uZW50PXtnbG9iZUNvbmZpZy5sYWJlbHMgPyBFeWVTZWVuIDogRXllVW5zZWVufVxuICAgICAgICAgICAgICAgIGFjdGl2ZT17Z2xvYmVDb25maWcubGFiZWxzICYmIGdsb2JlQ29uZmlnLmJhc2VtYXB9XG4gICAgICAgICAgICAgICAgZmx1c2hcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPExheWVyTGFiZWwgJGFjdGl2ZT17Z2xvYmVDb25maWcubGFiZWxzICYmIGdsb2JlQ29uZmlnLmJhc2VtYXB9PlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibWFwTGF5ZXJzLmxhYmVsXCIgLz5cbiAgICAgICAgICAgICAgPC9MYXllckxhYmVsPlxuICAgICAgICAgICAgPC9QYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgIDxDb2xvclBpY2tlclNsb3Q+XG4gICAgICAgICAgICAgIDxMYXllckdyb3VwQ29sb3JQaWNrZXJcbiAgICAgICAgICAgICAgICBzbHVnPVwiZ2xvYmUtbGFiZWxzXCJcbiAgICAgICAgICAgICAgICBjb2xvcj17Z2xvYmVDb25maWcubGFiZWxzQ29sb3J9XG4gICAgICAgICAgICAgICAgb25Db2xvckNoYW5nZT17KGNvbG9yOiBSR0JDb2xvcikgPT4gb25Db2xvckNoYW5nZSgnbGFiZWxzQ29sb3InLCBjb2xvcil9XG4gICAgICAgICAgICAgICAgZXh0cmFNYXJnaW5SaWdodD17dHJ1ZX1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17IShnbG9iZUNvbmZpZy5sYWJlbHMgJiYgZ2xvYmVDb25maWcuYmFzZW1hcCl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L0NvbG9yUGlja2VyU2xvdD5cbiAgICAgICAgICA8L0NoaWxkUm93PlxuXG4gICAgICAgICAgey8qIEFkbWluIExpbmVzIChjaGlsZCBvZiBiYXNlbWFwKSAqL31cbiAgICAgICAgICA8Q2hpbGRSb3c+XG4gICAgICAgICAgICA8UGFuZWxMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyLWdyb3VwX192aXNpYmlsaXR5LXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJnbG9iZS1hZG1pbi10b2dnbGVcIlxuICAgICAgICAgICAgICAgIHRvb2x0aXA9e2dsb2JlQ29uZmlnLmFkbWluTGluZXMgPyAndG9vbHRpcC5oaWRlJyA6ICd0b29sdGlwLnNob3cnfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uVG9nZ2xlKCdhZG1pbkxpbmVzJywgdW5kZWZpbmVkLCAnYmFzZW1hcCcpfVxuICAgICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2dsb2JlQ29uZmlnLmFkbWluTGluZXMgPyBFeWVTZWVuIDogRXllVW5zZWVufVxuICAgICAgICAgICAgICAgIGFjdGl2ZT17Z2xvYmVDb25maWcuYWRtaW5MaW5lcyAmJiBnbG9iZUNvbmZpZy5iYXNlbWFwfVxuICAgICAgICAgICAgICAgIGZsdXNoXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxMYXllckxhYmVsICRhY3RpdmU9e2dsb2JlQ29uZmlnLmFkbWluTGluZXMgJiYgZ2xvYmVDb25maWcuYmFzZW1hcH0+XG4gICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJtYXBMYXllcnMuYWRtaW5Cb3JkZXJzXCIgLz5cbiAgICAgICAgICAgICAgPC9MYXllckxhYmVsPlxuICAgICAgICAgICAgPC9QYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgIDxDb2xvclBpY2tlclNsb3Q+XG4gICAgICAgICAgICAgIDxMYXllckdyb3VwQ29sb3JQaWNrZXJcbiAgICAgICAgICAgICAgICBzbHVnPVwiZ2xvYmUtYWRtaW5cIlxuICAgICAgICAgICAgICAgIGNvbG9yPXtnbG9iZUNvbmZpZy5hZG1pbkxpbmVzQ29sb3J9XG4gICAgICAgICAgICAgICAgb25Db2xvckNoYW5nZT17KGNvbG9yOiBSR0JDb2xvcikgPT4gb25Db2xvckNoYW5nZSgnYWRtaW5MaW5lc0NvbG9yJywgY29sb3IpfVxuICAgICAgICAgICAgICAgIGV4dHJhTWFyZ2luUmlnaHQ9e3RydWV9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyEoZ2xvYmVDb25maWcuYWRtaW5MaW5lcyAmJiBnbG9iZUNvbmZpZy5iYXNlbWFwKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvQ29sb3JQaWNrZXJTbG90PlxuICAgICAgICAgIDwvQ2hpbGRSb3c+XG5cbiAgICAgICAgICB7LyogV2F0ZXIgKGNoaWxkIG9mIGJhc2VtYXApICovfVxuICAgICAgICAgIDxDaGlsZFJvdz5cbiAgICAgICAgICAgIDxQYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXItZ3JvdXBfX3Zpc2liaWxpdHktdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICBpZD1cImdsb2JlLXdhdGVyLXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgdG9vbHRpcD17Z2xvYmVDb25maWcud2F0ZXIgPyAndG9vbHRpcC5oaWRlJyA6ICd0b29sdGlwLnNob3cnfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uVG9nZ2xlKCd3YXRlcicsIHVuZGVmaW5lZCwgJ2Jhc2VtYXAnKX1cbiAgICAgICAgICAgICAgICBJY29uQ29tcG9uZW50PXtnbG9iZUNvbmZpZy53YXRlciA/IEV5ZVNlZW4gOiBFeWVVbnNlZW59XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtnbG9iZUNvbmZpZy53YXRlciAmJiBnbG9iZUNvbmZpZy5iYXNlbWFwfVxuICAgICAgICAgICAgICAgIGZsdXNoXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxMYXllckxhYmVsICRhY3RpdmU9e2dsb2JlQ29uZmlnLndhdGVyICYmIGdsb2JlQ29uZmlnLmJhc2VtYXB9PlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibWFwTGF5ZXJzLndhdGVyXCIgLz5cbiAgICAgICAgICAgICAgPC9MYXllckxhYmVsPlxuICAgICAgICAgICAgPC9QYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgIDxDb2xvclBpY2tlclNsb3Q+XG4gICAgICAgICAgICAgIDxMYXllckdyb3VwQ29sb3JQaWNrZXJcbiAgICAgICAgICAgICAgICBzbHVnPVwiZ2xvYmUtd2F0ZXJcIlxuICAgICAgICAgICAgICAgIGNvbG9yPXtnbG9iZUNvbmZpZy53YXRlckNvbG9yfVxuICAgICAgICAgICAgICAgIG9uQ29sb3JDaGFuZ2U9eyhjb2xvcjogUkdCQ29sb3IpID0+IG9uQ29sb3JDaGFuZ2UoJ3dhdGVyQ29sb3InLCBjb2xvcil9XG4gICAgICAgICAgICAgICAgZXh0cmFNYXJnaW5SaWdodD17dHJ1ZX1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17IShnbG9iZUNvbmZpZy53YXRlciAmJiBnbG9iZUNvbmZpZy5iYXNlbWFwKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvQ29sb3JQaWNrZXJTbG90PlxuICAgICAgICAgIDwvQ2hpbGRSb3c+XG5cbiAgICAgICAgICB7LyogR2xvYmUgU3VyZmFjZSAoYWx3YXlzIHZpc2libGUsIG9ubHkgaGFzIGNvbG9yKSAqL31cbiAgICAgICAgICA8U3R5bGVkQ29uZmlnUm93PlxuICAgICAgICAgICAgPFBhbmVsTGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgICA8TGF5ZXJMYWJlbCAkYWN0aXZlPXt0cnVlfSBzdHlsZT17e21hcmdpbkxlZnQ6ICcyOHB4J319PlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibWFwTGF5ZXJzLnN1cmZhY2VcIiAvPlxuICAgICAgICAgICAgICA8L0xheWVyTGFiZWw+XG4gICAgICAgICAgICA8L1BhbmVsTGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgPENvbG9yUGlja2VyU2xvdD5cbiAgICAgICAgICAgICAgPExheWVyR3JvdXBDb2xvclBpY2tlclxuICAgICAgICAgICAgICAgIHNsdWc9XCJnbG9iZS1zdXJmYWNlXCJcbiAgICAgICAgICAgICAgICBjb2xvcj17Z2xvYmVDb25maWcuc3VyZmFjZUNvbG9yfVxuICAgICAgICAgICAgICAgIG9uQ29sb3JDaGFuZ2U9eyhjb2xvcjogUkdCQ29sb3IpID0+IG9uQ29sb3JDaGFuZ2UoJ3N1cmZhY2VDb2xvcicsIGNvbG9yKX1cbiAgICAgICAgICAgICAgICBleHRyYU1hcmdpblJpZ2h0PXt0cnVlfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtmYWxzZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvQ29sb3JQaWNrZXJTbG90PlxuICAgICAgICAgIDwvU3R5bGVkQ29uZmlnUm93PlxuXG4gICAgICAgICAgey8qIEJhY2tncm91bmQgKGVtcHR5IHNwYWNlIGFyb3VuZCB0aGUgZ2xvYmUsIGFsd2F5cyB2aXNpYmxlKSAqL31cbiAgICAgICAgICA8U3R5bGVkQ29uZmlnUm93PlxuICAgICAgICAgICAgPFBhbmVsTGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgICA8TGF5ZXJMYWJlbCAkYWN0aXZlPXt0cnVlfSBzdHlsZT17e21hcmdpbkxlZnQ6ICcyOHB4J319PlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibWFwTGF5ZXJzLmJhY2tncm91bmRcIiAvPlxuICAgICAgICAgICAgICA8L0xheWVyTGFiZWw+XG4gICAgICAgICAgICA8L1BhbmVsTGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgPENvbG9yUGlja2VyU2xvdD5cbiAgICAgICAgICAgICAgPExheWVyR3JvdXBDb2xvclBpY2tlclxuICAgICAgICAgICAgICAgIHNsdWc9XCJnbG9iZS1iYWNrZ3JvdW5kXCJcbiAgICAgICAgICAgICAgICBjb2xvcj17Z2xvYmVDb25maWcuYmFja2dyb3VuZENvbG9yfVxuICAgICAgICAgICAgICAgIG9uQ29sb3JDaGFuZ2U9eyhjb2xvcjogUkdCQ29sb3IpID0+IG9uQ29sb3JDaGFuZ2UoJ2JhY2tncm91bmRDb2xvcicsIGNvbG9yKX1cbiAgICAgICAgICAgICAgICBleHRyYU1hcmdpblJpZ2h0PXt0cnVlfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtmYWxzZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvQ29sb3JQaWNrZXJTbG90PlxuICAgICAgICAgIDwvU3R5bGVkQ29uZmlnUm93PlxuXG4gICAgICAgICAgey8qIFN0YXJzIChyZW5kZXJlZCBiZWhpbmQgdGhlIGdsb2JlIGluIDNEIHNwYWNlKSAqL31cbiAgICAgICAgICA8U3R5bGVkQ29uZmlnUm93PlxuICAgICAgICAgICAgPFBhbmVsTGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllci1ncm91cF9fdmlzaWJpbGl0eS10b2dnbGVcIlxuICAgICAgICAgICAgICAgIGlkPVwiZ2xvYmUtc3RhcnMtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICB0b29sdGlwPXtnbG9iZUNvbmZpZy5zdGFycyA/ICd0b29sdGlwLmhpZGUnIDogJ3Rvb2x0aXAuc2hvdyd9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25Ub2dnbGUoJ3N0YXJzJyl9XG4gICAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17Z2xvYmVDb25maWcuc3RhcnMgPyBFeWVTZWVuIDogRXllVW5zZWVufVxuICAgICAgICAgICAgICAgIGFjdGl2ZT17Z2xvYmVDb25maWcuc3RhcnN9XG4gICAgICAgICAgICAgICAgZmx1c2hcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPExheWVyTGFiZWwgJGFjdGl2ZT17Z2xvYmVDb25maWcuc3RhcnN9PlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibWFwTGF5ZXJzLnN0YXJzXCIgLz5cbiAgICAgICAgICAgICAgPC9MYXllckxhYmVsPlxuICAgICAgICAgICAgPC9QYW5lbExhYmVsV3JhcHBlcj5cbiAgICAgICAgICA8L1N0eWxlZENvbmZpZ1Jvdz5cbiAgICAgICAgPC9QYW5lbENvbnRlbnQ+XG4gICAgICA8L1N0eWxlZEdsb2JlQ29uZmlnUGFuZWw+XG4gICAgKTtcbiAgfTtcblxuICBHbG9iZUNvbmZpZ1BhbmVsLmRpc3BsYXlOYW1lID0gJ0dsb2JlQ29uZmlnUGFuZWwnO1xuICByZXR1cm4gR2xvYmVDb25maWdQYW5lbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgR2xvYmVDb25maWdQYW5lbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFHQyxXQUFXLFFBQU8sT0FBTztBQUN4QyxPQUFPQyxNQUFNLElBQUdDLEdBQUcsUUFBTyxtQkFBbUI7QUFHN0MsU0FBcUJDLG9CQUFvQixRQUFPLHNCQUFzQjtBQUN0RSxTQUFRQyxnQkFBZ0IsUUFBTyx5QkFBeUI7QUFFeEQsU0FBUUMsT0FBTyxFQUFFQyxTQUFTLFFBQU8sb0JBQW9CO0FBQ3JELFNBQ0VDLFVBQVUsRUFDVkMsWUFBWSxFQUNaQyxjQUFjLEVBQ2RDLGlCQUFpQixRQUNaLGdDQUFnQztBQUN2QyxPQUFPQyx3QkFBd0IsTUFBTSx3QkFBd0I7QUFDN0QsT0FBT0Msa0JBQWtCLE1BQU0sMkJBQTJCO0FBQzFELE9BQU9DLDRCQUE0QixNQUFNLGdDQUFnQztBQUV6RSxJQUFNQyxzQkFBc0IsR0FBR2IsTUFBTSxDQUFDYyxHQUFHLENBQUFDLGVBQUEsS0FBQUEsZUFBQSxHQUFBQyxzQkFBQSw0SkFPeEM7QUFFRCxJQUFNQyxlQUFlLEdBQUdqQixNQUFNLENBQUNjLEdBQUcsQ0FBQUksZ0JBQUEsS0FBQUEsZ0JBQUEsR0FBQUYsc0JBQUEsb09BYWpDO0FBRUQsSUFBTUcsYUFBYSxHQUFHbEIsR0FBRyxDQUFBbUIsZ0JBQUEsS0FBQUEsZ0JBQUEsR0FBQUosc0JBQUEsb0RBR3hCO0FBRUQsSUFBTUssYUFBYSxHQUFHckIsTUFBTSxDQUFDYyxHQUFHLENBQUFRLGdCQUFBLEtBQUFBLGdCQUFBLEdBQUFOLHNCQUFBLHlEQUc1QixVQUFBTyxLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDQyxRQUFRLEdBQUcsRUFBRSxHQUFHTCxhQUFhO0FBQUEsQ0FBQyxDQUNqRDs7QUFFRDtBQUNBO0FBQ0EsSUFBTU0sdUJBQXVCLEdBQUd6QixNQUFNLENBQUNxQixhQUFhLENBQUMsQ0FBQUssZ0JBQUEsS0FBQUEsZ0JBQUEsR0FBQVYsc0JBQUEsK0NBRXhDLFVBQUFPLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNJLEtBQUssQ0FBQ0MsZ0JBQWdCLEdBQUcsQ0FBQztBQUFBLEVBRXJEOztBQUVEO0FBQ0E7QUFDQSxJQUFNQyxlQUFlLEdBQUc3QixNQUFNLENBQUNjLEdBQUcsQ0FBQWdCLGdCQUFBLEtBQUFBLGdCQUFBLEdBQUFkLHNCQUFBLGlDQUVqQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBTWUsU0FBUyxHQUFHL0IsTUFBTSxDQUFDaUIsZUFBZSxDQUFDLENBQUFlLGdCQUFBLEtBQUFBLGdCQUFBLEdBQUFoQixzQkFBQSxzSkFReEM7QUFFRCxJQUFNaUIsVUFBVSxHQUFHakMsTUFBTSxDQUFDUSxjQUFjLENBQUMsQ0FBQTBCLGdCQUFBLEtBQUFBLGdCQUFBLEdBQUFsQixzQkFBQSwyQkFDOUIsVUFBQU8sS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ1ksT0FBTyxHQUFHWixLQUFLLENBQUNJLEtBQUssQ0FBQ1MsU0FBUyxHQUFHYixLQUFLLENBQUNJLEtBQUssQ0FBQ1UsVUFBVTtBQUFBLENBQUMsQ0FDbkY7QUFFRCxJQUFNQyxRQUFRLEdBQUd0QyxNQUFNLENBQUNpQixlQUFlLENBQUMsQ0FBQXNCLGdCQUFBLEtBQUFBLGdCQUFBLEdBQUF2QixzQkFBQSw2RUFJdkM7QUFPRHdCLHVCQUF1QixDQUFDQyxJQUFJLEdBQUcsQ0FDN0IvQix3QkFBd0IsRUFDeEJDLGtCQUFrQixFQUNsQkMsNEJBQTRCLENBQzdCO0FBRUQsU0FBUzRCLHVCQUF1QkEsQ0FDOUJFLGlCQUE4RCxFQUM5REMsV0FBa0QsRUFDbERDLHFCQUFzRSxFQUN0RTtFQUNBLElBQU1DLGdCQUFpRCxHQUFHLFNBQXBEQSxnQkFBaURBLENBQUFDLElBQUEsRUFBd0M7SUFBQSxJQUFBQyxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLHFCQUFBLEVBQUFDLHNCQUFBO0lBQUEsSUFBbkNDLFFBQVEsR0FBQUwsSUFBQSxDQUFSSyxRQUFRO01BQUVDLG1CQUFtQixHQUFBTixJQUFBLENBQW5CTSxtQkFBbUI7SUFDdkYsSUFBTUMsV0FBVyxJQUFBTixlQUFBLEdBQUdJLFFBQVEsQ0FBQ0csS0FBSyxjQUFBUCxlQUFBLHVCQUFkQSxlQUFBLENBQWdCUSxNQUFNO0lBRTFDLElBQU1DLFFBQVEsR0FBR3pELFdBQVcsQ0FDMUIsVUFDRTBELEdBQXNCLEVBQ3RCQyxTQUFpQyxFQUNqQ0MsU0FBNkIsRUFDMUI7TUFDSCxJQUFJLENBQUNOLFdBQVcsRUFBRTtNQUNsQixJQUFNTyxRQUFRLEdBQUcsQ0FBQ1AsV0FBVyxDQUFDSSxHQUFHLENBQUM7TUFDbEMsSUFBTUksTUFBNEIsR0FBQUMsZUFBQSxLQUFLTCxHQUFHLEVBQUdHLFFBQVEsQ0FBQztNQUN0RCxJQUFJRixTQUFTLEVBQUU7UUFDYkEsU0FBUyxDQUFDSyxPQUFPLENBQUMsVUFBQUMsUUFBUSxFQUFJO1VBQzVCSCxNQUFNLENBQUNHLFFBQVEsQ0FBQyxHQUFHSixRQUFlO1FBQ3BDLENBQUMsQ0FBQztNQUNKO01BQ0EsSUFBSUQsU0FBUyxJQUFJQyxRQUFRLEtBQUssSUFBSSxFQUFFO1FBQ2xDQyxNQUFNLENBQUNGLFNBQVMsQ0FBQyxHQUFHLElBQVc7TUFDakM7TUFDQVAsbUJBQW1CLENBQUNTLE1BQU0sQ0FBQztJQUM3QixDQUFDLEVBQ0QsQ0FBQ1IsV0FBVyxFQUFFRCxtQkFBbUIsQ0FDbkMsQ0FBQztJQUVELElBQU1hLGNBQWMsR0FBR2xFLFdBQVcsQ0FDaEMsVUFBQzBELEdBQXNCLEVBQUVTLEtBQWUsRUFBSztNQUMzQ2QsbUJBQW1CLENBQUFVLGVBQUEsS0FBR0wsR0FBRyxFQUFHUyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQXlCLENBQUM7SUFDaEUsQ0FBQyxFQUNELENBQUNkLG1CQUFtQixDQUN0QixDQUFDO0lBRUQsSUFBTWUsY0FBYSxHQUFHcEUsV0FBVyxDQUMvQixVQUFDMEQsR0FBc0IsRUFBRVcsS0FBZSxFQUFLO01BQzNDaEIsbUJBQW1CLENBQUFVLGVBQUEsS0FBR0wsR0FBRyxFQUFHVyxLQUFLLENBQXlCLENBQUM7SUFDN0QsQ0FBQyxFQUNELENBQUNoQixtQkFBbUIsQ0FDdEIsQ0FBQztJQUVELElBQUksR0FBQUosZ0JBQUEsR0FBQ0csUUFBUSxDQUFDRyxLQUFLLGNBQUFOLGdCQUFBLGVBQWRBLGdCQUFBLENBQWdCcUIsT0FBTyxLQUFJLENBQUNoQixXQUFXLEVBQUU7TUFDNUMsT0FBTyxJQUFJO0lBQ2I7SUFFQSxvQkFDRXZELEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ3pELHNCQUFzQixxQkFDckJmLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ2hFLFVBQVUscUJBQ1RSLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ25FLGdCQUFnQjtNQUFDb0UsRUFBRSxFQUFDO0lBQXdCLENBQUUsQ0FDckMsQ0FBQyxlQUNiekUsS0FBQSxDQUFBd0UsYUFBQSxDQUFDL0QsWUFBWSxxQkFFWFQsS0FBQSxDQUFBd0UsYUFBQSxDQUFDckQsZUFBZSxxQkFDZG5CLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQzdELGlCQUFpQixxQkFDaEJYLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQzVCLGlCQUFpQjtNQUNoQjhCLFNBQVMsRUFBQyxnQ0FBZ0M7TUFDMUNELEVBQUUsRUFBQyx5QkFBeUI7TUFDNUJFLE9BQU8sRUFBRXBCLFdBQVcsQ0FBQ3FCLFVBQVUsR0FBRyxjQUFjLEdBQUcsY0FBZTtNQUNsRUMsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7UUFBQSxPQUFRbkIsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztNQUFBLENBQUM7TUFDakVvQixhQUFhLEVBQUV2QixXQUFXLENBQUNxQixVQUFVLEdBQUd0RSxPQUFPLEdBQUdDLFNBQVU7TUFDNUR3RSxNQUFNLEVBQUV4QixXQUFXLENBQUNxQixVQUFXO01BQy9CSSxLQUFLO0lBQUEsQ0FDTixDQUFDLGVBQ0ZoRixLQUFBLENBQUF3RSxhQUFBLENBQUNyQyxVQUFVO01BQUNFLE9BQU8sRUFBRWtCLFdBQVcsQ0FBQ3FCO0lBQVcsZ0JBQzFDNUUsS0FBQSxDQUFBd0UsYUFBQSxDQUFDbkUsZ0JBQWdCO01BQUNvRSxFQUFFLEVBQUM7SUFBc0IsQ0FBRSxDQUNuQyxDQUNLLENBQ0osQ0FBQyxlQUdsQnpFLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ2hDLFFBQVEscUJBQ1B4QyxLQUFBLENBQUF3RSxhQUFBLENBQUM3RCxpQkFBaUIscUJBQ2hCWCxLQUFBLENBQUF3RSxhQUFBLENBQUM1QixpQkFBaUI7TUFDaEI4QixTQUFTLEVBQUMsZ0NBQWdDO01BQzFDRCxFQUFFLEVBQUMsd0JBQXdCO01BQzNCRSxPQUFPLEVBQUVwQixXQUFXLENBQUMwQixRQUFRLEdBQUcsY0FBYyxHQUFHLGNBQWU7TUFDaEVKLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO1FBQUEsT0FBUW5CLFFBQVEsQ0FBQyxVQUFVLEVBQUV3QixTQUFTLEVBQUUsWUFBWSxDQUFDO01BQUEsQ0FBQztNQUM3REosYUFBYSxFQUFFdkIsV0FBVyxDQUFDMEIsUUFBUSxHQUFHM0UsT0FBTyxHQUFHQyxTQUFVO01BQzFEd0UsTUFBTSxFQUFFSSxPQUFPLENBQUM1QixXQUFXLENBQUMwQixRQUFRLElBQUkxQixXQUFXLENBQUNxQixVQUFVLENBQUU7TUFDaEVJLEtBQUs7SUFBQSxDQUNOLENBQUMsZUFDRmhGLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ3JDLFVBQVU7TUFBQ0UsT0FBTyxFQUFFOEMsT0FBTyxDQUFDNUIsV0FBVyxDQUFDMEIsUUFBUSxJQUFJMUIsV0FBVyxDQUFDcUIsVUFBVTtJQUFFLGdCQUMzRTVFLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ25FLGdCQUFnQjtNQUFDb0UsRUFBRSxFQUFDO0lBQW9CLENBQUUsQ0FDakMsQ0FDSyxDQUNYLENBQUMsZUFHWHpFLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ3ZDLFNBQVMscUJBQ1JqQyxLQUFBLENBQUF3RSxhQUFBLENBQUM3RCxpQkFBaUIscUJBQ2hCWCxLQUFBLENBQUF3RSxhQUFBLENBQUNyQyxVQUFVO01BQ1RFLE9BQU8sRUFBRThDLE9BQU8sQ0FBQzVCLFdBQVcsQ0FBQzBCLFFBQVEsSUFBSTFCLFdBQVcsQ0FBQ3FCLFVBQVUsQ0FBRTtNQUNqRVEsS0FBSyxFQUFFO1FBQUNDLFdBQVcsRUFBRTtNQUFFO0lBQUUsZ0JBRXpCckYsS0FBQSxDQUFBd0UsYUFBQSxDQUFDbkUsZ0JBQWdCO01BQUNvRSxFQUFFLEVBQUM7SUFBMEIsQ0FBRSxDQUN2QyxDQUNLLENBQUMsZUFDcEJ6RSxLQUFBLENBQUF3RSxhQUFBLENBQUM3Qyx1QkFBdUI7TUFBQ0QsUUFBUSxFQUFFeUQsT0FBTyxDQUFDNUIsV0FBVyxDQUFDMEIsUUFBUSxJQUFJMUIsV0FBVyxDQUFDcUIsVUFBVTtJQUFFLGdCQUN6RjVFLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQzNCLFdBQVc7TUFDVnlDLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUU7TUFDbEJDLE1BQU0sRUFBRSxDQUFFO01BQ1ZDLE1BQU0sR0FBQXJDLHFCQUFBLEdBQUVJLFdBQVcsQ0FBQ2tDLGNBQWMsY0FBQXRDLHFCQUFBLGNBQUFBLHFCQUFBLEdBQUkvQyxvQkFBb0IsQ0FBQ3FGLGNBQWU7TUFDMUVDLElBQUksRUFBRSxJQUFLO01BQ1hDLFFBQVEsRUFBRSxLQUFNO01BQ2hCQyxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBRUMsR0FBRztRQUFBLE9BQUkxQixjQUFjLENBQUMsZ0JBQWdCLEVBQUUwQixHQUFHLENBQUM7TUFBQSxDQUFDO01BQ3ZEQyxVQUFVLEVBQUMsV0FBVztNQUN0QkMsU0FBUztJQUFBLENBQ1YsQ0FDc0IsQ0FDaEIsQ0FBQyxlQUdaL0YsS0FBQSxDQUFBd0UsYUFBQSxDQUFDdkMsU0FBUyxxQkFDUmpDLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQzdELGlCQUFpQixxQkFDaEJYLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ3JDLFVBQVU7TUFDVEUsT0FBTyxFQUFFOEMsT0FBTyxDQUFDNUIsV0FBVyxDQUFDMEIsUUFBUSxJQUFJMUIsV0FBVyxDQUFDcUIsVUFBVSxDQUFFO01BQ2pFUSxLQUFLLEVBQUU7UUFBQ0MsV0FBVyxFQUFFO01BQUU7SUFBRSxnQkFFekJyRixLQUFBLENBQUF3RSxhQUFBLENBQUNuRSxnQkFBZ0I7TUFBQ29FLEVBQUUsRUFBQztJQUEyQixDQUFFLENBQ3hDLENBQ0ssQ0FBQyxlQUNwQnpFLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQzdDLHVCQUF1QjtNQUFDRCxRQUFRLEVBQUV5RCxPQUFPLENBQUM1QixXQUFXLENBQUMwQixRQUFRLElBQUkxQixXQUFXLENBQUNxQixVQUFVO0lBQUUsZ0JBQ3pGNUUsS0FBQSxDQUFBd0UsYUFBQSxDQUFDM0IsV0FBVztNQUNWeUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBRTtNQUNkQyxNQUFNLEVBQUUsQ0FBRTtNQUNWQyxNQUFNLEdBQUFwQyxzQkFBQSxHQUFFRyxXQUFXLENBQUN5QyxlQUFlLGNBQUE1QyxzQkFBQSxjQUFBQSxzQkFBQSxHQUFJaEQsb0JBQW9CLENBQUM0RixlQUFnQjtNQUM1RU4sSUFBSSxFQUFFLElBQUs7TUFDWEMsUUFBUSxFQUFFLEtBQU07TUFDaEJDLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFFQyxHQUFHO1FBQUEsT0FBSTFCLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRTBCLEdBQUcsQ0FBQztNQUFBLENBQUM7TUFDeERDLFVBQVUsRUFBQyxXQUFXO01BQ3RCQyxTQUFTO0lBQUEsQ0FDVixDQUNzQixDQUNoQixDQUFDLGVBR1ovRixLQUFBLENBQUF3RSxhQUFBLENBQUN2QyxTQUFTLHFCQUNSakMsS0FBQSxDQUFBd0UsYUFBQSxDQUFDN0QsaUJBQWlCLHFCQUNoQlgsS0FBQSxDQUFBd0UsYUFBQSxDQUFDNUIsaUJBQWlCO01BQ2hCOEIsU0FBUyxFQUFDLGdDQUFnQztNQUMxQ0QsRUFBRSxFQUFDLHlCQUF5QjtNQUM1QkUsT0FBTyxFQUFFcEIsV0FBVyxDQUFDMEMsVUFBVSxHQUFHLGNBQWMsR0FBRyxjQUFlO01BQ2xFcEIsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7UUFBQSxPQUFRbkIsUUFBUSxDQUFDLFlBQVksRUFBRXdCLFNBQVMsRUFBRSxZQUFZLENBQUM7TUFBQSxDQUFDO01BQy9ESixhQUFhLEVBQUV2QixXQUFXLENBQUMwQyxVQUFVLEdBQUczRixPQUFPLEdBQUdDLFNBQVU7TUFDNUR3RSxNQUFNLEVBQUV4QixXQUFXLENBQUMwQyxVQUFVLElBQUkxQyxXQUFXLENBQUNxQixVQUFXO01BQ3pESSxLQUFLO0lBQUEsQ0FDTixDQUFDLGVBQ0ZoRixLQUFBLENBQUF3RSxhQUFBLENBQUNyQyxVQUFVO01BQUNFLE9BQU8sRUFBRWtCLFdBQVcsQ0FBQzBDLFVBQVUsSUFBSTFDLFdBQVcsQ0FBQ3FCO0lBQVcsZ0JBQ3BFNUUsS0FBQSxDQUFBd0UsYUFBQSxDQUFDbkUsZ0JBQWdCO01BQUNvRSxFQUFFLEVBQUM7SUFBc0IsQ0FBRSxDQUNuQyxDQUNLLENBQUMsZUFDcEJ6RSxLQUFBLENBQUF3RSxhQUFBLENBQUM3Qyx1QkFBdUI7TUFBQ0QsUUFBUSxFQUFFNkIsV0FBVyxDQUFDMEMsVUFBVSxJQUFJMUMsV0FBVyxDQUFDcUI7SUFBVyxnQkFDbEY1RSxLQUFBLENBQUF3RSxhQUFBLENBQUMzQixXQUFXO01BQ1Z5QyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFFO01BQ2RDLE1BQU0sRUFBRSxDQUFFO01BQ1ZDLE1BQU0sRUFBRWpDLFdBQVcsQ0FBQzJDLGlCQUFrQjtNQUN0Q1IsSUFBSSxFQUFFLElBQUs7TUFDWEMsUUFBUSxFQUFFLEtBQU07TUFDaEJDLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFFQyxHQUFHO1FBQUEsT0FBSTFCLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRTBCLEdBQUcsQ0FBQztNQUFBLENBQUM7TUFDMURDLFVBQVUsRUFBQyxXQUFXO01BQ3RCQyxTQUFTO0lBQUEsQ0FDVixDQUNzQixDQUNoQixDQUFDLGVBR1ovRixLQUFBLENBQUF3RSxhQUFBLENBQUN2QyxTQUFTLHFCQUNSakMsS0FBQSxDQUFBd0UsYUFBQSxDQUFDN0QsaUJBQWlCLHFCQUNoQlgsS0FBQSxDQUFBd0UsYUFBQSxDQUFDNUIsaUJBQWlCO01BQ2hCOEIsU0FBUyxFQUFDLGdDQUFnQztNQUMxQ0QsRUFBRSxFQUFDLHNCQUFzQjtNQUN6QkUsT0FBTyxFQUFFcEIsV0FBVyxDQUFDNEMsT0FBTyxHQUFHLGNBQWMsR0FBRyxjQUFlO01BQy9EdEIsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7UUFBQSxPQUFRbkIsUUFBUSxDQUFDLFNBQVMsRUFBRXdCLFNBQVMsRUFBRSxZQUFZLENBQUM7TUFBQSxDQUFDO01BQzVESixhQUFhLEVBQUV2QixXQUFXLENBQUM0QyxPQUFPLEdBQUc3RixPQUFPLEdBQUdDLFNBQVU7TUFDekR3RSxNQUFNLEVBQUV4QixXQUFXLENBQUM0QyxPQUFPLElBQUk1QyxXQUFXLENBQUNxQixVQUFXO01BQ3RESSxLQUFLO0lBQUEsQ0FDTixDQUFDLGVBQ0ZoRixLQUFBLENBQUF3RSxhQUFBLENBQUNyQyxVQUFVO01BQUNFLE9BQU8sRUFBRWtCLFdBQVcsQ0FBQzRDLE9BQU8sSUFBSTVDLFdBQVcsQ0FBQ3FCO0lBQVcsZ0JBQ2pFNUUsS0FBQSxDQUFBd0UsYUFBQSxDQUFDbkUsZ0JBQWdCO01BQUNvRSxFQUFFLEVBQUM7SUFBc0IsQ0FBRSxDQUNuQyxDQUNLLENBQUMsZUFDcEJ6RSxLQUFBLENBQUF3RSxhQUFBLENBQUM3Qyx1QkFBdUI7TUFBQ0QsUUFBUSxFQUFFNkIsV0FBVyxDQUFDNEMsT0FBTyxJQUFJNUMsV0FBVyxDQUFDcUI7SUFBVyxnQkFDL0U1RSxLQUFBLENBQUF3RSxhQUFBLENBQUMzQixXQUFXO01BQ1Z5QyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFFO01BQ2hCQyxNQUFNLEVBQUUsQ0FBRTtNQUNWQyxNQUFNLEVBQUVqQyxXQUFXLENBQUM2QyxZQUFhO01BQ2pDVixJQUFJLEVBQUUsQ0FBRTtNQUNSQyxRQUFRLEVBQUUsS0FBTTtNQUNoQkMsUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUVDLEdBQUc7UUFBQSxPQUFJMUIsY0FBYyxDQUFDLGNBQWMsRUFBRTBCLEdBQUcsQ0FBQztNQUFBLENBQUM7TUFDckRDLFVBQVUsRUFBQyxXQUFXO01BQ3RCQyxTQUFTO0lBQUEsQ0FDVixDQUNzQixDQUNoQixDQUFDLGVBR1ovRixLQUFBLENBQUF3RSxhQUFBLENBQUNyRCxlQUFlLHFCQUNkbkIsS0FBQSxDQUFBd0UsYUFBQSxDQUFDN0QsaUJBQWlCLHFCQUNoQlgsS0FBQSxDQUFBd0UsYUFBQSxDQUFDNUIsaUJBQWlCO01BQ2hCOEIsU0FBUyxFQUFDLGdDQUFnQztNQUMxQ0QsRUFBRSxFQUFDLHNCQUFzQjtNQUN6QkUsT0FBTyxFQUFFcEIsV0FBVyxDQUFDOEMsT0FBTyxHQUFHLGNBQWMsR0FBRyxjQUFlO01BQy9EeEIsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7UUFBQSxPQUFRbkIsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7TUFBQSxDQUFDO01BQ3RFb0IsYUFBYSxFQUFFdkIsV0FBVyxDQUFDOEMsT0FBTyxHQUFHL0YsT0FBTyxHQUFHQyxTQUFVO01BQ3pEd0UsTUFBTSxFQUFFeEIsV0FBVyxDQUFDOEMsT0FBUTtNQUM1QnJCLEtBQUs7SUFBQSxDQUNOLENBQUMsZUFDRmhGLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ3JDLFVBQVU7TUFBQ0UsT0FBTyxFQUFFa0IsV0FBVyxDQUFDOEM7SUFBUSxnQkFDdkNyRyxLQUFBLENBQUF3RSxhQUFBLENBQUNuRSxnQkFBZ0I7TUFBQ29FLEVBQUUsRUFBQztJQUFtQixDQUFFLENBQ2hDLENBQ0ssQ0FDSixDQUFDLGVBR2xCekUsS0FBQSxDQUFBd0UsYUFBQSxDQUFDaEMsUUFBUSxxQkFDUHhDLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQzdELGlCQUFpQixxQkFDaEJYLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQzVCLGlCQUFpQjtNQUNoQjhCLFNBQVMsRUFBQyxnQ0FBZ0M7TUFDMUNELEVBQUUsRUFBQyxxQkFBcUI7TUFDeEJFLE9BQU8sRUFBRXBCLFdBQVcsQ0FBQytDLE1BQU0sR0FBRyxjQUFjLEdBQUcsY0FBZTtNQUM5RHpCLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO1FBQUEsT0FBUW5CLFFBQVEsQ0FBQyxRQUFRLEVBQUV3QixTQUFTLEVBQUUsU0FBUyxDQUFDO01BQUEsQ0FBQztNQUN4REosYUFBYSxFQUFFdkIsV0FBVyxDQUFDK0MsTUFBTSxHQUFHaEcsT0FBTyxHQUFHQyxTQUFVO01BQ3hEd0UsTUFBTSxFQUFFeEIsV0FBVyxDQUFDK0MsTUFBTSxJQUFJL0MsV0FBVyxDQUFDOEMsT0FBUTtNQUNsRHJCLEtBQUs7SUFBQSxDQUNOLENBQUMsZUFDRmhGLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ3JDLFVBQVU7TUFBQ0UsT0FBTyxFQUFFa0IsV0FBVyxDQUFDK0MsTUFBTSxJQUFJL0MsV0FBVyxDQUFDOEM7SUFBUSxnQkFDN0RyRyxLQUFBLENBQUF3RSxhQUFBLENBQUNuRSxnQkFBZ0I7TUFBQ29FLEVBQUUsRUFBQztJQUFpQixDQUFFLENBQzlCLENBQ0ssQ0FBQyxlQUNwQnpFLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ3pDLGVBQWUscUJBQ2QvQixLQUFBLENBQUF3RSxhQUFBLENBQUMxQixxQkFBcUI7TUFDcEJ5RCxJQUFJLEVBQUMsY0FBYztNQUNuQmpDLEtBQUssRUFBRWYsV0FBVyxDQUFDaUQsV0FBWTtNQUMvQm5DLGFBQWEsRUFBRSxTQUFmQSxhQUFhQSxDQUFHQyxLQUFlO1FBQUEsT0FBS0QsY0FBYSxDQUFDLGFBQWEsRUFBRUMsS0FBSyxDQUFDO01BQUEsQ0FBQztNQUN4RW1DLGdCQUFnQixFQUFFLElBQUs7TUFDdkJDLFFBQVEsRUFBRSxFQUFFbkQsV0FBVyxDQUFDK0MsTUFBTSxJQUFJL0MsV0FBVyxDQUFDOEMsT0FBTztJQUFFLENBQ3hELENBQ2MsQ0FDVCxDQUFDLGVBR1hyRyxLQUFBLENBQUF3RSxhQUFBLENBQUNoQyxRQUFRLHFCQUNQeEMsS0FBQSxDQUFBd0UsYUFBQSxDQUFDN0QsaUJBQWlCLHFCQUNoQlgsS0FBQSxDQUFBd0UsYUFBQSxDQUFDNUIsaUJBQWlCO01BQ2hCOEIsU0FBUyxFQUFDLGdDQUFnQztNQUMxQ0QsRUFBRSxFQUFDLG9CQUFvQjtNQUN2QkUsT0FBTyxFQUFFcEIsV0FBVyxDQUFDb0QsVUFBVSxHQUFHLGNBQWMsR0FBRyxjQUFlO01BQ2xFOUIsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7UUFBQSxPQUFRbkIsUUFBUSxDQUFDLFlBQVksRUFBRXdCLFNBQVMsRUFBRSxTQUFTLENBQUM7TUFBQSxDQUFDO01BQzVESixhQUFhLEVBQUV2QixXQUFXLENBQUNvRCxVQUFVLEdBQUdyRyxPQUFPLEdBQUdDLFNBQVU7TUFDNUR3RSxNQUFNLEVBQUV4QixXQUFXLENBQUNvRCxVQUFVLElBQUlwRCxXQUFXLENBQUM4QyxPQUFRO01BQ3REckIsS0FBSztJQUFBLENBQ04sQ0FBQyxlQUNGaEYsS0FBQSxDQUFBd0UsYUFBQSxDQUFDckMsVUFBVTtNQUFDRSxPQUFPLEVBQUVrQixXQUFXLENBQUNvRCxVQUFVLElBQUlwRCxXQUFXLENBQUM4QztJQUFRLGdCQUNqRXJHLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ25FLGdCQUFnQjtNQUFDb0UsRUFBRSxFQUFDO0lBQXdCLENBQUUsQ0FDckMsQ0FDSyxDQUFDLGVBQ3BCekUsS0FBQSxDQUFBd0UsYUFBQSxDQUFDekMsZUFBZSxxQkFDZC9CLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQzFCLHFCQUFxQjtNQUNwQnlELElBQUksRUFBQyxhQUFhO01BQ2xCakMsS0FBSyxFQUFFZixXQUFXLENBQUNxRCxlQUFnQjtNQUNuQ3ZDLGFBQWEsRUFBRSxTQUFmQSxhQUFhQSxDQUFHQyxLQUFlO1FBQUEsT0FBS0QsY0FBYSxDQUFDLGlCQUFpQixFQUFFQyxLQUFLLENBQUM7TUFBQSxDQUFDO01BQzVFbUMsZ0JBQWdCLEVBQUUsSUFBSztNQUN2QkMsUUFBUSxFQUFFLEVBQUVuRCxXQUFXLENBQUNvRCxVQUFVLElBQUlwRCxXQUFXLENBQUM4QyxPQUFPO0lBQUUsQ0FDNUQsQ0FDYyxDQUNULENBQUMsZUFHWHJHLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ2hDLFFBQVEscUJBQ1B4QyxLQUFBLENBQUF3RSxhQUFBLENBQUM3RCxpQkFBaUIscUJBQ2hCWCxLQUFBLENBQUF3RSxhQUFBLENBQUM1QixpQkFBaUI7TUFDaEI4QixTQUFTLEVBQUMsZ0NBQWdDO01BQzFDRCxFQUFFLEVBQUMsb0JBQW9CO01BQ3ZCRSxPQUFPLEVBQUVwQixXQUFXLENBQUNzRCxLQUFLLEdBQUcsY0FBYyxHQUFHLGNBQWU7TUFDN0RoQyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtRQUFBLE9BQVFuQixRQUFRLENBQUMsT0FBTyxFQUFFd0IsU0FBUyxFQUFFLFNBQVMsQ0FBQztNQUFBLENBQUM7TUFDdkRKLGFBQWEsRUFBRXZCLFdBQVcsQ0FBQ3NELEtBQUssR0FBR3ZHLE9BQU8sR0FBR0MsU0FBVTtNQUN2RHdFLE1BQU0sRUFBRXhCLFdBQVcsQ0FBQ3NELEtBQUssSUFBSXRELFdBQVcsQ0FBQzhDLE9BQVE7TUFDakRyQixLQUFLO0lBQUEsQ0FDTixDQUFDLGVBQ0ZoRixLQUFBLENBQUF3RSxhQUFBLENBQUNyQyxVQUFVO01BQUNFLE9BQU8sRUFBRWtCLFdBQVcsQ0FBQ3NELEtBQUssSUFBSXRELFdBQVcsQ0FBQzhDO0lBQVEsZ0JBQzVEckcsS0FBQSxDQUFBd0UsYUFBQSxDQUFDbkUsZ0JBQWdCO01BQUNvRSxFQUFFLEVBQUM7SUFBaUIsQ0FBRSxDQUM5QixDQUNLLENBQUMsZUFDcEJ6RSxLQUFBLENBQUF3RSxhQUFBLENBQUN6QyxlQUFlLHFCQUNkL0IsS0FBQSxDQUFBd0UsYUFBQSxDQUFDMUIscUJBQXFCO01BQ3BCeUQsSUFBSSxFQUFDLGFBQWE7TUFDbEJqQyxLQUFLLEVBQUVmLFdBQVcsQ0FBQ3VELFVBQVc7TUFDOUJ6QyxhQUFhLEVBQUUsU0FBZkEsYUFBYUEsQ0FBR0MsS0FBZTtRQUFBLE9BQUtELGNBQWEsQ0FBQyxZQUFZLEVBQUVDLEtBQUssQ0FBQztNQUFBLENBQUM7TUFDdkVtQyxnQkFBZ0IsRUFBRSxJQUFLO01BQ3ZCQyxRQUFRLEVBQUUsRUFBRW5ELFdBQVcsQ0FBQ3NELEtBQUssSUFBSXRELFdBQVcsQ0FBQzhDLE9BQU87SUFBRSxDQUN2RCxDQUNjLENBQ1QsQ0FBQyxlQUdYckcsS0FBQSxDQUFBd0UsYUFBQSxDQUFDckQsZUFBZSxxQkFDZG5CLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQzdELGlCQUFpQixxQkFDaEJYLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ3JDLFVBQVU7TUFBQ0UsT0FBTyxFQUFFLElBQUs7TUFBQytDLEtBQUssRUFBRTtRQUFDMkIsVUFBVSxFQUFFO01BQU07SUFBRSxnQkFDckQvRyxLQUFBLENBQUF3RSxhQUFBLENBQUNuRSxnQkFBZ0I7TUFBQ29FLEVBQUUsRUFBQztJQUFtQixDQUFFLENBQ2hDLENBQ0ssQ0FBQyxlQUNwQnpFLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ3pDLGVBQWUscUJBQ2QvQixLQUFBLENBQUF3RSxhQUFBLENBQUMxQixxQkFBcUI7TUFDcEJ5RCxJQUFJLEVBQUMsZUFBZTtNQUNwQmpDLEtBQUssRUFBRWYsV0FBVyxDQUFDeUQsWUFBYTtNQUNoQzNDLGFBQWEsRUFBRSxTQUFmQSxhQUFhQSxDQUFHQyxLQUFlO1FBQUEsT0FBS0QsY0FBYSxDQUFDLGNBQWMsRUFBRUMsS0FBSyxDQUFDO01BQUEsQ0FBQztNQUN6RW1DLGdCQUFnQixFQUFFLElBQUs7TUFDdkJDLFFBQVEsRUFBRTtJQUFNLENBQ2pCLENBQ2MsQ0FDRixDQUFDLGVBR2xCMUcsS0FBQSxDQUFBd0UsYUFBQSxDQUFDckQsZUFBZSxxQkFDZG5CLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQzdELGlCQUFpQixxQkFDaEJYLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ3JDLFVBQVU7TUFBQ0UsT0FBTyxFQUFFLElBQUs7TUFBQytDLEtBQUssRUFBRTtRQUFDMkIsVUFBVSxFQUFFO01BQU07SUFBRSxnQkFDckQvRyxLQUFBLENBQUF3RSxhQUFBLENBQUNuRSxnQkFBZ0I7TUFBQ29FLEVBQUUsRUFBQztJQUFzQixDQUFFLENBQ25DLENBQ0ssQ0FBQyxlQUNwQnpFLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ3pDLGVBQWUscUJBQ2QvQixLQUFBLENBQUF3RSxhQUFBLENBQUMxQixxQkFBcUI7TUFDcEJ5RCxJQUFJLEVBQUMsa0JBQWtCO01BQ3ZCakMsS0FBSyxFQUFFZixXQUFXLENBQUMwRCxlQUFnQjtNQUNuQzVDLGFBQWEsRUFBRSxTQUFmQSxhQUFhQSxDQUFHQyxLQUFlO1FBQUEsT0FBS0QsY0FBYSxDQUFDLGlCQUFpQixFQUFFQyxLQUFLLENBQUM7TUFBQSxDQUFDO01BQzVFbUMsZ0JBQWdCLEVBQUUsSUFBSztNQUN2QkMsUUFBUSxFQUFFO0lBQU0sQ0FDakIsQ0FDYyxDQUNGLENBQUMsZUFHbEIxRyxLQUFBLENBQUF3RSxhQUFBLENBQUNyRCxlQUFlLHFCQUNkbkIsS0FBQSxDQUFBd0UsYUFBQSxDQUFDN0QsaUJBQWlCLHFCQUNoQlgsS0FBQSxDQUFBd0UsYUFBQSxDQUFDNUIsaUJBQWlCO01BQ2hCOEIsU0FBUyxFQUFDLGdDQUFnQztNQUMxQ0QsRUFBRSxFQUFDLG9CQUFvQjtNQUN2QkUsT0FBTyxFQUFFcEIsV0FBVyxDQUFDMkQsS0FBSyxHQUFHLGNBQWMsR0FBRyxjQUFlO01BQzdEckMsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7UUFBQSxPQUFRbkIsUUFBUSxDQUFDLE9BQU8sQ0FBQztNQUFBLENBQUM7TUFDakNvQixhQUFhLEVBQUV2QixXQUFXLENBQUMyRCxLQUFLLEdBQUc1RyxPQUFPLEdBQUdDLFNBQVU7TUFDdkR3RSxNQUFNLEVBQUV4QixXQUFXLENBQUMyRCxLQUFNO01BQzFCbEMsS0FBSztJQUFBLENBQ04sQ0FBQyxlQUNGaEYsS0FBQSxDQUFBd0UsYUFBQSxDQUFDckMsVUFBVTtNQUFDRSxPQUFPLEVBQUVrQixXQUFXLENBQUMyRDtJQUFNLGdCQUNyQ2xILEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ25FLGdCQUFnQjtNQUFDb0UsRUFBRSxFQUFDO0lBQWlCLENBQUUsQ0FDOUIsQ0FDSyxDQUNKLENBQ0wsQ0FDUSxDQUFDO0VBRTdCLENBQUM7RUFFRDFCLGdCQUFnQixDQUFDb0UsV0FBVyxHQUFHLGtCQUFrQjtFQUNqRCxPQUFPcEUsZ0JBQWdCO0FBQ3pCO0FBRUEsZUFBZUwsdUJBQXVCIiwiaWdub3JlTGlzdCI6W119
|
package/dist/index.d.ts
CHANGED
|
@@ -80,6 +80,7 @@ export { default as CoordinateInfoFactory } from './map/coordinate-info';
|
|
|
80
80
|
export { default as LayerHoverInfoFactory } from './map/layer-hover-info';
|
|
81
81
|
export { default as LazyTippy } from './map/lazy-tippy';
|
|
82
82
|
export { default as LocalePanelFactory } from './map/locale-panel';
|
|
83
|
+
export { default as ThemeToggleButtonFactory } from './map/theme-toggle-button';
|
|
83
84
|
export { default as MapControlFactory } from './map/map-control';
|
|
84
85
|
export { default as MapNavigationControlFactory } from './map/map-navigation-control';
|
|
85
86
|
export { default as MapScaleFactory } from './map/map-scale';
|
|
@@ -123,6 +124,7 @@ export { default as SpeedControlFactory } from './common/animation-control/speed
|
|
|
123
124
|
export { default as ExportVideoControlFactory } from './common/animation-control/export-video-control';
|
|
124
125
|
export { default as WindowActionControlFactory } from './common/animation-control/window-action-control';
|
|
125
126
|
export { default as HistogramPlotFactory, HISTOGRAM_MASK_MODE } from './common/histogram-plot';
|
|
127
|
+
export type { HistogramPlotProps } from './common/histogram-plot';
|
|
126
128
|
export { default as IconButton } from './common/icon-button';
|
|
127
129
|
export { default as LinkRenderer } from './common/link-renderer';
|
|
128
130
|
export { default as ColumnStatsChartFactory, HISTOGRAM_WIDTH, HISTOGRAM_HEIGHT, ColorChartHeader, ColorChartTick } from './common/column-stats-chart';
|
|
@@ -152,7 +154,13 @@ export { default as CanvasHack } from './common/data-table/canvas';
|
|
|
152
154
|
export { renderedSize } from './common/data-table/cell-size';
|
|
153
155
|
export { default as DataTableConfigFactory, NumberFormatConfig } from './common/data-table/display-format';
|
|
154
156
|
export { default as HeaderCellFactory } from './common/data-table/header-cell';
|
|
157
|
+
export type { HeaderCellProps } from './common/data-table/header-cell';
|
|
155
158
|
export { FormatterDropdown, default as OptionDropdown } from './common/data-table/option-dropdown';
|
|
159
|
+
export { default as ColumnStatisticsNumericFactory } from './common/data-table/column-statistics-numeric';
|
|
160
|
+
export type { ColumnStatisticsNumericProps } from './common/data-table/column-statistics-numeric';
|
|
161
|
+
export { default as ColumnStatisticsTimeFactory } from './common/data-table/column-statistics-time';
|
|
162
|
+
export type { ColumnStatisticsTimeProps } from './common/data-table/column-statistics-time';
|
|
163
|
+
export { STATS_WIDTH } from './common/data-table/column-statistics-components';
|
|
156
164
|
export { default as DatasetLabel } from './common/dataset-label';
|
|
157
165
|
export { default as FieldSelectorFactory } from './common/field-selector';
|
|
158
166
|
export * from './common/field-token';
|
package/dist/kepler-gl.d.ts
CHANGED
|
@@ -68,6 +68,7 @@ export declare const mapFieldsSelector: (props: KeplerGLProps, index?: number) =
|
|
|
68
68
|
mapControls: import("@kepler.gl/types").MapControls;
|
|
69
69
|
readOnly: boolean;
|
|
70
70
|
locale: string;
|
|
71
|
+
uiTheme: string;
|
|
71
72
|
isLoadingIndicatorVisible: boolean;
|
|
72
73
|
sidePanelWidth: number;
|
|
73
74
|
topMapContainerProps: object | undefined;
|
|
@@ -108,6 +109,7 @@ export declare const sidePanelSelector: (props: KeplerGLProps, availableProvider
|
|
|
108
109
|
"3D": typeof import("@kepler.gl/layers").ScenegraphLayer;
|
|
109
110
|
trip: typeof import("@kepler.gl/layers/dist/trip-layer/trip-layer").default;
|
|
110
111
|
s2: typeof import("@kepler.gl/layers/dist/s2-geometry-layer/s2-geometry-layer").default;
|
|
112
|
+
a5: typeof import("@kepler.gl/layers/dist/a5-layer/a5-layer").default;
|
|
111
113
|
flow: typeof import("@kepler.gl/layers/dist/flow-layer/flow-layer").default;
|
|
112
114
|
vectorTile: typeof import("@kepler.gl/layers").VectorTileLayer;
|
|
113
115
|
rasterTile: typeof import("@kepler.gl/layers").RasterTileLayer;
|
|
@@ -159,6 +161,7 @@ export declare const plotContainerSelector: (props: KeplerGLProps) => {
|
|
|
159
161
|
mapControls: import("@kepler.gl/types").MapControls;
|
|
160
162
|
readOnly: boolean;
|
|
161
163
|
locale: string;
|
|
164
|
+
uiTheme: string;
|
|
162
165
|
isLoadingIndicatorVisible: boolean;
|
|
163
166
|
sidePanelWidth: number;
|
|
164
167
|
topMapContainerProps: object | undefined;
|
|
@@ -4,6 +4,7 @@ import Toggle3dButtonFactory from './toggle-3d-button';
|
|
|
4
4
|
import MapLegendPanelFactory from './map-legend-panel';
|
|
5
5
|
import MapDrawPanelFactory from './map-draw-panel';
|
|
6
6
|
import LocalePanelFactory from './locale-panel';
|
|
7
|
+
import ThemeToggleButtonFactory from './theme-toggle-button';
|
|
7
8
|
import MapNavigationControlFactory from './map-navigation-control';
|
|
8
9
|
import { Layer } from '@kepler.gl/layers';
|
|
9
10
|
import { Editor, LayerVisConfig, LayerOrder, MapControls, MapState } from '@kepler.gl/types';
|
|
@@ -36,12 +37,15 @@ export type MapControlProps = {
|
|
|
36
37
|
onToggleMapControl: (control: string) => void;
|
|
37
38
|
onSetEditorMode: (mode: string) => void;
|
|
38
39
|
onToggleEditorVisibility: () => void;
|
|
40
|
+
onConvertEditorFeaturesToLayer?: () => void;
|
|
39
41
|
onLayerVisConfigChange: (oldLayer: Layer, newVisConfig: Partial<LayerVisConfig>) => void;
|
|
40
42
|
onToggleLayerVisibility?: (layer: Layer) => void;
|
|
41
43
|
top: number;
|
|
42
44
|
onSetLocale: typeof UIStateActions.setLocale;
|
|
45
|
+
onSetTheme: typeof UIStateActions.setTheme;
|
|
43
46
|
availableLocales: string[];
|
|
44
47
|
locale: string;
|
|
48
|
+
themeName?: string;
|
|
45
49
|
logoComponent?: React.FC | React.ReactNode;
|
|
46
50
|
isExport?: boolean;
|
|
47
51
|
setMapControlSettings: typeof UIStateActions.setMapControlSettings;
|
|
@@ -63,10 +67,10 @@ export type MapControlProps = {
|
|
|
63
67
|
}[];
|
|
64
68
|
onToggleLayerForMap?: (mapIndex: number, layerId: string) => void;
|
|
65
69
|
};
|
|
66
|
-
declare function MapControlFactory(SplitMapButton: ReturnType<typeof SplitMapButtonFactory>, Toggle3dButton: ReturnType<typeof Toggle3dButtonFactory>, MapLegendPanel: ReturnType<typeof MapLegendPanelFactory>, MapDrawPanel: ReturnType<typeof MapDrawPanelFactory>, LocalePanel: ReturnType<typeof LocalePanelFactory>, AnnotationControl: ReturnType<typeof AnnotationControlFactory>, MapNavigationControl: ReturnType<typeof MapNavigationControlFactory>): React.FC<MapControlProps> & {
|
|
70
|
+
declare function MapControlFactory(SplitMapButton: ReturnType<typeof SplitMapButtonFactory>, Toggle3dButton: ReturnType<typeof Toggle3dButtonFactory>, MapLegendPanel: ReturnType<typeof MapLegendPanelFactory>, MapDrawPanel: ReturnType<typeof MapDrawPanelFactory>, LocalePanel: ReturnType<typeof LocalePanelFactory>, ThemeToggleButton: ReturnType<typeof ThemeToggleButtonFactory>, AnnotationControl: ReturnType<typeof AnnotationControlFactory>, MapNavigationControl: ReturnType<typeof MapNavigationControlFactory>): React.FC<MapControlProps> & {
|
|
67
71
|
defaultActionComponents: MapControlProps["actionComponents"];
|
|
68
72
|
};
|
|
69
73
|
declare namespace MapControlFactory {
|
|
70
|
-
var deps: (typeof MapNavigationControlFactory | typeof SplitMapButtonFactory | typeof Toggle3dButtonFactory | typeof MapLegendPanelFactory | typeof MapDrawPanelFactory | typeof LocalePanelFactory | typeof AnnotationControlFactory)[];
|
|
74
|
+
var deps: (typeof MapNavigationControlFactory | typeof SplitMapButtonFactory | typeof Toggle3dButtonFactory | typeof MapLegendPanelFactory | typeof MapDrawPanelFactory | typeof LocalePanelFactory | typeof ThemeToggleButtonFactory | typeof AnnotationControlFactory)[];
|
|
71
75
|
}
|
|
72
76
|
export default MapControlFactory;
|
|
@@ -9,6 +9,7 @@ export type MapDrawPanelProps = {
|
|
|
9
9
|
onToggleMapControl: (control: string) => void;
|
|
10
10
|
onSetEditorMode: (mode: string) => void;
|
|
11
11
|
onToggleEditorVisibility: () => void;
|
|
12
|
+
onConvertEditorFeaturesToLayer?: () => void;
|
|
12
13
|
actionIcons: {
|
|
13
14
|
[id: string]: React.ComponentType<Partial<BaseProps>>;
|
|
14
15
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React, { ComponentType } from 'react';
|
|
2
|
+
import { MapControls } from '@kepler.gl/types';
|
|
3
|
+
import MapControlTooltipFactory from './map-control-tooltip';
|
|
4
|
+
interface ThemeToggleButtonIcons {
|
|
5
|
+
sun: ComponentType<any>;
|
|
6
|
+
moon: ComponentType<any>;
|
|
7
|
+
}
|
|
8
|
+
export type ThemeToggleButtonProps = {
|
|
9
|
+
themeName?: string;
|
|
10
|
+
onSetTheme: (theme: string) => void;
|
|
11
|
+
mapControls: MapControls;
|
|
12
|
+
actionIcons?: ThemeToggleButtonIcons;
|
|
13
|
+
};
|
|
14
|
+
declare function ThemeToggleButtonFactory(MapControlTooltip: ReturnType<typeof MapControlTooltipFactory>): React.NamedExoticComponent<ThemeToggleButtonProps>;
|
|
15
|
+
declare namespace ThemeToggleButtonFactory {
|
|
16
|
+
var deps: (typeof MapControlTooltipFactory)[];
|
|
17
|
+
}
|
|
18
|
+
export default ThemeToggleButtonFactory;
|
package/dist/map-container.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ interface DataTableModalProps {
|
|
|
31
31
|
}) => void;
|
|
32
32
|
uiStateActions: typeof UIStateActions;
|
|
33
33
|
uiState: UiState;
|
|
34
|
+
loadColumnStats?: (dataId: string, fieldName: string | string[]) => void;
|
|
34
35
|
}
|
|
35
36
|
declare function DataTableModalFactory(DataTable: ReturnType<typeof DataTableFactory>, DataTableConfig: ReturnType<typeof DataTableConfigFactory>): React.ComponentType<Omit<DataTableModalProps, 'theme'>>;
|
|
36
37
|
declare namespace DataTableModalFactory {
|
|
@@ -96,6 +96,8 @@ export declare class GlobeExportVideoPanelContainer extends Component<GlobeExpor
|
|
|
96
96
|
setViewState: (viewState: MapViewState) => void;
|
|
97
97
|
/** CSS background color (area the globe doesn't cover), from globe config. */
|
|
98
98
|
getBackgroundColor(): string;
|
|
99
|
+
/** Starfield behind the globe, matching the live map's CSS background. */
|
|
100
|
+
areStarsEnabled(): boolean;
|
|
99
101
|
setStateAndNotify(update: GlobeExportVideoSettings): void;
|
|
100
102
|
setMediaType: (mediaType: string) => void;
|
|
101
103
|
setCameraPreset: (cameraPreset: string) => void;
|
|
@@ -14,6 +14,9 @@ export type GlobeExportVideoPreviewProps = {
|
|
|
14
14
|
durationMs: number;
|
|
15
15
|
/** CSS color string for the area the globe does not cover. */
|
|
16
16
|
backgroundColor: string;
|
|
17
|
+
mapProps?: Record<string, any>;
|
|
18
|
+
/** Tileable star-field data URL, matching the live globe map CSS background. */
|
|
19
|
+
starsImage?: string | null;
|
|
17
20
|
};
|
|
18
21
|
/**
|
|
19
22
|
* Single-canvas video export preview for globe mode.
|
|
@@ -45,10 +45,11 @@ export declare function getHubbleDeckGlProps(keplerState: KeplerState, mapboxApi
|
|
|
45
45
|
* stateful and bound to a single Deck) and its own `mapIndex` so the split-map
|
|
46
46
|
* layer visibility is respected on each half of the swipe.
|
|
47
47
|
*/
|
|
48
|
-
export declare function getGlobeExportLayers(keplerState: KeplerState, { mapIndex, mapboxApiAccessToken, mapboxApiUrl }: {
|
|
48
|
+
export declare function getGlobeExportLayers(keplerState: KeplerState, { mapIndex, mapboxApiAccessToken, mapboxApiUrl, viewState }: {
|
|
49
49
|
mapIndex: number;
|
|
50
50
|
mapboxApiAccessToken?: string;
|
|
51
51
|
mapboxApiUrl?: string;
|
|
52
|
+
viewState?: MapViewState;
|
|
52
53
|
}): (import("@kepler.gl/layers").Layer | import("@deck.gl/core").Layer<{}>)[];
|
|
53
54
|
export declare function getAnimatableFilters(keplerState: KeplerState): TimeRangeFilter[];
|
|
54
55
|
export declare function scaleToVideoExport(viewState: MapViewState, container: {
|
|
@@ -7,4 +7,4 @@ export declare function getSwipePercentageAtTime(timeMs: number, durationMs: num
|
|
|
7
7
|
* Composite two canvases (left/right map views) with a swipe divider
|
|
8
8
|
* into a single output canvas.
|
|
9
9
|
*/
|
|
10
|
-
export declare function compositeSwipeFrame(leftCanvas: HTMLCanvasElement, rightCanvas: HTMLCanvasElement, outputCanvas: HTMLCanvasElement, percentage: number, showDivider?: boolean, backgroundColor?: string): void;
|
|
10
|
+
export declare function compositeSwipeFrame(leftCanvas: HTMLCanvasElement, rightCanvas: HTMLCanvasElement, outputCanvas: HTMLCanvasElement, percentage: number, showDivider?: boolean, backgroundColor?: string, showStars?: boolean): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|