@kepler.gl/components 3.3.0-alpha.0 → 3.3.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/annotations/annotation-node.d.ts +11 -0
- package/dist/annotations/annotation-node.js +145 -0
- package/dist/annotations/annotation-overlay.d.ts +16 -0
- package/dist/annotations/annotation-overlay.js +166 -0
- package/dist/annotations/annotation-panel.d.ts +24 -0
- package/dist/annotations/annotation-panel.js +362 -0
- package/dist/annotations/annotation-text.d.ts +16 -0
- package/dist/annotations/annotation-text.js +150 -0
- package/dist/annotations/annotation-utils.d.ts +39 -0
- package/dist/annotations/annotation-utils.js +156 -0
- package/dist/annotations/index.d.ts +7 -0
- package/dist/annotations/index.js +53 -0
- package/dist/annotations/lexical-editor/clickable-link-plugin.d.ts +3 -0
- package/dist/annotations/lexical-editor/clickable-link-plugin.js +71 -0
- package/dist/annotations/lexical-editor/floating-link-editor.d.ts +1 -0
- package/dist/annotations/lexical-editor/floating-link-editor.js +194 -0
- package/dist/annotations/lexical-editor/index.d.ts +7 -0
- package/dist/annotations/lexical-editor/index.js +78 -0
- package/dist/annotations/lexical-editor/lexical-constants.d.ts +12 -0
- package/dist/annotations/lexical-editor/lexical-constants.js +22 -0
- package/dist/annotations/lexical-editor/lexical-nodes.d.ts +3 -0
- package/dist/annotations/lexical-editor/lexical-nodes.js +13 -0
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.d.ts +15 -0
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +122 -0
- package/dist/annotations/lexical-editor/lexical-theme.d.ts +15 -0
- package/dist/annotations/lexical-editor/lexical-theme.js +25 -0
- package/dist/annotations/lexical-editor/lexical-toolbar.d.ts +7 -0
- package/dist/annotations/lexical-editor/lexical-toolbar.js +293 -0
- package/dist/annotations/lexical-editor/lexical-utils.d.ts +4 -0
- package/dist/annotations/lexical-editor/lexical-utils.js +45 -0
- package/dist/annotations/lexical-editor/use-lexical-toolbar.d.ts +36 -0
- package/dist/annotations/lexical-editor/use-lexical-toolbar.js +253 -0
- package/dist/bottom-widget.d.ts +1 -1
- package/dist/bottom-widget.js +12 -6
- package/dist/common/animation-control/animation-control.d.ts +1 -0
- package/dist/common/animation-control/animation-control.js +3 -1
- package/dist/common/animation-control/animation-controller.js +8 -6
- package/dist/common/animation-control/export-video-control.d.ts +9 -0
- package/dist/common/animation-control/export-video-control.js +43 -0
- package/dist/common/animation-control/playback-controls.d.ts +4 -2
- package/dist/common/animation-control/playback-controls.js +7 -4
- package/dist/common/checkbox.d.ts +5 -21
- package/dist/common/checkbox.js +58 -70
- package/dist/common/color-legend.js +3 -3
- package/dist/common/data-table/index.d.ts +1 -1
- package/dist/common/data-table/index.js +3 -3
- package/dist/common/file-uploader/file-upload.js +4 -4
- package/dist/common/histogram-plot.js +102 -53
- package/dist/common/icons/3d-models/airplane.d.ts +14 -0
- package/dist/common/icons/3d-models/airplane.js +104 -0
- package/dist/common/icons/3d-models/bicycle.d.ts +14 -0
- package/dist/common/icons/3d-models/bicycle.js +426 -0
- package/dist/common/icons/3d-models/boeing.d.ts +14 -0
- package/dist/common/icons/3d-models/boeing.js +119 -0
- package/dist/common/icons/3d-models/car.d.ts +14 -0
- package/dist/common/icons/3d-models/car.js +110 -0
- package/dist/common/icons/3d-models/cargoship.d.ts +14 -0
- package/dist/common/icons/3d-models/cargoship.js +246 -0
- package/dist/common/icons/3d-models/evtol.d.ts +14 -0
- package/dist/common/icons/3d-models/evtol.js +134 -0
- package/dist/common/icons/3d-models/glider.d.ts +14 -0
- package/dist/common/icons/3d-models/glider.js +62 -0
- package/dist/common/icons/3d-models/helicopter.d.ts +14 -0
- package/dist/common/icons/3d-models/helicopter.js +110 -0
- package/dist/common/icons/3d-models/scooter.d.ts +14 -0
- package/dist/common/icons/3d-models/scooter.js +159 -0
- package/dist/common/icons/3d-models/semitruck.d.ts +14 -0
- package/dist/common/icons/3d-models/semitruck.js +177 -0
- package/dist/common/icons/3d-models/truck.d.ts +14 -0
- package/dist/common/icons/3d-models/truck.js +122 -0
- package/dist/common/icons/anchor_window.d.ts +1 -8
- package/dist/common/icons/anchor_window.js +17 -10
- package/dist/common/icons/annotation-text.d.ts +9 -0
- package/dist/common/icons/annotation-text.js +56 -0
- package/dist/common/icons/index.d.ts +1 -0
- package/dist/common/icons/index.js +8 -1
- package/dist/common/item-selector/chickleted-input.d.ts +1 -1
- package/dist/common/item-selector/chickleted-input.js +5 -5
- package/dist/common/line-chart.d.ts +4 -1
- package/dist/common/line-chart.js +59 -12
- package/dist/common/range-plot.js +4 -2
- package/dist/common/range-slider.d.ts +2 -0
- package/dist/common/range-slider.js +108 -43
- package/dist/common/slider/slider.d.ts +4 -0
- package/dist/common/slider/slider.js +78 -35
- package/dist/common/styled-components.d.ts +1 -1
- package/dist/common/styled-components.js +2 -2
- package/dist/common/time-range-slider-time-title.d.ts +1 -1
- package/dist/common/time-range-slider-time-title.js +5 -5
- package/dist/common/time-range-slider.d.ts +2 -1
- package/dist/common/time-range-slider.js +19 -7
- package/dist/common/timeline-helpers.d.ts +3 -0
- package/dist/common/timeline-helpers.js +57 -0
- package/dist/common/timeline-slider.js +21 -12
- package/dist/common/toolbar-item.js +5 -5
- package/dist/common/toolbar.d.ts +1 -1
- package/dist/common/toolbar.js +4 -4
- package/dist/common/vertical-toolbar.d.ts +1 -1
- package/dist/effects/effect-configurator.d.ts +3 -2
- package/dist/effects/effect-configurator.js +213 -52
- package/dist/effects/effect-manager.js +3 -3
- package/dist/effects/effect-panel-header.js +34 -17
- package/dist/effects/effect-panel.d.ts +4 -4
- package/dist/effects/effect-panel.js +61 -86
- package/dist/effects/effect-time-configurator.js +10 -10
- package/dist/effects/effect-type-dropdown-list.d.ts +1 -0
- package/dist/effects/effect-type-dropdown-list.js +1 -1
- package/dist/effects/effect-type-list-item.d.ts +1 -0
- package/dist/effects/effect-type-list-item.js +23 -7
- package/dist/effects/effect-type-selector.d.ts +1 -0
- package/dist/effects/effect-type-selector.js +2 -2
- package/dist/effects/surface-fog-section.d.ts +14 -0
- package/dist/effects/surface-fog-section.js +263 -0
- package/dist/filters/index.d.ts +1 -0
- package/dist/filters/index.js +8 -1
- package/dist/filters/polygon-filter.js +2 -2
- package/dist/filters/time-range-filter.js +3 -1
- package/dist/filters/time-widget-settings.d.ts +14 -0
- package/dist/filters/time-widget-settings.js +312 -0
- package/dist/filters/time-widget-top.d.ts +2 -3
- package/dist/filters/time-widget-top.js +32 -39
- package/dist/filters/time-widget.d.ts +3 -2
- package/dist/filters/time-widget.js +285 -9
- package/dist/filters/types.d.ts +3 -3
- package/dist/filters/types.js +1 -1
- package/dist/geocoder/geocoder.d.ts +4 -1
- package/dist/geocoder/geocoder.js +61 -14
- package/dist/geocoder-panel.d.ts +1 -0
- package/dist/geocoder-panel.js +6 -2
- package/dist/index.d.ts +14 -0
- package/dist/index.js +124 -1
- package/dist/kepler-gl.d.ts +17 -5
- package/dist/kepler-gl.js +89 -11
- package/dist/loading-indicator.d.ts +2 -0
- package/dist/loading-indicator.js +6 -3
- package/dist/map/annotations/annotation-control.d.ts +16 -0
- package/dist/map/annotations/annotation-control.js +56 -0
- package/dist/map/layer-hover-info.js +68 -35
- package/dist/map/layer-selector-panel.d.ts +1 -1
- package/dist/map/locale-panel.d.ts +1 -1
- package/dist/map/locale-panel.js +2 -2
- package/dist/map/map-control-toolbar.d.ts +4 -4
- package/dist/map/map-control.d.ts +5 -2
- package/dist/map/map-control.js +16 -7
- package/dist/map/map-draw-panel.d.ts +1 -1
- package/dist/map/map-draw-panel.js +7 -4
- package/dist/map/map-legend-panel.d.ts +1 -1
- package/dist/map/map-legend-panel.js +7 -7
- package/dist/map/map-legend.d.ts +1 -1
- package/dist/map/map-legend.js +6 -6
- package/dist/map/map-navigation-control.d.ts +13 -0
- package/dist/map/map-navigation-control.js +143 -0
- package/dist/map/map-popover.js +2 -2
- package/dist/map-container.d.ts +13 -3
- package/dist/map-container.js +250 -57
- package/dist/map-view-state-context.d.ts +1 -0
- package/dist/map-view-state-context.js +1 -1
- package/dist/modal-container.d.ts +3 -2
- package/dist/modal-container.js +28 -6
- package/dist/modals/add-map-style-modal.js +173 -200
- package/dist/modals/data-table-modal.d.ts +1 -1
- package/dist/modals/data-table-modal.js +146 -194
- package/dist/modals/export-data-modal.js +117 -139
- package/dist/modals/export-video-modal.d.ts +25 -0
- package/dist/modals/export-video-modal.js +338 -0
- package/dist/modals/export-video-modal.spec.d.ts +1 -0
- package/dist/modals/export-video-modal.spec.js +686 -0
- package/dist/modals/fog-height-animation.d.ts +8 -0
- package/dist/modals/fog-height-animation.js +97 -0
- package/dist/modals/hubble-utils.d.ts +25 -0
- package/dist/modals/hubble-utils.js +197 -0
- package/dist/modals/hubble-utils.spec.d.ts +1 -0
- package/dist/modals/hubble-utils.spec.js +397 -0
- package/dist/modals/tilesets-modals/load-data-footer.js +2 -2
- package/dist/modals/tilesets-modals/load-tileset.js +21 -10
- package/dist/modals/tilesets-modals/tileset-bitmap-form.d.ts +14 -0
- package/dist/modals/tilesets-modals/tileset-bitmap-form.js +284 -0
- package/dist/modals/tilesets-modals/tileset-raster-form.js +94 -11
- package/dist/modals/tilesets-modals/tileset-tile3d-form.js +3 -2
- package/dist/modals/tilesets-modals/tileset-vector-form.js +58 -4
- package/dist/modals/tilesets-modals/tileset-wms-form.js +4 -3
- package/dist/notification-panel/notification-item.d.ts +1 -53
- package/dist/notification-panel/notification-item.js +47 -75
- package/dist/notification-panel.d.ts +1 -1
- package/dist/notification-panel.js +20 -42
- package/dist/plot-container.js +7 -6
- package/dist/side-panel/add-by-dataset-button.js +3 -3
- package/dist/side-panel/common/dataset-info.js +2 -2
- package/dist/side-panel/interaction-panel/geocoder-config.d.ts +11 -0
- package/dist/side-panel/interaction-panel/geocoder-config.js +45 -0
- package/dist/side-panel/interaction-panel/interaction-panel.d.ts +3 -2
- package/dist/side-panel/interaction-panel/interaction-panel.js +10 -3
- package/dist/side-panel/layer-manager.js +11 -3
- package/dist/side-panel/layer-panel/color-scale-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-scale-selector.js +1 -1
- package/dist/side-panel/layer-panel/custom-palette.js +5 -5
- package/dist/side-panel/layer-panel/dataset-layer-section.js +19 -3
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +4 -2
- package/dist/side-panel/layer-panel/layer-configurator.js +402 -76
- package/dist/side-panel/layer-panel/layer-panel-header.js +2 -2
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.d.ts +1 -1
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +127 -27
- package/dist/side-panel/layer-panel/scenegraph-model-selector.d.ts +24 -0
- package/dist/side-panel/layer-panel/scenegraph-model-selector.js +123 -0
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +1 -1
- package/dist/side-panel/layer-panel/text-label-panel.js +11 -2
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +1 -1
- package/dist/side-panel/layer-panel/vis-config-slider.d.ts +2 -0
- package/dist/side-panel/layer-panel/vis-config-slider.js +7 -3
- package/dist/side-panel/panel-header.d.ts +1 -0
- package/dist/side-panel/panel-header.js +9 -2
- package/dist/side-panel/panel-tab.d.ts +1 -1
- package/dist/side-panel/panel-tab.js +4 -4
- package/dist/side-panel.js +5 -1
- package/package.json +39 -28
|
@@ -7,18 +7,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
16
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
18
|
-
var _reactLifecyclesCompat = require("react-lifecycles-compat");
|
|
19
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
20
15
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
21
|
-
var
|
|
16
|
+
var _mapboxLegacy = require("react-map-gl/mapbox-legacy");
|
|
17
|
+
var _reactMaplibre = require("@vis.gl/react-maplibre");
|
|
22
18
|
var _styledComponents2 = require("../common/styled-components");
|
|
23
19
|
var _styles = require("@kepler.gl/styles");
|
|
24
20
|
var _utils = require("@kepler.gl/utils");
|
|
@@ -32,8 +28,6 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
32
28
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
33
29
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
34
30
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
35
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
36
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
37
31
|
var MapH = 190;
|
|
38
32
|
var MapW = 264;
|
|
39
33
|
var ErrorMsg = {
|
|
@@ -50,203 +44,182 @@ var nop = function nop() {
|
|
|
50
44
|
return;
|
|
51
45
|
};
|
|
52
46
|
function AddMapStyleModalFactory() {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
47
|
+
function AddMapStyleModal(_ref) {
|
|
48
|
+
var inputMapStyleAction = _ref.inputMapStyle,
|
|
49
|
+
inputStyle = _ref.inputStyle,
|
|
50
|
+
loadCustomMapStyleAction = _ref.loadCustomMapStyle,
|
|
51
|
+
mapboxApiAccessToken = _ref.mapboxApiAccessToken,
|
|
52
|
+
mapboxApiUrl = _ref.mapboxApiUrl,
|
|
53
|
+
customTransformRequest = _ref.transformRequest,
|
|
54
|
+
mapState = _ref.mapState,
|
|
55
|
+
intl = _ref.intl;
|
|
56
|
+
var _useState = (0, _react.useState)(0),
|
|
57
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
58
|
+
reRenderKey = _useState2[0],
|
|
59
|
+
setReRenderKey = _useState2[1];
|
|
60
|
+
var _useState3 = (0, _react.useState)(null),
|
|
61
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
62
|
+
previousToken = _useState4[0],
|
|
63
|
+
setPreviousToken = _useState4[1];
|
|
64
|
+
var mapRef = (0, _react.useRef)(null);
|
|
65
|
+
var loadCustomMapStyleRef = (0, _react.useRef)(loadCustomMapStyleAction);
|
|
66
|
+
loadCustomMapStyleRef.current = loadCustomMapStyleAction;
|
|
67
|
+
(0, _react.useEffect)(function () {
|
|
68
|
+
if (inputStyle !== null && inputStyle !== void 0 && inputStyle.accessToken && inputStyle.accessToken !== previousToken) {
|
|
69
|
+
setReRenderKey(function (prev) {
|
|
70
|
+
return prev + 1;
|
|
71
|
+
});
|
|
72
|
+
setPreviousToken(inputStyle.accessToken);
|
|
59
73
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
if (_this._map && mapRef) {
|
|
69
|
-
var _map = mapRef.getMap();
|
|
70
|
-
if (_map && _this._map !== _map) {
|
|
71
|
-
_this._map.off('style.load', nop);
|
|
72
|
-
_this._map.off('error', nop);
|
|
73
|
-
_this._map = null;
|
|
74
|
-
}
|
|
74
|
+
}, [inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.accessToken, previousToken]);
|
|
75
|
+
var setMapRefCallback = (0, _react.useCallback)(function (mapRefInstance) {
|
|
76
|
+
if (mapRef.current && mapRefInstance) {
|
|
77
|
+
var _map = mapRefInstance.getMap();
|
|
78
|
+
if (_map && mapRef.current !== _map) {
|
|
79
|
+
mapRef.current.off('style.load', nop);
|
|
80
|
+
mapRef.current.off('error', nop);
|
|
81
|
+
mapRef.current = null;
|
|
75
82
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
}
|
|
84
|
+
var map = mapRefInstance && mapRefInstance.getMap();
|
|
85
|
+
if (map && mapRef.current !== map) {
|
|
86
|
+
mapRef.current = map;
|
|
87
|
+
map.on('style.load', function () {
|
|
88
|
+
var style = map.getStyle();
|
|
89
|
+
loadCustomMapStyleRef.current({
|
|
90
|
+
style: style,
|
|
91
|
+
error: false
|
|
85
92
|
});
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
(0, _defineProperty2["default"])(_this, "loadMapStyleJson", function (style) {
|
|
89
|
-
_this.props.loadCustomMapStyle({
|
|
90
|
-
style: style,
|
|
91
|
-
error: false
|
|
92
93
|
});
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
map.on('error', function () {
|
|
95
|
+
loadCustomMapStyleRef.current({
|
|
96
|
+
error: true
|
|
97
|
+
});
|
|
97
98
|
});
|
|
98
|
-
}
|
|
99
|
-
|
|
99
|
+
}
|
|
100
|
+
}, []);
|
|
101
|
+
var baseMapLibraryName = (0, _utils.getBaseMapLibrary)(inputStyle);
|
|
102
|
+
var baseMapLibraryConfig = (0, _utils.getApplicationConfig)().baseMapLibraryConfig[baseMapLibraryName];
|
|
103
|
+
var mapboxApiAccessTokenToUse = inputStyle.accessToken || mapboxApiAccessToken;
|
|
104
|
+
var mapProps = _objectSpread(_objectSpread({}, mapState), {}, {
|
|
105
|
+
mapboxAccessToken: mapboxApiAccessTokenToUse,
|
|
106
|
+
preserveDrawingBuffer: true,
|
|
107
|
+
transformRequest: (customTransformRequest === null || customTransformRequest === void 0 ? void 0 : customTransformRequest(mapboxApiAccessTokenToUse)) || (0, _utils.transformRequest)(mapboxApiAccessTokenToUse)
|
|
108
|
+
});
|
|
109
|
+
if (baseMapLibraryName === _constants.MAP_LIB_OPTIONS.MAPBOX) {
|
|
110
|
+
mapProps.mapLib = baseMapLibraryConfig.getMapLib();
|
|
100
111
|
}
|
|
101
|
-
|
|
102
|
-
return
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
112
|
+
var ResolvedMapComponent = baseMapLibraryName === _constants.MAP_LIB_OPTIONS.MAPBOX ? _mapboxLegacy.Map : _reactMaplibre.Map;
|
|
113
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
114
|
+
className: "add-map-style-modal"
|
|
115
|
+
}, /*#__PURE__*/_react["default"].createElement(_styledComponents2.StyledModalContent, null, /*#__PURE__*/_react["default"].createElement(_styledComponents2.StyledModalVerticalPanel, null, /*#__PURE__*/_react["default"].createElement(_styledComponents2.StyledModalSection, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
116
|
+
className: "modal-section-title"
|
|
117
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
118
|
+
id: 'modal.addStyle.pasteTitle'
|
|
119
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
120
|
+
className: "modal-section-subtitle"
|
|
121
|
+
}, intl.formatMessage({
|
|
122
|
+
id: 'modal.addStyle.pasteSubtitle0'
|
|
123
|
+
}), /*#__PURE__*/_react["default"].createElement(InlineLink, {
|
|
124
|
+
target: "_blank",
|
|
125
|
+
href: "https://www.mapbox.com/help/studio-manual-publish/#style-url"
|
|
126
|
+
}, ' ', intl.formatMessage({
|
|
127
|
+
id: 'modal.addStyle.pasteSubtitle2'
|
|
128
|
+
})), ' ', intl.formatMessage({
|
|
129
|
+
id: 'modal.addStyle.pasteSubtitle3'
|
|
130
|
+
}), /*#__PURE__*/_react["default"].createElement(InlineLink, {
|
|
131
|
+
target: "_blank",
|
|
132
|
+
href: "https://docs.mapbox.com/mapbox-gl-js/style-spec"
|
|
133
|
+
}, ' ', intl.formatMessage({
|
|
134
|
+
id: 'modal.addStyle.pasteSubtitle4'
|
|
135
|
+
}))), /*#__PURE__*/_react["default"].createElement(_styledComponents2.InputLight, {
|
|
136
|
+
type: "text",
|
|
137
|
+
value: inputStyle.url || '',
|
|
138
|
+
onChange: function onChange(_ref2) {
|
|
139
|
+
var value = _ref2.target.value;
|
|
140
|
+
return inputMapStyleAction({
|
|
141
|
+
url: value,
|
|
142
|
+
id: 'Custom Style',
|
|
143
|
+
icon: "".concat((0, _utils.getApplicationConfig)().cdnUrl, "/").concat(_constants.NO_BASEMAP_ICON)
|
|
122
144
|
});
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
className: "modal-section-title"
|
|
202
|
-
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
203
|
-
id: 'modal.addStyle.namingTitle'
|
|
204
|
-
})), /*#__PURE__*/_react["default"].createElement(_styledComponents2.InputLight, {
|
|
205
|
-
type: "text",
|
|
206
|
-
value: inputStyle.label || '',
|
|
207
|
-
onChange: function onChange(_ref3) {
|
|
208
|
-
var value = _ref3.target.value;
|
|
209
|
-
return _this2.props.inputMapStyle({
|
|
210
|
-
label: value
|
|
211
|
-
});
|
|
212
|
-
},
|
|
213
|
-
placeholder: "Name your style"
|
|
214
|
-
}))), /*#__PURE__*/_react["default"].createElement(PreviewMap, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
215
|
-
className: (0, _classnames["default"])('preview-title', {
|
|
216
|
-
error: inputStyle.error
|
|
217
|
-
})
|
|
218
|
-
}, inputStyle.error ? ErrorMsg.styleError : inputStyle.style && inputStyle.style.name || ''), /*#__PURE__*/_react["default"].createElement(StyledPreviewImage, {
|
|
219
|
-
className: "preview-image"
|
|
220
|
-
}, !inputStyle.isValid ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
221
|
-
className: "preview-image-spinner"
|
|
222
|
-
}) : /*#__PURE__*/_react["default"].createElement(_styledComponents2.StyledMapContainer, null, /*#__PURE__*/_react["default"].createElement(_reactMapGl.Map, (0, _extends2["default"])({}, mapProps, {
|
|
223
|
-
ref: this._setMapRef,
|
|
224
|
-
key: "".concat(baseMapLibraryName, "-").concat(this.state.reRenderKey, "-").concat(inputStyle.url, "-").concat(mapboxApiAccessToken),
|
|
225
|
-
style: {
|
|
226
|
-
width: MapW,
|
|
227
|
-
height: MapH
|
|
228
|
-
},
|
|
229
|
-
mapStyle: inputStyle.url === null ? undefined : inputStyle.url
|
|
230
|
-
})))))));
|
|
231
|
-
}
|
|
232
|
-
}], [{
|
|
233
|
-
key: "getDerivedStateFromProps",
|
|
234
|
-
value: function getDerivedStateFromProps(props, state) {
|
|
235
|
-
if (props.inputStyle && props.inputStyle.accessToken && props.inputStyle.accessToken !== state.previousToken) {
|
|
236
|
-
// toke has changed
|
|
237
|
-
// ReactMapGl doesn't re-create map when token has changed
|
|
238
|
-
// here we force the map to update
|
|
239
|
-
|
|
240
|
-
return {
|
|
241
|
-
reRenderKey: state.reRenderKey + 1,
|
|
242
|
-
previousToken: props.inputStyle.accessToken
|
|
243
|
-
};
|
|
244
|
-
}
|
|
245
|
-
return null;
|
|
246
|
-
}
|
|
247
|
-
}]);
|
|
248
|
-
}(_react.Component);
|
|
249
|
-
return (0, _reactIntl.injectIntl)((0, _reactLifecyclesCompat.polyfill)(AddMapStyleModal));
|
|
145
|
+
},
|
|
146
|
+
placeholder: "e.g. https://basemaps.cartocdn.com/gl/positron-gl-style/style.json"
|
|
147
|
+
})), /*#__PURE__*/_react["default"].createElement(_styledComponents2.StyledModalSection, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
148
|
+
className: "modal-section-title"
|
|
149
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
150
|
+
id: 'modal.addStyle.publishTitle'
|
|
151
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
152
|
+
className: "modal-section-subtitle"
|
|
153
|
+
}, intl.formatMessage({
|
|
154
|
+
id: 'modal.addStyle.publishSubtitle1'
|
|
155
|
+
}), /*#__PURE__*/_react["default"].createElement(InlineLink, {
|
|
156
|
+
target: "_blank",
|
|
157
|
+
href: "https://www.mapbox.com/studio/styles/"
|
|
158
|
+
}, ' ', "mapbox"), ' ', intl.formatMessage({
|
|
159
|
+
id: 'modal.addStyle.publishSubtitle2'
|
|
160
|
+
}), /*#__PURE__*/_react["default"].createElement(InlineLink, {
|
|
161
|
+
target: "_blank",
|
|
162
|
+
href: "https://www.mapbox.com/help/studio-manual-publish/"
|
|
163
|
+
}, ' ', intl.formatMessage({
|
|
164
|
+
id: 'modal.addStyle.publishSubtitle3'
|
|
165
|
+
})), ' ', intl.formatMessage({
|
|
166
|
+
id: 'modal.addStyle.publishSubtitle4'
|
|
167
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
168
|
+
className: "modal-section-subtitle"
|
|
169
|
+
}, intl.formatMessage({
|
|
170
|
+
id: 'modal.addStyle.publishSubtitle5'
|
|
171
|
+
}), /*#__PURE__*/_react["default"].createElement(InlineLink, {
|
|
172
|
+
target: "_blank",
|
|
173
|
+
href: "https://www.mapbox.com/help/how-access-tokens-work/"
|
|
174
|
+
}, ' ', intl.formatMessage({
|
|
175
|
+
id: 'modal.addStyle.publishSubtitle6'
|
|
176
|
+
})), ' ', intl.formatMessage({
|
|
177
|
+
id: 'modal.addStyle.publishSubtitle7'
|
|
178
|
+
})), /*#__PURE__*/_react["default"].createElement(_styledComponents2.InputLight, {
|
|
179
|
+
type: "text",
|
|
180
|
+
value: inputStyle.accessToken || '',
|
|
181
|
+
onChange: function onChange(_ref3) {
|
|
182
|
+
var value = _ref3.target.value;
|
|
183
|
+
return inputMapStyleAction({
|
|
184
|
+
accessToken: value
|
|
185
|
+
});
|
|
186
|
+
},
|
|
187
|
+
placeholder: intl.formatMessage({
|
|
188
|
+
id: 'modal.addStyle.exampleToken'
|
|
189
|
+
})
|
|
190
|
+
})), /*#__PURE__*/_react["default"].createElement(_styledComponents2.StyledModalSection, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
191
|
+
className: "modal-section-title"
|
|
192
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
193
|
+
id: 'modal.addStyle.namingTitle'
|
|
194
|
+
})), /*#__PURE__*/_react["default"].createElement(_styledComponents2.InputLight, {
|
|
195
|
+
type: "text",
|
|
196
|
+
value: inputStyle.label || '',
|
|
197
|
+
onChange: function onChange(_ref4) {
|
|
198
|
+
var value = _ref4.target.value;
|
|
199
|
+
return inputMapStyleAction({
|
|
200
|
+
label: value
|
|
201
|
+
});
|
|
202
|
+
},
|
|
203
|
+
placeholder: "Name your style"
|
|
204
|
+
}))), /*#__PURE__*/_react["default"].createElement(PreviewMap, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
205
|
+
className: (0, _classnames["default"])('preview-title', {
|
|
206
|
+
error: inputStyle.error
|
|
207
|
+
})
|
|
208
|
+
}, inputStyle.error ? ErrorMsg.styleError : inputStyle.style && inputStyle.style.name || ''), /*#__PURE__*/_react["default"].createElement(StyledPreviewImage, {
|
|
209
|
+
className: "preview-image"
|
|
210
|
+
}, !inputStyle.isValid ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
211
|
+
className: "preview-image-spinner"
|
|
212
|
+
}) : /*#__PURE__*/_react["default"].createElement(_styledComponents2.StyledMapContainer, null, /*#__PURE__*/_react["default"].createElement(ResolvedMapComponent, (0, _extends2["default"])({}, mapProps, {
|
|
213
|
+
ref: setMapRefCallback,
|
|
214
|
+
key: "".concat(baseMapLibraryName, "-").concat(reRenderKey, "-").concat(inputStyle.url, "-").concat(mapboxApiAccessTokenToUse),
|
|
215
|
+
style: {
|
|
216
|
+
width: MapW,
|
|
217
|
+
height: MapH
|
|
218
|
+
},
|
|
219
|
+
mapStyle: inputStyle.url === null ? undefined : inputStyle.url
|
|
220
|
+
})))))));
|
|
221
|
+
}
|
|
222
|
+
return (0, _reactIntl.injectIntl)(AddMapStyleModal);
|
|
250
223
|
}
|
|
251
224
|
var _default = exports["default"] = AddMapStyleModalFactory;
|
|
252
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RMaWZlY3ljbGVzQ29tcGF0IiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3N0eWxlZENvbXBvbmVudHMiLCJfcmVhY3RNYXBHbCIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9zdHlsZXMiLCJfdXRpbHMiLCJfcmVhY3RJbnRsIiwiX2xvY2FsaXphdGlvbiIsIl9jb25zdGFudHMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl90ZW1wbGF0ZU9iamVjdDQiLCJfdGVtcGxhdGVPYmplY3Q1IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJNYXBIIiwiTWFwVyIsIkVycm9yTXNnIiwic3R5bGVFcnJvciIsIlByZXZpZXdNYXAiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJlcnJvckNvbG9yIiwibWVkaWEiLCJwb3J0YWJsZSIsInBhbG0iLCJTdHlsZWRQcmV2aWV3SW1hZ2UiLCJtb2RhbEltYWdlUGxhY2VIb2xkZXIiLCJJbmxpbmVMaW5rIiwibm9wIiwiQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnkiLCJBZGRNYXBTdHlsZU1vZGFsIiwiX0NvbXBvbmVudCIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9sZW4iLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY29uY2F0IiwicmVSZW5kZXJLZXkiLCJwcmV2aW91c1Rva2VuIiwibWFwUmVmIiwiX21hcCIsIm1hcCIsImdldE1hcCIsIm9mZiIsIm9uIiwic3R5bGUiLCJnZXRTdHlsZSIsImxvYWRNYXBTdHlsZUpzb24iLCJsb2FkTWFwU3R5bGVFcnJvciIsImxvYWRDdXN0b21NYXBTdHlsZSIsImVycm9yIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJ2YWx1ZSIsInJlbmRlciIsIl90aGlzJHByb3BzJHRyYW5zZm9ybSIsIl90aGlzJHByb3BzMiIsIl90aGlzMiIsIl90aGlzJHByb3BzIiwiaW5wdXRTdHlsZSIsIm1hcFN0YXRlIiwiaW50bCIsImJhc2VNYXBMaWJyYXJ5TmFtZSIsImdldEJhc2VNYXBMaWJyYXJ5IiwiYmFzZU1hcExpYnJhcnlDb25maWciLCJnZXRBcHBsaWNhdGlvbkNvbmZpZyIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwiYWNjZXNzVG9rZW4iLCJtYXBQcm9wcyIsIm1hcGJveEFjY2Vzc1Rva2VuIiwibWFwTGliIiwiZ2V0TWFwTGliIiwicHJlc2VydmVEcmF3aW5nQnVmZmVyIiwidHJhbnNmb3JtUmVxdWVzdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJTdHlsZWRNb2RhbENvbnRlbnQiLCJTdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWwiLCJTdHlsZWRNb2RhbFNlY3Rpb24iLCJGb3JtYXR0ZWRNZXNzYWdlIiwiaWQiLCJmb3JtYXRNZXNzYWdlIiwidGFyZ2V0IiwiaHJlZiIsIklucHV0TGlnaHQiLCJ0eXBlIiwidXJsIiwib25DaGFuZ2UiLCJfcmVmIiwiaW5wdXRNYXBTdHlsZSIsImljb24iLCJjZG5VcmwiLCJOT19CQVNFTUFQX0lDT04iLCJwbGFjZWhvbGRlciIsIl9yZWYyIiwibGFiZWwiLCJfcmVmMyIsImNsYXNzbmFtZXMiLCJuYW1lIiwiaXNWYWxpZCIsIlN0eWxlZE1hcENvbnRhaW5lciIsIk1hcCIsIl9leHRlbmRzMiIsInJlZiIsIl9zZXRNYXBSZWYiLCJzdGF0ZSIsIndpZHRoIiwiaGVpZ2h0IiwibWFwU3R5bGUiLCJ1bmRlZmluZWQiLCJnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMiLCJDb21wb25lbnQiLCJpbmplY3RJbnRsIiwicG9seWZpbGwiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kYWxzL2FkZC1tYXAtc3R5bGUtbW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtwb2x5ZmlsbH0gZnJvbSAncmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7TWFwLCBNYXBib3hNYXAsIE1hcFJlZn0gZnJvbSAncmVhY3QtbWFwLWdsJztcbmltcG9ydCB7XG4gIFN0eWxlZE1vZGFsQ29udGVudCxcbiAgSW5wdXRMaWdodCxcbiAgU3R5bGVkTWFwQ29udGFpbmVyLFxuICBTdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWwsXG4gIFN0eWxlZE1vZGFsU2VjdGlvblxufSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHttZWRpYX0gZnJvbSAnQGtlcGxlci5nbC9zdHlsZXMnO1xuXG4vLyBVdGlsc1xuaW1wb3J0IHtnZXRBcHBsaWNhdGlvbkNvbmZpZywgZ2V0QmFzZU1hcExpYnJhcnksIHRyYW5zZm9ybVJlcXVlc3R9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtpbmplY3RJbnRsLCBJbnRsU2hhcGV9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge05PX0JBU0VNQVBfSUNPTn0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtJbnB1dFN0eWxlLCBNYXBTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0FjdGlvbkhhbmRsZXIsIGlucHV0TWFwU3R5bGUsIGxvYWRDdXN0b21NYXBTdHlsZX0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcblxuY29uc3QgTWFwSCA9IDE5MDtcbmNvbnN0IE1hcFcgPSAyNjQ7XG5jb25zdCBFcnJvck1zZyA9IHtcbiAgc3R5bGVFcnJvcjpcbiAgICAnRmFpbGVkIHRvIGxvYWQgbWFwIHN0eWxlLCBtYWtlIHN1cmUgaXQgaXMgcHVibGlzaGVkLiBGb3IgcHJpdmF0ZSBzdHlsZSwgcGFzdGUgaW4geW91ciBhY2Nlc3MgdG9rZW4uJ1xufTtcblxuY29uc3QgUHJldmlld01hcCA9IHN0eWxlZC5kaXZgXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogMTE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuXG4gIC5wcmV2aWV3LXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBwYWRkaW5nOiA4cHggMHB4O1xuICB9XG5cbiAgLnByZXZpZXctdGl0bGUuZXJyb3Ige1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVycm9yQ29sb3J9O1xuICAgIG1heC13aWR0aDogMjUwcHg7XG4gIH1cblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICBgfTtcblxuICAke21lZGlhLnBhbG1gXG4gICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xuICAgIC5wcmV2aWV3LXRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICB9XG4gIGB9O1xuYDtcblxuY29uc3QgU3R5bGVkUHJldmlld0ltYWdlID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbEltYWdlUGxhY2VIb2xkZXJ9O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDE2cHggMCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuICB3aWR0aDogJHtNYXBXfXB4O1xuICBoZWlnaHQ6ICR7TWFwSH1weDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5wcmV2aWV3LWltYWdlLXBsYWNlaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAucHJldmlldy1pbWFnZS1zcGlubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAyNXB4KTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMjVweCk7XG4gIH1cbmA7XG5cbmNvbnN0IElubGluZUxpbmsgPSBzdHlsZWQuYWBcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbmA7XG5cbmNvbnN0IG5vcCA9ICgpID0+IHtcbiAgcmV0dXJuO1xufTtcblxuaW50ZXJmYWNlIEFkZE1hcFN0eWxlTW9kYWxQcm9wcyB7XG4gIGlucHV0TWFwU3R5bGU6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIGlucHV0TWFwU3R5bGU+O1xuICBpbnB1dFN0eWxlOiBJbnB1dFN0eWxlO1xuICBsb2FkQ3VzdG9tTWFwU3R5bGU6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIGxvYWRDdXN0b21NYXBTdHlsZT47XG4gIG1hcGJveEFwaUFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIG1hcGJveEFwaVVybD86IHN0cmluZztcbiAgdHJhbnNmb3JtUmVxdWVzdD86IChtYXBib3hLZXk6IHN0cmluZykgPT4gKFxuICAgIHVybDogc3RyaW5nLFxuICAgIHJlc291cmNlVHlwZTogc3RyaW5nXG4gICkgPT4ge1xuICAgIHVybDogc3RyaW5nO1xuICB9O1xuICBtYXBTdGF0ZTogTWFwU3RhdGU7XG4gIGludGw6IEludGxTaGFwZTtcbn1cblxuZnVuY3Rpb24gQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnkoKSB7XG4gIGNsYXNzIEFkZE1hcFN0eWxlTW9kYWwgZXh0ZW5kcyBDb21wb25lbnQ8QWRkTWFwU3R5bGVNb2RhbFByb3BzPiB7XG4gICAgc3RhdGUgPSB7XG4gICAgICByZVJlbmRlcktleTogMCxcbiAgICAgIHByZXZpb3VzVG9rZW46IG51bGxcbiAgICB9O1xuXG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICAgIGlmIChcbiAgICAgICAgcHJvcHMuaW5wdXRTdHlsZSAmJlxuICAgICAgICBwcm9wcy5pbnB1dFN0eWxlLmFjY2Vzc1Rva2VuICYmXG4gICAgICAgIHByb3BzLmlucHV0U3R5bGUuYWNjZXNzVG9rZW4gIT09IHN0YXRlLnByZXZpb3VzVG9rZW5cbiAgICAgICkge1xuICAgICAgICAvLyB0b2tlIGhhcyBjaGFuZ2VkXG4gICAgICAgIC8vIFJlYWN0TWFwR2wgZG9lc24ndCByZS1jcmVhdGUgbWFwIHdoZW4gdG9rZW4gaGFzIGNoYW5nZWRcbiAgICAgICAgLy8gaGVyZSB3ZSBmb3JjZSB0aGUgbWFwIHRvIHVwZGF0ZVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVSZW5kZXJLZXk6IHN0YXRlLnJlUmVuZGVyS2V5ICsgMSxcbiAgICAgICAgICBwcmV2aW91c1Rva2VuOiBwcm9wcy5pbnB1dFN0eWxlLmFjY2Vzc1Rva2VuXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIF9tYXA6IE1hcGJveE1hcCB8IHVuZGVmaW5lZCB8IG51bGw7XG5cbiAgICBfc2V0TWFwUmVmID0gKG1hcFJlZjogTWFwUmVmKSA9PiB7XG4gICAgICAvLyBIYW5kbGUgY2hhbmdlIG9mIHRoZSBiYXNlbWFwIGxpYnJhcnlcbiAgICAgIGlmICh0aGlzLl9tYXAgJiYgbWFwUmVmKSB7XG4gICAgICAgIGNvbnN0IG1hcCA9IG1hcFJlZi5nZXRNYXAoKTtcbiAgICAgICAgaWYgKG1hcCAmJiB0aGlzLl9tYXAgIT09IG1hcCkge1xuICAgICAgICAgIHRoaXMuX21hcC5vZmYoJ3N0eWxlLmxvYWQnLCBub3ApO1xuICAgICAgICAgIHRoaXMuX21hcC5vZmYoJ2Vycm9yJywgbm9wKTtcbiAgICAgICAgICB0aGlzLl9tYXAgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1hcCA9IG1hcFJlZiAmJiBtYXBSZWYuZ2V0TWFwKCk7XG4gICAgICBpZiAobWFwICYmIHRoaXMuX21hcCAhPT0gbWFwKSB7XG4gICAgICAgIHRoaXMuX21hcCA9IG1hcDtcblxuICAgICAgICBtYXAub24oJ3N0eWxlLmxvYWQnLCAoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3R5bGUgPSBtYXAuZ2V0U3R5bGUoKTtcbiAgICAgICAgICB0aGlzLmxvYWRNYXBTdHlsZUpzb24oc3R5bGUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBtYXAub24oJ2Vycm9yJywgKCkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZE1hcFN0eWxlRXJyb3IoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGxvYWRNYXBTdHlsZUpzb24gPSBzdHlsZSA9PiB7XG4gICAgICB0aGlzLnByb3BzLmxvYWRDdXN0b21NYXBTdHlsZSh7c3R5bGUsIGVycm9yOiBmYWxzZX0pO1xuICAgIH07XG5cbiAgICBsb2FkTWFwU3R5bGVFcnJvciA9ICgpID0+IHtcbiAgICAgIHRoaXMucHJvcHMubG9hZEN1c3RvbU1hcFN0eWxlKHtlcnJvcjogdHJ1ZX0pO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7aW5wdXRTdHlsZSwgbWFwU3RhdGUsIGludGx9ID0gdGhpcy5wcm9wcztcblxuICAgICAgY29uc3QgYmFzZU1hcExpYnJhcnlOYW1lID0gZ2V0QmFzZU1hcExpYnJhcnkoaW5wdXRTdHlsZSk7XG4gICAgICBjb25zdCBiYXNlTWFwTGlicmFyeUNvbmZpZyA9IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuYmFzZU1hcExpYnJhcnlDb25maWdbYmFzZU1hcExpYnJhcnlOYW1lXTtcblxuICAgICAgY29uc3QgbWFwYm94QXBpQWNjZXNzVG9rZW4gPSBpbnB1dFN0eWxlLmFjY2Vzc1Rva2VuIHx8IHRoaXMucHJvcHMubWFwYm94QXBpQWNjZXNzVG9rZW47XG4gICAgICBjb25zdCBtYXBQcm9wcyA9IHtcbiAgICAgICAgLi4ubWFwU3RhdGUsXG4gICAgICAgIC8vIFRPRE8gYmFzZUFwaVVybCBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IGluIHRyYW5zZm9ybVJlcXVlc3QgYXMgd2UgdXNlIGR5bmFtaWMgbWFwTGliIGltcG9ydFxuICAgICAgICAvLyBiYXNlQXBpVXJsOiBtYXBib3hBcGlVcmwsXG4gICAgICAgIG1hcGJveEFjY2Vzc1Rva2VuOiBtYXBib3hBcGlBY2Nlc3NUb2tlbixcbiAgICAgICAgbWFwTGliOiBiYXNlTWFwTGlicmFyeUNvbmZpZy5nZXRNYXBMaWIoKSxcbiAgICAgICAgcHJlc2VydmVEcmF3aW5nQnVmZmVyOiB0cnVlLFxuICAgICAgICB0cmFuc2Zvcm1SZXF1ZXN0OlxuICAgICAgICAgIHRoaXMucHJvcHMudHJhbnNmb3JtUmVxdWVzdD8uKG1hcGJveEFwaUFjY2Vzc1Rva2VuKSB8fFxuICAgICAgICAgIHRyYW5zZm9ybVJlcXVlc3QobWFwYm94QXBpQWNjZXNzVG9rZW4pXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFkZC1tYXAtc3R5bGUtbW9kYWxcIj5cbiAgICAgICAgICA8U3R5bGVkTW9kYWxDb250ZW50PlxuICAgICAgICAgICAgPFN0eWxlZE1vZGFsVmVydGljYWxQYW5lbD5cbiAgICAgICAgICAgICAgPFN0eWxlZE1vZGFsU2VjdGlvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuYWRkU3R5bGUucGFzdGVUaXRsZSd9IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXN1YnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnBhc3RlU3VidGl0bGUwJ30pfVxuICAgICAgICAgICAgICAgICAgPElubGluZUxpbmtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vaGVscC9zdHVkaW8tbWFudWFsLXB1Ymxpc2gvI3N0eWxlLXVybFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucGFzdGVTdWJ0aXRsZTInfSl9XG4gICAgICAgICAgICAgICAgICA8L0lubGluZUxpbms+eycgJ31cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucGFzdGVTdWJ0aXRsZTMnfSl9XG4gICAgICAgICAgICAgICAgICA8SW5saW5lTGlua1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly9kb2NzLm1hcGJveC5jb20vbWFwYm94LWdsLWpzL3N0eWxlLXNwZWNcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnBhc3RlU3VidGl0bGU0J30pfVxuICAgICAgICAgICAgICAgICAgPC9JbmxpbmVMaW5rPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxJbnB1dExpZ2h0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17aW5wdXRTdHlsZS51cmwgfHwgJyd9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHt0YXJnZXQ6IHt2YWx1ZX19KSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmlucHV0TWFwU3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgIHVybDogdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgaWQ6ICdDdXN0b20gU3R5bGUnLFxuICAgICAgICAgICAgICAgICAgICAgIGljb246IGAke2dldEFwcGxpY2F0aW9uQ29uZmlnKCkuY2RuVXJsfS8ke05PX0JBU0VNQVBfSUNPTn1gXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImUuZy4gaHR0cHM6Ly9iYXNlbWFwcy5jYXJ0b2Nkbi5jb20vZ2wvcG9zaXRyb24tZ2wtc3R5bGUvc3R5bGUuanNvblwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRNb2RhbFNlY3Rpb24+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZE1vZGFsU2VjdGlvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuYWRkU3R5bGUucHVibGlzaFRpdGxlJ30gLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlMSd9KX1cbiAgICAgICAgICAgICAgICAgIDxJbmxpbmVMaW5rIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL3N0dWRpby9zdHlsZXMvXCI+XG4gICAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICAgIG1hcGJveFxuICAgICAgICAgICAgICAgICAgPC9JbmxpbmVMaW5rPnsnICd9XG4gICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTInfSl9XG4gICAgICAgICAgICAgICAgICA8SW5saW5lTGlua1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9oZWxwL3N0dWRpby1tYW51YWwtcHVibGlzaC9cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTMnfSl9XG4gICAgICAgICAgICAgICAgICA8L0lubGluZUxpbms+eycgJ31cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlNCd9KX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWwtc2VjdGlvbi1zdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGU1J30pfVxuICAgICAgICAgICAgICAgICAgPElubGluZUxpbmtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vaGVscC9ob3ctYWNjZXNzLXRva2Vucy13b3JrL1wiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlNid9KX1cbiAgICAgICAgICAgICAgICAgIDwvSW5saW5lTGluaz57JyAnfVxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGU3J30pfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxJbnB1dExpZ2h0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17aW5wdXRTdHlsZS5hY2Nlc3NUb2tlbiB8fCAnJ31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoe3RhcmdldDoge3ZhbHVlfX0pID0+IHRoaXMucHJvcHMuaW5wdXRNYXBTdHlsZSh7YWNjZXNzVG9rZW46IHZhbHVlfSl9XG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLmV4YW1wbGVUb2tlbid9KX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1N0eWxlZE1vZGFsU2VjdGlvbj5cblxuICAgICAgICAgICAgICA8U3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWwtc2VjdGlvbi10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5hZGRTdHlsZS5uYW1pbmdUaXRsZSd9IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPElucHV0TGlnaHRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtpbnB1dFN0eWxlLmxhYmVsIHx8ICcnfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh7dGFyZ2V0OiB7dmFsdWV9fSkgPT4gdGhpcy5wcm9wcy5pbnB1dE1hcFN0eWxlKHtsYWJlbDogdmFsdWV9KX1cbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTmFtZSB5b3VyIHN0eWxlXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1N0eWxlZE1vZGFsU2VjdGlvbj5cbiAgICAgICAgICAgIDwvU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsPlxuICAgICAgICAgICAgPFByZXZpZXdNYXA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ3ByZXZpZXctdGl0bGUnLCB7XG4gICAgICAgICAgICAgICAgICBlcnJvcjogaW5wdXRTdHlsZS5lcnJvclxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2lucHV0U3R5bGUuZXJyb3JcbiAgICAgICAgICAgICAgICAgID8gRXJyb3JNc2cuc3R5bGVFcnJvclxuICAgICAgICAgICAgICAgICAgOiAoaW5wdXRTdHlsZS5zdHlsZSAmJiBpbnB1dFN0eWxlLnN0eWxlLm5hbWUpIHx8ICcnfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPFN0eWxlZFByZXZpZXdJbWFnZSBjbGFzc05hbWU9XCJwcmV2aWV3LWltYWdlXCI+XG4gICAgICAgICAgICAgICAgey8qKiBOb3RlLCB3ZSBuZWVkIHRoZSBNYXAgdG8gcmVuZGVyIHdpdGggZXJyb3JlZCBwYXJhbXMgdG8gZ2V0IHN0eWxlLmVycm9yIG1lc3NhZ2VzICovfVxuICAgICAgICAgICAgICAgIHshaW5wdXRTdHlsZS5pc1ZhbGlkID8gKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwcmV2aWV3LWltYWdlLXNwaW5uZXJcIiAvPlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkTWFwQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8TWFwXG4gICAgICAgICAgICAgICAgICAgICAgey4uLm1hcFByb3BzfVxuICAgICAgICAgICAgICAgICAgICAgIHJlZj17dGhpcy5fc2V0TWFwUmVmfVxuICAgICAgICAgICAgICAgICAgICAgIGtleT17YCR7YmFzZU1hcExpYnJhcnlOYW1lfS0ke3RoaXMuc3RhdGUucmVSZW5kZXJLZXl9LSR7aW5wdXRTdHlsZS51cmx9LSR7bWFwYm94QXBpQWNjZXNzVG9rZW59YH1cbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IE1hcFcsXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IE1hcEhcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgIG1hcFN0eWxlPXtpbnB1dFN0eWxlLnVybCA9PT0gbnVsbCA/IHVuZGVmaW5lZCA6IGlucHV0U3R5bGUudXJsfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWRNYXBDb250YWluZXI+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdHlsZWRQcmV2aWV3SW1hZ2U+XG4gICAgICAgICAgICA8L1ByZXZpZXdNYXA+XG4gICAgICAgICAgPC9TdHlsZWRNb2RhbENvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW5qZWN0SW50bChwb2x5ZmlsbChBZGRNYXBTdHlsZU1vZGFsKSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFkZE1hcFN0eWxlTW9kYWxGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsc0JBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLGlCQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxrQkFBQSxHQUFBTixPQUFBO0FBT0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBR0EsSUFBQVEsTUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsVUFBQSxH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QVUsQ0FBQ3dDLE9BQU8sZ0JBQ2xCM0osTUFBQSxZQUFBa0ksYUFBQTtVQUFLQyxTQUFTLEVBQUM7UUFBdUIsQ0FBRSxDQUFDLGdCQUV6Q25JLE1BQUEsWUFBQWtJLGFBQUEsQ0FBQzFILGtCQUFBLENBQUFvSixrQkFBa0IscUJBQ2pCNUosTUFBQSxZQUFBa0ksYUFBQSxDQUFDM0gsV0FBQSxDQUFBc0osR0FBRyxNQUFBQyxTQUFBLGlCQUNFbEMsUUFBUTtVQUNabUMsR0FBRyxFQUFFLElBQUksQ0FBQ0MsVUFBVztVQUNyQnBELEdBQUcsS0FBQWpCLE1BQUEsQ0FBSzJCLGtCQUFrQixPQUFBM0IsTUFBQSxDQUFJLElBQUksQ0FBQ3NFLEtBQUssQ0FBQ3JFLFdBQVcsT0FBQUQsTUFBQSxDQUFJd0IsVUFBVSxDQUFDMkIsR0FBRyxPQUFBbkQsTUFBQSxDQUFJK0Isb0JBQW9CLENBQUc7VUFDakd0QixLQUFLLEVBQUU7WUFDTDhELEtBQUssRUFBRWpHLElBQUk7WUFDWGtHLE1BQU0sRUFBRW5HO1VBQ1YsQ0FBRTtVQUNGb0csUUFBUSxFQUFFakQsVUFBVSxDQUFDMkIsR0FBRyxLQUFLLElBQUksR0FBR3VCLFNBQVMsR0FBR2xELFVBQVUsQ0FBQzJCO1FBQUksRUFDaEUsQ0FDaUIsQ0FFSixDQUNWLENBQ00sQ0FDakIsQ0FBQztNQUVWO0lBQUM7TUFBQWxDLEdBQUE7TUFBQUMsS0FBQSxFQXZNRCxTQUFPeUQsd0JBQXdCQSxDQUFDOUYsS0FBSyxFQUFFeUYsS0FBSyxFQUFFO1FBQzVDLElBQ0V6RixLQUFLLENBQUMyQyxVQUFVLElBQ2hCM0MsS0FBSyxDQUFDMkMsVUFBVSxDQUFDUSxXQUFXLElBQzVCbkQsS0FBSyxDQUFDMkMsVUFBVSxDQUFDUSxXQUFXLEtBQUtzQyxLQUFLLENBQUNwRSxhQUFhLEVBQ3BEO1VBQ0E7VUFDQTtVQUNBOztVQUVBLE9BQU87WUFDTEQsV0FBVyxFQUFFcUUsS0FBSyxDQUFDckUsV0FBVyxHQUFHLENBQUM7WUFDbENDLGFBQWEsRUFBRXJCLEtBQUssQ0FBQzJDLFVBQVUsQ0FBQ1E7VUFDbEMsQ0FBQztRQUNIO1FBRUEsT0FBTyxJQUFJO01BQ2I7SUFBQztFQUFBLEVBdkI0QjRDLGdCQUFTO0VBZ054QyxPQUFPLElBQUFDLHFCQUFVLEVBQUMsSUFBQUMsK0JBQVEsRUFBQ3RGLGdCQUFnQixDQUFDLENBQUM7QUFDL0M7QUFBQyxJQUFBdUYsUUFBQSxHQUFBQyxPQUFBLGNBRWN6Rix1QkFBdUIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
225
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9tYXBib3hMZWdhY3kiLCJfcmVhY3RNYXBsaWJyZSIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9zdHlsZXMiLCJfdXRpbHMiLCJfcmVhY3RJbnRsIiwiX2xvY2FsaXphdGlvbiIsIl9jb25zdGFudHMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl90ZW1wbGF0ZU9iamVjdDQiLCJfdGVtcGxhdGVPYmplY3Q1IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiTWFwSCIsIk1hcFciLCJFcnJvck1zZyIsInN0eWxlRXJyb3IiLCJQcmV2aWV3TWFwIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwiZXJyb3JDb2xvciIsIm1lZGlhIiwicG9ydGFibGUiLCJwYWxtIiwiU3R5bGVkUHJldmlld0ltYWdlIiwibW9kYWxJbWFnZVBsYWNlSG9sZGVyIiwiSW5saW5lTGluayIsIm5vcCIsIkFkZE1hcFN0eWxlTW9kYWxGYWN0b3J5IiwiQWRkTWFwU3R5bGVNb2RhbCIsIl9yZWYiLCJpbnB1dE1hcFN0eWxlQWN0aW9uIiwiaW5wdXRNYXBTdHlsZSIsImlucHV0U3R5bGUiLCJsb2FkQ3VzdG9tTWFwU3R5bGVBY3Rpb24iLCJsb2FkQ3VzdG9tTWFwU3R5bGUiLCJtYXBib3hBcGlBY2Nlc3NUb2tlbiIsIm1hcGJveEFwaVVybCIsImN1c3RvbVRyYW5zZm9ybVJlcXVlc3QiLCJ0cmFuc2Zvcm1SZXF1ZXN0IiwibWFwU3RhdGUiLCJpbnRsIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwicmVSZW5kZXJLZXkiLCJzZXRSZVJlbmRlcktleSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwicHJldmlvdXNUb2tlbiIsInNldFByZXZpb3VzVG9rZW4iLCJtYXBSZWYiLCJ1c2VSZWYiLCJsb2FkQ3VzdG9tTWFwU3R5bGVSZWYiLCJjdXJyZW50IiwidXNlRWZmZWN0IiwiYWNjZXNzVG9rZW4iLCJwcmV2Iiwic2V0TWFwUmVmQ2FsbGJhY2siLCJ1c2VDYWxsYmFjayIsIm1hcFJlZkluc3RhbmNlIiwibWFwIiwiZ2V0TWFwIiwib2ZmIiwib24iLCJzdHlsZSIsImdldFN0eWxlIiwiZXJyb3IiLCJiYXNlTWFwTGlicmFyeU5hbWUiLCJnZXRCYXNlTWFwTGlicmFyeSIsImJhc2VNYXBMaWJyYXJ5Q29uZmlnIiwiZ2V0QXBwbGljYXRpb25Db25maWciLCJtYXBib3hBcGlBY2Nlc3NUb2tlblRvVXNlIiwibWFwUHJvcHMiLCJtYXBib3hBY2Nlc3NUb2tlbiIsInByZXNlcnZlRHJhd2luZ0J1ZmZlciIsIk1BUF9MSUJfT1BUSU9OUyIsIk1BUEJPWCIsIm1hcExpYiIsImdldE1hcExpYiIsIlJlc29sdmVkTWFwQ29tcG9uZW50IiwiTWFwYm94TGVnYWN5TWFwIiwiTWFwbGlicmVNYXAiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiU3R5bGVkTW9kYWxDb250ZW50IiwiU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsIiwiU3R5bGVkTW9kYWxTZWN0aW9uIiwiRm9ybWF0dGVkTWVzc2FnZSIsImlkIiwiZm9ybWF0TWVzc2FnZSIsInRhcmdldCIsImhyZWYiLCJJbnB1dExpZ2h0IiwidHlwZSIsInZhbHVlIiwidXJsIiwib25DaGFuZ2UiLCJfcmVmMiIsImljb24iLCJjb25jYXQiLCJjZG5VcmwiLCJOT19CQVNFTUFQX0lDT04iLCJwbGFjZWhvbGRlciIsIl9yZWYzIiwibGFiZWwiLCJfcmVmNCIsImNsYXNzbmFtZXMiLCJuYW1lIiwiaXNWYWxpZCIsIlN0eWxlZE1hcENvbnRhaW5lciIsIl9leHRlbmRzMiIsInJlZiIsImtleSIsIndpZHRoIiwiaGVpZ2h0IiwibWFwU3R5bGUiLCJ1bmRlZmluZWQiLCJpbmplY3RJbnRsIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGFscy9hZGQtbWFwLXN0eWxlLW1vZGFsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VSZWYsIHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtNYXAgYXMgTWFwYm94TGVnYWN5TWFwLCBNYXBJbnN0YW5jZSwgTWFwUmVmfSBmcm9tICdyZWFjdC1tYXAtZ2wvbWFwYm94LWxlZ2FjeSc7XG5pbXBvcnQge01hcCBhcyBNYXBsaWJyZU1hcH0gZnJvbSAnQHZpcy5nbC9yZWFjdC1tYXBsaWJyZSc7XG5pbXBvcnQge1xuICBTdHlsZWRNb2RhbENvbnRlbnQsXG4gIElucHV0TGlnaHQsXG4gIFN0eWxlZE1hcENvbnRhaW5lcixcbiAgU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsLFxuICBTdHlsZWRNb2RhbFNlY3Rpb25cbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7bWVkaWF9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcblxuLy8gVXRpbHNcbmltcG9ydCB7Z2V0QXBwbGljYXRpb25Db25maWcsIGdldEJhc2VNYXBMaWJyYXJ5LCB0cmFuc2Zvcm1SZXF1ZXN0fSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7aW5qZWN0SW50bCwgSW50bFNoYXBlfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtOT19CQVNFTUFQX0lDT04sIE1BUF9MSUJfT1BUSU9OU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtJbnB1dFN0eWxlLCBNYXBTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0FjdGlvbkhhbmRsZXIsIGlucHV0TWFwU3R5bGUsIGxvYWRDdXN0b21NYXBTdHlsZX0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcblxuY29uc3QgTWFwSCA9IDE5MDtcbmNvbnN0IE1hcFcgPSAyNjQ7XG5jb25zdCBFcnJvck1zZyA9IHtcbiAgc3R5bGVFcnJvcjpcbiAgICAnRmFpbGVkIHRvIGxvYWQgbWFwIHN0eWxlLCBtYWtlIHN1cmUgaXQgaXMgcHVibGlzaGVkLiBGb3IgcHJpdmF0ZSBzdHlsZSwgcGFzdGUgaW4geW91ciBhY2Nlc3MgdG9rZW4uJ1xufTtcblxuY29uc3QgUHJldmlld01hcCA9IHN0eWxlZC5kaXZgXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogMTE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuXG4gIC5wcmV2aWV3LXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBwYWRkaW5nOiA4cHggMHB4O1xuICB9XG5cbiAgLnByZXZpZXctdGl0bGUuZXJyb3Ige1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVycm9yQ29sb3J9O1xuICAgIG1heC13aWR0aDogMjUwcHg7XG4gIH1cblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICBgfTtcblxuICAke21lZGlhLnBhbG1gXG4gICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xuICAgIC5wcmV2aWV3LXRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICB9XG4gIGB9O1xuYDtcblxuY29uc3QgU3R5bGVkUHJldmlld0ltYWdlID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbEltYWdlUGxhY2VIb2xkZXJ9O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDE2cHggMCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuICB3aWR0aDogJHtNYXBXfXB4O1xuICBoZWlnaHQ6ICR7TWFwSH1weDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5wcmV2aWV3LWltYWdlLXBsYWNlaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAucHJldmlldy1pbWFnZS1zcGlubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAyNXB4KTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMjVweCk7XG4gIH1cbmA7XG5cbmNvbnN0IElubGluZUxpbmsgPSBzdHlsZWQuYWBcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbmA7XG5cbmNvbnN0IG5vcCA9ICgpID0+IHtcbiAgcmV0dXJuO1xufTtcblxuaW50ZXJmYWNlIEFkZE1hcFN0eWxlTW9kYWxQcm9wcyB7XG4gIGlucHV0TWFwU3R5bGU6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIGlucHV0TWFwU3R5bGU+O1xuICBpbnB1dFN0eWxlOiBJbnB1dFN0eWxlO1xuICBsb2FkQ3VzdG9tTWFwU3R5bGU6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIGxvYWRDdXN0b21NYXBTdHlsZT47XG4gIG1hcGJveEFwaUFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIG1hcGJveEFwaVVybD86IHN0cmluZztcbiAgdHJhbnNmb3JtUmVxdWVzdD86IChtYXBib3hLZXk6IHN0cmluZykgPT4gKFxuICAgIHVybDogc3RyaW5nLFxuICAgIHJlc291cmNlVHlwZTogc3RyaW5nXG4gICkgPT4ge1xuICAgIHVybDogc3RyaW5nO1xuICB9O1xuICBtYXBTdGF0ZTogTWFwU3RhdGU7XG4gIGludGw6IEludGxTaGFwZTtcbn1cblxuZnVuY3Rpb24gQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnkoKSB7XG4gIGZ1bmN0aW9uIEFkZE1hcFN0eWxlTW9kYWwoe1xuICAgIGlucHV0TWFwU3R5bGU6IGlucHV0TWFwU3R5bGVBY3Rpb24sXG4gICAgaW5wdXRTdHlsZSxcbiAgICBsb2FkQ3VzdG9tTWFwU3R5bGU6IGxvYWRDdXN0b21NYXBTdHlsZUFjdGlvbixcbiAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbixcbiAgICBtYXBib3hBcGlVcmwsXG4gICAgdHJhbnNmb3JtUmVxdWVzdDogY3VzdG9tVHJhbnNmb3JtUmVxdWVzdCxcbiAgICBtYXBTdGF0ZSxcbiAgICBpbnRsXG4gIH06IEFkZE1hcFN0eWxlTW9kYWxQcm9wcykge1xuICAgIGNvbnN0IFtyZVJlbmRlcktleSwgc2V0UmVSZW5kZXJLZXldID0gdXNlU3RhdGUoMCk7XG4gICAgY29uc3QgW3ByZXZpb3VzVG9rZW4sIHNldFByZXZpb3VzVG9rZW5dID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgbWFwUmVmID0gdXNlUmVmPE1hcEluc3RhbmNlIHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgbG9hZEN1c3RvbU1hcFN0eWxlUmVmID0gdXNlUmVmKGxvYWRDdXN0b21NYXBTdHlsZUFjdGlvbik7XG4gICAgbG9hZEN1c3RvbU1hcFN0eWxlUmVmLmN1cnJlbnQgPSBsb2FkQ3VzdG9tTWFwU3R5bGVBY3Rpb247XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGlucHV0U3R5bGU/LmFjY2Vzc1Rva2VuICYmIGlucHV0U3R5bGUuYWNjZXNzVG9rZW4gIT09IHByZXZpb3VzVG9rZW4pIHtcbiAgICAgICAgc2V0UmVSZW5kZXJLZXkocHJldiA9PiBwcmV2ICsgMSk7XG4gICAgICAgIHNldFByZXZpb3VzVG9rZW4oaW5wdXRTdHlsZS5hY2Nlc3NUb2tlbik7XG4gICAgICB9XG4gICAgfSwgW2lucHV0U3R5bGU/LmFjY2Vzc1Rva2VuLCBwcmV2aW91c1Rva2VuXSk7XG5cbiAgICBjb25zdCBzZXRNYXBSZWZDYWxsYmFjayA9IHVzZUNhbGxiYWNrKChtYXBSZWZJbnN0YW5jZTogTWFwUmVmIHwgbnVsbCkgPT4ge1xuICAgICAgaWYgKG1hcFJlZi5jdXJyZW50ICYmIG1hcFJlZkluc3RhbmNlKSB7XG4gICAgICAgIGNvbnN0IG1hcCA9IG1hcFJlZkluc3RhbmNlLmdldE1hcCgpO1xuICAgICAgICBpZiAobWFwICYmIG1hcFJlZi5jdXJyZW50ICE9PSBtYXApIHtcbiAgICAgICAgICBtYXBSZWYuY3VycmVudC5vZmYoJ3N0eWxlLmxvYWQnLCBub3ApO1xuICAgICAgICAgIG1hcFJlZi5jdXJyZW50Lm9mZignZXJyb3InLCBub3ApO1xuICAgICAgICAgIG1hcFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBtYXAgPSBtYXBSZWZJbnN0YW5jZSAmJiBtYXBSZWZJbnN0YW5jZS5nZXRNYXAoKTtcbiAgICAgIGlmIChtYXAgJiYgbWFwUmVmLmN1cnJlbnQgIT09IG1hcCkge1xuICAgICAgICBtYXBSZWYuY3VycmVudCA9IG1hcDtcblxuICAgICAgICBtYXAub24oJ3N0eWxlLmxvYWQnLCAoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3R5bGUgPSBtYXAuZ2V0U3R5bGUoKTtcbiAgICAgICAgICBsb2FkQ3VzdG9tTWFwU3R5bGVSZWYuY3VycmVudCh7c3R5bGUsIGVycm9yOiBmYWxzZX0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBtYXAub24oJ2Vycm9yJywgKCkgPT4ge1xuICAgICAgICAgIGxvYWRDdXN0b21NYXBTdHlsZVJlZi5jdXJyZW50KHtlcnJvcjogdHJ1ZX0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBiYXNlTWFwTGlicmFyeU5hbWUgPSBnZXRCYXNlTWFwTGlicmFyeShpbnB1dFN0eWxlKTtcbiAgICBjb25zdCBiYXNlTWFwTGlicmFyeUNvbmZpZyA9IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuYmFzZU1hcExpYnJhcnlDb25maWdbYmFzZU1hcExpYnJhcnlOYW1lXTtcblxuICAgIGNvbnN0IG1hcGJveEFwaUFjY2Vzc1Rva2VuVG9Vc2UgPSBpbnB1dFN0eWxlLmFjY2Vzc1Rva2VuIHx8IG1hcGJveEFwaUFjY2Vzc1Rva2VuO1xuICAgIGNvbnN0IG1hcFByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge1xuICAgICAgLi4ubWFwU3RhdGUsXG4gICAgICBtYXBib3hBY2Nlc3NUb2tlbjogbWFwYm94QXBpQWNjZXNzVG9rZW5Ub1VzZSxcbiAgICAgIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjogdHJ1ZSxcbiAgICAgIHRyYW5zZm9ybVJlcXVlc3Q6XG4gICAgICAgIGN1c3RvbVRyYW5zZm9ybVJlcXVlc3Q/LihtYXBib3hBcGlBY2Nlc3NUb2tlblRvVXNlKSB8fFxuICAgICAgICB0cmFuc2Zvcm1SZXF1ZXN0KG1hcGJveEFwaUFjY2Vzc1Rva2VuVG9Vc2UpXG4gICAgfTtcblxuICAgIGlmIChiYXNlTWFwTGlicmFyeU5hbWUgPT09IE1BUF9MSUJfT1BUSU9OUy5NQVBCT1gpIHtcbiAgICAgIG1hcFByb3BzLm1hcExpYiA9IGJhc2VNYXBMaWJyYXJ5Q29uZmlnLmdldE1hcExpYigpO1xuICAgIH1cblxuICAgIGNvbnN0IFJlc29sdmVkTWFwQ29tcG9uZW50ID1cbiAgICAgIGJhc2VNYXBMaWJyYXJ5TmFtZSA9PT0gTUFQX0xJQl9PUFRJT05TLk1BUEJPWCA/IE1hcGJveExlZ2FjeU1hcCA6IE1hcGxpYnJlTWFwO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWRkLW1hcC1zdHlsZS1tb2RhbFwiPlxuICAgICAgICA8U3R5bGVkTW9kYWxDb250ZW50PlxuICAgICAgICAgIDxTdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWw+XG4gICAgICAgICAgICA8U3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tdGl0bGVcIj5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmFkZFN0eWxlLnBhc3RlVGl0bGUnfSAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXN1YnRpdGxlXCI+XG4gICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wYXN0ZVN1YnRpdGxlMCd9KX1cbiAgICAgICAgICAgICAgICA8SW5saW5lTGlua1xuICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL2hlbHAvc3R1ZGlvLW1hbnVhbC1wdWJsaXNoLyNzdHlsZS11cmxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnBhc3RlU3VidGl0bGUyJ30pfVxuICAgICAgICAgICAgICAgIDwvSW5saW5lTGluaz57JyAnfVxuICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucGFzdGVTdWJ0aXRsZTMnfSl9XG4gICAgICAgICAgICAgICAgPElubGluZUxpbmsgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vZG9jcy5tYXBib3guY29tL21hcGJveC1nbC1qcy9zdHlsZS1zcGVjXCI+XG4gICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wYXN0ZVN1YnRpdGxlNCd9KX1cbiAgICAgICAgICAgICAgICA8L0lubGluZUxpbms+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8SW5wdXRMaWdodFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICB2YWx1ZT17aW5wdXRTdHlsZS51cmwgfHwgJyd9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh7dGFyZ2V0OiB7dmFsdWV9fSkgPT5cbiAgICAgICAgICAgICAgICAgIGlucHV0TWFwU3R5bGVBY3Rpb24oe1xuICAgICAgICAgICAgICAgICAgICB1cmw6IHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBpZDogJ0N1c3RvbSBTdHlsZScsXG4gICAgICAgICAgICAgICAgICAgIGljb246IGAke2dldEFwcGxpY2F0aW9uQ29uZmlnKCkuY2RuVXJsfS8ke05PX0JBU0VNQVBfSUNPTn1gXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImUuZy4gaHR0cHM6Ly9iYXNlbWFwcy5jYXJ0b2Nkbi5jb20vZ2wvcG9zaXRyb24tZ2wtc3R5bGUvc3R5bGUuanNvblwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1N0eWxlZE1vZGFsU2VjdGlvbj5cblxuICAgICAgICAgICAgPFN0eWxlZE1vZGFsU2VjdGlvbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5hZGRTdHlsZS5wdWJsaXNoVGl0bGUnfSAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXN1YnRpdGxlXCI+XG4gICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGUxJ30pfVxuICAgICAgICAgICAgICAgIDxJbmxpbmVMaW5rIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL3N0dWRpby9zdHlsZXMvXCI+XG4gICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgbWFwYm94XG4gICAgICAgICAgICAgICAgPC9JbmxpbmVMaW5rPnsnICd9XG4gICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGUyJ30pfVxuICAgICAgICAgICAgICAgIDxJbmxpbmVMaW5rXG4gICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vaGVscC9zdHVkaW8tbWFudWFsLXB1Ymxpc2gvXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGUzJ30pfVxuICAgICAgICAgICAgICAgIDwvSW5saW5lTGluaz57JyAnfVxuICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlNCd9KX1cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXN1YnRpdGxlXCI+XG4gICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGU1J30pfVxuICAgICAgICAgICAgICAgIDxJbmxpbmVMaW5rXG4gICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vaGVscC9ob3ctYWNjZXNzLXRva2Vucy13b3JrL1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlNid9KX1cbiAgICAgICAgICAgICAgICA8L0lubGluZUxpbms+eycgJ31cbiAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTcnfSl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8SW5wdXRMaWdodFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICB2YWx1ZT17aW5wdXRTdHlsZS5hY2Nlc3NUb2tlbiB8fCAnJ31cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHt0YXJnZXQ6IHt2YWx1ZX19KSA9PiBpbnB1dE1hcFN0eWxlQWN0aW9uKHthY2Nlc3NUb2tlbjogdmFsdWV9KX1cbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLmV4YW1wbGVUb2tlbid9KX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvU3R5bGVkTW9kYWxTZWN0aW9uPlxuXG4gICAgICAgICAgICA8U3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tdGl0bGVcIj5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmFkZFN0eWxlLm5hbWluZ1RpdGxlJ30gLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxJbnB1dExpZ2h0XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtpbnB1dFN0eWxlLmxhYmVsIHx8ICcnfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoe3RhcmdldDoge3ZhbHVlfX0pID0+IGlucHV0TWFwU3R5bGVBY3Rpb24oe2xhYmVsOiB2YWx1ZX0pfVxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTmFtZSB5b3VyIHN0eWxlXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvU3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgICAgICAgIDwvU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsPlxuICAgICAgICAgIDxQcmV2aWV3TWFwPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ3ByZXZpZXctdGl0bGUnLCB7XG4gICAgICAgICAgICAgICAgZXJyb3I6IGlucHV0U3R5bGUuZXJyb3JcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpbnB1dFN0eWxlLmVycm9yXG4gICAgICAgICAgICAgICAgPyBFcnJvck1zZy5zdHlsZUVycm9yXG4gICAgICAgICAgICAgICAgOiAoaW5wdXRTdHlsZS5zdHlsZSAmJiBpbnB1dFN0eWxlLnN0eWxlLm5hbWUpIHx8ICcnfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8U3R5bGVkUHJldmlld0ltYWdlIGNsYXNzTmFtZT1cInByZXZpZXctaW1hZ2VcIj5cbiAgICAgICAgICAgICAgeyFpbnB1dFN0eWxlLmlzVmFsaWQgPyAoXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwcmV2aWV3LWltYWdlLXNwaW5uZXJcIiAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxTdHlsZWRNYXBDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8UmVzb2x2ZWRNYXBDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgey4uLm1hcFByb3BzfVxuICAgICAgICAgICAgICAgICAgICByZWY9e3NldE1hcFJlZkNhbGxiYWNrIGFzIGFueX1cbiAgICAgICAgICAgICAgICAgICAga2V5PXtgJHtiYXNlTWFwTGlicmFyeU5hbWV9LSR7cmVSZW5kZXJLZXl9LSR7aW5wdXRTdHlsZS51cmx9LSR7bWFwYm94QXBpQWNjZXNzVG9rZW5Ub1VzZX1gfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBNYXBXLFxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogTWFwSFxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICBtYXBTdHlsZT17aW5wdXRTdHlsZS51cmwgPT09IG51bGwgPyB1bmRlZmluZWQgOiBpbnB1dFN0eWxlLnVybH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRNYXBDb250YWluZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1N0eWxlZFByZXZpZXdJbWFnZT5cbiAgICAgICAgICA8L1ByZXZpZXdNYXA+XG4gICAgICAgIDwvU3R5bGVkTW9kYWxDb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBpbmplY3RJbnRsKEFkZE1hcFN0eWxlTW9kYWwpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBBZGRNYXBTdHlsZU1vZGFsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsaUJBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLGFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGtCQUFBLEdBQUFOLE9BQUE7QUFPQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFHQSxJQUFBUSxNQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxVQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxhQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxVQUFBLEdBQUFYLE9BQUE7QUFBc0UsSUFBQVksZUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQXJCdEU7QUFDQTtBQWdCQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7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
|
|
@@ -7,7 +7,7 @@ import { UiState } from '@kepler.gl/types';
|
|
|
7
7
|
import DataTableConfigFactory from '../common/data-table/display-format';
|
|
8
8
|
import { BaseComponentProps } from '../types';
|
|
9
9
|
export type DatasetModalTabProps = BaseComponentProps & {
|
|
10
|
-
active?: boolean;
|
|
10
|
+
$active?: boolean;
|
|
11
11
|
};
|
|
12
12
|
export declare const DatasetModalTab: IStyledComponent<'web', DatasetModalTabProps>;
|
|
13
13
|
interface DatasetTabsUnmemoizedProps {
|