text: (function webpackUniversalModuleDefinition(root, factory) {
  	if(typeof exports === 'object' && typeof module === 'object')
  		module.exports = factory(require("react"));
  	else if(typeof define === 'function' && define.amd)
  		define(["react"], factory);
  	else if(typeof exports === 'object')
  		exports["VictoryZoomContainer"] = factory(require("react"));
  	else
  		root["VictoryZoomContainer"] = factory(root["React"]);
  })(self, function(__WEBPACK_EXTERNAL_MODULE_react__) {
  return /******/ (() => { // webpackBootstrap
  /******/ 	var __webpack_modules__ = ({
  
  /***/ "./victory-zoom-container.js":
  /*!***********************************!*\
    !*** ./victory-zoom-container.js ***!
    \***********************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "zoomContainerMixin": () => (/* binding */ zoomContainerMixin),
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/isFunction */ "../../../node_modules/lodash/isFunction.js");
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/defaults */ "../../../node_modules/lodash/defaults.js");
  /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_defaults__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var _zoom_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./zoom-helpers */ "./zoom-helpers.js");
  /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/data.js");
  /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-container/victory-container.js");
  /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/prop-types.js");
  /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-clip-container/victory-clip-container.js");
  
  
  
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
  
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
  
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
  
  function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
  
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  
  function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
  
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  
  
  
  
  var DEFAULT_DOWNSAMPLE = 150;
  var zoomContainerMixin = function (base) {
    var _class, _temp;
  
    return _temp = _class =
    /*#__PURE__*/
    function (_base) {
      _inherits(VictoryZoomContainer, _base);
  
      function VictoryZoomContainer() {
        _classCallCheck(this, VictoryZoomContainer);
  
        return _possibleConstructorReturn(this, (VictoryZoomContainer.__proto__ || Object.getPrototypeOf(VictoryZoomContainer)).apply(this, arguments));
      }
  
      _createClass(VictoryZoomContainer, [{
        key: "clipDataComponents",
        value: function clipDataComponents(children, props) {
          var scale = props.scale,
              clipContainerComponent = props.clipContainerComponent,
              polar = props.polar,
              origin = props.origin,
              horizontal = props.horizontal;
          var rangeX = horizontal ? scale.y.range() : scale.x.range();
          var rangeY = horizontal ? scale.x.range() : scale.y.range();
          var plottableWidth = Math.abs(rangeX[0] - rangeX[1]);
          var plottableHeight = Math.abs(rangeY[0] - rangeY[1]);
          var radius = Math.max.apply(Math, _toConsumableArray(rangeY));
          var groupComponent = react__WEBPACK_IMPORTED_MODULE_3___default().cloneElement(clipContainerComponent, _objectSpread({
            clipWidth: plottableWidth,
            clipHeight: plottableHeight,
            translateX: Math.min.apply(Math, _toConsumableArray(rangeX)),
            translateY: Math.min.apply(Math, _toConsumableArray(rangeY)),
            polar: polar,
            origin: polar ? origin : undefined,
            radius: polar ? radius : undefined
          }, clipContainerComponent.props));
          return react__WEBPACK_IMPORTED_MODULE_3___default().Children.toArray(children).map(function (child) {
            if (!victory_core__WEBPACK_IMPORTED_MODULE_4__.isDataComponent(child)) {
              return child;
            } else {
              return react__WEBPACK_IMPORTED_MODULE_3___default().cloneElement(child, {
                groupComponent: groupComponent
              });
            }
          });
        }
      }, {
        key: "modifyPolarDomain",
        value: function modifyPolarDomain(domain, originalDomain) {
          // Only zoom the radius of polar charts. Zooming angles is very confusing
          return {
            x: originalDomain.x,
            y: [0, domain.y[1]]
          };
        }
      }, {
        key: "downsampleZoomData",
        value: function downsampleZoomData(props, child, domain) {
          var downsample = props.downsample;
  
          var getData = function (childProps) {
            var data = childProps.data,
                x = childProps.x,
                y = childProps.y;
            var defaultGetData = child.type && lodash_isFunction__WEBPACK_IMPORTED_MODULE_0___default()(child.type.getData) ? child.type.getData : function () {
              return undefined;
            }; // skip costly data formatting if x and y accessors are not present
  
            return Array.isArray(data) && !x && !y ? data : defaultGetData(childProps);
          };
  
          var data = getData(child.props); // return undefined if downsample is not run, then default() will replace with child.props.data
  
          if (!downsample || !domain || !data) {
            return undefined;
          }
  
          var maxPoints = downsample === true ? DEFAULT_DOWNSAMPLE : downsample;
          var dimension = props.zoomDimension || "x"; // important: assumes data is ordered by dimension
          // get the start and end of the data that is in the current visible domain
  
          var startIndex = data.findIndex(function (d) {
            return d[dimension] >= domain[dimension][0];
          });
          var endIndex = data.findIndex(function (d) {
            return d[dimension] > domain[dimension][1];
          }); // pick one more point (if available) at each end so that VictoryLine, VictoryArea connect
  
          if (startIndex !== 0) {
            startIndex -= 1;
          }
  
          if (endIndex !== -1) {
            endIndex += 1;
          }
  
          var visibleData = data.slice(startIndex, endIndex);
          return victory_core__WEBPACK_IMPORTED_MODULE_4__.downsample(visibleData, maxPoints, startIndex);
        }
      }, {
        key: "modifyChildren",
        value: function modifyChildren(props) {
          var _this = this;
  
          var childComponents = react__WEBPACK_IMPORTED_MODULE_3___default().Children.toArray(props.children); // eslint-disable-next-line max-statements
  
          return childComponents.map(function (child) {
            var role = child.type && child.type.role;
            var isDataComponent = victory_core__WEBPACK_IMPORTED_MODULE_4__.isDataComponent(child);
            var currentDomain = props.currentDomain,
                zoomActive = props.zoomActive,
                allowZoom = props.allowZoom;
  
            var originalDomain = lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({}, props.originalDomain, props.domain);
  
            var zoomDomain = lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({}, props.zoomDomain, props.domain);
  
            var cachedZoomDomain = lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({}, props.cachedZoomDomain, props.domain);
  
            var domain;
  
            if (!_zoom_helpers__WEBPACK_IMPORTED_MODULE_5__["default"].checkDomainEquality(zoomDomain, cachedZoomDomain)) {
              // if zoomDomain has been changed, use it
              domain = zoomDomain;
            } else if (allowZoom && !zoomActive) {
              // if user has zoomed all the way out, use the child domain
              domain = child.props.domain;
            } else {
              // default: use currentDomain, set by the event handlers
              domain = lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({}, currentDomain, originalDomain);
            }
  
            var newDomain = props.polar ? _this.modifyPolarDomain(domain, originalDomain) : domain;
  
            if (newDomain && props.zoomDimension) {
              // if zooming is restricted to a dimension, don't squash changes to zoomDomain in other dim
              newDomain = _objectSpread({}, zoomDomain, _defineProperty({}, props.zoomDimension, newDomain[props.zoomDimension]));
            } // don't downsample stacked data
  
  
            var newProps = isDataComponent && role !== "stack" ? {
              domain: newDomain,
              data: _this.downsampleZoomData(props, child, newDomain)
            } : {
              domain: newDomain
            };
            return react__WEBPACK_IMPORTED_MODULE_3___default().cloneElement(child, lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()(newProps, child.props));
          });
        } // Overrides method in VictoryContainer
  
      }, {
        key: "getChildren",
        value: function getChildren(props) {
          var children = this.modifyChildren(props);
          return this.clipDataComponents(children, props);
        }
      }]);
  
      return VictoryZoomContainer;
    }(base), Object.defineProperty(_class, "displayName", {
      configurable: true,
      enumerable: true,
      writable: true,
      value: "VictoryZoomContainer"
    }), Object.defineProperty(_class, "propTypes", {
      configurable: true,
      enumerable: true,
      writable: true,
      value: _objectSpread({}, victory_core__WEBPACK_IMPORTED_MODULE_6__["default"].propTypes, {
        allowPan: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),
        allowZoom: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),
        clipContainerComponent: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().element.isRequired),
        disable: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),
        downsample: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().number)]),
        minimumZoom: prop_types__WEBPACK_IMPORTED_MODULE_2___default().shape({
          x: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().number),
          y: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().number)
        }),
        onZoomDomainChange: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().func),
        zoomDimension: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOf(["x", "y"]),
        zoomDomain: prop_types__WEBPACK_IMPORTED_MODULE_2___default().shape({
          x: victory_core__WEBPACK_IMPORTED_MODULE_7__.domain,
          y: victory_core__WEBPACK_IMPORTED_MODULE_7__.domain
        })
      })
    }), Object.defineProperty(_class, "defaultProps", {
      configurable: true,
      enumerable: true,
      writable: true,
      value: _objectSpread({}, victory_core__WEBPACK_IMPORTED_MODULE_6__["default"].defaultProps, {
        clipContainerComponent: react__WEBPACK_IMPORTED_MODULE_3___default().createElement(victory_core__WEBPACK_IMPORTED_MODULE_8__["default"], null),
        allowPan: true,
        allowZoom: true,
        zoomActive: false
      })
    }), Object.defineProperty(_class, "defaultEvents", {
      configurable: true,
      enumerable: true,
      writable: true,
      value: function (props) {
        return [{
          target: "parent",
          eventHandlers: _objectSpread({
            onMouseDown: function (evt, targetProps) {
              return props.disable ? {} : _zoom_helpers__WEBPACK_IMPORTED_MODULE_5__["default"].onMouseDown(evt, targetProps);
            },
            onTouchStart: function (evt, targetProps) {
              return props.disable ? {} : _zoom_helpers__WEBPACK_IMPORTED_MODULE_5__["default"].onMouseDown(evt, targetProps);
            },
            onMouseUp: function (evt, targetProps) {
              return props.disable ? {} : _zoom_helpers__WEBPACK_IMPORTED_MODULE_5__["default"].onMouseUp(evt, targetProps);
            },
            onTouchEnd: function (evt, targetProps) {
              return props.disable ? {} : _zoom_helpers__WEBPACK_IMPORTED_MODULE_5__["default"].onMouseUp(evt, targetProps);
            },
            onMouseLeave: function (evt, targetProps) {
              return props.disable ? {} : _zoom_helpers__WEBPACK_IMPORTED_MODULE_5__["default"].onMouseLeave(evt, targetProps);
            },
            onTouchCancel: function (evt, targetProps) {
              return props.disable ? {} : _zoom_helpers__WEBPACK_IMPORTED_MODULE_5__["default"].onMouseLeave(evt, targetProps);
            },
            // eslint-disable-next-line max-params
            onMouseMove: function (evt, targetProps, eventKey, ctx) {
              if (props.disable) {
                return {};
              }
  
              return _zoom_helpers__WEBPACK_IMPORTED_MODULE_5__["default"].onMouseMove(evt, targetProps, eventKey, ctx);
            },
            // eslint-disable-next-line max-params
            onTouchMove: function (evt, targetProps, eventKey, ctx) {
              if (props.disable) {
                return {};
              }
  
              evt.preventDefault();
              return _zoom_helpers__WEBPACK_IMPORTED_MODULE_5__["default"].onMouseMove(evt, targetProps, eventKey, ctx);
            }
          }, props.disable || !props.allowZoom ? {} : {
            onWheel: _zoom_helpers__WEBPACK_IMPORTED_MODULE_5__["default"].onWheel
          })
        }];
      }
    }), _temp;
  };
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (zoomContainerMixin(victory_core__WEBPACK_IMPORTED_MODULE_6__["default"]));
  
  /***/ }),
  
  /***/ "./zoom-helpers.js":
  /*!*************************!*\
    !*** ./zoom-helpers.js ***!
    \*************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "RawZoomHelpers": () => (/* binding */ RawZoomHelpers),
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var lodash_delay__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/delay */ "../../../node_modules/lodash/delay.js");
  /* harmony import */ var lodash_delay__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_delay__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/defaults */ "../../../node_modules/lodash/defaults.js");
  /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_defaults__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/isFunction */ "../../../node_modules/lodash/isFunction.js");
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/throttle */ "../../../node_modules/lodash/throttle.js");
  /* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_throttle__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/collection.js");
  /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/selection.js");
  /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/wrapper.js");
  
  
  
  
  
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
  
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
  
  function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
  
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
  
  /*eslint no-magic-numbers: ["error", { "ignore": [-1, 0, 1, 2, 1000] }]*/
  
  
  var RawZoomHelpers = {
    checkDomainEquality: function (a, b) {
      var checkDimension = function (dim) {
        var val1 = a && a[dim];
        var val2 = b && b[dim];
  
        if (!val1 && !val2) {
          return true;
        } else if (!val1 || !val2) {
          return false;
        }
  
        return +val1[0] === +val2[0] && +val1[1] === +val2[1];
      };
  
      return checkDimension("x") && checkDimension("y");
    },
  
    /**
     * Generates a new domain scaled by factor and constrained by the original domain.
     * @param  {[Number, Number]} currentDomain  The domain to be scaled.
     * @param  {Object} evt the event object
     * @param  {Object} props the props of the targeted component
     * @param  {String} axis the desired dimension (either x or y)
     * @return {[Number, Number]}                The scale domain
     */
    // eslint-disable-next-line max-params
    scale: function (currentDomain, evt, props, axis) {
      var _currentDomain = _slicedToArray(currentDomain, 2),
          from = _currentDomain[0],
          to = _currentDomain[1];
  
      var range = Math.abs(to - from);
      var minimumZoom = props.minimumZoom && props.minimumZoom[axis];
      var factor = this.getScaleFactor(evt);
  
      if (minimumZoom && range <= minimumZoom && factor < 1) {
        return currentDomain;
      }
  
      var _getDomain$axis = _slicedToArray(this.getDomain(props)[axis], 2),
          fromBound = _getDomain$axis[0],
          toBound = _getDomain$axis[1];
  
      var percent = this.getScalePercent(evt, props, axis);
      var point = factor * from + percent * (factor * range);
      var minDomain = this.getMinimumDomain(point, props, axis);
  
      var _getScaledDomain = this.getScaledDomain(currentDomain, factor, percent),
          _getScaledDomain2 = _slicedToArray(_getScaledDomain, 2),
          newMin = _getScaledDomain2[0],
          newMax = _getScaledDomain2[1];
  
      var newDomain = [newMin > fromBound && newMin < toBound ? newMin : fromBound, newMax < toBound && newMax > fromBound ? newMax : toBound];
      var domain = Math.abs(minDomain[1] - minDomain[0]) > Math.abs(newDomain[1] - newDomain[0]) ? minDomain : newDomain;
      return victory_core__WEBPACK_IMPORTED_MODULE_5__.containsDates([fromBound, toBound]) ? [new Date(domain[0]), new Date(domain[1])] : domain;
    },
    getScaledDomain: function (currentDomain, factor, percent) {
      var _currentDomain2 = _slicedToArray(currentDomain, 2),
          from = _currentDomain2[0],
          to = _currentDomain2[1];
  
      var range = Math.abs(to - from);
      var diff = range - range * factor;
      var newMin = +from + diff * percent;
      var newMax = +to - diff * (1 - percent);
      return [Math.min(newMin, newMax), Math.max(newMin, newMax)];
    },
    getMinimumDomain: function (point, props, axis) {
      var minimumZoom = props.minimumZoom;
      var originalDomain = this.getDomain(props)[axis];
  
      var _originalDomain = _slicedToArray(originalDomain, 2),
          from = _originalDomain[0],
          to = _originalDomain[1];
  
      var defaultMin = Math.abs(from - to) / 1000;
      var extent = minimumZoom ? minimumZoom[axis] || defaultMin : defaultMin;
      var minExtent = point - extent / 2;
      var maxExtent = point + extent / 2;
      return [minExtent > from && minExtent < to ? minExtent : from, maxExtent < to && maxExtent > from ? maxExtent : +from + extent / 2];
    },
    zoommingOut: function (evt) {
      return evt.deltaY > 0;
    },
    getScaleFactor: function (evt) {
      var sign = this.zoommingOut(evt) ? 1 : -1; // eslint-disable-next-line no-magic-numbers
  
      var delta = Math.min(Math.abs(evt.deltaY / 300), 0.5); // TODO: Check scale factor
  
      return Math.abs(1 + sign * delta);
    },
    getScalePercent: function (evt, props, axis) {
      var originalDomain = this.getDomain(props);
  
      var _originalDomain$axis = _slicedToArray(originalDomain[axis], 2),
          from = _originalDomain$axis[0],
          to = _originalDomain$axis[1];
  
      var position = this.getPosition(evt, props, originalDomain);
      return (position[axis] - from) / Math.abs(to - from);
    },
    getPosition: function (evt, props, originalDomain) {
      var _Selection$getSVGEven = victory_core__WEBPACK_IMPORTED_MODULE_6__.getSVGEventCoordinates(evt),
          x = _Selection$getSVGEven.x,
          y = _Selection$getSVGEven.y;
  
      var originalScale = {
        x: props.scale.x.domain(originalDomain.x),
        y: props.scale.y.domain(originalDomain.y)
      };
      return victory_core__WEBPACK_IMPORTED_MODULE_6__.getDataCoordinates(props, originalScale, x, y);
    },
  
    /**
     * Generate a new domain translated by the delta and constrained by the original domain.
     * @param  {[Number, Number]} currentDomain  The domain to be translated.
     * @param  {[Number, Number]} originalDomain The original domain for the data set.
     * @param  {Number}           delta          The delta to translate by
     * @return {[Number, Number]}                The translated domain
     */
    pan: function (currentDomain, originalDomain, delta) {
      var _currentDomain$map = currentDomain.map(function (val) {
        return +val;
      }),
          _currentDomain$map2 = _slicedToArray(_currentDomain$map, 2),
          fromCurrent = _currentDomain$map2[0],
          toCurrent = _currentDomain$map2[1];
  
      var _originalDomain$map = originalDomain.map(function (val) {
        return +val;
      }),
          _originalDomain$map2 = _slicedToArray(_originalDomain$map, 2),
          fromOriginal = _originalDomain$map2[0],
          toOriginal = _originalDomain$map2[1];
  
      var lowerBound = fromCurrent + delta;
      var upperBound = toCurrent + delta;
      var newDomain;
  
      if (lowerBound > fromOriginal && upperBound < toOriginal) {
        newDomain = [lowerBound, upperBound];
      } else if (lowerBound < fromOriginal) {
        // Clamp to lower limit
        var dx = toCurrent - fromCurrent;
        newDomain = [fromOriginal, fromOriginal + dx];
      } else if (upperBound > toOriginal) {
        // Clamp to upper limit
        var _dx = toCurrent - fromCurrent;
  
        newDomain = [toOriginal - _dx, toOriginal];
      } else {
        newDomain = currentDomain;
      }
  
      return victory_core__WEBPACK_IMPORTED_MODULE_5__.containsDates(currentDomain) || victory_core__WEBPACK_IMPORTED_MODULE_5__.containsDates(originalDomain) ? newDomain.map(function (val) {
        return new Date(val);
      }) : newDomain;
    },
    // eslint-disable-next-line max-params
    getDomainScale: function (domain, scale, axis, horizontal) {
      var axisDomain = Array.isArray(domain) ? domain : domain[axis];
  
      var _axisDomain = _slicedToArray(axisDomain, 2),
          from = _axisDomain[0],
          to = _axisDomain[1];
  
      var otherAxis = axis === "x" ? "y" : "x";
      var range = horizontal ? scale[otherAxis].range() : scale[axis].range();
      var plottableWidth = Math.abs(range[0] - range[1]);
      return plottableWidth / (to - from);
    },
    handleAnimation: function (ctx) {
      var animationTimer = ctx.context.animationTimer;
      var transitionTimer = ctx.context.transitionTimer;
      transitionTimer.bypassAnimation();
      animationTimer.bypassAnimation();
  
      var resumeAnimation = function () {
        animationTimer.resumeAnimation();
        transitionTimer.resumeAnimation();
      }; // delay the callback that resumes animation by ~1 frame so that animation does not interfere with wheel events
  
  
      return lodash_delay__WEBPACK_IMPORTED_MODULE_0___default()(resumeAnimation, 16); // eslint-disable-line no-magic-numbers
    },
    getLastDomain: function (targetProps, originalDomain) {
      var zoomDomain = targetProps.zoomDomain,
          cachedZoomDomain = targetProps.cachedZoomDomain,
          currentDomain = targetProps.currentDomain,
          domain = targetProps.domain;
  
      if (zoomDomain && !this.checkDomainEquality(zoomDomain, cachedZoomDomain)) {
        return lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({}, zoomDomain, domain);
      }
  
      return lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({}, currentDomain || zoomDomain || originalDomain, domain);
    },
    getDomain: function (props) {
      var originalDomain = props.originalDomain,
          domain = props.domain,
          children = props.children,
          zoomDimension = props.zoomDimension;
      var childComponents = react__WEBPACK_IMPORTED_MODULE_4__.Children.toArray(children);
      var childrenDomain = {};
  
      if (childComponents.length) {
        childrenDomain = zoomDimension ? _defineProperty({}, zoomDimension, victory_core__WEBPACK_IMPORTED_MODULE_7__.getDomainFromChildren(props, zoomDimension, childComponents)) : {
          x: victory_core__WEBPACK_IMPORTED_MODULE_7__.getDomainFromChildren(props, "x", childComponents),
          y: victory_core__WEBPACK_IMPORTED_MODULE_7__.getDomainFromChildren(props, "y", childComponents)
        };
      }
  
      return lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({}, childrenDomain, originalDomain, domain);
    },
    onMouseDown: function (evt, targetProps) {
      evt.preventDefault();
  
      if (!targetProps.allowPan) {
        return undefined;
      }
  
      var parentSVG = targetProps.parentSVG || victory_core__WEBPACK_IMPORTED_MODULE_6__.getParentSVG(evt);
  
      var _Selection$getSVGEven2 = victory_core__WEBPACK_IMPORTED_MODULE_6__.getSVGEventCoordinates(evt, parentSVG),
          x = _Selection$getSVGEven2.x,
          y = _Selection$getSVGEven2.y;
  
      return [{
        target: "parent",
        mutation: function () {
          return {
            startX: x,
            startY: y,
            panning: true,
            parentSVG: parentSVG,
            parentControlledProps: ["domain"]
          };
        }
      }];
    },
    onMouseUp: function (evt, targetProps) {
      if (!targetProps.allowPan) {
        return undefined;
      }
  
      return [{
        target: "parent",
        mutation: function () {
          return {
            panning: false
          };
        }
      }];
    },
    onMouseLeave: function (evt, targetProps) {
      if (!targetProps.allowPan) {
        return undefined;
      }
  
      return [{
        target: "parent",
        mutation: function () {
          return {
            panning: false
          };
        }
      }];
    },
    // eslint-disable-next-line max-params, max-statements
    onMouseMove: function (evt, targetProps, eventKey, ctx) {
      if (targetProps.panning && targetProps.allowPan) {
        var scale = targetProps.scale,
            startX = targetProps.startX,
            startY = targetProps.startY,
            onZoomDomainChange = targetProps.onZoomDomainChange,
            zoomDomain = targetProps.zoomDomain,
            zoomDimension = targetProps.zoomDimension,
            horizontal = targetProps.horizontal;
        var parentSVG = targetProps.parentSVG || victory_core__WEBPACK_IMPORTED_MODULE_6__.getParentSVG(evt);
  
        var _Selection$getSVGEven3 = victory_core__WEBPACK_IMPORTED_MODULE_6__.getSVGEventCoordinates(evt, parentSVG),
            x = _Selection$getSVGEven3.x,
            y = _Selection$getSVGEven3.y;
  
        var originalDomain = this.getDomain(targetProps);
        var lastDomain = this.getLastDomain(targetProps, originalDomain);
        var deltaX = horizontal ? y - startY : startX - x;
        var deltaY = horizontal ? startX - x : y - startY;
        var dx = deltaX / this.getDomainScale(lastDomain, scale, "x", horizontal);
        var dy = deltaY / this.getDomainScale(lastDomain, scale, "y", horizontal);
        var currentDomain = {
          x: zoomDimension === "y" ? originalDomain.x : this.pan(lastDomain.x, originalDomain.x, dx),
          y: zoomDimension === "x" ? originalDomain.y : this.pan(lastDomain.y, originalDomain.y, dy)
        };
        var resumeAnimation = this.handleAnimation(ctx);
        var zoomActive = !this.checkDomainEquality(originalDomain, lastDomain);
        var mutatedProps = {
          parentControlledProps: ["domain"],
          startX: x,
          startY: y,
          parentSVG: parentSVG,
          currentDomain: currentDomain,
          originalDomain: originalDomain,
          cachedZoomDomain: zoomDomain,
          zoomActive: zoomActive
        };
  
        if (lodash_isFunction__WEBPACK_IMPORTED_MODULE_2___default()(onZoomDomainChange)) {
          onZoomDomainChange(currentDomain, lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({}, mutatedProps, targetProps));
        }
  
        return [{
          target: "parent",
          callback: resumeAnimation,
          mutation: function () {
            return mutatedProps;
          }
        }];
      }
  
      return undefined;
    },
    // eslint-disable-next-line max-params
    onWheel: function (evt, targetProps, eventKey, ctx) {
      if (!targetProps.allowZoom) {
        return undefined;
      }
  
      var onZoomDomainChange = targetProps.onZoomDomainChange,
          zoomDimension = targetProps.zoomDimension,
          zoomDomain = targetProps.zoomDomain;
      var originalDomain = this.getDomain(targetProps);
      var lastDomain = this.getLastDomain(targetProps, originalDomain);
      var x = lastDomain.x,
          y = lastDomain.y;
      var currentDomain = {
        x: zoomDimension === "y" ? lastDomain.x : this.scale(x, evt, targetProps, "x"),
        y: zoomDimension === "x" ? lastDomain.y : this.scale(y, evt, targetProps, "y")
      };
      var resumeAnimation = this.handleAnimation(ctx);
      var zoomActive = !this.zoommingOut(evt) || // if zoomming in or
      //   if zoomActive is already set AND user hasn't zoommed out all the way
      targetProps.zoomActive && !this.checkDomainEquality(originalDomain, lastDomain);
      var mutatedProps = {
        currentDomain: currentDomain,
        originalDomain: originalDomain,
        cachedZoomDomain: zoomDomain,
        parentControlledProps: ["domain"],
        panning: false,
        zoomActive: zoomActive
      };
  
      if (lodash_isFunction__WEBPACK_IMPORTED_MODULE_2___default()(onZoomDomainChange)) {
        onZoomDomainChange(currentDomain, lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({}, mutatedProps, targetProps));
      }
  
      return [{
        target: "parent",
        callback: resumeAnimation,
        mutation: function () {
          return mutatedProps;
        }
      }];
    }
  };
   // allow victory-native to extend these helpers
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
    checkDomainEquality: RawZoomHelpers.checkDomainEquality.bind(RawZoomHelpers),
    onMouseDown: RawZoomHelpers.onMouseDown.bind(RawZoomHelpers),
    onMouseUp: RawZoomHelpers.onMouseUp.bind(RawZoomHelpers),
    onMouseLeave: RawZoomHelpers.onMouseLeave.bind(RawZoomHelpers),
    onMouseMove: lodash_throttle__WEBPACK_IMPORTED_MODULE_3___default()(RawZoomHelpers.onMouseMove.bind(RawZoomHelpers), 16, // eslint-disable-line no-magic-numbers
    {
      leading: true,
      trailing: false
    }),
    onWheel: lodash_throttle__WEBPACK_IMPORTED_MODULE_3___default()(RawZoomHelpers.onWheel.bind(RawZoomHelpers), 16, // eslint-disable-line no-magic-numbers
    {
      leading: true,
      trailing: false
    })
  });
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/array.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/d3-array/src/array.js ***!
    \***************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "slice": () => (/* binding */ slice),
  /* harmony export */   "map": () => (/* binding */ map)
  /* harmony export */ });
  var array = Array.prototype;
  
  var slice = array.slice;
  var map = array.map;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/ascending.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/d3-array/src/ascending.js ***!
    \*******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(a, b) {
    return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/bisect.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/d3-array/src/bisect.js ***!
    \****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "bisectRight": () => (/* binding */ bisectRight),
  /* harmony export */   "bisectLeft": () => (/* binding */ bisectLeft),
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ascending */ "../../../node_modules/d3-array/src/ascending.js");
  /* harmony import */ var _bisector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bisector */ "../../../node_modules/d3-array/src/bisector.js");
  
  
  
  var ascendingBisect = (0,_bisector__WEBPACK_IMPORTED_MODULE_1__["default"])(_ascending__WEBPACK_IMPORTED_MODULE_0__["default"]);
  var bisectRight = ascendingBisect.right;
  var bisectLeft = ascendingBisect.left;
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (bisectRight);
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/bisector.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/d3-array/src/bisector.js ***!
    \******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ascending */ "../../../node_modules/d3-array/src/ascending.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(compare) {
    if (compare.length === 1) compare = ascendingComparator(compare);
    return {
      left: function(a, x, lo, hi) {
        if (lo == null) lo = 0;
        if (hi == null) hi = a.length;
        while (lo < hi) {
          var mid = lo + hi >>> 1;
          if (compare(a[mid], x) < 0) lo = mid + 1;
          else hi = mid;
        }
        return lo;
      },
      right: function(a, x, lo, hi) {
        if (lo == null) lo = 0;
        if (hi == null) hi = a.length;
        while (lo < hi) {
          var mid = lo + hi >>> 1;
          if (compare(a[mid], x) > 0) hi = mid;
          else lo = mid + 1;
        }
        return lo;
      }
    };
  }
  
  function ascendingComparator(f) {
    return function(d, x) {
      return (0,_ascending__WEBPACK_IMPORTED_MODULE_0__["default"])(f(d), x);
    };
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/constant.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/d3-array/src/constant.js ***!
    \******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(x) {
    return function() {
      return x;
    };
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/cross.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/d3-array/src/cross.js ***!
    \***************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _pairs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pairs */ "../../../node_modules/d3-array/src/pairs.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(values0, values1, reduce) {
    var n0 = values0.length,
        n1 = values1.length,
        values = new Array(n0 * n1),
        i0,
        i1,
        i,
        value0;
  
    if (reduce == null) reduce = _pairs__WEBPACK_IMPORTED_MODULE_0__.pair;
  
    for (i0 = i = 0; i0 < n0; ++i0) {
      for (value0 = values0[i0], i1 = 0; i1 < n1; ++i1, ++i) {
        values[i] = reduce(value0, values1[i1]);
      }
    }
  
    return values;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/descending.js":
  /*!********************************************************!*\
    !*** ../../../node_modules/d3-array/src/descending.js ***!
    \********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(a, b) {
    return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/deviation.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/d3-array/src/deviation.js ***!
    \*******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _variance__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./variance */ "../../../node_modules/d3-array/src/variance.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(array, f) {
    var v = (0,_variance__WEBPACK_IMPORTED_MODULE_0__["default"])(array, f);
    return v ? Math.sqrt(v) : v;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/extent.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/d3-array/src/extent.js ***!
    \****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(values, valueof) {
    var n = values.length,
        i = -1,
        value,
        min,
        max;
  
    if (valueof == null) {
      while (++i < n) { // Find the first comparable value.
        if ((value = values[i]) != null && value >= value) {
          min = max = value;
          while (++i < n) { // Compare the remaining values.
            if ((value = values[i]) != null) {
              if (min > value) min = value;
              if (max < value) max = value;
            }
          }
        }
      }
    }
  
    else {
      while (++i < n) { // Find the first comparable value.
        if ((value = valueof(values[i], i, values)) != null && value >= value) {
          min = max = value;
          while (++i < n) { // Compare the remaining values.
            if ((value = valueof(values[i], i, values)) != null) {
              if (min > value) min = value;
              if (max < value) max = value;
            }
          }
        }
      }
    }
  
    return [min, max];
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/histogram.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/d3-array/src/histogram.js ***!
    \*******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./array */ "../../../node_modules/d3-array/src/array.js");
  /* harmony import */ var _bisect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bisect */ "../../../node_modules/d3-array/src/bisect.js");
  /* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constant */ "../../../node_modules/d3-array/src/constant.js");
  /* harmony import */ var _extent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./extent */ "../../../node_modules/d3-array/src/extent.js");
  /* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./identity */ "../../../node_modules/d3-array/src/identity.js");
  /* harmony import */ var _range__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./range */ "../../../node_modules/d3-array/src/range.js");
  /* harmony import */ var _ticks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ticks */ "../../../node_modules/d3-array/src/ticks.js");
  /* harmony import */ var _threshold_sturges__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./threshold/sturges */ "../../../node_modules/d3-array/src/threshold/sturges.js");
  
  
  
  
  
  
  
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {
    var value = _identity__WEBPACK_IMPORTED_MODULE_4__["default"],
        domain = _extent__WEBPACK_IMPORTED_MODULE_3__["default"],
        threshold = _threshold_sturges__WEBPACK_IMPORTED_MODULE_7__["default"];
  
    function histogram(data) {
      var i,
          n = data.length,
          x,
          values = new Array(n);
  
      for (i = 0; i < n; ++i) {
        values[i] = value(data[i], i, data);
      }
  
      var xz = domain(values),
          x0 = xz[0],
          x1 = xz[1],
          tz = threshold(values, x0, x1);
  
      // Convert number of thresholds into uniform thresholds.
      if (!Array.isArray(tz)) {
        tz = (0,_ticks__WEBPACK_IMPORTED_MODULE_6__.tickStep)(x0, x1, tz);
        tz = (0,_range__WEBPACK_IMPORTED_MODULE_5__["default"])(Math.ceil(x0 / tz) * tz, x1, tz); // exclusive
      }
  
      // Remove any thresholds outside the domain.
      var m = tz.length;
      while (tz[0] <= x0) tz.shift(), --m;
      while (tz[m - 1] > x1) tz.pop(), --m;
  
      var bins = new Array(m + 1),
          bin;
  
      // Initialize bins.
      for (i = 0; i <= m; ++i) {
        bin = bins[i] = [];
        bin.x0 = i > 0 ? tz[i - 1] : x0;
        bin.x1 = i < m ? tz[i] : x1;
      }
  
      // Assign data to bins by value, ignoring any outside the domain.
      for (i = 0; i < n; ++i) {
        x = values[i];
        if (x0 <= x && x <= x1) {
          bins[(0,_bisect__WEBPACK_IMPORTED_MODULE_1__["default"])(tz, x, 0, m)].push(data[i]);
        }
      }
  
      return bins;
    }
  
    histogram.value = function(_) {
      return arguments.length ? (value = typeof _ === "function" ? _ : (0,_constant__WEBPACK_IMPORTED_MODULE_2__["default"])(_), histogram) : value;
    };
  
    histogram.domain = function(_) {
      return arguments.length ? (domain = typeof _ === "function" ? _ : (0,_constant__WEBPACK_IMPORTED_MODULE_2__["default"])([_[0], _[1]]), histogram) : domain;
    };
  
    histogram.thresholds = function(_) {
      return arguments.length ? (threshold = typeof _ === "function" ? _ : Array.isArray(_) ? (0,_constant__WEBPACK_IMPORTED_MODULE_2__["default"])(_array__WEBPACK_IMPORTED_MODULE_0__.slice.call(_)) : (0,_constant__WEBPACK_IMPORTED_MODULE_2__["default"])(_), histogram) : threshold;
    };
  
    return histogram;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/identity.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/d3-array/src/identity.js ***!
    \******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(x) {
    return x;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/index.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/d3-array/src/index.js ***!
    \***************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "bisect": () => (/* reexport safe */ _bisect__WEBPACK_IMPORTED_MODULE_0__["default"]),
  /* harmony export */   "bisectRight": () => (/* reexport safe */ _bisect__WEBPACK_IMPORTED_MODULE_0__.bisectRight),
  /* harmony export */   "bisectLeft": () => (/* reexport safe */ _bisect__WEBPACK_IMPORTED_MODULE_0__.bisectLeft),
  /* harmony export */   "ascending": () => (/* reexport safe */ _ascending__WEBPACK_IMPORTED_MODULE_1__["default"]),
  /* harmony export */   "bisector": () => (/* reexport safe */ _bisector__WEBPACK_IMPORTED_MODULE_2__["default"]),
  /* harmony export */   "cross": () => (/* reexport safe */ _cross__WEBPACK_IMPORTED_MODULE_3__["default"]),
  /* harmony export */   "descending": () => (/* reexport safe */ _descending__WEBPACK_IMPORTED_MODULE_4__["default"]),
  /* harmony export */   "deviation": () => (/* reexport safe */ _deviation__WEBPACK_IMPORTED_MODULE_5__["default"]),
  /* harmony export */   "extent": () => (/* reexport safe */ _extent__WEBPACK_IMPORTED_MODULE_6__["default"]),
  /* harmony export */   "histogram": () => (/* reexport safe */ _histogram__WEBPACK_IMPORTED_MODULE_7__["default"]),
  /* harmony export */   "thresholdFreedmanDiaconis": () => (/* reexport safe */ _threshold_freedmanDiaconis__WEBPACK_IMPORTED_MODULE_8__["default"]),
  /* harmony export */   "thresholdScott": () => (/* reexport safe */ _threshold_scott__WEBPACK_IMPORTED_MODULE_9__["default"]),
  /* harmony export */   "thresholdSturges": () => (/* reexport safe */ _threshold_sturges__WEBPACK_IMPORTED_MODULE_10__["default"]),
  /* harmony export */   "max": () => (/* reexport safe */ _max__WEBPACK_IMPORTED_MODULE_11__["default"]),
  /* harmony export */   "mean": () => (/* reexport safe */ _mean__WEBPACK_IMPORTED_MODULE_12__["default"]),
  /* harmony export */   "median": () => (/* reexport safe */ _median__WEBPACK_IMPORTED_MODULE_13__["default"]),
  /* harmony export */   "merge": () => (/* reexport safe */ _merge__WEBPACK_IMPORTED_MODULE_14__["default"]),
  /* harmony export */   "min": () => (/* reexport safe */ _min__WEBPACK_IMPORTED_MODULE_15__["default"]),
  /* harmony export */   "pairs": () => (/* reexport safe */ _pairs__WEBPACK_IMPORTED_MODULE_16__["default"]),
  /* harmony export */   "permute": () => (/* reexport safe */ _permute__WEBPACK_IMPORTED_MODULE_17__["default"]),
  /* harmony export */   "quantile": () => (/* reexport safe */ _quantile__WEBPACK_IMPORTED_MODULE_18__["default"]),
  /* harmony export */   "range": () => (/* reexport safe */ _range__WEBPACK_IMPORTED_MODULE_19__["default"]),
  /* harmony export */   "scan": () => (/* reexport safe */ _scan__WEBPACK_IMPORTED_MODULE_20__["default"]),
  /* harmony export */   "shuffle": () => (/* reexport safe */ _shuffle__WEBPACK_IMPORTED_MODULE_21__["default"]),
  /* harmony export */   "sum": () => (/* reexport safe */ _sum__WEBPACK_IMPORTED_MODULE_22__["default"]),
  /* harmony export */   "ticks": () => (/* reexport safe */ _ticks__WEBPACK_IMPORTED_MODULE_23__["default"]),
  /* harmony export */   "tickIncrement": () => (/* reexport safe */ _ticks__WEBPACK_IMPORTED_MODULE_23__.tickIncrement),
  /* harmony export */   "tickStep": () => (/* reexport safe */ _ticks__WEBPACK_IMPORTED_MODULE_23__.tickStep),
  /* harmony export */   "transpose": () => (/* reexport safe */ _transpose__WEBPACK_IMPORTED_MODULE_24__["default"]),
  /* harmony export */   "variance": () => (/* reexport safe */ _variance__WEBPACK_IMPORTED_MODULE_25__["default"]),
  /* harmony export */   "zip": () => (/* reexport safe */ _zip__WEBPACK_IMPORTED_MODULE_26__["default"])
  /* harmony export */ });
  /* harmony import */ var _bisect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./bisect */ "../../../node_modules/d3-array/src/bisect.js");
  /* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ascending */ "../../../node_modules/d3-array/src/ascending.js");
  /* harmony import */ var _bisector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./bisector */ "../../../node_modules/d3-array/src/bisector.js");
  /* harmony import */ var _cross__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cross */ "../../../node_modules/d3-array/src/cross.js");
  /* harmony import */ var _descending__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./descending */ "../../../node_modules/d3-array/src/descending.js");
  /* harmony import */ var _deviation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./deviation */ "../../../node_modules/d3-array/src/deviation.js");
  /* harmony import */ var _extent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./extent */ "../../../node_modules/d3-array/src/extent.js");
  /* harmony import */ var _histogram__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./histogram */ "../../../node_modules/d3-array/src/histogram.js");
  /* harmony import */ var _threshold_freedmanDiaconis__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./threshold/freedmanDiaconis */ "../../../node_modules/d3-array/src/threshold/freedmanDiaconis.js");
  /* harmony import */ var _threshold_scott__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./threshold/scott */ "../../../node_modules/d3-array/src/threshold/scott.js");
  /* harmony import */ var _threshold_sturges__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./threshold/sturges */ "../../../node_modules/d3-array/src/threshold/sturges.js");
  /* harmony import */ var _max__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./max */ "../../../node_modules/d3-array/src/max.js");
  /* harmony import */ var _mean__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./mean */ "../../../node_modules/d3-array/src/mean.js");
  /* harmony import */ var _median__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./median */ "../../../node_modules/d3-array/src/median.js");
  /* harmony import */ var _merge__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./merge */ "../../../node_modules/d3-array/src/merge.js");
  /* harmony import */ var _min__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./min */ "../../../node_modules/d3-array/src/min.js");
  /* harmony import */ var _pairs__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./pairs */ "../../../node_modules/d3-array/src/pairs.js");
  /* harmony import */ var _permute__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./permute */ "../../../node_modules/d3-array/src/permute.js");
  /* harmony import */ var _quantile__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./quantile */ "../../../node_modules/d3-array/src/quantile.js");
  /* harmony import */ var _range__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./range */ "../../../node_modules/d3-array/src/range.js");
  /* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./scan */ "../../../node_modules/d3-array/src/scan.js");
  /* harmony import */ var _shuffle__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./shuffle */ "../../../node_modules/d3-array/src/shuffle.js");
  /* harmony import */ var _sum__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./sum */ "../../../node_modules/d3-array/src/sum.js");
  /* harmony import */ var _ticks__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./ticks */ "../../../node_modules/d3-array/src/ticks.js");
  /* harmony import */ var _transpose__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./transpose */ "../../../node_modules/d3-array/src/transpose.js");
  /* harmony import */ var _variance__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./variance */ "../../../node_modules/d3-array/src/variance.js");
  /* harmony import */ var _zip__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./zip */ "../../../node_modules/d3-array/src/zip.js");
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/max.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/d3-array/src/max.js ***!
    \*************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(values, valueof) {
    var n = values.length,
        i = -1,
        value,
        max;
  
    if (valueof == null) {
      while (++i < n) { // Find the first comparable value.
        if ((value = values[i]) != null && value >= value) {
          max = value;
          while (++i < n) { // Compare the remaining values.
            if ((value = values[i]) != null && value > max) {
              max = value;
            }
          }
        }
      }
    }
  
    else {
      while (++i < n) { // Find the first comparable value.
        if ((value = valueof(values[i], i, values)) != null && value >= value) {
          max = value;
          while (++i < n) { // Compare the remaining values.
            if ((value = valueof(values[i], i, values)) != null && value > max) {
              max = value;
            }
          }
        }
      }
    }
  
    return max;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/mean.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/d3-array/src/mean.js ***!
    \**************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./number */ "../../../node_modules/d3-array/src/number.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(values, valueof) {
    var n = values.length,
        m = n,
        i = -1,
        value,
        sum = 0;
  
    if (valueof == null) {
      while (++i < n) {
        if (!isNaN(value = (0,_number__WEBPACK_IMPORTED_MODULE_0__["default"])(values[i]))) sum += value;
        else --m;
      }
    }
  
    else {
      while (++i < n) {
        if (!isNaN(value = (0,_number__WEBPACK_IMPORTED_MODULE_0__["default"])(valueof(values[i], i, values)))) sum += value;
        else --m;
      }
    }
  
    if (m) return sum / m;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/median.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/d3-array/src/median.js ***!
    \****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ascending */ "../../../node_modules/d3-array/src/ascending.js");
  /* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./number */ "../../../node_modules/d3-array/src/number.js");
  /* harmony import */ var _quantile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./quantile */ "../../../node_modules/d3-array/src/quantile.js");
  
  
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(values, valueof) {
    var n = values.length,
        i = -1,
        value,
        numbers = [];
  
    if (valueof == null) {
      while (++i < n) {
        if (!isNaN(value = (0,_number__WEBPACK_IMPORTED_MODULE_1__["default"])(values[i]))) {
          numbers.push(value);
        }
      }
    }
  
    else {
      while (++i < n) {
        if (!isNaN(value = (0,_number__WEBPACK_IMPORTED_MODULE_1__["default"])(valueof(values[i], i, values)))) {
          numbers.push(value);
        }
      }
    }
  
    return (0,_quantile__WEBPACK_IMPORTED_MODULE_2__["default"])(numbers.sort(_ascending__WEBPACK_IMPORTED_MODULE_0__["default"]), 0.5);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/merge.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/d3-array/src/merge.js ***!
    \***************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(arrays) {
    var n = arrays.length,
        m,
        i = -1,
        j = 0,
        merged,
        array;
  
    while (++i < n) j += arrays[i].length;
    merged = new Array(j);
  
    while (--n >= 0) {
      array = arrays[n];
      m = array.length;
      while (--m >= 0) {
        merged[--j] = array[m];
      }
    }
  
    return merged;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/min.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/d3-array/src/min.js ***!
    \*************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(values, valueof) {
    var n = values.length,
        i = -1,
        value,
        min;
  
    if (valueof == null) {
      while (++i < n) { // Find the first comparable value.
        if ((value = values[i]) != null && value >= value) {
          min = value;
          while (++i < n) { // Compare the remaining values.
            if ((value = values[i]) != null && min > value) {
              min = value;
            }
          }
        }
      }
    }
  
    else {
      while (++i < n) { // Find the first comparable value.
        if ((value = valueof(values[i], i, values)) != null && value >= value) {
          min = value;
          while (++i < n) { // Compare the remaining values.
            if ((value = valueof(values[i], i, values)) != null && min > value) {
              min = value;
            }
          }
        }
      }
    }
  
    return min;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/number.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/d3-array/src/number.js ***!
    \****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(x) {
    return x === null ? NaN : +x;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/pairs.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/d3-array/src/pairs.js ***!
    \***************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "pair": () => (/* binding */ pair)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(array, f) {
    if (f == null) f = pair;
    var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n);
    while (i < n) pairs[i] = f(p, p = array[++i]);
    return pairs;
  }
  
  function pair(a, b) {
    return [a, b];
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/permute.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/d3-array/src/permute.js ***!
    \*****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(array, indexes) {
    var i = indexes.length, permutes = new Array(i);
    while (i--) permutes[i] = array[indexes[i]];
    return permutes;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/quantile.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/d3-array/src/quantile.js ***!
    \******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./number */ "../../../node_modules/d3-array/src/number.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(values, p, valueof) {
    if (valueof == null) valueof = _number__WEBPACK_IMPORTED_MODULE_0__["default"];
    if (!(n = values.length)) return;
    if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);
    if (p >= 1) return +valueof(values[n - 1], n - 1, values);
    var n,
        i = (n - 1) * p,
        i0 = Math.floor(i),
        value0 = +valueof(values[i0], i0, values),
        value1 = +valueof(values[i0 + 1], i0 + 1, values);
    return value0 + (value1 - value0) * (i - i0);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/range.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/d3-array/src/range.js ***!
    \***************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(start, stop, step) {
    start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;
  
    var i = -1,
        n = Math.max(0, Math.ceil((stop - start) / step)) | 0,
        range = new Array(n);
  
    while (++i < n) {
      range[i] = start + i * step;
    }
  
    return range;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/scan.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/d3-array/src/scan.js ***!
    \**************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ascending */ "../../../node_modules/d3-array/src/ascending.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(values, compare) {
    if (!(n = values.length)) return;
    var n,
        i = 0,
        j = 0,
        xi,
        xj = values[j];
  
    if (compare == null) compare = _ascending__WEBPACK_IMPORTED_MODULE_0__["default"];
  
    while (++i < n) {
      if (compare(xi = values[i], xj) < 0 || compare(xj, xj) !== 0) {
        xj = xi, j = i;
      }
    }
  
    if (compare(xj, xj) === 0) return j;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/shuffle.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/d3-array/src/shuffle.js ***!
    \*****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(array, i0, i1) {
    var m = (i1 == null ? array.length : i1) - (i0 = i0 == null ? 0 : +i0),
        t,
        i;
  
    while (m) {
      i = Math.random() * m-- | 0;
      t = array[m + i0];
      array[m + i0] = array[i + i0];
      array[i + i0] = t;
    }
  
    return array;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/sum.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/d3-array/src/sum.js ***!
    \*************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(values, valueof) {
    var n = values.length,
        i = -1,
        value,
        sum = 0;
  
    if (valueof == null) {
      while (++i < n) {
        if (value = +values[i]) sum += value; // Note: zero and null are equivalent.
      }
    }
  
    else {
      while (++i < n) {
        if (value = +valueof(values[i], i, values)) sum += value;
      }
    }
  
    return sum;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/threshold/freedmanDiaconis.js":
  /*!************************************************************************!*\
    !*** ../../../node_modules/d3-array/src/threshold/freedmanDiaconis.js ***!
    \************************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../array */ "../../../node_modules/d3-array/src/array.js");
  /* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ascending */ "../../../node_modules/d3-array/src/ascending.js");
  /* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../number */ "../../../node_modules/d3-array/src/number.js");
  /* harmony import */ var _quantile__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../quantile */ "../../../node_modules/d3-array/src/quantile.js");
  
  
  
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(values, min, max) {
    values = _array__WEBPACK_IMPORTED_MODULE_0__.map.call(values, _number__WEBPACK_IMPORTED_MODULE_2__["default"]).sort(_ascending__WEBPACK_IMPORTED_MODULE_1__["default"]);
    return Math.ceil((max - min) / (2 * ((0,_quantile__WEBPACK_IMPORTED_MODULE_3__["default"])(values, 0.75) - (0,_quantile__WEBPACK_IMPORTED_MODULE_3__["default"])(values, 0.25)) * Math.pow(values.length, -1 / 3)));
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/threshold/scott.js":
  /*!*************************************************************!*\
    !*** ../../../node_modules/d3-array/src/threshold/scott.js ***!
    \*************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _deviation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../deviation */ "../../../node_modules/d3-array/src/deviation.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(values, min, max) {
    return Math.ceil((max - min) / (3.5 * (0,_deviation__WEBPACK_IMPORTED_MODULE_0__["default"])(values) * Math.pow(values.length, -1 / 3)));
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/threshold/sturges.js":
  /*!***************************************************************!*\
    !*** ../../../node_modules/d3-array/src/threshold/sturges.js ***!
    \***************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(values) {
    return Math.ceil(Math.log(values.length) / Math.LN2) + 1;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/ticks.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/d3-array/src/ticks.js ***!
    \***************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "tickIncrement": () => (/* binding */ tickIncrement),
  /* harmony export */   "tickStep": () => (/* binding */ tickStep)
  /* harmony export */ });
  var e10 = Math.sqrt(50),
      e5 = Math.sqrt(10),
      e2 = Math.sqrt(2);
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(start, stop, count) {
    var reverse,
        i = -1,
        n,
        ticks,
        step;
  
    stop = +stop, start = +start, count = +count;
    if (start === stop && count > 0) return [start];
    if (reverse = stop < start) n = start, start = stop, stop = n;
    if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];
  
    if (step > 0) {
      start = Math.ceil(start / step);
      stop = Math.floor(stop / step);
      ticks = new Array(n = Math.ceil(stop - start + 1));
      while (++i < n) ticks[i] = (start + i) * step;
    } else {
      start = Math.floor(start * step);
      stop = Math.ceil(stop * step);
      ticks = new Array(n = Math.ceil(start - stop + 1));
      while (++i < n) ticks[i] = (start - i) / step;
    }
  
    if (reverse) ticks.reverse();
  
    return ticks;
  }
  
  function tickIncrement(start, stop, count) {
    var step = (stop - start) / Math.max(0, count),
        power = Math.floor(Math.log(step) / Math.LN10),
        error = step / Math.pow(10, power);
    return power >= 0
        ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)
        : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);
  }
  
  function tickStep(start, stop, count) {
    var step0 = Math.abs(stop - start) / Math.max(0, count),
        step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),
        error = step0 / step1;
    if (error >= e10) step1 *= 10;
    else if (error >= e5) step1 *= 5;
    else if (error >= e2) step1 *= 2;
    return stop < start ? -step1 : step1;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/transpose.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/d3-array/src/transpose.js ***!
    \*******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _min__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./min */ "../../../node_modules/d3-array/src/min.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(matrix) {
    if (!(n = matrix.length)) return [];
    for (var i = -1, m = (0,_min__WEBPACK_IMPORTED_MODULE_0__["default"])(matrix, length), transpose = new Array(m); ++i < m;) {
      for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) {
        row[j] = matrix[j][i];
      }
    }
    return transpose;
  }
  
  function length(d) {
    return d.length;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/variance.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/d3-array/src/variance.js ***!
    \******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./number */ "../../../node_modules/d3-array/src/number.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(values, valueof) {
    var n = values.length,
        m = 0,
        i = -1,
        mean = 0,
        value,
        delta,
        sum = 0;
  
    if (valueof == null) {
      while (++i < n) {
        if (!isNaN(value = (0,_number__WEBPACK_IMPORTED_MODULE_0__["default"])(values[i]))) {
          delta = value - mean;
          mean += delta / ++m;
          sum += delta * (value - mean);
        }
      }
    }
  
    else {
      while (++i < n) {
        if (!isNaN(value = (0,_number__WEBPACK_IMPORTED_MODULE_0__["default"])(valueof(values[i], i, values)))) {
          delta = value - mean;
          mean += delta / ++m;
          sum += delta * (value - mean);
        }
      }
    }
  
    if (m > 1) return sum / (m - 1);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-array/src/zip.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/d3-array/src/zip.js ***!
    \*************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _transpose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transpose */ "../../../node_modules/d3-array/src/transpose.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {
    return (0,_transpose__WEBPACK_IMPORTED_MODULE_0__["default"])(arguments);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-collection/src/entries.js":
  /*!**********************************************************!*\
    !*** ../../../node_modules/d3-collection/src/entries.js ***!
    \**********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(map) {
    var entries = [];
    for (var key in map) entries.push({key: key, value: map[key]});
    return entries;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-collection/src/index.js":
  /*!********************************************************!*\
    !*** ../../../node_modules/d3-collection/src/index.js ***!
    \********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "nest": () => (/* reexport safe */ _nest__WEBPACK_IMPORTED_MODULE_0__["default"]),
  /* harmony export */   "set": () => (/* reexport safe */ _set__WEBPACK_IMPORTED_MODULE_1__["default"]),
  /* harmony export */   "map": () => (/* reexport safe */ _map__WEBPACK_IMPORTED_MODULE_2__["default"]),
  /* harmony export */   "keys": () => (/* reexport safe */ _keys__WEBPACK_IMPORTED_MODULE_3__["default"]),
  /* harmony export */   "values": () => (/* reexport safe */ _values__WEBPACK_IMPORTED_MODULE_4__["default"]),
  /* harmony export */   "entries": () => (/* reexport safe */ _entries__WEBPACK_IMPORTED_MODULE_5__["default"])
  /* harmony export */ });
  /* harmony import */ var _nest__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./nest */ "../../../node_modules/d3-collection/src/nest.js");
  /* harmony import */ var _set__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./set */ "../../../node_modules/d3-collection/src/set.js");
  /* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map */ "../../../node_modules/d3-collection/src/map.js");
  /* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./keys */ "../../../node_modules/d3-collection/src/keys.js");
  /* harmony import */ var _values__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./values */ "../../../node_modules/d3-collection/src/values.js");
  /* harmony import */ var _entries__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./entries */ "../../../node_modules/d3-collection/src/entries.js");
  
  
  
  
  
  
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-collection/src/keys.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/d3-collection/src/keys.js ***!
    \*******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(map) {
    var keys = [];
    for (var key in map) keys.push(key);
    return keys;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-collection/src/map.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/d3-collection/src/map.js ***!
    \******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "prefix": () => (/* binding */ prefix),
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  var prefix = "$";
  
  function Map() {}
  
  Map.prototype = map.prototype = {
    constructor: Map,
    has: function(key) {
      return (prefix + key) in this;
    },
    get: function(key) {
      return this[prefix + key];
    },
    set: function(key, value) {
      this[prefix + key] = value;
      return this;
    },
    remove: function(key) {
      var property = prefix + key;
      return property in this && delete this[property];
    },
    clear: function() {
      for (var property in this) if (property[0] === prefix) delete this[property];
    },
    keys: function() {
      var keys = [];
      for (var property in this) if (property[0] === prefix) keys.push(property.slice(1));
      return keys;
    },
    values: function() {
      var values = [];
      for (var property in this) if (property[0] === prefix) values.push(this[property]);
      return values;
    },
    entries: function() {
      var entries = [];
      for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]});
      return entries;
    },
    size: function() {
      var size = 0;
      for (var property in this) if (property[0] === prefix) ++size;
      return size;
    },
    empty: function() {
      for (var property in this) if (property[0] === prefix) return false;
      return true;
    },
    each: function(f) {
      for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this);
    }
  };
  
  function map(object, f) {
    var map = new Map;
  
    // Copy constructor.
    if (object instanceof Map) object.each(function(value, key) { map.set(key, value); });
  
    // Index array by numeric index or specified key function.
    else if (Array.isArray(object)) {
      var i = -1,
          n = object.length,
          o;
  
      if (f == null) while (++i < n) map.set(i, object[i]);
      else while (++i < n) map.set(f(o = object[i], i, object), o);
    }
  
    // Convert object to map.
    else if (object) for (var key in object) map.set(key, object[key]);
  
    return map;
  }
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (map);
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-collection/src/nest.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/d3-collection/src/nest.js ***!
    \*******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./map */ "../../../node_modules/d3-collection/src/map.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {
    var keys = [],
        sortKeys = [],
        sortValues,
        rollup,
        nest;
  
    function apply(array, depth, createResult, setResult) {
      if (depth >= keys.length) {
        if (sortValues != null) array.sort(sortValues);
        return rollup != null ? rollup(array) : array;
      }
  
      var i = -1,
          n = array.length,
          key = keys[depth++],
          keyValue,
          value,
          valuesByKey = (0,_map__WEBPACK_IMPORTED_MODULE_0__["default"])(),
          values,
          result = createResult();
  
      while (++i < n) {
        if (values = valuesByKey.get(keyValue = key(value = array[i]) + "")) {
          values.push(value);
        } else {
          valuesByKey.set(keyValue, [value]);
        }
      }
  
      valuesByKey.each(function(values, key) {
        setResult(result, key, apply(values, depth, createResult, setResult));
      });
  
      return result;
    }
  
    function entries(map, depth) {
      if (++depth > keys.length) return map;
      var array, sortKey = sortKeys[depth - 1];
      if (rollup != null && depth >= keys.length) array = map.entries();
      else array = [], map.each(function(v, k) { array.push({key: k, values: entries(v, depth)}); });
      return sortKey != null ? array.sort(function(a, b) { return sortKey(a.key, b.key); }) : array;
    }
  
    return nest = {
      object: function(array) { return apply(array, 0, createObject, setObject); },
      map: function(array) { return apply(array, 0, createMap, setMap); },
      entries: function(array) { return entries(apply(array, 0, createMap, setMap), 0); },
      key: function(d) { keys.push(d); return nest; },
      sortKeys: function(order) { sortKeys[keys.length - 1] = order; return nest; },
      sortValues: function(order) { sortValues = order; return nest; },
      rollup: function(f) { rollup = f; return nest; }
    };
  }
  
  function createObject() {
    return {};
  }
  
  function setObject(object, key, value) {
    object[key] = value;
  }
  
  function createMap() {
    return (0,_map__WEBPACK_IMPORTED_MODULE_0__["default"])();
  }
  
  function setMap(map, key, value) {
    map.set(key, value);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-collection/src/set.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/d3-collection/src/set.js ***!
    \******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./map */ "../../../node_modules/d3-collection/src/map.js");
  
  
  function Set() {}
  
  var proto = _map__WEBPACK_IMPORTED_MODULE_0__["default"].prototype;
  
  Set.prototype = set.prototype = {
    constructor: Set,
    has: proto.has,
    add: function(value) {
      value += "";
      this[_map__WEBPACK_IMPORTED_MODULE_0__.prefix + value] = value;
      return this;
    },
    remove: proto.remove,
    clear: proto.clear,
    values: proto.keys,
    size: proto.size,
    empty: proto.empty,
    each: proto.each
  };
  
  function set(object, f) {
    var set = new Set;
  
    // Copy constructor.
    if (object instanceof Set) object.each(function(value) { set.add(value); });
  
    // Otherwise, assume it’s an array.
    else if (object) {
      var i = -1, n = object.length;
      if (f == null) while (++i < n) set.add(object[i]);
      else while (++i < n) set.add(f(object[i], i, object));
    }
  
    return set;
  }
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (set);
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-collection/src/values.js":
  /*!*********************************************************!*\
    !*** ../../../node_modules/d3-collection/src/values.js ***!
    \*********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(map) {
    var values = [];
    for (var key in map) values.push(map[key]);
    return values;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-color/src/color.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/d3-color/src/color.js ***!
    \***************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "Color": () => (/* binding */ Color),
  /* harmony export */   "darker": () => (/* binding */ darker),
  /* harmony export */   "brighter": () => (/* binding */ brighter),
  /* harmony export */   "default": () => (/* binding */ color),
  /* harmony export */   "rgbConvert": () => (/* binding */ rgbConvert),
  /* harmony export */   "rgb": () => (/* binding */ rgb),
  /* harmony export */   "Rgb": () => (/* binding */ Rgb),
  /* harmony export */   "hslConvert": () => (/* binding */ hslConvert),
  /* harmony export */   "hsl": () => (/* binding */ hsl)
  /* harmony export */ });
  /* harmony import */ var _define_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./define.js */ "../../../node_modules/d3-color/src/define.js");
  
  
  function Color() {}
  
  var darker = 0.7;
  var brighter = 1 / darker;
  
  var reI = "\\s*([+-]?\\d+)\\s*",
      reN = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",
      reP = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",
      reHex = /^#([0-9a-f]{3,8})$/,
      reRgbInteger = new RegExp("^rgb\\(" + [reI, reI, reI] + "\\)$"),
      reRgbPercent = new RegExp("^rgb\\(" + [reP, reP, reP] + "\\)$"),
      reRgbaInteger = new RegExp("^rgba\\(" + [reI, reI, reI, reN] + "\\)$"),
      reRgbaPercent = new RegExp("^rgba\\(" + [reP, reP, reP, reN] + "\\)$"),
      reHslPercent = new RegExp("^hsl\\(" + [reN, reP, reP] + "\\)$"),
      reHslaPercent = new RegExp("^hsla\\(" + [reN, reP, reP, reN] + "\\)$");
  
  var named = {
    aliceblue: 0xf0f8ff,
    antiquewhite: 0xfaebd7,
    aqua: 0x00ffff,
    aquamarine: 0x7fffd4,
    azure: 0xf0ffff,
    beige: 0xf5f5dc,
    bisque: 0xffe4c4,
    black: 0x000000,
    blanchedalmond: 0xffebcd,
    blue: 0x0000ff,
    blueviolet: 0x8a2be2,
    brown: 0xa52a2a,
    burlywood: 0xdeb887,
    cadetblue: 0x5f9ea0,
    chartreuse: 0x7fff00,
    chocolate: 0xd2691e,
    coral: 0xff7f50,
    cornflowerblue: 0x6495ed,
    cornsilk: 0xfff8dc,
    crimson: 0xdc143c,
    cyan: 0x00ffff,
    darkblue: 0x00008b,
    darkcyan: 0x008b8b,
    darkgoldenrod: 0xb8860b,
    darkgray: 0xa9a9a9,
    darkgreen: 0x006400,
    darkgrey: 0xa9a9a9,
    darkkhaki: 0xbdb76b,
    darkmagenta: 0x8b008b,
    darkolivegreen: 0x556b2f,
    darkorange: 0xff8c00,
    darkorchid: 0x9932cc,
    darkred: 0x8b0000,
    darksalmon: 0xe9967a,
    darkseagreen: 0x8fbc8f,
    darkslateblue: 0x483d8b,
    darkslategray: 0x2f4f4f,
    darkslategrey: 0x2f4f4f,
    darkturquoise: 0x00ced1,
    darkviolet: 0x9400d3,
    deeppink: 0xff1493,
    deepskyblue: 0x00bfff,
    dimgray: 0x696969,
    dimgrey: 0x696969,
    dodgerblue: 0x1e90ff,
    firebrick: 0xb22222,
    floralwhite: 0xfffaf0,
    forestgreen: 0x228b22,
    fuchsia: 0xff00ff,
    gainsboro: 0xdcdcdc,
    ghostwhite: 0xf8f8ff,
    gold: 0xffd700,
    goldenrod: 0xdaa520,
    gray: 0x808080,
    green: 0x008000,
    greenyellow: 0xadff2f,
    grey: 0x808080,
    honeydew: 0xf0fff0,
    hotpink: 0xff69b4,
    indianred: 0xcd5c5c,
    indigo: 0x4b0082,
    ivory: 0xfffff0,
    khaki: 0xf0e68c,
    lavender: 0xe6e6fa,
    lavenderblush: 0xfff0f5,
    lawngreen: 0x7cfc00,
    lemonchiffon: 0xfffacd,
    lightblue: 0xadd8e6,
    lightcoral: 0xf08080,
    lightcyan: 0xe0ffff,
    lightgoldenrodyellow: 0xfafad2,
    lightgray: 0xd3d3d3,
    lightgreen: 0x90ee90,
    lightgrey: 0xd3d3d3,
    lightpink: 0xffb6c1,
    lightsalmon: 0xffa07a,
    lightseagreen: 0x20b2aa,
    lightskyblue: 0x87cefa,
    lightslategray: 0x778899,
    lightslategrey: 0x778899,
    lightsteelblue: 0xb0c4de,
    lightyellow: 0xffffe0,
    lime: 0x00ff00,
    limegreen: 0x32cd32,
    linen: 0xfaf0e6,
    magenta: 0xff00ff,
    maroon: 0x800000,
    mediumaquamarine: 0x66cdaa,
    mediumblue: 0x0000cd,
    mediumorchid: 0xba55d3,
    mediumpurple: 0x9370db,
    mediumseagreen: 0x3cb371,
    mediumslateblue: 0x7b68ee,
    mediumspringgreen: 0x00fa9a,
    mediumturquoise: 0x48d1cc,
    mediumvioletred: 0xc71585,
    midnightblue: 0x191970,
    mintcream: 0xf5fffa,
    mistyrose: 0xffe4e1,
    moccasin: 0xffe4b5,
    navajowhite: 0xffdead,
    navy: 0x000080,
    oldlace: 0xfdf5e6,
    olive: 0x808000,
    olivedrab: 0x6b8e23,
    orange: 0xffa500,
    orangered: 0xff4500,
    orchid: 0xda70d6,
    palegoldenrod: 0xeee8aa,
    palegreen: 0x98fb98,
    paleturquoise: 0xafeeee,
    palevioletred: 0xdb7093,
    papayawhip: 0xffefd5,
    peachpuff: 0xffdab9,
    peru: 0xcd853f,
    pink: 0xffc0cb,
    plum: 0xdda0dd,
    powderblue: 0xb0e0e6,
    purple: 0x800080,
    rebeccapurple: 0x663399,
    red: 0xff0000,
    rosybrown: 0xbc8f8f,
    royalblue: 0x4169e1,
    saddlebrown: 0x8b4513,
    salmon: 0xfa8072,
    sandybrown: 0xf4a460,
    seagreen: 0x2e8b57,
    seashell: 0xfff5ee,
    sienna: 0xa0522d,
    silver: 0xc0c0c0,
    skyblue: 0x87ceeb,
    slateblue: 0x6a5acd,
    slategray: 0x708090,
    slategrey: 0x708090,
    snow: 0xfffafa,
    springgreen: 0x00ff7f,
    steelblue: 0x4682b4,
    tan: 0xd2b48c,
    teal: 0x008080,
    thistle: 0xd8bfd8,
    tomato: 0xff6347,
    turquoise: 0x40e0d0,
    violet: 0xee82ee,
    wheat: 0xf5deb3,
    white: 0xffffff,
    whitesmoke: 0xf5f5f5,
    yellow: 0xffff00,
    yellowgreen: 0x9acd32
  };
  
  (0,_define_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Color, color, {
    copy: function(channels) {
      return Object.assign(new this.constructor, this, channels);
    },
    displayable: function() {
      return this.rgb().displayable();
    },
    hex: color_formatHex, // Deprecated! Use color.formatHex.
    formatHex: color_formatHex,
    formatHsl: color_formatHsl,
    formatRgb: color_formatRgb,
    toString: color_formatRgb
  });
  
  function color_formatHex() {
    return this.rgb().formatHex();
  }
  
  function color_formatHsl() {
    return hslConvert(this).formatHsl();
  }
  
  function color_formatRgb() {
    return this.rgb().formatRgb();
  }
  
  function color(format) {
    var m, l;
    format = (format + "").trim().toLowerCase();
    return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000
        : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00
        : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000
        : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000
        : null) // invalid hex
        : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)
        : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)
        : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)
        : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)
        : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)
        : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)
        : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins
        : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0)
        : null;
  }
  
  function rgbn(n) {
    return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);
  }
  
  function rgba(r, g, b, a) {
    if (a <= 0) r = g = b = NaN;
    return new Rgb(r, g, b, a);
  }
  
  function rgbConvert(o) {
    if (!(o instanceof Color)) o = color(o);
    if (!o) return new Rgb;
    o = o.rgb();
    return new Rgb(o.r, o.g, o.b, o.opacity);
  }
  
  function rgb(r, g, b, opacity) {
    return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);
  }
  
  function Rgb(r, g, b, opacity) {
    this.r = +r;
    this.g = +g;
    this.b = +b;
    this.opacity = +opacity;
  }
  
  (0,_define_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Rgb, rgb, (0,_define_js__WEBPACK_IMPORTED_MODULE_0__.extend)(Color, {
    brighter: function(k) {
      k = k == null ? brighter : Math.pow(brighter, k);
      return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
    },
    darker: function(k) {
      k = k == null ? darker : Math.pow(darker, k);
      return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
    },
    rgb: function() {
      return this;
    },
    displayable: function() {
      return (-0.5 <= this.r && this.r < 255.5)
          && (-0.5 <= this.g && this.g < 255.5)
          && (-0.5 <= this.b && this.b < 255.5)
          && (0 <= this.opacity && this.opacity <= 1);
    },
    hex: rgb_formatHex, // Deprecated! Use color.formatHex.
    formatHex: rgb_formatHex,
    formatRgb: rgb_formatRgb,
    toString: rgb_formatRgb
  }));
  
  function rgb_formatHex() {
    return "#" + hex(this.r) + hex(this.g) + hex(this.b);
  }
  
  function rgb_formatRgb() {
    var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));
    return (a === 1 ? "rgb(" : "rgba(")
        + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", "
        + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", "
        + Math.max(0, Math.min(255, Math.round(this.b) || 0))
        + (a === 1 ? ")" : ", " + a + ")");
  }
  
  function hex(value) {
    value = Math.max(0, Math.min(255, Math.round(value) || 0));
    return (value < 16 ? "0" : "") + value.toString(16);
  }
  
  function hsla(h, s, l, a) {
    if (a <= 0) h = s = l = NaN;
    else if (l <= 0 || l >= 1) h = s = NaN;
    else if (s <= 0) h = NaN;
    return new Hsl(h, s, l, a);
  }
  
  function hslConvert(o) {
    if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);
    if (!(o instanceof Color)) o = color(o);
    if (!o) return new Hsl;
    if (o instanceof Hsl) return o;
    o = o.rgb();
    var r = o.r / 255,
        g = o.g / 255,
        b = o.b / 255,
        min = Math.min(r, g, b),
        max = Math.max(r, g, b),
        h = NaN,
        s = max - min,
        l = (max + min) / 2;
    if (s) {
      if (r === max) h = (g - b) / s + (g < b) * 6;
      else if (g === max) h = (b - r) / s + 2;
      else h = (r - g) / s + 4;
      s /= l < 0.5 ? max + min : 2 - max - min;
      h *= 60;
    } else {
      s = l > 0 && l < 1 ? 0 : h;
    }
    return new Hsl(h, s, l, o.opacity);
  }
  
  function hsl(h, s, l, opacity) {
    return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);
  }
  
  function Hsl(h, s, l, opacity) {
    this.h = +h;
    this.s = +s;
    this.l = +l;
    this.opacity = +opacity;
  }
  
  (0,_define_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Hsl, hsl, (0,_define_js__WEBPACK_IMPORTED_MODULE_0__.extend)(Color, {
    brighter: function(k) {
      k = k == null ? brighter : Math.pow(brighter, k);
      return new Hsl(this.h, this.s, this.l * k, this.opacity);
    },
    darker: function(k) {
      k = k == null ? darker : Math.pow(darker, k);
      return new Hsl(this.h, this.s, this.l * k, this.opacity);
    },
    rgb: function() {
      var h = this.h % 360 + (this.h < 0) * 360,
          s = isNaN(h) || isNaN(this.s) ? 0 : this.s,
          l = this.l,
          m2 = l + (l < 0.5 ? l : 1 - l) * s,
          m1 = 2 * l - m2;
      return new Rgb(
        hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),
        hsl2rgb(h, m1, m2),
        hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),
        this.opacity
      );
    },
    displayable: function() {
      return (0 <= this.s && this.s <= 1 || isNaN(this.s))
          && (0 <= this.l && this.l <= 1)
          && (0 <= this.opacity && this.opacity <= 1);
    },
    formatHsl: function() {
      var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));
      return (a === 1 ? "hsl(" : "hsla(")
          + (this.h || 0) + ", "
          + (this.s || 0) * 100 + "%, "
          + (this.l || 0) * 100 + "%"
          + (a === 1 ? ")" : ", " + a + ")");
    }
  }));
  
  /* From FvD 13.37, CSS Color Module Level 3 */
  function hsl2rgb(h, m1, m2) {
    return (h < 60 ? m1 + (m2 - m1) * h / 60
        : h < 180 ? m2
        : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60
        : m1) * 255;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-color/src/cubehelix.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/d3-color/src/cubehelix.js ***!
    \*******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ cubehelix),
  /* harmony export */   "Cubehelix": () => (/* binding */ Cubehelix)
  /* harmony export */ });
  /* harmony import */ var _define_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./define.js */ "../../../node_modules/d3-color/src/define.js");
  /* harmony import */ var _color_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./color.js */ "../../../node_modules/d3-color/src/color.js");
  /* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./math.js */ "../../../node_modules/d3-color/src/math.js");
  
  
  
  
  var A = -0.14861,
      B = +1.78277,
      C = -0.29227,
      D = -0.90649,
      E = +1.97294,
      ED = E * D,
      EB = E * B,
      BC_DA = B * C - D * A;
  
  function cubehelixConvert(o) {
    if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);
    if (!(o instanceof _color_js__WEBPACK_IMPORTED_MODULE_0__.Rgb)) o = (0,_color_js__WEBPACK_IMPORTED_MODULE_0__.rgbConvert)(o);
    var r = o.r / 255,
        g = o.g / 255,
        b = o.b / 255,
        l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),
        bl = b - l,
        k = (E * (g - l) - C * bl) / D,
        s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1
        h = s ? Math.atan2(k, bl) * _math_js__WEBPACK_IMPORTED_MODULE_1__.rad2deg - 120 : NaN;
    return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);
  }
  
  function cubehelix(h, s, l, opacity) {
    return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);
  }
  
  function Cubehelix(h, s, l, opacity) {
    this.h = +h;
    this.s = +s;
    this.l = +l;
    this.opacity = +opacity;
  }
  
  (0,_define_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Cubehelix, cubehelix, (0,_define_js__WEBPACK_IMPORTED_MODULE_2__.extend)(_color_js__WEBPACK_IMPORTED_MODULE_0__.Color, {
    brighter: function(k) {
      k = k == null ? _color_js__WEBPACK_IMPORTED_MODULE_0__.brighter : Math.pow(_color_js__WEBPACK_IMPORTED_MODULE_0__.brighter, k);
      return new Cubehelix(this.h, this.s, this.l * k, this.opacity);
    },
    darker: function(k) {
      k = k == null ? _color_js__WEBPACK_IMPORTED_MODULE_0__.darker : Math.pow(_color_js__WEBPACK_IMPORTED_MODULE_0__.darker, k);
      return new Cubehelix(this.h, this.s, this.l * k, this.opacity);
    },
    rgb: function() {
      var h = isNaN(this.h) ? 0 : (this.h + 120) * _math_js__WEBPACK_IMPORTED_MODULE_1__.deg2rad,
          l = +this.l,
          a = isNaN(this.s) ? 0 : this.s * l * (1 - l),
          cosh = Math.cos(h),
          sinh = Math.sin(h);
      return new _color_js__WEBPACK_IMPORTED_MODULE_0__.Rgb(
        255 * (l + a * (A * cosh + B * sinh)),
        255 * (l + a * (C * cosh + D * sinh)),
        255 * (l + a * (E * cosh)),
        this.opacity
      );
    }
  }));
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-color/src/define.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/d3-color/src/define.js ***!
    \****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "extend": () => (/* binding */ extend)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(constructor, factory, prototype) {
    constructor.prototype = factory.prototype = prototype;
    prototype.constructor = constructor;
  }
  
  function extend(parent, definition) {
    var prototype = Object.create(parent.prototype);
    for (var key in definition) prototype[key] = definition[key];
    return prototype;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-color/src/math.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/d3-color/src/math.js ***!
    \**************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "deg2rad": () => (/* binding */ deg2rad),
  /* harmony export */   "rad2deg": () => (/* binding */ rad2deg)
  /* harmony export */ });
  var deg2rad = Math.PI / 180;
  var rad2deg = 180 / Math.PI;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-format/src/defaultLocale.js":
  /*!************************************************************!*\
    !*** ../../../node_modules/d3-format/src/defaultLocale.js ***!
    \************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "format": () => (/* binding */ format),
  /* harmony export */   "formatPrefix": () => (/* binding */ formatPrefix),
  /* harmony export */   "default": () => (/* binding */ defaultLocale)
  /* harmony export */ });
  /* harmony import */ var _locale_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./locale.js */ "../../../node_modules/d3-format/src/locale.js");
  
  
  var locale;
  var format;
  var formatPrefix;
  
  defaultLocale({
    decimal: ".",
    thousands: ",",
    grouping: [3],
    currency: ["$", ""],
    minus: "-"
  });
  
  function defaultLocale(definition) {
    locale = (0,_locale_js__WEBPACK_IMPORTED_MODULE_0__["default"])(definition);
    format = locale.format;
    formatPrefix = locale.formatPrefix;
    return locale;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-format/src/exponent.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/d3-format/src/exponent.js ***!
    \*******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _formatDecimal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./formatDecimal.js */ "../../../node_modules/d3-format/src/formatDecimal.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(x) {
    return x = (0,_formatDecimal_js__WEBPACK_IMPORTED_MODULE_0__.formatDecimalParts)(Math.abs(x)), x ? x[1] : NaN;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-format/src/formatDecimal.js":
  /*!************************************************************!*\
    !*** ../../../node_modules/d3-format/src/formatDecimal.js ***!
    \************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "formatDecimalParts": () => (/* binding */ formatDecimalParts)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(x) {
    return Math.abs(x = Math.round(x)) >= 1e21
        ? x.toLocaleString("en").replace(/,/g, "")
        : x.toString(10);
  }
  
  // Computes the decimal coefficient and exponent of the specified number x with
  // significant digits p, where x is positive and p is in [1, 21] or undefined.
  // For example, formatDecimalParts(1.23) returns ["123", 0].
  function formatDecimalParts(x, p) {
    if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, ±Infinity
    var i, coefficient = x.slice(0, i);
  
    // The string returned by toExponential either has the form \d\.\d+e[-+]\d+
    // (e.g., 1.2e+3) or the form \de[-+]\d+ (e.g., 1e+3).
    return [
      coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,
      +x.slice(i + 1)
    ];
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-format/src/formatGroup.js":
  /*!**********************************************************!*\
    !*** ../../../node_modules/d3-format/src/formatGroup.js ***!
    \**********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(grouping, thousands) {
    return function(value, width) {
      var i = value.length,
          t = [],
          j = 0,
          g = grouping[0],
          length = 0;
  
      while (i > 0 && g > 0) {
        if (length + g + 1 > width) g = Math.max(1, width - length);
        t.push(value.substring(i -= g, i + g));
        if ((length += g + 1) > width) break;
        g = grouping[j = (j + 1) % grouping.length];
      }
  
      return t.reverse().join(thousands);
    };
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-format/src/formatNumerals.js":
  /*!*************************************************************!*\
    !*** ../../../node_modules/d3-format/src/formatNumerals.js ***!
    \*************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(numerals) {
    return function(value) {
      return value.replace(/[0-9]/g, function(i) {
        return numerals[+i];
      });
    };
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-format/src/formatPrefixAuto.js":
  /*!***************************************************************!*\
    !*** ../../../node_modules/d3-format/src/formatPrefixAuto.js ***!
    \***************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "prefixExponent": () => (/* binding */ prefixExponent),
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _formatDecimal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./formatDecimal.js */ "../../../node_modules/d3-format/src/formatDecimal.js");
  
  
  var prefixExponent;
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(x, p) {
    var d = (0,_formatDecimal_js__WEBPACK_IMPORTED_MODULE_0__.formatDecimalParts)(x, p);
    if (!d) return x + "";
    var coefficient = d[0],
        exponent = d[1],
        i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,
        n = coefficient.length;
    return i === n ? coefficient
        : i > n ? coefficient + new Array(i - n + 1).join("0")
        : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i)
        : "0." + new Array(1 - i).join("0") + (0,_formatDecimal_js__WEBPACK_IMPORTED_MODULE_0__.formatDecimalParts)(x, Math.max(0, p + i - 1))[0]; // less than 1y!
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-format/src/formatRounded.js":
  /*!************************************************************!*\
    !*** ../../../node_modules/d3-format/src/formatRounded.js ***!
    \************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _formatDecimal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./formatDecimal.js */ "../../../node_modules/d3-format/src/formatDecimal.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(x, p) {
    var d = (0,_formatDecimal_js__WEBPACK_IMPORTED_MODULE_0__.formatDecimalParts)(x, p);
    if (!d) return x + "";
    var coefficient = d[0],
        exponent = d[1];
    return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient
        : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1)
        : coefficient + new Array(exponent - coefficient.length + 2).join("0");
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-format/src/formatSpecifier.js":
  /*!**************************************************************!*\
    !*** ../../../node_modules/d3-format/src/formatSpecifier.js ***!
    \**************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ formatSpecifier),
  /* harmony export */   "FormatSpecifier": () => (/* binding */ FormatSpecifier)
  /* harmony export */ });
  // [[fill]align][sign][symbol][0][width][,][.precision][~][type]
  var re = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
  
  function formatSpecifier(specifier) {
    if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier);
    var match;
    return new FormatSpecifier({
      fill: match[1],
      align: match[2],
      sign: match[3],
      symbol: match[4],
      zero: match[5],
      width: match[6],
      comma: match[7],
      precision: match[8] && match[8].slice(1),
      trim: match[9],
      type: match[10]
    });
  }
  
  formatSpecifier.prototype = FormatSpecifier.prototype; // instanceof
  
  function FormatSpecifier(specifier) {
    this.fill = specifier.fill === undefined ? " " : specifier.fill + "";
    this.align = specifier.align === undefined ? ">" : specifier.align + "";
    this.sign = specifier.sign === undefined ? "-" : specifier.sign + "";
    this.symbol = specifier.symbol === undefined ? "" : specifier.symbol + "";
    this.zero = !!specifier.zero;
    this.width = specifier.width === undefined ? undefined : +specifier.width;
    this.comma = !!specifier.comma;
    this.precision = specifier.precision === undefined ? undefined : +specifier.precision;
    this.trim = !!specifier.trim;
    this.type = specifier.type === undefined ? "" : specifier.type + "";
  }
  
  FormatSpecifier.prototype.toString = function() {
    return this.fill
        + this.align
        + this.sign
        + this.symbol
        + (this.zero ? "0" : "")
        + (this.width === undefined ? "" : Math.max(1, this.width | 0))
        + (this.comma ? "," : "")
        + (this.precision === undefined ? "" : "." + Math.max(0, this.precision | 0))
        + (this.trim ? "~" : "")
        + this.type;
  };
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-format/src/formatTrim.js":
  /*!*********************************************************!*\
    !*** ../../../node_modules/d3-format/src/formatTrim.js ***!
    \*********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  // Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(s) {
    out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {
      switch (s[i]) {
        case ".": i0 = i1 = i; break;
        case "0": if (i0 === 0) i0 = i; i1 = i; break;
        default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;
      }
    }
    return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-format/src/formatTypes.js":
  /*!**********************************************************!*\
    !*** ../../../node_modules/d3-format/src/formatTypes.js ***!
    \**********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _formatDecimal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./formatDecimal.js */ "../../../node_modules/d3-format/src/formatDecimal.js");
  /* harmony import */ var _formatPrefixAuto_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./formatPrefixAuto.js */ "../../../node_modules/d3-format/src/formatPrefixAuto.js");
  /* harmony import */ var _formatRounded_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./formatRounded.js */ "../../../node_modules/d3-format/src/formatRounded.js");
  
  
  
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
    "%": function(x, p) { return (x * 100).toFixed(p); },
    "b": function(x) { return Math.round(x).toString(2); },
    "c": function(x) { return x + ""; },
    "d": _formatDecimal_js__WEBPACK_IMPORTED_MODULE_0__["default"],
    "e": function(x, p) { return x.toExponential(p); },
    "f": function(x, p) { return x.toFixed(p); },
    "g": function(x, p) { return x.toPrecision(p); },
    "o": function(x) { return Math.round(x).toString(8); },
    "p": function(x, p) { return (0,_formatRounded_js__WEBPACK_IMPORTED_MODULE_1__["default"])(x * 100, p); },
    "r": _formatRounded_js__WEBPACK_IMPORTED_MODULE_1__["default"],
    "s": _formatPrefixAuto_js__WEBPACK_IMPORTED_MODULE_2__["default"],
    "X": function(x) { return Math.round(x).toString(16).toUpperCase(); },
    "x": function(x) { return Math.round(x).toString(16); }
  });
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-format/src/identity.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/d3-format/src/identity.js ***!
    \*******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(x) {
    return x;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-format/src/locale.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/d3-format/src/locale.js ***!
    \*****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _exponent_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./exponent.js */ "../../../node_modules/d3-format/src/exponent.js");
  /* harmony import */ var _formatGroup_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./formatGroup.js */ "../../../node_modules/d3-format/src/formatGroup.js");
  /* harmony import */ var _formatNumerals_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./formatNumerals.js */ "../../../node_modules/d3-format/src/formatNumerals.js");
  /* harmony import */ var _formatSpecifier_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./formatSpecifier.js */ "../../../node_modules/d3-format/src/formatSpecifier.js");
  /* harmony import */ var _formatTrim_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./formatTrim.js */ "../../../node_modules/d3-format/src/formatTrim.js");
  /* harmony import */ var _formatTypes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./formatTypes.js */ "../../../node_modules/d3-format/src/formatTypes.js");
  /* harmony import */ var _formatPrefixAuto_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./formatPrefixAuto.js */ "../../../node_modules/d3-format/src/formatPrefixAuto.js");
  /* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./identity.js */ "../../../node_modules/d3-format/src/identity.js");
  
  
  
  
  
  
  
  
  
  var map = Array.prototype.map,
      prefixes = ["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(locale) {
    var group = locale.grouping === undefined || locale.thousands === undefined ? _identity_js__WEBPACK_IMPORTED_MODULE_0__["default"] : (0,_formatGroup_js__WEBPACK_IMPORTED_MODULE_1__["default"])(map.call(locale.grouping, Number), locale.thousands + ""),
        currencyPrefix = locale.currency === undefined ? "" : locale.currency[0] + "",
        currencySuffix = locale.currency === undefined ? "" : locale.currency[1] + "",
        decimal = locale.decimal === undefined ? "." : locale.decimal + "",
        numerals = locale.numerals === undefined ? _identity_js__WEBPACK_IMPORTED_MODULE_0__["default"] : (0,_formatNumerals_js__WEBPACK_IMPORTED_MODULE_2__["default"])(map.call(locale.numerals, String)),
        percent = locale.percent === undefined ? "%" : locale.percent + "",
        minus = locale.minus === undefined ? "-" : locale.minus + "",
        nan = locale.nan === undefined ? "NaN" : locale.nan + "";
  
    function newFormat(specifier) {
      specifier = (0,_formatSpecifier_js__WEBPACK_IMPORTED_MODULE_3__["default"])(specifier);
  
      var fill = specifier.fill,
          align = specifier.align,
          sign = specifier.sign,
          symbol = specifier.symbol,
          zero = specifier.zero,
          width = specifier.width,
          comma = specifier.comma,
          precision = specifier.precision,
          trim = specifier.trim,
          type = specifier.type;
  
      // The "n" type is an alias for ",g".
      if (type === "n") comma = true, type = "g";
  
      // The "" type, and any invalid type, is an alias for ".12~g".
      else if (!_formatTypes_js__WEBPACK_IMPORTED_MODULE_4__["default"][type]) precision === undefined && (precision = 12), trim = true, type = "g";
  
      // If zero fill is specified, padding goes after sign and before digits.
      if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "=";
  
      // Compute the prefix and suffix.
      // For SI-prefix, the suffix is lazily computed.
      var prefix = symbol === "$" ? currencyPrefix : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "",
          suffix = symbol === "$" ? currencySuffix : /[%p]/.test(type) ? percent : "";
  
      // What format function should we use?
      // Is this an integer type?
      // Can this type generate exponential notation?
      var formatType = _formatTypes_js__WEBPACK_IMPORTED_MODULE_4__["default"][type],
          maybeSuffix = /[defgprs%]/.test(type);
  
      // Set the default precision if not specified,
      // or clamp the specified precision to the supported range.
      // For significant precision, it must be in [1, 21].
      // For fixed precision, it must be in [0, 20].
      precision = precision === undefined ? 6
          : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))
          : Math.max(0, Math.min(20, precision));
  
      function format(value) {
        var valuePrefix = prefix,
            valueSuffix = suffix,
            i, n, c;
  
        if (type === "c") {
          valueSuffix = formatType(value) + valueSuffix;
          value = "";
        } else {
          value = +value;
  
          // Determine the sign. -0 is not less than 0, but 1 / -0 is!
          var valueNegative = value < 0 || 1 / value < 0;
  
          // Perform the initial formatting.
          value = isNaN(value) ? nan : formatType(Math.abs(value), precision);
  
          // Trim insignificant zeros.
          if (trim) value = (0,_formatTrim_js__WEBPACK_IMPORTED_MODULE_5__["default"])(value);
  
          // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.
          if (valueNegative && +value === 0 && sign !== "+") valueNegative = false;
  
          // Compute the prefix and suffix.
          valuePrefix = (valueNegative ? (sign === "(" ? sign : minus) : sign === "-" || sign === "(" ? "" : sign) + valuePrefix;
          valueSuffix = (type === "s" ? prefixes[8 + _formatPrefixAuto_js__WEBPACK_IMPORTED_MODULE_6__.prefixExponent / 3] : "") + valueSuffix + (valueNegative && sign === "(" ? ")" : "");
  
          // Break the formatted value into the integer “value” part that can be
          // grouped, and fractional or exponential “suffix” part that is not.
          if (maybeSuffix) {
            i = -1, n = value.length;
            while (++i < n) {
              if (c = value.charCodeAt(i), 48 > c || c > 57) {
                valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;
                value = value.slice(0, i);
                break;
              }
            }
          }
        }
  
        // If the fill character is not "0", grouping is applied before padding.
        if (comma && !zero) value = group(value, Infinity);
  
        // Compute the padding.
        var length = valuePrefix.length + value.length + valueSuffix.length,
            padding = length < width ? new Array(width - length + 1).join(fill) : "";
  
        // If the fill character is "0", grouping is applied after padding.
        if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = "";
  
        // Reconstruct the final output based on the desired alignment.
        switch (align) {
          case "<": value = valuePrefix + value + valueSuffix + padding; break;
          case "=": value = valuePrefix + padding + value + valueSuffix; break;
          case "^": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;
          default: value = padding + valuePrefix + value + valueSuffix; break;
        }
  
        return numerals(value);
      }
  
      format.toString = function() {
        return specifier + "";
      };
  
      return format;
    }
  
    function formatPrefix(specifier, value) {
      var f = newFormat((specifier = (0,_formatSpecifier_js__WEBPACK_IMPORTED_MODULE_3__["default"])(specifier), specifier.type = "f", specifier)),
          e = Math.max(-8, Math.min(8, Math.floor((0,_exponent_js__WEBPACK_IMPORTED_MODULE_7__["default"])(value) / 3))) * 3,
          k = Math.pow(10, -e),
          prefix = prefixes[8 + e / 3];
      return function(value) {
        return f(k * value) + prefix;
      };
    }
  
    return {
      format: newFormat,
      formatPrefix: formatPrefix
    };
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-format/src/precisionFixed.js":
  /*!*************************************************************!*\
    !*** ../../../node_modules/d3-format/src/precisionFixed.js ***!
    \*************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _exponent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./exponent.js */ "../../../node_modules/d3-format/src/exponent.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(step) {
    return Math.max(0, -(0,_exponent_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Math.abs(step)));
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-format/src/precisionPrefix.js":
  /*!**************************************************************!*\
    !*** ../../../node_modules/d3-format/src/precisionPrefix.js ***!
    \**************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _exponent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./exponent.js */ "../../../node_modules/d3-format/src/exponent.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(step, value) {
    return Math.max(0, Math.max(-8, Math.min(8, Math.floor((0,_exponent_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) / 3))) * 3 - (0,_exponent_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Math.abs(step)));
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-format/src/precisionRound.js":
  /*!*************************************************************!*\
    !*** ../../../node_modules/d3-format/src/precisionRound.js ***!
    \*************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _exponent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./exponent.js */ "../../../node_modules/d3-format/src/exponent.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(step, max) {
    step = Math.abs(step), max = Math.abs(max) - step;
    return Math.max(0, (0,_exponent_js__WEBPACK_IMPORTED_MODULE_0__["default"])(max) - (0,_exponent_js__WEBPACK_IMPORTED_MODULE_0__["default"])(step)) + 1;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-interpolate/src/array.js":
  /*!*********************************************************!*\
    !*** ../../../node_modules/d3-interpolate/src/array.js ***!
    \*********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "genericArray": () => (/* binding */ genericArray)
  /* harmony export */ });
  /* harmony import */ var _value_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./value.js */ "../../../node_modules/d3-interpolate/src/value.js");
  /* harmony import */ var _numberArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./numberArray.js */ "../../../node_modules/d3-interpolate/src/numberArray.js");
  
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(a, b) {
    return ((0,_numberArray_js__WEBPACK_IMPORTED_MODULE_0__.isNumberArray)(b) ? _numberArray_js__WEBPACK_IMPORTED_MODULE_0__["default"] : genericArray)(a, b);
  }
  
  function genericArray(a, b) {
    var nb = b ? b.length : 0,
        na = a ? Math.min(nb, a.length) : 0,
        x = new Array(na),
        c = new Array(nb),
        i;
  
    for (i = 0; i < na; ++i) x[i] = (0,_value_js__WEBPACK_IMPORTED_MODULE_1__["default"])(a[i], b[i]);
    for (; i < nb; ++i) c[i] = b[i];
  
    return function(t) {
      for (i = 0; i < na; ++i) c[i] = x[i](t);
      return c;
    };
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-interpolate/src/basis.js":
  /*!*********************************************************!*\
    !*** ../../../node_modules/d3-interpolate/src/basis.js ***!
    \*********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "basis": () => (/* binding */ basis),
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  function basis(t1, v0, v1, v2, v3) {
    var t2 = t1 * t1, t3 = t2 * t1;
    return ((1 - 3 * t1 + 3 * t2 - t3) * v0
        + (4 - 6 * t2 + 3 * t3) * v1
        + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2
        + t3 * v3) / 6;
  }
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(values) {
    var n = values.length - 1;
    return function(t) {
      var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),
          v1 = values[i],
          v2 = values[i + 1],
          v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,
          v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;
      return basis((t - i / n) * n, v0, v1, v2, v3);
    };
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-interpolate/src/basisClosed.js":
  /*!***************************************************************!*\
    !*** ../../../node_modules/d3-interpolate/src/basisClosed.js ***!
    \***************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _basis_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./basis.js */ "../../../node_modules/d3-interpolate/src/basis.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(values) {
    var n = values.length;
    return function(t) {
      var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),
          v0 = values[(i + n - 1) % n],
          v1 = values[i % n],
          v2 = values[(i + 1) % n],
          v3 = values[(i + 2) % n];
      return (0,_basis_js__WEBPACK_IMPORTED_MODULE_0__.basis)((t - i / n) * n, v0, v1, v2, v3);
    };
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-interpolate/src/color.js":
  /*!*********************************************************!*\
    !*** ../../../node_modules/d3-interpolate/src/color.js ***!
    \*********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "hue": () => (/* binding */ hue),
  /* harmony export */   "gamma": () => (/* binding */ gamma),
  /* harmony export */   "default": () => (/* binding */ nogamma)
  /* harmony export */ });
  /* harmony import */ var _constant_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constant.js */ "../../../node_modules/d3-interpolate/src/constant.js");
  
  
  function linear(a, d) {
    return function(t) {
      return a + t * d;
    };
  }
  
  function exponential(a, b, y) {
    return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {
      return Math.pow(a + t * b, y);
    };
  }
  
  function hue(a, b) {
    var d = b - a;
    return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : (0,_constant_js__WEBPACK_IMPORTED_MODULE_0__["default"])(isNaN(a) ? b : a);
  }
  
  function gamma(y) {
    return (y = +y) === 1 ? nogamma : function(a, b) {
      return b - a ? exponential(a, b, y) : (0,_constant_js__WEBPACK_IMPORTED_MODULE_0__["default"])(isNaN(a) ? b : a);
    };
  }
  
  function nogamma(a, b) {
    var d = b - a;
    return d ? linear(a, d) : (0,_constant_js__WEBPACK_IMPORTED_MODULE_0__["default"])(isNaN(a) ? b : a);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-interpolate/src/constant.js":
  /*!************************************************************!*\
    !*** ../../../node_modules/d3-interpolate/src/constant.js ***!
    \************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(x) {
    return function() {
      return x;
    };
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-interpolate/src/cubehelix.js":
  /*!*************************************************************!*\
    !*** ../../../node_modules/d3-interpolate/src/cubehelix.js ***!
    \*************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "cubehelixLong": () => (/* binding */ cubehelixLong)
  /* harmony export */ });
  /* harmony import */ var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-color */ "../../../node_modules/d3-color/src/cubehelix.js");
  /* harmony import */ var _color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./color.js */ "../../../node_modules/d3-interpolate/src/color.js");
  
  
  
  function cubehelix(hue) {
    return (function cubehelixGamma(y) {
      y = +y;
  
      function cubehelix(start, end) {
        var h = hue((start = (0,d3_color__WEBPACK_IMPORTED_MODULE_0__["default"])(start)).h, (end = (0,d3_color__WEBPACK_IMPORTED_MODULE_0__["default"])(end)).h),
            s = (0,_color_js__WEBPACK_IMPORTED_MODULE_1__["default"])(start.s, end.s),
            l = (0,_color_js__WEBPACK_IMPORTED_MODULE_1__["default"])(start.l, end.l),
            opacity = (0,_color_js__WEBPACK_IMPORTED_MODULE_1__["default"])(start.opacity, end.opacity);
        return function(t) {
          start.h = h(t);
          start.s = s(t);
          start.l = l(Math.pow(t, y));
          start.opacity = opacity(t);
          return start + "";
        };
      }
  
      cubehelix.gamma = cubehelixGamma;
  
      return cubehelix;
    })(1);
  }
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (cubehelix(_color_js__WEBPACK_IMPORTED_MODULE_1__.hue));
  var cubehelixLong = cubehelix(_color_js__WEBPACK_IMPORTED_MODULE_1__["default"]);
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-interpolate/src/date.js":
  /*!********************************************************!*\
    !*** ../../../node_modules/d3-interpolate/src/date.js ***!
    \********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(a, b) {
    var d = new Date;
    return a = +a, b = +b, function(t) {
      return d.setTime(a * (1 - t) + b * t), d;
    };
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-interpolate/src/number.js":
  /*!**********************************************************!*\
    !*** ../../../node_modules/d3-interpolate/src/number.js ***!
    \**********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(a, b) {
    return a = +a, b = +b, function(t) {
      return a * (1 - t) + b * t;
    };
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-interpolate/src/numberArray.js":
  /*!***************************************************************!*\
    !*** ../../../node_modules/d3-interpolate/src/numberArray.js ***!
    \***************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "isNumberArray": () => (/* binding */ isNumberArray)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(a, b) {
    if (!b) b = [];
    var n = a ? Math.min(b.length, a.length) : 0,
        c = b.slice(),
        i;
    return function(t) {
      for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;
      return c;
    };
  }
  
  function isNumberArray(x) {
    return ArrayBuffer.isView(x) && !(x instanceof DataView);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-interpolate/src/object.js":
  /*!**********************************************************!*\
    !*** ../../../node_modules/d3-interpolate/src/object.js ***!
    \**********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _value_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./value.js */ "../../../node_modules/d3-interpolate/src/value.js");
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(a, b) {
    var i = {},
        c = {},
        k;
  
    if (a === null || typeof a !== "object") a = {};
    if (b === null || typeof b !== "object") b = {};
  
    for (k in b) {
      if (k in a) {
        i[k] = (0,_value_js__WEBPACK_IMPORTED_MODULE_0__["default"])(a[k], b[k]);
      } else {
        c[k] = b[k];
      }
    }
  
    return function(t) {
      for (k in i) c[k] = i[k](t);
      return c;
    };
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-interpolate/src/rgb.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/d3-interpolate/src/rgb.js ***!
    \*******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "rgbBasis": () => (/* binding */ rgbBasis),
  /* harmony export */   "rgbBasisClosed": () => (/* binding */ rgbBasisClosed)
  /* harmony export */ });
  /* harmony import */ var d3_color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3-color */ "../../../node_modules/d3-color/src/color.js");
  /* harmony import */ var _basis_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./basis.js */ "../../../node_modules/d3-interpolate/src/basis.js");
  /* harmony import */ var _basisClosed_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./basisClosed.js */ "../../../node_modules/d3-interpolate/src/basisClosed.js");
  /* harmony import */ var _color_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./color.js */ "../../../node_modules/d3-interpolate/src/color.js");
  
  
  
  
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((function rgbGamma(y) {
    var color = (0,_color_js__WEBPACK_IMPORTED_MODULE_0__.gamma)(y);
  
    function rgb(start, end) {
      var r = color((start = (0,d3_color__WEBPACK_IMPORTED_MODULE_1__.rgb)(start)).r, (end = (0,d3_color__WEBPACK_IMPORTED_MODULE_1__.rgb)(end)).r),
          g = color(start.g, end.g),
          b = color(start.b, end.b),
          opacity = (0,_color_js__WEBPACK_IMPORTED_MODULE_0__["default"])(start.opacity, end.opacity);
      return function(t) {
        start.r = r(t);
        start.g = g(t);
        start.b = b(t);
        start.opacity = opacity(t);
        return start + "";
      };
    }
  
    rgb.gamma = rgbGamma;
  
    return rgb;
  })(1));
  
  function rgbSpline(spline) {
    return function(colors) {
      var n = colors.length,
          r = new Array(n),
          g = new Array(n),
          b = new Array(n),
          i, color;
      for (i = 0; i < n; ++i) {
        color = (0,d3_color__WEBPACK_IMPORTED_MODULE_1__.rgb)(colors[i]);
        r[i] = color.r || 0;
        g[i] = color.g || 0;
        b[i] = color.b || 0;
      }
      r = spline(r);
      g = spline(g);
      b = spline(b);
      color.opacity = 1;
      return function(t) {
        color.r = r(t);
        color.g = g(t);
        color.b = b(t);
        return color + "";
      };
    };
  }
  
  var rgbBasis = rgbSpline(_basis_js__WEBPACK_IMPORTED_MODULE_2__["default"]);
  var rgbBasisClosed = rgbSpline(_basisClosed_js__WEBPACK_IMPORTED_MODULE_3__["default"]);
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-interpolate/src/round.js":
  /*!*********************************************************!*\
    !*** ../../../node_modules/d3-interpolate/src/round.js ***!
    \*********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(a, b) {
    return a = +a, b = +b, function(t) {
      return Math.round(a * (1 - t) + b * t);
    };
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-interpolate/src/string.js":
  /*!**********************************************************!*\
    !*** ../../../node_modules/d3-interpolate/src/string.js ***!
    \**********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _number_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./number.js */ "../../../node_modules/d3-interpolate/src/number.js");
  
  
  var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,
      reB = new RegExp(reA.source, "g");
  
  function zero(b) {
    return function() {
      return b;
    };
  }
  
  function one(b) {
    return function(t) {
      return b(t) + "";
    };
  }
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(a, b) {
    var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b
        am, // current match in a
        bm, // current match in b
        bs, // string preceding current number in b, if any
        i = -1, // index in s
        s = [], // string constants and placeholders
        q = []; // number interpolators
  
    // Coerce inputs to strings.
    a = a + "", b = b + "";
  
    // Interpolate pairs of numbers in a & b.
    while ((am = reA.exec(a))
        && (bm = reB.exec(b))) {
      if ((bs = bm.index) > bi) { // a string precedes the next number in b
        bs = b.slice(bi, bs);
        if (s[i]) s[i] += bs; // coalesce with previous string
        else s[++i] = bs;
      }
      if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match
        if (s[i]) s[i] += bm; // coalesce with previous string
        else s[++i] = bm;
      } else { // interpolate non-matching numbers
        s[++i] = null;
        q.push({i: i, x: (0,_number_js__WEBPACK_IMPORTED_MODULE_0__["default"])(am, bm)});
      }
      bi = reB.lastIndex;
    }
  
    // Add remains of b.
    if (bi < b.length) {
      bs = b.slice(bi);
      if (s[i]) s[i] += bs; // coalesce with previous string
      else s[++i] = bs;
    }
  
    // Special optimization for only a single match.
    // Otherwise, interpolate each of the numbers and rejoin the string.
    return s.length < 2 ? (q[0]
        ? one(q[0].x)
        : zero(b))
        : (b = q.length, function(t) {
            for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);
            return s.join("");
          });
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-interpolate/src/value.js":
  /*!*********************************************************!*\
    !*** ../../../node_modules/d3-interpolate/src/value.js ***!
    \*********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var d3_color__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! d3-color */ "../../../node_modules/d3-color/src/color.js");
  /* harmony import */ var _rgb_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./rgb.js */ "../../../node_modules/d3-interpolate/src/rgb.js");
  /* harmony import */ var _array_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./array.js */ "../../../node_modules/d3-interpolate/src/array.js");
  /* harmony import */ var _date_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./date.js */ "../../../node_modules/d3-interpolate/src/date.js");
  /* harmony import */ var _number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./number.js */ "../../../node_modules/d3-interpolate/src/number.js");
  /* harmony import */ var _object_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./object.js */ "../../../node_modules/d3-interpolate/src/object.js");
  /* harmony import */ var _string_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./string.js */ "../../../node_modules/d3-interpolate/src/string.js");
  /* harmony import */ var _constant_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constant.js */ "../../../node_modules/d3-interpolate/src/constant.js");
  /* harmony import */ var _numberArray_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./numberArray.js */ "../../../node_modules/d3-interpolate/src/numberArray.js");
  
  
  
  
  
  
  
  
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(a, b) {
    var t = typeof b, c;
    return b == null || t === "boolean" ? (0,_constant_js__WEBPACK_IMPORTED_MODULE_0__["default"])(b)
        : (t === "number" ? _number_js__WEBPACK_IMPORTED_MODULE_1__["default"]
        : t === "string" ? ((c = (0,d3_color__WEBPACK_IMPORTED_MODULE_2__["default"])(b)) ? (b = c, _rgb_js__WEBPACK_IMPORTED_MODULE_3__["default"]) : _string_js__WEBPACK_IMPORTED_MODULE_4__["default"])
        : b instanceof d3_color__WEBPACK_IMPORTED_MODULE_2__["default"] ? _rgb_js__WEBPACK_IMPORTED_MODULE_3__["default"]
        : b instanceof Date ? _date_js__WEBPACK_IMPORTED_MODULE_5__["default"]
        : (0,_numberArray_js__WEBPACK_IMPORTED_MODULE_6__.isNumberArray)(b) ? _numberArray_js__WEBPACK_IMPORTED_MODULE_6__["default"]
        : Array.isArray(b) ? _array_js__WEBPACK_IMPORTED_MODULE_7__.genericArray
        : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? _object_js__WEBPACK_IMPORTED_MODULE_8__["default"]
        : _number_js__WEBPACK_IMPORTED_MODULE_1__["default"])(a, b);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/index.js":
  /*!***********************************************!*\
    !*** ../../../node_modules/d3-scale/index.js ***!
    \***********************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "scaleBand": () => (/* reexport safe */ _src_band__WEBPACK_IMPORTED_MODULE_0__["default"]),
  /* harmony export */   "scalePoint": () => (/* reexport safe */ _src_band__WEBPACK_IMPORTED_MODULE_0__.point),
  /* harmony export */   "scaleIdentity": () => (/* reexport safe */ _src_identity__WEBPACK_IMPORTED_MODULE_1__["default"]),
  /* harmony export */   "scaleLinear": () => (/* reexport safe */ _src_linear__WEBPACK_IMPORTED_MODULE_2__["default"]),
  /* harmony export */   "scaleLog": () => (/* reexport safe */ _src_log__WEBPACK_IMPORTED_MODULE_3__["default"]),
  /* harmony export */   "scaleOrdinal": () => (/* reexport safe */ _src_ordinal__WEBPACK_IMPORTED_MODULE_4__["default"]),
  /* harmony export */   "scaleImplicit": () => (/* reexport safe */ _src_ordinal__WEBPACK_IMPORTED_MODULE_4__.implicit),
  /* harmony export */   "scalePow": () => (/* reexport safe */ _src_pow__WEBPACK_IMPORTED_MODULE_5__["default"]),
  /* harmony export */   "scaleSqrt": () => (/* reexport safe */ _src_pow__WEBPACK_IMPORTED_MODULE_5__.sqrt),
  /* harmony export */   "scaleQuantile": () => (/* reexport safe */ _src_quantile__WEBPACK_IMPORTED_MODULE_6__["default"]),
  /* harmony export */   "scaleQuantize": () => (/* reexport safe */ _src_quantize__WEBPACK_IMPORTED_MODULE_7__["default"]),
  /* harmony export */   "scaleThreshold": () => (/* reexport safe */ _src_threshold__WEBPACK_IMPORTED_MODULE_8__["default"]),
  /* harmony export */   "scaleTime": () => (/* reexport safe */ _src_time__WEBPACK_IMPORTED_MODULE_9__["default"]),
  /* harmony export */   "scaleUtc": () => (/* reexport safe */ _src_utcTime__WEBPACK_IMPORTED_MODULE_10__["default"]),
  /* harmony export */   "schemeCategory10": () => (/* reexport safe */ _src_category10__WEBPACK_IMPORTED_MODULE_11__["default"]),
  /* harmony export */   "schemeCategory20b": () => (/* reexport safe */ _src_category20b__WEBPACK_IMPORTED_MODULE_12__["default"]),
  /* harmony export */   "schemeCategory20c": () => (/* reexport safe */ _src_category20c__WEBPACK_IMPORTED_MODULE_13__["default"]),
  /* harmony export */   "schemeCategory20": () => (/* reexport safe */ _src_category20__WEBPACK_IMPORTED_MODULE_14__["default"]),
  /* harmony export */   "interpolateCubehelixDefault": () => (/* reexport safe */ _src_cubehelix__WEBPACK_IMPORTED_MODULE_15__["default"]),
  /* harmony export */   "interpolateRainbow": () => (/* reexport safe */ _src_rainbow__WEBPACK_IMPORTED_MODULE_16__["default"]),
  /* harmony export */   "interpolateWarm": () => (/* reexport safe */ _src_rainbow__WEBPACK_IMPORTED_MODULE_16__.warm),
  /* harmony export */   "interpolateCool": () => (/* reexport safe */ _src_rainbow__WEBPACK_IMPORTED_MODULE_16__.cool),
  /* harmony export */   "interpolateViridis": () => (/* reexport safe */ _src_viridis__WEBPACK_IMPORTED_MODULE_17__["default"]),
  /* harmony export */   "interpolateMagma": () => (/* reexport safe */ _src_viridis__WEBPACK_IMPORTED_MODULE_17__.magma),
  /* harmony export */   "interpolateInferno": () => (/* reexport safe */ _src_viridis__WEBPACK_IMPORTED_MODULE_17__.inferno),
  /* harmony export */   "interpolatePlasma": () => (/* reexport safe */ _src_viridis__WEBPACK_IMPORTED_MODULE_17__.plasma),
  /* harmony export */   "scaleSequential": () => (/* reexport safe */ _src_sequential__WEBPACK_IMPORTED_MODULE_18__["default"])
  /* harmony export */ });
  /* harmony import */ var _src_band__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/band */ "../../../node_modules/d3-scale/src/band.js");
  /* harmony import */ var _src_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./src/identity */ "../../../node_modules/d3-scale/src/identity.js");
  /* harmony import */ var _src_linear__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./src/linear */ "../../../node_modules/d3-scale/src/linear.js");
  /* harmony import */ var _src_log__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./src/log */ "../../../node_modules/d3-scale/src/log.js");
  /* harmony import */ var _src_ordinal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./src/ordinal */ "../../../node_modules/d3-scale/src/ordinal.js");
  /* harmony import */ var _src_pow__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./src/pow */ "../../../node_modules/d3-scale/src/pow.js");
  /* harmony import */ var _src_quantile__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./src/quantile */ "../../../node_modules/d3-scale/src/quantile.js");
  /* harmony import */ var _src_quantize__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./src/quantize */ "../../../node_modules/d3-scale/src/quantize.js");
  /* harmony import */ var _src_threshold__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./src/threshold */ "../../../node_modules/d3-scale/src/threshold.js");
  /* harmony import */ var _src_time__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./src/time */ "../../../node_modules/d3-scale/src/time.js");
  /* harmony import */ var _src_utcTime__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./src/utcTime */ "../../../node_modules/d3-scale/src/utcTime.js");
  /* harmony import */ var _src_category10__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./src/category10 */ "../../../node_modules/d3-scale/src/category10.js");
  /* harmony import */ var _src_category20b__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./src/category20b */ "../../../node_modules/d3-scale/src/category20b.js");
  /* harmony import */ var _src_category20c__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./src/category20c */ "../../../node_modules/d3-scale/src/category20c.js");
  /* harmony import */ var _src_category20__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./src/category20 */ "../../../node_modules/d3-scale/src/category20.js");
  /* harmony import */ var _src_cubehelix__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./src/cubehelix */ "../../../node_modules/d3-scale/src/cubehelix.js");
  /* harmony import */ var _src_rainbow__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./src/rainbow */ "../../../node_modules/d3-scale/src/rainbow.js");
  /* harmony import */ var _src_viridis__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./src/viridis */ "../../../node_modules/d3-scale/src/viridis.js");
  /* harmony import */ var _src_sequential__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./src/sequential */ "../../../node_modules/d3-scale/src/sequential.js");
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/array.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/d3-scale/src/array.js ***!
    \***************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "map": () => (/* binding */ map),
  /* harmony export */   "slice": () => (/* binding */ slice)
  /* harmony export */ });
  var array = Array.prototype;
  
  var map = array.map;
  var slice = array.slice;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/band.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/d3-scale/src/band.js ***!
    \**************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ band),
  /* harmony export */   "point": () => (/* binding */ point)
  /* harmony export */ });
  /* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ "../../../node_modules/d3-array/src/index.js");
  /* harmony import */ var _ordinal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ordinal */ "../../../node_modules/d3-scale/src/ordinal.js");
  
  
  
  function band() {
    var scale = (0,_ordinal__WEBPACK_IMPORTED_MODULE_1__["default"])().unknown(undefined),
        domain = scale.domain,
        ordinalRange = scale.range,
        range = [0, 1],
        step,
        bandwidth,
        round = false,
        paddingInner = 0,
        paddingOuter = 0,
        align = 0.5;
  
    delete scale.unknown;
  
    function rescale() {
      var n = domain().length,
          reverse = range[1] < range[0],
          start = range[reverse - 0],
          stop = range[1 - reverse];
      step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);
      if (round) step = Math.floor(step);
      start += (stop - start - step * (n - paddingInner)) * align;
      bandwidth = step * (1 - paddingInner);
      if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);
      var values = (0,d3_array__WEBPACK_IMPORTED_MODULE_0__.range)(n).map(function(i) { return start + step * i; });
      return ordinalRange(reverse ? values.reverse() : values);
    }
  
    scale.domain = function(_) {
      return arguments.length ? (domain(_), rescale()) : domain();
    };
  
    scale.range = function(_) {
      return arguments.length ? (range = [+_[0], +_[1]], rescale()) : range.slice();
    };
  
    scale.rangeRound = function(_) {
      return range = [+_[0], +_[1]], round = true, rescale();
    };
  
    scale.bandwidth = function() {
      return bandwidth;
    };
  
    scale.step = function() {
      return step;
    };
  
    scale.round = function(_) {
      return arguments.length ? (round = !!_, rescale()) : round;
    };
  
    scale.padding = function(_) {
      return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;
    };
  
    scale.paddingInner = function(_) {
      return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;
    };
  
    scale.paddingOuter = function(_) {
      return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter;
    };
  
    scale.align = function(_) {
      return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;
    };
  
    scale.copy = function() {
      return band()
          .domain(domain())
          .range(range)
          .round(round)
          .paddingInner(paddingInner)
          .paddingOuter(paddingOuter)
          .align(align);
    };
  
    return rescale();
  }
  
  function pointish(scale) {
    var copy = scale.copy;
  
    scale.padding = scale.paddingOuter;
    delete scale.paddingInner;
    delete scale.paddingOuter;
  
    scale.copy = function() {
      return pointish(copy());
    };
  
    return scale;
  }
  
  function point() {
    return pointish(band().paddingInner(1));
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/category10.js":
  /*!********************************************************!*\
    !*** ../../../node_modules/d3-scale/src/category10.js ***!
    \********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colors */ "../../../node_modules/d3-scale/src/colors.js");
  
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_colors__WEBPACK_IMPORTED_MODULE_0__["default"])("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"));
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/category20.js":
  /*!********************************************************!*\
    !*** ../../../node_modules/d3-scale/src/category20.js ***!
    \********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colors */ "../../../node_modules/d3-scale/src/colors.js");
  
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_colors__WEBPACK_IMPORTED_MODULE_0__["default"])("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"));
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/category20b.js":
  /*!*********************************************************!*\
    !*** ../../../node_modules/d3-scale/src/category20b.js ***!
    \*********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colors */ "../../../node_modules/d3-scale/src/colors.js");
  
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_colors__WEBPACK_IMPORTED_MODULE_0__["default"])("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"));
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/category20c.js":
  /*!*********************************************************!*\
    !*** ../../../node_modules/d3-scale/src/category20c.js ***!
    \*********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colors */ "../../../node_modules/d3-scale/src/colors.js");
  
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_colors__WEBPACK_IMPORTED_MODULE_0__["default"])("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"));
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/colors.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/d3-scale/src/colors.js ***!
    \****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(s) {
    return s.match(/.{6}/g).map(function(x) {
      return "#" + x;
    });
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/constant.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/d3-scale/src/constant.js ***!
    \******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(x) {
    return function() {
      return x;
    };
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/continuous.js":
  /*!********************************************************!*\
    !*** ../../../node_modules/d3-scale/src/continuous.js ***!
    \********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "deinterpolateLinear": () => (/* binding */ deinterpolateLinear),
  /* harmony export */   "copy": () => (/* binding */ copy),
  /* harmony export */   "default": () => (/* binding */ continuous)
  /* harmony export */ });
  /* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ "../../../node_modules/d3-array/src/index.js");
  /* harmony import */ var d3_interpolate__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! d3-interpolate */ "../../../node_modules/d3-interpolate/src/value.js");
  /* harmony import */ var d3_interpolate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! d3-interpolate */ "../../../node_modules/d3-interpolate/src/round.js");
  /* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./array */ "../../../node_modules/d3-scale/src/array.js");
  /* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constant */ "../../../node_modules/d3-scale/src/constant.js");
  /* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./number */ "../../../node_modules/d3-scale/src/number.js");
  
  
  
  
  
  
  var unit = [0, 1];
  
  function deinterpolateLinear(a, b) {
    return (b -= (a = +a))
        ? function(x) { return (x - a) / b; }
        : (0,_constant__WEBPACK_IMPORTED_MODULE_2__["default"])(b);
  }
  
  function deinterpolateClamp(deinterpolate) {
    return function(a, b) {
      var d = deinterpolate(a = +a, b = +b);
      return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); };
    };
  }
  
  function reinterpolateClamp(reinterpolate) {
    return function(a, b) {
      var r = reinterpolate(a = +a, b = +b);
      return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); };
    };
  }
  
  function bimap(domain, range, deinterpolate, reinterpolate) {
    var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];
    if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0);
    else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1);
    return function(x) { return r0(d0(x)); };
  }
  
  function polymap(domain, range, deinterpolate, reinterpolate) {
    var j = Math.min(domain.length, range.length) - 1,
        d = new Array(j),
        r = new Array(j),
        i = -1;
  
    // Reverse descending domains.
    if (domain[j] < domain[0]) {
      domain = domain.slice().reverse();
      range = range.slice().reverse();
    }
  
    while (++i < j) {
      d[i] = deinterpolate(domain[i], domain[i + 1]);
      r[i] = reinterpolate(range[i], range[i + 1]);
    }
  
    return function(x) {
      var i = (0,d3_array__WEBPACK_IMPORTED_MODULE_0__.bisect)(domain, x, 1, j) - 1;
      return r[i](d[i](x));
    };
  }
  
  function copy(source, target) {
    return target
        .domain(source.domain())
        .range(source.range())
        .interpolate(source.interpolate())
        .clamp(source.clamp());
  }
  
  // deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].
  // reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b].
  function continuous(deinterpolate, reinterpolate) {
    var domain = unit,
        range = unit,
        interpolate = d3_interpolate__WEBPACK_IMPORTED_MODULE_4__["default"],
        clamp = false,
        piecewise,
        output,
        input;
  
    function rescale() {
      piecewise = Math.min(domain.length, range.length) > 2 ? polymap : bimap;
      output = input = null;
      return scale;
    }
  
    function scale(x) {
      return (output || (output = piecewise(domain, range, clamp ? deinterpolateClamp(deinterpolate) : deinterpolate, interpolate)))(+x);
    }
  
    scale.invert = function(y) {
      return (input || (input = piecewise(range, domain, deinterpolateLinear, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate)))(+y);
    };
  
    scale.domain = function(_) {
      return arguments.length ? (domain = _array__WEBPACK_IMPORTED_MODULE_1__.map.call(_, _number__WEBPACK_IMPORTED_MODULE_3__["default"]), rescale()) : domain.slice();
    };
  
    scale.range = function(_) {
      return arguments.length ? (range = _array__WEBPACK_IMPORTED_MODULE_1__.slice.call(_), rescale()) : range.slice();
    };
  
    scale.rangeRound = function(_) {
      return range = _array__WEBPACK_IMPORTED_MODULE_1__.slice.call(_), interpolate = d3_interpolate__WEBPACK_IMPORTED_MODULE_5__["default"], rescale();
    };
  
    scale.clamp = function(_) {
      return arguments.length ? (clamp = !!_, rescale()) : clamp;
    };
  
    scale.interpolate = function(_) {
      return arguments.length ? (interpolate = _, rescale()) : interpolate;
    };
  
    return rescale();
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/cubehelix.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/d3-scale/src/cubehelix.js ***!
    \*******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var d3_color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3-color */ "../../../node_modules/d3-color/src/cubehelix.js");
  /* harmony import */ var d3_interpolate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-interpolate */ "../../../node_modules/d3-interpolate/src/cubehelix.js");
  
  
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,d3_interpolate__WEBPACK_IMPORTED_MODULE_0__.cubehelixLong)((0,d3_color__WEBPACK_IMPORTED_MODULE_1__["default"])(300, 0.5, 0.0), (0,d3_color__WEBPACK_IMPORTED_MODULE_1__["default"])(-240, 0.5, 1.0)));
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/identity.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/d3-scale/src/identity.js ***!
    \******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ identity)
  /* harmony export */ });
  /* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./array */ "../../../node_modules/d3-scale/src/array.js");
  /* harmony import */ var _linear__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./linear */ "../../../node_modules/d3-scale/src/linear.js");
  /* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./number */ "../../../node_modules/d3-scale/src/number.js");
  
  
  
  
  function identity() {
    var domain = [0, 1];
  
    function scale(x) {
      return +x;
    }
  
    scale.invert = scale;
  
    scale.domain = scale.range = function(_) {
      return arguments.length ? (domain = _array__WEBPACK_IMPORTED_MODULE_0__.map.call(_, _number__WEBPACK_IMPORTED_MODULE_2__["default"]), scale) : domain.slice();
    };
  
    scale.copy = function() {
      return identity().domain(domain);
    };
  
    return (0,_linear__WEBPACK_IMPORTED_MODULE_1__.linearish)(scale);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/linear.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/d3-scale/src/linear.js ***!
    \****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "linearish": () => (/* binding */ linearish),
  /* harmony export */   "default": () => (/* binding */ linear)
  /* harmony export */ });
  /* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ "../../../node_modules/d3-array/src/index.js");
  /* harmony import */ var d3_interpolate__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! d3-interpolate */ "../../../node_modules/d3-interpolate/src/number.js");
  /* harmony import */ var _continuous__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./continuous */ "../../../node_modules/d3-scale/src/continuous.js");
  /* harmony import */ var _tickFormat__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tickFormat */ "../../../node_modules/d3-scale/src/tickFormat.js");
  
  
  
  
  
  function linearish(scale) {
    var domain = scale.domain;
  
    scale.ticks = function(count) {
      var d = domain();
      return (0,d3_array__WEBPACK_IMPORTED_MODULE_0__.ticks)(d[0], d[d.length - 1], count == null ? 10 : count);
    };
  
    scale.tickFormat = function(count, specifier) {
      return (0,_tickFormat__WEBPACK_IMPORTED_MODULE_2__["default"])(domain(), count, specifier);
    };
  
    scale.nice = function(count) {
      if (count == null) count = 10;
  
      var d = domain(),
          i0 = 0,
          i1 = d.length - 1,
          start = d[i0],
          stop = d[i1],
          step;
  
      if (stop < start) {
        step = start, start = stop, stop = step;
        step = i0, i0 = i1, i1 = step;
      }
  
      step = (0,d3_array__WEBPACK_IMPORTED_MODULE_0__.tickIncrement)(start, stop, count);
  
      if (step > 0) {
        start = Math.floor(start / step) * step;
        stop = Math.ceil(stop / step) * step;
        step = (0,d3_array__WEBPACK_IMPORTED_MODULE_0__.tickIncrement)(start, stop, count);
      } else if (step < 0) {
        start = Math.ceil(start * step) / step;
        stop = Math.floor(stop * step) / step;
        step = (0,d3_array__WEBPACK_IMPORTED_MODULE_0__.tickIncrement)(start, stop, count);
      }
  
      if (step > 0) {
        d[i0] = Math.floor(start / step) * step;
        d[i1] = Math.ceil(stop / step) * step;
        domain(d);
      } else if (step < 0) {
        d[i0] = Math.ceil(start * step) / step;
        d[i1] = Math.floor(stop * step) / step;
        domain(d);
      }
  
      return scale;
    };
  
    return scale;
  }
  
  function linear() {
    var scale = (0,_continuous__WEBPACK_IMPORTED_MODULE_1__["default"])(_continuous__WEBPACK_IMPORTED_MODULE_1__.deinterpolateLinear, d3_interpolate__WEBPACK_IMPORTED_MODULE_3__["default"]);
  
    scale.copy = function() {
      return (0,_continuous__WEBPACK_IMPORTED_MODULE_1__.copy)(scale, linear());
    };
  
    return linearish(scale);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/log.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/d3-scale/src/log.js ***!
    \*************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ log)
  /* harmony export */ });
  /* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ "../../../node_modules/d3-array/src/index.js");
  /* harmony import */ var d3_format__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! d3-format */ "../../../node_modules/d3-format/src/defaultLocale.js");
  /* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constant */ "../../../node_modules/d3-scale/src/constant.js");
  /* harmony import */ var _nice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./nice */ "../../../node_modules/d3-scale/src/nice.js");
  /* harmony import */ var _continuous__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./continuous */ "../../../node_modules/d3-scale/src/continuous.js");
  
  
  
  
  
  
  function deinterpolate(a, b) {
    return (b = Math.log(b / a))
        ? function(x) { return Math.log(x / a) / b; }
        : (0,_constant__WEBPACK_IMPORTED_MODULE_1__["default"])(b);
  }
  
  function reinterpolate(a, b) {
    return a < 0
        ? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); }
        : function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); };
  }
  
  function pow10(x) {
    return isFinite(x) ? +("1e" + x) : x < 0 ? 0 : x;
  }
  
  function powp(base) {
    return base === 10 ? pow10
        : base === Math.E ? Math.exp
        : function(x) { return Math.pow(base, x); };
  }
  
  function logp(base) {
    return base === Math.E ? Math.log
        : base === 10 && Math.log10
        || base === 2 && Math.log2
        || (base = Math.log(base), function(x) { return Math.log(x) / base; });
  }
  
  function reflect(f) {
    return function(x) {
      return -f(-x);
    };
  }
  
  function log() {
    var scale = (0,_continuous__WEBPACK_IMPORTED_MODULE_3__["default"])(deinterpolate, reinterpolate).domain([1, 10]),
        domain = scale.domain,
        base = 10,
        logs = logp(10),
        pows = powp(10);
  
    function rescale() {
      logs = logp(base), pows = powp(base);
      if (domain()[0] < 0) logs = reflect(logs), pows = reflect(pows);
      return scale;
    }
  
    scale.base = function(_) {
      return arguments.length ? (base = +_, rescale()) : base;
    };
  
    scale.domain = function(_) {
      return arguments.length ? (domain(_), rescale()) : domain();
    };
  
    scale.ticks = function(count) {
      var d = domain(),
          u = d[0],
          v = d[d.length - 1],
          r;
  
      if (r = v < u) i = u, u = v, v = i;
  
      var i = logs(u),
          j = logs(v),
          p,
          k,
          t,
          n = count == null ? 10 : +count,
          z = [];
  
      if (!(base % 1) && j - i < n) {
        i = Math.round(i) - 1, j = Math.round(j) + 1;
        if (u > 0) for (; i < j; ++i) {
          for (k = 1, p = pows(i); k < base; ++k) {
            t = p * k;
            if (t < u) continue;
            if (t > v) break;
            z.push(t);
          }
        } else for (; i < j; ++i) {
          for (k = base - 1, p = pows(i); k >= 1; --k) {
            t = p * k;
            if (t < u) continue;
            if (t > v) break;
            z.push(t);
          }
        }
      } else {
        z = (0,d3_array__WEBPACK_IMPORTED_MODULE_0__.ticks)(i, j, Math.min(j - i, n)).map(pows);
      }
  
      return r ? z.reverse() : z;
    };
  
    scale.tickFormat = function(count, specifier) {
      if (specifier == null) specifier = base === 10 ? ".0e" : ",";
      if (typeof specifier !== "function") specifier = (0,d3_format__WEBPACK_IMPORTED_MODULE_4__.format)(specifier);
      if (count === Infinity) return specifier;
      if (count == null) count = 10;
      var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?
      return function(d) {
        var i = d / pows(Math.round(logs(d)));
        if (i * base < base - 0.5) i *= base;
        return i <= k ? specifier(d) : "";
      };
    };
  
    scale.nice = function() {
      return domain((0,_nice__WEBPACK_IMPORTED_MODULE_2__["default"])(domain(), {
        floor: function(x) { return pows(Math.floor(logs(x))); },
        ceil: function(x) { return pows(Math.ceil(logs(x))); }
      }));
    };
  
    scale.copy = function() {
      return (0,_continuous__WEBPACK_IMPORTED_MODULE_3__.copy)(scale, log().base(base));
    };
  
    return scale;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/nice.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/d3-scale/src/nice.js ***!
    \**************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(domain, interval) {
    domain = domain.slice();
  
    var i0 = 0,
        i1 = domain.length - 1,
        x0 = domain[i0],
        x1 = domain[i1],
        t;
  
    if (x1 < x0) {
      t = i0, i0 = i1, i1 = t;
      t = x0, x0 = x1, x1 = t;
    }
  
    domain[i0] = interval.floor(x0);
    domain[i1] = interval.ceil(x1);
    return domain;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/number.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/d3-scale/src/number.js ***!
    \****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(x) {
    return +x;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/ordinal.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/d3-scale/src/ordinal.js ***!
    \*****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "implicit": () => (/* binding */ implicit),
  /* harmony export */   "default": () => (/* binding */ ordinal)
  /* harmony export */ });
  /* harmony import */ var d3_collection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-collection */ "../../../node_modules/d3-collection/src/index.js");
  /* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./array */ "../../../node_modules/d3-scale/src/array.js");
  
  
  
  var implicit = {name: "implicit"};
  
  function ordinal(range) {
    var index = (0,d3_collection__WEBPACK_IMPORTED_MODULE_0__.map)(),
        domain = [],
        unknown = implicit;
  
    range = range == null ? [] : _array__WEBPACK_IMPORTED_MODULE_1__.slice.call(range);
  
    function scale(d) {
      var key = d + "", i = index.get(key);
      if (!i) {
        if (unknown !== implicit) return unknown;
        index.set(key, i = domain.push(d));
      }
      return range[(i - 1) % range.length];
    }
  
    scale.domain = function(_) {
      if (!arguments.length) return domain.slice();
      domain = [], index = (0,d3_collection__WEBPACK_IMPORTED_MODULE_0__.map)();
      var i = -1, n = _.length, d, key;
      while (++i < n) if (!index.has(key = (d = _[i]) + "")) index.set(key, domain.push(d));
      return scale;
    };
  
    scale.range = function(_) {
      return arguments.length ? (range = _array__WEBPACK_IMPORTED_MODULE_1__.slice.call(_), scale) : range.slice();
    };
  
    scale.unknown = function(_) {
      return arguments.length ? (unknown = _, scale) : unknown;
    };
  
    scale.copy = function() {
      return ordinal()
          .domain(domain)
          .range(range)
          .unknown(unknown);
    };
  
    return scale;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/pow.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/d3-scale/src/pow.js ***!
    \*************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ pow),
  /* harmony export */   "sqrt": () => (/* binding */ sqrt)
  /* harmony export */ });
  /* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constant */ "../../../node_modules/d3-scale/src/constant.js");
  /* harmony import */ var _linear__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./linear */ "../../../node_modules/d3-scale/src/linear.js");
  /* harmony import */ var _continuous__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./continuous */ "../../../node_modules/d3-scale/src/continuous.js");
  
  
  
  
  function raise(x, exponent) {
    return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);
  }
  
  function pow() {
    var exponent = 1,
        scale = (0,_continuous__WEBPACK_IMPORTED_MODULE_2__["default"])(deinterpolate, reinterpolate),
        domain = scale.domain;
  
    function deinterpolate(a, b) {
      return (b = raise(b, exponent) - (a = raise(a, exponent)))
          ? function(x) { return (raise(x, exponent) - a) / b; }
          : (0,_constant__WEBPACK_IMPORTED_MODULE_0__["default"])(b);
    }
  
    function reinterpolate(a, b) {
      b = raise(b, exponent) - (a = raise(a, exponent));
      return function(t) { return raise(a + b * t, 1 / exponent); };
    }
  
    scale.exponent = function(_) {
      return arguments.length ? (exponent = +_, domain(domain())) : exponent;
    };
  
    scale.copy = function() {
      return (0,_continuous__WEBPACK_IMPORTED_MODULE_2__.copy)(scale, pow().exponent(exponent));
    };
  
    return (0,_linear__WEBPACK_IMPORTED_MODULE_1__.linearish)(scale);
  }
  
  function sqrt() {
    return pow().exponent(0.5);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/quantile.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/d3-scale/src/quantile.js ***!
    \******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ quantile)
  /* harmony export */ });
  /* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ "../../../node_modules/d3-array/src/index.js");
  /* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./array */ "../../../node_modules/d3-scale/src/array.js");
  
  
  
  function quantile() {
    var domain = [],
        range = [],
        thresholds = [];
  
    function rescale() {
      var i = 0, n = Math.max(1, range.length);
      thresholds = new Array(n - 1);
      while (++i < n) thresholds[i - 1] = (0,d3_array__WEBPACK_IMPORTED_MODULE_0__.quantile)(domain, i / n);
      return scale;
    }
  
    function scale(x) {
      if (!isNaN(x = +x)) return range[(0,d3_array__WEBPACK_IMPORTED_MODULE_0__.bisect)(thresholds, x)];
    }
  
    scale.invertExtent = function(y) {
      var i = range.indexOf(y);
      return i < 0 ? [NaN, NaN] : [
        i > 0 ? thresholds[i - 1] : domain[0],
        i < thresholds.length ? thresholds[i] : domain[domain.length - 1]
      ];
    };
  
    scale.domain = function(_) {
      if (!arguments.length) return domain.slice();
      domain = [];
      for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d);
      domain.sort(d3_array__WEBPACK_IMPORTED_MODULE_0__.ascending);
      return rescale();
    };
  
    scale.range = function(_) {
      return arguments.length ? (range = _array__WEBPACK_IMPORTED_MODULE_1__.slice.call(_), rescale()) : range.slice();
    };
  
    scale.quantiles = function() {
      return thresholds.slice();
    };
  
    scale.copy = function() {
      return quantile()
          .domain(domain)
          .range(range);
    };
  
    return scale;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/quantize.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/d3-scale/src/quantize.js ***!
    \******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ quantize)
  /* harmony export */ });
  /* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ "../../../node_modules/d3-array/src/index.js");
  /* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./array */ "../../../node_modules/d3-scale/src/array.js");
  /* harmony import */ var _linear__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./linear */ "../../../node_modules/d3-scale/src/linear.js");
  
  
  
  
  function quantize() {
    var x0 = 0,
        x1 = 1,
        n = 1,
        domain = [0.5],
        range = [0, 1];
  
    function scale(x) {
      if (x <= x) return range[(0,d3_array__WEBPACK_IMPORTED_MODULE_0__.bisect)(domain, x, 0, n)];
    }
  
    function rescale() {
      var i = -1;
      domain = new Array(n);
      while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);
      return scale;
    }
  
    scale.domain = function(_) {
      return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1];
    };
  
    scale.range = function(_) {
      return arguments.length ? (n = (range = _array__WEBPACK_IMPORTED_MODULE_1__.slice.call(_)).length - 1, rescale()) : range.slice();
    };
  
    scale.invertExtent = function(y) {
      var i = range.indexOf(y);
      return i < 0 ? [NaN, NaN]
          : i < 1 ? [x0, domain[0]]
          : i >= n ? [domain[n - 1], x1]
          : [domain[i - 1], domain[i]];
    };
  
    scale.copy = function() {
      return quantize()
          .domain([x0, x1])
          .range(range);
    };
  
    return (0,_linear__WEBPACK_IMPORTED_MODULE_2__.linearish)(scale);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/rainbow.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/d3-scale/src/rainbow.js ***!
    \*****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "warm": () => (/* binding */ warm),
  /* harmony export */   "cool": () => (/* binding */ cool),
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var d3_color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3-color */ "../../../node_modules/d3-color/src/cubehelix.js");
  /* harmony import */ var d3_interpolate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-interpolate */ "../../../node_modules/d3-interpolate/src/cubehelix.js");
  
  
  
  var warm = (0,d3_interpolate__WEBPACK_IMPORTED_MODULE_0__.cubehelixLong)((0,d3_color__WEBPACK_IMPORTED_MODULE_1__["default"])(-100, 0.75, 0.35), (0,d3_color__WEBPACK_IMPORTED_MODULE_1__["default"])(80, 1.50, 0.8));
  
  var cool = (0,d3_interpolate__WEBPACK_IMPORTED_MODULE_0__.cubehelixLong)((0,d3_color__WEBPACK_IMPORTED_MODULE_1__["default"])(260, 0.75, 0.35), (0,d3_color__WEBPACK_IMPORTED_MODULE_1__["default"])(80, 1.50, 0.8));
  
  var rainbow = (0,d3_color__WEBPACK_IMPORTED_MODULE_1__["default"])();
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(t) {
    if (t < 0 || t > 1) t -= Math.floor(t);
    var ts = Math.abs(t - 0.5);
    rainbow.h = 360 * t - 100;
    rainbow.s = 1.5 - 1.5 * ts;
    rainbow.l = 0.8 - 0.9 * ts;
    return rainbow + "";
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/sequential.js":
  /*!********************************************************!*\
    !*** ../../../node_modules/d3-scale/src/sequential.js ***!
    \********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ sequential)
  /* harmony export */ });
  /* harmony import */ var _linear__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./linear */ "../../../node_modules/d3-scale/src/linear.js");
  
  
  function sequential(interpolator) {
    var x0 = 0,
        x1 = 1,
        clamp = false;
  
    function scale(x) {
      var t = (x - x0) / (x1 - x0);
      return interpolator(clamp ? Math.max(0, Math.min(1, t)) : t);
    }
  
    scale.domain = function(_) {
      return arguments.length ? (x0 = +_[0], x1 = +_[1], scale) : [x0, x1];
    };
  
    scale.clamp = function(_) {
      return arguments.length ? (clamp = !!_, scale) : clamp;
    };
  
    scale.interpolator = function(_) {
      return arguments.length ? (interpolator = _, scale) : interpolator;
    };
  
    scale.copy = function() {
      return sequential(interpolator).domain([x0, x1]).clamp(clamp);
    };
  
    return (0,_linear__WEBPACK_IMPORTED_MODULE_0__.linearish)(scale);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/threshold.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/d3-scale/src/threshold.js ***!
    \*******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ threshold)
  /* harmony export */ });
  /* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ "../../../node_modules/d3-array/src/index.js");
  /* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./array */ "../../../node_modules/d3-scale/src/array.js");
  
  
  
  function threshold() {
    var domain = [0.5],
        range = [0, 1],
        n = 1;
  
    function scale(x) {
      if (x <= x) return range[(0,d3_array__WEBPACK_IMPORTED_MODULE_0__.bisect)(domain, x, 0, n)];
    }
  
    scale.domain = function(_) {
      return arguments.length ? (domain = _array__WEBPACK_IMPORTED_MODULE_1__.slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();
    };
  
    scale.range = function(_) {
      return arguments.length ? (range = _array__WEBPACK_IMPORTED_MODULE_1__.slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();
    };
  
    scale.invertExtent = function(y) {
      var i = range.indexOf(y);
      return [domain[i - 1], domain[i]];
    };
  
    scale.copy = function() {
      return threshold()
          .domain(domain)
          .range(range);
    };
  
    return scale;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/tickFormat.js":
  /*!********************************************************!*\
    !*** ../../../node_modules/d3-scale/src/tickFormat.js ***!
    \********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ "../../../node_modules/d3-array/src/index.js");
  /* harmony import */ var d3_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3-format */ "../../../node_modules/d3-format/src/formatSpecifier.js");
  /* harmony import */ var d3_format__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! d3-format */ "../../../node_modules/d3-format/src/precisionPrefix.js");
  /* harmony import */ var d3_format__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! d3-format */ "../../../node_modules/d3-format/src/defaultLocale.js");
  /* harmony import */ var d3_format__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! d3-format */ "../../../node_modules/d3-format/src/precisionRound.js");
  /* harmony import */ var d3_format__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! d3-format */ "../../../node_modules/d3-format/src/precisionFixed.js");
  
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(domain, count, specifier) {
    var start = domain[0],
        stop = domain[domain.length - 1],
        step = (0,d3_array__WEBPACK_IMPORTED_MODULE_0__.tickStep)(start, stop, count == null ? 10 : count),
        precision;
    specifier = (0,d3_format__WEBPACK_IMPORTED_MODULE_1__["default"])(specifier == null ? ",f" : specifier);
    switch (specifier.type) {
      case "s": {
        var value = Math.max(Math.abs(start), Math.abs(stop));
        if (specifier.precision == null && !isNaN(precision = (0,d3_format__WEBPACK_IMPORTED_MODULE_2__["default"])(step, value))) specifier.precision = precision;
        return (0,d3_format__WEBPACK_IMPORTED_MODULE_3__.formatPrefix)(specifier, value);
      }
      case "":
      case "e":
      case "g":
      case "p":
      case "r": {
        if (specifier.precision == null && !isNaN(precision = (0,d3_format__WEBPACK_IMPORTED_MODULE_4__["default"])(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e");
        break;
      }
      case "f":
      case "%": {
        if (specifier.precision == null && !isNaN(precision = (0,d3_format__WEBPACK_IMPORTED_MODULE_5__["default"])(step))) specifier.precision = precision - (specifier.type === "%") * 2;
        break;
      }
    }
    return (0,d3_format__WEBPACK_IMPORTED_MODULE_3__.format)(specifier);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/time.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/d3-scale/src/time.js ***!
    \**************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "calendar": () => (/* binding */ calendar),
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ "../../../node_modules/d3-array/src/index.js");
  /* harmony import */ var d3_interpolate__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! d3-interpolate */ "../../../node_modules/d3-interpolate/src/number.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/year.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/month.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/week.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/day.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/hour.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/minute.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/second.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/millisecond.js");
  /* harmony import */ var d3_time_format__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! d3-time-format */ "../../../node_modules/d3-time-format/src/defaultLocale.js");
  /* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./array */ "../../../node_modules/d3-scale/src/array.js");
  /* harmony import */ var _continuous__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./continuous */ "../../../node_modules/d3-scale/src/continuous.js");
  /* harmony import */ var _nice__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nice */ "../../../node_modules/d3-scale/src/nice.js");
  
  
  
  
  
  
  
  
  var durationSecond = 1000,
      durationMinute = durationSecond * 60,
      durationHour = durationMinute * 60,
      durationDay = durationHour * 24,
      durationWeek = durationDay * 7,
      durationMonth = durationDay * 30,
      durationYear = durationDay * 365;
  
  function date(t) {
    return new Date(t);
  }
  
  function number(t) {
    return t instanceof Date ? +t : +new Date(+t);
  }
  
  function calendar(year, month, week, day, hour, minute, second, millisecond, format) {
    var scale = (0,_continuous__WEBPACK_IMPORTED_MODULE_2__["default"])(_continuous__WEBPACK_IMPORTED_MODULE_2__.deinterpolateLinear, d3_interpolate__WEBPACK_IMPORTED_MODULE_4__["default"]),
        invert = scale.invert,
        domain = scale.domain;
  
    var formatMillisecond = format(".%L"),
        formatSecond = format(":%S"),
        formatMinute = format("%I:%M"),
        formatHour = format("%I %p"),
        formatDay = format("%a %d"),
        formatWeek = format("%b %d"),
        formatMonth = format("%B"),
        formatYear = format("%Y");
  
    var tickIntervals = [
      [second,  1,      durationSecond],
      [second,  5,  5 * durationSecond],
      [second, 15, 15 * durationSecond],
      [second, 30, 30 * durationSecond],
      [minute,  1,      durationMinute],
      [minute,  5,  5 * durationMinute],
      [minute, 15, 15 * durationMinute],
      [minute, 30, 30 * durationMinute],
      [  hour,  1,      durationHour  ],
      [  hour,  3,  3 * durationHour  ],
      [  hour,  6,  6 * durationHour  ],
      [  hour, 12, 12 * durationHour  ],
      [   day,  1,      durationDay   ],
      [   day,  2,  2 * durationDay   ],
      [  week,  1,      durationWeek  ],
      [ month,  1,      durationMonth ],
      [ month,  3,  3 * durationMonth ],
      [  year,  1,      durationYear  ]
    ];
  
    function tickFormat(date) {
      return (second(date) < date ? formatMillisecond
          : minute(date) < date ? formatSecond
          : hour(date) < date ? formatMinute
          : day(date) < date ? formatHour
          : month(date) < date ? (week(date) < date ? formatDay : formatWeek)
          : year(date) < date ? formatMonth
          : formatYear)(date);
    }
  
    function tickInterval(interval, start, stop, step) {
      if (interval == null) interval = 10;
  
      // If a desired tick count is specified, pick a reasonable tick interval
      // based on the extent of the domain and a rough estimate of tick size.
      // Otherwise, assume interval is already a time interval and use it.
      if (typeof interval === "number") {
        var target = Math.abs(stop - start) / interval,
            i = (0,d3_array__WEBPACK_IMPORTED_MODULE_0__.bisector)(function(i) { return i[2]; }).right(tickIntervals, target);
        if (i === tickIntervals.length) {
          step = (0,d3_array__WEBPACK_IMPORTED_MODULE_0__.tickStep)(start / durationYear, stop / durationYear, interval);
          interval = year;
        } else if (i) {
          i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];
          step = i[1];
          interval = i[0];
        } else {
          step = Math.max((0,d3_array__WEBPACK_IMPORTED_MODULE_0__.tickStep)(start, stop, interval), 1);
          interval = millisecond;
        }
      }
  
      return step == null ? interval : interval.every(step);
    }
  
    scale.invert = function(y) {
      return new Date(invert(y));
    };
  
    scale.domain = function(_) {
      return arguments.length ? domain(_array__WEBPACK_IMPORTED_MODULE_1__.map.call(_, number)) : domain().map(date);
    };
  
    scale.ticks = function(interval, step) {
      var d = domain(),
          t0 = d[0],
          t1 = d[d.length - 1],
          r = t1 < t0,
          t;
      if (r) t = t0, t0 = t1, t1 = t;
      t = tickInterval(interval, t0, t1, step);
      t = t ? t.range(t0, t1 + 1) : []; // inclusive stop
      return r ? t.reverse() : t;
    };
  
    scale.tickFormat = function(count, specifier) {
      return specifier == null ? tickFormat : format(specifier);
    };
  
    scale.nice = function(interval, step) {
      var d = domain();
      return (interval = tickInterval(interval, d[0], d[d.length - 1], step))
          ? domain((0,_nice__WEBPACK_IMPORTED_MODULE_3__["default"])(d, interval))
          : scale;
    };
  
    scale.copy = function() {
      return (0,_continuous__WEBPACK_IMPORTED_MODULE_2__.copy)(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format));
    };
  
    return scale;
  }
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {
    return calendar(d3_time__WEBPACK_IMPORTED_MODULE_5__["default"], d3_time__WEBPACK_IMPORTED_MODULE_6__["default"], d3_time__WEBPACK_IMPORTED_MODULE_7__.sunday, d3_time__WEBPACK_IMPORTED_MODULE_8__["default"], d3_time__WEBPACK_IMPORTED_MODULE_9__["default"], d3_time__WEBPACK_IMPORTED_MODULE_10__["default"], d3_time__WEBPACK_IMPORTED_MODULE_11__["default"], d3_time__WEBPACK_IMPORTED_MODULE_12__["default"], d3_time_format__WEBPACK_IMPORTED_MODULE_13__.timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/utcTime.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/d3-scale/src/utcTime.js ***!
    \*****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var _time__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./time */ "../../../node_modules/d3-scale/src/time.js");
  /* harmony import */ var d3_time_format__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! d3-time-format */ "../../../node_modules/d3-time-format/src/defaultLocale.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/utcYear.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/utcMonth.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/utcWeek.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/utcDay.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/utcHour.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/utcMinute.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/second.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/millisecond.js");
  
  
  
  
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {
    return (0,_time__WEBPACK_IMPORTED_MODULE_0__.calendar)(d3_time__WEBPACK_IMPORTED_MODULE_1__["default"], d3_time__WEBPACK_IMPORTED_MODULE_2__["default"], d3_time__WEBPACK_IMPORTED_MODULE_3__.utcSunday, d3_time__WEBPACK_IMPORTED_MODULE_4__["default"], d3_time__WEBPACK_IMPORTED_MODULE_5__["default"], d3_time__WEBPACK_IMPORTED_MODULE_6__["default"], d3_time__WEBPACK_IMPORTED_MODULE_7__["default"], d3_time__WEBPACK_IMPORTED_MODULE_8__["default"], d3_time_format__WEBPACK_IMPORTED_MODULE_9__.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-scale/src/viridis.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/d3-scale/src/viridis.js ***!
    \*****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "magma": () => (/* binding */ magma),
  /* harmony export */   "inferno": () => (/* binding */ inferno),
  /* harmony export */   "plasma": () => (/* binding */ plasma)
  /* harmony export */ });
  /* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colors */ "../../../node_modules/d3-scale/src/colors.js");
  
  
  function ramp(range) {
    var n = range.length;
    return function(t) {
      return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];
    };
  }
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ramp((0,_colors__WEBPACK_IMPORTED_MODULE_0__["default"])("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")));
  
  var magma = ramp((0,_colors__WEBPACK_IMPORTED_MODULE_0__["default"])("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"));
  
  var inferno = ramp((0,_colors__WEBPACK_IMPORTED_MODULE_0__["default"])("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"));
  
  var plasma = ramp((0,_colors__WEBPACK_IMPORTED_MODULE_0__["default"])("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time-format/src/defaultLocale.js":
  /*!*****************************************************************!*\
    !*** ../../../node_modules/d3-time-format/src/defaultLocale.js ***!
    \*****************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "timeFormat": () => (/* binding */ timeFormat),
  /* harmony export */   "timeParse": () => (/* binding */ timeParse),
  /* harmony export */   "utcFormat": () => (/* binding */ utcFormat),
  /* harmony export */   "utcParse": () => (/* binding */ utcParse),
  /* harmony export */   "default": () => (/* binding */ defaultLocale)
  /* harmony export */ });
  /* harmony import */ var _locale_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./locale.js */ "../../../node_modules/d3-time-format/src/locale.js");
  
  
  var locale;
  var timeFormat;
  var timeParse;
  var utcFormat;
  var utcParse;
  
  defaultLocale({
    dateTime: "%x, %X",
    date: "%-m/%-d/%Y",
    time: "%-I:%M:%S %p",
    periods: ["AM", "PM"],
    days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
    shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
    months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
    shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
  });
  
  function defaultLocale(definition) {
    locale = (0,_locale_js__WEBPACK_IMPORTED_MODULE_0__["default"])(definition);
    timeFormat = locale.format;
    timeParse = locale.parse;
    utcFormat = locale.utcFormat;
    utcParse = locale.utcParse;
    return locale;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time-format/src/locale.js":
  /*!**********************************************************!*\
    !*** ../../../node_modules/d3-time-format/src/locale.js ***!
    \**********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ formatLocale)
  /* harmony export */ });
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/utcWeek.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/utcDay.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/week.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/day.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/year.js");
  /* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! d3-time */ "../../../node_modules/d3-time/src/utcYear.js");
  
  
  function localDate(d) {
    if (0 <= d.y && d.y < 100) {
      var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);
      date.setFullYear(d.y);
      return date;
    }
    return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);
  }
  
  function utcDate(d) {
    if (0 <= d.y && d.y < 100) {
      var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));
      date.setUTCFullYear(d.y);
      return date;
    }
    return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));
  }
  
  function newDate(y, m, d) {
    return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};
  }
  
  function formatLocale(locale) {
    var locale_dateTime = locale.dateTime,
        locale_date = locale.date,
        locale_time = locale.time,
        locale_periods = locale.periods,
        locale_weekdays = locale.days,
        locale_shortWeekdays = locale.shortDays,
        locale_months = locale.months,
        locale_shortMonths = locale.shortMonths;
  
    var periodRe = formatRe(locale_periods),
        periodLookup = formatLookup(locale_periods),
        weekdayRe = formatRe(locale_weekdays),
        weekdayLookup = formatLookup(locale_weekdays),
        shortWeekdayRe = formatRe(locale_shortWeekdays),
        shortWeekdayLookup = formatLookup(locale_shortWeekdays),
        monthRe = formatRe(locale_months),
        monthLookup = formatLookup(locale_months),
        shortMonthRe = formatRe(locale_shortMonths),
        shortMonthLookup = formatLookup(locale_shortMonths);
  
    var formats = {
      "a": formatShortWeekday,
      "A": formatWeekday,
      "b": formatShortMonth,
      "B": formatMonth,
      "c": null,
      "d": formatDayOfMonth,
      "e": formatDayOfMonth,
      "f": formatMicroseconds,
      "g": formatYearISO,
      "G": formatFullYearISO,
      "H": formatHour24,
      "I": formatHour12,
      "j": formatDayOfYear,
      "L": formatMilliseconds,
      "m": formatMonthNumber,
      "M": formatMinutes,
      "p": formatPeriod,
      "q": formatQuarter,
      "Q": formatUnixTimestamp,
      "s": formatUnixTimestampSeconds,
      "S": formatSeconds,
      "u": formatWeekdayNumberMonday,
      "U": formatWeekNumberSunday,
      "V": formatWeekNumberISO,
      "w": formatWeekdayNumberSunday,
      "W": formatWeekNumberMonday,
      "x": null,
      "X": null,
      "y": formatYear,
      "Y": formatFullYear,
      "Z": formatZone,
      "%": formatLiteralPercent
    };
  
    var utcFormats = {
      "a": formatUTCShortWeekday,
      "A": formatUTCWeekday,
      "b": formatUTCShortMonth,
      "B": formatUTCMonth,
      "c": null,
      "d": formatUTCDayOfMonth,
      "e": formatUTCDayOfMonth,
      "f": formatUTCMicroseconds,
      "g": formatUTCYearISO,
      "G": formatUTCFullYearISO,
      "H": formatUTCHour24,
      "I": formatUTCHour12,
      "j": formatUTCDayOfYear,
      "L": formatUTCMilliseconds,
      "m": formatUTCMonthNumber,
      "M": formatUTCMinutes,
      "p": formatUTCPeriod,
      "q": formatUTCQuarter,
      "Q": formatUnixTimestamp,
      "s": formatUnixTimestampSeconds,
      "S": formatUTCSeconds,
      "u": formatUTCWeekdayNumberMonday,
      "U": formatUTCWeekNumberSunday,
      "V": formatUTCWeekNumberISO,
      "w": formatUTCWeekdayNumberSunday,
      "W": formatUTCWeekNumberMonday,
      "x": null,
      "X": null,
      "y": formatUTCYear,
      "Y": formatUTCFullYear,
      "Z": formatUTCZone,
      "%": formatLiteralPercent
    };
  
    var parses = {
      "a": parseShortWeekday,
      "A": parseWeekday,
      "b": parseShortMonth,
      "B": parseMonth,
      "c": parseLocaleDateTime,
      "d": parseDayOfMonth,
      "e": parseDayOfMonth,
      "f": parseMicroseconds,
      "g": parseYear,
      "G": parseFullYear,
      "H": parseHour24,
      "I": parseHour24,
      "j": parseDayOfYear,
      "L": parseMilliseconds,
      "m": parseMonthNumber,
      "M": parseMinutes,
      "p": parsePeriod,
      "q": parseQuarter,
      "Q": parseUnixTimestamp,
      "s": parseUnixTimestampSeconds,
      "S": parseSeconds,
      "u": parseWeekdayNumberMonday,
      "U": parseWeekNumberSunday,
      "V": parseWeekNumberISO,
      "w": parseWeekdayNumberSunday,
      "W": parseWeekNumberMonday,
      "x": parseLocaleDate,
      "X": parseLocaleTime,
      "y": parseYear,
      "Y": parseFullYear,
      "Z": parseZone,
      "%": parseLiteralPercent
    };
  
    // These recursive directive definitions must be deferred.
    formats.x = newFormat(locale_date, formats);
    formats.X = newFormat(locale_time, formats);
    formats.c = newFormat(locale_dateTime, formats);
    utcFormats.x = newFormat(locale_date, utcFormats);
    utcFormats.X = newFormat(locale_time, utcFormats);
    utcFormats.c = newFormat(locale_dateTime, utcFormats);
  
    function newFormat(specifier, formats) {
      return function(date) {
        var string = [],
            i = -1,
            j = 0,
            n = specifier.length,
            c,
            pad,
            format;
  
        if (!(date instanceof Date)) date = new Date(+date);
  
        while (++i < n) {
          if (specifier.charCodeAt(i) === 37) {
            string.push(specifier.slice(j, i));
            if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);
            else pad = c === "e" ? " " : "0";
            if (format = formats[c]) c = format(date, pad);
            string.push(c);
            j = i + 1;
          }
        }
  
        string.push(specifier.slice(j, i));
        return string.join("");
      };
    }
  
    function newParse(specifier, Z) {
      return function(string) {
        var d = newDate(1900, undefined, 1),
            i = parseSpecifier(d, specifier, string += "", 0),
            week, day;
        if (i != string.length) return null;
  
        // If a UNIX timestamp is specified, return it.
        if ("Q" in d) return new Date(d.Q);
        if ("s" in d) return new Date(d.s * 1000 + ("L" in d ? d.L : 0));
  
        // If this is utcParse, never use the local timezone.
        if (Z && !("Z" in d)) d.Z = 0;
  
        // The am-pm flag is 0 for AM, and 1 for PM.
        if ("p" in d) d.H = d.H % 12 + d.p * 12;
  
        // If the month was not specified, inherit from the quarter.
        if (d.m === undefined) d.m = "q" in d ? d.q : 0;
  
        // Convert day-of-week and week-of-year to day-of-year.
        if ("V" in d) {
          if (d.V < 1 || d.V > 53) return null;
          if (!("w" in d)) d.w = 1;
          if ("Z" in d) {
            week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();
            week = day > 4 || day === 0 ? d3_time__WEBPACK_IMPORTED_MODULE_0__.utcMonday.ceil(week) : (0,d3_time__WEBPACK_IMPORTED_MODULE_0__.utcMonday)(week);
            week = d3_time__WEBPACK_IMPORTED_MODULE_1__["default"].offset(week, (d.V - 1) * 7);
            d.y = week.getUTCFullYear();
            d.m = week.getUTCMonth();
            d.d = week.getUTCDate() + (d.w + 6) % 7;
          } else {
            week = localDate(newDate(d.y, 0, 1)), day = week.getDay();
            week = day > 4 || day === 0 ? d3_time__WEBPACK_IMPORTED_MODULE_2__.monday.ceil(week) : (0,d3_time__WEBPACK_IMPORTED_MODULE_2__.monday)(week);
            week = d3_time__WEBPACK_IMPORTED_MODULE_3__["default"].offset(week, (d.V - 1) * 7);
            d.y = week.getFullYear();
            d.m = week.getMonth();
            d.d = week.getDate() + (d.w + 6) % 7;
          }
        } else if ("W" in d || "U" in d) {
          if (!("w" in d)) d.w = "u" in d ? d.u % 7 : "W" in d ? 1 : 0;
          day = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();
          d.m = 0;
          d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;
        }
  
        // If a time zone is specified, all fields are interpreted as UTC and then
        // offset according to the specified time zone.
        if ("Z" in d) {
          d.H += d.Z / 100 | 0;
          d.M += d.Z % 100;
          return utcDate(d);
        }
  
        // Otherwise, all fields are in local time.
        return localDate(d);
      };
    }
  
    function parseSpecifier(d, specifier, string, j) {
      var i = 0,
          n = specifier.length,
          m = string.length,
          c,
          parse;
  
      while (i < n) {
        if (j >= m) return -1;
        c = specifier.charCodeAt(i++);
        if (c === 37) {
          c = specifier.charAt(i++);
          parse = parses[c in pads ? specifier.charAt(i++) : c];
          if (!parse || ((j = parse(d, string, j)) < 0)) return -1;
        } else if (c != string.charCodeAt(j++)) {
          return -1;
        }
      }
  
      return j;
    }
  
    function parsePeriod(d, string, i) {
      var n = periodRe.exec(string.slice(i));
      return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1;
    }
  
    function parseShortWeekday(d, string, i) {
      var n = shortWeekdayRe.exec(string.slice(i));
      return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;
    }
  
    function parseWeekday(d, string, i) {
      var n = weekdayRe.exec(string.slice(i));
      return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;
    }
  
    function parseShortMonth(d, string, i) {
      var n = shortMonthRe.exec(string.slice(i));
      return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1;
    }
  
    function parseMonth(d, string, i) {
      var n = monthRe.exec(string.slice(i));
      return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1;
    }
  
    function parseLocaleDateTime(d, string, i) {
      return parseSpecifier(d, locale_dateTime, string, i);
    }
  
    function parseLocaleDate(d, string, i) {
      return parseSpecifier(d, locale_date, string, i);
    }
  
    function parseLocaleTime(d, string, i) {
      return parseSpecifier(d, locale_time, string, i);
    }
  
    function formatShortWeekday(d) {
      return locale_shortWeekdays[d.getDay()];
    }
  
    function formatWeekday(d) {
      return locale_weekdays[d.getDay()];
    }
  
    function formatShortMonth(d) {
      return locale_shortMonths[d.getMonth()];
    }
  
    function formatMonth(d) {
      return locale_months[d.getMonth()];
    }
  
    function formatPeriod(d) {
      return locale_periods[+(d.getHours() >= 12)];
    }
  
    function formatQuarter(d) {
      return 1 + ~~(d.getMonth() / 3);
    }
  
    function formatUTCShortWeekday(d) {
      return locale_shortWeekdays[d.getUTCDay()];
    }
  
    function formatUTCWeekday(d) {
      return locale_weekdays[d.getUTCDay()];
    }
  
    function formatUTCShortMonth(d) {
      return locale_shortMonths[d.getUTCMonth()];
    }
  
    function formatUTCMonth(d) {
      return locale_months[d.getUTCMonth()];
    }
  
    function formatUTCPeriod(d) {
      return locale_periods[+(d.getUTCHours() >= 12)];
    }
  
    function formatUTCQuarter(d) {
      return 1 + ~~(d.getUTCMonth() / 3);
    }
  
    return {
      format: function(specifier) {
        var f = newFormat(specifier += "", formats);
        f.toString = function() { return specifier; };
        return f;
      },
      parse: function(specifier) {
        var p = newParse(specifier += "", false);
        p.toString = function() { return specifier; };
        return p;
      },
      utcFormat: function(specifier) {
        var f = newFormat(specifier += "", utcFormats);
        f.toString = function() { return specifier; };
        return f;
      },
      utcParse: function(specifier) {
        var p = newParse(specifier += "", true);
        p.toString = function() { return specifier; };
        return p;
      }
    };
  }
  
  var pads = {"-": "", "_": " ", "0": "0"},
      numberRe = /^\s*\d+/, // note: ignores next directive
      percentRe = /^%/,
      requoteRe = /[\\^$*+?|[\]().{}]/g;
  
  function pad(value, fill, width) {
    var sign = value < 0 ? "-" : "",
        string = (sign ? -value : value) + "",
        length = string.length;
    return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);
  }
  
  function requote(s) {
    return s.replace(requoteRe, "\\$&");
  }
  
  function formatRe(names) {
    return new RegExp("^(?:" + names.map(requote).join("|") + ")", "i");
  }
  
  function formatLookup(names) {
    var map = {}, i = -1, n = names.length;
    while (++i < n) map[names[i].toLowerCase()] = i;
    return map;
  }
  
  function parseWeekdayNumberSunday(d, string, i) {
    var n = numberRe.exec(string.slice(i, i + 1));
    return n ? (d.w = +n[0], i + n[0].length) : -1;
  }
  
  function parseWeekdayNumberMonday(d, string, i) {
    var n = numberRe.exec(string.slice(i, i + 1));
    return n ? (d.u = +n[0], i + n[0].length) : -1;
  }
  
  function parseWeekNumberSunday(d, string, i) {
    var n = numberRe.exec(string.slice(i, i + 2));
    return n ? (d.U = +n[0], i + n[0].length) : -1;
  }
  
  function parseWeekNumberISO(d, string, i) {
    var n = numberRe.exec(string.slice(i, i + 2));
    return n ? (d.V = +n[0], i + n[0].length) : -1;
  }
  
  function parseWeekNumberMonday(d, string, i) {
    var n = numberRe.exec(string.slice(i, i + 2));
    return n ? (d.W = +n[0], i + n[0].length) : -1;
  }
  
  function parseFullYear(d, string, i) {
    var n = numberRe.exec(string.slice(i, i + 4));
    return n ? (d.y = +n[0], i + n[0].length) : -1;
  }
  
  function parseYear(d, string, i) {
    var n = numberRe.exec(string.slice(i, i + 2));
    return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;
  }
  
  function parseZone(d, string, i) {
    var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(string.slice(i, i + 6));
    return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), i + n[0].length) : -1;
  }
  
  function parseQuarter(d, string, i) {
    var n = numberRe.exec(string.slice(i, i + 1));
    return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;
  }
  
  function parseMonthNumber(d, string, i) {
    var n = numberRe.exec(string.slice(i, i + 2));
    return n ? (d.m = n[0] - 1, i + n[0].length) : -1;
  }
  
  function parseDayOfMonth(d, string, i) {
    var n = numberRe.exec(string.slice(i, i + 2));
    return n ? (d.d = +n[0], i + n[0].length) : -1;
  }
  
  function parseDayOfYear(d, string, i) {
    var n = numberRe.exec(string.slice(i, i + 3));
    return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;
  }
  
  function parseHour24(d, string, i) {
    var n = numberRe.exec(string.slice(i, i + 2));
    return n ? (d.H = +n[0], i + n[0].length) : -1;
  }
  
  function parseMinutes(d, string, i) {
    var n = numberRe.exec(string.slice(i, i + 2));
    return n ? (d.M = +n[0], i + n[0].length) : -1;
  }
  
  function parseSeconds(d, string, i) {
    var n = numberRe.exec(string.slice(i, i + 2));
    return n ? (d.S = +n[0], i + n[0].length) : -1;
  }
  
  function parseMilliseconds(d, string, i) {
    var n = numberRe.exec(string.slice(i, i + 3));
    return n ? (d.L = +n[0], i + n[0].length) : -1;
  }
  
  function parseMicroseconds(d, string, i) {
    var n = numberRe.exec(string.slice(i, i + 6));
    return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;
  }
  
  function parseLiteralPercent(d, string, i) {
    var n = percentRe.exec(string.slice(i, i + 1));
    return n ? i + n[0].length : -1;
  }
  
  function parseUnixTimestamp(d, string, i) {
    var n = numberRe.exec(string.slice(i));
    return n ? (d.Q = +n[0], i + n[0].length) : -1;
  }
  
  function parseUnixTimestampSeconds(d, string, i) {
    var n = numberRe.exec(string.slice(i));
    return n ? (d.s = +n[0], i + n[0].length) : -1;
  }
  
  function formatDayOfMonth(d, p) {
    return pad(d.getDate(), p, 2);
  }
  
  function formatHour24(d, p) {
    return pad(d.getHours(), p, 2);
  }
  
  function formatHour12(d, p) {
    return pad(d.getHours() % 12 || 12, p, 2);
  }
  
  function formatDayOfYear(d, p) {
    return pad(1 + d3_time__WEBPACK_IMPORTED_MODULE_3__["default"].count((0,d3_time__WEBPACK_IMPORTED_MODULE_4__["default"])(d), d), p, 3);
  }
  
  function formatMilliseconds(d, p) {
    return pad(d.getMilliseconds(), p, 3);
  }
  
  function formatMicroseconds(d, p) {
    return formatMilliseconds(d, p) + "000";
  }
  
  function formatMonthNumber(d, p) {
    return pad(d.getMonth() + 1, p, 2);
  }
  
  function formatMinutes(d, p) {
    return pad(d.getMinutes(), p, 2);
  }
  
  function formatSeconds(d, p) {
    return pad(d.getSeconds(), p, 2);
  }
  
  function formatWeekdayNumberMonday(d) {
    var day = d.getDay();
    return day === 0 ? 7 : day;
  }
  
  function formatWeekNumberSunday(d, p) {
    return pad(d3_time__WEBPACK_IMPORTED_MODULE_2__.sunday.count((0,d3_time__WEBPACK_IMPORTED_MODULE_4__["default"])(d) - 1, d), p, 2);
  }
  
  function dISO(d) {
    var day = d.getDay();
    return (day >= 4 || day === 0) ? (0,d3_time__WEBPACK_IMPORTED_MODULE_2__.thursday)(d) : d3_time__WEBPACK_IMPORTED_MODULE_2__.thursday.ceil(d);
  }
  
  function formatWeekNumberISO(d, p) {
    d = dISO(d);
    return pad(d3_time__WEBPACK_IMPORTED_MODULE_2__.thursday.count((0,d3_time__WEBPACK_IMPORTED_MODULE_4__["default"])(d), d) + ((0,d3_time__WEBPACK_IMPORTED_MODULE_4__["default"])(d).getDay() === 4), p, 2);
  }
  
  function formatWeekdayNumberSunday(d) {
    return d.getDay();
  }
  
  function formatWeekNumberMonday(d, p) {
    return pad(d3_time__WEBPACK_IMPORTED_MODULE_2__.monday.count((0,d3_time__WEBPACK_IMPORTED_MODULE_4__["default"])(d) - 1, d), p, 2);
  }
  
  function formatYear(d, p) {
    return pad(d.getFullYear() % 100, p, 2);
  }
  
  function formatYearISO(d, p) {
    d = dISO(d);
    return pad(d.getFullYear() % 100, p, 2);
  }
  
  function formatFullYear(d, p) {
    return pad(d.getFullYear() % 10000, p, 4);
  }
  
  function formatFullYearISO(d, p) {
    var day = d.getDay();
    d = (day >= 4 || day === 0) ? (0,d3_time__WEBPACK_IMPORTED_MODULE_2__.thursday)(d) : d3_time__WEBPACK_IMPORTED_MODULE_2__.thursday.ceil(d);
    return pad(d.getFullYear() % 10000, p, 4);
  }
  
  function formatZone(d) {
    var z = d.getTimezoneOffset();
    return (z > 0 ? "-" : (z *= -1, "+"))
        + pad(z / 60 | 0, "0", 2)
        + pad(z % 60, "0", 2);
  }
  
  function formatUTCDayOfMonth(d, p) {
    return pad(d.getUTCDate(), p, 2);
  }
  
  function formatUTCHour24(d, p) {
    return pad(d.getUTCHours(), p, 2);
  }
  
  function formatUTCHour12(d, p) {
    return pad(d.getUTCHours() % 12 || 12, p, 2);
  }
  
  function formatUTCDayOfYear(d, p) {
    return pad(1 + d3_time__WEBPACK_IMPORTED_MODULE_1__["default"].count((0,d3_time__WEBPACK_IMPORTED_MODULE_5__["default"])(d), d), p, 3);
  }
  
  function formatUTCMilliseconds(d, p) {
    return pad(d.getUTCMilliseconds(), p, 3);
  }
  
  function formatUTCMicroseconds(d, p) {
    return formatUTCMilliseconds(d, p) + "000";
  }
  
  function formatUTCMonthNumber(d, p) {
    return pad(d.getUTCMonth() + 1, p, 2);
  }
  
  function formatUTCMinutes(d, p) {
    return pad(d.getUTCMinutes(), p, 2);
  }
  
  function formatUTCSeconds(d, p) {
    return pad(d.getUTCSeconds(), p, 2);
  }
  
  function formatUTCWeekdayNumberMonday(d) {
    var dow = d.getUTCDay();
    return dow === 0 ? 7 : dow;
  }
  
  function formatUTCWeekNumberSunday(d, p) {
    return pad(d3_time__WEBPACK_IMPORTED_MODULE_0__.utcSunday.count((0,d3_time__WEBPACK_IMPORTED_MODULE_5__["default"])(d) - 1, d), p, 2);
  }
  
  function UTCdISO(d) {
    var day = d.getUTCDay();
    return (day >= 4 || day === 0) ? (0,d3_time__WEBPACK_IMPORTED_MODULE_0__.utcThursday)(d) : d3_time__WEBPACK_IMPORTED_MODULE_0__.utcThursday.ceil(d);
  }
  
  function formatUTCWeekNumberISO(d, p) {
    d = UTCdISO(d);
    return pad(d3_time__WEBPACK_IMPORTED_MODULE_0__.utcThursday.count((0,d3_time__WEBPACK_IMPORTED_MODULE_5__["default"])(d), d) + ((0,d3_time__WEBPACK_IMPORTED_MODULE_5__["default"])(d).getUTCDay() === 4), p, 2);
  }
  
  function formatUTCWeekdayNumberSunday(d) {
    return d.getUTCDay();
  }
  
  function formatUTCWeekNumberMonday(d, p) {
    return pad(d3_time__WEBPACK_IMPORTED_MODULE_0__.utcMonday.count((0,d3_time__WEBPACK_IMPORTED_MODULE_5__["default"])(d) - 1, d), p, 2);
  }
  
  function formatUTCYear(d, p) {
    return pad(d.getUTCFullYear() % 100, p, 2);
  }
  
  function formatUTCYearISO(d, p) {
    d = UTCdISO(d);
    return pad(d.getUTCFullYear() % 100, p, 2);
  }
  
  function formatUTCFullYear(d, p) {
    return pad(d.getUTCFullYear() % 10000, p, 4);
  }
  
  function formatUTCFullYearISO(d, p) {
    var day = d.getUTCDay();
    d = (day >= 4 || day === 0) ? (0,d3_time__WEBPACK_IMPORTED_MODULE_0__.utcThursday)(d) : d3_time__WEBPACK_IMPORTED_MODULE_0__.utcThursday.ceil(d);
    return pad(d.getUTCFullYear() % 10000, p, 4);
  }
  
  function formatUTCZone() {
    return "+0000";
  }
  
  function formatLiteralPercent() {
    return "%";
  }
  
  function formatUnixTimestamp(d) {
    return +d;
  }
  
  function formatUnixTimestampSeconds(d) {
    return Math.floor(+d / 1000);
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time/src/day.js":
  /*!************************************************!*\
    !*** ../../../node_modules/d3-time/src/day.js ***!
    \************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "days": () => (/* binding */ days)
  /* harmony export */ });
  /* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval.js */ "../../../node_modules/d3-time/src/interval.js");
  /* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration.js */ "../../../node_modules/d3-time/src/duration.js");
  
  
  
  var day = (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(date) {
    date.setHours(0, 0, 0, 0);
  }, function(date, step) {
    date.setDate(date.getDate() + step);
  }, function(start, end) {
    return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationMinute) / _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationDay;
  }, function(date) {
    return date.getDate() - 1;
  });
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (day);
  var days = day.range;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time/src/duration.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/d3-time/src/duration.js ***!
    \*****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "durationSecond": () => (/* binding */ durationSecond),
  /* harmony export */   "durationMinute": () => (/* binding */ durationMinute),
  /* harmony export */   "durationHour": () => (/* binding */ durationHour),
  /* harmony export */   "durationDay": () => (/* binding */ durationDay),
  /* harmony export */   "durationWeek": () => (/* binding */ durationWeek)
  /* harmony export */ });
  var durationSecond = 1e3;
  var durationMinute = 6e4;
  var durationHour = 36e5;
  var durationDay = 864e5;
  var durationWeek = 6048e5;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time/src/hour.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/d3-time/src/hour.js ***!
    \*************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "hours": () => (/* binding */ hours)
  /* harmony export */ });
  /* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval.js */ "../../../node_modules/d3-time/src/interval.js");
  /* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration.js */ "../../../node_modules/d3-time/src/duration.js");
  
  
  
  var hour = (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(date) {
    date.setTime(date - date.getMilliseconds() - date.getSeconds() * _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationSecond - date.getMinutes() * _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationMinute);
  }, function(date, step) {
    date.setTime(+date + step * _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationHour);
  }, function(start, end) {
    return (end - start) / _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationHour;
  }, function(date) {
    return date.getHours();
  });
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (hour);
  var hours = hour.range;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time/src/interval.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/d3-time/src/interval.js ***!
    \*****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ newInterval)
  /* harmony export */ });
  var t0 = new Date,
      t1 = new Date;
  
  function newInterval(floori, offseti, count, field) {
  
    function interval(date) {
      return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;
    }
  
    interval.floor = function(date) {
      return floori(date = new Date(+date)), date;
    };
  
    interval.ceil = function(date) {
      return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;
    };
  
    interval.round = function(date) {
      var d0 = interval(date),
          d1 = interval.ceil(date);
      return date - d0 < d1 - date ? d0 : d1;
    };
  
    interval.offset = function(date, step) {
      return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;
    };
  
    interval.range = function(start, stop, step) {
      var range = [], previous;
      start = interval.ceil(start);
      step = step == null ? 1 : Math.floor(step);
      if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date
      do range.push(previous = new Date(+start)), offseti(start, step), floori(start);
      while (previous < start && start < stop);
      return range;
    };
  
    interval.filter = function(test) {
      return newInterval(function(date) {
        if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);
      }, function(date, step) {
        if (date >= date) {
          if (step < 0) while (++step <= 0) {
            while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty
          } else while (--step >= 0) {
            while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty
          }
        }
      });
    };
  
    if (count) {
      interval.count = function(start, end) {
        t0.setTime(+start), t1.setTime(+end);
        floori(t0), floori(t1);
        return Math.floor(count(t0, t1));
      };
  
      interval.every = function(step) {
        step = Math.floor(step);
        return !isFinite(step) || !(step > 0) ? null
            : !(step > 1) ? interval
            : interval.filter(field
                ? function(d) { return field(d) % step === 0; }
                : function(d) { return interval.count(0, d) % step === 0; });
      };
    }
  
    return interval;
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time/src/millisecond.js":
  /*!********************************************************!*\
    !*** ../../../node_modules/d3-time/src/millisecond.js ***!
    \********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "milliseconds": () => (/* binding */ milliseconds)
  /* harmony export */ });
  /* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval.js */ "../../../node_modules/d3-time/src/interval.js");
  
  
  var millisecond = (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function() {
    // noop
  }, function(date, step) {
    date.setTime(+date + step);
  }, function(start, end) {
    return end - start;
  });
  
  // An optimized implementation for this simple case.
  millisecond.every = function(k) {
    k = Math.floor(k);
    if (!isFinite(k) || !(k > 0)) return null;
    if (!(k > 1)) return millisecond;
    return (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(date) {
      date.setTime(Math.floor(date / k) * k);
    }, function(date, step) {
      date.setTime(+date + step * k);
    }, function(start, end) {
      return (end - start) / k;
    });
  };
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (millisecond);
  var milliseconds = millisecond.range;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time/src/minute.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/d3-time/src/minute.js ***!
    \***************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "minutes": () => (/* binding */ minutes)
  /* harmony export */ });
  /* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval.js */ "../../../node_modules/d3-time/src/interval.js");
  /* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration.js */ "../../../node_modules/d3-time/src/duration.js");
  
  
  
  var minute = (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(date) {
    date.setTime(date - date.getMilliseconds() - date.getSeconds() * _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationSecond);
  }, function(date, step) {
    date.setTime(+date + step * _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationMinute);
  }, function(start, end) {
    return (end - start) / _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationMinute;
  }, function(date) {
    return date.getMinutes();
  });
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (minute);
  var minutes = minute.range;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time/src/month.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/d3-time/src/month.js ***!
    \**************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "months": () => (/* binding */ months)
  /* harmony export */ });
  /* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval.js */ "../../../node_modules/d3-time/src/interval.js");
  
  
  var month = (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(date) {
    date.setDate(1);
    date.setHours(0, 0, 0, 0);
  }, function(date, step) {
    date.setMonth(date.getMonth() + step);
  }, function(start, end) {
    return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;
  }, function(date) {
    return date.getMonth();
  });
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (month);
  var months = month.range;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time/src/second.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/d3-time/src/second.js ***!
    \***************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "seconds": () => (/* binding */ seconds)
  /* harmony export */ });
  /* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval.js */ "../../../node_modules/d3-time/src/interval.js");
  /* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration.js */ "../../../node_modules/d3-time/src/duration.js");
  
  
  
  var second = (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(date) {
    date.setTime(date - date.getMilliseconds());
  }, function(date, step) {
    date.setTime(+date + step * _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationSecond);
  }, function(start, end) {
    return (end - start) / _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationSecond;
  }, function(date) {
    return date.getUTCSeconds();
  });
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (second);
  var seconds = second.range;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time/src/utcDay.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/d3-time/src/utcDay.js ***!
    \***************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "utcDays": () => (/* binding */ utcDays)
  /* harmony export */ });
  /* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval.js */ "../../../node_modules/d3-time/src/interval.js");
  /* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration.js */ "../../../node_modules/d3-time/src/duration.js");
  
  
  
  var utcDay = (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(date) {
    date.setUTCHours(0, 0, 0, 0);
  }, function(date, step) {
    date.setUTCDate(date.getUTCDate() + step);
  }, function(start, end) {
    return (end - start) / _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationDay;
  }, function(date) {
    return date.getUTCDate() - 1;
  });
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (utcDay);
  var utcDays = utcDay.range;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time/src/utcHour.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/d3-time/src/utcHour.js ***!
    \****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "utcHours": () => (/* binding */ utcHours)
  /* harmony export */ });
  /* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval.js */ "../../../node_modules/d3-time/src/interval.js");
  /* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration.js */ "../../../node_modules/d3-time/src/duration.js");
  
  
  
  var utcHour = (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(date) {
    date.setUTCMinutes(0, 0, 0);
  }, function(date, step) {
    date.setTime(+date + step * _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationHour);
  }, function(start, end) {
    return (end - start) / _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationHour;
  }, function(date) {
    return date.getUTCHours();
  });
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (utcHour);
  var utcHours = utcHour.range;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time/src/utcMinute.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/d3-time/src/utcMinute.js ***!
    \******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "utcMinutes": () => (/* binding */ utcMinutes)
  /* harmony export */ });
  /* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval.js */ "../../../node_modules/d3-time/src/interval.js");
  /* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration.js */ "../../../node_modules/d3-time/src/duration.js");
  
  
  
  var utcMinute = (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(date) {
    date.setUTCSeconds(0, 0);
  }, function(date, step) {
    date.setTime(+date + step * _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationMinute);
  }, function(start, end) {
    return (end - start) / _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationMinute;
  }, function(date) {
    return date.getUTCMinutes();
  });
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (utcMinute);
  var utcMinutes = utcMinute.range;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time/src/utcMonth.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/d3-time/src/utcMonth.js ***!
    \*****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "utcMonths": () => (/* binding */ utcMonths)
  /* harmony export */ });
  /* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval.js */ "../../../node_modules/d3-time/src/interval.js");
  
  
  var utcMonth = (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(date) {
    date.setUTCDate(1);
    date.setUTCHours(0, 0, 0, 0);
  }, function(date, step) {
    date.setUTCMonth(date.getUTCMonth() + step);
  }, function(start, end) {
    return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;
  }, function(date) {
    return date.getUTCMonth();
  });
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (utcMonth);
  var utcMonths = utcMonth.range;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time/src/utcWeek.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/d3-time/src/utcWeek.js ***!
    \****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "utcSunday": () => (/* binding */ utcSunday),
  /* harmony export */   "utcMonday": () => (/* binding */ utcMonday),
  /* harmony export */   "utcTuesday": () => (/* binding */ utcTuesday),
  /* harmony export */   "utcWednesday": () => (/* binding */ utcWednesday),
  /* harmony export */   "utcThursday": () => (/* binding */ utcThursday),
  /* harmony export */   "utcFriday": () => (/* binding */ utcFriday),
  /* harmony export */   "utcSaturday": () => (/* binding */ utcSaturday),
  /* harmony export */   "utcSundays": () => (/* binding */ utcSundays),
  /* harmony export */   "utcMondays": () => (/* binding */ utcMondays),
  /* harmony export */   "utcTuesdays": () => (/* binding */ utcTuesdays),
  /* harmony export */   "utcWednesdays": () => (/* binding */ utcWednesdays),
  /* harmony export */   "utcThursdays": () => (/* binding */ utcThursdays),
  /* harmony export */   "utcFridays": () => (/* binding */ utcFridays),
  /* harmony export */   "utcSaturdays": () => (/* binding */ utcSaturdays)
  /* harmony export */ });
  /* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval.js */ "../../../node_modules/d3-time/src/interval.js");
  /* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration.js */ "../../../node_modules/d3-time/src/duration.js");
  
  
  
  function utcWeekday(i) {
    return (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(date) {
      date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);
      date.setUTCHours(0, 0, 0, 0);
    }, function(date, step) {
      date.setUTCDate(date.getUTCDate() + step * 7);
    }, function(start, end) {
      return (end - start) / _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationWeek;
    });
  }
  
  var utcSunday = utcWeekday(0);
  var utcMonday = utcWeekday(1);
  var utcTuesday = utcWeekday(2);
  var utcWednesday = utcWeekday(3);
  var utcThursday = utcWeekday(4);
  var utcFriday = utcWeekday(5);
  var utcSaturday = utcWeekday(6);
  
  var utcSundays = utcSunday.range;
  var utcMondays = utcMonday.range;
  var utcTuesdays = utcTuesday.range;
  var utcWednesdays = utcWednesday.range;
  var utcThursdays = utcThursday.range;
  var utcFridays = utcFriday.range;
  var utcSaturdays = utcSaturday.range;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time/src/utcYear.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/d3-time/src/utcYear.js ***!
    \****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "utcYears": () => (/* binding */ utcYears)
  /* harmony export */ });
  /* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval.js */ "../../../node_modules/d3-time/src/interval.js");
  
  
  var utcYear = (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(date) {
    date.setUTCMonth(0, 1);
    date.setUTCHours(0, 0, 0, 0);
  }, function(date, step) {
    date.setUTCFullYear(date.getUTCFullYear() + step);
  }, function(start, end) {
    return end.getUTCFullYear() - start.getUTCFullYear();
  }, function(date) {
    return date.getUTCFullYear();
  });
  
  // An optimized implementation for this simple case.
  utcYear.every = function(k) {
    return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(date) {
      date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);
      date.setUTCMonth(0, 1);
      date.setUTCHours(0, 0, 0, 0);
    }, function(date, step) {
      date.setUTCFullYear(date.getUTCFullYear() + step * k);
    });
  };
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (utcYear);
  var utcYears = utcYear.range;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time/src/week.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/d3-time/src/week.js ***!
    \*************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "sunday": () => (/* binding */ sunday),
  /* harmony export */   "monday": () => (/* binding */ monday),
  /* harmony export */   "tuesday": () => (/* binding */ tuesday),
  /* harmony export */   "wednesday": () => (/* binding */ wednesday),
  /* harmony export */   "thursday": () => (/* binding */ thursday),
  /* harmony export */   "friday": () => (/* binding */ friday),
  /* harmony export */   "saturday": () => (/* binding */ saturday),
  /* harmony export */   "sundays": () => (/* binding */ sundays),
  /* harmony export */   "mondays": () => (/* binding */ mondays),
  /* harmony export */   "tuesdays": () => (/* binding */ tuesdays),
  /* harmony export */   "wednesdays": () => (/* binding */ wednesdays),
  /* harmony export */   "thursdays": () => (/* binding */ thursdays),
  /* harmony export */   "fridays": () => (/* binding */ fridays),
  /* harmony export */   "saturdays": () => (/* binding */ saturdays)
  /* harmony export */ });
  /* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval.js */ "../../../node_modules/d3-time/src/interval.js");
  /* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration.js */ "../../../node_modules/d3-time/src/duration.js");
  
  
  
  function weekday(i) {
    return (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(date) {
      date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);
      date.setHours(0, 0, 0, 0);
    }, function(date, step) {
      date.setDate(date.getDate() + step * 7);
    }, function(start, end) {
      return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationMinute) / _duration_js__WEBPACK_IMPORTED_MODULE_1__.durationWeek;
    });
  }
  
  var sunday = weekday(0);
  var monday = weekday(1);
  var tuesday = weekday(2);
  var wednesday = weekday(3);
  var thursday = weekday(4);
  var friday = weekday(5);
  var saturday = weekday(6);
  
  var sundays = sunday.range;
  var mondays = monday.range;
  var tuesdays = tuesday.range;
  var wednesdays = wednesday.range;
  var thursdays = thursday.range;
  var fridays = friday.range;
  var saturdays = saturday.range;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-time/src/year.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/d3-time/src/year.js ***!
    \*************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  /* harmony export */   "years": () => (/* binding */ years)
  /* harmony export */ });
  /* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval.js */ "../../../node_modules/d3-time/src/interval.js");
  
  
  var year = (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(date) {
    date.setMonth(0, 1);
    date.setHours(0, 0, 0, 0);
  }, function(date, step) {
    date.setFullYear(date.getFullYear() + step);
  }, function(start, end) {
    return end.getFullYear() - start.getFullYear();
  }, function(date) {
    return date.getFullYear();
  });
  
  // An optimized implementation for this simple case.
  year.every = function(k) {
    return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : (0,_interval_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(date) {
      date.setFullYear(Math.floor(date.getFullYear() / k) * k);
      date.setMonth(0, 1);
      date.setHours(0, 0, 0, 0);
    }, function(date, step) {
      date.setFullYear(date.getFullYear() + step * k);
    });
  };
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (year);
  var years = year.range;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/d3-timer/src/timer.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/d3-timer/src/timer.js ***!
    \***************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "now": () => (/* binding */ now),
  /* harmony export */   "Timer": () => (/* binding */ Timer),
  /* harmony export */   "timer": () => (/* binding */ timer),
  /* harmony export */   "timerFlush": () => (/* binding */ timerFlush)
  /* harmony export */ });
  var frame = 0, // is an animation frame pending?
      timeout = 0, // is a timeout pending?
      interval = 0, // are any timers active?
      pokeDelay = 1000, // how frequently we check for clock skew
      taskHead,
      taskTail,
      clockLast = 0,
      clockNow = 0,
      clockSkew = 0,
      clock = typeof performance === "object" && performance.now ? performance : Date,
      setFrame = typeof window === "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };
  
  function now() {
    return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);
  }
  
  function clearNow() {
    clockNow = 0;
  }
  
  function Timer() {
    this._call =
    this._time =
    this._next = null;
  }
  
  Timer.prototype = timer.prototype = {
    constructor: Timer,
    restart: function(callback, delay, time) {
      if (typeof callback !== "function") throw new TypeError("callback is not a function");
      time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);
      if (!this._next && taskTail !== this) {
        if (taskTail) taskTail._next = this;
        else taskHead = this;
        taskTail = this;
      }
      this._call = callback;
      this._time = time;
      sleep();
    },
    stop: function() {
      if (this._call) {
        this._call = null;
        this._time = Infinity;
        sleep();
      }
    }
  };
  
  function timer(callback, delay, time) {
    var t = new Timer;
    t.restart(callback, delay, time);
    return t;
  }
  
  function timerFlush() {
    now(); // Get the current time, if not already set.
    ++frame; // Pretend we’ve set an alarm, if we haven’t already.
    var t = taskHead, e;
    while (t) {
      if ((e = clockNow - t._time) >= 0) t._call.call(null, e);
      t = t._next;
    }
    --frame;
  }
  
  function wake() {
    clockNow = (clockLast = clock.now()) + clockSkew;
    frame = timeout = 0;
    try {
      timerFlush();
    } finally {
      frame = 0;
      nap();
      clockNow = 0;
    }
  }
  
  function poke() {
    var now = clock.now(), delay = now - clockLast;
    if (delay > pokeDelay) clockSkew -= delay, clockLast = now;
  }
  
  function nap() {
    var t0, t1 = taskHead, t2, time = Infinity;
    while (t1) {
      if (t1._call) {
        if (time > t1._time) time = t1._time;
        t0 = t1, t1 = t1._next;
      } else {
        t2 = t1._next, t1._next = null;
        t1 = t0 ? t0._next = t2 : taskHead = t2;
      }
    }
    taskTail = t0;
    sleep(time);
  }
  
  function sleep(time) {
    if (frame) return; // Soonest alarm already set, or will be.
    if (timeout) timeout = clearTimeout(timeout);
    var delay = time - clockNow; // Strictly less than if we recomputed clockNow.
    if (delay > 24) {
      if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);
      if (interval) interval = clearInterval(interval);
    } else {
      if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);
      frame = 1, setFrame(wake);
    }
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_SetCache.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/lodash/_SetCache.js ***!
    \*************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var isArray = __webpack_require__(/*! ./isArray */ "../../../node_modules/lodash/isArray.js");
  
  /**
   * Casts `value` as an array if it's not one.
   *
   * @static
   * @memberOf _
   * @since 4.4.0
   * @category Lang
   * @param {*} value The value to inspect.
   * @returns {Array} Returns the cast array.
   * @example
   *
   * _.castArray(1);
   * // => [1]
   *
   * _.castArray({ 'a': 1 });
   * // => [{ 'a': 1 }]
   *
   * _.castArray('abc');
   * // => ['abc']
   *
   * _.castArray(null);
   * // => [null]
   *
   * _.castArray(undefined);
   * // => [undefined]
   *
   * _.castArray();
   * // => []
   *
   * var array = [1, 2, 3];
   * console.log(_.castArray(array) === array);
   * // => true
   */
  function castArray() {
    if (!arguments.length) {
      return [];
    }
    var value = arguments[0];
    return isArray(value) ? value : [value];
  }
  
  module.exports = castArray;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_Stack.js":
  /*!**********************************************!*\
    !*** ../../../node_modules/lodash/_Stack.js ***!
    \**********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var listCacheClear = __webpack_require__(/*! ./_listCacheClear */ "../../../node_modules/lodash/_listCacheClear.js"),
      listCacheDelete = __webpack_require__(/*! ./_listCacheDelete */ "../../../node_modules/lodash/_listCacheDelete.js"),
      listCacheGet = __webpack_require__(/*! ./_listCacheGet */ "../../../node_modules/lodash/_listCacheGet.js"),
      listCacheHas = __webpack_require__(/*! ./_listCacheHas */ "../../../node_modules/lodash/_listCacheHas.js"),
      listCacheSet = __webpack_require__(/*! ./_listCacheSet */ "../../../node_modules/lodash/_listCacheSet.js");
  
  /**
   * Creates an list cache object.
   *
   * @private
   * @constructor
   * @param {Array} [entries] The key-value pairs to cache.
   */
  function ListCache(entries) {
    var index = -1,
        length = entries == null ? 0 : entries.length;
  
    this.clear();
    while (++index < length) {
      var entry = entries[index];
      this.set(entry[0], entry[1]);
    }
  }
  
  // Add methods to `ListCache`.
  ListCache.prototype.clear = listCacheClear;
  ListCache.prototype['delete'] = listCacheDelete;
  ListCache.prototype.get = listCacheGet;
  ListCache.prototype.has = listCacheHas;
  ListCache.prototype.set = listCacheSet;
  
  module.exports = ListCache;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_Symbol.js":
  /*!***********************************************!*\
    !*** ../../../node_modules/lodash/_Symbol.js ***!
    \***********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var root = __webpack_require__(/*! ./_root */ "../../../node_modules/lodash/_root.js");
  
  /** Built-in value references. */
  var Symbol = root.Symbol;
  
  module.exports = Symbol;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_apply.js":
  /*!**********************************************!*\
    !*** ../../../node_modules/lodash/_apply.js ***!
    \**********************************************/
  /***/ ((module) => {
  
  /**
   * A faster alternative to `Function#apply`, this function invokes `func`
   * with the `this` binding of `thisArg` and the arguments of `args`.
   *
   * @private
   * @param {Function} func The function to invoke.
   * @param {*} thisArg The `this` binding of `func`.
   * @param {Array} args The arguments to invoke `func` with.
   * @returns {*} Returns the result of `func`.
   */
  function apply(func, thisArg, args) {
    switch (args.length) {
      case 0: return func.call(thisArg);
      case 1: return func.call(thisArg, args[0]);
      case 2: return func.call(thisArg, args[0], args[1]);
      case 3: return func.call(thisArg, args[0], args[1], args[2]);
    }
    return func.apply(thisArg, args);
  }
  
  module.exports = apply;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_arrayAggregator.js":
  /*!********************************************************!*\
    !*** ../../../node_modules/lodash/_arrayAggregator.js ***!
    \********************************************************/
  /***/ ((module) => {
  
  /**
   * A specialized version of `baseAggregator` for arrays.
   *
   * @private
   * @param {Array} [array] The array to iterate over.
   * @param {Function} setter The function to set `accumulator` values.
   * @param {Function} iteratee The iteratee to transform keys.
   * @param {Object} accumulator The initial aggregated object.
   * @returns {Function} Returns `accumulator`.
   */
  function arrayAggregator(array, setter, iteratee, accumulator) {
    var index = -1,
        length = array == null ? 0 : array.length;
  
    while (++index < length) {
      var value = array[index];
      setter(accumulator, value, iteratee(value), array);
    }
    return accumulator;
  }
  
  module.exports = arrayAggregator;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_arrayIncludes.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/lodash/_arrayIncludes.js ***!
    \******************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseIndexOf = __webpack_require__(/*! ./_baseIndexOf */ "../../../node_modules/lodash/_baseIndexOf.js");
  
  /**
   * A specialized version of `_.includes` for arrays without support for
   * specifying an index to search from.
   *
   * @private
   * @param {Array} [array] The array to inspect.
   * @param {*} target The value to search for.
   * @returns {boolean} Returns `true` if `target` is found, else `false`.
   */
  function arrayIncludes(array, value) {
    var length = array == null ? 0 : array.length;
    return !!length && baseIndexOf(array, value, 0) > -1;
  }
  
  module.exports = arrayIncludes;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_arrayIncludesWith.js":
  /*!**********************************************************!*\
    !*** ../../../node_modules/lodash/_arrayIncludesWith.js ***!
    \**********************************************************/
  /***/ ((module) => {
  
  /**
   * This function is like `arrayIncludes` except that it accepts a comparator.
   *
   * @private
   * @param {Array} [array] The array to inspect.
   * @param {*} target The value to search for.
   * @param {Function} comparator The comparator invoked per element.
   * @returns {boolean} Returns `true` if `target` is found, else `false`.
   */
  function arrayIncludesWith(array, value, comparator) {
    var index = -1,
        length = array == null ? 0 : array.length;
  
    while (++index < length) {
      if (comparator(value, array[index])) {
        return true;
      }
    }
    return false;
  }
  
  module.exports = arrayIncludesWith;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_arrayMap.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/lodash/_arrayMap.js ***!
    \*************************************************/
  /***/ ((module) => {
  
  /**
   * A specialized version of `_.map` for arrays without support for iteratee
   * shorthands.
   *
   * @private
   * @param {Array} [array] The array to iterate over.
   * @param {Function} iteratee The function invoked per iteration.
   * @returns {Array} Returns the new mapped array.
   */
  function arrayMap(array, iteratee) {
    var index = -1,
        length = array == null ? 0 : array.length,
        result = Array(length);
  
    while (++index < length) {
      result[index] = iteratee(array[index], index, array);
    }
    return result;
  }
  
  module.exports = arrayMap;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_arrayPush.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/lodash/_arrayPush.js ***!
    \**************************************************/
  /***/ ((module) => {
  
  /**
   * Appends the elements of `values` to `array`.
   *
   * @private
   * @param {Array} array The array to modify.
   * @param {Array} values The values to append.
   * @returns {Array} Returns `array`.
   */
  function arrayPush(array, values) {
    var index = -1,
        length = values.length,
        offset = array.length;
  
    while (++index < length) {
      array[offset + index] = values[index];
    }
    return array;
  }
  
  module.exports = arrayPush;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_arraySome.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/lodash/_arraySome.js ***!
    \**************************************************/
  /***/ ((module) => {
  
  /**
   * A specialized version of `_.some` for arrays without support for iteratee
   * shorthands.
   *
   * @private
   * @param {Array} [array] The array to iterate over.
   * @param {Function} predicate The function invoked per iteration.
   * @returns {boolean} Returns `true` if any element passes the predicate check,
   *  else `false`.
   */
  function arraySome(array, predicate) {
    var index = -1,
        length = array == null ? 0 : array.length;
  
    while (++index < length) {
      if (predicate(array[index], index, array)) {
        return true;
      }
    }
    return false;
  }
  
  module.exports = arraySome;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_assignValue.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/lodash/_assignValue.js ***!
    \****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "../../../node_modules/lodash/_baseAssignValue.js"),
      eq = __webpack_require__(/*! ./eq */ "../../../node_modules/lodash/eq.js");
  
  /** Used for built-in method references. */
  var objectProto = Object.prototype;
  
  /** Used to check objects for own properties. */
  var hasOwnProperty = objectProto.hasOwnProperty;
  
  /**
   * Assigns `value` to `key` of `object` if the existing value is not equivalent
   * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
   * for equality comparisons.
   *
   * @private
   * @param {Object} object The object to modify.
   * @param {string} key The key of the property to assign.
   * @param {*} value The value to assign.
   */
  function assignValue(object, key, value) {
    var objValue = object[key];
    if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
        (value === undefined && !(key in object))) {
      baseAssignValue(object, key, value);
    }
  }
  
  module.exports = assignValue;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_assocIndexOf.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/lodash/_assocIndexOf.js ***!
    \*****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var eq = __webpack_require__(/*! ./eq */ "../../../node_modules/lodash/eq.js");
  
  /**
   * Gets the index at which the `key` is found in `array` of key-value pairs.
   *
   * @private
   * @param {Array} array The array to inspect.
   * @param {*} key The key to search for.
   * @returns {number} Returns the index of the matched value, else `-1`.
   */
  function assocIndexOf(array, key) {
    var length = array.length;
    while (length--) {
      if (eq(array[length][0], key)) {
        return length;
      }
    }
    return -1;
  }
  
  module.exports = assocIndexOf;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseAggregator.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/lodash/_baseAggregator.js ***!
    \*******************************************************/
  /***/ ((module) => {
  
  /**
   * A specialized version of `baseAggregator` for arrays.
   *
   * @private
   * @param {Array} [array] The array to iterate over.
   * @param {Function} setter The function to set `accumulator` values.
   * @param {Function} iteratee The iteratee to transform keys.
   * @param {Object} accumulator The initial aggregated object.
   * @returns {Function} Returns `accumulator`.
   */
  function arrayAggregator(array, setter, iteratee, accumulator) {
    var index = -1,
        length = array == null ? 0 : array.length;
  
    while (++index < length) {
      var value = array[index];
      setter(accumulator, value, iteratee(value), array);
    }
    return accumulator;
  }
  
  module.exports = arrayAggregator;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseAssignValue.js":
  /*!********************************************************!*\
    !*** ../../../node_modules/lodash/_baseAssignValue.js ***!
    \********************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var defineProperty = __webpack_require__(/*! ./_defineProperty */ "../../../node_modules/lodash/_defineProperty.js");
  
  /**
   * The base implementation of `assignValue` and `assignMergeValue` without
   * value checks.
   *
   * @private
   * @param {Object} object The object to modify.
   * @param {string} key The key of the property to assign.
   * @param {*} value The value to assign.
   */
  function baseAssignValue(object, key, value) {
    if (key == '__proto__' && defineProperty) {
      defineProperty(object, key, {
        'configurable': true,
        'enumerable': true,
        'value': value,
        'writable': true
      });
    } else {
      object[key] = value;
    }
  }
  
  module.exports = baseAssignValue;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseDelay.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/lodash/_baseDelay.js ***!
    \**************************************************/
  /***/ ((module) => {
  
  /** Error message constants. */
  var FUNC_ERROR_TEXT = 'Expected a function';
  
  /**
   * The base implementation of `_.delay` and `_.defer` which accepts `args`
   * to provide to `func`.
   *
   * @private
   * @param {Function} func The function to delay.
   * @param {number} wait The number of milliseconds to delay invocation.
   * @param {Array} args The arguments to provide to `func`.
   * @returns {number|Object} Returns the timer id or timeout object.
   */
  function baseDelay(func, wait, args) {
    if (typeof func != 'function') {
      throw new TypeError(FUNC_ERROR_TEXT);
    }
    return setTimeout(function() { func.apply(undefined, args); }, wait);
  }
  
  module.exports = baseDelay;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseDifference.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/lodash/_baseDifference.js ***!
    \*******************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var SetCache = __webpack_require__(/*! ./_SetCache */ "../../../node_modules/lodash/_SetCache.js"),
      arrayIncludes = __webpack_require__(/*! ./_arrayIncludes */ "../../../node_modules/lodash/_arrayIncludes.js"),
      arrayIncludesWith = __webpack_require__(/*! ./_arrayIncludesWith */ "../../../node_modules/lodash/_arrayIncludesWith.js"),
      arrayMap = __webpack_require__(/*! ./_arrayMap */ "../../../node_modules/lodash/_arrayMap.js"),
      baseUnary = __webpack_require__(/*! ./_baseUnary */ "../../../node_modules/lodash/_baseUnary.js"),
      cacheHas = __webpack_require__(/*! ./_cacheHas */ "../../../node_modules/lodash/_cacheHas.js");
  
  /** Used as the size to enable large array optimizations. */
  var LARGE_ARRAY_SIZE = 200;
  
  /**
   * The base implementation of methods like `_.difference` without support
   * for excluding multiple arrays or iteratee shorthands.
   *
   * @private
   * @param {Array} array The array to inspect.
   * @param {Array} values The values to exclude.
   * @param {Function} [iteratee] The iteratee invoked per element.
   * @param {Function} [comparator] The comparator invoked per element.
   * @returns {Array} Returns the new array of filtered values.
   */
  function baseDifference(array, values, iteratee, comparator) {
    var index = -1,
        includes = arrayIncludes,
        isCommon = true,
        length = array.length,
        result = [],
        valuesLength = values.length;
  
    if (!length) {
      return result;
    }
    if (iteratee) {
      values = arrayMap(values, baseUnary(iteratee));
    }
    if (comparator) {
      includes = arrayIncludesWith;
      isCommon = false;
    }
    else if (values.length >= LARGE_ARRAY_SIZE) {
      includes = cacheHas;
      isCommon = false;
      values = new SetCache(values);
    }
    outer:
    while (++index < length) {
      var value = array[index],
          computed = iteratee == null ? value : iteratee(value);
  
      value = (comparator || value !== 0) ? value : 0;
      if (isCommon && computed === computed) {
        var valuesIndex = valuesLength;
        while (valuesIndex--) {
          if (values[valuesIndex] === computed) {
            continue outer;
          }
        }
        result.push(value);
      }
      else if (!includes(values, computed, comparator)) {
        result.push(value);
      }
    }
    return result;
  }
  
  module.exports = baseDifference;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseFindIndex.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/lodash/_baseFindIndex.js ***!
    \******************************************************/
  /***/ ((module) => {
  
  /**
   * The base implementation of `_.findIndex` and `_.findLastIndex` without
   * support for iteratee shorthands.
   *
   * @private
   * @param {Array} array The array to inspect.
   * @param {Function} predicate The function invoked per iteration.
   * @param {number} fromIndex The index to search from.
   * @param {boolean} [fromRight] Specify iterating from right to left.
   * @returns {number} Returns the index of the matched value, else `-1`.
   */
  function baseFindIndex(array, predicate, fromIndex, fromRight) {
    var length = array.length,
        index = fromIndex + (fromRight ? 1 : -1);
  
    while ((fromRight ? index-- : ++index < length)) {
      if (predicate(array[index], index, array)) {
        return index;
      }
    }
    return -1;
  }
  
  module.exports = baseFindIndex;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseFlatten.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/lodash/_baseFlatten.js ***!
    \****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var arrayPush = __webpack_require__(/*! ./_arrayPush */ "../../../node_modules/lodash/_arrayPush.js"),
      isFlattenable = __webpack_require__(/*! ./_isFlattenable */ "../../../node_modules/lodash/_isFlattenable.js");
  
  /**
   * The base implementation of `_.flatten` with support for restricting flattening.
   *
   * @private
   * @param {Array} array The array to flatten.
   * @param {number} depth The maximum recursion depth.
   * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
   * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
   * @param {Array} [result=[]] The initial result value.
   * @returns {Array} Returns the new flattened array.
   */
  function baseFlatten(array, depth, predicate, isStrict, result) {
    var index = -1,
        length = array.length;
  
    predicate || (predicate = isFlattenable);
    result || (result = []);
  
    while (++index < length) {
      var value = array[index];
      if (depth > 0 && predicate(value)) {
        if (depth > 1) {
          // Recursively flatten arrays (susceptible to call stack limits).
          baseFlatten(value, depth - 1, predicate, isStrict, result);
        } else {
          arrayPush(result, value);
        }
      } else if (!isStrict) {
        result[result.length] = value;
      }
    }
    return result;
  }
  
  module.exports = baseFlatten;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseFor.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/_baseFor.js ***!
    \************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var createBaseFor = __webpack_require__(/*! ./_createBaseFor */ "../../../node_modules/lodash/_createBaseFor.js");
  
  /**
   * The base implementation of `baseForOwn` which iterates over `object`
   * properties returned by `keysFunc` and invokes `iteratee` for each property.
   * Iteratee functions may exit iteration early by explicitly returning `false`.
   *
   * @private
   * @param {Object} object The object to iterate over.
   * @param {Function} iteratee The function invoked per iteration.
   * @param {Function} keysFunc The function to get the keys of `object`.
   * @returns {Object} Returns `object`.
   */
  var baseFor = createBaseFor();
  
  module.exports = baseFor;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseForOwn.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/lodash/_baseForOwn.js ***!
    \***************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseFor = __webpack_require__(/*! ./_baseFor */ "../../../node_modules/lodash/_baseFor.js"),
      keys = __webpack_require__(/*! ./keys */ "../../../node_modules/lodash/keys.js");
  
  /**
   * The base implementation of `_.forOwn` without support for iteratee shorthands.
   *
   * @private
   * @param {Object} object The object to iterate over.
   * @param {Function} iteratee The function invoked per iteration.
   * @returns {Object} Returns `object`.
   */
  function baseForOwn(object, iteratee) {
    return object && baseFor(object, iteratee, keys);
  }
  
  module.exports = baseForOwn;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseGet.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/_baseGet.js ***!
    \************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var castPath = __webpack_require__(/*! ./_castPath */ "../../../node_modules/lodash/_castPath.js"),
      toKey = __webpack_require__(/*! ./_toKey */ "../../../node_modules/lodash/_toKey.js");
  
  /**
   * The base implementation of `_.get` without support for default values.
   *
   * @private
   * @param {Object} object The object to query.
   * @param {Array|string} path The path of the property to get.
   * @returns {*} Returns the resolved value.
   */
  function baseGet(object, path) {
    path = castPath(path, object);
  
    var index = 0,
        length = path.length;
  
    while (object != null && index < length) {
      object = object[toKey(path[index++])];
    }
    return (index && index == length) ? object : undefined;
  }
  
  module.exports = baseGet;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseGetTag.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/lodash/_baseGetTag.js ***!
    \***************************************************/
  /***/ ((module) => {
  
  /** Used for built-in method references. */
  var objectProto = Object.prototype;
  
  /**
   * Used to resolve the
   * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
   * of values.
   */
  var nativeObjectToString = objectProto.toString;
  
  /**
   * Converts `value` to a string using `Object.prototype.toString`.
   *
   * @private
   * @param {*} value The value to convert.
   * @returns {string} Returns the converted string.
   */
  function objectToString(value) {
    return nativeObjectToString.call(value);
  }
  
  module.exports = objectToString;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseHasIn.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/lodash/_baseHasIn.js ***!
    \**************************************************/
  /***/ ((module) => {
  
  /**
   * The base implementation of `_.hasIn` without support for deep paths.
   *
   * @private
   * @param {Object} [object] The object to query.
   * @param {Array|string} key The key to check.
   * @returns {boolean} Returns `true` if `key` exists, else `false`.
   */
  function baseHasIn(object, key) {
    return object != null && key in Object(object);
  }
  
  module.exports = baseHasIn;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseIndexOf.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/lodash/_baseIndexOf.js ***!
    \****************************************************/
  /***/ ((module) => {
  
  /**
   * A specialized version of `_.indexOf` which performs strict equality
   * comparisons of values, i.e. `===`.
   *
   * @private
   * @param {Array} array The array to inspect.
   * @param {*} value The value to search for.
   * @param {number} fromIndex The index to search from.
   * @returns {number} Returns the index of the matched value, else `-1`.
   */
  function strictIndexOf(array, value, fromIndex) {
    var index = fromIndex - 1,
        length = array.length;
  
    while (++index < length) {
      if (array[index] === value) {
        return index;
      }
    }
    return -1;
  }
  
  module.exports = strictIndexOf;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseInverter.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/lodash/_baseInverter.js ***!
    \*****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseForOwn = __webpack_require__(/*! ./_baseForOwn */ "../../../node_modules/lodash/_baseForOwn.js");
  
  /**
   * The base implementation of `_.invert` and `_.invertBy` which inverts
   * `object` with values transformed by `iteratee` and set by `setter`.
   *
   * @private
   * @param {Object} object The object to iterate over.
   * @param {Function} setter The function to set `accumulator` values.
   * @param {Function} iteratee The iteratee to transform values.
   * @param {Object} accumulator The initial inverted object.
   * @returns {Function} Returns `accumulator`.
   */
  function baseInverter(object, setter, iteratee, accumulator) {
    baseForOwn(object, function(value, key, object) {
      setter(accumulator, iteratee(value), key, object);
    });
    return accumulator;
  }
  
  module.exports = baseInverter;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseIsDate.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/lodash/_baseIsDate.js ***!
    \***************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "../../../node_modules/lodash/_baseGetTag.js"),
      isObjectLike = __webpack_require__(/*! ./isObjectLike */ "../../../node_modules/lodash/isObjectLike.js");
  
  /** `Object#toString` result references. */
  var dateTag = '[object Date]';
  
  /**
   * The base implementation of `_.isDate` without Node.js optimizations.
   *
   * @private
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` is a date object, else `false`.
   */
  function baseIsDate(value) {
    return isObjectLike(value) && baseGetTag(value) == dateTag;
  }
  
  module.exports = baseIsDate;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseIsEqual.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/lodash/_baseIsEqual.js ***!
    \****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseIsEqualDeep = __webpack_require__(/*! ./_baseIsEqualDeep */ "../../../node_modules/lodash/_baseIsEqualDeep.js"),
      isObjectLike = __webpack_require__(/*! ./isObjectLike */ "../../../node_modules/lodash/isObjectLike.js");
  
  /**
   * The base implementation of `_.isEqual` which supports partial comparisons
   * and tracks traversed objects.
   *
   * @private
   * @param {*} value The value to compare.
   * @param {*} other The other value to compare.
   * @param {boolean} bitmask The bitmask flags.
   *  1 - Unordered comparison
   *  2 - Partial comparison
   * @param {Function} [customizer] The function to customize comparisons.
   * @param {Object} [stack] Tracks traversed `value` and `other` objects.
   * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
   */
  function baseIsEqual(value, other, bitmask, customizer, stack) {
    if (value === other) {
      return true;
    }
    if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {
      return value !== value && other !== other;
    }
    return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
  }
  
  module.exports = baseIsEqual;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseIsEqualDeep.js":
  /*!********************************************************!*\
    !*** ../../../node_modules/lodash/_baseIsEqualDeep.js ***!
    \********************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var Stack = __webpack_require__(/*! ./_Stack */ "../../../node_modules/lodash/_Stack.js"),
      equalArrays = __webpack_require__(/*! ./_equalArrays */ "../../../node_modules/lodash/_equalArrays.js"),
      equalByTag = __webpack_require__(/*! ./_equalByTag */ "../../../node_modules/lodash/_equalByTag.js"),
      equalObjects = __webpack_require__(/*! ./_equalObjects */ "../../../node_modules/lodash/_equalObjects.js"),
      getTag = __webpack_require__(/*! ./_getTag */ "../../../node_modules/lodash/_getTag.js"),
      isArray = __webpack_require__(/*! ./isArray */ "../../../node_modules/lodash/isArray.js"),
      isBuffer = __webpack_require__(/*! ./isBuffer */ "../../../node_modules/lodash/isBuffer.js"),
      isTypedArray = __webpack_require__(/*! ./isTypedArray */ "../../../node_modules/lodash/isTypedArray.js");
  
  /** Used to compose bitmasks for value comparisons. */
  var COMPARE_PARTIAL_FLAG = 1;
  
  /** `Object#toString` result references. */
  var argsTag = '[object Arguments]',
      arrayTag = '[object Array]',
      objectTag = '[object Object]';
  
  /** Used for built-in method references. */
  var objectProto = Object.prototype;
  
  /** Used to check objects for own properties. */
  var hasOwnProperty = objectProto.hasOwnProperty;
  
  /**
   * A specialized version of `baseIsEqual` for arrays and objects which performs
   * deep comparisons and tracks traversed objects enabling objects with circular
   * references to be compared.
   *
   * @private
   * @param {Object} object The object to compare.
   * @param {Object} other The other object to compare.
   * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
   * @param {Function} customizer The function to customize comparisons.
   * @param {Function} equalFunc The function to determine equivalents of values.
   * @param {Object} [stack] Tracks traversed `object` and `other` objects.
   * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
   */
  function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
    var objIsArr = isArray(object),
        othIsArr = isArray(other),
        objTag = objIsArr ? arrayTag : getTag(object),
        othTag = othIsArr ? arrayTag : getTag(other);
  
    objTag = objTag == argsTag ? objectTag : objTag;
    othTag = othTag == argsTag ? objectTag : othTag;
  
    var objIsObj = objTag == objectTag,
        othIsObj = othTag == objectTag,
        isSameTag = objTag == othTag;
  
    if (isSameTag && isBuffer(object)) {
      if (!isBuffer(other)) {
        return false;
      }
      objIsArr = true;
      objIsObj = false;
    }
    if (isSameTag && !objIsObj) {
      stack || (stack = new Stack);
      return (objIsArr || isTypedArray(object))
        ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
        : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
    }
    if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
      var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
          othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
  
      if (objIsWrapped || othIsWrapped) {
        var objUnwrapped = objIsWrapped ? object.value() : object,
            othUnwrapped = othIsWrapped ? other.value() : other;
  
        stack || (stack = new Stack);
        return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
      }
    }
    if (!isSameTag) {
      return false;
    }
    stack || (stack = new Stack);
    return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
  }
  
  module.exports = baseIsEqualDeep;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseIsMatch.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/lodash/_baseIsMatch.js ***!
    \****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var Stack = __webpack_require__(/*! ./_Stack */ "../../../node_modules/lodash/_Stack.js"),
      baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ "../../../node_modules/lodash/_baseIsEqual.js");
  
  /** Used to compose bitmasks for value comparisons. */
  var COMPARE_PARTIAL_FLAG = 1,
      COMPARE_UNORDERED_FLAG = 2;
  
  /**
   * The base implementation of `_.isMatch` without support for iteratee shorthands.
   *
   * @private
   * @param {Object} object The object to inspect.
   * @param {Object} source The object of property values to match.
   * @param {Array} matchData The property names, values, and compare flags to match.
   * @param {Function} [customizer] The function to customize comparisons.
   * @returns {boolean} Returns `true` if `object` is a match, else `false`.
   */
  function baseIsMatch(object, source, matchData, customizer) {
    var index = matchData.length,
        length = index,
        noCustomizer = !customizer;
  
    if (object == null) {
      return !length;
    }
    object = Object(object);
    while (index--) {
      var data = matchData[index];
      if ((noCustomizer && data[2])
            ? data[1] !== object[data[0]]
            : !(data[0] in object)
          ) {
        return false;
      }
    }
    while (++index < length) {
      data = matchData[index];
      var key = data[0],
          objValue = object[key],
          srcValue = data[1];
  
      if (noCustomizer && data[2]) {
        if (objValue === undefined && !(key in object)) {
          return false;
        }
      } else {
        var stack = new Stack;
        if (customizer) {
          var result = customizer(objValue, srcValue, key, object, source, stack);
        }
        if (!(result === undefined
              ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)
              : result
            )) {
          return false;
        }
      }
    }
    return true;
  }
  
  module.exports = baseIsMatch;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseIsRegExp.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/lodash/_baseIsRegExp.js ***!
    \*****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "../../../node_modules/lodash/_baseGetTag.js"),
      isObjectLike = __webpack_require__(/*! ./isObjectLike */ "../../../node_modules/lodash/isObjectLike.js");
  
  /** `Object#toString` result references. */
  var regexpTag = '[object RegExp]';
  
  /**
   * The base implementation of `_.isRegExp` without Node.js optimizations.
   *
   * @private
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
   */
  function baseIsRegExp(value) {
    return isObjectLike(value) && baseGetTag(value) == regexpTag;
  }
  
  module.exports = baseIsRegExp;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseIteratee.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/lodash/_baseIteratee.js ***!
    \*****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseMatches = __webpack_require__(/*! ./_baseMatches */ "../../../node_modules/lodash/_baseMatches.js"),
      baseMatchesProperty = __webpack_require__(/*! ./_baseMatchesProperty */ "../../../node_modules/lodash/_baseMatchesProperty.js"),
      identity = __webpack_require__(/*! ./identity */ "../../../node_modules/lodash/identity.js"),
      isArray = __webpack_require__(/*! ./isArray */ "../../../node_modules/lodash/isArray.js"),
      property = __webpack_require__(/*! ./property */ "../../../node_modules/lodash/property.js");
  
  /**
   * The base implementation of `_.iteratee`.
   *
   * @private
   * @param {*} [value=_.identity] The value to convert to an iteratee.
   * @returns {Function} Returns the iteratee.
   */
  function baseIteratee(value) {
    // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
    // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
    if (typeof value == 'function') {
      return value;
    }
    if (value == null) {
      return identity;
    }
    if (typeof value == 'object') {
      return isArray(value)
        ? baseMatchesProperty(value[0], value[1])
        : baseMatches(value);
    }
    return property(value);
  }
  
  module.exports = baseIteratee;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseKeys.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/lodash/_baseKeys.js ***!
    \*************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var overArg = __webpack_require__(/*! ./_overArg */ "../../../node_modules/lodash/_overArg.js");
  
  /* Built-in method references for those with the same name as other `lodash` methods. */
  var nativeKeys = overArg(Object.keys, Object);
  
  module.exports = nativeKeys;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseMap.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/_baseMap.js ***!
    \************************************************/
  /***/ ((module) => {
  
  /**
   * A specialized version of `_.map` for arrays without support for iteratee
   * shorthands.
   *
   * @private
   * @param {Array} [array] The array to iterate over.
   * @param {Function} iteratee The function invoked per iteration.
   * @returns {Array} Returns the new mapped array.
   */
  function arrayMap(array, iteratee) {
    var index = -1,
        length = array == null ? 0 : array.length,
        result = Array(length);
  
    while (++index < length) {
      result[index] = iteratee(array[index], index, array);
    }
    return result;
  }
  
  module.exports = arrayMap;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseMatches.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/lodash/_baseMatches.js ***!
    \****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseIsMatch = __webpack_require__(/*! ./_baseIsMatch */ "../../../node_modules/lodash/_baseIsMatch.js"),
      getMatchData = __webpack_require__(/*! ./_getMatchData */ "../../../node_modules/lodash/_getMatchData.js"),
      matchesStrictComparable = __webpack_require__(/*! ./_matchesStrictComparable */ "../../../node_modules/lodash/_matchesStrictComparable.js");
  
  /**
   * The base implementation of `_.matches` which doesn't clone `source`.
   *
   * @private
   * @param {Object} source The object of property values to match.
   * @returns {Function} Returns the new spec function.
   */
  function baseMatches(source) {
    var matchData = getMatchData(source);
    if (matchData.length == 1 && matchData[0][2]) {
      return matchesStrictComparable(matchData[0][0], matchData[0][1]);
    }
    return function(object) {
      return object === source || baseIsMatch(object, source, matchData);
    };
  }
  
  module.exports = baseMatches;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseMatchesProperty.js":
  /*!************************************************************!*\
    !*** ../../../node_modules/lodash/_baseMatchesProperty.js ***!
    \************************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ "../../../node_modules/lodash/_baseIsEqual.js"),
      get = __webpack_require__(/*! ./get */ "../../../node_modules/lodash/get.js"),
      hasIn = __webpack_require__(/*! ./hasIn */ "../../../node_modules/lodash/hasIn.js"),
      isKey = __webpack_require__(/*! ./_isKey */ "../../../node_modules/lodash/_isKey.js"),
      isStrictComparable = __webpack_require__(/*! ./_isStrictComparable */ "../../../node_modules/lodash/_isStrictComparable.js"),
      matchesStrictComparable = __webpack_require__(/*! ./_matchesStrictComparable */ "../../../node_modules/lodash/_matchesStrictComparable.js"),
      toKey = __webpack_require__(/*! ./_toKey */ "../../../node_modules/lodash/_toKey.js");
  
  /** Used to compose bitmasks for value comparisons. */
  var COMPARE_PARTIAL_FLAG = 1,
      COMPARE_UNORDERED_FLAG = 2;
  
  /**
   * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
   *
   * @private
   * @param {string} path The path of the property to get.
   * @param {*} srcValue The value to match.
   * @returns {Function} Returns the new spec function.
   */
  function baseMatchesProperty(path, srcValue) {
    if (isKey(path) && isStrictComparable(srcValue)) {
      return matchesStrictComparable(toKey(path), srcValue);
    }
    return function(object) {
      var objValue = get(object, path);
      return (objValue === undefined && objValue === srcValue)
        ? hasIn(object, path)
        : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
    };
  }
  
  module.exports = baseMatchesProperty;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseOrderBy.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/lodash/_baseOrderBy.js ***!
    \****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var arrayMap = __webpack_require__(/*! ./_arrayMap */ "../../../node_modules/lodash/_arrayMap.js"),
      baseGet = __webpack_require__(/*! ./_baseGet */ "../../../node_modules/lodash/_baseGet.js"),
      baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "../../../node_modules/lodash/_baseIteratee.js"),
      baseMap = __webpack_require__(/*! ./_baseMap */ "../../../node_modules/lodash/_baseMap.js"),
      baseSortBy = __webpack_require__(/*! ./_baseSortBy */ "../../../node_modules/lodash/_baseSortBy.js"),
      baseUnary = __webpack_require__(/*! ./_baseUnary */ "../../../node_modules/lodash/_baseUnary.js"),
      compareMultiple = __webpack_require__(/*! ./_compareMultiple */ "../../../node_modules/lodash/_compareMultiple.js"),
      identity = __webpack_require__(/*! ./identity */ "../../../node_modules/lodash/identity.js"),
      isArray = __webpack_require__(/*! ./isArray */ "../../../node_modules/lodash/isArray.js");
  
  /**
   * The base implementation of `_.orderBy` without param guards.
   *
   * @private
   * @param {Array|Object} collection The collection to iterate over.
   * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.
   * @param {string[]} orders The sort orders of `iteratees`.
   * @returns {Array} Returns the new sorted array.
   */
  function baseOrderBy(collection, iteratees, orders) {
    if (iteratees.length) {
      iteratees = arrayMap(iteratees, function(iteratee) {
        if (isArray(iteratee)) {
          return function(value) {
            return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);
          }
        }
        return iteratee;
      });
    } else {
      iteratees = [identity];
    }
  
    var index = -1;
    iteratees = arrayMap(iteratees, baseUnary(baseIteratee));
  
    var result = baseMap(collection, function(value, key, collection) {
      var criteria = arrayMap(iteratees, function(iteratee) {
        return iteratee(value);
      });
      return { 'criteria': criteria, 'index': ++index, 'value': value };
    });
  
    return baseSortBy(result, function(object, other) {
      return compareMultiple(object, other, orders);
    });
  }
  
  module.exports = baseOrderBy;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_basePick.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/lodash/_basePick.js ***!
    \*************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var basePickBy = __webpack_require__(/*! ./_basePickBy */ "../../../node_modules/lodash/_basePickBy.js"),
      hasIn = __webpack_require__(/*! ./hasIn */ "../../../node_modules/lodash/hasIn.js");
  
  /**
   * The base implementation of `_.pick` without support for individual
   * property identifiers.
   *
   * @private
   * @param {Object} object The source object.
   * @param {string[]} paths The property paths to pick.
   * @returns {Object} Returns the new object.
   */
  function basePick(object, paths) {
    return basePickBy(object, paths, function(value, path) {
      return hasIn(object, path);
    });
  }
  
  module.exports = basePick;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_basePickBy.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/lodash/_basePickBy.js ***!
    \***************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseGet = __webpack_require__(/*! ./_baseGet */ "../../../node_modules/lodash/_baseGet.js"),
      baseSet = __webpack_require__(/*! ./_baseSet */ "../../../node_modules/lodash/_baseSet.js"),
      castPath = __webpack_require__(/*! ./_castPath */ "../../../node_modules/lodash/_castPath.js");
  
  /**
   * The base implementation of  `_.pickBy` without support for iteratee shorthands.
   *
   * @private
   * @param {Object} object The source object.
   * @param {string[]} paths The property paths to pick.
   * @param {Function} predicate The function invoked per property.
   * @returns {Object} Returns the new object.
   */
  function basePickBy(object, paths, predicate) {
    var index = -1,
        length = paths.length,
        result = {};
  
    while (++index < length) {
      var path = paths[index],
          value = baseGet(object, path);
  
      if (predicate(value, path)) {
        baseSet(result, castPath(path, object), value);
      }
    }
    return result;
  }
  
  module.exports = basePickBy;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseProperty.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/lodash/_baseProperty.js ***!
    \*****************************************************/
  /***/ ((module) => {
  
  /**
   * The base implementation of `_.property` without support for deep paths.
   *
   * @private
   * @param {string} key The key of the property to get.
   * @returns {Function} Returns the new accessor function.
   */
  function baseProperty(key) {
    return function(object) {
      return object == null ? undefined : object[key];
    };
  }
  
  module.exports = baseProperty;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_basePropertyDeep.js":
  /*!*********************************************************!*\
    !*** ../../../node_modules/lodash/_basePropertyDeep.js ***!
    \*********************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseGet = __webpack_require__(/*! ./_baseGet */ "../../../node_modules/lodash/_baseGet.js");
  
  /**
   * A specialized version of `baseProperty` which supports deep paths.
   *
   * @private
   * @param {Array|string} path The path of the property to get.
   * @returns {Function} Returns the new accessor function.
   */
  function basePropertyDeep(path) {
    return function(object) {
      return baseGet(object, path);
    };
  }
  
  module.exports = basePropertyDeep;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseRange.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/lodash/_baseRange.js ***!
    \**************************************************/
  /***/ ((module) => {
  
  /* Built-in method references for those with the same name as other `lodash` methods. */
  var nativeCeil = Math.ceil,
      nativeMax = Math.max;
  
  /**
   * The base implementation of `_.range` and `_.rangeRight` which doesn't
   * coerce arguments.
   *
   * @private
   * @param {number} start The start of the range.
   * @param {number} end The end of the range.
   * @param {number} step The value to increment or decrement by.
   * @param {boolean} [fromRight] Specify iterating from right to left.
   * @returns {Array} Returns the range of numbers.
   */
  function baseRange(start, end, step, fromRight) {
    var index = -1,
        length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),
        result = Array(length);
  
    while (length--) {
      result[fromRight ? length : ++index] = start;
      start += step;
    }
    return result;
  }
  
  module.exports = baseRange;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseRest.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/lodash/_baseRest.js ***!
    \*************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var identity = __webpack_require__(/*! ./identity */ "../../../node_modules/lodash/identity.js"),
      overRest = __webpack_require__(/*! ./_overRest */ "../../../node_modules/lodash/_overRest.js"),
      setToString = __webpack_require__(/*! ./_setToString */ "../../../node_modules/lodash/_setToString.js");
  
  /**
   * The base implementation of `_.rest` which doesn't validate or coerce arguments.
   *
   * @private
   * @param {Function} func The function to apply a rest parameter to.
   * @param {number} [start=func.length-1] The start position of the rest parameter.
   * @returns {Function} Returns the new function.
   */
  function baseRest(func, start) {
    return setToString(overRest(func, start, identity), func + '');
  }
  
  module.exports = baseRest;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseSet.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/_baseSet.js ***!
    \************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var assignValue = __webpack_require__(/*! ./_assignValue */ "../../../node_modules/lodash/_assignValue.js"),
      castPath = __webpack_require__(/*! ./_castPath */ "../../../node_modules/lodash/_castPath.js"),
      isIndex = __webpack_require__(/*! ./_isIndex */ "../../../node_modules/lodash/_isIndex.js"),
      isObject = __webpack_require__(/*! ./isObject */ "../../../node_modules/lodash/isObject.js"),
      toKey = __webpack_require__(/*! ./_toKey */ "../../../node_modules/lodash/_toKey.js");
  
  /**
   * The base implementation of `_.set`.
   *
   * @private
   * @param {Object} object The object to modify.
   * @param {Array|string} path The path of the property to set.
   * @param {*} value The value to set.
   * @param {Function} [customizer] The function to customize path creation.
   * @returns {Object} Returns `object`.
   */
  function baseSet(object, path, value, customizer) {
    if (!isObject(object)) {
      return object;
    }
    path = castPath(path, object);
  
    var index = -1,
        length = path.length,
        lastIndex = length - 1,
        nested = object;
  
    while (nested != null && ++index < length) {
      var key = toKey(path[index]),
          newValue = value;
  
      if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
        return object;
      }
  
      if (index != lastIndex) {
        var objValue = nested[key];
        newValue = customizer ? customizer(objValue, key, nested) : undefined;
        if (newValue === undefined) {
          newValue = isObject(objValue)
            ? objValue
            : (isIndex(path[index + 1]) ? [] : {});
        }
      }
      assignValue(nested, key, newValue);
      nested = nested[key];
    }
    return object;
  }
  
  module.exports = baseSet;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseSortBy.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/lodash/_baseSortBy.js ***!
    \***************************************************/
  /***/ ((module) => {
  
  /**
   * The base implementation of `_.sortBy` which uses `comparer` to define the
   * sort order of `array` and replaces criteria objects with their corresponding
   * values.
   *
   * @private
   * @param {Array} array The array to sort.
   * @param {Function} comparer The function to define sort order.
   * @returns {Array} Returns `array`.
   */
  function baseSortBy(array, comparer) {
    var length = array.length;
  
    array.sort(comparer);
    while (length--) {
      array[length] = array[length].value;
    }
    return array;
  }
  
  module.exports = baseSortBy;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseSortedUniq.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/lodash/_baseSortedUniq.js ***!
    \*******************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var eq = __webpack_require__(/*! ./eq */ "../../../node_modules/lodash/eq.js");
  
  /**
   * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without
   * support for iteratee shorthands.
   *
   * @private
   * @param {Array} array The array to inspect.
   * @param {Function} [iteratee] The iteratee invoked per element.
   * @returns {Array} Returns the new duplicate free array.
   */
  function baseSortedUniq(array, iteratee) {
    var index = -1,
        length = array.length,
        resIndex = 0,
        result = [];
  
    while (++index < length) {
      var value = array[index],
          computed = iteratee ? iteratee(value) : value;
  
      if (!index || !eq(computed, seen)) {
        var seen = computed;
        result[resIndex++] = value === 0 ? 0 : value;
      }
    }
    return result;
  }
  
  module.exports = baseSortedUniq;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseToString.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/lodash/_baseToString.js ***!
    \*****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var Symbol = __webpack_require__(/*! ./_Symbol */ "../../../node_modules/lodash/_Symbol.js"),
      arrayMap = __webpack_require__(/*! ./_arrayMap */ "../../../node_modules/lodash/_arrayMap.js"),
      isArray = __webpack_require__(/*! ./isArray */ "../../../node_modules/lodash/isArray.js"),
      isSymbol = __webpack_require__(/*! ./isSymbol */ "../../../node_modules/lodash/isSymbol.js");
  
  /** Used as references for various `Number` constants. */
  var INFINITY = 1 / 0;
  
  /** Used to convert symbols to primitives and strings. */
  var symbolProto = Symbol ? Symbol.prototype : undefined,
      symbolToString = symbolProto ? symbolProto.toString : undefined;
  
  /**
   * The base implementation of `_.toString` which doesn't convert nullish
   * values to empty strings.
   *
   * @private
   * @param {*} value The value to process.
   * @returns {string} Returns the string.
   */
  function baseToString(value) {
    // Exit early for strings to avoid a performance hit in some environments.
    if (typeof value == 'string') {
      return value;
    }
    if (isArray(value)) {
      // Recursively convert values (susceptible to call stack limits).
      return arrayMap(value, baseToString) + '';
    }
    if (isSymbol(value)) {
      return symbolToString ? symbolToString.call(value) : '';
    }
    var result = (value + '');
    return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
  }
  
  module.exports = baseToString;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseUnary.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/lodash/_baseUnary.js ***!
    \**************************************************/
  /***/ ((module) => {
  
  /**
   * The base implementation of `_.unary` without support for storing metadata.
   *
   * @private
   * @param {Function} func The function to cap arguments for.
   * @returns {Function} Returns the new capped function.
   */
  function baseUnary(func) {
    return function(value) {
      return func(value);
    };
  }
  
  module.exports = baseUnary;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseUniq.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/lodash/_baseUniq.js ***!
    \*************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var SetCache = __webpack_require__(/*! ./_SetCache */ "../../../node_modules/lodash/_SetCache.js"),
      arrayIncludes = __webpack_require__(/*! ./_arrayIncludes */ "../../../node_modules/lodash/_arrayIncludes.js"),
      arrayIncludesWith = __webpack_require__(/*! ./_arrayIncludesWith */ "../../../node_modules/lodash/_arrayIncludesWith.js"),
      cacheHas = __webpack_require__(/*! ./_cacheHas */ "../../../node_modules/lodash/_cacheHas.js"),
      createSet = __webpack_require__(/*! ./_createSet */ "../../../node_modules/lodash/_createSet.js"),
      setToArray = __webpack_require__(/*! ./_setToArray */ "../../../node_modules/lodash/_setToArray.js");
  
  /** Used as the size to enable large array optimizations. */
  var LARGE_ARRAY_SIZE = 200;
  
  /**
   * The base implementation of `_.uniqBy` without support for iteratee shorthands.
   *
   * @private
   * @param {Array} array The array to inspect.
   * @param {Function} [iteratee] The iteratee invoked per element.
   * @param {Function} [comparator] The comparator invoked per element.
   * @returns {Array} Returns the new duplicate free array.
   */
  function baseUniq(array, iteratee, comparator) {
    var index = -1,
        includes = arrayIncludes,
        length = array.length,
        isCommon = true,
        result = [],
        seen = result;
  
    if (comparator) {
      isCommon = false;
      includes = arrayIncludesWith;
    }
    else if (length >= LARGE_ARRAY_SIZE) {
      var set = iteratee ? null : createSet(array);
      if (set) {
        return setToArray(set);
      }
      isCommon = false;
      includes = cacheHas;
      seen = new SetCache;
    }
    else {
      seen = iteratee ? [] : result;
    }
    outer:
    while (++index < length) {
      var value = array[index],
          computed = iteratee ? iteratee(value) : value;
  
      value = (comparator || value !== 0) ? value : 0;
      if (isCommon && computed === computed) {
        var seenIndex = seen.length;
        while (seenIndex--) {
          if (seen[seenIndex] === computed) {
            continue outer;
          }
        }
        if (iteratee) {
          seen.push(computed);
        }
        result.push(value);
      }
      else if (!includes(seen, computed, comparator)) {
        if (seen !== result) {
          seen.push(computed);
        }
        result.push(value);
      }
    }
    return result;
  }
  
  module.exports = baseUniq;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_baseValues.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/lodash/_baseValues.js ***!
    \***************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var arrayMap = __webpack_require__(/*! ./_arrayMap */ "../../../node_modules/lodash/_arrayMap.js");
  
  /**
   * The base implementation of `_.values` and `_.valuesIn` which creates an
   * array of `object` property values corresponding to the property names
   * of `props`.
   *
   * @private
   * @param {Object} object The object to query.
   * @param {Array} props The property names to get values for.
   * @returns {Object} Returns the array of property values.
   */
  function baseValues(object, props) {
    return arrayMap(props, function(key) {
      return object[key];
    });
  }
  
  module.exports = baseValues;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_cacheHas.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/lodash/_cacheHas.js ***!
    \*************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseIndexOf = __webpack_require__(/*! ./_baseIndexOf */ "../../../node_modules/lodash/_baseIndexOf.js");
  
  /**
   * A specialized version of `_.includes` for arrays without support for
   * specifying an index to search from.
   *
   * @private
   * @param {Array} [array] The array to inspect.
   * @param {*} target The value to search for.
   * @returns {boolean} Returns `true` if `target` is found, else `false`.
   */
  function arrayIncludes(array, value) {
    var length = array == null ? 0 : array.length;
    return !!length && baseIndexOf(array, value, 0) > -1;
  }
  
  module.exports = arrayIncludes;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_castPath.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/lodash/_castPath.js ***!
    \*************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var isArray = __webpack_require__(/*! ./isArray */ "../../../node_modules/lodash/isArray.js"),
      isKey = __webpack_require__(/*! ./_isKey */ "../../../node_modules/lodash/_isKey.js"),
      stringToPath = __webpack_require__(/*! ./_stringToPath */ "../../../node_modules/lodash/_stringToPath.js"),
      toString = __webpack_require__(/*! ./toString */ "../../../node_modules/lodash/toString.js");
  
  /**
   * Casts `value` to a path array if it's not one.
   *
   * @private
   * @param {*} value The value to inspect.
   * @param {Object} [object] The object to query keys on.
   * @returns {Array} Returns the cast property path array.
   */
  function castPath(value, object) {
    if (isArray(value)) {
      return value;
    }
    return isKey(value, object) ? [value] : stringToPath(toString(value));
  }
  
  module.exports = castPath;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_compareAscending.js":
  /*!*********************************************************!*\
    !*** ../../../node_modules/lodash/_compareAscending.js ***!
    \*********************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var isSymbol = __webpack_require__(/*! ./isSymbol */ "../../../node_modules/lodash/isSymbol.js");
  
  /**
   * Compares values to sort them in ascending order.
   *
   * @private
   * @param {*} value The value to compare.
   * @param {*} other The other value to compare.
   * @returns {number} Returns the sort order indicator for `value`.
   */
  function compareAscending(value, other) {
    if (value !== other) {
      var valIsDefined = value !== undefined,
          valIsNull = value === null,
          valIsReflexive = value === value,
          valIsSymbol = isSymbol(value);
  
      var othIsDefined = other !== undefined,
          othIsNull = other === null,
          othIsReflexive = other === other,
          othIsSymbol = isSymbol(other);
  
      if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||
          (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||
          (valIsNull && othIsDefined && othIsReflexive) ||
          (!valIsDefined && othIsReflexive) ||
          !valIsReflexive) {
        return 1;
      }
      if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||
          (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||
          (othIsNull && valIsDefined && valIsReflexive) ||
          (!othIsDefined && valIsReflexive) ||
          !othIsReflexive) {
        return -1;
      }
    }
    return 0;
  }
  
  module.exports = compareAscending;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_compareMultiple.js":
  /*!********************************************************!*\
    !*** ../../../node_modules/lodash/_compareMultiple.js ***!
    \********************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var compareAscending = __webpack_require__(/*! ./_compareAscending */ "../../../node_modules/lodash/_compareAscending.js");
  
  /**
   * Used by `_.orderBy` to compare multiple properties of a value to another
   * and stable sort them.
   *
   * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,
   * specify an order of "desc" for descending or "asc" for ascending sort order
   * of corresponding values.
   *
   * @private
   * @param {Object} object The object to compare.
   * @param {Object} other The other object to compare.
   * @param {boolean[]|string[]} orders The order to sort by for each property.
   * @returns {number} Returns the sort order indicator for `object`.
   */
  function compareMultiple(object, other, orders) {
    var index = -1,
        objCriteria = object.criteria,
        othCriteria = other.criteria,
        length = objCriteria.length,
        ordersLength = orders.length;
  
    while (++index < length) {
      var result = compareAscending(objCriteria[index], othCriteria[index]);
      if (result) {
        if (index >= ordersLength) {
          return result;
        }
        var order = orders[index];
        return result * (order == 'desc' ? -1 : 1);
      }
    }
    // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications
    // that causes it, under certain circumstances, to provide the same value for
    // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247
    // for more details.
    //
    // This also ensures a stable sort in V8 and other engines.
    // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.
    return object.index - other.index;
  }
  
  module.exports = compareMultiple;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_copyObject.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/lodash/_copyObject.js ***!
    \***************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var assignValue = __webpack_require__(/*! ./_assignValue */ "../../../node_modules/lodash/_assignValue.js"),
      baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "../../../node_modules/lodash/_baseAssignValue.js");
  
  /**
   * Copies properties of `source` to `object`.
   *
   * @private
   * @param {Object} source The object to copy properties from.
   * @param {Array} props The property identifiers to copy.
   * @param {Object} [object={}] The object to copy properties to.
   * @param {Function} [customizer] The function to customize copied values.
   * @returns {Object} Returns `object`.
   */
  function copyObject(source, props, object, customizer) {
    var isNew = !object;
    object || (object = {});
  
    var index = -1,
        length = props.length;
  
    while (++index < length) {
      var key = props[index];
  
      var newValue = customizer
        ? customizer(object[key], source[key], key, object, source)
        : undefined;
  
      if (newValue === undefined) {
        newValue = source[key];
      }
      if (isNew) {
        baseAssignValue(object, key, newValue);
      } else {
        assignValue(object, key, newValue);
      }
    }
    return object;
  }
  
  module.exports = copyObject;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_createAggregator.js":
  /*!*********************************************************!*\
    !*** ../../../node_modules/lodash/_createAggregator.js ***!
    \*********************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var arrayAggregator = __webpack_require__(/*! ./_arrayAggregator */ "../../../node_modules/lodash/_arrayAggregator.js"),
      baseAggregator = __webpack_require__(/*! ./_baseAggregator */ "../../../node_modules/lodash/_baseAggregator.js"),
      baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "../../../node_modules/lodash/_baseIteratee.js"),
      isArray = __webpack_require__(/*! ./isArray */ "../../../node_modules/lodash/isArray.js");
  
  /**
   * Creates a function like `_.groupBy`.
   *
   * @private
   * @param {Function} setter The function to set accumulator values.
   * @param {Function} [initializer] The accumulator object initializer.
   * @returns {Function} Returns the new aggregator function.
   */
  function createAggregator(setter, initializer) {
    return function(collection, iteratee) {
      var func = isArray(collection) ? arrayAggregator : baseAggregator,
          accumulator = initializer ? initializer() : {};
  
      return func(collection, setter, baseIteratee(iteratee, 2), accumulator);
    };
  }
  
  module.exports = createAggregator;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_createAssigner.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/lodash/_createAssigner.js ***!
    \*******************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseRest = __webpack_require__(/*! ./_baseRest */ "../../../node_modules/lodash/_baseRest.js"),
      isIterateeCall = __webpack_require__(/*! ./_isIterateeCall */ "../../../node_modules/lodash/_isIterateeCall.js");
  
  /**
   * Creates a function like `_.assign`.
   *
   * @private
   * @param {Function} assigner The function to assign values.
   * @returns {Function} Returns the new assigner function.
   */
  function createAssigner(assigner) {
    return baseRest(function(object, sources) {
      var index = -1,
          length = sources.length,
          customizer = length > 1 ? sources[length - 1] : undefined,
          guard = length > 2 ? sources[2] : undefined;
  
      customizer = (assigner.length > 3 && typeof customizer == 'function')
        ? (length--, customizer)
        : undefined;
  
      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
        customizer = length < 3 ? undefined : customizer;
        length = 1;
      }
      object = Object(object);
      while (++index < length) {
        var source = sources[index];
        if (source) {
          assigner(object, source, index, customizer);
        }
      }
      return object;
    });
  }
  
  module.exports = createAssigner;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_createBaseFor.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/lodash/_createBaseFor.js ***!
    \******************************************************/
  /***/ ((module) => {
  
  /**
   * Creates a base function for methods like `_.forIn` and `_.forOwn`.
   *
   * @private
   * @param {boolean} [fromRight] Specify iterating from right to left.
   * @returns {Function} Returns the new base function.
   */
  function createBaseFor(fromRight) {
    return function(object, iteratee, keysFunc) {
      var index = -1,
          iterable = Object(object),
          props = keysFunc(object),
          length = props.length;
  
      while (length--) {
        var key = props[fromRight ? length : ++index];
        if (iteratee(iterable[key], key, iterable) === false) {
          break;
        }
      }
      return object;
    };
  }
  
  module.exports = createBaseFor;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_createFind.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/lodash/_createFind.js ***!
    \***************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "../../../node_modules/lodash/_baseIteratee.js"),
      isArrayLike = __webpack_require__(/*! ./isArrayLike */ "../../../node_modules/lodash/isArrayLike.js"),
      keys = __webpack_require__(/*! ./keys */ "../../../node_modules/lodash/keys.js");
  
  /**
   * Creates a `_.find` or `_.findLast` function.
   *
   * @private
   * @param {Function} findIndexFunc The function to find the collection index.
   * @returns {Function} Returns the new find function.
   */
  function createFind(findIndexFunc) {
    return function(collection, predicate, fromIndex) {
      var iterable = Object(collection);
      if (!isArrayLike(collection)) {
        var iteratee = baseIteratee(predicate, 3);
        collection = keys(collection);
        predicate = function(key) { return iteratee(iterable[key], key, iterable); };
      }
      var index = findIndexFunc(collection, predicate, fromIndex);
      return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;
    };
  }
  
  module.exports = createFind;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_createInverter.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/lodash/_createInverter.js ***!
    \*******************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseInverter = __webpack_require__(/*! ./_baseInverter */ "../../../node_modules/lodash/_baseInverter.js");
  
  /**
   * Creates a function like `_.invertBy`.
   *
   * @private
   * @param {Function} setter The function to set accumulator values.
   * @param {Function} toIteratee The function to resolve iteratees.
   * @returns {Function} Returns the new inverter function.
   */
  function createInverter(setter, toIteratee) {
    return function(object, iteratee) {
      return baseInverter(object, setter, toIteratee(iteratee), {});
    };
  }
  
  module.exports = createInverter;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_createRange.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/lodash/_createRange.js ***!
    \****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseRange = __webpack_require__(/*! ./_baseRange */ "../../../node_modules/lodash/_baseRange.js"),
      isIterateeCall = __webpack_require__(/*! ./_isIterateeCall */ "../../../node_modules/lodash/_isIterateeCall.js"),
      toFinite = __webpack_require__(/*! ./toFinite */ "../../../node_modules/lodash/toFinite.js");
  
  /**
   * Creates a `_.range` or `_.rangeRight` function.
   *
   * @private
   * @param {boolean} [fromRight] Specify iterating from right to left.
   * @returns {Function} Returns the new range function.
   */
  function createRange(fromRight) {
    return function(start, end, step) {
      if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {
        end = step = undefined;
      }
      // Ensure the sign of `-0` is preserved.
      start = toFinite(start);
      if (end === undefined) {
        end = start;
        start = 0;
      } else {
        end = toFinite(end);
      }
      step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);
      return baseRange(start, end, step, fromRight);
    };
  }
  
  module.exports = createRange;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_createSet.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/lodash/_createSet.js ***!
    \**************************************************/
  /***/ ((module) => {
  
  /**
   * This method returns `undefined`.
   *
   * @static
   * @memberOf _
   * @since 2.3.0
   * @category Util
   * @example
   *
   * _.times(2, _.noop);
   * // => [undefined, undefined]
   */
  function noop() {
    // No operation performed.
  }
  
  module.exports = noop;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_defineProperty.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/lodash/_defineProperty.js ***!
    \*******************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var getNative = __webpack_require__(/*! ./_getNative */ "../../../node_modules/lodash/_getNative.js");
  
  var defineProperty = (function() {
    try {
      var func = getNative(Object, 'defineProperty');
      func({}, '', {});
      return func;
    } catch (e) {}
  }());
  
  module.exports = defineProperty;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_equalArrays.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/lodash/_equalArrays.js ***!
    \****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var SetCache = __webpack_require__(/*! ./_SetCache */ "../../../node_modules/lodash/_SetCache.js"),
      arraySome = __webpack_require__(/*! ./_arraySome */ "../../../node_modules/lodash/_arraySome.js"),
      cacheHas = __webpack_require__(/*! ./_cacheHas */ "../../../node_modules/lodash/_cacheHas.js");
  
  /** Used to compose bitmasks for value comparisons. */
  var COMPARE_PARTIAL_FLAG = 1,
      COMPARE_UNORDERED_FLAG = 2;
  
  /**
   * A specialized version of `baseIsEqualDeep` for arrays with support for
   * partial deep comparisons.
   *
   * @private
   * @param {Array} array The array to compare.
   * @param {Array} other The other array to compare.
   * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
   * @param {Function} customizer The function to customize comparisons.
   * @param {Function} equalFunc The function to determine equivalents of values.
   * @param {Object} stack Tracks traversed `array` and `other` objects.
   * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
   */
  function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
    var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
        arrLength = array.length,
        othLength = other.length;
  
    if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
      return false;
    }
    // Check that cyclic values are equal.
    var arrStacked = stack.get(array);
    var othStacked = stack.get(other);
    if (arrStacked && othStacked) {
      return arrStacked == other && othStacked == array;
    }
    var index = -1,
        result = true,
        seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;
  
    stack.set(array, other);
    stack.set(other, array);
  
    // Ignore non-index properties.
    while (++index < arrLength) {
      var arrValue = array[index],
          othValue = other[index];
  
      if (customizer) {
        var compared = isPartial
          ? customizer(othValue, arrValue, index, other, array, stack)
          : customizer(arrValue, othValue, index, array, other, stack);
      }
      if (compared !== undefined) {
        if (compared) {
          continue;
        }
        result = false;
        break;
      }
      // Recursively compare arrays (susceptible to call stack limits).
      if (seen) {
        if (!arraySome(other, function(othValue, othIndex) {
              if (!cacheHas(seen, othIndex) &&
                  (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
                return seen.push(othIndex);
              }
            })) {
          result = false;
          break;
        }
      } else if (!(
            arrValue === othValue ||
              equalFunc(arrValue, othValue, bitmask, customizer, stack)
          )) {
        result = false;
        break;
      }
    }
    stack['delete'](array);
    stack['delete'](other);
    return result;
  }
  
  module.exports = equalArrays;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_equalByTag.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/lodash/_equalByTag.js ***!
    \***************************************************/
  /***/ ((module) => {
  
  /**
   * Performs a
   * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
   * comparison between two values to determine if they are equivalent.
   *
   * @static
   * @memberOf _
   * @since 4.0.0
   * @category Lang
   * @param {*} value The value to compare.
   * @param {*} other The other value to compare.
   * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
   * @example
   *
   * var object = { 'a': 1 };
   * var other = { 'a': 1 };
   *
   * _.eq(object, object);
   * // => true
   *
   * _.eq(object, other);
   * // => false
   *
   * _.eq('a', 'a');
   * // => true
   *
   * _.eq('a', Object('a'));
   * // => false
   *
   * _.eq(NaN, NaN);
   * // => true
   */
  function eq(value, other) {
    return value === other || (value !== value && other !== other);
  }
  
  module.exports = eq;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_equalObjects.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/lodash/_equalObjects.js ***!
    \*****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var getAllKeys = __webpack_require__(/*! ./_getAllKeys */ "../../../node_modules/lodash/_getAllKeys.js");
  
  /** Used to compose bitmasks for value comparisons. */
  var COMPARE_PARTIAL_FLAG = 1;
  
  /** Used for built-in method references. */
  var objectProto = Object.prototype;
  
  /** Used to check objects for own properties. */
  var hasOwnProperty = objectProto.hasOwnProperty;
  
  /**
   * A specialized version of `baseIsEqualDeep` for objects with support for
   * partial deep comparisons.
   *
   * @private
   * @param {Object} object The object to compare.
   * @param {Object} other The other object to compare.
   * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
   * @param {Function} customizer The function to customize comparisons.
   * @param {Function} equalFunc The function to determine equivalents of values.
   * @param {Object} stack Tracks traversed `object` and `other` objects.
   * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
   */
  function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
    var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
        objProps = getAllKeys(object),
        objLength = objProps.length,
        othProps = getAllKeys(other),
        othLength = othProps.length;
  
    if (objLength != othLength && !isPartial) {
      return false;
    }
    var index = objLength;
    while (index--) {
      var key = objProps[index];
      if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
        return false;
      }
    }
    // Check that cyclic values are equal.
    var objStacked = stack.get(object);
    var othStacked = stack.get(other);
    if (objStacked && othStacked) {
      return objStacked == other && othStacked == object;
    }
    var result = true;
    stack.set(object, other);
    stack.set(other, object);
  
    var skipCtor = isPartial;
    while (++index < objLength) {
      key = objProps[index];
      var objValue = object[key],
          othValue = other[key];
  
      if (customizer) {
        var compared = isPartial
          ? customizer(othValue, objValue, key, other, object, stack)
          : customizer(objValue, othValue, key, object, other, stack);
      }
      // Recursively compare objects (susceptible to call stack limits).
      if (!(compared === undefined
            ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
            : compared
          )) {
        result = false;
        break;
      }
      skipCtor || (skipCtor = key == 'constructor');
    }
    if (result && !skipCtor) {
      var objCtor = object.constructor,
          othCtor = other.constructor;
  
      // Non `Object` object instances with different constructors are not equal.
      if (objCtor != othCtor &&
          ('constructor' in object && 'constructor' in other) &&
          !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
            typeof othCtor == 'function' && othCtor instanceof othCtor)) {
        result = false;
      }
    }
    stack['delete'](object);
    stack['delete'](other);
    return result;
  }
  
  module.exports = equalObjects;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_flatRest.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/lodash/_flatRest.js ***!
    \*************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var flatten = __webpack_require__(/*! ./flatten */ "../../../node_modules/lodash/flatten.js"),
      overRest = __webpack_require__(/*! ./_overRest */ "../../../node_modules/lodash/_overRest.js"),
      setToString = __webpack_require__(/*! ./_setToString */ "../../../node_modules/lodash/_setToString.js");
  
  /**
   * A specialized version of `baseRest` which flattens the rest array.
   *
   * @private
   * @param {Function} func The function to apply a rest parameter to.
   * @returns {Function} Returns the new function.
   */
  function flatRest(func) {
    return setToString(overRest(func, undefined, flatten), func + '');
  }
  
  module.exports = flatRest;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_freeGlobal.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/lodash/_freeGlobal.js ***!
    \***************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  /** Detect free variable `global` from Node.js. */
  var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;
  
  module.exports = freeGlobal;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_getAllKeys.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/lodash/_getAllKeys.js ***!
    \***************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var overArg = __webpack_require__(/*! ./_overArg */ "../../../node_modules/lodash/_overArg.js");
  
  /* Built-in method references for those with the same name as other `lodash` methods. */
  var nativeKeys = overArg(Object.keys, Object);
  
  module.exports = nativeKeys;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_getAllKeysIn.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/lodash/_getAllKeysIn.js ***!
    \*****************************************************/
  /***/ ((module) => {
  
  /**
   * This function is like
   * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
   * except that it includes inherited enumerable properties.
   *
   * @private
   * @param {Object} object The object to query.
   * @returns {Array} Returns the array of property names.
   */
  function nativeKeysIn(object) {
    var result = [];
    if (object != null) {
      for (var key in Object(object)) {
        result.push(key);
      }
    }
    return result;
  }
  
  module.exports = nativeKeysIn;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_getMatchData.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/lodash/_getMatchData.js ***!
    \*****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var isStrictComparable = __webpack_require__(/*! ./_isStrictComparable */ "../../../node_modules/lodash/_isStrictComparable.js"),
      keys = __webpack_require__(/*! ./keys */ "../../../node_modules/lodash/keys.js");
  
  /**
   * Gets the property names, values, and compare flags of `object`.
   *
   * @private
   * @param {Object} object The object to query.
   * @returns {Array} Returns the match data of `object`.
   */
  function getMatchData(object) {
    var result = keys(object),
        length = result.length;
  
    while (length--) {
      var key = result[length],
          value = object[key];
  
      result[length] = [key, value, isStrictComparable(value)];
    }
    return result;
  }
  
  module.exports = getMatchData;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_getNative.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/lodash/_getNative.js ***!
    \**************************************************/
  /***/ ((module) => {
  
  /**
   * Gets the value at `key` of `object`.
   *
   * @private
   * @param {Object} [object] The object to query.
   * @param {string} key The key of the property to get.
   * @returns {*} Returns the property value.
   */
  function getValue(object, key) {
    return object == null ? undefined : object[key];
  }
  
  module.exports = getValue;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_getPrototype.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/lodash/_getPrototype.js ***!
    \*****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var overArg = __webpack_require__(/*! ./_overArg */ "../../../node_modules/lodash/_overArg.js");
  
  /** Built-in value references. */
  var getPrototype = overArg(Object.getPrototypeOf, Object);
  
  module.exports = getPrototype;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_getTag.js":
  /*!***********************************************!*\
    !*** ../../../node_modules/lodash/_getTag.js ***!
    \***********************************************/
  /***/ ((module) => {
  
  /** Used for built-in method references. */
  var objectProto = Object.prototype;
  
  /**
   * Used to resolve the
   * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
   * of values.
   */
  var nativeObjectToString = objectProto.toString;
  
  /**
   * Converts `value` to a string using `Object.prototype.toString`.
   *
   * @private
   * @param {*} value The value to convert.
   * @returns {string} Returns the converted string.
   */
  function objectToString(value) {
    return nativeObjectToString.call(value);
  }
  
  module.exports = objectToString;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_hasPath.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/_hasPath.js ***!
    \************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var castPath = __webpack_require__(/*! ./_castPath */ "../../../node_modules/lodash/_castPath.js"),
      isArguments = __webpack_require__(/*! ./isArguments */ "../../../node_modules/lodash/isArguments.js"),
      isArray = __webpack_require__(/*! ./isArray */ "../../../node_modules/lodash/isArray.js"),
      isIndex = __webpack_require__(/*! ./_isIndex */ "../../../node_modules/lodash/_isIndex.js"),
      isLength = __webpack_require__(/*! ./isLength */ "../../../node_modules/lodash/isLength.js"),
      toKey = __webpack_require__(/*! ./_toKey */ "../../../node_modules/lodash/_toKey.js");
  
  /**
   * Checks if `path` exists on `object`.
   *
   * @private
   * @param {Object} object The object to query.
   * @param {Array|string} path The path to check.
   * @param {Function} hasFunc The function to check properties.
   * @returns {boolean} Returns `true` if `path` exists, else `false`.
   */
  function hasPath(object, path, hasFunc) {
    path = castPath(path, object);
  
    var index = -1,
        length = path.length,
        result = false;
  
    while (++index < length) {
      var key = toKey(path[index]);
      if (!(result = object != null && hasFunc(object, key))) {
        break;
      }
      object = object[key];
    }
    if (result || ++index != length) {
      return result;
    }
    length = object == null ? 0 : object.length;
    return !!length && isLength(length) && isIndex(key, length) &&
      (isArray(object) || isArguments(object));
  }
  
  module.exports = hasPath;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_isFlattenable.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/lodash/_isFlattenable.js ***!
    \******************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var Symbol = __webpack_require__(/*! ./_Symbol */ "../../../node_modules/lodash/_Symbol.js"),
      isArguments = __webpack_require__(/*! ./isArguments */ "../../../node_modules/lodash/isArguments.js"),
      isArray = __webpack_require__(/*! ./isArray */ "../../../node_modules/lodash/isArray.js");
  
  /** Built-in value references. */
  var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;
  
  /**
   * Checks if `value` is a flattenable `arguments` object or array.
   *
   * @private
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.
   */
  function isFlattenable(value) {
    return isArray(value) || isArguments(value) ||
      !!(spreadableSymbol && value && value[spreadableSymbol]);
  }
  
  module.exports = isFlattenable;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_isIndex.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/_isIndex.js ***!
    \************************************************/
  /***/ ((module) => {
  
  /** Used as references for various `Number` constants. */
  var MAX_SAFE_INTEGER = 9007199254740991;
  
  /** Used to detect unsigned integer values. */
  var reIsUint = /^(?:0|[1-9]\d*)$/;
  
  /**
   * Checks if `value` is a valid array-like index.
   *
   * @private
   * @param {*} value The value to check.
   * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
   * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
   */
  function isIndex(value, length) {
    var type = typeof value;
    length = length == null ? MAX_SAFE_INTEGER : length;
  
    return !!length &&
      (type == 'number' ||
        (type != 'symbol' && reIsUint.test(value))) &&
          (value > -1 && value % 1 == 0 && value < length);
  }
  
  module.exports = isIndex;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_isIterateeCall.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/lodash/_isIterateeCall.js ***!
    \*******************************************************/
  /***/ ((module) => {
  
  /**
   * This method returns `false`.
   *
   * @static
   * @memberOf _
   * @since 4.13.0
   * @category Util
   * @returns {boolean} Returns `false`.
   * @example
   *
   * _.times(2, _.stubFalse);
   * // => [false, false]
   */
  function stubFalse() {
    return false;
  }
  
  module.exports = stubFalse;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_isKey.js":
  /*!**********************************************!*\
    !*** ../../../node_modules/lodash/_isKey.js ***!
    \**********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var isArray = __webpack_require__(/*! ./isArray */ "../../../node_modules/lodash/isArray.js"),
      isSymbol = __webpack_require__(/*! ./isSymbol */ "../../../node_modules/lodash/isSymbol.js");
  
  /** Used to match property names within property paths. */
  var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
      reIsPlainProp = /^\w*$/;
  
  /**
   * Checks if `value` is a property name and not a property path.
   *
   * @private
   * @param {*} value The value to check.
   * @param {Object} [object] The object to query keys on.
   * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
   */
  function isKey(value, object) {
    if (isArray(value)) {
      return false;
    }
    var type = typeof value;
    if (type == 'number' || type == 'symbol' || type == 'boolean' ||
        value == null || isSymbol(value)) {
      return true;
    }
    return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
      (object != null && value in Object(object));
  }
  
  module.exports = isKey;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_isPrototype.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/lodash/_isPrototype.js ***!
    \****************************************************/
  /***/ ((module) => {
  
  /**
   * This method returns `false`.
   *
   * @static
   * @memberOf _
   * @since 4.13.0
   * @category Util
   * @returns {boolean} Returns `false`.
   * @example
   *
   * _.times(2, _.stubFalse);
   * // => [false, false]
   */
  function stubFalse() {
    return false;
  }
  
  module.exports = stubFalse;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_isStrictComparable.js":
  /*!***********************************************************!*\
    !*** ../../../node_modules/lodash/_isStrictComparable.js ***!
    \***********************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var isObject = __webpack_require__(/*! ./isObject */ "../../../node_modules/lodash/isObject.js");
  
  /**
   * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
   *
   * @private
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` if suitable for strict
   *  equality comparisons, else `false`.
   */
  function isStrictComparable(value) {
    return value === value && !isObject(value);
  }
  
  module.exports = isStrictComparable;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_listCacheClear.js":
  /*!*******************************************************!*\
    !*** ../../../node_modules/lodash/_listCacheClear.js ***!
    \*******************************************************/
  /***/ ((module) => {
  
  /**
   * Removes all key-value entries from the list cache.
   *
   * @private
   * @name clear
   * @memberOf ListCache
   */
  function listCacheClear() {
    this.__data__ = [];
    this.size = 0;
  }
  
  module.exports = listCacheClear;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_listCacheDelete.js":
  /*!********************************************************!*\
    !*** ../../../node_modules/lodash/_listCacheDelete.js ***!
    \********************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "../../../node_modules/lodash/_assocIndexOf.js");
  
  /** Used for built-in method references. */
  var arrayProto = Array.prototype;
  
  /** Built-in value references. */
  var splice = arrayProto.splice;
  
  /**
   * Removes `key` and its value from the list cache.
   *
   * @private
   * @name delete
   * @memberOf ListCache
   * @param {string} key The key of the value to remove.
   * @returns {boolean} Returns `true` if the entry was removed, else `false`.
   */
  function listCacheDelete(key) {
    var data = this.__data__,
        index = assocIndexOf(data, key);
  
    if (index < 0) {
      return false;
    }
    var lastIndex = data.length - 1;
    if (index == lastIndex) {
      data.pop();
    } else {
      splice.call(data, index, 1);
    }
    --this.size;
    return true;
  }
  
  module.exports = listCacheDelete;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_listCacheGet.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/lodash/_listCacheGet.js ***!
    \*****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "../../../node_modules/lodash/_assocIndexOf.js");
  
  /**
   * Gets the list cache value for `key`.
   *
   * @private
   * @name get
   * @memberOf ListCache
   * @param {string} key The key of the value to get.
   * @returns {*} Returns the entry value.
   */
  function listCacheGet(key) {
    var data = this.__data__,
        index = assocIndexOf(data, key);
  
    return index < 0 ? undefined : data[index][1];
  }
  
  module.exports = listCacheGet;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_listCacheHas.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/lodash/_listCacheHas.js ***!
    \*****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "../../../node_modules/lodash/_assocIndexOf.js");
  
  /**
   * Checks if a list cache value for `key` exists.
   *
   * @private
   * @name has
   * @memberOf ListCache
   * @param {string} key The key of the entry to check.
   * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
   */
  function listCacheHas(key) {
    return assocIndexOf(this.__data__, key) > -1;
  }
  
  module.exports = listCacheHas;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_listCacheSet.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/lodash/_listCacheSet.js ***!
    \*****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "../../../node_modules/lodash/_assocIndexOf.js");
  
  /**
   * Sets the list cache `key` to `value`.
   *
   * @private
   * @name set
   * @memberOf ListCache
   * @param {string} key The key of the value to set.
   * @param {*} value The value to set.
   * @returns {Object} Returns the list cache instance.
   */
  function listCacheSet(key, value) {
    var data = this.__data__,
        index = assocIndexOf(data, key);
  
    if (index < 0) {
      ++this.size;
      data.push([key, value]);
    } else {
      data[index][1] = value;
    }
    return this;
  }
  
  module.exports = listCacheSet;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_matchesStrictComparable.js":
  /*!****************************************************************!*\
    !*** ../../../node_modules/lodash/_matchesStrictComparable.js ***!
    \****************************************************************/
  /***/ ((module) => {
  
  /**
   * A specialized version of `matchesProperty` for source values suitable
   * for strict equality comparisons, i.e. `===`.
   *
   * @private
   * @param {string} key The key of the property to get.
   * @param {*} srcValue The value to match.
   * @returns {Function} Returns the new spec function.
   */
  function matchesStrictComparable(key, srcValue) {
    return function(object) {
      if (object == null) {
        return false;
      }
      return object[key] === srcValue &&
        (srcValue !== undefined || (key in Object(object)));
    };
  }
  
  module.exports = matchesStrictComparable;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_memoizeCapped.js":
  /*!******************************************************!*\
    !*** ../../../node_modules/lodash/_memoizeCapped.js ***!
    \******************************************************/
  /***/ ((module) => {
  
  /**
   * This method returns the first argument it receives.
   *
   * @static
   * @since 0.1.0
   * @memberOf _
   * @category Util
   * @param {*} value Any value.
   * @returns {*} Returns `value`.
   * @example
   *
   * var object = { 'a': 1 };
   *
   * console.log(_.identity(object) === object);
   * // => true
   */
  function identity(value) {
    return value;
  }
  
  module.exports = identity;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_nodeUtil.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/lodash/_nodeUtil.js ***!
    \*************************************************/
  /***/ ((module, exports, __webpack_require__) => {
  
  /* module decorator */ module = __webpack_require__.nmd(module);
  var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "../../../node_modules/lodash/_freeGlobal.js");
  
  /** Detect free variable `exports`. */
  var freeExports =  true && exports && !exports.nodeType && exports;
  
  /** Detect free variable `module`. */
  var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module;
  
  /** Detect the popular CommonJS extension `module.exports`. */
  var moduleExports = freeModule && freeModule.exports === freeExports;
  
  /** Detect free variable `process` from Node.js. */
  var freeProcess = moduleExports && freeGlobal.process;
  
  /** Used to access faster Node.js helpers. */
  var nodeUtil = (function() {
    try {
      // Use `util.types` for Node.js 10+.
      var types = freeModule && freeModule.require && freeModule.require('util').types;
  
      if (types) {
        return types;
      }
  
      // Legacy `process.binding('util')` for Node.js < 10.
      return freeProcess && freeProcess.binding && freeProcess.binding('util');
    } catch (e) {}
  }());
  
  module.exports = nodeUtil;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_overArg.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/_overArg.js ***!
    \************************************************/
  /***/ ((module) => {
  
  /**
   * Creates a unary function that invokes `func` with its argument transformed.
   *
   * @private
   * @param {Function} func The function to wrap.
   * @param {Function} transform The argument transform.
   * @returns {Function} Returns the new function.
   */
  function overArg(func, transform) {
    return function(arg) {
      return func(transform(arg));
    };
  }
  
  module.exports = overArg;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_overRest.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/lodash/_overRest.js ***!
    \*************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var apply = __webpack_require__(/*! ./_apply */ "../../../node_modules/lodash/_apply.js");
  
  /* Built-in method references for those with the same name as other `lodash` methods. */
  var nativeMax = Math.max;
  
  /**
   * A specialized version of `baseRest` which transforms the rest array.
   *
   * @private
   * @param {Function} func The function to apply a rest parameter to.
   * @param {number} [start=func.length-1] The start position of the rest parameter.
   * @param {Function} transform The rest array transform.
   * @returns {Function} Returns the new function.
   */
  function overRest(func, start, transform) {
    start = nativeMax(start === undefined ? (func.length - 1) : start, 0);
    return function() {
      var args = arguments,
          index = -1,
          length = nativeMax(args.length - start, 0),
          array = Array(length);
  
      while (++index < length) {
        array[index] = args[start + index];
      }
      index = -1;
      var otherArgs = Array(start + 1);
      while (++index < start) {
        otherArgs[index] = args[index];
      }
      otherArgs[start] = transform(array);
      return apply(func, this, otherArgs);
    };
  }
  
  module.exports = overRest;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_root.js":
  /*!*********************************************!*\
    !*** ../../../node_modules/lodash/_root.js ***!
    \*********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "../../../node_modules/lodash/_freeGlobal.js");
  
  /** Detect free variable `self`. */
  var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
  
  /** Used as a reference to the global object. */
  var root = freeGlobal || freeSelf || Function('return this')();
  
  module.exports = root;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_setToArray.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/lodash/_setToArray.js ***!
    \***************************************************/
  /***/ ((module) => {
  
  /**
   * This method returns a new empty array.
   *
   * @static
   * @memberOf _
   * @since 4.13.0
   * @category Util
   * @returns {Array} Returns the new empty array.
   * @example
   *
   * var arrays = _.times(2, _.stubArray);
   *
   * console.log(arrays);
   * // => [[], []]
   *
   * console.log(arrays[0] === arrays[1]);
   * // => false
   */
  function stubArray() {
    return [];
  }
  
  module.exports = stubArray;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_setToString.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/lodash/_setToString.js ***!
    \****************************************************/
  /***/ ((module) => {
  
  /**
   * This method returns the first argument it receives.
   *
   * @static
   * @since 0.1.0
   * @memberOf _
   * @category Util
   * @param {*} value Any value.
   * @returns {*} Returns `value`.
   * @example
   *
   * var object = { 'a': 1 };
   *
   * console.log(_.identity(object) === object);
   * // => true
   */
  function identity(value) {
    return value;
  }
  
  module.exports = identity;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_stringToPath.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/lodash/_stringToPath.js ***!
    \*****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var memoizeCapped = __webpack_require__(/*! ./_memoizeCapped */ "../../../node_modules/lodash/_memoizeCapped.js");
  
  /** Used to match property names within property paths. */
  var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
  
  /** Used to match backslashes in property paths. */
  var reEscapeChar = /\\(\\)?/g;
  
  /**
   * Converts `string` to a property path array.
   *
   * @private
   * @param {string} string The string to convert.
   * @returns {Array} Returns the property path array.
   */
  var stringToPath = memoizeCapped(function(string) {
    var result = [];
    if (string.charCodeAt(0) === 46 /* . */) {
      result.push('');
    }
    string.replace(rePropName, function(match, number, quote, subString) {
      result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));
    });
    return result;
  });
  
  module.exports = stringToPath;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/_toKey.js":
  /*!**********************************************!*\
    !*** ../../../node_modules/lodash/_toKey.js ***!
    \**********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var isSymbol = __webpack_require__(/*! ./isSymbol */ "../../../node_modules/lodash/isSymbol.js");
  
  /** Used as references for various `Number` constants. */
  var INFINITY = 1 / 0;
  
  /**
   * Converts `value` to a string key if it's not a string or symbol.
   *
   * @private
   * @param {*} value The value to inspect.
   * @returns {string|symbol} Returns the key.
   */
  function toKey(value) {
    if (typeof value == 'string' || isSymbol(value)) {
      return value;
    }
    var result = (value + '');
    return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
  }
  
  module.exports = toKey;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/assign.js":
  /*!**********************************************!*\
    !*** ../../../node_modules/lodash/assign.js ***!
    \**********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var assignValue = __webpack_require__(/*! ./_assignValue */ "../../../node_modules/lodash/_assignValue.js"),
      copyObject = __webpack_require__(/*! ./_copyObject */ "../../../node_modules/lodash/_copyObject.js"),
      createAssigner = __webpack_require__(/*! ./_createAssigner */ "../../../node_modules/lodash/_createAssigner.js"),
      isArrayLike = __webpack_require__(/*! ./isArrayLike */ "../../../node_modules/lodash/isArrayLike.js"),
      isPrototype = __webpack_require__(/*! ./_isPrototype */ "../../../node_modules/lodash/_isPrototype.js"),
      keys = __webpack_require__(/*! ./keys */ "../../../node_modules/lodash/keys.js");
  
  /** Used for built-in method references. */
  var objectProto = Object.prototype;
  
  /** Used to check objects for own properties. */
  var hasOwnProperty = objectProto.hasOwnProperty;
  
  /**
   * Assigns own enumerable string keyed properties of source objects to the
   * destination object. Source objects are applied from left to right.
   * Subsequent sources overwrite property assignments of previous sources.
   *
   * **Note:** This method mutates `object` and is loosely based on
   * [`Object.assign`](https://mdn.io/Object/assign).
   *
   * @static
   * @memberOf _
   * @since 0.10.0
   * @category Object
   * @param {Object} object The destination object.
   * @param {...Object} [sources] The source objects.
   * @returns {Object} Returns `object`.
   * @see _.assignIn
   * @example
   *
   * function Foo() {
   *   this.a = 1;
   * }
   *
   * function Bar() {
   *   this.c = 3;
   * }
   *
   * Foo.prototype.b = 2;
   * Bar.prototype.d = 4;
   *
   * _.assign({ 'a': 0 }, new Foo, new Bar);
   * // => { 'a': 1, 'c': 3 }
   */
  var assign = createAssigner(function(object, source) {
    if (isPrototype(source) || isArrayLike(source)) {
      copyObject(source, keys(source), object);
      return;
    }
    for (var key in source) {
      if (hasOwnProperty.call(source, key)) {
        assignValue(object, key, source[key]);
      }
    }
  });
  
  module.exports = assign;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/constant.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/constant.js ***!
    \************************************************/
  /***/ ((module) => {
  
  /**
   * Creates a function that returns `value`.
   *
   * @static
   * @memberOf _
   * @since 2.4.0
   * @category Util
   * @param {*} value The value to return from the new function.
   * @returns {Function} Returns the new constant function.
   * @example
   *
   * var objects = _.times(2, _.constant({ 'a': 1 }));
   *
   * console.log(objects);
   * // => [{ 'a': 1 }, { 'a': 1 }]
   *
   * console.log(objects[0] === objects[1]);
   * // => true
   */
  function constant(value) {
    return function() {
      return value;
    };
  }
  
  module.exports = constant;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/debounce.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/debounce.js ***!
    \************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var isObject = __webpack_require__(/*! ./isObject */ "../../../node_modules/lodash/isObject.js"),
      now = __webpack_require__(/*! ./now */ "../../../node_modules/lodash/now.js"),
      toNumber = __webpack_require__(/*! ./toNumber */ "../../../node_modules/lodash/toNumber.js");
  
  /** Error message constants. */
  var FUNC_ERROR_TEXT = 'Expected a function';
  
  /* Built-in method references for those with the same name as other `lodash` methods. */
  var nativeMax = Math.max,
      nativeMin = Math.min;
  
  /**
   * Creates a debounced function that delays invoking `func` until after `wait`
   * milliseconds have elapsed since the last time the debounced function was
   * invoked. The debounced function comes with a `cancel` method to cancel
   * delayed `func` invocations and a `flush` method to immediately invoke them.
   * Provide `options` to indicate whether `func` should be invoked on the
   * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
   * with the last arguments provided to the debounced function. Subsequent
   * calls to the debounced function return the result of the last `func`
   * invocation.
   *
   * **Note:** If `leading` and `trailing` options are `true`, `func` is
   * invoked on the trailing edge of the timeout only if the debounced function
   * is invoked more than once during the `wait` timeout.
   *
   * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
   * until to the next tick, similar to `setTimeout` with a timeout of `0`.
   *
   * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
   * for details over the differences between `_.debounce` and `_.throttle`.
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Function
   * @param {Function} func The function to debounce.
   * @param {number} [wait=0] The number of milliseconds to delay.
   * @param {Object} [options={}] The options object.
   * @param {boolean} [options.leading=false]
   *  Specify invoking on the leading edge of the timeout.
   * @param {number} [options.maxWait]
   *  The maximum time `func` is allowed to be delayed before it's invoked.
   * @param {boolean} [options.trailing=true]
   *  Specify invoking on the trailing edge of the timeout.
   * @returns {Function} Returns the new debounced function.
   * @example
   *
   * // Avoid costly calculations while the window size is in flux.
   * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
   *
   * // Invoke `sendMail` when clicked, debouncing subsequent calls.
   * jQuery(element).on('click', _.debounce(sendMail, 300, {
   *   'leading': true,
   *   'trailing': false
   * }));
   *
   * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
   * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
   * var source = new EventSource('/stream');
   * jQuery(source).on('message', debounced);
   *
   * // Cancel the trailing debounced invocation.
   * jQuery(window).on('popstate', debounced.cancel);
   */
  function debounce(func, wait, options) {
    var lastArgs,
        lastThis,
        maxWait,
        result,
        timerId,
        lastCallTime,
        lastInvokeTime = 0,
        leading = false,
        maxing = false,
        trailing = true;
  
    if (typeof func != 'function') {
      throw new TypeError(FUNC_ERROR_TEXT);
    }
    wait = toNumber(wait) || 0;
    if (isObject(options)) {
      leading = !!options.leading;
      maxing = 'maxWait' in options;
      maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
      trailing = 'trailing' in options ? !!options.trailing : trailing;
    }
  
    function invokeFunc(time) {
      var args = lastArgs,
          thisArg = lastThis;
  
      lastArgs = lastThis = undefined;
      lastInvokeTime = time;
      result = func.apply(thisArg, args);
      return result;
    }
  
    function leadingEdge(time) {
      // Reset any `maxWait` timer.
      lastInvokeTime = time;
      // Start the timer for the trailing edge.
      timerId = setTimeout(timerExpired, wait);
      // Invoke the leading edge.
      return leading ? invokeFunc(time) : result;
    }
  
    function remainingWait(time) {
      var timeSinceLastCall = time - lastCallTime,
          timeSinceLastInvoke = time - lastInvokeTime,
          timeWaiting = wait - timeSinceLastCall;
  
      return maxing
        ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)
        : timeWaiting;
    }
  
    function shouldInvoke(time) {
      var timeSinceLastCall = time - lastCallTime,
          timeSinceLastInvoke = time - lastInvokeTime;
  
      // Either this is the first call, activity has stopped and we're at the
      // trailing edge, the system time has gone backwards and we're treating
      // it as the trailing edge, or we've hit the `maxWait` limit.
      return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
        (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
    }
  
    function timerExpired() {
      var time = now();
      if (shouldInvoke(time)) {
        return trailingEdge(time);
      }
      // Restart the timer.
      timerId = setTimeout(timerExpired, remainingWait(time));
    }
  
    function trailingEdge(time) {
      timerId = undefined;
  
      // Only invoke if we have `lastArgs` which means `func` has been
      // debounced at least once.
      if (trailing && lastArgs) {
        return invokeFunc(time);
      }
      lastArgs = lastThis = undefined;
      return result;
    }
  
    function cancel() {
      if (timerId !== undefined) {
        clearTimeout(timerId);
      }
      lastInvokeTime = 0;
      lastArgs = lastCallTime = lastThis = timerId = undefined;
    }
  
    function flush() {
      return timerId === undefined ? result : trailingEdge(now());
    }
  
    function debounced() {
      var time = now(),
          isInvoking = shouldInvoke(time);
  
      lastArgs = arguments;
      lastThis = this;
      lastCallTime = time;
  
      if (isInvoking) {
        if (timerId === undefined) {
          return leadingEdge(lastCallTime);
        }
        if (maxing) {
          // Handle invocations in a tight loop.
          clearTimeout(timerId);
          timerId = setTimeout(timerExpired, wait);
          return invokeFunc(lastCallTime);
        }
      }
      if (timerId === undefined) {
        timerId = setTimeout(timerExpired, wait);
      }
      return result;
    }
    debounced.cancel = cancel;
    debounced.flush = flush;
    return debounced;
  }
  
  module.exports = debounce;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/defaults.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/defaults.js ***!
    \************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseRest = __webpack_require__(/*! ./_baseRest */ "../../../node_modules/lodash/_baseRest.js"),
      eq = __webpack_require__(/*! ./eq */ "../../../node_modules/lodash/eq.js"),
      isIterateeCall = __webpack_require__(/*! ./_isIterateeCall */ "../../../node_modules/lodash/_isIterateeCall.js"),
      keysIn = __webpack_require__(/*! ./keysIn */ "../../../node_modules/lodash/keysIn.js");
  
  /** Used for built-in method references. */
  var objectProto = Object.prototype;
  
  /** Used to check objects for own properties. */
  var hasOwnProperty = objectProto.hasOwnProperty;
  
  /**
   * Assigns own and inherited enumerable string keyed properties of source
   * objects to the destination object for all destination properties that
   * resolve to `undefined`. Source objects are applied from left to right.
   * Once a property is set, additional values of the same property are ignored.
   *
   * **Note:** This method mutates `object`.
   *
   * @static
   * @since 0.1.0
   * @memberOf _
   * @category Object
   * @param {Object} object The destination object.
   * @param {...Object} [sources] The source objects.
   * @returns {Object} Returns `object`.
   * @see _.defaultsDeep
   * @example
   *
   * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
   * // => { 'a': 1, 'b': 2 }
   */
  var defaults = baseRest(function(object, sources) {
    object = Object(object);
  
    var index = -1;
    var length = sources.length;
    var guard = length > 2 ? sources[2] : undefined;
  
    if (guard && isIterateeCall(sources[0], sources[1], guard)) {
      length = 1;
    }
  
    while (++index < length) {
      var source = sources[index];
      var props = keysIn(source);
      var propsIndex = -1;
      var propsLength = props.length;
  
      while (++propsIndex < propsLength) {
        var key = props[propsIndex];
        var value = object[key];
  
        if (value === undefined ||
            (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {
          object[key] = source[key];
        }
      }
    }
  
    return object;
  });
  
  module.exports = defaults;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/delay.js":
  /*!*********************************************!*\
    !*** ../../../node_modules/lodash/delay.js ***!
    \*********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseDelay = __webpack_require__(/*! ./_baseDelay */ "../../../node_modules/lodash/_baseDelay.js"),
      baseRest = __webpack_require__(/*! ./_baseRest */ "../../../node_modules/lodash/_baseRest.js"),
      toNumber = __webpack_require__(/*! ./toNumber */ "../../../node_modules/lodash/toNumber.js");
  
  /**
   * Invokes `func` after `wait` milliseconds. Any additional arguments are
   * provided to `func` when it's invoked.
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Function
   * @param {Function} func The function to delay.
   * @param {number} wait The number of milliseconds to delay invocation.
   * @param {...*} [args] The arguments to invoke `func` with.
   * @returns {number} Returns the timer id.
   * @example
   *
   * _.delay(function(text) {
   *   console.log(text);
   * }, 1000, 'later');
   * // => Logs 'later' after one second.
   */
  var delay = baseRest(function(func, wait, args) {
    return baseDelay(func, toNumber(wait) || 0, args);
  });
  
  module.exports = delay;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/eq.js":
  /*!******************************************!*\
    !*** ../../../node_modules/lodash/eq.js ***!
    \******************************************/
  /***/ ((module) => {
  
  /**
   * Performs a
   * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
   * comparison between two values to determine if they are equivalent.
   *
   * @static
   * @memberOf _
   * @since 4.0.0
   * @category Lang
   * @param {*} value The value to compare.
   * @param {*} other The other value to compare.
   * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
   * @example
   *
   * var object = { 'a': 1 };
   * var other = { 'a': 1 };
   *
   * _.eq(object, object);
   * // => true
   *
   * _.eq(object, other);
   * // => false
   *
   * _.eq('a', 'a');
   * // => true
   *
   * _.eq('a', Object('a'));
   * // => false
   *
   * _.eq(NaN, NaN);
   * // => true
   */
  function eq(value, other) {
    return value === other || (value !== value && other !== other);
  }
  
  module.exports = eq;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/find.js":
  /*!********************************************!*\
    !*** ../../../node_modules/lodash/find.js ***!
    \********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var createFind = __webpack_require__(/*! ./_createFind */ "../../../node_modules/lodash/_createFind.js"),
      findIndex = __webpack_require__(/*! ./findIndex */ "../../../node_modules/lodash/findIndex.js");
  
  /**
   * Iterates over elements of `collection`, returning the first element
   * `predicate` returns truthy for. The predicate is invoked with three
   * arguments: (value, index|key, collection).
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Collection
   * @param {Array|Object} collection The collection to inspect.
   * @param {Function} [predicate=_.identity] The function invoked per iteration.
   * @param {number} [fromIndex=0] The index to search from.
   * @returns {*} Returns the matched element, else `undefined`.
   * @example
   *
   * var users = [
   *   { 'user': 'barney',  'age': 36, 'active': true },
   *   { 'user': 'fred',    'age': 40, 'active': false },
   *   { 'user': 'pebbles', 'age': 1,  'active': true }
   * ];
   *
   * _.find(users, function(o) { return o.age < 40; });
   * // => object for 'barney'
   *
   * // The `_.matches` iteratee shorthand.
   * _.find(users, { 'age': 1, 'active': true });
   * // => object for 'pebbles'
   *
   * // The `_.matchesProperty` iteratee shorthand.
   * _.find(users, ['active', false]);
   * // => object for 'fred'
   *
   * // The `_.property` iteratee shorthand.
   * _.find(users, 'active');
   * // => object for 'barney'
   */
  var find = createFind(findIndex);
  
  module.exports = find;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/findIndex.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/lodash/findIndex.js ***!
    \*************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseFindIndex = __webpack_require__(/*! ./_baseFindIndex */ "../../../node_modules/lodash/_baseFindIndex.js"),
      baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "../../../node_modules/lodash/_baseIteratee.js"),
      toInteger = __webpack_require__(/*! ./toInteger */ "../../../node_modules/lodash/toInteger.js");
  
  /* Built-in method references for those with the same name as other `lodash` methods. */
  var nativeMax = Math.max;
  
  /**
   * This method is like `_.find` except that it returns the index of the first
   * element `predicate` returns truthy for instead of the element itself.
   *
   * @static
   * @memberOf _
   * @since 1.1.0
   * @category Array
   * @param {Array} array The array to inspect.
   * @param {Function} [predicate=_.identity] The function invoked per iteration.
   * @param {number} [fromIndex=0] The index to search from.
   * @returns {number} Returns the index of the found element, else `-1`.
   * @example
   *
   * var users = [
   *   { 'user': 'barney',  'active': false },
   *   { 'user': 'fred',    'active': false },
   *   { 'user': 'pebbles', 'active': true }
   * ];
   *
   * _.findIndex(users, function(o) { return o.user == 'barney'; });
   * // => 0
   *
   * // The `_.matches` iteratee shorthand.
   * _.findIndex(users, { 'user': 'fred', 'active': false });
   * // => 1
   *
   * // The `_.matchesProperty` iteratee shorthand.
   * _.findIndex(users, ['active', false]);
   * // => 0
   *
   * // The `_.property` iteratee shorthand.
   * _.findIndex(users, 'active');
   * // => 2
   */
  function findIndex(array, predicate, fromIndex) {
    var length = array == null ? 0 : array.length;
    if (!length) {
      return -1;
    }
    var index = fromIndex == null ? 0 : toInteger(fromIndex);
    if (index < 0) {
      index = nativeMax(length + index, 0);
    }
    return baseFindIndex(array, baseIteratee(predicate, 3), index);
  }
  
  module.exports = findIndex;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/flatten.js":
  /*!***********************************************!*\
    !*** ../../../node_modules/lodash/flatten.js ***!
    \***********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseFlatten = __webpack_require__(/*! ./_baseFlatten */ "../../../node_modules/lodash/_baseFlatten.js");
  
  /**
   * Flattens `array` a single level deep.
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Array
   * @param {Array} array The array to flatten.
   * @returns {Array} Returns the new flattened array.
   * @example
   *
   * _.flatten([1, [2, [3, [4]], 5]]);
   * // => [1, 2, [3, [4]], 5]
   */
  function flatten(array) {
    var length = array == null ? 0 : array.length;
    return length ? baseFlatten(array, 1) : [];
  }
  
  module.exports = flatten;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/get.js":
  /*!*******************************************!*\
    !*** ../../../node_modules/lodash/get.js ***!
    \*******************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseGet = __webpack_require__(/*! ./_baseGet */ "../../../node_modules/lodash/_baseGet.js");
  
  /**
   * Gets the value at `path` of `object`. If the resolved value is
   * `undefined`, the `defaultValue` is returned in its place.
   *
   * @static
   * @memberOf _
   * @since 3.7.0
   * @category Object
   * @param {Object} object The object to query.
   * @param {Array|string} path The path of the property to get.
   * @param {*} [defaultValue] The value returned for `undefined` resolved values.
   * @returns {*} Returns the resolved value.
   * @example
   *
   * var object = { 'a': [{ 'b': { 'c': 3 } }] };
   *
   * _.get(object, 'a[0].b.c');
   * // => 3
   *
   * _.get(object, ['a', '0', 'b', 'c']);
   * // => 3
   *
   * _.get(object, 'a.b.c', 'default');
   * // => 'default'
   */
  function get(object, path, defaultValue) {
    var result = object == null ? undefined : baseGet(object, path);
    return result === undefined ? defaultValue : result;
  }
  
  module.exports = get;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/groupBy.js":
  /*!***********************************************!*\
    !*** ../../../node_modules/lodash/groupBy.js ***!
    \***********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "../../../node_modules/lodash/_baseAssignValue.js"),
      createAggregator = __webpack_require__(/*! ./_createAggregator */ "../../../node_modules/lodash/_createAggregator.js");
  
  /** Used for built-in method references. */
  var objectProto = Object.prototype;
  
  /** Used to check objects for own properties. */
  var hasOwnProperty = objectProto.hasOwnProperty;
  
  /**
   * Creates an object composed of keys generated from the results of running
   * each element of `collection` thru `iteratee`. The order of grouped values
   * is determined by the order they occur in `collection`. The corresponding
   * value of each key is an array of elements responsible for generating the
   * key. The iteratee is invoked with one argument: (value).
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Collection
   * @param {Array|Object} collection The collection to iterate over.
   * @param {Function} [iteratee=_.identity] The iteratee to transform keys.
   * @returns {Object} Returns the composed aggregate object.
   * @example
   *
   * _.groupBy([6.1, 4.2, 6.3], Math.floor);
   * // => { '4': [4.2], '6': [6.1, 6.3] }
   *
   * // The `_.property` iteratee shorthand.
   * _.groupBy(['one', 'two', 'three'], 'length');
   * // => { '3': ['one', 'two'], '5': ['three'] }
   */
  var groupBy = createAggregator(function(result, value, key) {
    if (hasOwnProperty.call(result, key)) {
      result[key].push(value);
    } else {
      baseAssignValue(result, key, [value]);
    }
  });
  
  module.exports = groupBy;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/hasIn.js":
  /*!*********************************************!*\
    !*** ../../../node_modules/lodash/hasIn.js ***!
    \*********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseHasIn = __webpack_require__(/*! ./_baseHasIn */ "../../../node_modules/lodash/_baseHasIn.js"),
      hasPath = __webpack_require__(/*! ./_hasPath */ "../../../node_modules/lodash/_hasPath.js");
  
  /**
   * Checks if `path` is a direct or inherited property of `object`.
   *
   * @static
   * @memberOf _
   * @since 4.0.0
   * @category Object
   * @param {Object} object The object to query.
   * @param {Array|string} path The path to check.
   * @returns {boolean} Returns `true` if `path` exists, else `false`.
   * @example
   *
   * var object = _.create({ 'a': _.create({ 'b': 2 }) });
   *
   * _.hasIn(object, 'a');
   * // => true
   *
   * _.hasIn(object, 'a.b');
   * // => true
   *
   * _.hasIn(object, ['a', 'b']);
   * // => true
   *
   * _.hasIn(object, 'b');
   * // => false
   */
  function hasIn(object, path) {
    return object != null && hasPath(object, path, baseHasIn);
  }
  
  module.exports = hasIn;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/identity.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/identity.js ***!
    \************************************************/
  /***/ ((module) => {
  
  /**
   * This method returns the first argument it receives.
   *
   * @static
   * @since 0.1.0
   * @memberOf _
   * @category Util
   * @param {*} value Any value.
   * @returns {*} Returns `value`.
   * @example
   *
   * var object = { 'a': 1 };
   *
   * console.log(_.identity(object) === object);
   * // => true
   */
  function identity(value) {
    return value;
  }
  
  module.exports = identity;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/includes.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/includes.js ***!
    \************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseIndexOf = __webpack_require__(/*! ./_baseIndexOf */ "../../../node_modules/lodash/_baseIndexOf.js");
  
  /**
   * A specialized version of `_.includes` for arrays without support for
   * specifying an index to search from.
   *
   * @private
   * @param {Array} [array] The array to inspect.
   * @param {*} target The value to search for.
   * @returns {boolean} Returns `true` if `target` is found, else `false`.
   */
  function arrayIncludes(array, value) {
    var length = array == null ? 0 : array.length;
    return !!length && baseIndexOf(array, value, 0) > -1;
  }
  
  module.exports = arrayIncludes;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/invert.js":
  /*!**********************************************!*\
    !*** ../../../node_modules/lodash/invert.js ***!
    \**********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var constant = __webpack_require__(/*! ./constant */ "../../../node_modules/lodash/constant.js"),
      createInverter = __webpack_require__(/*! ./_createInverter */ "../../../node_modules/lodash/_createInverter.js"),
      identity = __webpack_require__(/*! ./identity */ "../../../node_modules/lodash/identity.js");
  
  /** Used for built-in method references. */
  var objectProto = Object.prototype;
  
  /**
   * Used to resolve the
   * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
   * of values.
   */
  var nativeObjectToString = objectProto.toString;
  
  /**
   * Creates an object composed of the inverted keys and values of `object`.
   * If `object` contains duplicate values, subsequent values overwrite
   * property assignments of previous values.
   *
   * @static
   * @memberOf _
   * @since 0.7.0
   * @category Object
   * @param {Object} object The object to invert.
   * @returns {Object} Returns the new inverted object.
   * @example
   *
   * var object = { 'a': 1, 'b': 2, 'c': 1 };
   *
   * _.invert(object);
   * // => { '1': 'c', '2': 'b' }
   */
  var invert = createInverter(function(result, value, key) {
    if (value != null &&
        typeof value.toString != 'function') {
      value = nativeObjectToString.call(value);
    }
  
    result[value] = key;
  }, constant(identity));
  
  module.exports = invert;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isArguments.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/lodash/isArguments.js ***!
    \***************************************************/
  /***/ ((module) => {
  
  /**
   * This method returns `false`.
   *
   * @static
   * @memberOf _
   * @since 4.13.0
   * @category Util
   * @returns {boolean} Returns `false`.
   * @example
   *
   * _.times(2, _.stubFalse);
   * // => [false, false]
   */
  function stubFalse() {
    return false;
  }
  
  module.exports = stubFalse;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isArray.js":
  /*!***********************************************!*\
    !*** ../../../node_modules/lodash/isArray.js ***!
    \***********************************************/
  /***/ ((module) => {
  
  /**
   * Checks if `value` is classified as an `Array` object.
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Lang
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` is an array, else `false`.
   * @example
   *
   * _.isArray([1, 2, 3]);
   * // => true
   *
   * _.isArray(document.body.children);
   * // => false
   *
   * _.isArray('abc');
   * // => false
   *
   * _.isArray(_.noop);
   * // => false
   */
  var isArray = Array.isArray;
  
  module.exports = isArray;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isArrayLike.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/lodash/isArrayLike.js ***!
    \***************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var isFunction = __webpack_require__(/*! ./isFunction */ "../../../node_modules/lodash/isFunction.js"),
      isLength = __webpack_require__(/*! ./isLength */ "../../../node_modules/lodash/isLength.js");
  
  /**
   * Checks if `value` is array-like. A value is considered array-like if it's
   * not a function and has a `value.length` that's an integer greater than or
   * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
   *
   * @static
   * @memberOf _
   * @since 4.0.0
   * @category Lang
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
   * @example
   *
   * _.isArrayLike([1, 2, 3]);
   * // => true
   *
   * _.isArrayLike(document.body.children);
   * // => true
   *
   * _.isArrayLike('abc');
   * // => true
   *
   * _.isArrayLike(_.noop);
   * // => false
   */
  function isArrayLike(value) {
    return value != null && isLength(value.length) && !isFunction(value);
  }
  
  module.exports = isArrayLike;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isArrayLikeObject.js":
  /*!*********************************************************!*\
    !*** ../../../node_modules/lodash/isArrayLikeObject.js ***!
    \*********************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var isArrayLike = __webpack_require__(/*! ./isArrayLike */ "../../../node_modules/lodash/isArrayLike.js"),
      isObjectLike = __webpack_require__(/*! ./isObjectLike */ "../../../node_modules/lodash/isObjectLike.js");
  
  /**
   * This method is like `_.isArrayLike` except that it also checks if `value`
   * is an object.
   *
   * @static
   * @memberOf _
   * @since 4.0.0
   * @category Lang
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` is an array-like object,
   *  else `false`.
   * @example
   *
   * _.isArrayLikeObject([1, 2, 3]);
   * // => true
   *
   * _.isArrayLikeObject(document.body.children);
   * // => true
   *
   * _.isArrayLikeObject('abc');
   * // => false
   *
   * _.isArrayLikeObject(_.noop);
   * // => false
   */
  function isArrayLikeObject(value) {
    return isObjectLike(value) && isArrayLike(value);
  }
  
  module.exports = isArrayLikeObject;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isBuffer.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/isBuffer.js ***!
    \************************************************/
  /***/ ((module) => {
  
  /**
   * This method returns `false`.
   *
   * @static
   * @memberOf _
   * @since 4.13.0
   * @category Util
   * @returns {boolean} Returns `false`.
   * @example
   *
   * _.times(2, _.stubFalse);
   * // => [false, false]
   */
  function stubFalse() {
    return false;
  }
  
  module.exports = stubFalse;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isDate.js":
  /*!**********************************************!*\
    !*** ../../../node_modules/lodash/isDate.js ***!
    \**********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseIsDate = __webpack_require__(/*! ./_baseIsDate */ "../../../node_modules/lodash/_baseIsDate.js"),
      baseUnary = __webpack_require__(/*! ./_baseUnary */ "../../../node_modules/lodash/_baseUnary.js"),
      nodeUtil = __webpack_require__(/*! ./_nodeUtil */ "../../../node_modules/lodash/_nodeUtil.js");
  
  /* Node.js helper references. */
  var nodeIsDate = nodeUtil && nodeUtil.isDate;
  
  /**
   * Checks if `value` is classified as a `Date` object.
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Lang
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` is a date object, else `false`.
   * @example
   *
   * _.isDate(new Date);
   * // => true
   *
   * _.isDate('Mon April 23 2012');
   * // => false
   */
  var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;
  
  module.exports = isDate;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isEmpty.js":
  /*!***********************************************!*\
    !*** ../../../node_modules/lodash/isEmpty.js ***!
    \***********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseKeys = __webpack_require__(/*! ./_baseKeys */ "../../../node_modules/lodash/_baseKeys.js"),
      getTag = __webpack_require__(/*! ./_getTag */ "../../../node_modules/lodash/_getTag.js"),
      isArguments = __webpack_require__(/*! ./isArguments */ "../../../node_modules/lodash/isArguments.js"),
      isArray = __webpack_require__(/*! ./isArray */ "../../../node_modules/lodash/isArray.js"),
      isArrayLike = __webpack_require__(/*! ./isArrayLike */ "../../../node_modules/lodash/isArrayLike.js"),
      isBuffer = __webpack_require__(/*! ./isBuffer */ "../../../node_modules/lodash/isBuffer.js"),
      isPrototype = __webpack_require__(/*! ./_isPrototype */ "../../../node_modules/lodash/_isPrototype.js"),
      isTypedArray = __webpack_require__(/*! ./isTypedArray */ "../../../node_modules/lodash/isTypedArray.js");
  
  /** `Object#toString` result references. */
  var mapTag = '[object Map]',
      setTag = '[object Set]';
  
  /** Used for built-in method references. */
  var objectProto = Object.prototype;
  
  /** Used to check objects for own properties. */
  var hasOwnProperty = objectProto.hasOwnProperty;
  
  /**
   * Checks if `value` is an empty object, collection, map, or set.
   *
   * Objects are considered empty if they have no own enumerable string keyed
   * properties.
   *
   * Array-like values such as `arguments` objects, arrays, buffers, strings, or
   * jQuery-like collections are considered empty if they have a `length` of `0`.
   * Similarly, maps and sets are considered empty if they have a `size` of `0`.
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Lang
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` is empty, else `false`.
   * @example
   *
   * _.isEmpty(null);
   * // => true
   *
   * _.isEmpty(true);
   * // => true
   *
   * _.isEmpty(1);
   * // => true
   *
   * _.isEmpty([1, 2, 3]);
   * // => false
   *
   * _.isEmpty({ 'a': 1 });
   * // => false
   */
  function isEmpty(value) {
    if (value == null) {
      return true;
    }
    if (isArrayLike(value) &&
        (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||
          isBuffer(value) || isTypedArray(value) || isArguments(value))) {
      return !value.length;
    }
    var tag = getTag(value);
    if (tag == mapTag || tag == setTag) {
      return !value.size;
    }
    if (isPrototype(value)) {
      return !baseKeys(value).length;
    }
    for (var key in value) {
      if (hasOwnProperty.call(value, key)) {
        return false;
      }
    }
    return true;
  }
  
  module.exports = isEmpty;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isEqual.js":
  /*!***********************************************!*\
    !*** ../../../node_modules/lodash/isEqual.js ***!
    \***********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ "../../../node_modules/lodash/_baseIsEqual.js");
  
  /**
   * Performs a deep comparison between two values to determine if they are
   * equivalent.
   *
   * **Note:** This method supports comparing arrays, array buffers, booleans,
   * date objects, error objects, maps, numbers, `Object` objects, regexes,
   * sets, strings, symbols, and typed arrays. `Object` objects are compared
   * by their own, not inherited, enumerable properties. Functions and DOM
   * nodes are compared by strict equality, i.e. `===`.
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Lang
   * @param {*} value The value to compare.
   * @param {*} other The other value to compare.
   * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
   * @example
   *
   * var object = { 'a': 1 };
   * var other = { 'a': 1 };
   *
   * _.isEqual(object, other);
   * // => true
   *
   * object === other;
   * // => false
   */
  function isEqual(value, other) {
    return baseIsEqual(value, other);
  }
  
  module.exports = isEqual;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isFunction.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/lodash/isFunction.js ***!
    \**************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "../../../node_modules/lodash/_baseGetTag.js"),
      isObject = __webpack_require__(/*! ./isObject */ "../../../node_modules/lodash/isObject.js");
  
  /** `Object#toString` result references. */
  var asyncTag = '[object AsyncFunction]',
      funcTag = '[object Function]',
      genTag = '[object GeneratorFunction]',
      proxyTag = '[object Proxy]';
  
  /**
   * Checks if `value` is classified as a `Function` object.
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Lang
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` is a function, else `false`.
   * @example
   *
   * _.isFunction(_);
   * // => true
   *
   * _.isFunction(/abc/);
   * // => false
   */
  function isFunction(value) {
    if (!isObject(value)) {
      return false;
    }
    // The use of `Object#toString` avoids issues with the `typeof` operator
    // in Safari 9 which returns 'object' for typed arrays and other constructors.
    var tag = baseGetTag(value);
    return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
  }
  
  module.exports = isFunction;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isLength.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/isLength.js ***!
    \************************************************/
  /***/ ((module) => {
  
  /** Used as references for various `Number` constants. */
  var MAX_SAFE_INTEGER = 9007199254740991;
  
  /**
   * Checks if `value` is a valid array-like length.
   *
   * **Note:** This method is loosely based on
   * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
   *
   * @static
   * @memberOf _
   * @since 4.0.0
   * @category Lang
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
   * @example
   *
   * _.isLength(3);
   * // => true
   *
   * _.isLength(Number.MIN_VALUE);
   * // => false
   *
   * _.isLength(Infinity);
   * // => false
   *
   * _.isLength('3');
   * // => false
   */
  function isLength(value) {
    return typeof value == 'number' &&
      value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
  }
  
  module.exports = isLength;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isObject.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/isObject.js ***!
    \************************************************/
  /***/ ((module) => {
  
  /**
   * Checks if `value` is the
   * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
   * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Lang
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` is an object, else `false`.
   * @example
   *
   * _.isObject({});
   * // => true
   *
   * _.isObject([1, 2, 3]);
   * // => true
   *
   * _.isObject(_.noop);
   * // => true
   *
   * _.isObject(null);
   * // => false
   */
  function isObject(value) {
    var type = typeof value;
    return value != null && (type == 'object' || type == 'function');
  }
  
  module.exports = isObject;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isObjectLike.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/lodash/isObjectLike.js ***!
    \****************************************************/
  /***/ ((module) => {
  
  /**
   * Checks if `value` is object-like. A value is object-like if it's not `null`
   * and has a `typeof` result of "object".
   *
   * @static
   * @memberOf _
   * @since 4.0.0
   * @category Lang
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
   * @example
   *
   * _.isObjectLike({});
   * // => true
   *
   * _.isObjectLike([1, 2, 3]);
   * // => true
   *
   * _.isObjectLike(_.noop);
   * // => false
   *
   * _.isObjectLike(null);
   * // => false
   */
  function isObjectLike(value) {
    return value != null && typeof value == 'object';
  }
  
  module.exports = isObjectLike;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isPlainObject.js":
  /*!*****************************************************!*\
    !*** ../../../node_modules/lodash/isPlainObject.js ***!
    \*****************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "../../../node_modules/lodash/_baseGetTag.js"),
      getPrototype = __webpack_require__(/*! ./_getPrototype */ "../../../node_modules/lodash/_getPrototype.js"),
      isObjectLike = __webpack_require__(/*! ./isObjectLike */ "../../../node_modules/lodash/isObjectLike.js");
  
  /** `Object#toString` result references. */
  var objectTag = '[object Object]';
  
  /** Used for built-in method references. */
  var funcProto = Function.prototype,
      objectProto = Object.prototype;
  
  /** Used to resolve the decompiled source of functions. */
  var funcToString = funcProto.toString;
  
  /** Used to check objects for own properties. */
  var hasOwnProperty = objectProto.hasOwnProperty;
  
  /** Used to infer the `Object` constructor. */
  var objectCtorString = funcToString.call(Object);
  
  /**
   * Checks if `value` is a plain object, that is, an object created by the
   * `Object` constructor or one with a `[[Prototype]]` of `null`.
   *
   * @static
   * @memberOf _
   * @since 0.8.0
   * @category Lang
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
   * @example
   *
   * function Foo() {
   *   this.a = 1;
   * }
   *
   * _.isPlainObject(new Foo);
   * // => false
   *
   * _.isPlainObject([1, 2, 3]);
   * // => false
   *
   * _.isPlainObject({ 'x': 0, 'y': 0 });
   * // => true
   *
   * _.isPlainObject(Object.create(null));
   * // => true
   */
  function isPlainObject(value) {
    if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
      return false;
    }
    var proto = getPrototype(value);
    if (proto === null) {
      return true;
    }
    var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
    return typeof Ctor == 'function' && Ctor instanceof Ctor &&
      funcToString.call(Ctor) == objectCtorString;
  }
  
  module.exports = isPlainObject;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isRegExp.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/isRegExp.js ***!
    \************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseIsRegExp = __webpack_require__(/*! ./_baseIsRegExp */ "../../../node_modules/lodash/_baseIsRegExp.js"),
      baseUnary = __webpack_require__(/*! ./_baseUnary */ "../../../node_modules/lodash/_baseUnary.js"),
      nodeUtil = __webpack_require__(/*! ./_nodeUtil */ "../../../node_modules/lodash/_nodeUtil.js");
  
  /* Node.js helper references. */
  var nodeIsRegExp = nodeUtil && nodeUtil.isRegExp;
  
  /**
   * Checks if `value` is classified as a `RegExp` object.
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Lang
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
   * @example
   *
   * _.isRegExp(/abc/);
   * // => true
   *
   * _.isRegExp('/abc/');
   * // => false
   */
  var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;
  
  module.exports = isRegExp;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isSymbol.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/isSymbol.js ***!
    \************************************************/
  /***/ ((module) => {
  
  /**
   * This method returns `false`.
   *
   * @static
   * @memberOf _
   * @since 4.13.0
   * @category Util
   * @returns {boolean} Returns `false`.
   * @example
   *
   * _.times(2, _.stubFalse);
   * // => [false, false]
   */
  function stubFalse() {
    return false;
  }
  
  module.exports = stubFalse;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isTypedArray.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/lodash/isTypedArray.js ***!
    \****************************************************/
  /***/ ((module) => {
  
  /**
   * This method returns `false`.
   *
   * @static
   * @memberOf _
   * @since 4.13.0
   * @category Util
   * @returns {boolean} Returns `false`.
   * @example
   *
   * _.times(2, _.stubFalse);
   * // => [false, false]
   */
  function stubFalse() {
    return false;
  }
  
  module.exports = stubFalse;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/isUndefined.js":
  /*!***************************************************!*\
    !*** ../../../node_modules/lodash/isUndefined.js ***!
    \***************************************************/
  /***/ ((module) => {
  
  /**
   * Checks if `value` is `undefined`.
   *
   * @static
   * @since 0.1.0
   * @memberOf _
   * @category Lang
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
   * @example
   *
   * _.isUndefined(void 0);
   * // => true
   *
   * _.isUndefined(null);
   * // => false
   */
  function isUndefined(value) {
    return value === undefined;
  }
  
  module.exports = isUndefined;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/keys.js":
  /*!********************************************!*\
    !*** ../../../node_modules/lodash/keys.js ***!
    \********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var overArg = __webpack_require__(/*! ./_overArg */ "../../../node_modules/lodash/_overArg.js");
  
  /* Built-in method references for those with the same name as other `lodash` methods. */
  var nativeKeys = overArg(Object.keys, Object);
  
  module.exports = nativeKeys;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/keysIn.js":
  /*!**********************************************!*\
    !*** ../../../node_modules/lodash/keysIn.js ***!
    \**********************************************/
  /***/ ((module) => {
  
  /**
   * This function is like
   * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
   * except that it includes inherited enumerable properties.
   *
   * @private
   * @param {Object} object The object to query.
   * @returns {Array} Returns the array of property names.
   */
  function nativeKeysIn(object) {
    var result = [];
    if (object != null) {
      for (var key in Object(object)) {
        result.push(key);
      }
    }
    return result;
  }
  
  module.exports = nativeKeysIn;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/last.js":
  /*!********************************************!*\
    !*** ../../../node_modules/lodash/last.js ***!
    \********************************************/
  /***/ ((module) => {
  
  /**
   * Gets the last element of `array`.
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Array
   * @param {Array} array The array to query.
   * @returns {*} Returns the last element of `array`.
   * @example
   *
   * _.last([1, 2, 3]);
   * // => 3
   */
  function last(array) {
    var length = array == null ? 0 : array.length;
    return length ? array[length - 1] : undefined;
  }
  
  module.exports = last;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/negate.js":
  /*!**********************************************!*\
    !*** ../../../node_modules/lodash/negate.js ***!
    \**********************************************/
  /***/ ((module) => {
  
  /** Error message constants. */
  var FUNC_ERROR_TEXT = 'Expected a function';
  
  /**
   * Creates a function that negates the result of the predicate `func`. The
   * `func` predicate is invoked with the `this` binding and arguments of the
   * created function.
   *
   * @static
   * @memberOf _
   * @since 3.0.0
   * @category Function
   * @param {Function} predicate The predicate to negate.
   * @returns {Function} Returns the new negated function.
   * @example
   *
   * function isEven(n) {
   *   return n % 2 == 0;
   * }
   *
   * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));
   * // => [1, 3, 5]
   */
  function negate(predicate) {
    if (typeof predicate != 'function') {
      throw new TypeError(FUNC_ERROR_TEXT);
    }
    return function() {
      var args = arguments;
      switch (args.length) {
        case 0: return !predicate.call(this);
        case 1: return !predicate.call(this, args[0]);
        case 2: return !predicate.call(this, args[0], args[1]);
        case 3: return !predicate.call(this, args[0], args[1], args[2]);
      }
      return !predicate.apply(this, args);
    };
  }
  
  module.exports = negate;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/now.js":
  /*!*******************************************!*\
    !*** ../../../node_modules/lodash/now.js ***!
    \*******************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var root = __webpack_require__(/*! ./_root */ "../../../node_modules/lodash/_root.js");
  
  /**
   * Gets the timestamp of the number of milliseconds that have elapsed since
   * the Unix epoch (1 January 1970 00:00:00 UTC).
   *
   * @static
   * @memberOf _
   * @since 2.4.0
   * @category Date
   * @returns {number} Returns the timestamp.
   * @example
   *
   * _.defer(function(stamp) {
   *   console.log(_.now() - stamp);
   * }, _.now());
   * // => Logs the number of milliseconds it took for the deferred invocation.
   */
  var now = function() {
    return root.Date.now();
  };
  
  module.exports = now;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/omitBy.js":
  /*!**********************************************!*\
    !*** ../../../node_modules/lodash/omitBy.js ***!
    \**********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "../../../node_modules/lodash/_baseIteratee.js"),
      negate = __webpack_require__(/*! ./negate */ "../../../node_modules/lodash/negate.js"),
      pickBy = __webpack_require__(/*! ./pickBy */ "../../../node_modules/lodash/pickBy.js");
  
  /**
   * The opposite of `_.pickBy`; this method creates an object composed of
   * the own and inherited enumerable string keyed properties of `object` that
   * `predicate` doesn't return truthy for. The predicate is invoked with two
   * arguments: (value, key).
   *
   * @static
   * @memberOf _
   * @since 4.0.0
   * @category Object
   * @param {Object} object The source object.
   * @param {Function} [predicate=_.identity] The function invoked per property.
   * @returns {Object} Returns the new object.
   * @example
   *
   * var object = { 'a': 1, 'b': '2', 'c': 3 };
   *
   * _.omitBy(object, _.isNumber);
   * // => { 'b': '2' }
   */
  function omitBy(object, predicate) {
    return pickBy(object, negate(baseIteratee(predicate)));
  }
  
  module.exports = omitBy;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/orderBy.js":
  /*!***********************************************!*\
    !*** ../../../node_modules/lodash/orderBy.js ***!
    \***********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseOrderBy = __webpack_require__(/*! ./_baseOrderBy */ "../../../node_modules/lodash/_baseOrderBy.js"),
      isArray = __webpack_require__(/*! ./isArray */ "../../../node_modules/lodash/isArray.js");
  
  /**
   * This method is like `_.sortBy` except that it allows specifying the sort
   * orders of the iteratees to sort by. If `orders` is unspecified, all values
   * are sorted in ascending order. Otherwise, specify an order of "desc" for
   * descending or "asc" for ascending sort order of corresponding values.
   *
   * @static
   * @memberOf _
   * @since 4.0.0
   * @category Collection
   * @param {Array|Object} collection The collection to iterate over.
   * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]
   *  The iteratees to sort by.
   * @param {string[]} [orders] The sort orders of `iteratees`.
   * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.
   * @returns {Array} Returns the new sorted array.
   * @example
   *
   * var users = [
   *   { 'user': 'fred',   'age': 48 },
   *   { 'user': 'barney', 'age': 34 },
   *   { 'user': 'fred',   'age': 40 },
   *   { 'user': 'barney', 'age': 36 }
   * ];
   *
   * // Sort by `user` in ascending order and by `age` in descending order.
   * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);
   * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
   */
  function orderBy(collection, iteratees, orders, guard) {
    if (collection == null) {
      return [];
    }
    if (!isArray(iteratees)) {
      iteratees = iteratees == null ? [] : [iteratees];
    }
    orders = guard ? undefined : orders;
    if (!isArray(orders)) {
      orders = orders == null ? [] : [orders];
    }
    return baseOrderBy(collection, iteratees, orders);
  }
  
  module.exports = orderBy;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/pick.js":
  /*!********************************************!*\
    !*** ../../../node_modules/lodash/pick.js ***!
    \********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var basePick = __webpack_require__(/*! ./_basePick */ "../../../node_modules/lodash/_basePick.js"),
      flatRest = __webpack_require__(/*! ./_flatRest */ "../../../node_modules/lodash/_flatRest.js");
  
  /**
   * Creates an object composed of the picked `object` properties.
   *
   * @static
   * @since 0.1.0
   * @memberOf _
   * @category Object
   * @param {Object} object The source object.
   * @param {...(string|string[])} [paths] The property paths to pick.
   * @returns {Object} Returns the new object.
   * @example
   *
   * var object = { 'a': 1, 'b': '2', 'c': 3 };
   *
   * _.pick(object, ['a', 'c']);
   * // => { 'a': 1, 'c': 3 }
   */
  var pick = flatRest(function(object, paths) {
    return object == null ? {} : basePick(object, paths);
  });
  
  module.exports = pick;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/pickBy.js":
  /*!**********************************************!*\
    !*** ../../../node_modules/lodash/pickBy.js ***!
    \**********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var arrayMap = __webpack_require__(/*! ./_arrayMap */ "../../../node_modules/lodash/_arrayMap.js"),
      baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "../../../node_modules/lodash/_baseIteratee.js"),
      basePickBy = __webpack_require__(/*! ./_basePickBy */ "../../../node_modules/lodash/_basePickBy.js"),
      getAllKeysIn = __webpack_require__(/*! ./_getAllKeysIn */ "../../../node_modules/lodash/_getAllKeysIn.js");
  
  /**
   * Creates an object composed of the `object` properties `predicate` returns
   * truthy for. The predicate is invoked with two arguments: (value, key).
   *
   * @static
   * @memberOf _
   * @since 4.0.0
   * @category Object
   * @param {Object} object The source object.
   * @param {Function} [predicate=_.identity] The function invoked per property.
   * @returns {Object} Returns the new object.
   * @example
   *
   * var object = { 'a': 1, 'b': '2', 'c': 3 };
   *
   * _.pickBy(object, _.isNumber);
   * // => { 'a': 1, 'c': 3 }
   */
  function pickBy(object, predicate) {
    if (object == null) {
      return {};
    }
    var props = arrayMap(getAllKeysIn(object), function(prop) {
      return [prop];
    });
    predicate = baseIteratee(predicate);
    return basePickBy(object, props, function(value, path) {
      return predicate(value, path[0]);
    });
  }
  
  module.exports = pickBy;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/property.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/property.js ***!
    \************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseProperty = __webpack_require__(/*! ./_baseProperty */ "../../../node_modules/lodash/_baseProperty.js"),
      basePropertyDeep = __webpack_require__(/*! ./_basePropertyDeep */ "../../../node_modules/lodash/_basePropertyDeep.js"),
      isKey = __webpack_require__(/*! ./_isKey */ "../../../node_modules/lodash/_isKey.js"),
      toKey = __webpack_require__(/*! ./_toKey */ "../../../node_modules/lodash/_toKey.js");
  
  /**
   * Creates a function that returns the value at `path` of a given object.
   *
   * @static
   * @memberOf _
   * @since 2.4.0
   * @category Util
   * @param {Array|string} path The path of the property to get.
   * @returns {Function} Returns the new accessor function.
   * @example
   *
   * var objects = [
   *   { 'a': { 'b': 2 } },
   *   { 'a': { 'b': 1 } }
   * ];
   *
   * _.map(objects, _.property('a.b'));
   * // => [2, 1]
   *
   * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
   * // => [1, 2]
   */
  function property(path) {
    return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
  }
  
  module.exports = property;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/range.js":
  /*!*********************************************!*\
    !*** ../../../node_modules/lodash/range.js ***!
    \*********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var createRange = __webpack_require__(/*! ./_createRange */ "../../../node_modules/lodash/_createRange.js");
  
  /**
   * Creates an array of numbers (positive and/or negative) progressing from
   * `start` up to, but not including, `end`. A step of `-1` is used if a negative
   * `start` is specified without an `end` or `step`. If `end` is not specified,
   * it's set to `start` with `start` then set to `0`.
   *
   * **Note:** JavaScript follows the IEEE-754 standard for resolving
   * floating-point values which can produce unexpected results.
   *
   * @static
   * @since 0.1.0
   * @memberOf _
   * @category Util
   * @param {number} [start=0] The start of the range.
   * @param {number} end The end of the range.
   * @param {number} [step=1] The value to increment or decrement by.
   * @returns {Array} Returns the range of numbers.
   * @see _.inRange, _.rangeRight
   * @example
   *
   * _.range(4);
   * // => [0, 1, 2, 3]
   *
   * _.range(-4);
   * // => [0, -1, -2, -3]
   *
   * _.range(1, 5);
   * // => [1, 2, 3, 4]
   *
   * _.range(0, 20, 5);
   * // => [0, 5, 10, 15]
   *
   * _.range(0, -4, -1);
   * // => [0, -1, -2, -3]
   *
   * _.range(1, 4, 0);
   * // => [1, 1, 1]
   *
   * _.range(0);
   * // => []
   */
  var range = createRange();
  
  module.exports = range;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/sortedUniq.js":
  /*!**************************************************!*\
    !*** ../../../node_modules/lodash/sortedUniq.js ***!
    \**************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseSortedUniq = __webpack_require__(/*! ./_baseSortedUniq */ "../../../node_modules/lodash/_baseSortedUniq.js");
  
  /**
   * This method is like `_.uniq` except that it's designed and optimized
   * for sorted arrays.
   *
   * @static
   * @memberOf _
   * @since 4.0.0
   * @category Array
   * @param {Array} array The array to inspect.
   * @returns {Array} Returns the new duplicate free array.
   * @example
   *
   * _.sortedUniq([1, 1, 2]);
   * // => [1, 2]
   */
  function sortedUniq(array) {
    return (array && array.length)
      ? baseSortedUniq(array)
      : [];
  }
  
  module.exports = sortedUniq;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/throttle.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/throttle.js ***!
    \************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var debounce = __webpack_require__(/*! ./debounce */ "../../../node_modules/lodash/debounce.js"),
      isObject = __webpack_require__(/*! ./isObject */ "../../../node_modules/lodash/isObject.js");
  
  /** Error message constants. */
  var FUNC_ERROR_TEXT = 'Expected a function';
  
  /**
   * Creates a throttled function that only invokes `func` at most once per
   * every `wait` milliseconds. The throttled function comes with a `cancel`
   * method to cancel delayed `func` invocations and a `flush` method to
   * immediately invoke them. Provide `options` to indicate whether `func`
   * should be invoked on the leading and/or trailing edge of the `wait`
   * timeout. The `func` is invoked with the last arguments provided to the
   * throttled function. Subsequent calls to the throttled function return the
   * result of the last `func` invocation.
   *
   * **Note:** If `leading` and `trailing` options are `true`, `func` is
   * invoked on the trailing edge of the timeout only if the throttled function
   * is invoked more than once during the `wait` timeout.
   *
   * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
   * until to the next tick, similar to `setTimeout` with a timeout of `0`.
   *
   * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
   * for details over the differences between `_.throttle` and `_.debounce`.
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Function
   * @param {Function} func The function to throttle.
   * @param {number} [wait=0] The number of milliseconds to throttle invocations to.
   * @param {Object} [options={}] The options object.
   * @param {boolean} [options.leading=true]
   *  Specify invoking on the leading edge of the timeout.
   * @param {boolean} [options.trailing=true]
   *  Specify invoking on the trailing edge of the timeout.
   * @returns {Function} Returns the new throttled function.
   * @example
   *
   * // Avoid excessively updating the position while scrolling.
   * jQuery(window).on('scroll', _.throttle(updatePosition, 100));
   *
   * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.
   * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });
   * jQuery(element).on('click', throttled);
   *
   * // Cancel the trailing throttled invocation.
   * jQuery(window).on('popstate', throttled.cancel);
   */
  function throttle(func, wait, options) {
    var leading = true,
        trailing = true;
  
    if (typeof func != 'function') {
      throw new TypeError(FUNC_ERROR_TEXT);
    }
    if (isObject(options)) {
      leading = 'leading' in options ? !!options.leading : leading;
      trailing = 'trailing' in options ? !!options.trailing : trailing;
    }
    return debounce(func, wait, {
      'leading': leading,
      'maxWait': wait,
      'trailing': trailing
    });
  }
  
  module.exports = throttle;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/toFinite.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/toFinite.js ***!
    \************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var toNumber = __webpack_require__(/*! ./toNumber */ "../../../node_modules/lodash/toNumber.js");
  
  /** Used as references for various `Number` constants. */
  var INFINITY = 1 / 0,
      MAX_INTEGER = 1.7976931348623157e+308;
  
  /**
   * Converts `value` to a finite number.
   *
   * @static
   * @memberOf _
   * @since 4.12.0
   * @category Lang
   * @param {*} value The value to convert.
   * @returns {number} Returns the converted number.
   * @example
   *
   * _.toFinite(3.2);
   * // => 3.2
   *
   * _.toFinite(Number.MIN_VALUE);
   * // => 5e-324
   *
   * _.toFinite(Infinity);
   * // => 1.7976931348623157e+308
   *
   * _.toFinite('3.2');
   * // => 3.2
   */
  function toFinite(value) {
    if (!value) {
      return value === 0 ? value : 0;
    }
    value = toNumber(value);
    if (value === INFINITY || value === -INFINITY) {
      var sign = (value < 0 ? -1 : 1);
      return sign * MAX_INTEGER;
    }
    return value === value ? value : 0;
  }
  
  module.exports = toFinite;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/toInteger.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/lodash/toInteger.js ***!
    \*************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var toFinite = __webpack_require__(/*! ./toFinite */ "../../../node_modules/lodash/toFinite.js");
  
  /**
   * Converts `value` to an integer.
   *
   * **Note:** This method is loosely based on
   * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
   *
   * @static
   * @memberOf _
   * @since 4.0.0
   * @category Lang
   * @param {*} value The value to convert.
   * @returns {number} Returns the converted integer.
   * @example
   *
   * _.toInteger(3.2);
   * // => 3
   *
   * _.toInteger(Number.MIN_VALUE);
   * // => 0
   *
   * _.toInteger(Infinity);
   * // => 1.7976931348623157e+308
   *
   * _.toInteger('3.2');
   * // => 3
   */
  function toInteger(value) {
    var result = toFinite(value),
        remainder = result % 1;
  
    return result === result ? (remainder ? result - remainder : result) : 0;
  }
  
  module.exports = toInteger;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/toNumber.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/toNumber.js ***!
    \************************************************/
  /***/ ((module) => {
  
  /**
   * This method returns the first argument it receives.
   *
   * @static
   * @since 0.1.0
   * @memberOf _
   * @category Util
   * @param {*} value Any value.
   * @returns {*} Returns `value`.
   * @example
   *
   * var object = { 'a': 1 };
   *
   * console.log(_.identity(object) === object);
   * // => true
   */
  function identity(value) {
    return value;
  }
  
  module.exports = identity;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/toString.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/toString.js ***!
    \************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseToString = __webpack_require__(/*! ./_baseToString */ "../../../node_modules/lodash/_baseToString.js");
  
  /**
   * Converts `value` to a string. An empty string is returned for `null`
   * and `undefined` values. The sign of `-0` is preserved.
   *
   * @static
   * @memberOf _
   * @since 4.0.0
   * @category Lang
   * @param {*} value The value to convert.
   * @returns {string} Returns the converted string.
   * @example
   *
   * _.toString(null);
   * // => ''
   *
   * _.toString(-0);
   * // => '-0'
   *
   * _.toString([1, 2, 3]);
   * // => '1,2,3'
   */
  function toString(value) {
    return value == null ? '' : baseToString(value);
  }
  
  module.exports = toString;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/uniq.js":
  /*!********************************************!*\
    !*** ../../../node_modules/lodash/uniq.js ***!
    \********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseUniq = __webpack_require__(/*! ./_baseUniq */ "../../../node_modules/lodash/_baseUniq.js");
  
  /**
   * Creates a duplicate-free version of an array, using
   * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
   * for equality comparisons, in which only the first occurrence of each element
   * is kept. The order of result values is determined by the order they occur
   * in the array.
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Array
   * @param {Array} array The array to inspect.
   * @returns {Array} Returns the new duplicate free array.
   * @example
   *
   * _.uniq([2, 1, 2]);
   * // => [2, 1]
   */
  function uniq(array) {
    return (array && array.length) ? baseUniq(array) : [];
  }
  
  module.exports = uniq;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/uniqBy.js":
  /*!**********************************************!*\
    !*** ../../../node_modules/lodash/uniqBy.js ***!
    \**********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "../../../node_modules/lodash/_baseIteratee.js"),
      baseUniq = __webpack_require__(/*! ./_baseUniq */ "../../../node_modules/lodash/_baseUniq.js");
  
  /**
   * This method is like `_.uniq` except that it accepts `iteratee` which is
   * invoked for each element in `array` to generate the criterion by which
   * uniqueness is computed. The order of result values is determined by the
   * order they occur in the array. The iteratee is invoked with one argument:
   * (value).
   *
   * @static
   * @memberOf _
   * @since 4.0.0
   * @category Array
   * @param {Array} array The array to inspect.
   * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
   * @returns {Array} Returns the new duplicate free array.
   * @example
   *
   * _.uniqBy([2.1, 1.2, 2.3], Math.floor);
   * // => [2.1, 1.2]
   *
   * // The `_.property` iteratee shorthand.
   * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
   * // => [{ 'x': 1 }, { 'x': 2 }]
   */
  function uniqBy(array, iteratee) {
    return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];
  }
  
  module.exports = uniqBy;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/uniqueId.js":
  /*!************************************************!*\
    !*** ../../../node_modules/lodash/uniqueId.js ***!
    \************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var toString = __webpack_require__(/*! ./toString */ "../../../node_modules/lodash/toString.js");
  
  /** Used to generate unique IDs. */
  var idCounter = 0;
  
  /**
   * Generates a unique ID. If `prefix` is given, the ID is appended to it.
   *
   * @static
   * @since 0.1.0
   * @memberOf _
   * @category Util
   * @param {string} [prefix=''] The value to prefix the ID with.
   * @returns {string} Returns the unique ID.
   * @example
   *
   * _.uniqueId('contact_');
   * // => 'contact_104'
   *
   * _.uniqueId();
   * // => '105'
   */
  function uniqueId(prefix) {
    var id = ++idCounter;
    return toString(prefix) + id;
  }
  
  module.exports = uniqueId;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/values.js":
  /*!**********************************************!*\
    !*** ../../../node_modules/lodash/values.js ***!
    \**********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseValues = __webpack_require__(/*! ./_baseValues */ "../../../node_modules/lodash/_baseValues.js"),
      keys = __webpack_require__(/*! ./keys */ "../../../node_modules/lodash/keys.js");
  
  /**
   * Creates an array of the own enumerable string keyed property values of `object`.
   *
   * **Note:** Non-object values are coerced to objects.
   *
   * @static
   * @since 0.1.0
   * @memberOf _
   * @category Object
   * @param {Object} object The object to query.
   * @returns {Array} Returns the array of property values.
   * @example
   *
   * function Foo() {
   *   this.a = 1;
   *   this.b = 2;
   * }
   *
   * Foo.prototype.c = 3;
   *
   * _.values(new Foo);
   * // => [1, 2] (iteration order is not guaranteed)
   *
   * _.values('hi');
   * // => ['h', 'i']
   */
  function values(object) {
    return object == null ? [] : baseValues(object, keys(object));
  }
  
  module.exports = values;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/lodash/without.js":
  /*!***********************************************!*\
    !*** ../../../node_modules/lodash/without.js ***!
    \***********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  var baseDifference = __webpack_require__(/*! ./_baseDifference */ "../../../node_modules/lodash/_baseDifference.js"),
      baseRest = __webpack_require__(/*! ./_baseRest */ "../../../node_modules/lodash/_baseRest.js"),
      isArrayLikeObject = __webpack_require__(/*! ./isArrayLikeObject */ "../../../node_modules/lodash/isArrayLikeObject.js");
  
  /**
   * Creates an array excluding all given values using
   * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
   * for equality comparisons.
   *
   * **Note:** Unlike `_.pull`, this method returns a new array.
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Array
   * @param {Array} array The array to inspect.
   * @param {...*} [values] The values to exclude.
   * @returns {Array} Returns the new array of filtered values.
   * @see _.difference, _.xor
   * @example
   *
   * _.without([2, 1, 2, 3], 1, 2);
   * // => [3]
   */
  var without = baseRest(function(array, values) {
    return isArrayLikeObject(array)
      ? baseDifference(array, values)
      : [];
  });
  
  module.exports = without;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/object-assign/index.js":
  /*!****************************************************!*\
    !*** ../../../node_modules/object-assign/index.js ***!
    \****************************************************/
  /***/ ((module) => {
  
  "use strict";
  /*
  object-assign
  (c) Sindre Sorhus
  @license MIT
  */
  
  
  /* eslint-disable no-unused-vars */
  var getOwnPropertySymbols = Object.getOwnPropertySymbols;
  var hasOwnProperty = Object.prototype.hasOwnProperty;
  var propIsEnumerable = Object.prototype.propertyIsEnumerable;
  
  function toObject(val) {
  	if (val === null || val === undefined) {
  		throw new TypeError('Object.assign cannot be called with null or undefined');
  	}
  
  	return Object(val);
  }
  
  function shouldUseNative() {
  	try {
  		if (!Object.assign) {
  			return false;
  		}
  
  		// Detect buggy property enumeration order in older V8 versions.
  
  		// https://bugs.chromium.org/p/v8/issues/detail?id=4118
  		var test1 = new String('abc');  // eslint-disable-line no-new-wrappers
  		test1[5] = 'de';
  		if (Object.getOwnPropertyNames(test1)[0] === '5') {
  			return false;
  		}
  
  		// https://bugs.chromium.org/p/v8/issues/detail?id=3056
  		var test2 = {};
  		for (var i = 0; i < 10; i++) {
  			test2['_' + String.fromCharCode(i)] = i;
  		}
  		var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
  			return test2[n];
  		});
  		if (order2.join('') !== '0123456789') {
  			return false;
  		}
  
  		// https://bugs.chromium.org/p/v8/issues/detail?id=3056
  		var test3 = {};
  		'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
  			test3[letter] = letter;
  		});
  		if (Object.keys(Object.assign({}, test3)).join('') !==
  				'abcdefghijklmnopqrst') {
  			return false;
  		}
  
  		return true;
  	} catch (err) {
  		// We don't expect any of the above to throw, but better to be safe.
  		return false;
  	}
  }
  
  module.exports = shouldUseNative() ? Object.assign : function (target, source) {
  	var from;
  	var to = toObject(target);
  	var symbols;
  
  	for (var s = 1; s < arguments.length; s++) {
  		from = Object(arguments[s]);
  
  		for (var key in from) {
  			if (hasOwnProperty.call(from, key)) {
  				to[key] = from[key];
  			}
  		}
  
  		if (getOwnPropertySymbols) {
  			symbols = getOwnPropertySymbols(from);
  			for (var i = 0; i < symbols.length; i++) {
  				if (propIsEnumerable.call(from, symbols[i])) {
  					to[symbols[i]] = from[symbols[i]];
  				}
  			}
  		}
  	}
  
  	return to;
  };
  
  
  /***/ }),
  
  /***/ "../../../node_modules/prop-types/checkPropTypes.js":
  /*!**********************************************************!*\
    !*** ../../../node_modules/prop-types/checkPropTypes.js ***!
    \**********************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  "use strict";
  /**
   * Copyright (c) 2013-present, Facebook, Inc.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  
  
  
  var printWarning = function() {};
  
  if (true) {
    var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../../../node_modules/prop-types/lib/ReactPropTypesSecret.js");
    var loggedTypeFailures = {};
    var has = Function.call.bind(Object.prototype.hasOwnProperty);
  
    printWarning = function(text) {
      var message = 'Warning: ' + text;
      if (typeof console !== 'undefined') {
        console.error(message);
      }
      try {
        // --- Welcome to debugging React ---
        // This error was thrown as a convenience so that you can use this stack
        // to find the callsite that caused this warning to fire.
        throw new Error(message);
      } catch (x) {}
    };
  }
  
  /**
   * Assert that the values match with the type specs.
   * Error messages are memorized and will only be shown once.
   *
   * @param {object} typeSpecs Map of name to a ReactPropType
   * @param {object} values Runtime values that need to be type-checked
   * @param {string} location e.g. "prop", "context", "child context"
   * @param {string} componentName Name of the component for error messages.
   * @param {?Function} getStack Returns the component stack.
   * @private
   */
  function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
    if (true) {
      for (var typeSpecName in typeSpecs) {
        if (has(typeSpecs, typeSpecName)) {
          var error;
          // Prop type validation may throw. In case they do, we don't want to
          // fail the render phase where it didn't fail before. So we log it.
          // After these have been cleaned up, we'll let them throw.
          try {
            // This is intentionally an invariant that gets caught. It's the same
            // behavior as without this statement except with a better message.
            if (typeof typeSpecs[typeSpecName] !== 'function') {
              var err = Error(
                (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
                'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'
              );
              err.name = 'Invariant Violation';
              throw err;
            }
            error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
          } catch (ex) {
            error = ex;
          }
          if (error && !(error instanceof Error)) {
            printWarning(
              (componentName || 'React class') + ': type specification of ' +
              location + ' `' + typeSpecName + '` is invalid; the type checker ' +
              'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
              'You may have forgotten to pass an argument to the type checker ' +
              'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
              'shape all require an argument).'
            );
          }
          if (error instanceof Error && !(error.message in loggedTypeFailures)) {
            // Only monitor this failure once because there tends to be a lot of the
            // same error.
            loggedTypeFailures[error.message] = true;
  
            var stack = getStack ? getStack() : '';
  
            printWarning(
              'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
            );
          }
        }
      }
    }
  }
  
  /**
   * Resets warning cache when testing.
   *
   * @private
   */
  checkPropTypes.resetWarningCache = function() {
    if (true) {
      loggedTypeFailures = {};
    }
  }
  
  module.exports = checkPropTypes;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/prop-types/factoryWithTypeCheckers.js":
  /*!*******************************************************************!*\
    !*** ../../../node_modules/prop-types/factoryWithTypeCheckers.js ***!
    \*******************************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  "use strict";
  /**
   * Copyright (c) 2013-present, Facebook, Inc.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  
  
  
  var ReactIs = __webpack_require__(/*! react-is */ "../../../node_modules/react-is/index.js");
  var assign = __webpack_require__(/*! object-assign */ "../../../node_modules/object-assign/index.js");
  
  var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../../../node_modules/prop-types/lib/ReactPropTypesSecret.js");
  var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../../../node_modules/prop-types/checkPropTypes.js");
  
  var has = Function.call.bind(Object.prototype.hasOwnProperty);
  var printWarning = function() {};
  
  if (true) {
    printWarning = function(text) {
      var message = 'Warning: ' + text;
      if (typeof console !== 'undefined') {
        console.error(message);
      }
      try {
        // --- Welcome to debugging React ---
        // This error was thrown as a convenience so that you can use this stack
        // to find the callsite that caused this warning to fire.
        throw new Error(message);
      } catch (x) {}
    };
  }
  
  function emptyFunctionThatReturnsNull() {
    return null;
  }
  
  module.exports = function(isValidElement, throwOnDirectAccess) {
    /* global Symbol */
    var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
    var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
  
    /**
     * Returns the iterator method function contained on the iterable object.
     *
     * Be sure to invoke the function with the iterable as context:
     *
     *     var iteratorFn = getIteratorFn(myIterable);
     *     if (iteratorFn) {
     *       var iterator = iteratorFn.call(myIterable);
     *       ...
     *     }
     *
     * @param {?object} maybeIterable
     * @return {?function}
     */
    function getIteratorFn(maybeIterable) {
      var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
      if (typeof iteratorFn === 'function') {
        return iteratorFn;
      }
    }
  
    /**
     * Collection of methods that allow declaration and validation of props that are
     * supplied to React components. Example usage:
     *
     *   var Props = require('ReactPropTypes');
     *   var MyArticle = React.createClass({
     *     propTypes: {
     *       // An optional string prop named "description".
     *       description: Props.string,
     *
     *       // A required enum prop named "category".
     *       category: Props.oneOf(['News','Photos']).isRequired,
     *
     *       // A prop named "dialog" that requires an instance of Dialog.
     *       dialog: Props.instanceOf(Dialog).isRequired
     *     },
     *     render: function() { ... }
     *   });
     *
     * A more formal specification of how these methods are used:
     *
     *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
     *   decl := ReactPropTypes.{type}(.isRequired)?
     *
     * Each and every declaration produces a function with the same signature. This
     * allows the creation of custom validation functions. For example:
     *
     *  var MyLink = React.createClass({
     *    propTypes: {
     *      // An optional string or URI prop named "href".
     *      href: function(props, propName, componentName) {
     *        var propValue = props[propName];
     *        if (propValue != null && typeof propValue !== 'string' &&
     *            !(propValue instanceof URI)) {
     *          return new Error(
     *            'Expected a string or an URI for ' + propName + ' in ' +
     *            componentName
     *          );
     *        }
     *      }
     *    },
     *    render: function() {...}
     *  });
     *
     * @internal
     */
  
    var ANONYMOUS = '<<anonymous>>';
  
    // Important!
    // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
    var ReactPropTypes = {
      array: createPrimitiveTypeChecker('array'),
      bool: createPrimitiveTypeChecker('boolean'),
      func: createPrimitiveTypeChecker('function'),
      number: createPrimitiveTypeChecker('number'),
      object: createPrimitiveTypeChecker('object'),
      string: createPrimitiveTypeChecker('string'),
      symbol: createPrimitiveTypeChecker('symbol'),
  
      any: createAnyTypeChecker(),
      arrayOf: createArrayOfTypeChecker,
      element: createElementTypeChecker(),
      elementType: createElementTypeTypeChecker(),
      instanceOf: createInstanceTypeChecker,
      node: createNodeChecker(),
      objectOf: createObjectOfTypeChecker,
      oneOf: createEnumTypeChecker,
      oneOfType: createUnionTypeChecker,
      shape: createShapeTypeChecker,
      exact: createStrictShapeTypeChecker,
    };
  
    /**
     * inlined Object.is polyfill to avoid requiring consumers ship their own
     * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
     */
    /*eslint-disable no-self-compare*/
    function is(x, y) {
      // SameValue algorithm
      if (x === y) {
        // Steps 1-5, 7-10
        // Steps 6.b-6.e: +0 != -0
        return x !== 0 || 1 / x === 1 / y;
      } else {
        // Step 6.a: NaN == NaN
        return x !== x && y !== y;
      }
    }
    /*eslint-enable no-self-compare*/
  
    /**
     * We use an Error-like object for backward compatibility as people may call
     * PropTypes directly and inspect their output. However, we don't use real
     * Errors anymore. We don't inspect their stack anyway, and creating them
     * is prohibitively expensive if they are created too often, such as what
     * happens in oneOfType() for any type before the one that matched.
     */
    function PropTypeError(message) {
      this.message = message;
      this.stack = '';
    }
    // Make `instanceof Error` still work for returned errors.
    PropTypeError.prototype = Error.prototype;
  
    function createChainableTypeChecker(validate) {
      if (true) {
        var manualPropTypeCallCache = {};
        var manualPropTypeWarningCount = 0;
      }
      function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
        componentName = componentName || ANONYMOUS;
        propFullName = propFullName || propName;
  
        if (secret !== ReactPropTypesSecret) {
          if (throwOnDirectAccess) {
            // New behavior only for users of `prop-types` package
            var err = new Error(
              'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
              'Use `PropTypes.checkPropTypes()` to call them. ' +
              'Read more at http://fb.me/use-check-prop-types'
            );
            err.name = 'Invariant Violation';
            throw err;
          } else if ( true && typeof console !== 'undefined') {
            // Old behavior for people using React.PropTypes
            var cacheKey = componentName + ':' + propName;
            if (
              !manualPropTypeCallCache[cacheKey] &&
              // Avoid spamming the console because they are often not actionable except for lib authors
              manualPropTypeWarningCount < 3
            ) {
              printWarning(
                'You are manually calling a React.PropTypes validation ' +
                'function for the `' + propFullName + '` prop on `' + componentName  + '`. This is deprecated ' +
                'and will throw in the standalone `prop-types` package. ' +
                'You may be seeing this warning due to a third-party PropTypes ' +
                'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
              );
              manualPropTypeCallCache[cacheKey] = true;
              manualPropTypeWarningCount++;
            }
          }
        }
        if (props[propName] == null) {
          if (isRequired) {
            if (props[propName] === null) {
              return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
            }
            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
          }
          return null;
        } else {
          return validate(props, propName, componentName, location, propFullName);
        }
      }
  
      var chainedCheckType = checkType.bind(null, false);
      chainedCheckType.isRequired = checkType.bind(null, true);
  
      return chainedCheckType;
    }
  
    function createPrimitiveTypeChecker(expectedType) {
      function validate(props, propName, componentName, location, propFullName, secret) {
        var propValue = props[propName];
        var propType = getPropType(propValue);
        if (propType !== expectedType) {
          // `propValue` being instance of, say, date/regexp, pass the 'object'
          // check, but we can offer a more precise error message here rather than
          // 'of type `object`'.
          var preciseType = getPreciseType(propValue);
  
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
        }
        return null;
      }
      return createChainableTypeChecker(validate);
    }
  
    function createAnyTypeChecker() {
      return createChainableTypeChecker(emptyFunctionThatReturnsNull);
    }
  
    function createArrayOfTypeChecker(typeChecker) {
      function validate(props, propName, componentName, location, propFullName) {
        if (typeof typeChecker !== 'function') {
          return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
        }
        var propValue = props[propName];
        if (!Array.isArray(propValue)) {
          var propType = getPropType(propValue);
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
        }
        for (var i = 0; i < propValue.length; i++) {
          var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
          if (error instanceof Error) {
            return error;
          }
        }
        return null;
      }
      return createChainableTypeChecker(validate);
    }
  
    function createElementTypeChecker() {
      function validate(props, propName, componentName, location, propFullName) {
        var propValue = props[propName];
        if (!isValidElement(propValue)) {
          var propType = getPropType(propValue);
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
        }
        return null;
      }
      return createChainableTypeChecker(validate);
    }
  
    function createElementTypeTypeChecker() {
      function validate(props, propName, componentName, location, propFullName) {
        var propValue = props[propName];
        if (!ReactIs.isValidElementType(propValue)) {
          var propType = getPropType(propValue);
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
        }
        return null;
      }
      return createChainableTypeChecker(validate);
    }
  
    function createInstanceTypeChecker(expectedClass) {
      function validate(props, propName, componentName, location, propFullName) {
        if (!(props[propName] instanceof expectedClass)) {
          var expectedClassName = expectedClass.name || ANONYMOUS;
          var actualClassName = getClassName(props[propName]);
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
        }
        return null;
      }
      return createChainableTypeChecker(validate);
    }
  
    function createEnumTypeChecker(expectedValues) {
      if (!Array.isArray(expectedValues)) {
        if (true) {
          if (arguments.length > 1) {
            printWarning(
              'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
              'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
            );
          } else {
            printWarning('Invalid argument supplied to oneOf, expected an array.');
          }
        }
        return emptyFunctionThatReturnsNull;
      }
  
      function validate(props, propName, componentName, location, propFullName) {
        var propValue = props[propName];
        for (var i = 0; i < expectedValues.length; i++) {
          if (is(propValue, expectedValues[i])) {
            return null;
          }
        }
  
        var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
          var type = getPreciseType(value);
          if (type === 'symbol') {
            return String(value);
          }
          return value;
        });
        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
      }
      return createChainableTypeChecker(validate);
    }
  
    function createObjectOfTypeChecker(typeChecker) {
      function validate(props, propName, componentName, location, propFullName) {
        if (typeof typeChecker !== 'function') {
          return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
        }
        var propValue = props[propName];
        var propType = getPropType(propValue);
        if (propType !== 'object') {
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
        }
        for (var key in propValue) {
          if (has(propValue, key)) {
            var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
            if (error instanceof Error) {
              return error;
            }
          }
        }
        return null;
      }
      return createChainableTypeChecker(validate);
    }
  
    function createUnionTypeChecker(arrayOfTypeCheckers) {
      if (!Array.isArray(arrayOfTypeCheckers)) {
         true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;
        return emptyFunctionThatReturnsNull;
      }
  
      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
        var checker = arrayOfTypeCheckers[i];
        if (typeof checker !== 'function') {
          printWarning(
            'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
            'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
          );
          return emptyFunctionThatReturnsNull;
        }
      }
  
      function validate(props, propName, componentName, location, propFullName) {
        for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
          var checker = arrayOfTypeCheckers[i];
          if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {
            return null;
          }
        }
  
        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
      }
      return createChainableTypeChecker(validate);
    }
  
    function createNodeChecker() {
      function validate(props, propName, componentName, location, propFullName) {
        if (!isNode(props[propName])) {
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
        }
        return null;
      }
      return createChainableTypeChecker(validate);
    }
  
    function createShapeTypeChecker(shapeTypes) {
      function validate(props, propName, componentName, location, propFullName) {
        var propValue = props[propName];
        var propType = getPropType(propValue);
        if (propType !== 'object') {
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
        }
        for (var key in shapeTypes) {
          var checker = shapeTypes[key];
          if (!checker) {
            continue;
          }
          var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
          if (error) {
            return error;
          }
        }
        return null;
      }
      return createChainableTypeChecker(validate);
    }
  
    function createStrictShapeTypeChecker(shapeTypes) {
      function validate(props, propName, componentName, location, propFullName) {
        var propValue = props[propName];
        var propType = getPropType(propValue);
        if (propType !== 'object') {
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
        }
        // We need to check all keys in case some are required but missing from
        // props.
        var allKeys = assign({}, props[propName], shapeTypes);
        for (var key in allKeys) {
          var checker = shapeTypes[key];
          if (!checker) {
            return new PropTypeError(
              'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
              '\nBad object: ' + JSON.stringify(props[propName], null, '  ') +
              '\nValid keys: ' +  JSON.stringify(Object.keys(shapeTypes), null, '  ')
            );
          }
          var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
          if (error) {
            return error;
          }
        }
        return null;
      }
  
      return createChainableTypeChecker(validate);
    }
  
    function isNode(propValue) {
      switch (typeof propValue) {
        case 'number':
        case 'string':
        case 'undefined':
          return true;
        case 'boolean':
          return !propValue;
        case 'object':
          if (Array.isArray(propValue)) {
            return propValue.every(isNode);
          }
          if (propValue === null || isValidElement(propValue)) {
            return true;
          }
  
          var iteratorFn = getIteratorFn(propValue);
          if (iteratorFn) {
            var iterator = iteratorFn.call(propValue);
            var step;
            if (iteratorFn !== propValue.entries) {
              while (!(step = iterator.next()).done) {
                if (!isNode(step.value)) {
                  return false;
                }
              }
            } else {
              // Iterator will provide entry [k,v] tuples rather than values.
              while (!(step = iterator.next()).done) {
                var entry = step.value;
                if (entry) {
                  if (!isNode(entry[1])) {
                    return false;
                  }
                }
              }
            }
          } else {
            return false;
          }
  
          return true;
        default:
          return false;
      }
    }
  
    function isSymbol(propType, propValue) {
      // Native Symbol.
      if (propType === 'symbol') {
        return true;
      }
  
      // falsy value can't be a Symbol
      if (!propValue) {
        return false;
      }
  
      // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
      if (propValue['@@toStringTag'] === 'Symbol') {
        return true;
      }
  
      // Fallback for non-spec compliant Symbols which are polyfilled.
      if (typeof Symbol === 'function' && propValue instanceof Symbol) {
        return true;
      }
  
      return false;
    }
  
    // Equivalent of `typeof` but with special handling for array and regexp.
    function getPropType(propValue) {
      var propType = typeof propValue;
      if (Array.isArray(propValue)) {
        return 'array';
      }
      if (propValue instanceof RegExp) {
        // Old webkits (at least until Android 4.0) return 'function' rather than
        // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
        // passes PropTypes.object.
        return 'object';
      }
      if (isSymbol(propType, propValue)) {
        return 'symbol';
      }
      return propType;
    }
  
    // This handles more types than `getPropType`. Only used for error messages.
    // See `createPrimitiveTypeChecker`.
    function getPreciseType(propValue) {
      if (typeof propValue === 'undefined' || propValue === null) {
        return '' + propValue;
      }
      var propType = getPropType(propValue);
      if (propType === 'object') {
        if (propValue instanceof Date) {
          return 'date';
        } else if (propValue instanceof RegExp) {
          return 'regexp';
        }
      }
      return propType;
    }
  
    // Returns a string that is postfixed to a warning about an invalid type.
    // For example, "undefined" or "of type array"
    function getPostfixForTypeWarning(value) {
      var type = getPreciseType(value);
      switch (type) {
        case 'array':
        case 'object':
          return 'an ' + type;
        case 'boolean':
        case 'date':
        case 'regexp':
          return 'a ' + type;
        default:
          return type;
      }
    }
  
    // Returns class name of the object, if any.
    function getClassName(propValue) {
      if (!propValue.constructor || !propValue.constructor.name) {
        return ANONYMOUS;
      }
      return propValue.constructor.name;
    }
  
    ReactPropTypes.checkPropTypes = checkPropTypes;
    ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
    ReactPropTypes.PropTypes = ReactPropTypes;
  
    return ReactPropTypes;
  };
  
  
  /***/ }),
  
  /***/ "../../../node_modules/prop-types/index.js":
  /*!*************************************************!*\
    !*** ../../../node_modules/prop-types/index.js ***!
    \*************************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  /**
   * Copyright (c) 2013-present, Facebook, Inc.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  
  if (true) {
    var ReactIs = __webpack_require__(/*! react-is */ "../../../node_modules/react-is/index.js");
  
    // By explicitly using `prop-types` you are opting into new development behavior.
    // http://fb.me/prop-types-in-prod
    var throwOnDirectAccess = true;
    module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../../../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
  } else {}
  
  
  /***/ }),
  
  /***/ "../../../node_modules/prop-types/lib/ReactPropTypesSecret.js":
  /*!********************************************************************!*\
    !*** ../../../node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
    \********************************************************************/
  /***/ ((module) => {
  
  "use strict";
  /**
   * Copyright (c) 2013-present, Facebook, Inc.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  
  
  
  var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
  
  module.exports = ReactPropTypesSecret;
  
  
  /***/ }),
  
  /***/ "../../../node_modules/react-is/cjs/react-is.development.js":
  /*!******************************************************************!*\
    !*** ../../../node_modules/react-is/cjs/react-is.development.js ***!
    \******************************************************************/
  /***/ ((__unused_webpack_module, exports) => {
  
  "use strict";
  /** @license React v16.13.1
   * react-is.development.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  
  
  
  
  
  if (true) {
    (function() {
  'use strict';
  
  // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
  // nor polyfill, then a plain number is used for performance.
  var hasSymbol = typeof Symbol === 'function' && Symbol.for;
  var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
  var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
  var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
  var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
  var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
  var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
  var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
  // (unstable) APIs that have been removed. Can we remove the symbols?
  
  var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
  var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
  var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
  var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
  var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
  var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
  var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
  var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
  var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
  var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
  var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
  
  function isValidElementType(type) {
    return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
    type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
  }
  
  function typeOf(object) {
    if (typeof object === 'object' && object !== null) {
      var $$typeof = object.$$typeof;
  
      switch ($$typeof) {
        case REACT_ELEMENT_TYPE:
          var type = object.type;
  
          switch (type) {
            case REACT_ASYNC_MODE_TYPE:
            case REACT_CONCURRENT_MODE_TYPE:
            case REACT_FRAGMENT_TYPE:
            case REACT_PROFILER_TYPE:
            case REACT_STRICT_MODE_TYPE:
            case REACT_SUSPENSE_TYPE:
              return type;
  
            default:
              var $$typeofType = type && type.$$typeof;
  
              switch ($$typeofType) {
                case REACT_CONTEXT_TYPE:
                case REACT_FORWARD_REF_TYPE:
                case REACT_LAZY_TYPE:
                case REACT_MEMO_TYPE:
                case REACT_PROVIDER_TYPE:
                  return $$typeofType;
  
                default:
                  return $$typeof;
              }
  
          }
  
        case REACT_PORTAL_TYPE:
          return $$typeof;
      }
    }
  
    return undefined;
  } // AsyncMode is deprecated along with isAsyncMode
  
  var AsyncMode = REACT_ASYNC_MODE_TYPE;
  var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
  var ContextConsumer = REACT_CONTEXT_TYPE;
  var ContextProvider = REACT_PROVIDER_TYPE;
  var Element = REACT_ELEMENT_TYPE;
  var ForwardRef = REACT_FORWARD_REF_TYPE;
  var Fragment = REACT_FRAGMENT_TYPE;
  var Lazy = REACT_LAZY_TYPE;
  var Memo = REACT_MEMO_TYPE;
  var Portal = REACT_PORTAL_TYPE;
  var Profiler = REACT_PROFILER_TYPE;
  var StrictMode = REACT_STRICT_MODE_TYPE;
  var Suspense = REACT_SUSPENSE_TYPE;
  var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
  
  function isAsyncMode(object) {
    {
      if (!hasWarnedAboutDeprecatedIsAsyncMode) {
        hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
  
        console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
      }
    }
  
    return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
  }
  function isConcurrentMode(object) {
    return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
  }
  function isContextConsumer(object) {
    return typeOf(object) === REACT_CONTEXT_TYPE;
  }
  function isContextProvider(object) {
    return typeOf(object) === REACT_PROVIDER_TYPE;
  }
  function isElement(object) {
    return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
  }
  function isForwardRef(object) {
    return typeOf(object) === REACT_FORWARD_REF_TYPE;
  }
  function isFragment(object) {
    return typeOf(object) === REACT_FRAGMENT_TYPE;
  }
  function isLazy(object) {
    return typeOf(object) === REACT_LAZY_TYPE;
  }
  function isMemo(object) {
    return typeOf(object) === REACT_MEMO_TYPE;
  }
  function isPortal(object) {
    return typeOf(object) === REACT_PORTAL_TYPE;
  }
  function isProfiler(object) {
    return typeOf(object) === REACT_PROFILER_TYPE;
  }
  function isStrictMode(object) {
    return typeOf(object) === REACT_STRICT_MODE_TYPE;
  }
  function isSuspense(object) {
    return typeOf(object) === REACT_SUSPENSE_TYPE;
  }
  
  exports.AsyncMode = AsyncMode;
  exports.ConcurrentMode = ConcurrentMode;
  exports.ContextConsumer = ContextConsumer;
  exports.ContextProvider = ContextProvider;
  exports.Element = Element;
  exports.ForwardRef = ForwardRef;
  exports.Fragment = Fragment;
  exports.Lazy = Lazy;
  exports.Memo = Memo;
  exports.Portal = Portal;
  exports.Profiler = Profiler;
  exports.StrictMode = StrictMode;
  exports.Suspense = Suspense;
  exports.isAsyncMode = isAsyncMode;
  exports.isConcurrentMode = isConcurrentMode;
  exports.isContextConsumer = isContextConsumer;
  exports.isContextProvider = isContextProvider;
  exports.isElement = isElement;
  exports.isForwardRef = isForwardRef;
  exports.isFragment = isFragment;
  exports.isLazy = isLazy;
  exports.isMemo = isMemo;
  exports.isPortal = isPortal;
  exports.isProfiler = isProfiler;
  exports.isStrictMode = isStrictMode;
  exports.isSuspense = isSuspense;
  exports.isValidElementType = isValidElementType;
  exports.typeOf = typeOf;
    })();
  }
  
  
  /***/ }),
  
  /***/ "../../../node_modules/react-is/index.js":
  /*!***********************************************!*\
    !*** ../../../node_modules/react-is/index.js ***!
    \***********************************************/
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  
  "use strict";
  
  
  if (false) {} else {
    module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../../../node_modules/react-is/cjs/react-is.development.js");
  }
  
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-clip-container/victory-clip-container.js":
  /*!******************************************************************************!*\
    !*** ../../victory-core/es/victory-clip-container/victory-clip-container.js ***!
    \******************************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ VictoryClipContainer)
  /* harmony export */ });
  /* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/uniqueId */ "../../../node_modules/lodash/uniqueId.js");
  /* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_uniqueId__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var lodash_isObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/isObject */ "../../../node_modules/lodash/isObject.js");
  /* harmony import */ var lodash_isObject__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isObject__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/defaults */ "../../../node_modules/lodash/defaults.js");
  /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_defaults__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/assign */ "../../../node_modules/lodash/assign.js");
  /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../victory-util/prop-types */ "../../victory-core/es/victory-util/prop-types.js");
  /* harmony import */ var _victory_util_helpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../victory-util/helpers */ "../../victory-core/es/victory-util/helpers.js");
  /* harmony import */ var _victory_primitives_clip_path__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../victory-primitives/clip-path */ "../../victory-core/es/victory-primitives/clip-path.js");
  /* harmony import */ var _victory_primitives_circle__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../victory-primitives/circle */ "../../victory-core/es/victory-primitives/circle.js");
  /* harmony import */ var _victory_primitives_rect__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../victory-primitives/rect */ "../../victory-core/es/victory-primitives/rect.js");
  
  
  
  
  
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
  
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
  
  function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
  
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
  
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
  
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  
  function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
  
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  
  
  
  
  
  
  
  
  var VictoryClipContainer =
  /*#__PURE__*/
  function (_React$Component) {
    _inherits(VictoryClipContainer, _React$Component);
  
    function VictoryClipContainer(props) {
      var _this;
  
      _classCallCheck(this, VictoryClipContainer);
  
      _this = _possibleConstructorReturn(this, (VictoryClipContainer.__proto__ || Object.getPrototypeOf(VictoryClipContainer)).call(this, props));
      _this.clipId = !lodash_isObject__WEBPACK_IMPORTED_MODULE_1___default()(props) || props.clipId === undefined ? lodash_uniqueId__WEBPACK_IMPORTED_MODULE_0___default()("victory-clip-") : props.clipId;
      return _this;
    }
  
    _createClass(VictoryClipContainer, [{
      key: "calculateAttributes",
      value: function calculateAttributes(props) {
        var polar = props.polar,
            origin = props.origin,
            _props$clipWidth = props.clipWidth,
            clipWidth = _props$clipWidth === void 0 ? 0 : _props$clipWidth,
            _props$clipHeight = props.clipHeight,
            clipHeight = _props$clipHeight === void 0 ? 0 : _props$clipHeight,
            _props$translateX = props.translateX,
            translateX = _props$translateX === void 0 ? 0 : _props$translateX,
            _props$translateY = props.translateY,
            translateY = _props$translateY === void 0 ? 0 : _props$translateY;
        var clipPadding = _victory_util_helpers__WEBPACK_IMPORTED_MODULE_6__.getPadding({
          padding: props.clipPadding
        });
        var radius = props.radius || _victory_util_helpers__WEBPACK_IMPORTED_MODULE_6__.getRadius(props);
        return {
          x: (polar ? origin.x : translateX) - clipPadding.left,
          y: (polar ? origin.y : translateY) - clipPadding.top,
          width: Math.max((polar ? radius : clipWidth) + clipPadding.left + clipPadding.right, 0),
          height: Math.max((polar ? radius : clipHeight) + clipPadding.top + clipPadding.bottom, 0)
        };
      }
    }, {
      key: "renderClippedGroup",
      value: function renderClippedGroup(props, clipId) {
        var style = props.style,
            events = props.events,
            transform = props.transform,
            children = props.children,
            className = props.className,
            groupComponent = props.groupComponent,
            tabIndex = props.tabIndex;
        var clipComponent = this.renderClipComponent(props, clipId);
  
        var groupProps = lodash_assign__WEBPACK_IMPORTED_MODULE_3___default()({
          className: className,
          style: style,
          transform: transform,
          key: "clipped-group-".concat(clipId),
          clipPath: "url(#".concat(clipId, ")")
        }, events);
  
        return react__WEBPACK_IMPORTED_MODULE_4___default().cloneElement(groupComponent, _objectSpread({}, groupProps, {
          "aria-label": props["aria-label"],
          tabIndex: tabIndex
        }), [clipComponent].concat(_toConsumableArray(react__WEBPACK_IMPORTED_MODULE_4___default().Children.toArray(children))));
      }
    }, {
      key: "renderGroup",
      value: function renderGroup(props) {
        var style = props.style,
            events = props.events,
            transform = props.transform,
            children = props.children,
            className = props.className,
            groupComponent = props.groupComponent,
            tabIndex = props.tabIndex;
        return react__WEBPACK_IMPORTED_MODULE_4___default().cloneElement(groupComponent, lodash_assign__WEBPACK_IMPORTED_MODULE_3___default()({
          className: className,
          style: style,
          transform: transform,
          "aria-label": props["aria-label"],
          tabIndex: tabIndex
        }, events), children);
      }
    }, {
      key: "renderClipComponent",
      value: function renderClipComponent(props, clipId) {
        var polar = props.polar,
            origin = props.origin,
            _props$clipWidth2 = props.clipWidth,
            clipWidth = _props$clipWidth2 === void 0 ? 0 : _props$clipWidth2,
            _props$clipHeight2 = props.clipHeight,
            clipHeight = _props$clipHeight2 === void 0 ? 0 : _props$clipHeight2,
            _props$translateX2 = props.translateX,
            translateX = _props$translateX2 === void 0 ? 0 : _props$translateX2,
            _props$translateY2 = props.translateY,
            translateY = _props$translateY2 === void 0 ? 0 : _props$translateY2,
            circleComponent = props.circleComponent,
            rectComponent = props.rectComponent,
            clipPathComponent = props.clipPathComponent;
  
        var _Helpers$getPadding = _victory_util_helpers__WEBPACK_IMPORTED_MODULE_6__.getPadding({
          padding: props.clipPadding
        }),
            top = _Helpers$getPadding.top,
            bottom = _Helpers$getPadding.bottom,
            left = _Helpers$getPadding.left,
            right = _Helpers$getPadding.right;
  
        var child;
  
        if (polar) {
          var radius = props.radius || _victory_util_helpers__WEBPACK_IMPORTED_MODULE_6__.getRadius(props);
          var circleProps = {
            r: Math.max(radius + left + right, radius + top + bottom, 0),
            cx: origin.x - left,
            cy: origin.y - top
          };
          child = react__WEBPACK_IMPORTED_MODULE_4___default().cloneElement(circleComponent, circleProps);
        } else {
          var rectProps = {
            x: translateX - left,
            y: translateY - top,
            width: Math.max(clipWidth + left + right, 0),
            height: Math.max(clipHeight + top + bottom, 0)
          };
          child = react__WEBPACK_IMPORTED_MODULE_4___default().cloneElement(rectComponent, rectProps);
        }
  
        return react__WEBPACK_IMPORTED_MODULE_4___default().cloneElement(clipPathComponent, lodash_assign__WEBPACK_IMPORTED_MODULE_3___default()({
          key: "clip-path-".concat(clipId)
        }, props, {
          clipId: clipId
        }), child);
      }
    }, {
      key: "getClipValue",
      value: function getClipValue(props, axis) {
        var clipValues = {
          x: props.clipWidth,
          y: props.clipHeight
        };
  
        if (clipValues[axis] !== undefined) {
          return clipValues[axis];
        }
  
        var range = _victory_util_helpers__WEBPACK_IMPORTED_MODULE_6__.getRange(props, axis);
        return range ? Math.abs(range[0] - range[1]) || undefined : undefined;
      }
    }, {
      key: "getTranslateValue",
      value: function getTranslateValue(props, axis) {
        var translateValues = {
          x: props.translateX,
          y: props.translateY
        };
  
        if (translateValues[axis] !== undefined) {
          return translateValues[axis];
        }
  
        var range = _victory_util_helpers__WEBPACK_IMPORTED_MODULE_6__.getRange(props, axis);
        return range ? Math.min.apply(Math, _toConsumableArray(range)) : undefined;
      }
    }, {
      key: "render",
      value: function render() {
        var clipHeight = this.getClipValue(this.props, "y");
        var clipWidth = this.getClipValue(this.props, "x");
  
        if (clipWidth === undefined || clipHeight === undefined) {
          return this.renderGroup(this.props);
        }
  
        var translateX = this.getTranslateValue(this.props, "x");
        var translateY = this.getTranslateValue(this.props, "y");
  
        var clipProps = lodash_defaults__WEBPACK_IMPORTED_MODULE_2___default()({}, this.props, {
          clipHeight: clipHeight,
          clipWidth: clipWidth,
          translateX: translateX,
          translateY: translateY
        });
  
        return this.renderClippedGroup(clipProps, this.clipId);
      }
    }]);
  
    return VictoryClipContainer;
  }((react__WEBPACK_IMPORTED_MODULE_4___default().Component));
  
  Object.defineProperty(VictoryClipContainer, "displayName", {
    configurable: true,
    enumerable: true,
    writable: true,
    value: "VictoryClipContainer"
  });
  Object.defineProperty(VictoryClipContainer, "role", {
    configurable: true,
    enumerable: true,
    writable: true,
    value: "container"
  });
  Object.defineProperty(VictoryClipContainer, "propTypes", {
    configurable: true,
    enumerable: true,
    writable: true,
    value: {
      "aria-label": (prop_types__WEBPACK_IMPORTED_MODULE_5___default().string),
      children: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_5___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_5___default().node)), (prop_types__WEBPACK_IMPORTED_MODULE_5___default().node)]),
      circleComponent: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().element),
      className: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().string),
      clipHeight: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_7__.nonNegative,
      clipId: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_5___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_5___default().string)]),
      clipPadding: prop_types__WEBPACK_IMPORTED_MODULE_5___default().shape({
        top: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().number),
        bottom: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().number),
        left: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().number),
        right: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().number)
      }),
      clipPathComponent: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().element),
      clipWidth: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_7__.nonNegative,
      events: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object),
      groupComponent: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().element),
      origin: prop_types__WEBPACK_IMPORTED_MODULE_5___default().shape({
        x: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_7__.nonNegative,
        y: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_7__.nonNegative
      }),
      polar: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool),
      radius: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_7__.nonNegative,
      style: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object),
      tabIndex: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().number),
      transform: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().string),
      translateX: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().number),
      translateY: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().number)
    }
  });
  Object.defineProperty(VictoryClipContainer, "defaultProps", {
    configurable: true,
    enumerable: true,
    writable: true,
    value: {
      circleComponent: react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_victory_primitives_circle__WEBPACK_IMPORTED_MODULE_8__["default"], null),
      rectComponent: react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_victory_primitives_rect__WEBPACK_IMPORTED_MODULE_9__["default"], null),
      clipPathComponent: react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_victory_primitives_clip_path__WEBPACK_IMPORTED_MODULE_10__["default"], null),
      groupComponent: react__WEBPACK_IMPORTED_MODULE_4___default().createElement("g", null)
    }
  });
  
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-container/victory-container.js":
  /*!********************************************************************!*\
    !*** ../../victory-core/es/victory-container/victory-container.js ***!
    \********************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ VictoryContainer)
  /* harmony export */ });
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/isFunction */ "../../../node_modules/lodash/isFunction.js");
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var lodash_isObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/isObject */ "../../../node_modules/lodash/isObject.js");
  /* harmony import */ var lodash_isObject__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isObject__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/uniqueId */ "../../../node_modules/lodash/uniqueId.js");
  /* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_uniqueId__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/defaults */ "../../../node_modules/lodash/defaults.js");
  /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_defaults__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/assign */ "../../../node_modules/lodash/assign.js");
  /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../victory-util/prop-types */ "../../victory-core/es/victory-util/prop-types.js");
  /* harmony import */ var _victory_portal_portal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../victory-portal/portal */ "../../victory-core/es/victory-portal/portal.js");
  /* harmony import */ var _victory_portal_portal_context__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../victory-portal/portal-context */ "../../victory-core/es/victory-portal/portal-context.js");
  /* harmony import */ var _victory_util_timer_context__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../victory-util/timer-context */ "../../victory-core/es/victory-util/timer-context.js");
  /* harmony import */ var _victory_util_helpers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../victory-util/helpers */ "../../victory-core/es/victory-util/helpers.js");
  
  
  
  
  
  
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
  
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
  
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  
  function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
  
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  
  
  
  
  
  
  
  
  var VictoryContainer =
  /*#__PURE__*/
  function (_React$Component) {
    _inherits(VictoryContainer, _React$Component);
  
    function VictoryContainer(props) {
      var _this;
  
      _classCallCheck(this, VictoryContainer);
  
      _this = _possibleConstructorReturn(this, (VictoryContainer.__proto__ || Object.getPrototypeOf(VictoryContainer)).call(this, props));
      _this.containerId = !lodash_isObject__WEBPACK_IMPORTED_MODULE_1___default()(props) || props.containerId === undefined ? lodash_uniqueId__WEBPACK_IMPORTED_MODULE_2___default()("victory-container-") : props.containerId;
  
      _this.savePortalRef = function (portal) {
        _this.portalRef = portal;
        return portal;
      };
  
      _this.portalUpdate = function (key, el) {
        return _this.portalRef.portalUpdate(key, el);
      };
  
      _this.portalRegister = function () {
        return _this.portalRef.portalRegister();
      };
  
      _this.portalDeregister = function (key) {
        return _this.portalRef.portalDeregister(key);
      };
  
      _this.saveContainerRef = props && lodash_isFunction__WEBPACK_IMPORTED_MODULE_0___default()(props.containerRef) ? props.containerRef : function (container) {
        _this.containerRef = container;
        return container;
      };
      _this.shouldHandleWheel = props && props.events && props.events.onWheel;
  
      if (_this.shouldHandleWheel) {
        _this.handleWheel = function (e) {
          return e.preventDefault();
        };
      }
  
      return _this;
    }
  
    _createClass(VictoryContainer, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        if (this.shouldHandleWheel && this.containerRef) {
          this.containerRef.addEventListener("wheel", this.handleWheel);
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        if (this.shouldHandleWheel && this.containerRef) {
          this.containerRef.removeEventListener("wheel", this.handleWheel);
        }
      }
    }, {
      key: "getIdForElement",
      value: function getIdForElement(elementName) {
        return "".concat(this.containerId, "-").concat(elementName);
      } // overridden in custom containers
  
    }, {
      key: "getChildren",
      value: function getChildren(props) {
        return props.children;
      } // Get props defined by the Open UI Automation (OUIA) 1.0-RC spec
      // See https://ouia.readthedocs.io/en/latest/README.html#ouia-component
  
    }, {
      key: "getOUIAProps",
      value: function getOUIAProps(props) {
        var ouiaId = props.ouiaId,
            ouiaSafe = props.ouiaSafe,
            ouiaType = props.ouiaType;
        return _objectSpread({}, ouiaId && {
          "data-ouia-component-id": ouiaId
        }, ouiaType && {
          "data-ouia-component-type": ouiaType
        }, ouiaSafe !== undefined && {
          "data-ouia-safe": ouiaSafe
        });
      }
    }, {
      key: "renderContainer",
      value: function renderContainer(props, svgProps, style) {
        var title = props.title,
            desc = props.desc,
            portalComponent = props.portalComponent,
            className = props.className,
            width = props.width,
            height = props.height,
            portalZIndex = props.portalZIndex,
            responsive = props.responsive;
        var children = this.getChildren(props);
        var dimensions = responsive ? {
          width: "100%",
          height: "100%"
        } : {
          width: width,
          height: height
        };
  
        var divStyle = lodash_assign__WEBPACK_IMPORTED_MODULE_4___default()({
          pointerEvents: "none",
          touchAction: "none",
          position: "relative"
        }, dimensions);
  
        var portalDivStyle = lodash_assign__WEBPACK_IMPORTED_MODULE_4___default()({
          zIndex: portalZIndex,
          position: "absolute",
          top: 0,
          left: 0
        }, dimensions);
  
        var svgStyle = lodash_assign__WEBPACK_IMPORTED_MODULE_4___default()({
          pointerEvents: "all"
        }, dimensions);
  
        var portalSvgStyle = lodash_assign__WEBPACK_IMPORTED_MODULE_4___default()({
          overflow: "visible"
        }, dimensions);
  
        var portalProps = {
          width: width,
          height: height,
          viewBox: svgProps.viewBox,
          preserveAspectRatio: svgProps.preserveAspectRatio,
          style: portalSvgStyle
        };
        return react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_victory_portal_portal_context__WEBPACK_IMPORTED_MODULE_7__["default"].Provider, {
          value: {
            portalUpdate: this.portalUpdate,
            portalRegister: this.portalRegister,
            portalDeregister: this.portalDeregister
          }
        }, react__WEBPACK_IMPORTED_MODULE_5___default().createElement("div", _extends({
          style: lodash_defaults__WEBPACK_IMPORTED_MODULE_3___default()({}, style, divStyle),
          className: className,
          ref: this.saveContainerRef
        }, this.getOUIAProps(props)), react__WEBPACK_IMPORTED_MODULE_5___default().createElement("svg", _extends({}, svgProps, {
          style: svgStyle
        }), title ? react__WEBPACK_IMPORTED_MODULE_5___default().createElement("title", {
          id: this.getIdForElement("title")
        }, title) : null, desc ? react__WEBPACK_IMPORTED_MODULE_5___default().createElement("desc", {
          id: this.getIdForElement("desc")
        }, desc) : null, children), react__WEBPACK_IMPORTED_MODULE_5___default().createElement("div", {
          style: portalDivStyle
        }, react__WEBPACK_IMPORTED_MODULE_5___default().cloneElement(portalComponent, _objectSpread({}, portalProps, {
          ref: this.savePortalRef
        })))));
      }
    }, {
      key: "render",
      value: function render() {
        var _props = this.props,
            width = _props.width,
            height = _props.height,
            responsive = _props.responsive,
            events = _props.events,
            title = _props.title,
            desc = _props.desc,
            tabIndex = _props.tabIndex,
            preserveAspectRatio = _props.preserveAspectRatio,
            role = _props.role;
        var style = responsive ? this.props.style : _victory_util_helpers__WEBPACK_IMPORTED_MODULE_8__.omit(this.props.style, ["height", "width"]);
  
        var svgProps = lodash_assign__WEBPACK_IMPORTED_MODULE_4___default()({
          width: width,
          height: height,
          tabIndex: tabIndex,
          role: role,
          "aria-labelledby": [title && this.getIdForElement("title"), this.props["aria-labelledby"]].filter(Boolean).join(" ") || undefined,
          "aria-describedby": [desc && this.getIdForElement("desc"), this.props["aria-describedby"]].filter(Boolean).join(" ") || undefined,
          viewBox: responsive ? "0 0 ".concat(width, " ").concat(height) : undefined,
          preserveAspectRatio: responsive ? preserveAspectRatio : undefined
        }, events);
  
        return this.renderContainer(this.props, svgProps, style);
      }
    }]);
  
    return VictoryContainer;
  }((react__WEBPACK_IMPORTED_MODULE_5___default().Component));
  
  Object.defineProperty(VictoryContainer, "displayName", {
    configurable: true,
    enumerable: true,
    writable: true,
    value: "VictoryContainer"
  });
  Object.defineProperty(VictoryContainer, "role", {
    configurable: true,
    enumerable: true,
    writable: true,
    value: "container"
  });
  Object.defineProperty(VictoryContainer, "propTypes", {
    configurable: true,
    enumerable: true,
    writable: true,
    value: {
      "aria-describedby": (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),
      "aria-labelledby": (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),
      children: prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_6___default().node)), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().node)]),
      className: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),
      containerId: prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_6___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string)]),
      containerRef: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func),
      desc: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),
      events: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object),
      height: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_9__.nonNegative,
      name: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),
      origin: prop_types__WEBPACK_IMPORTED_MODULE_6___default().shape({
        x: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_9__.nonNegative,
        y: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_9__.nonNegative
      }),
      ouiaId: prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_6___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string)]),
      ouiaSafe: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),
      ouiaType: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),
      polar: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),
      portalComponent: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().element),
      portalZIndex: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_9__.integer,
      preserveAspectRatio: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),
      responsive: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),
      role: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),
      style: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object),
      tabIndex: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().number),
      theme: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object),
      title: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),
      width: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_9__.nonNegative
    }
  });
  Object.defineProperty(VictoryContainer, "defaultProps", {
    configurable: true,
    enumerable: true,
    writable: true,
    value: {
      className: "VictoryContainer",
      portalComponent: react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_victory_portal_portal__WEBPACK_IMPORTED_MODULE_10__["default"], null),
      portalZIndex: 99,
      responsive: true,
      role: "img"
    }
  });
  Object.defineProperty(VictoryContainer, "contextType", {
    configurable: true,
    enumerable: true,
    writable: true,
    value: _victory_util_timer_context__WEBPACK_IMPORTED_MODULE_11__["default"]
  });
  
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-portal/portal-context.js":
  /*!**************************************************************!*\
    !*** ../../victory-core/es/victory-portal/portal-context.js ***!
    \**************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  
  /**
   * The React context object consumers may use to access the context of the
   * portal.
   */
  
  var PortalContext = react__WEBPACK_IMPORTED_MODULE_0___default().createContext({});
  PortalContext.displayName = "PortalContext";
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PortalContext);
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-portal/portal.js":
  /*!******************************************************!*\
    !*** ../../victory-core/es/victory-portal/portal.js ***!
    \******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ Portal)
  /* harmony export */ });
  /* harmony import */ var lodash_keys__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/keys */ "../../../node_modules/lodash/keys.js");
  /* harmony import */ var lodash_keys__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_keys__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../victory-util/prop-types */ "../../victory-core/es/victory-util/prop-types.js");
  
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  
  function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
  
  
  
  
  
  var Portal =
  /*#__PURE__*/
  function (_React$Component) {
    _inherits(Portal, _React$Component);
  
    function Portal(props) {
      var _this;
  
      _classCallCheck(this, Portal);
  
      _this = _possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).call(this, props));
      _this.map = {};
      _this.index = 1;
      _this.portalUpdate = _this.portalUpdate.bind(_assertThisInitialized(_this));
      _this.portalRegister = _this.portalRegister.bind(_assertThisInitialized(_this));
      _this.portalDeregister = _this.portalDeregister.bind(_assertThisInitialized(_this));
      return _this;
    }
  
    _createClass(Portal, [{
      key: "portalRegister",
      value: function portalRegister() {
        return ++this.index;
      }
    }, {
      key: "portalUpdate",
      value: function portalUpdate(key, element) {
        this.map[key] = element;
        this.forceUpdate();
      }
    }, {
      key: "portalDeregister",
      value: function portalDeregister(key) {
        delete this.map[key];
        this.forceUpdate();
      }
    }, {
      key: "getChildren",
      value: function getChildren() {
        var _this2 = this;
  
        return lodash_keys__WEBPACK_IMPORTED_MODULE_0___default()(this.map).map(function (key) {
          var el = _this2.map[key];
          return el ? react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(el, {
            key: key
          }) : el;
        });
      } // Overridden in victory-core-native
  
    }, {
      key: "render",
      value: function render() {
        return react__WEBPACK_IMPORTED_MODULE_1___default().createElement("svg", this.props, this.getChildren());
      }
    }]);
  
    return Portal;
  }((react__WEBPACK_IMPORTED_MODULE_1___default().Component));
  
  Object.defineProperty(Portal, "displayName", {
    configurable: true,
    enumerable: true,
    writable: true,
    value: "Portal"
  });
  Object.defineProperty(Portal, "propTypes", {
    configurable: true,
    enumerable: true,
    writable: true,
    value: {
      className: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string),
      height: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_3__.nonNegative,
      style: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object),
      viewBox: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string),
      width: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_3__.nonNegative
    }
  });
  
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-primitives/circle.js":
  /*!**********************************************************!*\
    !*** ../../victory-core/es/victory-primitives/circle.js ***!
    \**********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
  
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
  
  
  
  var Circle = function (props) {
    // eslint-disable-next-line react/prop-types
    var desc = props.desc,
        rest = _objectWithoutProperties(props, ["desc"]);
  
    return desc ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement("circle", _extends({
      vectorEffect: "non-scaling-stroke"
    }, rest), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("desc", null, desc)) : react__WEBPACK_IMPORTED_MODULE_0___default().createElement("circle", _extends({
      vectorEffect: "non-scaling-stroke"
    }, rest));
  };
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Circle);
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-primitives/clip-path.js":
  /*!*************************************************************!*\
    !*** ../../victory-core/es/victory-primitives/clip-path.js ***!
    \*************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
  
  
  
  var ClipPath = function (props) {
    return react__WEBPACK_IMPORTED_MODULE_0___default().createElement("defs", null, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("clipPath", {
      id: props.clipId
    }, props.children));
  };
  
  ClipPath.propTypes = {
    children: prop_types__WEBPACK_IMPORTED_MODULE_1___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_1___default().node)), (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node)]),
    clipId: prop_types__WEBPACK_IMPORTED_MODULE_1___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_1___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)])
  };
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ClipPath);
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-primitives/rect.js":
  /*!********************************************************!*\
    !*** ../../victory-core/es/victory-primitives/rect.js ***!
    \********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
  
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
  
  
  
  var Rect = function (props) {
    // eslint-disable-next-line react/prop-types
    var desc = props.desc,
        rest = _objectWithoutProperties(props, ["desc"]);
  
    return desc ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement("rect", _extends({
      vectorEffect: "non-scaling-stroke"
    }, rest), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("desc", null, desc)) : react__WEBPACK_IMPORTED_MODULE_0___default().createElement("rect", _extends({
      vectorEffect: "non-scaling-stroke"
    }, rest));
  };
  
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Rect);
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-util/axis.js":
  /*!**************************************************!*\
    !*** ../../victory-core/es/victory-util/axis.js ***!
    \**************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "getAxis": () => (/* binding */ getAxis),
  /* harmony export */   "findAxisComponents": () => (/* binding */ findAxisComponents),
  /* harmony export */   "getAxisComponent": () => (/* binding */ getAxisComponent),
  /* harmony export */   "getAxisComponentsWithParent": () => (/* binding */ getAxisComponentsWithParent),
  /* harmony export */   "getOrigin": () => (/* binding */ getOrigin),
  /* harmony export */   "getOriginSign": () => (/* binding */ getOriginSign),
  /* harmony export */   "isVertical": () => (/* binding */ isVertical),
  /* harmony export */   "stringTicks": () => (/* binding */ stringTicks),
  /* harmony export */   "getTickFormat": () => (/* binding */ getTickFormat),
  /* harmony export */   "getTicks": () => (/* binding */ getTicks),
  /* harmony export */   "getDomain": () => (/* binding */ getDomain),
  /* harmony export */   "getAxisValue": () => (/* binding */ getAxisValue),
  /* harmony export */   "modifyProps": () => (/* binding */ modifyProps)
  /* harmony export */ });
  /* harmony import */ var lodash_without__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/without */ "../../../node_modules/lodash/without.js");
  /* harmony import */ var lodash_without__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_without__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var lodash_includes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/includes */ "../../../node_modules/lodash/includes.js");
  /* harmony import */ var lodash_includes__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_includes__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var lodash_values__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/values */ "../../../node_modules/lodash/values.js");
  /* harmony import */ var lodash_values__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_values__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var lodash_orderBy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/orderBy */ "../../../node_modules/lodash/orderBy.js");
  /* harmony import */ var lodash_orderBy__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_orderBy__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var lodash_range__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/range */ "../../../node_modules/lodash/range.js");
  /* harmony import */ var lodash_range__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_range__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var lodash_uniq__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/uniq */ "../../../node_modules/lodash/uniq.js");
  /* harmony import */ var lodash_uniq__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_uniq__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var lodash_invert__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/invert */ "../../../node_modules/lodash/invert.js");
  /* harmony import */ var lodash_invert__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_invert__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var lodash_isObject__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash/isObject */ "../../../node_modules/lodash/isObject.js");
  /* harmony import */ var lodash_isObject__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash_isObject__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash/isFunction */ "../../../node_modules/lodash/isFunction.js");
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_8__);
  /* harmony import */ var lodash_identity__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! lodash/identity */ "../../../node_modules/lodash/identity.js");
  /* harmony import */ var lodash_identity__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(lodash_identity__WEBPACK_IMPORTED_MODULE_9__);
  /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! lodash/defaults */ "../../../node_modules/lodash/defaults.js");
  /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(lodash_defaults__WEBPACK_IMPORTED_MODULE_10__);
  /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! lodash/assign */ "../../../node_modules/lodash/assign.js");
  /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_11__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__);
  /* harmony import */ var _collection__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./collection */ "../../victory-core/es/victory-util/collection.js");
  /* harmony import */ var _domain__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./domain */ "../../victory-core/es/victory-util/domain.js");
  /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./helpers */ "../../victory-core/es/victory-util/helpers.js");
  
  
  
  
  
  
  
  
  
  
  
  
  
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
  
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
  
  function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
  
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
  
  /* eslint-disable func-style */
  
  
  
  
  /**
   * Returns the axis (x or y) of a particular axis component
   * @param {Object} props: the props object.
   * @param {Boolean} horizontal: true for horizontal charts
   * @returns {String} the dimension appropriate for the axis given its props
   */
  
  function getAxis(props) {
    var dependentAxis = props.dependentAxis;
    return dependentAxis ? "y" : "x";
  }
  /**
   * Returns all axis components that pass a given predicate
   * @param {Array} childComponents: an array of children
   * @param {Function} predicate: a predicate function that will be called with each
   * @returns {Array} all axis components that pass the given predicate or []
   */
  
  function findAxisComponents(childComponents, predicate) {
    predicate = predicate || (lodash_identity__WEBPACK_IMPORTED_MODULE_9___default());
  
    var findAxes = function (children) {
      return children.reduce(function (memo, child) {
        if (child.type && child.type.role === "axis" && predicate(child)) {
          return memo.concat(child);
        } else if (child.props && child.props.children) {
          return memo.concat(findAxes(react__WEBPACK_IMPORTED_MODULE_12___default().Children.toArray(child.props.children)));
        }
  
        return memo;
      }, []);
    };
  
    return findAxes(childComponents);
  }
  /**
   * Returns a single axis component of the desired axis type (x or y)
   * @param {Array} childComponents: an array of children
   * @param {String} axis: desired axis either "x" or "y".
   * @returns {ReactComponent} an axis component of the desired axis or undefined
   */
  
  function getAxisComponent(childComponents, axis) {
    var matchesAxis = function (component) {
      var type = component.type.getAxis(component.props);
      return type === axis;
    };
  
    return findAxisComponents(childComponents, matchesAxis)[0];
  }
  /**
   * Returns all axis components of the desired axis type (x or y) along with any
   * parent components excluding VictoryChart
   * @param {Array} childComponents: an optional array of children.
   * @param {String} type: desired axis either "dependent" or "independent".
   * @returns {ReactComponent} an axis component of the desired type or undefined
   */
  
  function getAxisComponentsWithParent(childComponents, type) {
    var matchesType = function (child) {
      return type === "dependent" ? child.props.dependentAxis : !child.props.dependentAxis;
    };
  
    var findComponents = function (children) {
      return children.reduce(function (memo, child) {
        if (child.type && child.type.role === "axis" && matchesType(child)) {
          return memo.concat(child);
        } else if (child.props && child.props.children) {
          var childAxis = findComponents(react__WEBPACK_IMPORTED_MODULE_12___default().Children.toArray(child.props.children));
          return childAxis.length > 0 ? memo.concat(child) : memo;
        }
  
        return memo;
      }, []);
    };
  
    return findComponents(childComponents);
  }
  function getOrigin(domain) {
    var getSingleOrigin = function (d) {
      var domainMin = Math.min.apply(Math, _toConsumableArray(d));
      var domainMax = Math.max.apply(Math, _toConsumableArray(d));
      return domainMax < 0 ? domainMax : Math.max(0, domainMin);
    };
  
    return {
      x: _collection__WEBPACK_IMPORTED_MODULE_13__.containsDates(domain.x) ? new Date(Math.min.apply(Math, _toConsumableArray(domain.x))) : getSingleOrigin(domain.x),
      y: _collection__WEBPACK_IMPORTED_MODULE_13__.containsDates(domain.y) ? new Date(Math.min.apply(Math, _toConsumableArray(domain.y))) : getSingleOrigin(domain.y)
    };
  }
  function getOriginSign(origin, domain) {
    var getSign = function () {
      return origin <= 0 && Math.max.apply(Math, _toConsumableArray(domain)) <= 0 ? "negative" : "positive";
    };
  
    return _collection__WEBPACK_IMPORTED_MODULE_13__.containsDates(domain) ? "positive" : getSign();
  }
  /**
   * @param {Object} props: axis component props
   * @returns {Boolean} true when the axis is vertical
   */
  
  function isVertical(props) {
    var orientation = props.orientation || (props.dependentAxis ? "left" : "bottom");
    var vertical = {
      top: false,
      bottom: false,
      left: true,
      right: true
    };
    return vertical[orientation];
  }
  /**
   * @param {Object} props: axis component props
   * @returns {Boolean} true when tickValues contain strings
   */
  
  function stringTicks(props) {
    return props.tickValues !== undefined && _collection__WEBPACK_IMPORTED_MODULE_13__.containsStrings(props.tickValues);
  }
  
  function getDefaultTickFormat(props) {
    var tickValues = props.tickValues;
    var axis = getAxis(props);
    var stringMap = props.stringMap && props.stringMap[axis];
    var fallbackFormat = tickValues && !_collection__WEBPACK_IMPORTED_MODULE_13__.containsDates(tickValues) ? function (x) {
      return x;
    } : undefined;
  
    if (!stringMap) {
      return stringTicks(props) ? function (x, index) {
        return tickValues[index];
      } : fallbackFormat;
    } else {
      var invertedStringMap = stringMap && lodash_invert__WEBPACK_IMPORTED_MODULE_6___default()(stringMap);
  
      var tickValueArray = lodash_orderBy__WEBPACK_IMPORTED_MODULE_3___default()(lodash_values__WEBPACK_IMPORTED_MODULE_2___default()(stringMap), function (n) {
        return n;
      });
  
      var dataNames = tickValueArray.map(function (tick) {
        return invertedStringMap[tick];
      }); // string ticks should have one tick of padding at the beginning
  
      var dataTicks = [""].concat(_toConsumableArray(dataNames), [""]);
      return function (x) {
        return dataTicks[x];
      };
    }
  }
  
  function getStringTicks(props) {
    var axis = getAxis(props);
    var stringMap = props.stringMap && props.stringMap[axis];
    var categories = Array.isArray(props.categories) ? props.categories : props.categories && props.categories[axis];
    var ticksFromCategories = categories && _collection__WEBPACK_IMPORTED_MODULE_13__.containsOnlyStrings(categories) ? categories.map(function (tick) {
      return stringMap[tick];
    }) : undefined;
  
    var ticksFromStringMap = stringMap && lodash_values__WEBPACK_IMPORTED_MODULE_2___default()(stringMap);
  
    return ticksFromCategories && ticksFromCategories.length !== 0 ? ticksFromCategories : ticksFromStringMap;
  }
  
  function getTickArray(props) {
    var tickValues = props.tickValues,
        tickFormat = props.tickFormat;
    var axis = getAxis(props);
    var stringMap = props.stringMap && props.stringMap[axis];
  
    var getTicksFromFormat = function () {
      if (!tickFormat || !Array.isArray(tickFormat)) {
        return undefined;
      }
  
      return _collection__WEBPACK_IMPORTED_MODULE_13__.containsStrings(tickFormat) ? tickFormat.map(function (t, i) {
        return i;
      }) : tickFormat;
    };
  
    var ticks = tickValues;
  
    if (stringMap) {
      ticks = getStringTicks(props);
    }
  
    if (tickValues && _collection__WEBPACK_IMPORTED_MODULE_13__.containsStrings(tickValues)) {
      ticks = stringMap ? tickValues.map(function (tick) {
        return stringMap[tick];
      }) : lodash_range__WEBPACK_IMPORTED_MODULE_4___default()(1, tickValues.length + 1);
    }
  
    var tickArray = ticks ? lodash_uniq__WEBPACK_IMPORTED_MODULE_5___default()(ticks) : getTicksFromFormat(props);
  
    var buildTickArray = function (arr) {
      var newTickArray = [];
      var domain = props.domain && props.domain[axis] || props.domain;
  
      if (arr) {
        arr.forEach(function (t, index) {
          if (Array.isArray(domain)) {
            if (t >= _collection__WEBPACK_IMPORTED_MODULE_13__.getMinValue(domain) && t <= _collection__WEBPACK_IMPORTED_MODULE_13__.getMaxValue(domain)) {
              newTickArray.push({
                value: t,
                index: index
              });
            }
          } else {
            newTickArray.push({
              value: t,
              index: index
            });
          }
        });
        return newTickArray;
      } else return undefined;
    };
  
    return Array.isArray(tickArray) && tickArray.length ? buildTickArray(tickArray) : undefined;
  }
  
  function getTickFormat(props, scale) {
    var tickFormat = props.tickFormat;
    var axis = getAxis(props);
    var stringMap = props.stringMap && props.stringMap[axis];
  
    if (!tickFormat) {
      var defaultTickFormat = getDefaultTickFormat(props);
      var scaleTickFormat = scale.tickFormat && lodash_isFunction__WEBPACK_IMPORTED_MODULE_8___default()(scale.tickFormat) ? scale.tickFormat() : function (x) {
        return x;
      };
      return defaultTickFormat || scaleTickFormat;
    } else if (tickFormat && Array.isArray(tickFormat)) {
      var tickArray = getTickArray(props);
      var tickArrayIndices = tickArray ? tickArray.map(function (v) {
        return v.index;
      }) : undefined;
      var filteredTickFormat = tickFormat.filter(function (t, index) {
        return tickArrayIndices.includes(index);
      });
      return function (x, index) {
        return filteredTickFormat[index];
      };
    } else if (tickFormat && lodash_isFunction__WEBPACK_IMPORTED_MODULE_8___default()(tickFormat)) {
      var applyStringTicks = function (tick, index, ticks) {
        var invertedStringMap = lodash_invert__WEBPACK_IMPORTED_MODULE_6___default()(stringMap);
  
        var stringTickArray = ticks.map(function (t) {
          return invertedStringMap[t];
        });
        return props.tickFormat(invertedStringMap[tick], index, stringTickArray);
      };
  
      return stringMap ? applyStringTicks : tickFormat;
    } else {
      return function (x) {
        return x;
      };
    }
  }
  
  function downsampleTicks(ticks, tickCount) {
    if (!tickCount || !Array.isArray(ticks) || ticks.length <= tickCount) {
      return ticks;
    }
  
    var k = Math.floor(ticks.length / tickCount);
    return ticks.filter(function (d, i) {
      return i % k === 0;
    });
  }
  
  function getTicks(props, scale, filterZero) {
    var tickCount = props.tickCount;
    var tickArray = getTickArray(props);
    var tickValues = tickArray ? tickArray.map(function (v) {
      return v.value;
    }) : undefined;
  
    if (tickValues) {
      return downsampleTicks(tickValues, tickCount);
    } else if (scale.ticks && lodash_isFunction__WEBPACK_IMPORTED_MODULE_8___default()(scale.ticks)) {
      // eslint-disable-next-line no-magic-numbers
      var defaultTickCount = tickCount || 5;
      var scaleTicks = scale.ticks(defaultTickCount);
      var scaledTickArray = Array.isArray(scaleTicks) && scaleTicks.length ? scaleTicks : scale.domain();
      var ticks = downsampleTicks(scaledTickArray, tickCount);
  
      if (filterZero) {
        var filteredTicks = lodash_includes__WEBPACK_IMPORTED_MODULE_1___default()(ticks, 0) ? lodash_without__WEBPACK_IMPORTED_MODULE_0___default()(ticks, 0) : ticks;
        return filteredTicks.length ? filteredTicks : ticks;
      }
  
      return ticks;
    }
  
    return scale.domain();
  }
  /**
   * Returns a domain based tickValues
   * @param {Object} props: the props object
   * @param {String} axis: either x or y
   * @returns {Array} returns a domain from tickValues
   */
  //eslint-disable-next-line max-statements
  
  function getDomainFromData(props, axis) {
    var polar = props.polar,
        _props$startAngle = props.startAngle,
        startAngle = _props$startAngle === void 0 ? 0 : _props$startAngle,
        _props$endAngle = props.endAngle,
        endAngle = _props$endAngle === void 0 ? 360 : _props$endAngle;
    var tickArray = getTickArray(props);
    var tickValues = tickArray ? tickArray.map(function (v) {
      return v.value;
    }) : undefined;
  
    if (!Array.isArray(tickValues)) {
      return undefined;
    }
  
    var minDomain = _domain__WEBPACK_IMPORTED_MODULE_14__.getMinFromProps(props, axis);
    var maxDomain = _domain__WEBPACK_IMPORTED_MODULE_14__.getMaxFromProps(props, axis);
    var tickStrings = stringTicks(props);
    var ticks = tickValues.map(function (value) {
      return +value;
    });
    var defaultMin = tickStrings ? 1 : _collection__WEBPACK_IMPORTED_MODULE_13__.getMinValue(ticks);
    var defaultMax = tickStrings ? tickValues.length : _collection__WEBPACK_IMPORTED_MODULE_13__.getMaxValue(ticks);
    var min = minDomain !== undefined ? minDomain : defaultMin;
    var max = maxDomain !== undefined ? maxDomain : defaultMax;
    var initialDomain = _domain__WEBPACK_IMPORTED_MODULE_14__.getDomainFromMinMax(min, max);
    var domain = polar && axis === "x" && Math.abs(startAngle - endAngle) === 360 ? _domain__WEBPACK_IMPORTED_MODULE_14__.getSymmetricDomain(initialDomain, ticks) : initialDomain;
  
    if (isVertical(props) && !polar) {
      domain.reverse();
    }
  
    return domain;
  } // exposed for use by VictoryChart
  
  
  function getDomain(props, axis) {
    var inherentAxis = getAxis(props);
  
    if (axis && axis !== inherentAxis) {
      return undefined;
    }
  
    return _domain__WEBPACK_IMPORTED_MODULE_14__.createDomainFunction(getDomainFromData)(props, inherentAxis);
  }
  function getAxisValue(props, axis) {
    if (!props.axisValue) {
      return undefined;
    }
  
    var scaleAxis = axis === "x" ? "y" : "x";
    var scale = lodash_isObject__WEBPACK_IMPORTED_MODULE_7___default()(props.scale) && lodash_isFunction__WEBPACK_IMPORTED_MODULE_8___default()(props.scale[scaleAxis]) ? props.scale[scaleAxis] : undefined;
  
    if (!scale) {
      return undefined;
    }
  
    var stringMapAxis = axis === "x" ? "y" : "x";
    var stringMap = lodash_isObject__WEBPACK_IMPORTED_MODULE_7___default()(props.stringMap) && props.stringMap[stringMapAxis];
    var axisValue = stringMap && typeof props.axisValue === "string" ? stringMap[props.axisValue] : props.axisValue;
    return scale(axisValue);
  }
  function modifyProps(props, fallbackProps) {
    if (!lodash_isObject__WEBPACK_IMPORTED_MODULE_7___default()(props.theme)) {
      return _helpers__WEBPACK_IMPORTED_MODULE_15__.modifyProps(props, fallbackProps, "axis");
    }
  
    var role = "axis";
  
    if (props.dependentAxis && props.theme.dependentAxis) {
      role = "dependentAxis";
    } else if (!props.dependentAxis && props.theme.independentAxis) {
      role = "independentAxis";
    }
  
    if (role === "axis") {
      return _helpers__WEBPACK_IMPORTED_MODULE_15__.modifyProps(props, fallbackProps, "axis");
    }
  
    var axisTheme = lodash_defaults__WEBPACK_IMPORTED_MODULE_10___default()({}, props.theme[role], props.theme.axis);
  
    var theme = lodash_assign__WEBPACK_IMPORTED_MODULE_11___default()({}, props.theme, {
      axis: axisTheme
    });
  
    return _helpers__WEBPACK_IMPORTED_MODULE_15__.modifyProps(lodash_assign__WEBPACK_IMPORTED_MODULE_11___default()({}, props, {
      theme: theme
    }), fallbackProps, "axis");
  }
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-util/collection.js":
  /*!********************************************************!*\
    !*** ../../victory-core/es/victory-util/collection.js ***!
    \********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "containsStrings": () => (/* binding */ containsStrings),
  /* harmony export */   "containsDates": () => (/* binding */ containsDates),
  /* harmony export */   "containsNumbers": () => (/* binding */ containsNumbers),
  /* harmony export */   "containsOnlyStrings": () => (/* binding */ containsOnlyStrings),
  /* harmony export */   "isArrayOfArrays": () => (/* binding */ isArrayOfArrays),
  /* harmony export */   "removeUndefined": () => (/* binding */ removeUndefined),
  /* harmony export */   "getMaxValue": () => (/* binding */ getMaxValue),
  /* harmony export */   "getMinValue": () => (/* binding */ getMinValue)
  /* harmony export */ });
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
  
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
  
  function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
  
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
  
  /* eslint-disable func-style */
  
  /* eslint-disable no-use-before-define */
  function isNonEmptyArray(collection) {
    return Array.isArray(collection) && collection.length > 0;
  }
  
  function containsStrings(collection) {
    return Array.isArray(collection) && collection.some(function (value) {
      return typeof value === "string";
    });
  }
  function containsDates(collection) {
    return Array.isArray(collection) && collection.some(function (value) {
      return value instanceof Date;
    });
  }
  function containsNumbers(collection) {
    return Array.isArray(collection) && collection.some(function (value) {
      return typeof value === "number";
    });
  }
  function containsOnlyStrings(collection) {
    return isNonEmptyArray(collection) && collection.every(function (value) {
      return typeof value === "string";
    });
  }
  function isArrayOfArrays(collection) {
    return isNonEmptyArray(collection) && collection.every(Array.isArray);
  }
  function removeUndefined(arr) {
    return arr.filter(function (el) {
      return el !== undefined;
    });
  }
  function getMaxValue(arr) {
    for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
      values[_key - 1] = arguments[_key];
    }
  
    var array = arr.concat(values);
    return containsDates(array) ? new Date(Math.max.apply(Math, _toConsumableArray(array))) : Math.max.apply(Math, _toConsumableArray(array));
  }
  function getMinValue(arr) {
    for (var _len2 = arguments.length, values = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
      values[_key2 - 1] = arguments[_key2];
    }
  
    var array = arr.concat(values);
    return containsDates(array) ? new Date(Math.min.apply(Math, _toConsumableArray(array))) : Math.min.apply(Math, _toConsumableArray(array));
  }
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-util/data.js":
  /*!**************************************************!*\
    !*** ../../victory-core/es/victory-util/data.js ***!
    \**************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "formatDataFromDomain": () => (/* binding */ formatDataFromDomain),
  /* harmony export */   "createStringMap": () => (/* binding */ createStringMap),
  /* harmony export */   "downsample": () => (/* binding */ downsample),
  /* harmony export */   "formatData": () => (/* binding */ formatData),
  /* harmony export */   "generateData": () => (/* binding */ generateData),
  /* harmony export */   "getCategories": () => (/* binding */ getCategories),
  /* harmony export */   "getData": () => (/* binding */ getData),
  /* harmony export */   "getStringsFromAxes": () => (/* binding */ getStringsFromAxes),
  /* harmony export */   "getStringsFromCategories": () => (/* binding */ getStringsFromCategories),
  /* harmony export */   "getStringsFromData": () => (/* binding */ getStringsFromData),
  /* harmony export */   "isDataComponent": () => (/* binding */ isDataComponent)
  /* harmony export */ });
  /* harmony import */ var lodash_omitBy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/omitBy */ "../../../node_modules/lodash/omitBy.js");
  /* harmony import */ var lodash_omitBy__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_omitBy__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var lodash_isUndefined__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/isUndefined */ "../../../node_modules/lodash/isUndefined.js");
  /* harmony import */ var lodash_isUndefined__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isUndefined__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var lodash_includes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/includes */ "../../../node_modules/lodash/includes.js");
  /* harmony import */ var lodash_includes__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_includes__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/isEqual */ "../../../node_modules/lodash/isEqual.js");
  /* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_isEqual__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/isEmpty */ "../../../node_modules/lodash/isEmpty.js");
  /* harmony import */ var lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var lodash_orderBy__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/orderBy */ "../../../node_modules/lodash/orderBy.js");
  /* harmony import */ var lodash_orderBy__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_orderBy__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var lodash_property__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/property */ "../../../node_modules/lodash/property.js");
  /* harmony import */ var lodash_property__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_property__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash/isPlainObject */ "../../../node_modules/lodash/isPlainObject.js");
  /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash/isFunction */ "../../../node_modules/lodash/isFunction.js");
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_8__);
  /* harmony import */ var lodash_last__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! lodash/last */ "../../../node_modules/lodash/last.js");
  /* harmony import */ var lodash_last__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(lodash_last__WEBPACK_IMPORTED_MODULE_9__);
  /* harmony import */ var lodash_range__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! lodash/range */ "../../../node_modules/lodash/range.js");
  /* harmony import */ var lodash_range__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(lodash_range__WEBPACK_IMPORTED_MODULE_10__);
  /* harmony import */ var lodash_uniq__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! lodash/uniq */ "../../../node_modules/lodash/uniq.js");
  /* harmony import */ var lodash_uniq__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(lodash_uniq__WEBPACK_IMPORTED_MODULE_11__);
  /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! lodash/assign */ "../../../node_modules/lodash/assign.js");
  /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_12__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_13__);
  /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./helpers */ "../../victory-core/es/victory-util/helpers.js");
  /* harmony import */ var _collection__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./collection */ "../../victory-core/es/victory-util/collection.js");
  /* harmony import */ var _scale__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./scale */ "../../victory-core/es/victory-util/scale.js");
  /* harmony import */ var _immutable__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./immutable */ "../../victory-core/es/victory-util/immutable.js");
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
  
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
  
  function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
  
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
  
  /* eslint-disable func-style */
  
  /* eslint-disable no-use-before-define */
  
  
  
  
   // Private Functions
  
  function parseDatum(datum) {
    var immutableDatumWhitelist = {
      errorX: true,
      errorY: true
    };
    return _immutable__WEBPACK_IMPORTED_MODULE_14__.isImmutable(datum) ? _immutable__WEBPACK_IMPORTED_MODULE_14__.shallowToJS(datum, immutableDatumWhitelist) : datum;
  }
  
  function getLength(data) {
    return _immutable__WEBPACK_IMPORTED_MODULE_14__.isIterable(data) ? data.size : data.length;
  } // Returns generated data for a given axis based on domain and sample from props
  
  
  function generateDataArray(props, axis) {
    var propsDomain = lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_7___default()(props.domain) ? props.domain[axis] : props.domain;
    var domain = propsDomain || _scale__WEBPACK_IMPORTED_MODULE_15__.getBaseScale(props, axis).domain();
    var samples = props.samples || 1;
    var domainMax = Math.max.apply(Math, _toConsumableArray(domain));
    var domainMin = Math.min.apply(Math, _toConsumableArray(domain));
    var step = (domainMax - domainMin) / samples;
  
    var values = lodash_range__WEBPACK_IMPORTED_MODULE_10___default()(domainMin, domainMax, step);
  
    return lodash_last__WEBPACK_IMPORTED_MODULE_9___default()(values) === domainMax ? values : values.concat(domainMax);
  } // Returns sorted data. If no sort keys are provided, data is returned unaltered.
  
  
  function sortData(dataset, sortKey) {
    var sortOrder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "ascending";
  
    if (!sortKey) {
      return dataset;
    } // Ensures previous VictoryLine api for sortKey prop stays consistent
  
  
    if (sortKey === "x" || sortKey === "y") {
      sortKey = "_".concat(sortKey);
    }
  
    var order = sortOrder === "ascending" ? "asc" : "desc";
    return lodash_orderBy__WEBPACK_IMPORTED_MODULE_5___default()(dataset, sortKey, order);
  } // This method will remove data points that break certain scales. (log scale only)
  
  
  function cleanData(dataset, props) {
    var smallNumber = 1 / Number.MAX_SAFE_INTEGER;
    var scaleType = {
      x: _scale__WEBPACK_IMPORTED_MODULE_15__.getScaleType(props, "x"),
      y: _scale__WEBPACK_IMPORTED_MODULE_15__.getScaleType(props, "y")
    };
  
    if (scaleType.x !== "log" && scaleType.y !== "log") {
      return dataset;
    }
  
    var rules = function (datum, axis) {
      return scaleType[axis] === "log" ? datum["_".concat(axis)] !== 0 : true;
    };
  
    var sanitize = function (datum) {
      var _x = rules(datum, "x") ? datum._x : smallNumber;
  
      var _y = rules(datum, "y") ? datum._y : smallNumber;
  
      var _y0 = rules(datum, "y0") ? datum._y0 : smallNumber;
  
      return lodash_assign__WEBPACK_IMPORTED_MODULE_12___default()({}, datum, {
        _x: _x,
        _y: _y,
        _y0: _y0
      });
    };
  
    return dataset.map(function (datum) {
      if (rules(datum, "x") && rules(datum, "y") && rules(datum, "y0")) {
        return datum;
      }
  
      return sanitize(datum);
    });
  } // Returns a data accessor given an eventKey prop
  
  
  function getEventKey(key) {
    // creates a data accessor function
    // given a property key, path, array index, or null for identity.
    if (lodash_isFunction__WEBPACK_IMPORTED_MODULE_8___default()(key)) {
      return key;
    } else if (key === null || key === undefined) {
      return function () {
        return undefined;
      };
    } // otherwise, assume it is an array index, property key or path (_.property handles all three)
  
  
    return lodash_property__WEBPACK_IMPORTED_MODULE_6___default()(key);
  } // Returns data with an eventKey prop added to each datum
  
  
  function addEventKeys(props, data) {
    var hasEventKeyAccessor = !!props.eventKey;
    var eventKeyAccessor = getEventKey(props.eventKey);
    return data.map(function (datum, index) {
      if (datum.eventKey !== undefined) {
        return datum;
      } else if (hasEventKeyAccessor) {
        var eventKey = eventKeyAccessor(datum, index);
        return eventKey !== undefined ? lodash_assign__WEBPACK_IMPORTED_MODULE_12___default()({
          eventKey: eventKey
        }, datum) : datum;
      } else {
        return datum;
      }
    });
  } // Exported Functions
  // This method will remove data points that fall outside of the desired domain (non-continuous charts only)
  
  
  function formatDataFromDomain(dataset, domain, defaultBaseline) {
    var exists = function (val) {
      return val !== undefined;
    };
  
    var minDomainX = _collection__WEBPACK_IMPORTED_MODULE_16__.getMinValue(domain.x);
    var maxDomainX = _collection__WEBPACK_IMPORTED_MODULE_16__.getMaxValue(domain.x);
    var minDomainY = _collection__WEBPACK_IMPORTED_MODULE_16__.getMinValue(domain.y);
    var maxDomainY = _collection__WEBPACK_IMPORTED_MODULE_16__.getMaxValue(domain.y);
  
    var underMin = function (min) {
      return function (val) {
        return exists(val) && val < min;
      };
    };
  
    var overMax = function (max) {
      return function (val) {
        return exists(val) && val > max;
      };
    };
  
    var isUnderMinX = underMin(minDomainX);
    var isUnderMinY = underMin(minDomainY);
    var isOverMaxX = overMax(maxDomainX);
    var isOverMaxY = overMax(maxDomainY); // eslint-disable-next-line complexity
  
    return dataset.map(function (datum) {
      var _x = datum._x,
          _y = datum._y,
          _y0 = datum._y0,
          _y1 = datum._y1; // single x point less than min domain
  
      if (isUnderMinX(_x) || isOverMaxX(_x)) _x = null;
      var baseline = exists(_y0) ? _y0 : defaultBaseline;
      var value = exists(_y1) ? _y1 : _y;
      if (!exists(value)) return datum; // value only and less than min domain or greater than max domain
  
      if (!exists(baseline) && (isUnderMinY(value) || isOverMaxY(value))) _y = null; // baseline and value are both less than min domain or both greater than max domain
  
      if (isUnderMinY(baseline) && isUnderMinY(value) || isOverMaxY(baseline) && isOverMaxY(value)) _y = _y0 = _y1 = null; // baseline and value with only baseline below min, set baseline to minDomainY
  
      if (isUnderMinY(baseline) && !isUnderMinY(value)) _y0 = minDomainY; // baseline and value with only baseline above max, set baseline to maxDomainY
  
      if (isOverMaxY(baseline) && !isOverMaxY(value)) _y0 = maxDomainY;
      return lodash_assign__WEBPACK_IMPORTED_MODULE_12___default()({}, datum, lodash_omitBy__WEBPACK_IMPORTED_MODULE_0___default()({
        _x: _x,
        _y: _y,
        _y0: _y0,
        _y1: _y1
      }, (lodash_isUndefined__WEBPACK_IMPORTED_MODULE_1___default())));
    });
  }
  /**
   * Returns an object mapping string data to numeric data
   * @param {Object} props: the props object
   * @param {String} axis: the current axis
   * @returns {Object} an object mapping string data to numeric data
   */
  
  function createStringMap(props, axis) {
    var stringsFromAxes = getStringsFromAxes(props, axis);
    var stringsFromCategories = getStringsFromCategories(props, axis);
    var stringsFromData = getStringsFromData(props, axis);
  
    var allStrings = lodash_uniq__WEBPACK_IMPORTED_MODULE_11___default()(_toConsumableArray(stringsFromAxes).concat(_toConsumableArray(stringsFromCategories), _toConsumableArray(stringsFromData)));
  
    return allStrings.length === 0 ? null : allStrings.reduce(function (memo, string, index) {
      memo[string] = index + 1;
      return memo;
    }, {});
  }
  /**
   * Reduces the size of a data array, such that it is <= maxPoints.
   * @param {Array} data: an array of data; must be sorted
   * @param {Number} maxPoints: maximum number of data points to return
   * @param {Number} startingIndex: the index of the data[0] *in the entire dataset*; this function
                     assumes `data` param is a subset of larger dataset that has been zoommed
    * @returns {Array} an array of data, a subset of data param
    */
  
  function downsample(data, maxPoints) {
    var startingIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
    // ensures that the downampling of data while zooming looks good.
    var dataLength = getLength(data);
  
    if (dataLength > maxPoints) {
      // limit k to powers of 2, e.g. 64, 128, 256
      // so that the same points will be chosen reliably, reducing flicker on zoom
      var k = Math.pow(2, Math.ceil(Math.log2(dataLength / maxPoints)));
      return data.filter( // ensure modulo is always calculated from same reference: i + startingIndex
      function (d, i) {
        return (i + startingIndex) % k === 0;
      });
    }
  
    return data;
  }
  /**
   * Returns formatted data. Data accessors are applied, and string values are replaced.
   * @param {Array} dataset: the original domain
   * @param {Object} props: the props object
   * @param {Array} expectedKeys: an array of expected data keys
   * @returns {Array} the formatted data
   */
  
  function formatData(dataset, props, expectedKeys) {
    var isArrayOrIterable = Array.isArray(dataset) || _immutable__WEBPACK_IMPORTED_MODULE_14__.isIterable(dataset);
  
    if (!isArrayOrIterable || getLength(dataset) < 1) {
      return [];
    }
  
    var defaultKeys = ["x", "y", "y0"];
    expectedKeys = Array.isArray(expectedKeys) ? expectedKeys : defaultKeys;
  
    var createAccessor = function (name) {
      return _helpers__WEBPACK_IMPORTED_MODULE_17__.createAccessor(props[name] !== undefined ? props[name] : name);
    };
  
    var accessor = expectedKeys.reduce(function (memo, type) {
      memo[type] = createAccessor(type);
      return memo;
    }, {});
    var preformattedData = lodash_isEqual__WEBPACK_IMPORTED_MODULE_3___default()(expectedKeys, defaultKeys) && props.x === "_x" && props.y === "_y" && props.y0 === "_y0";
    var stringMap;
  
    if (preformattedData === false) {
      // stringMap is not required if the data is preformatted
      stringMap = {
        x: expectedKeys.indexOf("x") !== -1 ? createStringMap(props, "x") : undefined,
        y: expectedKeys.indexOf("y") !== -1 ? createStringMap(props, "y") : undefined,
        y0: expectedKeys.indexOf("y0") !== -1 ? createStringMap(props, "y") : undefined
      };
    }
  
    var data = preformattedData ? dataset : dataset.reduce(function (dataArr, datum, index) {
      // eslint-disable-line complexity
      datum = parseDatum(datum);
      var fallbackValues = {
        x: index,
        y: datum
      };
      var processedValues = expectedKeys.reduce(function (memo, type) {
        var processedValue = accessor[type](datum);
        var value = processedValue !== undefined ? processedValue : fallbackValues[type];
  
        if (value !== undefined) {
          if (typeof value === "string" && stringMap[type]) {
            memo["".concat(type, "Name")] = value;
            memo["_".concat(type)] = stringMap[type][value];
          } else {
            memo["_".concat(type)] = value;
          }
        }
  
        return memo;
      }, {});
  
      var formattedDatum = lodash_assign__WEBPACK_IMPORTED_MODULE_12___default()({}, processedValues, datum);
  
      if (!lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4___default()(formattedDatum)) {
        dataArr.push(formattedDatum);
      }
  
      return dataArr;
    }, []);
    var sortedData = sortData(data, props.sortKey, props.sortOrder);
    var cleanedData = cleanData(sortedData, props);
    return addEventKeys(props, cleanedData);
  }
  /**
   * Returns generated x and y data based on domain and sample from props
   * @param {Object} props: the props object
   * @returns {Array} an array of data
   */
  
  function generateData(props) {
    var xValues = generateDataArray(props, "x");
    var yValues = generateDataArray(props, "y");
    var values = xValues.map(function (x, i) {
      return {
        x: x,
        y: yValues[i]
      };
    });
    return values;
  }
  /**
   * Returns an array of categories for a given axis
   * @param {Object} props: the props object
   * @param {String} axis: the current axis
   * @returns {Array} an array of categories
   */
  
  function getCategories(props, axis) {
    return props.categories && !Array.isArray(props.categories) ? props.categories[axis] : props.categories;
  }
  /**
   * Returns an array of formatted data
   * @param {Object} props: the props object
   * @returns {Array} an array of data
   */
  
  function getData(props) {
    return props.data ? formatData(props.data, props) : formatData(generateData(props), props);
  }
  /**
   * Returns an array of strings from axis tickValues for a given axis
   * @param {Object} props: the props object
   * @param {String} axis: the current axis
   * @returns {Array} an array of strings
   */
  
  function getStringsFromAxes(props, axis) {
    var tickValues = props.tickValues,
        tickFormat = props.tickFormat;
    var tickValueArray;
  
    if (!tickValues || !Array.isArray(tickValues) && !tickValues[axis]) {
      tickValueArray = tickFormat && Array.isArray(tickFormat) ? tickFormat : [];
    } else {
      tickValueArray = tickValues[axis] || tickValues;
    }
  
    return tickValueArray.filter(function (val) {
      return typeof val === "string";
    });
  }
  /**
   * Returns an array of strings from categories for a given axis
   * @param {Object} props: the props object
   * @param {String} axis: the current axis
   * @returns {Array} an array of strings
   */
  
  function getStringsFromCategories(props, axis) {
    if (!props.categories) {
      return [];
    }
  
    var categories = getCategories(props, axis);
    var categoryStrings = categories && categories.filter(function (val) {
      return typeof val === "string";
    });
    return categoryStrings ? _collection__WEBPACK_IMPORTED_MODULE_16__.removeUndefined(categoryStrings) : [];
  }
  /**
   * Returns an array of strings from data
   * @param {Object} props: the props object
   * @param {String} axis: the current axis
   * @returns {Array} an array of strings
   */
  
  function getStringsFromData(props, axis) {
    var isArrayOrIterable = Array.isArray(props.data) || _immutable__WEBPACK_IMPORTED_MODULE_14__.isIterable(props.data);
  
    if (!isArrayOrIterable) {
      return [];
    }
  
    var key = props[axis] === undefined ? axis : props[axis];
    var accessor = _helpers__WEBPACK_IMPORTED_MODULE_17__.createAccessor(key); // support immutable data
  
    var data = props.data.reduce(function (memo, d) {
      memo.push(parseDatum(d));
      return memo;
    }, []);
    var sortedData = sortData(data, props.sortKey, props.sortOrder);
    var dataStrings = sortedData.reduce(function (dataArr, datum) {
      datum = parseDatum(datum);
      dataArr.push(accessor(datum));
      return dataArr;
    }, []).filter(function (datum) {
      return typeof datum === "string";
    }); // return a unique set of strings
  
    return dataStrings.reduce(function (prev, curr) {
      if (curr !== undefined && curr !== null && prev.indexOf(curr) === -1) {
        prev.push(curr);
      }
  
      return prev;
    }, []);
  }
  /**
   * Checks whether a given component can be used to calculate data
   * @param {Component} component: a React component instance
   * @returns {Boolean} Returns true if the given component has a role included in the whitelist
   */
  
  function isDataComponent(component) {
    var getRole = function (child) {
      return child && child.type ? child.type.role : "";
    };
  
    var role = getRole(component);
  
    if (role === "portal") {
      var children = react__WEBPACK_IMPORTED_MODULE_13___default().Children.toArray(component.props.children);
      role = children.length ? getRole(children[0]) : "";
    }
  
    var whitelist = ["area", "bar", "boxplot", "candlestick", "errorbar", "group", "histogram", "line", "pie", "scatter", "stack", "voronoi"];
    return lodash_includes__WEBPACK_IMPORTED_MODULE_2___default()(whitelist, role);
  }
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-util/domain.js":
  /*!****************************************************!*\
    !*** ../../victory-core/es/victory-util/domain.js ***!
    \****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "createDomainFunction": () => (/* binding */ createDomainFunction),
  /* harmony export */   "formatDomain": () => (/* binding */ formatDomain),
  /* harmony export */   "getDomain": () => (/* binding */ getDomain),
  /* harmony export */   "getDomainFromCategories": () => (/* binding */ getDomainFromCategories),
  /* harmony export */   "getDomainFromData": () => (/* binding */ getDomainFromData),
  /* harmony export */   "getDomainFromMinMax": () => (/* binding */ getDomainFromMinMax),
  /* harmony export */   "getDomainFromProps": () => (/* binding */ getDomainFromProps),
  /* harmony export */   "getDomainWithZero": () => (/* binding */ getDomainWithZero),
  /* harmony export */   "getMaxFromProps": () => (/* binding */ getMaxFromProps),
  /* harmony export */   "getMinFromProps": () => (/* binding */ getMinFromProps),
  /* harmony export */   "getSymmetricDomain": () => (/* binding */ getSymmetricDomain),
  /* harmony export */   "isDomainComponent": () => (/* binding */ isDomainComponent)
  /* harmony export */ });
  /* harmony import */ var lodash_isDate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/isDate */ "../../../node_modules/lodash/isDate.js");
  /* harmony import */ var lodash_isDate__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isDate__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var lodash_includes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/includes */ "../../../node_modules/lodash/includes.js");
  /* harmony import */ var lodash_includes__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_includes__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/isFunction */ "../../../node_modules/lodash/isFunction.js");
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var lodash_sortedUniq__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/sortedUniq */ "../../../node_modules/lodash/sortedUniq.js");
  /* harmony import */ var lodash_sortedUniq__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_sortedUniq__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/isPlainObject */ "../../../node_modules/lodash/isPlainObject.js");
  /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/flatten */ "../../../node_modules/lodash/flatten.js");
  /* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_flatten__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var _data__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./data */ "../../victory-core/es/victory-util/data.js");
  /* harmony import */ var _scale__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./scale */ "../../victory-core/es/victory-util/scale.js");
  /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helpers */ "../../victory-core/es/victory-util/helpers.js");
  /* harmony import */ var _collection__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./collection */ "../../victory-core/es/victory-util/collection.js");
  
  
  
  
  
  
  
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
  
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
  
  function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
  
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
  
  /* eslint-disable func-style */
  
  /* eslint-disable no-use-before-define */
  
  
  
  
   // Private Methods
  
  function cleanDomain(domain, props, axis) {
    var scaleType = _scale__WEBPACK_IMPORTED_MODULE_7__.getScaleType(props, axis);
  
    if (scaleType !== "log") {
      return domain;
    }
  
    var rules = function (dom) {
      var almostZero = dom[0] < 0 || dom[1] < 0 ? -1 / Number.MAX_SAFE_INTEGER : 1 / Number.MAX_SAFE_INTEGER;
      var domainOne = dom[0] === 0 ? almostZero : dom[0];
      var domainTwo = dom[1] === 0 ? almostZero : dom[1];
      return [domainOne, domainTwo];
    };
  
    return rules(domain);
  }
  
  function getDomainPadding(props, axis) {
    var formatPadding = function (padding) {
      return Array.isArray(padding) ? {
        left: padding[0],
        right: padding[1]
      } : {
        left: padding,
        right: padding
      };
    };
  
    return lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_4___default()(props.domainPadding) ? formatPadding(props.domainPadding[axis]) : formatPadding(props.domainPadding);
  }
  
  function getFlatData(dataset, axis) {
    return lodash_flatten__WEBPACK_IMPORTED_MODULE_5___default()(dataset).map(function (datum) {
      return datum["_".concat(axis)] && datum["_".concat(axis)][1] !== undefined ? datum["_".concat(axis)][1] : datum["_".concat(axis)];
    });
  }
  
  function getExtremeFromData(dataset, axis) {
    var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "min";
  
    var getExtreme = function (arr) {
      return type === "max" ? Math.max.apply(Math, _toConsumableArray(arr)) : Math.min.apply(Math, _toConsumableArray(arr));
    };
  
    var initialValue = type === "max" ? -Infinity : Infinity;
    var containsDate = false;
  
    var result = lodash_flatten__WEBPACK_IMPORTED_MODULE_5___default()(dataset).reduce(function (memo, datum) {
      var current0 = datum["_".concat(axis, "0")] !== undefined ? datum["_".concat(axis, "0")] : datum["_".concat(axis)];
      var current1 = datum["_".concat(axis, "1")] !== undefined ? datum["_".concat(axis, "1")] : datum["_".concat(axis)];
      var current = getExtreme([current0, current1]);
      containsDate = containsDate || current0 instanceof Date || current1 instanceof Date;
      return getExtreme([memo, current]);
    }, initialValue);
  
    return containsDate ? new Date(result) : result;
  } //eslint-disable-next-line max-statements
  
  
  function padDomain(domain, props, axis) {
    if (!props.domainPadding) {
      return domain;
    }
  
    var minDomain = getMinFromProps(props, axis);
    var maxDomain = getMaxFromProps(props, axis);
    var padding = getDomainPadding(props, axis);
  
    if (!padding.left && !padding.right) {
      return domain;
    }
  
    var min = _collection__WEBPACK_IMPORTED_MODULE_8__.getMinValue(domain);
    var max = _collection__WEBPACK_IMPORTED_MODULE_8__.getMaxValue(domain);
    var currentAxis = _helpers__WEBPACK_IMPORTED_MODULE_9__.getCurrentAxis(axis, props.horizontal);
    var range = _helpers__WEBPACK_IMPORTED_MODULE_9__.getRange(props, currentAxis);
    var rangeExtent = Math.abs(range[0] - range[1]);
    var paddedRangeExtent = Math.max(rangeExtent - padding.left - padding.right, 1);
    var paddedDomainExtent = Math.abs(max.valueOf() - min.valueOf()) / paddedRangeExtent * rangeExtent;
    var simplePadding = {
      left: paddedDomainExtent * padding.left / rangeExtent,
      right: paddedDomainExtent * padding.right / rangeExtent
    };
    var paddedDomain = {
      min: min.valueOf() - simplePadding.left,
      max: max.valueOf() + simplePadding.right
    };
    var singleQuadrantDomainPadding = lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_4___default()(props.singleQuadrantDomainPadding) ? props.singleQuadrantDomainPadding[axis] : props.singleQuadrantDomainPadding;
    var addsQuadrants = min >= 0 && paddedDomain.min <= 0 || max <= 0 && paddedDomain.max >= 0;
  
    var adjust = function (val, type) {
      var coerce = type === "min" && min >= 0 && val <= 0 || type === "max" && max <= 0 && val >= 0;
      return coerce ? 0 : val;
    };
  
    if (addsQuadrants && singleQuadrantDomainPadding !== false) {
      // Naive initial padding calculation
      var initialPadding = {
        left: Math.abs(max - min) * padding.left / rangeExtent,
        right: Math.abs(max - min) * padding.right / rangeExtent
      }; // Adjust the domain by the initial padding
  
      var adjustedDomain = {
        min: adjust(min.valueOf() - initialPadding.left, "min"),
        max: adjust(max.valueOf() + initialPadding.right, "max")
      }; // re-calculate padding, taking the adjusted domain into account
  
      var finalPadding = {
        left: Math.abs(adjustedDomain.max - adjustedDomain.min) * padding.left / rangeExtent,
        right: Math.abs(adjustedDomain.max - adjustedDomain.min) * padding.right / rangeExtent
      }; // Adjust the domain by the final padding
  
      paddedDomain = {
        min: adjust(min.valueOf() - finalPadding.left, "min"),
        max: adjust(max.valueOf() + finalPadding.right, "max")
      };
    } // default to minDomain / maxDomain if they exist
  
  
    var finalDomain = {
      min: minDomain !== undefined ? minDomain : paddedDomain.min,
      max: maxDomain !== undefined ? maxDomain : paddedDomain.max
    };
    return min instanceof Date || max instanceof Date ? getDomainFromMinMax(new Date(finalDomain.min), new Date(finalDomain.max)) : getDomainFromMinMax(finalDomain.min, finalDomain.max);
  } // Public Methods
  
  /**
   * Returns a getDomain function
   * @param {Function} getDomainFromDataFunction: a function that takes props and axis and
   * returns a domain based on data
   * @param {Function} formatDomainFunction: a function that takes domain, props, and axis and
   * returns a formatted domain
   * @returns {Function} a function that takes props and axis and returns a formatted domain
   */
  
  
  function createDomainFunction(getDomainFromDataFunction, formatDomainFunction) {
    getDomainFromDataFunction = lodash_isFunction__WEBPACK_IMPORTED_MODULE_2___default()(getDomainFromDataFunction) ? getDomainFromDataFunction : getDomainFromData;
    formatDomainFunction = lodash_isFunction__WEBPACK_IMPORTED_MODULE_2___default()(formatDomainFunction) ? formatDomainFunction : formatDomain;
    return function (props, axis) {
      var propsDomain = getDomainFromProps(props, axis);
  
      if (propsDomain) {
        return formatDomainFunction(propsDomain, props, axis);
      }
  
      var categories = _data__WEBPACK_IMPORTED_MODULE_10__.getCategories(props, axis);
      var domain = categories ? getDomainFromCategories(props, axis, categories) : getDomainFromDataFunction(props, axis);
      return domain ? formatDomainFunction(domain, props, axis) : undefined;
    };
  }
  /**
   * Returns a formatted domain.
   * @param {Array} domain: a domain in the form of a two element array
   * @param {Object} props: the props object
   * @param {String} axis: the current axis
   * @returns {Array} a domain in the form of a two element array
   */
  
  function formatDomain(domain, props, axis) {
    return cleanDomain(padDomain(domain, props, axis), props, axis);
  }
  /**
   * Returns a domain for a given axis based on props, category, or data
   * @param {Object} props: the props object
   * @param {String} axis: the current axis
   * @returns {Array} the domain for the given axis
   */
  
  function getDomain(props, axis) {
    return createDomainFunction()(props, axis);
  }
  /**
   * Returns a domain based on categories if they exist
   * @param {Object} props: the props object
   * @param {String} axis: the current axis
   * @param {Array} categories: an array of categories corresponding to a given axis
   * @returns {Array|undefined} returns a domain from categories or undefined
   */
  
  function getDomainFromCategories(props, axis, categories) {
    categories = categories || _data__WEBPACK_IMPORTED_MODULE_10__.getCategories(props, axis);
    var polar = props.polar,
        _props$startAngle = props.startAngle,
        startAngle = _props$startAngle === void 0 ? 0 : _props$startAngle,
        _props$endAngle = props.endAngle,
        endAngle = _props$endAngle === void 0 ? 360 : _props$endAngle;
  
    if (!categories) {
      return undefined;
    }
  
    var minDomain = getMinFromProps(props, axis);
    var maxDomain = getMaxFromProps(props, axis);
    var stringArray = _collection__WEBPACK_IMPORTED_MODULE_8__.containsStrings(categories) ? _data__WEBPACK_IMPORTED_MODULE_10__.getStringsFromCategories(props, axis) : [];
    var stringMap = stringArray.length === 0 ? null : stringArray.reduce(function (memo, string, index) {
      memo[string] = index + 1;
      return memo;
    }, {});
    var categoryValues = stringMap ? categories.map(function (value) {
      return stringMap[value];
    }) : categories;
    var min = minDomain !== undefined ? minDomain : _collection__WEBPACK_IMPORTED_MODULE_8__.getMinValue(categoryValues);
    var max = maxDomain !== undefined ? maxDomain : _collection__WEBPACK_IMPORTED_MODULE_8__.getMaxValue(categoryValues);
    var categoryDomain = getDomainFromMinMax(min, max);
    return polar && axis === "x" && Math.abs(startAngle - endAngle) === 360 ? getSymmetricDomain(categoryDomain, categoryValues) : categoryDomain;
  }
  /**
   * Returns a domain from a dataset for a given axis
   * @param {Object} props: the props object
   * @param {String} axis: the current axis
   * @param {Array} dataset: an array of data
   * @returns {Array} the domain based on data
   */
  
  function getDomainFromData(props, axis, dataset) {
    dataset = dataset || _data__WEBPACK_IMPORTED_MODULE_10__.getData(props);
    var polar = props.polar,
        _props$startAngle2 = props.startAngle,
        startAngle = _props$startAngle2 === void 0 ? 0 : _props$startAngle2,
        _props$endAngle2 = props.endAngle,
        endAngle = _props$endAngle2 === void 0 ? 360 : _props$endAngle2;
    var minDomain = getMinFromProps(props, axis);
    var maxDomain = getMaxFromProps(props, axis);
  
    if (dataset.length < 1) {
      return minDomain !== undefined && maxDomain !== undefined ? getDomainFromMinMax(minDomain, maxDomain) : undefined;
    }
  
    var min = minDomain !== undefined ? minDomain : getExtremeFromData(dataset, axis, "min");
    var max = maxDomain !== undefined ? maxDomain : getExtremeFromData(dataset, axis, "max");
    var domain = getDomainFromMinMax(min, max);
    return polar && axis === "x" && Math.abs(startAngle - endAngle) === 360 ? getSymmetricDomain(domain, getFlatData(dataset, axis)) : domain;
  }
  /**
   * Returns a domain in the form of a two element array given a min and max value.
   * @param {Number|Date} min: the props object
   * @param {Number|Date} max: the current axis
   * @returns {Array} the minDomain based on props
   */
  
  function getDomainFromMinMax(min, max) {
    var getSinglePointDomain = function (val) {
      // d3-scale does not properly resolve very small differences.
      var verySmallNumber = // eslint-disable-next-line no-magic-numbers
      val === 0 ? 2 * Math.pow(10, -10) : Math.pow(10, -10);
      var verySmallDate = 1;
      var minVal = val instanceof Date ? new Date(+val - verySmallDate) : +val - verySmallNumber;
      var maxVal = val instanceof Date ? new Date(+val + verySmallDate) : +val + verySmallNumber;
      return val === 0 ? [0, maxVal] : [minVal, maxVal];
    };
  
    return +min === +max ? getSinglePointDomain(max) : [min, max];
  }
  /**
   * Returns a the domain for a given axis if domain is given in props
   * @param {Object} props: the props object
   * @param {String} axis: the current axis
   * @returns {Array|undefined} the domain based on props
   */
  
  function getDomainFromProps(props, axis) {
    var minDomain = getMinFromProps(props, axis);
    var maxDomain = getMaxFromProps(props, axis);
  
    if (lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_4___default()(props.domain) && props.domain[axis]) {
      return props.domain[axis];
    } else if (Array.isArray(props.domain)) {
      return props.domain;
    } else if (minDomain !== undefined && maxDomain !== undefined) {
      return getDomainFromMinMax(minDomain, maxDomain);
    }
  
    return undefined;
  }
  /**
   * Returns a domain for a given axis. This method forces the domain to include
   * zero unless the domain is explicitly specified in props.
   * @param {Object} props: the props object
   * @param {String} axis: the current axis
   * @returns {Array} the domain for the given axis
   */
  
  function getDomainWithZero(props, axis) {
    var propsDomain = getDomainFromProps(props, axis);
  
    if (propsDomain) {
      return propsDomain;
    }
  
    var dataset = _data__WEBPACK_IMPORTED_MODULE_10__.getData(props);
    var y0Min = dataset.reduce(function (min, datum) {
      return datum._y0 < min ? datum._y0 : min;
    }, Infinity);
  
    var ensureZero = function (domain) {
      if (axis === "x") {
        return domain;
      }
  
      var defaultMin = y0Min !== Infinity ? y0Min : 0;
      var maxDomainProp = getMaxFromProps(props, axis);
      var minDomainProp = getMinFromProps(props, axis);
      var max = maxDomainProp !== undefined ? maxDomainProp : _collection__WEBPACK_IMPORTED_MODULE_8__.getMaxValue(domain, defaultMin);
      var min = minDomainProp !== undefined ? minDomainProp : _collection__WEBPACK_IMPORTED_MODULE_8__.getMinValue(domain, defaultMin);
      return getDomainFromMinMax(min, max);
    };
  
    var getDomainFunction = function () {
      return getDomainFromData(props, axis, dataset);
    };
  
    var formatDomainFunction = function (domain) {
      return formatDomain(ensureZero(domain), props, axis);
    };
  
    return createDomainFunction(getDomainFunction, formatDomainFunction)(props, axis);
  }
  /**
   * Returns the maxDomain from props if it exists
   * @param {Object} props: the props object
   * @param {String} axis: the current axis
   * @returns {Number|Date|undefined} the maxDomain based on props
   */
  
  function getMaxFromProps(props, axis) {
    if (lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_4___default()(props.maxDomain) && props.maxDomain[axis] !== undefined) {
      return props.maxDomain[axis];
    }
  
    return typeof props.maxDomain === "number" || lodash_isDate__WEBPACK_IMPORTED_MODULE_0___default()(props.maxDomain) ? props.maxDomain : undefined;
  }
  /**
   * Returns the minDomain from props if it exists
   * @param {Object} props: the props object
   * @param {String} axis: the current axis
   * @returns {Number|Date|undefined} the minDomain based on props
   */
  
  function getMinFromProps(props, axis) {
    if (lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_4___default()(props.minDomain) && props.minDomain[axis] !== undefined) {
      return props.minDomain[axis];
    }
  
    return typeof props.minDomain === "number" || lodash_isDate__WEBPACK_IMPORTED_MODULE_0___default()(props.minDomain) ? props.minDomain : undefined;
  }
  /**
   * Returns a symmetrically padded domain for polar charts
   * @param {Array} domain: the original domain
   * @param {Array} values: a flat array of values corresponding to either tickValues, or data values
   * for a given dimension i.e. only x values.
   * @returns {Array} the symmetric domain
   */
  
  function getSymmetricDomain(domain, values) {
    var processedData = lodash_sortedUniq__WEBPACK_IMPORTED_MODULE_3___default()(values.sort(function (a, b) {
      return a - b;
    }));
  
    var step = processedData[1] - processedData[0];
    return [domain[0], domain[1] + step];
  }
  /**
   * Checks whether a given component can be used to calculate domain
   * @param {Component} component: a React component instance
   * @returns {Boolean} Returns true if the given component has a role included in the whitelist
   */
  
  function isDomainComponent(component) {
    var getRole = function (child) {
      return child && child.type ? child.type.role : "";
    };
  
    var role = getRole(component);
  
    if (role === "portal") {
      var children = react__WEBPACK_IMPORTED_MODULE_6___default().Children.toArray(component.props.children);
      role = children.length ? getRole(children[0]) : "";
    }
  
    var whitelist = ["area", "axis", "bar", "boxplot", "candlestick", "errorbar", "group", "histogram", "line", "pie", "scatter", "stack", "voronoi"];
    return lodash_includes__WEBPACK_IMPORTED_MODULE_1___default()(whitelist, role);
  }
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-util/events.js":
  /*!****************************************************!*\
    !*** ../../victory-core/es/victory-util/events.js ***!
    \****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "getEvents": () => (/* binding */ getEvents),
  /* harmony export */   "getScopedEvents": () => (/* binding */ getScopedEvents),
  /* harmony export */   "getPartialEvents": () => (/* binding */ getPartialEvents),
  /* harmony export */   "getEventState": () => (/* binding */ getEventState),
  /* harmony export */   "getExternalMutationsWithChildren": () => (/* binding */ getExternalMutationsWithChildren),
  /* harmony export */   "getExternalMutations": () => (/* binding */ getExternalMutations),
  /* harmony export */   "getExternalMutation": () => (/* binding */ getExternalMutation),
  /* harmony export */   "getComponentEvents": () => (/* binding */ getComponentEvents),
  /* harmony export */   "getGlobalEventNameFromKey": () => (/* binding */ getGlobalEventNameFromKey),
  /* harmony export */   "getGlobalEvents": () => (/* binding */ getGlobalEvents),
  /* harmony export */   "omitGlobalEvents": () => (/* binding */ omitGlobalEvents),
  /* harmony export */   "emulateReactEvent": () => (/* binding */ emulateReactEvent)
  /* harmony export */ });
  /* harmony import */ var lodash_keys__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/keys */ "../../../node_modules/lodash/keys.js");
  /* harmony import */ var lodash_keys__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_keys__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var lodash_includes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/includes */ "../../../node_modules/lodash/includes.js");
  /* harmony import */ var lodash_includes__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_includes__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var lodash_uniq__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/uniq */ "../../../node_modules/lodash/uniq.js");
  /* harmony import */ var lodash_uniq__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_uniq__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var lodash_omitBy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/omitBy */ "../../../node_modules/lodash/omitBy.js");
  /* harmony import */ var lodash_omitBy__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_omitBy__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var lodash_pickBy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/pickBy */ "../../../node_modules/lodash/pickBy.js");
  /* harmony import */ var lodash_pickBy__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_pickBy__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var lodash_without__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/without */ "../../../node_modules/lodash/without.js");
  /* harmony import */ var lodash_without__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_without__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/isFunction */ "../../../node_modules/lodash/isFunction.js");
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var lodash_isEmpty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash/isEmpty */ "../../../node_modules/lodash/isEmpty.js");
  /* harmony import */ var lodash_isEmpty__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash_isEmpty__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash/assign */ "../../../node_modules/lodash/assign.js");
  /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_8__);
  
  
  
  
  
  
  
  
  
  
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
  
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
  
  function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
  
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
  
  var GLOBAL_EVENT_REGEX = /^onGlobal(.*)$/;
  /* Returns all own and shared events that should be attached to a single target element,
   * i.e. an individual bar specified by target: "data", eventKey: [index].
   * Returned events are scoped to the appropriate state. Either that of the component itself
   * (i.e. VictoryBar) in the case of own events, or that of the parent component
   * (i.e. VictoryChart) in the case of shared events
   */
  // eslint-disable-next-line max-params,no-shadow
  
  function getEvents(props, target, eventKey, getScopedEvents) {
    var _this = this;
  
    // Returns all events that apply to a particular target element
    var getEventsByTarget = function (events) {
      var getSelectedEvents = function () {
        var targetEvents = events.reduce(function (memo, event) {
          if (event.target !== undefined) {
            var matchesTarget = Array.isArray(event.target) ? lodash_includes__WEBPACK_IMPORTED_MODULE_1___default()(event.target, target) : "".concat(event.target) === "".concat(target);
            return matchesTarget ? memo.concat(event) : memo;
          }
  
          return memo.concat(event);
        }, []);
  
        if (eventKey !== undefined && target !== "parent") {
          return targetEvents.filter(function (obj) {
            var targetKeys = obj.eventKey;
  
            var useKey = function (key) {
              return key ? "".concat(key) === "".concat(eventKey) : true;
            };
  
            return Array.isArray(targetKeys) ? targetKeys.some(function (k) {
              return useKey(k);
            }) : useKey(targetKeys);
          });
        }
  
        return targetEvents;
      };
  
      var selectedEvents = getSelectedEvents();
      return Array.isArray(selectedEvents) && selectedEvents.reduce(function (memo, event) {
        return event ? lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()(memo, event.eventHandlers) : memo;
      }, {});
    };
    /* Returns all events from props and defaultEvents from components. Events handlers
     * specified in props will override handlers for the same event if they are also
     * specified in defaultEvents of a sub-component
     */
  
  
    var getAllEvents = function () {
      // Mandatory usage: `getEvents.bind(this)`
  
      /* eslint-disable no-invalid-this */
      if (Array.isArray(_this.componentEvents)) {
        var _this$componentEvents;
  
        return Array.isArray(props.events) ? (_this$componentEvents = _this.componentEvents).concat.apply(_this$componentEvents, _toConsumableArray(props.events)) : _this.componentEvents;
      }
      /* eslint-enable no-invalid-this */
  
  
      return props.events;
    };
  
    var allEvents = getAllEvents();
    var ownEvents = allEvents && lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default()(getScopedEvents) ? getScopedEvents(getEventsByTarget(allEvents), target) : undefined;
  
    if (!props.sharedEvents) {
      return ownEvents;
    }
  
    var getSharedEvents = props.sharedEvents.getEvents;
    var sharedEvents = props.sharedEvents.events && getSharedEvents(getEventsByTarget(props.sharedEvents.events), target);
    return lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({}, sharedEvents, ownEvents);
  }
  /* Returns a modified events object where each event handler is replaced by a new
   * function that calls the original handler and then calls setState with the return
   * of the original event handler assigned to state property that maps to the target
   * element.
   */
  // eslint-disable-next-line max-params
  
  function getScopedEvents(events, namespace, childType, baseProps) {
    var _this2 = this;
  
    if (lodash_isEmpty__WEBPACK_IMPORTED_MODULE_7___default()(events)) {
      return {};
    } // Mandatory usage: `getScopedEvents.bind(this)`
    // eslint-disable-next-line no-invalid-this
  
  
    baseProps = baseProps || this.baseProps; // returns the original base props or base state of a given target element
  
    var getTargetProps = function (identifier, type) {
      var childName = identifier.childName,
          target = identifier.target,
          key = identifier.key; // eslint-disable-next-line no-invalid-this
  
      var baseType = type === "props" ? baseProps : _this2.state || {};
      var base = childName === undefined || childName === null || !baseType[childName] ? baseType : baseType[childName];
      return key === "parent" ? base.parent : base[key] && base[key][target];
    }; // Returns the state object with the mutation caused by a given eventReturn
    // applied to the appropriate property on the state object
  
  
    var parseEvent = function (eventReturn, eventKey) {
      var childNames = namespace === "parent" ? eventReturn.childName : eventReturn.childName || childType;
      var target = eventReturn.target || namespace; // returns all eventKeys to modify for a targeted childName
  
      var getKeys = function (childName) {
        if (target === "parent") {
          return "parent";
        }
  
        if (eventReturn.eventKey === "all") {
          return baseProps[childName] ? lodash_without__WEBPACK_IMPORTED_MODULE_5___default()(lodash_keys__WEBPACK_IMPORTED_MODULE_0___default()(baseProps[childName]), "parent") : lodash_without__WEBPACK_IMPORTED_MODULE_5___default()(lodash_keys__WEBPACK_IMPORTED_MODULE_0___default()(baseProps), "parent");
        } else if (eventReturn.eventKey === undefined && eventKey === "parent") {
          return baseProps[childName] ? lodash_keys__WEBPACK_IMPORTED_MODULE_0___default()(baseProps[childName]) : lodash_keys__WEBPACK_IMPORTED_MODULE_0___default()(baseProps);
        }
  
        return eventReturn.eventKey !== undefined ? eventReturn.eventKey : eventKey;
      }; // returns the state object with mutated props applied for a single key
  
  
      var getMutationObject = function (key, childName) {
        // eslint-disable-next-line no-invalid-this
        var baseState = _this2.state || {};
  
        if (!lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default()(eventReturn.mutation)) {
          return baseState;
        }
  
        var mutationTargetProps = getTargetProps({
          childName: childName,
          key: key,
          target: target
        }, "props");
        var mutationTargetState = getTargetProps({
          childName: childName,
          key: key,
          target: target
        }, "state");
        var mutatedProps = eventReturn.mutation(lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({}, mutationTargetProps, mutationTargetState), baseProps);
        var childState = baseState[childName] || {};
  
        var filterState = function (state) {
          if (state[key] && state[key][target]) {
            delete state[key][target];
          }
  
          if (state[key] && !lodash_keys__WEBPACK_IMPORTED_MODULE_0___default()(state[key]).length) {
            delete state[key];
          }
  
          return state;
        };
  
        var extendState = function (state) {
          return target === "parent" ? lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()(state, _defineProperty({}, key, lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()(state[key], mutatedProps))) : lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()(state, _defineProperty({}, key, lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()(state[key], _defineProperty({}, target, mutatedProps))));
        };
  
        var updateState = function (state) {
          return mutatedProps ? extendState(state) : filterState(state);
        };
  
        return childName !== undefined && childName !== null ? lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()(baseState, _defineProperty({}, childName, updateState(childState))) : updateState(baseState);
      }; // returns entire mutated state for a given childName
  
  
      var getReturnByChild = function (childName) {
        var mutationKeys = getKeys(childName);
        return Array.isArray(mutationKeys) ? mutationKeys.reduce(function (memo, key) {
          return lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()(memo, getMutationObject(key, childName));
        }, {}) : getMutationObject(mutationKeys, childName);
      }; // returns an entire mutated state for all children
  
  
      var allChildNames = childNames === "all" ? lodash_without__WEBPACK_IMPORTED_MODULE_5___default()(lodash_keys__WEBPACK_IMPORTED_MODULE_0___default()(baseProps), "parent") : childNames;
      return Array.isArray(allChildNames) ? allChildNames.reduce(function (memo, childName) {
        return lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()(memo, getReturnByChild(childName));
      }, {}) : getReturnByChild(allChildNames);
    }; // Parses an array of event returns into a single state mutation
  
  
    var parseEventReturn = function (eventReturn, eventKey) {
      return Array.isArray(eventReturn) ? eventReturn.reduce(function (memo, props) {
        memo = lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({}, memo, parseEvent(props, eventKey));
        return memo;
      }, {}) : parseEvent(eventReturn, eventKey);
    };
  
    var compileCallbacks = function (eventReturn) {
      var getCallback = function (obj) {
        return lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default()(obj.callback) && obj.callback;
      };
  
      var callbacks = Array.isArray(eventReturn) ? eventReturn.map(function (evtObj) {
        return getCallback(evtObj);
      }) : [getCallback(eventReturn)];
      var callbackArray = callbacks.filter(function (callback) {
        return callback !== false;
      });
      return callbackArray.length ? function () {
        return callbackArray.forEach(function (callback) {
          return callback();
        });
      } : undefined;
    }; // A function that calls a particular event handler, parses its return
    // into a state mutation, and calls setState
    // eslint-disable-next-line max-params
  
  
    var onEvent = function (evt, childProps, eventKey, eventName) {
      // eslint-disable-next-line no-invalid-this
      var eventReturn = events[eventName](evt, childProps, eventKey, _this2);
  
      if (!lodash_isEmpty__WEBPACK_IMPORTED_MODULE_7___default()(eventReturn)) {
        var callbacks = compileCallbacks(eventReturn); // eslint-disable-next-line no-invalid-this
  
        _this2.setState(parseEventReturn(eventReturn, eventKey), callbacks);
      }
    }; // returns a new events object with enhanced event handlers
  
  
    return lodash_keys__WEBPACK_IMPORTED_MODULE_0___default()(events).reduce(function (memo, event) {
      memo[event] = onEvent;
      return memo;
    }, {});
  }
  /* Returns a partially applied event handler for a specific target element
   * This allows event handlers to have access to props controlling each element
   */
  
  function getPartialEvents(events, eventKey, childProps) {
    return events ? lodash_keys__WEBPACK_IMPORTED_MODULE_0___default()(events).reduce(function (memo, eventName) {
      var appliedEvent = function (evt) {
        return events[eventName](evt, childProps, eventKey, eventName);
      };
  
      memo[eventName] = appliedEvent;
      return memo;
    }, {}) : {};
  }
  /* Returns the property of the state object corresponding to event changes for
   * a particular element
   */
  
  function getEventState(eventKey, namespace, childType) {
    // Mandatory usage: `getEventState.bind(this)`
    // eslint-disable-next-line no-invalid-this
    var state = this.state || {};
  
    if (!childType) {
      return eventKey === "parent" ? state[eventKey] && state[eventKey][namespace] || state[eventKey] : state[eventKey] && state[eventKey][namespace];
    }
  
    return state[childType] && state[childType][eventKey] && state[childType][eventKey][namespace];
  }
  /**
   * Returns a set of all mutations for shared events
   *
   * @param  {Array} mutations an array of mutations objects
   * @param  {Object} baseProps an object that describes all props for children of VictorySharedEvents
   * @param  {Object} baseState an object that describes state for children of VictorySharedEvents
   * @param  {Array} childNames an array of childNames
   *
   * @return {Object} a object describing all mutations for VictorySharedEvents
   */
  // eslint-disable-next-line max-params
  
  function getExternalMutationsWithChildren(mutations, baseProps, baseState, childNames) {
    baseProps = baseProps || {};
    baseState = baseState || {};
    return childNames.reduce(function (memo, childName) {
      var childState = baseState[childName];
      var mutation = getExternalMutations(mutations, baseProps[childName], baseState[childName], childName);
      memo[childName] = mutation ? mutation : childState;
      return lodash_pickBy__WEBPACK_IMPORTED_MODULE_4___default()(memo, function (v) {
        return !lodash_isEmpty__WEBPACK_IMPORTED_MODULE_7___default()(v);
      });
    }, {});
  }
  /**
   * Returns a set of all mutations for a component
   *
   * @param  {Array} mutations an array of mutations objects
   * @param  {Object} baseProps a props object (scoped to a childName when used by shared events)
   * @param  {Object} baseState a state object (scoped to a childName when used by shared events)
   * @param  {String} childName an optional childName
   *
   * @return {Object} a object describing mutations for a given component
   */
  // eslint-disable-next-line max-params
  
  function getExternalMutations(mutations, baseProps, baseState, childName) {
    baseProps = baseProps || {};
    baseState = baseState || {};
  
    var eventKeys = lodash_keys__WEBPACK_IMPORTED_MODULE_0___default()(baseProps);
  
    return eventKeys.reduce(function (memo, eventKey) {
      var keyState = baseState[eventKey] || {};
      var keyProps = baseProps[eventKey] || {};
  
      if (eventKey === "parent") {
        var identifier = {
          eventKey: eventKey,
          target: "parent"
        };
        var mutation = getExternalMutation(mutations, keyProps, keyState, identifier);
        memo[eventKey] = mutation !== undefined ? lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({}, keyState, mutation) : keyState;
      } else {
        // use keys from both state and props so that elements not intially included in baseProps
        // will be used. (i.e. labels)
        var targets = lodash_uniq__WEBPACK_IMPORTED_MODULE_2___default()(lodash_keys__WEBPACK_IMPORTED_MODULE_0___default()(keyProps).concat(lodash_keys__WEBPACK_IMPORTED_MODULE_0___default()(keyState)));
  
        memo[eventKey] = targets.reduce(function (m, target) {
          var identifier = {
            eventKey: eventKey,
            target: target,
            childName: childName
          };
          var mutation = getExternalMutation(mutations, keyProps[target], keyState[target], identifier);
          m[target] = mutation !== undefined ? lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({}, keyState[target], mutation) : keyState[target];
          return lodash_pickBy__WEBPACK_IMPORTED_MODULE_4___default()(m, function (v) {
            return !lodash_isEmpty__WEBPACK_IMPORTED_MODULE_7___default()(v);
          });
        }, {});
      }
  
      return lodash_pickBy__WEBPACK_IMPORTED_MODULE_4___default()(memo, function (v) {
        return !lodash_isEmpty__WEBPACK_IMPORTED_MODULE_7___default()(v);
      });
    }, {});
  }
  /**
   * Returns a set of mutations for a particular element given scoped baseProps and baseState
   *
   * @param  {Array} mutations an array of mutations objects
   * @param  {Object} baseProps a props object (scoped the element specified by the identifier)
   * @param  {Object} baseState a state object (scoped the element specified by the identifier)
   * @param  {Object} identifier { eventKey, target, childName }
   *
   * @return {Object | undefined} a object describing mutations for a given element, or undefined
   */
  // eslint-disable-next-line max-params
  
  function getExternalMutation(mutations, baseProps, baseState, identifier) {
    var filterMutations = function (mutation, type) {
      if (typeof mutation[type] === "string") {
        return mutation[type] === "all" || mutation[type] === identifier[type];
      } else if (Array.isArray(mutation[type])) {
        // coerce arrays to strings before matching
        var stringArray = mutation[type].map(function (m) {
          return "".concat(m);
        });
        return lodash_includes__WEBPACK_IMPORTED_MODULE_1___default()(stringArray, identifier[type]);
      } else {
        return false;
      }
    };
  
    mutations = Array.isArray(mutations) ? mutations : [mutations];
    var scopedMutations = mutations;
  
    if (identifier.childName) {
      scopedMutations = mutations.filter(function (m) {
        return filterMutations(m, "childName");
      });
    } // find any mutation objects that match the target
  
  
    var targetMutations = scopedMutations.filter(function (m) {
      return filterMutations(m, "target");
    });
  
    if (lodash_isEmpty__WEBPACK_IMPORTED_MODULE_7___default()(targetMutations)) {
      return undefined;
    }
  
    var keyMutations = targetMutations.filter(function (m) {
      return filterMutations(m, "eventKey");
    });
  
    if (lodash_isEmpty__WEBPACK_IMPORTED_MODULE_7___default()(keyMutations)) {
      return undefined;
    }
  
    return keyMutations.reduce(function (memo, curr) {
      var mutationFunction = curr && lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default()(curr.mutation) ? curr.mutation : function () {
        return undefined;
      };
      var currentMutation = mutationFunction(lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({}, baseProps, baseState));
      return lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({}, memo, currentMutation);
    }, {});
  }
  /* Returns an array of defaultEvents from sub-components of a given component.
   * i.e. any static `defaultEvents` on `labelComponent` will be returned
   */
  
  function getComponentEvents(props, components) {
    var events = Array.isArray(components) && components.reduce(function (memo, componentName) {
      var _memo;
  
      var component = props[componentName];
      var defaultEvents = component && component.type && component.type.defaultEvents;
      var componentEvents = lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default()(defaultEvents) ? defaultEvents(component.props) : defaultEvents;
      memo = Array.isArray(componentEvents) ? (_memo = memo).concat.apply(_memo, _toConsumableArray(componentEvents)) : memo;
      return memo;
    }, []);
    return events && events.length ? events : undefined;
  }
  function getGlobalEventNameFromKey(key) {
    var match = key.match(GLOBAL_EVENT_REGEX);
    return match && match[1] && match[1].toLowerCase();
  }
  var getGlobalEvents = function (events) {
    return lodash_pickBy__WEBPACK_IMPORTED_MODULE_4___default()(events, function (_, key) {
      return GLOBAL_EVENT_REGEX.test(key);
    });
  };
  var omitGlobalEvents = function (events) {
    return lodash_omitBy__WEBPACK_IMPORTED_MODULE_3___default()(events, function (_, key) {
      return GLOBAL_EVENT_REGEX.test(key);
    });
  };
  var emulateReactEvent = function (event) {
    return lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()(event, {
      nativeEvent: event
    });
  };
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-util/helpers.js":
  /*!*****************************************************!*\
    !*** ../../victory-core/es/victory-util/helpers.js ***!
    \*****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "omit": () => (/* binding */ omit),
  /* harmony export */   "getPoint": () => (/* binding */ getPoint),
  /* harmony export */   "scalePoint": () => (/* binding */ scalePoint),
  /* harmony export */   "getPadding": () => (/* binding */ getPadding),
  /* harmony export */   "isTooltip": () => (/* binding */ isTooltip),
  /* harmony export */   "getDefaultStyles": () => (/* binding */ getDefaultStyles),
  /* harmony export */   "getStyles": () => (/* binding */ getStyles),
  /* harmony export */   "evaluateProp": () => (/* binding */ evaluateProp),
  /* harmony export */   "evaluateStyle": () => (/* binding */ evaluateStyle),
  /* harmony export */   "degreesToRadians": () => (/* binding */ degreesToRadians),
  /* harmony export */   "radiansToDegrees": () => (/* binding */ radiansToDegrees),
  /* harmony export */   "getRadius": () => (/* binding */ getRadius),
  /* harmony export */   "getPolarOrigin": () => (/* binding */ getPolarOrigin),
  /* harmony export */   "getRange": () => (/* binding */ getRange),
  /* harmony export */   "createAccessor": () => (/* binding */ createAccessor),
  /* harmony export */   "modifyProps": () => (/* binding */ modifyProps),
  /* harmony export */   "getCurrentAxis": () => (/* binding */ getCurrentAxis),
  /* harmony export */   "reduceChildren": () => (/* binding */ reduceChildren),
  /* harmony export */   "isHorizontal": () => (/* binding */ isHorizontal)
  /* harmony export */ });
  /* harmony import */ var lodash_keys__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/keys */ "../../../node_modules/lodash/keys.js");
  /* harmony import */ var lodash_keys__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_keys__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/assign */ "../../../node_modules/lodash/assign.js");
  /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var lodash_pick__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/pick */ "../../../node_modules/lodash/pick.js");
  /* harmony import */ var lodash_pick__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_pick__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var lodash_property__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/property */ "../../../node_modules/lodash/property.js");
  /* harmony import */ var lodash_property__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_property__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/isFunction */ "../../../node_modules/lodash/isFunction.js");
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/defaults */ "../../../node_modules/lodash/defaults.js");
  /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_defaults__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);
  
  
  
  
  
  
  
  /* eslint-disable func-style */
  
  /* eslint-disable no-use-before-define */
  
  
  // Private Functions
  function getCartesianRange(props, axis) {
    // determine how to lay the axis and what direction positive and negative are
    var vertical = axis !== "x";
    var padding = getPadding(props);
  
    if (vertical) {
      return [props.height - padding.bottom, padding.top];
    }
  
    return [padding.left, props.width - padding.right];
  }
  
  function getPolarRange(props, axis) {
    if (axis === "x") {
      var startAngle = degreesToRadians(props.startAngle || 0);
      var endAngle = degreesToRadians(props.endAngle || 360);
      return [startAngle, endAngle];
    }
  
    return [props.innerRadius || 0, getRadius(props)];
  } // Exported Functions
  
  /**
   * creates an object with some keys excluded
   * replacement for lodash.omit for performance. does not mimick the entire lodash.omit api
   * @param {Object} originalObject: created object will be based on this object
   * @param {Array<String>} ks: an array of keys to omit from the new object
   * @returns {Object} new object with same properties as originalObject
   */
  
  
  function omit(originalObject) {
    var ks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
    // code based on babel's _objectWithoutProperties
    var newObject = {};
  
    for (var key in originalObject) {
      if (ks.indexOf(key) >= 0) {
        continue;
      }
  
      if (!Object.prototype.hasOwnProperty.call(originalObject, key)) {
        continue;
      }
  
      newObject[key] = originalObject[key];
    }
  
    return newObject;
  }
  function getPoint(datum) {
    var exists = function (val) {
      return val !== undefined;
    };
  
    var _x = datum._x,
        _x1 = datum._x1,
        _x0 = datum._x0,
        _voronoiX = datum._voronoiX,
        _y = datum._y,
        _y1 = datum._y1,
        _y0 = datum._y0,
        _voronoiY = datum._voronoiY;
    var defaultX = exists(_x1) ? _x1 : _x;
    var defaultY = exists(_y1) ? _y1 : _y;
    var point = {
      x: exists(_voronoiX) ? _voronoiX : defaultX,
      x0: exists(_x0) ? _x0 : _x,
      y: exists(_voronoiY) ? _voronoiY : defaultY,
      y0: exists(_y0) ? _y0 : _y
    };
    return lodash_defaults__WEBPACK_IMPORTED_MODULE_5___default()({}, point, datum);
  }
  function scalePoint(props, datum) {
    var scale = props.scale,
        polar = props.polar,
        horizontal = props.horizontal;
    var d = getPoint(datum);
    var origin = props.origin || {
      x: 0,
      y: 0
    };
    var x = horizontal ? scale.y(d.y) : scale.x(d.x);
    var x0 = horizontal ? scale.y(d.y0) : scale.x(d.x0);
    var y = horizontal ? scale.x(d.x) : scale.y(d.y);
    var y0 = horizontal ? scale.x(d.x0) : scale.y(d.y0);
    return {
      x: polar ? y * Math.cos(x) + origin.x : x,
      x0: polar ? y0 * Math.cos(x0) + origin.x : x0,
      y: polar ? -y * Math.sin(x) + origin.y : y,
      y0: polar ? -y0 * Math.sin(x0) + origin.x : y0
    };
  }
  function getPadding(props) {
    var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "padding";
    var padding = props[name];
    var paddingVal = typeof padding === "number" ? padding : 0;
    var paddingObj = typeof padding === "object" ? padding : {};
    return {
      top: paddingObj.top || paddingVal,
      bottom: paddingObj.bottom || paddingVal,
      left: paddingObj.left || paddingVal,
      right: paddingObj.right || paddingVal
    };
  }
  function isTooltip(component) {
    var labelRole = component && component.type && component.type.role;
    return labelRole === "tooltip";
  }
  function getDefaultStyles(props, role) {
    var _props$theme = props.theme,
        theme = _props$theme === void 0 ? {} : _props$theme,
        labelComponent = props.labelComponent;
    var defaultStyles = theme[role] && theme[role].style || {};
  
    if (!isTooltip(labelComponent)) {
      return defaultStyles;
    }
  
    var tooltipStyle = theme.tooltip && theme.tooltip.style || {};
  
    var labelStyle = lodash_defaults__WEBPACK_IMPORTED_MODULE_5___default()({}, tooltipStyle, defaultStyles.labels);
  
    return lodash_defaults__WEBPACK_IMPORTED_MODULE_5___default()({}, {
      labels: labelStyle
    }, defaultStyles);
  }
  function getStyles(style, defaultStyles) {
    var width = "100%";
    var height = "100%";
  
    if (!style) {
      return lodash_defaults__WEBPACK_IMPORTED_MODULE_5___default()({
        parent: {
          height: height,
          width: width
        }
      }, defaultStyles);
    }
  
    var data = style.data,
        labels = style.labels,
        parent = style.parent;
    var defaultParent = defaultStyles && defaultStyles.parent || {};
    var defaultLabels = defaultStyles && defaultStyles.labels || {};
    var defaultData = defaultStyles && defaultStyles.data || {};
    return {
      parent: lodash_defaults__WEBPACK_IMPORTED_MODULE_5___default()({}, parent, defaultParent, {
        width: width,
        height: height
      }),
      labels: lodash_defaults__WEBPACK_IMPORTED_MODULE_5___default()({}, labels, defaultLabels),
      data: lodash_defaults__WEBPACK_IMPORTED_MODULE_5___default()({}, data, defaultData)
    };
  }
  function evaluateProp(prop, props) {
    return lodash_isFunction__WEBPACK_IMPORTED_MODULE_4___default()(prop) ? prop(props) : prop;
  }
  function evaluateStyle(style, props) {
    if (props.disableInlineStyles) {
      return {};
    }
  
    if (!style || !lodash_keys__WEBPACK_IMPORTED_MODULE_0___default()(style).some(function (value) {
      return lodash_isFunction__WEBPACK_IMPORTED_MODULE_4___default()(style[value]);
    })) {
      return style;
    }
  
    return lodash_keys__WEBPACK_IMPORTED_MODULE_0___default()(style).reduce(function (prev, curr) {
      prev[curr] = evaluateProp(style[curr], props);
      return prev;
    }, {});
  }
  function degreesToRadians(degrees) {
    return typeof degrees === "number" ? degrees * (Math.PI / 180) : degrees;
  }
  function radiansToDegrees(radians) {
    return typeof radians === "number" ? radians / (Math.PI / 180) : radians;
  }
  function getRadius(props) {
    var _getPadding = getPadding(props),
        left = _getPadding.left,
        right = _getPadding.right,
        top = _getPadding.top,
        bottom = _getPadding.bottom;
  
    var width = props.width,
        height = props.height;
    return Math.min(width - left - right, height - top - bottom) / 2;
  }
  function getPolarOrigin(props) {
    var width = props.width,
        height = props.height;
  
    var _getPadding2 = getPadding(props),
        top = _getPadding2.top,
        bottom = _getPadding2.bottom,
        left = _getPadding2.left,
        right = _getPadding2.right;
  
    var radius = Math.min(width - left - right, height - top - bottom) / 2;
    var offsetWidth = width / 2 + left - right;
    var offsetHeight = height / 2 + top - bottom;
    return {
      x: offsetWidth + radius > width ? radius + left - right : offsetWidth,
      y: offsetHeight + radius > height ? radius + top - bottom : offsetHeight
    };
  }
  function getRange(props, axis) {
    if (props.range && props.range[axis]) {
      return props.range[axis];
    } else if (props.range && Array.isArray(props.range)) {
      return props.range;
    }
  
    return props.polar ? getPolarRange(props, axis) : getCartesianRange(props, axis);
  }
  function createAccessor(key) {
    // creates a data accessor function
    // given a property key, path, array index, or null for identity.
    if (lodash_isFunction__WEBPACK_IMPORTED_MODULE_4___default()(key)) {
      return key;
    } else if (key === null || key === undefined) {
      // null/undefined means "return the data item itself"
      return function (x) {
        return x;
      };
    } // otherwise, assume it is an array index, property key or path (_.property handles all three)
  
  
    return lodash_property__WEBPACK_IMPORTED_MODULE_3___default()(key);
  }
  function modifyProps(props, fallbackProps, role) {
    var theme = props.theme && props.theme[role] ? props.theme[role] : {};
    var themeProps = omit(theme, ["style"]);
    var horizontal = isHorizontal(props);
    var defaultObject = horizontal === undefined ? {} : {
      horizontal: horizontal
    };
    return lodash_defaults__WEBPACK_IMPORTED_MODULE_5___default()(defaultObject, props, themeProps, fallbackProps);
  }
  /**
   * Returns the given axis or the opposite axis when horizontal
   * @param {string} axis: the given axis, either "x" pr "y"
   * @param {Boolean} horizontal: true when the chart is flipped to the horizontal orientation
   * @returns {String} the dimension appropriate for the axis given its props "x" or "y"
   */
  
  function getCurrentAxis(axis, horizontal) {
    var otherAxis = axis === "x" ? "y" : "x";
    return horizontal ? otherAxis : axis;
  }
  /**
   * @param {Array} children: an array of child components
   * @param {Function} iteratee: a function with arguments "child", "childName", and "parent"
   * @param {Object} parentProps: props from the parent that are applied to children
   * @param {any}  initialMemo: The object in which the iteration results are combined.
   * @param {Function} combine: Combines the result of the iteratee with the current memo
   *   to the memo for the next iteration step
   * @returns {Array} returns an array of results from calling the iteratee on all nested children
   */
  
  /* eslint-disable max-params */
  
  function reduceChildren(children, iteratee) {
    var parentProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
    var initialMemo = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
    var combine = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function (memo, item) {
      return memo.concat(item);
    };
    var sharedProps = ["data", "domain", "categories", "polar", "startAngle", "endAngle", "minDomain", "maxDomain", "horizontal"];
  
    var traverseChildren = function (childArray, names, parent) {
      return childArray.reduce(function (memo, child, index) {
        var childRole = child.type && child.type.role;
        var childName = child.props.name || "".concat(childRole, "-").concat(names[index]);
  
        if (child.props && child.props.children) {
          var childProps = lodash_assign__WEBPACK_IMPORTED_MODULE_1___default()({}, child.props, lodash_pick__WEBPACK_IMPORTED_MODULE_2___default()(parentProps, sharedProps));
  
          var nestedChildren = child.type && child.type.role === "stack" && lodash_isFunction__WEBPACK_IMPORTED_MODULE_4___default()(child.type.getChildren) ? child.type.getChildren(childProps) : react__WEBPACK_IMPORTED_MODULE_6___default().Children.toArray(child.props.children).map(function (c) {
            var nestedChildProps = lodash_assign__WEBPACK_IMPORTED_MODULE_1___default()({}, c.props, lodash_pick__WEBPACK_IMPORTED_MODULE_2___default()(childProps, sharedProps));
  
            return react__WEBPACK_IMPORTED_MODULE_6___default().cloneElement(c, nestedChildProps);
          });
  
          var _childNames = nestedChildren.map(function (c, i) {
            return "".concat(childName, "-").concat(i);
          });
  
          var nestedResults = traverseChildren(nestedChildren, _childNames, child);
          memo = combine(memo, nestedResults);
        } else {
          var result = iteratee(child, childName, parent);
  
          if (result) {
            memo = combine(memo, result);
          }
        }
  
        return memo;
      }, initialMemo);
    };
  
    var childNames = children.map(function (c, i) {
      return i;
    });
    return traverseChildren(children, childNames);
  }
  /**
   * @param {Object} props: the props object
   * @returns {Boolean} returns true if the props object contains `horizontal: true` of if any
   * children or nested children are hoizontal
   */
  
  function isHorizontal(props) {
    if (props.horizontal !== undefined || !props.children) {
      return props.horizontal;
    }
  
    var traverseChildren = function (childArray) {
      return childArray.reduce(function (memo, child) {
        var childProps = child.props || {};
  
        if (memo || childProps.horizontal || !childProps.children) {
          memo = memo || childProps.horizontal;
          return memo;
        }
  
        return traverseChildren(react__WEBPACK_IMPORTED_MODULE_6___default().Children.toArray(childProps.children));
      }, false);
    };
  
    return traverseChildren(react__WEBPACK_IMPORTED_MODULE_6___default().Children.toArray(props.children));
  }
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-util/immutable.js":
  /*!*******************************************************!*\
    !*** ../../victory-core/es/victory-util/immutable.js ***!
    \*******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "IMMUTABLE_ITERABLE": () => (/* binding */ IMMUTABLE_ITERABLE),
  /* harmony export */   "IMMUTABLE_RECORD": () => (/* binding */ IMMUTABLE_RECORD),
  /* harmony export */   "IMMUTABLE_LIST": () => (/* binding */ IMMUTABLE_LIST),
  /* harmony export */   "IMMUTABLE_MAP": () => (/* binding */ IMMUTABLE_MAP),
  /* harmony export */   "isIterable": () => (/* binding */ isIterable),
  /* harmony export */   "isRecord": () => (/* binding */ isRecord),
  /* harmony export */   "isImmutable": () => (/* binding */ isImmutable),
  /* harmony export */   "isList": () => (/* binding */ isList),
  /* harmony export */   "isMap": () => (/* binding */ isMap),
  /* harmony export */   "shallowToJS": () => (/* binding */ shallowToJS)
  /* harmony export */ });
  /* eslint-disable func-style */
  var IMMUTABLE_ITERABLE = "@@__IMMUTABLE_ITERABLE__@@";
  var IMMUTABLE_RECORD = "@@__IMMUTABLE_RECORD__@@";
  var IMMUTABLE_LIST = "@@__IMMUTABLE_LIST__@@";
  var IMMUTABLE_MAP = "@@__IMMUTABLE_MAP__@@";
  function isIterable(x) {
    return !!(x && x[IMMUTABLE_ITERABLE]);
  }
  function isRecord(x) {
    return !!(x && x[IMMUTABLE_RECORD]);
  }
  function isImmutable(x) {
    return isIterable(x) || isRecord(x);
  }
  function isList(x) {
    return !!(x && x[IMMUTABLE_LIST]);
  }
  function isMap(x) {
    return !!(x && x[IMMUTABLE_MAP]);
  }
  function shallowToJS(x, whitelist) {
    return isIterable(x) ? x.reduce(function (prev, curr, key) {
      if (whitelist && whitelist[key]) {
        curr = shallowToJS(curr);
      }
  
      prev[key] = curr;
      return prev;
    }, isList(x) ? [] : {}) : x;
  }
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-util/log.js":
  /*!*************************************************!*\
    !*** ../../victory-core/es/victory-util/log.js ***!
    \*************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "warn": () => (/* binding */ warn)
  /* harmony export */ });
  /* global console */
  
  /* eslint-disable no-console */
  // TODO: Use "warning" npm module like React is switching to.
  // eslint-disable-next-line func-style
  function warn(message) {
    if (true) {
      if (console && console.warn) {
        console.warn(message);
      }
    }
  }
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-util/prop-types.js":
  /*!********************************************************!*\
    !*** ../../victory-core/es/victory-util/prop-types.js ***!
    \********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "deprecated": () => (/* binding */ deprecated),
  /* harmony export */   "allOfType": () => (/* binding */ allOfType),
  /* harmony export */   "nonNegative": () => (/* binding */ nonNegative),
  /* harmony export */   "integer": () => (/* binding */ integer),
  /* harmony export */   "greaterThanZero": () => (/* binding */ greaterThanZero),
  /* harmony export */   "domain": () => (/* binding */ domain),
  /* harmony export */   "scale": () => (/* binding */ scale),
  /* harmony export */   "homogeneousArray": () => (/* binding */ homogeneousArray),
  /* harmony export */   "matchDataLength": () => (/* binding */ matchDataLength),
  /* harmony export */   "regExp": () => (/* binding */ regExp)
  /* harmony export */ });
  /* harmony import */ var lodash_isRegExp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/isRegExp */ "../../../node_modules/lodash/isRegExp.js");
  /* harmony import */ var lodash_isRegExp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isRegExp__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var lodash_find__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/find */ "../../../node_modules/lodash/find.js");
  /* harmony import */ var lodash_find__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_find__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/isFunction */ "../../../node_modules/lodash/isFunction.js");
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./log */ "../../victory-core/es/victory-util/log.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);
  
  
  
  
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  
  
  
  /**
   * Return a new validator based on `validator` but with the option to chain
   * `isRequired` onto the validation. This is nearly identical to how React
   * does it internally, but they don't expose their helper for us to use.
   * @param {Function} validator Validation function.
   * @returns {Function} Validator with `isRequired` option.
   */
  
  var makeChainable = function (validator) {
    /* eslint-disable max-params */
    var _chainable = function (isRequired, props, propName, componentName) {
      var value = props[propName];
  
      if (value === undefined || value === null) {
        if (isRequired) {
          return new Error("Required `".concat(propName, "` was not specified in `").concat(componentName, "`."));
        }
  
        return null;
      }
  
      for (var _len = arguments.length, rest = new Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) {
        rest[_key - 4] = arguments[_key];
      }
  
      return validator.apply(void 0, [props, propName, componentName].concat(rest));
    };
  
    var chainable = _chainable.bind(null, false);
  
    chainable.isRequired = _chainable.bind(null, true);
    return chainable;
  };
  
  var nullConstructor = function () {
    return null;
  };
  
  var undefinedConstructor = function () {
    return undefined;
  };
  /**
   * Get the constructor of `value`. If `value` is null or undefined, return the
   * special singletons `nullConstructor` or `undefinedConstructor`, respectively.
   * @param {*} value Instance to return the constructor of.
   * @returns {Function} Constructor of `value`.
   */
  
  
  var getConstructor = function (value) {
    if (value === undefined) {
      return undefinedConstructor;
    } else if (value === null) {
      return nullConstructor;
    } else {
      return value.constructor;
    }
  };
  /**
   * Get the name of the constructor used to create `value`, using
   * `Object.protoype.toString`. If the value is null or undefined, return
   * "null" or "undefined", respectively.
   * @param {*} value Instance to return the constructor name of.
   * @returns {String} Name of the constructor.
   */
  
  
  var getConstructorName = function (value) {
    if (value === undefined) {
      return "undefined";
    } else if (value === null) {
      return "null";
    }
  
    return Object.prototype.toString.call(value).slice(8, -1); // eslint-disable-line no-magic-numbers
  };
  /**
   * Return a new validator based on `propType` but which logs a `console.error`
   * with `explanation` if used.
   * @param {Function} propType The old, deprecated propType.
   * @param {String} explanation The message to provide the user of the deprecated propType.
   * @returns {Function} Validator which logs usage of this propType
   */
  
  
  function deprecated(propType, explanation) {
    return function (props, propName, componentName) {
      var value = props[propName];
  
      if (value !== null && value !== undefined) {
        _log__WEBPACK_IMPORTED_MODULE_4__.warn("\"".concat(propName, "\" property of \"").concat(componentName, "\" has been deprecated ").concat(explanation));
      }
  
      return prop_types__WEBPACK_IMPORTED_MODULE_3___default().checkPropTypes(_defineProperty({}, propName, propType), props, propName, componentName);
    };
  }
  /**
   * Return a new validator which returns true
   * if and only if all validators passed as arguments return true.
   * Like React.propTypes.oneOfType, except "all" instead of "any"
   * @param {Array} validators Validation functions.
   * @returns {Function} Combined validator function
   */
  
  function allOfType(validators) {
    return makeChainable(function (props, propName, componentName) {
      for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
        rest[_key2 - 3] = arguments[_key2];
      }
  
      return validators.reduce(function (result, validator) {
        return result || validator.apply(void 0, [props, propName, componentName].concat(rest));
      }, undefined);
    });
  }
  /**
   * Check that the value is a non-negative number.
   */
  
  var nonNegative = makeChainable(function (props, propName, componentName) {
    var value = props[propName];
  
    if (typeof value !== "number" || value < 0) {
      return new Error("`".concat(propName, "` in `").concat(componentName, "` must be a non-negative number."));
    }
  
    return undefined;
  });
  /**
   * Check that the value is an integer.
   */
  
  var integer = makeChainable(function (props, propName, componentName) {
    var value = props[propName];
  
    if (typeof value !== "number" || value % 1 !== 0) {
      return new Error("`".concat(propName, "` in `").concat(componentName, "` must be an integer."));
    }
  
    return undefined;
  });
  /**
   * Check that the value is greater than zero.
   */
  
  var greaterThanZero = makeChainable(function (props, propName, componentName) {
    var value = props[propName];
  
    if (typeof value !== "number" || value <= 0) {
      return new Error("`".concat(propName, "` in `").concat(componentName, "` must be a number greater than zero."));
    }
  
    return undefined;
  });
  /**
   * Check that the value is an Array of two unique values.
   */
  
  var domain = makeChainable(function (props, propName, componentName) {
    var value = props[propName];
  
    if (!Array.isArray(value) || value.length !== 2 || value[1] === value[0]) {
      return new Error("`".concat(propName, "` in `").concat(componentName, "` must be an array of two unique numeric values."));
    }
  
    return undefined;
  });
  /**
   * Check that the value looks like a d3 `scale` function.
   */
  
  var scale = makeChainable(function (props, propName, componentName) {
    var supportedScaleStrings = ["linear", "time", "log", "sqrt"];
  
    var validScale = function (scl) {
      if (lodash_isFunction__WEBPACK_IMPORTED_MODULE_2___default()(scl)) {
        return lodash_isFunction__WEBPACK_IMPORTED_MODULE_2___default()(scl.copy) && lodash_isFunction__WEBPACK_IMPORTED_MODULE_2___default()(scl.domain) && lodash_isFunction__WEBPACK_IMPORTED_MODULE_2___default()(scl.range);
      } else if (typeof scl === "string") {
        return supportedScaleStrings.indexOf(scl) !== -1;
      }
  
      return false;
    };
  
    var value = props[propName];
  
    if (!validScale(value)) {
      return new Error("`".concat(propName, "` in `").concat(componentName, "` must be a d3 scale."));
    }
  
    return undefined;
  });
  /**
   * Check that an array contains items of the same type.
   */
  
  var homogeneousArray = makeChainable(function (props, propName, componentName) {
    var values = props[propName];
  
    if (!Array.isArray(values)) {
      return new Error("`".concat(propName, "` in `").concat(componentName, "` must be an array."));
    }
  
    if (values.length < 2) {
      return undefined;
    }
  
    var comparisonConstructor = getConstructor(values[0]);
  
    var typeMismatchedValue = lodash_find__WEBPACK_IMPORTED_MODULE_1___default()(values, function (value) {
      return comparisonConstructor !== getConstructor(value);
    });
  
    if (typeMismatchedValue) {
      var constructorName = getConstructorName(values[0]);
      var otherConstructorName = getConstructorName(typeMismatchedValue);
      return new Error("Expected `".concat(propName, "` in `").concat(componentName, "` to be a ") + "homogeneous array, but found types `".concat(constructorName, "` and ") + "`".concat(otherConstructorName, "`."));
    }
  
    return undefined;
  });
  /**
   * Check that array prop length matches props.data.length
   */
  
  var matchDataLength = makeChainable(function (props, propName) {
    if (props[propName] && Array.isArray(props[propName]) && props[propName].length !== props.data.length) {
      return new Error("Length of data and ".concat(propName, " arrays must match."));
    }
  
    return undefined;
  });
  /**
   * Check that the value is a regular expression
   */
  
  var regExp = makeChainable(function (props, propName, componentName) {
    if (props[propName] && !lodash_isRegExp__WEBPACK_IMPORTED_MODULE_0___default()(props[propName])) {
      return new Error("`".concat(propName, "` in `").concat(componentName, "` must be a regular expression."));
    }
  
    return undefined;
  });
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-util/scale.js":
  /*!***************************************************!*\
    !*** ../../victory-core/es/victory-util/scale.js ***!
    \***************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "getScaleFromName": () => (/* binding */ getScaleFromName),
  /* harmony export */   "getBaseScale": () => (/* binding */ getBaseScale),
  /* harmony export */   "getDefaultScale": () => (/* binding */ getDefaultScale),
  /* harmony export */   "getScaleFromProps": () => (/* binding */ getScaleFromProps),
  /* harmony export */   "getScaleType": () => (/* binding */ getScaleType),
  /* harmony export */   "getType": () => (/* binding */ getType)
  /* harmony export */ });
  /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/isPlainObject */ "../../../node_modules/lodash/isPlainObject.js");
  /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/isFunction */ "../../../node_modules/lodash/isFunction.js");
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var lodash_includes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/includes */ "../../../node_modules/lodash/includes.js");
  /* harmony import */ var lodash_includes__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_includes__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./helpers */ "../../victory-core/es/victory-util/helpers.js");
  /* harmony import */ var _collection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./collection */ "../../victory-core/es/victory-util/collection.js");
  /* harmony import */ var d3_scale__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! d3-scale */ "../../../node_modules/d3-scale/index.js");
  
  
  
  
  
  
  var supportedScaleStrings = ["linear", "time", "log", "sqrt"]; // Private Functions
  
  function toNewName(scale) {
    // d3 scale changed the naming scheme for scale from "linear" -> "scaleLinear" etc.
    var capitalize = function (s) {
      return s && s[0].toUpperCase() + s.slice(1);
    };
  
    return "scale".concat(capitalize(scale));
  }
  
  function validScale(scale) {
    if (typeof scale === "function") {
      return lodash_isFunction__WEBPACK_IMPORTED_MODULE_1___default()(scale.copy) && lodash_isFunction__WEBPACK_IMPORTED_MODULE_1___default()(scale.domain) && lodash_isFunction__WEBPACK_IMPORTED_MODULE_1___default()(scale.range);
    } else if (typeof scale === "string") {
      return lodash_includes__WEBPACK_IMPORTED_MODULE_2___default()(supportedScaleStrings, scale);
    }
  
    return false;
  }
  
  function isScaleDefined(props, axis) {
    if (!props.scale) {
      return false;
    } else if (props.scale.x || props.scale.y) {
      return props.scale[axis] ? true : false;
    }
  
    return true;
  }
  
  function getScaleTypeFromProps(props, axis) {
    if (!isScaleDefined(props, axis)) {
      return undefined;
    }
  
    var scale = props.scale[axis] || props.scale;
    return typeof scale === "string" ? scale : getType(scale);
  }
  
  function getScaleFromDomain(props, axis) {
    var domain;
  
    if (props.domain && props.domain[axis]) {
      domain = props.domain[axis];
    } else if (props.domain && Array.isArray(props.domain)) {
      domain = props.domain;
    }
  
    if (!domain) {
      return undefined;
    }
  
    return _collection__WEBPACK_IMPORTED_MODULE_4__.containsDates(domain) ? "time" : "linear";
  }
  
  function getScaleTypeFromData(props, axis) {
    if (!props.data) {
      return "linear";
    }
  
    var accessor = _helpers__WEBPACK_IMPORTED_MODULE_5__.createAccessor(props[axis]);
    var axisData = props.data.map(function (datum) {
      var processedData = lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default()(accessor(datum)) ? accessor(datum)[axis] : accessor(datum);
      return processedData !== undefined ? processedData : datum[axis];
    });
    return _collection__WEBPACK_IMPORTED_MODULE_4__.containsDates(axisData) ? "time" : "linear";
  } // Exported Functions
  
  
  function getScaleFromName(name) {
    return validScale(name) ? d3_scale__WEBPACK_IMPORTED_MODULE_3__[toNewName(name)]() : d3_scale__WEBPACK_IMPORTED_MODULE_3__.scaleLinear();
  }
  function getBaseScale(props, axis) {
    var scale = getScaleFromProps(props, axis);
  
    if (scale) {
      return typeof scale === "string" ? getScaleFromName(scale) : scale;
    }
  
    var defaultScale = getScaleFromDomain(props, axis) || getScaleTypeFromData(props, axis);
    return d3_scale__WEBPACK_IMPORTED_MODULE_3__[toNewName(defaultScale)]();
  }
  function getDefaultScale() {
    return d3_scale__WEBPACK_IMPORTED_MODULE_3__.scaleLinear();
  }
  function getScaleFromProps(props, axis) {
    if (!isScaleDefined(props, axis)) {
      return undefined;
    }
  
    var scale = props.scale[axis] || props.scale;
  
    if (validScale(scale)) {
      return lodash_isFunction__WEBPACK_IMPORTED_MODULE_1___default()(scale) ? scale : d3_scale__WEBPACK_IMPORTED_MODULE_3__[toNewName(scale)]();
    }
  
    return undefined;
  }
  function getScaleType(props, axis) {
    // if the scale was not given in props, it will be set to linear or time depending on data
    return getScaleTypeFromProps(props, axis) || getScaleTypeFromData(props, axis);
  }
  function getType(scale) {
    if (typeof scale === "string") {
      return scale;
    }
  
    var duckTypes = [{
      name: "log",
      method: "base"
    }, {
      name: "ordinal",
      method: "unknown"
    }, {
      name: "pow-sqrt",
      method: "exponent"
    }, {
      name: "quantile",
      method: "quantiles"
    }, {
      name: "quantize-threshold",
      method: "invertExtent"
    }];
    var scaleType = duckTypes.filter(function (type) {
      return scale[type.method] !== undefined;
    })[0];
    return scaleType ? scaleType.name : undefined;
  }
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-util/selection.js":
  /*!*******************************************************!*\
    !*** ../../victory-core/es/victory-util/selection.js ***!
    \*******************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "getParentSVG": () => (/* binding */ getParentSVG),
  /* harmony export */   "getSVGEventCoordinates": () => (/* binding */ getSVGEventCoordinates),
  /* harmony export */   "getDomainCoordinates": () => (/* binding */ getDomainCoordinates),
  /* harmony export */   "getDataCoordinates": () => (/* binding */ getDataCoordinates),
  /* harmony export */   "getBounds": () => (/* binding */ getBounds)
  /* harmony export */ });
  /* harmony import */ var _collection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./collection */ "../../victory-core/es/victory-util/collection.js");
  /* eslint-disable func-style */
  
  /* eslint-disable no-use-before-define */
   // Private Functions
  
  function transformTarget(target, matrix, dimension) {
    var a = matrix.a,
        d = matrix.d,
        e = matrix.e,
        f = matrix.f;
    return dimension === "y" ? d * target + f : a * target + e;
  }
  
  function getTransformationMatrix(svg) {
    return svg.getScreenCTM().inverse();
  } // Exported Functions
  
  
  function getParentSVG(evt) {
    if (evt.nativeEvent && evt.nativeEvent.identifier !== undefined) {
      return undefined;
    }
  
    var getParent = function (target) {
      if (target.nodeName === "svg") {
        return target;
      } else {
        return target.parentNode ? getParent(target.parentNode) : target;
      }
    };
  
    return getParent(evt.target);
  }
  function getSVGEventCoordinates(evt, svg) {
    if (evt.nativeEvent && evt.nativeEvent.identifier !== undefined) {
      // react-native override. relies on the RN.View being the _exact_ same size as its child SVG.
      // this should be fine: the svg is the only child of View and the View shirks to its children
      return {
        x: evt.nativeEvent.locationX,
        y: evt.nativeEvent.locationY
      };
    }
  
    evt = evt.changedTouches && evt.changedTouches.length ? evt.changedTouches[0] : evt;
    svg = svg || getParentSVG(evt);
    var matrix = getTransformationMatrix(svg);
    return {
      x: transformTarget(evt.clientX, matrix, "x"),
      y: transformTarget(evt.clientY, matrix, "y")
    };
  }
  function getDomainCoordinates(props, domain) {
    var scale = props.scale,
        horizontal = props.horizontal;
    domain = domain || {
      x: scale.x.domain(),
      y: scale.y.domain()
    };
    return {
      x: horizontal ? [scale.y(domain.y[0]), scale.y(domain.y[1])] : [scale.x(domain.x[0]), scale.x(domain.x[1])],
      y: horizontal ? [scale.x(domain.x[0]), scale.x(domain.x[1])] : [scale.y(domain.y[0]), scale.y(domain.y[1])]
    };
  } // eslint-disable-next-line max-params
  
  function getDataCoordinates(props, scale, x, y) {
    var polar = props.polar,
        horizontal = props.horizontal;
  
    if (!polar) {
      return {
        x: horizontal ? scale.x.invert(y) : scale.x.invert(x),
        y: horizontal ? scale.y.invert(x) : scale.y.invert(y)
      };
    } else {
      var origin = props.origin || {
        x: 0,
        y: 0
      };
      var baseX = x - origin.x;
      var baseY = y - origin.y;
      var radius = Math.abs(baseX * Math.sqrt(1 + Math.pow(-baseY / baseX, 2)));
      var angle = (-Math.atan2(baseY, baseX) + Math.PI * 2) % (Math.PI * 2);
      return {
        x: scale.x.invert(angle),
        y: scale.y.invert(radius)
      };
    }
  }
  function getBounds(props) {
    var x1 = props.x1,
        x2 = props.x2,
        y1 = props.y1,
        y2 = props.y2,
        scale = props.scale;
    var point1 = getDataCoordinates(props, scale, x1, y1);
    var point2 = getDataCoordinates(props, scale, x2, y2);
  
    var makeBound = function (a, b) {
      return [_collection__WEBPACK_IMPORTED_MODULE_0__.getMinValue([a, b]), _collection__WEBPACK_IMPORTED_MODULE_0__.getMaxValue([a, b])];
    };
  
    return {
      x: makeBound(point1.x, point2.x),
      y: makeBound(point1.y, point2.y)
    };
  }
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-util/style.js":
  /*!***************************************************!*\
    !*** ../../victory-core/es/victory-util/style.js ***!
    \***************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "toTransformString": () => (/* binding */ toTransformString),
  /* harmony export */   "getColorScale": () => (/* binding */ getColorScale)
  /* harmony export */ });
  /* eslint-disable func-style */
  
  /**
   * Given an object with CSS/SVG transform definitions, return the string value
   * for use with the `transform` CSS property or SVG attribute. Note that we
   * can't always guarantee the order will match the author's intended order, so
   * authors should only use the object notation if they know that their transform
   * is commutative or that there is only one.
   * @param {Object} obj An object of transform definitions.
   * @returns {String} The generated transform string.
   */
  var toTransformString = function (obj) {
    for (var _len = arguments.length, more = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
      more[_key - 1] = arguments[_key];
    }
  
    if (more.length > 0) {
      return more.reduce(function (memo, currentObj) {
        return [memo, toTransformString(currentObj)].join(" ");
      }, toTransformString(obj)).trim();
    } else {
      if (obj === undefined || obj === null || typeof obj === "string") {
        return obj;
      }
  
      var transforms = [];
  
      for (var key in obj) {
        if (obj.hasOwnProperty(key)) {
          var value = obj[key];
          transforms.push("".concat(key, "(").concat(value, ")"));
        }
      }
  
      return transforms.join(" ").trim();
    }
  };
  /**
   * Given the name of a color scale, getColorScale will return an array
   * of 5 hex string values in that color scale. If no 'name' parameter
   * is given, it will return the Victory default grayscale.
   * @param {String} name The name of the color scale to return (optional).
   * @returns {Array} An array of 5 hex string values composing a color scale.
   */
  
  function getColorScale(name) {
    var scales = {
      grayscale: ["#cccccc", "#969696", "#636363", "#252525"],
      qualitative: ["#334D5C", "#45B29D", "#EFC94C", "#E27A3F", "#DF5A49", "#4F7DA1", "#55DBC1", "#EFDA97", "#E2A37F", "#DF948A"],
      heatmap: ["#428517", "#77D200", "#D6D305", "#EC8E19", "#C92B05"],
      warm: ["#940031", "#C43343", "#DC5429", "#FF821D", "#FFAF55"],
      cool: ["#2746B9", "#0B69D4", "#2794DB", "#31BB76", "#60E83B"],
      red: ["#FCAE91", "#FB6A4A", "#DE2D26", "#A50F15", "#750B0E"],
      blue: ["#002C61", "#004B8F", "#006BC9", "#3795E5", "#65B4F4"],
      green: ["#354722", "#466631", "#649146", "#8AB25C", "#A9C97E"]
    };
    return name ? scales[name] : scales.grayscale;
  }
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-util/timer-context.js":
  /*!***********************************************************!*\
    !*** ../../victory-core/es/victory-util/timer-context.js ***!
    \***********************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  /* harmony export */ });
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var _timer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./timer */ "../../victory-core/es/victory-util/timer.js");
  
  
  /**
   * The React context object consumers may use to access or override the global
   * timer.
   */
  
  var TimerContext = react__WEBPACK_IMPORTED_MODULE_0___default().createContext({
    transitionTimer: new _timer__WEBPACK_IMPORTED_MODULE_1__["default"](),
    animationTimer: new _timer__WEBPACK_IMPORTED_MODULE_1__["default"]()
  });
  TimerContext.displayName = "TimerContext";
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TimerContext);
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-util/timer.js":
  /*!***************************************************!*\
    !*** ../../victory-core/es/victory-util/timer.js ***!
    \***************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "default": () => (/* binding */ Timer)
  /* harmony export */ });
  /* harmony import */ var d3_timer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-timer */ "../../../node_modules/d3-timer/src/timer.js");
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  
  
  
  var Timer =
  /*#__PURE__*/
  function () {
    function Timer() {
      _classCallCheck(this, Timer);
  
      this.shouldAnimate = true;
      this.subscribers = [];
      this.loop = this.loop.bind(this);
      this.timer = null;
      this.activeSubscriptions = 0;
    }
  
    _createClass(Timer, [{
      key: "bypassAnimation",
      value: function bypassAnimation() {
        this.shouldAnimate = false;
      }
    }, {
      key: "resumeAnimation",
      value: function resumeAnimation() {
        this.shouldAnimate = true;
      }
    }, {
      key: "loop",
      value: function loop() {
        this.subscribers.forEach(function (s) {
          s.callback((0,d3_timer__WEBPACK_IMPORTED_MODULE_0__.now)() - s.startTime, s.duration);
        });
      }
    }, {
      key: "start",
      value: function start() {
        if (!this.timer) {
          this.timer = (0,d3_timer__WEBPACK_IMPORTED_MODULE_0__.timer)(this.loop);
        }
      }
    }, {
      key: "stop",
      value: function stop() {
        if (this.timer) {
          this.timer.stop();
          this.timer = null;
        }
      }
    }, {
      key: "subscribe",
      value: function subscribe(callback, duration) {
        duration = this.shouldAnimate ? duration : 0;
        var subscriptionID = this.subscribers.push({
          startTime: (0,d3_timer__WEBPACK_IMPORTED_MODULE_0__.now)(),
          callback: callback,
          duration: duration
        });
        this.activeSubscriptions++;
        this.start();
        return subscriptionID;
      }
    }, {
      key: "unsubscribe",
      value: function unsubscribe(id) {
        if (id !== null && this.subscribers[id - 1]) {
          delete this.subscribers[id - 1];
          this.activeSubscriptions--;
        }
  
        if (this.activeSubscriptions === 0) {
          this.stop();
        }
      }
    }]);
  
    return Timer;
  }();
  
  
  
  /***/ }),
  
  /***/ "../../victory-core/es/victory-util/wrapper.js":
  /*!*****************************************************!*\
    !*** ../../victory-core/es/victory-util/wrapper.js ***!
    \*****************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "addBinsToParentPropsIfHistogram": () => (/* binding */ addBinsToParentPropsIfHistogram),
  /* harmony export */   "getDataFromChildren": () => (/* binding */ getDataFromChildren),
  /* harmony export */   "getData": () => (/* binding */ getData),
  /* harmony export */   "getWidth": () => (/* binding */ getWidth),
  /* harmony export */   "getDefaultDomainPadding": () => (/* binding */ getDefaultDomainPadding),
  /* harmony export */   "getDomainFromChildren": () => (/* binding */ getDomainFromChildren),
  /* harmony export */   "getDomain": () => (/* binding */ getDomain),
  /* harmony export */   "getScale": () => (/* binding */ getScale),
  /* harmony export */   "getAllEvents": () => (/* binding */ getAllEvents),
  /* harmony export */   "getColor": () => (/* binding */ getColor),
  /* harmony export */   "getStyle": () => (/* binding */ getStyle),
  /* harmony export */   "getChildStyle": () => (/* binding */ getChildStyle),
  /* harmony export */   "getStringsFromCategories": () => (/* binding */ getStringsFromCategories),
  /* harmony export */   "getStringsFromData": () => (/* binding */ getStringsFromData),
  /* harmony export */   "getCategoryAndAxisStringsFromChildren": () => (/* binding */ getCategoryAndAxisStringsFromChildren),
  /* harmony export */   "getStringsFromChildren": () => (/* binding */ getStringsFromChildren),
  /* harmony export */   "getCategories": () => (/* binding */ getCategories)
  /* harmony export */ });
  /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/isPlainObject */ "../../../node_modules/lodash/isPlainObject.js");
  /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var lodash_values__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/values */ "../../../node_modules/lodash/values.js");
  /* harmony import */ var lodash_values__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_values__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var lodash_uniqBy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/uniqBy */ "../../../node_modules/lodash/uniqBy.js");
  /* harmony import */ var lodash_uniqBy__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_uniqBy__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var lodash_groupBy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/groupBy */ "../../../node_modules/lodash/groupBy.js");
  /* harmony import */ var lodash_groupBy__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_groupBy__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var lodash_uniq__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/uniq */ "../../../node_modules/lodash/uniq.js");
  /* harmony import */ var lodash_uniq__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_uniq__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/isFunction */ "../../../node_modules/lodash/isFunction.js");
  /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/flatten */ "../../../node_modules/lodash/flatten.js");
  /* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_flatten__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash/defaults */ "../../../node_modules/lodash/defaults.js");
  /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash_defaults__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash/assign */ "../../../node_modules/lodash/assign.js");
  /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_8__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_9__);
  /* harmony import */ var _axis__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./axis */ "../../victory-core/es/victory-util/axis.js");
  /* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./style */ "../../victory-core/es/victory-util/style.js");
  /* harmony import */ var _data__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./data */ "../../victory-core/es/victory-util/data.js");
  /* harmony import */ var _domain__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./domain */ "../../victory-core/es/victory-util/domain.js");
  /* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./events */ "../../victory-core/es/victory-util/events.js");
  /* harmony import */ var _collection__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./collection */ "../../victory-core/es/victory-util/collection.js");
  /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./helpers */ "../../victory-core/es/victory-util/helpers.js");
  /* harmony import */ var _scale__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./scale */ "../../victory-core/es/victory-util/scale.js");
  /* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./log */ "../../victory-core/es/victory-util/log.js");
  
  
  
  
  
  
  
  
  
  
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
  
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
  
  function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
  
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
  
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
  
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  
  
  
  
  
  
  
  
  
  
  
  function addBinsToParentPropsIfHistogram(_ref) {
    var children = _ref.children,
        props = _ref.props,
        childComponents = _ref.childComponents,
        parentProps = _ref.parentProps;
    var someChildrenAreHistograms = children.some(function (child) {
      return child.type && child.type.role === "histogram";
    });
    var allChildrenAreHistograms = someChildrenAreHistograms && children.length && children.every(function (child) {
      return child.type && child.type.role === "histogram";
    });
  
    if (someChildrenAreHistograms && !allChildrenAreHistograms) {
      _log__WEBPACK_IMPORTED_MODULE_10__.warn("VictoryHistogram only supports being stacked with other VictoryHistogram components. Check to make sure that you are only passing VictoryHistogram components to VictoryStack");
    } // if we are stacking histograms, we need to generate explicit bins
    // or else each histogram may end up having different bins
  
  
    if (!allChildrenAreHistograms) {
      return parentProps;
    }
  
    var childBins = props.bins || childComponents[0].props.bins; // if we have explicit bins then we don't need to calculate them
  
    if (!Array.isArray(childBins)) {
      var combinedData = children.reduce(function (memo, child) {
        var xAccessor = _helpers__WEBPACK_IMPORTED_MODULE_11__.createAccessor(child.props.x || "x");
        return memo.concat(child.props.data.map(function (datum) {
          return {
            x: xAccessor(datum)
          };
        }));
      }, []); // use the same function to generate bins as VictoryHistogram but with
      // the combined data from above, then get explicit bins from that
  
      var getFormattedHistogramData = children[0].type.getFormattedData;
      childBins = getFormattedHistogramData({
        data: combinedData,
        bins: childBins
      }).reduce(function (memo, _ref2, index) {
        var x0 = _ref2.x0,
            x1 = _ref2.x1;
        return index === 0 ? memo.concat([x0, x1]) : memo.concat(x1);
      }, []);
    }
  
    return _objectSpread({}, parentProps, {
      bins: childBins
    });
  }
  function getDataFromChildren(props, childComponents) {
    var polar = props.polar,
        startAngle = props.startAngle,
        endAngle = props.endAngle,
        categories = props.categories,
        minDomain = props.minDomain,
        maxDomain = props.maxDomain;
    var parentProps = {
      polar: polar,
      startAngle: startAngle,
      endAngle: endAngle,
      categories: categories,
      minDomain: minDomain,
      maxDomain: maxDomain
    };
    var stack = 0;
    var children = childComponents ? childComponents.slice(0) : react__WEBPACK_IMPORTED_MODULE_9___default().Children.toArray(props.children);
    parentProps = addBinsToParentPropsIfHistogram({
      children: children,
      props: props,
      childComponents: childComponents,
      parentProps: parentProps
    });
  
    var iteratee = function (child, childName, parent) {
      var childProps = lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({}, child.props, parentProps);
  
      var childData;
  
      if (!_data__WEBPACK_IMPORTED_MODULE_12__.isDataComponent(child)) {
        return null;
      } else if (child.type && lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(child.type.getData)) {
        child = parent ? react__WEBPACK_IMPORTED_MODULE_9___default().cloneElement(child, parent.props) : child;
        childData = child.type.getData(childProps);
      } else {
        childData = _data__WEBPACK_IMPORTED_MODULE_12__.getData(childProps);
      }
  
      stack += 1;
      return childData.map(function (datum, index) {
        return lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({
          _stack: stack,
          _group: index
        }, datum);
      });
    };
  
    var stacked = children.filter(function (c) {
      return c.type && c.type.role === "stack";
    }).length;
  
    var combine = function (memo, val) {
      return memo.concat(lodash_uniqBy__WEBPACK_IMPORTED_MODULE_2___default()(val, "_group"));
    };
  
    var datasets = _helpers__WEBPACK_IMPORTED_MODULE_11__.reduceChildren(children, iteratee, props, [], combine);
    var group = stacked ? "_group" : "_stack";
    return lodash_values__WEBPACK_IMPORTED_MODULE_1___default()(lodash_groupBy__WEBPACK_IMPORTED_MODULE_3___default()(datasets, group));
  }
  function getData(props, childComponents) {
    if (props.data) {
      return _data__WEBPACK_IMPORTED_MODULE_12__.getData(props);
    }
  
    childComponents = childComponents || react__WEBPACK_IMPORTED_MODULE_9___default().Children.toArray(props.children);
    return getDataFromChildren(childComponents);
  }
  function getWidth(props, groupLength, seriesLength) {
    var datasets = props.datasets,
        horizontal = props.horizontal;
    var range = horizontal ? _helpers__WEBPACK_IMPORTED_MODULE_11__.getRange(props, "y") : _helpers__WEBPACK_IMPORTED_MODULE_11__.getRange(props, "x");
    var extent = Math.abs(range[1] - range[0]);
    seriesLength = seriesLength !== undefined ? seriesLength : Array.isArray(datasets[0]) && datasets[0].length || 1;
    groupLength = groupLength || datasets.length;
    var bars = groupLength * seriesLength;
    var barRatio = 0.5;
    return Math.round(barRatio * extent / bars);
  }
  function getDefaultDomainPadding(props, axis, childComponents) {
    if (props.polar || axis !== "x") {
      return undefined;
    }
  
    var groupComponent = childComponents.filter(function (child) {
      return child.type && child.type.role && child.type.role === "group";
    });
  
    if (groupComponent.length < 1) {
      return undefined;
    }
  
    var _groupComponent$0$pro = groupComponent[0].props,
        offset = _groupComponent$0$pro.offset,
        children = _groupComponent$0$pro.children;
  
    if (!offset) {
      return undefined;
    }
  
    var firstChild = Array.isArray(children) && children[0];
  
    if (!firstChild) {
      return undefined;
    }
  
    var barWidth = firstChild.props.barWidth;
    var dataLength = firstChild.props.data && firstChild.props.data.length || 1;
  
    if (firstChild && firstChild.type.role === "stack") {
      var nestedChild = firstChild.props.children && firstChild.props.children[0];
  
      if (!nestedChild) {
        return undefined;
      }
  
      barWidth = nestedChild.props.barWidth;
      dataLength = firstChild.props.children.length;
    }
  
    var width = barWidth || getWidth(props, children.length, dataLength);
    return {
      x: width * children.length / 2 + (offset - width * ((children.length - 1) / 2))
    };
  }
  function getDomainFromChildren(props, axis, childComponents) {
    // eslint-disable-line max-statements, complexity, max-len
    var children = childComponents ? childComponents.slice(0) : react__WEBPACK_IMPORTED_MODULE_9___default().Children.toArray(props.children);
    var parentData = props.data ? _data__WEBPACK_IMPORTED_MODULE_12__.getData(props, axis) : undefined;
    var polar = props.polar,
        startAngle = props.startAngle,
        endAngle = props.endAngle,
        categories = props.categories,
        minDomain = props.minDomain,
        maxDomain = props.maxDomain,
        horizontal = props.horizontal;
    var baseParentProps = {
      horizontal: horizontal,
      polar: polar,
      startAngle: startAngle,
      endAngle: endAngle,
      minDomain: minDomain,
      maxDomain: maxDomain,
      categories: categories
    };
    var parentProps = parentData ? lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()(baseParentProps, {
      data: parentData
    }) : baseParentProps;
  
    var iteratee = function (child) {
      var sharedProps = lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({}, child.props, parentProps);
  
      if (!_domain__WEBPACK_IMPORTED_MODULE_13__.isDomainComponent(child)) {
        return null;
      } else if (child.type && lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(child.type.getDomain)) {
        return child.props && child.type.getDomain(sharedProps, axis);
      } else {
        return _domain__WEBPACK_IMPORTED_MODULE_13__.getDomain(sharedProps, axis);
      }
    };
  
    var childDomains = _helpers__WEBPACK_IMPORTED_MODULE_11__.reduceChildren(children, iteratee, props);
    var min = childDomains.length === 0 ? 0 : _collection__WEBPACK_IMPORTED_MODULE_14__.getMinValue(childDomains);
    var max = childDomains.length === 0 ? 1 : _collection__WEBPACK_IMPORTED_MODULE_14__.getMaxValue(childDomains);
    return [min, max];
  }
  function getDomain(props, axis, childComponents) {
    childComponents = childComponents || react__WEBPACK_IMPORTED_MODULE_9___default().Children.toArray(props.children);
    var propsDomain = _domain__WEBPACK_IMPORTED_MODULE_13__.getDomainFromProps(props, axis);
    var domainPadding = getDefaultDomainPadding(props, axis, childComponents);
    var domain;
  
    if (propsDomain) {
      domain = propsDomain;
    } else {
      var minDomain = _domain__WEBPACK_IMPORTED_MODULE_13__.getMinFromProps(props, axis);
      var maxDomain = _domain__WEBPACK_IMPORTED_MODULE_13__.getMaxFromProps(props, axis);
      var dataset = (props.data || props.y) && _data__WEBPACK_IMPORTED_MODULE_12__.getData(props);
      var dataDomain = dataset ? _domain__WEBPACK_IMPORTED_MODULE_13__.getDomainFromData(props, axis, dataset) : [];
      var childDomain = getDomainFromChildren(props, axis, childComponents);
      var min = minDomain || _collection__WEBPACK_IMPORTED_MODULE_14__.getMinValue(_toConsumableArray(dataDomain).concat(_toConsumableArray(childDomain)));
      var max = maxDomain || _collection__WEBPACK_IMPORTED_MODULE_14__.getMaxValue(_toConsumableArray(dataDomain).concat(_toConsumableArray(childDomain)));
      domain = _domain__WEBPACK_IMPORTED_MODULE_13__.getDomainFromMinMax(min, max);
    }
  
    return _domain__WEBPACK_IMPORTED_MODULE_13__.formatDomain(domain, lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({
      domainPadding: domainPadding
    }, props), axis);
  }
  function getScale(props, axis, childComponents) {
    if (props.data) {
      return _scale__WEBPACK_IMPORTED_MODULE_15__.getBaseScale(props, axis);
    }
  
    var children = childComponents ? childComponents.slice(0) : react__WEBPACK_IMPORTED_MODULE_9___default().Children.toArray(props.children);
  
    var iteratee = function (child) {
      var sharedProps = lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({}, child.props, {
        horizontal: props.horizontal
      });
  
      return _scale__WEBPACK_IMPORTED_MODULE_15__.getScaleType(sharedProps, axis);
    };
  
    var childScale = lodash_uniq__WEBPACK_IMPORTED_MODULE_4___default()(_helpers__WEBPACK_IMPORTED_MODULE_11__.reduceChildren(children, iteratee, props)); // default to linear scale if more than one uniq scale type is given by children
  
  
    return childScale.length > 1 ? _scale__WEBPACK_IMPORTED_MODULE_15__.getScaleFromName("linear") : _scale__WEBPACK_IMPORTED_MODULE_15__.getScaleFromName(childScale[0]);
  }
  function getAllEvents(props) {
    var components = ["groupComponent", "containerComponent", "labelComponent"];
    var componentEvents = _events__WEBPACK_IMPORTED_MODULE_16__.getComponentEvents(props, components);
    var events = props.events;
  
    if (Array.isArray(componentEvents)) {
      events = Array.isArray(props.events) ? componentEvents.concat.apply(componentEvents, _toConsumableArray(props.events)) : componentEvents;
    }
  
    return events || [];
  }
  function getColor(calculatedProps, child, index) {
    // check for styles first
    var style = calculatedProps.style;
    var colorScale = calculatedProps.colorScale,
        color = calculatedProps.color;
  
    if (style && style.data && style.data.fill) {
      return style.data.fill;
    }
  
    colorScale = child.props && child.props.colorScale ? child.props.colorScale : colorScale;
    color = child.props && child.props.color ? child.props.color : color;
  
    if (!colorScale && !color) {
      return undefined;
    }
  
    var colors = Array.isArray(colorScale) ? colorScale : _style__WEBPACK_IMPORTED_MODULE_17__.getColorScale(colorScale);
    return color || colors[index % colors.length];
  }
  function getStyle(theme, style, role) {
    var defaultStyle = theme && theme[role] && theme[role].style ? theme[role].style : {};
    return _helpers__WEBPACK_IMPORTED_MODULE_11__.getStyles(style, defaultStyle);
  }
  function getChildStyle(child, index, calculatedProps) {
    var style = calculatedProps.style,
        role = calculatedProps.role;
    var childStyle = child.props.style || {};
  
    if (Array.isArray(childStyle)) {
      return childStyle;
    }
  
    var childRole = child.type && child.type.role;
    var defaultFill = childRole === "stack" ? undefined : getColor(calculatedProps, child, index);
    var defaultColor = childRole === "line" ? {
      fill: "none",
      stroke: defaultFill
    } : {
      fill: defaultFill
    };
    var dataWidth = role === "stack" ? {} : {
      width: getWidth(calculatedProps)
    };
  
    var dataStyle = lodash_defaults__WEBPACK_IMPORTED_MODULE_7___default()({}, childStyle.data, lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({}, dataWidth, style.data, defaultColor));
  
    var labelsStyle = lodash_defaults__WEBPACK_IMPORTED_MODULE_7___default()({}, childStyle.labels, style.labels);
  
    return {
      parent: style.parent,
      data: dataStyle,
      labels: labelsStyle
    };
  }
  function getStringsFromCategories(childComponents, axis) {
    var iteratee = function (child) {
      var childProps = child.props || {};
  
      if (!_domain__WEBPACK_IMPORTED_MODULE_13__.isDomainComponent(child) || !childProps.categories) {
        return null;
      } else {
        var categories = childProps.categories && !Array.isArray(childProps.categories) ? childProps.categories[axis] : childProps.props.categories;
        var categoryStrings = categories && categories.filter(function (val) {
          return typeof val === "string";
        });
        return categoryStrings ? _collection__WEBPACK_IMPORTED_MODULE_14__.removeUndefined(categoryStrings) : [];
      }
    };
  
    return _helpers__WEBPACK_IMPORTED_MODULE_11__.reduceChildren(childComponents.slice(0), iteratee);
  }
  function getStringsFromData(childComponents) {
    var iteratee = function (child) {
      var childProps = child.props || {};
      var data;
  
      if (!_data__WEBPACK_IMPORTED_MODULE_12__.isDataComponent(child)) {
        return null;
      } else if (child.type && lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(child.type.getData)) {
        data = child.type.getData(childProps);
      } else {
        data = _data__WEBPACK_IMPORTED_MODULE_12__.getData(childProps);
      }
  
      return data.map(function (d) {
        return {
          x: d.xName,
          y: d.yName
        };
      });
    };
  
    var initialMemo = {
      x: [],
      y: []
    };
  
    var combine = function (memo, datum) {
      var x = Array.isArray(datum) ? datum.map(function (d) {
        return d.x;
      }).filter(Boolean) : datum.x;
      var y = Array.isArray(datum) ? datum.map(function (d) {
        return d.y;
      }).filter(Boolean) : datum.y;
      return {
        x: x !== undefined ? memo.x.concat(x) : memo.x,
        y: y !== undefined ? memo.y.concat(y) : memo.y
      };
    };
  
    return _helpers__WEBPACK_IMPORTED_MODULE_11__.reduceChildren(childComponents.slice(0), iteratee, {}, initialMemo, combine);
  }
  function getCategoryAndAxisStringsFromChildren(props, axis, childComponents) {
    var categories = lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default()(props.categories) ? props.categories[axis] : props.categories;
    var axisComponent = _axis__WEBPACK_IMPORTED_MODULE_18__.getAxisComponent(childComponents, axis);
    var axisStrings = axisComponent ? _data__WEBPACK_IMPORTED_MODULE_12__.getStringsFromAxes(axisComponent.props, axis) : [];
    var categoryStrings = categories || getStringsFromCategories(childComponents, axis);
    return lodash_uniq__WEBPACK_IMPORTED_MODULE_4___default()(lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default()(_toConsumableArray(categoryStrings).concat(_toConsumableArray(axisStrings))));
  }
  function getStringsFromChildren(props, childComponents) {
    childComponents = childComponents || react__WEBPACK_IMPORTED_MODULE_9___default().Children.toArray(props.children);
    var xStrings = getCategoryAndAxisStringsFromChildren(props, "x", childComponents);
    var yStrings = getCategoryAndAxisStringsFromChildren(props, "y", childComponents);
    var dataStrings = getStringsFromData(childComponents);
    return {
      x: lodash_uniq__WEBPACK_IMPORTED_MODULE_4___default()(lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default()(_toConsumableArray(xStrings).concat(_toConsumableArray(dataStrings.x)))),
      y: lodash_uniq__WEBPACK_IMPORTED_MODULE_4___default()(lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default()(_toConsumableArray(yStrings).concat(_toConsumableArray(dataStrings.y))))
    };
  }
  function getCategories(props, childComponents, allStrings) {
    var xPropCategories = props.categories && !Array.isArray(props.categories) ? props.categories.x : props.categories;
    var yPropCategories = props.categories && !Array.isArray(props.categories) ? props.categories.y : props.categories;
    var fallbackRequired = !xPropCategories || !yPropCategories;
    var fallbackProps = fallbackRequired ? allStrings || getStringsFromChildren(props, childComponents) : {};
    var xCategories = xPropCategories || fallbackProps.x;
    var yCategories = yPropCategories || fallbackProps.y;
    return {
      x: xCategories.length > 0 ? xCategories : undefined,
      y: yCategories.length > 0 ? yCategories : undefined
    };
  }
  
  /***/ }),
  
  /***/ "react":
  /*!**************************************************************************************!*\
    !*** external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react"} ***!
    \**************************************************************************************/
  /***/ ((module) => {
  
  "use strict";
  module.exports = __WEBPACK_EXTERNAL_MODULE_react__;
  
  /***/ })
  
  /******/ 	});
  /************************************************************************/
  /******/ 	// The module cache
  /******/ 	var __webpack_module_cache__ = {};
  /******/ 	
  /******/ 	// The require function
  /******/ 	function __webpack_require__(moduleId) {
  /******/ 		// Check if module is in cache
  /******/ 		var cachedModule = __webpack_module_cache__[moduleId];
  /******/ 		if (cachedModule !== undefined) {
  /******/ 			return cachedModule.exports;
  /******/ 		}
  /******/ 		// Create a new module (and put it into the cache)
  /******/ 		var module = __webpack_module_cache__[moduleId] = {
  /******/ 			id: moduleId,
  /******/ 			loaded: false,
  /******/ 			exports: {}
  /******/ 		};
  /******/ 	
  /******/ 		// Execute the module function
  /******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
  /******/ 	
  /******/ 		// Flag the module as loaded
  /******/ 		module.loaded = true;
  /******/ 	
  /******/ 		// Return the exports of the module
  /******/ 		return module.exports;
  /******/ 	}
  /******/ 	
  /************************************************************************/
  /******/ 	/* webpack/runtime/compat get default export */
  /******/ 	(() => {
  /******/ 		// getDefaultExport function for compatibility with non-harmony modules
  /******/ 		__webpack_require__.n = (module) => {
  /******/ 			var getter = module && module.__esModule ?
  /******/ 				() => (module['default']) :
  /******/ 				() => (module);
  /******/ 			__webpack_require__.d(getter, { a: getter });
  /******/ 			return getter;
  /******/ 		};
  /******/ 	})();
  /******/ 	
  /******/ 	/* webpack/runtime/define property getters */
  /******/ 	(() => {
  /******/ 		// define getter functions for harmony exports
  /******/ 		__webpack_require__.d = (exports, definition) => {
  /******/ 			for(var key in definition) {
  /******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
  /******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
  /******/ 				}
  /******/ 			}
  /******/ 		};
  /******/ 	})();
  /******/ 	
  /******/ 	/* webpack/runtime/global */
  /******/ 	(() => {
  /******/ 		__webpack_require__.g = (function() {
  /******/ 			if (typeof globalThis === 'object') return globalThis;
  /******/ 			try {
  /******/ 				return this || new Function('return this')();
  /******/ 			} catch (e) {
  /******/ 				if (typeof window === 'object') return window;
  /******/ 			}
  /******/ 		})();
  /******/ 	})();
  /******/ 	
  /******/ 	/* webpack/runtime/hasOwnProperty shorthand */
  /******/ 	(() => {
  /******/ 		__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
  /******/ 	})();
  /******/ 	
  /******/ 	/* webpack/runtime/make namespace object */
  /******/ 	(() => {
  /******/ 		// define __esModule on exports
  /******/ 		__webpack_require__.r = (exports) => {
  /******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  /******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  /******/ 			}
  /******/ 			Object.defineProperty(exports, '__esModule', { value: true });
  /******/ 		};
  /******/ 	})();
  /******/ 	
  /******/ 	/* webpack/runtime/node module decorator */
  /******/ 	(() => {
  /******/ 		__webpack_require__.nmd = (module) => {
  /******/ 			module.paths = [];
  /******/ 			if (!module.children) module.children = [];
  /******/ 			return module;
  /******/ 		};
  /******/ 	})();
  /******/ 	
  /************************************************************************/
  var __webpack_exports__ = {};
  // This entry need to be wrapped in an IIFE because it need to be in strict mode.
  (() => {
  "use strict";
  /*!******************!*\
    !*** ./index.js ***!
    \******************/
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "zoomContainerMixin": () => (/* reexport safe */ _victory_zoom_container__WEBPACK_IMPORTED_MODULE_0__.zoomContainerMixin),
  /* harmony export */   "VictoryZoomContainer": () => (/* reexport safe */ _victory_zoom_container__WEBPACK_IMPORTED_MODULE_0__["default"]),
  /* harmony export */   "ZoomHelpers": () => (/* reexport safe */ _zoom_helpers__WEBPACK_IMPORTED_MODULE_1__["default"]),
  /* harmony export */   "RawZoomHelpers": () => (/* reexport safe */ _zoom_helpers__WEBPACK_IMPORTED_MODULE_1__.RawZoomHelpers)
  /* harmony export */ });
  /* harmony import */ var _victory_zoom_container__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./victory-zoom-container */ "./victory-zoom-container.js");
  /* harmony import */ var _zoom_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./zoom-helpers */ "./zoom-helpers.js");
  
  
  })();
  
  /******/ 	return __webpack_exports__;
  /******/ })()
  ;
  });