kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
77 lines (76 loc) • 14.3 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
var _react = _interopRequireWildcard(require("react"));
var _styledComponents = _interopRequireWildcard(require("styled-components"));
var _utils = require("@kepler.gl/utils");
var _localization = require("@kepler.gl/localization");
var _ = require("../..");
var _styledComponents2 = require("../../common/styled-components");
var _customPicker = _interopRequireDefault(require("../layer-panel/custom-picker"));
var _colorSelector = require("../layer-panel/color-selector");
var _templateObject, _templateObject2; // SPDX-License-Identifier: MIT
// Copyright contributors to the kepler.gl project
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
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; }
var LayerGroupColorPickerWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", "px;\n cursor: pointer;\n ", "\n"])), function (props) {
return props.$extraMarginRight ? 0 : 24;
}, function (props) {
return props.disabled && (0, _styledComponents.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: none;\n pointer-events: none;\n opacity: 0.3;\n "])));
});
LayerGroupColorPickerFactory.deps = [];
function LayerGroupColorPickerFactory() {
var LayerGroupColorPicker = function LayerGroupColorPicker(_ref) {
var slug = _ref.slug,
color = _ref.color,
onColorChange = _ref.onColorChange,
extraMarginRight = _ref.extraMarginRight,
disabled = _ref.disabled;
var _useState = (0, _react.useState)(false),
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
displayColorPicker = _useState2[0],
setDisplayColorPicker = _useState2[1];
var onColorBlockClick = (0, _react.useCallback)(function () {
setDisplayColorPicker(!displayColorPicker);
}, [setDisplayColorPicker, displayColorPicker]);
var onClosePicker = (0, _react.useCallback)(function () {
setDisplayColorPicker(false);
}, [setDisplayColorPicker]);
var onCustomPickerChange = (0, _react.useCallback)(function (newColor) {
onColorChange([newColor.rgb.r, newColor.rgb.g, newColor.rgb.b]);
}, [onColorChange]);
return /*#__PURE__*/_react["default"].createElement(LayerGroupColorPickerWrapper, {
$extraMarginRight: extraMarginRight,
disabled: disabled
}, /*#__PURE__*/_react["default"].createElement(_colorSelector.ColorBlock, {
backgroundcolor: color,
onClick: onColorBlockClick,
className: "color-selector__selector__block",
"data-tip": true,
"data-for": "update-color-".concat(slug)
}), /*#__PURE__*/_react["default"].createElement(_styledComponents2.Tooltip, {
id: "update-color-".concat(slug),
effect: "solid",
delayShow: 500
}, /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
id: 'Update color'
}))), /*#__PURE__*/_react["default"].createElement(_.Portaled, {
isOpened: displayColorPicker !== false,
left: 110,
top: -50,
onClose: onClosePicker
}, /*#__PURE__*/_react["default"].createElement(_customPicker["default"], {
color: (0, _utils.rgbToHex)(color),
onChange: onCustomPickerChange
})));
};
return LayerGroupColorPicker;
}
var _default = exports["default"] = LayerGroupColorPickerFactory;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl91dGlscyIsIl9sb2NhbGl6YXRpb24iLCJfIiwiX3N0eWxlZENvbXBvbmVudHMyIiwiX2N1c3RvbVBpY2tlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29sb3JTZWxlY3RvciIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJMYXllckdyb3VwQ29sb3JQaWNrZXJXcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsIiRleHRyYU1hcmdpblJpZ2h0IiwiZGlzYWJsZWQiLCJjc3MiLCJMYXllckdyb3VwQ29sb3JQaWNrZXJGYWN0b3J5IiwiZGVwcyIsIkxheWVyR3JvdXBDb2xvclBpY2tlciIsIl9yZWYiLCJzbHVnIiwiY29sb3IiLCJvbkNvbG9yQ2hhbmdlIiwiZXh0cmFNYXJnaW5SaWdodCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRpc3BsYXlDb2xvclBpY2tlciIsInNldERpc3BsYXlDb2xvclBpY2tlciIsIm9uQ29sb3JCbG9ja0NsaWNrIiwidXNlQ2FsbGJhY2siLCJvbkNsb3NlUGlja2VyIiwib25DdXN0b21QaWNrZXJDaGFuZ2UiLCJuZXdDb2xvciIsInJnYiIsImciLCJiIiwiY3JlYXRlRWxlbWVudCIsIkNvbG9yQmxvY2siLCJiYWNrZ3JvdW5kY29sb3IiLCJvbkNsaWNrIiwiY2xhc3NOYW1lIiwiY29uY2F0IiwiVG9vbHRpcCIsImlkIiwiZWZmZWN0IiwiZGVsYXlTaG93IiwiRm9ybWF0dGVkTWVzc2FnZSIsIlBvcnRhbGVkIiwiaXNPcGVuZWQiLCJsZWZ0IiwidG9wIiwib25DbG9zZSIsInJnYlRvSGV4Iiwib25DaGFuZ2UiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lkZS1wYW5lbC9tYXAtc3R5bGUtcGFuZWwvbWFwLWxheWVyLWdyb3VwLWNvbG9yLXBpY2tlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkLCB7Y3NzfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7cmdiVG9IZXh9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge1JHQkNvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW1wb3J0IHtQb3J0YWxlZH0gZnJvbSAnLi4vLi4nO1xuaW1wb3J0IHtUb29sdGlwfSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IEN1c3RvbVBpY2tlciBmcm9tICcuLi9sYXllci1wYW5lbC9jdXN0b20tcGlja2VyJztcbmltcG9ydCB7Q29sb3JCbG9ja30gZnJvbSAnLi4vbGF5ZXItcGFuZWwvY29sb3Itc2VsZWN0b3InO1xuXG5jb25zdCBMYXllckdyb3VwQ29sb3JQaWNrZXJXcmFwcGVyID0gc3R5bGVkLmRpdjx7JGV4dHJhTWFyZ2luUmlnaHQ/OiBib29sZWFuOyBkaXNhYmxlZD86IGJvb2xlYW59PmBcbiAgbWFyZ2luLXJpZ2h0OiAke3Byb3BzID0+IChwcm9wcy4kZXh0cmFNYXJnaW5SaWdodCA/IDAgOiAyNCl9cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmRpc2FibGVkICYmXG4gICAgY3NzYFxuICAgICAgY3Vyc29yOiBub25lO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwLjM7XG4gICAgYH1cbmA7XG5cbmV4cG9ydCB0eXBlIExheWVyR3JvdXBDb2xvclBpY2tlclByb3BzID0ge1xuICBzbHVnOiBzdHJpbmc7XG4gIGNvbG9yOiBSR0JDb2xvcjtcbiAgb25Db2xvckNoYW5nZTogKHBkOiBSR0JDb2xvcikgPT4gdm9pZDtcbiAgZXh0cmFNYXJnaW5SaWdodDogYm9vbGVhbjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG59O1xuXG5MYXllckdyb3VwQ29sb3JQaWNrZXJGYWN0b3J5LmRlcHMgPSBbXTtcblxuZnVuY3Rpb24gTGF5ZXJHcm91cENvbG9yUGlja2VyRmFjdG9yeSgpIHtcbiAgY29uc3QgTGF5ZXJHcm91cENvbG9yUGlja2VyOiBSZWFjdC5GQzxMYXllckdyb3VwQ29sb3JQaWNrZXJQcm9wcz4gPSAoe1xuICAgIHNsdWcsXG4gICAgY29sb3IsXG4gICAgb25Db2xvckNoYW5nZSxcbiAgICBleHRyYU1hcmdpblJpZ2h0LFxuICAgIGRpc2FibGVkXG4gIH0pID0+IHtcbiAgICBjb25zdCBbZGlzcGxheUNvbG9yUGlja2VyLCBzZXREaXNwbGF5Q29sb3JQaWNrZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgY29uc3Qgb25Db2xvckJsb2NrQ2xpY2sgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXREaXNwbGF5Q29sb3JQaWNrZXIoIWRpc3BsYXlDb2xvclBpY2tlcik7XG4gICAgfSwgW3NldERpc3BsYXlDb2xvclBpY2tlciwgZGlzcGxheUNvbG9yUGlja2VyXSk7XG5cbiAgICBjb25zdCBvbkNsb3NlUGlja2VyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0RGlzcGxheUNvbG9yUGlja2VyKGZhbHNlKTtcbiAgICB9LCBbc2V0RGlzcGxheUNvbG9yUGlja2VyXSk7XG5cbiAgICBjb25zdCBvbkN1c3RvbVBpY2tlckNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgbmV3Q29sb3IgPT4ge1xuICAgICAgICBvbkNvbG9yQ2hhbmdlKFtuZXdDb2xvci5yZ2IuciwgbmV3Q29sb3IucmdiLmcsIG5ld0NvbG9yLnJnYi5iXSk7XG4gICAgICB9LFxuICAgICAgW29uQ29sb3JDaGFuZ2VdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8TGF5ZXJHcm91cENvbG9yUGlja2VyV3JhcHBlciAkZXh0cmFNYXJnaW5SaWdodD17ZXh0cmFNYXJnaW5SaWdodH0gZGlzYWJsZWQ9e2Rpc2FibGVkfT5cbiAgICAgICAgPENvbG9yQmxvY2tcbiAgICAgICAgICBiYWNrZ3JvdW5kY29sb3I9e2NvbG9yfVxuICAgICAgICAgIG9uQ2xpY2s9e29uQ29sb3JCbG9ja0NsaWNrfVxuICAgICAgICAgIGNsYXNzTmFtZT1cImNvbG9yLXNlbGVjdG9yX19zZWxlY3Rvcl9fYmxvY2tcIlxuICAgICAgICAgIGRhdGEtdGlwXG4gICAgICAgICAgZGF0YS1mb3I9e2B1cGRhdGUtY29sb3ItJHtzbHVnfWB9XG4gICAgICAgIC8+XG4gICAgICAgIDxUb29sdGlwIGlkPXtgdXBkYXRlLWNvbG9yLSR7c2x1Z31gfSBlZmZlY3Q9XCJzb2xpZFwiIGRlbGF5U2hvdz17NTAwfT5cbiAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnVXBkYXRlIGNvbG9yJ30gLz5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPFBvcnRhbGVkXG4gICAgICAgICAgaXNPcGVuZWQ9e2Rpc3BsYXlDb2xvclBpY2tlciAhPT0gZmFsc2V9XG4gICAgICAgICAgbGVmdD17MTEwfVxuICAgICAgICAgIHRvcD17LTUwfVxuICAgICAgICAgIG9uQ2xvc2U9e29uQ2xvc2VQaWNrZXJ9XG4gICAgICAgID5cbiAgICAgICAgICA8Q3VzdG9tUGlja2VyIGNvbG9yPXtyZ2JUb0hleChjb2xvcil9IG9uQ2hhbmdlPXtvbkN1c3RvbVBpY2tlckNoYW5nZX0gLz5cbiAgICAgICAgPC9Qb3J0YWxlZD5cbiAgICAgIDwvTGF5ZXJHcm91cENvbG9yUGlja2VyV3JhcHBlcj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBMYXllckdyb3VwQ29sb3JQaWNrZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IExheWVyR3JvdXBDb2xvclBpY2tlckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRix1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsYUFBQSxHQUFBSCxPQUFBO0FBR0EsSUFBQUksQ0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssa0JBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGFBQUEsR0FBQUMsc0JBQUEsQ0FBQVAsT0FBQTtBQUNBLElBQUFRLGNBQUEsR0FBQVIsT0FBQTtBQUF5RCxJQUFBUyxlQUFBLEVBQUFDLGdCQUFBLEVBYnpEO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQWIsd0JBQUFhLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsQ0FBQSxTQUFBRyxDQUFBLEdBQUFQLENBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFjLENBQUEsVUFBQUcsQ0FBQSxLQUFBQSxDQUFBLENBQUFWLEdBQUEsSUFBQVUsQ0FBQSxDQUFBQyxHQUFBLElBQUFQLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSixDQUFBLEVBQUFNLENBQUEsRUFBQUcsQ0FBQSxJQUFBVCxDQUFBLENBQUFNLENBQUEsSUFBQWQsQ0FBQSxDQUFBYyxDQUFBLFlBQUFOLENBQUEsY0FBQVIsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQWUsR0FBQSxDQUFBbEIsQ0FBQSxFQUFBUSxDQUFBLEdBQUFBLENBQUE7QUFjQSxJQUFNVyw0QkFBNEIsR0FBR0MsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBeEIsZUFBQSxLQUFBQSxlQUFBLE9BQUF5Qix1QkFBQSw0RUFDN0IsVUFBQUMsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ0MsaUJBQWlCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7QUFBQSxDQUFDLEVBRXpELFVBQUFELEtBQUs7RUFBQSxPQUNMQSxLQUFLLENBQUNFLFFBQVEsUUFDZEMscUJBQUcsRUFBQTVCLGdCQUFBLEtBQUFBLGdCQUFBLE9BQUF3Qix1QkFBQSxpR0FJRjtBQUFBLEVBQ0o7QUFVREssNEJBQTRCLENBQUNDLElBQUksR0FBRyxFQUFFO0FBRXRDLFNBQVNELDRCQUE0QkEsQ0FBQSxFQUFHO0VBQ3RDLElBQU1FLHFCQUEyRCxHQUFHLFNBQTlEQSxxQkFBMkRBLENBQUFDLElBQUEsRUFNM0Q7SUFBQSxJQUxKQyxJQUFJLEdBQUFELElBQUEsQ0FBSkMsSUFBSTtNQUNKQyxLQUFLLEdBQUFGLElBQUEsQ0FBTEUsS0FBSztNQUNMQyxhQUFhLEdBQUFILElBQUEsQ0FBYkcsYUFBYTtNQUNiQyxnQkFBZ0IsR0FBQUosSUFBQSxDQUFoQkksZ0JBQWdCO01BQ2hCVCxRQUFRLEdBQUFLLElBQUEsQ0FBUkwsUUFBUTtJQUVSLElBQUFVLFNBQUEsR0FBb0QsSUFBQUMsZUFBUSxFQUFDLEtBQUssQ0FBQztNQUFBQyxVQUFBLE9BQUFDLGVBQUEsYUFBQUgsU0FBQTtNQUE1REksa0JBQWtCLEdBQUFGLFVBQUE7TUFBRUcscUJBQXFCLEdBQUFILFVBQUE7SUFFaEQsSUFBTUksaUJBQWlCLEdBQUcsSUFBQUMsa0JBQVcsRUFBQyxZQUFNO01BQzFDRixxQkFBcUIsQ0FBQyxDQUFDRCxrQkFBa0IsQ0FBQztJQUM1QyxDQUFDLEVBQUUsQ0FBQ0MscUJBQXFCLEVBQUVELGtCQUFrQixDQUFDLENBQUM7SUFFL0MsSUFBTUksYUFBYSxHQUFHLElBQUFELGtCQUFXLEVBQUMsWUFBTTtNQUN0Q0YscUJBQXFCLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUMsRUFBRSxDQUFDQSxxQkFBcUIsQ0FBQyxDQUFDO0lBRTNCLElBQU1JLG9CQUFvQixHQUFHLElBQUFGLGtCQUFXLEVBQ3RDLFVBQUFHLFFBQVEsRUFBSTtNQUNWWixhQUFhLENBQUMsQ0FBQ1ksUUFBUSxDQUFDQyxHQUFHLENBQUM1QyxDQUFDLEVBQUUyQyxRQUFRLENBQUNDLEdBQUcsQ0FBQ0MsQ0FBQyxFQUFFRixRQUFRLENBQUNDLEdBQUcsQ0FBQ0UsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQyxFQUNELENBQUNmLGFBQWEsQ0FDaEIsQ0FBQztJQUVELG9CQUNFL0MsTUFBQSxZQUFBK0QsYUFBQSxDQUFDOUIsNEJBQTRCO01BQUNLLGlCQUFpQixFQUFFVSxnQkFBaUI7TUFBQ1QsUUFBUSxFQUFFQTtJQUFTLGdCQUNwRnZDLE1BQUEsWUFBQStELGFBQUEsQ0FBQ3JELGNBQUEsQ0FBQXNELFVBQVU7TUFDVEMsZUFBZSxFQUFFbkIsS0FBTTtNQUN2Qm9CLE9BQU8sRUFBRVgsaUJBQWtCO01BQzNCWSxTQUFTLEVBQUMsaUNBQWlDO01BQzNDLGdCQUFRO01BQ1IsNEJBQUFDLE1BQUEsQ0FBMEJ2QixJQUFJO0lBQUcsQ0FDbEMsQ0FBQyxlQUNGN0MsTUFBQSxZQUFBK0QsYUFBQSxDQUFDeEQsa0JBQUEsQ0FBQThELE9BQU87TUFBQ0MsRUFBRSxrQkFBQUYsTUFBQSxDQUFrQnZCLElBQUksQ0FBRztNQUFDMEIsTUFBTSxFQUFDLE9BQU87TUFBQ0MsU0FBUyxFQUFFO0lBQUksZ0JBQ2pFeEUsTUFBQSxZQUFBK0QsYUFBQSw0QkFDRS9ELE1BQUEsWUFBQStELGFBQUEsQ0FBQzFELGFBQUEsQ0FBQW9FLGdCQUFnQjtNQUFDSCxFQUFFLEVBQUU7SUFBZSxDQUFFLENBQ25DLENBQ0MsQ0FBQyxlQUNWdEUsTUFBQSxZQUFBK0QsYUFBQSxDQUFDekQsQ0FBQSxDQUFBb0UsUUFBUTtNQUNQQyxRQUFRLEVBQUV0QixrQkFBa0IsS0FBSyxLQUFNO01BQ3ZDdUIsSUFBSSxFQUFFLEdBQUk7TUFDVkMsR0FBRyxFQUFFLENBQUMsRUFBRztNQUNUQyxPQUFPLEVBQUVyQjtJQUFjLGdCQUV2QnpELE1BQUEsWUFBQStELGFBQUEsQ0FBQ3ZELGFBQUEsV0FBWTtNQUFDc0MsS0FBSyxFQUFFLElBQUFpQyxlQUFRLEVBQUNqQyxLQUFLLENBQUU7TUFBQ2tDLFFBQVEsRUFBRXRCO0lBQXFCLENBQUUsQ0FDL0QsQ0FDa0IsQ0FBQztFQUVuQyxDQUFDO0VBRUQsT0FBT2YscUJBQXFCO0FBQzlCO0FBQUMsSUFBQXNDLFFBQUEsR0FBQUMsT0FBQSxjQUVjekMsNEJBQTRCIiwiaWdub3JlTGlzdCI6W119