@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
|
@@ -6,18 +6,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
11
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
|
+
var _copyToClipboard = _interopRequireDefault(require("copy-to-clipboard"));
|
|
13
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
14
|
var _constants = require("@kepler.gl/constants");
|
|
15
|
+
var _utils = require("@kepler.gl/utils");
|
|
12
16
|
var _icons = require("../common/icons");
|
|
13
|
-
var
|
|
17
|
+
var _styledComponents2 = require("../common/styled-components");
|
|
14
18
|
var _toolbarItem = _interopRequireDefault(require("../common/toolbar-item"));
|
|
15
19
|
var _mapControlTooltip = _interopRequireDefault(require("./map-control-tooltip"));
|
|
16
20
|
var _mapControlToolbar = _interopRequireDefault(require("./map-control-toolbar"));
|
|
17
|
-
|
|
18
|
-
// SPDX-License-Identifier: MIT
|
|
21
|
+
var _templateObject, _templateObject2; // SPDX-License-Identifier: MIT
|
|
19
22
|
// Copyright contributors to the kepler.gl project
|
|
20
|
-
|
|
23
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
24
|
+
var ToolbarSeparator = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n height: 1px;\n margin: 4px 12px;\n background-color: ", ";\n opacity: 0.2;\n"])), function (props) {
|
|
25
|
+
return props.theme.panelHeaderIcon;
|
|
26
|
+
});
|
|
27
|
+
var DrawControls = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n\n .convert-to-layer .toolbar-item__title {\n flex: 1;\n min-width: 0;\n white-space: pre;\n text-align: center;\n line-height: 1.25;\n overflow: hidden;\n font-size: 11px;\n }\n"])));
|
|
21
28
|
MapDrawPanelFactory.deps = [_mapControlTooltip["default"], _mapControlToolbar["default"]];
|
|
22
29
|
function MapDrawPanelFactory(MapControlTooltip, MapControlToolbar) {
|
|
23
30
|
var defaultActionIcons = {
|
|
@@ -26,31 +33,42 @@ function MapDrawPanelFactory(MapControlTooltip, MapControlToolbar) {
|
|
|
26
33
|
polygon: _icons.DrawPolygon,
|
|
27
34
|
cursor: _icons.CursorClick,
|
|
28
35
|
innerPolygon: _icons.Polygon,
|
|
29
|
-
rectangle: _icons.Rectangle
|
|
36
|
+
rectangle: _icons.Rectangle,
|
|
37
|
+
point: _icons.DrawPoint,
|
|
38
|
+
line: _icons.LineString,
|
|
39
|
+
copy: _icons.Copy,
|
|
40
|
+
layers: _icons.Layers
|
|
30
41
|
};
|
|
31
42
|
var MapDrawPanel = /*#__PURE__*/_react["default"].memo(function (_ref) {
|
|
32
|
-
var _mapControls$mapDraw, _mapControls$mapDraw2;
|
|
43
|
+
var _mapControls$mapDraw, _editor$features, _mapControls$mapDraw2;
|
|
33
44
|
var editor = _ref.editor,
|
|
34
45
|
mapControls = _ref.mapControls,
|
|
35
46
|
onToggleMapControl = _ref.onToggleMapControl,
|
|
36
47
|
onSetEditorMode = _ref.onSetEditorMode,
|
|
48
|
+
onConvertEditorFeaturesToLayer = _ref.onConvertEditorFeaturesToLayer,
|
|
37
49
|
_ref$actionIcons = _ref.actionIcons,
|
|
38
50
|
actionIcons = _ref$actionIcons === void 0 ? defaultActionIcons : _ref$actionIcons;
|
|
39
51
|
var isActive = mapControls === null || mapControls === void 0 || (_mapControls$mapDraw = mapControls.mapDraw) === null || _mapControls$mapDraw === void 0 ? void 0 : _mapControls$mapDraw.active;
|
|
52
|
+
var hasSketchFeatures = Boolean(editor === null || editor === void 0 || (_editor$features = editor.features) === null || _editor$features === void 0 ? void 0 : _editor$features.length);
|
|
53
|
+
var enableSketches = (0, _utils.getApplicationConfig)().enableDrawOnMapSketches;
|
|
40
54
|
var onToggleMenuPanel = (0, _react.useCallback)(function () {
|
|
41
55
|
if (!isActive) {
|
|
42
56
|
onSetEditorMode(_constants.EDITOR_MODES.DRAW_RECTANGLE);
|
|
43
57
|
}
|
|
44
58
|
onToggleMapControl('mapDraw');
|
|
45
59
|
}, [isActive, onToggleMapControl, onSetEditorMode]);
|
|
60
|
+
var onCopyAllGeometry = (0, _react.useCallback)(function () {
|
|
61
|
+
var _editor$features2;
|
|
62
|
+
if (!(editor !== null && editor !== void 0 && (_editor$features2 = editor.features) !== null && _editor$features2 !== void 0 && _editor$features2.length)) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
(0, _copyToClipboard["default"])(JSON.stringify((0, _utils.editorFeaturesToFeatureCollection)(editor.features)));
|
|
66
|
+
}, [editor === null || editor === void 0 ? void 0 : editor.features]);
|
|
46
67
|
if (!(mapControls !== null && mapControls !== void 0 && (_mapControls$mapDraw2 = mapControls.mapDraw) !== null && _mapControls$mapDraw2 !== void 0 && _mapControls$mapDraw2.show)) {
|
|
47
68
|
return null;
|
|
48
69
|
}
|
|
49
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
50
|
-
className: "map-draw-controls"
|
|
51
|
-
style: {
|
|
52
|
-
position: 'relative'
|
|
53
|
-
}
|
|
70
|
+
return /*#__PURE__*/_react["default"].createElement(DrawControls, {
|
|
71
|
+
className: "map-draw-controls"
|
|
54
72
|
}, isActive ? /*#__PURE__*/_react["default"].createElement(MapControlToolbar, {
|
|
55
73
|
$show: isActive
|
|
56
74
|
}, /*#__PURE__*/_react["default"].createElement(_toolbarItem["default"], {
|
|
@@ -61,7 +79,23 @@ function MapDrawPanelFactory(MapControlTooltip, MapControlToolbar) {
|
|
|
61
79
|
label: "toolbar.select",
|
|
62
80
|
icon: actionIcons.cursor,
|
|
63
81
|
active: editor.mode === _constants.EDITOR_MODES.EDIT
|
|
64
|
-
}), /*#__PURE__*/_react["default"].createElement(_toolbarItem["default"], {
|
|
82
|
+
}), enableSketches ? /*#__PURE__*/_react["default"].createElement(_toolbarItem["default"], {
|
|
83
|
+
className: "draw-point",
|
|
84
|
+
onClick: function onClick() {
|
|
85
|
+
return onSetEditorMode(_constants.EDITOR_MODES.DRAW_POINT);
|
|
86
|
+
},
|
|
87
|
+
label: "toolbar.point",
|
|
88
|
+
icon: actionIcons.point,
|
|
89
|
+
active: editor.mode === _constants.EDITOR_MODES.DRAW_POINT
|
|
90
|
+
}) : null, enableSketches ? /*#__PURE__*/_react["default"].createElement(_toolbarItem["default"], {
|
|
91
|
+
className: "draw-line",
|
|
92
|
+
onClick: function onClick() {
|
|
93
|
+
return onSetEditorMode(_constants.EDITOR_MODES.DRAW_LINESTRING);
|
|
94
|
+
},
|
|
95
|
+
label: "toolbar.line",
|
|
96
|
+
icon: actionIcons.line,
|
|
97
|
+
active: editor.mode === _constants.EDITOR_MODES.DRAW_LINESTRING
|
|
98
|
+
}) : null, /*#__PURE__*/_react["default"].createElement(_toolbarItem["default"], {
|
|
65
99
|
className: "draw-feature",
|
|
66
100
|
onClick: function onClick() {
|
|
67
101
|
return onSetEditorMode(_constants.EDITOR_MODES.DRAW_POLYGON);
|
|
@@ -77,10 +111,26 @@ function MapDrawPanelFactory(MapControlTooltip, MapControlToolbar) {
|
|
|
77
111
|
label: "toolbar.rectangle",
|
|
78
112
|
icon: actionIcons.rectangle,
|
|
79
113
|
active: editor.mode === _constants.EDITOR_MODES.DRAW_RECTANGLE
|
|
80
|
-
})
|
|
114
|
+
}), enableSketches ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(ToolbarSeparator, null), /*#__PURE__*/_react["default"].createElement(_toolbarItem["default"], {
|
|
115
|
+
className: "copy-all-geometry",
|
|
116
|
+
onClick: onCopyAllGeometry,
|
|
117
|
+
label: "toolbar.copyAll",
|
|
118
|
+
tooltip: "tooltip.copyAllSketches",
|
|
119
|
+
icon: actionIcons.copy,
|
|
120
|
+
disabled: !hasSketchFeatures
|
|
121
|
+
}), /*#__PURE__*/_react["default"].createElement(_toolbarItem["default"], {
|
|
122
|
+
className: "convert-to-layer",
|
|
123
|
+
onClick: function onClick() {
|
|
124
|
+
return onConvertEditorFeaturesToLayer === null || onConvertEditorFeaturesToLayer === void 0 ? void 0 : onConvertEditorFeaturesToLayer();
|
|
125
|
+
},
|
|
126
|
+
label: "toolbar.convertToLayer",
|
|
127
|
+
tooltip: "tooltip.convertToLayer",
|
|
128
|
+
icon: actionIcons.layers,
|
|
129
|
+
disabled: !hasSketchFeatures
|
|
130
|
+
})) : null) : null, /*#__PURE__*/_react["default"].createElement(MapControlTooltip, {
|
|
81
131
|
id: "map-draw",
|
|
82
132
|
message: "tooltip.DrawOnMap"
|
|
83
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
133
|
+
}, /*#__PURE__*/_react["default"].createElement(_styledComponents2.MapControlButton, {
|
|
84
134
|
className: (0, _classnames["default"])('map-control-button', 'map-draw', {
|
|
85
135
|
isActive: isActive
|
|
86
136
|
}),
|
|
@@ -97,4 +147,4 @@ function MapDrawPanelFactory(MapControlTooltip, MapControlToolbar) {
|
|
|
97
147
|
return MapDrawPanel;
|
|
98
148
|
}
|
|
99
149
|
var _default = exports["default"] = MapDrawPanelFactory;
|
|
100
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29uc3RhbnRzIiwiX2ljb25zIiwiX3N0eWxlZENvbXBvbmVudHMiLCJfdG9vbGJhckl0ZW0iLCJfbWFwQ29udHJvbFRvb2x0aXAiLCJfbWFwQ29udHJvbFRvb2xiYXIiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIk1hcERyYXdQYW5lbEZhY3RvcnkiLCJkZXBzIiwiTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5IiwiTWFwQ29udHJvbFRvb2xiYXJGYWN0b3J5IiwiTWFwQ29udHJvbFRvb2x0aXAiLCJNYXBDb250cm9sVG9vbGJhciIsImRlZmF1bHRBY3Rpb25JY29ucyIsInZpc2libGUiLCJFeWVTZWVuIiwiaGlkZGVuIiwiRXllVW5zZWVuIiwicG9seWdvbiIsIkRyYXdQb2x5Z29uIiwiY3Vyc29yIiwiQ3Vyc29yQ2xpY2siLCJpbm5lclBvbHlnb24iLCJQb2x5Z29uIiwicmVjdGFuZ2xlIiwiUmVjdGFuZ2xlIiwiTWFwRHJhd1BhbmVsIiwiUmVhY3QiLCJtZW1vIiwiX3JlZiIsIl9tYXBDb250cm9scyRtYXBEcmF3IiwiX21hcENvbnRyb2xzJG1hcERyYXcyIiwiZWRpdG9yIiwibWFwQ29udHJvbHMiLCJvblRvZ2dsZU1hcENvbnRyb2wiLCJvblNldEVkaXRvck1vZGUiLCJfcmVmJGFjdGlvbkljb25zIiwiYWN0aW9uSWNvbnMiLCJpc0FjdGl2ZSIsIm1hcERyYXciLCJhY3RpdmUiLCJvblRvZ2dsZU1lbnVQYW5lbCIsInVzZUNhbGxiYWNrIiwiRURJVE9SX01PREVTIiwiRFJBV19SRUNUQU5HTEUiLCJzaG93IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInN0eWxlIiwicG9zaXRpb24iLCIkc2hvdyIsIm9uQ2xpY2siLCJFRElUIiwibGFiZWwiLCJpY29uIiwibW9kZSIsIkRSQVdfUE9MWUdPTiIsImlkIiwibWVzc2FnZSIsIk1hcENvbnRyb2xCdXR0b24iLCJjbGFzc25hbWVzIiwicHJldmVudERlZmF1bHQiLCJoZWlnaHQiLCJkaXNwbGF5TmFtZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYXAvbWFwLWRyYXctcGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IHtFRElUT1JfTU9ERVN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7Q3Vyc29yQ2xpY2ssIERyYXdQb2x5Z29uLCBFeWVTZWVuLCBFeWVVbnNlZW4sIFBvbHlnb24sIFJlY3RhbmdsZX0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7TWFwQ29udHJvbEJ1dHRvbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBUb29sYmFySXRlbSBmcm9tICcuLi9jb21tb24vdG9vbGJhci1pdGVtJztcbmltcG9ydCBNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkgZnJvbSAnLi9tYXAtY29udHJvbC10b29sdGlwJztcbmltcG9ydCBNYXBDb250cm9sVG9vbGJhckZhY3RvcnkgZnJvbSAnLi9tYXAtY29udHJvbC10b29sYmFyJztcbmltcG9ydCB7RWRpdG9yLCBNYXBDb250cm9sc30gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0Jhc2VQcm9wc30gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcblxuTWFwRHJhd1BhbmVsRmFjdG9yeS5kZXBzID0gW01hcENvbnRyb2xUb29sdGlwRmFjdG9yeSwgTWFwQ29udHJvbFRvb2xiYXJGYWN0b3J5XTtcblxuZXhwb3J0IHR5cGUgTWFwRHJhd1BhbmVsUHJvcHMgPSB7XG4gIGVkaXRvcjogRWRpdG9yO1xuICBtYXBDb250cm9sczogTWFwQ29udHJvbHM7XG4gIG9uVG9nZ2xlTWFwQ29udHJvbDogKGNvbnRyb2w6IHN0cmluZykgPT4gdm9pZDtcbiAgb25TZXRFZGl0b3JNb2RlOiAobW9kZTogc3RyaW5nKSA9PiB2b2lkO1xuICBvblRvZ2dsZUVkaXRvclZpc2liaWxpdHk6ICgpID0+IHZvaWQ7XG4gIGFjdGlvbkljb25zOiB7W2lkOiBzdHJpbmddOiBSZWFjdC5Db21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj59O1xufTtcblxuZnVuY3Rpb24gTWFwRHJhd1BhbmVsRmFjdG9yeShcbiAgTWFwQ29udHJvbFRvb2x0aXA6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeT4sXG4gIE1hcENvbnRyb2xUb29sYmFyOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBDb250cm9sVG9vbGJhckZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICAgIHZpc2libGU6IEV5ZVNlZW4sXG4gICAgaGlkZGVuOiBFeWVVbnNlZW4sXG4gICAgcG9seWdvbjogRHJhd1BvbHlnb24sXG4gICAgY3Vyc29yOiBDdXJzb3JDbGljayxcbiAgICBpbm5lclBvbHlnb246IFBvbHlnb24sXG4gICAgcmVjdGFuZ2xlOiBSZWN0YW5nbGVcbiAgfTtcblxuICBjb25zdCBNYXBEcmF3UGFuZWw6IFJlYWN0LkZDPE1hcERyYXdQYW5lbFByb3BzPiA9IFJlYWN0Lm1lbW8oXG4gICAgKHtcbiAgICAgIGVkaXRvcixcbiAgICAgIG1hcENvbnRyb2xzLFxuICAgICAgb25Ub2dnbGVNYXBDb250cm9sLFxuICAgICAgb25TZXRFZGl0b3JNb2RlLFxuICAgICAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnNcbiAgICB9KSA9PiB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IG1hcENvbnRyb2xzPy5tYXBEcmF3Py5hY3RpdmU7XG4gICAgICBjb25zdCBvblRvZ2dsZU1lbnVQYW5lbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgaWYgKCFpc0FjdGl2ZSkge1xuICAgICAgICAgIG9uU2V0RWRpdG9yTW9kZShFRElUT1JfTU9ERVMuRFJBV19SRUNUQU5HTEUpO1xuICAgICAgICB9XG4gICAgICAgIG9uVG9nZ2xlTWFwQ29udHJvbCgnbWFwRHJhdycpO1xuICAgICAgfSwgW2lzQWN0aXZlLCBvblRvZ2dsZU1hcENvbnRyb2wsIG9uU2V0RWRpdG9yTW9kZV0pO1xuICAgICAgaWYgKCFtYXBDb250cm9scz8ubWFwRHJhdz8uc2hvdykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWFwLWRyYXctY29udHJvbHNcIiBzdHlsZT17e3Bvc2l0aW9uOiAncmVsYXRpdmUnfX0+XG4gICAgICAgICAge2lzQWN0aXZlID8gKFxuICAgICAgICAgICAgPE1hcENvbnRyb2xUb29sYmFyICRzaG93PXtpc0FjdGl2ZX0+XG4gICAgICAgICAgICAgIDxUb29sYmFySXRlbVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImVkaXQtZmVhdHVyZVwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25TZXRFZGl0b3JNb2RlKEVESVRPUl9NT0RFUy5FRElUKX1cbiAgICAgICAgICAgICAgICBsYWJlbD1cInRvb2xiYXIuc2VsZWN0XCJcbiAgICAgICAgICAgICAgICBpY29uPXthY3Rpb25JY29ucy5jdXJzb3J9XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtlZGl0b3IubW9kZSA9PT0gRURJVE9SX01PREVTLkVESVR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxUb29sYmFySXRlbVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRyYXctZmVhdHVyZVwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25TZXRFZGl0b3JNb2RlKEVESVRPUl9NT0RFUy5EUkFXX1BPTFlHT04pfVxuICAgICAgICAgICAgICAgIGxhYmVsPVwidG9vbGJhci5wb2x5Z29uXCJcbiAgICAgICAgICAgICAgICBpY29uPXthY3Rpb25JY29ucy5pbm5lclBvbHlnb259XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtlZGl0b3IubW9kZSA9PT0gRURJVE9SX01PREVTLkRSQVdfUE9MWUdPTn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPFRvb2xiYXJJdGVtXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZHJhdy1yZWN0YW5nbGVcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uU2V0RWRpdG9yTW9kZShFRElUT1JfTU9ERVMuRFJBV19SRUNUQU5HTEUpfVxuICAgICAgICAgICAgICAgIGxhYmVsPVwidG9vbGJhci5yZWN0YW5nbGVcIlxuICAgICAgICAgICAgICAgIGljb249e2FjdGlvbkljb25zLnJlY3RhbmdsZX1cbiAgICAgICAgICAgICAgICBhY3RpdmU9e2VkaXRvci5tb2RlID09PSBFRElUT1JfTU9ERVMuRFJBV19SRUNUQU5HTEV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L01hcENvbnRyb2xUb29sYmFyPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDxNYXBDb250cm9sVG9vbHRpcCBpZD1cIm1hcC1kcmF3XCIgbWVzc2FnZT1cInRvb2x0aXAuRHJhd09uTWFwXCI+XG4gICAgICAgICAgICA8TWFwQ29udHJvbEJ1dHRvblxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ21hcC1jb250cm9sLWJ1dHRvbicsICdtYXAtZHJhdycsIHtpc0FjdGl2ZX0pfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgb25Ub2dnbGVNZW51UGFuZWwoKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgYWN0aXZlPXtpc0FjdGl2ZX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGFjdGlvbkljb25zLnBvbHlnb24gaGVpZ2h0PVwiMThweFwiIC8+XG4gICAgICAgICAgICA8L01hcENvbnRyb2xCdXR0b24+XG4gICAgICAgICAgPC9NYXBDb250cm9sVG9vbHRpcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgKTtcblxuICBNYXBEcmF3UGFuZWwuZGlzcGxheU5hbWUgPSAnTWFwRHJhd1BhbmVsJztcbiAgcmV0dXJuIE1hcERyYXdQYW5lbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTWFwRHJhd1BhbmVsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBRyxVQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxpQkFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sWUFBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU8sa0JBQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFRLGtCQUFBLEdBQUFOLHNCQUFBLENBQUFGLE9BQUE7QUFBNkQsU0FBQUQsd0JBQUFVLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFB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
|
|
150
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29weVRvQ2xpcGJvYXJkIiwiX3N0eWxlZENvbXBvbmVudHMiLCJfY29uc3RhbnRzIiwiX3V0aWxzIiwiX2ljb25zIiwiX3N0eWxlZENvbXBvbmVudHMyIiwiX3Rvb2xiYXJJdGVtIiwiX21hcENvbnRyb2xUb29sdGlwIiwiX21hcENvbnRyb2xUb29sYmFyIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiVG9vbGJhclNlcGFyYXRvciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsInBhbmVsSGVhZGVySWNvbiIsIkRyYXdDb250cm9scyIsIk1hcERyYXdQYW5lbEZhY3RvcnkiLCJkZXBzIiwiTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5IiwiTWFwQ29udHJvbFRvb2xiYXJGYWN0b3J5IiwiTWFwQ29udHJvbFRvb2x0aXAiLCJNYXBDb250cm9sVG9vbGJhciIsImRlZmF1bHRBY3Rpb25JY29ucyIsInZpc2libGUiLCJFeWVTZWVuIiwiaGlkZGVuIiwiRXllVW5zZWVuIiwicG9seWdvbiIsIkRyYXdQb2x5Z29uIiwiY3Vyc29yIiwiQ3Vyc29yQ2xpY2siLCJpbm5lclBvbHlnb24iLCJQb2x5Z29uIiwicmVjdGFuZ2xlIiwiUmVjdGFuZ2xlIiwicG9pbnQiLCJEcmF3UG9pbnQiLCJsaW5lIiwiTGluZVN0cmluZyIsImNvcHkiLCJDb3B5IiwibGF5ZXJzIiwiTGF5ZXJzIiwiTWFwRHJhd1BhbmVsIiwiUmVhY3QiLCJtZW1vIiwiX3JlZiIsIl9tYXBDb250cm9scyRtYXBEcmF3IiwiX2VkaXRvciRmZWF0dXJlcyIsIl9tYXBDb250cm9scyRtYXBEcmF3MiIsImVkaXRvciIsIm1hcENvbnRyb2xzIiwib25Ub2dnbGVNYXBDb250cm9sIiwib25TZXRFZGl0b3JNb2RlIiwib25Db252ZXJ0RWRpdG9yRmVhdHVyZXNUb0xheWVyIiwiX3JlZiRhY3Rpb25JY29ucyIsImFjdGlvbkljb25zIiwiaXNBY3RpdmUiLCJtYXBEcmF3IiwiYWN0aXZlIiwiaGFzU2tldGNoRmVhdHVyZXMiLCJCb29sZWFuIiwiZmVhdHVyZXMiLCJsZW5ndGgiLCJlbmFibGVTa2V0Y2hlcyIsImdldEFwcGxpY2F0aW9uQ29uZmlnIiwiZW5hYmxlRHJhd09uTWFwU2tldGNoZXMiLCJvblRvZ2dsZU1lbnVQYW5lbCIsInVzZUNhbGxiYWNrIiwiRURJVE9SX01PREVTIiwiRFJBV19SRUNUQU5HTEUiLCJvbkNvcHlBbGxHZW9tZXRyeSIsIl9lZGl0b3IkZmVhdHVyZXMyIiwiSlNPTiIsInN0cmluZ2lmeSIsImVkaXRvckZlYXR1cmVzVG9GZWF0dXJlQ29sbGVjdGlvbiIsInNob3ciLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiJHNob3ciLCJvbkNsaWNrIiwiRURJVCIsImxhYmVsIiwiaWNvbiIsIm1vZGUiLCJEUkFXX1BPSU5UIiwiRFJBV19MSU5FU1RSSU5HIiwiRFJBV19QT0xZR09OIiwiRnJhZ21lbnQiLCJ0b29sdGlwIiwiZGlzYWJsZWQiLCJpZCIsIm1lc3NhZ2UiLCJNYXBDb250cm9sQnV0dG9uIiwiY2xhc3NuYW1lcyIsInByZXZlbnREZWZhdWx0IiwiaGVpZ2h0IiwiZGlzcGxheU5hbWUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWFwL21hcC1kcmF3LXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgY29weSBmcm9tICdjb3B5LXRvLWNsaXBib2FyZCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IHtFRElUT1JfTU9ERVN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7ZWRpdG9yRmVhdHVyZXNUb0ZlYXR1cmVDb2xsZWN0aW9uLCBnZXRBcHBsaWNhdGlvbkNvbmZpZ30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge1xuICBDb3B5LFxuICBDdXJzb3JDbGljayxcbiAgRHJhd1BvaW50LFxuICBEcmF3UG9seWdvbixcbiAgRXllU2VlbixcbiAgRXllVW5zZWVuLFxuICBMYXllcnMsXG4gIExpbmVTdHJpbmcsXG4gIFBvbHlnb24sXG4gIFJlY3RhbmdsZVxufSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtNYXBDb250cm9sQnV0dG9ufSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFRvb2xiYXJJdGVtIGZyb20gJy4uL2NvbW1vbi90b29sYmFyLWl0ZW0nO1xuaW1wb3J0IE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSBmcm9tICcuL21hcC1jb250cm9sLXRvb2x0aXAnO1xuaW1wb3J0IE1hcENvbnRyb2xUb29sYmFyRmFjdG9yeSBmcm9tICcuL21hcC1jb250cm9sLXRvb2xiYXInO1xuaW1wb3J0IHtFZGl0b3IsIE1hcENvbnRyb2xzfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7QmFzZVByb3BzfSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuXG5jb25zdCBUb29sYmFyU2VwYXJhdG9yID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogNHB4IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxIZWFkZXJJY29ufTtcbiAgb3BhY2l0eTogMC4yO1xuYDtcblxuY29uc3QgRHJhd0NvbnRyb2xzID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5jb252ZXJ0LXRvLWxheWVyIC50b29sYmFyLWl0ZW1fX3RpdGxlIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuYDtcblxuTWFwRHJhd1BhbmVsRmFjdG9yeS5kZXBzID0gW01hcENvbnRyb2xUb29sdGlwRmFjdG9yeSwgTWFwQ29udHJvbFRvb2xiYXJGYWN0b3J5XTtcblxuZXhwb3J0IHR5cGUgTWFwRHJhd1BhbmVsUHJvcHMgPSB7XG4gIGVkaXRvcjogRWRpdG9yO1xuICBtYXBDb250cm9sczogTWFwQ29udHJvbHM7XG4gIG9uVG9nZ2xlTWFwQ29udHJvbDogKGNvbnRyb2w6IHN0cmluZykgPT4gdm9pZDtcbiAgb25TZXRFZGl0b3JNb2RlOiAobW9kZTogc3RyaW5nKSA9PiB2b2lkO1xuICBvblRvZ2dsZUVkaXRvclZpc2liaWxpdHk6ICgpID0+IHZvaWQ7XG4gIG9uQ29udmVydEVkaXRvckZlYXR1cmVzVG9MYXllcj86ICgpID0+IHZvaWQ7XG4gIGFjdGlvbkljb25zOiB7W2lkOiBzdHJpbmddOiBSZWFjdC5Db21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj59O1xufTtcblxuZnVuY3Rpb24gTWFwRHJhd1BhbmVsRmFjdG9yeShcbiAgTWFwQ29udHJvbFRvb2x0aXA6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeT4sXG4gIE1hcENvbnRyb2xUb29sYmFyOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBDb250cm9sVG9vbGJhckZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICAgIHZpc2libGU6IEV5ZVNlZW4sXG4gICAgaGlkZGVuOiBFeWVVbnNlZW4sXG4gICAgcG9seWdvbjogRHJhd1BvbHlnb24sXG4gICAgY3Vyc29yOiBDdXJzb3JDbGljayxcbiAgICBpbm5lclBvbHlnb246IFBvbHlnb24sXG4gICAgcmVjdGFuZ2xlOiBSZWN0YW5nbGUsXG4gICAgcG9pbnQ6IERyYXdQb2ludCxcbiAgICBsaW5lOiBMaW5lU3RyaW5nLFxuICAgIGNvcHk6IENvcHksXG4gICAgbGF5ZXJzOiBMYXllcnNcbiAgfTtcblxuICBjb25zdCBNYXBEcmF3UGFuZWw6IFJlYWN0LkZDPE1hcERyYXdQYW5lbFByb3BzPiA9IFJlYWN0Lm1lbW8oXG4gICAgKHtcbiAgICAgIGVkaXRvcixcbiAgICAgIG1hcENvbnRyb2xzLFxuICAgICAgb25Ub2dnbGVNYXBDb250cm9sLFxuICAgICAgb25TZXRFZGl0b3JNb2RlLFxuICAgICAgb25Db252ZXJ0RWRpdG9yRmVhdHVyZXNUb0xheWVyLFxuICAgICAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnNcbiAgICB9KSA9PiB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IG1hcENvbnRyb2xzPy5tYXBEcmF3Py5hY3RpdmU7XG4gICAgICBjb25zdCBoYXNTa2V0Y2hGZWF0dXJlcyA9IEJvb2xlYW4oZWRpdG9yPy5mZWF0dXJlcz8ubGVuZ3RoKTtcbiAgICAgIGNvbnN0IGVuYWJsZVNrZXRjaGVzID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVEcmF3T25NYXBTa2V0Y2hlcztcbiAgICAgIGNvbnN0IG9uVG9nZ2xlTWVudVBhbmVsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBpZiAoIWlzQWN0aXZlKSB7XG4gICAgICAgICAgb25TZXRFZGl0b3JNb2RlKEVESVRPUl9NT0RFUy5EUkFXX1JFQ1RBTkdMRSk7XG4gICAgICAgIH1cbiAgICAgICAgb25Ub2dnbGVNYXBDb250cm9sKCdtYXBEcmF3Jyk7XG4gICAgICB9LCBbaXNBY3RpdmUsIG9uVG9nZ2xlTWFwQ29udHJvbCwgb25TZXRFZGl0b3JNb2RlXSk7XG4gICAgICBjb25zdCBvbkNvcHlBbGxHZW9tZXRyeSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgaWYgKCFlZGl0b3I/LmZlYXR1cmVzPy5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29weShKU09OLnN0cmluZ2lmeShlZGl0b3JGZWF0dXJlc1RvRmVhdHVyZUNvbGxlY3Rpb24oZWRpdG9yLmZlYXR1cmVzKSkpO1xuICAgICAgfSwgW2VkaXRvcj8uZmVhdHVyZXNdKTtcbiAgICAgIGlmICghbWFwQ29udHJvbHM/Lm1hcERyYXc/LnNob3cpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RHJhd0NvbnRyb2xzIGNsYXNzTmFtZT1cIm1hcC1kcmF3LWNvbnRyb2xzXCI+XG4gICAgICAgICAge2lzQWN0aXZlID8gKFxuICAgICAgICAgICAgPE1hcENvbnRyb2xUb29sYmFyICRzaG93PXtpc0FjdGl2ZX0+XG4gICAgICAgICAgICAgIDxUb29sYmFySXRlbVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImVkaXQtZmVhdHVyZVwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25TZXRFZGl0b3JNb2RlKEVESVRPUl9NT0RFUy5FRElUKX1cbiAgICAgICAgICAgICAgICBsYWJlbD1cInRvb2xiYXIuc2VsZWN0XCJcbiAgICAgICAgICAgICAgICBpY29uPXthY3Rpb25JY29ucy5jdXJzb3J9XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtlZGl0b3IubW9kZSA9PT0gRURJVE9SX01PREVTLkVESVR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlbmFibGVTa2V0Y2hlcyA/IChcbiAgICAgICAgICAgICAgICA8VG9vbGJhckl0ZW1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRyYXctcG9pbnRcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25TZXRFZGl0b3JNb2RlKEVESVRPUl9NT0RFUy5EUkFXX1BPSU5UKX1cbiAgICAgICAgICAgICAgICAgIGxhYmVsPVwidG9vbGJhci5wb2ludFwiXG4gICAgICAgICAgICAgICAgICBpY29uPXthY3Rpb25JY29ucy5wb2ludH1cbiAgICAgICAgICAgICAgICAgIGFjdGl2ZT17ZWRpdG9yLm1vZGUgPT09IEVESVRPUl9NT0RFUy5EUkFXX1BPSU5UfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7ZW5hYmxlU2tldGNoZXMgPyAoXG4gICAgICAgICAgICAgICAgPFRvb2xiYXJJdGVtXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkcmF3LWxpbmVcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25TZXRFZGl0b3JNb2RlKEVESVRPUl9NT0RFUy5EUkFXX0xJTkVTVFJJTkcpfVxuICAgICAgICAgICAgICAgICAgbGFiZWw9XCJ0b29sYmFyLmxpbmVcIlxuICAgICAgICAgICAgICAgICAgaWNvbj17YWN0aW9uSWNvbnMubGluZX1cbiAgICAgICAgICAgICAgICAgIGFjdGl2ZT17ZWRpdG9yLm1vZGUgPT09IEVESVRPUl9NT0RFUy5EUkFXX0xJTkVTVFJJTkd9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDxUb29sYmFySXRlbVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRyYXctZmVhdHVyZVwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25TZXRFZGl0b3JNb2RlKEVESVRPUl9NT0RFUy5EUkFXX1BPTFlHT04pfVxuICAgICAgICAgICAgICAgIGxhYmVsPVwidG9vbGJhci5wb2x5Z29uXCJcbiAgICAgICAgICAgICAgICBpY29uPXthY3Rpb25JY29ucy5pbm5lclBvbHlnb259XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtlZGl0b3IubW9kZSA9PT0gRURJVE9SX01PREVTLkRSQVdfUE9MWUdPTn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPFRvb2xiYXJJdGVtXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZHJhdy1yZWN0YW5nbGVcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uU2V0RWRpdG9yTW9kZShFRElUT1JfTU9ERVMuRFJBV19SRUNUQU5HTEUpfVxuICAgICAgICAgICAgICAgIGxhYmVsPVwidG9vbGJhci5yZWN0YW5nbGVcIlxuICAgICAgICAgICAgICAgIGljb249e2FjdGlvbkljb25zLnJlY3RhbmdsZX1cbiAgICAgICAgICAgICAgICBhY3RpdmU9e2VkaXRvci5tb2RlID09PSBFRElUT1JfTU9ERVMuRFJBV19SRUNUQU5HTEV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlbmFibGVTa2V0Y2hlcyA/IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPFRvb2xiYXJTZXBhcmF0b3IgLz5cbiAgICAgICAgICAgICAgICAgIDxUb29sYmFySXRlbVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjb3B5LWFsbC1nZW9tZXRyeVwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ29weUFsbEdlb21ldHJ5fVxuICAgICAgICAgICAgICAgICAgICBsYWJlbD1cInRvb2xiYXIuY29weUFsbFwiXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXA9XCJ0b29sdGlwLmNvcHlBbGxTa2V0Y2hlc1wiXG4gICAgICAgICAgICAgICAgICAgIGljb249e2FjdGlvbkljb25zLmNvcHl9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXshaGFzU2tldGNoRmVhdHVyZXN9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFRvb2xiYXJJdGVtXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNvbnZlcnQtdG8tbGF5ZXJcIlxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNvbnZlcnRFZGl0b3JGZWF0dXJlc1RvTGF5ZXI/LigpfVxuICAgICAgICAgICAgICAgICAgICBsYWJlbD1cInRvb2xiYXIuY29udmVydFRvTGF5ZXJcIlxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwPVwidG9vbHRpcC5jb252ZXJ0VG9MYXllclwiXG4gICAgICAgICAgICAgICAgICAgIGljb249e2FjdGlvbkljb25zLmxheWVyc31cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFoYXNTa2V0Y2hGZWF0dXJlc31cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9NYXBDb250cm9sVG9vbGJhcj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8TWFwQ29udHJvbFRvb2x0aXAgaWQ9XCJtYXAtZHJhd1wiIG1lc3NhZ2U9XCJ0b29sdGlwLkRyYXdPbk1hcFwiPlxuICAgICAgICAgICAgPE1hcENvbnRyb2xCdXR0b25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdtYXAtY29udHJvbC1idXR0b24nLCAnbWFwLWRyYXcnLCB7aXNBY3RpdmV9KX1cbiAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIG9uVG9nZ2xlTWVudVBhbmVsKCk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxhY3Rpb25JY29ucy5wb2x5Z29uIGhlaWdodD1cIjE4cHhcIiAvPlxuICAgICAgICAgICAgPC9NYXBDb250cm9sQnV0dG9uPlxuICAgICAgICAgIDwvTWFwQ29udHJvbFRvb2x0aXA+XG4gICAgICAgIDwvRHJhd0NvbnRyb2xzPlxuICAgICAgKTtcbiAgICB9XG4gICk7XG5cbiAgTWFwRHJhd1BhbmVsLmRpc3BsYXlOYW1lID0gJ01hcERyYXdQYW5lbCc7XG4gIHJldHVybiBNYXBEcmF3UGFuZWw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcERyYXdQYW5lbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGdCQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxpQkFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sTUFBQSxHQUFBUCxPQUFBO0FBWUEsSUFBQVEsa0JBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFlBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFVLGtCQUFBLEdBQUFSLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBVyxrQkFBQSxHQUFBVCxzQkFBQSxDQUFBRixPQUFBO0FBQTZELElBQUFZLGVBQUEsRUFBQUMsZ0JBQUEsRUF6QjdEO0FBQ0E7QUFBQSxTQUFBZCx3QkFBQWUsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FB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
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
+
var _constants = require("@kepler.gl/constants");
|
|
12
|
+
var _utils = require("@kepler.gl/utils");
|
|
13
|
+
var _icons = require("../common/icons");
|
|
14
|
+
var _styledComponents = require("../common/styled-components");
|
|
15
|
+
var _mapControlTooltip = _interopRequireDefault(require("./map-control-tooltip"));
|
|
16
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
17
|
+
// SPDX-License-Identifier: MIT
|
|
18
|
+
// Copyright contributors to the kepler.gl project
|
|
19
|
+
|
|
20
|
+
ThemeToggleButtonFactory.deps = [_mapControlTooltip["default"]];
|
|
21
|
+
function ThemeToggleButtonFactory(MapControlTooltip) {
|
|
22
|
+
var defaultActionIcons = {
|
|
23
|
+
sun: _icons.Sun,
|
|
24
|
+
moon: _icons.Moon
|
|
25
|
+
};
|
|
26
|
+
var ThemeToggleButton = function ThemeToggleButton(_ref) {
|
|
27
|
+
var _mapControls$mapTheme;
|
|
28
|
+
var _ref$themeName = _ref.themeName,
|
|
29
|
+
themeName = _ref$themeName === void 0 ? _constants.THEME.dark : _ref$themeName,
|
|
30
|
+
onSetTheme = _ref.onSetTheme,
|
|
31
|
+
mapControls = _ref.mapControls,
|
|
32
|
+
_ref$actionIcons = _ref.actionIcons,
|
|
33
|
+
actionIcons = _ref$actionIcons === void 0 ? defaultActionIcons : _ref$actionIcons;
|
|
34
|
+
var isLight = themeName === _constants.THEME.light;
|
|
35
|
+
var onClick = (0, _react.useCallback)(function (event) {
|
|
36
|
+
event.preventDefault();
|
|
37
|
+
onSetTheme(isLight ? _constants.THEME.dark : _constants.THEME.light);
|
|
38
|
+
}, [isLight, onSetTheme]);
|
|
39
|
+
if (!(0, _utils.getApplicationConfig)().enableThemeToggle) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
var showControl = mapControls === null || mapControls === void 0 || (_mapControls$mapTheme = mapControls.mapTheme) === null || _mapControls$mapTheme === void 0 ? void 0 : _mapControls$mapTheme.show;
|
|
43
|
+
if (!showControl) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
var Icon = isLight ? actionIcons.moon : actionIcons.sun;
|
|
47
|
+
return /*#__PURE__*/_react["default"].createElement(MapControlTooltip, {
|
|
48
|
+
id: "toggle-theme",
|
|
49
|
+
message: isLight ? 'tooltip.switchToDarkTheme' : 'tooltip.switchToLightTheme'
|
|
50
|
+
}, /*#__PURE__*/_react["default"].createElement(_styledComponents.MapControlButton, {
|
|
51
|
+
className: (0, _classnames["default"])('map-control-button', 'toggle-theme', {
|
|
52
|
+
light: isLight
|
|
53
|
+
}),
|
|
54
|
+
onClick: onClick,
|
|
55
|
+
active: isLight
|
|
56
|
+
}, /*#__PURE__*/_react["default"].createElement(Icon, {
|
|
57
|
+
height: "18px"
|
|
58
|
+
})));
|
|
59
|
+
};
|
|
60
|
+
ThemeToggleButton.displayName = 'ThemeToggleButton';
|
|
61
|
+
return /*#__PURE__*/_react["default"].memo(ThemeToggleButton);
|
|
62
|
+
}
|
|
63
|
+
var _default = exports["default"] = ThemeToggleButtonFactory;
|
|
64
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29uc3RhbnRzIiwiX3V0aWxzIiwiX2ljb25zIiwiX3N0eWxlZENvbXBvbmVudHMiLCJfbWFwQ29udHJvbFRvb2x0aXAiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIlRoZW1lVG9nZ2xlQnV0dG9uRmFjdG9yeSIsImRlcHMiLCJNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkiLCJNYXBDb250cm9sVG9vbHRpcCIsImRlZmF1bHRBY3Rpb25JY29ucyIsInN1biIsIlN1biIsIm1vb24iLCJNb29uIiwiVGhlbWVUb2dnbGVCdXR0b24iLCJfcmVmIiwiX21hcENvbnRyb2xzJG1hcFRoZW1lIiwiX3JlZiR0aGVtZU5hbWUiLCJ0aGVtZU5hbWUiLCJUSEVNRSIsImRhcmsiLCJvblNldFRoZW1lIiwibWFwQ29udHJvbHMiLCJfcmVmJGFjdGlvbkljb25zIiwiYWN0aW9uSWNvbnMiLCJpc0xpZ2h0IiwibGlnaHQiLCJvbkNsaWNrIiwidXNlQ2FsbGJhY2siLCJldmVudCIsInByZXZlbnREZWZhdWx0IiwiZ2V0QXBwbGljYXRpb25Db25maWciLCJlbmFibGVUaGVtZVRvZ2dsZSIsInNob3dDb250cm9sIiwibWFwVGhlbWUiLCJzaG93IiwiSWNvbiIsImNyZWF0ZUVsZW1lbnQiLCJpZCIsIm1lc3NhZ2UiLCJNYXBDb250cm9sQnV0dG9uIiwiY2xhc3NOYW1lIiwiY2xhc3NuYW1lcyIsImFjdGl2ZSIsImhlaWdodCIsImRpc3BsYXlOYW1lIiwiUmVhY3QiLCJtZW1vIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21hcC90aGVtZS10b2dnbGUtYnV0dG9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnRUeXBlLCB1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmltcG9ydCB7VEhFTUV9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7TWFwQ29udHJvbHN9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtnZXRBcHBsaWNhdGlvbkNvbmZpZ30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cbmltcG9ydCB7TW9vbiwgU3VufSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtNYXBDb250cm9sQnV0dG9ufSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSBmcm9tICcuL21hcC1jb250cm9sLXRvb2x0aXAnO1xuXG5pbnRlcmZhY2UgVGhlbWVUb2dnbGVCdXR0b25JY29ucyB7XG4gIHN1bjogQ29tcG9uZW50VHlwZTxhbnk+O1xuICBtb29uOiBDb21wb25lbnRUeXBlPGFueT47XG59XG5cbmV4cG9ydCB0eXBlIFRoZW1lVG9nZ2xlQnV0dG9uUHJvcHMgPSB7XG4gIHRoZW1lTmFtZT86IHN0cmluZztcbiAgb25TZXRUaGVtZTogKHRoZW1lOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG1hcENvbnRyb2xzOiBNYXBDb250cm9scztcbiAgYWN0aW9uSWNvbnM/OiBUaGVtZVRvZ2dsZUJ1dHRvbkljb25zO1xufTtcblxuVGhlbWVUb2dnbGVCdXR0b25GYWN0b3J5LmRlcHMgPSBbTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5XTtcblxuZnVuY3Rpb24gVGhlbWVUb2dnbGVCdXR0b25GYWN0b3J5KFxuICBNYXBDb250cm9sVG9vbHRpcDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgICBzdW46IFN1bixcbiAgICBtb29uOiBNb29uXG4gIH07XG5cbiAgY29uc3QgVGhlbWVUb2dnbGVCdXR0b246IFJlYWN0LkZDPFRoZW1lVG9nZ2xlQnV0dG9uUHJvcHM+ID0gKHtcbiAgICB0aGVtZU5hbWUgPSBUSEVNRS5kYXJrLFxuICAgIG9uU2V0VGhlbWUsXG4gICAgbWFwQ29udHJvbHMsXG4gICAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGlzTGlnaHQgPSB0aGVtZU5hbWUgPT09IFRIRU1FLmxpZ2h0O1xuXG4gICAgY29uc3Qgb25DbGljayA9IHVzZUNhbGxiYWNrKFxuICAgICAgZXZlbnQgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBvblNldFRoZW1lKGlzTGlnaHQgPyBUSEVNRS5kYXJrIDogVEhFTUUubGlnaHQpO1xuICAgICAgfSxcbiAgICAgIFtpc0xpZ2h0LCBvblNldFRoZW1lXVxuICAgICk7XG5cbiAgICBpZiAoIWdldEFwcGxpY2F0aW9uQ29uZmlnKCkuZW5hYmxlVGhlbWVUb2dnbGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHNob3dDb250cm9sID0gbWFwQ29udHJvbHM/Lm1hcFRoZW1lPy5zaG93O1xuICAgIGlmICghc2hvd0NvbnRyb2wpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IEljb24gPSBpc0xpZ2h0ID8gYWN0aW9uSWNvbnMubW9vbiA6IGFjdGlvbkljb25zLnN1bjtcblxuICAgIHJldHVybiAoXG4gICAgICA8TWFwQ29udHJvbFRvb2x0aXBcbiAgICAgICAgaWQ9XCJ0b2dnbGUtdGhlbWVcIlxuICAgICAgICBtZXNzYWdlPXtpc0xpZ2h0ID8gJ3Rvb2x0aXAuc3dpdGNoVG9EYXJrVGhlbWUnIDogJ3Rvb2x0aXAuc3dpdGNoVG9MaWdodFRoZW1lJ31cbiAgICAgID5cbiAgICAgICAgPE1hcENvbnRyb2xCdXR0b25cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ21hcC1jb250cm9sLWJ1dHRvbicsICd0b2dnbGUtdGhlbWUnLCB7bGlnaHQ6IGlzTGlnaHR9KX1cbiAgICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICAgIGFjdGl2ZT17aXNMaWdodH1cbiAgICAgICAgPlxuICAgICAgICAgIDxJY29uIGhlaWdodD1cIjE4cHhcIiAvPlxuICAgICAgICA8L01hcENvbnRyb2xCdXR0b24+XG4gICAgICA8L01hcENvbnRyb2xUb29sdGlwPlxuICAgICk7XG4gIH07XG5cbiAgVGhlbWVUb2dnbGVCdXR0b24uZGlzcGxheU5hbWUgPSAnVGhlbWVUb2dnbGVCdXR0b24nO1xuICByZXR1cm4gUmVhY3QubWVtbyhUaGVtZVRvZ2dsZUJ1dHRvbik7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRoZW1lVG9nZ2xlQnV0dG9uRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBRyxVQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFFQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxpQkFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sa0JBQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUE2RCxTQUFBRCx3QkFBQVMsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxP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
|